TQt: Add `imext` and `styles` USE and general improvements.

- Fix `QTDIR`.
- Fix `mng´ flag.
- Add `imext` USE.
- Add `styles` USE.
- Add missing dependencies.
- Fix `qmake.conf` files.
- Fix tests for other Profiles.
- Remove obsolete X11 and OpenGL paths.

Credits to `ormorph`.

Signed-off-by: Chris <xchrisx@uber.space>
pull/146/head
Chris 4 years ago committed by TDE Gitea
parent 7f63b40915
commit 8030f4f93c

@ -14,8 +14,8 @@ SRC_URI="http://www.mirrorservice.org/sites/trinitydesktop.org/trinity/releases/
LICENSE="|| ( GPL-2 GPL-3 )" LICENSE="|| ( GPL-2 GPL-3 )"
SLOT="3.5" SLOT="3.5"
IUSE="cups debug doc examples firebird ipv6 mysql nas nis +opengl postgres IUSE="cups debug doc examples firebird ipv6 mysql nas nis +opengl postgres styles
sqlite +xinerama tablet +xrandr glib mng fontconfig +hiddenvisibility" imext sqlite +xinerama tablet +xrandr glib mng fontconfig +hiddenvisibility"
KEYWORDS="~amd64 ~x86" KEYWORDS="~amd64 ~x86"
@ -27,12 +27,18 @@ RDEPEND="
x11-libs/libXft x11-libs/libXft
x11-libs/libXcursor x11-libs/libXcursor
x11-libs/libXi x11-libs/libXi
x11-libs/libXmu
x11-libs/libICE
x11-libs/libXext
x11-libs/libXt
x11-libs/libX11
x11-libs/libXrandr x11-libs/libXrandr
x11-libs/libSM x11-libs/libSM
cups? ( net-print/cups ) cups? ( net-print/cups )
firebird? ( dev-db/firebird ) firebird? ( dev-db/firebird )
mysql? ( virtual/mysql ) mysql? ( virtual/mysql )
nas? ( media-libs/nas ) nas? ( media-libs/nas )
nis? ( net-libs/libnsl )
opengl? ( virtual/opengl virtual/glu ) opengl? ( virtual/opengl virtual/glu )
postgres? ( dev-db/postgresql:= ) postgres? ( dev-db/postgresql:= )
sqlite? ( dev-db/sqlite:= ) sqlite? ( dev-db/sqlite:= )
@ -49,7 +55,18 @@ TQTBASE="/usr/tqt3"
S="${WORKDIR}/tqt3-trinity-${PV}" S="${WORKDIR}/tqt3-trinity-${PV}"
pkg_setup() { pkg_setup() {
export TQTDIR="${S}" if use imext; then
ewarn
ewarn "You are going to compile binary imcompatible immodule for TQt. This means"
ewarn "you have to recompile everything depending on TQt after you install it."
ewarn "Be aware."
ewarn
ewarn "You can do that with: revdep-rebuild --library 'libtqt-mt.so.3'"
ewarn "To use that command, you need to install app-portage/gentoolkit."
ewarn
fi
export QTDIR="${S}"
CXX=$(tc-getCXX) CXX=$(tc-getCXX)
if [[ ${CXX/g++/} != ${CXX} ]]; then if [[ ${CXX/g++/} != ${CXX} ]]; then
@ -90,6 +107,7 @@ src_prepare() {
find "${S}"/mkspecs -name qmake.conf | xargs \ find "${S}"/mkspecs -name qmake.conf | xargs \
sed -i -e 's:QMAKE_RPATH.*:QMAKE_RPATH =:' || die sed -i -e 's:QMAKE_RPATH.*:QMAKE_RPATH =:' || die
# Make qmake.conf respect our flags and toolchain
sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
-e 's:QMAKE_CFLAGS\t\t=.*:QMAKE_CFLAGS =:' \ -e 's:QMAKE_CFLAGS\t\t=.*:QMAKE_CFLAGS =:' \
-e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
@ -100,7 +118,14 @@ src_prepare() {
-e "s:\<QMAKE_LINK_SHLIB\>.*=.*:QMAKE_LINK_SHLIB=$(tc-getCXX):" \ -e "s:\<QMAKE_LINK_SHLIB\>.*=.*:QMAKE_LINK_SHLIB=$(tc-getCXX):" \
-e "s:\<QMAKE_STRIP\>.*=.*:QMAKE_STRIP=:" \ -e "s:\<QMAKE_STRIP\>.*=.*:QMAKE_STRIP=:" \
"${S}/mkspecs/${PLATFORM}/qmake.conf" || die "${S}/mkspecs/${PLATFORM}/qmake.conf" || die
# Remove obsolete X11 and OpenGL searchpaths
find "${S}"/mkspecs -name qmake.conf | xargs \
sed -i -e 's:QMAKE_INCDIR_X11\t=.*:QMAKE_INCDIR_X11\t=:' \
-e 's:QMAKE_LIBDIR_X11\t=.*:QMAKE_LIBDIR_X11\t=:' \
-e 's:QMAKE_INCDIR_OPENGL\t=.*:QMAKE_INCDIR_OPENGL\t=:' \
-e 's:QMAKE_LIBDIR_OPENGL\t=.*:QMAKE_LIBDIR_OPENGL\t=:' || die
if use hiddenvisibility; then if use hiddenvisibility; then
sed -i -e 's:QMAKE_CFLAGS =:QMAKE_CFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden:' \ sed -i -e 's:QMAKE_CFLAGS =:QMAKE_CFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden:' \
"${S}/mkspecs/${PLATFORM}/qmake.conf" || die "${S}/mkspecs/${PLATFORM}/qmake.conf" || die
@ -109,6 +134,12 @@ src_prepare() {
if [ $(get_libdir) != "lib" ] ; then if [ $(get_libdir) != "lib" ] ; then
sed -i -e "s:/lib$:/$(get_libdir):" \ sed -i -e "s:/lib$:/$(get_libdir):" \
"${S}/mkspecs/${PLATFORM}/qmake.conf" || die "${S}/mkspecs/${PLATFORM}/qmake.conf" || die
sed -i -e "s:/usr/lib /lib:/usr/$(get_libdir) /$(get_libdir):" \
"${S}/config.tests/unix/"*.test || die
sed -i -e "s:/usr/lib /lib:/usr/$(get_libdir) /$(get_libdir):" \
"${S}/config.tests/x11/"*.test || die
sed -i -e "s:/lib /usr/lib:/$(get_libdir) /usr/$(get_libdir):" \
"${S}/config.tests/unix/checkavail" || die
fi fi
sed -i -e "s:CXXFLAGS.*=:CXXFLAGS=${CXXFLAGS} :" \ sed -i -e "s:CXXFLAGS.*=:CXXFLAGS=${CXXFLAGS} :" \
@ -143,13 +174,15 @@ src_configure() {
use firebird && myconf+=" -plugin-sql-ibase -I/opt/firebird/include" || myconf+=" -no-sql-ibase" use firebird && myconf+=" -plugin-sql-ibase -I/opt/firebird/include" || myconf+=" -no-sql-ibase"
use fontconfig && myconf+=" -lfontconfig" use fontconfig && myconf+=" -lfontconfig"
use glib && myconf+=" -glibmainloop" || myconf+=" -no-glibmainloop" use glib && myconf+=" -glibmainloop" || myconf+=" -no-glibmainloop"
use imext && myconf+=" -inputmethod-ext" || myconf+=" -no-inputmethod-ext"
use ipv6 && myconf+=" -ipv6" || myconf+=" -no-ipv6" use ipv6 && myconf+=" -ipv6" || myconf+=" -no-ipv6"
use mng && myconf+=" -qt-imgfmt -system-libmng" || myconf+=" -no-imgfmt-mng" use mng && myconf+=" -qt-imgfmt-mng -system-libmng" || myconf+=" -no-imgfmt-mng"
use mysql && myconf+=" -plugin-sql-mysql -I/usr/include/mysql -L/usr/$(get_libdir)/mysql" || myconf+=" -no-sql-mysql" use mysql && myconf+=" -plugin-sql-mysql -I/usr/include/mysql -L/usr/$(get_libdir)/mysql" || myconf+=" -no-sql-mysql"
use nas && myconf+=" -system-nas-sound" || myconf+=" -no-nas-sound" use nas && myconf+=" -system-nas-sound" || myconf+=" -no-nas-sound"
use nis && myconf+=" -nis" || myconf+=" -no-nis" use nis && myconf+=" -nis" || myconf+=" -no-nis"
use opengl && myconf+=" -enable-module=opengl -no-dlopen-opengl" || myconf+=" -disable-opengl" use opengl && myconf+=" -enable-module=opengl -no-dlopen-opengl" || myconf+=" -disable-opengl"
use postgres && myconf+=" -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" || myconf+=" -no-sql-psql" use postgres && myconf+=" -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" || myconf+=" -no-sql-psql"
use styles && myconf+=" -plugin-style-cde -plugin-style-compact -plugin-style-motif -plugin-style-motifplus -plugin-style-platinum -plugin-style-sgi -plugin-style-windows" || myconf+=" -no-style-cde -no-style-compact -no-style-motif -no-style-motifplus -no-style-platinum -no-style-sgi -no-style-windows"
use sqlite && myconf+=" -plugin-sql-sqlite -plugin-sql-sqlite3" || myconf+=" -no-sql-sqlite -no-sql-sqlite3" use sqlite && myconf+=" -plugin-sql-sqlite -plugin-sql-sqlite3" || myconf+=" -no-sql-sqlite -no-sql-sqlite3"
use tablet && myconf+=" -tablet" || myconf+=" -no-tablet" use tablet && myconf+=" -tablet" || myconf+=" -no-tablet"
use xinerama && myconf+=" -xinerama" || myconf+=" -no-xinerama" use xinerama && myconf+=" -xinerama" || myconf+=" -no-xinerama"
@ -184,6 +217,10 @@ src_compile() {
} }
src_install() { src_install() {
# Fix qmake.conf files
find "${S}"/mkspecs -name qmake.conf | xargs \
sed -i -e "s:\$(QTDIR):${TQTBASE}:" || die
# Install TQt with all compiled before # Install TQt with all compiled before
emake INSTALL_ROOT="${D}" install emake INSTALL_ROOT="${D}" install

@ -14,8 +14,8 @@ EGIT_REPO_URI="https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3"
LICENSE="|| ( GPL-2 GPL-3 )" LICENSE="|| ( GPL-2 GPL-3 )"
SLOT="3.5" SLOT="3.5"
IUSE="cups debug doc examples firebird ipv6 mysql nas nis +opengl postgres IUSE="cups debug doc examples firebird ipv6 mysql nas nis +opengl postgres styles
sqlite +xinerama tablet +xrandr glib mng fontconfig +hiddenvisibility" imext sqlite +xinerama tablet +xrandr glib mng fontconfig +hiddenvisibility"
RDEPEND=" RDEPEND="
virtual/jpeg:= virtual/jpeg:=
@ -25,12 +25,18 @@ RDEPEND="
x11-libs/libXft x11-libs/libXft
x11-libs/libXcursor x11-libs/libXcursor
x11-libs/libXi x11-libs/libXi
x11-libs/libXmu
x11-libs/libICE
x11-libs/libXext
x11-libs/libXt
x11-libs/libX11
x11-libs/libXrandr x11-libs/libXrandr
x11-libs/libSM x11-libs/libSM
cups? ( net-print/cups ) cups? ( net-print/cups )
firebird? ( dev-db/firebird ) firebird? ( dev-db/firebird )
mysql? ( virtual/mysql ) mysql? ( virtual/mysql )
nas? ( media-libs/nas ) nas? ( media-libs/nas )
nis? ( net-libs/libnsl )
opengl? ( virtual/opengl virtual/glu ) opengl? ( virtual/opengl virtual/glu )
postgres? ( dev-db/postgresql:= ) postgres? ( dev-db/postgresql:= )
sqlite? ( dev-db/sqlite:= ) sqlite? ( dev-db/sqlite:= )
@ -45,6 +51,17 @@ DEPEND="${RDEPEND}
TQTBASE="/usr/tqt3" TQTBASE="/usr/tqt3"
pkg_setup() { pkg_setup() {
if use imext; then
ewarn
ewarn "You are going to compile binary imcompatible immodule for TQt. This means"
ewarn "you have to recompile everything depending on TQt after you install it."
ewarn "Be aware."
ewarn
ewarn "You can do that with: revdep-rebuild --library 'libtqt-mt.so.3'"
ewarn "To use that command, you need to install app-portage/gentoolkit."
ewarn
fi
export TQTDIR="${S}" export TQTDIR="${S}"
CXX=$(tc-getCXX) CXX=$(tc-getCXX)
@ -86,6 +103,7 @@ src_prepare() {
find "${S}"/mkspecs -name qmake.conf | xargs \ find "${S}"/mkspecs -name qmake.conf | xargs \
sed -i -e 's:QMAKE_RPATH.*:QMAKE_RPATH =:' || die sed -i -e 's:QMAKE_RPATH.*:QMAKE_RPATH =:' || die
# Make qmake.conf respect our flags and toolchain
sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \ sed -i -e "s:QMAKE_CFLAGS_RELEASE.*=.*:QMAKE_CFLAGS_RELEASE=${CFLAGS}:" \
-e 's:QMAKE_CFLAGS\t\t=.*:QMAKE_CFLAGS =:' \ -e 's:QMAKE_CFLAGS\t\t=.*:QMAKE_CFLAGS =:' \
-e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \ -e "s:QMAKE_CXXFLAGS_RELEASE.*=.*:QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS}:" \
@ -96,6 +114,13 @@ src_prepare() {
-e "s:\<QMAKE_LINK_SHLIB\>.*=.*:QMAKE_LINK_SHLIB=$(tc-getCXX):" \ -e "s:\<QMAKE_LINK_SHLIB\>.*=.*:QMAKE_LINK_SHLIB=$(tc-getCXX):" \
-e "s:\<QMAKE_STRIP\>.*=.*:QMAKE_STRIP=:" \ -e "s:\<QMAKE_STRIP\>.*=.*:QMAKE_STRIP=:" \
"${S}/mkspecs/${PLATFORM}/qmake.conf" || die "${S}/mkspecs/${PLATFORM}/qmake.conf" || die
# Remove obsolete X11 and OpenGL searchpaths
find "${S}"/mkspecs -name qmake.conf | xargs \
sed -i -e 's:QMAKE_INCDIR_X11\t=.*:QMAKE_INCDIR_X11\t=:' \
-e 's:QMAKE_LIBDIR_X11\t=.*:QMAKE_LIBDIR_X11\t=:' \
-e 's:QMAKE_INCDIR_OPENGL\t=.*:QMAKE_INCDIR_OPENGL\t=:' \
-e 's:QMAKE_LIBDIR_OPENGL\t=.*:QMAKE_LIBDIR_OPENGL\t=:' || die
if use hiddenvisibility; then if use hiddenvisibility; then
sed -i -e 's:QMAKE_CFLAGS =:QMAKE_CFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden:' \ sed -i -e 's:QMAKE_CFLAGS =:QMAKE_CFLAGS = -fvisibility=hidden -fvisibility-inlines-hidden:' \
@ -105,6 +130,12 @@ src_prepare() {
if [ $(get_libdir) != "lib" ] ; then if [ $(get_libdir) != "lib" ] ; then
sed -i -e "s:/lib$:/$(get_libdir):" \ sed -i -e "s:/lib$:/$(get_libdir):" \
"${S}/mkspecs/${PLATFORM}/qmake.conf" || die "${S}/mkspecs/${PLATFORM}/qmake.conf" || die
sed -i -e "s:/usr/lib /lib:/usr/$(get_libdir) /$(get_libdir):" \
"${S}/config.tests/unix/"*.test || die
sed -i -e "s:/usr/lib /lib:/usr/$(get_libdir) /$(get_libdir):" \
"${S}/config.tests/x11/"*.test || die
sed -i -e "s:/lib /usr/lib:/$(get_libdir) /usr/$(get_libdir):" \
"${S}/config.tests/unix/checkavail" || die
fi fi
sed -i -e "s:CXXFLAGS.*=:CXXFLAGS=${CXXFLAGS} :" \ sed -i -e "s:CXXFLAGS.*=:CXXFLAGS=${CXXFLAGS} :" \
@ -137,7 +168,7 @@ src_configure() {
use nas && myconf+=" -system-nas-sound" || myconf+=" -no-nas-sound" use nas && myconf+=" -system-nas-sound" || myconf+=" -no-nas-sound"
use nis && myconf+=" -nis" || myconf+=" -no-nis" use nis && myconf+=" -nis" || myconf+=" -no-nis"
use xrandr && myconf+=" -xrandr" || myconf+=" -no-xrandr" use xrandr && myconf+=" -xrandr" || myconf+=" -no-xrandr"
use mng && myconf+=" -qt-imgfmt -system-libmng" || myconf+=" -no-imgfmt-mng" use mng && myconf+=" -qt-imgfmt-mng -system-libmng" || myconf+=" -no-imgfmt-mng"
use cups && myconf+=" -cups" || myconf+=" -no-cups" use cups && myconf+=" -cups" || myconf+=" -no-cups"
use opengl && myconf+=" -enable-module=opengl -no-dlopen-opengl" || myconf+=" -disable-opengl" use opengl && myconf+=" -enable-module=opengl -no-dlopen-opengl" || myconf+=" -disable-opengl"
use xinerama && myconf+=" -xinerama" || myconf+=" -no-xinerama" use xinerama && myconf+=" -xinerama" || myconf+=" -no-xinerama"
@ -152,8 +183,11 @@ src_configure() {
use firebird && myconf+=" -plugin-sql-ibase -I/opt/firebird/include" || myconf+=" -no-sql-ibase" use firebird && myconf+=" -plugin-sql-ibase -I/opt/firebird/include" || myconf+=" -no-sql-ibase"
use sqlite && myconf+=" -plugin-sql-sqlite -plugin-sql-sqlite3" || myconf+=" -no-sql-sqlite -no-sql-sqlite3" use sqlite && myconf+=" -plugin-sql-sqlite -plugin-sql-sqlite3" || myconf+=" -no-sql-sqlite -no-sql-sqlite3"
use imext && myconf+=" -inputmethod-ext" || myconf+=" -no-inputmethod-ext"
use tablet && myconf+=" -tablet" || myconf+=" -no-tablet" use tablet && myconf+=" -tablet" || myconf+=" -no-tablet"
use styles && myconf+=" -plugin-style-cde -plugin-style-compact -plugin-style-motif -plugin-style-motifplus -plugin-style-platinum -plugin-style-sgi -plugin-style-windows" || myconf+=" -no-style-cde -no-style-compact -no-style-motif -no-style-motifplus -no-style-platinum -no-style-sgi -no-style-windows"
export YACC='byacc -d' export YACC='byacc -d'
tc-export CC CXX tc-export CC CXX
export LINK="$(tc-getCXX)" export LINK="$(tc-getCXX)"
@ -182,6 +216,10 @@ src_compile() {
} }
src_install() { src_install() {
# Fix qmake.conf files
find "${S}"/mkspecs -name qmake.conf | xargs \
sed -i -e "s:\$(TQTDIR):${TQTBASE}:" || die
# Install TQt with all compiled before # Install TQt with all compiled before
emake INSTALL_ROOT="${D}" install emake INSTALL_ROOT="${D}" install

Loading…
Cancel
Save