mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-12 02:40:31 +08:00
darktable: fix build by using Saxon XSLT processor
The build was failing due to inconsistent ID generation in XSLT
transformations. The generate_prefs.xsl uses generate-id() which
produces different IDs between function declarations and their usage
when using libxslt.
Switching to Saxon XSLT processor resolves this issue as it handles
generate-id() more consistently.
(cherry picked from commit 3bed64fa4e)
https://hydra.nixos.org/build/303791497
This commit is contained in:
committed by
Vladimír Čunát
parent
6fc8e96d63
commit
89399783f5
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
runCommand,
|
||||
|
||||
# nativeBuildInputs
|
||||
cmake,
|
||||
@@ -12,6 +13,7 @@
|
||||
perl,
|
||||
pkg-config,
|
||||
wrapGAppsHook3,
|
||||
saxon,
|
||||
|
||||
# buildInputs
|
||||
SDL2,
|
||||
@@ -52,7 +54,6 @@
|
||||
libtiff,
|
||||
libwebp,
|
||||
libxml2,
|
||||
libxslt,
|
||||
lua,
|
||||
util-linux,
|
||||
openexr,
|
||||
@@ -79,6 +80,17 @@
|
||||
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.0.1";
|
||||
pname = "darktable";
|
||||
@@ -97,6 +109,7 @@ stdenv.mkDerivation rec {
|
||||
perl
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
saxon-xslt # Use Saxon instead of libxslt to fix XSLT generate-id() consistency issues
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -137,7 +150,6 @@ stdenv.mkDerivation rec {
|
||||
libtiff
|
||||
libwebp
|
||||
libxml2
|
||||
libxslt
|
||||
lua
|
||||
openexr
|
||||
openjpeg
|
||||
|
||||
Reference in New Issue
Block a user