gnu: Add fgallery.

* gnu/packages/graphics.scm (fgallery): New variable.
master
Mathieu Othacehe 2018-01-15 22:06:55 +01:00
parent 457fc22dd3
commit 17153d1816
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
1 changed files with 88 additions and 0 deletions

View File

@ -8,6 +8,7 @@
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,12 +42,16 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages documentation)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages haskell)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages python)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
#:use-module (gnu packages compression)
@ -686,3 +691,86 @@ your terminal. It comes bundled with predefined styles:
(define-public python2-pastel
(package-with-python2 python-pastel))
(define-public fgallery
(package
(name "fgallery")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri
(string-append
"http://www.thregr.org/~wavexx/software/fgallery/releases/"
"fgallery-" version ".zip"))
(sha256
(base32
"18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(share (string-append out "/share/fgallery"))
(man (string-append out "/share/man/man1"))
(perl5lib (getenv "PERL5LIB"))
(script (string-append share "/fgallery")))
(define (bin-directory input-name)
(string-append (assoc-ref inputs input-name) "/bin"))
(mkdir-p man)
(copy-file "fgallery.1" (string-append man "/fgallery.1"))
(mkdir-p share)
(copy-recursively "." share)
;; fgallery copies files from store when it is run. The
;; read-only permissions from the store directories will cause
;; fgallery to fail. Do not preserve file attributes when
;; copying files to prevent it.
(substitute* script
(("'cp'")
"'cp', '--no-preserve=all'"))
(mkdir-p bin)
(symlink script (string-append out "/bin/fgallery"))
(wrap-program script
`("PATH" ":" prefix
,(map bin-directory '("imagemagick"
"lcms"
"fbida"
"libjpeg"
"zip"
"jpegoptim"
"pngcrush"
"p7zip")))
`("PERL5LIB" ":" prefix (,perl5lib)))
#t))))))
(native-inputs
`(("unzip" ,unzip)))
;; TODO: Add missing optional dependency: facedetect.
(inputs
`(("imagemagick" ,imagemagick)
("lcms" ,lcms)
("fbida" ,fbida)
("libjpeg" ,libjpeg)
("zip" ,zip)
("perl" ,perl)
("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
("perl-image-exiftool" ,perl-image-exiftool)
("jpegoptim" ,jpegoptim)
("pngcrush" ,pngcrush)
("p7zip" ,p7zip)))
(home-page "http://www.thregr.org/~wavexx/software/fgallery/")
(synopsis "Static photo gallery generator")
(description
"FGallery is a static, JavaScript photo gallery generator with minimalist
look. The result can be uploaded on any web server without additional
requirements.")
(license license:gpl2+)))