diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix index c09b3f415d8..df3bf7c215b 100644 --- a/pkgs/applications/audio/opusfile/default.nix +++ b/pkgs/applications/audio/opusfile/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }: stdenv.mkDerivation rec { - name = "opusfile-0.11"; + name = "opusfile-0.12"; src = fetchurl { url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz"; - sha256 = "1gq3aszzl5glgbajw5p1f5a1kdyf23w5vjdmwwrk246syin9pkkl"; + sha256 = "02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix index 255cb8aaeab..569a9b17045 100644 --- a/pkgs/applications/blockchains/monero/default.nix +++ b/pkgs/applications/blockchains/monero/default.nix @@ -2,7 +2,7 @@ , cmake, pkgconfig , boost, miniupnpc, openssl, unbound , zeromq, pcsclite, readline, libsodium, hidapi -, pythonProtobuf, randomx, rapidjson, libusb-compat-0_1 +, protobuf, randomx, rapidjson, libusb-compat-0_1 , CoreData, IOKit, PCSC }: @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { boost miniupnpc openssl unbound zeromq pcsclite readline libsodium hidapi randomx rapidjson - pythonProtobuf libusb-compat-0_1 + protobuf libusb-compat-0_1 ] ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ]; cmakeFlags = [ diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index 37d055e2685..0fb48203b2f 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -1,6 +1,11 @@ { stdenv, fetchurl, lzip }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation (rec { name = "ed-${version}"; version = "1.16"; diff --git a/pkgs/applications/misc/ola/default.nix b/pkgs/applications/misc/ola/default.nix index b9529981c7c..f3dafb78bca 100644 --- a/pkgs/applications/misc/ola/default.nix +++ b/pkgs/applications/misc/ola/default.nix @@ -1,31 +1,43 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, bison, flex, pkgconfig -, libuuid, cppunit, protobuf3_1, zlib, avahi, libmicrohttpd -, perl, python36 # Replace by python3 after the next update +{ stdenv +, fetchFromGitHub +, autoreconfHook +, bison +, flex +, pkgconfig +, libuuid +, cppunit +, protobuf +, zlib +, avahi +, libmicrohttpd +, perl +, python3 }: stdenv.mkDerivation rec { pname = "ola"; - version = "0.10.7"; + version = "unstable-2020-07-17"; src = fetchFromGitHub { owner = "OpenLightingProject"; repo = "ola"; - rev = version; - sha256 = "18krwrw7w1qzwih8gnmv7r4sah5ppvq7ax65r7l5yjxn3ihwp2kf"; + rev = "e2cd699c7792570500578fd092fb6bfb3d511023"; # HEAD of "0.10" branch + sha256 = "17a3z3zhx00rjk58icd3zlqfw3753f3y8bwy2sza0frdim09lqr4"; }; nativeBuildInputs = [ autoreconfHook bison flex pkgconfig perl ]; - buildInputs = [ libuuid cppunit protobuf3_1 zlib avahi libmicrohttpd python36 ]; + buildInputs = [ libuuid cppunit protobuf zlib avahi libmicrohttpd python3 ]; propagatedBuildInputs = [ - (python36.pkgs.protobuf.override { protobuf = protobuf3_1; }) - python36.pkgs.numpy + python3.pkgs.protobuf + python3.pkgs.numpy ]; configureFlags = [ "--enable-python-libs" ]; meta = with stdenv.lib; { description = "A framework for controlling entertainment lighting equipment."; - maintainers = [ maintainers.globin ]; + homepage = "https://www.openlighting.org/ola/"; + maintainers = with maintainers; [ globin ]; license = with licenses; [ lgpl21 gpl2Plus ]; platforms = platforms.all; }; diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 2f86870ea8a..4ecdec77ddb 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -177,7 +177,8 @@ stdenv.mkDerivation ({ # included we need to look in a few places. # TODO: generalize this process for other use-cases. - BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \ + BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-crt1-cflags) \ + $(< ${stdenv.cc}/nix-support/libc-cflags) \ $(< ${stdenv.cc}/nix-support/cc-cflags) \ $(< ${stdenv.cc}/nix-support/libcxx-cxxflags) \ ${lib.optionalString stdenv.cc.isClang "-idirafter ${stdenv.cc.cc}/lib/clang/${lib.getVersion stdenv.cc.cc}/include"} \ diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index 6cb27055ddb..3de59ba8f11 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -175,7 +175,8 @@ stdenv.mkDerivation rec { # included we need to look in a few places. # TODO: generalize this process for other use-cases. - BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \ + BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-crt1-cflags) \ + $(< ${stdenv.cc}/nix-support/libc-cflags) \ $(< ${stdenv.cc}/nix-support/cc-cflags) \ $(< ${stdenv.cc}/nix-support/libcxx-cxxflags) \ ${ 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 5686b1c6f3f..e370fcd5b42 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -21,7 +21,7 @@ assert sendEmailSupport -> perlSupport; assert svnSupport -> perlSupport; let - version = "2.27.0"; + version = "2.28.0"; svn = subversionClient.override { perlBindings = perlSupport; }; gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ]; @@ -33,7 +33,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "1ybk39ylvs32lywq7ra4l2kdr5izc80r9461hwfnw8pssxs9gjkk"; + sha256 = "17a311vzimqn1glc9d7x82rhb1mb81m5rr4g8xji8idaafid39fz"; }; outputs = [ "out" ] ++ stdenv.lib.optional withManual "doc"; diff --git a/pkgs/build-support/alternatives/blas/default.nix b/pkgs/build-support/alternatives/blas/default.nix index bdee6688a74..9e1aacfaf82 100644 --- a/pkgs/build-support/alternatives/blas/default.nix +++ b/pkgs/build-support/alternatives/blas/default.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation { nm -an "$libblas" | cut -f3 -d' ' > symbols for symbol in ${toString blasFortranSymbols}; do - grep "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; } + grep -q "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; } done cp -L "$libblas" $out/lib/libblas${canonicalExtension} diff --git a/pkgs/build-support/cc-wrapper/add-flags.sh b/pkgs/build-support/cc-wrapper/add-flags.sh index 04be3f408ee..94589131b70 100644 --- a/pkgs/build-support/cc-wrapper/add-flags.sh +++ b/pkgs/build-support/cc-wrapper/add-flags.sh @@ -33,10 +33,14 @@ NIX_CFLAGS_COMPILE_@suffixSalt@="-B@out@/bin/ $NIX_CFLAGS_COMPILE_@suffixSalt@" # Export and assign separately in order that a failing $(..) will fail # the script. -if [ -e @out@/nix-support/libc-cflags ]; then +if [[ "$cInclude" = 1 ]] && [ -e @out@/nix-support/libc-cflags ]; then NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/libc-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@" fi +if [ -e @out@/nix-support/libc-crt1-cflags ]; then + NIX_CFLAGS_COMPILE_@suffixSalt@="$(< @out@/nix-support/libc-crt1-cflags) $NIX_CFLAGS_COMPILE_@suffixSalt@" +fi + if [ -e @out@/nix-support/libcxx-cxxflags ]; then NIX_CXXSTDLIB_COMPILE_@suffixSalt@+=" $(< @out@/nix-support/libcxx-cxxflags)" fi diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index 3f9f099f3bc..7e734f57773 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -17,16 +17,6 @@ fi source @out@/nix-support/utils.bash -# Flirting with a layer violation here. -if [ -z "${NIX_BINTOOLS_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then - source @bintools@/nix-support/add-flags.sh -fi - -# Put this one second so libc ldflags take priority. -if [ -z "${NIX_CC_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then - source @out@/nix-support/add-flags.sh -fi - # Parse command line options and set several variables. # For instance, figure out if linker flags should be passed. @@ -37,6 +27,7 @@ cc1=0 # shellcheck disable=SC2193 [[ "@prog@" = *++ ]] && isCpp=1 || isCpp=0 cppInclude=1 +cInclude=1 expandResponseParams "$@" declare -i n=0 @@ -63,6 +54,7 @@ while (( "$n" < "$nParams" )); do elif [ "$p" = -nostdlib ]; then isCpp=-1 elif [ "$p" = -nostdinc ]; then + cInclude=0 cppInclude=0 elif [ "$p" = -nostdinc++ ]; then cppInclude=0 @@ -111,6 +103,15 @@ if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then params=(${rest+"${rest[@]}"}) fi +# Flirting with a layer violation here. +if [ -z "${NIX_BINTOOLS_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then + source @bintools@/nix-support/add-flags.sh +fi + +# Put this one second so libc ldflags take priority. +if [ -z "${NIX_CC_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then + source @out@/nix-support/add-flags.sh +fi # Clear march/mtune=native -- they bring impurity. if [ "$NIX_ENFORCE_NO_NATIVE_@suffixSalt@" = 1 ]; then diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 1fef3c45908..c2a06219f1d 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -287,7 +287,7 @@ stdenv.mkDerivation { + optionalString (libc != null) ('' touch "$out/nix-support/libc-cflags" touch "$out/nix-support/libc-ldflags" - echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-cflags + echo "-B${libc_lib}${libc.libdir or "/lib/"}" >> $out/nix-support/libc-crt1-cflags '' + optionalString (!(cc.langD or false)) '' echo "-idirafter ${libc_dev}${libc.incdir or "/include"}" >> $out/nix-support/libc-cflags '' + optionalString (isGNU && (!(cc.langD or false))) '' @@ -429,7 +429,7 @@ stdenv.mkDerivation { + optionalString (libc != null && targetPlatform.isAvr) '' for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do - echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-cflags + echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-crt1-cflags done '' diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix new file mode 100644 index 00000000000..5a87893d972 --- /dev/null +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix @@ -0,0 +1,175 @@ +{ stdenv +, lib +, makeSetupHook +, makeWrapper +, gobject-introspection +, gtk3 +, librsvg +, dconf +, callPackage +, wrapGAppsHook +, writeTextFile +}: + +makeSetupHook { + deps = lib.optionals (!stdenv.isDarwin) [ + # It is highly probable that a program will use GSettings, + # at minimum through GTK file chooser dialogue. + # Let’s add a GIO module for “dconf” GSettings backend + # to avoid falling back to “memory” backend. This is + # required for GSettings-based settings to be persisted. + # Unfortunately, it also requires the user to have dconf + # D-Bus service enabled globally (e.g. through a NixOS module). + dconf.lib + ] ++ [ + # TODO: remove this, packages should depend on GTK explicitly. + gtk3 + + # librsvg provides a module for gdk-pixbuf to allow rendering + # SVG icons. Most icon themes are SVG-based and so are some + # graphics in GTK (e.g. cross for closing window in window title bar) + # so it is pretty much required for applications using GTK. + librsvg + + # We use the wrapProgram function. + makeWrapper + ]; + substitutions = { + passthru.tests = let + sample-project = ./tests/sample-project; + + testLib = callPackage ./tests/lib.nix { }; + inherit (testLib) expectSomeLineContainingYInFileXToMentionZ; + in rec { + # Simple derivation containing a program and a daemon. + basic = stdenv.mkDerivation { + name = "basic"; + + src = sample-project; + + nativeBuildInputs = [ wrapGAppsHook ]; + + installFlags = [ "bin-foo" "libexec-bar" ]; + }; + + # The wrapper for executable files should add path to dconf GIO module. + basic-contains-dconf = let + tested = basic; + in testLib.runTest "basic-contains-dconf" ( + testLib.skip stdenv.isDarwin '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"} + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"} + '' + ); + + # Simple derivation containing a gobject-introspection typelib. + typelib-Mahjong = stdenv.mkDerivation { + name = "typelib-Mahjong"; + + src = sample-project; + + installFlags = [ "typelib-Mahjong" ]; + }; + + # Simple derivation using a typelib. + typelib-user = stdenv.mkDerivation { + name = "typelib-user"; + + src = sample-project; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + ]; + + buildInputs = [ + typelib-Mahjong + ]; + + installFlags = [ "bin-foo" "libexec-bar" ]; + }; + + # Testing cooperation with gobject-introspection setup hook, + # which should populate GI_TYPELIB_PATH variable with paths + # to typelibs among the derivation’s dependencies. + # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. + typelib-user-has-gi-typelib-path = let + tested = typelib-user; + in testLib.runTest "typelib-user-has-gi-typelib-path" '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"} + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"} + ''; + + # Simple derivation containing a gobject-introspection typelib in lib output. + typelib-Bechamel = stdenv.mkDerivation { + name = "typelib-Bechamel"; + + outputs = [ "out" "lib" ]; + + src = sample-project; + + makeFlags = [ + "LIBDIR=${placeholder "lib"}/lib" + ]; + + installFlags = [ "typelib-Bechamel" ]; + }; + + # Simple derivation using a typelib from non-default output. + typelib-multiout-user = stdenv.mkDerivation { + name = "typelib-multiout-user"; + + src = sample-project; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + ]; + + buildInputs = [ + typelib-Bechamel + ]; + + installFlags = [ "bin-foo" "libexec-bar" ]; + }; + + # Testing cooperation with gobject-introspection setup hook, + # which should populate GI_TYPELIB_PATH variable with paths + # to typelibs among the derivation’s dependencies, + # even when they are not in default output. + # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. + typelib-multiout-user-has-gi-typelib-path = let + tested = typelib-multiout-user; + in testLib.runTest "typelib-multiout-user-has-gi-typelib-path" '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"} + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"} + ''; + + # Simple derivation that contains a typelib as well as a program using it. + typelib-self-user = stdenv.mkDerivation { + name = "typelib-self-user"; + + src = sample-project; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + ]; + + installFlags = [ "typelib-Cow" "bin-foo" "libexec-bar" ]; + }; + + # Testing cooperation with gobject-introspection setup hook, + # which should add the path to derivation’s own typelibs + # to GI_TYPELIB_PATH variable. + # The resulting GI_TYPELIB_PATH should be picked up by the wrapper. + # https://github.com/NixOS/nixpkgs/issues/85515 + typelib-self-user-has-gi-typelib-path = let + tested = typelib-self-user; + in testLib.runTest "typelib-self-user-has-gi-typelib-path" '' + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"} + ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"} + ''; + }; + }; +} ./wrap-gapps-hook.sh diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix new file mode 100644 index 00000000000..1757bdbbe25 --- /dev/null +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix @@ -0,0 +1,30 @@ +{ runCommand +}: + +rec { + runTest = name: body: runCommand name { } '' + set -o errexit + ${body} + touch $out + ''; + + skip = cond: text: + if cond then '' + echo "Skipping test $name" > /dev/stderr + '' else text; + + fail = text: '' + echo "FAIL: $name: ${text}" > /dev/stderr + exit 1 + ''; + + expectSomeLineContainingYInFileXToMentionZ = file: filter: expected: '' + if ! cat "${file}" | grep "${filter}"; then + ${fail "The file “${file}” should include a line containing “${filter}”."} + fi + + if ! cat "${file}" | grep "${filter}" | grep ${expected}; then + ${fail "The file “${file}” should include a line containing “${filter}” that also contains “${expected}”."} + fi + ''; +} diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/sample-project/Makefile b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/sample-project/Makefile new file mode 100644 index 00000000000..5d234db11a0 --- /dev/null +++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/sample-project/Makefile @@ -0,0 +1,30 @@ +PREFIX = $(out) +BINDIR = $(PREFIX)/bin +LIBEXECDIR = $(PREFIX)/libexec +LIBDIR = $(PREFIX)/lib +TYPELIBDIR = $(LIBDIR)/girepository-1.0 + +all: + echo "Compiling…" +install: + echo "Installing…" + +bin: + mkdir -p $(BINDIR) +# Adds `bin-${foo}` targets, that install `${foo}` executable to `$(BINDIR)`. +bin-%: bin + touch $(BINDIR)/$(@:bin-%=%) + chmod +x $(BINDIR)/$(@:bin-%=%) + +libexec: + mkdir -p $(LIBEXECDIR) +# Adds `libexec-${foo}` targets, that install `${foo}` executable to `$(LIBEXECDIR)`. +libexec-%: libexec + touch $(LIBEXECDIR)/$(@:libexec-%=%) + chmod +x $(LIBEXECDIR)/$(@:libexec-%=%) + +typelib: + mkdir -p $(TYPELIBDIR) +# Adds `typelib-${foo}` targets, that install `${foo}-1.0.typelib` file to `$(TYPELIBDIR)`. +typelib-%: typelib + touch $(TYPELIBDIR)/$(@:typelib-%=%)-1.0.typelib diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook.sh b/pkgs/build-support/setup-hooks/wrap-gapps-hook/wrap-gapps-hook.sh similarity index 100% rename from pkgs/build-support/setup-hooks/wrap-gapps-hook.sh rename to pkgs/build-support/setup-hooks/wrap-gapps-hook/wrap-gapps-hook.sh diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix index 978ad75a3d2..5f0a69583a1 100644 --- a/pkgs/development/compilers/gcc/9/default.nix +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -31,6 +31,11 @@ , buildPackages }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + # LTO needs libelf and zlib. assert libelf != null -> zlib != null; diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh index 4b14cdb94cd..45587020844 100644 --- a/pkgs/development/compilers/gcc/builder.sh +++ b/pkgs/development/compilers/gcc/builder.sh @@ -61,7 +61,7 @@ if test "$noSysDirs" = "1"; then if [[ -e "${!curCC}/nix-support/orig-libc" ]]; then # Figure out what extra compiling flags to pass to the gcc compilers # being generated to make sure that they use our libc. - extraFlags=($(< "${!curCC}/nix-support/libc-cflags")) + extraFlags=($(< "${!curCC}/nix-support/libc-crt1-cflags") $(< "${!curCC}/nix-support/libc-cflags")) # The path to the Libc headers libc_devdir="$(< "${!curCC}/nix-support/orig-libc-dev")" diff --git a/pkgs/development/compilers/gcc/common/pre-configure.nix b/pkgs/development/compilers/gcc/common/pre-configure.nix index 85b854e19b9..fff49014800 100644 --- a/pkgs/development/compilers/gcc/common/pre-configure.nix +++ b/pkgs/development/compilers/gcc/common/pre-configure.nix @@ -17,3 +17,35 @@ lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) '' '' + lib.optionalString langAda '' export PATH=${gnatboot}/bin:$PATH '' + +# NOTE 2020/3/18: This environment variable prevents configure scripts from +# detecting the presence of aligned_alloc on Darwin. There are many facts that +# collectively make this fix necessary: +# - Nix uses a fixed set of standard library headers on all MacOS systems, +# regardless of their actual version. (Nix uses version 10.12 headers.) +# - Nix uses the native standard library binaries for the build system. That +# means the standard library binaries may not exactly match the standard +# library headers. +# - The aligned_alloc procedure is present in MacOS 10.15 (Catalina), but not +# in earlier versions. Therefore on Catalina systems, aligned_alloc is +# linkable (i.e. present in the binary libraries) but not present in the +# headers. +# - Configure scripts detect a procedure's existence by checking whether it is +# linkable. They do not check whether it is present in the headers. +# - GCC throws an error during compilation because aligned_alloc is not +# defined in the headers---even though the linker can see it. +# +# This fix would not be necessary if ANY of the above were false: +# - If Nix used native headers for each different MacOS version, aligned_alloc +# would be in the headers on Catalina. +# - If Nix used the same libary binaries for each MacOS version, aligned_alloc +# would not be in the library binaries. +# - If Catalina did not include aligned_alloc, this wouldn't be a problem. +# - If the configure scripts looked for header presence as well as +# linkability, they would see that aligned_alloc is missing. +# - If GCC allowed implicit declaration of symbols, it would not fail during +# compilation even if the configure scripts did not check header presence. +# ++ lib.optionalString (hostPlatform.isDarwin) '' + export ac_cv_func_aligned_alloc=no +'' diff --git a/pkgs/development/compilers/llvm/10/clang/default.nix b/pkgs/development/compilers/llvm/10/clang/default.nix index 63a0af69a23..1788ac2d96f 100644 --- a/pkgs/development/compilers/llvm/10/clang/default.nix +++ b/pkgs/development/compilers/llvm/10/clang/default.nix @@ -27,6 +27,7 @@ let cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++14" "-DCLANGD_BUILD_XPC=OFF" + "-DLLVM_ENABLE_RTTI=ON" ] ++ stdenv.lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix index 1016398992f..a2641e7ea49 100644 --- a/pkgs/development/compilers/llvm/5/clang/default.nix +++ b/pkgs/development/compilers/llvm/5/clang/default.nix @@ -27,6 +27,7 @@ let cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DLLVM_ENABLE_RTTI=ON" ] ++ stdenv.lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix index e2f7166354a..27d2106a3a0 100644 --- a/pkgs/development/compilers/llvm/6/clang/default.nix +++ b/pkgs/development/compilers/llvm/6/clang/default.nix @@ -27,6 +27,7 @@ let cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DLLVM_ENABLE_RTTI=ON" ] ++ stdenv.lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix index 18ea46ea39c..a1b83aa099e 100644 --- a/pkgs/development/compilers/llvm/7/clang/default.nix +++ b/pkgs/development/compilers/llvm/7/clang/default.nix @@ -27,6 +27,7 @@ let cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DLLVM_ENABLE_RTTI=ON" ] ++ stdenv.lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix index 3b398628e56..3fb43c02d8c 100644 --- a/pkgs/development/compilers/llvm/8/clang/default.nix +++ b/pkgs/development/compilers/llvm/8/clang/default.nix @@ -28,6 +28,7 @@ let cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" "-DCLANGD_BUILD_XPC=OFF" + "-DLLVM_ENABLE_RTTI=ON" ] ++ stdenv.lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" diff --git a/pkgs/development/compilers/llvm/9/clang/default.nix b/pkgs/development/compilers/llvm/9/clang/default.nix index c938a01f897..9bc7a88e912 100644 --- a/pkgs/development/compilers/llvm/9/clang/default.nix +++ b/pkgs/development/compilers/llvm/9/clang/default.nix @@ -28,6 +28,7 @@ let cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-std=c++11" "-DCLANGD_BUILD_XPC=OFF" + "-DLLVM_ENABLE_RTTI=ON" ] ++ stdenv.lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index 734a94f7690..65d8920c4a4 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -1,6 +1,6 @@ { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget , fetchurl, file, python3 -, llvm_9, darwin, cmake, rust, rustPlatform +, llvm_10, darwin, cmake, rust, rustPlatform , pkgconfig, openssl , which, libffi , withBundledLLVM ? false @@ -14,12 +14,12 @@ let inherit (stdenv.lib) optionals optional optionalString; inherit (darwin.apple_sdk.frameworks) Security; - llvmSharedForBuild = pkgsBuildBuild.llvm_9.override { enableSharedLibraries = true; }; - llvmSharedForHost = pkgsBuildHost.llvm_9.override { enableSharedLibraries = true; }; - llvmSharedForTarget = pkgsBuildTarget.llvm_9.override { enableSharedLibraries = true; }; + llvmSharedForBuild = pkgsBuildBuild.llvm_10.override { enableSharedLibraries = true; }; + llvmSharedForHost = pkgsBuildHost.llvm_10.override { enableSharedLibraries = true; }; + llvmSharedForTarget = pkgsBuildTarget.llvm_10.override { enableSharedLibraries = true; }; # For use at runtime - llvmShared = llvm_9.override { enableSharedLibraries = true; }; + llvmShared = llvm_10.override { enableSharedLibraries = true; }; in stdenv.mkDerivation rec { pname = "rustc"; inherit version; diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 9690dfac2f2..27ccb6f22c6 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -2,6 +2,11 @@ , enableThreading ? true, coreutils, makeWrapper }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + with lib; let diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index e6c8b301c0b..d26d060da72 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -36,6 +36,11 @@ , enableOptimizations ? (!stdenv.isDarwin) }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert x11Support -> tcl != null && tk != null && xorgproto != null diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 6e9bbb45e4b..1a04f9d0e48 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -107,10 +107,10 @@ in { sourceVersion = { major = "3"; minor = "8"; - patch = "3"; + patch = "5"; suffix = ""; }; - sha256 = "0r2qg4pdvv52ld5dd95fl6lzzsxxxhbsxmymwcphh6624g3mxayz"; + sha256 = "1c43dbv9lvlp3ynqmgdi4rh8q94swanhqarqrdx62zmigpakw073"; inherit (darwin) configd; inherit passthruFun; }; @@ -121,9 +121,9 @@ in { major = "3"; minor = "9"; patch = "0"; - suffix = "a4"; + suffix = "b5"; }; - sha256 = "0qzy0wlq0izxk8ii28gy70v138g6xnz9sgsxpyayls2j04l6b5vz"; + sha256 = "0r0m82srq4z44dahczd1cv6wgmxcpqbn5dyd8czcpk2pp9ydgqbc"; inherit (darwin) configd; inherit passthruFun; }; diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix index 4b280cc1862..6e863e4eeba 100644 --- a/pkgs/development/libraries/acl/default.nix +++ b/pkgs/development/libraries/acl/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, gettext, attr }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "acl-2.2.53"; diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix index 497262c04d7..d69d475f737 100644 --- a/pkgs/development/libraries/attr/default.nix +++ b/pkgs/development/libraries/attr/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, gettext }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "attr-2.4.48"; @@ -14,10 +19,7 @@ stdenv.mkDerivation rec { patches = [ # fix fakechroot: https://github.com/dex4er/fakechroot/issues/57 - (fetchurl { - url = "https://git.savannah.nongnu.org/cgit/attr.git/patch/?id=14adc898a36948267bfe5c63b399996879e94c98"; - sha256 = "0gja54fz79a9ma6b4mprnjxq77l5yg2z9xknlwhmkcrfnam02qxp"; - }) + ./syscall.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/attr/syscall.patch b/pkgs/development/libraries/attr/syscall.patch new file mode 100644 index 00000000000..be2cfb3928b --- /dev/null +++ b/pkgs/development/libraries/attr/syscall.patch @@ -0,0 +1,120 @@ +From 14adc898a36948267bfe5c63b399996879e94c98 Mon Sep 17 00:00:00 2001 +From: Andreas Gruenbacher +Date: Fri, 17 Aug 2018 14:07:31 +0200 +Subject: Switch back to syscall() + +Switch back to syscall() for the *xattr system calls. The current +mechanism of forwarding those calls to glibc breaks libraries like +libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc +-fsanitize=address). + +Those libraries provide wrappers for functions defined in other shared +libraries, usually glibc, do their own processing, and forward calls to +the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name"). In +our case, dlsym returns the libattr_*xattr wrappers. However, when our +wrappers try calling glibc, they end up calling the libfakeroot / +libasan wrappers instead because those override the original symbols => +recursion. + +The libattr_*xattr wrappers will only be used when symbols are looked up +at runtime (dlopen / dlsym). Programs linking against libattr will +directly use the glibc provided symbols. Therefore, the slightly worse +performance of syscall() won't affect any of the "normal" users of +libattr. +--- + libattr/syscalls.c | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/libattr/syscalls.c b/libattr/syscalls.c +index 3013aa0..721ad7f 100644 +--- a/libattr/syscalls.c ++++ b/libattr/syscalls.c +@@ -22,6 +22,8 @@ + + #include "config.h" + ++#include ++#include + #include + + #ifdef HAVE_VISIBILITY_ATTRIBUTE +@@ -31,67 +33,67 @@ + int libattr_setxattr(const char *path, const char *name, + void *value, size_t size, int flags) + { +- return setxattr(path, name, value, size, flags); ++ return syscall(__NR_setxattr, path, name, value, size, flags); + } + + int libattr_lsetxattr(const char *path, const char *name, + void *value, size_t size, int flags) + { +- return lsetxattr(path, name, value, size, flags); ++ return syscall(__NR_lsetxattr, path, name, value, size, flags); + } + + int libattr_fsetxattr(int filedes, const char *name, + void *value, size_t size, int flags) + { +- return fsetxattr(filedes, name, value, size, flags); ++ return syscall(__NR_fsetxattr, filedes, name, value, size, flags); + } + + ssize_t libattr_getxattr(const char *path, const char *name, + void *value, size_t size) + { +- return getxattr(path, name, value, size); ++ return syscall(__NR_getxattr, path, name, value, size); + } + + ssize_t libattr_lgetxattr(const char *path, const char *name, + void *value, size_t size) + { +- return lgetxattr(path, name, value, size); ++ return syscall(__NR_lgetxattr, path, name, value, size); + } + + ssize_t libattr_fgetxattr(int filedes, const char *name, + void *value, size_t size) + { +- return fgetxattr(filedes, name, value, size); ++ return syscall(__NR_fgetxattr, filedes, name, value, size); + } + + ssize_t libattr_listxattr(const char *path, char *list, size_t size) + { +- return listxattr(path, list, size); ++ return syscall(__NR_listxattr, path, list, size); + } + + ssize_t libattr_llistxattr(const char *path, char *list, size_t size) + { +- return llistxattr(path, list, size); ++ return syscall(__NR_llistxattr, path, list, size); + } + + ssize_t libattr_flistxattr(int filedes, char *list, size_t size) + { +- return flistxattr(filedes, list, size); ++ return syscall(__NR_flistxattr, filedes, list, size); + } + + int libattr_removexattr(const char *path, const char *name) + { +- return removexattr(path, name); ++ return syscall(__NR_removexattr, path, name); + } + + int libattr_lremovexattr(const char *path, const char *name) + { +- return lremovexattr(path, name); ++ return syscall(__NR_lremovexattr, path, name); + } + + int libattr_fremovexattr(int filedes, const char *name) + { +- return fremovexattr(filedes, name); ++ return syscall(__NR_fremovexattr, filedes, name); + } + + #ifdef HAVE_VISIBILITY_ATTRIBUTE diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix index 02f0872cee3..2751565670a 100644 --- a/pkgs/development/libraries/c-ares/default.nix +++ b/pkgs/development/libraries/c-ares/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, writeTextDir }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let self = stdenv.mkDerivation rec { name = "c-ares-1.15.0"; diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index 94aee7749ce..a356d7be1a9 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "expat-2.2.8"; diff --git a/pkgs/development/libraries/gcc/libstdc++/5.nix b/pkgs/development/libraries/gcc/libstdc++/5.nix index 2a11d835a6b..486a24defd1 100644 --- a/pkgs/development/libraries/gcc/libstdc++/5.nix +++ b/pkgs/development/libraries/gcc/libstdc++/5.nix @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { # Figure out what extra flags to pass to the gcc compilers # being generated to make sure that they use our glibc. - EXTRA_FLAGS="-I$NIX_FIXINC_DUMMY $(cat $NIX_CC/nix-support/libc-cflags) -O2" + EXTRA_FLAGS="-I$NIX_FIXINC_DUMMY $(cat $NIX_CC/nix-support/libc-crt1-cflags) $(cat $NIX_CC/nix-support/libc-cflags) -O2" extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $(cat $NIX_BINTOOLS/nix-support/libc-ldflags) $(cat $NIX_BINTOOLS/nix-support/libc-ldflags-before)" for i in $extraLDFlags; do diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix index 6adc147c6ac..46e52c7988e 100644 --- a/pkgs/development/libraries/gettext/default.nix +++ b/pkgs/development/libraries/gettext/default.nix @@ -1,5 +1,10 @@ { stdenv, lib, fetchurl, libiconv, xz, fetchpatch }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "gettext"; version = "0.20.1"; diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 8afea21729a..0b2f34c7b76 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -17,6 +17,11 @@ but the exact set depends on the library version and the configuration. */ +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + { stdenv, lib , buildPackages , fetchurl diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix index c5fffa09bf0..f4432cfc5b8 100644 --- a/pkgs/development/libraries/gmp/6.x.nix +++ b/pkgs/development/libraries/gmp/6.x.nix @@ -3,6 +3,11 @@ , buildPackages , withStatic ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let inherit (stdenv.lib) optional; in let self = stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 823c123d52a..d27021280a3 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintl +, gobject-introspection , icu, graphite2, harfbuzz # The icu variant uses and propagates the non-icu one. , ApplicationServices, CoreText , withCoreText ? false @@ -36,10 +37,16 @@ stdenv.mkDerivation { # not auto-detected by default "--with-graphite2=${if withGraphite2 then "yes" else "no"}" "--with-icu=${if withIcu then "yes" else "no"}" + "--with-gobject=yes" + "--enable-introspection=yes" ] ++ stdenv.lib.optional withCoreText "--with-coretext=yes"; - nativeBuildInputs = [ pkgconfig libintl ]; + nativeBuildInputs = [ + gobject-introspection + libintl + pkgconfig + ]; buildInputs = [ glib freetype cairo ] # recommended by upstream ++ stdenv.lib.optionals withCoreText [ ApplicationServices CoreText ]; diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index e5a593a7ff4..004d7d2227c 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -8,6 +8,11 @@ , staticOnly ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let libOnly = type == "lib"; in diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix index 4e4afe96d54..2b56f973b5d 100644 --- a/pkgs/development/libraries/libelf/default.nix +++ b/pkgs/development/libraries/libelf/default.nix @@ -2,6 +2,11 @@ , fetchurl, autoreconfHook, gettext }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "libelf-0.8.13"; diff --git a/pkgs/development/libraries/libev/default.nix b/pkgs/development/libraries/libev/default.nix index 74aa8133a99..1ea0615dc23 100644 --- a/pkgs/development/libraries/libev/default.nix +++ b/pkgs/development/libraries/libev/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, static ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "libev"; version="4.33"; diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix index eecffeba23d..d7dad6d956d 100644 --- a/pkgs/development/libraries/libffi/default.nix +++ b/pkgs/development/libraries/libffi/default.nix @@ -3,6 +3,11 @@ }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "libffi-3.3"; diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix index 92cde8aef4c..3a4737d483b 100644 --- a/pkgs/development/libraries/libglvnd/default.nix +++ b/pkgs/development/libraries/libglvnd/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libglvnd"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitHub { owner = "NVIDIA"; repo = "libglvnd"; rev = "v${version}"; - sha256 = "0mkzdzdxjxjl794rblq4mq33wmb8ikqmfswbqdbr8gw2kw4wlhdl"; + sha256 = "10x7fgb114r4gikdg6flszl3kwzcb9y5qa7sj9936mk0zxhjaylz"; }; nativeBuildInputs = [ autoreconfHook pkgconfig python3 addOpenGLRunpath ]; diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index a0df28a6699..e936f3fd92a 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libiconv }: stdenv.mkDerivation rec { - name = "libidn-1.35"; + name = "libidn-1.36"; src = fetchurl { url = "mirror://gnu/libidn/${name}.tar.gz"; - sha256 = "07pyy0afqikfq51z5kbzbj9ldbd12mri0zvx0mfv3ds6bc0g26pi"; + sha256 = "0f20n634whpmdwr81c2r0vxxjwchgkvhsr1i8s2bm0ad6h473dhl"; }; outputs = [ "bin" "dev" "out" "info" "devdoc" ]; diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix index 1fc0bd9b399..c5af2d16bb2 100644 --- a/pkgs/development/libraries/libidn2/default.nix +++ b/pkgs/development/libraries/libidn2/default.nix @@ -1,5 +1,10 @@ { fetchurl, stdenv, libiconv, libunistring, help2man, buildPackages }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + with stdenv.lib; stdenv.mkDerivation rec { diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index 9bd909d3f6e..36838341fe2 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false }: +{ stdenv, fetchurl, fetchpatch, cmake, nasm, enableStatic ? false, enableShared ? true }: stdenv.mkDerivation rec { @@ -34,6 +34,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DENABLE_STATIC=${if enableStatic then "1" else "0"}" + "-DENABLE_SHARED=${if enableShared then "1" else "0"}" ]; doInstallCheck = true; diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix index c160b678be7..4a7a228150c 100644 --- a/pkgs/development/libraries/libmicrohttpd/default.nix +++ b/pkgs/development/libraries/libmicrohttpd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libmicrohttpd"; - version = "0.9.70"; + version = "0.9.71"; src = fetchurl { url = "mirror://gnu/libmicrohttpd/${pname}-${version}.tar.gz"; - sha256 = "01vkjy89b1ylmh22dy5yza2r414nfwcfixxh3v29nvzrjv9s7l4h"; + sha256 = "10mii4mifmfs3v7kgciqml7f0fj7ljp0sngrx64pnwmgbzl4bx78"; }; outputs = [ "out" "dev" "devdoc" "info" ]; diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix index 235474c0ca1..c0459e393fa 100644 --- a/pkgs/development/libraries/libmpc/default.nix +++ b/pkgs/development/libraries/libmpc/default.nix @@ -2,6 +2,11 @@ , gmp, mpfr }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let version = "1.1.0"; in diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index f0cc73ba4e9..5f300ef5199 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -1,5 +1,10 @@ { fetchurl, stdenv, libiconv }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "libunistring"; version = "0.9.10"; diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 3462c423ffd..aca345e6bbf 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -34,7 +34,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" "condvar_5" "hrtime" + "tty_pty" "condvar_5" "hrtime" "udp_multicast_join" # Tests that fail when sandboxing is enabled. "fs_event_close_in_callback" "fs_event_watch_dir" "fs_event_error_reporting" "fs_event_watch_dir_recursive" "fs_event_watch_file" diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 0b0db12c09c..10540e5e303 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -31,7 +31,7 @@ with stdenv.lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "20.1.3"; + version = "20.1.4"; branch = versions.major version; in @@ -46,7 +46,7 @@ stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "1w9b6sl82a3birmpgzn1xx6biggpvynr4hmyzxvj30pfdgabhwlq"; + sha256 = "1zlrczmmkcy42w332rfmlicihlnrxmkrnkpb21sl98725cf2f038"; }; prePatch = "patchShebangs ."; @@ -58,6 +58,7 @@ stdenv.mkDerivation { ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl ./opencl-install-dir.patch ./disk_cache-include-dri-driver-path-in-cache-key.patch + ./link-radv-with-ld_args_build_id.patch ] # do not prefix user provided dri-drivers-path ++ lib.optional (lib.versionOlder version "19.0.0") (fetchpatch { url = "https://gitlab.freedesktop.org/mesa/mesa/commit/f6556ec7d126b31da37c08d7cb657250505e01a0.patch"; diff --git a/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch b/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch new file mode 100644 index 00000000000..e6182009ba8 --- /dev/null +++ b/pkgs/development/libraries/mesa/link-radv-with-ld_args_build_id.patch @@ -0,0 +1,26 @@ +From 00f3c6d1b771c11ecc08c3d8bd793a51d6e64166 Mon Sep 17 00:00:00 2001 +From: David McFarland +Date: Sun, 26 Jul 2020 17:29:49 -0300 +Subject: [PATCH] link radv with ld_args_build_id + +This is needed for radv_device_get_cache_uuid to work correctly. +--- + src/amd/vulkan/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build +index efcf2dd6c89..590f286b8cb 100644 +--- a/src/amd/vulkan/meson.build ++++ b/src/amd/vulkan/meson.build +@@ -173,7 +173,7 @@ libvulkan_radeon = shared_library( + ], + c_args : [c_vis_args, no_override_init_args, radv_flags], + cpp_args : [cpp_vis_args, radv_flags], +- link_args : [ld_args_bsymbolic, ld_args_gc_sections], ++ link_args : [ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections], + install : true, + ) + +-- +2.27.0 + diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix index ceba71ae06a..9fc717ef38a 100644 --- a/pkgs/development/libraries/mpfr/default.nix +++ b/pkgs/development/libraries/mpfr/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, gmp }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { version = "4.0.2"; pname = "mpfr"; diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix index 939f137ac3e..3294674e178 100644 --- a/pkgs/development/libraries/nghttp2/default.nix +++ b/pkgs/development/libraries/nghttp2/default.nix @@ -12,6 +12,11 @@ , enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert enableHpack -> jansson != null; assert enableAsioLib -> boost != null; assert enableGetAssets -> libxml2 != null; diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix index 9ab89aaefbf..8a16803fd8b 100644 --- a/pkgs/development/libraries/nspr/default.nix +++ b/pkgs/development/libraries/nspr/default.nix @@ -2,7 +2,7 @@ , CoreServices ? null , buildPackages }: -let version = "4.26"; in +let version = "4.27"; in stdenv.mkDerivation { pname = "nspr"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz"; - sha256 = "0gbp3g9p4nhf0zrlvqi5883sqb9zdw0wk83lccpgskxphlni97gw"; + sha256 = "16z82qc1l4cqn66p59ai0dy9ycllywn4jlxhip1a605bns952jbd"; }; patches = [ diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix index a7b014acc89..1bc934a6553 100644 --- a/pkgs/development/libraries/nss/default.nix +++ b/pkgs/development/libraries/nss/default.nix @@ -5,7 +5,7 @@ let url = "http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz"; sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw"; }; - version = "3.54"; + version = "3.55"; underscoreVersion = builtins.replaceStrings ["."] ["_"] version; in stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz"; - sha256 = "0hvfip056pl07h6w91i6fyji5nczrrsxyr56rls7jd2yryzqpcfs"; + sha256 = "0100hm7n1xrp144xy665z46s0wf1jpkqkncc6bk2w22snhyjwsgw"; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 43170f25d38..1fc38dd8aaa 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -5,6 +5,11 @@ , static ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + with stdenv.lib; let diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 358ae3df991..e3bdba9b3b1 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -9,15 +9,26 @@ with stdenv.lib; let pname = "pango"; - version = "1.44.7"; + version = "1.45.3"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"; + sha256 = "0zg6gvzk227q997jf1c9p7j5ra87nm008hlgq6q8na9xmgmw2x8z"; }; + patches = [ + # Fix issue with Pango loading unsupported formats that + # breaks mixed x11/opentype font packages. + # See https://gitlab.gnome.org/GNOME/pango/issues/457 + # Remove on next release. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/pango/commit/fe1ee773310bac83d8e5d3c062b13a51fb5fb4ad.patch"; + sha256 = "1px66g31l2jx4baaqi4md59wlmvw0ywgspn6zr919fxl4h1kkh0h"; + }) + ]; + # FIXME: docs fail on darwin outputs = [ "bin" "dev" "out" ] ++ optional (!stdenv.isDarwin) "devdoc"; diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix index a69ae5af15f..926f7ba4789 100644 --- a/pkgs/development/libraries/science/math/or-tools/default.nix +++ b/pkgs/development/libraries/science/math/or-tools/default.nix @@ -1,20 +1,16 @@ { stdenv, fetchFromGitHub, cmake, abseil-cpp, gflags, which -, lsb-release, glog, protobuf3_11, cbc, zlib +, lsb-release, glog, protobuf, cbc, zlib , ensureNewerSourcesForZipFilesHook, python, swig }: -let - protobuf = protobuf3_11; - pythonProtobuf = python.pkgs.protobuf.override { inherit protobuf; }; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "or-tools"; - version = "7.6"; + version = "7.7"; src = fetchFromGitHub { owner = "google"; repo = "or-tools"; rev = "v${version}"; - sha256 = "0605q3y7vh7x7m9azrbkx44blq12zrab6v28b9wmpcn1lmykbw1b"; + sha256 = "06ig9a1afmzgzcg817y0rdq49ahll0q9y7bhhg9d89x6zy959ypv"; }; # The original build system uses cmake which does things like pull @@ -33,7 +29,7 @@ in stdenv.mkDerivation rec { makeFlags = [ "prefix=${placeholder "out"}" - "PROTOBUF_PYTHON_DESC=${pythonProtobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py" + "PROTOBUF_PYTHON_DESC=${python.pkgs.protobuf}/${python.sitePackages}/google/protobuf/descriptor_pb2.py" ]; buildFlags = [ "cc" "pypi_archive" ]; @@ -54,7 +50,7 @@ in stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ abseil-cpp gflags glog protobuf cbc - pythonProtobuf python.pkgs.six + python.pkgs.protobuf python.pkgs.six ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index c4a4c497ced..98746968146 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -12,6 +12,11 @@ , splitStaticOutput ? static }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert splitStaticOutput -> static; stdenv.mkDerivation (rec { diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix index 3d5afd52abd..84f54fd7af6 100644 --- a/pkgs/development/python-modules/Cython/default.nix +++ b/pkgs/development/python-modules/Cython/default.nix @@ -26,11 +26,11 @@ let in buildPythonPackage rec { pname = "Cython"; - version = "0.29.19"; + version = "0.29.21"; src = fetchPypi { inherit pname version; - sha256 = "0n2j87nka8cs772qc60d0c7lrpvsw0y8p3qzvhrsi3nmq1yqmycp"; + sha256 = "1bcwpra7c6k30yvic3sw2v3rq2dr40ypc4zqif6kr52mpn4wnyp5"; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix index 98fc3b9ff05..83fc0d371c1 100644 --- a/pkgs/development/python-modules/cirq/default.nix +++ b/pkgs/development/python-modules/cirq/default.nix @@ -10,7 +10,7 @@ , networkx , numpy , pandas -, pythonProtobuf # pythonPackages.protobuf +, protobuf , requests , scipy , sortedcontainers @@ -28,15 +28,15 @@ buildPythonPackage rec { pname = "cirq"; - version = "0.8.0"; + version = "0.8.2"; - disabled = pythonOlder "3.5"; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "quantumlib"; repo = "cirq"; rev = "v${version}"; - sha256 = "01nnv7r595sp60wvp7750lfdjwdsi4q0r4lmaj6li09zsdw0r4b3"; + sha256 = "0xs46s19idh8smf80zhgraxwh3lphcdbljdrhxwhi5xcc41dfsmf"; }; patches = [ @@ -48,14 +48,6 @@ buildPythonPackage rec { }) ]; - # Cirq locks protobuf==3.8.0, but tested working with default pythonPackages.protobuf (3.7). This avoids overrides/pythonPackages.protobuf conflicts - postPatch = '' - substituteInPlace requirements.txt \ - --replace "networkx~=2.4" "networkx" \ - --replace "protobuf==3.8.0" "protobuf" \ - --replace "freezegun~=0.3.15" "freezegun" - ''; - propagatedBuildInputs = [ freezegun google_api_core @@ -63,7 +55,7 @@ buildPythonPackage rec { matplotlib networkx pandas - pythonProtobuf + protobuf requests scipy sortedcontainers diff --git a/pkgs/development/python-modules/cryptography/default.nix b/pkgs/development/python-modules/cryptography/default.nix index 7219f48e6f9..9f7bb3f1adb 100644 --- a/pkgs/development/python-modules/cryptography/default.nix +++ b/pkgs/development/python-modules/cryptography/default.nix @@ -22,11 +22,11 @@ buildPythonPackage rec { pname = "cryptography"; - version = "2.9.2"; # Also update the hash in vectors.nix + version = "3.0"; # Also update the hash in vectors.nix src = fetchPypi { inherit pname version; - sha256 = "a0c30272fb4ddda5f5ffc1089d7405b7a71b0b0f51993cb4e5dbb4590b2fc229"; + sha256 = "0lr06a9317n2iwfqwz9mpalqm99acqwk1478arvyj1jj0ay4v4lf"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/python-modules/cryptography/vectors.nix b/pkgs/development/python-modules/cryptography/vectors.nix index 096eab77bec..02a3f44bb09 100644 --- a/pkgs/development/python-modules/cryptography/vectors.nix +++ b/pkgs/development/python-modules/cryptography/vectors.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "1d4iykcv7cn9j399hczlxm5pzxmqy6d80h3j16dkjwlmv3293b4r"; + sha256 = "0fa26ggksyhknb43cja1g0jwp35qkdbavivdq6yynj1igd2z1vsj"; }; # No tests included diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix index 855ee930b77..5d1fd9ef0be 100644 --- a/pkgs/development/python-modules/dbus/default.nix +++ b/pkgs/development/python-modules/dbus/default.nix @@ -3,14 +3,14 @@ buildPythonPackage rec { pname = "dbus-python"; - version = "1.2.12"; + version = "1.2.16"; format = "other"; outputs = [ "out" "dev" ]; src = fetchPypi { inherit pname version; - sha256 = "0q7jmldv0bxxqnbj63cd7i81vs6y85xys4r0n63z4n2y9wndxm6d"; + sha256 = "196m5rk3qzw5nkmgzjl7wmq0v7vpwfhh8bz2sapdi5f9hqfqy8qi"; }; patches = [ diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix index b9e8e25ac43..8e8fd28f0b5 100644 --- a/pkgs/development/python-modules/decorator/default.nix +++ b/pkgs/development/python-modules/decorator/default.nix @@ -1,25 +1,17 @@ { lib , buildPythonPackage -, fetchpatch , fetchPypi }: buildPythonPackage rec { pname = "decorator"; - version = "4.4.1"; + version = "4.4.2"; src = fetchPypi { inherit pname version; - sha256 = "54c38050039232e1db4ad7375cfce6748d7b41c29e95a081c8a6d2c30364a2ce"; + sha256 = "1rxzhk5zwiggk45hl53zydvy70lk654kg0nc1p54090p402jz9p3"; }; - patches = [ - (fetchpatch { - url = "https://github.com/micheles/decorator/commit/3265f2755d16c0a3dfc9f1feee39722ddc11ee80.patch"; - sha256 = "1q5nmff30vccqq5swf2ivm8cn7x3lhz8c9qpj0zddgs2y7fw8syz"; - }) - ]; - meta = with lib; { homepage = "https://pypi.python.org/pypi/decorator"; description = "Better living through Python with decorators"; diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix index f39e71ed690..aa009e0a3e7 100644 --- a/pkgs/development/python-modules/lxml/default.nix +++ b/pkgs/development/python-modules/lxml/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchFromGitHub +{ lib, buildPythonPackage, fetchFromGitHub , cython , libxml2 , libxslt @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "lxml"; - version = "4.5.0"; + version = "4.5.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "${pname}-${version}"; - sha256 = "1i3bhg8xb502afq4ar3kgvvi1hy83l4af2gznfwqvb5b221fr7ak"; + sha256 = "1d0cpwdjxfzwjzmnz066ibzicyj2vhx15qxmm775l8hxqi65xps4"; }; # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs @@ -25,7 +25,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "lxml" "lxml.etree" ]; - meta = with stdenv.lib; { + meta = with lib; { description = "Pythonic binding for the libxml2 and libxslt libraries"; homepage = "https://lxml.de"; license = licenses.bsd3; diff --git a/pkgs/development/python-modules/pybind11/0001-Find-include-directory.patch b/pkgs/development/python-modules/pybind11/0001-Find-include-directory.patch deleted file mode 100644 index d5b669dab7a..00000000000 --- a/pkgs/development/python-modules/pybind11/0001-Find-include-directory.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a027e2590d5d2d384d23568a8d47b7095054b6b7 Mon Sep 17 00:00:00 2001 -From: Frederik Rietdijk -Date: Thu, 19 Dec 2019 19:51:07 +0100 -Subject: [PATCH] Find include directory - ---- - pybind11/__init__.py | 33 +-------------------------------- - 1 file changed, 1 insertion(+), 32 deletions(-) - -diff --git a/pybind11/__init__.py b/pybind11/__init__.py -index c625e8c..c8a707b 100644 ---- a/pybind11/__init__.py -+++ b/pybind11/__init__.py -@@ -2,35 +2,4 @@ from ._version import version_info, __version__ # noqa: F401 imported but unuse - - - def get_include(user=False): -- from distutils.dist import Distribution -- import os -- import sys -- -- # Are we running in a virtual environment? -- virtualenv = hasattr(sys, 'real_prefix') or \ -- sys.prefix != getattr(sys, "base_prefix", sys.prefix) -- -- # Are we running in a conda environment? -- conda = os.path.exists(os.path.join(sys.prefix, 'conda-meta')) -- -- if virtualenv: -- return os.path.join(sys.prefix, 'include', 'site', -- 'python' + sys.version[:3]) -- elif conda: -- if os.name == 'nt': -- return os.path.join(sys.prefix, 'Library', 'include') -- else: -- return os.path.join(sys.prefix, 'include') -- else: -- dist = Distribution({'name': 'pybind11'}) -- dist.parse_config_files() -- -- dist_cobj = dist.get_command_obj('install', create=True) -- -- # Search for packages in user's home directory? -- if user: -- dist_cobj.user = user -- dist_cobj.prefix = "" -- dist_cobj.finalize_options() -- -- return os.path.dirname(dist_cobj.install_headers) -+ return "@include@" --- -2.23.0 - diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix index 3cfdbba31c1..079c93db450 100644 --- a/pkgs/development/python-modules/pybind11/default.nix +++ b/pkgs/development/python-modules/pybind11/default.nix @@ -14,13 +14,13 @@ buildPythonPackage rec { pname = "pybind11"; - version = "2.4.3"; + version = "2.5.0"; src = fetchFromGitHub { owner = "pybind"; repo = pname; rev = "v${version}"; - sha256 = "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd"; + sha256 = "13hcj6g7k7yvj7nry2ar6f5mg58ln7frrvq1cg5f8mczxh1ch6zl"; }; nativeBuildInputs = [ cmake ]; @@ -40,14 +40,6 @@ buildPythonPackage rec { dontUsePipInstall = true; dontUseSetuptoolsCheck = true; - patches = [ - ./0001-Find-include-directory.patch - ]; - - postPatch = '' - substituteInPlace pybind11/__init__.py --subst-var-by include "$out/include" - ''; - preFixup = '' pushd .. export PYBIND11_USE_CMAKE=1 @@ -65,7 +57,7 @@ buildPythonPackage rec { scipy ]; - meta = { + meta = with lib; { homepage = "https://github.com/pybind/pybind11"; description = "Seamless operability between C++11 and Python"; longDescription = '' @@ -73,7 +65,7 @@ buildPythonPackage rec { C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. ''; - license = lib.licenses.bsd3; - maintainers = [ lib.maintainers.yuriaisaka ]; + license = licenses.bsd3; + maintainers = with maintainers;[ yuriaisaka ]; }; } diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index 74606902722..9e38d640397 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -3,13 +3,13 @@ pycairo, cairo, which, ncurses, meson, ninja, isPy3k, gnome3 }: buildPythonPackage rec { pname = "pygobject"; - version = "3.36.0"; + version = "3.36.1"; format = "other"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1vysyr586mfjm7biraw1nynpw4f1qajynkm6m40ybadsnpgx50w6"; + sha256 = "0b9CgC0c7BE7Wtqg579/N0W0RSHcIWNYjSdtXNYdcY8="; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/python-modules/typed-ast/default.nix b/pkgs/development/python-modules/typed-ast/default.nix index 5095265e33f..608ce8b65fe 100644 --- a/pkgs/development/python-modules/typed-ast/default.nix +++ b/pkgs/development/python-modules/typed-ast/default.nix @@ -1,12 +1,12 @@ { buildPythonPackage, fetchFromGitHub, lib, pythonOlder }: buildPythonPackage rec { pname = "typed-ast"; - version = "1.4.0"; + version = "1.4.1"; src = fetchFromGitHub{ owner = "python"; repo = "typed_ast"; rev = version; - sha256 = "0l0hz809f7i356kmqkvfsaswiidb98j9hs9rrjnfawzqcbffzgyb"; + sha256 = "086r9qhls6mz1w72a6d1ld3m4fbkxklf6mgwbs8wpw0zlxjm7y40"; }; # Only works with Python 3.3 and newer; disabled = pythonOlder "3.3"; diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 9d8e999c385..7db60354305 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, gdb, cctools, xnu, bootstrap_cmds }: stdenv.mkDerivation rec { - name = "valgrind-3.15.0"; + name = "valgrind-3.16.1"; src = fetchurl { url = "https://sourceware.org/pub/valgrind/${name}.tar.bz2"; - sha256 = "1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21"; + sha256 = "1jik19rcd34ip8a5c9nv5wfj8k8maqb8cyclr4xhznq2gcpkl7y9"; }; outputs = [ "out" "dev" "man" "doc" ]; diff --git a/pkgs/development/tools/build-managers/cmake/application-services.patch b/pkgs/development/tools/build-managers/cmake/application-services.patch index e0399d0a6c6..75873d6055c 100644 --- a/pkgs/development/tools/build-managers/cmake/application-services.patch +++ b/pkgs/development/tools/build-managers/cmake/application-services.patch @@ -1,11 +1,8 @@ diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt -index 8aff8f6..af1852d 100644 +index 1b6bb00d4c..487114daa8 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt -@@ -791,12 +791,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "sparc" - endif() - endif() - +@@ -893,7 +893,6 @@ endif() # On Apple we need CoreFoundation and CoreServices if(APPLE) target_link_libraries(CMakeLib "-framework CoreFoundation") @@ -13,13 +10,11 @@ index 8aff8f6..af1852d 100644 endif() if(WIN32 AND NOT UNIX) - # We need the rpcrt4 library on Windows. - # We need the crypt32 library on Windows for crypto/cert APIs. diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx -index e353a37..b06f842 100644 +index a5ce5d18f4..3d6838ce82 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx -@@ -35,11 +35,6 @@ +@@ -43,11 +43,6 @@ struct cmLinkImplementation; @@ -32,12 +27,12 @@ index e353a37..b06f842 100644 # include "cmXMLParser.h" diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt -index d7af6e2..d4808fc 100644 +index bfcaf30bb7..1da540aee5 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt -@@ -1662,11 +1662,6 @@ IF(MSVC) - ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) - ENDIF(MSVC) +@@ -2007,11 +2007,6 @@ IF(ENABLE_TEST) + ENDIF(ENABLE_TEST) + ENDIF() -# We need CoreServices on Mac OS. -IF(APPLE) @@ -45,16 +40,5 @@ index d7af6e2..d4808fc 100644 -ENDIF(APPLE) - add_subdirectory(libarchive) - - install(FILES COPYING DESTINATION ${CMAKE_DOC_DIR}/cmlibarchive) -index e505bdd..f45557d 100644 ---- a/Utilities/cmlibuv/src/unix/darwin-proctitle.c -+++ b/Utilities/cmlibuv/src/unix/darwin-proctitle.c -@@ -30,7 +30,6 @@ - - #if !TARGET_OS_IPHONE - # include --# include - #endif - - #define S(s) pCFStringCreateWithCString(NULL, (s), kCFStringEncodingUTF8) + IF(0) # CMake does not build libarchive's command-line tools. + add_subdirectory(cat) diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index a9a3fd71a6b..0b296f023ad 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -19,12 +19,12 @@ stdenv.mkDerivation rec { + lib.optionalString useNcurses "-cursesUI" + lib.optionalString withQt5 "-qt5UI" + lib.optionalString useQt4 "-qt4UI"; - version = "3.17.3"; + version = "3.18.0"; src = fetchurl { url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt - sha256 = "0h4c3nwk7wmzcmmlwyb16zmjqr44l4k591m2y9p9zp3m498hvmhb"; + sha256 = "0aby67jn3i0rqhj6cvpm0f7idw3dl7jayaqxa9hkk9w2jk5zzd43"; }; patches = [ diff --git a/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch b/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch index eb3df1e4ff6..6607a9c6ed1 100644 --- a/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch +++ b/pkgs/development/tools/build-managers/cmake/libuv-application-services.patch @@ -1,7 +1,8 @@ -diff -ur cmake-3.12.1/Utilities/cmlibuv/CMakeLists.txt cmake-3.12.1-patched/Utilities/cmlibuv/CMakeLists.txt ---- cmake-3.12.1/Utilities/cmlibuv/CMakeLists.txt 2018-08-09 21:14:08.000000000 +0900 -+++ cmake-3.12.1-patched/Utilities/cmlibuv/CMakeLists.txt 2018-08-13 10:14:53.000000000 +0900 -@@ -173,6 +173,22 @@ +diff --git a/Utilities/cmlibuv/CMakeLists.txt b/Utilities/cmlibuv/CMakeLists.txt +index 7625cf65d9..167903e309 100644 +--- a/Utilities/cmlibuv/CMakeLists.txt ++++ b/Utilities/cmlibuv/CMakeLists.txt +@@ -193,6 +193,22 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") src/unix/kqueue.c src/unix/proctitle.c ) @@ -24,9 +25,10 @@ diff -ur cmake-3.12.1/Utilities/cmlibuv/CMakeLists.txt cmake-3.12.1-patched/Util endif() if(CMAKE_SYSTEM_NAME STREQUAL "Linux") -diff -ur cmake-3.12.1/Utilities/cmlibuv/src/unix/fsevents.c cmake-3.12.1-patched/Utilities/cmlibuv/src/unix/fsevents.c ---- cmake-3.12.1/Utilities/cmlibuv/src/unix/fsevents.c 2018-08-09 21:14:08.000000000 +0900 -+++ cmake-3.12.1-patched/Utilities/cmlibuv/src/unix/fsevents.c 2018-08-13 10:01:29.000000000 +0900 +diff --git a/Utilities/cmlibuv/src/unix/fsevents.c b/Utilities/cmlibuv/src/unix/fsevents.c +index a51f29b3f6..3f6bf01968 100644 +--- a/Utilities/cmlibuv/src/unix/fsevents.c ++++ b/Utilities/cmlibuv/src/unix/fsevents.c @@ -21,7 +21,7 @@ #include "uv.h" #include "internal.h" @@ -35,17 +37,17 @@ diff -ur cmake-3.12.1/Utilities/cmlibuv/src/unix/fsevents.c cmake-3.12.1-patched +#if !HAVE_CORESERVICES_CORESERVICES_H || MAC_OS_X_VERSION_MAX_ALLOWED < 1070 /* iOS (currently) doesn't provide the FSEvents-API (nor CoreServices) */ - -@@ -38,7 +38,7 @@ + /* macOS prior to 10.7 doesn't provide the full FSEvents API so use kqueue */ +@@ -39,7 +39,7 @@ int uv__fsevents_close(uv_fs_event_t* handle) { void uv__fsevents_loop_delete(uv_loop_t* loop) { } -#else /* TARGET_OS_IPHONE */ +#else /* !HAVE_CORESERVICES_CORESERVICES_H */ - #include - #include -@@ -916,4 +916,4 @@ + #include "darwin-stub.h" + +@@ -920,4 +920,4 @@ int uv__fsevents_close(uv_fs_event_t* handle) { return 0; } diff --git a/pkgs/development/tools/build-managers/cmake/search-path.patch b/pkgs/development/tools/build-managers/cmake/search-path.patch index 2f5e4d62c86..b71c2dd4441 100644 --- a/pkgs/development/tools/build-managers/cmake/search-path.patch +++ b/pkgs/development/tools/build-managers/cmake/search-path.patch @@ -1,9 +1,10 @@ -diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Platform/UnixPaths.cmake ---- cmake-3.9.1/Modules/Platform/UnixPaths.cmake 2017-08-10 13:36:32.000000000 +0000 -+++ cmake-3.9.1-mod/Modules/Platform/UnixPaths.cmake 2017-09-03 01:24:31.901473539 +0000 -@@ -22,9 +22,6 @@ - # List common installation prefixes. These will be used for all - # search types. +diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake +index b9381c3d7d..cecc40a89e 100644 +--- a/Modules/Platform/UnixPaths.cmake ++++ b/Modules/Platform/UnixPaths.cmake +@@ -26,9 +26,6 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH) + # please make sure to keep Help/variable/CMAKE_SYSTEM_PREFIX_PATH.rst + # synchronized list(APPEND CMAKE_SYSTEM_PREFIX_PATH - # Standard - /usr/local /usr / @@ -11,7 +12,7 @@ diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Pl # CMake install location "${_CMAKE_INSTALL_DIR}" ) -@@ -43,31 +40,26 @@ +@@ -47,24 +44,19 @@ endif() # Non "standard" but common install prefixes list(APPEND CMAKE_SYSTEM_PREFIX_PATH @@ -39,12 +40,7 @@ diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Pl ) if(CMAKE_SYSROOT_COMPILE) - set(_cmake_sysroot_compile "${CMAKE_SYSROOT_COMPILE}") - else() - set(_cmake_sysroot_compile "${CMAKE_SYSROOT}") - endif() - - # Default per-language values. These may be later replaced after +@@ -77,15 +69,15 @@ endif() # parsing the implicit directory information from compiler output. set(_CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES_INIT ${CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES} @@ -62,11 +58,12 @@ diff -ur cmake-3.9.1/Modules/Platform/UnixPaths.cmake cmake-3.9.1-mod/Modules/Pl + @libc_dev@/include ) - # Enable use of lib32 and lib64 search path variants by default. -diff -ur cmake-3.9.1/Modules/Platform/WindowsPaths.cmake cmake-3.9.1-mod/Modules/Platform/WindowsPaths.cmake ---- cmake-3.9.1/Modules/Platform/WindowsPaths.cmake 2017-08-10 13:36:32.000000000 +0000 -+++ cmake-3.9.1-mod/Modules/Platform/WindowsPaths.cmake 2017-09-03 01:19:32.808355986 +0000 -@@ -66,7 +66,7 @@ + unset(_cmake_sysroot_compile) +diff --git a/Modules/Platform/WindowsPaths.cmake b/Modules/Platform/WindowsPaths.cmake +index b9e2f17979..ab517cd4a7 100644 +--- a/Modules/Platform/WindowsPaths.cmake ++++ b/Modules/Platform/WindowsPaths.cmake +@@ -70,7 +70,7 @@ endif() if(CMAKE_CROSSCOMPILING AND NOT CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") # MinGW (useful when cross compiling from linux with CMAKE_FIND_ROOT_PATH set) diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index 500d80d4bb8..93add837290 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, m4, perl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "autoconf-2.69"; diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index cd05ea354ca..b352e63a27c 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -10,6 +10,11 @@ , texinfo }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let reuseLibs = enableShared && withAllTargets; diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix index b301324e956..2e3e4acfdc1 100644 --- a/pkgs/development/tools/misc/gnum4/default.nix +++ b/pkgs/development/tools/misc/gnum4/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation { name = "gnum4-1.4.18"; diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index 74ba7f55093..f23b5a9c8fd 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, perlPackages, gettext }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "help2man-1.47.16"; diff --git a/pkgs/development/tools/misc/libtool/default.nix b/pkgs/development/tools/misc/libtool/default.nix index debc4107882..199c6504f39 100644 --- a/pkgs/development/tools/misc/libtool/default.nix +++ b/pkgs/development/tools/misc/libtool/default.nix @@ -1,5 +1,10 @@ {stdenv, fetchurl, m4, perl}: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "libtool-1.5.26"; diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 5119225d9ae..5d2309333a6 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "patchelf-0.11"; diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix index 1fb8a6b2f0d..ec51dc2259d 100644 --- a/pkgs/development/tools/misc/texinfo/common.nix +++ b/pkgs/development/tools/misc/texinfo/common.nix @@ -6,6 +6,11 @@ , interactive ? false, ncurses, procps }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let crossBuildTools = interactive && stdenv.hostPlatform != stdenv.buildPlatform; in diff --git a/pkgs/development/tools/parsing/bison/default.nix b/pkgs/development/tools/parsing/bison/default.nix index ba2caac96c9..357c8ea17cf 100644 --- a/pkgs/development/tools/parsing/bison/default.nix +++ b/pkgs/development/tools/parsing/bison/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, m4, perl, help2man }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "bison"; version = "3.6.4"; diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix index 572c256dcce..612f95b2e0f 100644 --- a/pkgs/development/web/nodejs/v14.nix +++ b/pkgs/development/web/nodejs/v14.nix @@ -1,9 +1,8 @@ -{ callPackage, openssl, icu67, python3, enableNpm ? true }: +{ callPackage, openssl, python3, enableNpm ? true }: let buildNodejs = callPackage ./nodejs.nix { inherit openssl; - icu = icu67; python = python3; }; in diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index a9d0cf45168..cab11cc87ae 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -53,6 +53,11 @@ , ... }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert stdenv.isLinux; let diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix index 76869bfde5b..553b0b87f41 100644 --- a/pkgs/os-specific/linux/keyutils/default.nix +++ b/pkgs/os-specific/linux/keyutils/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "keyutils"; version = "1.6.1"; diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index c23c37aa56d..6a46db0dbac 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -12,11 +12,11 @@ let # we need to use stdenv.mkDerivation in order not to pollute the libv4l’s closure with Qt in stdenv.mkDerivation rec { pname = "v4l-utils"; - version = "1.18.1"; + version = "1.20.0"; src = fetchurl { url = "https://linuxtv.org/downloads/${pname}/${pname}-${version}.tar.bz2"; - sha256 = "0hpkqm2bpg1ma2shjzcf6xsrpyjd8h5cakgh8a3iyh126wjl5z15"; + sha256 = "1xr66y6w422hil6s7n8d61a2vhwh4im8l267amf41jvw7xqihqcm"; }; outputs = [ "out" ] ++ lib.optional withUtils "lib" ++ [ "dev" ]; diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index e9812e9884e..7ed1a72de0e 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -42,11 +42,11 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "samba"; - version = "4.12.3"; + version = "4.12.5"; src = fetchurl { url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz"; - sha256 = "09w7aap1cjc41ayhaksm1igc7p7gl40fad4a1l6q4ds9a2jbrb9z"; + sha256 = "05dqj5l3spa8ggw0agxa5rf8fwgiizbmbfjms46y5jla6z31rd2l"; }; outputs = [ "out" "dev" "man" ]; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index c6fe55ad9f7..092764a3d9d 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -105,7 +105,7 @@ self: super: rm -rf $out/share/doc ''; CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -"; - propagatedBuildInputs = [ self.xorgproto ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto ]; }); libAppleWM = super.libAppleWM.overrideAttrs (attrs: { @@ -117,7 +117,7 @@ self: super: libXau = super.libXau.overrideAttrs (attrs: { outputs = [ "out" "dev" ]; - propagatedBuildInputs = [ self.xorgproto ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto ]; }); libXdmcp = super.libXdmcp.overrideAttrs (attrs: { @@ -126,7 +126,7 @@ self: super: libXfont = super.libXfont.overrideAttrs (attrs: { outputs = [ "out" "dev" ]; - propagatedBuildInputs = [ freetype ]; # propagate link reqs. like bzip2 + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ freetype ]; # propagate link reqs. like bzip2 # prevents "misaligned_stack_error_entering_dyld_stub_binder" configureFlags = lib.optional isDarwin "CFLAGS=-O0"; }); @@ -136,6 +136,22 @@ self: super: configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; }); + libXxf86dga = super.libXxf86dga.overrideAttrs (attrs: { + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); + libXxf86misc = super.libXxf86misc.overrideAttrs (attrs: { + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); + libdmx = super.libdmx.overrideAttrs (attrs: { + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); + xdpyinfo = super.xdpyinfo.overrideAttrs (attrs: { + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); # Propagate some build inputs because of header file dependencies. # Note: most of these are in Requires.private, so maybe builder.sh @@ -146,7 +162,7 @@ self: super: ''; configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; - propagatedBuildInputs = [ self.libSM ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libSM ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; CPP = if stdenv.isDarwin then "clang -E -" else "${stdenv.cc.targetPrefix}cc -E -"; outputs = [ "out" "dev" "devdoc" ]; @@ -166,12 +182,12 @@ self: super: libXcomposite = super.libXcomposite.overrideAttrs (attrs: { outputs = [ "out" "dev" ]; - propagatedBuildInputs = [ self.libXfixes ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXfixes ]; }); libXaw = super.libXaw.overrideAttrs (attrs: { outputs = [ "out" "dev" "devdoc" ]; - propagatedBuildInputs = [ self.libXmu ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXmu ]; }); libXcursor = super.libXcursor.overrideAttrs (attrs: { @@ -184,7 +200,7 @@ self: super: libXft = super.libXft.overrideAttrs (attrs: { outputs = [ "out" "dev" ]; - propagatedBuildInputs = [ self.libXrender freetype fontconfig ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXrender freetype fontconfig ]; configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; @@ -208,7 +224,7 @@ self: super: libXext = super.libXext.overrideAttrs (attrs: { outputs = [ "out" "dev" "man" "doc" ]; - propagatedBuildInputs = [ self.xorgproto self.libXau ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto self.libXau ]; configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; }); @@ -219,7 +235,7 @@ self: super: libXi = super.libXi.overrideAttrs (attrs: { outputs = [ "out" "dev" "man" "doc" ]; - propagatedBuildInputs = [ self.libXfixes ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXfixes ]; configureFlags = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "xorg_cv_malloc0_returns_null=no"; }); @@ -239,19 +255,19 @@ self: super: outputs = [ "out" "dev" ]; configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; - propagatedBuildInputs = [self.libXrender]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXrender ]; }); libSM = super.libSM.overrideAttrs (attrs: { outputs = [ "out" "dev" "doc" ]; - propagatedBuildInputs = [ self.libICE ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libICE ]; }); libXrender = super.libXrender.overrideAttrs (attrs: { outputs = [ "out" "dev" "doc" ]; configureFlags = attrs.configureFlags or [] ++ malloc0ReturnsNullCrossFlag; - propagatedBuildInputs = [ self.xorgproto ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xorgproto ]; }); libXres = super.libXres.overrideAttrs (attrs: { @@ -319,7 +335,7 @@ self: super: }); utilmacros = super.utilmacros.overrideAttrs (attrs: { # not needed for releases, we propagate the needed tools - propagatedBuildInputs = [ automake autoconf libtool ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ automake autoconf libtool ]; }); x11perf = super.x11perf.overrideAttrs (attrs: { @@ -558,6 +574,7 @@ self: super: xorgproto = super.xorgproto.overrideAttrs (attrs: { buildInputs = []; + propagatedBuildInputs = []; nativeBuildInputs = attrs.nativeBuildInputs ++ [ meson ninja ]; # adds support for printproto needed for libXp mesonFlags = [ "-Dlegacy=true" ]; @@ -626,7 +643,7 @@ self: super: then { outputs = [ "out" "dev" ]; buildInputs = commonBuildInputs ++ [ libdrm mesa ]; - propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ udev ]; prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' @@ -755,7 +772,7 @@ self: super: "--with-launchdaemons-dir=\${out}/LaunchDaemons" "--with-launchagents-dir=\${out}/LaunchAgents" ]; - propagatedBuildInputs = [ self.xauth ] + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.xauth ] ++ lib.optionals isDarwin [ self.libX11 self.xorgproto ]; prePatch = '' sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix index 4cb3c14a9a0..deeb4093c68 100644 --- a/pkgs/shells/bash/4.4.nix +++ b/pkgs/shells/bash/4.4.nix @@ -12,6 +12,11 @@ assert interactive -> readline70 != null; assert withDocs -> texinfo != null; assert stdenv.hostPlatform.isDarwin -> binutils != null; +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let upstreamPatches = import ./bash-4.4-patches.nix (nr: sha256: fetchurl { url = "mirror://gnu/bash/bash-4.4-patches/bash44-${nr}"; diff --git a/pkgs/test/cc-wrapper/default.nix b/pkgs/test/cc-wrapper/default.nix index 7bd82b4ab2a..c0c89d63fff 100644 --- a/pkgs/test/cc-wrapper/default.nix +++ b/pkgs/test/cc-wrapper/default.nix @@ -45,6 +45,14 @@ in stdenv.mkDerivation { NIX_LDFLAGS="-L$NIX_BUILD_TOP/foo/lib -rpath $NIX_BUILD_TOP/foo/lib" $CC -lfoo -o ldflags-check ${./ldflags-main.c} ./ldflags-check + printf "Check whether -nostdinc and -nostdinc++ is handled correctly" >&2 + mkdir -p std-include + cp ${./stdio.h} std-include/stdio.h + NIX_DEBUG=1 $CC -I std-include -nostdinc -o nostdinc-main ${./nostdinc-main.c} + ./nostdinc-main + $CXX -I std-include -nostdinc++ -o nostdinc-main++ ${./nostdinc-main.c} + ./nostdinc-main++ + ${optionalString sanitizersWorking '' printf "checking whether sanitizers are fully functional... ">&2 $CC -o sanitizers -fsanitize=address,undefined ${./sanitizers.c} diff --git a/pkgs/test/cc-wrapper/nostdinc-main.c b/pkgs/test/cc-wrapper/nostdinc-main.c new file mode 100644 index 00000000000..f71d155b1b2 --- /dev/null +++ b/pkgs/test/cc-wrapper/nostdinc-main.c @@ -0,0 +1,8 @@ +// This one should not come from libc because of -nostdinc +#include + +int main(int argc, char *argv[]) { + // provided by our own stdio.h + foo(); + return 0; +} diff --git a/pkgs/test/cc-wrapper/stdio.h b/pkgs/test/cc-wrapper/stdio.h new file mode 100644 index 00000000000..4bddf1d9d48 --- /dev/null +++ b/pkgs/test/cc-wrapper/stdio.h @@ -0,0 +1 @@ +static void foo(void) {} diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix index 749f795c449..672c99d80c0 100644 --- a/pkgs/tools/archivers/gnutar/default.nix +++ b/pkgs/tools/archivers/gnutar/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, autoreconfHook, acl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "gnutar"; version = "1.32"; diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index 41dcd54ecdb..3e20258cbbe 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -3,6 +3,11 @@ , autoreconfHook }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "bzip2"; version = "1.0.6.0.1"; diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index eb680ff8a06..9628e100c1c 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -4,6 +4,11 @@ , writeText }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "gzip"; version = "1.10"; diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix index 62f57a8cca7..e55af8b94ed 100644 --- a/pkgs/tools/compression/lzip/default.nix +++ b/pkgs/tools/compression/lzip/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, texinfo }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "lzip"; version = "1.21"; diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index 545384c396d..5cf88288d81 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, enableStatic ? false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "xz-5.2.5"; diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 49edc002bec..50d3a2437d7 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -10,6 +10,11 @@ , singleBinary ? "symlinks" # you can also pass "shebangs" or false }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert aclSupport -> acl != null; assert selinuxSupport -> libselinux != null && libsepol != null; diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix index 230e401ef82..84dd187e1fc 100644 --- a/pkgs/tools/misc/findutils/default.nix +++ b/pkgs/tools/misc/findutils/default.nix @@ -2,6 +2,11 @@ , coreutils }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { pname = "findutils"; version = "4.7.0"; diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix index 82fd5c8210d..8da5c871652 100644 --- a/pkgs/tools/misc/fontforge/default.nix +++ b/pkgs/tools/misc/fontforge/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, lib +, fetchpatch , cmake, perl, uthash, pkgconfig, gettext , python, freetype, zlib, glib, libungif, libpng, libjpeg, libtiff, libxml2, cairo, pango , readline, woff2, zeromq, libuninameslist @@ -21,6 +22,18 @@ stdenv.mkDerivation rec { sha256 = "0qf88wd6riycq56d24brybyc93ns74s0nyyavm43zp2kfcihn6fd"; }; + patches = [ + # Unreleased fix for https://github.com/fontforge/fontforge/issues/4229 + # which is required to fix an uninterposated `${CMAKE_INSTALL_PREFIX}/lib`, see + # see https://github.com/nh2/static-haskell-nix/pull/98#issuecomment-665395399 + # TODO: Remove https://github.com/fontforge/fontforge/pull/4232 is in a release. + (fetchpatch { + name = "fontforge-cmake-set-rpath-to-the-configure-time-CMAKE_INSTALL_PREFIX"; + url = "https://github.com/fontforge/fontforge/commit/297ee9b5d6db5970ca17ebe5305189e79a1520a1.patch"; + sha256 = "14qfp8pwh0vzzib4hq2nc6xhn8lc1cal1sb0lqwb2q5dijqx5kqk"; + }) + ]; + # use $SOURCE_DATE_EPOCH instead of non-deterministic timestamps postPatch = '' find . -type f -name '*.c' -exec sed -r -i 's#\btime\(&(.+)\)#if (getenv("SOURCE_DATE_EPOCH")) \1=atol(getenv("SOURCE_DATE_EPOCH")); else &#g' {} \; diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix index 059b43baec3..d11c41195ce 100644 --- a/pkgs/tools/misc/parallel/default.nix +++ b/pkgs/tools/misc/parallel/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, perl, makeWrapper, procps }: stdenv.mkDerivation rec { - name = "parallel-20200522"; + name = "parallel-20200722"; src = fetchurl { url = "mirror://gnu/parallel/${name}.tar.bz2"; - sha256 = "10is46v5dpccxibby0zikg1q68mdwpmgdpxk796zka93idd6id29"; + sha256 = "0vqd8nhf4lkvbfy7nnibxjkpzpfandpklqm0hrix5vki5x7x80a8"; }; outputs = [ "out" "man" ]; diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index ce24854d04d..9a8a245a790 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -12,6 +12,11 @@ , brotliSupport ? false, brotli ? null }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + assert http2Support -> nghttp2 != null; assert idnSupport -> libidn != null; assert ldapSupport -> openldap != null; diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index 055f92141b2..19dbd00c1ee 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -12,11 +12,11 @@ let ]); in stdenv.mkDerivation rec { - name = "dnsmasq-2.81"; + name = "dnsmasq-2.82"; src = fetchurl { url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz"; - sha256 = "1yzq6anwgr5rlnwydpszb51cyhp2vjq29b24ck19flbwac1sk73l"; + sha256 = "0cn1xd1s6xs78jmrmwjnh9m6w3q38pk6dyqy2phvasqiyd33cll4"; }; postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isLinux '' diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix index a80f94d2e9f..58985f73f30 100644 --- a/pkgs/tools/networking/openresolv/default.nix +++ b/pkgs/tools/networking/openresolv/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "openresolv"; - version = "3.10.0"; + version = "3.11.0"; src = fetchurl { url = "mirror://roy/openresolv/${pname}-${version}.tar.xz"; - sha256 = "01ms6c087la4hk0f0w6n2vpsb7dg4kklah2rqyhz88p0vr9bqy20"; + sha256 = "0g7wb2880hbr0x99n73m7fgjm7lcdbpxfy2i620zxcq73qfrvspa"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 1703e8c7559..1748a2d21d0 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -1,4 +1,12 @@ -{ stdenv, fetchurl, fetchpatch, zlib, openssl, libedit, pkgconfig, pam, autoreconfHook +{ stdenv +, fetchurl +, fetchpatch +, zlib +, openssl +, libedit +, pkgconfig +, pam +, autoreconfHook , etcDir ? null , hpnSupport ? false , withKerberos ? true @@ -6,33 +14,35 @@ , kerberos , libfido2 , withFIDO ? stdenv.hostPlatform.isUnix && !stdenv.hostPlatform.isMusl -, linkOpenssl? true +, linkOpenssl ? true }: let + version = "8.3p1"; + # **please** update this patch when you update to a new openssh release. gssapiPatch = fetchpatch { name = "openssh-gssapi.patch"; - url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%258.2p1-1/debian/patches/gssapi.patch"; - sha256 = "081gryqkfr5zr4f5m4v0piq1sxz06sb38z5lqxccgpivql7pa8d8"; + url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-1/debian/patches/gssapi.patch"; + sha256 = "0j22ccg6msyi88mpsb6x0il5cg8v2b7qdah57ninbwx5isyld80l"; }; in with stdenv.lib; stdenv.mkDerivation rec { pname = "openssh"; - version = if hpnSupport then "8.1p1" else "8.2p1"; + inherit version; src = if hpnSupport then fetchurl { - url = "https://github.com/rapier1/openssh-portable/archive/hpn-KitchenSink-8_1_P1.tar.gz"; - sha256 = "1xiv28df9c15h44fv1i93fq8rvkyapjj9vj985ndnw3xk1nvqjyd"; + url = "https://github.com/rapier1/openssh-portable/archive/hpn-KitchenSink-${replaceStrings [ "." "p" ] [ "_" "_P" ] version}.tar.gz"; + sha256 = "0lwr7xzhy8m4y0vzi1a78ddhag3qp6cba0c37mnhivbhb67dkywp"; } else fetchurl { url = "mirror://openbsd/OpenSSH/portable/${pname}-${version}.tar.gz"; - sha256 = "0wg6ckzvvklbzznijxkk28fb8dnwyjd0w30ra0afwv6gwr8m34j3"; + sha256 = "1cl74ghi9y21dc3f4xa0qamb7dhwacbynh1ks9syprrg8zhgpgpj"; }; patches = @@ -99,8 +109,9 @@ stdenv.mkDerivation rec { ]; meta = { - homepage = "http://www.openssh.com/"; description = "An implementation of the SSH protocol"; + homepage = "https://www.openssh.com/"; + changelog = "https://www.openssh.com/releasenotes.html"; license = stdenv.lib.licenses.bsd2; platforms = platforms.unix ++ platforms.windows; maintainers = with maintainers; [ eelco aneeshusa ]; diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix index 4e01a5792dc..98a3e8797fb 100644 --- a/pkgs/tools/security/pcsclite/default.nix +++ b/pkgs/tools/security/pcsclite/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "pcsclite"; - version = "1.8.26"; + version = "1.9.0"; outputs = [ "bin" "out" "dev" "doc" "man" ]; src = fetchurl { url = "https://pcsclite.apdu.fr/files/pcsc-lite-${version}.tar.bz2"; - sha256 = "1ndvvz0fgqwz70pijymsxmx25mzryb0zav1i8jjc067ndryvxdry"; + sha256 = "1y9f9zipnrmgiw0mxrvcgky8vfrcmg6zh40gbln5a93i2c1x8j01"; }; patches = [ ./no-dropdir-literals.patch ]; @@ -18,7 +18,6 @@ stdenv.mkDerivation rec { # The OS should care on preparing the drivers into this location "--enable-usbdropdir=/var/lib/pcsc/drivers" "--enable-confdir=/etc" - "--enable-ipcdir=/run/pcscd" ] ++ stdenv.lib.optional stdenv.isLinux "--with-systemdsystemunitdir=\${out}/etc/systemd/system" ++ stdenv.lib.optional (!stdenv.isLinux) diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index 06ecda9ff21..6fd69a9ba4c 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, xz, coreutils ? null }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + stdenv.mkDerivation rec { name = "diffutils-3.7"; diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index 3f5c4d7d86c..f7e3cd42a9b 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -1,5 +1,10 @@ { stdenv, fetchurl, pcre, libiconv, perl }: +# Note: this package is used for bootstrapping fetchurl, and thus +# cannot use fetchpatch! All mutable patches (generated by GitHub or +# cgit) that are needed here should be included directly in Nixpkgs as +# files. + let version = "3.4"; in stdenv.mkDerivation { @@ -19,7 +24,7 @@ stdenv.mkDerivation { # cygwin: FAIL: multibyte-white-space # freebsd: FAIL mb-non-UTF8-performance - # all platforms: timing sensitivity in long-pattern-perf + # all platforms: timing sensitivity in long-pattern-perf #doCheck = !stdenv.isDarwin && !stdenv.isSunOS && !stdenv.isCygwin && !stdenv.isFreeBSD; doCheck = false; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ce8f96a35a..024f4671355 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -504,9 +504,7 @@ in findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh; - wrapGAppsHook = makeSetupHook { - deps = lib.optional (!stdenv.isDarwin) dconf.lib ++ [ gtk3 librsvg makeWrapper ]; - } ../build-support/setup-hooks/wrap-gapps-hook.sh; + wrapGAppsHook = callPackage ../build-support/setup-hooks/wrap-gapps-hook { }; separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh; @@ -5788,9 +5786,6 @@ in openssh_hpn = pkgs.appendToName "with-hpn" (openssh.override { hpnSupport = true; - # the hpn patchset does not yet support openssl>1.0.2 - # https://github.com/rapier1/openssh-portable/issues/14 - openssl = openssl_1_0_2; }); openssh_gssapi = pkgs.appendToName "with-gssapi" (openssh.override { @@ -12625,7 +12620,7 @@ in stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4' })); - icu = icu64; + icu = icu67; id3lib = callPackage ../development/libraries/id3lib { }; @@ -14428,7 +14423,7 @@ in python = python37; }; - protobuf = protobuf3_8; + protobuf = protobuf3_12; protobuf3_12 = callPackage ../development/libraries/protobuf/3.12.nix { }; protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { }; @@ -23825,12 +23820,10 @@ in monero = callPackage ../applications/blockchains/monero { inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC; boost = boost17x; - pythonProtobuf = python3Packages.protobuf.override { protobuf = protobuf3_10; }; }; monero-gui = libsForQt5.callPackage ../applications/blockchains/monero-gui { boost = boost17x; - protobuf = protobuf3_10; }; masari = callPackage ../applications/blockchains/masari.nix { boost = boost165; }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 597d5c6acda..f2c0235134c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2166,7 +2166,7 @@ let ../development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch ]; buildInputs = [ TestWWWMechanizeCatalyst ]; - propagatedBuildInputs = [ CatalystRuntime Starman ]; + propagatedBuildInputs = [ CatalystRuntime Starman PodParser ]; meta = { description = "Replace the development server with Starman"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; @@ -11082,10 +11082,10 @@ let LogHandler = buildPerlModule { pname = "Log-Handler"; - version = "0.88"; + version = "0.90"; src = fetchurl { - url = "mirror://cpan/authors/id/B/BL/BLOONIX/Log-Handler-0.88.tar.gz"; - sha256 = "45bf540ab2138ed3ff93afc205b0516dc75755b86acdcc5e75c41347833c293d"; + url = "mirror://cpan/authors/id/B/BL/BLOONIX/Log-Handler-0.90.tar.gz"; + sha256 = "0kgp3frz0y51j8kw67d6b4yyrrbh7syqraxchc7pfm442bkq0p1s"; }; propagatedBuildInputs = [ ParamsValidate ]; meta = { @@ -16210,7 +16210,7 @@ let url = "mirror://cpan/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz"; sha256 = "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh"; }; - propagatedBuildInputs = [ DevelSymdump ]; + propagatedBuildInputs = [ DevelSymdump PodParser ]; }; PodCoverageTrustPod = buildPerlPackage { @@ -16324,6 +16324,7 @@ let url = "mirror://cpan/authors/id/T/TJ/TJENNESS/Pod-LaTeX-0.61.tar.gz"; sha256 = "15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46"; }; + propagatedBuildInputs = [ PodParser ]; meta = { homepage = "https://github.com/timj/perl-Pod-LaTeX/tree/master"; description = "Convert Pod data to formatted Latex"; @@ -16392,6 +16393,7 @@ let url = "mirror://cpan/authors/id/R/RM/RMBARKER/Pod-Plainer-1.04.tar.gz"; sha256 = "1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f"; }; + propagatedBuildInputs = [ PodParser ]; meta = { description = "Perl extension for converting Pod to old-style Pod"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; @@ -16445,7 +16447,7 @@ let url = "mirror://cpan/authors/id/D/DO/DOLMEN/Pod-Spell-1.20.tar.gz"; sha256 = "6383f7bfe22bc0d839a08057a0ce780698b046184aea935be4833d94986dd03c"; }; - propagatedBuildInputs = [ ClassTiny FileShareDir LinguaENInflect PathTiny ]; + propagatedBuildInputs = [ ClassTiny FileShareDir LinguaENInflect PathTiny PodParser ]; buildInputs = [ FileShareDirInstall TestDeep ]; }; @@ -16500,6 +16502,7 @@ let url = "mirror://cpan/authors/id/N/NU/NUFFIN/Pod-Wrap-0.01.tar.gz"; sha256 = "0qwb5hp26f85xnb3zivf8ccfdplabiyl5sd53c6wgdgvzzicpjjh"; }; + propagatedBuildInputs = [ PodParser ]; meta = { license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; @@ -19516,7 +19519,7 @@ let sha256 = "2bfe771173c38b69eeb089504e3f76511b8e45e6a9e6dac3e616e400ea67bcf0"; }; buildInputs = [ ModuleBuildTiny TestPod ]; - propagatedBuildInputs = [ CaptureTiny Moose podlinkcheck ]; + propagatedBuildInputs = [ CaptureTiny Moose podlinkcheck PodParser ]; meta = { description = "Tests POD for invalid links"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 61ee091dab0..1ec0a80c644 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2086,9 +2086,7 @@ in { cmarkgfm = callPackage ../development/python-modules/cmarkgfm { }; - cirq = callPackage ../development/python-modules/cirq { - pythonProtobuf = self.protobuf; - }; + cirq = callPackage ../development/python-modules/cirq { }; citeproc-py = callPackage ../development/python-modules/citeproc-py { }; @@ -5336,7 +5334,7 @@ in { protobuf = callPackage ../development/python-modules/protobuf { disabled = isPyPy; doCheck = !isPy3k; - protobuf = pkgs.protobuf3_8; + protobuf = pkgs.protobuf3_12; }; psd-tools = callPackage ../development/python-modules/psd-tools { }; diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix index b4c1ee9ab3d..2d7f0883ca2 100644 --- a/pkgs/top-level/static.nix +++ b/pkgs/top-level/static.nix @@ -216,6 +216,10 @@ in { libressl = super.libressl.override { buildShared = false; }; + libjpeg_turbo = super.libjpeg_turbo.override { + enableStatic = true; + enableShared = false; + }; darwin = super.darwin // { libiconv = super.darwin.libiconv.override { @@ -276,4 +280,28 @@ in { libev = super.libev.override { static = true; }; libexecinfo = super.libexecinfo.override { enableShared = false; }; + + xorg = super.xorg.overrideScope' (xorgself: xorgsuper: { + libX11 = xorgsuper.libX11.overrideAttrs (attrs: { + depsBuildBuild = attrs.depsBuildBuild ++ [ (self.buildPackages.stdenv.cc.libc.static or null) ]; + }); + xauth = xorgsuper.xauth.overrideAttrs (attrs: { + # missing transitive dependencies + preConfigure = attrs.preConfigure or "" + '' + export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lxcb -lXau -lXdmcp" + ''; + }); + xdpyinfo = xorgsuper.xdpyinfo.overrideAttrs (attrs: { + # missing transitive dependencies + preConfigure = attrs.preConfigure or "" + '' + export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lXau -lXdmcp" + ''; + }); + libxcb = xorgsuper.libxcb.overrideAttrs (attrs: { + configureFlags = attrs.configureFlags ++ [ "--disable-shared" ]; + }); + libXi= xorgsuper.libXi.overrideAttrs (attrs: { + configureFlags = attrs.configureFlags ++ [ "--disable-shared" ]; + }); + }); }