From d72d9436e081bb7bf210921ab5f48c4f21347c19 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20H=C3=BCttel?= Date: Sun, 14 Aug 2011 17:57:55 +0000 Subject: [PATCH] Add patch by Kevin Kofler to obtain default printer settings from cups, bug 323257. OK'ed by tampakrap. Package-Manager: portage-2.1.10.10/cvs/Linux x86_64 --- x11-libs/qt-gui/ChangeLog | 9 +- x11-libs/qt-gui/Manifest | 24 ++- x11-libs/qt-gui/files/qt-gui-4.7.3-cups.patch | 84 ++++++++ x11-libs/qt-gui/qt-gui-4.7.3-r1.ebuild | 193 ++++++++++++++++++ 4 files changed, 308 insertions(+), 2 deletions(-) create mode 100644 x11-libs/qt-gui/files/qt-gui-4.7.3-cups.patch create mode 100644 x11-libs/qt-gui/qt-gui-4.7.3-r1.ebuild diff --git a/x11-libs/qt-gui/ChangeLog b/x11-libs/qt-gui/ChangeLog index 13ed0a280794..c1745545641b 100644 --- a/x11-libs/qt-gui/ChangeLog +++ b/x11-libs/qt-gui/ChangeLog @@ -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 + +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 qt-gui-4.7.2.ebuild: ppc64 stable wrt #354033 diff --git a/x11-libs/qt-gui/Manifest b/x11-libs/qt-gui/Manifest index 020999bff969..38baeb8f4bc0 100644 --- a/x11-libs/qt-gui/Manifest +++ b/x11-libs/qt-gui/Manifest @@ -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 index 000000000000..e0305e11b89a --- /dev/null +++ b/x11-libs/qt-gui/files/qt-gui-4.7.3-cups.patch @@ -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 index 000000000000..e0b2970e16e9 --- /dev/null +++ b/x11-libs/qt-gui/qt-gui-4.7.3-r1.ebuild @@ -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" +} -- 2.26.2