parent
7fcd2dfb2b
commit
e250b8b70d
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29266 BLAKE2B 140be264e2872b91dfa38b6da1a34c09d34c158e9c22a5ed03439077282b4e4ef9fa7c5af8191a37111ceaa83173d3c0a550d48a0c900337d442696b50ecb861 SHA512 345b1e41483597c10d8a59b8f1edbc755e8360f66167ab1db2f4cfc66ae1e8e94c7fda3167f00451806708a5f00e451b72dc4ddcd7907f3cd3783c333183dd02
|
||||
TIMESTAMP 2021-04-29T06:08:33Z
|
||||
MANIFEST Manifest.files.gz 29297 BLAKE2B f7be25a3c3595c342284a81dd051337ce3367c804324cf6439316d42c67ccfa07de629191c7d3049e523ec87efb724d5a747f999eb8526e69b1157477acc4186 SHA512 a05f96cba90c7e52b0c41d79c127f59aa198e3a63230a9acb47ac2553037fe9753ed952c9c10dce68840fdbdc152b8757b068f661f8be1a39c0c04bdc9d35231
|
||||
TIMESTAMP 2021-04-30T12:38:34Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmCKTWFfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmCL+kpfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klAUNw//VF0X1QuEey9EnsnGDCxUSIxQ9SURZifvB2ReeGZyXcsvpWY/9YSlhJ08
|
||||
u7Om5AmOOdlLeWri0eGjYWEBoovaHJ4BVtx0UrOOxzpMPIo7c4YTTTq9nRUhJiqa
|
||||
K1rqY77TZQ2EHvUOog5Oq6eXZ6mwGqxNkTsp3WkUB5uIQYDpwur/A/nxzsb+A9qp
|
||||
vs4TlsykSYuDCum8IQ5ml6MYaJ0LiSLv8MaxN54irCZYUUa9dPHFnncNmBnF4jyx
|
||||
ZvxUDgyJxC+Vmzdwjaaw39vaP00CoBV67WpBj6WVXSpdtLGfjyDKvy1MaR4y22st
|
||||
qDAbQ2HiHR/6CFRd6JWPrI9uX1sF+eSqJfRbUqtkiBdjWsYOkIL9l7vj1mPvD93H
|
||||
yN8cv0iu/tsf9IGPjDvYJLSJ51FFVyLeltaXz3egfJajrFGeSKMbfqDueZ1swnfK
|
||||
VUfvwF3xLsOoB7+7CruqekW20uERpvvx9LyxfZpR1bBLm3D1TD2QJHNOVPfRqHVr
|
||||
XdBfhRIQ6jL5+k5nr5Db9T3x362/a/ZCbSP5K57udqitcyIoS6rgXWyAzETU9vD/
|
||||
YcEBQcQONcJ4AfbWcqIYImCDKPJYIIMXIcy9nMcpfEUHju2Dsst1NwC/KmbCKGwk
|
||||
le9ddyfRs66zkpHBxTzAcMDXtrZjGrhJGSy/x7r8PMzarzF/5Ms=
|
||||
=W3/K
|
||||
klAxiQ//Tt0VEQk3MSdZ4yPQZ92ZyKQATTGoIgkjta7kgTLeNZRgomfrlHofIUAd
|
||||
FA6blBEduNnZxsfy2ji0px1W/0Ywwhru7uepsfnVVP7qM/prDpexs1jDCx5DDfUX
|
||||
8rvn4tsAuu3FIpm7zLlK10o+b8XCSiFloWrkN+8gmiQ1UMgqzPunS4n310NYwUy1
|
||||
nT3T7La9B9qcvf9DGQOcpIyZ4n/oI/lq3zjNT1SL++eD+wyIB64sZ+u4bN34RZ9P
|
||||
neykk0JoLBDg7hwaGUAT0VMlVNpXfD06XNj7sVqMesvV/iWOGQrWYpd7XFQWi1aO
|
||||
wBW/cMUZB9Do9Ey6G59+6O4wlYQTRDRJsoUkJUtvkz4eT00JGZcM0fQETo+XvP+h
|
||||
ltSr3xDCd13Gkv7wB7Vlc1RKZgyDSRMbWEdyiYIac6d+MdX9iFP/AonL4TY0ZKlf
|
||||
a8coqNHFNN9IeOhJ1mAomGxGfhIw/2om+xhPGKX4Trd4xvzA82dmBXEFU4sNDmOb
|
||||
UwTOsIoY3ToxFi68duG5G95rmPotjPgLqXDMqVnUMAKWp+4sasXl04HvRyDtkgZW
|
||||
dz6rRAJtzSludRC+oUf/KNWXMiBb57uAoL6YWSs+4NFCEAiarkjQajkGGtr0W8D/
|
||||
gmwokMZWn+w7lvVymHnA6mtZ38zYYh2WkCuF3FpmUfeidIBt4OM=
|
||||
=r491
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
EBUILD opendmarc-0.ebuild 198 BLAKE2B 792ce62e020478d3fc626882785db26ed7db50dff2dd4f9518db91f93d310357cf28bdda843277ef9279cb5be0825098ca92672ff85b6d1b95cbbc9c1e252307 SHA512 4011afa5da5520cdae07a280411d1473d0d2e683e4d1cba0b70bd60df2d0f2fc2403d7b779e8cbe024c6180b6b2e6a429cde4d22bc0296c603805def474ec06c
|
||||
MISC metadata.xml 248 BLAKE2B 60e4295b22f6f36039547e98305ae072755044f6516df2e29e65768732900ffc93dac9cbcf1da9e6c731403a62cf272f2f378d0641bd466974f8a234235c862a SHA512 f6fee7363592cb9dcd666011806321b791fb84bf0719fb2454d1f3ceb738650184286c17a13684c077bacd1a93581a71accfe9cef74adcaf40dfda7d8a167d13
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="launchpad">ical-tcl</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="person">
|
||||
<email>grobian@gentoo.org</email>
|
||||
<name>Fabian Groffen</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,9 @@
|
||||
# Copyright 2019-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="Group for mail-filter/opendmarc "
|
||||
ACCT_GROUP_ID=244
|
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
EBUILD opendmarc-0.ebuild 309 BLAKE2B 23344727f00fc145d2cffc3f643506c5046df64734043e47a3dde52ab454d9fd4a4a936d3f945e71f747966d313887bb9268af395b5067ebe83c2634bd8d0bae SHA512 39a1928977cde0d6114088469e1dec904d36cb8ef03677ab0b70a95ab7f45ab19d1c39ce6a6ab6301dc8910e2b22371c74874f317b5ba4cc5999c1809a04948a
|
||||
MISC metadata.xml 248 BLAKE2B 60e4295b22f6f36039547e98305ae072755044f6516df2e29e65768732900ffc93dac9cbcf1da9e6c731403a62cf272f2f378d0641bd466974f8a234235c862a SHA512 f6fee7363592cb9dcd666011806321b791fb84bf0719fb2454d1f3ceb738650184286c17a13684c077bacd1a93581a71accfe9cef74adcaf40dfda7d8a167d13
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>grobian@gentoo.org</email>
|
||||
<name>Fabian Groffen</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,16 @@
|
||||
# Copyright 2019-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="User for mail-filter/opendmarc"
|
||||
|
||||
ACCT_USER_ID=244
|
||||
ACCT_USER_GROUPS=( opendmarc )
|
||||
|
||||
ACCT_USER_HOME="/var/lib/opendmarc"
|
||||
ACCT_USER_HOME_PERMS=0700
|
||||
|
||||
acct-user_add_deps
|
Binary file not shown.
@ -1,8 +1,6 @@
|
||||
AUX apache-tools-2.4.7-Makefile.patch 1695 BLAKE2B 8fac145613ac9f587e49bc6932c5712b7d7cad0d91422e11701edd24152e1d33907cbf31e3bef709555253759cea72199d4537df5d20d3ce9ca5dc898ba26779 SHA512 f597ce5503e590ed5b2621c04dcf0a571a73b70f144df7fe4e5fb7329a4f1558a5eb16913fe3d7c58ac1030f46cd2b1882e08d0f62106fbf8d40a8677c6b9448
|
||||
DIST httpd-2.4.41.tar.bz2 7072373 BLAKE2B 88a2390736209d5ef04bffcb867bc8d6019302885e6f3cc63d18123336d4d0657252105a3bfebf4e91b8daa02119d4a61f4c0a9702244858a3193ec6cf681c0f SHA512 350cc7dcd2c439e0590338fa6da3f44df44f9bb885c381e91f91b14c2f48597f6f0bbac0ea118a8a67eaa70ae7edbb769beace368643ed73f6daee44c307b335
|
||||
DIST httpd-2.4.43.tar.bz2 7155865 BLAKE2B cd85c7e25500f8f1b4bd6ac5f715718a61bf548dfaf36408a970d27bacbfce256e4dda255ba5b62f89e117c335d0568d6207c93e5fb0d2b1ee84dba4ce0d4bd7 SHA512 16cfeecc8f6fab6eca478065a384bdf1872f7ac42206b0bc2bcac6c0d9c576f392c07107201f39e0601dec1bbafcb33d66153544de4d87d79b9a52094d334b64
|
||||
DIST httpd-2.4.46.tar.bz2 7187805 BLAKE2B 2cd8a40be0b7b60ae5b06a286aa6dd801b8615fd0483a4653ceea6f9832c9ebb111f67ba4f69827b01acd1e5552e70ac0441df49573c9da0ca26d4c2f589f0bc SHA512 5936784bb662e9d8a4f7fe38b70c043b468114d931cd10ea831bfe74461ea5856b64f88f42c567ab791fc8907640a99884ba4b6a600f86d661781812735b6f13
|
||||
EBUILD apache-tools-2.4.41.ebuild 2524 BLAKE2B 3b2d9368d0cb3088062990484ee7867c6ff3eb2fe82d05b61d34135d8e0b1d1582b8d145e676735f8946539c77158a4d9b6a490d4218e5a751f07fdc05374185 SHA512 2fd21ee79b0822f4ab410e571b27a0ee4b42f66929958cbeeffd10865917592682d9cf1b6b32600a870275b96b4b733a208cfd5a8e8f64980799c53bc0b5d0c9
|
||||
EBUILD apache-tools-2.4.43.ebuild 2524 BLAKE2B 3b2d9368d0cb3088062990484ee7867c6ff3eb2fe82d05b61d34135d8e0b1d1582b8d145e676735f8946539c77158a4d9b6a490d4218e5a751f07fdc05374185 SHA512 2fd21ee79b0822f4ab410e571b27a0ee4b42f66929958cbeeffd10865917592682d9cf1b6b32600a870275b96b4b733a208cfd5a8e8f64980799c53bc0b5d0c9
|
||||
EBUILD apache-tools-2.4.46.ebuild 2524 BLAKE2B 3b2d9368d0cb3088062990484ee7867c6ff3eb2fe82d05b61d34135d8e0b1d1582b8d145e676735f8946539c77158a4d9b6a490d4218e5a751f07fdc05374185 SHA512 2fd21ee79b0822f4ab410e571b27a0ee4b42f66929958cbeeffd10865917592682d9cf1b6b32600a870275b96b4b733a208cfd5a8e8f64980799c53bc0b5d0c9
|
||||
DIST httpd-2.4.47.tar.bz2 7187445 BLAKE2B ba5b6ebac73aaa6f2f0d7a34d5bf9d13bd4ac862ee9d04b105c315c3aad16401b842b6901424dba6a44a0b5d255c0356e0bf72b5d1898b4b091b12192c204c96 SHA512 ac05e878604037572b484c32c767e022bf027e5efa2a2ed28472939d9f536448f1536ede4d809f1e913a29a0247bdd27981bd00d3d8614f978573c14bce7c7af
|
||||
EBUILD apache-tools-2.4.46.ebuild 2460 BLAKE2B b472d42e496a6af6baca2790f6b1ed330353d169f721f41af04a27f9660f6d9f5fcff220cf63f8369675f202a29d7509c1872a0a9a340ce10a338a67769a46dc SHA512 667f5a2b8d53f03587b982275cc4b0e8ed8c5d814fb93fae6f589b2438a7bce7895259f54f70a89a9a7b7b3af3846c2c51292c5c4af3a7e53feb6457a5743b1f
|
||||
EBUILD apache-tools-2.4.47.ebuild 2469 BLAKE2B 7c4e2b191bfa166d7c89eec4febf97619b7f6cdc49c429d701c9b5401fea022a792a60ba77b27d959dbd5e3ef53d2e754eed0f10d067915b59b349a8b3736edf SHA512 ca8a17e6cfa9a420d79d967a172bc8f520aceee1f95c98bec69e4bc402df4c1c1a97f4187d09fda71b74043b5fe6e3408e1e25245a98ff92948963a0ba088a92
|
||||
MISC metadata.xml 468 BLAKE2B 850e5a23a188280992a745276f7466b0287d4e1ca9dee8c61046612273bf7484c24e60d95ccc6637c65c88d851719bed812e2c1f3e951fdca1c7058c68aaa0db SHA512 d9b6eabeaba642f760ceca4b4b39b5db7bae5369c6766ce230c5cf0949e3152affa6ec5116ffa4ead983d987387c767600b8f36ebe1b8cf1323ed5c2cb14fab2
|
||||
|
@ -1,105 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit flag-o-matic multilib toolchain-funcs
|
||||
|
||||
DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm"
|
||||
HOMEPAGE="https://httpd.apache.org/"
|
||||
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris ~x64-solaris"
|
||||
IUSE="libressl ssl"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND=">=dev-libs/apr-1.5.0:1=
|
||||
dev-libs/apr-util:1=
|
||||
dev-libs/expat
|
||||
dev-libs/libpcre
|
||||
kernel_linux? ( sys-apps/util-linux )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/libtool"
|
||||
|
||||
S="${WORKDIR}/httpd-${PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.4.7-Makefile.patch" #459446
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# This package really should upgrade to using pcre's .pc file.
|
||||
cat <<-\EOF >"${T}"/pcre-config
|
||||
#!/bin/bash
|
||||
flags=()
|
||||
for flag; do
|
||||
if [[ ${flag} == "--version" ]]; then
|
||||
flags+=( --modversion )
|
||||
else
|
||||
flags+=( "${flag}" )
|
||||
fi
|
||||
done
|
||||
exec ${PKG_CONFIG} libpcre "${flags[@]}"
|
||||
EOF
|
||||
chmod a+x "${T}"/pcre-config || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Brain dead check.
|
||||
tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no"
|
||||
|
||||
tc-export PKG_CONFIG
|
||||
|
||||
local myeconfargs=(
|
||||
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
|
||||
--sbindir="${EPREFIX}"/usr/sbin
|
||||
--with-perl="${EPREFIX}"/usr/bin/perl
|
||||
--with-expat="${EPREFIX}"/usr
|
||||
--with-z="${EPREFIX}"/usr
|
||||
--with-apr="${SYSROOT}${EPREFIX}"/usr
|
||||
--with-apr-util="${SYSROOT}${EPREFIX}"/usr
|
||||
--with-pcre="${T}"/pcre-config
|
||||
$(use_enable ssl)
|
||||
$(usex ssl '--with-ssl="${EPREFIX}"/usr' '')
|
||||
)
|
||||
# econf overwrites the stuff from config.layout.
|
||||
ac_cv_path_PKGCONFIG=${PKG_CONFIG} \
|
||||
econf "${myeconfargs[@]}"
|
||||
sed -i \
|
||||
-e '/^LTFLAGS/s:--silent::' \
|
||||
build/rules.mk build/config_vars.mk || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -C support
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -C support DESTDIR="${D}" install
|
||||
dodoc CHANGES
|
||||
doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \
|
||||
docs/man/{htcacheclean,rotatelogs}.8
|
||||
|
||||
# Providing compatiblity symlinks for #177697 (which we'll stop to install
|
||||
# at some point).
|
||||
pushd "${ED}"/usr/sbin >/dev/null || die
|
||||
local i
|
||||
for i in *; do
|
||||
dosym ${i} /usr/sbin/${i}2
|
||||
done
|
||||
popd >/dev/null || die
|
||||
|
||||
# Provide a symlink for ab-ssl
|
||||
if use ssl ; then
|
||||
dosym ab /usr/bin/ab-ssl
|
||||
dosym ab /usr/bin/ab2-ssl
|
||||
fi
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST clustershell-1.8.3.tar.gz 363975 BLAKE2B 3a7bb9103398e96f57f53d0d5d5edc6895ce02b6983e8fed34d65cad83a6d4e86f40b9576f41631e499a99adc8be5f4f422005b8ddc7ac8325fe11abd2c99477 SHA512 5108773e2958d1dae0aa6966d764e9af9d41024f65271005b202468f2bd1a3b63acc977729324fe1305d400dc8b06b0c4672e8d8ded207fa77cef69fb0005108
|
||||
EBUILD clustershell-1.8.3.ebuild 1047 BLAKE2B 130379ca1f38ec400ef160fd0ee32aad0b2417815edac16ebb74bac4470b0d440a41ee98af7cc06a81f9d693ae6eae0650c9e7e978ce5c660f5c2b5a3e0c0d62 SHA512 7cd420fbf3791649926fe019c40bcf5544bc393839465bc145ddef1a74cabb62d31ed7c0d9402039c5a5ac674c3ea8914e8fc76302c7cadeadff2df18db3d357
|
||||
EBUILD clustershell-1.8.3.ebuild 986 BLAKE2B 10499dd6164ee7a93582f50da614b5e1ba846256e9b557f3649d2d8c13fd0a99557ab70b0e632271e81431ace9f5befef5f4489344ff4485847d8917bbb5e9a1 SHA512 78d74d0c91c04456240c373a34f7e1ea9baa6dfe85d0770d8c4f3bcfdd7f63816ae7ef684a70e3fecb8c8b8c465fa4aa92114c1984aa2b348a7e039d8335ad45
|
||||
MISC metadata.xml 346 BLAKE2B a7ba198c3d053ce6b8f07d828767b6cc92e87ebf1a0d27c18f4f660d3d683c5c0a53f8a6b3a73b7693c834c05a01735c6481aba7207594bbf9d7ba0b05764f71 SHA512 aa2a78948db02a02e036fdab4e66dc24d98ed1953996b6278da535354b5b505cc28d6c97c218ecbdf54e14ad6cf919d9158b54d7554fb30fda528162c261a1ae
|
||||
|
@ -1,7 +1,7 @@
|
||||
AUX sudo-1.9.5_p2-NO_ROOT_MAILER_fix.patch 1929 BLAKE2B 404bd5c03b81a9bfbc3796c706fa93a64b4649c651c7859175137e1abb7f9da34f43d7f6e1ca8bca10c567114a30383571771c6390de9975a6bf55d98b0caa7a SHA512 34dd6880a90740eefd3a1bb543b3121047ea6ab8837a127c55cff92ffb7bf9225d0c6adfd88adf299458fdafaaea5351a52f14a9487c04df41aa218c6eeb6e7a
|
||||
DIST sudo-1.9.5p2.tar.gz 4012277 BLAKE2B 41913887463e4f775564af8d614fb5ed762200aa777dc789ec333842d4f432323474fc952a531fe929b33607cdfbcd18d7fe7470a15d67139deaf855841ed11f SHA512 f0fe914963c31a6f8ab6c86847ff6cdd125bd5a839b27f46dcae03963f4fc413b3d4cca54c1979feb825c8479b44c7df0642c07345c941eecf6f9f1e03ea0e27
|
||||
DIST sudo-1.9.6p1.tar.gz 4119888 BLAKE2B 02bdb551c46cff11ac56e64937c64e6a29ccd8e0af34ea2f6b33c223bee8f7ad958d0fc3d7ef8ef12bf5bc82565769b923ff112a3f3d6bf6999fa4f6ea55e38e SHA512 632dfe72f04ce9a7a5a7236fcd5c09ce4535e695ced49d24dd848e3a7b1bea7380df44188b9e475af4271069539b5a5816948a98fbb0649ebebaba8b4c4b7745
|
||||
EBUILD sudo-1.9.5_p2-r1.ebuild 7028 BLAKE2B 6e1932b3d0350f0e51c662d6d55c6fa1d6ffb86408d6008bffa779c6d9904a82f7402101709b2844e22d1780cf00a0560404e376d66d926dfe116c683e272c4a SHA512 df6b9107da3f05987ccf2226e372a10d6a08cb997c4b82467c1dd8791104d3bbae41faaf14a29eaeff0ade1c410b54c869447c9e51f72ab87df2a2589c652c46
|
||||
EBUILD sudo-1.9.6_p1-r1.ebuild 6723 BLAKE2B 6a9cf024a9cf81832ccc974955c3cdb9a64f8427d131832fc7583b28646501f718c523dd866efa2af3bb602f55e460f382677f12d1a9d059897f0c628b903fcd SHA512 8289ea36497c7ebabb2dab6e132621311b251af098f4f9ef68aa1005eef310708f360c45c5117a49b1952430f3d13c7813e41943e7dd731353a16e90d8d7ad28
|
||||
EBUILD sudo-9999.ebuild 6723 BLAKE2B 6a9cf024a9cf81832ccc974955c3cdb9a64f8427d131832fc7583b28646501f718c523dd866efa2af3bb602f55e460f382677f12d1a9d059897f0c628b903fcd SHA512 8289ea36497c7ebabb2dab6e132621311b251af098f4f9ef68aa1005eef310708f360c45c5117a49b1952430f3d13c7813e41943e7dd731353a16e90d8d7ad28
|
||||
MISC metadata.xml 1161 BLAKE2B 0c501bf06edca82993ece857f9f7565f99da15df36c916bc9dc57e78bccf2b247c382e97dd6c97cc7f5375e1a0513c1a30ecbf097516e96319fd1797257fb117 SHA512 d6bc9cf11ea1bd28c19bfe167580556af517d92c958d63cd7872ab5076840eca39a7ab3d1f56e84fc0fcfb675d7a89c23ccdd3629f665c45232be1140eb950ac
|
||||
EBUILD sudo-1.9.5_p2-r1.ebuild 6964 BLAKE2B aadec2121ad557984b5b4e506b627dc334bc204d63525dee5dc3ee5f5e31ade83c88f55a00eccf3118faae8883e0a4b9d7d34a6822395a7cf92150c18c84909c SHA512 0173c240c2865d2298fe01a408c54587414932be1640da655abc7704f8094109a509b278d8c5d24250277872eb14d7684e2a8bab56b4b02fc8add23451722ec2
|
||||
EBUILD sudo-1.9.6_p1-r1.ebuild 6659 BLAKE2B 85c293bc01a785f063bd70fb42dded28d0cc07eac8c83f9d3a37e3291de0cc997f9d67a64bb43777e579431fbe17c3626bdd4a7fcad85e94062d2162543488d3 SHA512 9d2b56674ab5ef1d6735c7b12e83a18591661dfeef455d844a61abd2730b5713ff95956e24994bffcb2a5de5e9dc724b9072a3559c9bbab2b5c03800340118ff
|
||||
EBUILD sudo-9999.ebuild 6659 BLAKE2B 85c293bc01a785f063bd70fb42dded28d0cc07eac8c83f9d3a37e3291de0cc997f9d67a64bb43777e579431fbe17c3626bdd4a7fcad85e94062d2162543488d3 SHA512 9d2b56674ab5ef1d6735c7b12e83a18591661dfeef455d844a61abd2730b5713ff95956e24994bffcb2a5de5e9dc724b9072a3559c9bbab2b5c03800340118ff
|
||||
MISC metadata.xml 1049 BLAKE2B 7b4bbe6469dc6e683d73b81d055ca3b7b3ae610e2889edcde54b735cafa91d1a186268d70c96f5e90a4fcf90f4750ecee9eb4823fcbde5b47dfb9ebf27845b2e SHA512 7a9a9c9e0f457ba15355d5f14dbe0fd187485df6f9fad0c32a4e39850947e4bf1329370a52e4eb7396e0ee55c81fc31ea8569895e0d4608983b4b703d0dcc761
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
AUX advancecomp-2.2_pre20190301-gcc-11.patch 7012 BLAKE2B ba239903860dbebec89d102f7417bc1db83129a762dfa59ed81ea46ef0ca58720556f0e697a05a995d095f1f33540538dcebeff98bc228b870ff84e267a51fa1 SHA512 a122abb506667203d202da35796f4f59bf050aa25edeec644bbf9c6ccd2fb841c1b3e8df9b782af0d84dd6362d2722044cc54d53c5923da5a47fc6296322d16e
|
||||
DIST advancecomp-fcf71a89265c78fc26243574dda3a872574a5c02.tar.gz 1195310 BLAKE2B 9dcab7e266023f996504cfcfc9ba8237f216f2bf1af56d645e3fe7fb79a5e3d0dae2abdd47cc9c38c6ade385d1eb44b1e0ae6afa6fd2485afd1423be37276d06 SHA512 2c3e01146441aa940f6de464e0c19613f22d6a5fd671e4e0b1b83e68cad322ff0dc6be0fa328524332e6a782198edfeac0443b72a30d9c51c86e7c5ad141f6b7
|
||||
EBUILD advancecomp-2.2_pre20190301.ebuild 1002 BLAKE2B a43008f31eda3336f4b529db071b61e02b362f5f6b3da59fe77b064a31134626e2bc4643b6eebc6c5702fb229ff0fdb8057414c57d5f406db6de39272b2714eb SHA512 522bf7d3aada96ed7507a3b48244b6dbb50cb83b12b1e4a3d0f2ecff4a849fc2b192642a3678fc05aeb61ed4a9b4a2e9fba5178581ce7640b9d516ab19e3fd1b
|
||||
EBUILD advancecomp-2.2_pre20190301.ebuild 1047 BLAKE2B 38f4a51875c94066ca1145cef0c9da2dadcb99126b81cbe7752b82fcc61db2f7381ffd94adf6d60d5a23c93b6da6e2f04c608dbb2a348bf61d46d97e3b9f7474 SHA512 cf1fbb54db472e22fd28385e789a2e79030b6edf7d3f109ab74a4a5a5f4c608b5ca0f103112384d5c5e82910987aff680c18c31dd8ad64cc35a0ce281b1f23fd
|
||||
MISC metadata.xml 389 BLAKE2B ed897e83e347f7fc4b6e6fa63d80411e17976e1a31643ca586f3a842745673f690ceeff904b0fffcf39633002525d603fb01cac62caff5e8bc4639e14ecea3aa SHA512 d8b6d613b1fc382dc8add3ace9f08eec9d479e0460db597e241edfcc5b398f8916eeb8958eaca6588a00ce8fd8a9c2833a12b422256d4629eac573f59780dd0a
|
||||
|
@ -0,0 +1,184 @@
|
||||
From 7b08f7a2af3f66ab95437e4490499cebb20e5e41 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Wed, 28 Apr 2021 22:11:42 +0200
|
||||
Subject: [PATCH] Remove dynamic exception specification to fix C++17
|
||||
compatibility
|
||||
|
||||
The dynamic exception specifications have been deprecated in C++11
|
||||
and eventually removed in C++17 [1]. GCC-11 uses gnu++17 by default,
|
||||
causing advancecomp to fail to compile:
|
||||
|
||||
In file included from rezip.cc:24:
|
||||
file.h:70:43: error: ISO C++17 does not allow dynamic exception specifications
|
||||
70 | bool file_exists(const std::string& file) throw (error);
|
||||
| ^~~~~
|
||||
file.h:71:75: error: ISO C++17 does not allow dynamic exception specifications
|
||||
71 | e(const std::string& path, const char* data, unsigned size) throw (error);
|
||||
| ^~~~~
|
||||
...
|
||||
|
||||
Since there is really no gain from having these specifications anymore,
|
||||
just remove them to fix the build.
|
||||
|
||||
[1] https://en.cppreference.com/w/cpp/language/except_spec
|
||||
---
|
||||
file.cc | 26 +++++++++++++-------------
|
||||
file.h | 24 ++++++++++++------------
|
||||
2 files changed, 25 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/file.cc b/file.cc
|
||||
index 1e90348..d676d25 100644
|
||||
--- a/file.cc
|
||||
+++ b/file.cc
|
||||
@@ -98,7 +98,7 @@ void infopath::readonly_set(bool Areadonly)
|
||||
/**
|
||||
* Check if a file exists.
|
||||
*/
|
||||
-bool file_exists(const string& path) throw (error)
|
||||
+bool file_exists(const string& path)
|
||||
{
|
||||
struct stat s;
|
||||
if (stat(path.c_str(), &s) != 0) {
|
||||
@@ -114,7 +114,7 @@ bool file_exists(const string& path) throw (error)
|
||||
/**
|
||||
* Write a whole file.
|
||||
*/
|
||||
-void file_write(const string& path, const char* data, unsigned size) throw (error)
|
||||
+void file_write(const string& path, const char* data, unsigned size)
|
||||
{
|
||||
FILE* f = fopen(path.c_str(), "wb");
|
||||
if (!f)
|
||||
@@ -134,7 +134,7 @@ void file_write(const string& path, const char* data, unsigned size) throw (erro
|
||||
/**
|
||||
* Read a whole file.
|
||||
*/
|
||||
-void file_read(const string& path, char* data, unsigned size) throw (error)
|
||||
+void file_read(const string& path, char* data, unsigned size)
|
||||
{
|
||||
file_read(path, data, 0, size);
|
||||
}
|
||||
@@ -142,7 +142,7 @@ void file_read(const string& path, char* data, unsigned size) throw (error)
|
||||
/**
|
||||
* Read a whole file.
|
||||
*/
|
||||
-void file_read(const string& path, char* data, unsigned offset, unsigned size) throw (error)
|
||||
+void file_read(const string& path, char* data, unsigned offset, unsigned size)
|
||||
{
|
||||
FILE* f = fopen(path.c_str(), "rb");
|
||||
if (!f)
|
||||
@@ -166,7 +166,7 @@ void file_read(const string& path, char* data, unsigned offset, unsigned size) t
|
||||
/**
|
||||
* Get the time of a file.
|
||||
*/
|
||||
-time_t file_time(const string& path) throw (error)
|
||||
+time_t file_time(const string& path)
|
||||
{
|
||||
struct stat s;
|
||||
if (stat(path.c_str(), &s)!=0)
|
||||
@@ -178,7 +178,7 @@ time_t file_time(const string& path) throw (error)
|
||||
/**
|
||||
* Set the time of a file.
|
||||
*/
|
||||
-void file_utime(const string& path, time_t tod) throw (error)
|
||||
+void file_utime(const string& path, time_t tod)
|
||||
{
|
||||
struct utimbuf u;
|
||||
|
||||
@@ -192,7 +192,7 @@ void file_utime(const string& path, time_t tod) throw (error)
|
||||
/**
|
||||
* Get the size of a file.
|
||||
*/
|
||||
-unsigned file_size(const string& path) throw (error)
|
||||
+unsigned file_size(const string& path)
|
||||
{
|
||||
struct stat s;
|
||||
if (stat(path.c_str(), &s)!=0)
|
||||
@@ -204,7 +204,7 @@ unsigned file_size(const string& path) throw (error)
|
||||
/**
|
||||
* Get the crc of a file.
|
||||
*/
|
||||
-crc_t file_crc(const string& path) throw (error)
|
||||
+crc_t file_crc(const string& path)
|
||||
{
|
||||
unsigned size = file_size(path);
|
||||
|
||||
@@ -227,7 +227,7 @@ crc_t file_crc(const string& path) throw (error)
|
||||
/**
|
||||
* Copy a file.
|
||||
*/
|
||||
-void file_copy(const string& path1, const string& path2) throw (error)
|
||||
+void file_copy(const string& path1, const string& path2)
|
||||
{
|
||||
unsigned size;
|
||||
|
||||
@@ -249,7 +249,7 @@ void file_copy(const string& path1, const string& path2) throw (error)
|
||||
/**
|
||||
* Move a file.
|
||||
*/
|
||||
-void file_move(const string& path1, const string& path2) throw (error)
|
||||
+void file_move(const string& path1, const string& path2)
|
||||
{
|
||||
if (rename(path1.c_str(), path2.c_str())!=0
|
||||
&& errno==EXDEV) {
|
||||
@@ -271,7 +271,7 @@ void file_move(const string& path1, const string& path2) throw (error)
|
||||
/**
|
||||
* Remove a file.
|
||||
*/
|
||||
-void file_remove(const string& path1) throw (error)
|
||||
+void file_remove(const string& path1)
|
||||
{
|
||||
if (remove(path1.c_str())!=0) {
|
||||
throw error() << "Failed remove of " << path1;
|
||||
@@ -281,7 +281,7 @@ void file_remove(const string& path1) throw (error)
|
||||
/**
|
||||
* Rename a file.
|
||||
*/
|
||||
-void file_rename(const string& path1, const string& path2) throw (error)
|
||||
+void file_rename(const string& path1, const string& path2)
|
||||
{
|
||||
if (rename(path1.c_str(), path2.c_str())!=0) {
|
||||
throw error() << "Failed rename of " << path1 << " to " << path2;
|
||||
@@ -409,7 +409,7 @@ string file_adjust(const string& path) throw ()
|
||||
/**
|
||||
* Make a drectory tree.
|
||||
*/
|
||||
-void file_mktree(const std::string& path) throw (error)
|
||||
+void file_mktree(const std::string& path)
|
||||
{
|
||||
string dir = file_dir(path);
|
||||
string name = file_name(path);
|
||||
diff --git a/file.h b/file.h
|
||||
index 1b0cf85..49429b5 100644
|
||||
--- a/file.h
|
||||
+++ b/file.h
|
||||
@@ -67,18 +67,18 @@ typedef unsigned crc_t;
|
||||
crc_t crc_compute(const char* data, unsigned len);
|
||||
crc_t crc_compute(crc_t pred, const char* data, unsigned len);
|
||||
|
||||
-bool file_exists(const std::string& file) throw (error);
|
||||
-void file_write(const std::string& path, const char* data, unsigned size) throw (error);
|
||||
-void file_read(const std::string& path, char* data, unsigned size) throw (error);
|
||||
-void file_read(const std::string& path, char* data, unsigned offset, unsigned size) throw (error);
|
||||
-time_t file_time(const std::string& path) throw (error);
|
||||
-void file_utime(const std::string& path, time_t tod) throw (error);
|
||||
-unsigned file_size(const std::string& path) throw (error);
|
||||
-crc_t file_crc(const std::string& path) throw (error);
|
||||
-void file_copy(const std::string& path1, const std::string& path2) throw (error);
|
||||
-void file_move(const std::string& path1, const std::string& path2) throw (error);
|
||||
-void file_remove(const std::string& path1) throw (error);
|
||||
-void file_mktree(const std::string& path1) throw (error);
|
||||
+bool file_exists(const std::string& file);
|
||||
+void file_write(const std::string& path, const char* data, unsigned size);
|
||||
+void file_read(const std::string& path, char* data, unsigned size);
|
||||
+void file_read(const std::string& path, char* data, unsigned offset, unsigned size);
|
||||
+time_t file_time(const std::string& path);
|
||||
+void file_utime(const std::string& path, time_t tod);
|
||||
+unsigned file_size(const std::string& path);
|
||||
+crc_t file_crc(const std::string& path);
|
||||
+void file_copy(const std::string& path1, const std::string& path2);
|
||||
+void file_move(const std::string& path1, const std::string& path2);
|
||||
+void file_remove(const std::string& path1);
|
||||
+void file_mktree(const std::string& path1);
|
||||
|
||||
std::string file_temp(const std::string& path) throw ();
|
||||
std::string file_randomize(const std::string& path, int n) throw ();
|
@ -1,5 +1,5 @@
|
||||
AUX libarchive-3.3.3-libressl.patch 458 BLAKE2B 883523792c0d3e964a2bf9ae40d25a0127e43a2d95e0187d566fd371aa7ecc0861d99ab21641e9f2d6800b36155e3b845c1099ec7b1d3dc0f3c0fe2b78c9e273 SHA512 0a8dfd7f30ca450cf253bd475d328a886957257e1c7c6a6c9eace4cacdefd9f1eaeb4de81ad00a2439bb75336a82b08278f98c6143803f6047159036e848aabe
|
||||
AUX libarchive-3.5.0-darwin-strnlen.patch 732 BLAKE2B d20ffd1d898acf1e69e2f275bec2beda0769569ac37e179604dc7d0a5eca8fda2a06aa5b3811e28f465fb34c2061d15aa8073110f703244aec02cfa35afd8087 SHA512 9f5b86b6dc483f17a1d909d88841e1f82f5835dbef0bdfc18ffb982cd5f649d87fdc22f490169eb827de654fbd469fda77a5ce1bc0748b48f3f46e77318e672c
|
||||
DIST libarchive-3.5.1.tar.gz 7008338 BLAKE2B 243dfda2bd4582bbc20679328b89aae0c530475c822dcf9ff25c65df2017b8f18bb616142d6ab016ccea4a5aa1b410d46b913c2ee0afefd2fdb1a41cf51585d9 SHA512 08ddd74bef4cef0981739da202879f36cf7ca33a8f6d438724588efe3ab8477f2f1d0cccf7b8ed0bedfc0c8d0cab16ee3ae5c0c6e83b6811bc650d7d7471a996
|
||||
EBUILD libarchive-3.5.1.ebuild 3890 BLAKE2B ba23ff4c95a0a4022f7175fb30f626ba3fea138220ad3c9075849001e30ac101739ade752458fe48753ea3eb5501ed84e9048464a7a7f4fd4f7e5dd54135e414 SHA512 c8062458251fad902c29b39a57284631a2d3babe7ca4ecc4a2b1b46ea1b5b8babf05a174be2ea4910f5768bf1db32b88dffa7c6b272bbfc7b63e31b78f2a8a37
|
||||
EBUILD libarchive-3.5.1.ebuild 3810 BLAKE2B 12251c4842e16e80eb5ff1999e9562b70f86011b67dd339d72ef6ddf8330e6037b50bde98fd2eeef0ea59f073ca682dd33a4f41eb4477556ee0b6a86e8a9668a SHA512 6358cdf9262d20166f71bfbd46fe6336d6ba8327150b7a2bd2944155a5a3f3b734cb4e16b59f652ae08d7f36ed03fac797817c125807c5c88345a6ff2593de7f
|
||||
MISC metadata.xml 1514 BLAKE2B 377e5cfd85ad2660469744537665395cb99b12187f63d5a2202b8eee52cbe19adcc9f5289ea6665e5bc5f4e9339a5280e1e6dd297199cb009bebb37624009a5b SHA512 8dd39292864923ced4fab7f1307130082525aab611f94e5c7eee25045168e812dade090ea621ca3252eeb85ef8c7269fcaf0de1adc2979f4567f5e01581540e7
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
DIST attic-0.16.tar.gz 87985 BLAKE2B cc801d8e3b28f6041c053f368c1d5ab00b1b419928d6a84647da7dccb7fb46b477898249873e90ba15c721468c09ae243d450fc978fe8cc3947b2c2e035f2aae SHA512 16139cd93bff59414cc1ce3fd68e2dd0aed4937a20bd1003880961ad2e239a1e982fd0d4f6b791165464213b88dea6ccd8e5e59d2087809be2e1bfdfd3b3186c
|
||||
EBUILD attic-0.16-r1.ebuild 923 BLAKE2B 72eb2f0221725a4569f1201ae1e5225ca26083d64dad933257287bea4efd107c017c44133ec7d1c22e9dead55ca4fb2ede59878143303f7c7775b8807f5ff3ff SHA512 71e63a9d2fe5ace2fc4dbb5f8a9a02b61636c8417423ba5af7e91b60e97825a52f49ff70ceda9ba63928ea11381126616f589ae9d7c1d116400ce2aa2db90f67
|
||||
EBUILD attic-9999.ebuild 923 BLAKE2B 72eb2f0221725a4569f1201ae1e5225ca26083d64dad933257287bea4efd107c017c44133ec7d1c22e9dead55ca4fb2ede59878143303f7c7775b8807f5ff3ff SHA512 71e63a9d2fe5ace2fc4dbb5f8a9a02b61636c8417423ba5af7e91b60e97825a52f49ff70ceda9ba63928ea11381126616f589ae9d7c1d116400ce2aa2db90f67
|
||||
EBUILD attic-0.16-r1.ebuild 856 BLAKE2B c3070175c58b134956109b2fba3df0ef80278d282f8d236089a233e8f3ce202674dd56d4a5c491309e474e51b63d5d00482f0518ef2dd11cef2c85d1b7282530 SHA512 b69742a8c3a38a45bddfdcd26d6b4329657f958e3790f033916ebd3d67e3e68fb0d93b79363bbbdbbc4fab8108097da0b9ffd484d3a0259dd5d904c90520ba98
|
||||
EBUILD attic-9999.ebuild 856 BLAKE2B c3070175c58b134956109b2fba3df0ef80278d282f8d236089a233e8f3ce202674dd56d4a5c491309e474e51b63d5d00482f0518ef2dd11cef2c85d1b7282530 SHA512 b69742a8c3a38a45bddfdcd26d6b4329657f958e3790f033916ebd3d67e3e68fb0d93b79363bbbdbbc4fab8108097da0b9ffd484d3a0259dd5d904c90520ba98
|
||||
MISC metadata.xml 328 BLAKE2B 4b8c33c80a1e860ec347a8735aad642c9dc441f87b20c588dde534be6d4f9b6981a07314f0643769537ce946f1397eee20801d381c2632d5c98a1d6db12a00cd SHA512 2c24d7eaef0da74758f5726e2b88d2dc11db8a2ea3999abee9305c5e66b236b50d56034d5fae9a7b1d9caa98c7fa3aa54dd06d5279b3a636532010130e40f36a
|
||||
|
@ -0,0 +1,3 @@
|
||||
DIST deja-dup-42.7.tar.bz2 1384797 BLAKE2B f462df835039606b721d935e086e51ee27e861baa1fbc5836bb79952c838921cf5f28d439465451c5259bc2c77fa9cb839488c8b0196c6d176e32d9e42180539 SHA512 80c57fe75635346cf2597195e7f7b76e2562aaa6900e78fbfb7ad6ada9c268df36d4e16aa7ca522e1570987f5826586e1cab5fecb7d5ba90e34a23a349b47a74
|
||||
EBUILD deja-dup-42.7.ebuild 1054 BLAKE2B 62e25df12f269508e54780de326a047cea6c77871e69568755d5d38bc3c4b3aa73daeed4faaa8cef471ecd5567d8c9fb2cf03799d3d677ae6b7759d9369efe41 SHA512 f9b7faeb1435a611e9a013bd37a1e7913ac27564785a2afb94b4e87c4544572e2385dc6b549107b1190d50feec551fe7775bc3652d40660fd7134721ef7700a5
|
||||
MISC metadata.xml 1196 BLAKE2B 8dc19ef11655294c5a708e72243b81b60abc4b31dbfec4a2f414c9935bdc77cdc2c74364489781c6b357b04a1bdc9634a69e537808ae1a4c297003f2b5569613 SHA512 9569a06abda95896b3ae4e6a5990c41ae3c1a60d7ad39ea99383f61e6e3ff3908cb9f49183961ada04b8bda997b45cc1d4a05355284a88e51207d659a670ab6f
|
@ -0,0 +1,57 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit meson gnome2-utils vala xdg
|
||||
|
||||
DESCRIPTION="Simple backup tool using duplicity back-end"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/DejaDup"
|
||||
SRC_URI="https://gitlab.gnome.org/World/deja-dup/-/archive/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
$(vala_depend)
|
||||
dev-util/intltool
|
||||
dev-util/itstool
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
test? ( dev-libs/appstream-glib )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
>=app-backup/duplicity-0.7.14
|
||||
>=app-crypt/libsecret-0.18.6[vala]
|
||||
>=dev-libs/glib-2.64:2[dbus]
|
||||
>=dev-libs/json-glib-1.2
|
||||
dev-libs/libgpg-error
|
||||
>=gui-libs/libhandy-1.0
|
||||
>=net-libs/libsoup-2.48
|
||||
>=x11-libs/gtk+-3.22:3
|
||||
>=x11-libs/libnotify-0.7
|
||||
"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
gnome-base/dconf
|
||||
gnome-base/gvfs[fuse]
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
vala_src_prepare
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_schemas_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_schemas_update
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<name>Oz Tiram</name>
|
||||
<email>oz.tiram@gmail.com</email>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Déjà Dup is a simple backup tool. It hides the complexity of backing up the
|
||||
Right Way (encrypted, off-site, and regular) and uses
|
||||
duplicity as the backend.
|
||||
|
||||
Support for local, remote, or cloud backup locations such as Google Drive
|
||||
Securely encrypts and compresses your data
|
||||
Incrementally backs up, letting you restore from any particular backup
|
||||
Schedules regular backups
|
||||
Integrates well into your GNOME desktop
|
||||
|
||||
Déjà Dup focuses on ease of use and personal, accidental data loss.
|
||||
If you need a full system backup or an archival program, you may prefer other
|
||||
backup apps.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="gitlab">https://gitlab.gnome.org/World/deja-dup</remote-id>
|
||||
<bugs-to>https://gitlab.gnome.org/World/deja-dup/issues</bugs-to>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Binary file not shown.
@ -1,10 +1,8 @@
|
||||
DIST nano-5.3.tar.gz 2874796 BLAKE2B d266018f2508153369e10c6f9cf4c53eaeafdf0efe88da6de19efd76ef13fedebe4b9339ae594b751a12cf18a8c4dcd57466ceedfabf61406f63b69c75fceff1 SHA512 019b58779f5a7d9a9472b415715876d0daac313a02b794900339469ee0b5a27ce202e397c00ad6396b7e26a7c303e52c28d981fff85cf774c79a5a8a9835836d
|
||||
DIST nano-5.5.tar.gz 2943973 BLAKE2B cecc4b3bb74c6ca35a249052cc58df618b6a0445781813d1b06164afb3d119bedf49bdb0a04c327d4db968eeb5b0f1087b84184b83d4b92548c3146a4400389d SHA512 968eac59db2889ba1cb75bc83a30fd0c0ae370a05c668da0f3a20768158f3be0962034737924ea49f06e696e68625bc6841f41aae86aebbe8ba7c00b2627c056
|
||||
DIST nano-5.6.1.tar.gz 2957693 BLAKE2B dbd1a63b6e0997a30a2ef40ad3248a7f53e2613d4662d5b9fc585bd0e2dfe78f8e8c71354e1a5bbf043ca99e0a69742df7846656d1f0706af79bcbfc53b6d1a6 SHA512 e27ca4411472409bd6ff8d812405e4d8aa869c1348c0a6adbb1c538fb5bdd112b322ef6d8a13df0b43c472d925b94111ac676d03f360d79181dee335a4fd09cf
|
||||
DIST nano-5.6.tar.gz 2956090 BLAKE2B 753c49e67403577ac272438b2a577f29978f621cb1823f3ccc4fb5df229b805c72a7123d5e5632cb9e1d4b50c7cf90675d748e7e88709703be44126e11231974 SHA512 fff8a558b435b9f372f19306e63c3bad34a60b4b1979ddf2a5724f96ca69fd7fd5850e841f714fad2e382ffc8e5c3f5085f6a6e965ff30f44bf12b8ac865fe6b
|
||||
DIST nano-5.7.tar.gz 2989413 BLAKE2B 604f3140bd963661bb7d13933b5bac867bcfd90635287dc8f160e4bda094641c20f2fe2157fe1b5eda28842f78c4e651a354ed6edcafe67b4f2bf6c9eda0051c SHA512 f6d580918c488b15a5f8f77b4b52ea3e86535c251fe32dd978bae014bcadd543a5696f7741018ffd05b6271c1defe6a67687577f3cfe059ed2b4d3e422b2a694
|
||||
EBUILD nano-5.3-r1.ebuild 2430 BLAKE2B 33487afb23e1b01280d6f6fe3f4ffc1008ca820a3e100919fa3c89cc874d80287befc979d3d3848b00cdcdad3954a43eb6fa2d8625320a6e1c9d83b49ad01312 SHA512 98ac275e4a54bee9500d5bd5d71a84e37ac1ce941a4ae5e827d1ae19209fa9d4bd3840e640d6017776f6fcd32df5ae08425f1ba5d2bce0b8e8a5e3ea2fd958d7
|
||||
EBUILD nano-5.5.ebuild 2289 BLAKE2B 0447364b3dbc38a83e671e44d49c9f1082deccbecb81b9f97a9c36ad6273b5a0cee6ecdeff1d6759b4bd86c3e167b34607c7426b9344a1a1c4839883ccc63584 SHA512 63c7ebcfbf66c0fc875a263f26abb5d002d8d12a78f53b4e3192819ee747db6b1e259696b84a1af3b7b27d8050af63fd02da5b61c51185fd8162dd9defc44ede
|
||||
EBUILD nano-5.6.1.ebuild 2289 BLAKE2B 0447364b3dbc38a83e671e44d49c9f1082deccbecb81b9f97a9c36ad6273b5a0cee6ecdeff1d6759b4bd86c3e167b34607c7426b9344a1a1c4839883ccc63584 SHA512 63c7ebcfbf66c0fc875a263f26abb5d002d8d12a78f53b4e3192819ee747db6b1e259696b84a1af3b7b27d8050af63fd02da5b61c51185fd8162dd9defc44ede
|
||||
EBUILD nano-5.6.ebuild 2289 BLAKE2B 0447364b3dbc38a83e671e44d49c9f1082deccbecb81b9f97a9c36ad6273b5a0cee6ecdeff1d6759b4bd86c3e167b34607c7426b9344a1a1c4839883ccc63584 SHA512 63c7ebcfbf66c0fc875a263f26abb5d002d8d12a78f53b4e3192819ee747db6b1e259696b84a1af3b7b27d8050af63fd02da5b61c51185fd8162dd9defc44ede
|
||||
EBUILD nano-5.7.ebuild 2289 BLAKE2B 0447364b3dbc38a83e671e44d49c9f1082deccbecb81b9f97a9c36ad6273b5a0cee6ecdeff1d6759b4bd86c3e167b34607c7426b9344a1a1c4839883ccc63584 SHA512 63c7ebcfbf66c0fc875a263f26abb5d002d8d12a78f53b4e3192819ee747db6b1e259696b84a1af3b7b27d8050af63fd02da5b61c51185fd8162dd9defc44ede
|
||||
EBUILD nano-9999.ebuild 2289 BLAKE2B 0447364b3dbc38a83e671e44d49c9f1082deccbecb81b9f97a9c36ad6273b5a0cee6ecdeff1d6759b4bd86c3e167b34607c7426b9344a1a1c4839883ccc63584 SHA512 63c7ebcfbf66c0fc875a263f26abb5d002d8d12a78f53b4e3192819ee747db6b1e259696b84a1af3b7b27d8050af63fd02da5b61c51185fd8162dd9defc44ede
|
||||
MISC metadata.xml 1642 BLAKE2B bd201f1a56bd864dbf7ce5e8dd8b9e0f1a34c236543d8bffa096da1f53460e824171ec629fa84a0a31919fa128e248397671129b8c0a23dfdda9d685e789bf87 SHA512 1b9eac65c24ddc6b917a8bbd1849a7dfd7f29cfa6430eb5945b1a09ec036e68023159882c632fe3dfe04038673cac68ecc74fb128a8bbdf1a2b0aa6cfd3a398c
|
||||
|
@ -1,89 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git"
|
||||
inherit git-r3 autotools
|
||||
else
|
||||
MY_P="${PN}-${PV/_}"
|
||||
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
|
||||
HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Basics_Guide"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="debug justify magic minimal ncurses nls +spell +split-usr static unicode"
|
||||
|
||||
LIB_DEPEND=">=sys-libs/ncurses-5.9-r1:0=[unicode?]
|
||||
sys-libs/ncurses:0=[static-libs(+)]
|
||||
magic? ( sys-apps/file[static-libs(+)] )
|
||||
nls? ( virtual/libintl )"
|
||||
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
|
||||
DEPEND="${RDEPEND}
|
||||
static? ( ${LIB_DEPEND} )"
|
||||
BDEPEND="
|
||||
nls? ( sys-devel/gettext )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
magic? ( !minimal )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
eautoreconf
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use static && append-ldflags -static
|
||||
local myconf=(
|
||||
--bindir="${EPREFIX}"/bin
|
||||
--htmldir=/trash
|
||||
$(use_enable !minimal color)
|
||||
$(use_enable !minimal multibuffer)
|
||||
$(use_enable !minimal nanorc)
|
||||
$(use_enable magic libmagic)
|
||||
$(use_enable spell speller)
|
||||
$(use_enable justify)
|
||||
$(use_enable debug)
|
||||
$(use_enable nls)
|
||||
$(use_enable unicode utf8)
|
||||
$(use_enable minimal tiny)
|
||||
)
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
# don't use "${ED}" here or things break (#654534)
|
||||
rm -r "${D}"/trash || die
|
||||
|
||||
dodoc doc/sample.nanorc
|
||||
docinto html
|
||||
dodoc doc/faq.html
|
||||
insinto /etc
|
||||
newins doc/sample.nanorc nanorc
|
||||
if ! use minimal ; then
|
||||
# Enable colorization by default.
|
||||
sed -i \
|
||||
-e '/^# include /s:# *::' \
|
||||
"${ED}"/etc/nanorc || die
|
||||
|
||||
# Since nano-5.0 these are no longer being "enabled" by default
|
||||
# (bug #736848)
|
||||
local rcdir="/usr/share/nano"
|
||||
mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die
|
||||
rmdir "${ED}"${rcdir}/extra || die
|
||||
fi
|
||||
|
||||
use split-usr && dosym ../../bin/nano /usr/bin/nano
|
||||
}
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
DIST docker-credential-helpers-0.6.3.tar.gz 28971 BLAKE2B b50e4de0f3b126e0118f24f845a94be5e932975ab54ad6e0a52129a56109ecafb021f14986569295242cb0af4ea109d8786b8a5ca8481cc48daad14671841432 SHA512 2d15be8df134bff08eef9461348f07cd57c70c15a0ab044de2e69296c400b8c0e16198c90fd064d5ce83037d0bad57520e7524b0832b7a00e69397203dc90d10
|
||||
EBUILD docker-credential-helpers-0.6.3.ebuild 1245 BLAKE2B 7151fc66ed32fa3c43e1c8df41f18431c15f843dd88985fd25a0864a0c99eed0c31ed168d3e8ed4d6460286a919140658e45a0f87630a443b7ceea6b9ef9071a SHA512 7f3a855a1c78a5f36f7bcd784cbb01dfd34d6796cf91376bb949ff98e1cf66b056a8cdb5755cc252392d827a352c30a813da0fb3556c62ba3ab8d3eb1361ead1
|
||||
EBUILD docker-credential-helpers-0.6.3.ebuild 1244 BLAKE2B 25fbe23b6fdb260ee8623f91e3df3f0a75e75cdc42f3ddf12ccb179f7e792142956fdc192701fa31c357e9d76fddd6840418d566cccc5110817ab2804ef61b9a SHA512 e5f93230354e429c0f5e84add71971c417e7399ba743eb67b52e7a0969e138034dcac1a17c453ae2b3f369ec0ae63e2f9686868ae1ed5ea3d62a843f4671314d
|
||||
MISC metadata.xml 877 BLAKE2B 5411cc175644103cddc23decc424aa517f71296362ea3859cc969fc50ffec41b4fd325e98f681e9798e196f6da3f30dc86a4af0ca797d2d83684920b58550cc0 SHA512 e7f7a33a2fb1bbf308606d713691153304b2989de19a8a6f618471b252889d12af8d0737f53379a90da628dea2f7ea6fa61222e4d57c91297731b4b7f52cb793
|
||||
|
@ -0,0 +1,174 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools bash-completion-r1 linux-info flag-o-matic optfeature pam readme.gentoo-r1 systemd verify-sig
|
||||
|
||||
DESCRIPTION="A userspace interface for the Linux kernel containment features"
|
||||
HOMEPAGE="https://linuxcontainers.org/ https://github.com/lxc/lxc"
|
||||
SRC_URI="https://linuxcontainers.org/downloads/lxc/${P}.tar.gz
|
||||
verify-sig? ( https://linuxcontainers.org/downloads/lxc/${P}.tar.gz.asc )"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
IUSE="apparmor +caps doc examples libressl man pam selinux +ssl +tools verify-sig"
|
||||
|
||||
RDEPEND="acct-group/lxc
|
||||
acct-user/lxc
|
||||
app-misc/pax-utils
|
||||
sys-apps/util-linux
|
||||
sys-libs/libcap
|
||||
sys-libs/libseccomp
|
||||
virtual/awk
|
||||
caps? ( sys-libs/libcap )
|
||||
pam? ( sys-libs/pam )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-kernel/linux-headers-4
|
||||
apparmor? ( sys-apps/apparmor )"
|
||||
BDEPEND="doc? ( app-doc/doxygen )
|
||||
man? ( app-text/docbook-sgml-utils )
|
||||
verify-sig? ( app-crypt/openpgp-keys-linuxcontainers )"
|
||||
|
||||
CONFIG_CHECK="~!NETPRIO_CGROUP
|
||||
~CGROUPS
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
|
||||
~MEMCG
|
||||
~NAMESPACES
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
|
||||
~POSIX_MQUEUE
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH"
|
||||
|
||||
ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers"
|
||||
ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking"
|
||||
ERROR_MEMCG="CONFIG_MEMCG: needed for memory resource control in containers"
|
||||
ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network"
|
||||
ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command"
|
||||
ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info"
|
||||
ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking"
|
||||
|
||||
DOCS=( AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt )
|
||||
|
||||
pkg_setup() {
|
||||
linux-info_pkg_setup
|
||||
}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.0.0-bash-completion.patch
|
||||
"${FILESDIR}"/${PN}-2.0.5-omit-sysconfig.patch # bug 558854
|
||||
)
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
local myeconfargs=(
|
||||
--bindir=/usr/bin
|
||||
--localstatedir=/var
|
||||
--sbindir=/usr/bin
|
||||
|
||||
--with-config-path=/var/lib/lxc
|
||||
--with-distro=gentoo
|
||||
--with-init-script=systemd
|
||||
--with-rootfs-path=/var/lib/lxc/rootfs
|
||||
--with-runtime-path=/run
|
||||
--with-systemdsystemunitdir=$(systemd_get_systemunitdir)
|
||||
|
||||
--disable-coverity-build
|
||||
--disable-dlog
|
||||
--disable-fuzzers
|
||||
--disable-mutex-debugging
|
||||
--disable-no-undefined
|
||||
--disable-rpath
|
||||
--disable-sanitizers
|
||||
--disable-tests
|
||||
--disable-werror
|
||||
|
||||
--enable-bash
|
||||
--enable-commands
|
||||
--enable-memfd-rexec
|
||||
--enable-seccomp
|
||||
--enable-thread-safety
|
||||
|
||||
$(use_enable apparmor)
|
||||
$(use_enable caps capabilities)
|
||||
$(use_enable doc api-docs)
|
||||
$(use_enable examples)
|
||||
$(use_enable man doc)
|
||||
$(use_enable pam)
|
||||
$(use_enable selinux)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_enable tools)
|
||||
|
||||
$(use_with pam pamdir $(getpam_mod_dir))
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die
|
||||
bashcomp_alias ${PN}-start \
|
||||
${PN}-{attach,cgroup,copy,console,create,destroy,device,execute,freeze,info,monitor,snapshot,stop,unfreeze,wait}
|
||||
|
||||
keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc
|
||||
rmdir "${D}"/var/cache/lxc "${D}"/var/cache || die "rmdir failed"
|
||||
|
||||
find "${D}" -name '*.la' -delete -o -name '*.a' -delete || die
|
||||
|
||||
# Gentoo-specific additions!
|
||||
newinitd "${FILESDIR}/${PN}.initd.8" ${PN}
|
||||
|
||||
# Remember to compare our systemd unit file with the upstream one
|
||||
# config/init/systemd/lxc.service.in
|
||||
systemd_newunit "${FILESDIR}"/${PN}_at.service.4.0.0 "lxc@.service"
|
||||
|
||||
DOC_CONTENTS="
|
||||
For openrc, there is an init script provided with the package.
|
||||
You should only need to symlink /etc/init.d/lxc to
|
||||
/etc/init.d/lxc.configname to start the container defined in
|
||||
/etc/lxc/configname.conf.
|
||||
|
||||
Correspondingly, for systemd a service file lxc@.service is installed.
|
||||
Enable and start lxc@configname in order to start the container defined
|
||||
in /etc/lxc/configname.conf."
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
readme.gentoo_print_elog
|
||||
|
||||
elog "Please run 'lxc-checkconfig' to see optional kernel features."
|
||||
elog
|
||||
optfeature "automatic template scripts" app-emulation/lxc-templates
|
||||
optfeature "Debian-based distribution container image support" dev-util/debootstrap
|
||||
optfeature "snapshot & restore functionality" sys-process/criu
|
||||
}
|
@ -0,0 +1,905 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
FIRMWARE_ABI_VERSION="5.2.0-r50"
|
||||
|
||||
inherit eutils linux-info toolchain-funcs multilib python-r1
|
||||
inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
|
||||
EGIT_SUBMODULES=(
|
||||
meson
|
||||
tests/fp/berkeley-softfloat-3
|
||||
tests/fp/berkeley-testfloat-3
|
||||
ui/keycodemapdb
|
||||
)
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://download.qemu.org/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc
|
||||
+fdt glusterfs gnutls gtk infiniband iscsi io-uring
|
||||
jack jemalloc +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo multipath
|
||||
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
|
||||
plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux
|
||||
+slirp
|
||||
smartcard snappy spice ssh static static-user systemtap test udev usb
|
||||
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
|
||||
xfs zstd"
|
||||
|
||||
COMMON_TARGETS="
|
||||
aarch64
|
||||
alpha
|
||||
arm
|
||||
cris
|
||||
hppa
|
||||
i386
|
||||
m68k
|
||||
microblaze
|
||||
microblazeel
|
||||
mips
|
||||
mips64
|
||||
mips64el
|
||||
mipsel
|
||||
nios2
|
||||
or1k
|
||||
ppc
|
||||
ppc64
|
||||
riscv32
|
||||
riscv64
|
||||
s390x
|
||||
sh4
|
||||
sh4eb
|
||||
sparc
|
||||
sparc64
|
||||
x86_64
|
||||
xtensa
|
||||
xtensaeb
|
||||
"
|
||||
IUSE_SOFTMMU_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
avr
|
||||
lm32
|
||||
moxie
|
||||
rx
|
||||
tricore
|
||||
unicore32
|
||||
"
|
||||
IUSE_USER_TARGETS="
|
||||
${COMMON_TARGETS}
|
||||
aarch64_be
|
||||
armeb
|
||||
hexagon
|
||||
mipsn32
|
||||
mipsn32el
|
||||
ppc64abi32
|
||||
ppc64le
|
||||
sparc32plus
|
||||
"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_riscv32? ( fdt )
|
||||
qemu_softmmu_targets_riscv64? ( fdt )
|
||||
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
|
||||
static-user? ( !plugins )
|
||||
vhost-user-fs? ( caps seccomp )
|
||||
virtfs? ( caps xattr )
|
||||
vte? ( gtk )
|
||||
multipath? ( udev )
|
||||
plugins? ( !static !static-user )
|
||||
"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||
#
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the external library.
|
||||
ALL_DEPEND="
|
||||
>=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
dev-libs/libxml2[static-libs(+)]
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? (
|
||||
app-accessibility/brltty[api]
|
||||
app-accessibility/brltty[static-libs(+)]
|
||||
)
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
capstone? ( dev-libs/capstone:= )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
infiniband? (
|
||||
sys-fabric/libibumad:=[static-libs(+)]
|
||||
sys-fabric/libibverbs:=[static-libs(+)]
|
||||
sys-fabric/librdmacm:=[static-libs(+)]
|
||||
)
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
io-uring? ( sys-libs/liburing:=[static-libs(+)] )
|
||||
jack? ( virtual/jack )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
multipath? ( sys-fs/multipath-tools )
|
||||
ncurses? (
|
||||
sys-libs/ncurses:0=[unicode]
|
||||
sys-libs/ncurses:0=[static-libs(+)]
|
||||
)
|
||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gbm]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
media-libs/libsdl2[video]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
sdl-image? ( media-libs/sdl2-image[static-libs(+)] )
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
slirp? ( net-libs/libslirp[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:= )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||
udev? ( virtual/libudev[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )
|
||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||
"
|
||||
|
||||
SEABIOS_VERSION="1.14.0"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-202008[binary]
|
||||
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/edk2-ovmf
|
||||
sys-firmware/ipxe[qemu]
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||
)
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
$(python_gen_impl_dep)
|
||||
dev-lang/perl
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/sphinx )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)
|
||||
"
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
)
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
static? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )"
|
||||
RDEPEND="${CDEPEND}
|
||||
acct-group/kvm
|
||||
selinux? ( sec-policy/selinux-qemu )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-strings.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-dce-locks.patch
|
||||
)
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/hppa-firmware.img
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf
|
||||
usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/s390-netboot.img
|
||||
usr/share/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or1k
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32
|
||||
"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||
kernel module is loaded is to load it on boot.
|
||||
For AMD CPUs the module is called 'kvm-amd'.
|
||||
For Intel CPUs the module is called 'kvm-intel'.
|
||||
Please review /etc/conf.d/modules for how to load these.
|
||||
|
||||
Make sure your user is in the 'kvm' group. Just run
|
||||
$ gpasswd -a <USER> kvm
|
||||
then have <USER> re-login.
|
||||
|
||||
For brand new installs, the default permissions on /dev/kvm might not let
|
||||
you access it. You can tell udev to reset ownership/perms:
|
||||
$ udevadm trigger -c add /dev/kvm
|
||||
|
||||
If you want to register binfmt handlers for qemu user targets:
|
||||
For openrc:
|
||||
# rc-update add qemu-binfmt
|
||||
For systemd:
|
||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requires a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs/targets/ >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
default
|
||||
|
||||
# Use correct toolchain to fix cross-compiling
|
||||
tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS
|
||||
export WINDRES=${CHOST}-windres
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# Remove bundled copy of libfdt
|
||||
rm -r dtc || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--bindir=/usr/bin
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--datadir=/usr/share
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--mandir=/usr/share/man
|
||||
--localstatedir=/var
|
||||
--disable-bsd-user
|
||||
--disable-containers # bug #732972
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
|
||||
# bug #746752: TCG interpreter has a few limitations:
|
||||
# - it does not support FPU
|
||||
# - it's generally slower on non-self-modifying code
|
||||
# It's advantage is support for host architectures
|
||||
# where native codegeneration is not implemented.
|
||||
# Gentoo has qemu keyworded only on targets with
|
||||
# native code generation available. Avoid the interpreter.
|
||||
--disable-tcg-interpreter
|
||||
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
$(use_enable doc docs)
|
||||
$(use_enable nls gettext)
|
||||
$(use_enable plugins)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
# Enable option only for softmmu build, but not 'user' or 'tools'
|
||||
conf_softmmu() {
|
||||
if [[ ${buildtype} == "softmmu" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
# Enable option only for tools build, but not 'user' or 'softmmu'
|
||||
conf_tools() {
|
||||
if [[ ${buildtype} == "tools" ]] ; then
|
||||
use_enable "$@"
|
||||
else
|
||||
echo "--disable-${2:-$1}"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser capstone)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser io-uring linux-io-uring)
|
||||
$(conf_notuser jemalloc jemalloc)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser multipath mpath)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser png vnc-png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_softmmu sdl-image)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser slirp slirp system)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh)
|
||||
$(conf_notuser udev libudev)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser vhost-user-fs)
|
||||
$(conf_tools vhost-user-fs virtiofsd)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_softmmu virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
# use prebuilt keymaps, bug #759604
|
||||
--disable-xkbcommon
|
||||
$(conf_notuser zstd)
|
||||
)
|
||||
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
conf_opts+=( --disable-libxml2 )
|
||||
else
|
||||
conf_opts+=( --enable-libxml2 )
|
||||
fi
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts=(
|
||||
# Note: backend order matters here: #716202
|
||||
# We iterate from higher-level to lower level.
|
||||
$(usex pulseaudio pa "")
|
||||
$(usev jack)
|
||||
$(usev sdl)
|
||||
$(usev alsa)
|
||||
$(usev oss)
|
||||
)
|
||||
conf_opts+=(
|
||||
--audio-drv-list=$(printf "%s," "${audio_opts[@]}")
|
||||
)
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
# Meson will not use a cross-file unless cross_prefix is set.
|
||||
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||
|
||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||
# like bug #747928.
|
||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake check
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/python/qemu"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
# we use 'printf' here to be portable across 'sh'
|
||||
# implementations: #679168
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dodoc check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}"
|
||||
dodoc MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
# Disallow stripping of prebuilt firmware files.
|
||||
dostrip -x ${QA_PREBUILT}
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
rm "${ED}/usr/share/qemu/bios-256k.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
# PPC/PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
xdg_icon_cache_update
|
||||
|
||||
[[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \
|
||||
fcaps cap_net_admin ${EROOT}/usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
DIST VBoxGuestAdditions_6.1.18.iso 61157376 BLAKE2B e022cfbc70fa45889c1db7592f30814faf88d7614c30ebd3fccd0127732d7fec51423904a160797ac199315dcbe4791f025e2dc4754141bfef0862b11510626c SHA512 07be8be75feb2d7d9bfc984ce34b955339d391580192817c2eb216b7577576a003dde310cc09f18c6b6bcf2e30ad548e1ee8bde0af420e4d1d43a3486861cf19
|
||||
DIST VBoxGuestAdditions_6.1.20.iso 61018112 BLAKE2B feb6a292b05e861a90fdc5db80bc15e9df593a365a866a31ab7afce704511463012c18d76dc928dc5ecd0d2a23bc518c37ad9cdc8b4b72397af3ddd4b3eb97d8 SHA512 122bd5d31ab5cac2fe0582d1d541b5e9d0e8e544e1b3c5afb2b2e2c8b26fbfa964d15053ccc256575753d31206bffc09380dabc79d93946b0e56b743d82e40fe
|
||||
DIST VBoxGuestAdditions_6.1.22.iso 61020160 BLAKE2B e6b79942ed905654ac98323fe5c960afe7467e4ee9da168f7a7b4856a001fa973418e979da57b6e75eedd801bd71f15700ac62a2dfac28b660b36b11287fab57 SHA512 826a4b7d714d1dcb3e7c5c3c95e2a47d2fef728172f2db0e9c983150d7cc335ca7ffd2c87c09e1ca3d0fb1342f4c6c03993f5fc8cff19f28e1f519dec0f3f96b
|
||||
EBUILD virtualbox-additions-6.1.18.ebuild 777 BLAKE2B ef241fa299288ab813b6a6acfddb7910b3a8bd454527fd75143e8b3f404049374662c500aa17ce83a6edb080af267ed1710e09240058c877957e24272c782556 SHA512 53bddb2a887429730a34ea27a0859541c4c47a11a010ff33715314119500e337ed5849a8f76af106ab414dfcafbbe269ce2a282fb5137a324bac676dceb6080c
|
||||
EBUILD virtualbox-additions-6.1.20.ebuild 778 BLAKE2B 34dc0e7631b7bd202a0ea7d7a18fd83f045d867cbd2533dfa333292f22d4378765672be9166ccf1aafdf075d58f3e48617dc9132ef5d34d413f867445e8cc9cc SHA512 0186ea39d7c27c7ea8826e59548d3287cc59225daff2350358d12e233af40f352d004a82edeeb17be5762a405b956f04c369472794749fe170345f7421779154
|
||||
EBUILD virtualbox-additions-6.1.22.ebuild 778 BLAKE2B 34dc0e7631b7bd202a0ea7d7a18fd83f045d867cbd2533dfa333292f22d4378765672be9166ccf1aafdf075d58f3e48617dc9132ef5d34d413f867445e8cc9cc SHA512 0186ea39d7c27c7ea8826e59548d3287cc59225daff2350358d12e233af40f352d004a82edeeb17be5762a405b956f04c369472794749fe170345f7421779154
|
||||
MISC metadata.xml 259 BLAKE2B 348a110a37bf774248a59c7e7e450e9b5890f8d650650e459a7a7dd0eea5fb2b172d95a6d73fcdcd6659d85b48c4ff7f66a747e841a637f2df4dbcc920bae7e3 SHA512 b5e2418af2f399cb314f632b7c26cddcac2b7f622a1a09400cb7a895beb6bcbf0e3f9df560e02394c9b4555ddfabf2f6d08941251824f2118e684f0603269509
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PN=VBoxGuestAdditions
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=${MY_PN}_${MY_PV}
|
||||
|
||||
DESCRIPTION="CD image containing guest additions for VirtualBox"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
RESTRICT="mirror"
|
||||
|
||||
RDEPEND="!app-emulation/virtualbox-bin
|
||||
!=app-emulation/virtualbox-9999"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
return 0
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/${PN/-additions}
|
||||
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.18-142142.tar.gz 11157510 BLAKE2B d9ee20abac79ed5de03c39d1e6af3a5f18c5416149e9e64ebe9dfc4a937bd72b6590a2daaccc820e3ee6c6efcfd0c1c8e29bf3844cbbb929f13052415e16f2bb SHA512 3686b1c5dbdc5b28c172b4885c30ca9a444bc10dc7984df14a17e1dcc571456b06e80ad38e1409de8692c483c56f397162a53bd3dc6956d9ca91875fda0bda4e
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.20-143896.tar.gz 11132930 BLAKE2B a26e05d9869a52187b379b24ed556c6296772d1360b6f7d61afe17c2818351b5ee2256398e0d53a16d2b6014540f343f7f13539c3d5529f079ac363b48ea0d6e SHA512 85cd8327860c253ce2f871dd1138d18d97b8706f64a3dafaaf340a43d8f44f7ee696a1f845761e7c8d6dcf11c7afd1618798194482b6e09cbe7e2657d980116a
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.22-144080.tar.gz 11133865 BLAKE2B f0db84695d94d914afd22086ced2a2ca73f860a0bc91bc11744e2cc4a3203584b06f7c855053e33c5f775bc7f6db08b7400f5eeea89566b9146dd144ccf1a2f9 SHA512 71dc1a82b9b88f615ecc7172df344042366a9303115cf44685ea96e3e729b8280edd36377b207fdbbf8adb388d1ec9b21c3ee709cf44aeb52d6811b26fa69a80
|
||||
EBUILD virtualbox-extpack-oracle-6.1.18.142142.ebuild 1083 BLAKE2B 088e4a97b7fb82fdbbe2206c79bf4296ca886d008df1c5cf1d789c0bbaced88b83fd8b5cee42f5aa6a5c9246c07ad9c8d2b7363a4a0f09cc687b3fbd6a64331e SHA512 e674994322cdcf4f0151f488c28324c786a72039ad32147dca57f84774ab39100f5534506e1ff5e6adeda75314ba3ef071b032c39ab4b6754b3469ccb79707ae
|
||||
EBUILD virtualbox-extpack-oracle-6.1.20.143896.ebuild 1084 BLAKE2B 1a44253aa5a7e89afaf6a416954707c672931710d21320092f0ac6f350cf94d61b88880e1b3061885312b6a3ffd90976f2cc1003c8445b26fb689e71f42a0a62 SHA512 ed161efc95a9d02ed8e20e7affa26e2f8b10d225dc7162a034a6ac98f71874f78fe13477c0ac0bbe11e174c5befeb8ba9728078824646734915722066d5a8ba9
|
||||
EBUILD virtualbox-extpack-oracle-6.1.22.144080.ebuild 1084 BLAKE2B 1a44253aa5a7e89afaf6a416954707c672931710d21320092f0ac6f350cf94d61b88880e1b3061885312b6a3ffd90976f2cc1003c8445b26fb689e71f42a0a62 SHA512 ed161efc95a9d02ed8e20e7affa26e2f8b10d225dc7162a034a6ac98f71874f78fe13477c0ac0bbe11e174c5befeb8ba9728078824646734915722066d5a8ba9
|
||||
MISC metadata.xml 259 BLAKE2B 348a110a37bf774248a59c7e7e450e9b5890f8d650650e459a7a7dd0eea5fb2b172d95a6d73fcdcd6659d85b48c4ff7f66a747e841a637f2df4dbcc920bae7e3 SHA512 b5e2418af2f399cb314f632b7c26cddcac2b7f622a1a09400cb7a895beb6bcbf0e3f9df560e02394c9b4555ddfabf2f6d08941251824f2118e684f0603269509
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit multilib
|
||||
|
||||
MAIN_PV="$(ver_cut 1-3)"
|
||||
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
|
||||
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
|
||||
DEP_PV="${MY_PV}"
|
||||
MY_PV="${MY_PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
else
|
||||
MY_PV="${MAIN_PV}"
|
||||
DEP_PV="${MAIN_PV}"
|
||||
fi
|
||||
VBOX_BUILD_ID="$(ver_cut 4)"
|
||||
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
|
||||
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
|
||||
|
||||
DESCRIPTION="PUEL extensions for VirtualBox"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="PUEL"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
RESTRICT="bindist mirror strip"
|
||||
|
||||
RDEPEND="=app-emulation/virtualbox-${DEP_PV}*"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
|
||||
doins -r linux.${ARCH}
|
||||
doins ExtPack* PXE-Intel.rom
|
||||
}
|
@ -0,0 +1,221 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit linux-mod systemd toolchain-funcs
|
||||
|
||||
MY_PN="VirtualBox"
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
|
||||
|
||||
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="X"
|
||||
|
||||
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
|
||||
RDEPEND="
|
||||
acct-group/vboxguest
|
||||
acct-group/vboxsf
|
||||
acct-user/vboxguest
|
||||
X? ( x11-apps/xrandr
|
||||
x11-apps/xrefresh
|
||||
x11-libs/libXmu
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
x11-libs/libXext
|
||||
x11-libs/libXau
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libSM
|
||||
x11-libs/libICE )
|
||||
sys-apps/dbus
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=dev-util/kbuild-0.1.9998.3127
|
||||
>=dev-lang/yasm-0.6.2
|
||||
sys-devel/bin86
|
||||
sys-libs/pam
|
||||
sys-power/iasl
|
||||
x11-base/xorg-proto
|
||||
"
|
||||
PDEPEND="
|
||||
X? ( x11-drivers/xf86-video-vboxvideo )
|
||||
"
|
||||
BUILD_TARGETS="all"
|
||||
BUILD_TARGET_ARCH="${ARCH}"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}"
|
||||
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
|
||||
|
||||
pkg_setup() {
|
||||
export DISTCC_DISABLE=1 #674256
|
||||
MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
|
||||
vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
|
||||
use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
|
||||
|
||||
linux-mod_pkg_setup
|
||||
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||
rm -r kBuild/bin tools || die
|
||||
|
||||
# Provide kernel sources
|
||||
pushd src/VBox/Additions &>/dev/null || die
|
||||
ebegin "Extracting guest kernel module sources"
|
||||
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die
|
||||
eend
|
||||
popd &>/dev/null || die
|
||||
|
||||
# PaX fixes (see bug #298988)
|
||||
pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
|
||||
eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Disable things unused or splitted into separate ebuilds
|
||||
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
|
||||
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
|
||||
|
||||
# Remove pointless GCC version check
|
||||
sed -e '/^check_gcc$/d' -i configure || die
|
||||
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# build the user-space tools, warnings are harmless
|
||||
local cmd=(
|
||||
./configure
|
||||
--nofatal
|
||||
--disable-xpcom
|
||||
--disable-sdl-ttf
|
||||
--disable-pulse
|
||||
--disable-alsa
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
--target-arch=${ARCH}
|
||||
--with-linux="${KV_OUT_DIR}"
|
||||
--build-headless
|
||||
)
|
||||
echo "${cmd[@]}"
|
||||
"${cmd[@]}" || die "configure failed"
|
||||
source ./env.sh
|
||||
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
MAKE="kmk" emake \
|
||||
VBOX_BUILD_PUBLISHER=_Gentoo \
|
||||
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
|
||||
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
|
||||
TOOL_YASM_AS=yasm \
|
||||
VBOX_ONLY_ADDITIONS=1 \
|
||||
KBUILD_VERBOSE=2
|
||||
|
||||
# Now creating the kernel modules. We must do this _after_
|
||||
# we compiled the user-space tools as we need two of the
|
||||
# automatically generated header files. (>=3.2.0)
|
||||
linux-mod_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
|
||||
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
|
||||
|
||||
insinto /sbin
|
||||
newins mount.vboxsf mount.vboxsf
|
||||
fperms 4755 /sbin/mount.vboxsf
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
|
||||
|
||||
insinto /usr/sbin/
|
||||
newins VBoxService vboxguest-service
|
||||
fperms 0755 /usr/sbin/vboxguest-service
|
||||
|
||||
insinto /usr/bin
|
||||
doins VBoxControl
|
||||
fperms 0755 /usr/bin/VBoxControl
|
||||
|
||||
# VBoxClient user service and xrandr wrapper
|
||||
if use X ; then
|
||||
doins VBoxClient
|
||||
fperms 0755 /usr/bin/VBoxClient
|
||||
|
||||
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|
||||
|| die
|
||||
newins 98vboxadd-xclient VBoxClient-all
|
||||
fperms 0755 /usr/bin/VBoxClient-all
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# udev rule for vboxdrv
|
||||
local udev_rules_dir="/lib/udev/rules.d"
|
||||
dodir ${udev_rules_dir}
|
||||
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
|
||||
# VBoxClient autostart file
|
||||
insinto /etc/xdg/autostart
|
||||
doins "${FILESDIR}"/vboxclient.desktop
|
||||
|
||||
# sample xorg.conf
|
||||
dodoc "${FILESDIR}"/xorg.conf.vbox
|
||||
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
|
||||
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
linux-mod_pkg_postinst
|
||||
if ! use X ; then
|
||||
elog "use flag X is off, enable it to install the"
|
||||
elog "X Window System video driver."
|
||||
fi
|
||||
elog ""
|
||||
elog "Please add users to the \"vboxguest\" group so they can"
|
||||
elog "benefit from seamless mode, auto-resize and clipboard."
|
||||
elog ""
|
||||
elog "The vboxsf group has been added to make automount services work."
|
||||
elog "These services are part of the shared folders support."
|
||||
elog ""
|
||||
elog "Please add:"
|
||||
elog "/etc/init.d/${PN}"
|
||||
elog "to the default runlevel in order to start"
|
||||
elog "needed services."
|
||||
elog "To use the VirtualBox X driver, use the following"
|
||||
elog "file as your /etc/X11/xorg.conf:"
|
||||
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
|
||||
elog ""
|
||||
elog "Also make sure you use the Mesa library for OpenGL:"
|
||||
elog " eselect opengl set xorg-x11"
|
||||
elog ""
|
||||
elog "An autostart .desktop file has been installed to start"
|
||||
elog "VBoxClient in desktop sessions."
|
||||
elog ""
|
||||
elog "You can mount shared folders with:"
|
||||
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
|
||||
elog ""
|
||||
elog "Warning:"
|
||||
elog "this ebuild is only needed if you are running gentoo"
|
||||
elog "inside a VirtualBox Virtual Machine, you don't need"
|
||||
elog "it to run VirtualBox itself."
|
||||
elog ""
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# XXX: the tarball here is just the kernel modules split out of the binary
|
||||
# package that comes from virtualbox-bin
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit linux-mod toolchain-funcs
|
||||
|
||||
MY_P="vbox-kernel-module-src-${PV}"
|
||||
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="pax_kernel"
|
||||
|
||||
RDEPEND="!=app-emulation/virtualbox-9999"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
BUILD_TARGETS="all"
|
||||
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
|
||||
MODULESD_VBOXDRV_ENABLED="yes"
|
||||
MODULESD_VBOXNETADP_ENABLED="no"
|
||||
MODULESD_VBOXNETFLT_ENABLED="no"
|
||||
|
||||
pkg_setup() {
|
||||
linux-mod_pkg_setup
|
||||
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use pax_kernel && kernel_is -ge 3 0 0 ; then
|
||||
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
insinto /usr/lib/modules-load.d/
|
||||
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Remove vboxpci.ko from current running kernel
|
||||
find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
|
||||
linux-mod_pkg_postinst
|
||||
}
|
@ -0,0 +1,503 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
|
||||
|
||||
MY_PN="VirtualBox"
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=${MY_PN}-${MY_PV}
|
||||
[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz"
|
||||
|
||||
LICENSE="GPL-2 dtrace? ( CDDL )"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
|
||||
|
||||
CDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
!app-emulation/virtualbox-bin
|
||||
acct-group/vboxusers
|
||||
~app-emulation/virtualbox-modules-${DIR_PV:-${PV}}
|
||||
dev-libs/libIDL
|
||||
>=dev-libs/libxslt-1.1.19
|
||||
net-misc/curl
|
||||
dev-libs/libxml2
|
||||
media-libs/libpng:0=
|
||||
media-libs/libvpx:0=
|
||||
sys-libs/zlib:=
|
||||
!headless? (
|
||||
media-libs/libsdl:0[X,video]
|
||||
x11-libs/libX11
|
||||
x11-libs/libxcb:=
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
opengl? ( media-libs/libglvnd[X] )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
opengl? ( dev-qt/qtopengl:5 )
|
||||
x11-libs/libXinerama
|
||||
)
|
||||
)
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
opus? ( media-libs/opus )
|
||||
udev? ( >=virtual/udev-171 )
|
||||
vnc? ( >=net-libs/libvncserver-0.9.9 )
|
||||
"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
!headless? (
|
||||
x11-libs/libXinerama
|
||||
opengl? ( virtual/opengl )
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
pax_kernel? ( sys-apps/elfix )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
qt5? ( dev-qt/linguist-tools:5 )
|
||||
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=dev-util/kbuild-0.1.9998.3127
|
||||
>=dev-lang/yasm-0.6.2
|
||||
sys-devel/bin86
|
||||
sys-libs/libcap
|
||||
sys-power/iasl
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-text/docbook-sgml-dtd:4.4
|
||||
dev-texlive/texlive-basic
|
||||
dev-texlive/texlive-latex
|
||||
dev-texlive/texlive-latexrecommended
|
||||
dev-texlive/texlive-latexextra
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
dev-texlive/texlive-fontsextra
|
||||
)
|
||||
java? ( >=virtual/jdk-1.8 )
|
||||
"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
"
|
||||
|
||||
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
|
||||
usr/lib/virtualbox/VBoxSDL.so
|
||||
usr/lib/virtualbox/VBoxSharedFolders.so
|
||||
usr/lib/virtualbox/VBoxDD2.so
|
||||
usr/lib/virtualbox/VBoxOGLrenderspu.so
|
||||
usr/lib/virtualbox/VBoxPython.so
|
||||
usr/lib/virtualbox/VBoxDD.so
|
||||
usr/lib/virtualbox/VBoxDDU.so
|
||||
usr/lib/virtualbox/VBoxREM64.so
|
||||
usr/lib/virtualbox/VBoxSharedClipboard.so
|
||||
usr/lib/virtualbox/VBoxHeadless.so
|
||||
usr/lib/virtualbox/VBoxRT.so
|
||||
usr/lib/virtualbox/VBoxREM.so
|
||||
usr/lib/virtualbox/VBoxSettings.so
|
||||
usr/lib/virtualbox/VBoxKeyboard.so
|
||||
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
|
||||
usr/lib/virtualbox/VBoxVMM.so
|
||||
usr/lib/virtualbox/VirtualBox.so
|
||||
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
|
||||
usr/lib/virtualbox/components/VBoxC.so
|
||||
usr/lib/virtualbox/components/VBoxSVCM.so
|
||||
usr/lib/virtualbox/components/VBoxDDU.so
|
||||
usr/lib/virtualbox/components/VBoxRT.so
|
||||
usr/lib/virtualbox/components/VBoxREM.so
|
||||
usr/lib/virtualbox/components/VBoxVMM.so
|
||||
usr/lib/virtualbox/VBoxREM32.so
|
||||
usr/lib/virtualbox/VBoxPython2_7.so
|
||||
usr/lib/virtualbox/VBoxXPCOMC.so
|
||||
usr/lib/virtualbox/VBoxOGLhostcrutil.so
|
||||
usr/lib/virtualbox/VBoxNetDHCP.so
|
||||
usr/lib/virtualbox/VBoxNetNAT.so"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}"
|
||||
|
||||
REQUIRED_USE="
|
||||
java? ( sdk )
|
||||
python? ( sdk )
|
||||
vboxwebsrv? ( java )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if ! use headless && ! use qt5 ; then
|
||||
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
|
||||
elif use headless && use qt5 ; then
|
||||
einfo "You selected USE=\"headless qt5\", defaulting to"
|
||||
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
|
||||
fi
|
||||
|
||||
if ! use opengl ; then
|
||||
einfo "No USE=\"opengl\" selected, this build will lack"
|
||||
einfo "the OpenGL feature."
|
||||
fi
|
||||
if ! use python ; then
|
||||
einfo "You have disabled the \"python\" USE flag. This will only"
|
||||
einfo "disable the python bindings being installed."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
|
||||
tc-ld-disable-gold #bug 488176
|
||||
tc-export CC CXX LD AR RANLIB
|
||||
export HOST_CC="$(tc-getBUILD_CC)"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||
rm -r kBuild/bin tools || die
|
||||
|
||||
# Replace pointless GCC version check with something less stupid.
|
||||
# This is needed for the qt5 version check.
|
||||
sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
|
||||
-i configure || die
|
||||
|
||||
# Disable things unused or split into separate ebuilds
|
||||
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
|
||||
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
|
||||
|
||||
# Do not use hard-coded ld (related to bug #488176)
|
||||
sed -e '/QUIET)ld /s@ld @$(LD) @' \
|
||||
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
|
||||
|
||||
# Use PAM only when pam USE flag is enbaled (bug #376531)
|
||||
if ! use pam ; then
|
||||
einfo "Disabling PAM removes the possibility to use the VRDP features."
|
||||
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
|
||||
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
|
||||
src/VBox/HostServices/Makefile.kmk || die
|
||||
fi
|
||||
|
||||
# add correct java path
|
||||
if use java ; then
|
||||
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
|
||||
-i "${S}"/Config.kmk || die
|
||||
java-pkg-opt-2_src_prepare
|
||||
fi
|
||||
|
||||
# Only add nopie patch when we're on hardened
|
||||
if gcc-specs-pie ; then
|
||||
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
|
||||
fi
|
||||
|
||||
# Only add paxmark patch when we're on pax_kernel
|
||||
if use pax_kernel ; then
|
||||
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
|
||||
fi
|
||||
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
doecho() {
|
||||
echo "$@"
|
||||
"$@" || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
--disable-dbus
|
||||
--disable-kmods
|
||||
$(usex alsa '' --disable-alsa)
|
||||
$(usex debug --build-debug '')
|
||||
$(usex doc '' --disable-docs)
|
||||
$(usex java '' --disable-java)
|
||||
$(usex lvm '' --disable-devmapper)
|
||||
$(usex opus '' --disable-libopus)
|
||||
$(usex pulseaudio '' --disable-pulse)
|
||||
$(usex python '' --disable-python)
|
||||
$(usex vboxwebsrv --enable-webservice '')
|
||||
$(usex vnc --enable-vnc '')
|
||||
)
|
||||
if ! use headless ; then
|
||||
myconf+=(
|
||||
$(usex opengl '' --disable-opengl)
|
||||
$(usex qt5 '' --disable-qt)
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--build-headless
|
||||
--disable-opengl
|
||||
)
|
||||
fi
|
||||
if use amd64 && ! has_multilib_profile ; then
|
||||
myconf+=( --disable-vmmraw )
|
||||
fi
|
||||
# not an autoconf script
|
||||
doecho ./configure ${myconf[@]}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
source ./env.sh || die
|
||||
|
||||
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
|
||||
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
|
||||
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||
MAKE="kmk" emake \
|
||||
VBOX_BUILD_PUBLISHER=_Gentoo \
|
||||
TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
|
||||
TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
|
||||
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
|
||||
VBOX_WITH_VBOXIMGMOUNT=1 \
|
||||
all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
|
||||
|
||||
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
|
||||
|
||||
vbox_inst() {
|
||||
local binary="${1}"
|
||||
local perms="${2:-0750}"
|
||||
local path="${3:-${vbox_inst_path}}"
|
||||
|
||||
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
|
||||
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
|
||||
|
||||
insinto ${path}
|
||||
doins ${binary}
|
||||
fowners root:vboxusers ${path}/${binary}
|
||||
fperms ${perms} ${path}/${binary}
|
||||
}
|
||||
|
||||
# Create configuration files
|
||||
insinto /etc/vbox
|
||||
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
|
||||
|
||||
# Set the correct libdir
|
||||
sed \
|
||||
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
|
||||
|
||||
# Install the wrapper script
|
||||
exeinto ${vbox_inst_path}
|
||||
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
|
||||
fowners root:vboxusers ${vbox_inst_path}/VBox
|
||||
fperms 0750 ${vbox_inst_path}/VBox
|
||||
|
||||
# Install binaries and libraries
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r components
|
||||
|
||||
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do
|
||||
vbox_inst ${each}
|
||||
done
|
||||
|
||||
# These binaries need to be suid root.
|
||||
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
|
||||
vbox_inst ${each} 4750
|
||||
done
|
||||
|
||||
# Install EFI Firmware files (bug #320757)
|
||||
for each in VBoxEFI{32,64}.fd ; do
|
||||
vbox_inst ${each} 0644
|
||||
done
|
||||
|
||||
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
|
||||
# VBoxXPCOMIPCD (bug #524202)
|
||||
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
# Symlink binaries to the shipped wrapper
|
||||
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
|
||||
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
|
||||
|
||||
if use pam ; then
|
||||
# VRDPAuth only works with this (bug #351949)
|
||||
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||
fi
|
||||
|
||||
# set an env-variable for 3rd party tools
|
||||
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||
doenvd "${T}/90virtualbox"
|
||||
|
||||
if ! use headless ; then
|
||||
vbox_inst rdesktop-vrdp
|
||||
vbox_inst VBoxSDL 4750
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
|
||||
|
||||
for each in vboxsdl VBoxSDL ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
if use qt5 ; then
|
||||
vbox_inst VirtualBox
|
||||
vbox_inst VirtualBoxVM 4750
|
||||
for each in VirtualBox{,VM} ; do
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
if use opengl ; then
|
||||
vbox_inst VBoxTestOGL
|
||||
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
|
||||
fi
|
||||
|
||||
for each in virtualbox{,vm} VirtualBox{,VM} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r nls
|
||||
doins -r UnattendedTemplates
|
||||
|
||||
domenu ${PN}.desktop
|
||||
fi
|
||||
|
||||
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
|
||||
for size in 16 32 48 64 128 ; do
|
||||
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
|
||||
done
|
||||
newicon ${PN}-48px.png ${PN}.png
|
||||
doicon -s scalable ${PN}.svg
|
||||
popd &>/dev/null || die
|
||||
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
|
||||
for size in 16 24 32 48 64 72 96 128 256 512 ; do
|
||||
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
|
||||
icofile="${PN}-${ico}-${size}px.png"
|
||||
if [[ -f "${icofile}" ]] ; then
|
||||
newicon -s ${size} ${icofile} ${PN}-${ico}.png
|
||||
fi
|
||||
done
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
if use lvm ; then
|
||||
vbox_inst VBoxVolInfo 4750
|
||||
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
|
||||
fi
|
||||
|
||||
if use sdk ; then
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r sdk
|
||||
|
||||
if use java ; then
|
||||
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use udev ; then
|
||||
local udevdir="$(get_udevdir)"
|
||||
insinto ${udevdir}
|
||||
doins VBoxCreateUSBNode.sh
|
||||
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
|
||||
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
|
||||
insinto ${udevdir}/rules.d
|
||||
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
|
||||
> "${T}"/10-virtualbox.rules || die
|
||||
doins "${T}"/10-virtualbox.rules
|
||||
fi
|
||||
|
||||
if use vboxwebsrv ; then
|
||||
vbox_inst vboxwebsrv
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
|
||||
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||
fi
|
||||
|
||||
# Remove dead symlinks (bug #715338)
|
||||
find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
|
||||
|
||||
# Fix version string in extensions or else they don't get accepted
|
||||
# by the virtualbox host process (see bug #438930)
|
||||
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
|
||||
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|
||||
|| die
|
||||
|
||||
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
|
||||
|
||||
if use vnc ; then
|
||||
insinto ${extensions_dir}
|
||||
doins -r ExtensionPacks/VNC
|
||||
fi
|
||||
|
||||
if use dtrace ; then
|
||||
insinto ${extensions_dir}
|
||||
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
|
||||
fi
|
||||
|
||||
if use doc ; then
|
||||
dodoc UserManual.pdf
|
||||
fi
|
||||
|
||||
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
|
||||
if use udev ; then
|
||||
udevadm control --reload-rules \
|
||||
&& udevadm trigger --subsystem-match=usb
|
||||
fi
|
||||
|
||||
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
|
||||
|
||||
if ! use headless && use qt5 ; then
|
||||
elog "To launch VirtualBox just type: \"virtualbox\"."
|
||||
fi
|
||||
elog "You must be in the vboxusers group to use VirtualBox."
|
||||
elog ""
|
||||
elog "The latest user manual is available for download at:"
|
||||
elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf"
|
||||
elog ""
|
||||
elog "For advanced networking setups you should emerge:"
|
||||
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
|
||||
elog ""
|
||||
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
|
||||
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
|
||||
elog " app-emulation/virtualbox-extpack-oracle"
|
||||
elog "package."
|
||||
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
|
||||
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
|
||||
elog "image, please emerge"
|
||||
elog " app-emulation/virtualbox-additions"
|
||||
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
|
||||
elog " app-emulation/virtualbox-extpack-oracle"
|
||||
if ! use udev ; then
|
||||
elog ""
|
||||
elog "WARNING!"
|
||||
elog "Without USE=udev, USB devices will likely not work in ${PN}."
|
||||
elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
|
||||
elog ""
|
||||
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
|
||||
elog "or else USB in ${PN} won't work."
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
AUX ovaldi-5.10.1.7-disable-acl.patch 1231 BLAKE2B 2f434497f12b52be3f18a4a35dc9b22dc6c93c5c3db9c0a46ef4a85753c6262f553b9c4aabddf55ff534f99f43b7667f65e758111a570e4102ca1a27cc03ce15 SHA512 e71a2899b0eb0a9abd6ba2a3a00ef67d6480597defa3390cfd4706e801aa6383c7a6ff5e02e4472b5a707bab35f398b6b9d00377adbd82673b6cf5c9961370a8
|
||||
AUX ovaldi-5.10.1.7-disable_RetrieveSelinuxDomainLabel.patch 834 BLAKE2B 8e4cc626d97ee2f80c40913b09550693437ac6cc9b3ad0491962b8c3b78cd6e060ba4c5c0f3bc18be10348ec31fcd9e0e35108bb80425764a7d4f75412b8f0b0 SHA512 f05a797252a2006384f450afd2c0c2b8cd894abc2409b21a3df9cec57af39ff81dc2b007b0e3c460e3ce85855a1b37fe18b5a4b79408969019332300d0c1ed47
|
||||
AUX ovaldi-5.10.1.7-disable-acl.patch 1159 BLAKE2B e7c477fdfa53bc0ed8866d39c58b1ed1e28789db1b663b4b2c22e99d2a41474f2f684581b81dd4123ad5f2d49b45acbaff82da38d3d61881f01b5d202684a089 SHA512 85dcd92468641294f132ffbdd4cc23bfcb4a96fd6db52322cf1abca086617b83798323e6bd2e4447467530a2c8f8b681ffabef3f193ea7a09cdbca93e33d2f6e
|
||||
AUX ovaldi-5.10.1.7-disable_RetrieveSelinuxDomainLabel.patch 762 BLAKE2B 3d1018ee87b8a15ec2b8b487a8e5eb9bfa17be265e3ec1c84a17b877ccaa38605127539e410772c23474395db984427780d4bb28ebb5223c1785f1cd7b161c58 SHA512 b597ee411d478758f5d5de0bb486b75190cf7ac2a9297c407016f66bc28ddbd6692b25c83adaed0abf9931c86909c61fbff7a834f82e5f0bd0068a04659f8f36
|
||||
AUX ovaldi-5.10.1.7-gcc11.patch 2378 BLAKE2B 8e0256c20f50748840457e16b5e9e1150917c7015b72873007db90a6294b31b485776bfcb8c44eae9bfe23a774e8a5c4ba7aa6fa6d3ef98a8080354d5d0b0df0 SHA512 41932b423992f4cb698db2af7fed0ecf21c77986eee2d284b631dcb89175e040850ba52fa91218a39b468f7eab0ac336327d5b31e5bcf0b5d4a1d58e3b2e0e9c
|
||||
DIST ovaldi-5.10.1.7-src.tar.bz2 20391784 BLAKE2B 7e2c719f0819f967c6aee533bb881c29ffac756461460d73e3231f1cffd254d88a26e716f0334d023daa7fa6f9c314bf7a42b6c13e2a90daa558e589d135479c SHA512 22c373436889b03ffb5d479bd322703bbd8b5b335f116a3b38a3d206ddaaf3115961ab89597c3907b6e5d745eb302a042c135c73cde0eaae10e51f5d6e3e55ec
|
||||
EBUILD ovaldi-5.10.1.7.ebuild 2916 BLAKE2B d1c7d381477c84ba07ea021298ebc684fe96f7a937f7451bef627f9e8c1d6a2feacb632a3357071b06d718f49de9130917c73c1ee731c83a5b270c96d93d66c3 SHA512 42daad2522fd1e723670ccbce842a291536985405c58d4b1885ac0f948973c2225e75ac83b3a564bfe67846c1fedf2f1f2ff4ee73c18136d1614ac55d81fad03
|
||||
EBUILD ovaldi-5.10.1.7.ebuild 3022 BLAKE2B bc1edf77501d106025ac90fc4c7f57f9395447957801a0275eaac13fe11bf7babfab96564e95f6dad63c6285aa26c2baa85dab475cf0052b1e512cdd772ecf9f SHA512 a59ba2fd5c0d1ff00102288f29ece3fd4106862e01e2f208b4093cc92afcd47e833c1e3bc5b0363a7f636ff407625f4ffb2e238b81cb6281afb836b406f35012
|
||||
MISC metadata.xml 243 BLAKE2B 72d65d0abc045838e84adb103b2ce4ae4ec3bfc3f4e9843f3f10aadc5f20f6a13b9997d491bcc69cadfa6db8e2b6640f127db6406b734883292c27a8180a61f1 SHA512 36f385a96e0808f3d6a13c7f1376b62754012dc345671d1404460b74f58e33356cbfef5b8d61cf7c0801c9afd45b1b801d87e2e540a5c0f508b41ca5a7591b97
|
||||
|
@ -0,0 +1,72 @@
|
||||
--- a/src/AbsProbe.cpp
|
||||
+++ b/src/AbsProbe.cpp
|
||||
@@ -52,7 +52,7 @@
|
||||
// use const wherever it makes sense, to ensure const-correctness??
|
||||
// Or maybe I should have implemented operator<() for items and
|
||||
// used the default std::less template...?
|
||||
- typedef set<Item*, std::less<const Item*> > ItemCache;
|
||||
+ typedef set<Item*, std::less<Item*> > ItemCache;
|
||||
ItemCache globalItemCache;
|
||||
}
|
||||
|
||||
--- a/src/ErrnoException.h
|
||||
+++ b/src/ErrnoException.h
|
||||
@@ -49,10 +49,10 @@
|
||||
SetErrorMessage(syscall+": "+std::strerror(errnoVal));
|
||||
}
|
||||
|
||||
- virtual ~ErrnoException() throw () {
|
||||
+ virtual ~ErrnoException() {
|
||||
}
|
||||
|
||||
- virtual const char* what() const throw() {
|
||||
+ virtual const char* what() const noexcept {
|
||||
return errorMessage.c_str();
|
||||
}
|
||||
};
|
||||
--- a/src/OutOfMemoryException.h
|
||||
+++ b/src/OutOfMemoryException.h
|
||||
@@ -47,10 +47,10 @@
|
||||
: Exception(msg, severity, cause) {
|
||||
}
|
||||
|
||||
- virtual ~OutOfMemoryException() throw () {
|
||||
+ virtual ~OutOfMemoryException() {
|
||||
}
|
||||
|
||||
- virtual const char* what() const throw() {
|
||||
+ virtual const char* what() const noexcept {
|
||||
return errorMessage.c_str();
|
||||
}
|
||||
};
|
||||
--- a/src/probes/unix/RunLevelProbe.cpp
|
||||
+++ b/src/probes/unix/RunLevelProbe.cpp
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
|
||||
void
|
||||
-RunLevelProbe::_verifyRunlevelObjectAttr( ObjectEntity * service_name, ObjectEntity * runlevel ) const throw( ProbeException ) {
|
||||
+RunLevelProbe::_verifyRunlevelObjectAttr( ObjectEntity * service_name, ObjectEntity * runlevel ) const {
|
||||
|
||||
// check datatypes - only allow string
|
||||
if( service_name->GetDatatype() != OvalEnum::DATATYPE_STRING ){
|
||||
--- a/src/probes/unix/RunLevelProbe.h
|
||||
+++ b/src/probes/unix/RunLevelProbe.h
|
||||
@@ -76,7 +76,7 @@
|
||||
*/
|
||||
struct ltrunlevel_item_comparator
|
||||
{
|
||||
- bool operator() ( const runlevel_item &r1, const runlevel_item &r2 )
|
||||
+ bool operator() ( const runlevel_item &r1, const runlevel_item &r2 ) const
|
||||
{
|
||||
return r1.service_name.compare(r2.service_name) < 0;
|
||||
}
|
||||
@@ -115,7 +115,7 @@
|
||||
@param runlevel the runlevel runlevel_object entity
|
||||
@throws ProbeException if invalid operations or datatypes are encountered
|
||||
*/
|
||||
- void _verifyRunlevelObjectAttr( ObjectEntity * service_name, ObjectEntity * runlevel ) const throw( ProbeException );
|
||||
+ void _verifyRunlevelObjectAttr( ObjectEntity * service_name, ObjectEntity * runlevel ) const;
|
||||
|
||||
/**
|
||||
Checks to see if the given filename is either "." or ".."
|
Binary file not shown.
@ -1,7 +0,0 @@
|
||||
AUX ical-3.0-fix-c++14.patch 17499 BLAKE2B a77deabdd02456be36d143c81f289237457f50676fe8acf892b97ced0a3b42ea5e30139c34792451dd037528b879b143617b7f7f1daffd803615377a7431e237 SHA512 c76a32604f2dc9708c366724b254f539637d59c5a692df5e8fbbbec0e90203ae3ede3c3525a8cff4a6f56b51d175e6e62663069368779454fdd1b1967cf22b1c
|
||||
AUX ical-3.0-gcc44.patch 329 BLAKE2B 32edd11663bd90c0ccdc2226310fee1fe797f2eb569f82dc2b862024b717b51873103c1c89e94a6de6aa547679df55a28f902004ead11e1cac98ebcbb1c392bd SHA512 0e956b8b1ade372d6b9bcf7cc772fb637ca818bb05774341f0ab95c5d8bd65fdd9cd81760d7eec4e6d839c0197d95f3872528ece7209d84b9064b5be6c6dcfd2
|
||||
AUX ical-3.0-makefile.patch 965 BLAKE2B 7041c5f145392a73ecac060abdd915a0a9d1f3287934744d749c24ded46d76109a26af9ed8dba8d339f9616bec56cd43a62d2a357a9e907e2bad3d59387c19ca SHA512 d038708618789b374d0e0e1394018b261e8c309bf718e35880b2ef51b609d4b45b32be203b80d70246f59a041da27a1bd7a5d8392ead0298577860ac864ecd63
|
||||
AUX ical-3.0-newtcl.patch 12767 BLAKE2B 612fb5205552e656f0fdcad8589dc01eed055b6d44c6114dee81b0ae26cf4fa1f85fa4f33d5d304312fead12015b01c34ed76f8152acd1f472425036853d0cf6 SHA512 14d4603a0639d5500e675944778052b3de6fc7d386e239383eaaee1e51a319a5678f01b96395378de5a69804eddf41be8841566106a04785eb169299c16ebaca
|
||||
DIST ical-3.0.tar.gz 373891 BLAKE2B 817a160abe682ee077733077f7f6b7a652e11cbce10333d75ba5d3b345e814481be8a90a1d4d959c24837dcf6c7a21f3cb75ada261436d1466890fab324dd5f6 SHA512 78cd07a206f4719dfb693b82fda4a735e70dc072fc75bf3885e72f668ebf7fa3511acedd82f99dd3ec366595a8c0ee8a1f13e5dc836732f241ff32d899eb3b25
|
||||
EBUILD ical-3.0-r2.ebuild 1235 BLAKE2B 636d8485a95ba4e25b2edff9d812581d7899ff88e70f34b81e639879928efb4c08af2b29d054d652cbeefca46c07007c16842fe1e1816cd41f365fd73ecab57b SHA512 9cb73ac819ecd91bc4d4865c883849ac14a1e3bcf1b6b303cdec259122780b1a2ec6f6395c5c40ffb071f23b93644b9d465b9143e0aa17c252dea8a00cb43e3f
|
||||
MISC metadata.xml 243 BLAKE2B e9fc9ecbef9c4146f0c49ed635996a47f3f99cfc512fbc7f4672024b0b3e4f3bdca008536e2fae6140eb7e2743e0a4423021587a303bd118c295d7ac281bd940 SHA512 64f80cb6a2f8ffd2334eff69de51621be5bdd618903745bcbb9d288c9220c7f6e876a0ccba1ad0d448246e9ab0fd951b12108d76606abbbc0022d279213f0503
|
@ -1,252 +0,0 @@
|
||||
Fix building with C++14, which errors out due to narrowing conversions.
|
||||
See also: https://bugs.gentoo.org/show_bug.cgi?id=593948
|
||||
|
||||
--- a/bitmaps/dleft.xbm
|
||||
+++ b/bitmaps/dleft.xbm
|
||||
@@ -1,6 +1,6 @@
|
||||
#define dleft_width 16
|
||||
#define dleft_height 16
|
||||
static char dleft_bits[] = {
|
||||
- 0x00, 0x00, 0x80, 0x61, 0xc0, 0x71, 0xe0, 0x79, 0xf0, 0x7d, 0xf8, 0x7f,
|
||||
- 0xfc, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfc, 0x7f, 0xf8, 0x7f, 0xf0, 0x7d,
|
||||
- 0xe0, 0x79, 0xc0, 0x71, 0x80, 0x61, 0x00, 0x00};
|
||||
+ 0x00, 0x00, (char)0x80, 0x61, (char)0xc0, 0x71, (char)0xe0, 0x79, (char)0xf0, 0x7d, (char)0xf8, 0x7f,
|
||||
+ (char)0xfc, 0x7f, (char)0xfe, 0x7f, (char)0xfe, 0x7f, (char)0xfc, 0x7f, (char)0xf8, 0x7f, (char)0xf0, 0x7d,
|
||||
+ (char)0xe0, 0x79, (char)0xc0, 0x71, (char)0x80, 0x61, 0x00, 0x00};
|
||||
--- a/bitmaps/done.xbm
|
||||
+++ b/bitmaps/done.xbm
|
||||
@@ -1,6 +1,6 @@
|
||||
#define done_width 16
|
||||
#define done_height 16
|
||||
static char done_bits[] = {
|
||||
- 0x00, 0x00, 0xff, 0x8f, 0xff, 0x67, 0x03, 0x30, 0x03, 0x18, 0x03, 0x4c,
|
||||
- 0x33, 0x6e, 0x7b, 0x67, 0xff, 0x67, 0xfb, 0x63, 0xf3, 0x63, 0xe3, 0x61,
|
||||
- 0xc3, 0x61, 0x83, 0x60, 0xff, 0x7f, 0xff, 0x7f};
|
||||
+ 0x00, 0x00, (char)0xff, (char)0x8f, (char)0xff, 0x67, 0x03, 0x30, 0x03, 0x18, 0x03, 0x4c,
|
||||
+ 0x33, 0x6e, 0x7b, 0x67, (char)0xff, 0x67, (char)0xfb, 0x63, (char)0xf3, 0x63, (char)0xe3, 0x61,
|
||||
+ (char)0xc3, 0x61, (char)0x83, 0x60, (char)0xff, 0x7f, (char)0xff, 0x7f};
|
||||
--- a/bitmaps/dright.xbm
|
||||
+++ b/bitmaps/dright.xbm
|
||||
@@ -1,6 +1,6 @@
|
||||
#define dright_width 16
|
||||
#define dright_height 16
|
||||
static char dright_bits[] = {
|
||||
- 0x00, 0x00, 0x86, 0x01, 0x8e, 0x03, 0x9e, 0x07, 0xbe, 0x0f, 0xfe, 0x1f,
|
||||
- 0xfe, 0x3f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xfe, 0x1f, 0xbe, 0x0f,
|
||||
- 0x9e, 0x07, 0x8e, 0x03, 0x86, 0x01, 0x00, 0x00};
|
||||
+ 0x00, 0x00, (char)0x86, 0x01, (char)0x8e, 0x03, (char)0x9e, 0x07, (char)0xbe, 0x0f, (char)0xfe, 0x1f,
|
||||
+ (char)0xfe, 0x3f, (char)0xfe, 0x7f, (char)0xfe, 0x7f, (char)0xfe, 0x3f, (char)0xfe, 0x1f, (char)0xbe, 0x0f,
|
||||
+ (char)0x9e, 0x07, (char)0x8e, 0x03, (char)0x86, 0x01, 0x00, 0x00};
|
||||
--- a/bitmaps/ical.xbm
|
||||
+++ b/bitmaps/ical.xbm
|
||||
@@ -3,37 +3,37 @@
|
||||
static char ical_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
- 0x00, 0x00, 0x30, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00,
|
||||
- 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0xa0, 0x01, 0x00, 0x00,
|
||||
- 0x00, 0x00, 0x68, 0x00, 0x20, 0x01, 0x00, 0x00, 0x80, 0xff, 0xcf, 0xff,
|
||||
- 0xbf, 0xff, 0x1f, 0x00, 0x80, 0x00, 0x68, 0x0a, 0x20, 0x29, 0x10, 0x00,
|
||||
- 0x80, 0x00, 0x48, 0x05, 0xa0, 0x15, 0x10, 0x00, 0x80, 0x00, 0xe8, 0x0a,
|
||||
- 0x20, 0x2b, 0xb0, 0x00, 0x80, 0x00, 0x48, 0x05, 0xa0, 0x15, 0x50, 0x01,
|
||||
- 0x80, 0x00, 0xec, 0x02, 0x30, 0x0b, 0xb0, 0x00, 0x80, 0x00, 0xcc, 0x01,
|
||||
- 0xb0, 0x07, 0x50, 0x01, 0x80, 0x00, 0xfc, 0x00, 0xf0, 0x03, 0xb0, 0x00,
|
||||
- 0x80, 0x00, 0x78, 0x00, 0xe0, 0x01, 0x50, 0x01, 0x80, 0x00, 0x00, 0x00,
|
||||
- 0x00, 0x00, 0xb0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x01,
|
||||
- 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xb0, 0x00, 0x80, 0x00, 0x00, 0xf0,
|
||||
- 0x07, 0x00, 0x50, 0x01, 0x80, 0x00, 0x00, 0xfc, 0x07, 0x00, 0xb0, 0x00,
|
||||
- 0x80, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x50, 0x01, 0x80, 0x00, 0x00, 0xfc,
|
||||
- 0x07, 0x00, 0xb0, 0x00, 0x80, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x50, 0x01,
|
||||
- 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xb0, 0x00, 0x80, 0x00, 0x00, 0xc0,
|
||||
- 0x07, 0x00, 0x50, 0x01, 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xb0, 0x00,
|
||||
- 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x50, 0x01, 0x80, 0x00, 0x00, 0xc0,
|
||||
- 0x07, 0x00, 0xb0, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x50, 0x01,
|
||||
- 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xb0, 0x00, 0x80, 0x00, 0x00, 0xc0,
|
||||
- 0x07, 0x00, 0x50, 0x01, 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xb0, 0x00,
|
||||
- 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x50, 0x01, 0x80, 0x00, 0x00, 0xc0,
|
||||
- 0x07, 0x00, 0xb0, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x50, 0x01,
|
||||
- 0x80, 0xff, 0x01, 0xc0, 0x07, 0x00, 0xb0, 0x00, 0x80, 0x01, 0x01, 0xc0,
|
||||
- 0x07, 0x00, 0x50, 0x01, 0x80, 0x02, 0x01, 0xc0, 0x07, 0x00, 0xb0, 0x00,
|
||||
- 0x80, 0x04, 0x01, 0xc0, 0x07, 0x00, 0x50, 0x01, 0x80, 0x08, 0x01, 0x00,
|
||||
- 0x00, 0x00, 0xb0, 0x00, 0x80, 0x10, 0x01, 0x00, 0x00, 0x00, 0x50, 0x01,
|
||||
- 0x80, 0x20, 0x01, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x80, 0x40, 0x01, 0x00,
|
||||
- 0x00, 0x00, 0x50, 0x01, 0x80, 0x80, 0x01, 0x00, 0x00, 0x00, 0xb0, 0x00,
|
||||
- 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x01, 0x00, 0xaa, 0xaa, 0xaa,
|
||||
- 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x01,
|
||||
- 0x00, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x54, 0x55, 0x55,
|
||||
+ 0x00, 0x00, 0x30, 0x00, (char)0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00,
|
||||
+ 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, (char)0xa0, 0x01, 0x00, 0x00,
|
||||
+ 0x00, 0x00, 0x68, 0x00, 0x20, 0x01, 0x00, 0x00, (char)0x80, (char)0xff, (char)0xcf, (char)0xff,
|
||||
+ (char)0xbf, (char)0xff, 0x1f, 0x00, (char)0x80, 0x00, 0x68, 0x0a, 0x20, 0x29, 0x10, 0x00,
|
||||
+ (char)0x80, 0x00, 0x48, 0x05, (char)0xa0, 0x15, 0x10, 0x00, (char)0x80, 0x00, (char)0xe8, 0x0a,
|
||||
+ 0x20, 0x2b, (char)0xb0, 0x00, (char)0x80, 0x00, 0x48, 0x05, (char)0xa0, 0x15, 0x50, 0x01,
|
||||
+ (char)0x80, 0x00, (char)0xec, 0x02, 0x30, 0x0b, (char)0xb0, 0x00, (char)0x80, 0x00, (char)0xcc, 0x01,
|
||||
+ (char)0xb0, 0x07, 0x50, 0x01, (char)0x80, 0x00, (char)0xfc, 0x00, (char)0xf0, 0x03, (char)0xb0, 0x00,
|
||||
+ (char)0x80, 0x00, 0x78, 0x00, (char)0xe0, 0x01, 0x50, 0x01, (char)0x80, 0x00, 0x00, 0x00,
|
||||
+ 0x00, 0x00, (char)0xb0, 0x00, (char)0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x01,
|
||||
+ (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, (char)0xb0, 0x00, (char)0x80, 0x00, 0x00, (char)0xf0,
|
||||
+ 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x00, 0x00, (char)0xfc, 0x07, 0x00, (char)0xb0, 0x00,
|
||||
+ (char)0x80, 0x00, 0x00, (char)0xfc, 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x00, 0x00, (char)0xfc,
|
||||
+ 0x07, 0x00, (char)0xb0, 0x00, (char)0x80, 0x00, 0x00, (char)0xfc, 0x07, 0x00, 0x50, 0x01,
|
||||
+ (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, (char)0xb0, 0x00, (char)0x80, 0x00, 0x00, (char)0xc0,
|
||||
+ 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, (char)0xb0, 0x00,
|
||||
+ (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x00, 0x00, (char)0xc0,
|
||||
+ 0x07, 0x00, (char)0xb0, 0x00, (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, 0x50, 0x01,
|
||||
+ (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, (char)0xb0, 0x00, (char)0x80, 0x00, 0x00, (char)0xc0,
|
||||
+ 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, (char)0xb0, 0x00,
|
||||
+ (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x00, 0x00, (char)0xc0,
|
||||
+ 0x07, 0x00, (char)0xb0, 0x00, (char)0x80, 0x00, 0x00, (char)0xc0, 0x07, 0x00, 0x50, 0x01,
|
||||
+ (char)0x80, (char)0xff, 0x01, (char)0xc0, 0x07, 0x00, (char)0xb0, 0x00, (char)0x80, 0x01, 0x01, (char)0xc0,
|
||||
+ 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x02, 0x01, (char)0xc0, 0x07, 0x00, (char)0xb0, 0x00,
|
||||
+ (char)0x80, 0x04, 0x01, (char)0xc0, 0x07, 0x00, 0x50, 0x01, (char)0x80, 0x08, 0x01, 0x00,
|
||||
+ 0x00, 0x00, (char)0xb0, 0x00, (char)0x80, 0x10, 0x01, 0x00, 0x00, 0x00, 0x50, 0x01,
|
||||
+ (char)0x80, 0x20, 0x01, 0x00, 0x00, 0x00, (char)0xb0, 0x00, (char)0x80, 0x40, 0x01, 0x00,
|
||||
+ 0x00, 0x00, 0x50, 0x01, (char)0x80, (char)0x80, 0x01, 0x00, 0x00, 0x00, (char)0xb0, 0x00,
|
||||
+ (char)0x80, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0x5f, 0x01, 0x00, (char)0xaa, (char)0xaa, (char)0xaa,
|
||||
+ (char)0xaa, (char)0xaa, (char)0xaa, 0x00, 0x00, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x01,
|
||||
+ 0x00, (char)0xaa, (char)0xaa, (char)0xaa, (char)0xaa, (char)0xaa, (char)0xaa, 0x00, 0x00, 0x54, 0x55, 0x55,
|
||||
0x55, 0x55, 0x55, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
--- a/bitmaps/left.xbm
|
||||
+++ b/bitmaps/left.xbm
|
||||
@@ -2,6 +2,6 @@
|
||||
#define left_width 16
|
||||
#define left_height 16
|
||||
static char left_bits[] = {
|
||||
- 0x00, 0x00, 0x80, 0x01, 0x40, 0x01, 0x20, 0x01, 0x10, 0x01, 0x08, 0x7f,
|
||||
+ 0x00, 0x00, (char)0x80, 0x01, 0x40, 0x01, 0x20, 0x01, 0x10, 0x01, 0x08, 0x7f,
|
||||
0x04, 0x40, 0x02, 0x40, 0x02, 0x40, 0x04, 0x40, 0x08, 0x7f, 0x10, 0x01,
|
||||
- 0x20, 0x01, 0x40, 0x01, 0x80, 0x01, 0x00, 0x00};
|
||||
+ 0x20, 0x01, 0x40, 0x01, (char)0x80, 0x01, 0x00, 0x00};
|
||||
--- a/bitmaps/right.xbm
|
||||
+++ b/bitmaps/right.xbm
|
||||
@@ -2,6 +2,6 @@
|
||||
#define right_width 16
|
||||
#define right_height 16
|
||||
static char right_bits[] = {
|
||||
- 0x00, 0x00, 0x80, 0x01, 0x80, 0x02, 0x80, 0x04, 0x80, 0x08, 0xfe, 0x10,
|
||||
- 0x02, 0x20, 0x02, 0x40, 0x02, 0x40, 0x02, 0x20, 0xfe, 0x10, 0x80, 0x08,
|
||||
- 0x80, 0x04, 0x80, 0x02, 0x80, 0x01, 0x00, 0x00};
|
||||
+ 0x00, 0x00, (char)0x80, 0x01, (char)0x80, 0x02, (char)0x80, 0x04, (char)0x80, 0x08, (char)0xfe, 0x10,
|
||||
+ 0x02, 0x20, 0x02, 0x40, 0x02, 0x40, 0x02, 0x20, (char)0xfe, 0x10, (char)0x80, 0x08,
|
||||
+ (char)0x80, 0x04, (char)0x80, 0x02, (char)0x80, 0x01, 0x00, 0x00};
|
||||
--- a/bitmaps/sleft.xbm
|
||||
+++ b/bitmaps/sleft.xbm
|
||||
@@ -1,6 +1,6 @@
|
||||
#define sleft_width 16
|
||||
#define sleft_height 16
|
||||
static char sleft_bits[] = {
|
||||
- 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0e, 0x00, 0x0f, 0x80, 0x0f, 0xc0, 0x0f,
|
||||
- 0xe0, 0x0f, 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x0f, 0xc0, 0x0f, 0x80, 0x0f,
|
||||
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0e, 0x00, 0x0f, (char)0x80, 0x0f, (char)0xc0, 0x0f,
|
||||
+ (char)0xe0, 0x0f, (char)0xf0, 0x0f, (char)0xf0, 0x0f, (char)0xe0, 0x0f, (char)0xc0, 0x0f, (char)0x80, 0x0f,
|
||||
0x00, 0x0f, 0x00, 0x0e, 0x00, 0x0c, 0x00, 0x00};
|
||||
--- a/bitmaps/sright.xbm
|
||||
+++ b/bitmaps/sright.xbm
|
||||
@@ -1,6 +1,6 @@
|
||||
#define sright_width 16
|
||||
#define sright_height 16
|
||||
static char sright_bits[] = {
|
||||
- 0x00, 0x00, 0x30, 0x00, 0x70, 0x00, 0xf0, 0x00, 0xf0, 0x01, 0xf0, 0x03,
|
||||
- 0xf0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f, 0xf0, 0x07, 0xf0, 0x03, 0xf0, 0x01,
|
||||
- 0xf0, 0x00, 0x70, 0x00, 0x30, 0x00, 0x00, 0x00};
|
||||
+ 0x00, 0x00, 0x30, 0x00, 0x70, 0x00, (char)0xf0, 0x00, (char)0xf0, 0x01, (char)0xf0, 0x03,
|
||||
+ (char)0xf0, 0x07, (char)0xf0, 0x0f, (char)0xf0, 0x0f, (char)0xf0, 0x07, (char)0xf0, 0x03, (char)0xf0, 0x01,
|
||||
+ (char)0xf0, 0x00, 0x70, 0x00, 0x30, 0x00, 0x00, 0x00};
|
||||
--- a/bitmaps/todo.xbm
|
||||
+++ b/bitmaps/todo.xbm
|
||||
@@ -1,6 +1,6 @@
|
||||
#define todo_width 16
|
||||
#define todo_height 16
|
||||
static char todo_bits[] = {
|
||||
- 0x00, 0x00, 0xff, 0x7f, 0xff, 0x7f, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60,
|
||||
+ 0x00, 0x00, (char)0xff, 0x7f, (char)0xff, 0x7f, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60,
|
||||
0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60, 0x03, 0x60,
|
||||
- 0x03, 0x60, 0x03, 0x60, 0xff, 0x7f, 0xff, 0x7f};
|
||||
+ 0x03, 0x60, 0x03, 0x60, (char)0xff, 0x7f, (char)0xff, 0x7f};
|
||||
--- a/contrib/ical.xbm
|
||||
+++ b/contrib/ical.xbm
|
||||
@@ -1,46 +1,46 @@
|
||||
#define ical_width 64
|
||||
#define ical_height 64
|
||||
static char ical_bits[] = {
|
||||
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
- 0xff, 0xff, 0x7f, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00,
|
||||
- 0x00, 0x7f, 0xb0, 0x9d, 0x12, 0x82, 0x7f, 0x00, 0x00, 0x7f, 0x50, 0x95,
|
||||
- 0x73, 0x82, 0x7f, 0x00, 0x00, 0x7f, 0x10, 0x3d, 0x52, 0x82, 0x7f, 0x00,
|
||||
- 0x00, 0x7f, 0x00, 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
- 0xff, 0xff, 0x7f, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00,
|
||||
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x07, 0x41, 0x11,
|
||||
- 0x04, 0x41, 0x70, 0x00, 0x00, 0x37, 0x49, 0x92, 0x55, 0x4d, 0x75, 0x00,
|
||||
- 0x00, 0x27, 0x59, 0xd2, 0x24, 0x4d, 0x75, 0x00, 0x00, 0x07, 0x41, 0x12,
|
||||
- 0x04, 0x41, 0x70, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00,
|
||||
- 0x00, 0xaf, 0xeb, 0x1a, 0x04, 0x41, 0x70, 0x00, 0x00, 0x57, 0x55, 0x15,
|
||||
- 0x04, 0x41, 0x70, 0x00, 0x00, 0xaf, 0xeb, 0x1a, 0x04, 0x41, 0x70, 0x00,
|
||||
- 0x00, 0x57, 0x55, 0x15, 0x04, 0x41, 0x70, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
- 0xff, 0xff, 0x7f, 0x00, 0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00,
|
||||
+ 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0x7f, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff,
|
||||
+ (char)0xff, (char)0xff, 0x7f, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, (char)0x80, 0x7f, 0x00,
|
||||
+ 0x00, 0x7f, (char)0xb0, (char)0x9d, 0x12, (char)0x82, 0x7f, 0x00, 0x00, 0x7f, 0x50, (char)0x95,
|
||||
+ 0x73, (char)0x82, 0x7f, 0x00, 0x00, 0x7f, 0x10, 0x3d, 0x52, (char)0x82, 0x7f, 0x00,
|
||||
+ 0x00, 0x7f, 0x00, 0x00, 0x00, (char)0x80, 0x7f, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff,
|
||||
+ (char)0xff, (char)0xff, 0x7f, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0x7f, 0x00,
|
||||
+ 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0x7f, 0x00, 0x00, 0x07, 0x41, 0x11,
|
||||
+ 0x04, 0x41, 0x70, 0x00, 0x00, 0x37, 0x49, (char)0x92, 0x55, 0x4d, 0x75, 0x00,
|
||||
+ 0x00, 0x27, 0x59, (char)0xd2, 0x24, 0x4d, 0x75, 0x00, 0x00, 0x07, 0x41, 0x12,
|
||||
+ 0x04, 0x41, 0x70, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0x7f, 0x00,
|
||||
+ 0x00, (char)0xaf, (char)0xeb, 0x1a, 0x04, 0x41, 0x70, 0x00, 0x00, 0x57, 0x55, 0x15,
|
||||
+ 0x04, 0x41, 0x70, 0x00, 0x00, (char)0xaf, (char)0xeb, 0x1a, 0x04, 0x41, 0x70, 0x00,
|
||||
+ 0x00, 0x57, 0x55, 0x15, 0x04, 0x41, 0x70, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff,
|
||||
+ (char)0xff, (char)0xff, 0x7f, 0x00, 0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00,
|
||||
0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00, 0x00, 0x07, 0x41, 0x10,
|
||||
0x04, 0x41, 0x70, 0x00, 0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00,
|
||||
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x07, 0x41, 0x10,
|
||||
+ 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0x7f, 0x00, 0x00, 0x07, 0x41, 0x10,
|
||||
0x04, 0x41, 0x70, 0x00, 0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00,
|
||||
0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00, 0x00, 0x07, 0x41, 0x10,
|
||||
- 0x04, 0x41, 0x70, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00,
|
||||
+ 0x04, 0x41, 0x70, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff, (char)0xff, (char)0xff, 0x7f, 0x00,
|
||||
0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00, 0x00, 0x07, 0x41, 0x10,
|
||||
0x04, 0x41, 0x70, 0x00, 0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00,
|
||||
- 0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00, 0x00, 0xff, 0xff, 0xff,
|
||||
- 0xff, 0xff, 0x7f, 0x00, 0x00, 0xf7, 0x5f, 0x10, 0xfc, 0xff, 0x7a, 0x00,
|
||||
- 0x00, 0xf7, 0x5f, 0x10, 0xfe, 0xff, 0x77, 0x00, 0x00, 0xf7, 0x5f, 0x10,
|
||||
- 0x3f, 0xe0, 0x7f, 0x00, 0x00, 0x37, 0x58, 0x90, 0x07, 0x82, 0x7f, 0x00,
|
||||
- 0x00, 0x3f, 0xf8, 0xff, 0x03, 0x02, 0x7f, 0x00, 0x00, 0x3f, 0xf8, 0xff,
|
||||
- 0x00, 0x02, 0x7c, 0x00, 0x00, 0x1c, 0x70, 0xf0, 0x00, 0x02, 0x7c, 0x00,
|
||||
- 0x00, 0x1e, 0xf0, 0x70, 0x00, 0x07, 0x78, 0x00, 0x00, 0x1e, 0xf0, 0x70,
|
||||
- 0x00, 0x07, 0x78, 0x00, 0x00, 0x0e, 0xe0, 0x30, 0x00, 0x07, 0x78, 0x00,
|
||||
- 0x00, 0x0e, 0xe0, 0x30, 0x00, 0x07, 0x60, 0x00, 0x00, 0x0f, 0xe0, 0x31,
|
||||
- 0x00, 0x07, 0x60, 0x00, 0x00, 0x07, 0xc0, 0x31, 0x00, 0x1f, 0x60, 0x00,
|
||||
- 0x00, 0x07, 0xc0, 0x31, 0x00, 0xff, 0x60, 0x00, 0x00, 0x07, 0xc0, 0x31,
|
||||
- 0x00, 0x1f, 0x60, 0x00, 0x80, 0x07, 0xc0, 0x33, 0x00, 0x00, 0x60, 0x00,
|
||||
- 0x80, 0x03, 0x80, 0x33, 0x00, 0x00, 0x60, 0x00, 0x80, 0x03, 0x80, 0x73,
|
||||
- 0x00, 0x00, 0x70, 0x00, 0x80, 0x03, 0x80, 0x73, 0x00, 0x00, 0x70, 0x00,
|
||||
- 0x80, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x78, 0x00, 0x80, 0xff, 0xff, 0xe3,
|
||||
- 0x00, 0x00, 0x38, 0x00, 0x80, 0xff, 0xff, 0xe3, 0x01, 0x00, 0x3c, 0x00,
|
||||
- 0x00, 0x00, 0x03, 0xc0, 0x03, 0x00, 0x1e, 0x00, 0x00, 0x80, 0x07, 0x80,
|
||||
- 0x0f, 0x80, 0x0f, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x3f, 0xe0, 0x07, 0x00,
|
||||
- 0x00, 0xc0, 0x0f, 0x00, 0xfe, 0xff, 0x03, 0x00, 0x00, 0x80, 0x07, 0x00,
|
||||
- 0xf8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xc0, 0x1f, 0x00, 0x00,
|
||||
+ 0x00, 0x07, 0x41, 0x10, 0x04, 0x41, 0x70, 0x00, 0x00, (char)0xff, (char)0xff, (char)0xff,
|
||||
+ (char)0xff, (char)0xff, 0x7f, 0x00, 0x00, (char)0xf7, 0x5f, 0x10, (char)0xfc, (char)0xff, 0x7a, 0x00,
|
||||
+ 0x00, (char)0xf7, 0x5f, 0x10, (char)0xfe, (char)0xff, 0x77, 0x00, 0x00, (char)0xf7, 0x5f, 0x10,
|
||||
+ 0x3f, (char)0xe0, 0x7f, 0x00, 0x00, 0x37, 0x58, (char)0x90, 0x07, (char)0x82, 0x7f, 0x00,
|
||||
+ 0x00, 0x3f, (char)0xf8, (char)0xff, 0x03, 0x02, 0x7f, 0x00, 0x00, 0x3f, (char)0xf8, (char)0xff,
|
||||
+ 0x00, 0x02, 0x7c, 0x00, 0x00, 0x1c, 0x70, (char)0xf0, 0x00, 0x02, 0x7c, 0x00,
|
||||
+ 0x00, 0x1e, (char)0xf0, 0x70, 0x00, 0x07, 0x78, 0x00, 0x00, 0x1e, (char)0xf0, 0x70,
|
||||
+ 0x00, 0x07, 0x78, 0x00, 0x00, 0x0e, (char)0xe0, 0x30, 0x00, 0x07, 0x78, 0x00,
|
||||
+ 0x00, 0x0e, (char)0xe0, 0x30, 0x00, 0x07, 0x60, 0x00, 0x00, 0x0f, (char)0xe0, 0x31,
|
||||
+ 0x00, 0x07, 0x60, 0x00, 0x00, 0x07, (char)0xc0, 0x31, 0x00, 0x1f, 0x60, 0x00,
|
||||
+ 0x00, 0x07, (char)0xc0, 0x31, 0x00, (char)0xff, 0x60, 0x00, 0x00, 0x07, (char)0xc0, 0x31,
|
||||
+ 0x00, 0x1f, 0x60, 0x00, (char)0x80, 0x07, (char)0xc0, 0x33, 0x00, 0x00, 0x60, 0x00,
|
||||
+ (char)0x80, 0x03, (char)0x80, 0x33, 0x00, 0x00, 0x60, 0x00, (char)0x80, 0x03, (char)0x80, 0x73,
|
||||
+ 0x00, 0x00, 0x70, 0x00, (char)0x80, 0x03, (char)0x80, 0x73, 0x00, 0x00, 0x70, 0x00,
|
||||
+ (char)0x80, (char)0xff, (char)0xff, (char)0xf3, 0x00, 0x00, 0x78, 0x00, (char)0x80, (char)0xff, (char)0xff, (char)0xe3,
|
||||
+ 0x00, 0x00, 0x38, 0x00, (char)0x80, (char)0xff, (char)0xff, (char)0xe3, 0x01, 0x00, 0x3c, 0x00,
|
||||
+ 0x00, 0x00, 0x03, (char)0xc0, 0x03, 0x00, 0x1e, 0x00, 0x00, (char)0x80, 0x07, (char)0x80,
|
||||
+ 0x0f, (char)0x80, 0x0f, 0x00, 0x00, (char)0xc0, 0x0f, 0x00, 0x3f, (char)0xe0, 0x07, 0x00,
|
||||
+ 0x00, (char)0xc0, 0x0f, 0x00, (char)0xfe, (char)0xff, 0x03, 0x00, 0x00, (char)0x80, 0x07, 0x00,
|
||||
+ (char)0xf8, (char)0xff, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, (char)0xc0, 0x1f, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
@ -1,11 +0,0 @@
|
||||
--- calendar/calfile.C
|
||||
+++ calendar/calfile.C
|
||||
@@ -58,7 +58,7 @@
|
||||
backupName = tmp;
|
||||
|
||||
// Get directory name for access checks
|
||||
- char* lastSlash = strrchr(name, '/');
|
||||
+ const char* lastSlash = strrchr(name, '/');
|
||||
if (lastSlash == 0) {
|
||||
/* Calendar is in current directory */
|
||||
tmp = new char[3];
|
@ -1,33 +0,0 @@
|
||||
Add LDFLAGS to linker calls
|
||||
Fix deps on check targets for parallel tests
|
||||
|
||||
Patch by Kevin McCarthy <signals42@gmail.com>
|
||||
|
||||
--- Makefile.in
|
||||
+++ Makefile.in
|
||||
@@ -74,13 +74,13 @@
|
||||
all: $(CONFIGURED) ical
|
||||
|
||||
ical: $(LIB3) $(LIB2) $(LIB1) $(OBJS) main.o
|
||||
- $(CXXLINKER) -o $@ $(OBJS) main.o $(LIBS)
|
||||
+ $(CXXLINKER) $(LDFLAGS) -o $@ $(OBJS) main.o $(LIBS)
|
||||
|
||||
ical-bundle: $(LIB3) $(LIB2) $(LIB1) $(OBJS) mbundle.o
|
||||
- $(CXXLINKER) -o $@ $(OBJS) mbundle.o $(BLIBS)
|
||||
+ $(CXXLINKER) $(LDFLAGS) -o $@ $(OBJS) mbundle.o $(BLIBS)
|
||||
|
||||
ical-tiny: $(LIB3) $(LIB2) $(LIB1) $(OBJS) mbundle.o
|
||||
- $(CXXLINKER) -o $@ $(OBJS) mbundle.o $(TINY_BLIBS)
|
||||
+ $(CXXLINKER) $(LDFLAGS) -o $@ $(OBJS) mbundle.o $(TINY_BLIBS)
|
||||
|
||||
$(LIB1): FRC
|
||||
@echo making in calendar
|
||||
@@ -195,7 +195,7 @@
|
||||
check_text:
|
||||
@ICAL_LIBRARY=$(srcdir) ./ical -nodisplay -f $(srcdir)/tests/no_x.tcl
|
||||
|
||||
-check_x:
|
||||
+check_x: check_text
|
||||
@ICAL_LIBRARY=$(srcdir) ./ical -f $(srcdir)/tests/x.tcl
|
||||
|
||||
# Rules for shipping html documentation
|
@ -1,412 +0,0 @@
|
||||
diff -ur ical-3.0.orig/dg_item.tcl ical-3.0/dg_item.tcl
|
||||
--- ical-3.0.orig/dg_item.tcl 2008-11-13 01:27:08.000000000 +0200
|
||||
+++ ical-3.0/dg_item.tcl 2010-03-24 15:46:06.000000000 +0200
|
||||
@@ -3,15 +3,15 @@
|
||||
|
||||
proc item_edit {leader item} {
|
||||
global iedit
|
||||
- set iedit(done) -1
|
||||
+ set iedit_done -1
|
||||
|
||||
iedit_make
|
||||
iedit_fill $item
|
||||
update
|
||||
wm minsize .iedit [winfo reqwidth .iedit] [winfo reqheight .iedit]
|
||||
|
||||
- dialog_run $leader .iedit iedit(done)
|
||||
- if !$iedit(done) {return}
|
||||
+ dialog_run $leader .iedit iedit_done
|
||||
+ if !$iedit_done {return}
|
||||
|
||||
# Check that item has not been deleted concurrently
|
||||
catch {
|
||||
@@ -28,7 +28,7 @@
|
||||
toplevel $f -class Bigdialog
|
||||
wm title $f {Item Properties}
|
||||
wm iconname $f Item
|
||||
- wm protocol $f WM_DELETE_WINDOW {set iedit(done) 0}
|
||||
+ wm protocol $f WM_DELETE_WINDOW {set iedit_done 0}
|
||||
|
||||
# Make the various container frames
|
||||
frame $f.f1
|
||||
@@ -37,8 +37,8 @@
|
||||
|
||||
# Make the buttons
|
||||
make_buttons $f.bot 1 {
|
||||
- {Cancel {set iedit(done) 0}}
|
||||
- {Okay {set iedit(done) 1}}
|
||||
+ {Cancel {set iedit_done 0}}
|
||||
+ {Okay {set iedit_done 1}}
|
||||
}
|
||||
|
||||
# Top-level layout
|
||||
@@ -139,8 +139,8 @@
|
||||
-variable iedit(todo) -onvalue 1 -offvalue 0
|
||||
pack $f.todo -in $f.f2.c1 -side top -fill both
|
||||
|
||||
- bind $f <Control-c> {set iedit(done) 0}
|
||||
- bind $f <Return> {set iedit(done) 1}
|
||||
+ bind $f <Control-c> {set iedit_done 0}
|
||||
+ bind $f <Return> {set iedit_done 1}
|
||||
|
||||
wm withdraw $f
|
||||
}
|
||||
diff -ur ical-3.0.orig/dg_key.tcl ical-3.0/dg_key.tcl
|
||||
--- ical-3.0.orig/dg_key.tcl 2008-11-10 12:06:11.000000000 +0200
|
||||
+++ ical-3.0/dg_key.tcl 2010-03-24 15:47:41.000000000 +0200
|
||||
@@ -11,7 +11,7 @@
|
||||
# The result is a list with two elements. The first element
|
||||
# is a key sequence, and the second is a command name.
|
||||
|
||||
-set defkey(done) -1
|
||||
+set defkey_done -1
|
||||
set defkey(help) 0
|
||||
set defkey(cmd) {}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
toplevel $f -class Dialog
|
||||
wm title $f "Define Key"
|
||||
- wm protocol $f WM_DELETE_WINDOW {set defkey(done) 0}
|
||||
+ wm protocol $f WM_DELETE_WINDOW {set defkey_done 0}
|
||||
|
||||
frame $f.top -class Pane
|
||||
frame $f.mid -class Pane
|
||||
@@ -44,8 +44,8 @@
|
||||
make_buttons $f.bot 3 {
|
||||
{Clear {defkey_clear_key}}
|
||||
{Help {defkey_help_toggle}}
|
||||
- {Cancel {set defkey(done) 0}}
|
||||
- {Okay {set defkey(done) 1}}
|
||||
+ {Cancel {set defkey_done 0}}
|
||||
+ {Okay {set defkey_done 1}}
|
||||
}
|
||||
|
||||
message $f.text -aspect 400 -text [join {
|
||||
@@ -117,10 +117,10 @@
|
||||
if $defkey(help) {defkey_help_toggle}
|
||||
|
||||
# Run dialog
|
||||
- set defkey(done) -1
|
||||
- dialog_run $leader $f defkey(done)
|
||||
+ set defkey_done -1
|
||||
+ dialog_run $leader $f defkey_done
|
||||
|
||||
- return $defkey(done)
|
||||
+ return $defkey_done
|
||||
}
|
||||
|
||||
proc defkey_select_command {} {
|
||||
diff -ur ical-3.0.orig/dg_monthr.tcl ical-3.0/dg_monthr.tcl
|
||||
--- ical-3.0.orig/dg_monthr.tcl 2008-11-10 12:06:10.000000000 +0200
|
||||
+++ ical-3.0/dg_monthr.tcl 2010-03-24 15:48:57.000000000 +0200
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
# Hidden global variables
|
||||
#
|
||||
-# mr_state(done) Interaction has finished
|
||||
+# mr_state_done Interaction has finished
|
||||
# mr_state(item) The item being modified
|
||||
# mr_state(int) Repetition interval in months
|
||||
# mr_state(occ) Type of monthly occurrence
|
||||
# mr_state(count:...) Count for a particular type of occurrence
|
||||
|
||||
-set mr_state(done) 0
|
||||
+set mr_state_done 0
|
||||
set mr_state(item) {}
|
||||
set mr_state(occ) {}
|
||||
set mr_state(int) {}
|
||||
@@ -51,7 +51,7 @@
|
||||
toplevel $f -class Dialog
|
||||
wm title $f "Monthly Repetition"
|
||||
wm iconname $f "Repeat"
|
||||
- wm protocol $f WM_DELETE_WINDOW {set mr_state(done) 0}
|
||||
+ wm protocol $f WM_DELETE_WINDOW {set mr_state_done 0}
|
||||
|
||||
frame $f.top -class Pane
|
||||
frame $f.left -class Pane
|
||||
@@ -61,8 +61,8 @@
|
||||
pack $f.text -in $f.top -side top -expand 1 -fill both -padx 5m -pady 5m
|
||||
|
||||
make_buttons $f.bot 1 {
|
||||
- {Cancel {set mr_state(done) 0}}
|
||||
- {Okay {set mr_state(done) 1}}
|
||||
+ {Cancel {set mr_state_done 0}}
|
||||
+ {Okay {set mr_state_done 1}}
|
||||
}
|
||||
|
||||
# Create interval buttons
|
||||
@@ -104,8 +104,8 @@
|
||||
pack $f.left -side left -expand 1 -fill both
|
||||
pack $f.right -side left -expand 1 -fill both
|
||||
|
||||
- bind $f <Control-c> {set mr_state(done) 0}
|
||||
- bind $f <Return> {set mr_state(done) 1}
|
||||
+ bind $f <Control-c> {set mr_state_done 0}
|
||||
+ bind $f <Return> {set mr_state_done 1}
|
||||
|
||||
wm withdraw $f
|
||||
update
|
||||
@@ -114,7 +114,7 @@
|
||||
proc monthrepeat_interact {leader item anchor} {
|
||||
global mr_state
|
||||
set f .mr_dialog
|
||||
- set mr_state(done) -1
|
||||
+ set mr_state_done -1
|
||||
set mr_state(int) 1
|
||||
set mr_state(occ) month_day
|
||||
|
||||
@@ -186,6 +186,6 @@
|
||||
$f.month_last_week_day configure -text "[num2text $c]-last $wday_name"
|
||||
}
|
||||
|
||||
- dialog_run $leader $f mr_state(done)
|
||||
- return $mr_state(done)
|
||||
+ dialog_run $leader $f mr_state_done
|
||||
+ return $mr_state_done
|
||||
}
|
||||
diff -ur ical-3.0.orig/dg_range.tcl ical-3.0/dg_range.tcl
|
||||
--- ical-3.0.orig/dg_range.tcl 2008-11-10 12:06:09.000000000 +0200
|
||||
+++ ical-3.0/dg_range.tcl 2010-03-24 15:49:57.000000000 +0200
|
||||
@@ -14,11 +14,11 @@
|
||||
|
||||
# Hidden global variables
|
||||
#
|
||||
-# dr_state(done) Interaction has finished
|
||||
+# dr_state_done Interaction has finished
|
||||
# dr_state(start) Starting date
|
||||
# dr_state(finish) Finishing date
|
||||
|
||||
-set dr_state(done) 0
|
||||
+set dr_state_done 0
|
||||
set dr_state(start) {}
|
||||
set dr_state(finish) {}
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
toplevel $f -class Dialog
|
||||
wm title $f "Select Range"
|
||||
wm iconname $f "Range"
|
||||
- wm protocol $f WM_DELETE_WINDOW {set dr_state(done) 0}
|
||||
+ wm protocol $f WM_DELETE_WINDOW {set dr_state_done 0}
|
||||
|
||||
frame $f.top -class Pane
|
||||
message $f.text -aspect 800 -text {Restrict item repetition range...}
|
||||
@@ -62,16 +62,16 @@
|
||||
pack $f.finish -in $f.mid -side top -expand 1 -fill both -padx 5m -pady 5m
|
||||
|
||||
make_buttons $f.bot 1 {
|
||||
- {Cancel {set dr_state(done) 0}}
|
||||
- {Okay {set dr_state(done) 1}}
|
||||
+ {Cancel {set dr_state_done 0}}
|
||||
+ {Okay {set dr_state_done 1}}
|
||||
}
|
||||
|
||||
pack $f.top -side top -fill both -expand 1
|
||||
pack $f.mid -side top -fill both -expand 1
|
||||
pack $f.bot -side bottom -fill x
|
||||
|
||||
- bind $f <Control-c> {set dr_state(done) 0}
|
||||
- bind $f <Return> {set dr_state(done) 1}
|
||||
+ bind $f <Control-c> {set dr_state_done 0}
|
||||
+ bind $f <Return> {set dr_state_done 1}
|
||||
|
||||
wm withdraw $f
|
||||
update
|
||||
@@ -86,9 +86,9 @@
|
||||
global dr_state
|
||||
set f .dr_dialog
|
||||
|
||||
- set dr_state(done) -1
|
||||
- dialog_run $leader $f dr_state(done)
|
||||
- return $dr_state(done)
|
||||
+ set dr_state_done -1
|
||||
+ dialog_run $leader $f dr_state_done
|
||||
+ return $dr_state_done
|
||||
}
|
||||
|
||||
proc dr_validate {args} {
|
||||
diff -ur ical-3.0.orig/dg_wdays.tcl ical-3.0/dg_wdays.tcl
|
||||
--- ical-3.0.orig/dg_wdays.tcl 2008-11-10 12:06:08.000000000 +0200
|
||||
+++ ical-3.0/dg_wdays.tcl 2010-03-24 15:54:11.000000000 +0200
|
||||
@@ -11,11 +11,11 @@
|
||||
|
||||
# Hidden global variables
|
||||
#
|
||||
-# ws_state(done) Is ws interaction finished
|
||||
+# ws_state_done Is ws interaction finished
|
||||
# ws_state(1..7) Set iff specified weekday was selected
|
||||
# ws_state(int) Week interval
|
||||
|
||||
-set ws_state(done) 0
|
||||
+set ws_state_done 0
|
||||
foreach i {1 2 3 4 5 6 7} {
|
||||
set ws_state($i) 0
|
||||
}
|
||||
@@ -54,7 +54,7 @@
|
||||
toplevel $f -class Dialog
|
||||
wm title $f {Weekly Repetition}
|
||||
wm iconname $f Repeat
|
||||
- wm protocol $f WM_DELETE_WINDOW {set ws_state(done) 0}
|
||||
+ wm protocol $f WM_DELETE_WINDOW {set ws_state_done 0}
|
||||
|
||||
frame $f.top -class Pane
|
||||
frame $f.left -class Pane
|
||||
@@ -64,8 +64,8 @@
|
||||
pack $f.text -in $f.top -side top -expand 1 -fill both -padx 5m -pady 5m
|
||||
|
||||
make_buttons $f.bot 1 {
|
||||
- {Cancel {set ws_state(done) 0}}
|
||||
- {Okay {set ws_state(done) 1}}
|
||||
+ {Cancel {set ws_state_done 0}}
|
||||
+ {Okay {set ws_state_done 1}}
|
||||
}
|
||||
|
||||
# Make set of weekdays
|
||||
@@ -107,8 +107,8 @@
|
||||
pack $f.right -side left -expand 1 -fill both
|
||||
pack $f.left -side left -expand 1 -fill both
|
||||
|
||||
- bind $f <Control-c> {set ws_state(done) 0}
|
||||
- bind $f <Return> {set ws_state(done) 1}
|
||||
+ bind $f <Control-c> {set ws_state_done 0}
|
||||
+ bind $f <Return> {set ws_state_done 1}
|
||||
|
||||
wm withdraw $f
|
||||
update
|
||||
@@ -135,9 +135,9 @@
|
||||
ws_reconfig
|
||||
|
||||
# Run dialog
|
||||
- set ws_state(done) -1
|
||||
- dialog_run $leader $f ws_state(done)
|
||||
+ set ws_state_done -1
|
||||
+ dialog_run $leader $f ws_state_done
|
||||
|
||||
# Construct return value
|
||||
- return $ws_state(done)
|
||||
+ return $ws_state_done
|
||||
}
|
||||
diff -ur ical-3.0.orig/help.tcl ical-3.0/help.tcl
|
||||
--- ical-3.0.orig/help.tcl 2008-11-10 12:06:04.000000000 +0200
|
||||
+++ ical-3.0/help.tcl 2010-03-24 15:55:03.000000000 +0200
|
||||
@@ -132,7 +132,7 @@
|
||||
return 0
|
||||
}
|
||||
|
||||
-set about(done) 0
|
||||
+set about_done 0
|
||||
proc show_about {leader} {
|
||||
global ical about
|
||||
|
||||
@@ -155,22 +155,22 @@
|
||||
pack $t.top.author -side top -expand 1 -fill x -padx 5m -pady 5m
|
||||
|
||||
make_buttons $t.bot 0 {
|
||||
- {{Okay} {set about(done) 1}}
|
||||
+ {{Okay} {set about_done 1}}
|
||||
}
|
||||
|
||||
pack $t.top -side top -expand 1 -fill x
|
||||
pack $t.bot -side bottom -expand 1 -fill x
|
||||
|
||||
wm title $t {About Ical}
|
||||
- wm protocol $t WM_DELETE_WINDOW {set about(done) 1}
|
||||
- bind $t <Control-c> {set about(done) 1}
|
||||
- bind $t <Return> {set about(done) 1}
|
||||
+ wm protocol $t WM_DELETE_WINDOW {set about_done 1}
|
||||
+ bind $t <Control-c> {set about_done 1}
|
||||
+ bind $t <Return> {set about_done 1}
|
||||
|
||||
wm withdraw $t
|
||||
update idletasks
|
||||
}
|
||||
|
||||
- set about(done) 0
|
||||
- dialog_run $leader $t about(done)
|
||||
+ set about_done 0
|
||||
+ dialog_run $leader $t about_done
|
||||
return
|
||||
}
|
||||
diff -ur ical-3.0.orig/ical.C ical-3.0/ical.C
|
||||
--- ical-3.0.orig/ical.C 2008-11-10 12:06:04.000000000 +0200
|
||||
+++ ical-3.0/ical.C 2010-03-24 15:58:38.000000000 +0200
|
||||
@@ -140,7 +140,7 @@
|
||||
buffer.append('\0');
|
||||
|
||||
if (Tcl_Eval(tcl, buffer.as_pointer()) == TCL_ERROR)
|
||||
- fprintf(stderr, "ical: trigger error: %s\n", tcl->result);
|
||||
+ fprintf(stderr, "ical: trigger error: %s\n", Tcl_GetStringResult(tcl));
|
||||
|
||||
buffer.clear();
|
||||
}
|
||||
diff -ur ical-3.0.orig/tcllib/dg_bug.tcl ical-3.0/tcllib/dg_bug.tcl
|
||||
--- ical-3.0.orig/tcllib/dg_bug.tcl 2008-11-10 12:03:23.000000000 +0200
|
||||
+++ ical-3.0/tcllib/dg_bug.tcl 2010-03-24 15:57:22.000000000 +0200
|
||||
@@ -11,7 +11,7 @@
|
||||
#
|
||||
# bug_done Is bug interaction finished
|
||||
|
||||
-set bug(done) no
|
||||
+set bug_done no
|
||||
|
||||
proc bug_notify {mailer email message} {
|
||||
bug_make
|
||||
@@ -26,15 +26,15 @@
|
||||
|
||||
toplevel $f -class Dialog
|
||||
wm title $f {Internal Error}
|
||||
- wm protocol $f WM_DELETE_WINDOW {set bug(done) cancel}
|
||||
+ wm protocol $f WM_DELETE_WINDOW {set bug_done cancel}
|
||||
|
||||
frame $f.top -class Pane
|
||||
frame $f.mid -class Pane
|
||||
|
||||
make_buttons $f.bot 2 {
|
||||
- {{Dismiss} {set bug(done) cancel}}
|
||||
- {{Save} {set bug(done) save}}
|
||||
- {{Mail Report} {set bug(done) send}}
|
||||
+ {{Dismiss} {set bug_done cancel}}
|
||||
+ {{Save} {set bug_done save}}
|
||||
+ {{Mail Report} {set bug_done send}}
|
||||
}
|
||||
|
||||
label $f.icon -bitmap error
|
||||
@@ -57,7 +57,7 @@
|
||||
pack $f.bot -side top -fill both
|
||||
|
||||
# XXX What bindings should we add here?
|
||||
- # bind $f <Control-c><Control-c> {set bug(done) cancel}
|
||||
+ # bind $f <Control-c><Control-c> {set bug_done cancel}
|
||||
|
||||
wm withdraw $f
|
||||
update
|
||||
@@ -97,13 +97,13 @@
|
||||
set etext $bug(edit).text
|
||||
$etext delete 1.0 end
|
||||
|
||||
- set bug(done) no
|
||||
- dialog_run {} $f bug(done) $etext
|
||||
+ set bug_done no
|
||||
+ dialog_run {} $f bug_done $etext
|
||||
|
||||
- if ![string compare $bug(done) {cancel}] return
|
||||
+ if ![string compare $bug_done {cancel}] return
|
||||
|
||||
set text [bug_extract]
|
||||
- switch -exact -- $bug(done) {
|
||||
+ switch -exact -- $bug_done {
|
||||
save {
|
||||
bug_save $email $text
|
||||
}
|
||||
diff -ur ical-3.0.orig/tests/dialog.tcl ical-3.0/tests/dialog.tcl
|
||||
--- ical-3.0.orig/tests/dialog.tcl 2008-11-10 12:03:37.000000000 +0200
|
||||
+++ ical-3.0/tests/dialog.tcl 2010-03-24 15:57:47.000000000 +0200
|
||||
@@ -35,7 +35,7 @@
|
||||
}
|
||||
|
||||
proc dg_bug {} {
|
||||
- after 500 {set bug(done) cancel}
|
||||
+ after 500 {set bug_done cancel}
|
||||
expect {bug_notify cat foo "Test message"} {}
|
||||
}
|
||||
|
@ -1,62 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit autotools eutils epatch multilib virtualx
|
||||
|
||||
DESCRIPTION="Tk-based Calendar program"
|
||||
HOMEPAGE="https://launchpad.net/ical-tcl"
|
||||
SRC_URI="https://launchpad.net/ical-tcl/3.x/${PV}/+download/${P}.tar.gz"
|
||||
|
||||
LICENSE="HPND"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-lang/tcl:0
|
||||
dev-lang/tk:0
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
epatch \
|
||||
"${FILESDIR}"/${P}-gcc44.patch \
|
||||
"${FILESDIR}"/${P}-newtcl.patch \
|
||||
"${FILESDIR}"/${P}-makefile.patch \
|
||||
"${FILESDIR}"/${P}-fix-c++14.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:8.4 8.3:8.6 8.5 8.4 8.3:g' \
|
||||
-e 's:sys/utsname.h limits.h::' \
|
||||
configure.in || die
|
||||
|
||||
sed -i \
|
||||
-e 's:mkdir:mkdir -p:' \
|
||||
-e "/LIBDIR =/s:lib:$(get_libdir):" \
|
||||
-e '/MANDIR =/s:man:share/man:' \
|
||||
Makefile.in || die
|
||||
|
||||
mv configure.{in,ac} || die
|
||||
|
||||
eautoconf
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake OPTF="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
[[ ${EUID} != 0 ]] && Xemake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake prefix="${D}/usr" install
|
||||
|
||||
DOCS=( ANNOUNCE *README RWMJ-release-notes.txt TODO )
|
||||
HTML_DOCS=( {.,doc}/*.html )
|
||||
einstalldocs
|
||||
|
||||
rm -f "${D}"/usr/$(get_libdir)/ical/v3.0/contrib/README || die
|
||||
}
|
Binary file not shown.
@ -1,9 +1,9 @@
|
||||
AUX abseil-cpp-20200923-arm_no_crypto.patch 1038 BLAKE2B 2443144b968f22e29503fb4a58ac45b623c104d298445b68b5ab34a5a08a5398a9b16cf6563e3127dfc4ba7ed211d53c2e1fb8f72fb120749065dce77fb67158 SHA512 5e2c192379d7190d97065973861d76e3680728a2e723c7cfb8b9ead4e02c94c3b12061c75f2f619cf1c9c217c3f29eaa36b59ff73e23417bf56f600a97128ff3
|
||||
DIST abseil-cpp-20200225.2.tar.gz 1679650 BLAKE2B bbadb2b86fd390f51322e687526c72a3b13caff6391974462a1146cc563616ce479330336a489a71e27b143e7cbea6695fc12c91fb721185a5116b3a6c5506b1 SHA512 75a607dee825e83c10dcd5e509515461f1b12c4aca861e4739ac4d41357b8e893dbfbe33873aa5c05463dde0891dedd7535af2ec59f173de29488e1b1321b335
|
||||
DIST abseil-cpp-20200923.2.tar.gz 1783972 BLAKE2B 7ba01cab353de9bf34230e0efa567b1dc16680144579841a0fd127b95fb36cc8b63fc3c7da6a0a7c350c32b91955c6b6bb23a3ca52e50174a4dce5d3c1b9e936 SHA512 fdbb0f84265bc1d4f24aac0af6d0eb8cb603f801fc14d63ac1e9d3bab47703a8a2ff5f44a0a4d325819dbea50fc533d967e1bfd65004ec11ef35fadc44a2b855
|
||||
DIST abseil-cpp-20200923.3.tar.gz 1783980 BLAKE2B 66d46fd6aafe0bf0d3fccd8a4e0a72fb0545a405d9c92d36ffcb1cf791b6d0eb85fd55218f740ba34c05c7bc952ad1aeaa367963b1f540f03a4f510fd02cd6d5 SHA512 7d9e2bc001a397b983afe1e5ca4d779bd27d0d30fad7f44e564a675e228f2fc29c203ef89dd1b0ff4a1832c6d99ae7627c9103a0daa6cccb426472528109ef85
|
||||
DIST abseil-cpp-20210324.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
|
||||
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
|
||||
EBUILD abseil-cpp-20200225.2-r1.ebuild 1301 BLAKE2B ef84ab2721b3b53dc4a68552e1699f3186d7cadfdac0d56e475db445edbd3fda0b787b5c54b2482e0420e157412fbe90bb0ad8a4f15e0badcf352e19147f145f SHA512 6c0569e8a1b7760778876ca6d5850f13d7243f1c915476cff94e0d5cade951a8b84680d424f29c54fcd556f188c3eba31b9ebc8eb92770e8a0db1e8de3675bd9
|
||||
EBUILD abseil-cpp-20200923.2-r1.ebuild 1952 BLAKE2B 61ca63f05cb0bd83293fafff0947f4f5698fa1eba4a2140fdce782d08cb9bd404cb3f69665206290bcb00375d39268b686dea76657f2b7e54e022dd48df5f5db SHA512 06dbb6326c878f28c327b9b57d6f718f8dffeb19001f351691ac9463e5a520d8ebb06c0676300a53373b213bd7c983be29a13c3d2157c2d523475b0a36f29d02
|
||||
EBUILD abseil-cpp-20210324.1.ebuild 1955 BLAKE2B b0d66f97994676b0a17da20e38855718f461629159e9324a400f26f9aaa69de8d1815b04ddadedd886562dc2a5fc6e727d506d1b01a15189ac76abe247390b83 SHA512 d2041095ad44b8c73b0b345b0a127485d5b8a2f486c97e0bb0313c111fd0ec2c2f57c808c65b4f878353a72d07f36c0d70af7f23956d8be04dc1f30fd2d95ab6
|
||||
EBUILD abseil-cpp-20200225.2-r1.ebuild 1328 BLAKE2B f22f3a772e78085319e04793d4c6720d5bff17fb5af221db3f76d847eb0a360bc0b23025cc3a6d2a6251b8462750826b20e1c804ead6d7923e813a76e5a23de7 SHA512 129c56641a5ff1e6d1f3047786b06b0b9a8daa18b38af360835b22589039961815165fa0a07aab94413a93e250fbe56b8c2b277961712e451a860d5a2d47922d
|
||||
EBUILD abseil-cpp-20200923.3.ebuild 1979 BLAKE2B 99049668df386c2f2f754c513921a4106c13e5a57a90aa62a8c84eeb14ca5fe664505aae9f871d3d02df8848c9051f82f63b5b85a42c2d8543831022b68f8f43 SHA512 0d9958d85dd3ba91d6bcfcda4f59676b4a3c281c80842612c8e835ab4f91f6fcc35fedcb5611080a8fc093a46d49ef47bcca7a791872452adb7d16c3cc5be3e8
|
||||
EBUILD abseil-cpp-20210324.1.ebuild 1982 BLAKE2B b12b7eb807e161c74203b9502c88241cb24fcc349f92226eef0621d5bd7037409757d070ea71c316547a89233620f7e27aefdaaa2e5a5db0a06d8c8a671331f1 SHA512 e9dbe63eac21d4360a6b41b9a1155036f007bfde3fee756ec70f082ad303b01e16afe2cd13867d2f70f071f865dadbaf3e9ec5e8067186a0fa32ab1b9acb41ed
|
||||
MISC metadata.xml 356 BLAKE2B 192cd53686f89cf886b3dccd4d3c64dd44912c3572c3ec16c786c81c62b5ad1090be7c6e43bf2900d731ca72804f57f17d2eef619b88932d14423e72363e61b2 SHA512 39f66dcee864111412707467b6757811eeb9ddb24cb23bd3ff01b9426dff922fbd69312fda9142e03df146c22cd2b5fc1b06249cd1b6c334b076b798721fdca2
|
||||
|
@ -1,4 +1,4 @@
|
||||
DIST notcurses-2.2.3.tar.gz 10861361 BLAKE2B e7b487e84b5defbb1208f355c85f7178b05f412c2a746a8bcecb2da7db8df32da563aeb1f1f218014a2ff9803f0984889e4341d59f585add49c944d4707e5cd4 SHA512 9c718a39352cc10e4f4cb24cd7940ccc7ac7ad1f5890f1a87166267b3c24011629464a4720f08c2b8bbf0fab2c5cb9b31fba7a43bc62ae65dff894019adece7d
|
||||
DIST notcurses-doc-2.2.3.tar.gz 89550 BLAKE2B a42c74f95166e48ecff99a05d66925869a44a44c4faa867cca663d94ee340748417d6560d022fdb90c7761c19285b0c4838b75843a3d26d25182977f68a0d6ce SHA512 b61f829d1ad5f69147a7b4fe139db406d5a26683b55d72251f3e313c17f591ad4e9e868577fbecf86c4ac9959c942e244927fb29a2e44996fadde7946493ccc8
|
||||
EBUILD notcurses-2.2.3.ebuild 1143 BLAKE2B d087cfdb4f7e3c67bcac784d5d2c1255ad00debb6d924eb41872368275b55dc365cccdbbf4b498216e6f02ede0b284ac7c67ad77e35397f95e3e9c50dd31efe5 SHA512 d9c3d14b91b017fa4c196a034e17c53bd661f5c75688a03b3c076492e91bea6949f073a03e735af2e84b9a93ddf0691d3f467c3c45f54fa978f4da2313edf285
|
||||
DIST notcurses-2.2.8.tar.gz 11255362 BLAKE2B d56f48ecfcfc107d696bb1da029afba8c8a29ea6f0d6317ccdd42d895d890c0cc1d46120566c2f60bd554c2a57aa60409276632216608b29469421a1c22cecf2 SHA512 7455ad1dfbeda68a0b2c35ba3bb28eab3bc0be1ca4db12ce0e3662cf12f1e541dec506c9896624f77ef8032ae6b644ee85ac5abf2272f54fb1c9038b33214892
|
||||
DIST notcurses-doc-2.2.8.tar.gz 115654 BLAKE2B c770f81a3ad4071f75e84caaa4370f26e68ced2489586ae857a8e3c2cf998e0d7b5d84b8fd09150ace51898731150e499f648ad2e6d5be442df11c648ba58ccd SHA512 1a2c8931bd4f68dfdd2fa921d06b639d5fa382d826d5c9e0186b4d0160f220f3f32b1eb19f17136c4d452c8afd9f6fff1b4f463a11d847ef9216ddb94b5c8ab8
|
||||
EBUILD notcurses-2.2.8.ebuild 1146 BLAKE2B f127e77839e49fb8b5bef79db19fe222e1fd9fe74bd183b65b4ca44b4a155a2f3e7d6481aafec8cc21f3c793cb33119b2471c4c213a57c91ebe27357a136afcb SHA512 50a76ff1d6b274f4f0ed24c5ddf4e5b022174a523d0b66e9f556c644c898a51e27ab334882df8d1313c74c367293bb9e3f7c32eee624e1fe795532722e3113ab
|
||||
MISC metadata.xml 869 BLAKE2B c5414b2e27b44526c56e9c476d8c5540a3d7b462b70ed6e3e323c0dbee15c704055cc7d17bf270fbb7a6125bfa10a2934c9d56d5c727d73df0c8125ec30671d6 SHA512 f893bc5d9b44d26e178250432be8762524543f0c124c932d535e4f9742924d27a26b065a5d1275dc451f23b0ff72a55a2f5107749021081e7e399617de132f17
|
||||
|
Binary file not shown.
@ -0,0 +1,158 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
WX_GTK_VER="3.0-gtk3"
|
||||
|
||||
inherit elisp-common java-pkg-opt-2 systemd wxwidgets
|
||||
|
||||
# NOTE: If you need symlinks for binaries please tell maintainers or
|
||||
# open up a bug to let it be created.
|
||||
|
||||
UPSTREAM_V="$(ver_cut 1-2)"
|
||||
|
||||
DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)"
|
||||
HOMEPAGE="https://www.erlang.org/"
|
||||
SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz
|
||||
http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz
|
||||
doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
# We use this subslot because Compiled HiPE Code can be loaded on the exact
|
||||
# same build of ERTS that was used when compiling the code. See
|
||||
# http://erlang.org/doc/system_principles/misc.html for more information.
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="doc emacs +hipe java +kpoll libressl odbc sctp ssl systemd tk wxwidgets"
|
||||
|
||||
RDEPEND="
|
||||
acct-group/epmd
|
||||
acct-user/epmd
|
||||
sys-libs/ncurses:0
|
||||
sys-libs/zlib
|
||||
emacs? ( >=app-editors/emacs-23.1:* )
|
||||
java? ( >=virtual/jdk-1.8:* )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
sctp? ( net-misc/lksctp-tools )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.7d:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
systemd? ( sys-apps/systemd )
|
||||
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-lang/perl
|
||||
"
|
||||
|
||||
S="${WORKDIR}/otp-OTP-${PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/18.2.1-wx3.0.patch
|
||||
"${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch
|
||||
)
|
||||
|
||||
SITEFILE=50"${PN}"-gentoo.el
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
./otp_build autoconf || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use wxwidgets && setup-wxwidgets
|
||||
|
||||
local myconf=(
|
||||
--disable-builtin-zlib
|
||||
$(use_enable hipe)
|
||||
$(use_enable kpoll kernel-poll)
|
||||
$(use_with java javac)
|
||||
$(use_enable sctp)
|
||||
$(use_with ssl ssl "${EPREFIX}"/usr)
|
||||
$(use_enable ssl dynamic-ssl-lib)
|
||||
$(use_enable systemd)
|
||||
$(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null")
|
||||
)
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
|
||||
if use emacs ; then
|
||||
pushd lib/tools/emacs &>/dev/null || die
|
||||
elisp-compile *.el
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
extract_version() {
|
||||
local path="$1"
|
||||
local var_name="$2"
|
||||
sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local erl_libdir_rel="$(get_libdir)/erlang"
|
||||
local erl_libdir="/usr/${erl_libdir_rel}"
|
||||
local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)"
|
||||
local erl_erts_ver="$(extract_version erts VSN)"
|
||||
local my_manpath="/usr/share/${PN}/man"
|
||||
|
||||
[[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version"
|
||||
[[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version"
|
||||
|
||||
emake INSTALL_PREFIX="${D}" install
|
||||
|
||||
if use doc ; then
|
||||
# Note: we explicitly install docs into:
|
||||
# /usr/share/doc/${PF}/{doc,lib,erts-*}
|
||||
# To maintain that layout we gather everything in 'html-docs'.
|
||||
# See bug #684376.
|
||||
mkdir html-docs || die
|
||||
mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die
|
||||
local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. )
|
||||
docompress -x /usr/share/doc/${PF}
|
||||
else
|
||||
local DOCS=("README.md")
|
||||
fi
|
||||
|
||||
einstalldocs
|
||||
|
||||
dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl
|
||||
dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc
|
||||
dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript
|
||||
dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call
|
||||
dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp
|
||||
|
||||
## Clean up the no longer needed files
|
||||
rm "${ED}/${erl_libdir}/Install" || die
|
||||
|
||||
insinto "${my_manpath}"
|
||||
doins -r "${WORKDIR}"/man/*
|
||||
# extend MANPATH, so the normal man command can find it
|
||||
# see bug 189639
|
||||
newenvd - "90erlang" <<-_EOF_
|
||||
MANPATH="${my_manpath}"
|
||||
_EOF_
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install erlang lib/tools/emacs/*.{el,elc}
|
||||
sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \
|
||||
"${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die
|
||||
elisp-site-file-install "${T}/${SITEFILE}"
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/epmd.init-r2 epmd
|
||||
newconfd "${FILESDIR}"/epmd.confd-r2 epmd
|
||||
use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
@ -0,0 +1,761 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit flag-o-matic systemd autotools
|
||||
|
||||
MY_PV=${PV/_rc/RC}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://www.php.net/"
|
||||
SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(ver_cut 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
+flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit libressl lmdb
|
||||
mhash mssql mysql mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline recode selinux +session session-mm sharedmem
|
||||
+simplexml snmp soap sockets sodium spell sqlite ssl
|
||||
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre2-10.30[jit?,unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
|
||||
argon2? ( app-crypt/argon2:= )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( <app-text/enchant-2.0:0 )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode:0= )
|
||||
session-mm? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
sodium? ( dev-libs/libsodium:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
|
||||
tokyocabinet? ( dev-db/tokyocabinet )
|
||||
truetype? ( =media-libs/freetype-2* )
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
xml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
|
||||
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
|
||||
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
# Bison isn't actually needed when building from a release tarball
|
||||
# However, the configure script will warn if it's absent or if you
|
||||
# have an incompatible version installed. See bug 593278.
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
# The Oracle instant client provides its own incompatible ldap library.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd zlib )
|
||||
webp? ( gd zlib )
|
||||
cjk? ( gd zlib )
|
||||
exif? ( gd zlib )
|
||||
xpm? ( gd zlib )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
oci8-instant-client? ( !ldap )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
zip-encryption? ( zip )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/php-freetype-2.9.1.patch"
|
||||
)
|
||||
|
||||
PHP_MV="$(ver_cut 1)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "../ext/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
|
||||
# Bug 669566 - necessary so that build tools are updated for commands like pecl
|
||||
# Force rebuilding aclocal.m4
|
||||
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads maintainer-zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
|
||||
$(use_enable bcmath bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl intl)
|
||||
$(use_enable ipv6 ipv6)
|
||||
$(use_enable json json)
|
||||
$(use_with kerberos kerberos "${EPREFIX}/usr")
|
||||
$(use_enable xml libxml)
|
||||
$(use_with xml libxml-dir "${EPREFIX}/usr")
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with unicode onig "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl-dir "${EPREFIX}/usr")
|
||||
$(use_enable pcntl pcntl)
|
||||
$(use_enable phar phar)
|
||||
$(use_enable pdo pdo)
|
||||
$(use_enable opcache opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_with recode recode "${EPREFIX}/usr")
|
||||
$(use_enable simplexml simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap soap)
|
||||
$(use_enable sockets sockets)
|
||||
$(use_with sodium sodium "${EPREFIX}/usr")
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer tokenizer)
|
||||
$(use_enable wddx wddx)
|
||||
$(use_enable xml xml)
|
||||
$(use_enable xmlreader xmlreader)
|
||||
$(use_enable xmlwriter xmlwriter)
|
||||
$(use_with xmlrpc xmlrpc)
|
||||
$(use_with xslt xsl "${EPREFIX}/usr")
|
||||
$(use_enable zip zip)
|
||||
$(use_with zip-encryption libzip "${EPREFIX}/usr")
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm || use lmdb || use tokyocabinet ; then
|
||||
our_conf+=( "--enable-dba${shared}" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
$(use_with lmdb lmdb "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype-dir "${EPREFIX}/usr")
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg-dir "${EPREFIX}/usr")
|
||||
$(use_with gd png-dir "${EPREFIX}/usr")
|
||||
$(use_with xpm xpm-dir "${EPREFIX}/usr")
|
||||
)
|
||||
if use webp; then
|
||||
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
|
||||
fi
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_with gd gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
our_conf+=(
|
||||
$(use_with odbc unixODBC "${EPREFIX}/usr")
|
||||
$(use_with iodbc iodbc "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
# --with-pcre-valgrind cannot be enabled with system pcre
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
--without-pcre-valgrind
|
||||
$(use_with jit pcre-jit)
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
local one_sapi
|
||||
local sapi
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
local sapi
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi="", sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp${PHP_MV}$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
# Install the "phar" archive utility.
|
||||
if use phar ; then
|
||||
emake INSTALL_ROOT="${D}" install-pharcmd
|
||||
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
|
||||
fi
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp${PHP_MV}$(get_libname)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
local m
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -0,0 +1,751 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
WANT_AUTOMAKE="none"
|
||||
|
||||
inherit flag-o-matic systemd autotools
|
||||
|
||||
MY_PV=${PV/_rc/rc}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://www.php.net/"
|
||||
SRC_URI="https://www.php.net/distributions/${P}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(ver_cut 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage +ctype curl debug
|
||||
enchant exif ffi +fileinfo +filter firebird
|
||||
+flatfile ftp gd gdbm gmp +iconv imap inifile
|
||||
intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit libressl lmdb
|
||||
mhash mssql mysql mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline selinux +session session-mm sharedmem
|
||||
+simplexml snmp soap sockets sodium spell sqlite ssl
|
||||
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
|
||||
+xml xmlreader xmlwriter xpm xslt zip zlib"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
# The Oracle instant client provides its own incompatible ldap library.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
!cli? ( ?? ( readline libedit ) )
|
||||
truetype? ( gd zlib )
|
||||
webp? ( gd zlib )
|
||||
cjk? ( gd zlib )
|
||||
exif? ( gd zlib )
|
||||
xpm? ( gd zlib )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
xmlreader? ( xml )
|
||||
xmlwriter? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
oci8-instant-client? ( !ldap )
|
||||
qdbm? ( !gdbm )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
firebird? ( pdo )
|
||||
mssql? ( pdo )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.7[apache2?,fpm?]
|
||||
>=dev-libs/libpcre2-10.30[jit?,unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] )
|
||||
argon2? ( app-crypt/argon2:= )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
curl? ( >=net-misc/curl-7.29.0 )
|
||||
enchant? ( app-text/enchant:2 )
|
||||
ffi? ( >=dev-libs/libffi-3.0.11 )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl )
|
||||
libedit? ( dev-libs/libedit )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient[sdk] )
|
||||
odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
|
||||
postgres? ( >=dev-db/postgresql-9.1:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
session-mm? ( dev-libs/mm )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
sodium? ( dev-libs/libsodium:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
|
||||
tokyocabinet? ( dev-db/tokyocabinet )
|
||||
truetype? ( =media-libs/freetype-2* )
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
xml? ( >=dev-libs/libxml2-2.9.0 )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
xslt? ( dev-libs/libxslt )
|
||||
zip? ( >=dev-libs/libzip-1.2.0:= )
|
||||
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
# Bison isn't actually needed when building from a release tarball
|
||||
# However, the configure script will warn if it's absent or if you
|
||||
# have an incompatible version installed. See bug 593278.
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PHP_MV="$(ver_cut 1)"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/php-iodbc-header-location.patch"
|
||||
"${FILESDIR}/php80-firebird-warnings.patch"
|
||||
)
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "../ext/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
|
||||
# Emulate buildconf to support cross-compilation
|
||||
rm -fr aclocal.m4 autom4te.cache config.cache \
|
||||
configure main/php_config.h.in || die
|
||||
eautoconf --force
|
||||
eautoheader
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
|
||||
$(use_enable bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype)
|
||||
$(use_with curl)
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant)
|
||||
$(use_enable exif)
|
||||
$(use_with ffi)
|
||||
$(use_enable fileinfo)
|
||||
$(use_enable filter)
|
||||
$(use_enable ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl)
|
||||
$(use_enable ipv6)
|
||||
$(use_with kerberos)
|
||||
$(use_with xml libxml)
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with ssl openssl)
|
||||
$(use_enable pcntl)
|
||||
$(use_enable phar)
|
||||
$(use_enable pdo)
|
||||
$(use_enable opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_enable simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap)
|
||||
$(use_enable sockets)
|
||||
$(use_with sodium)
|
||||
$(use_with sqlite sqlite3)
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer)
|
||||
$(use_enable xml)
|
||||
$(use_enable xmlreader)
|
||||
$(use_enable xmlwriter)
|
||||
$(use_with xslt xsl)
|
||||
$(use_with zip)
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm || use lmdb || use tokyocabinet ; then
|
||||
our_conf+=( "--enable-dba" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
|
||||
$(use_with lmdb lmdb "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype)
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg)
|
||||
$(use_with xpm)
|
||||
$(use_with webp)
|
||||
)
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_enable gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl)
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
if use odbc && use iodbc ; then
|
||||
our_conf+=(
|
||||
--without-unixODBC
|
||||
--with-iodbc
|
||||
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
|
||||
)
|
||||
elif use odbc ; then
|
||||
our_conf+=(
|
||||
--with-unixODBC="${EPREFIX}/usr"
|
||||
--without-iodbc
|
||||
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
)
|
||||
else
|
||||
our_conf+=(
|
||||
--without-unixODBC
|
||||
--without-iodbc
|
||||
--without-pdo-odbc
|
||||
)
|
||||
fi
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite)
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit)
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-external-pcre affects ext/pcre
|
||||
our_conf+=(
|
||||
--with-external-pcre
|
||||
$(use_with jit pcre-jit)
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
local one_sapi
|
||||
local sapi
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
local sapi
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi="", sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
# Install the "phar" archive utility.
|
||||
if use phar ; then
|
||||
emake INSTALL_ROOT="${D}" install-pharcmd
|
||||
dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}"
|
||||
fi
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp$(get_libname)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
local m
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue