parent
44a3d3a0df
commit
ad3969e749
Binary file not shown.
Binary file not shown.
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="launchpad">ical-tcl</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="person">
|
||||
<email>grobian@gentoo.org</email>
|
||||
<name>Fabian Groffen</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,9 @@
|
||||
# Copyright 2019-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="Group for mail-filter/opendmarc "
|
||||
ACCT_GROUP_ID=244
|
Binary file not shown.
@ -0,0 +1,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,3 +1,2 @@
|
||||
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.47.tar.bz2 7187445 BLAKE2B ba5b6ebac73aaa6f2f0d7a34d5bf9d13bd4ac862ee9d04b105c315c3aad16401b842b6901424dba6a44a0b5d255c0356e0bf72b5d1898b4b091b12192c204c96 SHA512 ac05e878604037572b484c32c767e022bf027e5efa2a2ed28472939d9f536448f1536ede4d809f1e913a29a0247bdd27981bd00d3d8614f978573c14bce7c7af
|
||||
|
@ -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
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -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 ();
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST deja-dup-42.7.tar.bz2 1384797 BLAKE2B f462df835039606b721d935e086e51ee27e861baa1fbc5836bb79952c838921cf5f28d439465451c5259bc2c77fa9cb839488c8b0196c6d176e32d9e42180539 SHA512 80c57fe75635346cf2597195e7f7b76e2562aaa6900e78fbfb7ad6ada9c268df36d4e16aa7ca522e1570987f5826586e1cab5fecb7d5ba90e34a23a349b47a74
|
@ -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,4 +1,3 @@
|
||||
DIST nano-5.3.tar.gz 2874796 BLAKE2B d266018f2508153369e10c6f9cf4c53eaeafdf0efe88da6de19efd76ef13fedebe4b9339ae594b751a12cf18a8c4dcd57466ceedfabf61406f63b69c75fceff1 SHA512 019b58779f5a7d9a9472b415715876d0daac313a02b794900339469ee0b5a27ce202e397c00ad6396b7e26a7c303e52c28d981fff85cf774c79a5a8a9835836d
|
||||
DIST nano-5.5.tar.gz 2943973 BLAKE2B cecc4b3bb74c6ca35a249052cc58df618b6a0445781813d1b06164afb3d119bedf49bdb0a04c327d4db968eeb5b0f1087b84184b83d4b92548c3146a4400389d SHA512 968eac59db2889ba1cb75bc83a30fd0c0ae370a05c668da0f3a20768158f3be0962034737924ea49f06e696e68625bc6841f41aae86aebbe8ba7c00b2627c056
|
||||
DIST nano-5.6.1.tar.gz 2957693 BLAKE2B dbd1a63b6e0997a30a2ef40ad3248a7f53e2613d4662d5b9fc585bd0e2dfe78f8e8c71354e1a5bbf043ca99e0a69742df7846656d1f0706af79bcbfc53b6d1a6 SHA512 e27ca4411472409bd6ff8d812405e4d8aa869c1348c0a6adbb1c538fb5bdd112b322ef6d8a13df0b43c472d925b94111ac676d03f360d79181dee335a4fd09cf
|
||||
DIST nano-5.6.tar.gz 2956090 BLAKE2B 753c49e67403577ac272438b2a577f29978f621cb1823f3ccc4fb5df229b805c72a7123d5e5632cb9e1d4b50c7cf90675d748e7e88709703be44126e11231974 SHA512 fff8a558b435b9f372f19306e63c3bad34a60b4b1979ddf2a5724f96ca69fd7fd5850e841f714fad2e382ffc8e5c3f5085f6a6e965ff30f44bf12b8ac865fe6b
|
||||
DIST nano-5.7.tar.gz 2989413 BLAKE2B 604f3140bd963661bb7d13933b5bac867bcfd90635287dc8f160e4bda094641c20f2fe2157fe1b5eda28842f78c4e651a354ed6edcafe67b4f2bf6c9eda0051c SHA512 f6d580918c488b15a5f8f77b4b52ea3e86535c251fe32dd978bae014bcadd543a5696f7741018ffd05b6271c1defe6a67687577f3cfe059ed2b4d3e422b2a694
|
||||
|
@ -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,2 +1,4 @@
|
||||
DIST lxc-4.0.6.tar.gz 1363162 BLAKE2B e2d9d281cf521575aeecefbcba0c7b7f336ab73193be94e760b37eb6f3423ec3520f194549def6f64c1662f22b7df5a03dfc6b4e6dac1bf229c5f726f51b4d43 SHA512 98514796ef2091a291516ed7fde737df07ccfe374a0f8b4314e0ee992837e98ed02aa9f7809f8808a2f5ee1c7ae2dcea163531cdaedbb577211eeb9beff90c15
|
||||
DIST lxc-4.0.6.tar.gz.asc 833 BLAKE2B 04b6bda0ed52a6ab8eebde4d3d5f1f6cb19eea017ae989d47323831d467324f99801b40c3bb70f00d7521753a298e6fa339f0da039c4d72b0163d0efc815d7e7 SHA512 baeafa5b63034e2884d5ab4f11710612bed1c61cd493ac19b9b24b93365b89325518b69878015b4b752f71beda47ecabf774b698e6be9ec9aa86376df2c302db
|
||||
DIST lxc-4.0.7.tar.gz 1485130 BLAKE2B 1b806282f3a07df1936f11a6c7c8f0f4dd10ca91aecb3cf881e4cd5c4106035828619ee4bcb163242206e6aafced7841fcd10c191f1b8d609d4e8cb19d81ba6c SHA512 cc04332466090154cf1862fad7a52c9ad7f08462cbe113b12092face43c0e92d53e082af7744667d5397e6289f4ffcf6787c0cb17648013d267b13437be4d992
|
||||
DIST lxc-4.0.7.tar.gz.asc 833 BLAKE2B 90e533b5fe96b1f8fd2d3dc08e45438b9211855c79ec514ab722ad5e5b6ec0cbd3579805143c81c854ac09d50ee14319404ee4523dff69c05f4a43137284235f SHA512 a64624b2796d0dac2e0c274cfaaf7c42c23d77903f643005bd5433543318c81b0e715042332a1c120250d4ef23d51ef9be0b7cedeced4f7bfe53d1aee46a6822
|
||||
|
@ -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
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST qemu-5.2.0.tar.xz 106902800 BLAKE2B 4413d5591cbabf80faba5b0b7347ee7749ff0a71af44bdf7f64b1995e17ecf1f3df539fa8e63959e0d50cd0502a41a2921e60cc6d078ed8ab5b09ab4b86d4ed7 SHA512 bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc0c79c536ac12d239678ae94c60100dc124be9b9d9538340c03a2f27177f3
|
||||
DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4
|
||||
|
@ -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,2 +1,3 @@
|
||||
DIST VBoxGuestAdditions_6.1.18.iso 61157376 BLAKE2B e022cfbc70fa45889c1db7592f30814faf88d7614c30ebd3fccd0127732d7fec51423904a160797ac199315dcbe4791f025e2dc4754141bfef0862b11510626c SHA512 07be8be75feb2d7d9bfc984ce34b955339d391580192817c2eb216b7577576a003dde310cc09f18c6b6bcf2e30ad548e1ee8bde0af420e4d1d43a3486861cf19
|
||||
DIST VBoxGuestAdditions_6.1.20.iso 61018112 BLAKE2B feb6a292b05e861a90fdc5db80bc15e9df593a365a866a31ab7afce704511463012c18d76dc928dc5ecd0d2a23bc518c37ad9cdc8b4b72397af3ddd4b3eb97d8 SHA512 122bd5d31ab5cac2fe0582d1d541b5e9d0e8e544e1b3c5afb2b2e2c8b26fbfa964d15053ccc256575753d31206bffc09380dabc79d93946b0e56b743d82e40fe
|
||||
DIST VBoxGuestAdditions_6.1.22.iso 61020160 BLAKE2B e6b79942ed905654ac98323fe5c960afe7467e4ee9da168f7a7b4856a001fa973418e979da57b6e75eedd801bd71f15700ac62a2dfac28b660b36b11287fab57 SHA512 826a4b7d714d1dcb3e7c5c3c95e2a47d2fef728172f2db0e9c983150d7cc335ca7ffd2c87c09e1ca3d0fb1342f4c6c03993f5fc8cff19f28e1f519dec0f3f96b
|
||||
|
@ -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,2 +1,3 @@
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.18-142142.tar.gz 11157510 BLAKE2B d9ee20abac79ed5de03c39d1e6af3a5f18c5416149e9e64ebe9dfc4a937bd72b6590a2daaccc820e3ee6c6efcfd0c1c8e29bf3844cbbb929f13052415e16f2bb SHA512 3686b1c5dbdc5b28c172b4885c30ca9a444bc10dc7984df14a17e1dcc571456b06e80ad38e1409de8692c483c56f397162a53bd3dc6956d9ca91875fda0bda4e
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.20-143896.tar.gz 11132930 BLAKE2B a26e05d9869a52187b379b24ed556c6296772d1360b6f7d61afe17c2818351b5ee2256398e0d53a16d2b6014540f343f7f13539c3d5529f079ac363b48ea0d6e SHA512 85cd8327860c253ce2f871dd1138d18d97b8706f64a3dafaaf340a43d8f44f7ee696a1f845761e7c8d6dcf11c7afd1618798194482b6e09cbe7e2657d980116a
|
||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.22-144080.tar.gz 11133865 BLAKE2B f0db84695d94d914afd22086ced2a2ca73f860a0bc91bc11744e2cc4a3203584b06f7c855053e33c5f775bc7f6db08b7400f5eeea89566b9146dd144ccf1a2f9 SHA512 71dc1a82b9b88f615ecc7172df344042366a9303115cf44685ea96e3e729b8280edd36377b207fdbbf8adb388d1ec9b21c3ee709cf44aeb52d6811b26fa69a80
|
||||
|
@ -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
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST VirtualBox-6.1.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c
|
||||
DIST VirtualBox-6.1.20.tar.bz2 165569564 BLAKE2B cf8c110e78e7d7bef3e3243a8966f4d816dacc8dad6cc44737023a13f1b89dfb50661f6dabc742f328e5c03556ec82e7a22f5c1b97cfef774652ec901e733e5d SHA512 b5af4e04e1a52c85b20226a274fac93712b79d426c0268cce3f2a337616a03161a55522ecddd13844bfc24a6808ba3d651366e74ce657cc6f8fd64c34ae745a4
|
||||
DIST VirtualBox-6.1.22.tar.bz2 165560989 BLAKE2B 871c2189827174561a2abce4d52056db892e596bcff76274770b43157cca93d2be9a3458ad3d41cca81d73d95f1db37e2d15fdbc192f4d5a59e3cc9b6365d3f6 SHA512 ab0fc7cea455f74598d5da18528404405221e9c96a34f0355a39187524240596db4b54e1b1af5f152d5329b8e7977218819c0605f0d0ba0d83a1fb8f8487548d
|
||||
DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123
|
||||
|
@ -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 ""
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST vbox-kernel-module-src-6.1.18.tar.xz 672004 BLAKE2B 7199ba2a5020e5ab51d82735df16aee78ece74db232733b932c380f90dffd589a72613120bbd5c580381ab6f6308abb8d12f69855b9c0a8345bfb8587d022019 SHA512 49b54898b2701774fdeec0cd99dd51a1dd71ffd9be38e125fde73f0c64a697138d13bddbb0ed0e9582d354fa0394608084effb68bd35b266c87f6e3b44c6f342
|
||||
DIST vbox-kernel-module-src-6.1.20.tar.xz 672188 BLAKE2B 0b2ef1e02ce6f55211703946dc53df0fe949a94bac2caf050d31a78e674c2934d5cfaf788da2246000d1dc99218a572cb02272a1a92f4df913fcf7635b65a98b SHA512 4fdc16258ec03c720c81b62c680addcbde8257a58a94b3bca8eefd378c126833d84f7f4fa7bb76fcd7c761983f8626d121b2d31d761f608ca7cce6a689ec0469
|
||||
DIST vbox-kernel-module-src-6.1.22.tar.xz 672348 BLAKE2B 331f81c370c24487f4966c745a72329065df2cc22918d03edefdf546d8e4ff0a36404ce98f1012faaacc301cd2c507b055db69b9125f91ad87fa5fde14d3abe0 SHA512 b50d7699db8909ea4e9126715152336a2c46e06f9fc24b5ef0624e7d26de1c83b2a57b0387dab0a46a9e50f9906126cfdcae4f290599de88a980adaff7fba180
|
||||
|
@ -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
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST VirtualBox-6.1.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c
|
||||
DIST VirtualBox-6.1.20.tar.bz2 165569564 BLAKE2B cf8c110e78e7d7bef3e3243a8966f4d816dacc8dad6cc44737023a13f1b89dfb50661f6dabc742f328e5c03556ec82e7a22f5c1b97cfef774652ec901e733e5d SHA512 b5af4e04e1a52c85b20226a274fac93712b79d426c0268cce3f2a337616a03161a55522ecddd13844bfc24a6808ba3d651366e74ce657cc6f8fd64c34ae745a4
|
||||
DIST VirtualBox-6.1.22.tar.bz2 165560989 BLAKE2B 871c2189827174561a2abce4d52056db892e596bcff76274770b43157cca93d2be9a3458ad3d41cca81d73d95f1db37e2d15fdbc192f4d5a59e3cc9b6365d3f6 SHA512 ab0fc7cea455f74598d5da18528404405221e9c96a34f0355a39187524240596db4b54e1b1af5f152d5329b8e7977218819c0605f0d0ba0d83a1fb8f8487548d
|
||||
DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123
|
||||
|
@ -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.
@ -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 +0,0 @@
|
||||
DIST ical-3.0.tar.gz 373891 BLAKE2B 817a160abe682ee077733077f7f6b7a652e11cbce10333d75ba5d3b345e814481be8a90a1d4d959c24837dcf6c7a21f3cb75ada261436d1466890fab324dd5f6 SHA512 78cd07a206f4719dfb693b82fda4a735e70dc072fc75bf3885e72f668ebf7fa3511acedd82f99dd3ec366595a8c0ee8a1f13e5dc836732f241ff32d899eb3b25
|
@ -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,4 +1,4 @@
|
||||
DIST abseil-cpp-20200225.2.tar.gz 1679650 BLAKE2B bbadb2b86fd390f51322e687526c72a3b13caff6391974462a1146cc563616ce479330336a489a71e27b143e7cbea6695fc12c91fb721185a5116b3a6c5506b1 SHA512 75a607dee825e83c10dcd5e509515461f1b12c4aca861e4739ac4d41357b8e893dbfbe33873aa5c05463dde0891dedd7535af2ec59f173de29488e1b1321b335
|
||||
DIST abseil-cpp-20200923.2.tar.gz 1783972 BLAKE2B 7ba01cab353de9bf34230e0efa567b1dc16680144579841a0fd127b95fb36cc8b63fc3c7da6a0a7c350c32b91955c6b6bb23a3ca52e50174a4dce5d3c1b9e936 SHA512 fdbb0f84265bc1d4f24aac0af6d0eb8cb603f801fc14d63ac1e9d3bab47703a8a2ff5f44a0a4d325819dbea50fc533d967e1bfd65004ec11ef35fadc44a2b855
|
||||
DIST abseil-cpp-20200923.3.tar.gz 1783980 BLAKE2B 66d46fd6aafe0bf0d3fccd8a4e0a72fb0545a405d9c92d36ffcb1cf791b6d0eb85fd55218f740ba34c05c7bc952ad1aeaa367963b1f540f03a4f510fd02cd6d5 SHA512 7d9e2bc001a397b983afe1e5ca4d779bd27d0d30fad7f44e564a675e228f2fc29c203ef89dd1b0ff4a1832c6d99ae7627c9103a0daa6cccb426472528109ef85
|
||||
DIST abseil-cpp-20210324.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
|
||||
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST notcurses-2.2.3.tar.gz 10861361 BLAKE2B e7b487e84b5defbb1208f355c85f7178b05f412c2a746a8bcecb2da7db8df32da563aeb1f1f218014a2ff9803f0984889e4341d59f585add49c944d4707e5cd4 SHA512 9c718a39352cc10e4f4cb24cd7940ccc7ac7ad1f5890f1a87166267b3c24011629464a4720f08c2b8bbf0fab2c5cb9b31fba7a43bc62ae65dff894019adece7d
|
||||
DIST notcurses-doc-2.2.3.tar.gz 89550 BLAKE2B a42c74f95166e48ecff99a05d66925869a44a44c4faa867cca663d94ee340748417d6560d022fdb90c7761c19285b0c4838b75843a3d26d25182977f68a0d6ce SHA512 b61f829d1ad5f69147a7b4fe139db406d5a26683b55d72251f3e313c17f591ad4e9e868577fbecf86c4ac9959c942e244927fb29a2e44996fadde7946493ccc8
|
||||
DIST notcurses-2.2.8.tar.gz 11255362 BLAKE2B d56f48ecfcfc107d696bb1da029afba8c8a29ea6f0d6317ccdd42d895d890c0cc1d46120566c2f60bd554c2a57aa60409276632216608b29469421a1c22cecf2 SHA512 7455ad1dfbeda68a0b2c35ba3bb28eab3bc0be1ca4db12ce0e3662cf12f1e541dec506c9896624f77ef8032ae6b644ee85ac5abf2272f54fb1c9038b33214892
|
||||
DIST notcurses-doc-2.2.8.tar.gz 115654 BLAKE2B c770f81a3ad4071f75e84caaa4370f26e68ced2489586ae857a8e3c2cf998e0d7b5d84b8fd09150ace51898731150e499f648ad2e6d5be442df11c648ba58ccd SHA512 1a2c8931bd4f68dfdd2fa921d06b639d5fa382d826d5c9e0186b4d0160f220f3f32b1eb19f17136c4d452c8afd9f6fff1b4f463a11d847ef9216ddb94b5c8ab8
|
||||
|
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
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
DIST php-7.3.27.tar.xz 12137924 BLAKE2B f4648fdc2b8903ce1b68221eeb49e7764c5446a3d0d0d93e9cd2d8b4cb08e57229261f6fac4ebf35127e94afd5f157ec8f27659ce463e281784c755a3759481e SHA512 a5c186663d656b473f6165b433077057972b1454013ca0f99831be61bd7b7f1c841b8dae69951fa371f678ea3f0e5410518427ee08cb20611bfc00f263d4d47a
|
||||
DIST php-7.3.28.tar.xz 12139380 BLAKE2B 696c573878866e97fcae5fe3e33e83e75bf706d0eec2a66b2532ec54ce730e3f4b3fa6f0659ebf14193b6b2a6292d624bf478706790aab60b13b5cea0a1299fb SHA512 91f4f23fea6e2c5ea1fa5774075e1b1f7cfcc46064ab0d2f03e4f1b9b6c3dd7fd5a59854ed3fe3a8e2962283045f6a1c3273438b4bc0c68b11f41b9338f44274
|
||||
DIST php-7.4.15.tar.xz 10332360 BLAKE2B 3217378a2fa9e3cd030f585696ac48c50bf4f2509401276783ceb3c757155fb4a06dde8fbb93588e96b16f1f8bbcb32337f58a31c2c0c2009d3659136453c4e1 SHA512 51a815852c08518d6706fc719e3bafd214889580cc5ca0e5049ae7e8f6173e83b9486bc9a69afd1ea4ab1778bb2879bd917595cd04cbcc50b182a10230f08175
|
||||
DIST php-7.4.16.tar.xz 10334672 BLAKE2B 685717509115e9607fb8ff4ae439bd3b70e5c1f2a11ab83f4944be74cb1502868b9e3aceb6898288ae6e5cdd50c8dba294c03618eaa7accd10c0b425069ef0cb SHA512 a7845fe0a7c334829bfa9518d3f2947036e1b03c8f4346622f9ab37563ff3af03f6559878b83aa0e6ad69e9919b6478345a0cc6ec59161ef36c64a5073e83f84
|
||||
DIST php-8.0.3.tar.xz 10755796 BLAKE2B 5dd6afe985b4f5e33f456f05edda0207d8dfffbdc35d0b2290e1bd30a93bcfd94d6ef23e7d2c8d77b774a7ff95f49832687c75593d7ab38704b60ba3d9331598 SHA512 9b3631fea5280ed11c14a3ef1badb3da5b8ab19f29faa6b828ab033008ebebc487013d74d401d10b9cf21f354cd81100ba83562f3f080e23220ad38c02fb5a0d
|
||||
DIST php-8.0.5.tar.xz 10666412 BLAKE2B 4f3d0c1ab1aa998889abd7488c800216bd05c41996171929678fc084a2485d4199b49c0bc748612cf2cd1d238619fd183971d043fb8ca72db0b8dec6e2860566 SHA512 f128e1aa37dd808ec1626b6eb5ab7cc76575772ad86f1f640114186a10ffb79bdb07f0b30267ce316c7a54fc6397fa8a41e3476fee52cbe6a7b900eb5c6b83a0
|
||||
|
@ -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.
@ -1 +1,2 @@
|
||||
DIST dqlite-1.6.0.tar.gz 155087 BLAKE2B 97a49f78f1b6af5ff5abfe6c5e1e3eec67cc1da4bd9c49b785e6fff60e5fd39fa1f479269ec098935ebb7fbbca6346859b54bd0c9b8f428557e2768da938da0c SHA512 07abf0d3247afd0a8f4ea053e10fbf2e53f69dc1101a7e54e064282eee3590ef5925e9b794a7cfd891247747d34b68340946d322d582ce49282b6f56804e8578
|
||||
DIST dqlite-1.7.0.tar.gz 157454 BLAKE2B 3eeaaf5bbadfc09803e70d38fcd3ab23c212dc2700ad8ecdde720932b0ad2e32016503eaa8a738139a178bb926a7818497629699ec68eec8c2111f377b40b4a3 SHA512 bf94568b1b52b0d94ddf78a3f975e277a5baa0f553c5c1d175b7e58db3d44478a1b3f8ef962259175b29d774b2eb6ed6765874dd0d461126b3268abbdd57949e
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 2020-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Embeddable, replicated and fault tolerant SQL engine"
|
||||
HOMEPAGE="https://dqlite.io/ https://github.com/canonical/dqlite"
|
||||
SRC_URI="https://github.com/canonical/dqlite/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-3-with-linking-exception"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="dev-db/sqlite:3
|
||||
dev-libs/libuv
|
||||
dev-libs/raft"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-libs/raft[test] )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--disable-debug
|
||||
--disable-sanitize
|
||||
--disable-static
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST libinput-1.17.1.tar.xz 611492 BLAKE2B 274312240fccc49a45dedc3d41018bc952f25040217f388fd461aebabe796be106dd4f34cb2e40ce91fc75219c47fbd605c6facdc4d47893420e5df199a7edb7 SHA512 2e7baa198fed9c673d28453efb066f9371f2b575a844e41cde455c636bbe1cc68faae7129026944a502cd5d7bfcc72272066b9e3cda5c959f7b464483f9dd860
|
||||
DIST libinput-1.17.2.tar.xz 611388 BLAKE2B a94ab1e3ef65f49a3043e5f84d68748c4800be1e2e0911b45be2a9cd6655311b2e6c2fcde64827f57e74318fc759d95e045125239305a2ae94175371c178c50a SHA512 b8953ad483648d5629d56c4dc226d4906693b15da5ba4027627a51ec35ea65b0603c09056b52ed2025df1f7a877669a5b7482c025e0b37003fc676563bd05263
|
||||
|
@ -0,0 +1,88 @@
|
||||
# Copyright 2014-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit meson python-any-r1 udev
|
||||
|
||||
DESCRIPTION="Library to handle input devices in Wayland"
|
||||
HOMEPAGE="https://www.freedesktop.org/wiki/Software/libinput/ https://gitlab.freedesktop.org/libinput/libinput"
|
||||
SRC_URI="https://www.freedesktop.org/software/${PN}/${P}.tar.xz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/10"
|
||||
[[ "$(ver_cut 3)" -gt 900 ]] || \
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="doc input_devices_wacom test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
$(python_gen_any_dep '
|
||||
dev-python/commonmark[${PYTHON_USEDEP}]
|
||||
dev-python/recommonmark[${PYTHON_USEDEP}]
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
>=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]
|
||||
')
|
||||
>=app-doc/doxygen-1.8.3
|
||||
>=media-gfx/graphviz-2.38.0
|
||||
)
|
||||
"
|
||||
# test? ( dev-util/valgrind )
|
||||
RDEPEND="
|
||||
input_devices_wacom? ( >=dev-libs/libwacom-0.20 )
|
||||
>=dev-libs/libevdev-1.3
|
||||
>=sys-libs/mtdev-1.1
|
||||
virtual/libudev:=
|
||||
virtual/udev
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( >=dev-libs/check-0.9.10 )"
|
||||
|
||||
python_check_deps() {
|
||||
has_version "dev-python/commonmark[${PYTHON_USEDEP}]" && \
|
||||
has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" && \
|
||||
has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && \
|
||||
has_version ">=dev-python/sphinx_rtd_theme-0.2.4[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use doc && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed "s@, '-Werror'@@" -i meson.build || die #744250
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# gui can be built but will not be installed
|
||||
local emesonargs=(
|
||||
-Ddebug-gui=false
|
||||
$(meson_use doc documentation)
|
||||
$(meson_use input_devices_wacom libwacom)
|
||||
$(meson_use test tests)
|
||||
-Dudev-dir="${EPREFIX}$(get_udevdir)"
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
if use doc ; then
|
||||
docinto html
|
||||
dodoc -r "${BUILD_DIR}"/Documentation/.
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
pkgname="dev-python/python-libevdev"
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]] && ! has_version "${pkgname}" ; then
|
||||
einfo "${pkgname} must be installed to use the"
|
||||
einfo "libinput measure and libinput replay tools."
|
||||
fi
|
||||
|
||||
udevadm hwdb --update --root="${ROOT}"
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST libxdg-basedir-1.2.0.tar.gz 30159 BLAKE2B cd9eacf6d32e0f27aa4a9092fb919f027fe77905cf8cad2f3d860d93f9784bbcf85336704fd9241d58769e48b2a8a7e4b4ed306ff32328f1ddc7cce7b014dc09 SHA512 8584405d45e0b57e570666b6eab6d99d70411d00f88965826c9ed0292372385668f190157a10ff536f3a5a59fd0031b332ecbb8a38ac64eda1b04a0603997406
|
||||
DIST libxdg-basedir-1.2.3.tar.gz 30971 BLAKE2B 63e8197f33db1200573b03cb58e4760ebc9a58f132902f8290822d9235be27e22bc4b763150a526cce23be60d2d535cd8627259180edce4d889a077d4b0de20c SHA512 e672da0d9cd3c27c9113f6053b79127e615e5d84bde81305242f506e930869d8492304aac26a0296528d5a32530e4a743acecb6a25f58372ac597af284429f7c
|
||||
|
@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Small library to access XDG Base Directories Specification paths"
|
||||
HOMEPAGE="https://github.com/devnev/libxdg-basedir"
|
||||
SRC_URI="https://github.com/devnev/libxdg-basedir/archive/${P}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${P}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos ~x86-solaris"
|
||||
IUSE="doc"
|
||||
|
||||
BDEPEND="doc? ( app-doc/doxygen )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--disable-static \
|
||||
$(use_enable doc doxygen-html)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
|
||||
if use doc; then
|
||||
emake doxygen-doc
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
use doc && local HTML_DOCS=( doc/html/. )
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
}
|
@ -1,8 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="github">devnev/libxdg-basedir</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>gentoo@tastytea.de</email>
|
||||
<name>Ronny (tastytea) Gutbrod</name>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">devnev/libxdg-basedir</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue