parent
44a3d3a0df
commit
ad3969e749
Binary file not shown.
Binary file not shown.
@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<!-- maintainer-needed -->
|
<maintainer type="person">
|
||||||
<upstream>
|
<email>grobian@gentoo.org</email>
|
||||||
<remote-id type="launchpad">ical-tcl</remote-id>
|
<name>Fabian Groffen</name>
|
||||||
</upstream>
|
</maintainer>
|
||||||
</pkgmetadata>
|
</pkgmetadata>
|
@ -0,0 +1,9 @@
|
|||||||
|
# Copyright 2019-2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=7
|
||||||
|
|
||||||
|
inherit acct-group
|
||||||
|
|
||||||
|
DESCRIPTION="Group for mail-filter/opendmarc "
|
||||||
|
ACCT_GROUP_ID=244
|
Binary file not shown.
@ -0,0 +1,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.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.3.tar.gz 2874796 BLAKE2B d266018f2508153369e10c6f9cf4c53eaeafdf0efe88da6de19efd76ef13fedebe4b9339ae594b751a12cf18a8c4dcd57466ceedfabf61406f63b69c75fceff1 SHA512 019b58779f5a7d9a9472b415715876d0daac313a02b794900339469ee0b5a27ce202e397c00ad6396b7e26a7c303e52c28d981fff85cf774c79a5a8a9835836d
|
||||||
DIST nano-5.5.tar.gz 2943973 BLAKE2B cecc4b3bb74c6ca35a249052cc58df618b6a0445781813d1b06164afb3d119bedf49bdb0a04c327d4db968eeb5b0f1087b84184b83d4b92548c3146a4400389d SHA512 968eac59db2889ba1cb75bc83a30fd0c0ae370a05c668da0f3a20768158f3be0962034737924ea49f06e696e68625bc6841f41aae86aebbe8ba7c00b2627c056
|
|
||||||
DIST nano-5.6.1.tar.gz 2957693 BLAKE2B dbd1a63b6e0997a30a2ef40ad3248a7f53e2613d4662d5b9fc585bd0e2dfe78f8e8c71354e1a5bbf043ca99e0a69742df7846656d1f0706af79bcbfc53b6d1a6 SHA512 e27ca4411472409bd6ff8d812405e4d8aa869c1348c0a6adbb1c538fb5bdd112b322ef6d8a13df0b43c472d925b94111ac676d03f360d79181dee335a4fd09cf
|
DIST nano-5.6.1.tar.gz 2957693 BLAKE2B dbd1a63b6e0997a30a2ef40ad3248a7f53e2613d4662d5b9fc585bd0e2dfe78f8e8c71354e1a5bbf043ca99e0a69742df7846656d1f0706af79bcbfc53b6d1a6 SHA512 e27ca4411472409bd6ff8d812405e4d8aa869c1348c0a6adbb1c538fb5bdd112b322ef6d8a13df0b43c472d925b94111ac676d03f360d79181dee335a4fd09cf
|
||||||
DIST nano-5.6.tar.gz 2956090 BLAKE2B 753c49e67403577ac272438b2a577f29978f621cb1823f3ccc4fb5df229b805c72a7123d5e5632cb9e1d4b50c7cf90675d748e7e88709703be44126e11231974 SHA512 fff8a558b435b9f372f19306e63c3bad34a60b4b1979ddf2a5724f96ca69fd7fd5850e841f714fad2e382ffc8e5c3f5085f6a6e965ff30f44bf12b8ac865fe6b
|
DIST nano-5.7.tar.gz 2989413 BLAKE2B 604f3140bd963661bb7d13933b5bac867bcfd90635287dc8f160e4bda094641c20f2fe2157fe1b5eda28842f78c4e651a354ed6edcafe67b4f2bf6c9eda0051c SHA512 f6d580918c488b15a5f8f77b4b52ea3e86535c251fe32dd978bae014bcadd543a5696f7741018ffd05b6271c1defe6a67687577f3cfe059ed2b4d3e422b2a694
|
||||||
|
@ -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 1363162 BLAKE2B e2d9d281cf521575aeecefbcba0c7b7f336ab73193be94e760b37eb6f3423ec3520f194549def6f64c1662f22b7df5a03dfc6b4e6dac1bf229c5f726f51b4d43 SHA512 98514796ef2091a291516ed7fde737df07ccfe374a0f8b4314e0ee992837e98ed02aa9f7809f8808a2f5ee1c7ae2dcea163531cdaedbb577211eeb9beff90c15
|
||||||
DIST lxc-4.0.6.tar.gz.asc 833 BLAKE2B 04b6bda0ed52a6ab8eebde4d3d5f1f6cb19eea017ae989d47323831d467324f99801b40c3bb70f00d7521753a298e6fa339f0da039c4d72b0163d0efc815d7e7 SHA512 baeafa5b63034e2884d5ab4f11710612bed1c61cd493ac19b9b24b93365b89325518b69878015b4b752f71beda47ecabf774b698e6be9ec9aa86376df2c302db
|
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-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.18.iso 61157376 BLAKE2B e022cfbc70fa45889c1db7592f30814faf88d7614c30ebd3fccd0127732d7fec51423904a160797ac199315dcbe4791f025e2dc4754141bfef0862b11510626c SHA512 07be8be75feb2d7d9bfc984ce34b955339d391580192817c2eb216b7577576a003dde310cc09f18c6b6bcf2e30ad548e1ee8bde0af420e4d1d43a3486861cf19
|
||||||
DIST VBoxGuestAdditions_6.1.20.iso 61018112 BLAKE2B feb6a292b05e861a90fdc5db80bc15e9df593a365a866a31ab7afce704511463012c18d76dc928dc5ecd0d2a23bc518c37ad9cdc8b4b72397af3ddd4b3eb97d8 SHA512 122bd5d31ab5cac2fe0582d1d541b5e9d0e8e544e1b3c5afb2b2e2c8b26fbfa964d15053ccc256575753d31206bffc09380dabc79d93946b0e56b743d82e40fe
|
DIST VBoxGuestAdditions_6.1.20.iso 61018112 BLAKE2B feb6a292b05e861a90fdc5db80bc15e9df593a365a866a31ab7afce704511463012c18d76dc928dc5ecd0d2a23bc518c37ad9cdc8b4b72397af3ddd4b3eb97d8 SHA512 122bd5d31ab5cac2fe0582d1d541b5e9d0e8e544e1b3c5afb2b2e2c8b26fbfa964d15053ccc256575753d31206bffc09380dabc79d93946b0e56b743d82e40fe
|
||||||
|
DIST VBoxGuestAdditions_6.1.22.iso 61020160 BLAKE2B e6b79942ed905654ac98323fe5c960afe7467e4ee9da168f7a7b4856a001fa973418e979da57b6e75eedd801bd71f15700ac62a2dfac28b660b36b11287fab57 SHA512 826a4b7d714d1dcb3e7c5c3c95e2a47d2fef728172f2db0e9c983150d7cc335ca7ffd2c87c09e1ca3d0fb1342f4c6c03993f5fc8cff19f28e1f519dec0f3f96b
|
||||||
|
@ -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.18-142142.tar.gz 11157510 BLAKE2B d9ee20abac79ed5de03c39d1e6af3a5f18c5416149e9e64ebe9dfc4a937bd72b6590a2daaccc820e3ee6c6efcfd0c1c8e29bf3844cbbb929f13052415e16f2bb SHA512 3686b1c5dbdc5b28c172b4885c30ca9a444bc10dc7984df14a17e1dcc571456b06e80ad38e1409de8692c483c56f397162a53bd3dc6956d9ca91875fda0bda4e
|
||||||
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.20-143896.tar.gz 11132930 BLAKE2B a26e05d9869a52187b379b24ed556c6296772d1360b6f7d61afe17c2818351b5ee2256398e0d53a16d2b6014540f343f7f13539c3d5529f079ac363b48ea0d6e SHA512 85cd8327860c253ce2f871dd1138d18d97b8706f64a3dafaaf340a43d8f44f7ee696a1f845761e7c8d6dcf11c7afd1618798194482b6e09cbe7e2657d980116a
|
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.20-143896.tar.gz 11132930 BLAKE2B a26e05d9869a52187b379b24ed556c6296772d1360b6f7d61afe17c2818351b5ee2256398e0d53a16d2b6014540f343f7f13539c3d5529f079ac363b48ea0d6e SHA512 85cd8327860c253ce2f871dd1138d18d97b8706f64a3dafaaf340a43d8f44f7ee696a1f845761e7c8d6dcf11c7afd1618798194482b6e09cbe7e2657d980116a
|
||||||
|
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.22-144080.tar.gz 11133865 BLAKE2B f0db84695d94d914afd22086ced2a2ca73f860a0bc91bc11744e2cc4a3203584b06f7c855053e33c5f775bc7f6db08b7400f5eeea89566b9146dd144ccf1a2f9 SHA512 71dc1a82b9b88f615ecc7172df344042366a9303115cf44685ea96e3e729b8280edd36377b207fdbbf8adb388d1ec9b21c3ee709cf44aeb52d6811b26fa69a80
|
||||||
|
@ -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.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c
|
||||||
DIST VirtualBox-6.1.20.tar.bz2 165569564 BLAKE2B cf8c110e78e7d7bef3e3243a8966f4d816dacc8dad6cc44737023a13f1b89dfb50661f6dabc742f328e5c03556ec82e7a22f5c1b97cfef774652ec901e733e5d SHA512 b5af4e04e1a52c85b20226a274fac93712b79d426c0268cce3f2a337616a03161a55522ecddd13844bfc24a6808ba3d651366e74ce657cc6f8fd64c34ae745a4
|
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
|
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.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.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.18.tar.bz2 165507486 BLAKE2B 3cf18f30671426f533838eb0579928b08ce022b832d509e70274978efce2e3e0e14dc8fbf258ef9a1ce8a3d666081863aa6971340e04600434f58136fe5c221a SHA512 41cb4bd42429b09836c59ef9867dd3d35d0d5512ff6e515a7f8688ed444c079ce353a84f0d45b607ccf08424782d5de09b264f51b2c41a9ec34eb834458c293c
|
||||||
DIST VirtualBox-6.1.20.tar.bz2 165569564 BLAKE2B cf8c110e78e7d7bef3e3243a8966f4d816dacc8dad6cc44737023a13f1b89dfb50661f6dabc742f328e5c03556ec82e7a22f5c1b97cfef774652ec901e733e5d SHA512 b5af4e04e1a52c85b20226a274fac93712b79d426c0268cce3f2a337616a03161a55522ecddd13844bfc24a6808ba3d651366e74ce657cc6f8fd64c34ae745a4
|
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
|
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-20200225.2.tar.gz 1679650 BLAKE2B bbadb2b86fd390f51322e687526c72a3b13caff6391974462a1146cc563616ce479330336a489a71e27b143e7cbea6695fc12c91fb721185a5116b3a6c5506b1 SHA512 75a607dee825e83c10dcd5e509515461f1b12c4aca861e4739ac4d41357b8e893dbfbe33873aa5c05463dde0891dedd7535af2ec59f173de29488e1b1321b335
|
||||||
DIST abseil-cpp-20200923.2.tar.gz 1783972 BLAKE2B 7ba01cab353de9bf34230e0efa567b1dc16680144579841a0fd127b95fb36cc8b63fc3c7da6a0a7c350c32b91955c6b6bb23a3ca52e50174a4dce5d3c1b9e936 SHA512 fdbb0f84265bc1d4f24aac0af6d0eb8cb603f801fc14d63ac1e9d3bab47703a8a2ff5f44a0a4d325819dbea50fc533d967e1bfd65004ec11ef35fadc44a2b855
|
DIST abseil-cpp-20200923.3.tar.gz 1783980 BLAKE2B 66d46fd6aafe0bf0d3fccd8a4e0a72fb0545a405d9c92d36ffcb1cf791b6d0eb85fd55218f740ba34c05c7bc952ad1aeaa367963b1f540f03a4f510fd02cd6d5 SHA512 7d9e2bc001a397b983afe1e5ca4d779bd27d0d30fad7f44e564a675e228f2fc29c203ef89dd1b0ff4a1832c6d99ae7627c9103a0daa6cccb426472528109ef85
|
||||||
DIST abseil-cpp-20210324.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
|
DIST abseil-cpp-20210324.1.tar.gz 1774134 BLAKE2B 8dd42b3d60a38995eeeeb72ba8aaa367c3caff118d88069dba9df24b155318ffd6c4e289c263346899bf7fc0bf6e8332380407a8a93c77f8cade0e8e74743b84 SHA512 fe593ed98eeea5461abca95ebb9dd3f7e8eedaa15e009f776945fdbb6ed489c61966611c1c72558d2ccdd541b952a345e51885d522ff29542cbcc837cf565866
|
||||||
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
|
DIST gtest-1.10.0_p20200702.tar.gz 866900 BLAKE2B c162d47868583ba270675abe5df935b8f4b9a9c00dbdc80dd88afa7f2b98266640b32b2ea5e8f9f6d6227196b5d2f79dbfda4e9585106224e814cc1503cf777d SHA512 715d887b59b47d4691c7c90ef0cf0ffc3d1e758e500263c76b50fd506e90a9d1c390af745933cfe3f55e1edac5d72dccedef3cb9a50b71a5b796424471a3017b
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
DIST notcurses-2.2.3.tar.gz 10861361 BLAKE2B e7b487e84b5defbb1208f355c85f7178b05f412c2a746a8bcecb2da7db8df32da563aeb1f1f218014a2ff9803f0984889e4341d59f585add49c944d4707e5cd4 SHA512 9c718a39352cc10e4f4cb24cd7940ccc7ac7ad1f5890f1a87166267b3c24011629464a4720f08c2b8bbf0fab2c5cb9b31fba7a43bc62ae65dff894019adece7d
|
DIST notcurses-2.2.8.tar.gz 11255362 BLAKE2B d56f48ecfcfc107d696bb1da029afba8c8a29ea6f0d6317ccdd42d895d890c0cc1d46120566c2f60bd554c2a57aa60409276632216608b29469421a1c22cecf2 SHA512 7455ad1dfbeda68a0b2c35ba3bb28eab3bc0be1ca4db12ce0e3662cf12f1e541dec506c9896624f77ef8032ae6b644ee85ac5abf2272f54fb1c9038b33214892
|
||||||
DIST notcurses-doc-2.2.3.tar.gz 89550 BLAKE2B a42c74f95166e48ecff99a05d66925869a44a44c4faa867cca663d94ee340748417d6560d022fdb90c7761c19285b0c4838b75843a3d26d25182977f68a0d6ce SHA512 b61f829d1ad5f69147a7b4fe139db406d5a26683b55d72251f3e313c17f591ad4e9e868577fbecf86c4ac9959c942e244927fb29a2e44996fadde7946493ccc8
|
DIST notcurses-doc-2.2.8.tar.gz 115654 BLAKE2B c770f81a3ad4071f75e84caaa4370f26e68ced2489586ae857a8e3c2cf998e0d7b5d84b8fd09150ace51898731150e499f648ad2e6d5be442df11c648ba58ccd SHA512 1a2c8931bd4f68dfdd2fa921d06b639d5fa382d826d5c9e0186b4d0160f220f3f32b1eb19f17136c4d452c8afd9f6fff1b4f463a11d847ef9216ddb94b5c8ab8
|
||||||
|
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.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.15.tar.xz 10332360 BLAKE2B 3217378a2fa9e3cd030f585696ac48c50bf4f2509401276783ceb3c757155fb4a06dde8fbb93588e96b16f1f8bbcb32337f58a31c2c0c2009d3659136453c4e1 SHA512 51a815852c08518d6706fc719e3bafd214889580cc5ca0e5049ae7e8f6173e83b9486bc9a69afd1ea4ab1778bb2879bd917595cd04cbcc50b182a10230f08175
|
||||||
DIST php-7.4.16.tar.xz 10334672 BLAKE2B 685717509115e9607fb8ff4ae439bd3b70e5c1f2a11ab83f4944be74cb1502868b9e3aceb6898288ae6e5cdd50c8dba294c03618eaa7accd10c0b425069ef0cb SHA512 a7845fe0a7c334829bfa9518d3f2947036e1b03c8f4346622f9ab37563ff3af03f6559878b83aa0e6ad69e9919b6478345a0cc6ec59161ef36c64a5073e83f84
|
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.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.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.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.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"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<!-- maintainer-needed -->
|
<maintainer type="person" proxied="yes">
|
||||||
<upstream>
|
<email>gentoo@tastytea.de</email>
|
||||||
<remote-id type="github">devnev/libxdg-basedir</remote-id>
|
<name>Ronny (tastytea) Gutbrod</name>
|
||||||
</upstream>
|
</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>
|
</pkgmetadata>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue