diff options
Diffstat (limited to 'pkgs')
114 files changed, 1135 insertions, 1135 deletions
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 88746f5eba84..5ae10dd68b61 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -4,7 +4,6 @@ args @ {config, lib, pkgs}: with args; with pkgs; let gitBase = callPackage ./git { - texinfo = texinfo5; svnSupport = false; # for git-svn support guiSupport = false; # requires tcl/tk sendEmailSupport = false; # requires plenty of perl libraries diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 6cc109c48c75..8bd6457a9e50 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -20,7 +20,7 @@ assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.18.0"; + version = "2.19.0"; svn = subversionClient.override { perlBindings = perlSupport; }; in @@ -29,7 +29,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b"; + sha256 = "1x1y5z3awabmfg7hk6zb331jxngad4nal4507v96bnf0izsyy3qq"; }; outputs = [ "out" ] ++ stdenv.lib.optional perlSupport "gitweb"; @@ -283,7 +283,7 @@ EOF # XXX: I failed to understand why this one fails. # Could someone try to re-enable it on the next release ? - # Tested to fail: 2.18.0 + # Tested to fail: 2.18.0 and 2.19.0 disable_test t1700-split-index "null sha1" # Tested to fail: 2.18.0 @@ -292,6 +292,9 @@ EOF # Tested to fail: 2.18.0 disable_test t9902-completion "sourcing the completion script clears cached --options" + + # As of 2.19.0, t5562 refers to #!/usr/bin/perl + patchShebangs t/t5562/invoke-with-content-length.pl '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' # Test fails (as of 2.17.0, musl 1.1.19) disable_test t3900-i18n-commit diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 7948f726c629..f9ca245beea6 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -6,9 +6,10 @@ # compiler and the linker just "work". { name ? "" -, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" -, bintools ? null, libc ? null -, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null +, stdenvNoCC +, bintools ? null, libc ? null, coreutils ? null, shell ? stdenvNoCC.shell, gnugrep ? null +, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, propagateDoc ? bintools != null && bintools ? man , extraPackages ? [], extraBuildCommands ? "" , buildPackages ? {} , useMacosReexportHack ? false diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 301bc2694c4f..e59758371a38 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -6,8 +6,10 @@ # compiler and the linker just "work". { name ? "" -, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, stdenvNoCC , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell +, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" +, propagateDoc ? cc != null && cc ? man , extraPackages ? [], extraBuildCommands ? "" , isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null , buildPackages ? {} diff --git a/pkgs/build-support/rust/cargo-vendor-normalise.py b/pkgs/build-support/rust/cargo-vendor-normalise.py new file mode 100755 index 000000000000..2d7a18957184 --- /dev/null +++ b/pkgs/build-support/rust/cargo-vendor-normalise.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +import sys + +import toml + + +def quote(s: str) -> str: + escaped = s.replace('"', r"\"").replace("\n", r"\n").replace("\\", "\\\\") + return '"{}"'.format(escaped) + + +def main() -> None: + data = toml.load(sys.stdin) + + assert list(data.keys()) == ["source"] + + # this value is non deterministic + data["source"]["vendored-sources"]["directory"] = "@vendor@" + + lines = [] + inner = data["source"] + for source, attrs in sorted(inner.items()): + lines.append("[source.{}]".format(quote(source))) + if source == "vendored-sources": + lines.append('"directory" = "@vendor@"\n') + else: + for key, value in sorted(attrs.items()): + attr = "{} = {}".format(quote(key), quote(value)) + lines.append(attr) + lines.append("") + + result = "\n".join(lines) + real = toml.loads(result) + assert real == data, "output = {} while input = {}".format(real, data) + + print(result) + + +if __name__ == "__main__": + main() diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 820989a76206..1d5de052f893 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -1,7 +1,7 @@ -{ stdenv, cacert, git, rust, cargo-vendor }: +{ stdenv, cacert, git, rust, cargo-vendor, python3 }: let fetchcargo = import ./fetchcargo.nix { - inherit stdenv cacert git rust cargo-vendor; + inherit stdenv cacert git rust cargo-vendor python3; }; in { name, cargoSha256 ? "unset" @@ -61,14 +61,12 @@ in stdenv.mkDerivation (args // { ${setupVendorDir} mkdir .cargo - cat >.cargo/config <<-EOF - [source.crates-io] - registry = 'https://github.com/rust-lang/crates.io-index' - replace-with = 'vendored-sources' - - [source.vendored-sources] - directory = '$(pwd)/$cargoDepsCopy' - EOF + config="$(pwd)/$cargoDepsCopy/.cargo/config"; + if [[ ! -e $config ]]; then + config=${./fetchcargo-default-config.toml}; + fi; + substitute $config .cargo/config \ + --subst-var-by vendor "$(pwd)/$cargoDepsCopy" unset cargoDepsCopy diff --git a/pkgs/build-support/rust/fetchcargo-default-config.toml b/pkgs/build-support/rust/fetchcargo-default-config.toml new file mode 100755 index 000000000000..dd8ebbc32d31 --- /dev/null +++ b/pkgs/build-support/rust/fetchcargo-default-config.toml @@ -0,0 +1,7 @@ +[source."crates-io"] +"replace-with" = "vendored-sources" + +[source."vendored-sources"] +"directory" = "@vendor@" + + diff --git a/pkgs/build-support/rust/fetchcargo.nix b/pkgs/build-support/rust/fetchcargo.nix index 2670ed528640..9e77f8817b24 100644 --- a/pkgs/build-support/rust/fetchcargo.nix +++ b/pkgs/build-support/rust/fetchcargo.nix @@ -1,8 +1,26 @@ -{ stdenv, cacert, git, rust, cargo-vendor }: +{ stdenv, cacert, git, rust, cargo-vendor, python3 }: +let cargo-vendor-normalise = stdenv.mkDerivation { + name = "cargo-vendor-normalise"; + src = ./cargo-vendor-normalise.py; + nativeBuildInputs = [ python3.pkgs.wrapPython ]; + unpackPhase = ":"; + installPhase = "install -D $src $out/bin/cargo-vendor-normalise"; + pythonPath = [ python3.pkgs.toml ]; + postFixup = "wrapPythonPrograms"; + doInstallCheck = true; + installCheckPhase = '' + # check that ./fetchcargo-default-config.toml is a fix point + reference=${./fetchcargo-default-config.toml} + < $reference $out/bin/cargo-vendor-normalise > test; + cmp test $reference + ''; + preferLocalBuild = true; +}; +in { name ? "cargo-deps", src, srcs, patches, sourceRoot, sha256, cargoUpdateHook ? "" }: stdenv.mkDerivation { name = "${name}-vendor"; - nativeBuildInputs = [ cacert cargo-vendor git rust.cargo ]; + nativeBuildInputs = [ cacert cargo-vendor git cargo-vendor-normalise rust.cargo ]; inherit src srcs patches sourceRoot; phases = "unpackPhase patchPhase installPhase"; @@ -23,9 +41,16 @@ stdenv.mkDerivation { ${cargoUpdateHook} - cargo vendor - - cp -ar vendor $out + mkdir -p $out + cargo vendor $out | cargo-vendor-normalise > config + # fetchcargo used to never keep the config output by cargo vendor + # and instead hardcode the config in ./fetchcargo-default-config.toml. + # This broke on packages needing git dependencies, so now we keep the config. + # But not to break old cargoSha256, if the previous behavior was enough, + # we don't store the config. + if ! cmp config ${./fetchcargo-default-config.toml} > /dev/null; then + install -Dt $out/.cargo config; + fi; ''; outputHashAlgo = "sha256"; diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index 1433d1e1f144..d5586fccae67 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -32,7 +32,7 @@ patchShebangs() { # - options: something starting with a '-' # - environment variables: foo=bar if $(echo "$arg0" | grep -q -- "^-.*\|.*=.*"); then - echo "unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" + echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" exit 1 fi newPath="$(command -v "$arg0" || true)" diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix index e6c33fc260e8..af8270e6eefa 100644 --- a/pkgs/data/misc/iana-etc/default.nix +++ b/pkgs/data/misc/iana-etc/default.nix @@ -1,12 +1,11 @@ { stdenv, fetchzip }: let - version = "20180711"; + version = "20180905"; in fetchzip { name = "iana-etc-${version}"; - url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz"; - sha256 = "0vbgk3paix2v4rlh90a8yh1l39s322awng06izqj44zcg704fjbj"; + sha256 = "1vl3by24xddl267cjq9bcwb7yvfd7gqalwgd5sgx8i7kz9bk40q2"; postFetch = '' tar -xzvf $downloadedFile --strip-components=1 diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 60db368c403a..d9376f597a70 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -201,9 +201,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 361db92cb767..c60f54f1560c 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -210,9 +210,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 14da38b34fb4..47c849d2dcc8 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -216,9 +216,7 @@ stdenv.mkDerivation ({ ) else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 2a7af827f2dd..eeb57be97157 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -217,9 +217,7 @@ stdenv.mkDerivation ({ ) else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler langJava + inherit noSysDirs staticCompiler langJava crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index fd3ce8df497d..59897ccff426 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -190,9 +190,7 @@ stdenv.mkDerivation ({ ) else ""); - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -220,9 +218,7 @@ stdenv.mkDerivation ({ ++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools) ; - # TODO: Use optionalString with next rebuild. - ${if (stdenv.cc.isClang && langFortran) then "NIX_CFLAGS_COMPILE" else null} = "-Wno-unused-command-line-argument"; - + NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument"; NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl"; preConfigure = stdenv.lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 427fe3fdddf7..7842110a2146 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -185,9 +185,7 @@ stdenv.mkDerivation ({ ) else ""); - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index a3250f4021a5..75e70006d749 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -131,7 +131,7 @@ if test "$noSysDirs" = "1"; then ) fi - if test -n "${targetConfig-}" -a "$crossStageStatic" == 1; then + if test "$crossStageStatic" == 1; then # We don't want the gcc build to assume there will be a libc providing # limits.h in this stagae makeFlagsArray+=( diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index 230409e97538..0de6be36c351 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -154,9 +154,7 @@ stdenv.mkDerivation ({ '' else null; - # TODO(@Ericson2314): Make passthru instead. Weird to avoid mass rebuild, - crossStageStatic = targetPlatform == hostPlatform || crossStageStatic; - inherit noSysDirs staticCompiler + inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/compilers/llvm/5/libc++/default.nix b/pkgs/development/compilers/llvm/5/libc++/default.nix index c7b4615e374a..b182f1250e72 100644 --- a/pkgs/development/compilers/llvm/5/libc++/default.nix +++ b/pkgs/development/compilers/llvm/5/libc++/default.nix @@ -10,11 +10,9 @@ stdenv.mkDerivation rec { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - # on next rebuild, this can be replaced with optionals; for now set to null to avoid - # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - patches = if stdenv.hostPlatform.isMusl then [ + patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch - ] else null; + ]; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix index 3abba0ed340f..6dae8be97c88 100644 --- a/pkgs/development/compilers/llvm/5/llvm.nix +++ b/pkgs/development/compilers/llvm/5/llvm.nix @@ -119,12 +119,14 @@ in stdenv.mkDerivation (rec { + stdenv.lib.optionalString enableSharedLibraries '' moveToOutput "lib/libLLVM-*" "$lib" moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" + moveToOutput "lib/libLTO${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib" substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ --replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-" '' + stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) '' substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ - --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" + --replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib" \ + --replace "\''${_IMPORT_PREFIX}/lib/libLTO.dylib" "$lib/lib/libLTO.dylib" ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib ''; diff --git a/pkgs/development/compilers/llvm/6/libc++/default.nix b/pkgs/development/compilers/llvm/6/libc++/default.nix index 1f87cb83ab01..3a165e9da7b1 100644 --- a/pkgs/development/compilers/llvm/6/libc++/default.nix +++ b/pkgs/development/compilers/llvm/6/libc++/default.nix @@ -10,11 +10,9 @@ stdenv.mkDerivation rec { export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include" ''; - # on next rebuild, this can be replaced with optionals; for now set to null to avoid - # patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ - patches = if stdenv.hostPlatform.isMusl then [ + patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ ../../libcxx-0001-musl-hacks.patch - ] else null; + ]; prePatch = '' substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++" diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix index 901675ff31b4..55348c5795ad 100644 --- a/pkgs/development/compilers/rust/bootstrap.nix +++ b/pkgs/development/compilers/rust/bootstrap.nix @@ -3,16 +3,16 @@ let # Note: the version MUST be one version prior to the version we're # building - version = "1.26.2"; + version = "1.28.0"; # fetch hashes by running `print-hashes.sh 1.24.1` hashes = { - i686-unknown-linux-gnu = "e22286190a074bfb6d47c9fde236d712a53675af1563ba85ea33e0d40165f755"; - x86_64-unknown-linux-gnu = "d2b4fb0c544874a73c463993bde122f031c34897bb1eeb653d2ba2b336db83e6"; - armv7-unknown-linux-gnueabihf = "1140387a61083e3ef10e7a097269200fc7e9db6f6cc9f270e04319b3b429c655"; - aarch64-unknown-linux-gnu = "3dfad0dc9c795f7ee54c2099c9b7edf06b942adbbf02e9ed9e5d4b5e3f1f3759"; - i686-apple-darwin = "3a5de30f3e334a66bd320ec0e954961d348434da39a826284e00d55ea60f8370"; - x86_64-apple-darwin = "f193705d4c0572a358670dbacbf0ffadcd04b3989728b442f4680fa1e065fa72"; + i686-unknown-linux-gnu = "de7cdb4e665e897ea9b10bf6fd545f900683296456d6a11d8510397bb330455f"; + x86_64-unknown-linux-gnu = "2a1390340db1d24a9498036884e6b2748e9b4b057fc5219694e298bdaa37b810"; + armv7-unknown-linux-gnueabihf = "346558d14050853b87049e5e1fbfae0bf0360a2f7c57433c6985b1a879c349a2"; + aarch64-unknown-linux-gnu = "9b6fbcee73070332c811c0ddff399fa31965bec62ef258656c0c90354f6231c1"; + i686-apple-darwin = "752e2c9182e057c4a54152d1e0b3949482c225d02bb69d9d9a4127dc2a65fb68"; + x86_64-apple-darwin = "5d7a70ed4701fe9410041c1eea025c95cad97e5b3d8acc46426f9ac4f9f02393"; }; platform = diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 34932c911ebc..25a71965e0b4 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -28,6 +28,9 @@ rustPlatform.buildRustPackage rec { LIBGIT2_SYS_USE_PKG_CONFIG=1; + # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel + RUSTC_BOOTSTRAP=1; + # FIXME: Use impure version of CoreFoundation because of missing symbols. # CFURLSetResourcePropertyForKey is defined in the headers but there's no # corresponding implementation in the sources from opensource.apple.com. diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index d368c977f8f8..47415ac9177b 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -6,11 +6,11 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.27.0"; - cargoVersion = "1.27.0"; + version = "1.29.0"; + cargoVersion = "1.29.0"; src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "089d7rhw55zpvnw71dj8vil6qrylvl4xjr4m8bywjj83d4zq1f9c"; + sha256 = "1sb15znckj8pc8q3g7cq03pijnida6cg64yqmgiayxkzskzk9sx4"; }; in rec { rustc = callPackage ./rustc.nix { diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 9c9788ff4834..a054ed0eb557 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -105,6 +105,11 @@ stdenv.mkDerivation { # On Hydra: `TcpListener::bind(&addr)`: Address already in use (os error 98)' sed '/^ *fn fast_rebind()/i#[ignore]' -i src/libstd/net/tcp.rs + # https://github.com/rust-lang/rust/issues/39522 + echo removing gdb-version-sensitive tests... + find src/test/debuginfo -type f -execdir grep -q ignore-gdb-version '{}' \; -print -delete + rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,gdb-pretty-struct-and-enums-pre-gdb-7-7.rs,generic-enum-with-different-disr-sizes.rs} + # Useful debugging parameter # export VERBOSE=1 '' + optionalString stdenv.isDarwin '' diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index a4a8aa980b62..fb2d9fc535af 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -45,20 +45,20 @@ let in rec { vala_0_34 = generic { major = "0.34"; - minor = "17"; - sha256 = "0wd2zxww4z1ys4iqz218lvzjqjjqwsaad4x2by8pcyy43sbr7qp2"; + minor = "18"; + sha256 = "1lhw3ghns059y5d6pdldy5p4yjwlhcls84k892i6qmbhxg34945q"; }; vala_0_36 = generic { major = "0.36"; - minor = "13"; - sha256 = "0gxz7yisd9vh5d2889p60knaifz5zndgj98zkdfkkaykdfdq4m9k"; + minor = "15"; + sha256 = "11lnwjbhiz2l7g6y1f0jb0s81ymgssinlil3alibzcwmzpk175ix"; }; vala_0_38 = generic { major = "0.38"; - minor = "9"; - sha256 = "1dh1qacfsc1nr6hxwhn9lqmhnq39rv8gxbapdmj1v65zs96j3fn3"; + minor = "10"; + sha256 = "1rdwwqs973qv225v8b5izcgwvqn56jxgr4pa3wxxbliar3aww5sw"; extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool; }; diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 57b44c0035ad..f2b900412081 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -37,6 +37,8 @@ let stdenv.lib.optional crossCompiling "dev"; setOutputFlags = false; + disallowedReferences = [ stdenv.cc ]; + patches = [ ] # Do not look in /usr etc. for dependencies. @@ -119,6 +121,7 @@ let --replace "${ if stdenv.cc.cc or null != null then stdenv.cc.cc else "/no-such-path" }" /no-such-path \ + --replace "${stdenv.cc}" /no-such-path \ --replace "$man" /no-such-path '' + stdenv.lib.optionalString crossCompiling '' diff --git a/pkgs/development/interpreters/python/cpython/2.7/boot.nix b/pkgs/development/interpreters/python/cpython/2.7/boot.nix index 7d6f2541d3d1..976d30819dbe 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/boot.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/boot.nix @@ -43,6 +43,15 @@ stdenv.mkDerivation rec { ./deterministic-build.patch ]; + # Hack hack hack to stop shit from failing from a missing _scproxy on Darwin. Since + # we only use this python for bootstrappy things, it doesn't really matter if it + # doesn't have perfect proxy support in urllib :) this just makes it fall back on env + # vars instead of attempting to read the proxy configuration automatically, so not a + # huge loss even if for whatever reason we did want proxy support. + postPatch = '' + substituteInPlace Lib/urllib.py --replace "if sys.platform == 'darwin'" "if False" + ''; + DETERMINISTIC_BUILD = 1; preConfigure = '' diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix index da71e40187f4..012c1d123b62 100644 --- a/pkgs/development/libraries/boehm-gc/default.nix +++ b/pkgs/development/libraries/boehm-gc/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { name = "boehm-gc-${version}"; - version = "7.6.6"; + version = "7.6.8"; src = fetchurl { urls = [ "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz" "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz" ]; - sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79"; + sha256 = "0n720a0i584ghcwmdsjiq6bl9ig0p9mrja29rp4cgsqvpz6wa2h4"; }; buildInputs = [ libatomic_ops ]; diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix index 87752867c350..cec7e1a2d516 100644 --- a/pkgs/development/libraries/cyrus-sasl/default.nix +++ b/pkgs/development/libraries/cyrus-sasl/default.nix @@ -36,15 +36,15 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-openssl=${openssl.dev}" + "--with-plugindir=${placeholder "out"}/lib/sasl2" + "--with-saslauthd=/run/saslauthd" + "--enable-login" + "--enable-shared" ] ++ lib.optional enableLdap "--with-ldap=${openldap.dev}"; - # Set this variable at build-time to make sure $out can be evaluated. - preConfigure = '' - configureFlagsArray=( --with-plugindir=$out/lib/sasl2 - --with-saslauthd=/run/saslauthd - --enable-login - ) - ''; + # Avoid triggering regenerating using broken autoconf/libtool bits. + # (many distributions carry patches to remove/replace, but this works for now) + dontUpdateAutotoolsGnuConfigScripts = if stdenv.hostPlatform.isMusl then true else null; installFlags = lib.optional stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ]; @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://cyrusimap.web.cmu.edu/; + homepage = https://www.cyrusimap.org/sasl; description = "Library for adding authentication support to connection-based protocols"; platforms = platforms.unix; license = licenses.bsdOriginal; diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix index cc62b2776ede..7c3dd19a4795 100644 --- a/pkgs/development/libraries/epoxy/default.nix +++ b/pkgs/development/libraries/epoxy/default.nix @@ -6,13 +6,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "epoxy-${version}"; - version = "1.5.1"; + version = "1.5.2"; src = fetchFromGitHub { owner = "anholt"; repo = "libepoxy"; rev = "${version}"; - sha256 = "1811agxr7g9wd832np8sw152j468kg3qydmfkc564v54ncfcgaci"; + sha256 = "0frs42s7d3ff2wlw0jns6vb3myx2bhz9m5nkzbnfyn436s2qqls3"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/epoxy/libgl-path.patch b/pkgs/development/libraries/epoxy/libgl-path.patch index 6f50b9d262b5..8f38ee27174b 100644 --- a/pkgs/development/libraries/epoxy/libgl-path.patch +++ b/pkgs/development/libraries/epoxy/libgl-path.patch @@ -1,20 +1,11 @@ -From 4046e0ac8ed93354c01de5f3b5cae790cce70404 Mon Sep 17 00:00:00 2001 -From: Will Dietz <w@wdtz.org> -Date: Thu, 29 Mar 2018 07:21:02 -0500 -Subject: [PATCH] Explicitly search LIBGL_PATH as fallback, if defined. - ---- - src/dispatch_common.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - diff --git a/src/dispatch_common.c b/src/dispatch_common.c -index bc2fb94..776237b 100644 +index b3e4f5f..303e8f5 100644 --- a/src/dispatch_common.c +++ b/src/dispatch_common.c -@@ -306,6 +306,18 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail) - pthread_mutex_lock(&api.mutex); - if (!*handle) { - *handle = dlopen(lib_name, RTLD_LAZY | RTLD_LOCAL); +@@ -310,6 +310,19 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail, bool l + flags |= RTLD_NOLOAD; + + *handle = dlopen(lib_name, flags); +#ifdef LIBGL_PATH + if (!*handle) { + char pathbuf[sizeof(LIBGL_PATH) + 1 + 1024 + 1]; @@ -24,12 +15,10 @@ index bc2fb94..776237b 100644 + fprintf(stderr, "Error prefixing library pathname\n"); + exit(1); + } -+ *handle = dlopen(pathbuf, RTLD_LAZY | RTLD_LOCAL); ++ *handle = dlopen(pathbuf, flags); + } +#endif ++ if (!*handle) { if (exit_on_fail) { fprintf(stderr, "Couldn't open %s: %s\n", lib_name, dlerror()); --- -2.16.3 - diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 7d72de2a2ded..7c3b3447d613 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pkgconfig, perl, texinfo, yasm , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg -, libtheora, libva, libvorbis, libvpx, lzma, libpulseaudio, soxr -, x264, x265, xvidcore, zlib, libopus +, libssh, libtheora, libva, libvorbis, libvpx, lzma, libpulseaudio, soxr +, x264, x265, xvidcore, zlib, libopus, speex , openglSupport ? false, libGLU_combined ? null # Build options , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime @@ -128,6 +128,7 @@ stdenv.mkDerivation rec { "--enable-libmp3lame" (ifMinVer "1.2" "--enable-iconv") "--enable-libtheora" + (ifMinVer "2.1" "--enable-libssh") (ifMinVer "0.6" (enableFeature vaapiSupport "vaapi")) "--enable-vdpau" "--enable-libvorbis" @@ -141,6 +142,7 @@ stdenv.mkDerivation rec { "--enable-libxvid" "--enable-zlib" (ifMinVer "2.8" "--enable-libopus") + "--enable-libspeex" (ifMinVer "2.8" "--enable-libx265") # Developer flags (enableFeature debugDeveloper "debug") @@ -157,8 +159,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl pkgconfig texinfo yasm ]; buildInputs = [ - bzip2 fontconfig freetype gnutls libiconv lame libass libogg libtheora - libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus + bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora + libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex ] ++ optional openglSupport libGLU_combined ++ optional vpxSupport libvpx ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix index 685775e2918d..8d88dc04924b 100644 --- a/pkgs/development/libraries/gdbm/default.nix +++ b/pkgs/development/libraries/gdbm/default.nix @@ -1,13 +1,13 @@ { stdenv, lib, fetchurl }: stdenv.mkDerivation rec { - name = "gdbm-1.17"; - # FIXME: remove on update to > 1.17 + name = "gdbm-1.18"; + # FIXME: remove on update to > 1.18 NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-Wno-error=return-type" else null; src = fetchurl { url = "mirror://gnu/gdbm/${name}.tar.gz"; - sha256 = "0zcp2iv5dbab18859a5fvacg8lkp8k4pr9af13kfvami6lpcrn3w"; + sha256 = "1kimnv12bzjjhaqk4c8w2j6chdj9c6bg21lchaf7abcyfss2r0mq"; }; doCheck = true; # not cross; diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 4531a5a01d4c..1b2f6bbc2225 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -51,6 +51,7 @@ stdenv.mkDerivation rec { gettextNeedsLdflags = stdenv.hostPlatform.libc != "glibc" && !stdenv.hostPlatform.isMusl; enableParallelBuilding = true; + enableParallelChecking = false; # fails sometimes meta = with lib; { description = "Well integrated set of translation tools and documentation"; diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix index 71fe23ea6b0d..416ecb5631ed 100644 --- a/pkgs/development/libraries/gpgme/default.nix +++ b/pkgs/development/libraries/gpgme/default.nix @@ -2,7 +2,7 @@ , file, which , autoreconfHook , git -, texinfo5 +, texinfo , qtbase ? null , withPython ? false, swig2 ? null, python ? null }: @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { [ libgpgerror glib libassuan pth ] ++ lib.optional (qtbase != null) qtbase; - nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo5 ] + nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo ] ++ lib.optionals withPython [ python swig2 which ]; postPatch ='' diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix index 0c0fc3861c9e..a887384f94da 100644 --- a/pkgs/development/libraries/libatomic_ops/default.nix +++ b/pkgs/development/libraries/libatomic_ops/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "libatomic_ops-${version}"; - version = "7.6.4"; + version = "7.6.6"; src = fetchurl { urls = [ "http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz" "https://github.com/ivmai/libatomic_ops/releases/download/v${version}/libatomic_ops-${version}.tar.gz" ]; - sha256 = "0knxncsjhbknlyy6lx7ycxhpzfk3sykhvicgxyp0rmsxd1d3v0jv"; + sha256 = "0x7071z707msvyrv9dmgahd1sghbkw8fpbagvcag6xs8yp2spzlr"; }; outputs = [ "out" "dev" "doc" ]; diff --git a/pkgs/development/libraries/libdaemon/default.nix b/pkgs/development/libraries/libdaemon/default.nix index 59e576fd3923..5dc153dd5ccc 100644 --- a/pkgs/development/libraries/libdaemon/default.nix +++ b/pkgs/development/libraries/libdaemon/default.nix @@ -1,6 +1,6 @@ {stdenv, fetchurl}: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "libdaemon-0.14"; src = fetchurl { @@ -8,6 +8,8 @@ stdenv.mkDerivation (rec { sha256 = "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx"; }; + patches = [ ./fix-includes.patch ]; + configureFlags = [ "--disable-lynx" ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ # Can't run this test while cross-compiling @@ -16,16 +18,8 @@ stdenv.mkDerivation (rec { meta = { description = "Lightweight C library that eases the writing of UNIX daemons"; - homepage = http://0pointer.de/lennart/projects/libdaemon/; - license = stdenv.lib.licenses.lgpl2Plus; - platforms = stdenv.lib.platforms.unix; - maintainers = [ ]; }; -} // stdenv.lib.optionalAttrs stdenv.hostPlatform.isMusl { - # This patch should be applied unconditionally, but doing so will cause mass rebuild. - patches = ./fix-includes.patch; -}) - +} diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index 5107d8898d46..761216f420bb 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }: stdenv.mkDerivation rec { - name = "libdrm-2.4.93"; + name = "libdrm-2.4.94"; src = fetchurl { url = "https://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f"; + sha256 = "1ghn3l1dv1rsp9z6jpmy4ryna1s8rm4xx0ds532041bnlfq5jg5p"; }; outputs = [ "out" "dev" "bin" ]; diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index 20a08885142a..bcd37396bf7f 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -2,11 +2,11 @@ , python, perl, gdk_pixbuf, libiconv, libintl }: stdenv.mkDerivation rec { - name = "libgsf-1.14.42"; + name = "libgsf-1.14.44"; src = fetchurl { url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz"; - sha256 = "1hhdz0ymda26q6bl5ygickkgrh998lxqq4z9i8dzpcvqna3zpzr9"; + sha256 = "1ppzfk3zmmgrg9jh8vc4dacddbfngjslq2wpj94pcr3i0c8dxgk8"; }; nativeBuildInputs = [ pkgconfig intltool libintl ]; diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index d42bd315d22f..4c85971cc3ce 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -16,11 +16,11 @@ in with stdenv.lib; stdenv.mkDerivation rec { name = "libinput-${version}"; - version = "1.11.3"; + version = "1.12.0"; src = fetchurl { url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz"; - sha256 = "01nb1shnl871d939wgfd7nc9svclcnfjfhlq64b4yns2dvcr24gk"; + sha256 = "1901wxh9k8kz3krfmvacf8xa8r4idfyisw8d80a2ql0bxiw2pb0m"; }; outputs = [ "bin" "out" "dev" ]; @@ -46,12 +46,6 @@ stdenv.mkDerivation rec { patches = [ ./udev-absolute-path.patch ]; - preBuild = '' - # meson setup-hook changes the directory so the files are located one level up - patchShebangs ../udev/parse_hwdb.py - patchShebangs ../test/symbols-leak-test.in - ''; - doCheck = testsSupport; meta = { diff --git a/pkgs/development/libraries/libinput/udev-absolute-path.patch b/pkgs/development/libraries/libinput/udev-absolute-path.patch index fb22fea40e80..5c85b8639486 100644 --- a/pkgs/development/libraries/libinput/udev-absolute-path.patch +++ b/pkgs/development/libraries/libinput/udev-absolute-path.patch @@ -5,7 +5,7 @@ udev_rules_config = configuration_data() -udev_rules_config.set('UDEV_TEST_PATH', '') -+udev_rules_config.set('UDEV_TEST_PATH', udev_dir + '/') ++udev_rules_config.set('UDEV_TEST_PATH', dir_udev + '/') configure_file(input : 'udev/80-libinput-device-groups.rules.in', output : '80-libinput-device-groups.rules', install : true, diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index a68b5b2b6d5e..b150dd0f59c3 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -36,6 +36,11 @@ stdenv.mkDerivation rec { url = "https://github.com/erikd/libsndfile/commit/85c877d5072866aadbe8ed0c3e0590fbb5e16788.patch"; sha256 = "0kc7vp22qsxidhvmlc6nfamw7k92n0hcfpmwhb3gaksjamwhb2df"; }) + (fetchurl { + name = "CVE-2018-13139.patch"; + url = "https://github.com/erikd/libsndfile/commit/aaea680337267bfb6d2544da878890ee7f1c5077.patch"; + sha256 = "01q3m7pa3xqkh05ijmfgv064v8flkg4p24bgy9wxnc6wfcdifggx"; + }) ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 24da3a8e2c7d..312a5c118103 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -19,7 +19,19 @@ stdenv.mkDerivation rec { doCheck = true; - enableParallelBuilding = true; + /* This seems to cause several random failures like these, which I assume + is because of bad or missing target dependencies in their build system: + + ./unistdio/test-u16-vasnprintf2.sh: line 16: ./test-u16-vasnprintf1: No such file or directory + FAIL unistdio/test-u16-vasnprintf2.sh (exit status: 1) + + FAIL: unistdio/test-u16-vasnprintf3.sh + ====================================== + + ./unistdio/test-u16-vasnprintf3.sh: line 16: ./test-u16-vasnprintf1: No such file or directory + FAIL unistdio/test-u16-vasnprintf3.sh (exit status: 1) + */ + enableParallelBuilding = false; meta = { homepage = http://www.gnu.org/software/libunistring/; diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 067f8fb432d5..73d2db8e9993 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { "tcp_open" "tcp_write_queue_order" "tcp_try_write" "tcp_writealot" "multiple_listen" "delayed_accept" "shutdown_close_tcp" "shutdown_eof" "shutdown_twice" "callback_stack" - "tty_pty" + "tty_pty" "condvar_5" ] ++ stdenv.lib.optionals stdenv.isAarch32 [ # I observe this test failing with some regularity on ARMv7: # https://github.com/libuv/libuv/issues/1871 diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix deleted file mode 100644 index 2bfdb679156c..000000000000 --- a/pkgs/development/libraries/mesa-darwin/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, intltool, flex, bison -, python, libxml2Python, expat, makedepend, xorg, llvm, libffi, libvdpau -, OpenGL, apple_sdk, Xplugin -}: - -let - version = "8.0.5"; - self = stdenv.mkDerivation rec { - name = "mesa-${version}"; - - src = fetchurl { - url = "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/${version}/MesaLib-${version}.tar.bz2"; - sha256 = "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"; - }; - - nativeBuildInputs = [ pkgconfig python makedepend flex bison ]; - - buildInputs = with xorg; [ - glproto dri2proto libXfixes libXi libXmu - intltool expat libxml2Python llvm - presentproto - libX11 libXext libxcb libXt libxshmfence - libffi libvdpau - ] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenGL apple_sdk.sdk Xplugin ]; - - propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ OpenGL ]; - - postUnpack = '' - ln -s darwin $sourceRoot/configs/current - ''; - - preBuild = stdenv.lib.optionalString stdenv.isDarwin '' - substituteInPlace bin/mklib --replace g++ clang++ - ''; - - patches = [ - ./patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch - ./patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch - ./patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch - ./patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch - ./patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch - ./patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch - ./patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch - ./patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch - ./patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch - ./patches/patch-src-mapi-vgapi-Makefile.diff - ]; - - postPatch = "patchShebangs ."; - - configurePhase = ":"; - - configureFlags = [ - # NOTE: Patents expired on June 17 2018. - # For details see: https://www.phoronix.com/scan.php?page=news_item&px=OpenGL-Texture-Float-Freed - "texture-float" - ]; - - makeFlags = "INSTALL_DIR=\${out} CC=cc CXX=c++"; - - enableParallelBuilding = true; - - passthru = { inherit version; }; - - meta = { - description = "An open source implementation of OpenGL"; - homepage = http://www.mesa3d.org/; - license = "bsd"; - platforms = stdenv.lib.platforms.darwin; - maintainers = with stdenv.lib.maintainers; [ cstrahan ]; - }; - }; -in self // { driverLink = self; } diff --git a/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch b/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch deleted file mode 100644 index 5466ffc90858..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch +++ /dev/null @@ -1,147 +0,0 @@ -From 9cf1afbf8ae87ddbb29b24a0f9f2724e9e2935c1 Mon Sep 17 00:00:00 2001 -From: Brian Paul <brianp@vmware.com> -Date: Tue, 4 Sep 2012 20:17:15 -0600 -Subject: [PATCH 03/13] mesa: fix per-level max texture size error checking -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is a long-standing omission in Mesa's texture image size checking. -We need to take the mipmap level into consideration when checking if the -width, height and depth are too large. - -Fixes the new piglit max-texture-size-level test. -Thanks to Stéphane Marchesin for finding this problem. - -Note: This is a candidate for the stable branches. - -Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> -(cherry picked from commit 771e7b6d884bb4294a89f276a904d90b28efb90a) ---- - src/mesa/main/teximage.c | 36 +++++++++++++++++++++--------------- - 1 file changed, 21 insertions(+), 15 deletions(-) - -diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c -index 3aecc0f..ed22fa9 100644 ---- a/src/mesa/main/teximage.c -+++ b/src/mesa/main/teximage.c -@@ -1251,11 +1251,12 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - - switch (target) { - case GL_PROXY_TEXTURE_1D: -- maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -- if (width < 2 * border || width > 2 * border + maxSize) -- return GL_FALSE; - if (level >= ctx->Const.MaxTextureLevels) - return GL_FALSE; -+ maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); /* level zero size */ -+ maxSize >>= level; /* level size */ -+ if (width < 2 * border || width > 2 * border + maxSize) -+ return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1263,13 +1264,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_2D: -+ if (level >= ctx->Const.MaxTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; -- if (level >= ctx->Const.MaxTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1279,15 +1281,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_3D: -+ if (level >= ctx->Const.Max3DTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; - if (depth < 2 * border || depth > 2 * border + maxSize) - return GL_FALSE; -- if (level >= ctx->Const.Max3DTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1299,23 +1302,24 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_RECTANGLE_NV: -+ if (level != 0) -+ return GL_FALSE; - maxSize = ctx->Const.MaxTextureRectSize; - if (width < 0 || width > maxSize) - return GL_FALSE; - if (height < 0 || height > maxSize) - return GL_FALSE; -- if (level != 0) -- return GL_FALSE; - return GL_TRUE; - - case GL_PROXY_TEXTURE_CUBE_MAP_ARB: -+ if (level >= ctx->Const.MaxCubeTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxCubeTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; -- if (level >= ctx->Const.MaxCubeTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1325,13 +1329,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_1D_ARRAY_EXT: -+ if (level >= ctx->Const.MaxTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 1 || height > ctx->Const.MaxArrayTextureLayers) - return GL_FALSE; -- if (level >= ctx->Const.MaxTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; -@@ -1339,15 +1344,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, - return GL_TRUE; - - case GL_PROXY_TEXTURE_2D_ARRAY_EXT: -+ if (level >= ctx->Const.MaxTextureLevels) -+ return GL_FALSE; - maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); -+ maxSize >>= level; - if (width < 2 * border || width > 2 * border + maxSize) - return GL_FALSE; - if (height < 2 * border || height > 2 * border + maxSize) - return GL_FALSE; - if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers) - return GL_FALSE; -- if (level >= ctx->Const.MaxTextureLevels) -- return GL_FALSE; - if (!ctx->Extensions.ARB_texture_non_power_of_two) { - if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) - return GL_FALSE; --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch b/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch deleted file mode 100644 index ff933b2ec284..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch +++ /dev/null @@ -1,33 +0,0 @@ -From db8cb2250335a93cad6e877e634116e5cd6b42fc Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 13 Mar 2012 14:53:25 +0000 -Subject: [PATCH 08/13] glsl: initialise const force glsl extension warning in - fake ctx - -valgrind complained about an uninitialised value being used in -glsl_parser_extras.cpp, and this was the one it was giving out about. - -Just initialise the value in the fakectx. - -Signed-off-by: Dave Airlie <airlied@redhat.com> -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48057 -(cherry picked from commit b78a77f979b21a84aecb6fa4f19a2ed51a48c306) ---- - src/glsl/builtins/tools/generate_builtins.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py -index 72d12bb..bd15c4d 100755 ---- a/src/glsl/builtins/tools/generate_builtins.py -+++ b/src/glsl/builtins/tools/generate_builtins.py -@@ -156,6 +156,7 @@ read_builtins(GLenum target, const char *protos, const char **functions, unsigne - fakeCtx.API = API_OPENGL; - fakeCtx.Const.GLSLVersion = 130; - fakeCtx.Extensions.ARB_ES2_compatibility = true; -+ fakeCtx.Const.ForceGLSLExtensionsWarn = false; - gl_shader *sh = _mesa_new_shader(NULL, 0, target); - struct _mesa_glsl_parse_state *st = - new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh); --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch b/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch deleted file mode 100644 index 919443045e46..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 2286bd68a832a4d4908d50e1a4496853e1f3305a Mon Sep 17 00:00:00 2001 -From: Brian Paul <brianp@vmware.com> -Date: Mon, 27 Aug 2012 21:52:07 -0600 -Subject: [PATCH 09/13] mesa: test for GL_EXT_framebuffer_sRGB in glPopAttrib() - -To avoid spurious GL_INVALID_ENUM errors if the extension isn't supported. -(cherry picked from commit 1aee8803f83f7ae24d9c2150c70afff2b1ee4c2f) ---- - src/mesa/main/attrib.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c -index 225ac89..cc384c7 100644 ---- a/src/mesa/main/attrib.c -+++ b/src/mesa/main/attrib.c -@@ -993,7 +993,8 @@ _mesa_PopAttrib(void) - _mesa_ClampColorARB(GL_CLAMP_READ_COLOR_ARB, color->ClampReadColor); - - /* GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB */ -- _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled); -+ if (ctx->Extensions.EXT_framebuffer_sRGB) -+ _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled); - } - break; - case GL_CURRENT_BIT: --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch b/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch deleted file mode 100644 index 565d5e6c2737..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 9c50093adff0c7531ab32a7ec9ce3b91712b4d20 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -Date: Sat, 20 Jul 2013 10:25:28 -0700 -Subject: [PATCH 11/13] Apple: glFlush() is not needed with CGLFlushDrawable() - -<rdar://problem/14496373> - -Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -(cherry picked from commit fa5ed99d8e809fb86e486a40273a4a6971055398) ---- - src/glx/apple/apple_glx.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/glx/apple/apple_glx.c b/src/glx/apple/apple_glx.c -index 56cff64..4e2aa33 100644 ---- a/src/glx/apple/apple_glx.c -+++ b/src/glx/apple/apple_glx.c -@@ -132,8 +132,6 @@ apple_glx_swap_buffers(void *ptr) - { - struct apple_glx_context *ac = ptr; - -- /* This may not be needed with CGLFlushDrawable: */ -- glFlush(); - apple_cgl.flush_drawable(ac->context_obj); - } - --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch b/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch deleted file mode 100644 index 58ac66bd5511..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 629600450b3845a768c0edc92ea3f444d03a2738 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -Date: Tue, 20 May 2014 01:37:58 -0700 -Subject: [PATCH 12/13] glapi: Avoid heap corruption in _glapi_table - -Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -Reviewed-by: Chia-I Wu <olv@lunarg.com> -(cherry picked from commit ff5456d1acf6f627a6837be3f3f37c6a268c9e8e) ---- - src/mapi/glapi/gen/gl_gentable.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/mapi/glapi/gen/gl_gentable.py b/src/mapi/glapi/gen/gl_gentable.py -index 5657e32..0d0a02d 100644 ---- a/src/mapi/glapi/gen/gl_gentable.py -+++ b/src/mapi/glapi/gen/gl_gentable.py -@@ -111,7 +111,7 @@ __glapi_gentable_set_remaining_noop(struct _glapi_table *disp) { - - struct _glapi_table * - _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) { -- struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table)); -+ struct _glapi_table *disp = calloc(1, _glapi_get_dispatch_table_size() * sizeof(_glapi_proc)); - char symboln[512]; - - if(!disp) --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch b/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch deleted file mode 100644 index 5ec0d9024eff..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ba59a779ed41e08fa16805c1c60da39885546d0e Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -Date: Tue, 20 May 2014 10:53:00 -0700 -Subject: [PATCH 13/13] darwin: Fix test for kCGLPFAOpenGLProfile support at - runtime - -Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -(cherry picked from commit 7a109268ab5b3544e7f7b99e84ef1fdf54023fb4) ---- - src/glx/apple/apple_visual.c | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index 282934f..238c248 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -73,11 +73,15 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - GLint vsref = 0; - CGLError error = 0; - -- /* Request an OpenGL 3.2 profile if one is available */ -- if(apple_cgl.version_major > 1 || (apple_cgl.version_major == 1 && apple_cgl.version_minor >= 3)) { -- attr[numattr++] = kCGLPFAOpenGLProfile; -- attr[numattr++] = kCGLOGLPVersion_3_2_Core; -- } -+ /* Request an OpenGL 3.2 profile if one is available and supported */ -+ attr[numattr++] = kCGLPFAOpenGLProfile; -+ attr[numattr++] = kCGLOGLPVersion_3_2_Core; -+ -+ /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */ -+ attr[numattr] = 0; -+ error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); -+ if (error == kCGLBadAttribute) -+ numattr -= 2; - - if (offscreen) { - apple_glx_diagnostic --- -1.9.2 - diff --git a/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch b/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch deleted file mode 100644 index 372ce4a27a39..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f0702d6e631bb912a230c081463bb51a0dde1bff Mon Sep 17 00:00:00 2001 -From: Jon TURNEY <jon.turney@dronecode.org.uk> -Date: Mon, 12 May 2014 15:38:26 +0100 -Subject: [PATCH 1001/1003] appleglx: Improve error reporting if - CGLChoosePixelFormat() didn't find any matching pixel formats. - -Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> -Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -(cherry picked from commit 002a3a74273b81dfb226e1c3f0a8c18525ed0af4) ---- - src/glx/apple/apple_visual.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index 238c248..c6ede51 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -167,4 +167,9 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); - abort(); - } -+ -+ if (!*pfobj) { -+ fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); -+ abort(); -+ } - } --- -1.9.2 (Apple Git-49) - diff --git a/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch b/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch deleted file mode 100644 index 4818ee63d4c9..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 1b2f877c8ef052b183c1f20ece6c6e4a7bfd237c Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -Date: Sat, 24 May 2014 14:13:33 -0700 -Subject: [PATCH 1002/1003] darwin: Write errors in choosing the pixel format - to the crash log - -Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -(cherry picked from commit 9eb1d36c978a9b15ae2e999c630492dfffd7f165) ---- - src/glx/apple/apple_visual.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index c6ede51..951b213 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -63,6 +63,16 @@ enum - MAX_ATTR = 60 - }; - -+static char __crashreporter_info_buff__[4096] = { 0 }; -+static const char *__crashreporter_info__ __attribute__((__used__)) = -+ &__crashreporter_info_buff__[0]; -+#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 -+// This is actually a toolchain requirement, but I'm not sure the correct check, -+// but it should be fine to just only include it for Leopard and later. This line -+// just tells the linker to never strip this symbol (such as for space optimization) -+__asm__ (".desc ___crashreporter_info__, 0x10"); -+#endif -+ - void - apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * mode, - bool * double_buffered, bool * uses_stereo, -@@ -164,12 +174,16 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); - - if (error) { -- fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); -+ snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), -+ "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error)); -+ fprintf(stderr, "%s", __crashreporter_info_buff__); - abort(); - } - - if (!*pfobj) { -- fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); -+ snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), -+ "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); -+ fprintf(stderr, "%s", __crashreporter_info_buff__); - abort(); - } - } --- -1.9.2 (Apple Git-49) - diff --git a/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch b/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch deleted file mode 100644 index 72841e2a2cce..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 9d6e12eb6b06202519e48a7321f32944d7a34b0f Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -Date: Sat, 24 May 2014 14:08:16 -0700 -Subject: [PATCH 1003/1003] darwin: Guard Core Profile usage behind a testing - envvar - -Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> -(cherry picked from commit 04ce3be4010305902cc5ae81e8e0c8550d043a1e) ---- - src/glx/apple/apple_visual.c | 30 ++++++++++++++++++++---------- - 1 file changed, 20 insertions(+), 10 deletions(-) - -diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c -index 951b213..046581b 100644 ---- a/src/glx/apple/apple_visual.c -+++ b/src/glx/apple/apple_visual.c -@@ -82,16 +82,7 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - int numattr = 0; - GLint vsref = 0; - CGLError error = 0; -- -- /* Request an OpenGL 3.2 profile if one is available and supported */ -- attr[numattr++] = kCGLPFAOpenGLProfile; -- attr[numattr++] = kCGLOGLPVersion_3_2_Core; -- -- /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */ -- attr[numattr] = 0; -- error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); -- if (error == kCGLBadAttribute) -- numattr -= 2; -+ bool use_core_profile = getenv("LIBGL_PROFILE_CORE"); - - if (offscreen) { - apple_glx_diagnostic -@@ -167,12 +158,31 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m - attr[numattr++] = mode->samples; - } - -+ /* Debugging support for Core profiles to support newer versions of OpenGL */ -+ if (use_core_profile) { -+ attr[numattr++] = kCGLPFAOpenGLProfile; -+ attr[numattr++] = kCGLOGLPVersion_3_2_Core; -+ } -+ - attr[numattr++] = 0; - - assert(numattr < MAX_ATTR); - - error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); - -+ if ((error == kCGLBadAttribute || vsref == 0) && use_core_profile) { -+ apple_glx_diagnostic -+ ("Trying again without CoreProfile: error=%s, vsref=%d\n", apple_cgl.error_string(error), vsref); -+ -+ if (!error) -+ apple_cgl.destroy_pixel_format(*pfobj); -+ -+ numattr -= 3; -+ attr[numattr++] = 0; -+ -+ error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); -+ } -+ - if (error) { - snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), - "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error)); --- -1.9.2 (Apple Git-49) - diff --git a/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff b/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff deleted file mode 100644 index e29a8464076d..000000000000 --- a/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/mapi/vgapi/Makefile 2012-11-30 12:06:24.000000000 -0500 -+++ b/src/mapi/vgapi/Makefile 2012-11-30 12:06:52.000000000 -0500 -@@ -75,6 +75,8 @@ - install-headers: - $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/VG - $(INSTALL) -m 644 $(TOP)/include/VG/*.h $(DESTDIR)$(INSTALL_INC_DIR)/VG -+ $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/KHR -+ $(INSTALL) -m 644 $(TOP)/include/KHR/*.h $(DESTDIR)$(INSTALL_INC_DIR)/KHR - - install: default install-headers install-pc - $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR) diff --git a/pkgs/development/libraries/mesa/darwin-clock-gettime.patch b/pkgs/development/libraries/mesa/darwin-clock-gettime.patch new file mode 100644 index 000000000000..94e90a1c5871 --- /dev/null +++ b/pkgs/development/libraries/mesa/darwin-clock-gettime.patch @@ -0,0 +1,76 @@ +diff --git a/include/c11/threads_posix.h b/include/c11/threads_posix.h +index 45cb6075e6..62937311b9 100644 +--- a/include/c11/threads_posix.h ++++ b/include/c11/threads_posix.h +@@ -36,6 +36,11 @@ + #include <sched.h> + #include <stdint.h> /* for intptr_t */ + ++#ifdef __MACH__ ++#include <mach/clock.h> ++#include <mach/mach.h> ++#endif ++ + /* + Configuration macro: + +@@ -383,12 +388,25 @@ tss_set(tss_t key, void *val) + /*-------------------- 7.25.7 Time functions --------------------*/ + // 7.25.6.1 + #ifndef HAVE_TIMESPEC_GET ++ + static inline int + timespec_get(struct timespec *ts, int base) + { + if (!ts) return 0; + if (base == TIME_UTC) { ++#ifdef __MACH__ ++ if (ts != NULL) { ++ clock_serv_t cclock; ++ mach_timespec_t mts; ++ host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); ++ clock_get_time(cclock, &mts); ++ mach_port_deallocate(mach_task_self(), cclock); ++ ts->tv_sec = mts.tv_sec; ++ ts->tv_nsec = mts.tv_nsec; ++ } ++#else + clock_gettime(CLOCK_REALTIME, ts); ++#endif + return base; + } + return 0; +diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c +index 1208ebb315..e1378fb1f0 100644 +--- a/src/egl/drivers/dri2/egl_dri2.c ++++ b/src/egl/drivers/dri2/egl_dri2.c +@@ -65,6 +65,11 @@ + #include "util/u_vector.h" + #include "mapi/glapi/glapi.h" + ++#ifdef __MACH__ ++#include <mach/clock.h> ++#include <mach/mach.h> ++#endif ++ + #define NUM_ATTRIBS 12 + + static void +@@ -3092,7 +3097,17 @@ dri2_client_wait_sync(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSync *sync, + + /* We override the clock to monotonic when creating the condition + * variable. */ ++#ifdef __MACH__ ++ clock_serv_t cclock; ++ mach_timespec_t mts; ++ host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); ++ clock_get_time(cclock, &mts); ++ mach_port_deallocate(mach_task_self(), cclock); ++ current.tv_sec = mts.tv_sec; ++ current.tv_nsec = mts.tv_nsec; ++#else + clock_gettime(CLOCK_MONOTONIC, ¤t); ++#endif + + /* calculating when to expire */ + expire.tv_nsec = timeout % 1000000000L; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 0a8a3c75a1c0..aca9a237b0c7 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -8,6 +8,8 @@ , galliumDrivers ? null , driDrivers ? null , vulkanDrivers ? null +, eglPlatforms ? [ "x11" ] ++ lib.optionals stdenv.isLinux [ "wayland" "drm" ] +, OpenGL, Xplugin }: /** Packaging design: @@ -29,19 +31,21 @@ else let defaultGalliumDrivers = - if stdenv.isAarch32 + optionals (builtins.elem "drm" eglPlatforms) + (if stdenv.isAarch32 then ["virgl" "nouveau" "freedreno" "vc4" "etnaviv" "imx"] else if stdenv.isAarch64 then ["virgl" "nouveau" "vc4" ] - else ["virgl" "svga" "i915" "r300" "r600" "radeonsi" "nouveau"]; + else ["virgl" "svga" "i915" "r300" "r600" "radeonsi" "nouveau"]); defaultDriDrivers = - if (stdenv.isAarch32 || stdenv.isAarch64) + optionals (builtins.elem "drm" eglPlatforms) + (if (stdenv.isAarch32 || stdenv.isAarch64) then ["nouveau"] - else ["i915" "i965" "nouveau" "radeon" "r200"]; + else ["i915" "i965" "nouveau" "radeon" "r200"]); defaultVulkanDrivers = - if (stdenv.isAarch32 || stdenv.isAarch64) + optionals stdenv.isLinux (if (stdenv.isAarch32 || stdenv.isAarch64) then [] - else ["intel"] ++ lib.optional enableRadv "radeon"; + else ["intel"] ++ lib.optional enableRadv "radeon"); in let gallium_ = galliumDrivers; dri_ = driDrivers; vulkan_ = vulkanDrivers; in @@ -51,11 +55,11 @@ let (if gallium_ == null then defaultGalliumDrivers else gallium_) - ++ ["swrast" "virgl"]; + ++ lib.optional stdenv.isLinux "swrast"; driDrivers = (if dri_ == null - then defaultDriDrivers - else dri_) ++ ["swrast"]; + then optionals (elem "drm" eglPlatforms) defaultDriDrivers + else dri_) ++ lib.optional stdenv.isLinux "swrast"; vulkanDrivers = if vulkan_ == null then defaultVulkanDrivers @@ -63,7 +67,7 @@ let in let - version = "18.1.7"; + version = "18.2.1"; branch = head (splitString "." version); in @@ -77,7 +81,7 @@ let self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - sha256 = "655e3b32ce3bdddd5e6e8768596e5d4bdef82d0dd37067c324cc4b2daa207306"; + sha256 = "0mhhr1id11s1fbdxbvr4a81xjh1nsznpra9dl36bv2hq7mpxqdln"; }; prePatch = "patchShebangs ."; @@ -89,9 +93,10 @@ let self = stdenv.mkDerivation { ./symlink-drivers.patch ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl ./disk_cache-include-dri-driver-path-in-cache-key.patch - ]; + ] ++ lib.optional stdenv.isDarwin ./darwin-clock-gettime.patch; - outputs = [ "out" "dev" "drivers" "osmesa" ]; + outputs = [ "out" "dev" "drivers" ] + ++ lib.optional (elem "swrast" galliumDrivers) "osmesa"; # TODO: Figure out how to enable opencl without having a runtime dependency on clang configureFlags = [ @@ -99,19 +104,11 @@ let self = stdenv.mkDerivation { "--localstatedir=/var" "--with-dri-driverdir=$(drivers)/lib/dri" "--with-dri-searchpath=${libglvnd.driverLink}/lib/dri" - "--with-platforms=x11,wayland,drm" + "--with-platforms=${concatStringsSep "," eglPlatforms}" + "--with-gallium-drivers=${concatStringsSep "," galliumDrivers}" + "--with-dri-drivers=${concatStringsSep "," driDrivers}" + "--with-vulkan-drivers=${concatStringsSep "," vulkanDrivers}" "--enable-texture-float" - ] - ++ (optional (galliumDrivers != []) - ("--with-gallium-drivers=" + - builtins.concatStringsSep "," galliumDrivers)) - ++ (optional (driDrivers != []) - ("--with-dri-drivers=" + - builtins.concatStringsSep "," driDrivers)) - ++ (optional (vulkanDrivers != []) - ("--with-vulkan-drivers=" + - builtins.concatStringsSep "," vulkanDrivers)) - ++ [ (enableFeature stdenv.isLinux "dri3") (enableFeature stdenv.isLinux "nine") # Direct3D in Wine "--enable-libglvnd" @@ -122,17 +119,18 @@ let self = stdenv.mkDerivation { "--enable-glx" # https://bugs.freedesktop.org/show_bug.cgi?id=35268 (enableFeature (!stdenv.hostPlatform.isMusl) "glx-tls") - "--enable-gallium-osmesa" # used by wine + # used by wine + (enableFeature (elem "swrast" galliumDrivers) "gallium-osmesa") "--enable-llvm" - "--enable-egl" - "--enable-xa" # used in vmware driver - "--enable-gbm" + (enableFeature stdenv.isLinux "egl") + (enableFeature stdenv.isLinux "xa") # used in vmware driver + (enableFeature stdenv.isLinux "gbm") "--enable-xvmc" "--enable-vdpau" "--enable-shared-glapi" "--enable-llvm-shared-libs" - "--enable-omx-bellagio" - "--enable-va" + (enableFeature stdenv.isLinux "omx-bellagio") + (enableFeature stdenv.isLinux "va") "--disable-opencl" ]; @@ -140,16 +138,18 @@ let self = stdenv.mkDerivation { propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ] - ++ optional stdenv.isLinux libdrm; + ++ optional stdenv.isLinux libdrm + ++ optionals stdenv.isDarwin [ OpenGL Xplugin ]; buildInputs = with xorg; [ expat llvmPackages.llvm libglvnd glproto dri2proto dri3proto presentproto - libX11 libXext libxcb libXt libXfixes libxshmfence - libffi wayland wayland-protocols libvdpau libelf libXvMC - libomxil-bellagio libva-minimal libpthreadstubs openssl/*or another sha1 provider*/ + libX11 libXext libxcb libXt libXfixes libxshmfence libXrandr + libffi libvdpau libelf libXvMC + libpthreadstubs openssl/*or another sha1 provider*/ valgrind-light python2 python2.pkgs.Mako - ]; + ] ++ lib.optionals stdenv.isLinux [ wayland wayland-protocols + libomxil-bellagio libva-minimal ]; enableParallelBuilding = true; doCheck = false; @@ -161,7 +161,7 @@ let self = stdenv.mkDerivation { ]; # TODO: probably not all .la files are completely fixed, but it shouldn't matter; - postInstall = '' + postInstall = optionalString (galliumDrivers != []) '' # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM mv -t "$drivers/lib/" \ $out/lib/libXvMC* \ @@ -215,7 +215,7 @@ let self = stdenv.mkDerivation { # TODO: # check $out doesn't depend on llvm: builder failures are ignored # for some reason grep -qv '${llvmPackages.llvm}' -R "$out"; - postFixup = '' + postFixup = optionalString (galliumDrivers != []) '' # add RPATH so the drivers can find the moved libgallium and libdricore9 # moved here to avoid problems with stripping patchelfed files for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do @@ -235,7 +235,9 @@ let self = stdenv.mkDerivation { # Use stub libraries from libglvnd and headers from Mesa. buildCommand = '' - ln -s ${libglvnd.out} $out + mkdir -p $out/nix-support + ln -s ${libglvnd.out}/lib $out/lib + mkdir -p $dev/{,lib/pkgconfig,nix-support} echo "$out" > $dev/nix-support/propagated-build-inputs ln -s ${self.dev}/include $dev/include @@ -257,6 +259,8 @@ let self = stdenv.mkDerivation { genPkgConfig egl EGL genPkgConfig glesv1_cm GLESv1_CM genPkgConfig glesv2 GLESv2 + '' + lib.optionalString stdenv.isDarwin '' + echo ${OpenGL} > $out/nix-support/propagated-build-inputs ''; }; }; @@ -265,7 +269,7 @@ let self = stdenv.mkDerivation { description = "An open source implementation of OpenGL"; homepage = https://www.mesa3d.org/; license = licenses.mit; # X11 variant, in most files - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; maintainers = with maintainers; [ vcunat ]; }; }; diff --git a/pkgs/development/libraries/mesa/missing-includes.patch b/pkgs/development/libraries/mesa/missing-includes.patch index feb6ffe428c0..18e7d5437b15 100644 --- a/pkgs/development/libraries/mesa/missing-includes.patch +++ b/pkgs/development/libraries/mesa/missing-includes.patch @@ -32,16 +32,6 @@ #include <unistd.h> #include <fcntl.h> #else ---- ./src/mesa/drivers/dri/i965/brw_bufmgr.h -+++ ./src/mesa/drivers/dri/i965/brw_bufmgr.h -@@ -37,6 +37,7 @@ - #include <stdbool.h> - #include <stdint.h> - #include <stdio.h> -+#include <time.h> - #include "util/u_atomic.h" - #include "util/list.h" - --- ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h +++ ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h @@ -28,6 +28,8 @@ diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix index a10f52462a8e..1a5656b7ca16 100644 --- a/pkgs/development/libraries/newt/default.nix +++ b/pkgs/development/libraries/newt/default.nix @@ -22,10 +22,9 @@ stdenv.mkDerivation rec { unset CPP ''; - # Use `lib.optionalString` next mass rebuild. - makeFlags = if stdenv.buildPlatform == stdenv.hostPlatform - then null - else "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; + makeFlags = stdenv.lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ + "CROSS_COMPILE=${stdenv.cc.targetPrefix}" + ]; meta = with stdenv.lib; { homepage = https://fedorahosted.org/newt/; diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index ce18498ee858..9cb7d701b9da 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl , CoreServices ? null }: -let version = "4.19"; in +let version = "4.20"; in stdenv.mkDerivation { name = "nspr-${version}"; src = fetchurl { url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - sha256 = "0agpv3f17h8kmzi0ifibaaxc1k3xc0q61wqw3l6r2xr2z8bmkn9f"; + sha256 = "0vjms4j75zvv5b2siyafg7hh924ysx2cwjad8spzp7x87n8n929c"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index f7ddf8ff780c..8715aaaa44d0 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -68,6 +68,7 @@ stdenv.mkDerivation rec { ./parallel-configure.patch ./clang-5-darwin.patch ./qt-4.8.7-unixmake-darwin.patch + ./kill-legacy-darwin-apis.patch (substituteAll { src = ./dlopen-absolute-paths.diff; cups = if cups != null then lib.getLib cups else null; diff --git a/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch b/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch new file mode 100644 index 000000000000..c1338e98d851 --- /dev/null +++ b/pkgs/development/libraries/qt-4.x/4.8/kill-legacy-darwin-apis.patch @@ -0,0 +1,330 @@ +diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp +index 4a9049b..c0ac9db 100644 +--- a/src/corelib/io/qfilesystemengine_unix.cpp ++++ b/src/corelib/io/qfilesystemengine_unix.cpp +@@ -242,9 +242,8 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry, + #else + char *ret = 0; + # if defined(Q_OS_MAC) && !defined(Q_OS_IOS) +- // When using -mmacosx-version-min=10.4, we get the legacy realpath implementation, +- // which does not work properly with the realpath(X,0) form. See QTBUG-28282. +- if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_6) { ++ // In Nix-on-Darwin, we don't support ancient macOS anyway, and the deleted branch relies on ++ // a symbol that's been deprecated for years and that our CF doesn't have + ret = (char*)malloc(PATH_MAX + 1); + if (ret && realpath(entry.nativeFilePath().constData(), (char*)ret) == 0) { + const int savedErrno = errno; // errno is checked below, and free() might change it +@@ -252,19 +251,6 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry, + errno = savedErrno; + ret = 0; + } +- } else { +- // on 10.5 we can use FSRef to resolve the file path. +- QString path = QDir::cleanPath(entry.filePath()); +- FSRef fsref; +- if (FSPathMakeRef((const UInt8 *)path.toUtf8().data(), &fsref, 0) == noErr) { +- CFURLRef urlref = CFURLCreateFromFSRef(NULL, &fsref); +- CFStringRef canonicalPath = CFURLCopyFileSystemPath(urlref, kCFURLPOSIXPathStyle); +- QString ret = QCFString::toQString(canonicalPath); +- CFRelease(canonicalPath); +- CFRelease(urlref); +- return QFileSystemEntry(ret); +- } +- } + # else + # if _POSIX_VERSION >= 200801L + ret = realpath(entry.nativeFilePath().constData(), (char*)0); +diff --git a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h +index 3bf7342..b6bcfc0 100644 +--- a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h ++++ b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.h +@@ -43,7 +43,6 @@ BOOL stringIsCaseInsensitiveEqualToString(NSString *first, NSString *second); + BOOL hasCaseInsensitiveSuffix(NSString *string, NSString *suffix); + BOOL hasCaseInsensitiveSubstring(NSString *string, NSString *substring); + NSString *filenameByFixingIllegalCharacters(NSString *string); +-CFStringEncoding stringEncodingForResource(Handle resource); + + #ifdef __cplusplus + } +diff --git a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm +index d6c3f0c..c88ca76 100644 +--- a/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm ++++ b/src/3rdparty/webkit/Source/WebCore/platform/mac/WebCoreNSStringExtras.mm +@@ -68,45 +68,4 @@ BOOL hasCaseInsensitiveSubstring(NSString *string, NSString *substring) + return filename; + } + +-CFStringEncoding stringEncodingForResource(Handle resource) +-{ +- short resRef = HomeResFile(resource); +- if (ResError() != noErr) +- return NSMacOSRomanStringEncoding; +- +- // Get the FSRef for the current resource file +- FSRef fref; +- OSStatus error = FSGetForkCBInfo(resRef, 0, NULL, NULL, NULL, &fref, NULL); +- if (error != noErr) +- return NSMacOSRomanStringEncoding; +- +- RetainPtr<CFURLRef> url(AdoptCF, CFURLCreateFromFSRef(NULL, &fref)); +- if (!url) +- return NSMacOSRomanStringEncoding; +- +- NSString *path = [(NSURL *)url.get() path]; +- +- // Get the lproj directory name +- path = [path stringByDeletingLastPathComponent]; +- if (!stringIsCaseInsensitiveEqualToString([path pathExtension], @"lproj")) +- return NSMacOSRomanStringEncoding; +- +- NSString *directoryName = [[path stringByDeletingPathExtension] lastPathComponent]; +- RetainPtr<CFStringRef> locale(AdoptCF, CFLocaleCreateCanonicalLocaleIdentifierFromString(NULL, (CFStringRef)directoryName)); +- if (!locale) +- return NSMacOSRomanStringEncoding; +- +- LangCode lang; +- RegionCode region; +- error = LocaleStringToLangAndRegionCodes([(NSString *)locale.get() UTF8String], &lang, ®ion); +- if (error != noErr) +- return NSMacOSRomanStringEncoding; +- +- TextEncoding encoding; +- error = UpgradeScriptInfoToTextEncoding(kTextScriptDontCare, lang, region, NULL, &encoding); +- if (error != noErr) +- return NSMacOSRomanStringEncoding; +- +- return encoding; +-} + +diff --git a/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp b/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp +index 865ea32..20bda8d 100644 +--- a/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp ++++ b/src/3rdparty/webkit/Source/WebCore/plugins/mac/PluginPackageMac.cpp +@@ -101,33 +101,6 @@ static WTF::RetainPtr<CFDictionaryRef> readPListFile(CFStringRef fileName, bool + return map; + } + +-static Vector<String> stringListFromResourceId(SInt16 id) +-{ +- Vector<String> list; +- +- Handle handle = Get1Resource('STR#', id); +- if (!handle) +- return list; +- +- CFStringEncoding encoding = stringEncodingForResource(handle); +- +- unsigned char* p = (unsigned char*)*handle; +- if (!p) +- return list; +- +- SInt16 count = *(SInt16*)p; +- p += sizeof(SInt16); +- +- for (SInt16 i = 0; i < count; ++i) { +- unsigned char length = *p; +- WTF::RetainPtr<CFStringRef> str = CFStringCreateWithPascalString(0, p, encoding); +- list.append(str.get()); +- p += 1 + length; +- } +- +- return list; +-} +- + bool PluginPackage::fetchInfo() + { + if (!load()) +@@ -202,36 +175,8 @@ bool PluginPackage::fetchInfo() + m_description = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(m_module, CFSTR("WebPluginDescription")); + + } else { +- int resFile = CFBundleOpenBundleResourceMap(m_module); +- +- UseResFile(resFile); +- +- Vector<String> mimes = stringListFromResourceId(MIMEListStringStringNumber); +- +- if (mimes.size() % 2 != 0) +- return false; +- +- Vector<String> descriptions = stringListFromResourceId(MIMEDescriptionStringNumber); +- if (descriptions.size() != mimes.size() / 2) +- return false; +- +- for (size_t i = 0; i < mimes.size(); i += 2) { +- String mime = mimes[i].lower(); +- Vector<String> extensions; +- mimes[i + 1].lower().split(UChar(','), extensions); +- +- m_mimeToExtensions.set(mime, extensions); +- +- m_mimeToDescriptions.set(mime, descriptions[i / 2]); +- } +- +- Vector<String> names = stringListFromResourceId(PluginNameOrDescriptionStringNumber); +- if (names.size() == 2) { +- m_description = names[0]; +- m_name = names[1]; +- } +- +- CFBundleCloseBundleResourceMap(m_module, resFile); ++ LOG(Plugins, "Nix removed ancient code that relies on long-deprecated functionality that we don't want to support!"); ++ return false; + } + + LOG(Plugins, "PluginPackage::fetchInfo(): Found plug-in '%s'", m_name.utf8().data()); +diff --git a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm +index b206e48..669d442 100644 +--- a/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm ++++ b/src/3rdparty/webkit/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm +@@ -26,7 +26,6 @@ + #import "config.h" + #import "NetscapePluginModule.h" + +-#import <WebCore/WebCoreNSStringExtras.h> + #import <wtf/HashSet.h> + + using namespace WebCore; +@@ -196,132 +195,6 @@ static bool getPluginInfoFromPropertyLists(CFBundleRef bundle, PluginInfo& plugi + return true; + } + +-class ResourceMap { +-public: +- explicit ResourceMap(CFBundleRef bundle) +- : m_bundle(bundle) +- , m_currentResourceFile(CurResFile()) +- , m_bundleResourceMap(CFBundleOpenBundleResourceMap(m_bundle)) +- { +- UseResFile(m_bundleResourceMap); +- } +- +- ~ResourceMap() +- { +- // Close the resource map. +- CFBundleCloseBundleResourceMap(m_bundle, m_bundleResourceMap); +- +- // And restore the old resource. +- UseResFile(m_currentResourceFile); +- } +- +- bool isValid() const { return m_bundleResourceMap != -1; } +- +-private: +- CFBundleRef m_bundle; +- ResFileRefNum m_currentResourceFile; +- ResFileRefNum m_bundleResourceMap; +-}; +- +-static bool getStringListResource(ResID resourceID, Vector<String>& stringList) { +- Handle stringListHandle = Get1Resource('STR#', resourceID); +- if (!stringListHandle || !*stringListHandle) +- return false; +- +- // Get the string list size. +- Size stringListSize = GetHandleSize(stringListHandle); +- if (stringListSize < static_cast<Size>(sizeof(UInt16))) +- return false; +- +- CFStringEncoding stringEncoding = stringEncodingForResource(stringListHandle); +- +- unsigned char* ptr = reinterpret_cast<unsigned char*>(*stringListHandle); +- unsigned char* end = ptr + stringListSize; +- +- // Get the number of strings in the string list. +- UInt16 numStrings = *reinterpret_cast<UInt16*>(ptr); +- ptr += sizeof(UInt16); +- +- for (UInt16 i = 0; i < numStrings; ++i) { +- // We're past the end of the string, bail. +- if (ptr >= end) +- return false; +- +- // Get the string length. +- unsigned char stringLength = *ptr++; +- +- RetainPtr<CFStringRef> cfString(AdoptCF, CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, ptr, stringLength, stringEncoding, false, kCFAllocatorNull)); +- if (!cfString.get()) +- return false; +- +- stringList.append(cfString.get()); +- ptr += stringLength; +- } +- +- if (ptr != end) +- return false; +- +- return true; +-} +- +-static const ResID PluginNameOrDescriptionStringNumber = 126; +-static const ResID MIMEDescriptionStringNumber = 127; +-static const ResID MIMEListStringStringNumber = 128; +- +-static bool getPluginInfoFromCarbonResources(CFBundleRef bundle, PluginInfo& pluginInfo) +-{ +- ResourceMap resourceMap(bundle); +- if (!resourceMap.isValid()) +- return false; +- +- // Get the description and name string list. +- Vector<String> descriptionAndName; +- if (!getStringListResource(PluginNameOrDescriptionStringNumber, descriptionAndName)) +- return false; +- +- // Get the MIME types and extensions string list. This list needs to be a multiple of two. +- Vector<String> mimeTypesAndExtensions; +- if (!getStringListResource(MIMEListStringStringNumber, mimeTypesAndExtensions)) +- return false; +- +- if (mimeTypesAndExtensions.size() % 2) +- return false; +- +- // Now get the MIME type descriptions string list. This string list needs to be the same length as the number of MIME types. +- Vector<String> mimeTypeDescriptions; +- if (!getStringListResource(MIMEDescriptionStringNumber, mimeTypeDescriptions)) +- return false; +- +- // Add all MIME types. +- for (size_t i = 0; i < mimeTypesAndExtensions.size() / 2; ++i) { +- MimeClassInfo mimeClassInfo; +- +- const String& mimeType = mimeTypesAndExtensions[i * 2]; +- String description; +- if (i < mimeTypeDescriptions.size()) +- description = mimeTypeDescriptions[i]; +- +- mimeClassInfo.type = mimeType.lower(); +- mimeClassInfo.desc = description; +- +- Vector<String> extensions; +- mimeTypesAndExtensions[i * 2 + 1].split(',', extensions); +- +- for (size_t i = 0; i < extensions.size(); ++i) +- mimeClassInfo.extensions.append(extensions[i].lower()); +- +- pluginInfo.mimes.append(mimeClassInfo); +- } +- +- // Set the description and name if they exist. +- if (descriptionAndName.size() > 0) +- pluginInfo.desc = descriptionAndName[0]; +- if (descriptionAndName.size() > 1) +- pluginInfo.name = descriptionAndName[1]; +- +- return true; +-} +- + bool NetscapePluginModule::getPluginInfo(const String& pluginPath, PluginInfoStore::Plugin& plugin) + { + RetainPtr<CFStringRef> bundlePath(AdoptCF, pluginPath.createCFString()); +@@ -344,8 +217,7 @@ static bool getPluginInfoFromCarbonResources(CFBundleRef bundle, PluginInfo& plu + return false; + + // Check that there's valid info for this plug-in. +- if (!getPluginInfoFromPropertyLists(bundle.get(), plugin.info) && +- !getPluginInfoFromCarbonResources(bundle.get(), plugin.info)) ++ if (!getPluginInfoFromPropertyLists(bundle.get(), plugin.info)) + return false; + + plugin.path = pluginPath; diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index a84cb7623d8f..b050a19db37b 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -79,12 +79,12 @@ let in stdenv.mkDerivation rec { name = "openblas-${version}"; - version = "0.3.1"; + version = "0.3.3"; src = fetchFromGitHub { owner = "xianyi"; repo = "OpenBLAS"; rev = "v${version}"; - sha256 = "1dkwp4gz1hzpmhzks9y9ipb4c5h0r6c7yff62x3s8x9z6f8knaqc"; + sha256 = "0cpkvfvc14xm9mifrm919rp8vrq70gpl7r2sww4f0izrl39wklwx"; }; inherit blas64; @@ -118,20 +118,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "musl") "NO_AFFINITY=1" ++ mapAttrsToList (var: val: var + "=" + val) config; - patches = [ - # Backport of https://github.com/xianyi/OpenBLAS/pull/1667, which - # is causing problems and was already accepted upstream. - (fetchpatch { - url = "https://github.com/xianyi/OpenBLAS/commit/5f2a3c05cd0e3872be3c5686b9da6b627658eeb7.patch"; - sha256 = "1qvxhk92likrshw6z6hjqxvkblwzgsbzis2b2f71bsvx9174qfk1"; - }) - # Double "MAX_ALLOCATING_THREADS", fix with Go and Octave - # https://github.com/xianyi/OpenBLAS/pull/1663 (see also linked issue) - (fetchpatch { - url = "https://github.com/xianyi/OpenBLAS/commit/a49203b48c4a3d6f86413fc8c4b1fbfaa1946463.patch"; - sha256 = "0v6kjkbgbw7hli6xkism48wqpkypxmcqvxpx564snll049l2xzq2"; - }) - ]; + patches = []; doCheck = true; checkTarget = "tests"; @@ -140,7 +127,7 @@ stdenv.mkDerivation rec { # Write pkgconfig aliases. Upstream report: # https://github.com/xianyi/OpenBLAS/issues/1740 for alias in blas cblas lapack; do - cat <<EOF > $out/lib/pkgconfig/openblas-$alias.pc + cat <<EOF > $out/lib/pkgconfig/$alias.pc Name: $alias Version: ${version} Description: $alias provided by the OpenBLAS package. diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix index 87a337a154dd..04aa9411247e 100644 --- a/pkgs/development/python-modules/autobahn/default.nix +++ b/pkgs/development/python-modules/autobahn/default.nix @@ -21,7 +21,9 @@ buildPythonPackage rec { (stdenv.lib.optionals (!isPy3k) [ trollius futures ]); checkPhase = '' + runHook preCheck USE_TWISTED=true py.test $out + runHook postCheck ''; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix index af8815dbfb1b..c66650c0abf2 100644 --- a/pkgs/development/python-modules/numpy/default.nix +++ b/pkgs/development/python-modules/numpy/default.nix @@ -11,7 +11,8 @@ buildPythonPackage rec { }; disabled = isPyPy; - buildInputs = [ gfortran pytest blas ]; + nativeBuildInputs = [ gfortran pytest ]; + buildInputs = [ blas ]; patches = lib.optionals (python.hasDistutilsCxxPatch or false) [ # We patch cpython/distutils to fix https://bugs.python.org/issue1222585 diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix index 035c70f3995a..d6b966b6df3c 100644 --- a/pkgs/development/python-modules/pyopenssl/default.nix +++ b/pkgs/development/python-modules/pyopenssl/default.nix @@ -11,6 +11,41 @@ , glibcLocales }: +with stdenv.lib; + + +let + # https://github.com/pyca/pyopenssl/issues/791 + # These tests, we disable in the case that libressl is passed in as openssl. + failingLibresslTests = [ + "test_op_no_compression" + "test_npn_advertise_error" + "test_npn_select_error" + "test_npn_client_fail" + "test_npn_success" + "test_use_certificate_chain_file_unicode" + "test_use_certificate_chain_file_bytes" + "test_add_extra_chain_cert" + "test_set_session_id_fail" + "test_verify_with_revoked" + "test_set_notAfter" + "test_set_notBefore" + ]; + + disabledTests = [ + # https://github.com/pyca/pyopenssl/issues/692 + # These tests, we disable always. + "test_set_default_verify_paths" + "test_fallback_default_verify_paths" + ] ++ (optionals (hasPrefix "libressl" openssl.meta.name) failingLibresslTests); + + # Compose the final string expression, including the "-k" and the single quotes. + testExpression = optionalString (disabledTests != []) + "-k 'not ${concatStringsSep " and not " disabledTests}'"; + +in + + buildPythonPackage rec { pname = "pyOpenSSL"; version = "18.0.0"; @@ -22,16 +57,10 @@ buildPythonPackage rec { outputs = [ "out" "dev" ]; - preCheck = '' - sed -i 's/test_set_default_verify_paths/noop/' tests/test_ssl.py - # https://github.com/pyca/pyopenssl/issues/692 - sed -i 's/test_fallback_default_verify_paths/noop/' tests/test_ssl.py - ''; - checkPhase = '' runHook preCheck export LANG="en_US.UTF-8" - py.test + py.test tests ${testExpression} runHook postCheck ''; @@ -43,4 +72,4 @@ buildPythonPackage rec { propagatedBuildInputs = [ cryptography pyasn1 idna ]; checkInputs = [ pytest pretend flaky glibcLocales ]; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index 3770f62f1a5b..6146159ad0ab 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -29,9 +29,11 @@ buildPythonPackage rec { # Remove .pytest_cache when using py.test in a Nix build setupHook = writeText "pytest-hook" '' - postFixupHooks+=( - 'find $out -name .pytest_cache -type d -exec rm -rf {} +' - ) + pytestcachePhase() { + find $out -name .pytest_cache -type d -exec rm -rf {} + + } + + preDistPhases+=" pytestcachePhase" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index d31719efa172..7d56f1990a52 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -42,6 +42,22 @@ in buildPythonPackage rec { export CUDNN_INCLUDE_DIR=${cudnn}/include ''; + preFixup = '' + function join_by { local IFS="$1"; shift; echo "$*"; } + function strip2 { + IFS=':' + read -ra RP <<< $(patchelf --print-rpath $1) + IFS=' ' + RP_NEW=$(join_by : ''${RP[@]:2}) + patchelf --set-rpath \$ORIGIN:''${RP_NEW} "$1" + } + + for f in $(find ''${out} -name 'libcaffe2*.so') + do + strip2 $f + done + ''; + buildInputs = [ cmake numpy.blas @@ -56,7 +72,7 @@ in buildPythonPackage rec { ] ++ lib.optional (pythonOlder "3.5") typing; checkPhase = '' - ${cudaStubEnv}python test/run_test.py --exclude distributed autograd distributions jit sparse torch utils nn + ${cudaStubEnv}python test/run_test.py --exclude dataloader sparse torch utils ''; meta = { diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix index 140e8cc80b4d..5fdffedc6f27 100644 --- a/pkgs/development/python-modules/scipy/default.nix +++ b/pkgs/development/python-modules/scipy/default.nix @@ -10,7 +10,8 @@ buildPythonPackage rec { }; checkInputs = [ nose pytest ]; - buildInputs = [ gfortran numpy.blas ]; + nativeBuildInputs = [ gfortran ]; + buildInputs = [ numpy.blas ]; propagatedBuildInputs = [ numpy ]; # Remove tests because of broken wrapper diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 5734a0f27953..ccc2cf9b4ab5 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ perl gdb ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ]; enableParallelBuilding = true; + separateDebugInfo = stdenv.isLinux; preConfigure = stdenv.lib.optionalString stdenv.isDarwin ( let OSRELEASE = '' diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index b1df54f9bd5c..bb08ae2f3af5 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchFromGitHub, python, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }: +{ stdenv, fetchFromGitHub, python, buildDocs ? true, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, re2c }: + +with stdenv.lib; stdenv.mkDerivation rec { name = "ninja-${version}"; @@ -11,10 +13,11 @@ stdenv.mkDerivation rec { sha256 = "16scq9hcq6c5ap6sy8j4qi75qps1zvrf3p79j1vbrvnqzp928i5f"; }; - nativeBuildInputs = [ python asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin re2c ]; + nativeBuildInputs = [ python ] ++ optionals buildDocs [ asciidoc docbook_xml_dtd_45 docbook_xsl libxslt.bin re2c ]; buildPhase = '' python configure.py --bootstrap + '' + optionalString buildDocs '' # "./ninja -vn manual" output copied here to support cross compilation. asciidoc -b docbook -d book -o build/manual.xml doc/manual.asciidoc xsltproc --nonet doc/docbook.xsl build/manual.xml > doc/manual.html @@ -22,14 +25,15 @@ stdenv.mkDerivation rec { installPhase = '' install -Dm555 -t $out/bin ninja - install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html install -Dm444 misc/bash-completion $out/share/bash-completion/completions/ninja install -Dm444 misc/zsh-completion $out/share/zsh/site-functions/_ninja + '' + optionalString buildDocs '' + install -Dm444 -t $out/share/doc/ninja doc/manual.asciidoc doc/manual.html ''; setupHook = ./setup-hook.sh; - meta = with stdenv.lib; { + meta = { description = "Small build system with a focus on speed"; longDescription = '' Ninja is a small build system with a focus on speed. It differs from diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index 8ec6aec9918e..0213eca30d22 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python, libxml2Python, libxslt, which -, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, dblatex, gettext, itstool +, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool +, withDblatex ? false, dblatex }: stdenv.mkDerivation rec { @@ -20,8 +21,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ pkgconfig perl python libxml2Python libxslt docbook_xml_dtd_43 docbook_xsl - gnome-doc-utils dblatex gettext which itstool - ]; + gnome-doc-utils gettext which itstool + ] ++ stdenv.lib.optional withDblatex dblatex; configureFlags = [ "--disable-scrollkeeper" ]; diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix index 7235af49c2e6..1ae8a32b6405 100644 --- a/pkgs/development/tools/misc/pkgconfig/default.nix +++ b/pkgs/development/tools/misc/pkgconfig/default.nix @@ -19,7 +19,6 @@ stdenv.mkDerivation rec { patches = optional (!vanilla) ./requires-private.patch ++ optional stdenv.isCygwin ./2.36.3-not-win32.patch; - preConfigure = ""; # TODO(@Ericson2314): Remove next mass rebuild buildInputs = optional (stdenv.isCygwin || stdenv.isDarwin || stdenv.isSunOS) libiconv; configureFlags = [ "--with-internal-glib" ] diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix index c6877ed4d1a1..391179e2eb3f 100644 --- a/pkgs/development/tools/misc/texinfo/common.nix +++ b/pkgs/development/tools/misc/texinfo/common.nix @@ -17,8 +17,7 @@ stdenv.mkDerivation rec { inherit sha256; }; - # TODO: fix on mass rebuild - ${if interactive then "patches" else null} = optional (version == "6.5") ./perl.patch; + patches = optional (version == "6.5") ./perl.patch; # We need a native compiler to build perl XS extensions # when cross-compiling. diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch deleted file mode 100644 index a1018d389c14..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/add-cfmachport.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- CF-855.17/CoreFoundation.h 2015-01-03 00:17:41.000000000 -0500 -+++ CF-855.17/CoreFoundation.h.new 2015-01-03 00:18:35.000000000 -0500 -@@ -72,6 +72,7 @@ - #include <CoreFoundation/CFDictionary.h> - #include <CoreFoundation/CFError.h> - #include <CoreFoundation/CFLocale.h> -+#include <CoreFoundation/CFMachPort.h> - #include <CoreFoundation/CFNumber.h> - #include <CoreFoundation/CFNumberFormatter.h> - #include <CoreFoundation/CFPreferences.h> - ---- CF-855.17/Makefile 2015-01-03 00:32:52.000000000 -0500 -+++ CF-855.17/Makefile.new 2015-01-03 00:33:07.000000000 -0500 -@@ -9,7 +9,7 @@ - HFILES = $(wildcard *.h) - INTERMEDIATE_HFILES = $(addprefix $(OBJBASE)/CoreFoundation/,$(HFILES)) - --PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h -+PUBLIC_HEADERS=CFArray.h CFBag.h CFBase.h CFBinaryHeap.h CFBitVector.h CFBundle.h CFByteOrder.h CFCalendar.h CFCharacterSet.h CFData.h CFDate.h CFDateFormatter.h CFDictionary.h CFError.h CFLocale.h CFMachPort.h CFMessagePort.h CFNumber.h CFNumberFormatter.h CFPlugIn.h CFPlugInCOM.h CFPreferences.h CFPropertyList.h CFRunLoop.h CFSet.h CFSocket.h CFStream.h CFString.h CFStringEncodingExt.h CFTimeZone.h CFTree.h CFURL.h CFURLAccess.h CFUUID.h CFUserNotification.h CFXMLNode.h CFXMLParser.h CFAvailability.h CFUtilities.h CoreFoundation.h - - PRIVATE_HEADERS=CFBundlePriv.h CFCharacterSetPriv.h CFError_Private.h CFLogUtilities.h CFPriv.h CFRuntime.h CFStorage.h CFStreamAbstract.h CFStreamPriv.h CFStreamInternal.h CFStringDefaultEncoding.h CFStringEncodingConverter.h CFStringEncodingConverterExt.h CFUniChar.h CFUnicodeDecomposition.h CFUnicodePrecomposition.h ForFoundationOnly.h CFBurstTrie.h CFICULogging.h - diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch deleted file mode 100644 index 068a6311a9cb..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/CFBase.h b/CFBase.h -index ffddd2b..e5a926b 100644 ---- a/CFBase.h -+++ b/CFBase.h -@@ -249,6 +249,33 @@ CF_EXTERN_C_BEGIN - #endif - #endif - -+#if __has_attribute(objc_bridge) && __has_feature(objc_bridge_id) && __has_feature(objc_bridge_id_on_typedefs) -+ -+#ifdef __OBJC__ -+@class NSArray; -+@class NSAttributedString; -+@class NSString; -+@class NSNull; -+@class NSCharacterSet; -+@class NSData; -+@class NSDate; -+@class NSTimeZone; -+@class NSDictionary; -+@class NSError; -+@class NSLocale; -+@class NSNumber; -+@class NSSet; -+@class NSURL; -+#endif -+ -+#define CF_BRIDGED_TYPE(T) __attribute__((objc_bridge(T))) -+#define CF_BRIDGED_MUTABLE_TYPE(T) __attribute__((objc_bridge_mutable(T))) -+#define CF_RELATED_TYPE(T,C,I) __attribute__((objc_bridge_related(T,C,I))) -+#else -+#define CF_BRIDGED_TYPE(T) -+#define CF_BRIDGED_MUTABLE_TYPE(T) -+#define CF_RELATED_TYPE(T,C,I) -+#endif - - CF_EXPORT double kCFCoreFoundationVersionNumber; - - diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix b/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix deleted file mode 100644 index 5589d1592f46..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ stdenv, appleDerivation, ICU, dyld, libdispatch, libplatform, launchd, libclosure }: - -# this project uses blocks, a clang-only extension -assert stdenv.cc.isClang; - -appleDerivation { - buildInputs = [ dyld ICU libdispatch libplatform launchd libclosure ]; - - patches = [ ./add-cfmachport.patch ./cf-bridging.patch ./remove-xpc.patch ]; - - __propagatedImpureHostDeps = [ "/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation" ]; - - preBuild = '' - substituteInPlace Makefile \ - --replace "/usr/bin/clang" "clang" \ - --replace "-arch i386 " "" \ - --replace "/usr/bin/" "" \ - --replace "/usr/sbin/" "" \ - --replace "/bin/" "" \ - --replace "INSTALLNAME=/System" "INSTALLNAME=$out" \ - --replace "install_name_tool -id /System/Library/Frameworks" "install_name_tool -id @rpath" \ - --replace 'chown -RH -f root:wheel $(DSTBASE)/CoreFoundation.framework' "" \ - --replace 'chmod -RH' 'chmod -R' - - # with this file present, CoreFoundation gets a _main symbol defined, which can - # interfere with linking other programs - rm plconvert.c - - replacement=''$'#define __PTK_FRAMEWORK_COREFOUNDATION_KEY5 55\n#define _pthread_getspecific_direct(key) pthread_getspecific((key))\n#define _pthread_setspecific_direct(key, val) pthread_setspecific((key), (val))' - - substituteInPlace CFPlatform.c --replace "#include <pthread/tsd_private.h>" "$replacement" - - substituteInPlace CFRunLoop.c --replace "#include <pthread/private.h>" "" - - substituteInPlace CFURLPriv.h \ - --replace "#include <CoreFoundation/CFFileSecurity.h>" "" \ - --replace "#include <CoreFoundation/CFURLEnumerator.h>" "" \ - --replace "CFFileSecurityRef" "void *" \ - --replace "CFURLEnumeratorResult" "void *" \ - --replace "CFURLEnumeratorRef" "void *" - - export DSTROOT=$out - ''; - - postInstall = '' - mv $out/System/* $out - rmdir $out/System - mv $out/Library/Frameworks/CoreFoundation.framework/Versions/A/PrivateHeaders/* \ - $out/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers - ''; -} diff --git a/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch b/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch deleted file mode 100644 index a7b9fe486434..000000000000 --- a/pkgs/os-specific/darwin/apple-source-releases/CF/remove-xpc.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CFBundlePriv.h b/CFBundlePriv.h -index d4feb5f..e7b52e8 100644 ---- a/CFBundlePriv.h -+++ b/CFBundlePriv.h -@@ -254,12 +254,6 @@ Boolean _CFBundleGetStringsFilesShared(CFBundleRef bundle); - CF_EXPORT - CFURLRef _CFBundleCopyFrameworkURLForExecutablePath(CFStringRef executablePath); - --#if (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) || (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE) --#include <xpc/xpc.h> --CF_EXPORT --void _CFBundleSetupXPCBootstrap(xpc_object_t bootstrap) CF_AVAILABLE(10_10, 8_0); --#endif -- - /* Functions deprecated as SPI */ - - CF_EXPORT diff --git a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix index 89ff68266a29..761ff3ea9252 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/ICU/default.nix @@ -1,8 +1,6 @@ -{ cctools, appleDerivation }: +{ appleDerivation }: appleDerivation { - nativeBuildInputs = [ cctools ]; - patches = [ ./clang-5.patch ]; postPatch = '' diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index e2d62cef1ba4..4fa0c0e3e47f 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -204,7 +204,6 @@ let bootstrap_cmds = applePackage "bootstrap_cmds" "dev-tools-7.0" "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {}; bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {}; CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {}; - CF = applePackage "CF" "osx-10.10.5" "07f5psjxi7wyd13ci4x83ya5hy6p69sjfqcpp2mmxdlhd8yzkf74" {}; CommonCrypto = applePackage "CommonCrypto" "osx-10.11.6" "0vllfpb8f4f97wj2vpdd7w5k9ibnsbr6ff1zslpp6q323h01n25y" {}; configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {}; copyfile = applePackage "copyfile" "osx-10.11.6" "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {}; @@ -216,7 +215,7 @@ let # Splicing is currently broken in Nixpkgs # cctools need to be specified manually here to handle this - ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" { inherit (buildPackages.darwin) cctools; }; + ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {}; IOKit = applePackage "IOKit" "osx-10.11.6" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; }; launchd = applePackage "launchd" "osx-10.9.5" "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {}; diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix index fe68ee78d1f0..714524e8da58 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix @@ -33,7 +33,6 @@ name: version: sha256: args: let pkgs.gnustep.make pkgs.darwin.apple_sdk.frameworks.AppKit pkgs.darwin.apple_sdk.frameworks.Foundation - pkgs.darwin.cf-private ]; makeFlags = [ "-f${makeFile}" diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix index 609d07fda100..724c4788b6cc 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix @@ -39,9 +39,5 @@ appleDerivation { --replace 'return mLoginDLDbIdentifier;' 'return mLoginDLDbIdentifier; }' \ --replace '_xpc_runtime_is_app_sandboxed()' 'false' # hope that doesn't hurt anything - - substituteInPlace lib/KCEventNotifier.h --replace \ - 'CoreFoundation/CFNotificationCenter.h' \ - '${apple_sdk.sdk.out}/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/CFNotificationCenter.h' ''; } diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix index fff6eaaa5c1d..bad17cf6de46 100644 --- a/pkgs/os-specific/darwin/cctools/port.nix +++ b/pkgs/os-specific/darwin/cctools/port.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, autoconf, automake, libtool_2, autoreconfHook -, libcxxabi, libuuid +, libcxxabi, libuuid, llvm , libobjc ? null, maloader ? null , enableDumpNormalizedLibArgs ? false }: @@ -56,7 +56,7 @@ let autoreconfHook ]; buildInputs = [ libuuid ] ++ - stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]; + stdenv.lib.optionals stdenv.isDarwin [ llvm libcxxabi libobjc ]; patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch diff --git a/pkgs/os-specific/darwin/cf-private/default.nix b/pkgs/os-specific/darwin/cf-private/default.nix index 603c0f652b01..3fac20d23c78 100644 --- a/pkgs/os-specific/darwin/cf-private/default.nix +++ b/pkgs/os-specific/darwin/cf-private/default.nix @@ -1,21 +1,59 @@ -{ stdenv, osx_private_sdk, CF }: +{ CF, apple_sdk }: -stdenv.mkDerivation { - name = "${CF.name}-private"; - phases = [ "installPhase" "fixupPhase" ]; - installPhase = '' - dest=$out/Library/Frameworks/CoreFoundation.framework/Headers - mkdir -p $dest - pushd $dest - for file in ${CF}/Library/Frameworks/CoreFoundation.framework/Headers/*; do - ln -sf $file - done - - # Copy or overwrite private headers, some of these might already - # exist in CF but the private versions have more information. - cp -Lfv ${osx_private_sdk}/include/CoreFoundationPrivateHeaders/* $dest - popd - ''; +# cf-private is a bit weird, but boils down to CF with a weird setup-hook that +# makes a build link against the system CoreFoundation rather than our pure one. +# The reason it exists is that although our CF headers and build are pretty legit +# now, the underlying runtime is quite different. Apple's in a bit of flux around CF +# right now, and support three different backends for it: swift, "C", and an ObjC +# one. The former two can be built from public sources, but the ObjC one isn't really +# public. Unfortunately, it's also one of the core underpinnings of a lot of Mac- +# specific behavior, and defines a lot of symbols that some Objective C apps depend +# on, even though one might expect those symbols to derive from Foundation. So if +# your app relies on NSArray and several other basic ObjC types, it turns out that +# because of their magic "toll-free bridging" support, the symbols for those types +# live in CoreFoundation with an ObjC runtime. And because that isn't public, we have +# this hack in place to let people link properly anyway. Phew! +# +# This can be revisited if Apple ever decide to release the ObjC backend in a publicly +# buildable form. +# +# This doesn't really need to rebuild CF, but it's cheap, and adding a setup hook to +# an existing package was annoying. We need a buildEnv that knows how to add those +CF.overrideAttrs (orig: { + # PLEASE if you add things to this derivation, explain in reasonable detail why + # you're adding them and when the workaround can go away. This whole derivation is + # a workaround and if you don't explain what you're working around, it makes it + # very hard for people to clean it up later. + name = "${orig.name}-private"; setupHook = ./setup-hook.sh; -} + + # TODO: consider re-adding https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/darwin/apple-source-releases/CF/cf-bridging.patch + # once the missing headers are in and see if that fixes all need for this. + + # This can go away once https://bugs.swift.org/browse/SR-8741 happens, which is + # looking more likely these days with the friendly people at Apple! We only need + # the header because the setup hook takes care of linking us against a version + # of the framework with the functionality built into it. The main user I know of + # this is watchman, who can almost certainly switch to the pure CF once the header + # and functionality is merged in. + installPhase = orig.installPhase + '' + basepath="Library/Frameworks/CoreFoundation.framework/Headers" + path="$basepath/CFFileDescriptor.h" + + # Append the include at top level or nobody will notice the header we're about to add + sed -i '/CFNotificationCenter.h/a #include <CoreFoundation/CFFileDescriptor.h>' \ + "$out/$basepath/CoreFoundation.h" + + cp ${apple_sdk.frameworks.CoreFoundation}/$path $out/$path + '' + + # This one is less likely to go away, but I'll mention it anyway. The issue is at + # https://bugs.swift.org/browse/SR-8744, and the main user I know of is qtbase + '' + path="$basepath/CFURLEnumerator.h" + sed -i '/CFNotificationCenter.h/a #include <CoreFoundation/CFURLEnumerator.h>' \ + "$out/$basepath/CoreFoundation.h" + + cp ${apple_sdk.frameworks.CoreFoundation}/$path $out/$path + ''; +}) \ No newline at end of file diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 1dea55cccc9e..f819429f4deb 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix @@ -14,11 +14,12 @@ in stdenv.mkDerivation { src = fetchFromGitHub { owner = "apple"; repo = "swift-corelibs-foundation"; - rev = "85c640e7ce50e6ca61a134c72270e214bc63fdba"; # https://github.com/apple/swift-corelibs-foundation/pull/1686 - sha256 = "0z2v278wy7jh0c92g1dszd8hj8naxari660sqx6yab5dwapd46qc"; + rev = "71aaba20e1450a82c516af1342fe23268e15de0a"; + sha256 = "17kpql0f27xxz4jjw84vpas5f5sn4vdqwv10g151rc3rswbwln1z"; }; - buildInputs = [ ninja python libxml2 objc4 ICU curl ]; + nativeBuildInputs = [ ninja python ]; + buildInputs = [ libxml2 objc4 ICU curl ]; sourceRoot = "source/CoreFoundation"; @@ -31,8 +32,7 @@ in stdenv.mkDerivation { # 3. Use the legit CoreFoundation.h, not the one telling you not to use it because of Swift substituteInPlace build.py \ --replace "cf.CFLAGS += '-DDEPLOYMENT" '#' \ - --replace "cf.LDFLAGS += '-ldispatch" '#' \ - --replace "Base.subproj/SwiftRuntime/CoreFoundation.h" 'Base.subproj/CoreFoundation.h' + --replace "cf.LDFLAGS += '-ldispatch" '#' # Includes xpc for some initialization routine that they don't define anyway, so no harm here substituteInPlace PlugIn.subproj/CFBundlePriv.h \ @@ -53,8 +53,11 @@ in stdenv.mkDerivation { BUILD_DIR = "./Build"; CFLAGS = "-DINCLUDE_OBJC -I${libxml2.dev}/include/libxml2"; # They seem to assume we include objc in some places and not in others, make a PR; also not sure why but libxml2 include path isn't getting picked up from buildInputs - LDFLAGS = "-install_name ${placeholder "out"}/Frameworks/CoreFoundation.framework/CoreFoundation -current_version 1234.56.7 -compatibility_version 150.0.0 -init ___CFInitialize"; - configurePhase = "../configure --sysroot unused"; + + # I'm guessing at the version here. https://github.com/apple/swift-corelibs-foundation/commit/df3ec55fe6c162d590a7653d89ad669c2b9716b1 imported "high sierra" + # and this version is a version from there. No idea how accurate it is. + LDFLAGS = "-current_version 1454.90.0 -compatibility_version 150.0.0 -init ___CFInitialize"; + configurePhase = "../configure release --sysroot UNUSED"; enableParallelBuilding = true; buildPhase = "ninja -j $NIX_BUILD_CORES"; @@ -66,6 +69,12 @@ in stdenv.mkDerivation { mkdir -p $base/Versions/A/{Headers,PrivateHeaders,Modules} cp ./Build/CoreFoundation/libCoreFoundation.dylib $base/Versions/A/CoreFoundation + + # Note that this could easily live in the ldflags above as `-install_name @rpath/...` but + # https://github.com/NixOS/nixpkgs/issues/46434 thwarts that, so for now I'm hacking it up + # after the fact. + install_name_tool -id '@rpath/CoreFoundation.framework/Versions/A/CoreFoundation' $base/Versions/A/CoreFoundation + cp ./Build/CoreFoundation/usr/include/CoreFoundation/*.h $base/Versions/A/Headers cp ./Build/CoreFoundation/usr/include/CoreFoundation/module.modulemap $base/Versions/A/Modules diff --git a/pkgs/os-specific/darwin/swift-corelibs/default.nix b/pkgs/os-specific/darwin/swift-corelibs/default.nix deleted file mode 100644 index 0d96b8fd008e..000000000000 --- a/pkgs/os-specific/darwin/swift-corelibs/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ callPackage, darwin }: - -rec { - corefoundation = callPackage ./corefoundation.nix { inherit (darwin) objc4 ICU; }; - libdispatch = callPackage ./libdispatch.nix { - inherit (darwin) apple_sdk_sierra xnu; - }; -} diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix index 13135844aa7a..8f81ec4918ed 100644 --- a/pkgs/os-specific/linux/iproute/default.nix +++ b/pkgs/os-specific/linux/iproute/default.nix @@ -16,6 +16,8 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace " netem " " " ''; + outputs = [ "out" "dev"]; + makeFlags = [ "DESTDIR=" "LIBDIR=$(out)/lib" @@ -23,7 +25,7 @@ stdenv.mkDerivation rec { "MANDIR=$(out)/share/man" "BASH_COMPDIR=$(out)/share/bash-completion/completions" "DOCDIR=$(TMPDIR)/share/doc/${name}" # Don't install docs - "HDRDIR=$(TMPDIR)/include/iproute2" # Don't install headers + "HDRDIR=$(dev)/include/iproute2" ]; buildFlags = [ diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index 09fa4fbfd3a7..23dcbb05f30a 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -3,7 +3,7 @@ }: let - common = { version, sha256, patches ? null }: stdenvNoCC.mkDerivation { + common = { version, sha256, patches ? [] }: stdenvNoCC.mkDerivation { name = "linux-headers-${version}"; src = fetchurl { @@ -20,8 +20,6 @@ let extraIncludeDirs = lib.optional stdenvNoCC.hostPlatform.isPowerPC ["ppc"]; - # "patches" array defaults to 'null' to avoid changing hash - # and causing mass rebuild inherit patches; buildPhase = '' @@ -45,7 +43,7 @@ let in { linuxHeaders = common { - version = "4.15"; - sha256 = "0sd7l9n9h7vf9c6gd6ciji28hawda60yj0llh17my06m0s4lf9js"; + version = "4.18.3"; + sha256 = "1m23hjd02bg8mqnd8dc4z4m3kxds1cyrc6j5saiwnhzbz373rvc1"; }; } diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 96c82a6d9f88..db64b8e6f6de 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -26,8 +26,8 @@ in stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "NixOS"; repo = "systemd"; - rev = "21efe60844fda21039c052442076dabcf8643a90"; - sha256 = "0aqifjsb0kaxnqy5nlmzvyzgfd99lm60k1494lbnnk8ahdh8ab07"; + rev = "31859ddd35fc3fa82a583744caa836d356c31d7f"; + sha256 = "1xci0491j95vdjgs397n618zii3sgwnvanirkblqqw6bcvcjvir1"; }; outputs = [ "out" "lib" "man" "dev" ]; diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 5bd35b509ad8..06dd540a4818 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1136,11 +1136,11 @@ let }) // {inherit ;}; libxcb = (mkDerivation "libxcb" { - name = "libxcb-1.12"; + name = "libxcb-1.13"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2; - sha256 = "0nvv0la91cf8p5qqlb3r5xnmg1jn2wphn4fb5jfbr6byqsvv3psa"; + url = http://xcb.freedesktop.org/dist/libxcb-1.13.tar.bz2; + sha256 = "1ahxhmdqp4bhb90zmc275rmf5wixqra4bnw9pqnzyl1w3598g30q"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; @@ -1448,11 +1448,11 @@ let }) // {inherit ;}; xcbproto = (mkDerivation "xcbproto" { - name = "xcb-proto-1.12"; + name = "xcb-proto-1.13"; builder = ./builder.sh; src = fetchurl { - url = http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2; - sha256 = "01j91946q8f34l1mbvmmgvyc393sm28ym4lxlacpiav4qsjan8jr"; + url = http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2; + sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ python ]; diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list index 28b698bdc816..222a9f654266 100644 --- a/pkgs/servers/x11/xorg/extra.list +++ b/pkgs/servers/x11/xorg/extra.list @@ -1,6 +1,6 @@ http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2 -http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2 -http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2 +http://xcb.freedesktop.org/dist/libxcb-1.13.tar.bz2 +http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2 http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2 diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 6d224e4cc44f..5fb410b64ebd 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -88,7 +88,6 @@ in rec { extraPackages = lib.optional (libcxx != null) libcxx; nativeTools = false; - propagateDoc = false; nativeLibc = false; inherit buildPackages coreutils gnugrep bintools; libc = last.pkgs.darwin.Libsystem; @@ -198,6 +197,10 @@ in rec { CF = null; # use CoreFoundation from bootstrap-tools configd = null; }; + python2 = self.python; + + ninja = super.ninja.override { buildDocs = false; }; + darwin = super.darwin // { cctools = super.darwin.cctools.override { llvm = null; }; }; }; in with prevStage; stageFun 1 prevStage { extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\""; @@ -217,11 +220,12 @@ in rec { zlib patchutils m4 scons flex perl bison unifdef unzip openssl python libxml2 gettext sharutils gmp libarchive ncurses pkg-config libedit groff openssh sqlite sed serf openldap db cyrus-sasl expat apr-util subversion xz - findfreetype libssh curl cmake autoconf automake libtool ed cpio coreutils; + findfreetype libssh curl cmake autoconf automake libtool ed cpio coreutils + libssh2 nghttp2 libkrb5 python2 ninja; darwin = super.darwin // { inherit (darwin) - dyld Libsystem xnu configd ICU libdispatch libclosure launchd; + dyld Libsystem xnu configd ICU libdispatch libclosure launchd CF; }; }; in with prevStage; stageFun 2 prevStage { @@ -235,7 +239,10 @@ in rec { allowedRequisites = [ bootstrapTools ] ++ - (with pkgs; [ xz.bin xz.out libcxx libcxxabi ]) ++ + (with pkgs; [ + xz.bin xz.out libcxx libcxxabi zlib libxml2.out curl.out openssl.out libssh2.out + nghttp2.lib libkrb5 + ]) ++ (with pkgs.darwin; [ dyld Libsystem CF ICU locale ]); overrides = persistent; @@ -247,9 +254,10 @@ in rec { patchutils m4 scons flex perl bison unifdef unzip openssl python gettext sharutils libarchive pkg-config groff bash subversion openssh sqlite sed serf openldap db cyrus-sasl expat apr-util - findfreetype libssh curl cmake autoconf automake libtool cpio; + findfreetype libssh curl cmake autoconf automake libtool cpio + libssh2 nghttp2 libkrb5 python2 ninja; - # Avoid pulling in a full python and it's extra dependencies for the llvm/clang builds. + # Avoid pulling in a full python and its extra dependencies for the llvm/clang builds. libxml2 = super.libxml2.override { pythonSupport = false; }; llvmPackages_5 = super.llvmPackages_5 // (let @@ -281,7 +289,10 @@ in rec { allowedRequisites = [ bootstrapTools ] ++ - (with pkgs; [ xz.bin xz.out bash libcxx libcxxabi ]) ++ + (with pkgs; [ + xz.bin xz.out bash libcxx libcxxabi zlib libxml2.out curl.out openssl.out libssh2.out + nghttp2.lib libkrb5 + ]) ++ (with pkgs.darwin; [ dyld ICU Libsystem locale ]); overrides = persistent; @@ -292,7 +303,7 @@ in rec { inherit gnumake gzip gnused bzip2 gawk ed xz patch bash ncurses libffi zlib gmp pcre gnugrep - coreutils findutils diffutils patchutils; + coreutils findutils diffutils patchutils ninja; # Hack to make sure we don't link ncurses in bootstrap tools. The proper # solution is to avoid passing -L/nix-store/...-bootstrap-tools/lib, @@ -312,8 +323,14 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); - darwin = super.darwin // { + darwin = super.darwin // rec { inherit (darwin) dyld Libsystem libiconv locale; + + libxml2-nopython = super.libxml2.override { pythonSupport = false; }; + CF = super.darwin.CF.override { + libxml2 = libxml2-nopython; + python = prevStage.python; + }; }; }; in with prevStage; stageFun 4 prevStage { @@ -345,6 +362,17 @@ in rec { }); in { inherit tools libraries; } // tools // libraries); + # N.B: the important thing here is to ensure that python == python2 + # == python27 or you get weird issues with inconsistent package sets. + # In a particularly subtle bug, I overrode python2 instead of python27 + # here, and it caused gnome-doc-utils to complain about: + # "PyThreadState_Get: no current thread". This is because Python gets + # really unhappy if you have Python A which loads a native python lib + # which was linked against Python B, which in our case was happening + # because we didn't override python "deeply enough". Anyway, this works + # and I'm just leaving this blurb here so people realize why it matters + python27 = super.python27.override { CF = prevStage.darwin.CF; }; + darwin = super.darwin // { inherit (darwin) dyld ICU Libsystem libiconv; } // lib.optionalAttrs (super.stdenv.targetPlatform == localSystem) { @@ -398,9 +426,10 @@ in rec { gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext binutils.bintools darwin.binutils darwin.binutils.bintools + curl.out openssl.out libssh2.out nghttp2.lib libkrb5 cc.expand-response-params ]) ++ (with pkgs.darwin; [ - dyld Libsystem CF cctools ICU libiconv locale + dyld Libsystem CF cctools ICU libiconv locale libxml2-nopython.out ]); overrides = lib.composeExtensions persistent (self: super: { diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index 66c5f419f2f6..eee3b1ce0759 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -3,7 +3,7 @@ with import pkgspath { inherit system; }; let - llvmPackages = llvmPackages_4; + llvmPackages = llvmPackages_5; in rec { coreutils_ = coreutils.override (args: { # We want coreutils without ACL support. @@ -12,6 +12,10 @@ in rec { singleBinary = false; }); + # We want a version of cctools without LLVM, because the LTO support ends up making + # the bootstrap tools huge and isn't really necessary for bootstrap + cctools_ = darwin.cctools.override { llvm = null; }; + # Avoid debugging larger changes for now. bzip2_ = bzip2.override (args: { linkStatic = true; }); @@ -73,6 +77,7 @@ in rec { cp -d ${gettext}/lib/libintl*.dylib $out/lib chmod +x $out/lib/libintl*.dylib cp -d ${ncurses.out}/lib/libncurses*.dylib $out/lib + cp -d ${libxml2.out}/lib/libxml2*.dylib $out/lib # Copy what we need of clang cp -d ${llvmPackages.clang-unwrapped}/bin/clang $out/bin @@ -94,7 +99,7 @@ in rec { # Copy binutils. for i in as ld ar ranlib nm strip otool install_name_tool dsymutil lipo; do - cp ${darwin.cctools}/bin/$i $out/bin + cp ${cctools_}/bin/$i $out/bin done cp -rd ${pkgs.darwin.CF}/Library $out @@ -104,9 +109,9 @@ in rec { nuke-refs $out/bin/* rpathify() { - local libs=$(${darwin.cctools}/bin/otool -L "$1" | tail -n +2 | grep -o "$NIX_STORE.*-\S*") || true + local libs=$(${cctools_}/bin/otool -L "$1" | tail -n +2 | grep -o "$NIX_STORE.*-\S*") || true for lib in $libs; do - ${darwin.cctools}/bin/install_name_tool -change $lib "@rpath/$(basename $lib)" "$1" + ${cctools_}/bin/install_name_tool -change $lib "@rpath/$(basename $lib)" "$1" done } diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index c663c3743ed6..2db40fc43e36 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -225,6 +225,8 @@ rec { inherit doCheck doInstallCheck; inherit outputs; + } // lib.optionalAttrs (attrs.enableParallelBuilding or false) { + enableParallelChecking = attrs.enableParallelChecking or true; } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) { NIX_HARDENING_ENABLE = enabledHardeningOptions; } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) { diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 141e94c5ed46..8af369b1d17d 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -211,7 +211,7 @@ isELF() { exec {fd}< "$fn" read -r -n 4 -u "$fd" magic exec {fd}<&- - if [[ "$magic" =~ ELF ]]; then return 0; else return 1; fi + if [ "$magic" = $'\177ELF' ]; then return 0; else return 1; fi } # Return success if the specified file is a script (i.e. starts with @@ -257,9 +257,17 @@ shopt -s nullglob # Set up the initial path. PATH= +HOST_PATH= for i in $initialPath; do if [ "$i" = / ]; then i=; fi addToSearchPath PATH "$i/bin" + + # For backward compatibility, we add initial path to HOST_PATH so + # it can be used in auto patch-shebangs. Unfortunately this will + # not work with cross compilation. + if [ -z "${strictDeps-}" ]; then + addToSearchPath HOST_PATH "$i/bin" + fi done if (( "${NIX_DEBUG:-0}" >= 1 )); then @@ -272,7 +280,6 @@ if [ -z "${SHELL:-}" ]; then echo "SHELL not set"; exit 1; fi BASH="$SHELL" export CONFIG_SHELL="$SHELL" - # Dummy implementation of the paxmark function. On Linux, this is # overwritten by paxctl's setup hook. paxmark() { true; } @@ -1044,7 +1051,7 @@ checkPhase() { # Old bash empty array hack # shellcheck disable=SC2086 local flagsArray=( - ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} + ${enableParallelChecking:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} ${checkFlags:-VERBOSE=y} ${checkFlagsArray+"${checkFlagsArray[@]}"} ${checkTarget} @@ -1176,7 +1183,7 @@ installCheckPhase() { # Old bash empty array hack # shellcheck disable=SC2086 local flagsArray=( - ${enableParallelBuilding:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} + ${enableParallelChecking:+-j${NIX_BUILD_CORES} -l${NIX_BUILD_CORES}} $makeFlags ${makeFlagsArray+"${makeFlagsArray[@]}"} $installCheckFlags ${installCheckFlagsArray+"${installCheckFlagsArray[@]}"} ${installCheckTarget:-installcheck} diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix index 08703b6934e5..978beea692c6 100644 --- a/pkgs/stdenv/linux/default.nix +++ b/pkgs/stdenv/linux/default.nix @@ -92,7 +92,6 @@ let else lib.makeOverridable (import ../../build-support/cc-wrapper) { name = "${name}-gcc-wrapper"; nativeTools = false; - propagateDoc = false; nativeLibc = false; buildPackages = lib.optionalAttrs (prevStage ? stdenv) { inherit (prevStage) stdenv; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix index 4fc9999b538c..59ded9d81108 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix @@ -112,8 +112,8 @@ in with pkgs; rec { cp -d ${gcc.cc.out}/bin/gcc $out/bin cp -d ${gcc.cc.out}/bin/cpp $out/bin cp -d ${gcc.cc.out}/bin/g++ $out/bin - cp -d ${gcc.cc.lib}/lib*/libgcc_s.so* $out/lib - cp -d ${gcc.cc.lib}/lib*/libstdc++.so* $out/lib + cp -d ${gcc.cc.lib}/lib/libgcc_s.so* $out/lib + cp -d ${gcc.cc.lib}/lib/libstdc++.so* $out/lib cp -rd ${gcc.cc.out}/lib/gcc $out/lib chmod -R u+w $out/lib rm -f $out/lib/gcc/*/*/include*/linux diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 24255f3f6555..24948ce9aa4e 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -29,4 +29,6 @@ with pkgs; macOSSierraShared = callPackage ./macos-sierra-shared {}; cross = callPackage ./cross {}; + + patch-shebangs = callPackage ./patch-shebangs {}; } diff --git a/pkgs/test/patch-shebangs/default.nix b/pkgs/test/patch-shebangs/default.nix new file mode 100644 index 000000000000..a82e5e1e1982 --- /dev/null +++ b/pkgs/test/patch-shebangs/default.nix @@ -0,0 +1,26 @@ +{ stdenv, runCommand }: + +let + bad-shebang = stdenv.mkDerivation { + name = "bad-shebang"; + unpackPhase = ":"; + installPhase = '' + mkdir -p $out/bin + echo "#!/bin/sh" > $out/bin/test + echo "echo -n hello" >> $out/bin/test + chmod +x $out/bin/test + ''; + }; +in runCommand "patch-shebangs-test" { + passthru = { inherit bad-shebang; }; + meta.platforms = stdenv.lib.platforms.all; +} '' + printf "checking whether patchShebangs works properly... ">&2 + if ! grep -q '^#!/bin/sh' ${bad-shebang}/bin/test; then + echo "yes" >&2 + touch $out + else + echo "no" >&2 + exit 1 + fi +'' \ No newline at end of file diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index e2b87007b09f..168bf7d076ce 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages, fetchurl, pkgconfig, libuuid, gettext, texinfo, perl }: +{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo, perl }: stdenv.mkDerivation rec { name = "e2fsprogs-1.44.4"; @@ -15,8 +15,14 @@ stdenv.mkDerivation rec { buildInputs = [ libuuid gettext ]; # Only use glibc's __GNUC_PREREQ(X,Y) (checks if compiler is gcc version >= X.Y) when using glibc - NIX_CFLAGS_COMPILE = stdenv.lib.optional (stdenv.hostPlatform.libc != "glibc") - "-D__GNUC_PREREQ(maj,min)=0"; + patches = if stdenv.hostPlatform.libc == "glibc" then null + else [ + (fetchpatch { + url = "https://raw.githubusercontent.com/void-linux/void-packages/1f3b51493031cc0309009804475e3db572fc89ad/srcpkgs/e2fsprogs/patches/fix-glibcism.patch"; + sha256 = "1q7y8nhsfwl9r1q7nhrlikazxxj97p93kgz5wh7723cshlji2vaa"; + extraPrefix = ""; + }) + ]; configureFlags = if stdenv.isLinux then [ diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 3d1c7145698c..582f8d8f05f9 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -16,11 +16,11 @@ assert selinuxSupport -> libselinux != null && libsepol != null; with lib; stdenv.mkDerivation rec { - name = "coreutils-8.29"; + name = "coreutils-8.30"; src = fetchurl { url = "mirror://gnu/coreutils/${name}.tar.xz"; - sha256 = "0plm1zs9il6bb5mk881qvbghq4glc8ybbgakk2lfzb0w64fgml4j"; + sha256 = "0mxhw43d4wpqmvg0l4znk1vm10fy92biyh90lzdnqjcic2lb6cg8"; }; patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch; @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { sed '2i echo Skipping rm deep-2 test && exit 0' -i ./tests/rm/deep-2.sh sed '2i echo Skipping du long-from-unreadable test && exit 0' -i ./tests/du/long-from-unreadable.sh sed '2i echo Skipping chmod setgid test && exit 0' -i ./tests/chmod/setgid.sh + sed '2i print "Skipping env -S test"; exit 0;' -i ./tests/misc/env-S.pl substituteInPlace ./tests/install/install-C.sh \ --replace 'mode3=2755' 'mode3=1755' ''; diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index d6eca100411b..d19117d4dcda 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -10,7 +10,14 @@ stdenv.mkDerivation rec { sha256 = "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y"; }; - patches = [ ./memory-leak.patch ./no-install-statedir.patch ]; + patches = [ + ./memory-leak.patch + ./no-install-statedir.patch + + # Prevent tests from failing on old kernels (2.6x) + # getdtablesize reports incorrect values if getrlimit() fails + ./disable-getdtablesize-test.patch + ]; buildInputs = [ coreutils ]; # bin/updatedb script needs to call sort diff --git a/pkgs/tools/misc/findutils/disable-getdtablesize-test.patch b/pkgs/tools/misc/findutils/disable-getdtablesize-test.patch new file mode 100644 index 000000000000..611df364b687 --- /dev/null +++ b/pkgs/tools/misc/findutils/disable-getdtablesize-test.patch @@ -0,0 +1,25 @@ +diff --git a/tests/test-dup2.c b/tests/test-dup2.c +--- a/tests/test-dup2.c ++++ b/tests/test-dup2.c +@@ -157,8 +157,6 @@ main (void) + ASSERT (close (255) == 0); + ASSERT (close (256) == 0); + } +- ASSERT (dup2 (fd, bad_fd - 1) == bad_fd - 1); +- ASSERT (close (bad_fd - 1) == 0); + errno = 0; + ASSERT (dup2 (fd, bad_fd) == -1); + ASSERT (errno == EBADF); +diff --git a/tests/test-getdtablesize.c b/tests/test-getdtablesize.c +index a0325af..a83f8ec 100644 +--- a/tests/test-getdtablesize.c ++++ b/tests/test-getdtablesize.c +@@ -29,8 +29,6 @@ int + main (int argc, char *argv[]) + { + ASSERT (getdtablesize () >= 3); +- ASSERT (dup2 (0, getdtablesize() - 1) == getdtablesize () - 1); +- ASSERT (dup2 (0, getdtablesize()) == -1); + + return 0; + } diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index 7af5e12081b6..11a9cd4ff87a 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -8,12 +8,12 @@ stdenv.mkDerivation rec { sha256 = "0jjs7fpvdjjb5v0j39a6k7hq9h5ap3db1j7vg1r2dq4swk23h9bm"; }; - nativeBuildInputs = [ makeWrapper perl ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perl procps ]; postInstall = '' wrapProgram $out/bin/parallel \ - --prefix PATH : "${procps}/bin" \ - --prefix PATH : "${perl}/bin" \ + --prefix PATH : "${stdenv.lib.makeBinPath [ procps perl ]}" ''; doCheck = true; diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index d42cdcd4a347..dda97d34d869 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -24,14 +24,14 @@ assert brotliSupport -> brotli != null; assert gssSupport -> kerberos != null; stdenv.mkDerivation rec { - name = "curl-7.61.0"; + name = "curl-7.61.1"; src = fetchurl { urls = [ "https://curl.haxx.se/download/${name}.tar.bz2" "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2" ]; - sha256 = "173ccmnnr4qcawzgn7vm0ciyzphanzghigdgavg88nyg45lk6vsz"; + sha256 = "1f8rljpa98g7ry7qyvv6657cmvgrwmam9mdbjklv45lspiykf253"; }; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index a03d2a123932..fa025a2ec89e 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ udev ]; + buildInputs = [ + udev + runtimeShellPackage # So patchShebangs finds a bash suitable for the installed scripts + ]; preConfigure = "patchShebangs ./configure"; @@ -29,11 +32,6 @@ stdenv.mkDerivation rec { # Check that the udev plugin got built. postInstall = stdenv.lib.optional (udev != null) "[ -e $out/lib/dhcpcd/dev/udev.so ]"; - # TODO shlevy remove once patchShebangs is fixed - postFixup = '' - find $out -type f -print0 | xargs --null sed -i 's|${stdenv.shellPackage}|${runtimeShellPackage}|' - ''; - meta = with stdenv.lib; { description = "A client for the Dynamic Host Configuration Protocol (DHCP)"; homepage = https://roy.marples.name/projects/dhcpcd; diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix index 22d7e93fe476..27f2ca04d710 100644 --- a/pkgs/tools/security/rhash/default.nix +++ b/pkgs/tools/security/rhash/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, which }: stdenv.mkDerivation rec { - version = "2018-02-05"; + version = "1.3.6"; name = "rhash-${version}"; src = fetchFromGitHub { owner = "rhash"; repo = "RHash"; - rev = "cc26d54ff5df0f692907a5e3132a5eeca559ed61"; - sha256 = "1ldagp931lmxxpyvsb9rrar4iqwmv94m6lfjzkbkshpmk3p5ng7h"; + rev = "v${version}"; + sha256 = "1c8gngjj34ylx1f56hjbvml22bif0bx1b88dx2cyxbix8praxqh7"; }; nativeBuildInputs = [ which ]; diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 338afb7b3e17..d7344884951c 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -23,8 +23,6 @@ stdenv.mkDerivation rec { outputs = [ "out" "geoip" ]; - enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libevent openssl zlib ] ++ stdenv.lib.optionals stdenv.isLinux [ libseccomp systemd libcap ]; @@ -37,14 +35,17 @@ stdenv.mkDerivation rec { --replace 'exec torsocks' 'exec ${torsocks}/bin/torsocks' ''; + enableParallelBuilding = true; + enableParallelChecking = false; # 4 tests fail randomly + + doCheck = true; + postInstall = '' mkdir -p $geoip/share/tor mv $out/share/tor/geoip{,6} $geoip/share/tor rm -rf $out/share/tor ''; - doCheck = true; - passthru.updateScript = import ./update.nix { inherit (stdenv) lib; inherit diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index 53fac978ebb0..73d8b6d0edb6 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -2,7 +2,7 @@ , texlive , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext -, perl, pkgconfig +, perl, pkgconfig, autoreconfHook , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr , cairo, pixman, xorg, clisp, biber , makeWrapper @@ -32,7 +32,15 @@ let url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.64.patch?h=packages/texlive-bin; sha256 = "0443d074zl3c5raba8jyhavish706arjcd80ibb84zwnwck4ai0w"; }) + (fetchurl { + name = "synctex-missing-header.patch"; + url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/synctex-missing-header.patch?h=packages/texlive-bin&id=da56abf0f8a1e85daca0ec0f031b8fa268519e6b; + sha256 = "1c4aq8lk8g3mlfq3mdjnxvmhss3qs7nni5rmw0k054dmj6q1xj5n"; + }) ]; + # remove when removing synctex-missing-header.patch + preAutoreconf = "pushd texk/web2c"; + postAutoreconf = "popd"; configureFlags = [ "--with-banner-add=/NixOS.org" @@ -64,11 +72,11 @@ texliveYear = year; core = stdenv.mkDerivation rec { name = "texlive-bin-${version}"; - inherit (common) src patches; + inherit (common) src patches preAutoreconf postAutoreconf; outputs = [ "out" "doc" ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ /*teckit*/ zziplib poppler mpfr gmp pixman potrace gd freetype libpng libpaper zlib @@ -101,7 +109,6 @@ core = stdenv.mkDerivation rec { "xetex" "bibtexu" "bibtex8" "bibtex-x" "upmendex" # ICU isn't small ] ++ stdenv.lib.optional (stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) "mfluajit") ++ [ "--without-system-harfbuzz" "--without-system-icu" ] # bogus configure - ; enableParallelBuilding = true; @@ -165,7 +172,7 @@ inherit (core-big) metafont metapost luatex xetex; core-big = stdenv.mkDerivation { #TODO: upmendex name = "texlive-core-big.bin-${version}"; - inherit (common) src patches; + inherit (common) src patches preAutoreconf postAutoreconf; hardeningDisable = [ "format" ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e1a4dbb805e2..7b7534d8ee4b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8877,7 +8877,6 @@ with pkgs; valgrind = callPackage ../development/tools/analysis/valgrind { inherit (darwin) xnu bootstrap_cmds cctools; - llvm = llvm_39; }; valgrind-light = self.valgrind.override { gdb = null; }; @@ -11246,37 +11245,32 @@ with pkgs; ## libGL/libGLU/Mesa stuff # Default libGL implementation, should provide headers and libGL.so/libEGL.so/... to link agains them - libGL = libGLDarwinOr mesa_noglu.stubs; + libGL = mesa_noglu.stubs; # Default libGLU - libGLU = libGLDarwinOr mesa_glu; + libGLU = mesa_glu; # Combined derivation, contains both libGL and libGLU # Please, avoid using this attribute. It was meant as transitional hack # for packages that assume that libGLU and libGL live in the same prefix. # libGLU_combined propagates both libGL and libGLU - libGLU_combined = libGLDarwinOr (buildEnv { + libGLU_combined = buildEnv { name = "libGLU-combined"; paths = [ libGL libGLU ]; extraOutputsToInstall = [ "dev" ]; - }); + }; # Default derivation with libGL.so.1 to link into /run/opengl-drivers (if need) - libGL_driver = libGLDarwinOr mesa_drivers; + libGL_driver = mesa_drivers; libGLSupported = lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms; - libGLDarwin = callPackage ../development/libraries/mesa-darwin { - inherit (darwin.apple_sdk.frameworks) OpenGL; - inherit (darwin.apple_sdk.libs) Xplugin; - inherit (darwin) apple_sdk; - }; - - libGLDarwinOr = alternative: if stdenv.isDarwin then libGLDarwin else alternative; - mesa_noglu = callPackage ../development/libraries/mesa { llvmPackages = llvmPackages_6; + inherit (darwin.apple_sdk.frameworks) OpenGL; + inherit (darwin.apple_sdk.libs) Xplugin; }; + mesa = mesa_noglu; mesa_glu = callPackage ../development/libraries/mesa-glu { }; diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index b0c82508c114..3bf7c31b7008 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -31,10 +31,7 @@ in libcxxabi = pkgs.libcxxabi; }; - cf-private = callPackage ../os-specific/darwin/cf-private { - inherit (apple-source-releases) CF; - inherit (darwin) osx_private_sdk; - }; + cf-private = callPackage ../os-specific/darwin/cf-private { inherit (darwin) CF apple_sdk; }; DarwinTools = callPackage ../os-specific/darwin/DarwinTools { }; @@ -76,7 +73,10 @@ in CoreSymbolication = callPackage ../os-specific/darwin/CoreSymbolication { }; - swift-corelibs = callPackages ../os-specific/darwin/swift-corelibs { }; + CF = callPackage ../os-specific/darwin/swift-corelibs/corefoundation.nix { inherit (darwin) objc4 ICU; }; + + # As the name says, this is broken, but I don't want to lose it since it's a direction we want to go in + # libdispatch-broken = callPackage ../os-specific/darwin/swift-corelibs/libdispatch.nix { inherit (darwin) apple_sdk_sierra xnu; }; darling = callPackage ../os-specific/darwin/darling/default.nix { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f1db293cbe9d..56a59b04b5b9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -165,10 +165,10 @@ let }; AnyEventHTTP = buildPerlPackage rec { - name = "AnyEvent-HTTP-2.23"; + name = "AnyEvent-HTTP-2.24"; src = fetchurl { url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz"; - sha256 = "2e3376d03bfa5f172f43d4c615ba496281c9ffe3093a828c539683e17e2fbbcb"; + sha256 = "0358a542baa45403d81c0a70e43e79c044ddfa1371161d043f002acef63121dd"; }; propagatedBuildInputs = [ AnyEvent commonsense ]; }; @@ -501,10 +501,10 @@ let }; ArchiveTar = buildPerlPackage rec { - name = "Archive-Tar-2.30"; + name = "Archive-Tar-2.32"; src = fetchurl { url = "mirror://cpan/authors/id/B/BI/BINGOS/${name}.tar.gz"; - sha256 = "4a5a172cfefe08cb2d32f99ed388a3b55967588bbf254e950bc8a48a8bf1d2e5"; + sha256 = "92783780731ab0c9247adf43e70f4801e8317e3915ea87e38b85c8f734e8fca2"; }; meta = { description = "Manipulates TAR archives"; @@ -526,10 +526,10 @@ let }; ArchiveZip = buildPerlPackage { - name = "Archive-Zip-1.62"; + name = "Archive-Zip-1.64"; src = fetchurl { - url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.62.tar.gz; - sha256 = "1jax173w7nm5r6k7ymfcskvs1rw590lyscbqrnfbkjj4cxc65wrb"; + url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.64.tar.gz; + sha256 = "0zfinh8nx3rxzscp57vq3w8hihpdb0zs67vvalykcf402kr88pyy"; }; buildInputs = [ TestMockModule ]; meta = { @@ -811,10 +811,10 @@ let }; BKeywords = buildPerlPackage rec { - name = "B-Keywords-1.18"; + name = "B-Keywords-1.19"; src = fetchurl { url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz"; - sha256 = "0f5bb2fpbq5jzdb2jfs73hrggrq2gnpacd2kkxgifjl7q7xd9ck5"; + sha256 = "1kdzhdksnqrmij98bnifv2p2125zvpf0rmzxjiav65ipydi4rsw9"; }; meta = { description = "Lists of reserved barewords and symbol names"; @@ -1082,10 +1082,10 @@ let }; Carp = buildPerlPackage rec { - name = "Carp-1.38"; + name = "Carp-1.50"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "00bijwwc0ix27h2ma3lvsf3b56biar96bl9dikxgx7cmpcycxad5"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/Carp-1.50.tar.gz; + sha256 = "1ngbpjyd9qi7n4h5r3q3qibd8by7rfiv7364jqlv4lbd3973n9zm"; }; meta = with stdenv.lib; { description = "Alternative warn and die for modules"; @@ -2347,10 +2347,10 @@ let }; CodeTidyAll = buildPerlPackage rec { - name = "Code-TidyAll-0.70"; + name = "Code-TidyAll-0.71"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.70.tar.gz; - sha256 = "16s847y7jhx07yn15p84lpr1jn8srqb8ma12g4ngwr46hhkrbz06"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.71.tar.gz; + sha256 = "043s0fkg8y9g38m9p87jh9p1kkznz7yq96x2rnjj221hpl3zysdr"; }; propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ]; buildInputs = [ TestClass TestClassMost TestDeep TestDifferences TestException TestFatal TestMost TestWarn TestWarnings librelative ]; @@ -2519,10 +2519,10 @@ let }; ConfigIniFiles = buildPerlModule rec { - name = "Config-IniFiles-2.98"; + name = "Config-IniFiles-3.000000"; src = fetchurl { url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; - sha256 = "9d5fc5c2192058e58ad35150ddae3043a2679f2aa4e1fb7e18e36794622b1797"; + sha256 = "cd92f6b7f1aa3e03abf6251f1e6129dab8a2b835e8b17c7c4cc3e8305c1c9b29"; }; propagatedBuildInputs = [ IOStringy ]; meta = { @@ -2771,10 +2771,10 @@ let }; CpanelJSONXS = buildPerlPackage rec { - name = "Cpanel-JSON-XS-4.05"; + name = "Cpanel-JSON-XS-4.06"; src = fetchurl { url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz"; - sha256 = "dd2b69265604ac6f18b47131565f712d55ed8df3b85f8f58f0c98cad17383663"; + sha256 = "63481d9d2d6251cf520bb6a62147faf6e8f35b9fe6b3ddd81c5bfd71e31ec9ba"; }; meta = { description = "CPanel fork of JSON::XS, fast and correct serializing"; @@ -2954,10 +2954,10 @@ let }; CryptJWT = buildPerlPackage rec { - name = "Crypt-JWT-0.022"; + name = "Crypt-JWT-0.023"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz"; - sha256 = "eb0a591f91c431929d8788dc26cc8cd98d1dc37af2a45b5754ca5039c8282476"; + sha256 = "540594d0051028e00e586eb7827df09b01c091c648bb6b210de3124fe118524b"; }; propagatedBuildInputs = [ CryptX JSONMaybeXS ]; meta = { @@ -3249,10 +3249,10 @@ let }; DataDumper = buildPerlPackage rec { - name = "Data-Dumper-2.161"; + name = "Data-Dumper-2.172"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz"; - sha256 = "3aa4ac1b042b3880438165fb2b2139d377564a8e9928ffe689ede5304ee90558"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/Data-Dumper-2.172.tar.gz; + sha256 = "a95a3037163817221021ac145500968be44dc155c261f4097136392c0a9fecd9"; }; outputs = [ "out" ]; meta = { @@ -3614,10 +3614,10 @@ let }; DateManip = buildPerlPackage rec { - name = "Date-Manip-6.72"; + name = "Date-Manip-6.73"; src = fetchurl { url = "mirror://cpan/authors/id/S/SB/SBECK/${name}.tar.gz"; - sha256 = "19jdm73kqbv1biw4v8bdzy5qr2xvqdrfz8lxgg59445ljjfxvx1q"; + sha256 = "0md25ik7pwbwgidiprcq20db8jdniknxs0qj1m3l76ziqg3rb4nk"; }; # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work patchPhase = '' @@ -3717,10 +3717,10 @@ let }; DateTimeFormatFlexible = buildPerlPackage { - name = "DateTime-Format-Flexible-0.30"; + name = "DateTime-Format-Flexible-0.31"; src = fetchurl { - url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.30.tar.gz; - sha256 = "e7974e0492d7801682b400dd8e9a6fbfd8a56602942883cd7867a2008734cca4"; + url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.31.tar.gz; + sha256 = "0daf62fe4af0b336d45e367143a580b5a34912a679eef788d54c4d5ad685c2d1"; }; propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ]; meta = { @@ -4009,10 +4009,10 @@ let }; DevelPPPort = buildPerlPackage rec { - name = "Devel-PPPort-3.42"; + name = "Devel-PPPort-3.43"; src = fetchurl { - url = mirror://cpan/authors/id/X/XS/XSAWYERX/Devel-PPPort-3.42.tar.gz; - sha256 = "bac5d98b92fe2673a84ea45f1c9b615e3a46c3cc6db59c61a2fc95dd3cf9e14a"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/Devel-PPPort-3.43.tar.gz; + sha256 = "90fd98fb24e1d7252011ff181244e04c8c8135933e67eab93c57ed6a61ed86f4"; }; meta = { description = "Perl/Pollution/Portability"; @@ -5976,10 +5976,10 @@ let }; FilePath = buildPerlPackage rec { - name = "File-Path-2.15"; + name = "File-Path-2.16"; src = fetchurl { - url = mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.15.tar.gz; - sha256 = "1570f3c1cdf93c50f65c2072e8f20ee121550771dfb7f6e563f503a2a7050744"; + url = mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.16.tar.gz; + sha256 = "21f7d69b59c381f459c5f0bf697d512109bd911f12ca33270b70ca9a9ef6fa05"; }; meta = { description = "Create or remove directory trees"; @@ -6297,10 +6297,10 @@ let }; ForksSuper = buildPerlPackage { - name = "Forks-Super-0.94"; + name = "Forks-Super-0.96"; src = fetchurl { - url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.94.tar.gz; - sha256 = "145nj2wsymr5vr93ikrakjx3dd07q63fxb1bq7lkiranm9974v8s"; + url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.96.tar.gz; + sha256 = "0vzxfxdgxjk83cwg9p5dzvfydrah53xcxkickznrrd5rhp1rasqx"; }; doCheck = false; meta = { @@ -6349,10 +6349,10 @@ let }; GD = buildPerlPackage rec { - name = "GD-2.68"; + name = "GD-2.69"; src = fetchurl { - url = mirror://cpan/authors/id/R/RU/RURBAN/GD-2.68.tar.gz; - sha256 = "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va"; + url = mirror://cpan/authors/id/R/RU/RURBAN/GD-2.69.tar.gz; + sha256 = "0palmq7l42fibqxhrabnjm7di4q8kciq9323902d717x3i4jvc6x"; }; buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ExtUtilsPkgConfig TestFork ]; @@ -7760,12 +7760,12 @@ let }; IOSocketSSL = buildPerlPackage rec { - name = "IO-Socket-SSL-2.059"; + name = "IO-Socket-SSL-2.060"; src = fetchurl { url = "mirror://cpan/authors/id/S/SU/SULLR/${name}.tar.gz"; - sha256 = "217debbe0a79f0b7c5669978b4d733271998df4497f4718f78456e5f54d64849"; + sha256 = "fb5b2877ac5b686a5d7b8dd71cf5464ffe75d10c32047b5570674870e46b1b8c"; }; - propagatedBuildInputs = [ NetSSLeay ]; + propagatedBuildInputs = [ MozillaCA NetSSLeay ]; # Fix path to default certificate store. postPatch = '' substituteInPlace lib/IO/Socket/SSL.pm \ @@ -8320,10 +8320,10 @@ let }; LinguaENTagger = buildPerlPackage { - name = "Lingua-EN-Tagger-0.29"; + name = "Lingua-EN-Tagger-0.30"; src = fetchurl { - url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.29.tar.gz; - sha256 = "0dssn101kmpkh2ik1430mj2ikk04849vbpgi60382kvh9xn795na"; + url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.30.tar.gz; + sha256 = "0nrnkvsf9f0a7lp82sanmy89ms2nqq1lvjqicvsagsvzp513bl5b"; }; propagatedBuildInputs = [ HTMLParser LinguaStem MemoizeExpireLRU ]; meta = { @@ -8566,10 +8566,10 @@ let }; LocaleCodes = buildPerlPackage { - name = "Locale-Codes-3.57"; + name = "Locale-Codes-3.58"; src = fetchurl { - url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.57.tar.gz; - sha256 = "3547cffeb6098a706a5647f6079e06cbdb68a6b7f9c8d5b0032659df7bfd8812"; + url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.58.tar.gz; + sha256 = "345c0b0170288d74a147fbe218b7c78147aa2baf4e839fe8680a2b0a2d8e505b"; }; meta = { description = "A distribution of modules to handle locale codes"; @@ -8782,10 +8782,10 @@ let }; LogDispatch = buildPerlPackage { - name = "Log-Dispatch-2.67"; + name = "Log-Dispatch-2.68"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.67.tar.gz; - sha256 = "017ks3i0k005dqz7fz53w7x35csqqlr4vfb95c0ijdablajs4kd9"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.68.tar.gz; + sha256 = "1bxd3bhrn1h2q9f8r65z3101a32nl2kdb7l40bxg4vbsk4wk0ynh"; }; propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ]; meta = { @@ -8844,10 +8844,10 @@ let }; MCE = buildPerlPackage rec { - name = "MCE-1.836"; + name = "MCE-1.837"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.836.tar.gz; - sha256 = "04nkcbs27plwq31w541phfci3391s10p2xv5lmry5wq7fbdw5iwy"; + url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.837.tar.gz; + sha256 = "0si12wv02i8cn2xw6lk0m2apqrd88awcli1yadmvikq5rnfhcypa"; }; meta = { description = "Many-Core Engine for Perl providing parallel processing capabilities"; @@ -8973,7 +8973,7 @@ let sha256 = "1rxrpwylfw1afah0nk96kgkwjbl2p1a7lwx50iipg8c4rx3cjb2j"; }; patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ]; - propagatedBuildInputs = [ IOSocketSSL LWP MozillaCA ]; + propagatedBuildInputs = [ IOSocketSSL LWP ]; doCheck = false; # tries to connect to https://www.apache.org/. meta = { description = "Provide https support for LWP::UserAgent"; @@ -9092,10 +9092,10 @@ let }; MailMessage = buildPerlPackage rec { - name = "Mail-Message-3.006"; + name = "Mail-Message-3.007"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.006.tar.gz; - sha256 = "08bdf06bmxdqbslk3k9av542pjhyw9wx10j79fxz0dwpalimc6zi"; + url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.007.tar.gz; + sha256 = "1hpf68i5w20dxcibqj5w5h8mx9qa6vjhr34bicrvdh7d3dfxq0bn"; }; propagatedBuildInputs = [ IOStringy MIMETypes MailTools URI UserIdentity ]; meta = { @@ -9200,10 +9200,10 @@ let }; MailTransport = buildPerlPackage rec { - name = "Mail-Transport-3.002"; + name = "Mail-Transport-3.003"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.002.tar.gz; - sha256 = "0wm4j9w15nsvjxi9x22fn2rnljbffd88v27p0z0305bfg35gh4kg"; + url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.003.tar.gz; + sha256 = "0lb1awpk2wcnn5wg663982jl45x9fdn8ikxscayscxa16rim116p"; }; propagatedBuildInputs = [ MailMessage ]; meta = { @@ -9567,11 +9567,11 @@ let }; ModernPerl = buildPerlModule { - name = "Modern-Perl-1.20180701"; + name = "Modern-Perl-1.20180901"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20180701.tar.gz; - sha256 = "cfdf390bc565599ef90ef086a81233dc1dfc7867676dc28e1deedcd7e5543da6"; + url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20180901.tar.gz; + sha256 = "5c289bbe59cfc90abb9b8c6b9903b7625ca9ea26239d397d87f7b57517cd61a1"; }; meta = { homepage = https://github.com/chromatic/Modern-Perl; @@ -9940,10 +9940,10 @@ let }; ModuleSignature = buildPerlPackage { - name = "Module-Signature-0.81"; + name = "Module-Signature-0.83"; src = fetchurl { - url = mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.81.tar.gz; - sha256 = "7df547ceb8e45d40f75e481a868f389aaed5641c2cf4e133146ccea4b8facec6"; + url = mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.83.tar.gz; + sha256 = "3c15f3845a85d2a76a81253be53cb0f716465a3f696eb9c50e92eef34e9601cb"; }; buildInputs = [ IPCRun ]; meta = { @@ -10039,7 +10039,7 @@ let name = "Mojo-IOLoop-ForkCall-0.20"; src = fetchurl { url = "mirror://cpan/authors/id/J/JB/JBERGER/${name}.tar.gz"; - sha256 = "19pih5x0ayxs2m8j29qwdpi6ky3w4ghv6vrmax3ix9r59hj6569b"; + sha256 = "2b9962244c25a71e4757356fb3e1237cf869e26d1c27215115ba7b057a81f1a6"; }; propagatedBuildInputs = [ IOPipely Mojolicious ]; meta = { @@ -11101,13 +11101,13 @@ let }; NetAmazonS3 = buildPerlPackage rec { - name = "Net-Amazon-S3-0.84"; + name = "Net-Amazon-S3-0.85"; src = fetchurl { - url = mirror://cpan/authors/id/L/LL/LLAP/Net-Amazon-S3-0.84.tar.gz; - sha256 = "9e995f7d7982d4ab3510bf30e842426b341be20e4b7e6fe48edafeb067f49626"; + url = mirror://cpan/authors/id/L/LL/LLAP/Net-Amazon-S3-0.85.tar.gz; + sha256 = "49b91233b9e994ce3536dd69c5106c968a03d199ff3968c8fc2f2b5be3d55430"; }; - buildInputs = [ TestDeep TestException ]; - propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RefUtil RegexpCommon TermEncoding TermProgressBarSimple XMLLibXML ]; + buildInputs = [ TestDeep TestException TestLoadAllModules TestMockTime TestWarnings ]; + propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXRoleParameterized MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RefUtil RegexpCommon SubOverride TermEncoding TermProgressBarSimple XMLLibXML ]; meta = { description = "Use the Amazon S3 - Simple Storage Service"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; @@ -12041,13 +12041,13 @@ let }; PathTools = buildPerlPackage { - name = "PathTools-3.74"; + name = "PathTools-3.75"; preConfigure = '' substituteInPlace Cwd.pm --replace '/usr/bin/pwd' '${pkgs.coreutils}/bin/pwd' ''; src = fetchurl { - url = mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.74.tar.gz; - sha256 = "25724cc54c59a3bfabadec95e72db292c98676bf3632497384e8dc6277936e11"; + url = mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.75.tar.gz; + sha256 = "a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2"; }; }; @@ -12086,10 +12086,10 @@ let }; Pegex = buildPerlPackage rec { - name = "Pegex-0.64"; + name = "Pegex-0.67"; src = fetchurl { url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz"; - sha256 = "27e00264bdafb9c2109212b9654542032617fecf7b7814915d2bdac198f067cd"; + sha256 = "3cb9df73aece2a5fa769a89bd74daaac302cc077e2489b3b552f3aa172092091"; }; buildInputs = [ FileShareDirInstall YAMLLibYAML ]; meta = { @@ -12274,10 +12274,10 @@ let }; PkgConfig = buildPerlPackage rec { - name = "PkgConfig-0.21026"; + name = "PkgConfig-0.22026"; src = fetchurl { url = "mirror://cpan/authors/id/P/PL/PLICEASE/${name}.tar.gz"; - sha256 = "018f8d3c74e661df66046b26e57f4c5991adafe202af7ea2d1c6f6bcafde584b"; + sha256 = "d01849bf88f3d56f4efe304cfe56f806867a45b716e3963dcacce17b829433ce"; }; meta = { description = "Pure-Perl Core-Only replacement for pkg-config"; @@ -13415,10 +13415,10 @@ let }; ScopeUpper = buildPerlPackage rec { - name = "Scope-Upper-0.30"; + name = "Scope-Upper-0.31"; src = fetchurl { url = "mirror://cpan/authors/id/V/VP/VPIT/${name}.tar.gz"; - sha256 = "7f151582423850d814034404b1e23b5efb281b9dd656b9afe81c761ebb88bbb4"; + sha256 = "cc4d2ce0f185b4867d73b4083991117052a523fd409debf15bdd7e374cc16d8c"; }; meta = { description = "Act on upper scopes"; @@ -15396,6 +15396,19 @@ let }; }; + TestLoadAllModules = buildPerlPackage { + name = "Test-LoadAllModules-0.022"; + src = fetchurl { + url = mirror://cpan/authors/id/K/KI/KITANO/Test-LoadAllModules-0.022.tar.gz; + sha256 = "1zjwbqk1ns9m8srrhyj3i5zih976i4d2ibflh5s8lr10a1aiz1hv"; + }; + propagatedBuildInputs = [ ListMoreUtils ModulePluggable ]; + meta = { + description = "do use_ok for modules in search path"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + TestLongString = buildPerlPackage rec { name = "Test-LongString-0.17"; src = fetchurl { @@ -15449,10 +15462,10 @@ let }; TestMockModule = buildPerlModule { - name = "Test-MockModule-0.15"; + name = "Test-MockModule-0.170.0"; src = fetchurl { - url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-0.15.tar.gz; - sha256 = "0nx3nz7yvgcw9vw646520hh1jb3kz6sspsfqa69v3vczdkfgx5qn"; + url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.170.0.tar.gz; + sha256 = "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz"; }; propagatedBuildInputs = [ SUPER ]; meta = { @@ -15738,10 +15751,10 @@ let }; TestRoutine = buildPerlPackage { - name = "Test-Routine-0.025"; + name = "Test-Routine-0.027"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.025.tar.gz; - sha256 = "13gxczy0mx3rqnp55vc0j2d936qldrimmad87nmf4wrj0kd2lw92"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.027.tar.gz; + sha256 = "0n6k310v2py787lkvhzrn8vndws9icdf8mighgl472k0x890xm5s"; }; buildInputs = [ TestAbortable TestFatal ]; propagatedBuildInputs = [ Moose TestSimple13 namespaceautoclean ]; @@ -18005,10 +18018,10 @@ let }; YAMLLibYAML = buildPerlPackage rec { - name = "YAML-LibYAML-0.72"; + name = "YAML-LibYAML-0.74"; src = fetchurl { - url = "mirror://cpan/authors/id/T/TI/TINITA/${name}.tar.gz"; - sha256 = "0dn50pranjyai4gclb501m29y0ks03y87g132wqpb469rb3sjd0g"; + url = mirror://cpan/authors/id/I/IN/INGY/YAML-LibYAML-0.74.tar.gz; + sha256 = "021l0gf6z93xd6vd604vpvb9d4b714zph17g6hg47fpawdq0xpd0"; }; }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 6ebc640ea219..93400bf0ee65 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -77,6 +77,7 @@ let jobs.tests.cc-wrapper-libcxx-39.x86_64-darwin jobs.tests.stdenv-inputs.x86_64-darwin jobs.tests.macOSSierraShared.x86_64-darwin + jobs.tests.patch-shebangs.x86_64-darwin ]; } else null; @@ -119,6 +120,7 @@ let jobs.tests.cc-multilib-gcc.x86_64-linux jobs.tests.cc-multilib-clang.x86_64-linux jobs.tests.stdenv-inputs.x86_64-linux + jobs.tests.patch-shebangs.x86_64-linux ] ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools ++ lib.optionals supportDarwin [ @@ -148,6 +150,7 @@ let jobs.tests.cc-wrapper-libcxx-6.x86_64-darwin jobs.tests.stdenv-inputs.x86_64-darwin jobs.tests.macOSSierraShared.x86_64-darwin + jobs.tests.patch-shebangs.x86_64-darwin ]; }; |