summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2015-07-13 22:58:03 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2015-07-15 16:02:37 +0200
commit2926f3aa2c18549b8ce895b4056d48598d78d0ac (patch)
treed01ea34a40c472ea5f18fcaefec8aa8a6281f7ed /pkgs
parent022527a5e1b2b63e94cacb8a73397d3d9066010b (diff)
downloadnixlib-2926f3aa2c18549b8ce895b4056d48598d78d0ac.tar
nixlib-2926f3aa2c18549b8ce895b4056d48598d78d0ac.tar.gz
nixlib-2926f3aa2c18549b8ce895b4056d48598d78d0ac.tar.bz2
nixlib-2926f3aa2c18549b8ce895b4056d48598d78d0ac.tar.lz
nixlib-2926f3aa2c18549b8ce895b4056d48598d78d0ac.tar.xz
nixlib-2926f3aa2c18549b8ce895b4056d48598d78d0ac.tar.zst
nixlib-2926f3aa2c18549b8ce895b4056d48598d78d0ac.zip
fgallery: init at 1.7
fgallery is a static photo gallery generator.

http://www.thregr.org/~wavexx/software/fgallery/
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/graphics/fgallery/default.nix48
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 52 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 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4a0d25cd1578..616f3f918e44 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1454,6 +1454,10 @@ let
 
   fdm = callPackage ../tools/networking/fdm {};
 
+  fgallery = callPackage ../tools/graphics/fgallery {
+    inherit (perlPackages) ImageExifTool JSON;
+  };
+
   flannel = callPackage ../tools/networking/flannel { };
 
   flashbench = callPackage ../os-specific/linux/flashbench { };