New pyside:2 and shiboken:2 ebuilds

This commit is contained in:
layman 2017-10-29 21:21:40 +01:00
parent e7325c8dcb
commit b211df4eb3
8 changed files with 318 additions and 0 deletions

View File

@ -0,0 +1,3 @@
AUX rpath.cmake 393 SHA256 b89f3698d321e30afef0f7c32be009d5d926f92ba310ad44b384cdbc1a6a104d SHA512 b9f2d3b34fd31a7e289e3aa1c96110f92bc66f45e5bfaf796f86d52eb832e960caca0e314b87248d0a41c13c95f04402607cbb5ad7d0b3238d5bab5580c3a65f WHIRLPOOL 79dbd32a58b6bf8a408f8fef3dd918c1946c89c32731b515984cb0ed8230c63cd724150db636523484d525c2ebad1f78217c7ccb6a294221aa8d2ca8dcce6a1d
EBUILD pyside-9999.ebuild 5334 SHA256 12caf866c4644c39c1024dd2293d4a8c22c51897fb9193c01e6fcb796357c05d SHA512 6f59077dbf291ef7cb1dae0ac6bb334ee49df59149c2f31ed1981a9a7e5dc9e9745dafb8445eedf50d00b7ff9f9afe5f939b28e1484194055dc27f3dea58c5fc WHIRLPOOL 6cce0ad6ad5e89732f11b90bf3567383ca1827a2924825b66020527615513d4b1fe966b52f2cd1c9f1d438e8c6fa969c55115f4d98f44c821093827a0e2d3cf1
MISC metadata.xml 1625 SHA256 5086ff64f05e6079c9e73bbe2a880deafe25f8eab5b9e67363e5f5aa97bcd727 SHA512 4ebab1fd1948a764a2afa8eba682a627b6df3165d37bfa814c024486c97d4d7286f21fce1ac4f446d439acf9df65e1f010e86153c6afe23cd642bffadd480270 WHIRLPOOL b8cba8c976891a8163097076065eb3b9781e6351572e3267ba8455369deb713231688e07879dc9fd4e23d3e027b29c3bfc48fdc598f76d1d0620fdfb1bcc73ce

View File

@ -0,0 +1,10 @@
# use, i.e. don't skip the full RPATH for the build tree
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>qt@gentoo.org</email>
<name>Gentoo Qt Project</name>
</maintainer>
<use>
<flag name="charts">Build QtCharts module</flag>
<flag name="concurrent">Build QtConcurrent module</flag>
<flag name="datavis">Build QtDataVisualization module</flag>
<flag name="declarative">Build QtQml, QtQuick, and QtQuickWidgets modules</flag>
<flag name="designer">Build QtDesigner and QtUiTools modules</flag>
<flag name="gui">Build QtGui module</flag>
<flag name="help">Build QtHelp module</flag>
<flag name="multimedia">Build QtMultimedia and QtMultimediaWidgets modules</flag>
<flag name="network">Build QtNetwork module</flag>
<flag name="opengl">Build QtOpenGL module</flag>
<flag name="printsupport">Build QtPrintSupport module</flag>
<flag name="script">Build QtScript module</flag>
<flag name="scripttools">Build QtScriptTools module</flag>
<flag name="sql">Build QtSql module</flag>
<flag name="svg">Build QtSvg module</flag>
<flag name="testlib">Build QtTest module</flag>
<flag name="webchannel">Build QtWebChannel module</flag>
<flag name="webengine">Build QtWebEngine and QtWebEngineWidgets modules</flag>
<flag name="webkit">Build QtWebKit and QtWebKitWidgets modules</flag>
<flag name="websockets">Build QtWebSockets module</flag>
<flag name="widgets">Build QtWidgets module</flag>
<flag name="x11extras">Build QtX11Extras module</flag>
<flag name="xmlpatterns">Build QtXmlPatterns module</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,155 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit cmake-utils python-r1 virtualx git-r3 toolchain-funcs
DESCRIPTION="Python bindings for the Qt framework"
HOMEPAGE="https://wiki.qt.io/PySide2"
EGIT_REPO_URI="https://code.qt.io/pyside/pyside-setup.git"
EGIT_BRANCH="5.9"
EGIT_SUBMODULES=()
# See "sources/pyside2/PySide2/licensecomment.txt" for licensing details.
LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
SLOT="2"
KEYWORDS=""
# TODO: speech
IUSE="charts concurrent datavis declarative designer gui help multimedia
network opengl printsupport script scripttools sql svg test testlib
webchannel webengine webkit websockets widgets x11extras xmlpatterns"
# The requirements below were extracted from the output of
# 'grep "set(.*_deps" "${S}"/PySide2/Qt*/CMakeLists.txt'
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
charts? ( widgets )
datavis? ( gui )
declarative? ( gui network )
designer? ( widgets )
help? ( widgets )
multimedia? ( gui network )
opengl? ( widgets )
printsupport? ( widgets )
scripttools? ( gui script widgets )
sql? ( widgets )
svg? ( widgets )
testlib? ( widgets )
webengine? ( gui network webchannel widgets )
webkit? ( gui network printsupport widgets )
websockets? ( network )
widgets? ( gui )
x11extras? ( gui )
"
# Minimum version of Qt required, derived from the CMakeLists.txt line:
# find_package(Qt5 ${QT_PV} REQUIRED COMPONENTS Core)
QT_PV="5.9*:5"
DEPEND="
${PYTHON_DEPS}
>=dev-python/shiboken-${PV}:${SLOT}[${PYTHON_USEDEP}]
=dev-qt/qtcore-${QT_PV}
=dev-qt/qtxml-${QT_PV}
charts? ( =dev-qt/qtcharts-${QT_PV} )
concurrent? ( =dev-qt/qtconcurrent-${QT_PV} )
datavis? ( =dev-qt/qtdatavis3d-${QT_PV} )
declarative? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
designer? ( =dev-qt/designer-${QT_PV} )
gui? ( =dev-qt/qtgui-${QT_PV} )
help? ( =dev-qt/qthelp-${QT_PV} )
multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[widgets?] )
network? ( =dev-qt/qtnetwork-${QT_PV} )
opengl? ( =dev-qt/qtopengl-${QT_PV} )
printsupport? ( =dev-qt/qtprintsupport-${QT_PV} )
script? ( =dev-qt/qtscript-${QT_PV} )
sql? ( =dev-qt/qtsql-${QT_PV} )
svg? ( =dev-qt/qtsvg-${QT_PV} )
testlib? ( =dev-qt/qttest-${QT_PV} )
webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
webengine? ( =dev-qt/qtwebengine-${QT_PV}[widgets] )
webkit? ( =dev-qt/qtwebkit-${QT_PV}[printsupport] )
websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
widgets? ( =dev-qt/qtwidgets-${QT_PV} )
x11extras? ( =dev-qt/qtx11extras-${QT_PV} )
xmlpatterns? ( =dev-qt/qtxmlpatterns-${QT_PV} )
"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${P}/sources/pyside2
src_prepare() {
if use prefix; then
cp "${FILESDIR}"/rpath.cmake . || die
sed -i -e '1iinclude(rpath.cmake)' CMakeLists.txt || die
fi
cmake-utils_src_prepare
}
src_configure() {
# See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt
local mycmakeargs=(
-DBUILD_TESTS=$(usex test)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Charts=$(usex !charts)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Concurrent=$(usex !concurrent)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5DataVisualization=$(usex !datavis)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=$(usex !designer)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Gui=$(usex !gui)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Help=$(usex !help)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=$(usex !multimedia)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Network=$(usex !network)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5OpenGL=$(usex !opengl)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5PrintSupport=$(usex !printsupport)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Qml=$(usex !declarative)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Quick=$(usex !declarative)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickWidgets=$(usex !declarative yes $(usex !widgets))
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Script=$(usex !script)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=$(usex !scripttools)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sql=$(usex !sql)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Svg=$(usex !svg)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=$(usex !testlib)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5UiTools=$(usex !designer)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebChannel=$(usex !webchannel)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets=$(usex !webengine)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebKit=$(usex !webkit)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebKitWidgets=$(usex !webkit)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebSockets=$(usex !websockets)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=$(usex !widgets)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5X11Extras=$(usex !x11extras)
-DCMAKE_DISABLE_FIND_PACKAGE_Qt5XmlPatterns=$(usex !xmlpatterns)
)
configuration() {
local mycmakeargs=(
"${mycmakeargs[@]}"
-DPYTHON_EXECUTABLE="${PYTHON}"
)
cmake-utils_src_configure
}
python_foreach_impl configuration
}
src_compile() {
CXXFLAGS="${CXXFLAGS} -I/usr/lib/gcc/"${CTARGET}"/$(gcc-fullversion)/include"
echo "CXXFLAGS: ${CXXFLAGS}"
python_foreach_impl cmake-utils_src_compile
}
src_test() {
local -x PYTHONDONTWRITEBYTECODE
python_foreach_impl virtx cmake-utils_src_test
}
src_install() {
installation() {
cmake-utils_src_install
mv "${ED}"usr/$(get_libdir)/pkgconfig/${PN}2{,-${EPYTHON}}.pc || die
}
python_foreach_impl installation
}

View File

@ -0,0 +1,3 @@
AUX rpath.cmake 393 SHA256 b89f3698d321e30afef0f7c32be009d5d926f92ba310ad44b384cdbc1a6a104d SHA512 b9f2d3b34fd31a7e289e3aa1c96110f92bc66f45e5bfaf796f86d52eb832e960caca0e314b87248d0a41c13c95f04402607cbb5ad7d0b3238d5bab5580c3a65f WHIRLPOOL 79dbd32a58b6bf8a408f8fef3dd918c1946c89c32731b515984cb0ed8230c63cd724150db636523484d525c2ebad1f78217c7ccb6a294221aa8d2ca8dcce6a1d
EBUILD shiboken-9999.ebuild 2336 SHA256 5fef6b564d82401df51b978733f4fe765b057a70ea72e0fc48da692d92bb5a95 SHA512 94d6b4eddbc7da46ead7e0fa39b7b45389a28803834dc08e8acee88974616064bcf7af3b5036174f3c339cfc19d4bc43f806dbdb2ff8bab6f80da34af4e90e3f WHIRLPOOL 78463c632c598c8dfa94e9b114f31e475efdd5b5b74ca49a40797990c94566014872831e75fce0a3611d482e85ffab20a12d249cc67393c2769253971280e5af
MISC metadata.xml 326 SHA256 128b953c1da35dd210f8368ffb75d00820e5ae11e51f84ea58216861d6f7c90b SHA512 d65136c0fcaf336df2f18df675392789b54f9569f7b2027835ed218500c53733db1e21c5121fbceb5cc93cb1442aa8faa4e324142e3ca9a73c954592d495a229 WHIRLPOOL 30423cb87a99b247f71a740b41fa12540186bb46f6affa614b00643d17cc502c40724eff746ff7d00233d072040b0ec4b5f775e5e5ac2f0d7d21fb921121da1e

View File

@ -0,0 +1,10 @@
# use, i.e. don't skip the full RPATH for the build tree
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>qt@gentoo.org</email>
<name>Gentoo Qt Project</name>
</maintainer>
<use>
<flag name="numpy">Enable NumPy-based 2D array support</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,93 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
inherit cmake-utils llvm python-r1 git-r3
DESCRIPTION="Tool for creating Python bindings for C++ libraries"
HOMEPAGE="https://wiki.qt.io/PySide2"
EGIT_REPO_URI="https://code.qt.io/pyside/pyside-setup.git"
EGIT_BRANCH="5.9"
EGIT_SUBMODULES=()
# The "sources/shiboken2/libshiboken" directory is triple-licensed under the GPL
# v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3 with
# version 1.0 of a Qt-specific exception enabling shiboken2 output to be
# arbitrarily relicensed. (TODO)
LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
SLOT="2"
KEYWORDS=""
IUSE="numpy test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# Minimum version of Qt required.
QT_PV="5.9*:5"
#FIXME: Determine the maximum supported version of clang.
#FIXME: Determine exactly which versions of numpy are supported.
DEPEND="
${PYTHON_DEPS}
dev-libs/libxml2
dev-libs/libxslt
=dev-qt/qtcore-${QT_PV}
=dev-qt/qtxml-${QT_PV}
=dev-qt/qtxmlpatterns-${QT_PV}
sys-devel/clang:5
numpy? ( dev-python/numpy )
"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${P}/sources/shiboken2
DOCS=( AUTHORS )
# Ensure the path returned by get_llvm_prefix() contains clang as well.
llvm_check_deps() {
has_version "sys-devel/clang:${LLVM_SLOT}"
}
src_prepare() {
#FIXME: File an upstream issue requesting a sane way to disable NumPy support.
if ! use numpy; then
sed -i -e '/print(os\.path\.realpath(numpy))/d' \
libshiboken/CMakeLists.txt || die
fi
if use prefix; then
cp "${FILESDIR}"/rpath.cmake . || die
sed -i -e '1iinclude(rpath.cmake)' CMakeLists.txt || die
fi
cmake-utils_src_prepare
}
src_configure() {
configuration() {
local mycmakeargs=(
-DBUILD_TESTS=$(usex test)
-DPYTHON_EXECUTABLE="${PYTHON}"
)
# CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
LLVM_INSTALL_DIR="$(get_llvm_prefix)" cmake-utils_src_configure
}
python_foreach_impl configuration
}
src_compile() {
python_foreach_impl cmake-utils_src_compile
}
src_test() {
python_foreach_impl cmake-utils_src_test
}
src_install() {
installation() {
cmake-utils_src_install
mv "${ED}"usr/$(get_libdir)/pkgconfig/${PN}2{,-${EPYTHON}}.pc || die
}
python_foreach_impl installation
}