diff options
Diffstat (limited to 'pkgs/tools/graphics')
-rw-r--r-- | pkgs/tools/graphics/eplot/default.nix | 47 | ||||
-rw-r--r-- | pkgs/tools/graphics/fgallery/default.nix | 48 | ||||
-rw-r--r-- | pkgs/tools/graphics/gmic/default.nix | 40 |
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 ]; + }; +} |