summaryrefslogtreecommitdiff
path: root/gnu/packages/djvu.scm
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-11-29 12:15:45 +0100
committerGuillaume Le Vaillant <glv@posteo.net>2020-11-29 14:36:57 +0100
commite7fb2c6e7b1caa90bd346292b1325ab8f0d8a4d7 (patch)
treee11830b989d3a8387205c93f6f3d0a87e76c1fde /gnu/packages/djvu.scm
parent2083ab1280189d7511bfc5ea3a4c8ea6f14db833 (diff)
downloadguix-patches-e7fb2c6e7b1caa90bd346292b1325ab8f0d8a4d7.tar
guix-patches-e7fb2c6e7b1caa90bd346292b1325ab8f0d8a4d7.tar.gz
gnu: Add didjvu.
* gnu/packages/djvu.scm (didjvu): New variable.
Diffstat (limited to 'gnu/packages/djvu.scm')
-rw-r--r--gnu/packages/djvu.scm67
1 files changed, 67 insertions, 0 deletions
diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm
index 9ac17cdec8..2a94862c3b 100644
--- a/gnu/packages/djvu.scm
+++ b/gnu/packages/djvu.scm
@@ -331,3 +331,70 @@ It is able to:
@end itemize\n")
(home-page "https://jwilk.net/software/djvusmooth")
(license license:gpl2)))
+
+(define-public didjvu
+ (package
+ (name "didjvu")
+ (version "0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/jwilk/didjvu/releases/download/" version
+ "/didjvu-" version ".tar.gz"))
+ (sha256
+ (base32 "0xyrnk8d2khi7q1zr28gjkjq6frz4mkb5jdl8821yzf12k7c8pbv"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("python2-nose" ,python2-nose)))
+ (inputs
+ `(("djvulibre" ,djvulibre)
+ ("minidjvu" ,minidjvu)
+ ("python" ,python-2)
+ ("python2-gamera" ,python2-gamera)
+ ("python2-pillow" ,python2-pillow)))
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ ((guix build python-build-system) #:prefix python:)
+ (guix build utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build python-build-system))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'check 'disable-failing-test
+ (lambda _
+ (substitute* "tests/test_ipc.py"
+ ;; test_wait_signal gets stuck forever
+ (("yield self\\._test_signal, name")
+ "return True")
+ ;; test_path fails to find a file it should have created
+ (("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
+ "return True"))
+ (substitute* "tests/test_timestamp.py"
+ ;; test_timezones fails with:
+ ;; '2009-12-18T21:25:14Z' != '2009-12-18T22:25:14+01:00'
+ (("@fork_isolation")
+ "return True"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "make"
+ "DESTDIR="
+ (string-append "PREFIX=" out)
+ "install"))))
+ (add-after 'install 'wrap-python
+ (assoc-ref python:%standard-phases 'wrap))
+ (add-after 'wrap-python 'wrap-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (djvulibre (assoc-ref inputs "djvulibre")))
+ (wrap-program (string-append out "/bin/didjvu")
+ `("PATH" ":" prefix (,(string-append djvulibre "/bin"))))))))))
+ (synopsis "DjVu encoder with foreground/background separation")
+ (description
+ "@code{didjvu} uses the @code{Gamera} framework to separate the foreground
+and background layers of images, which can then be encoded into a DjVu file.")
+ (home-page "https://jwilk.net/software/didjvu")
+ (license license:gpl2)))