diff options
31 files changed, 198 insertions, 110 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 708306affdf..9147ee803fd 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -28,6 +28,8 @@ - `mariadb` now defaults to `mariadb_1011` instead of `mariadb_106`, meaning the default version was upgraded from 10.6.x to 10.11.x. See the [upgrade notes](https://mariadb.com/kb/en/upgrading-from-mariadb-10-6-to-mariadb-10-11/) for potential issues. +- `getent` has been moved from `glibc`'s `bin` output to its own dedicated output, reducing closure size for many dependents. Dependents using the `getent` alias should not be affected; others should move from using `glibc.bin` or `getBin glibc` to `getent` (which also improves compatibility with non-glibc platforms). + - `etcd` has been updated to 3.5, you will want to read the [3.3 to 3.4](https://etcd.io/docs/v3.5/upgrades/upgrade_3_4/) and [3.4 to 3.5](https://etcd.io/docs/v3.5/upgrades/upgrade_3_5/) upgrade guides - `himalaya` has been updated to `0.8.0`, which drops the native TLS support (in favor of Rustls) and add OAuth 2.0 support. See the [release note](https://github.com/soywod/himalaya/releases/tag/v0.8.0) for more details. diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index c9523581b0a..99ca2751434 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -64,11 +64,9 @@ stdenv.mkDerivation rec { substituteInPlace Makerules --replace "(shell pkg-config" "(shell $PKG_CONFIG" ''; - # Use shared libraries to decrease size - buildFlags = [ "shared" ]; - makeFlags = [ "prefix=$(out)" + "shared=yes" "USE_SYSTEM_LIBS=yes" "PKG_CONFIG=${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config" ] ++ lib.optionals (!enableX11) [ "HAVE_X11=no" ] diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix index aad630f384e..958f87a6c31 100644 --- a/pkgs/applications/terminal-emulators/xterm/default.nix +++ b/pkgs/applications/terminal-emulators/xterm/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "xterm"; - version = "380"; + version = "382"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" ]; - hash = "sha256-DB3B+oAPpktcWNFt25BecAsnylOKZb6MA7K6V2EQbDg="; + hash = "sha256-DNC889CqdGqEDqPxNm6imnQmNpTVNbXHd/J+tl1/zu0="; }; strictDeps = true; diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix index 2f12be0a897..2546b8e6dc9 100644 --- a/pkgs/build-support/fetchurl/mirrors.nix +++ b/pkgs/build-support/fetchurl/mirrors.nix @@ -175,12 +175,6 @@ "https://download.qt.io/" ]; - # Roy marples mirrors - roy = [ - "https://roy.marples.name/downloads/" - "https://cflags.cc/roy/" - ]; - # Sage mirrors (https://www.sagemath.org/mirrors.html) sageupstream = [ # Africa (HTTPS) diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh index 4932e934ec1..11b332bfc3e 100644 --- a/pkgs/build-support/setup-hooks/make-wrapper.sh +++ b/pkgs/build-support/setup-hooks/make-wrapper.sh @@ -166,11 +166,11 @@ makeShellWrapper() { elif [[ "$p" == "--add-flags" ]]; then flags="${params[$((n + 1))]}" n=$((n + 1)) - flagsBefore="$flagsBefore $flags" + flagsBefore="${flagsBefore-} $flags" elif [[ "$p" == "--append-flags" ]]; then flags="${params[$((n + 1))]}" n=$((n + 1)) - flagsAfter="$flagsAfter $flags" + flagsAfter="${flagsAfter-} $flags" elif [[ "$p" == "--argv0" ]]; then argv0="${params[$((n + 1))]}" n=$((n + 1)) @@ -183,7 +183,7 @@ makeShellWrapper() { done echo exec ${argv0:+-a \"$argv0\"} \""$original"\" \ - "$flagsBefore" '"$@"' "$flagsAfter" >> "$wrapper" + "${flagsBefore-}" '"$@"' "${flagsAfter-}" >> "$wrapper" chmod +x "$wrapper" } diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix index df1cbdf1898..eef6ebc6833 100644 --- a/pkgs/development/compilers/gcc/10/default.nix +++ b/pkgs/development/compilers/gcc/10/default.nix @@ -55,7 +55,6 @@ let majorVersion = "10"; # Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431 ../fix-bug-80431.patch ../11/fix-struct-redefinition-on-glibc-2.36.patch - ../install-info-files-serially.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch ++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv.patch @@ -238,6 +237,9 @@ stdenv.mkDerivation ({ (targetPlatform == hostPlatform && hostPlatform == buildPlatform) (if profiledCompiler then "profiledbootstrap" else "bootstrap"); + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix index 8513f03d2da..304cd3c3811 100644 --- a/pkgs/development/compilers/gcc/11/default.nix +++ b/pkgs/development/compilers/gcc/11/default.nix @@ -59,7 +59,6 @@ let majorVersion = "11"; # Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431 ../fix-bug-80431.patch ./fix-struct-redefinition-on-glibc-2.36.patch - ../install-info-files-serially.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch ++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv.patch @@ -254,6 +253,9 @@ lib.pipe (stdenv.mkDerivation ({ + lib.optionalString (targetPlatform == hostPlatform && hostPlatform == buildPlatform && !disableBootstrap) "bootstrap"; in lib.optional (target != "") target; + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/12/default.nix b/pkgs/development/compilers/gcc/12/default.nix index f0886f862c9..b816c554fa3 100644 --- a/pkgs/development/compilers/gcc/12/default.nix +++ b/pkgs/development/compilers/gcc/12/default.nix @@ -68,7 +68,6 @@ let majorVersion = "12"; ../gnat-cflags-11.patch ../gcc-12-gfortran-driving.patch ../ppc-musl.patch - ../install-info-files-serially.patch # backport ICE fix on ccache code ./lambda-ICE-PR109241.patch @@ -300,6 +299,9 @@ lib.pipe (stdenv.mkDerivation ({ lib.optionalString (targetPlatform == hostPlatform && hostPlatform == buildPlatform && !disableBootstrap) "bootstrap"; in lib.optional (target != "") target; + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/13/default.nix b/pkgs/development/compilers/gcc/13/default.nix index 4273195e718..73b6fb96863 100644 --- a/pkgs/development/compilers/gcc/13/default.nix +++ b/pkgs/development/compilers/gcc/13/default.nix @@ -298,6 +298,9 @@ lib.pipe (stdenv.mkDerivation ({ stripDebugListTarget preFixup; + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64"; diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 90489fd3fb1..2f03b838e76 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -74,7 +74,6 @@ let majorVersion = "4"; ../struct-ucontext-4.8.patch ../sigsegv-not-declared.patch ../res_state-not-declared.patch - ../install-info-files-serially.patch # gcc-11 compatibility (fetchpatch { name = "gcc4-char-reload.patch"; @@ -257,6 +256,9 @@ stdenv.mkDerivation ({ stripDebugListTarget preFixup; + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210 diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index ec0f4cde781..768988e210b 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -63,7 +63,6 @@ let majorVersion = "4"; [ ../9/fix-struct-redefinition-on-glibc-2.36.patch ../use-source-date-epoch.patch ../parallel-bconfig.patch ./parallel-strsignal.patch ./libsanitizer.patch - ../install-info-files-serially.patch (fetchpatch { name = "avoid-ustat-glibc-2.28.patch"; url = "https://gitweb.gentoo.org/proj/gcc-patches.git/plain/4.9.4/gentoo/100_all_avoid-ustat-glibc-2.28.patch?id=55fcb515620a8f7d3bb77eba938aa0fcf0d67c96"; @@ -273,6 +272,9 @@ stdenv.mkDerivation ({ (targetPlatform == hostPlatform && hostPlatform == buildPlatform) (if profiledCompiler then "profiledbootstrap" else "bootstrap"); + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 965a987aab3..c5799060a1e 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -68,7 +68,6 @@ let majorVersion = "6"; # Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431 ../fix-bug-80431.patch - ../install-info-files-serially.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional noSysDirs ../no-sys-dirs.patch ++ optional langAda ../gnat-cflags.patch @@ -291,6 +290,9 @@ stdenv.mkDerivation ({ (targetPlatform == hostPlatform && hostPlatform == buildPlatform) (if profiledCompiler then "profiledbootstrap" else "bootstrap"); + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 6ec689ab252..3e8e52940e7 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -61,7 +61,6 @@ let majorVersion = "7"; ../fix-bug-80431.patch ../9/fix-struct-redefinition-on-glibc-2.36.patch - ../install-info-files-serially.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optionals targetPlatform.isNetBSD [ @@ -244,6 +243,9 @@ stdenv.mkDerivation ({ (targetPlatform == hostPlatform && hostPlatform == buildPlatform) (if profiledCompiler then "profiledbootstrap" else "bootstrap"); + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 1baed913785..25c5475ee80 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -50,7 +50,6 @@ let majorVersion = "8"; # Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431 ../fix-bug-80431.patch ../9/fix-struct-redefinition-on-glibc-2.36.patch - ../install-info-files-serially.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch ++ optional noSysDirs ../no-sys-dirs.patch @@ -221,6 +220,9 @@ stdenv.mkDerivation ({ (targetPlatform == hostPlatform && hostPlatform == buildPlatform) (if profiledCompiler then "profiledbootstrap" else "bootstrap"); + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix index aceb912d7a6..53c98a0b7a8 100644 --- a/pkgs/development/compilers/gcc/9/default.nix +++ b/pkgs/development/compilers/gcc/9/default.nix @@ -59,7 +59,6 @@ let majorVersion = "9"; ./fix-struct-redefinition-on-glibc-2.36.patch # Fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80431 ../fix-bug-80431.patch - ../install-info-files-serially.patch ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch ++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch ++ optional noSysDirs ../no-sys-dirs.patch @@ -235,6 +234,9 @@ stdenv.mkDerivation ({ (targetPlatform == hostPlatform && hostPlatform == buildPlatform) (if profiledCompiler then "profiledbootstrap" else "bootstrap"); + # https://gcc.gnu.org/PR109898 + enableParallelInstalling = false; + inherit (callFile ../common/strip-attributes.nix { }) stripDebugList stripDebugListTarget diff --git a/pkgs/development/compilers/gcc/install-info-files-serially.patch b/pkgs/development/compilers/gcc/install-info-files-serially.patch deleted file mode 100644 index bec7c0a158d..00000000000 --- a/pkgs/development/compilers/gcc/install-info-files-serially.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -Naur gcc-12.2.0/gcc/Makefile.in gcc-12.2.0-new/gcc/Makefile.in ---- gcc-12.2.0/gcc/Makefile.in 2022-08-19 10:09:52.280658631 +0200 -+++ gcc-12.2.0-new/gcc/Makefile.in 2023-05-04 14:35:44.401420184 +0200 -@@ -3781,6 +3781,11 @@ - fi; \ - fi - -+# We don't care about the order in which the info files are built, but -+# install-info doesn't support multiple parallel invocations writing to -+# the same `dir-file`, so we have to disable parallelism for that reason: -+.NOTPARALLEL: install-info -+ - # Install the info files. - # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir - # to do the install. diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 00b78f57db6..de9867f41d0 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -165,10 +165,18 @@ stdenv.mkDerivation ({ "OBJCOPY=${stdenv.cc.targetPrefix}objcopy" ]; + postInstall = (args.postInstall or "") + '' + moveToOutput bin/getent $getent + ''; + installFlags = [ "sysconfdir=$(out)/etc" ]; # out as the first output is an exception exclusive to glibc - outputs = [ "out" "bin" "dev" "static" ]; + + # getent is its own output, not kept in bin, since many things + # depend on getent but not on the locale generation tools in the bin + # output. This saves a couple of megabytes of closure size in many cases. + outputs = [ "out" "bin" "dev" "static" "getent" ]; strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -188,7 +196,7 @@ stdenv.mkDerivation ({ passthru = { inherit version; minorRelease = version; }; } -// (removeAttrs args [ "withLinuxHeaders" "withGd" ]) // +// (removeAttrs args [ "withLinuxHeaders" "withGd" "postInstall" ]) // { src = fetchurl { diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix index 1c0c1b09e15..0f6cad157bb 100644 --- a/pkgs/development/libraries/glibc/default.nix +++ b/pkgs/development/libraries/glibc/default.nix @@ -94,7 +94,7 @@ in "user-defined-trusted-dirs=${stdenv.cc.cc.libgcc}/lib" ]; - postInstall = (if stdenv.hostPlatform == stdenv.buildPlatform then '' + postInstall = previousAttrs.postInstall + (if stdenv.hostPlatform == stdenv.buildPlatform then '' echo SUPPORTED-LOCALES=C.UTF-8/UTF-8 > ../glibc-2*/localedata/SUPPORTED make -j''${NIX_BUILD_CORES:-1} localedata/install-locales '' else lib.optionalString stdenv.buildPlatform.isLinux '' diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix index 1bdd6890ab2..e9746271ea2 100644 --- a/pkgs/development/libraries/gnu-efi/default.nix +++ b/pkgs/development/libraries/gnu-efi/default.nix @@ -20,6 +20,11 @@ stdenv.mkDerivation rec { "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; + postPatch = '' + substituteInPlace Make.defaults \ + --replace "-Werror" "" + ''; + passthru.updateScript = gitUpdater { # No nicer place to find latest release. url = "https://git.code.sf.net/p/gnu-efi/code"; diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index ccfbd892a97..e05e446a941 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -14,6 +14,8 @@ , enableZbar ? false , faacSupport ? false , faac +, opencvSupport ? false +, opencv4 , faad2 , ldacbt , libass @@ -54,7 +56,6 @@ , libusb1 , neon , openal -, opencv4 , openexr_3 , openh264 , libopenmpt @@ -171,7 +172,6 @@ stdenv.mkDerivation rec { libusb1 neon openal - opencv4 openexr_3 openh264 rtmpdump @@ -192,6 +192,8 @@ stdenv.mkDerivation rec { libfreeaptx zxing-cpp usrsctp + ] ++ lib.optionals opencvSupport [ + opencv4 ] ++ lib.optionals enableZbar [ zbar ] ++ lib.optionals faacSupport [ @@ -292,6 +294,7 @@ stdenv.mkDerivation rec { "-Dgs=disabled" # depends on `google-cloud-cpp` "-Donnx=disabled" # depends on `libonnxruntime` not packaged in nixpkgs as of writing "-Dopenaptx=enabled" # since gstreamer-1.20.1 `libfreeaptx` is supported for circumventing the dubious license conflict with `libopenaptx` + "-Dopencv=${if opencvSupport then "enabled" else "disabled"}" # Reduces rebuild size when `config.cudaSupport = true` "-Dmicrodns=${if microdnsSupport then "enabled" else "disabled"}" "-Dbluez=${if bluezSupport then "enabled" else "disabled"}" (lib.mesonEnable "doc" enableDocumentation) diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index 4a77afa176a..539cfc37051 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -1,45 +1,63 @@ -{ config, lib, substituteAll, stdenv, fetchurl, pkg-config, gettext, glib, atk, pango, cairo, perl, xorg -, gdk-pixbuf, gobject-introspection -, xineramaSupport ? stdenv.isLinux -, cupsSupport ? config.gtk2.cups or stdenv.isLinux, cups -, gdktarget ? if stdenv.isDarwin then "quartz" else "x11" -, AppKit, Cocoa -, fetchpatch, buildPackages +{ config +, lib +, stdenv +, fetchurl +, atk +, buildPackages +, cairo +, cups +, gdk-pixbuf +, gettext +, glib +, gobject-introspection +, libXcomposite +, libXcursor +, libXdamage +, libXi +, libXinerama +, libXrandr +, libXrender +, pango +, perl +, pkg-config +, substituteAll , testers +, AppKit +, Cocoa +, gdktarget ? if stdenv.isDarwin then "quartz" else "x11" +, cupsSupport ? config.gtk2.cups or stdenv.isLinux +, xineramaSupport ? stdenv.isLinux }: let - gtkCleanImmodulesCache = substituteAll { src = ./hooks/clean-immodules-cache.sh; gtk_module_path = "gtk-2.0"; gtk_binary_version = "2.10.0"; }; - in - stdenv.mkDerivation (finalAttrs: { pname = "gtk+"; version = "2.24.33"; src = fetchurl { - url = "mirror://gnome/sources/gtk+/2.24/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; - sha256 = "rCrHV/WULTGKMRpUsMgLXvKV8pnCpzxjL2v7H/Scxto="; + url = "mirror://gnome/sources/gtk+/2.24/gtk+-${finalAttrs.version}.tar.xz"; + hash = "sha256-rCrHV/WULTGKMRpUsMgLXvKV8pnCpzxjL2v7H/Scxto="; }; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; - enableParallelBuilding = true; - setupHooks = [ ./hooks/drop-icon-theme-cache.sh gtkCleanImmodulesCache ]; - nativeBuildInputs = finalAttrs.setupHooks ++ [ - perl pkg-config gettext gobject-introspection + gettext + gobject-introspection + perl + pkg-config ]; patches = [ @@ -50,19 +68,31 @@ stdenv.mkDerivation (finalAttrs: { ./patches/2.0-darwin-x11.patch ]; - propagatedBuildInputs = with xorg; - [ glib cairo pango gdk-pixbuf atk ] - ++ lib.optionals (stdenv.isLinux || stdenv.isDarwin) [ - libXrandr libXrender libXcomposite libXi libXcursor - ] - ++ lib.optionals stdenv.isDarwin [ libXdamage ] - ++ lib.optional xineramaSupport libXinerama - ++ lib.optionals cupsSupport [ cups ] - ++ lib.optionals stdenv.isDarwin [ AppKit Cocoa ]; + propagatedBuildInputs = [ + atk + cairo + gdk-pixbuf + glib + pango + ] ++ lib.optionals (stdenv.isLinux || stdenv.isDarwin) [ + libXcomposite + libXcursor + libXi + libXrandr + libXrender + ] ++ lib.optional xineramaSupport libXinerama + ++ lib.optional cupsSupport cups + ++ lib.optionals stdenv.isDarwin [ + libXdamage + AppKit + Cocoa + ]; - preConfigure = if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then '' - MACOSX_DEPLOYMENT_TARGET=10.16 - '' else null; + preConfigure = + lib.optionalString (stdenv.isDarwin + && lib.versionAtLeast + stdenv.hostPlatform.darwinMinVersion "11") + "MACOSX_DEPLOYMENT_TARGET=10.16"; configureFlags = [ "--sysconfdir=/etc" @@ -77,6 +107,8 @@ stdenv.mkDerivation (finalAttrs: { "ac_cv_path_GDK_PIXBUF_CSOURCE=${buildPackages.gdk-pixbuf.dev}/bin/gdk-pixbuf-csource" ]; + enableParallelBuilding = true; + installFlags = [ "sysconfdir=${placeholder "out"}/etc" ]; @@ -98,11 +130,21 @@ stdenv.mkDerivation (finalAttrs: { tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; }; - meta = with lib; { + meta = { + homepage = "https://www.gtk.org/"; description = "A multi-platform toolkit for creating graphical user interfaces"; - homepage = "https://www.gtk.org/"; - license = licenses.lgpl2Plus; - maintainers = with maintainers; [ lovek323 raskin ]; + longDescription = '' + GTK is a highly usable, feature rich toolkit for creating graphical user + interfaces which boasts cross platform compatibility and an easy to use + API. GTK it is written in C, but has bindings to many other popular + programming languages such as C++, Python and C# among others. GTK is + licensed under the GNU LGPL 2.1 allowing development of both free and + proprietary software with GTK without any license fees or royalties. + ''; + changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${finalAttrs.version}/NEWS"; + license = lib.licenses.lgpl2Plus; + maintainers = with lib.maintainers; [ lovek323 raskin ]; + platforms = lib.platforms.all; pkgConfigModules = [ "gdk-2.0" "gtk+-2.0" @@ -110,18 +152,5 @@ stdenv.mkDerivation (finalAttrs: { "gdk-x11-2.0" "gtk+-x11-2.0" ]; - platforms = platforms.all; - - longDescription = '' - GTK is a highly usable, feature rich toolkit for creating - graphical user interfaces which boasts cross platform - compatibility and an easy to use API. GTK it is written in C, - but has bindings to many other popular programming languages - such as C++, Python and C# among others. GTK is licensed - under the GNU LGPL 2.1 allowing development of both free and - proprietary software with GTK without any license fees or - royalties. - ''; - changelog = "https://gitlab.gnome.org/GNOME/gtk/-/raw/${version}/NEWS"; }; }) diff --git a/pkgs/development/libraries/libgdiplus/configure-pkg-config.patch b/pkgs/development/libraries/libgdiplus/configure-pkg-config.patch new file mode 100644 index 00000000000..b636f07e2bd --- /dev/null +++ b/pkgs/development/libraries/libgdiplus/configure-pkg-config.patch @@ -0,0 +1,17 @@ +diff --git a/configure.ac b/configure.ac +index e47a3f1..f529e69 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,10 +16,8 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + + AC_C_BIGENDIAN + +-AC_PATH_PROG(PKG_CONFIG, pkg-config, no) +-if test "x$PKG_CONFIG" = "xno"; then +- AC_MSG_ERROR([You need to install pkg-config]) +-fi ++PKG_PROG_PKG_CONFIG ++ + GLIB_REQUIRED_VERSION="2.2.3" + PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION) + diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix index 705205df396..e71aedd2cbc 100644 --- a/pkgs/development/libraries/libgdiplus/default.nix +++ b/pkgs/development/libraries/libgdiplus/default.nix @@ -1,18 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, glib, cairo, Carbon, fontconfig +{ lib, stdenv, fetchzip, pkg-config, glib, cairo, Carbon, fontconfig , libtiff, giflib, libjpeg, libpng , libXrender, libexif, autoreconfHook, fetchpatch }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "libgdiplus"; - version = "6.0.5"; + version = "6.1"; - src = fetchFromGitHub { - owner = "mono"; - repo = "libgdiplus"; - rev = version; - sha256 = "1387lgph5r17viv3rkf5hbksdn435njzmra7s17q0nzk2mkkm68c"; + # Using source archive to avoid fetching Git submodules. + # Git repo: https://github.com/mono/libgdiplus + src = fetchzip { + url = "https://download.mono-project.com/sources/libgdiplus/libgdiplus-${finalAttrs.version}.tar.gz"; + hash = "sha256-+lP9ETlw3s0RUliQT1uBWZ2j6o3V9EECBQSppOYFq4Q="; }; + patches = [ + # Fix pkg-config lookup when cross-compiling. + ./configure-pkg-config.patch + ]; + NIX_LDFLAGS = "-lgif"; outputs = [ "out" "dev" ]; @@ -45,4 +50,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; license = licenses.mit; }; -} +}) diff --git a/pkgs/development/python-modules/hatch-fancy-pypi-readme/default.nix b/pkgs/development/python-modules/hatch-fancy-pypi-readme/default.nix index 16bbe3092da..63789c90deb 100644 --- a/pkgs/development/python-modules/hatch-fancy-pypi-readme/default.nix +++ b/pkgs/development/python-modules/hatch-fancy-pypi-readme/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "hatch-fancy-pypi-readme"; - version = "22.8.0"; + version = "23.1.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "hatch_fancy_pypi_readme"; inherit version; - hash = "sha256-2pEoLKCWAcGK3tjjeNr4tXjHAhSGbwlxFW7pu5zmwmo="; + hash = "sha256-sd9EBjCUrx6CSM6s1HqSyc8xPWuYI79mr4qSfDlgKH0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix index 1a2851158c5..7312c4aac1b 100644 --- a/pkgs/development/python-modules/pydantic/default.nix +++ b/pkgs/development/python-modules/pydantic/default.nix @@ -6,6 +6,7 @@ , devtools , email-validator , fetchFromGitHub +, fetchpatch , pytest-mock , pytestCheckHook , python-dotenv @@ -50,6 +51,15 @@ buildPythonPackage rec { hash = "sha256-4oJoDlP1grLblF0ppqYM1GYEyNMEM9FssFQjacipmms="; }; + patches = [ + # Fixes racy doctests build failures on really fast machines + # FIXME: remove after next release + (fetchpatch { + url = "https://github.com/pydantic/pydantic/pull/6103/commits/f05014a30340e608155683aaca17d275f93a0380.diff"; + hash = "sha256-sr47hpl37SSFFbK+/h3hGlF6Pl6L8XPKDU0lZZV7Vzs="; + }) + ]; + postPatch = '' sed -i '/flake8/ d' Makefile ''; diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 44e46355d0b..7c809f0c964 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { pname = "cups"; - version = "2.4.3"; + version = "2.4.5"; src = fetchurl { url = "https://github.com/OpenPrinting/cups/releases/download/v${version}/cups-${version}-source.tar.gz"; - sha256 = "sha256-nd65jyDpyfSvEhwrEFPnQgt5vWdw8a3tKGYwPSdSb28="; + sha256 = "sha256-mkBN5V90UlsKaFHfDP3r+hIVrsDnwve+a5sJtpFvsAA="; }; outputs = [ "out" "lib" "dev" "man" ]; diff --git a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix index 741c1a82f34..fca574bb8c1 100644 --- a/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk-11.0/default.nix @@ -62,6 +62,7 @@ let if stdenv.isAarch64 then stdenv else (overrideCC stdenv (mkCc stdenv.cc)).override { + extraBuildInputs = [ pkgs.darwin.apple_sdk_11_0.frameworks.CoreFoundation ]; targetPlatform = stdenv.targetPlatform // { darwinMinVersion = "10.12"; darwinSdkVersion = "11.0"; diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 87162c4e0d4..40cfa407722 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -1,6 +1,6 @@ { lib , stdenv -, fetchurl +, fetchFromGitHub , fetchpatch , pkg-config , udev @@ -14,9 +14,11 @@ stdenv.mkDerivation rec { pname = "dhcpcd"; version = "9.4.1"; - src = fetchurl { - url = "mirror://roy/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-gZNXY07+0epc9E7AGyTT0/iFL+yLQkmSXcxWZ8VON2w="; + src = fetchFromGitHub { + owner = "NetworkConfiguration"; + repo = "dhcpcd"; + rev = "v${version}"; + sha256 = "sha256-qyxON+TsAKMwAI19b5P+dT/sgxpW6m1giGcf/boFpHc="; }; patches = [ diff --git a/pkgs/tools/networking/openresolv/default.nix b/pkgs/tools/networking/openresolv/default.nix index f486c903c5d..eb97e24b1f7 100644 --- a/pkgs/tools/networking/openresolv/default.nix +++ b/pkgs/tools/networking/openresolv/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, makeWrapper, coreutils }: +{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils }: stdenv.mkDerivation rec { pname = "openresolv"; version = "3.12.0"; - src = fetchurl { - url = "mirror://roy/openresolv/${pname}-${version}.tar.xz"; - sha256 = "sha256-QrMFCOhXoihTXGMeqsk2hi2G7KaMFLXAvzh7oXa5G5c="; + src = fetchFromGitHub { + owner = "NetworkConfiguration"; + repo = "openresolv"; + rev = "v${version}"; + sha256 = "sha256-lEyqOf2NGWnH44pDVNVSWZeuhXx7z0ru4KuXu2RuyIg="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix index b5b66ec3475..b7ca158d2e7 100644 --- a/pkgs/tools/video/rav1e/default.nix +++ b/pkgs/tools/video/rav1e/default.nix @@ -55,6 +55,12 @@ in rustPlatform.buildRustPackage rec { Security ]; + # Darwin uses `llvm-strip`, which results in link errors when using `-x` to strip the asm library + # and linking it with cctools ld64. + postPatch = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) '' + substituteInPlace build.rs --replace 'cmd.arg("-x")' 'cmd.arg("-S")' + ''; + checkType = "debug"; postBuild = '' diff --git a/pkgs/top-level/unixtools.nix b/pkgs/top-level/unixtools.nix index aa282adf6a3..40faa764212 100644 --- a/pkgs/top-level/unixtools.nix +++ b/pkgs/top-level/unixtools.nix @@ -72,7 +72,7 @@ let darwin = pkgs.darwin.system_cmds; }; getent = { - linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc + linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc.getent else pkgs.netbsd.getent; darwin = pkgs.netbsd.getent; }; |