summary refs log tree commit diff
path: root/pkgs/tools/graphics/fgallery/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/graphics/fgallery/default.nix')
-rw-r--r--pkgs/tools/graphics/fgallery/default.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/fgallery/default.nix b/pkgs/tools/graphics/fgallery/default.nix
new file mode 100644
index 000000000000..4b0531aa1ced
--- /dev/null
+++ b/pkgs/tools/graphics/fgallery/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, unzip, makeWrapper, perl, ImageExifTool, JSON
+, coreutils, zip, imagemagick, pngcrush, lcms2, fbida
+}:
+
+# TODO: add optional dependencies (snippet from fgallery source):
+#
+# if(system("jpegoptim -V >/dev/null 2>&1")) {
+#   $jpegoptim = 0;
+# }
+# if($facedet && system("facedetect -h >/dev/null 2>&1")) {
+#   fatal("cannot run \"facedetect\" (see http://www.thregr.org/~wavexx/hacks/facedetect/)");
+
+stdenv.mkDerivation rec {
+  name = "fgallery-1.7";
+
+  src = fetchurl {
+    url = "http://www.thregr.org/~wavexx/software/fgallery/releases/${name}.zip";
+    sha256 = "1iix6p8viwnsq3zn9vg99sx20nmgk2p5als3j1lk914nz3anvai4";
+  };
+
+  buildInputs = [ unzip makeWrapper perl ImageExifTool JSON ];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/fgallery"
+
+    cp -r * "$out/share/fgallery"
+    ln -s -r "$out/share/fgallery/fgallery" "$out/bin/fgallery"
+
+    # Don't preserve file attributes when copying files to output directories.
+    # (fgallery copies parts of itself to each output directory, and without
+    # this change the read-only nix store causes some bumps in the workflow.)
+    sed -i -e "s|'cp'|'cp', '--no-preserve=all'|g" "$out/share/fgallery/fgallery"
+
+    wrapProgram "$out/share/fgallery/fgallery" \
+        --set PERL5LIB "$PERL5LIB" \
+        --set PATH "${stdenv.lib.makeSearchPath "bin"
+                     [ coreutils zip imagemagick pngcrush lcms2 fbida ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Static photo gallery generator";
+    homepage = http://www.thregr.org/~wavexx/software/fgallery/;
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}