adoptopenjdk-bin: add support for GTK+ Look and Feel
This commit is contained in:
parent
1afd76b098
commit
714eca6967
1 changed files with 36 additions and 6 deletions
|
@ -4,16 +4,31 @@ sourcePerArch:
|
||||||
, lib
|
, lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, autoPatchelfHook
|
, autoPatchelfHook
|
||||||
|
, makeWrapper
|
||||||
|
# minimum dependencies
|
||||||
, alsaLib
|
, alsaLib
|
||||||
, freetype
|
|
||||||
, fontconfig
|
, fontconfig
|
||||||
, zlib
|
, freetype
|
||||||
, xorg
|
|
||||||
, libffi
|
, libffi
|
||||||
|
, xorg
|
||||||
|
, zlib
|
||||||
|
# runtime dependencies
|
||||||
|
, cups
|
||||||
|
# runtime dependencies for GTK+ Look and Feel
|
||||||
|
, gtkSupport ? true
|
||||||
|
, cairo
|
||||||
|
, glib
|
||||||
|
, gtk3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
cpuName = stdenv.hostPlatform.parsed.cpu.name;
|
cpuName = stdenv.hostPlatform.parsed.cpu.name;
|
||||||
|
runtimeDependencies = [
|
||||||
|
cups
|
||||||
|
] ++ lib.optionals gtkSupport [
|
||||||
|
cairo glib gtk3
|
||||||
|
];
|
||||||
|
runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
|
||||||
in
|
in
|
||||||
|
|
||||||
let result = stdenv.mkDerivation rec {
|
let result = stdenv.mkDerivation rec {
|
||||||
|
@ -28,11 +43,19 @@ let result = stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
alsaLib freetype fontconfig zlib xorg.libX11 xorg.libXext xorg.libXtst
|
alsaLib # libasound.so wanted by lib/libjsound.so
|
||||||
xorg.libXi xorg.libXrender stdenv.cc.cc.lib
|
fontconfig
|
||||||
|
freetype
|
||||||
|
stdenv.cc.cc.lib # libstdc++.so.6
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXrender
|
||||||
|
xorg.libXtst
|
||||||
|
zlib
|
||||||
] ++ lib.optional stdenv.isAarch32 libffi;
|
] ++ lib.optional stdenv.isAarch32 libffi;
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
|
||||||
|
|
||||||
# See: https://github.com/NixOS/patchelf/issues/10
|
# See: https://github.com/NixOS/patchelf/issues/10
|
||||||
dontStrip = 1;
|
dontStrip = 1;
|
||||||
|
@ -57,6 +80,13 @@ let result = stdenv.mkDerivation rec {
|
||||||
cat <<EOF >> "$out/nix-support/setup-hook"
|
cat <<EOF >> "$out/nix-support/setup-hook"
|
||||||
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
|
if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# We cannot use -exec since wrapProgram is a function but not a command.
|
||||||
|
for bin in $( find "$out" -executable -type f ); do
|
||||||
|
if patchelf --print-interpreter "$bin" &> /dev/null; then
|
||||||
|
wrapProgram "$bin" --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
|
Loading…
Reference in a new issue