aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2017-09-18 19:45:46 +0000
committerCy Schubert <cy@FreeBSD.org>2017-09-18 19:45:46 +0000
commit408fb4e129d3f45aabfaa902f139a59c4e51cd74 (patch)
tree4fb8048a0f2417d6c2ed08f6525d13fa21ecf974 /graphics
parent646336fb3f25be71ccea63f6248601e51fdfbf7d (diff)
downloadports-408fb4e129d3f45aabfaa902f139a59c4e51cd74.tar.gz
ports-408fb4e129d3f45aabfaa902f139a59c4e51cd74.zip
Add a printer output option, providing a menu item to print
to file or hardcopy. Note: xpdf4 only supports printing to CUPS. PR: 222283
Notes
Notes: svn path=/head/; revision=450077
Diffstat (limited to 'graphics')
-rw-r--r--graphics/xpdf4/Makefile9
-rw-r--r--graphics/xpdf4/files/patch-aconf.h.in12
-rw-r--r--graphics/xpdf4/files/patch-cmake-config.txt30
-rw-r--r--graphics/xpdf4/files/patch-xpdf-qt_XpdfWidgetPrint.cc20
4 files changed, 66 insertions, 5 deletions
diff --git a/graphics/xpdf4/Makefile b/graphics/xpdf4/Makefile
index 75b745a5496e..a9646da7567d 100644
--- a/graphics/xpdf4/Makefile
+++ b/graphics/xpdf4/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xpdf
PORTVERSION= 4.02
+PORTREVISION= 1
CATEGORIES= graphics print
MASTER_SITES= http://www.xpdfreader.com/dl/
.if !defined(MASTERDIR)
@@ -26,7 +27,7 @@ USES= cmake:outsource localbase
CMAKE_ARGS+= -DOPI_SUPPORT:BOOL=ON -DCMAKE_DISABLE_FIND_PACKAGE_Qt4:BOOL=ON \
-DUSE_LCMS:BOOL=OFF -DSYSTEM_XPDFRC=${PREFIX}/etc/xpdfrc
-OPTIONS_DEFINE= TYPE1 LIBPAPER GUI
+OPTIONS_DEFINE= TYPE1 LIBPAPER GUI PRINT
OPTIONS_DEFAULT= TYPE1 GUI
OPTIONS_SUB= yes
@@ -43,6 +44,12 @@ GUI_DESC= QT5 interface
GUI_CMAKE_ARGS+= -DNO_TEXT_SELECT:BOOL=OFF
GUI_USE= QT5=buildtools_build,qmake_build,concurrent,core,gui,widgets,printsupport
+PRINT_CMAKE_ON= -DXPDFWIDGET_PRINTING:BOOL=ON -DCUPS:BOOL=ON
+PRINT_CMAKE_OFF= -DXPDFWIDGET_PRINTING:BOOL=OFF -DCUPS:BOOL=OFF
+PRINT_DESC= Print support (CUPS dependency)
+PRINT_LDFLAGS= -L${LOCALBASE}/lib
+PRINT_LIB_DEPENDS= libcups.so:print/cups
+
post-install:
@cd ${STAGEDIR}${PREFIX}; \
${LN} -sf ../libexec/xpdf/xpdf bin/xpdf
diff --git a/graphics/xpdf4/files/patch-aconf.h.in b/graphics/xpdf4/files/patch-aconf.h.in
new file mode 100644
index 000000000000..760d2682b4f4
--- /dev/null
+++ b/graphics/xpdf4/files/patch-aconf.h.in
@@ -0,0 +1,12 @@
+--- aconf.h.in.orig 2017-08-08 16:22:50.000000000 -0700
++++ aconf.h.in 2017-09-17 20:40:48.183421000 -0700
+@@ -110,4 +110,9 @@
+ */
+ #cmakedefine01 BUILDING_XPDFREADER
+
++/*
++ * Defined when print option selected
++ */
++#cmakedefine01 XPDFWIDGET_PRINTING
++
+ #endif
diff --git a/graphics/xpdf4/files/patch-cmake-config.txt b/graphics/xpdf4/files/patch-cmake-config.txt
index ece77c523e1d..e6c3fcaa8be5 100644
--- a/graphics/xpdf4/files/patch-cmake-config.txt
+++ b/graphics/xpdf4/files/patch-cmake-config.txt
@@ -1,6 +1,6 @@
---- cmake-config.txt.orig 2017-09-02 20:30:45 UTC
-+++ cmake-config.txt
-@@ -79,6 +79,7 @@ option(USE_EXCEPTIONS "use C++ exception
+--- cmake-config.txt.orig 2017-08-08 16:22:50.000000000 -0700
++++ cmake-config.txt 2017-09-17 21:03:21.838497000 -0700
+@@ -79,6 +79,7 @@
option(USE_FIXEDPOINT "use fixed point (instead of floating point) arithmetic" OFF)
option(SPLASH_CMYK "include support for CMYK rasterization" OFF)
option(SPLASH_DEVICEN "include support for DeviceN rasterization" OFF)
@@ -8,7 +8,29 @@
if (SPLASH_DEVICEN)
set(SPLASH_CMYK ON)
endif ()
-@@ -278,10 +279,34 @@ else()
+@@ -235,9 +236,7 @@
+ if (XPDFWIDGET_PRINTING)
+ set(QT_INCLUDES "${Qt5Widgets_INCLUDE_DIRS} ${Qt5PrintSupport_INCLUDE_DIRS}")
+ set(QT_DEFINITIONS "${Qt5Widgets_DEFINITIONS} ${Qt5PrintSupport_DEFINITIONS}")
+- if (APPLE)
+- set(QT_LIBRARIES Qt5::Widgets Qt5::PrintSupport "-framework ApplicationServices")
+- elseif (UNIX)
++ if (CUPS)
+ set(QT_LIBRARIES Qt5::Widgets Qt5::PrintSupport cups)
+ else ()
+ set(QT_LIBRARIES Qt5::Widgets Qt5::PrintSupport)
+@@ -248,9 +247,7 @@
+ set(QT_LIBRARIES Qt5::Widgets)
+ endif ()
+ if (XPDFWIDGET_PRINTING)
+- if (APPLE)
+- set(EXTRA_QT_LIBRARIES "-framework ApplicationServices")
+- elseif (UNIX)
++ if (CUPS)
+ set(EXTRA_QT_LIBRARIES cups)
+ else ()
+ set(EXTRA_QT_LIBRARIES "")
+@@ -278,10 +275,34 @@
endif()
#--- look for libpaper
diff --git a/graphics/xpdf4/files/patch-xpdf-qt_XpdfWidgetPrint.cc b/graphics/xpdf4/files/patch-xpdf-qt_XpdfWidgetPrint.cc
new file mode 100644
index 000000000000..bc1cce76e052
--- /dev/null
+++ b/graphics/xpdf4/files/patch-xpdf-qt_XpdfWidgetPrint.cc
@@ -0,0 +1,20 @@
+--- xpdf-qt/XpdfWidgetPrint.cc.orig 2017-08-08 16:22:50.000000000 -0700
++++ xpdf-qt/XpdfWidgetPrint.cc 2017-09-17 21:42:14.242967000 -0700
+@@ -21,7 +21,7 @@
+ #elif defined(__APPLE__)
+ # include <CoreFoundation/CoreFoundation.h>
+ # include <ApplicationServices/ApplicationServices.h>
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD_cc_version)
+ # include "PSOutputDev.h"
+ # include <cups/cups.h>
+ #endif
+@@ -315,7 +315,7 @@
+ // Linux
+ //------------------------------------------------------------------------
+
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD_cc_version)
+
+ static void fileOut(void *stream, const char *data, int len) {
+ fwrite(data, 1, len, (FILE *)stream);