Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gdk_pixbuf: 2.36.7 → 2.36.11 #36312

Merged
merged 1 commit into from
Mar 22, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 32 additions & 15 deletions pkgs/development/libraries/gdk-pixbuf/default.nix
Original file line number Diff line number Diff line change
@@ -1,47 +1,64 @@
{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, gnome3
, jasper, libintlOrEmpty, gobjectIntrospection, doCheck ? false }:
{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
, docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
, jasper, shared-mime-info, libintlOrEmpty, gobjectIntrospection, doCheck ? false, makeWrapper }:

let
pname = "gdk-pixbuf";
version = "2.36.7";
# TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
# which apparently requires access to shared-mime-info files during runtime.
version = "2.36.11";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";

src = fetchurl {
url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
sha256 = "1b6e5eef09d98f05f383014ecd3503e25dfb03d7e5b5f5904e5a65b049a6a4d8";
sha256 = "1wz2vpciwdpdv612s8kbww08q80hgcs5dxrfsxp1a4q44n3snqmf";
};

outputs = [ "out" "dev" "devdoc" ];
outputs = [ "out" "dev" "man" "devdoc" ];

setupHook = ./setup-hook.sh;

enableParallelBuilding = true;

# !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
buildInputs = [ libX11 gobjectIntrospection ] ++ libintlOrEmpty;
buildInputs = [ libX11 ] ++ stdenv.lib.optional (!stdenv.isDarwin) shared-mime-info ++ libintlOrEmpty;

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [
meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43
gtk-doc gobjectIntrospection makeWrapper
];

propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];

configureFlags = "--with-libjasper --with-x11"
+ stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
;
mesonFlags = [
# with_ & enable_will be removed in the future
"-Dwith_docs=true"
"-Denable_jasper=true"
"-Dx11=true" # will be added in the future (default atm)
"-Dwith_gir=${if gobjectIntrospection != null then "true" else "false"}"
];

# on darwin, tests don't link
preBuild = stdenv.lib.optionalString (stdenv.isDarwin && !doCheck) ''
substituteInPlace Makefile --replace "docs tests" "docs"
postPatch = ''
chmod +x build-aux/* # patchShebangs only applies to executables
patchShebangs build-aux
'';

postInstall =
# All except one utility seem to be only useful during building.
''
moveToOutput "bin" "$dev"
moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"

# We require runtime access to shared-mime-info
${stdenv.lib.optionalString (!stdenv.isDarwin) ''
for f in $dev/bin/*; do
wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
done
wrapProgram $out/bin/gdk-pixbuf-thumbnailer --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
''}

# We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
$dev/bin/gdk-pixbuf-query-loaders --update-cache
'';

# The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
Expand Down