parent
7fcd2dfb2b
commit
e250b8b70d
@ -1,23 +1,23 @@
|
|||||||
-----BEGIN PGP SIGNED MESSAGE-----
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
Hash: SHA512
|
Hash: SHA512
|
||||||
|
|
||||||
MANIFEST Manifest.files.gz 29266 BLAKE2B 140be264e2872b91dfa38b6da1a34c09d34c158e9c22a5ed03439077282b4e4ef9fa7c5af8191a37111ceaa83173d3c0a550d48a0c900337d442696b50ecb861 SHA512 345b1e41483597c10d8a59b8f1edbc755e8360f66167ab1db2f4cfc66ae1e8e94c7fda3167f00451806708a5f00e451b72dc4ddcd7907f3cd3783c333183dd02
|
MANIFEST Manifest.files.gz 29297 BLAKE2B f7be25a3c3595c342284a81dd051337ce3367c804324cf6439316d42c67ccfa07de629191c7d3049e523ec87efb724d5a747f999eb8526e69b1157477acc4186 SHA512 a05f96cba90c7e52b0c41d79c127f59aa198e3a63230a9acb47ac2553037fe9753ed952c9c10dce68840fdbdc152b8757b068f661f8be1a39c0c04bdc9d35231
|
||||||
TIMESTAMP 2021-04-29T06:08:33Z
|
TIMESTAMP 2021-04-30T12:38:34Z
|
||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmCKTWFfFIAAAAAALgAo
|
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmCL+kpfFIAAAAAALgAo
|
||||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||||
klAUNw//VF0X1QuEey9EnsnGDCxUSIxQ9SURZifvB2ReeGZyXcsvpWY/9YSlhJ08
|
klAxiQ//Tt0VEQk3MSdZ4yPQZ92ZyKQATTGoIgkjta7kgTLeNZRgomfrlHofIUAd
|
||||||
u7Om5AmOOdlLeWri0eGjYWEBoovaHJ4BVtx0UrOOxzpMPIo7c4YTTTq9nRUhJiqa
|
FA6blBEduNnZxsfy2ji0px1W/0Ywwhru7uepsfnVVP7qM/prDpexs1jDCx5DDfUX
|
||||||
K1rqY77TZQ2EHvUOog5Oq6eXZ6mwGqxNkTsp3WkUB5uIQYDpwur/A/nxzsb+A9qp
|
8rvn4tsAuu3FIpm7zLlK10o+b8XCSiFloWrkN+8gmiQ1UMgqzPunS4n310NYwUy1
|
||||||
vs4TlsykSYuDCum8IQ5ml6MYaJ0LiSLv8MaxN54irCZYUUa9dPHFnncNmBnF4jyx
|
nT3T7La9B9qcvf9DGQOcpIyZ4n/oI/lq3zjNT1SL++eD+wyIB64sZ+u4bN34RZ9P
|
||||||
ZvxUDgyJxC+Vmzdwjaaw39vaP00CoBV67WpBj6WVXSpdtLGfjyDKvy1MaR4y22st
|
neykk0JoLBDg7hwaGUAT0VMlVNpXfD06XNj7sVqMesvV/iWOGQrWYpd7XFQWi1aO
|
||||||
qDAbQ2HiHR/6CFRd6JWPrI9uX1sF+eSqJfRbUqtkiBdjWsYOkIL9l7vj1mPvD93H
|
wBW/cMUZB9Do9Ey6G59+6O4wlYQTRDRJsoUkJUtvkz4eT00JGZcM0fQETo+XvP+h
|
||||||
yN8cv0iu/tsf9IGPjDvYJLSJ51FFVyLeltaXz3egfJajrFGeSKMbfqDueZ1swnfK
|
ltSr3xDCd13Gkv7wB7Vlc1RKZgyDSRMbWEdyiYIac6d+MdX9iFP/AonL4TY0ZKlf
|
||||||
VUfvwF3xLsOoB7+7CruqekW20uERpvvx9LyxfZpR1bBLm3D1TD2QJHNOVPfRqHVr
|
a8coqNHFNN9IeOhJ1mAomGxGfhIw/2om+xhPGKX4Trd4xvzA82dmBXEFU4sNDmOb
|
||||||
XdBfhRIQ6jL5+k5nr5Db9T3x362/a/ZCbSP5K57udqitcyIoS6rgXWyAzETU9vD/
|
UwTOsIoY3ToxFi68duG5G95rmPotjPgLqXDMqVnUMAKWp+4sasXl04HvRyDtkgZW
|
||||||
YcEBQcQONcJ4AfbWcqIYImCDKPJYIIMXIcy9nMcpfEUHju2Dsst1NwC/KmbCKGwk
|
dz6rRAJtzSludRC+oUf/KNWXMiBb57uAoL6YWSs+4NFCEAiarkjQajkGGtr0W8D/
|
||||||
le9ddyfRs66zkpHBxTzAcMDXtrZjGrhJGSy/x7r8PMzarzF/5Ms=
|
gmwokMZWn+w7lvVymHnA6mtZ38zYYh2WkCuF3FpmUfeidIBt4OM=
|
||||||
=W3/K
|
=r491
|
||||||
-----END PGP SIGNATURE-----
|
-----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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<!-- maintainer-needed -->
|
<maintainer type="person">
|
||||||
<upstream>
|
<email>grobian@gentoo.org</email>
|
||||||
<remote-id type="launchpad">ical-tcl</remote-id>
|
<name>Fabian Groffen</name>
|
||||||
</upstream>
|
</maintainer>
|
||||||
</pkgmetadata>
|
</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
|
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
|
DIST httpd-2.4.46.tar.bz2 7187805 BLAKE2B 2cd8a40be0b7b60ae5b06a286aa6dd801b8615fd0483a4653ceea6f9832c9ebb111f67ba4f69827b01acd1e5552e70ac0441df49573c9da0ca26d4c2f589f0bc SHA512 5936784bb662e9d8a4f7fe38b70c043b468114d931cd10ea831bfe74461ea5856b64f88f42c567ab791fc8907640a99884ba4b6a600f86d661781812735b6f13
|
||||||
EBUILD apache-tools-2.4.41.ebuild 2524 BLAKE2B 3b2d9368d0cb3088062990484ee7867c6ff3eb2fe82d05b61d34135d8e0b1d1582b8d145e676735f8946539c77158a4d9b6a490d4218e5a751f07fdc05374185 SHA512 2fd21ee79b0822f4ab410e571b27a0ee4b42f66929958cbeeffd10865917592682d9cf1b6b32600a870275b96b4b733a208cfd5a8e8f64980799c53bc0b5d0c9
|
DIST httpd-2.4.47.tar.bz2 7187445 BLAKE2B ba5b6ebac73aaa6f2f0d7a34d5bf9d13bd4ac862ee9d04b105c315c3aad16401b842b6901424dba6a44a0b5d255c0356e0bf72b5d1898b4b091b12192c204c96 SHA512 ac05e878604037572b484c32c767e022bf027e5efa2a2ed28472939d9f536448f1536ede4d809f1e913a29a0247bdd27981bd00d3d8614f978573c14bce7c7af
|
||||||
EBUILD apache-tools-2.4.43.ebuild 2524 BLAKE2B 3b2d9368d0cb3088062990484ee7867c6ff3eb2fe82d05b61d34135d8e0b1d1582b8d145e676735f8946539c77158a4d9b6a490d4218e5a751f07fdc05374185 SHA512 2fd21ee79b0822f4ab410e571b27a0ee4b42f66929958cbeeffd10865917592682d9cf1b6b32600a870275b96b4b733a208cfd5a8e8f64980799c53bc0b5d0c9
|
EBUILD apache-tools-2.4.46.ebuild 2460 BLAKE2B b472d42e496a6af6baca2790f6b1ed330353d169f721f41af04a27f9660f6d9f5fcff220cf63f8369675f202a29d7509c1872a0a9a340ce10a338a67769a46dc SHA512 667f5a2b8d53f03587b982275cc4b0e8ed8c5d814fb93fae6f589b2438a7bce7895259f54f70a89a9a7b7b3af3846c2c51292c5c4af3a7e53feb6457a5743b1f
|
||||||
EBUILD apache-tools-2.4.46.ebuild 2524 BLAKE2B 3b2d9368d0cb3088062990484ee7867c6ff3eb2fe82d05b61d34135d8e0b1d1582b8d145e676735f8946539c77158a4d9b6a490d4218e5a751f07fdc05374185 SHA512 2fd21ee79b0822f4ab410e571b27a0ee4b42f66929958cbeeffd10865917592682d9cf1b6b32600a870275b96b4b733a208cfd5a8e8f64980799c53bc0b5d0c9
|
EBUILD apache-tools-2.4.47.ebuild 2469 BLAKE2B 7c4e2b191bfa166d7c89eec4febf97619b7f6cdc49c429d701c9b5401fea022a792a60ba77b27d959dbd5e3ef53d2e754eed0f10d067915b59b349a8b3736edf SHA512 ca8a17e6cfa9a420d79d967a172bc8f520aceee1f95c98bec69e4bc402df4c1c1a97f4187d09fda71b74043b5fe6e3408e1e25245a98ff92948963a0ba088a92
|
||||||
MISC metadata.xml 468 BLAKE2B 850e5a23a188280992a745276f7466b0287d4e1ca9dee8c61046612273bf7484c24e60d95ccc6637c65c88d851719bed812e2c1f3e951fdca1c7058c68aaa0db SHA512 d9b6eabeaba642f760ceca4b4b39b5db7bae5369c6766ce230c5cf0949e3152affa6ec5116ffa4ead983d987387c767600b8f36ebe1b8cf1323ed5c2cb14fab2
|
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
|
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
|
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
|
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.5p2.tar.gz 4012277 BLAKE2B 41913887463e4f775564af8d614fb5ed762200aa777dc789ec333842d4f432323474fc952a531fe929b33607cdfbcd18d7fe7470a15d67139deaf855841ed11f SHA512 f0fe914963c31a6f8ab6c86847ff6cdd125bd5a839b27f46dcae03963f4fc413b3d4cca54c1979feb825c8479b44c7df0642c07345c941eecf6f9f1e03ea0e27
|
||||||
DIST sudo-1.9.6p1.tar.gz 4119888 BLAKE2B 02bdb551c46cff11ac56e64937c64e6a29ccd8e0af34ea2f6b33c223bee8f7ad958d0fc3d7ef8ef12bf5bc82565769b923ff112a3f3d6bf6999fa4f6ea55e38e SHA512 632dfe72f04ce9a7a5a7236fcd5c09ce4535e695ced49d24dd848e3a7b1bea7380df44188b9e475af4271069539b5a5816948a98fbb0649ebebaba8b4c4b7745
|
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.5_p2-r1.ebuild 6964 BLAKE2B aadec2121ad557984b5b4e506b627dc334bc204d63525dee5dc3ee5f5e31ade83c88f55a00eccf3118faae8883e0a4b9d7d34a6822395a7cf92150c18c84909c SHA512 0173c240c2865d2298fe01a408c54587414932be1640da655abc7704f8094109a509b278d8c5d24250277872eb14d7684e2a8bab56b4b02fc8add23451722ec2
|
||||||
EBUILD sudo-1.9.6_p1-r1.ebuild 6723 BLAKE2B 6a9cf024a9cf81832ccc974955c3cdb9a64f8427d131832fc7583b28646501f718c523dd866efa2af3bb602f55e460f382677f12d1a9d059897f0c628b903fcd SHA512 8289ea36497c7ebabb2dab6e132621311b251af098f4f9ef68aa1005eef310708f360c45c5117a49b1952430f3d13c7813e41943e7dd731353a16e90d8d7ad28
|
EBUILD sudo-1.9.6_p1-r1.ebuild 6659 BLAKE2B 85c293bc01a785f063bd70fb42dded28d0cc07eac8c83f9d3a37e3291de0cc997f9d67a64bb43777e579431fbe17c3626bdd4a7fcad85e94062d2162543488d3 SHA512 9d2b56674ab5ef1d6735c7b12e83a18591661dfeef455d844a61abd2730b5713ff95956e24994bffcb2a5de5e9dc724b9072a3559c9bbab2b5c03800340118ff
|
||||||
EBUILD sudo-9999.ebuild 6723 BLAKE2B 6a9cf024a9cf81832ccc974955c3cdb9a64f8427d131832fc7583b28646501f718c523dd866efa2af3bb602f55e460f382677f12d1a9d059897f0c628b903fcd SHA512 8289ea36497c7ebabb2dab6e132621311b251af098f4f9ef68aa1005eef310708f360c45c5117a49b1952430f3d13c7813e41943e7dd731353a16e90d8d7ad28
|
EBUILD sudo-9999.ebuild 6659 BLAKE2B 85c293bc01a785f063bd70fb42dded28d0cc07eac8c83f9d3a37e3291de0cc997f9d67a64bb43777e579431fbe17c3626bdd4a7fcad85e94062d2162543488d3 SHA512 9d2b56674ab5ef1d6735c7b12e83a18591661dfeef455d844a61abd2730b5713ff95956e24994bffcb2a5de5e9dc724b9072a3559c9bbab2b5c03800340118ff
|
||||||
MISC metadata.xml 1161 BLAKE2B 0c501bf06edca82993ece857f9f7565f99da15df36c916bc9dc57e78bccf2b247c382e97dd6c97cc7f5375e1a0513c1a30ecbf097516e96319fd1797257fb117 SHA512 d6bc9cf11ea1bd28c19bfe167580556af517d92c958d63cd7872ab5076840eca39a7ab3d1f56e84fc0fcfb675d7a89c23ccdd3629f665c45232be1140eb950ac
|
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
|
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
|
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.3.3-libressl.patch 458 BLAKE2B 883523792c0d3e964a2bf9ae40d25a0127e43a2d95e0187d566fd371aa7ecc0861d99ab21641e9f2d6800b36155e3b845c1099ec7b1d3dc0f3c0fe2b78c9e273 SHA512 0a8dfd7f30ca450cf253bd475d328a886957257e1c7c6a6c9eace4cacdefd9f1eaeb4de81ad00a2439bb75336a82b08278f98c6143803f6047159036e848aabe
|
||||||
AUX libarchive-3.5.0-darwin-strnlen.patch 732 BLAKE2B d20ffd1d898acf1e69e2f275bec2beda0769569ac37e179604dc7d0a5eca8fda2a06aa5b3811e28f465fb34c2061d15aa8073110f703244aec02cfa35afd8087 SHA512 9f5b86b6dc483f17a1d909d88841e1f82f5835dbef0bdfc18ffb982cd5f649d87fdc22f490169eb827de654fbd469fda77a5ce1bc0748b48f3f46e77318e672c
|
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
|
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
|
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
|
DIST attic-0.16.tar.gz 87985 BLAKE2B cc801d8e3b28f6041c053f368c1d5ab00b1b419928d6a84647da7dccb7fb46b477898249873e90ba15c721468c09ae243d450fc978fe8cc3947b2c2e035f2aae SHA512 16139cd93bff59414cc1ce3fd68e2dd0aed4937a20bd1003880961ad2e239a1e982fd0d4f6b791165464213b88dea6ccd8e5e59d2087809be2e1bfdfd3b3186c
|
||||||
EBUILD attic-0.16-r1.ebuild 923 BLAKE2B 72eb2f0221725a4569f1201ae1e5225ca26083d64dad933257287bea4efd107c017c44133ec7d1c22e9dead55ca4fb2ede59878143303f7c7775b8807f5ff3ff SHA512 71e63a9d2fe5ace2fc4dbb5f8a9a02b61636c8417423ba5af7e91b60e97825a52f49ff70ceda9ba63928ea11381126616f589ae9d7c1d116400ce2aa2db90f67
|
EBUILD attic-0.16-r1.ebuild 856 BLAKE2B c3070175c58b134956109b2fba3df0ef80278d282f8d236089a233e8f3ce202674dd56d4a5c491309e474e51b63d5d00482f0518ef2dd11cef2c85d1b7282530 SHA512 b69742a8c3a38a45bddfdcd26d6b4329657f958e3790f033916ebd3d67e3e68fb0d93b79363bbbdbbc4fab8108097da0b9ffd484d3a0259dd5d904c90520ba98
|
||||||
EBUILD attic-9999.ebuild 923 BLAKE2B 72eb2f0221725a4569f1201ae1e5225ca26083d64dad933257287bea4efd107c017c44133ec7d1c22e9dead55ca4fb2ede59878143303f7c7775b8807f5ff3ff SHA512 71e63a9d2fe5ace2fc4dbb5f8a9a02b61636c8417423ba5af7e91b60e97825a52f49ff70ceda9ba63928ea11381126616f589ae9d7c1d116400ce2aa2db90f67
|
EBUILD attic-9999.ebuild 856 BLAKE2B c3070175c58b134956109b2fba3df0ef80278d282f8d236089a233e8f3ce202674dd56d4a5c491309e474e51b63d5d00482f0518ef2dd11cef2c85d1b7282530 SHA512 b69742a8c3a38a45bddfdcd26d6b4329657f958e3790f033916ebd3d67e3e68fb0d93b79363bbbdbbc4fab8108097da0b9ffd484d3a0259dd5d904c90520ba98
|
||||||
MISC metadata.xml 328 BLAKE2B 4b8c33c80a1e860ec347a8735aad642c9dc441f87b20c588dde534be6d4f9b6981a07314f0643769537ce946f1397eee20801d381c2632d5c98a1d6db12a00cd SHA512 2c24d7eaef0da74758f5726e2b88d2dc11db8a2ea3999abee9305c5e66b236b50d56034d5fae9a7b1d9caa98c7fa3aa54dd06d5279b3a636532010130e40f36a
|
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.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.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.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.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
|
EBUILD nano-9999.ebuild 2289 BLAKE2B 0447364b3dbc38a83e671e44d49c9f1082deccbecb81b9f97a9c36ad6273b5a0cee6ecdeff1d6759b4bd86c3e167b34607c7426b9344a1a1c4839883ccc63584 SHA512 63c7ebcfbf66c0fc875a263f26abb5d002d8d12a78f53b4e3192819ee747db6b1e259696b84a1af3b7b27d8050af63fd02da5b61c51185fd8162dd9defc44ede
|
||||||
MISC metadata.xml 1642 BLAKE2B bd201f1a56bd864dbf7ce5e8dd8b9e0f1a34c236543d8bffa096da1f53460e824171ec629fa84a0a31919fa128e248397671129b8c0a23dfdda9d685e789bf87 SHA512 1b9eac65c24ddc6b917a8bbd1849a7dfd7f29cfa6430eb5945b1a09ec036e68023159882c632fe3dfe04038673cac68ecc74fb128a8bbdf1a2b0aa6cfd3a398c
|
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
|
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
|
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.18.iso 61157376 BLAKE2B e022cfbc70fa45889c1db7592f30814faf88d7614c30ebd3fccd0127732d7fec51423904a160797ac199315dcbe4791f025e2dc4754141bfef0862b11510626c SHA512 07be8be75feb2d7d9bfc984ce34b955339d391580192817c2eb216b7577576a003dde310cc09f18c6b6bcf2e30ad548e1ee8bde0af420e4d1d43a3486861cf19
|
||||||
DIST VBoxGuestAdditions_6.1.20.iso 61018112 BLAKE2B feb6a292b05e861a90fdc5db80bc15e9df593a365a866a31ab7afce704511463012c18d76dc928dc5ecd0d2a23bc518c37ad9cdc8b4b72397af3ddd4b3eb97d8 SHA512 122bd5d31ab5cac2fe0582d1d541b5e9d0e8e544e1b3c5afb2b2e2c8b26fbfa964d15053ccc256575753d31206bffc09380dabc79d93946b0e56b743d82e40fe
|
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.18.ebuild 777 BLAKE2B ef241fa299288ab813b6a6acfddb7910b3a8bd454527fd75143e8b3f404049374662c500aa17ce83a6edb080af267ed1710e09240058c877957e24272c782556 SHA512 53bddb2a887429730a34ea27a0859541c4c47a11a010ff33715314119500e337ed5849a8f76af106ab414dfcafbbe269ce2a282fb5137a324bac676dceb6080c
|
||||||
EBUILD virtualbox-additions-6.1.20.ebuild 778 BLAKE2B 34dc0e7631b7bd202a0ea7d7a18fd83f045d867cbd2533dfa333292f22d4378765672be9166ccf1aafdf075d58f3e48617dc9132ef5d34d413f867445e8cc9cc SHA512 0186ea39d7c27c7ea8826e59548d3287cc59225daff2350358d12e233af40f352d004a82edeeb17be5762a405b956f04c369472794749fe170345f7421779154
|
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
|
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.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.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.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.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
|
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-acl.patch 1159 BLAKE2B e7c477fdfa53bc0ed8866d39c58b1ed1e28789db1b663b4b2c22e99d2a41474f2f684581b81dd4123ad5f2d49b45acbaff82da38d3d61881f01b5d202684a089 SHA512 85dcd92468641294f132ffbdd4cc23bfcb4a96fd6db52322cf1abca086617b83798323e6bd2e4447467530a2c8f8b681ffabef3f193ea7a09cdbca93e33d2f6e
|
||||||
AUX ovaldi-5.10.1.7-disable_RetrieveSelinuxDomainLabel.patch 834 BLAKE2B 8e4cc626d97ee2f80c40913b09550693437ac6cc9b3ad0491962b8c3b78cd6e060ba4c5c0f3bc18be10348ec31fcd9e0e35108bb80425764a7d4f75412b8f0b0 SHA512 f05a797252a2006384f450afd2c0c2b8cd894abc2409b21a3df9cec57af39ff81dc2b007b0e3c460e3ce85855a1b37fe18b5a4b79408969019332300d0c1ed47
|
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
|
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
|
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
|
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-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 abseil-cpp-20210324.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
|
||||||
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
|
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-20200225.2-r1.ebuild 1328 BLAKE2B f22f3a772e78085319e04793d4c6720d5bff17fb5af221db3f76d847eb0a360bc0b23025cc3a6d2a6251b8462750826b20e1c804ead6d7923e813a76e5a23de7 SHA512 129c56641a5ff1e6d1f3047786b06b0b9a8daa18b38af360835b22589039961815165fa0a07aab94413a93e250fbe56b8c2b277961712e451a860d5a2d47922d
|
||||||
EBUILD abseil-cpp-20200923.2-r1.ebuild 1952 BLAKE2B 61ca63f05cb0bd83293fafff0947f4f5698fa1eba4a2140fdce782d08cb9bd404cb3f69665206290bcb00375d39268b686dea76657f2b7e54e022dd48df5f5db SHA512 06dbb6326c878f28c327b9b57d6f718f8dffeb19001f351691ac9463e5a520d8ebb06c0676300a53373b213bd7c983be29a13c3d2157c2d523475b0a36f29d02
|
EBUILD abseil-cpp-20200923.3.ebuild 1979 BLAKE2B 99049668df386c2f2f754c513921a4106c13e5a57a90aa62a8c84eeb14ca5fe664505aae9f871d3d02df8848c9051f82f63b5b85a42c2d8543831022b68f8f43 SHA512 0d9958d85dd3ba91d6bcfcda4f59676b4a3c281c80842612c8e835ab4f91f6fcc35fedcb5611080a8fc093a46d49ef47bcca7a791872452adb7d16c3cc5be3e8
|
||||||
EBUILD abseil-cpp-20210324.1.ebuild 1955 BLAKE2B b0d66f97994676b0a17da20e38855718f461629159e9324a400f26f9aaa69de8d1815b04ddadedd886562dc2a5fc6e727d506d1b01a15189ac76abe247390b83 SHA512 d2041095ad44b8c73b0b345b0a127485d5b8a2f486c97e0bb0313c111fd0ec2c2f57c808c65b4f878353a72d07f36c0d70af7f23956d8be04dc1f30fd2d95ab6
|
EBUILD abseil-cpp-20210324.1.ebuild 1982 BLAKE2B b12b7eb807e161c74203b9502c88241cb24fcc349f92226eef0621d5bd7037409757d070ea71c316547a89233620f7e27aefdaaa2e5a5db0a06d8c8a671331f1 SHA512 e9dbe63eac21d4360a6b41b9a1155036f007bfde3fee756ec70f082ad303b01e16afe2cd13867d2f70f071f865dadbaf3e9ec5e8067186a0fa32ab1b9acb41ed
|
||||||
MISC metadata.xml 356 BLAKE2B 192cd53686f89cf886b3dccd4d3c64dd44912c3572c3ec16c786c81c62b5ad1090be7c6e43bf2900d731ca72804f57f17d2eef619b88932d14423e72363e61b2 SHA512 39f66dcee864111412707467b6757811eeb9ddb24cb23bd3ff01b9426dff922fbd69312fda9142e03df146c22cd2b5fc1b06249cd1b6c334b076b798721fdca2
|
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-2.2.8.tar.gz 11255362 BLAKE2B d56f48ecfcfc107d696bb1da029afba8c8a29ea6f0d6317ccdd42d895d890c0cc1d46120566c2f60bd554c2a57aa60409276632216608b29469421a1c22cecf2 SHA512 7455ad1dfbeda68a0b2c35ba3bb28eab3bc0be1ca4db12ce0e3662cf12f1e541dec506c9896624f77ef8032ae6b644ee85ac5abf2272f54fb1c9038b33214892
|
||||||
DIST notcurses-doc-2.2.3.tar.gz 89550 BLAKE2B a42c74f95166e48ecff99a05d66925869a44a44c4faa867cca663d94ee340748417d6560d022fdb90c7761c19285b0c4838b75843a3d26d25182977f68a0d6ce SHA512 b61f829d1ad5f69147a7b4fe139db406d5a26683b55d72251f3e313c17f591ad4e9e868577fbecf86c4ac9959c942e244927fb29a2e44996fadde7946493ccc8
|
DIST notcurses-doc-2.2.8.tar.gz 115654 BLAKE2B c770f81a3ad4071f75e84caaa4370f26e68ced2489586ae857a8e3c2cf998e0d7b5d84b8fd09150ace51898731150e499f648ad2e6d5be442df11c648ba58ccd SHA512 1a2c8931bd4f68dfdd2fa921d06b639d5fa382d826d5c9e0186b4d0160f220f3f32b1eb19f17136c4d452c8afd9f6fff1b4f463a11d847ef9216ddb94b5c8ab8
|
||||||
EBUILD notcurses-2.2.3.ebuild 1143 BLAKE2B d087cfdb4f7e3c67bcac784d5d2c1255ad00debb6d924eb41872368275b55dc365cccdbbf4b498216e6f02ede0b284ac7c67ad77e35397f95e3e9c50dd31efe5 SHA512 d9c3d14b91b017fa4c196a034e17c53bd661f5c75688a03b3c076492e91bea6949f073a03e735af2e84b9a93ddf0691d3f467c3c45f54fa978f4da2313edf285
|
EBUILD notcurses-2.2.8.ebuild 1146 BLAKE2B f127e77839e49fb8b5bef79db19fe222e1fd9fe74bd183b65b4ca44b4a155a2f3e7d6481aafec8cc21f3c793cb33119b2471c4c213a57c91ebe27357a136afcb SHA512 50a76ff1d6b274f4f0ed24c5ddf4e5b022174a523d0b66e9f556c644c898a51e27ab334882df8d1313c74c367293bb9e3f7c32eee624e1fe795532722e3113ab
|
||||||
MISC metadata.xml 869 BLAKE2B c5414b2e27b44526c56e9c476d8c5540a3d7b462b70ed6e3e323c0dbee15c704055cc7d17bf270fbb7a6125bfa10a2934c9d56d5c727d73df0c8125ec30671d6 SHA512 f893bc5d9b44d26e178250432be8762524543f0c124c932d535e4f9742924d27a26b065a5d1275dc451f23b0ff72a55a2f5107749021081e7e399617de132f17
|
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