uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
157
pkgs/development/libraries/gdk-pixbuf/default.nix
Normal file
157
pkgs/development/libraries/gdk-pixbuf/default.nix
Normal file
|
|
@ -0,0 +1,157 @@
|
|||
{ stdenv
|
||||
, fetchurl
|
||||
, nixosTests
|
||||
, fixDarwinDylibNames
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gettext
|
||||
, python3
|
||||
, libxslt
|
||||
, docbook-xsl-nons
|
||||
, docbook_xml_dtd_43
|
||||
, gi-docgen
|
||||
, glib
|
||||
, libtiff
|
||||
, libjpeg
|
||||
, libpng
|
||||
, gnome
|
||||
, doCheck ? false
|
||||
, makeWrapper
|
||||
, lib
|
||||
, withIntrospection ? (stdenv.buildPlatform == stdenv.hostPlatform)
|
||||
, gobject-introspection
|
||||
}:
|
||||
|
||||
let
|
||||
withGtkDoc = stdenv.buildPlatform == stdenv.hostPlatform;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gdk-pixbuf";
|
||||
version = "2.42.8";
|
||||
|
||||
outputs = [ "out" "dev" "man" ]
|
||||
++ lib.optional withGtkDoc "devdoc"
|
||||
++ lib.optional (stdenv.buildPlatform == stdenv.hostPlatform) "installedTests";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "hKzqOsskEbKRNLMgFaWxqqYoRLGcSx74uJccawdZ9MY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Move installed tests to a separate output
|
||||
./installed-tests-path.patch
|
||||
];
|
||||
|
||||
# gdk-pixbuf-thumbnailer is not wrapped therefore strictDeps will work
|
||||
strictDeps = true;
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gettext
|
||||
python3
|
||||
makeWrapper
|
||||
glib
|
||||
gi-docgen
|
||||
|
||||
# for man pages
|
||||
libxslt
|
||||
docbook-xsl-nons
|
||||
docbook_xml_dtd_43
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
fixDarwinDylibNames
|
||||
] ++ lib.optionals withIntrospection [
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
glib
|
||||
libtiff
|
||||
libjpeg
|
||||
libpng
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dgtk_doc=${lib.boolToString withGtkDoc}"
|
||||
"-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
|
||||
"-Dgio_sniffing=false"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x build-aux/* # patchShebangs only applies to executables
|
||||
patchShebangs build-aux
|
||||
|
||||
substituteInPlace tests/meson.build --subst-var-by installedtestsprefix "$installedTests"
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
PATH=$PATH:$out/bin # for install script
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
''
|
||||
# All except one utility seem to be only useful during building.
|
||||
moveToOutput "bin" "$dev"
|
||||
moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"
|
||||
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# meson erroneously installs loaders with .dylib extension on Darwin.
|
||||
# Their @rpath has to be replaced before gdk-pixbuf-query-loaders looks at them.
|
||||
for f in $out/${passthru.moduleDir}/*.dylib; do
|
||||
install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f
|
||||
mv $f ''${f%.dylib}.so
|
||||
done
|
||||
'' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||
# We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
|
||||
$dev/bin/gdk-pixbuf-query-loaders --update-cache
|
||||
'';
|
||||
|
||||
# The fixDarwinDylibNames hook doesn't patch binaries.
|
||||
preFixup = lib.optionalString stdenv.isDarwin ''
|
||||
for f in $out/bin/* $dev/bin/*; do
|
||||
install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f
|
||||
done
|
||||
'';
|
||||
|
||||
postFixup = lib.optionalString withGtkDoc ''
|
||||
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
|
||||
moveToOutput "share/doc" "$devdoc"
|
||||
'';
|
||||
|
||||
# The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
|
||||
inherit doCheck;
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
separateDebugInfo = stdenv.isLinux;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
versionPolicy = "odd-unstable";
|
||||
};
|
||||
|
||||
tests = {
|
||||
installedTests = nixosTests.installed-tests.gdk-pixbuf;
|
||||
};
|
||||
|
||||
# gdk_pixbuf_moduledir variable from gdk-pixbuf-2.0.pc
|
||||
moduleDir = "lib/gdk-pixbuf-2.0/2.10.0/loaders";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A library for image loading and manipulation";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/gdk-pixbuf";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = [ maintainers.eelco ] ++ teams.gnome.members;
|
||||
mainProgram = "gdk-pixbuf-thumbnailer";
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -85,8 +85,8 @@
|
||||
'aero.gif',
|
||||
]
|
||||
|
||||
-installed_test_bindir = join_paths(gdk_pixbuf_libexecdir, 'installed-tests', meson.project_name())
|
||||
-installed_test_datadir = join_paths(gdk_pixbuf_datadir, 'installed-tests', meson.project_name())
|
||||
+installed_test_bindir = join_paths('@installedtestsprefix@', 'libexec', 'installed-tests', meson.project_name())
|
||||
+installed_test_datadir = join_paths('@installedtestsprefix@', 'share', 'installed-tests', meson.project_name())
|
||||
|
||||
install_data(test_data, install_dir: installed_test_bindir)
|
||||
install_subdir('test-images', install_dir: installed_test_bindir)
|
||||
17
pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
Normal file
17
pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
findGdkPixbufLoaders() {
|
||||
|
||||
# choose the longest loaders.cache
|
||||
local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
|
||||
if [[ -f "$loadersCache" ]]; then
|
||||
if [[ -f "${GDK_PIXBUF_MODULE_FILE-}" ]]; then
|
||||
if (( "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" )); then
|
||||
export GDK_PIXBUF_MODULE_FILE="$loadersCache"
|
||||
fi
|
||||
else
|
||||
export GDK_PIXBUF_MODULE_FILE="$loadersCache"
|
||||
fi
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
addEnvHooks "$targetOffset" findGdkPixbufLoaders
|
||||
52
pkgs/development/libraries/gdk-pixbuf/xlib.nix
Normal file
52
pkgs/development/libraries/gdk-pixbuf/xlib.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, docbook-xsl-nons
|
||||
, docbook_xml_dtd_43
|
||||
, gtk-doc
|
||||
, gdk-pixbuf
|
||||
, libX11
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gdk-pixbuf-xlib";
|
||||
version = "2.40.2";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "Archive";
|
||||
repo = "gdk-pixbuf-xlib";
|
||||
rev = version;
|
||||
hash = "sha256-b4EUaYzg2NlBMU90dGQivOvkv9KKSzES/ymPqzrelu8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
docbook-xsl-nons
|
||||
docbook_xml_dtd_43
|
||||
gtk-doc
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gdk-pixbuf
|
||||
libX11
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Dgtk_doc=true"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Deprecated API for integrating GdkPixbuf with Xlib data types";
|
||||
homepage = "https://gitlab.gnome.org/Archive/gdk-pixbuf-xlib";
|
||||
maintainers = teams.gnome.members;
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue