about summary refs log tree commit diff
path: root/pkgs/build-support
AgeCommit message (Collapse)AuthorFilesLines
2022-07-30Merge master into staging-nextgithub-actions[bot]1-0/+1
2022-07-30Merge pull request #183415 from dramforever/uclibc-dyldSergei Trofimovich1-0/+1
bintools-wrapper: Add dynamicLinker for uClibc
2022-07-29Merge #151983: wrapper: Fortran: disable stackprotectorVladimír Čunát2-2/+9
...hardening on darwin aarch64 (merge into staging)
2022-07-29Merge pull request #183461 from Artturin/crossfixes1Artturi1-1/+1
2022-07-28bintools-wrapper: symlink ar tooArtturin1-1/+1
missed this in 1d44ac176ce6de74ac912a5b043e948a87a6d2f5
2022-07-29bintools-wrapper: Add dynamicLinker for uClibcdramforever1-0/+1
2022-07-28Merge staging-next into staginggithub-actions[bot]5-3/+20
2022-07-28Merge pull request #182940 from helsinki-systems/feat/fetchncapp-pnameajs1241-1/+1
2022-07-28Merge pull request #182273 from mdarocha/dotnet-self-contained-buildSandro4-2/+19
buildDotnetModule: add option to make a self-contained build
2022-07-28Merge pull request #182513 from trofi/strip-for-host-and-targetBernardo Meurer1-18/+24
gcc: enable stripping for cross-compilers
2022-07-27Merge staging-next into staginggithub-actions[bot]1-1/+1
2022-07-27Merge master into staging-nextgithub-actions[bot]1-1/+1
2022-07-27Merge pull request #182101 from ezemtsov/patch-2Lassulus1-1/+1
nuget-to-nix: fallback to default URL for directories
2022-07-26buildDotnetModule: add option to make a self-contained buildmdarocha4-2/+19
2022-07-26fetchnextcloudapp: name -> pnameajs1241-1/+1
this way name and the storepath contain the version, which can be useful sometimes
2022-07-25setup-hooks/strip.sh: run RANLIB on static archives after strippingSergei Trofimovich1-4/+13
'strip' does not normally preserve archive index in .a files. This usually causes linking failures against static libs like: $ nix build --no-link -f. pkgsCross.mingw32.re2c > ...-i686-w64-mingw32-binutils-2.38/bin/i686-w64-mingw32-ld: /nix/store/...-i686-w64-mingw32-stage-final-gcc-13.0.0-lib/i686-w64-mingw32/lib/libstdc++.dll.a: error adding symbols: archive has no index; run ranlib to add one We restore the index by running ranlib explicitly.
2022-07-25setup-hooks/strip.sh: add strip{All,Debug}ListTarget variablesSergei Trofimovich1-15/+12
This change mimics existing strip{All,Debug}List variables to allow special stripping directories just for Target. The primary use case in mind is gcc where package has to install both host and target ELFs. They have to be stripped by their own strip tools accordingly. Co-authored-by: Rick van Schijndel <Mindavi@users.noreply.github.com> Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-07-25nuget-to-nix: fallback to default URL for directoriesEvgeny Zemtsov1-1/+1
In some cases `$pkgs_src` can be a path. For example with `FSharp.Core` when it comes with dotnet SDK. In these cases we need to fallback on default URL otherwise curl fails.
2022-07-23Merge pull request #181943 from trofi/fix-cross-built-gccJohn Ericson1-0/+5
gcc: pass --with-build-sysroot=/
2022-07-23gcc: pass --with-build-sysroot=/ for gcc buildsSergei Trofimovich1-0/+5
Without this change cross-built gcc fails to detect stack protector style: $ nix log -f pkgs/stdenv/linux/make-bootstrap-tools-cross.nix powerpc64le.bootGCC | fgrep __stack_chk_fail checking __stack_chk_fail in target C library... no checking __stack_chk_fail in target C library... no It happens because gcc treats search paths differently: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/configure.ac;h=446747311a6aec3c810ad6aa4190f7bd383b94f7;hb=HEAD#l2458 if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x || test x$build != x$host || test "x$with_build_sysroot" != x; then ... if test "x$with_build_sysroot" != "x"; then target_header_dir="${with_build_sysroot}${native_system_header_dir}" elif test "x$with_sysroot" = x; then target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-include" elif test "x$with_sysroot" = xyes; then target_header_dir="${test_exec_prefix}/${target_noncanonical}/sys-root${native_system_header_dir}" else target_header_dir="${with_sysroot}${native_system_header_dir}" fi else target_header_dir=${native_system_header_dir} fi By passing --with-build-sysroot=/ we trick cross-case to use `target_header_dir="${with_sysroot}${native_system_header_dir}"` which makes it equivalent to non-cross `target_header_dir="${with_build_sysroot}${native_system_header_dir}"` Tested the following setups: - cross-compiler without libc headers (powerpc64le-static) - cross-compiler with libc headers (powerpc64le-debug) - cross-build compiler with libc headers (powerpc64le bootstrapTools) Before the change only 2 of 3 compilers detected libc headers. After the change all 3 compilers detected libc headers. For darwin we silently ignore '-syslibroot //' argument as it does not introduce impurities. While at it dropped mingw special case for no-libc build. Before the change we passed both '--without-headers --with-native-system-headers-dir' for no-libc gcc-static builds. This tricked darwin builds to find sys/sdt.h and fail inhibid_libc builds. Now all targets avoid passing native headers for gcc-static builds. While at it fixed correct headers passing to --with-native-system-headers-dir= in host != target case: we were passing host's headers where intention was to pass target's headers. Noticed the mismatch as a build failure on pkgsCross.powernv.stdenv.cc on darwin where `sys/sdt.h` is present in host's headers (libSystem) but not target's headers (`glibc`). Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
2022-07-23Merge pull request #182385 from Artturin/bintoolswrapper1Artturi1-4/+6
bintools-wrapper: symlink unsymlinked binaries from -unwrapped
2022-07-22setup-hooks/strip.sh: use STRIP_FOR_TARGET, not TARGET_STRIPSergei Trofimovich1-2/+2
Since 1ac53985 "*-wrapper; Switch from `infixSalt` to `suffixSalt`" (2020) 'TARGET_' prefix (and infix) is no more. '_FOR_TARGET' suffix is the only used suffix for target-specific tools and flags. Use that in stip instead of always-empty variable.
2022-07-22Merge pull request #181485 from Itaros/normal-clang-llvm-redirectiontoonn1-1/+0
cc-wrapper: broaden explicit libc++abi linking for LLVM stdenv
2022-07-22bintools-wrapper: symlink unsymlinked binaries from -unwrappedArtturin1-4/+6
this shouldn't change any binary available in the default build environment because bintools-unwrapped is already in path ( idk where it comes from but i know because objcopy is in path but not in the wrapper ) this just makes all the binaries available under 'bintools' instead of having to use 'bintools-unwrapped' reduces confusion because now 'objcopy' and others will be in 'bintools'
2022-07-21maturin: 0.12.9 -> 0.13.0Martin Weinelt1-1/+2
2022-07-21Merge pull request #181525 from alyssais/rust-debugJohn Ericson1-0/+1
separateDebugInfo: enable full Rust debug info
2022-07-20Merge pull request #178567 from Artturin/pkgconfignewAnderson Torres2-0/+115
makePkgconfigItem: init new function to generate pc files
2022-07-20Merge pull request #182143 from hamishmack/patch-7Sergei Trofimovich1-1/+1
libredirect: Fix cross compilation `buildPackages`
2022-07-20makePkgconfigItem: init new function to generate pc filesArtturin2-0/+115
A function to generate pkg-config files for Nix packages that need to create them ad hoc, like blas and lapack. Inspiration taken from `makeDesktopItem`.
2022-07-20libredirect: Fix cross compilation `buildPackages`Hamish Mackenzie1-1/+1
Currently when cross compiling the `buildPackages.libredirect` has the wrong dynamic library extension. To reproduce the issue run something like: ``` file $(nix-build -A pkgsCross.mingwW64.buildPackages.libredirect)/lib/libredirect.dll /nix/store/80llmqa9lkabg3qnmglngzz22fwf739q-libredirect-0/lib/libredirect.dll: Mach-O 64-bit dynamically linked shared library x86_64 ``` or ``` nix-diff $(nix-instantiate -A libredirect) $(nix-instantiate -A pkgsCross.mingwW64.buildPackages.libredirect) ```
2022-07-18build-support/rust/lib: make arch and os functions respect target JSONJohn Ericson1-3/+5
2022-07-16Merge pull request #177039 from Sciencentistguy/makeDesktopItem-overridableRobert Hensing1-2/+2
build-support/makeDesktopItem: make overridable
2022-07-16Merge pull request #173889 from IvarWithoutBones/fix/dotnet-crossRick van Schijndel3-3/+7
dotnet ecosystem: fix cross compilation
2022-07-15dockerTools: use list of strings for `configureFlags`zowoq1-1/+1
2022-07-14separateDebugInfo: enable full Rust debug infoAlyssa Ross1-0/+1
By default, Cargo will only enable line tables. -g enables full debug info. The RUSTFLAGS environment variable is examined by Cargo, similar to how the NIX_*FLAGS* variables are examined by our compiler wrappers.
2022-07-14Merge pull request #179187 from mdarocha/eventstore-bump-and-refactorIvv4-3/+8
eventstore: 5.0.8 -> 21.10.5, refactor to use buildDotnetModule
2022-07-13cc-wrapper: broaden explicit libc++abi linking for LLVM stdenvSemion Nadezhdin1-1/+0
2022-07-14Merge pull request #181174 from ttuegel/emacs-wrapper-package-eladisbladis2-16/+3
emacsWithPackages: Rely on package.el for autoloads
2022-07-13buildDotnetModule: explicitly set UseAppHost to truemdarocha2-0/+2
On macOS, the native executable is not generated by default on Catalina and above. See https://github.com/dotnet/sdk/issues/10780
2022-07-13buildDotnetModule: set LD_LIBRARY_PATH from runtimeDeps in dotnetCheckHookmdarocha2-3/+6
Tests should execute in a similar environment to the final app
2022-07-12nuget-to-nix: enable default netrcEvgeny Zemtsov1-1/+1
Enable default netrc for curl command. Otherwise this doesn't work for private repositories that require authentication.
2022-07-11emacsWithPackages: Rely on package.el for autoloadsThomas Tuegel2-16/+3
The builtin `package.el` functionality is necessary and sufficient to handle autoloads in the Emacs wrapper.
2022-07-08Do not rely on legacy ocaml passthru value.Théo Zimmermann1-1/+1
2022-07-07Merge pull request #179801 from ↵Robert Hensing2-36/+99
hercules-ci/fix-footgun-dockerTools-buildImage-contents dockerTools.buildImage: Add copyToRoot to replace contents, explain usage
2022-07-06dockerTools.buildImage: Add copyToRoot to replace contents, explain usageRobert Hensing2-36/+99
2022-07-03buildGraalvmNativeImage: allow LC_ALL overridesThiago Kenji Okada1-3/+3
2022-07-02srcOnly: fix with separateDebugInfo and/or multiple outputssternenseemann1-0/+2
Before this change `srcOnly git` gives: duplicate derivation output 'debug', at pkgs/stdenv/generic/make-derivation.nix:270:7 This was because separateDebugInfo = true was passed on to the srcOnly mkDerivation as well as the outputs list _including_ the debug output. Luckily we don't need to untangle this mess since srcOnly is only supposed to have a single output anyways.
2022-06-30Merge pull request #164662 from infinisil/fetchurl-curlOpts-listRobert Hensing3-1/+28
fetchurl: Allow passing curl options with spaces
2022-06-30fetchurl: Add curlOptsList testSilvan Mosberger1-0/+13
2022-06-30Revert "nix-prefetch-git: Fix inconsistency with fetchgit regarding deepClone"Sebastian Jordan1-4/+0
This reverts commit 1dfaad73ed98254c1c0522156fe45b115e0a8eb4.