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.
Package-Manager: Portage-2.3.11, Repoman-2.3.3
- Loading branch information
Showing
2 changed files
with
116 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.8.1.tar.gz 1053395 SHA256 3e94460ecbd1ca43974d62a0ecf691d48866049787c465944866baf52d5b16fc SHA512 2b4657475803e56f911f0bc373692b70f9376ed520499f1c4e7040e4dedddc417bd4e72208c925ed7fdc7fcf0b96434dab8d8f87c454ae08da80d6438dbcbc5c WHIRLPOOL 1a5fa2cc7518b3b324d163224b259e7f44b91599e58ff3c9e2d52d3322d68b0fbb2b0e0ec5abee17e95a4a51a00d10a84397a49d5cf31ec37fbab4759dba7259 | ||
DIST qbs-src-1.9.1.tar.gz 4007946 SHA256 970048842581bc004eec9ac9777a49380c03f4e01ef7ad309813aa1054870073 SHA512 6b400a06b4f2c2cb531095a0c3eadb112335fe0f91c2077f01c7d2dc6ea329d250e7af70f70ebeb972368aa8fa0ee9548b84b75dc877230de6dea0b10468b7fd WHIRLPOOL 3c265433f514fa6bf9ad3f3f901fe2fc6ec88180277af05af6fd1ca66481a5ca86cdc046835a2b7d99d23efd4e57d479494df4d24f32c7b3f20832644ee523b4 |
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,115 @@ | ||
# Copyright 1999-2017 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 | ||
|
||
if use test; then | ||
sed -i -e '/SUBDIRS =/ s:=.*:= auto:' tests/tests.pro || die | ||
else | ||
sed -i -e '/SUBDIRS =/ d' tests/tests.pro || die | ||
fi | ||
|
||
# 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 | ||
|
||
# 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 | ||
} |