summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2022-10-21 08:32:31 +0200
committerJan Tojnar <jtojnar@gmail.com>2022-10-21 09:48:42 +0200
commitf19bcee3763151c1401ffa5a05384a0581b1ff3e (patch)
tree5f1054c95c23ec6452860b203c86d32a3e99ed6c
parentdb25c4da285c5989b39e4ce13dea651a88b7a9d4 (diff)
downloadnixpkgs-f19bcee3763151c1401ffa5a05384a0581b1ff3e.tar
nixpkgs-f19bcee3763151c1401ffa5a05384a0581b1ff3e.tar.gz
nixpkgs-f19bcee3763151c1401ffa5a05384a0581b1ff3e.tar.bz2
nixpkgs-f19bcee3763151c1401ffa5a05384a0581b1ff3e.tar.lz
nixpkgs-f19bcee3763151c1401ffa5a05384a0581b1ff3e.tar.xz
nixpkgs-f19bcee3763151c1401ffa5a05384a0581b1ff3e.tar.zst
nixpkgs-f19bcee3763151c1401ffa5a05384a0581b1ff3e.zip
webp-pixbuf-loader: Adopt by GNOME
GNOME uses this for backgrounds so let’s add GNOME team to maintainers
and adopt GNOME coding style aimed at cleaner git diffs:

- Format with `nixpkgs-fmt`
- Inherit `moduleDir` variable since it has the same name
- Avoid re-using `pname` for `src` in case it is overwritten
- Use conventional attribute ordering
- Have one dependency per line in inputs
- Move comments closer to what they describe
- Wrap long substitute line
- Quote bash values
-rw-r--r--pkgs/development/libraries/webp-pixbuf-loader/default.nix60
1 files changed, 39 insertions, 21 deletions
diff --git a/pkgs/development/libraries/webp-pixbuf-loader/default.nix b/pkgs/development/libraries/webp-pixbuf-loader/default.nix
index 82ce1e4796d..82c2d6a3218 100644
--- a/pkgs/development/libraries/webp-pixbuf-loader/default.nix
+++ b/pkgs/development/libraries/webp-pixbuf-loader/default.nix
@@ -1,9 +1,16 @@
-{ lib, stdenv, fetchFromGitHub
-, meson, ninja, pkg-config, makeWrapper
-, gdk-pixbuf, libwebp
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, makeWrapper
+, gdk-pixbuf
+, libwebp
 }:
+
 let
-  moduleDir = gdk-pixbuf.moduleDir;
+  inherit (gdk-pixbuf) moduleDir;
 
   # turning lib/gdk-pixbuf-#.#/#.#.#/loaders into lib/gdk-pixbuf-#.#/#.#.#/loaders.cache
   # removeSuffix is just in case moduleDir gets a trailing slash
@@ -15,36 +22,47 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "aruiz";
-    repo = pname;
+    repo = "webp-pixbuf-loader";
     rev = version;
     sha256 = "sha256-dcdydWYrXZJjo4FxJtvzGzrQLOs87/BmxshFZwsT2ws=";
   };
 
-  # It looks for gdk-pixbuf-thumbnailer in this package's bin rather than the gdk-pixbuf bin. We need to patch that.
-  postPatch = ''
-    substituteInPlace webp-pixbuf.thumbnailer.in --replace @bindir@/gdk-pixbuf-thumbnailer $out/bin/webp-thumbnailer
-  '';
+  nativeBuildInputs = [
+    gdk-pixbuf
+    meson
+    ninja
+    pkg-config
+    makeWrapper
+  ];
 
-  nativeBuildInputs = [ gdk-pixbuf meson ninja pkg-config makeWrapper ];
-  buildInputs = [ gdk-pixbuf libwebp ];
+  buildInputs = [
+    gdk-pixbuf
+    libwebp
+  ];
 
   mesonFlags = [
     "-Dgdk_pixbuf_query_loaders_path=${gdk-pixbuf.dev}/bin/gdk-pixbuf-query-loaders"
     "-Dgdk_pixbuf_moduledir=${placeholder "out"}/${moduleDir}"
   ];
 
-  # It assumes gdk-pixbuf-thumbnailer can find the webp loader in the loaders.cache referenced by environment variable, breaking containment.
-  # So we replace it with a wrapped executable.
-  postInstall = ''
-    mkdir -p $out/bin
-    makeWrapper ${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer $out/bin/webp-thumbnailer \
-      --set GDK_PIXBUF_MODULE_FILE $out/${loadersPath}
+  postPatch = ''
+    # It looks for gdk-pixbuf-thumbnailer in this package's bin rather than the gdk-pixbuf bin. We need to patch that.
+    substituteInPlace webp-pixbuf.thumbnailer.in \
+      --replace "@bindir@/gdk-pixbuf-thumbnailer" "$out/bin/webp-thumbnailer"
   '';
 
-  # environment variables controlling loaders.cache generation by gdk-pixbuf-query-loaders
   preInstall = ''
-    export GDK_PIXBUF_MODULE_FILE=$out/${loadersPath}
-    export GDK_PIXBUF_MODULEDIR=$out/${moduleDir}
+    # environment variables controlling loaders.cache generation by gdk-pixbuf-query-loaders
+    export GDK_PIXBUF_MODULE_FILE="$out/${loadersPath}"
+    export GDK_PIXBUF_MODULEDIR="$out/${moduleDir}"
+  '';
+
+  postInstall = ''
+    # It assumes gdk-pixbuf-thumbnailer can find the webp loader in the loaders.cache referenced by environment variable, breaking containment.
+    # So we replace it with a wrapped executable.
+    mkdir -p "$out/bin"
+    makeWrapper "${gdk-pixbuf}/bin/gdk-pixbuf-thumbnailer" "$out/bin/webp-thumbnailer" \
+      --set GDK_PIXBUF_MODULE_FILE "$out/${loadersPath}"
   '';
 
   meta = with lib; {
@@ -52,7 +70,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/aruiz/webp-pixbuf-loader";
     license = licenses.lgpl2Plus;
     platforms = platforms.unix;
-    maintainers = [ maintainers.cwyc ];
+    maintainers = teams.gnome.members ++ [ maintainers.cwyc ];
     # meson.build:16:0: ERROR: Program or command 'gcc' not found or not executable
     broken = stdenv.isDarwin;
   };