diff --git a/nixos/modules/system/boot/clevis.nix b/nixos/modules/system/boot/clevis.nix index 121f0d4cc27f..9ac8496297f2 100644 --- a/nixos/modules/system/boot/clevis.nix +++ b/nixos/modules/system/boot/clevis.nix @@ -78,8 +78,8 @@ in copy_bin_and_libs ${pkgs.curl}/bin/curl copy_bin_and_libs ${pkgs.bashNonInteractive}/bin/bash copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup - copy_bin_and_libs ${pkgs.gnused}/bin/gnused - copy_bin_and_libs ${pkgs.gnugrep}/bin/gnugrep + copy_bin_and_libs ${pkgs.gnused}/bin/sed + copy_bin_and_libs ${pkgs.gnugrep}/bin/grep copy_bin_and_libs ${pkgs.tpm2-tools}/bin/.tpm2-wrapped mv $out/bin/{.tpm2-wrapped,tpm2} @@ -106,6 +106,7 @@ in systemd = { extraBin = lib.mkIf systemd.enable { clevis = "${cfg.package}/bin/clevis"; + curl = "${pkgs.curl}/bin/curl"; }; storePaths = lib.mkIf systemd.enable [ diff --git a/pkgs/by-name/ab/ablog/package.nix b/pkgs/by-name/ab/ablog/package.nix index 6fc85d7e62a2..77249f635f79 100644 --- a/pkgs/by-name/ab/ablog/package.nix +++ b/pkgs/by-name/ab/ablog/package.nix @@ -6,7 +6,7 @@ }: let - version = "0.11.12"; + version = "0.11.13"; in python3Packages.buildPythonApplication { pname = "ablog"; @@ -17,7 +17,7 @@ python3Packages.buildPythonApplication { owner = "sunpy"; repo = "ablog"; tag = "v${version}"; - hash = "sha256-bPTaxkuIKeypfnZItG9cl51flHBIx/yg0qENuiqQgY4="; + hash = "sha256-P1eSN3wqlPNYbYW3Rkz2Y6yFcC379dt/qK8aVNwZRSs="; }; build-system = with python3Packages; [ @@ -43,7 +43,6 @@ python3Packages.buildPythonApplication { pytestFlags = [ "--rootdir=src/ablog" - "-Wignore::sphinx.deprecation.RemovedInSphinx90Warning" # Ignore ImportError ]; disabledTests = [ diff --git a/pkgs/by-name/cc/ccextractor/package.nix b/pkgs/by-name/cc/ccextractor/package.nix index ce4f958b0803..0db6e5fc7165 100644 --- a/pkgs/by-name/cc/ccextractor/package.nix +++ b/pkgs/by-name/cc/ccextractor/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, writeTextFile, pkg-config, @@ -43,6 +44,11 @@ stdenv.mkDerivation (finalAttrs: { ./remove-default-commit-hash.patch ./remove-vendored-libraries.patch ./fix-avcodec-close.patch + (fetchpatch { + name = "CVE-2026-2245.patch"; + url = "https://github.com/CCExtractor/ccextractor/commit/fd7271bae238ccb3ae8a71304ea64f0886324925.patch"; + hash = "sha256-wZiJob5v4SVa5YBmiHuNvgphSi4PhTTb3hg4vs1lhVg="; + }) ] ++ finalAttrs.cargoDeps.vendorStaging.patches; diff --git a/pkgs/by-name/fr/frotz/0001-Fix-SDL_SOUND_CFLAGS-usage.patch b/pkgs/by-name/fr/frotz/0001-Fix-SDL_SOUND_CFLAGS-usage.patch new file mode 100644 index 000000000000..6e17ee19ab13 --- /dev/null +++ b/pkgs/by-name/fr/frotz/0001-Fix-SDL_SOUND_CFLAGS-usage.patch @@ -0,0 +1,38 @@ +From 8b1db0c6724640ff995c24145a9777bd49da1ce4 Mon Sep 17 00:00:00 2001 +From: Marcin Serwin +Date: Fri, 21 Nov 2025 19:11:48 +0100 +Subject: [PATCH] Fix SDL_SOUND_CFLAGS usage + +The flags were quried but unused during compilation. Also, there was a +typo in the else branch. + +Signed-off-by: Marcin Serwin +--- + src/sdl/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/sdl/Makefile b/src/sdl/Makefile +index e21477e..84a2136 100644 +--- a/src/sdl/Makefile ++++ b/src/sdl/Makefile +@@ -22,7 +22,7 @@ SDL_CFLAGS += $(shell $(PKGCONF) $(SDL_PKGS) --cflags) + SDL_SOUND_CFLAGS += $(shell $(PKGCONF) $(SDL_SOUND_PKGS) --cflags) + else + SDL_CFLAGS += $(SDL_CFLAGS_DEF) +-SD_SOUND_CFLAGS += $(SDL_SOUND_CFLAGS_DEF) ++SDL_SOUND_CFLAGS += $(SDL_SOUND_CFLAGS_DEF) + endif + + +@@ -32,7 +32,7 @@ $(TARGET): $(DEFINES) $(OBJECTS) | $(DEFINES) + @echo "** Done with SDL interface." + + %.o: %.c +- $(CC) $(CFLAGS) $(SDL_CFLAGS) -fPIC -fpic -o $@ -c $< ++ $(CC) $(CFLAGS) $(SDL_CFLAGS) $(SDL_SOUND_CFLAGS) -fPIC -fpic -o $@ -c $< + + $(DEFINES): + @echo "** Generating $@" +-- +2.51.2 + diff --git a/pkgs/by-name/fr/frotz/package.nix b/pkgs/by-name/fr/frotz/package.nix index 75d60c2eaa82..20f823d9c128 100644 --- a/pkgs/by-name/fr/frotz/package.nix +++ b/pkgs/by-name/fr/frotz/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitLab, - fetchpatch, libao, libmodplug, libsamplerate, @@ -11,28 +10,42 @@ ncurses, which, pkg-config, + SDL2, + SDL2_mixer, + zlib, + libjpeg, + libpng, + freetype, + frontend ? "ncurses", }: +assert lib.assertOneOf "frontend" frontend [ + "ncurses" + "sdl" + # NOTE: more options are present in the Makefile, e.g., x11, dumb, nosound, ... +]; +let + progName = if frontend == "ncurses" then "frotz" else "sfrotz"; +in stdenv.mkDerivation (finalAttrs: { - pname = "frotz"; - version = "2.54"; + pname = progName; + version = "2.55"; src = fetchFromGitLab { domain = "gitlab.com"; owner = "DavidGriffith"; repo = "frotz"; - rev = finalAttrs.version; - hash = "sha256-GvGxojD8d5GVy/d8h3q6K7KJroz2lsKbfE0F0acjBl8="; + tag = finalAttrs.version; + hash = "sha256-XZjimskjupTtYdgfVaOS2QnQrDIBSwkJqxrffdjgZk0="; }; patches = [ - (fetchpatch { - url = "https://github.com/macports/macports-ports/raw/496e5b91e3b6c9dc6820d77ab60dbe400d1924ee/games/frotz/files/Makefile.patch"; - extraPrefix = ""; - hash = "sha256-P83ZzSi3bhncQ52Y38Q3F/7v1SJKr5614tytt862HRg="; - }) + # https://gitlab.com/DavidGriffith/frotz/-/merge_requests/226 + ./0001-Fix-SDL_SOUND_CFLAGS-usage.patch ]; + strictDeps = true; + enableParallelBuilding = true; nativeBuildInputs = [ which pkg-config @@ -43,16 +56,37 @@ stdenv.mkDerivation (finalAttrs: { libsamplerate libsndfile libvorbis - ncurses - ]; + ] + ++ ( + if frontend == "ncurses" then + [ ncurses ] + else + [ + freetype + libjpeg + libpng + SDL2 + SDL2_mixer + zlib + ] + ); - installFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ + "PREFIX=${placeholder "out"}" + "HOMEBREW_PREFIX=/var/empty" + ]; + preConfigure = '' + makeFlagsArray+=(CURSES_CONFIG="$PKG_CONFIG ncurses") + ''; + + buildFlags = [ frontend ]; + installTargets = if frontend == "ncurses" then "install-frotz" else "install-${frontend}"; meta = { homepage = "https://davidgriffith.gitlab.io/frotz/"; changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${finalAttrs.version}/NEWS"; - description = "Z-machine interpreter for Infocom games and other interactive fiction"; - mainProgram = "frotz"; + description = "Z-machine interpreter for Infocom games and other interactive fiction (${frontend})"; + mainProgram = progName; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ nicknovitski diff --git a/pkgs/by-name/hy/hyprviz/package.nix b/pkgs/by-name/hy/hyprviz/package.nix index 34f1e8375be3..f1afb113073d 100644 --- a/pkgs/by-name/hy/hyprviz/package.nix +++ b/pkgs/by-name/hy/hyprviz/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "hyprviz"; - version = "0.7.1"; + version = "0.8.0"; src = fetchFromGitHub { owner = "timasoft"; repo = "hyprviz"; tag = "v${finalAttrs.version}"; - hash = "sha256-ar1O/Em9AcPPfbuT4xnyOwBX1IClJlFYfdPQbU/5vTk="; + hash = "sha256-5w7+fkf2oB0x5N6xlKjSPbgsB7Ifr1NWW8qWDmGyFwU="; }; - cargoHash = "sha256-BICF6nZcn/7t5X4Dj18fPD2RpEz7U1Zytt9sfHe7Xnw="; + cargoHash = "sha256-+8MKYruPjCTooiY7pxwz5oqIpk4ZidugPrVlMZ1yMI0="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/jj/jj-pre-push/package.nix b/pkgs/by-name/jj/jj-pre-push/package.nix index 9b5d9c11c3a7..375a201bbda3 100644 --- a/pkgs/by-name/jj/jj-pre-push/package.nix +++ b/pkgs/by-name/jj/jj-pre-push/package.nix @@ -21,6 +21,11 @@ python3Packages.buildPythonApplication rec { hash = "sha256-dZrZjzygT6Q7jIPkasYgJ2uN3eyPQXsg0opksookLYI="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "typer-slim" "typer" + ''; + build-system = [ python3Packages.uv-build ]; @@ -28,7 +33,7 @@ python3Packages.buildPythonApplication rec { dependencies = with python3Packages; [ - typer-slim + typer ] ++ lib.optionals withPrecommit [ pre-commit ]; diff --git a/pkgs/by-name/pd/pdfmixtool/package.nix b/pkgs/by-name/pd/pdfmixtool/package.nix index e8efb967babb..b04dc0153d2c 100644 --- a/pkgs/by-name/pd/pdfmixtool/package.nix +++ b/pkgs/by-name/pd/pdfmixtool/package.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "pdfmixtool"; - version = "1.2.1"; + version = "1.2.2"; src = fetchFromGitLab { owner = "scarpetta"; repo = "pdfmixtool"; rev = "v${finalAttrs.version}"; - hash = "sha256-UuRTMLlUIyo2RF+XjI229kkE67ybmllIy98p97PjWCE="; + hash = "sha256-+omL0WNU34BcWbsfK3FXfhp0DVWjm9Vb5OVjRCoT/IA="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/pr/presenterm/package.nix b/pkgs/by-name/pr/presenterm/package.nix index b0eef6e5731e..8adcfaadd97a 100644 --- a/pkgs/by-name/pr/presenterm/package.nix +++ b/pkgs/by-name/pr/presenterm/package.nix @@ -14,13 +14,13 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "presenterm"; - version = "0.15.1"; + version = "0.16.0"; src = fetchFromGitHub { owner = "mfontanini"; repo = "presenterm"; tag = "v${finalAttrs.version}"; - hash = "sha256-tkIw7qo7lq3rSaBG0m6HzlXt8l3dQVFSBm8P3v7adVk="; + hash = "sha256-wQP3tLa6+GZAhNkAaIrbpIMBnQD7UoH6O5N/wDKtfrQ="; }; nativeBuildInputs = @@ -35,20 +35,12 @@ rustPlatform.buildRustPackage (finalAttrs: { libsixel ]; - buildFeatures = [ - "sixel" - ]; - - cargoHash = "sha256-CLoN85A2fggTHs/AHmo43N+9Q4FGKwNmKObw+OMBFao="; + cargoHash = "sha256-mDbzZZDsGCpbOKJ9/lX23VgSH0LGzHvYo2nxnRay15A="; env = lib.optionalAttrs (isDarwin && isx86_64) { NIX_CFLAGS_LINK = "-fuse-ld=lld"; }; - checkFeatures = [ - "sixel" - ]; - checkFlags = [ # failed to load .tmpEeeeaQ: No such file or directory (os error 2) "--skip=external_snippet" diff --git a/pkgs/by-name/pr/prow/package.nix b/pkgs/by-name/pr/prow/package.nix index 42e80a9f06a5..2cbaa9757cd2 100644 --- a/pkgs/by-name/pr/prow/package.nix +++ b/pkgs/by-name/pr/prow/package.nix @@ -8,15 +8,15 @@ buildGoModule rec { pname = "prow"; - version = "0-unstable-2026-02-06"; - rev = "85e3dda3b79520c15cd101b85b52ccf4f7e1f1e6"; + version = "0-unstable-2026-02-17"; + rev = "999e46ca7aee8a1561241b965222140ebc29120c"; src = fetchFromGitHub { inherit rev; owner = "kubernetes-sigs"; repo = "prow"; - hash = "sha256-1x0RKRYi7HruNJJwAhPQ+sIcKKwdyyI3cysBQvY2Z8Y="; + hash = "sha256-EzP0Yd3cMstMhPGBD+3dUJE4NL0YnJTGip/tTDj/Rfw="; }; vendorHash = "sha256-Pv9LznRh7Nzm74gMKT2Q/VLIMIIc93en0qX6YA6TwK4="; diff --git a/pkgs/by-name/sa/salt/package.nix b/pkgs/by-name/sa/salt/package.nix index 9d15aa93d6e8..2013c1dda148 100644 --- a/pkgs/by-name/sa/salt/package.nix +++ b/pkgs/by-name/sa/salt/package.nix @@ -12,12 +12,12 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "salt"; - version = "3007.11"; + version = "3007.12"; format = "setuptools"; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-EAkO0/1kKSXRkEXNH6mJHznUkQR0AsQ2ijtzCrwUCAU="; + hash = "sha256-y7JG3aXOynH/5Uq9/mY4s6LjGWw2JPv7EgdSo9HYN5c="; }; patches = [ diff --git a/pkgs/by-name/sf/sfrotz/package.nix b/pkgs/by-name/sf/sfrotz/package.nix index 65f2359513ec..83a4b10dfc3c 100644 --- a/pkgs/by-name/sf/sfrotz/package.nix +++ b/pkgs/by-name/sf/sfrotz/package.nix @@ -1,72 +1 @@ -{ - fetchFromGitLab, - freetype, - libao, - libjpeg, - libmodplug, - libpng, - libsamplerate, - libsndfile, - libvorbis, - pkg-config, - SDL2, - SDL2_mixer, - lib, - stdenv, - zlib, -}: - -stdenv.mkDerivation (finalAttrs: { - pname = "sfrotz"; - version = "2.54"; - - src = fetchFromGitLab { - domain = "gitlab.com"; - owner = "DavidGriffith"; - repo = "frotz"; - rev = finalAttrs.version; - hash = "sha256-GvGxojD8d5GVy/d8h3q6K7KJroz2lsKbfE0F0acjBl8="; - }; - - buildInputs = [ - freetype - libao - libjpeg - libmodplug - libpng - libsamplerate - libsndfile - libvorbis - SDL2 - SDL2_mixer - zlib - ]; - nativeBuildInputs = [ pkg-config ]; - makeFlags = [ "PREFIX=${placeholder "out"}" ]; - buildPhase = "make sdl"; - installTargets = [ "install_sfrotz" ]; - - meta = { - description = "Interpreter for Infocom and other Z-Machine games (SDL interface)"; - mainProgram = "sfrotz"; - longDescription = '' - Frotz is a Z-Machine interpreter. The Z-machine is a virtual machine - designed by Infocom to run all of their text adventures. It went through - multiple revisions during the lifetime of the company, and two further - revisions (V7 and V8) were created by Graham Nelson after the company's - demise. The specification is now quite well documented; this version of - Frotz supports version 1.0. - - This version of Frotz fully supports all these versions of the Z-Machine - including the graphical version 6. Graphics and sound are created through - the use of the SDL libraries. AIFF sound effects and music in MOD and OGG - formats are supported when packaged in Blorb container files or optionally - from individual files. - ''; - homepage = "https://davidgriffith.gitlab.io/frotz/"; - changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${finalAttrs.version}/NEWS"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ ddelabru ]; - platforms = lib.platforms.linux; - }; -}) +{ frotz }: frotz.override { frontend = "sdl"; } diff --git a/pkgs/by-name/sy/sydbox/package.nix b/pkgs/by-name/sy/sydbox/package.nix index 91c1c8be8a66..9fd8a307bcac 100644 --- a/pkgs/by-name/sy/sydbox/package.nix +++ b/pkgs/by-name/sy/sydbox/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "sydbox"; - version = "3.48.7"; + version = "3.49.1"; outputs = [ "out" @@ -24,10 +24,10 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "Sydbox"; repo = "sydbox"; tag = "v${finalAttrs.version}"; - hash = "sha256-oNA0/1X0av/pd7e6lxDWidNdc+nu7fIclNwkH85Vdag="; + hash = "sha256-TFPN0KvzO+tNlt9EWEx7MC3DNC3+CzHJn2MfMWpwOp4="; }; - cargoHash = "sha256-U8Q1OGHfM4o7QYSh7e0yuB7RdIN02z21ZnHfCMfrL74="; + cargoHash = "sha256-yrsJrZ4rDBYlapz/O+1l4h6MIAgZ0PpYm68OFfeHb8A="; nativeBuildInputs = [ mandoc diff --git a/pkgs/by-name/ya/yabridge/hardcode-dependencies.patch b/pkgs/by-name/ya/yabridge/hardcode-dependencies.patch index beb4766c8561..581780f1cd33 100644 --- a/pkgs/by-name/ya/yabridge/hardcode-dependencies.patch +++ b/pkgs/by-name/ya/yabridge/hardcode-dependencies.patch @@ -1,16 +1,3 @@ -diff --git a/meson.build b/meson.build -index 9e69128d..8c53ac88 100644 ---- a/meson.build -+++ b/meson.build -@@ -226,7 +226,7 @@ if is_64bit_system - xcb_64bit_dep = dependency('xcb') - endif - if with_bitbridge -- xcb_32bit_dep = winegcc.find_library('xcb') -+ xcb_32bit_dep = winegcc.find_library('xcb', dirs: ['@libxcb32@/lib']) - endif - - # These are all headers-only libraries, and thus won't require separate 32-bit diff --git a/src/common/notifications.cpp b/src/common/notifications.cpp index 654b6c83..78ba2fe7 100644 --- a/src/common/notifications.cpp diff --git a/pkgs/by-name/ya/yabridge/package.nix b/pkgs/by-name/ya/yabridge/package.nix index 0735d19ddfc5..e5f0ee796df9 100644 --- a/pkgs/by-name/ya/yabridge/package.nix +++ b/pkgs/by-name/ya/yabridge/package.nix @@ -1,9 +1,8 @@ { lib, - multiStdenv, + stdenv, fetchFromGitHub, replaceVars, - pkgsi686Linux, dbus, meson, ninja, @@ -73,7 +72,7 @@ let hash = "sha256-LsPHPoAL21XOKmF1Wl/tvLJGzjaCLjaDAcUtDvXdXSU="; }; in -multiStdenv.mkDerivation (finalAttrs: { +stdenv.mkDerivation (finalAttrs: { pname = "yabridge"; version = "5.1.1"; @@ -105,7 +104,6 @@ multiStdenv.mkDerivation (finalAttrs: { # Hard code bitbridge & runtime dependencies (replaceVars ./hardcode-dependencies.patch { libdbus = dbus.lib; - libxcb32 = pkgsi686Linux.libxcb; inherit wine; }) @@ -140,7 +138,7 @@ multiStdenv.mkDerivation (finalAttrs: { mesonFlags = [ "--cross-file" "cross-wine.conf" - "-Dbitbridge=true" + "-Dbitbridge=false" # Requires CMake and is unnecessary "-Dtomlplusplus:generate_cmake_config=false" @@ -149,7 +147,7 @@ multiStdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall mkdir -p "$out/bin" "$out/lib" - cp yabridge-host{,-32}.exe{,.so} "$out/bin" + cp yabridge-host.exe{,.so} "$out/bin" cp libyabridge{,-chainloader}-{vst2,vst3,clap}.so "$out/lib" runHook postInstall ''; diff --git a/pkgs/by-name/ya/yarg/package.nix b/pkgs/by-name/ya/yarg/package.nix index 97349be2aac9..c127687c805f 100644 --- a/pkgs/by-name/ya/yarg/package.nix +++ b/pkgs/by-name/ya/yarg/package.nix @@ -26,12 +26,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "yarg"; - version = "0.13.2"; + version = "0.14.0"; src = fetchzip { url = "https://github.com/YARC-Official/YARG/releases/download/v${finalAttrs.version}/YARG_v${finalAttrs.version}-Linux-x86_64.zip"; stripRoot = false; - hash = "sha256-TcX4O0TDesuBMbUH8Lp6wLM8A5xzXH9Pl7vCMEIhQvE="; + hash = "sha256-l83tnEO9hHFiaks7D/y9D1HJKihU7+cvsvkbIKkNeuk="; }; nativeBuildInputs = [ autoPatchelfHook ]; diff --git a/pkgs/by-name/zr/zrepl/package.nix b/pkgs/by-name/zr/zrepl/package.nix index 1f1a8c7999b4..319af942b54e 100644 --- a/pkgs/by-name/zr/zrepl/package.nix +++ b/pkgs/by-name/zr/zrepl/package.nix @@ -8,16 +8,16 @@ }: buildGoModule (finalAttrs: { pname = "zrepl"; - version = "0.6.1"; + version = "0.7.0"; src = fetchFromGitHub { owner = "zrepl"; repo = "zrepl"; - rev = "v${finalAttrs.version}"; - sha256 = "sha256-sFSWcJ0aBMay+ngUqnr0PKBMOfCcKHgBjff6KRpPZrg="; + tag = "v${finalAttrs.version}"; + hash = "sha256-D2ADK1mX6Aq0I2fBeNLZeJ0GdxWxi2ApiZqT4b72yf4="; }; - vendorHash = "sha256-75fGejR7eiECsm1j3yIU1lAWaW9GrorrVnv8JEzkAtU="; + vendorHash = "sha256-yu/bKkcWhHJSQPU2F4C58RC7geVTVEcXHlV0DRn/sUs="; subPackages = [ "." ]; @@ -46,6 +46,7 @@ buildGoModule (finalAttrs: { meta = { homepage = "https://zrepl.github.io/"; + changelog = "https://github.com/zrepl/zrepl/releases/tag/${finalAttrs.src.tag}"; description = "One-stop, integrated solution for ZFS replication"; platforms = lib.platforms.linux; license = lib.licenses.mit; diff --git a/pkgs/development/compilers/dart/default.nix b/pkgs/development/compilers/dart/default.nix index 9e3aa9394cc5..2b9e0e0763a4 100644 --- a/pkgs/development/compilers/dart/default.nix +++ b/pkgs/development/compilers/dart/default.nix @@ -3,7 +3,6 @@ stdenv, fetchurl, unzip, - bintools, versionCheckHook, runCommand, cctools, @@ -48,7 +47,12 @@ stdenv.mkDerivation (finalAttrs: { cp -R . $out '' + lib.optionalString (stdenv.hostPlatform.isLinux) '' - find $out/bin -executable -type f -exec patchelf --set-interpreter ${bintools.dynamicLinker} {} \; + find $out/bin -type f -executable | while read f; do + if patchelf --print-interpreter "$f" >/dev/null 2>&1; then + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${lib.makeLibraryPath [ (lib.getLib stdenv.cc.cc) ]}" "$f" + fi + done '' + '' runHook postInstall diff --git a/pkgs/development/compilers/dart/source/custom-flags.patch b/pkgs/development/compilers/dart/source/custom-flags.patch new file mode 100644 index 000000000000..30e6ec1b6057 --- /dev/null +++ b/pkgs/development/compilers/dart/source/custom-flags.patch @@ -0,0 +1,15 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index b041a075..27dc22ed 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -430,6 +430,10 @@ config("compiler") { + } + } + ++ cflags_c += string_split(getenv("CFLAGS"), " ") ++ cflags_cc += string_split(getenv("CXXFLAGS"), " ") ++ ldflags += string_split(getenv("LDFLAGS"), " ") ++ + # Assign any flags set for the C compiler to asmflags so that they are sent + # to the assembler. The Windows assembler takes different types of flags + # so only do so for posix platforms. diff --git a/pkgs/development/compilers/dart/source/default.nix b/pkgs/development/compilers/dart/source/default.nix new file mode 100644 index 000000000000..135bb642370c --- /dev/null +++ b/pkgs/development/compilers/dart/source/default.nix @@ -0,0 +1,261 @@ +{ + bintools, + buildPackages, + callPackage, + cacert, + curlMinimal, + dart, + debug ? false, + fetchurl, + gn, + gitMinimal, + gitSetupHook, + icu, + jq, + lib, + nix-update, + pax-utils, + pkg-config, + python312, + ripgrep, + runCommand, + samurai, + stdenv, + versionCheckHook, + writeShellScript, + writeText, + zlib, +}: + +let + version = "3.11.0"; + + tools = callPackage ../../flutter/engine/tools.nix { inherit (stdenv) hostPlatform buildPlatform; }; + + getArchInfo = + platform: + let + arch = if platform.isx86_64 then "x64" else platform.linuxArch; + in + { + inherit arch; + outSuffix = lib.strings.toUpper arch; + }; + + targetArchInfo = getArchInfo stdenv.hostPlatform; + + buildArchInfo = getArchInfo stdenv.buildPlatform; + + python3 = python312.withPackages ( + ps: with ps; [ + httplib2 + six + ] + ); + + src = + runCommand "dart-source-deps" + { + pname = "dart-source-deps"; + inherit version; + + nativeBuildInputs = [ + cacert + curlMinimal + gitMinimal + pax-utils + python3 + tools.cipd + ]; + + env = { + NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + DEPOT_TOOLS_UPDATE = "0"; + DEPOT_TOOLS_COLLECT_METRICS = "0"; + PYTHONDONTWRITEBYTECODE = "1"; + CIPD_HTTP_USER_AGENT = "standard-nix-build"; + }; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "sha256-7y6kNpjWpc8+4Rhv+GuMnV5xHCQ5om2/3woZOJ8wYSc="; + } + '' + mkdir source + cd source + source ${../../../../build-support/fetchgit/deterministic-git} + export -f clean_git + export -f make_deterministic_repo + cp ${writeText ".gclient" '' + solutions = [{ + 'name': 'sdk', + 'url': 'https://dart.googlesource.com/sdk.git@${version}', + }] + target_os = ['linux'] + target_cpu = ['x64', 'arm64', 'riscv64'] + target_cpu_only = True + ''} .gclient + export PATH=${python3}/bin:$PATH:${tools.depot_tools} + python3 ${tools.depot_tools}/gclient.py sync --no-history --nohooks --noprehooks + find sdk -name ".versions" -type d -exec rm -rf {} + + rm --recursive --force sdk/buildtools/sysroot + rm --recursive --force sdk/buildtools/linux-arm64 + rm --recursive --force sdk/buildtools/reclient + rm --recursive --force sdk/buildtools/*/clang + find sdk -type f \( -name "*.snapshot" -o -name "*.dill" -o -name "*.sym" \) -delete + rm --recursive --force sdk/tools/sdks/dart-sdk + find . -type l ! -exec test -e {} \; -delete + find . -name "ChangeLog*" -delete + rm --force .gclient .gclient_entries .gclient_previous_sync_commits .last_sync_hashes + rm --recursive --force .cipd .cipd_cache + find . -name ".git" -type d -prune -exec rm --recursive --force {} + + find . -name ".git*" -exec rm --recursive --force {} + + find . \( \ + -name ".build-id" -o \ + -name ".svn" -o \ + -name "*~" -o \ + -name "#*#" \ + \) -exec rm --recursive --force {} + + for elf in $(scanelf --recursive --all --format "%F" sdk | sort); do + rm --force "$elf" + done + find . -name "__pycache__" -type d -exec rm --recursive --force {} + + find . -name "*.pyc" -delete + cp --recursive sdk $out + ''; +in +dart.overrideAttrs (oldAttrs: { + inherit version src; + + nativeBuildInputs = [ + gitMinimal + gitSetupHook + python312 + ripgrep + pkg-config + ]; + + buildInputs = lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ + icu + zlib + ]; + + patches = [ + ./gcc13.patch + ./zlib-not-found.patch + ./custom-flags.patch + ] + ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ + ./unbundle.patch + ./unbundle-icu.patch + ]; + + postPatch = '' + sed --in-place 's/"-fsanitize=memory"//g' build/config/compiler/BUILD.gn + patchShebangs runtime/tools/ + sed --in-place 's/ldflags = pkgresult\[4\]/ldflags = []/' build/config/linux/pkg_config.gni + cp ${ + fetchurl { + url = "https://raw.githubusercontent.com/chromium/chromium/631a813125b886a52274653144019fd1681a0e97/build/config/linux/pkg-config.py"; + hash = "sha256-9coRpgCewlkFXSGrMVkudaZUll0IFc9jDRBP+2PloOI="; + } + } build/config/linux/pkg-config.py + '' + + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + sed --in-place "s/default='pkg-config'/default='${stdenv.cc.targetPrefix}pkg-config'/g" build/config/linux/pkg-config.py + mkdir --parents .bin-tools + ln --symbolic $(command -v ${buildPackages.stdenv.cc.targetPrefix}g++) .bin-tools/${stdenv.buildPlatform.parsed.cpu.name}-linux-gnu-g++ + ln --symbolic $(command -v ${buildPackages.stdenv.cc.targetPrefix}gcc) .bin-tools/${stdenv.buildPlatform.parsed.cpu.name}-linux-gnu-gcc + ln --symbolic $(command -v ${buildPackages.stdenv.cc.targetPrefix}ar) .bin-tools/${stdenv.buildPlatform.parsed.cpu.name}-linux-gnu-ar + export PATH=$PWD/.bin-tools:$PATH + '' + + '' + ln --symbolic ${buildPackages.dart} tools/sdks/dart-sdk + ln --symbolic --force ${lib.getExe buildPackages.gn} buildtools/gn + mkdir --parents buildtools/ninja + ln --symbolic --force ${lib.getExe buildPackages.samurai} buildtools/ninja/ninja + python3 tools/generate_package_config.py + python3 tools/generate_sdk_version_file.py + echo "" > tools/bots/dartdoc_footer.html + rm third_party/devtools/web/devtools_analytics.js + JOBS_COUNT=''${NIX_BUILD_CORES:-2} + rg --no-ignore -l 'google-analytics\.com' . \ + | rg -v "\.map\$" \ + | xargs --no-run-if-empty -t -n 1 -P "$JOBS_COUNT" \ + sed --in-place --regexp-extended 's|([^/]+\.)?google-analytics\.com|0\.0\.0\.0|g' + rg --no-ignore -l 'UA-[0-9]+-[0-9]+' . \ + | xargs --no-run-if-empty -t -n 1 -P "$JOBS_COUNT" \ + sed --in-place --regexp-extended 's|UA-[0-9]+-[0-9]+|UA-2137-0|g' + '' + + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + for _lib in icu zlib; do + find . -type f -path "*third_party/$_lib/*" \ + \! -path "*third_party/$_lib/chromium/*" \ + \! -path "*third_party/$_lib/google/*" \ + \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \ + -delete + done + python3 build/linux/unbundle/replace_gn_files.py --system-libraries icu zlib + '' + + '' + git init + git add . + git commit --message="stub" --quiet + ''; + + buildPhase = '' + runHook preBuild + + python3 ./tools/build.py \ + --no-clang \ + --mode=${if debug then "debug" else "release"} \ + --arch=${targetArchInfo.arch} \ + --gn-args="${targetArchInfo.arch}_toolchain_prefix=\"${stdenv.cc}/bin/${stdenv.cc.targetPrefix}\"" \ + '' + + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + --gn-args="dart_target_arch=\"${targetArchInfo.arch}\"" \ + --gn-args="dart_host_arch=\"${buildArchInfo.arch}\"" \ + --gn-args="${buildArchInfo.arch}_toolchain_prefix=\"${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}\"" \ + --gn-args="host_cpu=\"${buildArchInfo.arch}\"" \ + --gn-args="dart_force_runtime_snapshot_deps=true" \ + --gn-args="host_toolchain_prefix=\"${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}\"" \ + --gn-args="target_cpu=\"${targetArchInfo.arch}\"" \ + '' + + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' + --gn-args="dart_embed_icu_data=false dart_snapshot_kind=\"app-jit\"" \ + '' + + '' + --gn-args="dart_sysroot=\"\"" \ + --no-verify-sdk-hash \ + create_sdk runtime + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + pushd out/${if debug then "Debug" else "Release"}${ + if (stdenv.hostPlatform == stdenv.buildPlatform) then targetArchInfo.outSuffix else "*" + }/dart-sdk + rm LICENSE README revision + cp --recursive . $out + popd + + runHook postInstall + ''; + + passthru.updateScript = writeShellScript "update-dart" '' + ${lib.getExe nix-update} --version=$(${lib.getExe curlMinimal} --fail --location --silent https://storage.googleapis.com/dart-archive/channels/stable/release/latest/VERSION | ${lib.getExe jq} --raw-output .version) + ''; + + meta = oldAttrs.meta // { + platforms = [ + "aarch64-linux" + "x86_64-linux" + ]; + sourceProvenance = [ lib.sourceTypes.fromSource ]; + }; +}) diff --git a/pkgs/development/compilers/dart/source/gcc13.patch b/pkgs/development/compilers/dart/source/gcc13.patch new file mode 100644 index 000000000000..e7ac784fa607 --- /dev/null +++ b/pkgs/development/compilers/dart/source/gcc13.patch @@ -0,0 +1,20 @@ +--- a/runtime/bin/ffi_test/ffi_test_functions_generated.cc ++++ b/runtime/bin/ffi_test/ffi_test_functions_generated.cc +@@ -11,6 +11,7 @@ + #include + + #include ++#include + #include + #include + +--- a/runtime/bin/ffi_test/ffi_test_functions.cc ++++ b/runtime/bin/ffi_test/ffi_test_functions.cc +@@ -13,6 +13,7 @@ + #include + + #include ++#include + #include + #include + diff --git a/pkgs/development/compilers/dart/source/unbundle-icu.patch b/pkgs/development/compilers/dart/source/unbundle-icu.patch new file mode 100644 index 000000000000..eac4b77a8f82 --- /dev/null +++ b/pkgs/development/compilers/dart/source/unbundle-icu.patch @@ -0,0 +1,64 @@ +From 0d936b3e64e1e629bd29fa4dd84240f5c5344092 Mon Sep 17 00:00:00 2001 +From: LN Liberda +Date: Tue, 26 Nov 2024 19:28:59 +0100 +Subject: [PATCH] build: option to not embed icu data + +Bug: none +--- + runtime/bin/BUILD.gn | 11 ++++++++--- + runtime/runtime_args.gni | 3 +++ + 2 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn +index 90dc09a0c02..8f88873dc18 100644 +--- a/runtime/bin/BUILD.gn ++++ b/runtime/bin/BUILD.gn +@@ -795,7 +795,6 @@ template("dart_executable") { + } + deps = [ + ":crashpad", +- ":icudtl_cc", + "//third_party/boringssl", + "//third_party/icu:icui18n", + "//third_party/icu:icuuc", +@@ -804,7 +803,11 @@ template("dart_executable") { + if (is_fuchsia) { + deps += [ "$fuchsia_sdk/pkg/fdio" ] + } +- defines = [ "DART_EMBED_ICU_DATA" ] + extra_defines ++ defines = extra_defines ++ if (dart_embed_icu_data) { ++ defines += [ "DART_EMBED_ICU_DATA" ] ++ deps += [ ":icudtl_cc" ] ++ } + if (exclude_kernel_service) { + defines += [ "EXCLUDE_CFE_AND_KERNEL_PLATFORM" ] + } +@@ -1004,10 +1004,12 @@ + "..:add_empty_macho_section_config", + ] + extra_deps = [ +- ":icudtl_cc", + "..:libdart_aotruntime", + "../platform:libdart_platform_aotruntime", + ] ++ if (dart_embed_icu_data) { ++ extra_deps += [":icudtl_cc"] ++ } + extra_sources = [ + "builtin.cc", + "gzip.cc", +diff --git a/runtime/runtime_args.gni b/runtime/runtime_args.gni +index fbcfeb157fb..061e8f74a5c 100644 +--- a/runtime/runtime_args.gni ++++ b/runtime/runtime_args.gni +@@ -77,6 +77,9 @@ declare_args() { + + # Whether to support dynamic loading and interpretation of Dart bytecode. + dart_dynamic_modules = false ++ ++ # Whether to embed ICU data inside the runtime binary. ++ dart_embed_icu_data = true + } + + declare_args() { diff --git a/pkgs/development/compilers/dart/source/unbundle.patch b/pkgs/development/compilers/dart/source/unbundle.patch new file mode 100644 index 000000000000..c115ae90169a --- /dev/null +++ b/pkgs/development/compilers/dart/source/unbundle.patch @@ -0,0 +1,439 @@ +diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn +new file mode 100644 +index 00000000000..9e54d4efe4e +--- /dev/null ++++ b/build/linux/unbundle/icu.gn +@@ -0,0 +1,262 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++group("icu") { ++ public_deps = [ ++ ":icui18n", ++ ":icuuc", ++ ] ++} ++ ++config("icu_config") { ++ defines = [ ++ "USING_SYSTEM_ICU=1", ++ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", ++ ++ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility ++ # on classes through the U_COMMON_API and U_I18N_API macros (among others). ++ # When linking against the system ICU library, we want its symbols to have ++ # public LTO visibility. This disables CFI checks for the ICU classes and ++ # allows whole-program optimization to be applied to the rest of Chromium. ++ # ++ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only ++ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because ++ # we override the default system UCHAR_TYPE (char16_t), it is not possible ++ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API ++ # and U_I18N_API macros are set to U_IMPORT which is an empty definition. ++ # ++ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply ++ # public visibility (and thus public LTO visibility) to all ICU classes is ++ # to define U_IMPORT to have the same value as U_EXPORT. For more details, ++ # please see: https://crbug.com/822820 ++ "U_IMPORT=U_EXPORT", ++ ] ++} ++ ++pkg_config("system_icui18n") { ++ packages = [ "icu-i18n" ] ++} ++ ++pkg_config("system_icuuc") { ++ packages = [ "icu-uc" ] ++} ++ ++source_set("icui18n") { ++ public_deps = [ ":icui18n_shim" ] ++ public_configs = [ ++ ":icu_config", ++ ":system_icui18n", ++ ] ++} ++ ++source_set("icuuc") { ++ public_deps = [ ":icuuc_shim" ] ++ public_configs = [ ++ ":icu_config", ++ ":system_icuuc", ++ ] ++} ++ ++group("icui18n_hidden_visibility") { ++ public_deps = [ ":icui18n" ] ++} ++ ++group("icuuc_hidden_visibility") { ++ public_deps = [ ":icuuc" ] ++} ++ ++shim_headers("icui18n_shim") { ++ root_path = "source/i18n" ++ headers = [ ++ # This list can easily be updated using the commands below: ++ # cd third_party/icu/source/i18n ++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u ++ "unicode/alphaindex.h", ++ "unicode/basictz.h", ++ "unicode/calendar.h", ++ "unicode/choicfmt.h", ++ "unicode/coleitr.h", ++ "unicode/coll.h", ++ "unicode/compactdecimalformat.h", ++ "unicode/curramt.h", ++ "unicode/currpinf.h", ++ "unicode/currunit.h", ++ "unicode/datefmt.h", ++ "unicode/dcfmtsym.h", ++ "unicode/decimfmt.h", ++ "unicode/dtfmtsym.h", ++ "unicode/dtitvfmt.h", ++ "unicode/dtitvinf.h", ++ "unicode/dtptngen.h", ++ "unicode/dtrule.h", ++ "unicode/fieldpos.h", ++ "unicode/fmtable.h", ++ "unicode/format.h", ++ "unicode/fpositer.h", ++ "unicode/gender.h", ++ "unicode/gregocal.h", ++ "unicode/listformatter.h", ++ "unicode/measfmt.h", ++ "unicode/measunit.h", ++ "unicode/measure.h", ++ "unicode/msgfmt.h", ++ "unicode/numfmt.h", ++ "unicode/numsys.h", ++ "unicode/plurfmt.h", ++ "unicode/plurrule.h", ++ "unicode/rbnf.h", ++ "unicode/rbtz.h", ++ "unicode/regex.h", ++ "unicode/region.h", ++ "unicode/reldatefmt.h", ++ "unicode/scientificnumberformatter.h", ++ "unicode/search.h", ++ "unicode/selfmt.h", ++ "unicode/simpletz.h", ++ "unicode/smpdtfmt.h", ++ "unicode/sortkey.h", ++ "unicode/stsearch.h", ++ "unicode/tblcoll.h", ++ "unicode/timezone.h", ++ "unicode/tmunit.h", ++ "unicode/tmutamt.h", ++ "unicode/tmutfmt.h", ++ "unicode/translit.h", ++ "unicode/tzfmt.h", ++ "unicode/tznames.h", ++ "unicode/tzrule.h", ++ "unicode/tztrans.h", ++ "unicode/ucal.h", ++ "unicode/ucol.h", ++ "unicode/ucoleitr.h", ++ "unicode/ucsdet.h", ++ "unicode/udat.h", ++ "unicode/udateintervalformat.h", ++ "unicode/udatpg.h", ++ "unicode/ufieldpositer.h", ++ "unicode/uformattable.h", ++ "unicode/ugender.h", ++ "unicode/ulocdata.h", ++ "unicode/umsg.h", ++ "unicode/unirepl.h", ++ "unicode/unum.h", ++ "unicode/unumsys.h", ++ "unicode/upluralrules.h", ++ "unicode/uregex.h", ++ "unicode/uregion.h", ++ "unicode/ureldatefmt.h", ++ "unicode/usearch.h", ++ "unicode/uspoof.h", ++ "unicode/utmscale.h", ++ "unicode/utrans.h", ++ "unicode/vtzone.h", ++ ] ++} ++ ++shim_headers("icuuc_shim") { ++ root_path = "source/common" ++ headers = [ ++ # This list can easily be updated using the commands below: ++ # cd third_party/icu/source/common ++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u ++ "unicode/appendable.h", ++ "unicode/brkiter.h", ++ "unicode/bytestream.h", ++ "unicode/bytestrie.h", ++ "unicode/bytestriebuilder.h", ++ "unicode/caniter.h", ++ "unicode/casemap.h", ++ "unicode/char16ptr.h", ++ "unicode/chariter.h", ++ "unicode/dbbi.h", ++ "unicode/docmain.h", ++ "unicode/dtintrv.h", ++ "unicode/edits.h", ++ "unicode/enumset.h", ++ "unicode/errorcode.h", ++ "unicode/filteredbrk.h", ++ "unicode/icudataver.h", ++ "unicode/icuplug.h", ++ "unicode/idna.h", ++ "unicode/localematcher.h", ++ "unicode/localpointer.h", ++ "unicode/locdspnm.h", ++ "unicode/locid.h", ++ "unicode/messagepattern.h", ++ "unicode/normalizer2.h", ++ "unicode/normlzr.h", ++ "unicode/parseerr.h", ++ "unicode/parsepos.h", ++ "unicode/platform.h", ++ "unicode/ptypes.h", ++ "unicode/putil.h", ++ "unicode/rbbi.h", ++ "unicode/rep.h", ++ "unicode/resbund.h", ++ "unicode/schriter.h", ++ "unicode/simpleformatter.h", ++ "unicode/std_string.h", ++ "unicode/strenum.h", ++ "unicode/stringpiece.h", ++ "unicode/stringtriebuilder.h", ++ "unicode/symtable.h", ++ "unicode/ubidi.h", ++ "unicode/ubiditransform.h", ++ "unicode/ubrk.h", ++ "unicode/ucasemap.h", ++ "unicode/ucat.h", ++ "unicode/uchar.h", ++ "unicode/ucharstrie.h", ++ "unicode/ucharstriebuilder.h", ++ "unicode/uchriter.h", ++ "unicode/uclean.h", ++ "unicode/ucnv.h", ++ "unicode/ucnv_cb.h", ++ "unicode/ucnv_err.h", ++ "unicode/ucnvsel.h", ++ "unicode/uconfig.h", ++ "unicode/ucurr.h", ++ "unicode/udata.h", ++ "unicode/udisplaycontext.h", ++ "unicode/uenum.h", ++ "unicode/uidna.h", ++ "unicode/uiter.h", ++ "unicode/uldnames.h", ++ "unicode/ulistformatter.h", ++ "unicode/uloc.h", ++ "unicode/umachine.h", ++ "unicode/umisc.h", ++ "unicode/unifilt.h", ++ "unicode/unifunct.h", ++ "unicode/unimatch.h", ++ "unicode/uniset.h", ++ "unicode/unistr.h", ++ "unicode/unorm.h", ++ "unicode/unorm2.h", ++ "unicode/uobject.h", ++ "unicode/urename.h", ++ "unicode/urep.h", ++ "unicode/ures.h", ++ "unicode/uscript.h", ++ "unicode/uset.h", ++ "unicode/usetiter.h", ++ "unicode/ushape.h", ++ "unicode/usprep.h", ++ "unicode/ustring.h", ++ "unicode/ustringtrie.h", ++ "unicode/utext.h", ++ "unicode/utf.h", ++ "unicode/utf16.h", ++ "unicode/utf32.h", ++ "unicode/utf8.h", ++ "unicode/utf_old.h", ++ "unicode/utrace.h", ++ "unicode/utypes.h", ++ "unicode/uvernum.h", ++ "unicode/uversion.h", ++ ] ++} +diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/replace_gn_files.py +new file mode 100755 +index 00000000000..1aed7bca99d +--- /dev/null ++++ b/build/linux/unbundle/replace_gn_files.py +@@ -0,0 +1,65 @@ ++#!/usr/bin/env python3 ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++""" ++Replaces GN files in tree with files from here that ++make the build use system libraries. ++""" ++ ++import argparse ++import os ++import shutil ++import sys ++ ++ ++REPLACEMENTS = { ++ 'icu': 'third_party/icu/BUILD.gn', ++ 'protobuf': 'build/secondary/third_party/protobuf/BUILD.gn', ++ 'zlib': 'third_party/zlib/BUILD.gn', ++} ++ ++ ++def DoMain(argv): ++ my_dirname = os.path.dirname(__file__) ++ source_tree_root = os.path.abspath( ++ os.path.join(my_dirname, '..', '..', '..')) ++ ++ parser = argparse.ArgumentParser() ++ parser.add_argument('--system-libraries', nargs='*', default=[]) ++ parser.add_argument('--undo', action='store_true') ++ ++ args = parser.parse_args(argv) ++ ++ handled_libraries = set() ++ for lib, path in REPLACEMENTS.items(): ++ if lib not in args.system_libraries: ++ continue ++ handled_libraries.add(lib) ++ ++ if args.undo: ++ # Restore original file, and also remove the backup. ++ # This is meant to restore the source tree to its original state. ++ os.rename(os.path.join(source_tree_root, path + '.orig'), ++ os.path.join(source_tree_root, path)) ++ else: ++ # Create a backup copy for --undo. ++ shutil.copyfile(os.path.join(source_tree_root, path), ++ os.path.join(source_tree_root, path + '.orig')) ++ ++ # Copy the GN file from directory of this script to target path. ++ shutil.copyfile(os.path.join(my_dirname, '%s.gn' % lib), ++ os.path.join(source_tree_root, path)) ++ ++ unhandled_libraries = set(args.system_libraries) - handled_libraries ++ if unhandled_libraries: ++ print('Unrecognized system libraries requested: %s' % ', '.join( ++ sorted(unhandled_libraries)), file=sys.stderr) ++ return 1 ++ ++ return 0 ++ ++ ++if __name__ == '__main__': ++ sys.exit(DoMain(sys.argv[1:])) +diff --git a/build/linux/unbundle/zlib.gn b/build/linux/unbundle/zlib.gn +new file mode 100644 +index 00000000000..fa2bbffd25f +--- /dev/null ++++ b/build/linux/unbundle/zlib.gn +@@ -0,0 +1,63 @@ ++# Copyright 2016 The Chromium Authors ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/shim_headers.gni") ++ ++shim_headers("zlib_shim") { ++ root_path = "." ++ headers = [ "zlib.h" ] ++ additional_includes = [ "third_party" ] ++ ++} ++ ++config("system_zlib") { ++ defines = [ "USE_SYSTEM_ZLIB=1" ] ++} ++ ++config("zlib_config") { ++ configs = [ ":system_zlib" ] ++} ++ ++source_set("zlib") { ++ public_deps = [ ":zlib_shim" ] ++ libs = [ "z" ] ++ public_configs = [ ":system_zlib" ] ++} ++ ++shim_headers("minizip_shim") { ++ root_path = "contrib" ++ headers = [ ++ "minizip/crypt.h", ++ "minizip/ioapi.h", ++ "minizip/iowin32.h", ++ "minizip/mztools.h", ++ "minizip/unzip.h", ++ "minizip/zip.h", ++ ] ++} ++ ++source_set("minizip") { ++ deps = [ ":minizip_shim" ] ++ libs = [ "minizip" ] ++} ++ ++static_library("zip") { ++ sources = [ ++ "google/zip.cc", ++ "google/zip.h", ++ "google/zip_internal.cc", ++ "google/zip_internal.h", ++ "google/zip_reader.cc", ++ "google/zip_reader.h", ++ ] ++ deps = [ ":minizip" ] ++} ++ ++static_library("compression_utils") { ++ sources = [ ++ "google/compression_utils.cc", ++ "google/compression_utils.h", ++ ] ++ deps = [ ":zlib" ] ++} +diff --git a/build/shim_headers.gni b/build/shim_headers.gni +index dc57d12ed0c..1d24e0ad00e 100644 +--- a/build/shim_headers.gni ++++ b/build/shim_headers.gni +@@ -7,6 +7,11 @@ template("shim_headers") { + shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}" + config(config_name) { + include_dirs = [ shim_headers_path ] ++ if (defined(invoker.additional_includes)) { ++ foreach(i, invoker.additional_includes) { ++ include_dirs += [ shim_headers_path + "/" + i ] ++ } ++ } + } + action(action_name) { + script = "//tools/generate_shim_headers.py" +@@ -26,11 +31,12 @@ template("shim_headers") { + args += invoker.headers + outputs = [] + foreach(h, invoker.headers) { +- outputs += [ shim_headers_path + "/" + rebase_path(invoker.root_path,"//") + "/" + h ] ++ outputs += [ shim_headers_path + "/" + ++ rebase_path(invoker.root_path, "//") + "/" + h ] + } + } + group(target_name) { +- deps = [ ":${action_name}" ] ++ public_deps = [ ":${action_name}" ] + all_dependent_configs = [ ":${config_name}" ] + } + } diff --git a/pkgs/development/compilers/dart/source/zlib-not-found.patch b/pkgs/development/compilers/dart/source/zlib-not-found.patch new file mode 100644 index 000000000000..d5ab150ef653 --- /dev/null +++ b/pkgs/development/compilers/dart/source/zlib-not-found.patch @@ -0,0 +1,10 @@ +--- a/runtime/bin/BUILD.gn ++++ b/runtime/bin/BUILD.gn +@@ -1152,6 +1152,7 @@ + deps = [ + "//third_party/boringssl", # for secure_socket_utils_test + "//third_party/perfetto:libprotozero", # for timeline_test ++ "//third_party/zlib", # for gzip + ] + + if (is_fuchsia) { diff --git a/pkgs/development/ocaml-modules/synchronizer/default.nix b/pkgs/development/ocaml-modules/synchronizer/default.nix index 519c55ba9bdf..46a59432947b 100644 --- a/pkgs/development/ocaml-modules/synchronizer/default.nix +++ b/pkgs/development/ocaml-modules/synchronizer/default.nix @@ -8,7 +8,7 @@ buildDunePackage (finalAttrs: { pname = "synchronizer"; - version = "0.2"; + version = "0.3"; minimalOCamlVersion = "5.1"; @@ -16,7 +16,7 @@ buildDunePackage (finalAttrs: { owner = "OCamlPro"; repo = "synchronizer"; tag = finalAttrs.version; - hash = "sha256-0XtPHpDlyH1h8W2ZlRvJbZjCN9WP5mzk2N01WFd8eLQ="; + hash = "sha256-zomP15CRV6pFK3yk9hMCSDHPk11hEqXiRw8vr2Dg0CI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/aiosolaredge/default.nix b/pkgs/development/python-modules/aiosolaredge/default.nix index 5fd9bc08a973..661a21d74495 100644 --- a/pkgs/development/python-modules/aiosolaredge/default.nix +++ b/pkgs/development/python-modules/aiosolaredge/default.nix @@ -5,26 +5,24 @@ poetry-core, aiohttp, yarl, + aioresponses, pytest-asyncio, + pytest-cov-stub, pytestCheckHook, }: buildPythonPackage rec { pname = "aiosolaredge"; - version = "0.2.0"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "bdraco"; repo = "aiosolaredge"; tag = "v${version}"; - hash = "sha256-1C74U5HWDTJum1XES21t1uIJwm0YW3l041mwvqY/dA4="; + hash = "sha256-1RdkYcdhhU+MaP91iJ1tSrL0OlUi6Il1XBXnmRYhC7g="; }; - postPatch = '' - sed -i "/^addopts/d" pyproject.toml - ''; - build-system = [ poetry-core ]; dependencies = [ @@ -35,12 +33,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "aiosolaredge" ]; nativeCheckInputs = [ + aioresponses pytest-asyncio + pytest-cov-stub pytestCheckHook ]; meta = { - changelog = "https://github.com/bdraco/aiosolaredge/blob/${src.rev}/CHANGELOG.md"; + changelog = "https://github.com/bdraco/aiosolaredge/blob/${src.tag}/CHANGELOG.md"; description = "Asyncio SolarEdge API client"; homepage = "https://github.com/bdraco/aiosolaredge"; license = lib.licenses.mit; diff --git a/pkgs/development/python-modules/debugpy/default.nix b/pkgs/development/python-modules/debugpy/default.nix index fd39445427b2..27255ab899cd 100644 --- a/pkgs/development/python-modules/debugpy/default.nix +++ b/pkgs/development/python-modules/debugpy/default.nix @@ -25,7 +25,7 @@ buildPythonPackage rec { pname = "debugpy"; - version = "1.8.19"; + version = "1.8.20"; pyproject = true; src = fetchFromGitHub { @@ -42,7 +42,7 @@ buildPythonPackage rec { sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${src.tag})"/' "$out/src/debugpy/_version.py" ''; - hash = "sha256-O9RHqyV7xMMnouCp4t18CNH/z2jBxZBUkybAw1c2gY0="; + hash = "sha256-0h2VQU5eYb0heXSFmKnwAFW0jcWc+bYllhwxfdzkGWc="; }; patches = [ diff --git a/pkgs/development/python-modules/django-allauth/default.nix b/pkgs/development/python-modules/django-allauth/default.nix index 033982391633..89cd09f6543a 100644 --- a/pkgs/development/python-modules/django-allauth/default.nix +++ b/pkgs/development/python-modules/django-allauth/default.nix @@ -41,14 +41,14 @@ buildPythonPackage rec { pname = "django-allauth"; - version = "65.14.0"; + version = "65.14.3"; pyproject = true; src = fetchFromCodeberg { owner = "allauth"; repo = "django-allauth"; tag = version; - hash = "sha256-hoPNSMzn/bX98Qe+7guaLK8UhA5FfHpUCjzN6hCXVgs="; + hash = "sha256-Kr6iYN+qM1ZdtQAJ9Ks+zC70AiiUi2IY2O/G9S+tTmI="; }; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/development/python-modules/mastodon-py/default.nix b/pkgs/development/python-modules/mastodon-py/default.nix index 6444f9e521f3..4e12dbb633bd 100644 --- a/pkgs/development/python-modules/mastodon-py/default.nix +++ b/pkgs/development/python-modules/mastodon-py/default.nix @@ -5,6 +5,7 @@ blurhash, cryptography, decorator, + fetchpatch, graphemeu, http-ece, python-dateutil, @@ -30,6 +31,14 @@ buildPythonPackage rec { hash = "sha256-i3HMT8cabSl664UK3eopJQ9bDBpGCgbHTvBJkgeoxd8="; }; + patches = [ + # Switch dependency from unmaintained `grapheme` to `graphemeu` + (fetchpatch { + url = "https://github.com/halcy/Mastodon.py/commit/939c7508414e950922c518260a9ba5a5853aeef2.patch"; + hash = "sha256-XBiAFxYUBNyynld++UwPGIIg9j+3/EF2jGqiysVqYRM="; + }) + ]; + build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix index 79a23cdeae7e..98c085edba15 100644 --- a/pkgs/development/python-modules/pyturbojpeg/default.nix +++ b/pkgs/development/python-modules/pyturbojpeg/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pyturbojpeg"; - version = "1.8.2"; + version = "2.0.0"; pyproject = true; src = fetchFromGitHub { owner = "lilohuang"; repo = "PyTurboJPEG"; tag = "v${version}"; - hash = "sha256-zyLNIo7hQuzTlEgdvri3bSnAiRRKKup57tfCIxiBq24="; + hash = "sha256-yITX+6mP8AihaTFjZG9A5U6pAUTdPy6UDbbjnznwuqI="; }; patches = [ diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix index 6cf36fd5e46f..fccc6585cbdb 100644 --- a/pkgs/development/python-modules/reportlab/default.nix +++ b/pkgs/development/python-modules/reportlab/default.nix @@ -17,7 +17,7 @@ let in buildPythonPackage rec { pname = "reportlab"; - version = "4.4.9"; + version = "4.4.10"; pyproject = true; # See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit @@ -25,7 +25,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - hash = "sha256-fPSHdkKU7nkaR4H1oVe+vOJipmauS7uHeGdgqWdsk3g="; + hash = "sha256-XLuzSsNUYDnQCG3rKTjN7AaxLaPNuDboEyWOszzShIc="; }; postPatch = '' diff --git a/pkgs/development/python-modules/simsimd/default.nix b/pkgs/development/python-modules/simsimd/default.nix index 80a72332edfb..c5dd1981d72e 100644 --- a/pkgs/development/python-modules/simsimd/default.nix +++ b/pkgs/development/python-modules/simsimd/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "simsimd"; - version = "6.5.12"; + version = "6.5.13"; pyproject = true; src = fetchFromGitHub { owner = "ashvardanian"; repo = "SimSIMD"; tag = "v${version}"; - hash = "sha256-4mgWm4FcTGf9DNc39GOjK9jnyev7hIeODjpnuIz6f1k="; + hash = "sha256-jNJ44jCPcs83HbLSkup6eeCL0Hf+SyU4RzyQAyuPJ94="; }; build-system = [ diff --git a/pkgs/development/python-modules/sphinx-autodoc2/default.nix b/pkgs/development/python-modules/sphinx-autodoc2/default.nix index a0cf4db57cab..4607a2f13ffa 100644 --- a/pkgs/development/python-modules/sphinx-autodoc2/default.nix +++ b/pkgs/development/python-modules/sphinx-autodoc2/default.nix @@ -47,8 +47,7 @@ buildPythonPackage (finalAttrs: { # cli deps typer - ] - ++ typer.optional-dependencies.standard; + ]; preCheck = '' # make sphinx_path an alias of pathlib.Path, since sphinx_path was removed in Sphinx v7.2.0 diff --git a/pkgs/development/python-modules/typer-injector/default.nix b/pkgs/development/python-modules/typer-injector/default.nix index 109ae7c7b796..b65096ff5aa6 100644 --- a/pkgs/development/python-modules/typer-injector/default.nix +++ b/pkgs/development/python-modules/typer-injector/default.nix @@ -5,7 +5,7 @@ hatchling, lib, pytestCheckHook, - typer-slim, + typer, }: buildPythonPackage rec { @@ -20,13 +20,18 @@ buildPythonPackage rec { hash = "sha256-nwEYFw+4jeF/SoaZWR51VWRezqBFjGoLiVgJWdPNoIk="; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "typer-slim" "typer" + ''; + build-system = [ hatch-vcs hatchling ]; dependencies = [ - typer-slim + typer ]; pythonImportsCheck = [ "typer_injector" ]; diff --git a/pkgs/development/python-modules/typer-slim/default.nix b/pkgs/development/python-modules/typer-slim/default.nix deleted file mode 100644 index 71bda750278c..000000000000 --- a/pkgs/development/python-modules/typer-slim/default.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ - lib, - stdenv, - buildPythonPackage, - fetchFromGitHub, - - # build-system - pdm-backend, - - # dependencies - click, - typing-extensions, - - # optional-dependencies - rich, - shellingham, - - # tests - pytest-xdist, - pytestCheckHook, - writableTmpDirAsHomeHook, - procps, -}: - -buildPythonPackage rec { - pname = "typer-slim"; - version = "0.21.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "fastapi"; - repo = "typer"; - tag = version; - hash = "sha256-MvrwHemciLa2m0QUTZNuCLa7x63RKWFzJ5k6Ask25ZY="; - }; - - postPatch = '' - for f in $(find tests -type f -print); do - # replace `sys.executable -m coverage run` with `sys.executable` - sed -z -i 's/"-m",\n\?\s*"coverage",\n\?\s*"run",//g' "$f" - done - ''; - - env.TIANGOLO_BUILD_PACKAGE = "typer-slim"; - - build-system = [ pdm-backend ]; - - dependencies = [ - click - typing-extensions - ]; - - optional-dependencies = { - standard = [ - rich - shellingham - ]; - }; - - nativeCheckInputs = [ - pytest-xdist - pytestCheckHook - writableTmpDirAsHomeHook - ] - ++ lib.concatAttrValues optional-dependencies - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - procps - ]; - - disabledTests = [ - "test_scripts" - # Likely related to https://github.com/sarugaku/shellingham/issues/35 - # fails also on Linux - "test_show_completion" - "test_install_completion" - ] - ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - "test_install_completion" - ]; - - pythonImportsCheck = [ "typer" ]; - - meta = { - description = "Library for building CLI applications"; - homepage = "https://typer.tiangolo.com/"; - changelog = "https://github.com/tiangolo/typer/releases/tag/${version}"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ winpat ]; - }; -} diff --git a/pkgs/development/python-modules/typer/default.nix b/pkgs/development/python-modules/typer/default.nix index 6e1daa7b91e0..c9bc634b3549 100644 --- a/pkgs/development/python-modules/typer/default.nix +++ b/pkgs/development/python-modules/typer/default.nix @@ -1,20 +1,84 @@ { lib, - mkPythonMetaPackage, - typer-slim, + stdenv, + buildPythonPackage, + fetchFromGitHub, + + # build-system + pdm-backend, + + # dependencies + annotated-doc, + click, + + # optional-dependencies + rich, + shellingham, + + # tests + pytest-xdist, + pytestCheckHook, + writableTmpDirAsHomeHook, + procps, }: -mkPythonMetaPackage { +buildPythonPackage rec { pname = "typer"; - inherit (typer-slim) version optional-dependencies; - dependencies = [ typer-slim ] ++ typer-slim.optional-dependencies.standard; + version = "0.24.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "fastapi"; + repo = "typer"; + tag = version; + hash = "sha256-ha/cT2+I9/WUjb7ZXSKqLSocZ3vq0N1fm4RvRpsXIDc="; + }; + + postPatch = '' + for f in $(find tests -type f -print); do + # replace `sys.executable -m coverage run` with `sys.executable` + sed -z -i 's/"-m",\n\?\s*"coverage",\n\?\s*"run",//g' "$f" + done + ''; + + env.TIANGOLO_BUILD_PACKAGE = "typer"; + + build-system = [ pdm-backend ]; + + dependencies = [ + annotated-doc + click + rich + shellingham + ]; + + nativeCheckInputs = [ + pytest-xdist + pytestCheckHook + writableTmpDirAsHomeHook + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + procps + ]; + + disabledTests = [ + "test_scripts" + # Likely related to https://github.com/sarugaku/shellingham/issues/35 + # fails also on Linux + "test_show_completion" + "test_install_completion" + ] + ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ + "test_install_completion" + ]; + + pythonImportsCheck = [ "typer" ]; + meta = { - inherit (typer-slim.meta) - changelog - description - homepage - license - maintainers - ; + description = "Library for building CLI applications"; + homepage = "https://typer.tiangolo.com/"; + changelog = "https://github.com/tiangolo/typer/releases/tag/${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ winpat ]; }; } diff --git a/pkgs/development/python-modules/vl-convert-python/default.nix b/pkgs/development/python-modules/vl-convert-python/default.nix index 48245b2a670c..3b9b13413fc4 100644 --- a/pkgs/development/python-modules/vl-convert-python/default.nix +++ b/pkgs/development/python-modules/vl-convert-python/default.nix @@ -55,6 +55,6 @@ buildPythonPackage rec { license = lib.licenses.bsd3; homepage = "https://github.com/vega/vl-convert"; changelog = "https://github.com/vega/vl-convert/releases/tag/v${version}"; - maintainers = with lib.maintainers; [ antonmosich ]; + maintainers = [ ]; }; } diff --git a/pkgs/development/python-modules/weasel/default.nix b/pkgs/development/python-modules/weasel/default.nix index aedf6e86ea44..fb4b108a66bf 100644 --- a/pkgs/development/python-modules/weasel/default.nix +++ b/pkgs/development/python-modules/weasel/default.nix @@ -14,7 +14,7 @@ requests, smart-open, srsly, - typer-slim, + typer, wasabi, # tests @@ -33,6 +33,11 @@ buildPythonPackage rec { hash = "sha256-Xd7cJlUi/a8gwtnuO9wqZiHT1xVMbp6V6Ha+Kyr4tFE="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail "typer-slim" "typer" + ''; + build-system = [ setuptools ]; dependencies = [ @@ -43,7 +48,7 @@ buildPythonPackage rec { requests smart-open srsly - typer-slim + typer wasabi ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ac1f77c709c7..fbc504abb334 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12765,6 +12765,13 @@ with pkgs; dart = callPackage ../development/compilers/dart { }; + inherit + ({ + dart-source = callPackage ../development/compilers/dart/source { }; + }) + dart-source + ; + pub2nix = recurseIntoAttrs (callPackage ../build-support/dart/pub2nix { }); buildDartApplication = callPackage ../build-support/dart/build-dart-application { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index a857b821c257..11f124e7d701 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -27,6 +27,26 @@ let lib.mapAttrs ( n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias)) ) aliases; + + warnAlias = + msg: v: + if lib.isDerivation v then + lib.warnOnInstantiate msg v + else if lib.isAttrs v then + lib.mapAttrs (_: lib.warn msg) v + else if lib.isFunction v then + arg: lib.warn msg (v arg) + else if lib.isList v then + map (lib.warn msg) v + else + # Can’t do better than this, and a `throw` would be more + # disruptive for users… + # + # `nix search` flags up warnings already, so hopefully this won’t + # make things much worse until we have proper CI for aliases, + # especially since aliases of paths and numbers are presumably + # not common. + lib.warn msg v; in ### Deprecated aliases - for backward compatibility @@ -519,6 +539,7 @@ mapAliases { tvdb_api = throw "'tvdb_api' has been renamed to/replaced by 'tvdb-api'"; # Converted to throw 2025-10-29 tweedledum = throw "'tweedledum' has been removed due to lack of upstream maintenance."; # Added 2025-11-22 typed-ast = throw "typed-ast was removed because it went end of life in July 2023"; # added 2025-05-24 + typer-slim = warnAlias "typer-slim was an alias package of typer that only depended on it and has been removed." typer; # added 2026-02-16 types-typed-ast = throw "types-typed-ast was removed because so was typed-ast"; # added 2025-05-24 typesentry = throw "typesentry was removed because it was broken and unmaintained"; # added 2026-02-02 typesystem = throw "'typesystem' has been removed as it was broken, unmaintained, and archived upstream"; # Added 2025-11-27 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e7aedf94dae3..c92fd0b9d7f3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -19604,8 +19604,6 @@ self: super: with self; { typer-shell = callPackage ../development/python-modules/typer-shell { }; - typer-slim = callPackage ../development/python-modules/typer-slim { }; - types-aiobotocore = callPackage ../development/python-modules/types-aiobotocore { }; inherit (callPackage ../development/python-modules/types-aiobotocore-packages { })