summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2013-03-31 17:25:11 +0200
committerAndreas Enge <andreas@enge.fr>2013-03-31 17:27:37 +0200
commit14ecc0effca4d7447510bc67a774f897ac03ab87 (patch)
tree379c5245378a19f0a5de6855777047882c320822
parent141ccae8a737ba89eeb3d7f749270c5eda73d8b7 (diff)
downloadguix-14ecc0effca4d7447510bc67a774f897ac03ab87.tar.gz
gnu: Add xpdf.
* gnu/packages/pdf.scm (xpdf): New variable.
* gnu/packages/patches/xpdf-constchar.patch: New file.
* Makefile.am (dist_patch_DATA): Add it.
-rw-r--r--Makefile.am3
-rw-r--r--gnu/packages/patches/xpdf-constchar.patch15
-rw-r--r--gnu/packages/pdf.scm42
3 files changed, 56 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am
index 54ca41b3b8..9b9bdbf8b3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -223,7 +223,8 @@ dist_patch_DATA =						\
   gnu/packages/patches/tar-gets-undeclared.patch		\
   gnu/packages/patches/tcsh-fix-autotest.patch 			\
   gnu/packages/patches/teckit-cstdio.patch			\
-  gnu/packages/patches/vpnc-script.patch
+  gnu/packages/patches/vpnc-script.patch			\
+  gnu/packages/patches/xpdf-constchar.patch
 
 bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
 bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
diff --git a/gnu/packages/patches/xpdf-constchar.patch b/gnu/packages/patches/xpdf-constchar.patch
new file mode 100644
index 0000000000..95dbe73c71
--- /dev/null
+++ b/gnu/packages/patches/xpdf-constchar.patch
@@ -0,0 +1,15 @@
+This patch circumvents an error with 'const char *' to 'char *' conversion,
+see http://gnats.netbsd.org/45562 .
+
+diff -u a/xpdf/XPDFViewer.cc b/xpdf/XPDFViewer.cc
+--- a/xpdf/XPDFViewer.cc        2011-08-15 23:08:53.000000000 +0200
++++ b/xpdf/XPDFViewer.cc        2013-03-31 15:13:21.000000000 +0200
+@@ -1803,7 +1803,7 @@
+   menuPane = XmCreatePulldownMenu(toolBar, "zoomMenuPane", args, n);
+   for (i = 0; i < nZoomMenuItems; ++i) {
+     n = 0;
+-    s = XmStringCreateLocalized(zoomMenuInfo[i].label);
++    s = XmStringCreateLocalized((char *) zoomMenuInfo[i].label);
+     XtSetArg(args[n], XmNlabelString, s); ++n;
+     XtSetArg(args[n], XmNuserData, (XtPointer)i); ++n;
+     sprintf(buf, "zoom%d", i);
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index a172414553..b2f1ade143 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -17,17 +17,21 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages pdf)
-  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module ((guix licenses)
+                #:renamer (symbol-prefix-proc 'license:))
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages lesstif)
   #:use-module (gnu packages libjpeg)
   #:use-module (gnu packages libpng)
   #:use-module (gnu packages libtiff)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xorg))
 
 (define-public poppler
   (package
@@ -63,5 +67,37 @@
    (synopsis "Poppler, a pdf rendering library")
    (description
     "Poppler is a PDF rendering library based on the xpdf-3.0 code base.")
-   (license gpl2+)
+   (license license:gpl2+)
    (home-page "http://poppler.freedesktop.org/")))
+
+(define-public xpdf
+  (package
+   (name "xpdf")
+   (version "3.03")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "ftp://ftp.foolabs.com/pub/xpdf/xpdf-"
+                                version ".tar.gz"))
+            (sha256 (base32
+                     "1jnfzdqc54wa73lw28kjv0m7120mksb0zkcn81jdlvijyvc67kq2"))))
+   (build-system gnu-build-system)
+   (inputs `(("freetype" ,freetype)
+             ("lesstif" ,lesstif)
+             ("libpaper" ,libpaper)
+             ("libx11" ,libx11)
+             ("libxext" ,libxext)
+             ("libxp" ,libxp)
+             ("libxpm" ,libxpm)
+             ("libxt" ,libxt)
+             ("zlib" ,zlib)
+             ("patch/constchar"
+                 ,(search-patch "xpdf-constchar.patch"))))
+   (arguments
+    `(#:tests? #f ; there is no check target
+      #:patches (list (assoc-ref %build-inputs
+                                 "patch/constchar"))))
+   (synopsis "Viewer for pdf files based on the Motif toolkit.")
+   (description
+    "Xpdf is a viewer for Portable Document Format (PDF) files")
+   (license license:gpl3) ; or gpl2, but not gpl2+
+   (home-page "http://www.foolabs.com/xpdf/")))