Add patch by Kevin Kofler to obtain default printer settings from cups, bug 323257...
authorAndreas Hüttel <dilfridge@gentoo.org>
Sun, 14 Aug 2011 17:57:55 +0000 (17:57 +0000)
committerAndreas Hüttel <dilfridge@gentoo.org>
Sun, 14 Aug 2011 17:57:55 +0000 (17:57 +0000)
Package-Manager: portage-2.1.10.10/cvs/Linux x86_64

x11-libs/qt-gui/ChangeLog
x11-libs/qt-gui/Manifest
x11-libs/qt-gui/files/qt-gui-4.7.3-cups.patch [new file with mode: 0644]
x11-libs/qt-gui/qt-gui-4.7.3-r1.ebuild [new file with mode: 0644]

index 13ed0a28079418e8dd50efada4924ef082e07a81..c1745545641b26c5a7ea4fed665c8c2e1a406400 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for x11-libs/qt-gui
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.148 2011/07/13 12:49:21 xarthisius Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.149 2011/08/14 17:57:54 dilfridge Exp $
+
+*qt-gui-4.7.3-r1 (14 Aug 2011)
+
+  14 Aug 2011; Andreas K. Huettel <dilfridge@gentoo.org>
+  +qt-gui-4.7.3-r1.ebuild, +files/qt-gui-4.7.3-cups.patch:
+  Add patch by Kevin Kofler to obtain default printer settings from cups, bug
+  323257. OK'ed by tampakrap.
 
   13 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org> qt-gui-4.7.2.ebuild:
   ppc64 stable wrt #354033
index 020999bff969ffbb6619430d41e666ab445a4ab0..38baeb8f4bc0a42c5a3e6dd482aaab247fb60d52 100644 (file)
@@ -1,5 +1,9 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA512
+
 AUX hardcoded_fonts.patch 520 RMD160 cdc8f5b4db20b4eede5eabad61ea7893e7b2fc8f SHA1 e23e2731074170585165d89822b83215ba0e3bea SHA256 0d428c620f995d1e96e649b3e49e9ce591b2882a38e600b485c6c8b509504c51
 AUX qt-gui-4.7.0-qtreeview-regression-fix.patch 490 RMD160 b3b5e806d6662c1216ca739c5f4c9655508e4811 SHA1 45a3cab07b1ba8a267efd9c7984d69e080798905 SHA256 aa1b9ac7ad0ff9b6bf715507dbf8bcf15cec1ed1e2f4da893598553de3f34340
+AUX qt-gui-4.7.3-cups.patch 3297 RMD160 fc99e57ccfa8db47a1df799186d6daedcbdf744d SHA1 d712b9b570101de5c996692551ba5a3ae4a410e9 SHA256 3ccfefb432015e4a4ea967b030c51b10dcdfb1f63445557908ddae5e75012d33
 DIST qt-everywhere-opensource-src-4.6.2.tar.gz 160601949 RMD160 5f3fea120f2dba274c4150b02162bba40b65a872 SHA1 977c10b88a2230e96868edc78a9e3789c0fcbf70 SHA256 176f51ddb06dce67ab4b2efc6b327dc21ed8f764c5d97acc15ff1f907c2affae
 DIST qt-everywhere-opensource-src-4.6.3.tar.gz 160993454 RMD160 ceb3ca78263d0d9cdf92fef903e30c0026db6bff SHA1 1c18a564df9296c7cb0e0dedde40b9843e1b30e8 SHA256 f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768
 DIST qt-everywhere-opensource-src-4.7.2.tar.gz 213663032 RMD160 de3d1c172c23c33681a0945c331db179c84cb7b5 SHA1 84414f82bbc9e8d356b986d5d1ebee89d06e4f2e SHA256 d4783b524b90bcd270ccf6e7a30d5fb51696c47eb5de49ebc2d553cd3eb49336
@@ -9,6 +13,24 @@ EBUILD qt-gui-4.6.2.ebuild 5296 RMD160 ab8bb6867607ff4cb26ab80a6c19fee98a3c153a
 EBUILD qt-gui-4.6.3-r2.ebuild 5459 RMD160 6541881d8db2078be86318b1a4e91828f3893e78 SHA1 3913796098062a95abdd22dd3e4250260a46cfb1 SHA256 56614553e86dd21c156ff445f48c8308e86793547765323d6bac2dd9eaece462
 EBUILD qt-gui-4.6.3.ebuild 5454 RMD160 98d7baf9a0ee82968840ee5e2a510af7a838e00b SHA1 0ca2dff37896de1826e6290f975a76725f959f66 SHA256 1bcbf0f815173da4baa6526a9a833f40c5a753840789174e8297484d4efd7664
 EBUILD qt-gui-4.7.2.ebuild 6371 RMD160 4c55a5214edec77a9af25c43bee1f3e4b41b2985 SHA1 8be870fceda1267a77e93af3a1cae670816b6301 SHA256 e579a644b30d4f32522b5ab5b556ef397a87577ccd2bdb7bab6263f92a86476b
+EBUILD qt-gui-4.7.3-r1.ebuild 6428 RMD160 83539dc9f16c746d6b0eee91943ceb09cce00c2a SHA1 dda7297ab1fe5a676119dd9f708dd09291ce54b7 SHA256 b62e56cc52741466a00d88c9670b7396c22bb97bb49882e0188a2048ca108620
 EBUILD qt-gui-4.7.3.ebuild 6375 RMD160 fa7f84e708f987e98afcc29bea9c2732c64769f7 SHA1 480a2bbb8bb9e2c2c1fdee3cbb08c73028dccff7 SHA256 4d3f66275bc28e801ca8bf792f3a77a35bfe913d291f3d83bd73e889d9ac9fd2
-MISC ChangeLog 22041 RMD160 ecd31a3f3665be68884208a56be491e42e18cf2c SHA1 139eabe75ad0d9818ddae8ca417a5ee24bd9dc20 SHA256 ef8d4aea5e8b6f4ff20fd90e544c6e531530c29b87c414c2572d9a8dfc74e861
+MISC ChangeLog 22297 RMD160 96a53635484319ae641cb35670ab522fe23321ec SHA1 3b1ff8fd568d4e3fd83c43f292154dd202f60a28 SHA256 b92bc31b8e651a37c116a08be1fc5b4623059d3b48b3c9ee6647b5930b56c711
 MISC metadata.xml 1181 RMD160 74e177f4c687acb1df2637f28ac36cc80b4f224e SHA1 3ea8a8aba7d077d6a008b8360811f4e43538232b SHA256 49515885af0ad4b13d4f93911c0b8b84e25abcda3fdc8e5715b1aa956b18af15
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iQIcBAEBCgAGBQJOSAy1AAoJENwGBM22xffevbUP/A7oF0YoI56Zw4RqX86JUzjm
+udTcdGd+N/sg4sohBzILsY3LfKCCL1Sj8XMaTZ0tDgq+aMZnVhRyfd3+64AoEtrj
+B/NOujTPQIXxyY9Sd53cximoys/aUJxeGxzuvz7MkBdWEQyTx+gHwRyzWYZPXPDV
+DnT9T6shNi5foFnV8Br8hCdWel5cHcKzDTgJBJZ36DQmM0bbNCTv8ZkCUXzIMkdC
+WB4PVJsq066C8VNWeBVdLZwNqwV9Hl1GsoVhJ2CSDOJma8uLHScza25BfGrxIaX9
+4pH/x84vDAq2yiKMtrnH4Az3IqlhVyfO7U02eydahVxyPAvH66z/a+jBcD3mMFqa
+drgSeHBjfW7pI0WYyvFkNApawP1rg/ZsGeEC4ai01BH6QJKQr0E8P4upqgF9cp5h
+flyOd9bzVEZ8+5r3e6IxZatNPTofvsFm9TccahEghGRleUYj9PpR0qOrpgiwLwz8
+FM9DBRJqSYSzdSg1jsRgzwP3D2Orht1jYcCx9E1/pARcpqQTcC9zVSzRDec41Uex
+EKC0ofV48H/763ljTOsjD/tRBSriJQRv/mHNhw+0jOf6XZquSIx+va62Ps4kZwVz
+g1VG125UvjeC8wwmeOvnsvsEYOvhO0kFMvgDaaEkKPWseoQ3q3TY9a/fhD3TpCy6
+dUzQ7gQY7gYvRu7YWLZN
+=9P3e
+-----END PGP SIGNATURE-----
diff --git a/x11-libs/qt-gui/files/qt-gui-4.7.3-cups.patch b/x11-libs/qt-gui/files/qt-gui-4.7.3-cups.patch
new file mode 100644 (file)
index 0000000..e0305e1
--- /dev/null
@@ -0,0 +1,84 @@
+diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp
+--- qt-everywhere-opensource-src-4.6.2/src/gui/dialogs/qprintdialog_unix.cpp   2010-02-11 16:55:22.000000000 +0100
++++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/dialogs/qprintdialog_unix.cpp      2010-02-28 04:34:16.000000000 +0100
+@@ -569,6 +569,32 @@
+ void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
+ {
+     options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
++
++    if (cups) {
++        const ppd_option_t* duplex = cups->ppdOption("Duplex");
++        if (duplex) {
++            // copy default ppd duplex to qt dialog
++            if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
++                options.duplexShort->setChecked(true);
++            else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
++                options.duplexLong->setChecked(true);
++            else
++                options.noDuplex->setChecked(true);
++        }
++
++        if (cups->currentPPD()) {
++            // set default color
++            if (cups->currentPPD()->color_device)
++                options.color->setChecked(true);
++            else
++                options.grayscale->setChecked(true);
++        }
++
++        // set collation
++        const ppd_option_t *collate = cups->ppdOption("Collate");
++        if (collate)
++            options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
++    }
+ }
+ #endif
+ 
+diff -ur qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp
+--- qt-everywhere-opensource-src-4.6.2/src/gui/painting/qprinter.cpp   2010-02-11 16:55:22.000000000 +0100
++++ qt-everywhere-opensource-src-4.6.2-cups/src/gui/painting/qprinter.cpp      2010-02-28 04:55:15.000000000 +0100
+@@ -627,6 +627,44 @@
+                && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
+         setOutputFormat(QPrinter::PdfFormat);
+     }
++
++#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
++    // fill in defaults from ppd file
++    QCUPSSupport cups;
++
++    int printernum = -1;
++    for (int i = 0; i < cups.availablePrintersCount(); i++) {
++        if (printerName().toLocal8Bit() == cups.availablePrinters()[i].name)
++            printernum = i;
++    }
++    if (printernum >= 0) {
++        cups.setCurrentPrinter(printernum);
++
++        const ppd_option_t* duplex = cups.ppdOption("Duplex");
++        if (duplex) {
++            // copy default ppd duplex to qt dialog
++            if (qstrcmp(duplex->defchoice, "DuplexTumble") == 0)
++                setDuplex(DuplexShortSide);
++            else if (qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0)
++                setDuplex(DuplexLongSide);
++            else
++                setDuplex(DuplexNone);
++        }
++
++        if (cups.currentPPD()) {
++            // set default color
++            if (cups.currentPPD()->color_device)
++                setColorMode(Color);
++            else
++                setColorMode(GrayScale);
++        }
++
++        // set collation
++        const ppd_option_t *collate = cups.ppdOption("Collate");
++        if (collate)
++            setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
++    }
++#endif
+ }
+ 
+ /*!
diff --git a/x11-libs/qt-gui/qt-gui-4.7.3-r1.ebuild b/x11-libs/qt-gui/qt-gui-4.7.3-r1.ebuild
new file mode 100644 (file)
index 0000000..e0b2970
--- /dev/null
@@ -0,0 +1,193 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/qt-gui-4.7.3-r1.ebuild,v 1.1 2011/08/14 17:57:54 dilfridge Exp $
+
+EAPI="3"
+inherit confutils qt4-build
+
+DESCRIPTION="The GUI module for the Qt toolkit"
+SLOT="4"
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 -sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE="+accessibility cups dbus egl +glib gtkstyle mng nas nis private-headers qt3support raster tiff trace xinerama"
+
+RDEPEND="media-libs/fontconfig
+       media-libs/freetype:2
+       virtual/jpeg
+       media-libs/libpng
+       sys-libs/zlib
+       ~x11-libs/qt-core-${PV}[aqua=,debug=,glib=,qt3support=]
+       ~x11-libs/qt-script-${PV}[aqua=,debug=]
+       !aqua? (
+               x11-libs/libX11
+               x11-libs/libXext
+               x11-libs/libXrandr
+               x11-libs/libXcursor
+               x11-libs/libXfont
+               x11-libs/libSM
+               x11-libs/libXi
+       )
+       cups? ( net-print/cups )
+       dbus? ( ~x11-libs/qt-dbus-${PV}[aqua=,debug=] )
+       gtkstyle? ( x11-libs/gtk+:2[aqua=] )
+       mng? ( >=media-libs/libmng-1.0.9 )
+       nas? ( >=media-libs/nas-1.5 )
+       tiff? ( media-libs/tiff )
+       xinerama? ( x11-libs/libXinerama )"
+DEPEND="${RDEPEND}
+       dev-util/pkgconfig
+       !aqua? (
+               x11-proto/xextproto
+               x11-proto/inputproto
+       )
+       xinerama? ( x11-proto/xineramaproto )"
+RDEPEND="${RDEPEND}
+       !~x11-themes/qgtkstyle-4.7.2"
+PDEPEND="qt3support? ( ~x11-libs/qt-qt3support-${PV}[aqua=,debug=] )"
+
+PATCHES=( "${FILESDIR}/${PN}-4.7.3-cups.patch" )
+
+pkg_setup() {
+       if ! use qt3support; then
+               ewarn "WARNING: if you need 'qtconfig', you _must_ enable qt3support."
+       fi
+
+       confutils_use_depend_all gtkstyle glib
+
+       QT4_TARGET_DIRECTORIES="
+               src/gui
+               src/scripttools
+               tools/designer
+               tools/linguist/linguist
+               src/plugins/imageformats/gif
+               src/plugins/imageformats/ico
+               src/plugins/imageformats/jpeg
+               src/plugins/inputmethods"
+
+       QT4_EXTRACT_DIRECTORIES="
+               include
+               src
+               tools/linguist/phrasebooks
+               tools/linguist/shared
+               tools/shared"
+
+       use dbus && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} tools/qdbus/qdbusviewer"
+       use mng && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/imageformats/mng"
+       use tiff && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/imageformats/tiff"
+       use accessibility && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/accessible/widgets"
+       use trace && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES}  src/plugins/graphicssystems/trace"
+
+       QT4_EXTRACT_DIRECTORIES="${QT4_TARGET_DIRECTORIES} ${QT4_EXTRACT_DIRECTORIES}"
+
+       qt4-build_pkg_setup
+}
+
+src_prepare() {
+       qt4-build_src_prepare
+
+       # Don't build plugins this go around, because they depend on qt3support lib
+       sed -i -e "s:CONFIG(shared:# &:g" "${S}"/tools/designer/src/src.pro
+}
+
+src_configure() {
+       export PATH="${S}/bin:${PATH}"
+       export LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}"
+
+       myconf="$(qt_use accessibility)
+               $(qt_use cups)
+               $(qt_use glib)
+               $(qt_use mng libmng system)
+               $(qt_use nis)
+               $(qt_use tiff libtiff system)
+               $(qt_use dbus qdbus)
+               $(qt_use dbus)
+               $(qt_use egl)
+               $(qt_use qt3support)
+               $(qt_use gtkstyle)
+               $(qt_use xinerama)"
+
+       use nas && myconf="${myconf} -system-nas-sound"
+       use raster && myconf="${myconf} -graphicssystem raster"
+
+       myconf="${myconf} -qt-gif -system-libpng -system-libjpeg
+               -no-sql-mysql -no-sql-psql -no-sql-ibase -no-sql-sqlite -no-sql-sqlite2
+               -no-sql-odbc -xrender -xrandr -xkb -xshape -sm -no-svg -no-webkit
+               -no-phonon -no-opengl"
+
+       qt4-build_src_configure
+
+       if use gtkstyle; then
+               einfo "patching the Makefile to fix qgtkstyle compilation"
+               sed "s:-I/usr/include/qt4 ::" -i src/gui/Makefile ||
+                       die "sed failed"
+       fi
+       einfo "patching the Makefile to fix bug #361277"
+       sed "s:-I/usr/include/qt4/QtGui ::" -i src/gui/Makefile ||
+               die "sed failed"
+}
+
+src_install() {
+       QCONFIG_ADD="x11sm xshape xcursor xfixes xrandr xrender xkb fontconfig
+               $(usev accessibility) $(usev xinerama) $(usev cups) $(usev nas)
+               gif png system-png system-jpeg
+               $(use mng && echo system-mng)
+               $(use tiff && echo system-tiff)"
+       QCONFIG_REMOVE="no-gif no-png"
+       QCONFIG_DEFINE="$(use accessibility && echo QT_ACCESSIBILITY)
+                       $(use cups && echo QT_CUPS) QT_FONTCONFIG QT_IMAGEFORMAT_JPEG
+                       $(use mng && echo QT_IMAGEFORMAT_MNG)
+                       $(use nas && echo QT_NAS)
+                       $(use nis && echo QT_NIS) QT_IMAGEFORMAT_PNG QT_SESSIONMANAGER QT_SHAPE
+                       $(use tiff && echo QT_IMAGEFORMAT_TIFF) QT_XCURSOR
+                       $(use xinerama && echo QT_XINERAMA) QT_XFIXES QT_XKB QT_XRANDR QT_XRENDER"
+
+       qt4-build_src_install
+
+       # remove unnecessary Windows headers
+       rm -f "${D}${QTHEADERDIR}"/{Qt,QtGui}/qwindowdefs_win.h
+       # remove Mac OS X headers
+       use aqua || rm -f \
+               "${D}${QTHEADERDIR}"/{Qt,QtGui}/qmacstyle_mac.h \
+               "${D}${QTHEADERDIR}"/QtGui/QMacStyle
+
+       # qt-creator
+       # some qt-creator headers are located
+       # under /usr/include/qt4/QtDesigner/private.
+       # those headers are just includes of the headers
+       # which are located under tools/designer/src/lib/*
+       # So instead of installing both, we create the private folder
+       # and drop tools/designer/src/lib/* headers in it.
+       if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then
+               insinto "${QTLIBDIR#${EPREFIX}}"/QtDesigner.framework/Headers/private/
+       else
+               insinto "${QTHEADERDIR#${EPREFIX}}"/QtDesigner/private/
+       fi
+       doins "${S}"/tools/designer/src/lib/shared/* || die
+       doins "${S}"/tools/designer/src/lib/sdk/* || die
+       #install private headers
+       if use private-headers; then
+               if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then
+                       insinto "${QTLIBDIR#${EPREFIX}}"/QtGui.framework/Headers/private/
+               else
+                       insinto "${QTHEADERDIR#${EPREFIX}}"/QtGui/private
+               fi
+               find "${S}"/src/gui -type f -name "*_p.h" -exec doins {} \;
+       fi
+       if use aqua && [[ ${CHOST##*-darwin} -ge 9 ]] ; then
+               # rerun to get links to headers right
+               fix_includes
+       fi
+
+       # install correct designer and linguist icons, bug 241208
+       doicon tools/linguist/linguist/images/icons/linguist-128-32.png \
+               tools/designer/src/designer/images/designer.png \
+               || die "doicon failed"
+       # Note: absolute image path required here!
+       make_desktop_entry "${EPREFIX}"/usr/bin/linguist Linguist \
+                       "${EPREFIX}"/usr/share/pixmaps/linguist-128-32.png \
+                       'Qt;Development;GUIDesigner' \
+                       || die "linguist make_desktop_entry failed"
+       make_desktop_entry "${EPREFIX}"/usr/bin/designer Designer \
+                       "${EPREFIX}"/usr/share/pixmaps/designer.png \
+                       'Qt;Development;GUIDesigner' \
+                       || die "designer make_desktop_entry failed"
+}