summaryrefslogtreecommitdiff
path: root/gnu/packages/scribus.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/scribus.scm')
-rw-r--r--gnu/packages/scribus.scm54
1 files changed, 53 insertions, 1 deletions
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
index 615d7e23a2..20795da275 100644
--- a/gnu/packages/scribus.scm
+++ b/gnu/packages/scribus.scm
@@ -56,7 +56,59 @@
(sha256
(base32
"00ys0p6h3iq77kh72dkl0qrf7qvznq18qdrgiq10gfxja1995034"))
- (patches (search-patches "scribus-poppler.patch"))))
+ (patches (append
+ ;; Scribus relies heavily on Poppler internals, which have
+ ;; changed a lot since the latest Scribus release (2018-04).
+ ;; Thus, we require a bunch of patches to stay compatible.
+ (search-patches "scribus-poppler.patch")
+ (list (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/scribusproject/scribus/commit/"
+ "7d4ceeb5cac32287769e3c0238699e0b3e56c24d.patch"))
+ (file-name "scribus-poppler-0.64.patch")
+ (sha256
+ (base32
+ "1kr27bfzkpabrh42nsrrvlqyycdg9isbavpaa5spgmrhidcg02xj")))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/scribusproject/scribus/commit/"
+ "76561c1a55cd07c268f8f2b2fea888532933700b.patch"))
+ (file-name "scribus-poppler-config.patch")
+ (sha256
+ (base32
+ "01k18xjj82c3ndzp89dlpfhhdccc8z0acf8b04r592jyr5y9rc19")))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/scribusproject/scribus/commit/"
+ "8e05d26c19097ac2ad5b4ebbf40a3771ee6faf9c.patch"))
+ (file-name "scribus-poppler-0.69.patch")
+ (sha256
+ (base32
+ "1avdmsj5l543j0irq18nxgiw99n395jj56ih5dsal59fn0wbqk42")))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://git.archlinux.org/svntogit/"
+ "community.git/plain/trunk/scribus-"
+ "poppler-0.70.patch?h=packages/scribus&id="
+ "8ef43ee2fceb0753ed5a76bb0a11c84775898ffc"))
+ (file-name "scribus-poppler-0.70.patch")
+ (sha256
+ (base32
+ "0dw7ix3jaj0y1q97cmmqwb2qgdx760yhxx86wa8rnx0xhfi5x6qr"))))))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each (lambda (file)
+ (substitute* file
+ ;; These are required for compatibility with Poppler 0.71.
+ (("GBool") "bool") (("gTrue") "true") (("gFalse") "false")
+ ;; ...and this for Poppler 0.72.
+ (("getCString") "c_str")))
+ (find-files "scribus/plugins/import/pdf"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test target