summary refs log tree commit diff
path: root/pkgs/tools/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/graphics')
-rw-r--r--pkgs/tools/graphics/eplot/default.nix47
-rw-r--r--pkgs/tools/graphics/fgallery/default.nix48
-rw-r--r--pkgs/tools/graphics/gmic/default.nix40
3 files changed, 135 insertions, 0 deletions
diff --git a/pkgs/tools/graphics/eplot/default.nix b/pkgs/tools/graphics/eplot/default.nix
new file mode 100644
index 00000000000..a98a5e0aaec
--- /dev/null
+++ b/pkgs/tools/graphics/eplot/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, gnuplot, ruby }:
+
+stdenv.mkDerivation rec {
+  name = "eplot-2.07";
+
+  # Upstream has been contacted (2015-03) regarding providing versioned
+  # download URLs. Initial response was positive, but no action yet.
+  src = fetchurl {
+    url = "http://liris.cnrs.fr/christian.wolf/software/eplot/download/eplot";
+    sha256 = "0y9x82i3sfpgxsqz2w42r6iad6ph7vxb7np1xbwapx5iipciclw5";
+  };
+
+  ecSrc = fetchurl {
+    url = "http://liris.cnrs.fr/christian.wolf/software/eplot/download/ec";
+    sha256 = "0fg31g8mrcx14h2rjcf091cbd924n19z55iscaiflspifya30yhd";
+  };
+
+  buildInputs = [ ruby ];
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp "$src" "$out/bin/eplot"
+    cp "$ecSrc" "$out/bin/ec"
+    chmod +x "$out/bin/"*
+
+    sed -i -e "s|gnuplot -persist|${gnuplot}/bin/gnuplot -persist|" "$out/bin/eplot"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Create plots quickly with gnuplot";
+    longDescription = ''
+      eplot ("easy gnuplot") is a ruby script which allows to pipe data easily
+      through gnuplot and create plots quickly, which can be saved in
+      postscript, PDF, PNG or EMF files. Plotting of multiple files into a
+      single diagram is supported.
+
+      This package also includes the complementary 'ec' tool (say "extract
+      column").
+    '';
+    homepage = http://liris.cnrs.fr/christian.wolf/software/eplot/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/graphics/fgallery/default.nix b/pkgs/tools/graphics/fgallery/default.nix
new file mode 100644
index 00000000000..4b0531aa1ce
--- /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/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
new file mode 100644
index 00000000000..f0115239f00
--- /dev/null
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, fftw, zlib, libjpeg, libtiff, libpng }:
+
+stdenv.mkDerivation rec {
+  name = "gmic-${version}";
+  version = "1.6.5.0";
+
+  src = fetchurl {
+    url = "http://gmic.eu/files/source/gmic_${version}.tar.gz";
+    sha256 = "1vb6zm5zpqfnzxjvb9yfvczaqacm55rf010ib0yk9f28b17qrjgb";
+  };
+
+  buildInputs = [ fftw zlib libjpeg libtiff libpng ];
+
+  sourceRoot = "${name}/src";
+
+  preBuild = ''
+    buildFlagsArray=( \
+      CURL_CFLAGS= CURL_LIBS= \
+      EXR_CFLAGS= EXR_LIBS= \
+      OPENCV_CFLAGS= OPENCV_LIBS= \
+      X11_CFLAGS="-Dcimg_display=0" X11_LIBS= \
+      cli \
+    )
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+
+    cp -v gmic $out/bin/
+    cp -v ../man/gmic.1.gz $out/share/man/man1/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "G'MIC is an open and full-featured framework for image processing";
+    homepage = http://gmic.eu/;
+    license = licenses.cecill20;
+    maintainers = [ maintainers.rycee ];
+  };
+}