diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/build-support/setup-hooks/auto-patchelf.sh | 13 | ||||
-rw-r--r-- | pkgs/desktops/gnustep/libobjc2/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/haskell-modules/configuration-common.nix | 1 | ||||
-rw-r--r-- | pkgs/development/libraries/grpc/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/tools/pyre/default.nix | 55 | ||||
-rw-r--r-- | pkgs/development/tools/rust/cargo-asm/default.nix | 4 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
7 files changed, 45 insertions, 35 deletions
diff --git a/pkgs/build-support/setup-hooks/auto-patchelf.sh b/pkgs/build-support/setup-hooks/auto-patchelf.sh index 7c165627f72e..d1ae317ff9a4 100644 --- a/pkgs/build-support/setup-hooks/auto-patchelf.sh +++ b/pkgs/build-support/setup-hooks/auto-patchelf.sh @@ -7,7 +7,16 @@ gatherLibraries() { addEnvHooks "$targetOffset" gatherLibraries isExecutable() { - readelf -h "$1" 2> /dev/null | grep -q '^ *Type: *EXEC\>' + # For dynamically linked ELF files it would be enough to check just for the + # INTERP section. However, we won't catch statically linked executables as + # they only have an ELF type of EXEC but no INTERP. + # + # So what we do here is just check whether *either* the ELF type is EXEC + # *or* there is an INTERP section. This also catches position-independent + # executables, as they typically have an INTERP section but their ELF type + # is DYN. + LANG=C readelf -h -l "$1" 2> /dev/null \ + | grep -q '^ *Type: *EXEC\>\|^ *INTERP\>' } # We cache dependencies so that we don't need to search through all of them on @@ -157,7 +166,7 @@ autoPatchelf() { isELF "$file" || continue if isExecutable "$file"; then # Skip if the executable is statically linked. - readelf -l "$file" | grep -q "^ *INTERP\\>" || continue + LANG=C readelf -l "$file" | grep -q "^ *INTERP\\>" || continue fi autoPatchelfFile "$file" done < <(find "$prefix" -type f -print0) diff --git a/pkgs/desktops/gnustep/libobjc2/default.nix b/pkgs/desktops/gnustep/libobjc2/default.nix index a3e718187c7f..3aba235b3a79 100644 --- a/pkgs/desktops/gnustep/libobjc2/default.nix +++ b/pkgs/desktops/gnustep/libobjc2/default.nix @@ -24,5 +24,6 @@ stdenv.mkDerivation rec { license = licenses.mit; maintainers = with maintainers; [ ashalkhakov matthewbauer ]; platforms = platforms.unix; + badPlatforms = [ "aarch64-linux" ]; }; } diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 2c9d9d307ae3..56ffd6ee54ee 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -370,6 +370,7 @@ self: super: { safecopy = dontCheck super.safecopy; sai-shape-syb = dontCheck super.sai-shape-syb; scp-streams = dontCheck super.scp-streams; + sdl2 = dontCheck super.sdl2; # the test suite needs an x server sdl2-ttf = dontCheck super.sdl2-ttf; # as of version 0.2.1, the test suite requires user intervention separated = dontCheck super.separated; shadowsocks = dontCheck super.shadowsocks; diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index a21e2aacde2a..e568ea9eb650 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation rec { rm -vf BUILD ''; + NIX_CFLAGS_COMPILE = "-Wno-error=unknown-warning-option"; + enableParallelBuilds = true; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/pyre/default.nix b/pkgs/development/tools/pyre/default.nix index 99e53610c01c..382e733cb98b 100644 --- a/pkgs/development/tools/pyre/default.nix +++ b/pkgs/development/tools/pyre/default.nix @@ -1,9 +1,15 @@ { stdenv, fetchFromGitHub, ocamlPackages, makeWrapper, writeScript -, dune, python3, rsync, fetchpatch }: +, dune, python3, rsync, fetchpatch, buck }: let # Manually set version - the setup script requires # hg and git + keeping the .git directory around. - pyre-version = "0.0.14"; + pyre-version = "0.0.17"; # also change typeshed revision below with $pyre-src/.typeshed-version + pyre-src = fetchFromGitHub { + owner = "facebook"; + repo = "pyre-check"; + rev = "v${pyre-version}"; + sha256 = "0y86a3g5xbgh0byksyx5jw7yq7w840x85dhz9inz6mkg5j06mcis"; + }; versionFile = writeScript "version.ml" '' cat > "./version.ml" <<EOF open Core @@ -20,12 +26,7 @@ let pyre-bin = stdenv.mkDerivation { name = "pyre-${pyre-version}"; - src = fetchFromGitHub { - owner = "facebook"; - repo = "pyre-check"; - rev = "v${pyre-version}"; - sha256 = "0c8xzaa3ljqb6llr041sydw0l4xqn7x21nw9vaymdxh35nx9bp2v"; - }; + src = pyre-src; nativeBuildInputs = [ makeWrapper ]; @@ -49,7 +50,6 @@ let export HOME=. # "external" because https://github.com/facebook/pyre-check/pull/8/files - cp Makefile.template Makefile sed "s/%VERSION%/external/" dune.in > dune cp ${versionFile} ./scripts/generate-version-number.sh @@ -77,20 +77,18 @@ let description = "A performant type-checker for Python 3"; homepage = https://pyre-check.org; license = licenses.mit; - platforms = with platforms; linux; + platforms = ocamlPackages.ocaml.meta.platforms; maintainers = with maintainers; [ teh ]; }; }; typeshed = stdenv.mkDerivation { name = "typeshed"; - # typeshed doesn't have versions, it seems to be synchronized with - # mypy relases. I'm assigning a random version here (same as pyre). version = pyre-version; src = fetchFromGitHub { owner = "python"; repo = "typeshed"; - rev = "a08c6ea"; - sha256 = "0wy8yh43vhyyc4g7iqnmlj66kz5in02y5qc0c4jdckhpa3mchaqk"; + rev = "bc3f9fe1d3c43b00c04cedb23e0eeebc9e1734b6"; + sha256 = "06b2kj4n49h4sgi8hn5kalmir8llhanfdc7f1924cxvrkj5ry94b"; }; phases = [ "unpackPhase" "installPhase" ]; installPhase = "cp -r $src $out"; @@ -98,19 +96,8 @@ typeshed = stdenv.mkDerivation { in python3.pkgs.buildPythonApplication rec { pname = "pyre-check"; version = pyre-version; - src = fetchFromGitHub { - owner = "facebook"; - repo = "pyre-check"; - rev = "v${pyre-version}"; - sha256 = "0ig7bx2kfn2kbxw74wysh5365yp5gyby42l9l29iclrzdghgk32l"; - }; - patches = [ - (fetchpatch { - url = "https://github.com/facebook/pyre-check/commit/b473d2ed9fc11e7c1cd0c7b8c42f521e5cdc2003.patch"; - sha256 = "05xvyp7j4n6z92bxf64rxfq5pvaadxgx1c8c5qziy75vdz72lkcy"; - }) - ./pyre-bdist-wheel.patch - ]; + src = pyre-src; + patches = [ ./pyre-bdist-wheel.patch ]; # The build-pypi-package script does some funky stuff with build # directories - easier to patch it a bit than to replace it @@ -119,15 +106,21 @@ in python3.pkgs.buildPythonApplication rec { mkdir ./build substituteInPlace scripts/build-pypi-package.sh \ --replace 'NIX_BINARY_FILE' '${pyre-bin}/bin/pyre.bin' \ - --replace 'BUILD_ROOT="$(mktemp -d)"' "BUILD_ROOT=$(pwd)/build" + --replace 'BUILD_ROOT="$(mktemp -d)"' "BUILD_ROOT=$PWD/build" + substituteInPlace client/buck.py \ + --replace '"buck"' '"${buck}/bin/buck"' + substituteInPlace client/tests/buck_test.py \ + --replace '"buck"' '"${buck}/bin/buck"' ''; - buildInputs = [ pyre-bin rsync ]; + buildInputs = [ pyre-bin ]; + nativeBuildInputs = [ rsync ]; # only required for build-pypi-package.sh propagatedBuildInputs = with python3.pkgs; [ docutils typeshed ]; buildPhase = '' bash scripts/build-pypi-package.sh --version ${pyre-version} --bundle-typeshed ${typeshed} cp -r build/dist dist ''; - - doCheck = false; # can't open file 'nix_run_setup': + checkPhase = '' + bash scripts/run-python-tests.sh + ''; } diff --git a/pkgs/development/tools/rust/cargo-asm/default.nix b/pkgs/development/tools/rust/cargo-asm/default.nix index ca793bf49080..246f5b18843c 100644 --- a/pkgs/development/tools/rust/cargo-asm/default.nix +++ b/pkgs/development/tools/rust/cargo-asm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, rustPlatform }: +{ stdenv, fetchFromGitHub, rustPlatform, Security }: rustPlatform.buildRustPackage rec { name = "cargo-asm-${version}"; @@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "1m2j6i8hc8isdlj77gv9m6sk6q0x3bvzpva2k16g27i1ngy1989b"; + buildInputs = stdenv.lib.optional stdenv.isDarwin Security; + # Test checks against machine code output, which fails with some # LLVM/compiler versions. doCheck = false; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 62cef2d50689..9917acbbf10e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7357,7 +7357,9 @@ with pkgs; cargo-tree = callPackage ../tools/package-management/cargo-tree { }; cargo-update = callPackage ../tools/package-management/cargo-update { }; - cargo-asm = callPackage ../development/tools/rust/cargo-asm { }; + cargo-asm = callPackage ../development/tools/rust/cargo-asm { + inherit (darwin.apple_sdk.frameworks) Security; + }; cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { }; pyo3-pack = callPackage ../development/tools/rust/pyo3-pack { }; |