2017-07-29 16:19:09 +02:00
|
|
|
{ stdenv, fetchurl, unzip, makeWrapper, perl, ImageExifTool
|
2017-07-29 16:22:54 +02:00
|
|
|
, CpanelJSONXS, coreutils, zip, imagemagick, pngcrush, lcms2
|
|
|
|
, facedetect, fbida }:
|
2015-07-13 22:58:03 +02:00
|
|
|
|
|
|
|
# TODO: add optional dependencies (snippet from fgallery source):
|
|
|
|
#
|
|
|
|
# if(system("jpegoptim -V >/dev/null 2>&1")) {
|
|
|
|
# $jpegoptim = 0;
|
|
|
|
# }
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2017-07-29 16:19:09 +02:00
|
|
|
name = "fgallery-1.8.2";
|
2015-07-13 22:58:03 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
2018-06-28 20:43:35 +02:00
|
|
|
url = "https://www.thregr.org/~wavexx/software/fgallery/releases/${name}.zip";
|
2017-07-29 16:19:09 +02:00
|
|
|
sha256 = "18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf";
|
2015-07-13 22:58:03 +02:00
|
|
|
};
|
|
|
|
|
2017-07-29 16:19:09 +02:00
|
|
|
buildInputs = [ unzip makeWrapper perl ImageExifTool CpanelJSONXS ];
|
2015-07-13 22:58:03 +02:00
|
|
|
|
|
|
|
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" \
|
2016-04-13 14:53:51 +02:00
|
|
|
--set PATH "${stdenv.lib.makeBinPath
|
2017-07-29 16:22:54 +02:00
|
|
|
[ coreutils zip imagemagick pngcrush lcms2 facedetect fbida ]}"
|
2015-07-13 22:58:03 +02:00
|
|
|
'';
|
|
|
|
|
|
|
|
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 ];
|
|
|
|
};
|
|
|
|
}
|