From 2b10f117913a1314f152f479193cb4bb065965b4 Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Sun, 17 Aug 2025 23:20:26 +0200 Subject: [PATCH 1/8] saxon: add -xslt symlink Some projects that expect to be built on debian/ubuntu search for saxon-xslt instead of saxon. --- pkgs/by-name/da/darktable/package.nix | 14 +------------- pkgs/development/libraries/java/saxon/default.nix | 4 ++++ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/pkgs/by-name/da/darktable/package.nix b/pkgs/by-name/da/darktable/package.nix index c16b1712b958..ebd9a93d58c1 100644 --- a/pkgs/by-name/da/darktable/package.nix +++ b/pkgs/by-name/da/darktable/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchurl, - runCommand, # nativeBuildInputs cmake, @@ -80,17 +79,6 @@ gitUpdater, }: -let - # Create a wrapper for saxon to provide saxon-xslt command - saxon-xslt = runCommand "saxon-xslt" { } '' - mkdir -p $out/bin - cat > $out/bin/saxon-xslt << 'EOF' - #!/bin/sh - exec ${saxon}/bin/saxon "$@" - EOF - chmod +x $out/bin/saxon-xslt - ''; -in stdenv.mkDerivation rec { version = "5.2.1"; pname = "darktable"; @@ -109,7 +97,7 @@ stdenv.mkDerivation rec { perl pkg-config wrapGAppsHook3 - saxon-xslt # Use Saxon instead of libxslt to fix XSLT generate-id() consistency issues + saxon # Use Saxon instead of libxslt to fix XSLT generate-id() consistency issues ]; buildInputs = [ diff --git a/pkgs/development/libraries/java/saxon/default.nix b/pkgs/development/libraries/java/saxon/default.nix index 60f8d574eed4..0892bd2ddc7a 100644 --- a/pkgs/development/libraries/java/saxon/default.nix +++ b/pkgs/development/libraries/java/saxon/default.nix @@ -53,6 +53,10 @@ let mkdir -p $out/bin makeWrapper ${lib.getExe jre} $out/bin/${mainProgram} \ --add-flags "-jar $out/share/java/${jar'}.jar" + + # Other distributions like debian distribute it as saxon*-xslt, + # this makes compilling packages that target other distros easier. + ln -s $out/bin/${mainProgram} $out/bin/${mainProgram}-xslt '' + lib.optionalString (versionAtLeast finalAttrs.version "11") '' mv lib $out/share/java From 99e583be0061af440e4a9717f4193d2923ff2348 Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Fri, 8 Aug 2025 17:33:31 +0200 Subject: [PATCH 2/8] ansel: fix compilation use saxon instead of libxslt like darktable remove insecure libsoup_2_4 move libxml2 to buildInputs --- pkgs/by-name/an/ansel/package.nix | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 89e301c54729..b5701f4f5094 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -11,7 +11,6 @@ lib, stdenv, fetchFromGitHub, - libxslt, libxml2, cmake, exiftool, @@ -45,7 +44,6 @@ isocodes, libpsl, libepoxy, - libsoup_2_4, exiv2, libXtst, libthai, @@ -61,6 +59,7 @@ libgcrypt, graphicsmagick, unstableGitUpdater, + saxon, }: let @@ -103,11 +102,11 @@ stdenv.mkDerivation { desktop-file-utils exiftool intltool - libxml2 pkg-config perlPackages.perl python3Packages.jsonschema wrapGAppsHook3 + saxon ]; buildInputs = [ @@ -142,13 +141,12 @@ stdenv.mkDerivation { libsecret libselinux libsepol - libsoup_2_4 libsysprof-capture libthai libwebp libXdmcp libxkbcommon - libxslt + libxml2 libXtst openexr openjpeg @@ -174,11 +172,6 @@ stdenv.mkDerivation { hardcodeZeroVersion = true; }; - # cmake can't find the binary itself - cmakeFlags = [ - (lib.cmakeFeature "Xsltproc_BIN" (lib.getExe' libxslt "xsltproc")) - ]; - meta = { description = "Darktable fork minus the bloat plus some design vision"; homepage = "https://ansel.photos/"; From e3a4e203832c907d17fce059fb7d7d170f0281a1 Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Fri, 8 Aug 2025 17:58:43 +0200 Subject: [PATCH 3/8] ansel: remove special version of libavif ansel works with the current version of libavif --- pkgs/by-name/an/ansel/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index b5701f4f5094..0b5875953d13 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -127,7 +127,7 @@ stdenv.mkDerivation { lcms lensfun libaom - libavif_0_11 + libavif libdatrie libde265 libepoxy From 913cca4d065035c23f3e30646f45c20fd74aa0bb Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Fri, 8 Aug 2025 19:19:49 +0200 Subject: [PATCH 4/8] ansel: sort inputs --- pkgs/by-name/an/ansel/package.nix | 108 +++++++++++++++--------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 0b5875953d13..34cad1d4f353 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -1,65 +1,65 @@ { - libsepol, - libavif, bash, - curl, - librsvg, - libselinux, - util-linux, - libwebp, - libheif, - lib, - stdenv, - fetchFromGitHub, - libxml2, cmake, - exiftool, - openexr, - glib, - python3Packages, - perlPackages, - lensfun, - intltool, - pkg-config, - desktop-file-utils, - libffi, - gtk3, - libjpeg, - pugixml, - pcre, - pcre2, - lcms, - sqlite, - json-glib, - jasper, - libsecret, - gmic, - icu, colord, colord-gtk, - libaom, - libdatrie, - libsysprof-capture, - libde265, - isocodes, - libpsl, - libepoxy, - exiv2, - libXtst, - libthai, - x265, - libXdmcp, - openjpeg, - libgpg-error, - libxkbcommon, - osm-gps-map, - wrapGAppsHook3, - rav1e, + curl, dav1d, - libgcrypt, + desktop-file-utils, + exiftool, + exiv2, + fetchFromGitHub, + glib, + gmic, graphicsmagick, - unstableGitUpdater, + gtk3, + icu, + intltool, + isocodes, + jasper, + json-glib, + lcms, + lensfun, + lib, + libaom, + libavif, + libdatrie, + libde265, + libepoxy, + libffi, + libgcrypt, + libgpg-error, + libheif, + libjpeg, + libpsl, + librsvg, + libsecret, + libselinux, + libsepol, + libsysprof-capture, + libthai, + libwebp, + libXdmcp, + libxkbcommon, + libxml2, + libXtst, + openexr, + openjpeg, + osm-gps-map, + pcre, + pcre2, + perlPackages, + pkg-config, + pugixml, + python3Packages, + rav1e, saxon, + sqlite, + stdenv, + unstableGitUpdater, + util-linux, + wrapGAppsHook3, + x265, }: let From 35bb4a9dac05c2ff5faabf109ec83f5568afb5a5 Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Fri, 8 Aug 2025 20:26:22 +0200 Subject: [PATCH 5/8] ansel: add missing dependencies --- pkgs/by-name/an/ansel/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 34cad1d4f353..f8b85d6b96af 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -20,6 +20,7 @@ json-glib, lcms, lensfun, + lerc, lib, libaom, libavif, @@ -36,6 +37,7 @@ libsecret, libselinux, libsepol, + libsoup_3, libsysprof-capture, libthai, libwebp, @@ -43,6 +45,7 @@ libxkbcommon, libxml2, libXtst, + llvmPackages, openexr, openjpeg, osm-gps-map, @@ -102,6 +105,7 @@ stdenv.mkDerivation { desktop-file-utils exiftool intltool + llvmPackages.llvm pkg-config perlPackages.perl python3Packages.jsonschema @@ -126,6 +130,7 @@ stdenv.mkDerivation { jasper lcms lensfun + lerc libaom libavif libdatrie @@ -141,6 +146,7 @@ stdenv.mkDerivation { libsecret libselinux libsepol + libsoup_3 libsysprof-capture libthai libwebp From a1d176f3a3b93da501e21ac1407c9d3734192992 Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Fri, 8 Aug 2025 20:48:07 +0200 Subject: [PATCH 6/8] ansel: remove pcre from buildInputs The upstream documentation does not require it We do not have any error message or warning without it either --- pkgs/by-name/an/ansel/package.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index f8b85d6b96af..6902a97d6de6 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -49,7 +49,6 @@ openexr, openjpeg, osm-gps-map, - pcre, pcre2, perlPackages, pkg-config, @@ -157,7 +156,6 @@ stdenv.mkDerivation { openexr openjpeg osm-gps-map - pcre pcre2 perlPackages.Po4a pugixml From fabd6242e2a79380358be3695bdf85b5b03ea598 Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Fri, 8 Aug 2025 20:58:36 +0200 Subject: [PATCH 7/8] ansel: tell the build script we package ansel We set BINARY_PACKAGE_BUILD=1 This removes the use of -march=native and also compiles some low-level function for different vector instruction sets The upstream repo uses it in ci and packaging instructions. --- pkgs/by-name/an/ansel/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index 6902a97d6de6..f0c317a1e3fb 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -170,6 +170,9 @@ stdenv.mkDerivation { --prefix LD_LIBRARY_PATH ":" "$out/lib/ansel" ) ''; + cmakeFlags = [ + "-DBINARY_PACKAGE_BUILD=1" + ]; passthru.updateScript = unstableGitUpdater { # Tags inherited from Darktable, + a "nightly" 0.0.0 tag that new artefacts get attached to From ecb90c5bc8096868fb2434c8fc264f43d012ce4a Mon Sep 17 00:00:00 2001 From: Marc Bornand Date: Fri, 8 Aug 2025 21:20:07 +0200 Subject: [PATCH 8/8] ansel: add mbornand as maintainer --- maintainers/maintainer-list.nix | 6 ++++++ pkgs/by-name/an/ansel/package.nix | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4323b94b5762..abe5e2acaee2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16017,6 +16017,12 @@ githubId = 51356; name = "Mathieu Boespflug"; }; + mBornand = { + email = "dev.mbornand@systemb.ch"; + github = "mBornand"; + githubId = 63592189; + name = "Marc Bornand"; + }; mbprtpmnr = { name = "mbprtpmnr"; email = "mbprtpmnr@pm.me"; diff --git a/pkgs/by-name/an/ansel/package.nix b/pkgs/by-name/an/ansel/package.nix index f0c317a1e3fb..4f94568f3568 100644 --- a/pkgs/by-name/an/ansel/package.nix +++ b/pkgs/by-name/an/ansel/package.nix @@ -183,7 +183,7 @@ stdenv.mkDerivation { description = "Darktable fork minus the bloat plus some design vision"; homepage = "https://ansel.photos/"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ ]; + maintainers = with lib.maintainers; [ mBornand ]; mainProgram = "ansel"; platforms = lib.platforms.linux; };