Message ID | 20181225114427.2777-1-m.othacehe@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#33868] gnu: calibre: Fix PDF to EPUB conversion. | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | success | Successfully applied |
Hello, Mathieu Othacehe <m.othacehe@gmail.com> skribis: > When trying to convert a PDF to EPUB, the following error occurs: > > File "/gnu/store/kz6bgqw9z7akj11zh20wkx14cgq0s3n2-calibre-3.35.0/lib/calibre/calibre/ebooks/pdf/pdftohtml.py", line 76, in pdftohtml > _('Could not find pdftohtml, check it is in your PATH')) > > Move poppler which provides pdftohtml from inputs to propagated-inputs to fix it. > > * gnu/packages/ebook.scm (calibre)[inputs]: Move poppler from here ... > [propagated-inputs]: ... to here. I haven’t tested it but I’m confident you can go ahead and push it. Thanks! Ludo’.
Mathieu Othacehe <m.othacehe@gmail.com> writes: > When trying to convert a PDF to EPUB, the following error occurs: > > File "/gnu/store/kz6bgqw9z7akj11zh20wkx14cgq0s3n2-calibre-3.35.0/lib/calibre/calibre/ebooks/pdf/pdftohtml.py", line 76, in pdftohtml > _('Could not find pdftohtml, check it is in your PATH')) > > Move poppler which provides pdftohtml from inputs to propagated-inputs to fix it. > > * gnu/packages/ebook.scm (calibre)[inputs]: Move poppler from here ... > [propagated-inputs]: ... to here. An less intrusive solution would be to substitute the absolute path to 'pdf2html' in a build step. I.e.: (substitute* "lib/calibre/calibre/ebooks/pdf/pdftohtml.py" (("PDFTOHTML = \"pdftohtml\"") (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") "/bin/pdftohtml\""))) Either approach is fine by me, but please leave a comment about why Poppler is propagated if you go that route :-)
On Sat, Jan 12, 2019 at 12:19:54AM +0100, Marius Bakke wrote: > Mathieu Othacehe <m.othacehe@gmail.com> writes: > > > When trying to convert a PDF to EPUB, the following error occurs: > > > > File "/gnu/store/kz6bgqw9z7akj11zh20wkx14cgq0s3n2-calibre-3.35.0/lib/calibre/calibre/ebooks/pdf/pdftohtml.py", line 76, in pdftohtml > > _('Could not find pdftohtml, check it is in your PATH')) > > > > Move poppler which provides pdftohtml from inputs to propagated-inputs to fix it. > > > > * gnu/packages/ebook.scm (calibre)[inputs]: Move poppler from here ... > > [propagated-inputs]: ... to here. > > An less intrusive solution would be to substitute the absolute path to > 'pdf2html' in a build step. I.e.: > > (substitute* "lib/calibre/calibre/ebooks/pdf/pdftohtml.py" > (("PDFTOHTML = \"pdftohtml\"") > (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") > "/bin/pdftohtml\""))) > > Either approach is fine by me, but please leave a comment about why > Poppler is propagated if you go that route :-) I think this substitution is the better solution.
>> (substitute* "lib/calibre/calibre/ebooks/pdf/pdftohtml.py" >> (("PDFTOHTML = \"pdftohtml\"") >> (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") >> "/bin/pdftohtml\""))) Pushed as b65b78ff using your substitute snippet. Thanks, Mathieu
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index e750c6cac..70434293a 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -121,7 +122,6 @@ ("openssl" ,openssl) ("optipng" ,optipng) ("podofo" ,podofo) - ("poppler" ,poppler) ("python" ,python-2) ("python2-apsw" ,python2-apsw) ("python2-chardet" ,python2-chardet) @@ -145,9 +145,9 @@ ("python2-sip" ,python2-sip) ("python2-regex" ,python2-regex) ;; python2-unrardll is needed for decompressing RAR files. - ;; A program called 'pdf2html' is needed for reading PDF books - ;; in the web interface. ("sqlite" ,sqlite))) + (propagated-inputs + `(("poppler" ,poppler))) (arguments `(#:python ,python-2 #:test-target "check"