parent
f157c22912
commit
0fd37cbccc
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST hardinfo-0.5.2_pre20130823.tar.xz 280472 BLAKE2B d72883e7e57234b3328d03daf4d81cc478b383b51f4de08981792c42b3278ede81731ca831fbc285a594aa7f00f861c870aa6d784b7c282960f5541f04f9ce45 SHA512 e36bd4eec0090461de5fdb6c17dccf76937ee8fa9cb3411068fc568847f519023037999278bbb8b9a24608ed5b1d7fd2bebfe7115c631ccca1c35fa259cb20b1
|
||||
DIST hardinfo-0.6_alpha_pre20201116.tar.gz 1294614 BLAKE2B d585be00603a5da2873d0e15829039f3f5212e2ab294b71d7f53299d7eecdfbb2d46ee8d56913039bf03807cebe3f100f41ce6560a1a33fcd712eab59c2a92a9 SHA512 34ce849f2d1a9ea129502abfb186b43a0d8ddecc853d2edc3128389944a34efa3580c6d8a35b8fc40b55d64cc8f3c0d33b97f198a449ed0cacdbff2520853c1c
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit xdg cmake
|
||||
|
||||
GIT_COMMIT="54b2e307af763ce87bc8c88e80785d8114bf38dd"
|
||||
|
||||
DESCRIPTION="System information and benchmark tool for Linux systems"
|
||||
HOMEPAGE="https://github.com/lpereira/hardinfo"
|
||||
SRC_URI="https://github.com/lpereira/hardinfo/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="debug"
|
||||
|
||||
RDEPEND="dev-libs/glib:2
|
||||
dev-libs/json-glib
|
||||
net-libs/libsoup
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
>=x11-libs/gtk+-3.0:3"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
S="${WORKDIR}/${PN}-${GIT_COMMIT}"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DHARDINFO_GTK3=1
|
||||
-DHARDINFO_DEBUG=$(usex debug 1 0)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<!-- maintainer-needed -->
|
||||
</pkgmetadata>
|
||||
|
@ -1,2 +1 @@
|
||||
DIST passwordsafe-1.08_beta.tar.gz 14409047 BLAKE2B 029568b435d4cc19f3a95364355546afb99c13bbee0e83c248d57f47e472da714b95be00658ec2bba161b8eab6f0d94bf2856a2198d29673987e5c0cddf69aaf SHA512 7c37a91c71c1a79ea2cac87ec310d08df7491affd02c073d674bbedbabf25c1a1fb807376dae378dc4395b2146f6eaae059a0b14e0d1ba369cfa91a2d29060a4
|
||||
DIST passwordsafe-1.11.0.tar.gz 14538095 BLAKE2B c37e965968b7e2e694dfa9a9a9193dc9bb10f5b67446ce5db070be864c211f4af06e9c412fa1489f15151741fd1a1ec01d07d3dca4633effa284541e5d081268 SHA512 b6ac36911e24a89f51c8f2efaa381af516e826137a5b131a0258c00d9ff3be07b818ca23b3d49e8dee9913aa8fc73faedf2a70494c72c3b22cc518a9c215e5c5
|
||||
DIST passwordsafe-1.12.0.tar.gz 14937705 BLAKE2B 523e4496ffb99f8a53e62252117d43b771af867b3505f3a5b8c8f1119e8365f0661090e410a832abca89e2ce35816d2046d4bff0ba1e0f06c52c01eaac9051b2 SHA512 c20cb754a2174e3b3ab61edf99f2a31c333144550103fac50cc26cea89669fa3574db3bdd59996fcd87b83c7bf6dd1e9d2b087c17615183cd7111f151be5a94a
|
||||
|
@ -1,100 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
WX_GTK_VER="3.0-gtk3"
|
||||
|
||||
inherit desktop flag-o-matic wxwidgets cmake-utils
|
||||
|
||||
MY_PV="${PV/_beta/BETA}"
|
||||
DESCRIPTION="Password manager with wxGTK based frontend"
|
||||
HOMEPAGE="https://pwsafe.org/ https://github.com/pwsafe/pwsafe/"
|
||||
SRC_URI="https://github.com/pwsafe/pwsafe/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Artistic-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="libressl minimal test qr yubikey +xml xvkbd"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND="xml? ( dev-libs/xerces-c )
|
||||
qr? ( media-gfx/qrencode )
|
||||
net-misc/curl
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
sys-apps/util-linux
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
x11-libs/wxGTK:${WX_GTK_VER}[X]
|
||||
!minimal? ( !!app-misc/pwsafe )
|
||||
yubikey? ( sys-auth/ykpers )"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
xvkbd? ( x11-misc/xvkbd )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/zip
|
||||
sys-devel/gettext
|
||||
test? ( dev-cpp/gtest )"
|
||||
|
||||
S=${WORKDIR}/pwsafe-${MY_PV}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.06_beta-system-gtest.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
einfo "Checking for -std=c++11 support in compiler"
|
||||
test-flags-CXX -std=c++11 > /dev/null || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake-utils_src_prepare
|
||||
|
||||
# binary name pwsafe is in use by app-misc/pwsafe, we use passwordsafe
|
||||
# instead. Perform required changes in linking files
|
||||
sed -i install/desktop/pwsafe.desktop -e "s/pwsafe/${PN}/g" || die
|
||||
sed -i docs/pwsafe.1 \
|
||||
-e 's/PWSAFE/PASSWORDSAFE/' \
|
||||
-e "s/^.B pwsafe/.B ${PN}/" || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
need-wxwidgets unicode
|
||||
|
||||
local mycmakeargs=(
|
||||
-DNO_QR=$(usex !qr)
|
||||
-DNO_GTEST=$(usex !test)
|
||||
-DSYSTEM_GTEST=ON
|
||||
-DXML_XERCESC=$(usex xml)
|
||||
-DNO_YUBI=$(usex !yubikey)
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
pushd "${BUILD_DIR}" || die
|
||||
if use minimal; then
|
||||
newbin pwsafe ${PN}
|
||||
else
|
||||
dobin pwsafe
|
||||
dosym pwsafe /usr/bin/${PN}
|
||||
fi
|
||||
insinto /usr/share/locale
|
||||
doins -r src/ui/wxWidgets/I18N/mos/*
|
||||
|
||||
insinto /usr/share/${PN}/help
|
||||
doins help/*.zip
|
||||
|
||||
popd || die
|
||||
|
||||
newman docs/pwsafe.1 ${PN}.1
|
||||
|
||||
dodoc README.md README.LINUX.* docs/{ReleaseNotes.txt,ChangeLog.txt}
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r xml
|
||||
|
||||
newicon install/graphics/pwsafe.png ${PN}.png
|
||||
newmenu install/desktop/pwsafe.desktop ${PN}.desktop
|
||||
}
|
@ -1,81 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit eutils flag-o-matic git-r3 systemd toolchain-funcs
|
||||
|
||||
DESCRIPTION="System performance tools for Linux"
|
||||
HOMEPAGE="http://pagesperso-orange.fr/sebastien.godard/"
|
||||
EGIT_REPO_URI="https://github.com/sysstat/sysstat"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS=""
|
||||
IUSE="debug nls lm-sensors selinux static"
|
||||
|
||||
CDEPEND="
|
||||
nls? ( virtual/libintl )
|
||||
lm-sensors? ( sys-apps/lm-sensors:= )
|
||||
"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-sysstat )
|
||||
"
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-11.0.4-cron.patch
|
||||
"${FILESDIR}"/${PN}-11.7.3-flags.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if use nls; then
|
||||
strip-linguas -i nls/
|
||||
local lingua pofile
|
||||
for pofile in nls/*.po; do
|
||||
lingua=${pofile/nls\/}
|
||||
lingua=${lingua/.po}
|
||||
if ! has ${lingua} ${LINGUAS}; then
|
||||
rm "nls/${lingua}.po" || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR
|
||||
use static && append-ldflags -static
|
||||
|
||||
sa_lib_dir=/usr/lib/sa \
|
||||
conf_dir=/etc \
|
||||
econf \
|
||||
$(use_enable lm-sensors sensors) \
|
||||
$(use_enable nls) \
|
||||
$(usex debug --enable-debuginfo '') \
|
||||
--enable-copy-only \
|
||||
--enable-documentation \
|
||||
--enable-install-cron \
|
||||
--with-systemdsystemunitdir=$(systemd_get_systemunitdir)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /var/log/sa
|
||||
|
||||
emake \
|
||||
CHOWN=true \
|
||||
DESTDIR="${D}" \
|
||||
DOC_DIR=/usr/share/doc/${PF} \
|
||||
MANGRPARG='' \
|
||||
install
|
||||
|
||||
dodoc -r contrib/
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.init.d ${PN}
|
||||
systemd_dounit ${PN}.service
|
||||
|
||||
rm "${D}"/usr/share/doc/${PF}/COPYING || die
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST lxqt-archiver-0.2.0.tar.xz 155912 BLAKE2B e5c92d5939d3e6d42a79804596e9acc67b007126b630cd9317df7d0d07bb8f3e27cf9ecf6e16eef3289d31ef3627b4fa870cdb5eb52a36489df1080b03509acd SHA512 478a04d0e6e4601dc342ae260c5db4178b01191cae263154dbe400b394e5cd4cb9cd8a6bab7e7c59af57d6bf20c47a5ad2663a85d0eab5f71fbaf584f7588fd7
|
||||
DIST lxqt-archiver-0.3.0.tar.xz 157492 BLAKE2B 05d9862c75cacf3b73670333a5b2dafb6abfcfd7433a1ebc3d27948122db875f892eb58a05221c880d1ac23530362ae4d9e7c6ebe0f06552b10bb903d51a6868 SHA512 840fae890611b081a1355ceb58ca65276784e6825822859ff2d6506190212268f1c67733dc94c65c9c5758f8d6a25c286c2b339356a50f29474b0c7ce2569d2c
|
||||
|
@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake xdg-utils
|
||||
|
||||
DESCRIPTION="Qt GUI File Archiver"
|
||||
HOMEPAGE="https://lxqt.github.io/"
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2 GPL-2+"
|
||||
SLOT="0"
|
||||
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools:5
|
||||
>=dev-util/lxqt-build-tools-0.8.0
|
||||
"
|
||||
DEPEND="
|
||||
dev-libs/json-glib
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
>=x11-libs/libfm-qt-0.16.0
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
|
||||
elog "Please note that this is only a graphical front-end, and additional"
|
||||
elog "packages are needed to have support for specific file formats."
|
||||
elog "For example, to be able to work with the 7-Zip format, the"
|
||||
elog "'app-arch/p7zip' package may be used."
|
||||
elog "For the full list of supported formats, see the 'README.md' file:"
|
||||
elog "https://github.com/lxqt/lxqt-archiver/blob/master/README.md"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
DIST gnupg-2.2.16-scdaemon_shared-access.patch 2586 BLAKE2B 42fd5482c4e86751ce62836125997c2295c44bc5db0671a06460fd306b2ed93f290fb898fc1b1e463a863eddf9ab5f99ea3c90a55499ef45ca1ed6edf2854663 SHA512 38abaa4200114ae6b6f220fabc0a84a056761949c97bd0564557f4411a299b9a1939893555c27e26da2d8e8da4bc97a298fa7e68f1e80fe99c3f88cc329eaa84
|
||||
DIST gnupg-2.2.20.tar.bz2 6786913 BLAKE2B 43cf9402a26e67d6c7c2444eb2faaee3f06ea0bf6c07708a50834c5d7424db2f9c38e1f0046dd3a35082abc08d401b2951655e7e068f0873db297560b87d2667 SHA512 3e69f102366ec3415f439ab81aae2458182fa1a18dfb86565b1d9dc638f3fc4c179a5947f0042b7c5a813345676285a662793664a1803ea9ad8328f0548e0edc
|
||||
DIST gnupg-2.2.23.tar.bz2 7099806 BLAKE2B 0b9c1f5c8931399cfd9d95f107f91869733c4a986476ea43631b4265b1a5c26cfb8c9bb24ef6a295af7aa803749caaedde26365f6f50a7c946c1f86c867d855d SHA512 736b39628f7e4adc650b3f9937c81f27e9ad41e77f5345dc54262c91c1cf7004243fa7f932313bcde955e0e9b3f1afc639bac18023ae878b1d26e3c5a3cabb90
|
||||
DIST gnupg-2.2.24.tar.bz2 7196489 BLAKE2B 0e6fd3df2a12910d43e290f86839f2ea56dddc2598e3687c356522727b082e3b266c00b7e5184aecac3103c9638e776463adc7b807b6b294180f227877861b1d SHA512 b72fb12da95c1c62f013e1ffdbf2983b4185f0de59edba6061209904e5f63525e23a406529fafcd1b0b50ccbad45980c1db293601e8db84d5cbf65a7228834fb
|
||||
DIST gnupg-2.2.25.tar.bz2 7195857 BLAKE2B c930edf9259a0e1c508af8d76a86f979860adfe2c525020b37d3741679200f96483f0ad8bc1f72e2dbf7fe77696cd04d4272a2ee23e4c4abe1ed6ba88b95f365 SHA512 ab1d7cc9d8be3e7189bc4bea431b9d5db313cbd1739823950f32fbb611b2f4374889f444efbf43ce1fbf498b9865d7e6e953cd4c86d58fd688f63923c434ea2c
|
||||
|
@ -1 +1 @@
|
||||
DIST tpm2-tss-engine-1.1.0_rc1.tar.gz 38749 BLAKE2B 74063555404f2c61a21ba05f0eb1217fa78db4296d48712dccf1a113f5b7edef3d10f3347b955562a97f974342eeecdedebf0f2073551c4d0e4277b8320f72b7 SHA512 e5620886c3b27fea3a51ff136bddaa6eb5d57277ca29a79964cd600703b03447341a535bb46079c15caf96cfe6f45943322b2f2dd0c48f453d6b9c57e76989bc
|
||||
DIST tpm2-tss-engine-1.1.0.tar.gz 394448 BLAKE2B 0502907dc9ce872f31be3b980f975a02af2e3e4b369d188afa5327bd4475d93dbf43769dc7ddc11e8cbda8d1fde09f28a9aef9145e859a90225cd397f62c7a2c SHA512 5d2e08178be54350e8672245023d601a0d9d520f8c49e977af49d7c59b91d033c14b4a347b71e042fe7c5ff12af9fcc43b69fd1dc83a9f0db12d47d43e1107f4
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST tpm2-tss-2.4.1.tar.gz 1445103 BLAKE2B c7be91b93d19b5afeddb6ec455db9ba06795f8dc76ee2a0c6cbabbd8f623930d7c9fdf6319497c70790445531d1e36fe3f904f4c1f4bc9254d833b6d19280f1f SHA512 51551d63fa404e23664aaad1b247bd4b1f93812ced1aed144c37f28cdb3adb4e696aa9e93a502c8fa0eb7e9b4376ac9377f0537eb4c717b68c0b014fee7a0643
|
||||
DIST tpm2-tss-2.4.3.tar.gz 1439120 BLAKE2B 21acce29f96e8039124874c024b43eb8d2c4ffda27db58bb4f34446747c0fa6953c6ca390f8e87d22c1349123bada81051b119eaf7a28c7d1ad8a9195287c312 SHA512 4adaeb2724b720017e9d488f66de879ebdc0dbc2a4f7536493214913a49d2c631e302be26f710f0f45b0d514212cb036ca7ba9715ee13c29dda1d4a61595aa27
|
||||
DIST tpm2-tss-3.0.1.tar.gz 1488285 BLAKE2B 2ccf123a2e0ff6355d8022402fb2e12932565f345b4b2c9ac68249b5de3ea5851256c38057323b19cb84dfd2ea5b63292b8b8f1bd4d9576d27bd57a35f0250f1 SHA512 206830fecea22c4974a16b5e76599b3c22e077a448f15e2707b260eba6832b2089f9d7c12d3e42daf314cdfbd83309b2b623a7abeb1409234f1930a835365529
|
||||
DIST tpm2-tss-2.4.4.tar.gz 1440127 BLAKE2B f5db64281af92bc74d92ecffedbaa051aef21277d8c1c56fb0eb2c47fdebc12772eb18a7c2a2cb671730a1089227f756314ee02acfaa5307fedbfddb86565a81 SHA512 df35bace1744a93e5072a26490e7724604fcc8b04f2b1be71be0069750b8cff7ca4c5c6134e54fbe76f0797d5e83dcfbc8ce248a800d064fbf3be9e3e4745f73
|
||||
DIST tpm2-tss-3.0.2.tar.gz 1489725 BLAKE2B e68a6ce24070c9f4966367ecd55cef324b0bef2786dbcdedb894a19dcd71fbb2eda473f612885db4c816c6c2c15711ee192d441be6eb6fd665dd13180e70b556 SHA512 0b295bb1a135c904344e8a11ae9a293f71d60ea045bacd59a9b778ba19e88e1b91022f24a4775615c215db450584574901838146bc4d4d286ee8b686b72b0bab
|
||||
|
Binary file not shown.
@ -0,0 +1,650 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(ver_cut 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
STAGING_P="wine-staging-${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
GWP_V="20200523"
|
||||
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
|
||||
HOMEPAGE="https://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
STAGING_EGIT_REPO_URI="https://github.com/wine-staging/wine-staging.git"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gcrypt +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test themes +threads +truetype udev +udisks +unwind v4l vaapi vkd3d vulkan +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
pipelight? ( staging )
|
||||
test? ( abi_x86_32 )
|
||||
themes? ( staging )
|
||||
vaapi? ( staging )
|
||||
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gcrypt? ( dev-libs/libgcrypt:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
kerberos? ( virtual/krb5:0=[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
staging? ( sys-apps/attr[${MULTILIB_USEDEP}] )
|
||||
themes? (
|
||||
dev-libs/glib:2[${MULTILIB_USEDEP}]
|
||||
x11-libs/cairo[${MULTILIB_USEDEP}]
|
||||
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
|
||||
)
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
|
||||
vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
|
||||
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:5.1.1 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? ( x11-base/xorg-proto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
staging? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
xinerama? ( x11-base/xorg-proto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
PATCHES=(
|
||||
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
|
||||
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
|
||||
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
|
||||
"${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch"
|
||||
)
|
||||
PATCHES_BIN=()
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=635222
|
||||
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
|
||||
DEPEND+=" dev-util/patchbin"
|
||||
fi
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${pn_live_val} ]]; then
|
||||
if use staging; then
|
||||
eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}"
|
||||
eerror "cannot be used to set the commit. Instead, you may use the"
|
||||
eerror "environment variables:"
|
||||
eerror " EGIT_OVERRIDE_COMMIT_WINE"
|
||||
eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environment variables:"
|
||||
eerror " EGIT_OVERRIDE_COMMIT_WINE"
|
||||
eerror " EGIT_OVERRIDE_COMMIT_WINE_STAGING_WINE_STAGING"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
|
||||
if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
|
||||
eerror
|
||||
eerror "USE=\"mingw\" is currently experimental, and requires the"
|
||||
eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
|
||||
eerror
|
||||
eerror "These can be installed by using 'sys-devel/crossdev':"
|
||||
eerror
|
||||
eerror "crossdev --target i686-w64-mingw32"
|
||||
eerror
|
||||
eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
eerror
|
||||
die "MinGW build was enabled, but no compiler to support it was found."
|
||||
fi
|
||||
|
||||
if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
|
||||
eerror
|
||||
eerror "USE=\"mingw\" is currently experimental, and requires the"
|
||||
eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
|
||||
eerror
|
||||
eerror "These can be installed by using 'sys-devel/crossdev':"
|
||||
eerror
|
||||
eerror "crossdev --target x86_64-w64-mingw32"
|
||||
eerror
|
||||
eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
eerror
|
||||
die "MinGW build was enabled, but no compiler to support it was found."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
|
||||
if use staging; then
|
||||
local CURRENT_WINE_COMMIT=${EGIT_VERSION}
|
||||
|
||||
EGIT_CHECKOUT_DIR="${STAGING_DIR}" EGIT_REPO_URI="${STAGING_EGIT_REPO_URI}" git-r3_src_unpack
|
||||
|
||||
local COMPAT_WINE_COMMIT=$("${STAGING_DIR}/patches/patchinstall.sh" --upstream-commit) || die
|
||||
|
||||
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
|
||||
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
|
||||
einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
|
||||
einfo "Example: EGIT_OVERRIDE_COMMIT_WINE=${COMPAT_WINE_COMMIT} emerge -1 wine"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
eapply_bin(){
|
||||
local patch
|
||||
for patch in ${PATCHES_BIN[@]}; do
|
||||
patchbin --nogit < "${patch}" || die
|
||||
done
|
||||
}
|
||||
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
|
||||
if use staging; then
|
||||
ewarn "Applying the Wine-Staging patchset. Any bug reports to the"
|
||||
ewarn "Wine bugzilla should explicitly state that staging was used."
|
||||
|
||||
local STAGING_EXCLUDE="-W winemenubuilder-Desktop_Icon_Path" #652176
|
||||
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
|
||||
|
||||
# Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
|
||||
ebegin "Running Wine-Staging patch installer"
|
||||
(
|
||||
set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
|
||||
cd "${STAGING_DIR}/patches"
|
||||
source "${STAGING_DIR}/patches/patchinstall.sh"
|
||||
)
|
||||
eend $? || die "Failed to apply Wine-Staging patches"
|
||||
fi
|
||||
|
||||
default
|
||||
eapply_bin
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
|
||||
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
|
||||
|
||||
# Duplicate manpages input files for wine64
|
||||
local f
|
||||
for f in loader/*.man.in; do
|
||||
cp ${f} ${f/wine/wine64} || die
|
||||
done
|
||||
# Add wine64 manpages to Makefile
|
||||
if use abi_x86_64; then
|
||||
sed -i "/wine.man.in/i \
|
||||
\\\twine64.man.in \\\\" loader/Makefile.in || die
|
||||
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
|
||||
\164\2/' loader/Makefile.in || die
|
||||
fi
|
||||
|
||||
rm_man_file(){
|
||||
local file="${1}"
|
||||
loc=${2}
|
||||
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
|
||||
}
|
||||
|
||||
while read f; do
|
||||
l10n_for_each_disabled_locale_do rm_man_file "${f}"
|
||||
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir="${EPREFIX}/etc/wine"
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with faudio)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gcrypt)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gssapi)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with kerberos krb5)
|
||||
$(use_with ldap)
|
||||
# TODO: Will bug 685172 still need special handling?
|
||||
$(use_with mingw)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_with sdl)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with unwind)
|
||||
$(use_with v4l v4l2)
|
||||
$(use_with vkd3d)
|
||||
$(use_with vulkan)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
use staging && myconf+=(
|
||||
--with-xattr
|
||||
$(use_with themes gtk3)
|
||||
$(use_with vaapi va)
|
||||
)
|
||||
|
||||
local PKG_CONFIG AR RANLIB
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
# Avoid double prefix from dosym and make_wrapper
|
||||
MY_PREFIX=${MY_PREFIX#${EPREFIX}}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
|
||||
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
|
||||
fi
|
||||
|
||||
# Failglob for binloops, shouldn't be necessary, but including to stay safe
|
||||
eshopts_push -s failglob #615218
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${ED%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
eshopts_pop
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine register --staging ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
xdg_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
else
|
||||
if use staging; then
|
||||
eselect wine deregister --staging ${P} || die
|
||||
fi
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
@ -0,0 +1,568 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PLOCALES="ar ast bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru si sk sl sr_RS@cyrillic sr_RS@latin sv ta te th tr uk wa zh_CN zh_TW"
|
||||
PLOCALE_BACKUP="en"
|
||||
|
||||
inherit autotools eapi7-ver estack eutils flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx xdg-utils
|
||||
|
||||
MY_PN="${PN%%-*}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://source.winehq.org/git/wine.git"
|
||||
EGIT_BRANCH="master"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MAJOR_V=$(ver_cut 1)
|
||||
SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${MY_P}.tar.xz"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
GWP_V="20200523"
|
||||
PATCHDIR="${WORKDIR}/gentoo-wine-patches"
|
||||
|
||||
DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets"
|
||||
HOMEPAGE="https://www.winehq.org/"
|
||||
SRC_URI="${SRC_URI}
|
||||
https://dev.gentoo.org/~sarnex/distfiles/wine/gentoo-wine-patches-${GWP_V}.tar.xz
|
||||
"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="${PV}"
|
||||
IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +faudio +fontconfig +gecko gphoto2 gsm gssapi gstreamer +jpeg kerberos kernel_FreeBSD +lcms ldap mingw +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap +png prelink pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl test +threads +truetype udev +udisks +unwind v4l vkd3d vulkan +X +xcomposite xinerama +xml"
|
||||
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
|
||||
X? ( truetype )
|
||||
elibc_glibc? ( threads )
|
||||
osmesa? ( opengl )
|
||||
test? ( abi_x86_32 )
|
||||
vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
X? (
|
||||
x11-libs/libXcursor[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXext[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXi[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
|
||||
)
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
faudio? ( app-emulation/faudio:=[${MULTILIB_USEDEP}] )
|
||||
fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] )
|
||||
gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] )
|
||||
gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] )
|
||||
gssapi? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
|
||||
media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}]
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] )
|
||||
kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] )
|
||||
lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] )
|
||||
ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] )
|
||||
netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] )
|
||||
nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
|
||||
odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] )
|
||||
openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] )
|
||||
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
|
||||
png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )
|
||||
pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] )
|
||||
scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] )
|
||||
sdl? ( media-libs/libsdl2:=[haptic,joystick,${MULTILIB_USEDEP}] )
|
||||
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
|
||||
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
|
||||
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
|
||||
vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
|
||||
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
|
||||
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
|
||||
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )
|
||||
xml? (
|
||||
dev-libs/libxml2[${MULTILIB_USEDEP}]
|
||||
dev-libs/libxslt[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
app-emulation/wine-desktop-common
|
||||
>app-eselect/eselect-wine-0.3
|
||||
!app-emulation/wine:0
|
||||
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
|
||||
gecko? ( app-emulation/wine-gecko:2.47.1[abi_x86_32?,abi_x86_64?] )
|
||||
mono? ( app-emulation/wine-mono:5.1.1 )
|
||||
perl? (
|
||||
dev-lang/perl
|
||||
dev-perl/XML-Simple
|
||||
)
|
||||
pulseaudio? (
|
||||
realtime? ( sys-auth/rtkit )
|
||||
)
|
||||
samba? ( >=net-fs/samba-3.0.25[winbind] )
|
||||
selinux? ( sec-policy/selinux-wine )
|
||||
udisks? ( sys-fs/udisks:2 )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
sys-devel/flex
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
X? ( x11-base/xorg-proto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
xinerama? ( x11-base/xorg-proto )"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
PATCHES=(
|
||||
"${PATCHDIR}/patches/${MY_PN}-5.0-winegcc.patch" #260726
|
||||
"${PATCHDIR}/patches/${MY_PN}-4.7-multilib-portage.patch" #395615
|
||||
"${PATCHDIR}/patches/${MY_PN}-2.0-multislot-apploader.patch" #310611
|
||||
"${PATCHDIR}/patches/${MY_PN}-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch"
|
||||
)
|
||||
PATCHES_BIN=()
|
||||
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=635222
|
||||
if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${PV} == 9999 ]]; then
|
||||
DEPEND+=" dev-util/patchbin"
|
||||
fi
|
||||
|
||||
wine_compiler_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# GCC-specific bugs
|
||||
if tc-is-gcc; then
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then
|
||||
ebegin "Checking for gcc-5 ms_abi compiler bug"
|
||||
$(tc-getCC) -O2 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
|
||||
# Run in subshell to prevent "Aborted" message
|
||||
( "${T}"/pr66838 || false ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/549768"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# bug #574044
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then
|
||||
ebegin "Checking for gcc-5-3 stack realignment compiler bug"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
|
||||
if ! eend $?; then
|
||||
eerror "Wine cannot be built with this version of gcc-5.3"
|
||||
eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild,"
|
||||
eerror "or use gcc-config to select a different compiler version."
|
||||
eerror "See https://bugs.gentoo.org/574044"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Ensure compiler support
|
||||
if use abi_x86_64; then
|
||||
ebegin "Checking for 64-bit compiler with builtin_ms_va_list support"
|
||||
# Compile in subshell to prevent "Aborted" message
|
||||
( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
|
||||
if ! eend $?; then
|
||||
eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine"
|
||||
eerror
|
||||
eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
if use abi_x86_64; then
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
|
||||
eerror "You need gcc-4.4+ to compile 64-bit wine"
|
||||
die
|
||||
elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
|
||||
eerror "You need clang-3.8+ to compile 64-bit wine"
|
||||
die
|
||||
fi
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
|
||||
ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
|
||||
ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
|
||||
ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
|
||||
fi
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
|
||||
if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
|
||||
ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
|
||||
ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
|
||||
ewarn "See package.env in man 5 portage for more information on how to do this."
|
||||
ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
|
||||
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
|
||||
eerror "See https://bugs.gentoo.org/487864 for more details."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
wine_env_vcs_vars() {
|
||||
local pn_live_var="${PN//[-+]/_}_LIVE_COMMIT"
|
||||
local pn_live_val="${pn_live_var}"
|
||||
eval pn_live_val='$'${pn_live_val}
|
||||
if [[ ! -z ${EGIT_COMMIT} ]]; then
|
||||
eerror "Commits must now be specified using the environmental variables"
|
||||
eerror "EGIT_OVERRIDE_COMMIT_WINE"
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
|
||||
# Verify OSS support
|
||||
if use oss && ! use kernel_FreeBSD; then
|
||||
if ! has_version ">=media-sound/oss-4"; then
|
||||
eerror "You cannot build wine with USE=oss without having support from a"
|
||||
eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)"
|
||||
eerror
|
||||
die
|
||||
fi
|
||||
fi
|
||||
|
||||
if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
|
||||
eerror
|
||||
eerror "USE=\"mingw\" is currently experimental, and requires the"
|
||||
eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
|
||||
eerror
|
||||
eerror "These can be installed by using 'sys-devel/crossdev':"
|
||||
eerror
|
||||
eerror "crossdev --target i686-w64-mingw32"
|
||||
eerror
|
||||
eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
eerror
|
||||
die "MinGW build was enabled, but no compiler to support it was found."
|
||||
fi
|
||||
|
||||
if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
|
||||
eerror
|
||||
eerror "USE=\"mingw\" is currently experimental, and requires the"
|
||||
eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
|
||||
eerror
|
||||
eerror "These can be installed by using 'sys-devel/crossdev':"
|
||||
eerror
|
||||
eerror "crossdev --target x86_64-w64-mingw32"
|
||||
eerror
|
||||
eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
|
||||
eerror
|
||||
die "MinGW build was enabled, but no compiler to support it was found."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
wine_env_vcs_vars || die
|
||||
|
||||
WINE_VARIANT="${PN#wine}-${PV}"
|
||||
WINE_VARIANT="${WINE_VARIANT#-}"
|
||||
|
||||
MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}"
|
||||
MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}"
|
||||
MY_DATADIR="${MY_DATAROOTDIR}"
|
||||
MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}"
|
||||
MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}"
|
||||
MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}"
|
||||
MY_MANDIR="${MY_DATADIR}/man"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_CHECKOUT_DIR="${S}" git-r3_src_unpack
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
l10n_find_plocales_changes "${S}/po" "" ".po"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
eapply_bin(){
|
||||
local patch
|
||||
for patch in ${PATCHES_BIN[@]}; do
|
||||
patchbin --nogit < "${patch}" || die
|
||||
done
|
||||
}
|
||||
|
||||
local md5="$(md5sum server/protocol.def)"
|
||||
|
||||
default
|
||||
eapply_bin
|
||||
eautoreconf
|
||||
|
||||
# Modification of the server protocol requires regenerating the server requests
|
||||
if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then
|
||||
einfo "server/protocol.def was patched; running tools/make_requests"
|
||||
tools/make_requests || die #432348
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
|
||||
fi
|
||||
|
||||
# Edit wine.desktop to work for specific variant
|
||||
sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die
|
||||
|
||||
# hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
|
||||
cp "${PATCHDIR}/files/oic_winlogo.ico" dlls/user32/resources/ || die
|
||||
|
||||
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
|
||||
|
||||
# Fix manpage generation for locales #469418 and abi_x86_64 #617864
|
||||
|
||||
# Duplicate manpages input files for wine64
|
||||
local f
|
||||
for f in loader/*.man.in; do
|
||||
cp ${f} ${f/wine/wine64} || die
|
||||
done
|
||||
# Add wine64 manpages to Makefile
|
||||
if use abi_x86_64; then
|
||||
sed -i "/wine.man.in/i \
|
||||
\\\twine64.man.in \\\\" loader/Makefile.in || die
|
||||
sed -i -E 's/(.*wine)(.*\.UTF-8\.man\.in.*)/&\
|
||||
\164\2/' loader/Makefile.in || die
|
||||
fi
|
||||
|
||||
rm_man_file(){
|
||||
local file="${1}"
|
||||
loc=${2}
|
||||
sed -i "/${loc}\.UTF-8\.man\.in/d" "${file}" || die
|
||||
}
|
||||
|
||||
while read f; do
|
||||
l10n_for_each_disabled_locale_do rm_man_file "${f}"
|
||||
done < <(find -name "Makefile.in" -exec grep -q "UTF-8.man.in" "{}" \; -print)
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
wine_compiler_check || die
|
||||
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--prefix="${MY_PREFIX}"
|
||||
--datarootdir="${MY_DATAROOTDIR}"
|
||||
--datadir="${MY_DATADIR}"
|
||||
--docdir="${MY_DOCDIR}"
|
||||
--includedir="${MY_INCLUDEDIR}"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}"
|
||||
--libexecdir="${MY_LIBEXECDIR}"
|
||||
--localstatedir="${MY_LOCALSTATEDIR}"
|
||||
--mandir="${MY_MANDIR}"
|
||||
--sysconfdir="${EPREFIX}/etc/wine"
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(use_with udisks dbus)
|
||||
$(use_with faudio)
|
||||
$(use_with fontconfig)
|
||||
$(use_with ssl gnutls)
|
||||
$(use_enable gecko mshtml)
|
||||
$(use_with gphoto2 gphoto)
|
||||
$(use_with gsm)
|
||||
$(use_with gssapi)
|
||||
$(use_with gstreamer)
|
||||
--without-hal
|
||||
$(use_with jpeg)
|
||||
$(use_with kerberos krb5)
|
||||
$(use_with ldap)
|
||||
# TODO: Will bug 685172 still need special handling?
|
||||
$(use_with mingw)
|
||||
$(use_enable mono mscoree)
|
||||
$(use_with mp3 mpg123)
|
||||
$(use_with netapi)
|
||||
$(use_with nls gettext)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with pulseaudio pulse)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_with sdl)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with udev)
|
||||
$(use_with unwind)
|
||||
$(use_with v4l v4l2)
|
||||
$(use_with vkd3d)
|
||||
$(use_with vulkan)
|
||||
$(use_with X x)
|
||||
$(use_with X xfixes)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
local PKG_CONFIG
|
||||
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
|
||||
tc-export PKG_CONFIG
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
if [[ ${ABI} == x86 ]]; then
|
||||
if [[ $(id -u) == 0 ]]; then
|
||||
ewarn "Skipping tests since they cannot be run under the root user."
|
||||
ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( ANNOUNCE AUTHORS README )
|
||||
add_locale_docs() {
|
||||
local locale_doc="documentation/README.$1"
|
||||
[[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script
|
||||
rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \
|
||||
"${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die
|
||||
fi
|
||||
|
||||
# Remove wineconsole if neither backend is installed #551124
|
||||
if ! use X && ! use ncurses; then
|
||||
rm "${D%/}${MY_PREFIX}"/bin/wineconsole* || die
|
||||
rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die
|
||||
rm_wineconsole() {
|
||||
rm "${D%/}${MY_PREFIX}/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
|
||||
}
|
||||
multilib_foreach_abi rm_wineconsole
|
||||
fi
|
||||
|
||||
use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055
|
||||
use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader}
|
||||
|
||||
# Avoid double prefix from dosym and make_wrapper
|
||||
MY_PREFIX=${MY_PREFIX#${EPREFIX}}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym wine64 "${MY_PREFIX}"/bin/wine # 404331
|
||||
dosym wine64-preloader "${MY_PREFIX}"/bin/wine-preloader
|
||||
fi
|
||||
|
||||
# Failglob for binloops, shouldn't be necessary, but including to stay safe
|
||||
eshopts_push -s failglob #615218
|
||||
# Make wrappers for binaries for handling multiple variants
|
||||
# Note: wrappers instead of symlinks because some are shell which use basename
|
||||
local b
|
||||
for b in "${ED%/}${MY_PREFIX}"/bin/*; do
|
||||
make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}"
|
||||
done
|
||||
eshopts_pop
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect wine register ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine register --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
|
||||
xdg_desktop_database_update
|
||||
|
||||
if ! use gecko; then
|
||||
ewarn "Without Wine Gecko, wine prefixes will not have a default"
|
||||
ewarn "implementation of iexplore. Many older windows applications"
|
||||
ewarn "rely upon the existence of an iexplore implementation, so"
|
||||
ewarn "you will likely need to install an external one, like via winetricks"
|
||||
fi
|
||||
if ! use mono; then
|
||||
ewarn "Without Wine Mono, wine prefixes will not have a default"
|
||||
ewarn "implementation of .NET. Many windows applications rely upon"
|
||||
ewarn "the existence of a .NET implementation, so you will likely need"
|
||||
ewarn "to install an external one, like via winetricks"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
eselect wine deregister ${P}
|
||||
if [[ ${PN} == "wine-vanilla" ]]; then
|
||||
eselect wine deregister --vanilla ${P} || die
|
||||
fi
|
||||
|
||||
eselect wine update --all --if-unset || die
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,15 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>coppens.matthias.abc@gmail.com</email>
|
||||
<name>Matthias Coppens</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="bitbucket">hroptatyr/dateutils</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="person">
|
||||
<email>coppens.matthias.abc@gmail.com</email>
|
||||
<name>Matthias Coppens</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<maintainer>
|
||||
<name>Sebastian Freundt</name>
|
||||
<email>devel@fresse.org</email>
|
||||
</maintainer>
|
||||
<changelog>https://www.fresse.org/dateutils/changelog.html</changelog>
|
||||
<doc>https://www.fresse.org/dateutils/#examples</doc>
|
||||
<remote-id type="github">hroptatyr/dateutils</remote-id>
|
||||
<remote-id type="bitbucket">hroptatyr/dateutils</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST elogv-0.7.8.tar.gz 19554 BLAKE2B 653a1dd8d5cb142c78c27ad4c7110a7dac666eed649213ef62c1548d5248c4add561242290a59178470736cffc9ac15fb7ee796a2954239ba382001f1e6c9c4f SHA512 be90f01b4d2e114608b13aeba78ab368af6ed66ca329de6952d7f422c90356fd1c6988827f0c60ee66636ae92e089689c7cbd725f6eb20545747fb24d0d1daf2
|
||||
DIST elogv-0.7.9.tar.gz 19556 BLAKE2B 5d5f1a4adab09cf8b56ca3433b2a1cd0d3572345ff92f34b6b3ad175178161c36531bf9211563f4ad18191c6ff99c2cdcf9c3d188eca293a1698157e0a9f04a2 SHA512 703d1e8f55f5ee17a393f3a331ee38ef1d4e4c918c316055d5e2297b96dbe7de0ca6df864f462520f2087ed1a7bb7f43db56bfd3864a865d349516694522a686
|
||||
|
@ -1,49 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
PYTHON_REQ_USE="ncurses"
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Curses based utility to parse the contents of elogs created by Portage"
|
||||
HOMEPAGE="https://github.com/gentoo/elogv"
|
||||
SRC_URI="https://github.com/gentoo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~arm ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
DOCS=( README )
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
|
||||
# unset LINGUAS => install all languages
|
||||
# empty LINGUAS => install none
|
||||
local i
|
||||
if [[ -n "${LINGUAS+x}" ]] ; then
|
||||
for i in $(ls "${ED}"/usr/share/locale/) ; do
|
||||
if ! has ${i} ${LINGUAS} ; then
|
||||
rm -rf "${ED}"/usr/share/{locale,man}/${i}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "In order to use this software, you need to activate"
|
||||
elog "Portage's elog features. Required is"
|
||||
elog " PORTAGE_ELOG_SYSTEM=\"save\" "
|
||||
elog "and at least one out of "
|
||||
elog " PORTAGE_ELOG_CLASSES=\"warn error info log qa\""
|
||||
elog "More information on the elog system can be found"
|
||||
elog "in ${EPREFIX}/usr/share/portage/config/make.conf.example"
|
||||
elog
|
||||
elog "To operate properly this software needs the directory"
|
||||
elog "${PORT_LOGDIR:-${EPREFIX}/var/log/portage}/elog created, belonging to group portage."
|
||||
elog "To start the software as a user, add yourself to the portage"
|
||||
elog "group."
|
||||
elog
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST pg_activity-1.6.1.tar.gz 127376 BLAKE2B 4e9c055c2b7d7eb78ee735124284d4d34c70a067011c2bdd3d960a7e2ff59cb799fb4a3ec1a51d7ebd0e921f5d46e85a28625d3a1a7efc281fc751702f2b58b6 SHA512 4a67443521afe88283315be1c2b3d3f19df3cb2cb3e4e059149775f5dd45925dbab8bd34525878ac883f8d007da08fbdfe3d23db9a6e1f17a4af4aa9b9c96338
|
||||
DIST pg_activity-1.6.2.tar.gz 127561 BLAKE2B 5ddebd3068ddc33196903892c01b947ffc50ecff7ec790e196626e87ee8933ff79242e3ba61c207ea1020535c5d85dbbc4ac9e4825a19ab98004bb27ea0b6a6c SHA512 fd743f369201c6ec3762373c39969b2b7632d79a8fb9c8ebd12a88b66b91915c30e445e93162844b4a176cf7e13009c9c8136e973180b00e7cc708ecd66b4853
|
||||
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Realtime PostgreSQL database server monitoring tool"
|
||||
HOMEPAGE="https://github.com/dalibo/pg_activity"
|
||||
SRC_URI="https://github.com/dalibo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64"
|
||||
SLOT="0"
|
||||
LICENSE="POSTGRESQL"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="dev-python/psutil[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
dev-python/psycopg:2[${PYTHON_USEDEP}]"
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
doman docs/man/${PN}.1
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST pgbadger-10.3.tar.gz 1645573 BLAKE2B 583ad35f416b6d989996ae48500dcee5734bc4867095abe1eb49be971c6190cf68dd4e127a47163c8ee49400cdf2fcee14645c98f4853b6f66c2bef0db0b83e4 SHA512 f8aac47d92ddb92292c572c47d6d32f1aa673b972b2488eede7fbe0b55feddc6ce0cb1b58994e83b93a5f84fcb5b871c7c080863d17554810cc1c1b8c1e1609a
|
||||
DIST pgbadger-11.0.tar.gz 1661028 BLAKE2B d83be01017d69b83cf288b23fe5066d5c691b630ce748fe42b33514346183f7b8f18efceeefe0533e534c669e986c30388a6df5b620ea654ae89b3dc3c08d342 SHA512 167534d61cb28df6cb7eae7efe788d3f6bbad1c614468e905a9b678a76b3a2dfc0eb192b595ac4dc332cd694e820f1603b79d83bc934b7dfe3d226019f6a9c15
|
||||
DIST pgbadger-11.3.tar.gz 2297407 BLAKE2B 7e0814c570a3e5fbf79132c99e3134ee944c8239b956d4638a144c551a45b1903a27ee730f93e0dd040c3b8b8c3ec7d1b22228bf2390fa1585f8e4907cb9ae90 SHA512 0af40e68391d6cc783c5895eea01d266bdb22672bd9142e6029ec428f68ee13e0d0deaced4cb80ccd5b608bf04a72a9964c95d2cc9ad933c7412dbf888fc788a
|
||||
|
@ -1 +1 @@
|
||||
DIST sqlcl-20.2.0.174.1557.zip 32408164 BLAKE2B c91547af6581b01b5b33821e33fd8058457746c854ebc801fd27a5554eb7f91c4f47fa938a86121abed4e5ec8aa13fbebf0b0c3364101a374f7086a55268e73a SHA512 4a6d62f57ddb8e520bf51eae4956065fb2b44aac6dc18d7999e50f8b42d553218eaaf99c75095c12d06e1673aae224522564d19a06719b2444ef8d535fedd089
|
||||
DIST sqlcl-20.3.0.274.1916.zip 36309483 BLAKE2B 10051c6880da74a2803c3dedef4ff397eecfc92fb57ca3a7432d32041a2a255ce30cd4b69d242bcea182a30c200b89105fff40c0419cac371c99dfaee192b18c SHA512 b170bfb5ed31ccbf69b75f1ec7c2b292cb8d0bc70c8489ee6c42c288b54153ef8b8b2e4e0511dac1522d9b6cd161f66adc50d85574e8e8f3b7802d3a9f91a70b
|
||||
|
Binary file not shown.
@ -0,0 +1,171 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
LUA_COMPAT=( lua5-{1..2} )
|
||||
WX_GTK_VER="3.0-gtk3"
|
||||
inherit cmake flag-o-matic lua-single wxwidgets
|
||||
|
||||
DESCRIPTION="OpenMW-specific fork of OpenSceneGraph"
|
||||
HOMEPAGE="https://github.com/OpenMW/osg"
|
||||
MY_COMMIT="8b07809fa674ecffe77338aaea2e223b3aadff0e"
|
||||
SRC_URI="https://github.com/OpenMW/osg/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="wxWinLL-3 LGPL-2.1"
|
||||
SLOT="0/132" # NOTE: CHECK WHEN BUMPING! Subslot is SOVERSION
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="curl debug doc examples egl ffmpeg fltk fox gdal gif glut gstreamer jpeg
|
||||
lua openexr openinventor osgapps pdf png qt5 sdl sdl2 svg tiff
|
||||
truetype vnc wxwidgets xine xrandr zlib"
|
||||
|
||||
REQUIRED_USE="
|
||||
lua? ( ${LUA_REQUIRED_USE} )
|
||||
sdl2? ( sdl )
|
||||
openexr? ( zlib )
|
||||
"
|
||||
|
||||
# TODO: COLLADA, FBX, GTA, OpenVRML, Performer, DCMTK
|
||||
RDEPEND="
|
||||
!dev-games/openscenegraph
|
||||
media-libs/mesa[egl?]
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
x11-libs/libSM
|
||||
x11-libs/libXext
|
||||
curl? ( net-misc/curl )
|
||||
examples? (
|
||||
fltk? ( x11-libs/fltk:1[opengl] )
|
||||
fox? ( x11-libs/fox:1.6[opengl] )
|
||||
glut? ( media-libs/freeglut )
|
||||
sdl2? ( media-libs/libsdl2 )
|
||||
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] )
|
||||
)
|
||||
ffmpeg? ( media-video/ffmpeg:0= )
|
||||
gdal? ( sci-libs/gdal:= )
|
||||
gif? ( media-libs/giflib:= )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
lua? ( ${LUA_DEPS} )
|
||||
openexr? (
|
||||
media-libs/ilmbase:=
|
||||
media-libs/openexr:=
|
||||
)
|
||||
openinventor? ( media-libs/coin )
|
||||
pdf? ( app-text/poppler[cairo] )
|
||||
png? ( media-libs/libpng:0= )
|
||||
qt5? (
|
||||
dev-qt/qtopengl:5
|
||||
dev-qt/qtwidgets:5
|
||||
)
|
||||
sdl? ( media-libs/libsdl )
|
||||
svg? (
|
||||
gnome-base/librsvg
|
||||
x11-libs/cairo
|
||||
)
|
||||
tiff? ( media-libs/tiff:0 )
|
||||
truetype? ( media-libs/freetype:2 )
|
||||
vnc? ( net-libs/libvncserver )
|
||||
xrandr? ( x11-libs/libXrandr )
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
x11-base/xorg-proto
|
||||
"
|
||||
BDEPEND="
|
||||
app-arch/unzip
|
||||
virtual/pkgconfig
|
||||
doc? ( app-doc/doxygen )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/osg-${MY_COMMIT}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/openscenegraph-3.4-cmake.patch
|
||||
"${FILESDIR}"/openscenegraph-3.5.1-jpeg-9.patch
|
||||
"${FILESDIR}"/openscenegraph-3.6.3-docdir.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use lua; then
|
||||
lua-single_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
sed -i "s/ FIND_PACKAGE/ MACRO_OPTIONAL_FIND_PACKAGE/g" CMakeLists.txt || die "can't replace FIND_PACKAGE"
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use examples && use wxwidgets; then
|
||||
setup-wxwidgets
|
||||
fi
|
||||
|
||||
# Needed by FFmpeg
|
||||
append-cppflags -D__STDC_CONSTANT_MACROS
|
||||
|
||||
local libdir=$(get_libdir)
|
||||
local mycmakeargs=(
|
||||
-DDYNAMIC_OPENSCENEGRAPH=ON
|
||||
-DLIB_POSTFIX=${libdir/lib}
|
||||
-DOPENGL_PROFILE=GL2 #GL1 GL2 GL3 GLES1 GLES3 GLES3
|
||||
-DOSG_PROVIDE_READFILE=ON
|
||||
-DOSG_USE_LOCAL_LUA_SOURCE=OFF
|
||||
-DWITH_Lua51=OFF # We use CMake-version FindLua52.cmake instead which can find any lua
|
||||
-DWITH_Lua52=$(usex lua)
|
||||
-DWITH_Asio=OFF # Fails to build, similar to https://github.com/chriskohlhoff/asio/issues/316
|
||||
-DWITH_CURL=$(usex curl)
|
||||
-DBUILD_DOCUMENTATION=$(usex doc)
|
||||
-DBUILD_OSG_APPLICATIONS=$(usex osgapps)
|
||||
-DBUILD_OSG_EXAMPLES=$(usex examples)
|
||||
-DWITH_FFmpeg=$(usex ffmpeg)
|
||||
-DWITH_GDAL=$(usex gdal)
|
||||
-DWITH_GIFLIB=$(usex gif)
|
||||
-DWITH_GStreamer=$(usex gstreamer)
|
||||
-DWITH_GLIB=$(usex gstreamer)
|
||||
-DWITH_GtkGl=OFF
|
||||
-DWITH_JPEG=$(usex jpeg)
|
||||
-DWITH_Jasper=OFF
|
||||
-DWITH_LIBLAS=OFF # dep failed to build https://bugs.gentoo.org/725938
|
||||
-DWITH_OpenEXR=$(usex openexr)
|
||||
-DWITH_Inventor=$(usex openinventor)
|
||||
-DWITH_Poppler-glib=$(usex pdf)
|
||||
-DWITH_PNG=$(usex png)
|
||||
-DWITH_SDL=$(usex sdl)
|
||||
-DWITH_SDL2=$(usex sdl2)
|
||||
-DWITH_RSVG=$(usex svg rsvg)
|
||||
-DWITH_TIFF=$(usex tiff)
|
||||
-DWITH_Freetype=$(usex truetype)
|
||||
-DWITH_LibVNCServer=$(usex vnc)
|
||||
-DWITH_Xine=$(usex xine)
|
||||
-DOSGVIEWER_USE_XRANDR=$(usex xrandr)
|
||||
-DWITH_ZLIB=$(usex zlib)
|
||||
-DOSG_USE_QT=$(usex qt5)
|
||||
-DDESIRED_QT_VERSION=5
|
||||
)
|
||||
if use examples; then
|
||||
mycmakeargs+=(
|
||||
-DWITH_FLTK=$(usex fltk)
|
||||
-DWITH_FOX=$(usex fox)
|
||||
-DWITH_GLUT=$(usex glut)
|
||||
-DWITH_wxWidgets=$(usex wxwidgets)
|
||||
)
|
||||
fi
|
||||
if use lua; then
|
||||
mycmakeargs+=(
|
||||
-DLUA_INCLUDE_DIR="$(lua_get_include_dir)"
|
||||
-DLUA_LIBRARY="$(lua_get_shared_lib)"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
use doc && cmake_src_compile doc_openscenegraph doc_openthreads
|
||||
}
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
DIST j701_b_source.tar.gz 808367 BLAKE2B 0ecaf7a7dd56a79f60d73930d8910beea075551a18b44904c8e90f1b37a8e7f02178198855058b1f1552b600de29ede096d481a58c9bbf9a990852c5bff25fa6 SHA512 f7ac035883098918ba4baa374a856a281a94adb83e7fb4828ef95d1a24aedc648b23593cc6ef6932e6ac546b0ba8215a8018265a3cb39c5008053c5ab7f74d57
|
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=4
|
||||
DESCRIPTION="Modern, high-level, general-purpose, high-performance programming language"
|
||||
HOMEPAGE="http://jsoftware.com"
|
||||
SRC_URI="http://www.jsoftware.com/download/${PN}${PV}_b_source.tar.gz"
|
||||
|
||||
inherit eutils
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/jgplsrc"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e 's:make libj >& make.txt:make libj:' bin/build_libj || die
|
||||
sed -i -e 's:W1,soname:Wl,-soname:' bin/jconfig || die
|
||||
if use amd64; then
|
||||
sed -i -e 's/bits=32/bits=64/' bin/jconfig || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
bin/jconfig || die
|
||||
bin/build_defs || die
|
||||
bin/build_libj || die
|
||||
bin/build_jconsole || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# since this appears to use hardcoded relative paths
|
||||
# there's no sane way to put it in the normal filesystem hierarchy
|
||||
mkdir -p "${D}/opt/j"
|
||||
cp -r j/* "${D}/opt/j" || die
|
||||
mkdir -p "${D}/usr/bin"
|
||||
echo -e "#!/bin/sh\n/opt/j/bin/jconsole" > "${D}/usr/bin/jc" || die
|
||||
chmod +x "${D}/usr/bin/jc"
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>patrick@gentoo.org</email>
|
||||
<name>Patrick Lauer</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,155 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit bash-completion-r1 rust-toolchain toolchain-funcs multilib-minimal
|
||||
|
||||
MY_P="rust-${PV}"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
SRC_URI="$(rust_all_arch_uris ${MY_P})"
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
SLOT="stable"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
IUSE="clippy cpu_flags_x86_sse2 doc rls rustfmt"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=">=app-eselect/eselect-rust-20190311"
|
||||
|
||||
REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/${P}/bin/.*
|
||||
opt/${P}/lib/.*.so
|
||||
opt/${P}/lib/rustlib/.*/bin/.*
|
||||
opt/${P}/lib/rustlib/.*/lib/.*
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
|
||||
die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
if multilib_is_native_abi; then
|
||||
|
||||
# start native abi install
|
||||
pushd "${S}" >/dev/null || die
|
||||
local analysis std
|
||||
analysis="$(grep 'analysis' ./components)"
|
||||
std="$(grep 'std' ./components)"
|
||||
local components="rustc,cargo,${std}"
|
||||
use doc && components="${components},rust-docs"
|
||||
use clippy && components="${components},clippy-preview"
|
||||
use rls && components="${components},rls-preview,${analysis}"
|
||||
use rustfmt && components="${components},rustfmt-preview"
|
||||
./install.sh \
|
||||
--components="${components}" \
|
||||
--disable-verify \
|
||||
--prefix="${ED}/opt/${P}" \
|
||||
--mandir="${ED}/opt/${P}/man" \
|
||||
--disable-ldconfig \
|
||||
|| die
|
||||
|
||||
local symlinks=(
|
||||
cargo
|
||||
rustc
|
||||
rustdoc
|
||||
rust-gdb
|
||||
rust-gdbgui
|
||||
rust-lldb
|
||||
)
|
||||
|
||||
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
||||
use rls && symlinks+=( rls )
|
||||
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
||||
|
||||
einfo "installing eselect-rust symlinks and paths"
|
||||
local i
|
||||
for i in "${symlinks[@]}"; do
|
||||
# we need realpath on /usr/bin/* symlink return version-appended binary path.
|
||||
# so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver>
|
||||
local ver_i="${i}-bin-${PV}"
|
||||
ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
|
||||
dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
|
||||
done
|
||||
|
||||
# symlinks to switch components to active rust in eselect
|
||||
dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
|
||||
dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
|
||||
dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
|
||||
dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
|
||||
|
||||
cat <<-_EOF_ > "${T}/50${P}"
|
||||
LDPATH="${EPREFIX}/usr/lib/rust/lib"
|
||||
MANPATH="${EPREFIX}/usr/lib/rust/man"
|
||||
$(usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||
_EOF_
|
||||
doenvd "${T}/50${P}"
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-_EOF_ > "${T}/provider-${P}"
|
||||
/usr/bin/cargo
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
/usr/lib/rustlib
|
||||
/usr/lib/rust/lib
|
||||
/usr/lib/rust/man
|
||||
/usr/share/doc/rust
|
||||
_EOF_
|
||||
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
popd >/dev/null || die
|
||||
#end native abi install
|
||||
|
||||
else
|
||||
local rust_target
|
||||
rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
|
||||
dodir "/opt/${P}/lib/rustlib"
|
||||
cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
|
||||
"${ED}/opt/${P}/lib/rustlib" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update
|
||||
|
||||
elog "Rust installs a helper script for calling GDB now,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
@ -0,0 +1,164 @@
|
||||
From 671ef2d1c228aed031b4232b8bea96f17b825263 Mon Sep 17 00:00:00 2001
|
||||
From: Georgy Yakovlev <gyakovlev@gentoo.org>
|
||||
Date: Mon, 23 Nov 2020 14:52:04 -0800
|
||||
Subject: [PATCH] add gentoo musl target specs
|
||||
|
||||
---
|
||||
.../src/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++
|
||||
.../src/spec/armv7_gentoo_linux_musleabihf.rs | 11 +++++++++++
|
||||
.../rustc_target/src/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++
|
||||
compiler/rustc_target/src/spec/mod.rs | 8 ++++++++
|
||||
.../src/spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++
|
||||
.../src/spec/powerpc64le_gentoo_linux_musl.rs | 11 +++++++++++
|
||||
.../src/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++
|
||||
.../rustc_target/src/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++
|
||||
8 files changed, 85 insertions(+)
|
||||
create mode 100644 compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs
|
||||
create mode 100644 compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs
|
||||
|
||||
diff --git a/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 0000000..420fe7c
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs
|
||||
@@ -0,0 +1,11 @@
|
||||
+use crate::spec::TargetResult;
|
||||
+
|
||||
+pub fn target() -> TargetResult {
|
||||
+ let mut base = super::aarch64_unknown_linux_musl::target()?;
|
||||
+
|
||||
+ base.llvm_target = "aarch64-gentoo-linux-musl".to_string();
|
||||
+ base.target_vendor = "gentoo".to_string();
|
||||
+ base.options.crt_static_default = false;
|
||||
+
|
||||
+ Ok(base)
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs
|
||||
new file mode 100644
|
||||
index 0000000..067e2d6
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs
|
||||
@@ -0,0 +1,11 @@
|
||||
+use crate::spec::TargetResult;
|
||||
+
|
||||
+pub fn target() -> TargetResult {
|
||||
+ let mut base = super::armv7_unknown_linux_musleabihf::target()?;
|
||||
+
|
||||
+ base.llvm_target = "armv7-gentoo-linux-musleabihf".to_string();
|
||||
+ base.target_vendor = "gentoo".to_string();
|
||||
+ base.options.crt_static_default = false;
|
||||
+
|
||||
+ Ok(base)
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 0000000..1cd39cd
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs
|
||||
@@ -0,0 +1,11 @@
|
||||
+use crate::spec::TargetResult;
|
||||
+
|
||||
+pub fn target() -> TargetResult {
|
||||
+ let mut base = super::i686_unknown_linux_musl::target()?;
|
||||
+
|
||||
+ base.llvm_target = "i686-gentoo-linux-musl".to_string();
|
||||
+ base.target_vendor = "gentoo".to_string();
|
||||
+ base.options.crt_static_default = false;
|
||||
+
|
||||
+ Ok(base)
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
|
||||
index f1e8330..d8c0ba0 100644
|
||||
--- a/compiler/rustc_target/src/spec/mod.rs
|
||||
+++ b/compiler/rustc_target/src/spec/mod.rs
|
||||
@@ -490,6 +490,14 @@ macro_rules! supported_targets {
|
||||
}
|
||||
|
||||
supported_targets! {
|
||||
+ ("aarch64-gentoo-linux-musl", aarch64_gentoo_linux_musl),
|
||||
+ ("armv7-gentoo-linux-musleabihf", armv7_gentoo_linux_musleabihf),
|
||||
+ ("i686-gentoo-linux-musl", i686_gentoo_linux_musl),
|
||||
+ ("powerpc-gentoo-linux-musl", powerpc_gentoo_linux_musl),
|
||||
+ ("powerpc64-gentoo-linux-musl", powerpc64_gentoo_linux_musl),
|
||||
+ ("powerpc64le-gentoo-linux-musl", powerpc64le_gentoo_linux_musl),
|
||||
+ ("x86_64-gentoo-linux-musl", x86_64_gentoo_linux_musl),
|
||||
+
|
||||
("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu),
|
||||
("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32),
|
||||
("i686-unknown-linux-gnu", i686_unknown_linux_gnu),
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 0000000..e840bb2
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs
|
||||
@@ -0,0 +1,11 @@
|
||||
+use crate::spec::TargetResult;
|
||||
+
|
||||
+pub fn target() -> TargetResult {
|
||||
+ let mut base = super::powerpc64_unknown_linux_musl::target()?;
|
||||
+
|
||||
+ base.llvm_target = "powerpc64-gentoo-linux-musl".to_string();
|
||||
+ base.target_vendor = "gentoo".to_string();
|
||||
+ base.options.crt_static_default = false;
|
||||
+
|
||||
+ Ok(base)
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 0000000..1037d82
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs
|
||||
@@ -0,0 +1,11 @@
|
||||
+use crate::spec::TargetResult;
|
||||
+
|
||||
+pub fn target() -> TargetResult {
|
||||
+ let mut base = super::powerpc64le_unknown_linux_musl::target()?;
|
||||
+
|
||||
+ base.llvm_target = "powerpc64le-gentoo-linux-musl".to_string();
|
||||
+ base.target_vendor = "gentoo".to_string();
|
||||
+ base.options.crt_static_default = false;
|
||||
+
|
||||
+ Ok(base)
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 0000000..a623ffe
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs
|
||||
@@ -0,0 +1,11 @@
|
||||
+use crate::spec::TargetResult;
|
||||
+
|
||||
+pub fn target() -> TargetResult {
|
||||
+ let mut base = super::powerpc_unknown_linux_musl::target()?;
|
||||
+
|
||||
+ base.llvm_target = "powerpc-gentoo-linux-musl".to_string();
|
||||
+ base.target_vendor = "gentoo".to_string();
|
||||
+ base.options.crt_static_default = false;
|
||||
+
|
||||
+ Ok(base)
|
||||
+}
|
||||
diff --git a/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs
|
||||
new file mode 100644
|
||||
index 0000000..f330473
|
||||
--- /dev/null
|
||||
+++ b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs
|
||||
@@ -0,0 +1,11 @@
|
||||
+use crate::spec::TargetResult;
|
||||
+
|
||||
+pub fn target() -> TargetResult {
|
||||
+ let mut base = super::x86_64_unknown_linux_musl::target()?;
|
||||
+
|
||||
+ base.llvm_target = "x86_64-gentoo-linux-musl".to_string();
|
||||
+ base.target_vendor = "gentoo".to_string();
|
||||
+ base.options.crt_static_default = false;
|
||||
+
|
||||
+ Ok(base)
|
||||
+}
|
||||
--
|
||||
2.29.2
|
||||
|
@ -0,0 +1,596 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing multilib-build python-any-r1 rust-toolchain toolchain-funcs
|
||||
|
||||
if [[ ${PV} = *beta* ]]; then
|
||||
betaver=${PV//*beta}
|
||||
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
||||
MY_P="rustc-beta"
|
||||
SLOT="beta/${PV}"
|
||||
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz"
|
||||
else
|
||||
ABI_VER="$(ver_cut 1-2)"
|
||||
SLOT="stable/${ABI_VER}"
|
||||
MY_P="rustc-${PV}"
|
||||
SRC="${MY_P}-src.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
|
||||
|
||||
DESCRIPTION="Systems programming language from Mozilla"
|
||||
HOMEPAGE="https://www.rust-lang.org/"
|
||||
|
||||
SRC_URI="
|
||||
https://static.rust-lang.org/dist/${SRC}
|
||||
!system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) )
|
||||
"
|
||||
|
||||
# keep in sync with llvm ebuild of the same version as bundled one.
|
||||
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
|
||||
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore )
|
||||
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
|
||||
LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
|
||||
|
||||
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
|
||||
|
||||
IUSE="clippy cpu_flags_x86_sse2 debug doc libressl miri nightly parallel-compiler rls rustfmt +system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling more than one slot
|
||||
# simultaneously.
|
||||
|
||||
# How to use it:
|
||||
# 1. List all the working slots (with min versions) in ||, newest first.
|
||||
# 2. Update the := to specify *max* version, e.g. < 12.
|
||||
# 3. Specify LLVM_MAX_SLOT, e.g. 11.
|
||||
LLVM_DEPEND="
|
||||
|| (
|
||||
sys-devel/llvm:11[${LLVM_TARGET_USEDEPS// /,}]
|
||||
)
|
||||
<sys-devel/llvm-12:=
|
||||
wasm? ( sys-devel/lld )
|
||||
"
|
||||
LLVM_MAX_SLOT=11
|
||||
|
||||
BOOTSTRAP_DEPEND="|| ( >=dev-lang/rust-1.$(($(ver_cut 2) - 1)) >=dev-lang/rust-bin-1.$(($(ver_cut 2) - 1)) )"
|
||||
|
||||
BDEPEND="${PYTHON_DEPS}
|
||||
app-eselect/eselect-rust
|
||||
|| (
|
||||
>=sys-devel/gcc-4.7
|
||||
>=sys-devel/clang-3.5
|
||||
)
|
||||
system-bootstrap? ( ${BOOTSTRAP_DEPEND} )
|
||||
!system-llvm? (
|
||||
dev-util/cmake
|
||||
dev-util/ninja
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
>=dev-libs/libgit2-1.1.0:=
|
||||
net-misc/curl:=[http2,ssl]
|
||||
sys-libs/zlib:=
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
elibc_musl? ( sys-libs/libunwind:= )
|
||||
system-llvm? (
|
||||
${LLVM_DEPEND}
|
||||
)
|
||||
"
|
||||
|
||||
# we need to block versions older than 1.47.0 due to layout changes.
|
||||
RDEPEND="${DEPEND}
|
||||
app-eselect/eselect-rust
|
||||
!<dev-lang/rust-1.47.0-r1
|
||||
!<dev-lang/rust-bin-1.47.0-r1
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
|
||||
miri? ( nightly )
|
||||
parallel-compiler? ( nightly )
|
||||
test? ( ${ALL_LLVM_TARGETS[*]} )
|
||||
wasm? ( llvm_targets_WebAssembly )
|
||||
x86? ( cpu_flags_x86_sse2 )
|
||||
"
|
||||
|
||||
# we don't use cmake.eclass, but can get a warnings
|
||||
CMAKE_WARN_UNUSED_CLI=no
|
||||
|
||||
QA_FLAGS_IGNORED="
|
||||
usr/lib/${PN}/${PV}/bin/.*
|
||||
usr/lib/${PN}/${PV}/lib/lib.*.so
|
||||
usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.*
|
||||
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
|
||||
"
|
||||
|
||||
QA_SONAME="
|
||||
usr/lib/${PN}/${PV}/lib/lib.*.so.*
|
||||
usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so
|
||||
"
|
||||
|
||||
# causes double bootstrap
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/1.47.0-libressl.patch
|
||||
"${FILESDIR}"/1.46.0-don-t-create-prefix-at-time-of-check.patch
|
||||
"${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch
|
||||
"${FILESDIR}"/1.47.0-llvm-tensorflow-fix.patch
|
||||
"${FILESDIR}"/1.48.0-gentoo-musl-target-specs.patch
|
||||
)
|
||||
|
||||
S="${WORKDIR}/${MY_P}-src"
|
||||
|
||||
toml_usex() {
|
||||
usex "$1" true false
|
||||
}
|
||||
|
||||
boostrap_rust_version_check() {
|
||||
# never call from pkg_pretend. eselect-rust may be not installed yet.
|
||||
[[ ${MERGE_TYPE} == binary ]] && return
|
||||
local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))"
|
||||
local rustc_version=( $(eselect --brief rust show 2>/dev/null) )
|
||||
rustc_version=${rustc_version[0]#rust-bin-}
|
||||
rustc_version=${rustc_version#rust-}
|
||||
|
||||
[[ -z "${rustc_version}" ]] && die "Failed to determine rustc version!"
|
||||
|
||||
if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then
|
||||
eerror "Rust >=${rustc_wanted} is required"
|
||||
eerror "please run \'eselect rust\' and set correct rust version"
|
||||
die
|
||||
else
|
||||
einfo "Using rust ${rustc_version} to build"
|
||||
fi
|
||||
}
|
||||
|
||||
pre_build_checks() {
|
||||
local M=6144
|
||||
M=$(( $(usex clippy 128 0) + ${M} ))
|
||||
M=$(( $(usex miri 128 0) + ${M} ))
|
||||
M=$(( $(usex rls 512 0) + ${M} ))
|
||||
M=$(( $(usex rustfmt 256 0) + ${M} ))
|
||||
M=$(( $(usex system-llvm 0 2048) + ${M} ))
|
||||
M=$(( $(usex wasm 256 0) + ${M} ))
|
||||
M=$(( $(usex debug 15 10) * ${M} / 10 ))
|
||||
eshopts_push -s extglob
|
||||
if is-flagq '-g?(gdb)?([1-9])'; then
|
||||
M=$(( 15 * ${M} / 10 ))
|
||||
fi
|
||||
eshopts_pop
|
||||
M=$(( $(usex system-bootstrap 0 1024) + ${M} ))
|
||||
M=$(( $(usex doc 256 0) + ${M} ))
|
||||
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
pre_build_checks
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
pre_build_checks
|
||||
python-any-r1_pkg_setup
|
||||
|
||||
use system-bootstrap && boostrap_rust_version_check
|
||||
|
||||
if use system-llvm; then
|
||||
llvm_pkg_setup
|
||||
|
||||
local llvm_config="$(get_llvm_prefix "$LLVM_MAX_SLOT")/bin/llvm-config"
|
||||
export LLVM_LINK_SHARED=1
|
||||
export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if ! use system-bootstrap; then
|
||||
local rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
|
||||
|
||||
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \
|
||||
--destdir="${rust_stage0_root}" --prefix=/ || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local rust_target="" rust_targets="" arch_cflags
|
||||
|
||||
# Collect rust target names to compile standard libs for all ABIs.
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\""
|
||||
done
|
||||
if use wasm; then
|
||||
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
|
||||
if use system-llvm; then
|
||||
# un-hardcode rust-lld linker for this target
|
||||
# https://bugs.gentoo.org/715348
|
||||
sed -i '/linker:/ s/rust-lld/wasm-ld/' src/librustc_target/spec/wasm32_base.rs || die
|
||||
fi
|
||||
fi
|
||||
rust_targets="${rust_targets#,}"
|
||||
|
||||
local tools="\"cargo\","
|
||||
if use clippy; then
|
||||
tools="\"clippy\",$tools"
|
||||
fi
|
||||
if use miri; then
|
||||
tools="\"miri\",$tools"
|
||||
fi
|
||||
if use rls; then
|
||||
tools="\"rls\",\"analysis\",\"src\",$tools"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
tools="\"rustfmt\",$tools"
|
||||
fi
|
||||
|
||||
local rust_stage0_root
|
||||
if use system-bootstrap; then
|
||||
rust_stage0_root="$(rustc --print sysroot)"
|
||||
else
|
||||
rust_stage0_root="${WORKDIR}"/rust-stage0
|
||||
fi
|
||||
|
||||
rust_target="$(rust_abi)"
|
||||
|
||||
cat <<- _EOF_ > "${S}"/config.toml
|
||||
[llvm]
|
||||
optimize = $(toml_usex !debug)
|
||||
release-debuginfo = $(toml_usex debug)
|
||||
assertions = $(toml_usex debug)
|
||||
ninja = true
|
||||
targets = "${LLVM_TARGETS// /;}"
|
||||
experimental-targets = ""
|
||||
link-shared = $(toml_usex system-llvm)
|
||||
[build]
|
||||
build = "${rust_target}"
|
||||
host = ["${rust_target}"]
|
||||
target = [${rust_targets}]
|
||||
cargo = "${rust_stage0_root}/bin/cargo"
|
||||
rustc = "${rust_stage0_root}/bin/rustc"
|
||||
docs = $(toml_usex doc)
|
||||
compiler-docs = $(toml_usex doc)
|
||||
submodules = false
|
||||
python = "${EPYTHON}"
|
||||
locked-deps = true
|
||||
vendor = true
|
||||
extended = true
|
||||
tools = [${tools}]
|
||||
verbose = 2
|
||||
sanitizers = false
|
||||
profiler = false
|
||||
cargo-native-static = false
|
||||
[install]
|
||||
prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
|
||||
sysconfdir = "etc"
|
||||
docdir = "share/doc/rust"
|
||||
bindir = "bin"
|
||||
libdir = "lib"
|
||||
mandir = "share/man"
|
||||
[rust]
|
||||
# https://github.com/rust-lang/rust/issues/54872
|
||||
codegen-units-std = 1
|
||||
optimize = true
|
||||
debug = $(toml_usex debug)
|
||||
debug-assertions = $(toml_usex debug)
|
||||
debuginfo-level-rustc = 0
|
||||
backtrace = true
|
||||
incremental = false
|
||||
default-linker = "$(tc-getCC)"
|
||||
parallel-compiler = $(toml_usex parallel-compiler)
|
||||
channel = "$(usex nightly nightly stable)"
|
||||
rpath = false
|
||||
verbose-tests = true
|
||||
optimize-tests = $(toml_usex !debug)
|
||||
codegen-tests = true
|
||||
dist-src = false
|
||||
remap-debuginfo = true
|
||||
lld = $(usex system-llvm false $(toml_usex wasm))
|
||||
backtrace-on-ice = true
|
||||
jemalloc = false
|
||||
[dist]
|
||||
src-tarball = false
|
||||
_EOF_
|
||||
|
||||
for v in $(multilib_get_enabled_abi_pairs); do
|
||||
rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
|
||||
arch_cflags="$(get_abi_CFLAGS ${v##*.})"
|
||||
|
||||
cat <<- _EOF_ >> "${S}"/config.env
|
||||
CFLAGS_${rust_target}=${arch_cflags}
|
||||
_EOF_
|
||||
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
[target.${rust_target}]
|
||||
cc = "$(tc-getBUILD_CC)"
|
||||
cxx = "$(tc-getBUILD_CXX)"
|
||||
linker = "$(tc-getCC)"
|
||||
ar = "$(tc-getAR)"
|
||||
_EOF_
|
||||
# librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true;
|
||||
if use elibc_musl; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
crt-static = false
|
||||
_EOF_
|
||||
fi
|
||||
if use system-llvm; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
_EOF_
|
||||
fi
|
||||
done
|
||||
if use wasm; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
[target.wasm32-unknown-unknown]
|
||||
linker = "$(usex system-llvm lld rust-lld)"
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below
|
||||
# experimental cross support
|
||||
# discussion: https://bugs.gentoo.org/679878
|
||||
# TODO: c*flags, clang, system-llvm, cargo.eclass target support
|
||||
# it would be much better if we could split out stdlib
|
||||
# complilation to separate ebuild and abuse CATEGORY to
|
||||
# just install to /usr/lib/rustlib/<target>
|
||||
|
||||
# extra targets defined as a bash array
|
||||
# spec format: <LLVM target>:<rust-target>:<CTARGET>
|
||||
# best place would be /etc/portage/env/dev-lang/rust
|
||||
# Example:
|
||||
# RUST_CROSS_TARGETS=(
|
||||
# "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu"
|
||||
# )
|
||||
# no extra hand holding is done, no target transformations, all
|
||||
# values are passed as-is with just basic checks, so it's up to user to supply correct values
|
||||
# valid rust targets can be obtained with
|
||||
# rustc --print target-list
|
||||
# matching cross toolchain has to be installed
|
||||
# matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one)
|
||||
# only gcc toolchains installed with crossdev are checked for now.
|
||||
|
||||
# BUG: we can't pass host flags to cross compiler, so just filter for now
|
||||
# BUG: this should be more fine-grained.
|
||||
filter-flags '-mcpu=*' '-march=*' '-mtune=*'
|
||||
|
||||
local cross_target_spec
|
||||
for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do
|
||||
# extracts first element form <LLVM target>:<rust-target>:<CTARGET>
|
||||
local cross_llvm_target="${cross_target_spec%%:*}"
|
||||
# extracts toolchain triples, <rust-target>:<CTARGET>
|
||||
local cross_triples="${cross_target_spec#*:}"
|
||||
# extracts first element after before : separator
|
||||
local cross_rust_target="${cross_triples%%:*}"
|
||||
# extracts last element after : separator
|
||||
local cross_toolchain="${cross_triples##*:}"
|
||||
use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled"
|
||||
command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain"
|
||||
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
[target.${cross_rust_target}]
|
||||
cc = "${cross_toolchain}-gcc"
|
||||
cxx = "${cross_toolchain}-g++"
|
||||
linker = "${cross_toolchain}-gcc"
|
||||
ar = "${cross_toolchain}-ar"
|
||||
_EOF_
|
||||
if use system-llvm; then
|
||||
cat <<- _EOF_ >> "${S}"/config.toml
|
||||
llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config"
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# append cross target to "normal" target list
|
||||
# example 'target = ["powerpc64le-unknown-linux-gnu"]'
|
||||
# becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]'
|
||||
|
||||
rust_targets="${rust_targets},\"${cross_rust_target}\""
|
||||
sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die
|
||||
|
||||
ewarn
|
||||
ewarn "Enabled ${cross_rust_target} rust target"
|
||||
ewarn "Using ${cross_toolchain} cross toolchain"
|
||||
ewarn
|
||||
if ! has_version -b 'sys-devel/binutils[multitarget]' ; then
|
||||
ewarn "'sys-devel/binutils[multitarget]' is not installed"
|
||||
ewarn "'strip' will be unable to strip cross libraries"
|
||||
ewarn "cross targets will be installed with full debug information"
|
||||
ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files"
|
||||
ewarn
|
||||
ewarn "Alternatively llvm-strip can be used, it supports stripping any target"
|
||||
ewarn "define STRIP=\"llvm-strip\" to use it (experimental)"
|
||||
ewarn
|
||||
fi
|
||||
done
|
||||
fi # I_KNOW_WHAT_I_AM_DOING_CROSS
|
||||
|
||||
einfo "Rust configured with the following settings:"
|
||||
cat "${S}"/config.toml || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# we need \n IFS to have config.env with spaces loaded properly. #734018
|
||||
(
|
||||
IFS=$'\n'
|
||||
env $(cat "${S}"/config.env) RUST_BACKTRACE=1\
|
||||
"${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die
|
||||
)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# https://rustc-dev-guide.rust-lang.org/tests/intro.html
|
||||
|
||||
# those are basic and codegen tests.
|
||||
local tests=(
|
||||
codegen
|
||||
codegen-units
|
||||
compile-fail
|
||||
incremental
|
||||
mir-opt
|
||||
pretty
|
||||
run-make
|
||||
)
|
||||
|
||||
# fails if llvm is not built with ALL targets.
|
||||
# and known to fail with system llvm sometimes.
|
||||
use system-llvm || tests+=( assembly )
|
||||
|
||||
# fragile/expensive/less important tests
|
||||
# or tests that require extra builds
|
||||
# TODO: instead of skipping, just make some nonfatal.
|
||||
if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then
|
||||
tests+=(
|
||||
rustdoc
|
||||
rustdoc-js
|
||||
rustdoc-js-std
|
||||
rustdoc-ui
|
||||
run-make-fulldeps
|
||||
ui
|
||||
ui-fulldeps
|
||||
)
|
||||
fi
|
||||
|
||||
local i failed=()
|
||||
einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}"
|
||||
for i in "${tests[@]}"; do
|
||||
local t="src/test/${i}"
|
||||
einfo "rust_src_test: running ${t}"
|
||||
if ! (
|
||||
IFS=$'\n'
|
||||
env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \
|
||||
"${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \
|
||||
-j$(makeopts_jobs) --no-doc --no-fail-fast "${t}"
|
||||
)
|
||||
then
|
||||
failed+=( "${t}" )
|
||||
eerror "rust_src_test: ${t} failed"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#failed[@]} -ne 0 ]]; then
|
||||
eerror "rust_src_test: failure summary: ${failed[@]}"
|
||||
die "aborting due to test failures"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# https://github.com/rust-lang/rust/issues/77721
|
||||
# also 1.46.0-don-t-create-prefix-at-time-of-check.patch
|
||||
dodir "/usr/lib/${PN}/${PV}"
|
||||
(
|
||||
IFS=$'\n'
|
||||
env $(cat "${S}"/config.env) DESTDIR="${D}" \
|
||||
"${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml || die
|
||||
)
|
||||
|
||||
# bug #689562, #689160
|
||||
rm -v "${D}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die
|
||||
rmdir -v "${D}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die
|
||||
dobashcomp build/tmp/dist/cargo-image/etc/bash_completion.d/cargo
|
||||
|
||||
local symlinks=(
|
||||
cargo
|
||||
rustc
|
||||
rustdoc
|
||||
rust-gdb
|
||||
rust-gdbgui
|
||||
rust-lldb
|
||||
)
|
||||
|
||||
use clippy && symlinks+=( clippy-driver cargo-clippy )
|
||||
use miri && symlinks+=( miri cargo-miri )
|
||||
use rls && symlinks+=( rls )
|
||||
use rustfmt && symlinks+=( rustfmt cargo-fmt )
|
||||
|
||||
einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}"
|
||||
local i
|
||||
for i in "${symlinks[@]}"; do
|
||||
# we need realpath on /usr/bin/* symlink return version-appended binary path.
|
||||
# so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver>
|
||||
# need to fix eselect-rust to remove this hack.
|
||||
local ver_i="${i}-${PV}"
|
||||
if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then
|
||||
einfo "Installing ${i} symlink"
|
||||
ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die
|
||||
else
|
||||
ewarn "${i} symlink requested, but source file not found"
|
||||
ewarn "please report this"
|
||||
fi
|
||||
dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}"
|
||||
done
|
||||
|
||||
# symlinks to switch components to active rust in eselect
|
||||
dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}"
|
||||
dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}"
|
||||
dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}"
|
||||
dosym "../../lib/${PN}/${PV}/share/doc" "/usr/share/doc/${P}"
|
||||
|
||||
newenvd - "50${P}" <<-_EOF_
|
||||
LDPATH="${EPREFIX}/usr/lib/rust/lib"
|
||||
MANPATH="${EPREFIX}/usr/lib/rust/man"
|
||||
$(usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '')
|
||||
_EOF_
|
||||
|
||||
rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die
|
||||
rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die
|
||||
|
||||
# note: eselect-rust adds EROOT to all paths below
|
||||
cat <<-_EOF_ > "${T}/provider-${P}"
|
||||
/usr/bin/cargo
|
||||
/usr/bin/rustdoc
|
||||
/usr/bin/rust-gdb
|
||||
/usr/bin/rust-gdbgui
|
||||
/usr/bin/rust-lldb
|
||||
/usr/lib/rustlib
|
||||
/usr/lib/rust/lib
|
||||
/usr/lib/rust/man
|
||||
/usr/share/doc/rust
|
||||
_EOF_
|
||||
|
||||
if use clippy; then
|
||||
echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use miri; then
|
||||
echo /usr/bin/miri >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-miri >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rls; then
|
||||
echo /usr/bin/rls >> "${T}/provider-${P}"
|
||||
fi
|
||||
if use rustfmt; then
|
||||
echo /usr/bin/rustfmt >> "${T}/provider-${P}"
|
||||
echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
|
||||
fi
|
||||
|
||||
insinto /etc/env.d/rust
|
||||
doins "${T}/provider-${P}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
eselect rust update
|
||||
|
||||
if has_version sys-devel/gdb || has_version dev-util/lldb; then
|
||||
elog "Rust installs a helper script for calling GDB and LLDB,"
|
||||
elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}."
|
||||
fi
|
||||
|
||||
if has_version app-editors/emacs; then
|
||||
elog "install app-emacs/rust-mode to get emacs support for rust."
|
||||
fi
|
||||
|
||||
if has_version app-editors/gvim || has_version app-editors/vim; then
|
||||
elog "install app-vim/rust-vim to get vim support for rust."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect rust cleanup
|
||||
}
|
Binary file not shown.
@ -0,0 +1,120 @@
|
||||
From 5d3053ea78b349b81b7a562974ad78f93d169791 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslaw Staniek <staniek@kde.org>
|
||||
Date: Tue, 16 Jun 2020 21:59:12 +0200
|
||||
Subject: [PATCH] Fix build with GCC 10 (make KReportGroupTracker use C++ file)
|
||||
|
||||
BUG:422886
|
||||
CCMAIL:adam@piggz.co.uk
|
||||
|
||||
FIXED-IN:3.2.1
|
||||
---
|
||||
src/CMakeLists.txt | 5 +---
|
||||
.../scripting/KReportGroupTracker.cpp | 26 +++++++++++++++++++
|
||||
src/renderer/scripting/KReportGroupTracker.h | 25 +++++++++++++++---
|
||||
3 files changed, 48 insertions(+), 8 deletions(-)
|
||||
create mode 100644 src/renderer/scripting/KReportGroupTracker.cpp
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 1cf0b389..65bcf6e5 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -106,6 +106,7 @@ set(kreport_TARGET_INCLUDE_DIRS
|
||||
|
||||
if(KREPORT_SCRIPTING)
|
||||
list(APPEND kreport_LIB_SRCS
|
||||
+ renderer/scripting/KReportGroupTracker.cpp
|
||||
renderer/scripting/KReportScriptHandler.cpp
|
||||
renderer/scripting/KReportScriptConstants.cpp
|
||||
renderer/scripting/KReportScriptDebug.cpp
|
||||
@@ -133,10 +134,6 @@ if(KREPORT_SCRIPTING)
|
||||
items/text/KReportScriptText.cpp
|
||||
)
|
||||
|
||||
- qt_wrap_cpp(KReport kreport_LIB_SRCS
|
||||
- renderer/scripting/KReportGroupTracker.h
|
||||
- )
|
||||
-
|
||||
list(APPEND kreport_INCLUDE_DIRS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/renderer/scripting
|
||||
)
|
||||
diff --git a/src/renderer/scripting/KReportGroupTracker.cpp b/src/renderer/scripting/KReportGroupTracker.cpp
|
||||
new file mode 100644
|
||||
index 00000000..9274d4a5
|
||||
--- /dev/null
|
||||
+++ b/src/renderer/scripting/KReportGroupTracker.cpp
|
||||
@@ -0,0 +1,26 @@
|
||||
+/* This file is part of the KDE project
|
||||
+ * Copyright (C) 2015 by Adam Pigg (adam@piggz.co.uk)
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#include "KReportGroupTracker.h"
|
||||
+
|
||||
+KReportGroupTracker::KReportGroupTracker()
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+KReportGroupTracker::~KReportGroupTracker()
|
||||
+{
|
||||
+}
|
||||
diff --git a/src/renderer/scripting/KReportGroupTracker.h b/src/renderer/scripting/KReportGroupTracker.h
|
||||
index e434e05a..4c0852ea 100644
|
||||
--- a/src/renderer/scripting/KReportGroupTracker.h
|
||||
+++ b/src/renderer/scripting/KReportGroupTracker.h
|
||||
@@ -1,3 +1,20 @@
|
||||
+/* This file is part of the KDE project
|
||||
+ * Copyright (C) 2015 by Adam Pigg (adam@piggz.co.uk)
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
#ifndef KREPORTGROUPTRACKER_H
|
||||
#define KREPORTGROUPTRACKER_H
|
||||
|
||||
@@ -7,16 +24,16 @@
|
||||
/*!
|
||||
* @brief Keeps track of groups as the data for the group changes
|
||||
*/
|
||||
-class KREPORT_EXPORT KReportGroupTracker : public QObject {
|
||||
+class KREPORT_EXPORT KReportGroupTracker : public QObject
|
||||
+{
|
||||
Q_OBJECT
|
||||
|
||||
protected:
|
||||
- KReportGroupTracker() {}
|
||||
- ~KReportGroupTracker() override{}
|
||||
+ KReportGroupTracker();
|
||||
+ ~KReportGroupTracker() override;
|
||||
|
||||
public:
|
||||
Q_SLOT virtual void setGroupData(const QMap<QString, QVariant> &groupData) = 0;
|
||||
};
|
||||
|
||||
#endif // KREPORTGROUPTRACKER_H
|
||||
-
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
ECM_QTHELP="true"
|
||||
ECM_TEST="true"
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
KFMIN=5.74.0
|
||||
QTMIN=5.15.1
|
||||
VIRTUALX_REQUIRED="test"
|
||||
inherit ecm kde.org python-any-r1
|
||||
|
||||
DESCRIPTION="Framework for creation and generation of reports in multiple formats"
|
||||
HOMEPAGE="https://community.kde.org/KReport"
|
||||
|
||||
if [[ ${KDE_BUILD_TYPE} = release ]]; then
|
||||
SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="5/4"
|
||||
IUSE="marble +scripting webkit"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/kproperty-${PV}:5=
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtprintsupport-${QTMIN}:5
|
||||
>=dev-qt/qtwidgets-${QTMIN}:5
|
||||
>=dev-qt/qtxml-${QTMIN}:5
|
||||
>=kde-frameworks/kconfig-${KFMIN}:5
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kguiaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
|
||||
marble? ( kde-apps/marble:5= )
|
||||
scripting? ( >=dev-qt/qtdeclarative-${QTMIN}:5 )
|
||||
webkit? ( >=dev-qt/qtwebkit-5.212.0_pre20180120:5 )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-gcc10.patch" )
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
ecm_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package marble Marble)
|
||||
$(cmake_use_find_package webkit Qt5WebKitWidgets)
|
||||
-DKREPORT_SCRIPTING=$(usex scripting)
|
||||
)
|
||||
ecm_src_configure
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST libpqxx-7.1.2.tar.gz 693152 BLAKE2B da28d0041fc345eb7774eadf0a886e2a89692ac47d870120991aa97328a6be7d10e8cb2d6deb9e056dc7e05b04fd317d9d0fe4dcf8eab901114b27cd64bf4ff6 SHA512 a4a76c62f6115f5898e4c4bb1c6f095284bdb7ae6a1efa45add9efd422d2a8280d1698caa2469acbb087168208ae0fd8efa36c8735a8ce30e58853e27acd4161
|
||||
DIST libpqxx-7.2.1.tar.gz 691486 BLAKE2B ef1b12e436e33a26faa8f5acceef8d5ab1063b0618798fdf881fe38ab101da6d78989cc30c1e24f60fd81dd4f4034267e8b220b7b1d1932793028abf7e17c614 SHA512 baaa53f12aa87f512bbbe7494c915242cda8508b43414b79e6cd047dbd61902cbe54cb34af13d75bdccd70bdbafcaca155b4ccb426d8b831bd4df46e9a57e3a2
|
||||
|
@ -0,0 +1,78 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
inherit python-any-r1
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
DESCRIPTION="Standard front-end for writing C++ programs that use PostgreSQL"
|
||||
SRC_URI="https://github.com/jtv/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
HOMEPAGE="http://pqxx.org/development/libpqxx/"
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="doc static-libs"
|
||||
|
||||
RDEPEND="dev-db/postgresql:="
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
app-text/xmlto
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS NEWS README{.md,-UPGRADE} )
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--enable-shared \
|
||||
$(use_enable doc documentation) \
|
||||
$(use_enable static-libs static)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo "The tests need a running PostgreSQL server and an existing database."
|
||||
einfo "Test requires PGDATABASE and PGUSER to be set at a minimum. Optionally,"
|
||||
einfo "set PGPORT and PGHOST. Define them at the command line or in:"
|
||||
einfo " ${EROOT}/etc/libpqxx_test_env"
|
||||
|
||||
if [[ -z $PGDATABASE || -z $PGUSER ]] ; then
|
||||
if [[ -f ${EROOT}/etc/libpqxx_test_env ]] ; then
|
||||
source "${EROOT}/etc/libpqxx_test_env"
|
||||
[[ -n $PGDATABASE ]] && export PGDATABASE
|
||||
[[ -n $PGHOST ]] && export PGHOST
|
||||
[[ -n $PGPORT ]] && export PGPORT
|
||||
[[ -n $PGUSER ]] && export PGUSER
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n $PGDATABASE && -n $PGUSER ]] ; then
|
||||
local server_version
|
||||
server_version=$(psql -Aqtc 'SELECT version();' 2> /dev/null)
|
||||
if [[ $? = 0 ]] ; then
|
||||
cd "${S}/test" || die
|
||||
emake check
|
||||
else
|
||||
eerror "Is the server running?"
|
||||
eerror "Verify role and database exist, and are permitted in pg_hba.conf for:"
|
||||
eerror " Role: ${PGUSER}"
|
||||
eerror " Database: ${PGDATABASE}"
|
||||
die "Couldn't connect to server."
|
||||
fi
|
||||
else
|
||||
eerror "PGDATABASE and PGUSER must be set to perform tests."
|
||||
eerror "Skipping tests."
|
||||
fi
|
||||
}
|
||||
|
||||
src_install () {
|
||||
use doc && HTML_DOCS=( doc/html/. )
|
||||
default
|
||||
|
||||
if ! use static-libs; then
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
fi
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST libqtxdg-3.5.0.tar.xz 73248 BLAKE2B 0e587e640abda9cdf55cbeac270382386be2bc26b291bb9f655d845acb381b7f65048d213039a6e7ae9cc5d03fa29911bc2277140524d73f0e005745759a39b6 SHA512 014407a3dc869dd324c3840d54c0aa4565a2f69f147b172548458dee69d33474d9c2ebf50112d1ef7e36ed0aea0fb055f8e03901314230a6c55a84808bd52653
|
||||
DIST libqtxdg-3.6.0.tar.xz 76028 BLAKE2B 138f0f8bf9889c7f6aa0d4016c52d4c7745a9f3b34b53babba5d0be457485157d66884395488d4e978ba953332696b977bb60c1d04b6b0a53086ab7f3b0b4492 SHA512 8574bb6834c0a44c983e906c3d84fb5cfd6e2f40ec2ac70f4998ec5fe213aeb0d4439ff294f56c1988cb9d1b311c4e074906ba66b21d24190a911d0e643d1a16
|
||||
|
@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake virtualx
|
||||
|
||||
DESCRIPTION="Qt Implementation of XDG Standards"
|
||||
HOMEPAGE="https://lxqt.github.io/"
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1+ Nokia-Qt-LGPL-Exception-1.1"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
>=dev-util/lxqt-build-tools-0.8.0
|
||||
virtual/pkgconfig
|
||||
"
|
||||
RDEPEND="
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
dev-qt/qtgui:5=
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtxml:5
|
||||
x11-misc/xdg-utils
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-qt/qttest:5 )
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_TESTS=$(usex test)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Tests don't work with C
|
||||
LC_ALL=en_US.utf8 virtx cmake_src_test
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST poco-1.10.1.tar.gz 10224204 BLAKE2B 644bb2134c571e10b63937ca15b3f5d7255767bcc99dd6b6107a13d64ed7ac83d499d74f04084c666bbf5ef6f033d57d2fb1de0b8b8487844e3aaf8cefe6fba8 SHA512 40aa8049c68651f461280937c1c733e13d1cedbec12bc44a7f3a6c131d31229c5445067052441427071f6102fd1965d238b2222c0689279dd156b4e261ac9e73
|
||||
DIST poco-1.9.0.tar.gz 10012966 BLAKE2B 98848e87008c71dc5131dbd1c2b17afc414074a3e26237918baf231b4e56ce3d69347cf7a3017715895f4ee56a428672fcb804fb3c732da0000ccc9790b0081d SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/cmake/FindODBC.cmake b/cmake/FindODBC.cmake
|
||||
index 55318b520..fb7efbffe 100644
|
||||
--- a/cmake/FindODBC.cmake
|
||||
+++ b/cmake/FindODBC.cmake
|
||||
@@ -34,7 +34,7 @@ find_path(ODBC_INCLUDE_DIR
|
||||
${ODBC_ROOT_INCLUDE_DIRS}
|
||||
PATHS
|
||||
${PC_ODBC_INCLUDE_DIRS}
|
||||
- /usr/include
|
||||
+ /usr/include/iodbc
|
||||
/usr/local/include
|
||||
/usr/local/odbc/include
|
||||
/usr/local/iodbc/include
|
@ -0,0 +1,136 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="C++ libraries for building network-based applications"
|
||||
HOMEPAGE="https://pocoproject.org/"
|
||||
SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${P}-release"
|
||||
|
||||
LICENSE="Boost-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="7z cppparser +crypto +data examples +file2pagecompiler iodbc +json libressl mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc sqlite +ssl test +util +xml +zip"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="
|
||||
7z? ( xml )
|
||||
file2pagecompiler? ( pagecompiler )
|
||||
iodbc? ( odbc )
|
||||
mongodb? ( data )
|
||||
mysql? ( data )
|
||||
odbc? ( data )
|
||||
pagecompiler? ( json net util xml )
|
||||
pocodoc? ( cppparser util xml )
|
||||
sqlite? ( data )
|
||||
ssl? ( util )
|
||||
test? ( data? ( sqlite ) json util xml )
|
||||
"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
RDEPEND="
|
||||
>=dev-libs/libpcre-8.42
|
||||
mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= )
|
||||
mariadb? ( dev-db/mariadb-connector-c:0= ) )
|
||||
odbc? ( iodbc? ( dev-db/libiodbc )
|
||||
!iodbc? ( dev-db/unixODBC ) )
|
||||
sqlite? ( dev-db/sqlite:3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
xml? ( dev-libs/expat )
|
||||
zip? ( sys-libs/zlib )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" )
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if use test ; then
|
||||
# ignore missing tests on experimental library
|
||||
# and tests requiring running DB-servers, internet connections, etc.
|
||||
sed -i -e '/testsuite/d' \
|
||||
{Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die
|
||||
# Poco expands ~ using passwd, which does not match $HOME in the build environment
|
||||
sed -i -e '/CppUnit_addTest.*testExpand/d' \
|
||||
Foundation/testsuite/src/PathTest.cpp || die
|
||||
# ignore failing Crypto test since upstream does not seem to care,
|
||||
# see https://github.com/pocoproject/poco/issues/1209
|
||||
sed -i -e '/RSATest, testRSACipherLarge/d' \
|
||||
Crypto/testsuite/src/RSATest.cpp || die
|
||||
fi
|
||||
|
||||
if use mariadb ; then
|
||||
# Fix MariaDB detection
|
||||
sed -i -e 's~/usr/include/mysql~~' \
|
||||
-e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
|
||||
cmake/FindMySQL.cmake || die
|
||||
else
|
||||
# Fix MySQL detection
|
||||
sed -i -e 's/mysqlclient_r/mysqlclient/' \
|
||||
-e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \
|
||||
cmake/FindMySQL.cmake || die
|
||||
fi
|
||||
|
||||
# Add missing directory that breaks the build
|
||||
mkdir -p Encodings/testsuite/data || die
|
||||
|
||||
if ! use iodbc ; then
|
||||
sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764
|
||||
local mycmakeargs=(
|
||||
-DPOCO_UNBUNDLED=ON
|
||||
-DENABLE_APACHECONNECTOR=OFF
|
||||
-DENABLE_CPPPARSER="$(usex cppparser)"
|
||||
-DENABLE_CRYPTO="$(usex ssl)"
|
||||
-DENABLE_DATA="$(usex data)"
|
||||
-DENABLE_DATA_MYSQL="$(usex mysql)"
|
||||
-DENABLE_DATA_ODBC="$(usex odbc)"
|
||||
-DENABLE_DATA_SQLITE="$(usex sqlite)"
|
||||
-DENABLE_JSON="$(usex util)"
|
||||
-DENABLE_MONGODB="$(usex mongodb)"
|
||||
-DENABLE_NET="$(usex net)"
|
||||
-DENABLE_NETSSL="$(usex ssl)"
|
||||
-DENABLE_NETSSL_WIN=OFF
|
||||
-DENABLE_PAGECOMPILER="$(usex pagecompiler)"
|
||||
-DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)"
|
||||
-DENABLE_PDF="$(usex pdf)"
|
||||
-DENABLE_POCODOC="$(usex pocodoc)"
|
||||
-DENABLE_SEVENZIP="$(usex 7z)"
|
||||
-DENABLE_TESTS="$(usex test)"
|
||||
-DENABLE_UTIL="$(usex util)"
|
||||
-DENABLE_XML="$(usex xml)"
|
||||
-DENABLE_ZIP="$(usex zip)"
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
POCO_BASE="${S}" cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
if use examples ; then
|
||||
for sd in */samples ; do
|
||||
docinto examples/${sd%/samples}
|
||||
dodoc -r ${sd}
|
||||
done
|
||||
|
||||
find "${D}/usr/share/doc/${PF}/examples" \
|
||||
-iname "*.sln" -or -iname "*.vcproj" -or \
|
||||
-iname "*.vmsbuild" -or -iname "*.properties" \
|
||||
| xargs rm -v || die
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -0,0 +1,78 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
LUA_COMPAT=( lua5-{1..3} )
|
||||
LUA_REQ_USE="${MULTILIB_USEDEP}"
|
||||
|
||||
inherit lua multilib-minimal toolchain-funcs
|
||||
|
||||
DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library"
|
||||
HOMEPAGE="https://matthewwild.co.uk/projects/luaexpat/"
|
||||
SRC_URI="https://matthewwild.co.uk/projects/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/expat[${MULTILIB_USEDEP}]
|
||||
${LUA_DEPS}
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
HTML_DOCS=( "doc/us/." )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Respect users CFLAGS
|
||||
# Add '-DLUA_32BITS' for fixing compilation with lua5.3
|
||||
sed -e 's/-O2/-DLUA_32BITS/g' -i Makefile || die
|
||||
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
lua_multilib_src_compile() {
|
||||
# Clean project, to compile it for every lua slot
|
||||
emake clean
|
||||
|
||||
local myemakeargs=(
|
||||
"CC=$(tc-getCC)"
|
||||
"LUA_INC=$(lua_get_CFLAGS)"
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}"
|
||||
|
||||
# Copy module to match the choosen LUA implementation
|
||||
cp "src/lxp.so" "src/lxp-${ELUA}.so" || die
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
lua_foreach_impl lua_multilib_src_compile
|
||||
}
|
||||
|
||||
lua_multilib_src_install() {
|
||||
# Use correct module for the choosen LUA implementation
|
||||
cp "src/lxp-${ELUA}.so" "src/lxp.so" || die
|
||||
|
||||
local myemakeargs=(
|
||||
"DESTDIR=${ED}"
|
||||
"LUA_CDIR=$(lua_get_cmod_dir)"
|
||||
"LUA_INC=$(lua_get_include_dir)"
|
||||
"LUA_LDIR=$(lua_get_lmod_dir)"
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}" install
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
lua_foreach_impl lua_multilib_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit multilib-minimal toolchain-funcs
|
||||
|
||||
DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library"
|
||||
HOMEPAGE="https://matthewwild.co.uk/projects/luaexpat/ https://github.com/tomasguisasola/luaexpat"
|
||||
SRC_URI="https://github.com/tomasguisasola/luaexpat/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
|
||||
RDEPEND=">=dev-lang/lua-5.1.5-r2:0[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}_makefile.patch"
|
||||
"${FILESDIR}/${P}_getcurrentbytecount.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake \
|
||||
CFLAGS="${CFLAGS}" \
|
||||
LDFLAGS="${LDFLAGS}" \
|
||||
CC="$(tc-getCC)" \
|
||||
LUA_INC="$($(tc-getPKG_CONFIG) --variable INSTALL_INC lua)"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake \
|
||||
LUA_DIR="${D}/$($(tc-getPKG_CONFIG) --variable INSTALL_LMOD lua)" \
|
||||
LUA_LIBDIR="${D}/$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD lua)" \
|
||||
install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc -r README.md doc/*
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
LUA_COMPAT=( lua5-{1..3} )
|
||||
LUA_REQ_USE="${MULTILIB_USEDEP}"
|
||||
|
||||
inherit lua multilib-minimal toolchain-funcs
|
||||
|
||||
DESCRIPTION="LuaExpat is a SAX XML parser based on the Expat library"
|
||||
HOMEPAGE="https://github.com/tomasguisasola/luaexpat"
|
||||
SRC_URI="https://github.com/tomasguisasola/luaexpat/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/expat[${MULTILIB_USEDEP}]
|
||||
${LUA_DEPS}
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
HTML_DOCS=( "doc/us/." )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}_makefile.patch"
|
||||
"${FILESDIR}/${P}_getcurrentbytecount.patch"
|
||||
"${FILESDIR}/${P}_restore_functionality.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Respect users CFLAGS
|
||||
sed -e 's/-O2//g' -i makefile || die
|
||||
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
lua_multilib_src_compile() {
|
||||
# Clean project, to compile it for every lua slot
|
||||
emake clean
|
||||
|
||||
local myemakeargs=(
|
||||
"CC=$(tc-getCC)"
|
||||
"LUA_INC=$(lua_get_include_dir)"
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}"
|
||||
|
||||
# Copy module to match the choosen LUA implementation
|
||||
cp "src/lxp.so.${PV}" "src/lxp-${ELUA}.so.${PV}" || die
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
lua_foreach_impl lua_multilib_src_compile
|
||||
}
|
||||
|
||||
lua_multilib_src_install() {
|
||||
# Use correct module for the choosen LUA implementation
|
||||
cp "src/lxp-${ELUA}.so.${PV}" "src/lxp.so.${PV}" || die
|
||||
|
||||
local myemakeargs=(
|
||||
"LUA_DIR=${ED}/$(lua_get_lmod_dir)"
|
||||
"LUA_INC=${ED}/$(lua_get_include_dir)"
|
||||
"LUA_LIBDIR=${ED}/$(lua_get_cmod_dir)"
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}" install
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
lua_foreach_impl lua_multilib_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
}
|
@ -1,15 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>azamat.hackimov@gmail.com</email>
|
||||
<name>Azamat H. Hackimov</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">tomasguisasola/luaexpat</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="person">
|
||||
<email>azamat.hackimov@gmail.com</email>
|
||||
<name>Azamat H. Hackimov</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>conikost@gentoo.org</email>
|
||||
<name>Conrad Kostecki</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">tomasguisasola/luaexpat</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
MY_PV=${PV//./_}
|
||||
|
||||
DESCRIPTION="File System Library for the Lua programming language"
|
||||
HOMEPAGE="https://keplerproject.github.io/luafilesystem/"
|
||||
SRC_URI="https://github.com/keplerproject/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 arm arm64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="luajit test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-lang/lua-5.1:0
|
||||
luajit? ( dev-lang/luajit:2 )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
test? ( ${RDEPEND} )
|
||||
"
|
||||
|
||||
HTML_DOCS=( "doc/us/." )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
cat > "config" <<-EOF
|
||||
CC=$(tc-getCC)
|
||||
CFLAGS=${CFLAGS} -I$($(tc-getPKG_CONFIG) --variable includedir $(usex luajit 'luajit' 'lua')) -fPIC
|
||||
DESTDIR=${ED}
|
||||
LIB_OPTION=${LDFLAGS} -shared
|
||||
LUA_LIBDIR=$($(tc-getPKG_CONFIG) --variable INSTALL_CMOD $(usex luajit 'luajit' 'lua'))
|
||||
EOF
|
||||
}
|
||||
|
||||
src_test() {
|
||||
LUA_CPATH="src/lfs.so" lua tests/test.lua || die
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue