forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: gentoo#8209 Package-Manager: Portage-2.3.31, Repoman-2.3.9
- Loading branch information
Showing
2 changed files
with
121 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST qbs-src-1.10.1.tar.gz 4140847 BLAKE2B cbd9770d426fdf70645f5c40fbc8956309845980776b920a0e5e612d0cbf63a9a1352e5ab43a98afd9a5a9db396d0b7bbd840b4581787aaafabad0982c6edca8 SHA512 e2019f59124cf8409c12bc108982f1c4c99dcff9d6272c26bee9d690327dea28990c4081857b1b2bfec57e3b557d83e0b8085823dbd4d0988c483d971dc06bac | ||
DIST qbs-src-1.11.0.tar.gz 4299668 BLAKE2B b17e5d0e65fd0c29bf7837d53eb5c5470e6f3a243b4cbd215a528c6657e5c4831e49b369034133f784122e358cce723bd78b26df8bd580ed570a71590a73af7d SHA512 123319aca79c4816fcfd839a7c7f3029c55eac4dc2c2a2bae7df891c15ef81de22bb7f6ad04bbdb39401473a3df15e41b88adcd0d5d2462c2ef3e62bf5e0f80a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# Copyright 1999-2018 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
inherit qmake-utils | ||
|
||
MY_P=${PN}-src-${PV} | ||
|
||
DESCRIPTION="Modern build tool for software projects" | ||
HOMEPAGE="https://wiki.qt.io/Qbs" | ||
SRC_URI="http://download.qt.io/official_releases/${PN}/${PV}/${MY_P}.tar.gz" | ||
|
||
LICENSE="|| ( LGPL-2.1 LGPL-3 )" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm ~x86" | ||
IUSE="doc examples test" | ||
|
||
# see bug 581874 for the qttest dep in RDEPEND | ||
RDEPEND=" | ||
dev-qt/qtcore:5= | ||
dev-qt/qtgui:5 | ||
dev-qt/qtnetwork:5 | ||
dev-qt/qtscript:5 | ||
dev-qt/qtwidgets:5 | ||
dev-qt/qtxml:5 | ||
test? ( dev-qt/qttest:5 ) | ||
" | ||
DEPEND="${RDEPEND} | ||
doc? ( | ||
dev-qt/qdoc:5 | ||
dev-qt/qthelp:5 | ||
) | ||
test? ( dev-qt/qtdeclarative:5 ) | ||
" | ||
|
||
S=${WORKDIR}/${MY_P} | ||
|
||
src_prepare() { | ||
default | ||
|
||
# don't add /usr/include to INCLUDEPATH | ||
# avoids a build failure in qt-creator with gcc-6 (bug 618424) | ||
sed -i -e '/^INCLUDEPATH/ s:$${PWD}/\.\.::' src/lib/corelib/use_installed_corelib.pri || die | ||
|
||
if ! use examples; then | ||
sed -i -e '/INSTALLS +=/ s:examples::' static.pro || die | ||
fi | ||
|
||
# the qbsres target uses the newly built qbs binary, so we have to tell it where to find its libraries | ||
sed -i -e '/qbsres\.commands =/ a\LD_LIBRARY_PATH=$$shell_quote($$shell_path($$QBS_LIBRARY_DIRNAME)) \\' \ | ||
static-res.pro || die | ||
|
||
echo "SUBDIRS = $(usex test auto '')" >> tests/tests.pro | ||
|
||
# since 1.10, TestApi is either broken or requires more configuration | ||
sed -i -e '/\<api\>/ d' tests/auto/auto.pro || die | ||
|
||
# skip several tests that fail and/or have additional deps | ||
sed -i \ | ||
-e 's/findArchiver("7z")/""/' `# requires p7zip, fails` \ | ||
-e 's/findArchiver(binaryName,.*/"";/' `# requires zip and jar` \ | ||
-e 's/p\.value("nodejs\./true||&/' `# requires nodejs, bug 527652` \ | ||
-e 's/\(p\.value\|m_qbsStderr\.contains\)("typescript\./true||&/' `# requires nodejs and typescript` \ | ||
tests/auto/blackbox/tst_blackbox.cpp || die | ||
|
||
# requires jdk, fails, bug 585398 | ||
sed -i -e '/blackbox-java\.pro/ d' tests/auto/auto.pro || die | ||
} | ||
|
||
src_configure() { | ||
local myqmakeargs=( | ||
qbs.pro # bug 523218 | ||
-recursive | ||
CONFIG+=qbs_disable_rpath | ||
CONFIG+=qbs_enable_project_file_updates | ||
$(usex test 'CONFIG+=qbs_enable_unit_tests' '') | ||
QBS_INSTALL_PREFIX="${EPREFIX}/usr" | ||
QBS_LIBRARY_DIRNAME="$(get_libdir)" | ||
) | ||
eqmake5 "${myqmakeargs[@]}" | ||
} | ||
|
||
src_test() { | ||
einfo "Setting up test environment in ${T}" | ||
|
||
export HOME=${T} | ||
export LD_LIBRARY_PATH=${S}/$(get_libdir) | ||
|
||
"${S}"/bin/qbs-setup-toolchains /usr/bin/gcc gcc || die | ||
"${S}"/bin/qbs-setup-qt "$(qt5_get_bindir)/qmake" qbs_autotests || die | ||
|
||
einfo "Running autotests" | ||
|
||
# simply exporting LD_LIBRARY_PATH doesn't work | ||
# we have to use a custom testrunner script | ||
local testrunner=${WORKDIR}/gentoo-testrunner | ||
cat <<-EOF > "${testrunner}" | ||
#!/bin/sh | ||
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH}" | ||
exec "\$@" | ||
EOF | ||
chmod +x "${testrunner}" | ||
|
||
emake TESTRUNNER="'${testrunner}'" check | ||
} | ||
|
||
src_install() { | ||
emake INSTALL_ROOT="${D}" install | ||
|
||
dodoc -r changelogs | ||
|
||
# install documentation | ||
if use doc; then | ||
emake docs | ||
dodoc -r doc/qbs/html | ||
dodoc doc/qbs.qch | ||
docompress -x /usr/share/doc/${PF}/qbs.qch | ||
fi | ||
} |