parent
0fd37cbccc
commit
1b63612ab9
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST Bitwarden-1.22.2-amd64.deb 47983282 BLAKE2B f84bdfb44803fc13292b4fdd8653a9217efcfea08ed58407929d3061bce436727f1ec86ff99e6b968de17510ddb0aaeb2781beaae198661d30496050db90cf3f SHA512 131e49ef2dc74b601e31eb6a07da92ae43747c4fdf4729b84fb35f95c4bc38731e6b6f9185b919ede5c7c2cd4813dbddaea172d1287cd60f747b3032e12c09e9
|
||||
DIST Bitwarden-1.23.0-amd64.deb 47990216 BLAKE2B 7383c4b2b4b0c60bc78abdbb333846ed12d00025d90a6b2c49c177ffe53046652c4e8e4738a6d25495e087c38835ae03131a2f332cf9afaa0c00a613ea5e1349 SHA512 f23f8ba987308a2753fa8fc9450f01abcc49f2917d9a9f5feb64540ba0640630cd757a88d8aa3caad2a5f5383f8fdaac7845f59b33966dcc8ac6fec3cc3618c7
|
||||
|
@ -0,0 +1,78 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit unpacker xdg-utils
|
||||
|
||||
MY_PN="Bitwarden"
|
||||
DESCRIPTION="Bitwarden password manager desktop client"
|
||||
HOMEPAGE="https://bitwarden.com/"
|
||||
SRC_URI="https://github.com/bitwarden/desktop/releases/download/v${PV}/Bitwarden-${PV}-amd64.deb"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
app-accessibility/at-spi2-atk:2
|
||||
app-accessibility/at-spi2-core:2
|
||||
app-crypt/libsecret
|
||||
dev-libs/atk
|
||||
dev-libs/expat
|
||||
dev-libs/glib
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
media-libs/alsa-lib
|
||||
net-print/cups
|
||||
sys-apps/dbus
|
||||
sys-apps/util-linux
|
||||
x11-libs/cairo
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libX11
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXi
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXScrnSaver
|
||||
x11-libs/libXtst
|
||||
x11-libs/pango
|
||||
"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="
|
||||
opt/Bitwarden/*.so
|
||||
opt/Bitwarden/bitwarden
|
||||
opt/Bitwarden/chrome-sandbox
|
||||
"
|
||||
|
||||
src_install() {
|
||||
insinto /opt
|
||||
doins -r opt/${MY_PN}
|
||||
fperms 755 /opt/Bitwarden/bitwarden
|
||||
fperms 4755 /opt/Bitwarden/chrome-sandbox
|
||||
|
||||
insinto /usr/share/applications
|
||||
doins usr/share/applications/bitwarden.desktop
|
||||
|
||||
insinto /usr/share/icons
|
||||
doins -r usr/share/icons/hicolor
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST sudo-1.9.2.tar.gz 3890859 BLAKE2B 879917b8045c999a17ef36006732509aa546ee6bb04de77191fb637aa0420d54f9e51ec69b697c22119d638393e9c84efcc1ca5e6e8ee5f0c08bb1ca07f3acea SHA512 20afdf2604b1c93395157382b24f225cd1ff88d3a892362e2d69fecd240c4e7171f05032c08be1778cd1dea6e460025e4241f57272fac0ea3550e220b6d73d21
|
||||
DIST sudo-1.9.3p1.tar.gz 3958071 BLAKE2B b681c120faa5dc7f25e27c1be423d68cea70f63dcdfea2183fd386a34dec0376555453399d3f8886c66c6507343648d40b59a058710432154061b210df2a704c SHA512 3ad13fd03e5b371fd6bf7909731ffc11431d2182a744b654f7e5d4b810e47955d49bc78f551afe13ec56acbce694139c33a15bc022cea41b17af5496b8b7f89f
|
||||
DIST sudo-1.9.4rc1.tar.gz 3990112 BLAKE2B f08f5651c6688bcf9ebaf95fcadeb5a78e7f78201d1d67fb9808b950df1f882b80b162acb79ee37c2b786045286202746fcb82c4659d57cafdfe74d4da79e86e SHA512 cf745dd1f798097fff38b6c74e9446005e589990b3580ba42e1af6bd68fbf084d6da836795a83f5222274ffff305a0899aae103723e68fd1c0ccaee7f16a477a
|
||||
|
@ -1,308 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Todd C. Miller <Todd.Miller@sudo.ws>
|
||||
# Date 1598395693 21600
|
||||
# Node ID e30482f26924b07775d87ae591e54ad72e794d5e
|
||||
# Parent 1ede927d99b3cb06ba514c9fd2fd7fa9a014a1b2
|
||||
Use sigabbrev_np(3) to access signal abbreviations if supported.
|
||||
glibc-2.32 has removed sys_sigabbrev[], we can use sigabbrev_np(3) instead.
|
||||
|
||||
diff -r 1ede927d99b3 -r e30482f26924 config.h.in
|
||||
--- a/config.h.in Mon Aug 17 19:37:09 2020 -0600
|
||||
+++ b/config.h.in Tue Aug 25 16:48:13 2020 -0600
|
||||
@@ -740,6 +740,9 @@
|
||||
/* Define to 1 if you have the `sig2str' function. */
|
||||
#undef HAVE_SIG2STR
|
||||
|
||||
+/* Define to 1 if you have the `sigabbrev_np' function. */
|
||||
+#undef HAVE_SIGABBREV_NP
|
||||
+
|
||||
/* Define to 1 if you use S/Key. */
|
||||
#undef HAVE_SKEY
|
||||
|
||||
diff -r 1ede927d99b3 -r e30482f26924 configure
|
||||
--- a/configure Mon Aug 17 19:37:09 2020 -0600
|
||||
+++ b/configure Tue Aug 25 16:48:13 2020 -0600
|
||||
@@ -23687,9 +23687,21 @@
|
||||
|
||||
|
||||
if test x"${ac_cv_func_sig2str}${ac_cv_func_str2sig}" != x"yesyes"; then
|
||||
- COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test"
|
||||
- HAVE_SIGNAME="false"
|
||||
- ac_fn_c_check_decl "$LINENO" "sys_signame" "ac_cv_have_decl_sys_signame" "
|
||||
+ for ac_func in sigabbrev_np
|
||||
+do :
|
||||
+ ac_fn_c_check_func "$LINENO" "sigabbrev_np" "ac_cv_func_sigabbrev_np"
|
||||
+if test "x$ac_cv_func_sigabbrev_np" = xyes; then :
|
||||
+ cat >>confdefs.h <<_ACEOF
|
||||
+#define HAVE_SIGABBREV_NP 1
|
||||
+_ACEOF
|
||||
+
|
||||
+fi
|
||||
+done
|
||||
+
|
||||
+ if test x"${ac_cv_func_sigabbrev_np}" != x"yes"; then
|
||||
+ COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test"
|
||||
+ HAVE_SIGNAME="false"
|
||||
+ ac_fn_c_check_decl "$LINENO" "sys_signame" "ac_cv_have_decl_sys_signame" "
|
||||
$ac_includes_default
|
||||
#include <signal.h>
|
||||
|
||||
@@ -23705,7 +23717,7 @@
|
||||
_ACEOF
|
||||
if test $ac_have_decl = 1; then :
|
||||
|
||||
- HAVE_SIGNAME="true"
|
||||
+ HAVE_SIGNAME="true"
|
||||
|
||||
fi
|
||||
ac_fn_c_check_decl "$LINENO" "_sys_signame" "ac_cv_have_decl__sys_signame" "
|
||||
@@ -23724,7 +23736,7 @@
|
||||
_ACEOF
|
||||
if test $ac_have_decl = 1; then :
|
||||
|
||||
- HAVE_SIGNAME="true"
|
||||
+ HAVE_SIGNAME="true"
|
||||
|
||||
fi
|
||||
ac_fn_c_check_decl "$LINENO" "sys_sigabbrev" "ac_cv_have_decl_sys_sigabbrev" "
|
||||
@@ -23743,12 +23755,12 @@
|
||||
_ACEOF
|
||||
if test $ac_have_decl = 1; then :
|
||||
|
||||
- HAVE_SIGNAME="true"
|
||||
-
|
||||
-fi
|
||||
-
|
||||
- if test "$HAVE_SIGNAME" != "true"; then
|
||||
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for undeclared sys_sigabbrev" >&5
|
||||
+ HAVE_SIGNAME="true"
|
||||
+
|
||||
+fi
|
||||
+
|
||||
+ if test "$HAVE_SIGNAME" != "true"; then
|
||||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for undeclared sys_sigabbrev" >&5
|
||||
$as_echo_n "checking for undeclared sys_sigabbrev... " >&6; }
|
||||
if ${sudo_cv_var_sys_sigabbrev+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
@@ -23777,17 +23789,18 @@
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_sys_sigabbrev" >&5
|
||||
$as_echo "$sudo_cv_var_sys_sigabbrev" >&6; }
|
||||
- if test "$sudo_cv_var_sys_sigabbrev" = yes; then
|
||||
- $as_echo "#define HAVE_SYS_SIGABBREV 1" >>confdefs.h
|
||||
-
|
||||
- else
|
||||
- case " $LIBOBJS " in
|
||||
+ if test "$sudo_cv_var_sys_sigabbrev" = yes; then
|
||||
+ $as_echo "#define HAVE_SYS_SIGABBREV 1" >>confdefs.h
|
||||
+
|
||||
+ else
|
||||
+ case " $LIBOBJS " in
|
||||
*" signame.$ac_objext "* ) ;;
|
||||
*) LIBOBJS="$LIBOBJS signame.$ac_objext"
|
||||
;;
|
||||
esac
|
||||
|
||||
- SIGNAME=signame.lo
|
||||
+ SIGNAME=signame.lo
|
||||
+ fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
diff -r 1ede927d99b3 -r e30482f26924 configure.ac
|
||||
--- a/configure.ac Mon Aug 17 19:37:09 2020 -0600
|
||||
+++ b/configure.ac Tue Aug 25 16:48:13 2020 -0600
|
||||
@@ -3498,29 +3498,32 @@
|
||||
dnl Also enable unit tests for sig2str() and str2sig().
|
||||
dnl
|
||||
if test x"${ac_cv_func_sig2str}${ac_cv_func_str2sig}" != x"yesyes"; then
|
||||
- COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test"
|
||||
- HAVE_SIGNAME="false"
|
||||
- AC_CHECK_DECLS([sys_signame, _sys_signame, sys_sigabbrev], [
|
||||
- HAVE_SIGNAME="true"
|
||||
- ], [ ], [
|
||||
+ AC_CHECK_FUNCS([sigabbrev_np])
|
||||
+ if test x"${ac_cv_func_sigabbrev_np}" != x"yes"; then
|
||||
+ COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }strsig_test"
|
||||
+ HAVE_SIGNAME="false"
|
||||
+ AC_CHECK_DECLS([sys_signame, _sys_signame, sys_sigabbrev], [
|
||||
+ HAVE_SIGNAME="true"
|
||||
+ ], [ ], [
|
||||
AC_INCLUDES_DEFAULT
|
||||
#include <signal.h>
|
||||
- ])
|
||||
- if test "$HAVE_SIGNAME" != "true"; then
|
||||
- AC_CACHE_CHECK([for undeclared sys_sigabbrev],
|
||||
- [sudo_cv_var_sys_sigabbrev],
|
||||
- [AC_LINK_IFELSE(
|
||||
- [AC_LANG_PROGRAM([[extern char **sys_sigabbrev;]], [[return sys_sigabbrev[1];]])],
|
||||
- [sudo_cv_var_sys_sigabbrev=yes],
|
||||
- [sudo_cv_var_sys_sigabbrev=no]
|
||||
- )
|
||||
- ]
|
||||
- )
|
||||
- if test "$sudo_cv_var_sys_sigabbrev" = yes; then
|
||||
- AC_DEFINE(HAVE_SYS_SIGABBREV)
|
||||
- else
|
||||
- AC_LIBOBJ(signame)
|
||||
- SIGNAME=signame.lo
|
||||
+ ])
|
||||
+ if test "$HAVE_SIGNAME" != "true"; then
|
||||
+ AC_CACHE_CHECK([for undeclared sys_sigabbrev],
|
||||
+ [sudo_cv_var_sys_sigabbrev],
|
||||
+ [AC_LINK_IFELSE(
|
||||
+ [AC_LANG_PROGRAM([[extern char **sys_sigabbrev;]], [[return sys_sigabbrev[1];]])],
|
||||
+ [sudo_cv_var_sys_sigabbrev=yes],
|
||||
+ [sudo_cv_var_sys_sigabbrev=no]
|
||||
+ )
|
||||
+ ]
|
||||
+ )
|
||||
+ if test "$sudo_cv_var_sys_sigabbrev" = yes; then
|
||||
+ AC_DEFINE(HAVE_SYS_SIGABBREV)
|
||||
+ else
|
||||
+ AC_LIBOBJ(signame)
|
||||
+ SIGNAME=signame.lo
|
||||
+ fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
diff -r 1ede927d99b3 -r e30482f26924 lib/util/sig2str.c
|
||||
--- a/lib/util/sig2str.c Mon Aug 17 19:37:09 2020 -0600
|
||||
+++ b/lib/util/sig2str.c Tue Aug 25 16:48:13 2020 -0600
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* SPDX-License-Identifier: ISC
|
||||
*
|
||||
- * Copyright (c) 2012-2015, 2017-2019 Todd C. Miller <Todd.Miller@sudo.ws>
|
||||
+ * Copyright (c) 2012-2015, 2017-2020 Todd C. Miller <Todd.Miller@sudo.ws>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -32,20 +32,24 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include "sudo_compat.h"
|
||||
+#include "sudo_util.h"
|
||||
|
||||
-#if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1
|
||||
-# define sudo_sys_signame sys_signame
|
||||
-#elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1
|
||||
-# define sudo_sys_signame _sys_signame
|
||||
-#elif defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 1
|
||||
-# define sudo_sys_signame sys_sigabbrev
|
||||
-#else
|
||||
-# ifdef HAVE_SYS_SIGABBREV
|
||||
- /* sys_sigabbrev is not declared by glibc */
|
||||
-# define sudo_sys_signame sys_sigabbrev
|
||||
+#if !defined(HAVE_SIGABBREV_NP)
|
||||
+# if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1
|
||||
+# define sigabbrev_np(_x) sys_signame[(_x)]
|
||||
+# elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1
|
||||
+# define sigabbrev_np(_x) _sys_signame[(_x)]
|
||||
+# elif defined(HAVE_SYS_SIGABBREV)
|
||||
+# define sigabbrev_np(_x) sys_sigabbrev[(_x)]
|
||||
+# if defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 0
|
||||
+ /* sys_sigabbrev is not declared by glibc */
|
||||
+ extern const char *const sys_sigabbrev[NSIG];
|
||||
+# endif
|
||||
+# else
|
||||
+# define sigabbrev_np(_x) sudo_sys_signame[(_x)]
|
||||
+ extern const char *const sudo_sys_signame[NSIG];
|
||||
# endif
|
||||
-extern const char *const sudo_sys_signame[NSIG];
|
||||
-#endif
|
||||
+#endif /* !HAVE_SIGABBREV_NP */
|
||||
|
||||
/*
|
||||
* Translate signal number to name.
|
||||
@@ -77,15 +81,18 @@
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
- if (signo > 0 && signo < NSIG && sudo_sys_signame[signo] != NULL) {
|
||||
- strlcpy(signame, sudo_sys_signame[signo], SIG2STR_MAX);
|
||||
- /* Make sure we always return an upper case signame. */
|
||||
- if (islower((unsigned char)signame[0])) {
|
||||
- int i;
|
||||
- for (i = 0; signame[i] != '\0'; i++)
|
||||
- signame[i] = toupper((unsigned char)signame[i]);
|
||||
+ if (signo > 0 && signo < NSIG) {
|
||||
+ const char *cp = sigabbrev_np(signo);
|
||||
+ if (cp != NULL) {
|
||||
+ strlcpy(signame, cp, SIG2STR_MAX);
|
||||
+ /* Make sure we always return an upper case signame. */
|
||||
+ if (islower((unsigned char)signame[0])) {
|
||||
+ int i;
|
||||
+ for (i = 0; signame[i] != '\0'; i++)
|
||||
+ signame[i] = toupper((unsigned char)signame[i]);
|
||||
+ }
|
||||
+ return 0;
|
||||
}
|
||||
- return 0;
|
||||
}
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
diff -r 1ede927d99b3 -r e30482f26924 lib/util/str2sig.c
|
||||
--- a/lib/util/str2sig.c Mon Aug 17 19:37:09 2020 -0600
|
||||
+++ b/lib/util/str2sig.c Tue Aug 25 16:48:13 2020 -0600
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* SPDX-License-Identifier: ISC
|
||||
*
|
||||
- * Copyright (c) 2019 Todd C. Miller <Todd.Miller@sudo.ws>
|
||||
+ * Copyright (c) 2019-2020 Todd C. Miller <Todd.Miller@sudo.ws>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -37,19 +37,22 @@
|
||||
#include "sudo_compat.h"
|
||||
#include "sudo_util.h"
|
||||
|
||||
-#if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1
|
||||
-# define sudo_sys_signame sys_signame
|
||||
-#elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1
|
||||
-# define sudo_sys_signame _sys_signame
|
||||
-#elif defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 1
|
||||
-# define sudo_sys_signame sys_sigabbrev
|
||||
-#else
|
||||
-# ifdef HAVE_SYS_SIGABBREV
|
||||
- /* sys_sigabbrev is not declared by glibc */
|
||||
-# define sudo_sys_signame sys_sigabbrev
|
||||
+#if !defined(HAVE_SIGABBREV_NP)
|
||||
+# if defined(HAVE_DECL_SYS_SIGNAME) && HAVE_DECL_SYS_SIGNAME == 1
|
||||
+# define sigabbrev_np(_x) sys_signame[(_x)]
|
||||
+# elif defined(HAVE_DECL__SYS_SIGNAME) && HAVE_DECL__SYS_SIGNAME == 1
|
||||
+# define sigabbrev_np(_x) _sys_signame[(_x)]
|
||||
+# elif defined(HAVE_SYS_SIGABBREV)
|
||||
+# define sigabbrev_np(_x) sys_sigabbrev[(_x)]
|
||||
+# if defined(HAVE_DECL_SYS_SIGABBREV) && HAVE_DECL_SYS_SIGABBREV == 0
|
||||
+ /* sys_sigabbrev is not declared by glibc */
|
||||
+ extern const char *const sys_sigabbrev[NSIG];
|
||||
+# endif
|
||||
+# else
|
||||
+# define sigabbrev_np(_x) sudo_sys_signame[(_x)]
|
||||
+ extern const char *const sudo_sys_signame[NSIG];
|
||||
# endif
|
||||
-extern const char *const sudo_sys_signame[NSIG];
|
||||
-#endif
|
||||
+#endif /* !HAVE_SIGABBREV_NP */
|
||||
|
||||
/*
|
||||
* Many systems use aliases for source backward compatibility.
|
||||
@@ -154,11 +157,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
- /* Check sys_signame[]. */
|
||||
for (signo = 1; signo < NSIG; signo++) {
|
||||
- if (sudo_sys_signame[signo] != NULL) {
|
||||
+ const char *cp = sigabbrev_np(signo);
|
||||
+ if (cp != NULL) {
|
||||
/* On macOS sys_signame[] may contain lower-case names. */
|
||||
- if (strcasecmp(signame, sudo_sys_signame[signo]) == 0) {
|
||||
+ if (strcasecmp(signame, cp) == 0) {
|
||||
*result = signo;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,263 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit pam multilib libtool systemd tmpfiles
|
||||
|
||||
MY_P="${P/_/}"
|
||||
MY_P="${MY_P/beta/b}"
|
||||
|
||||
DESCRIPTION="Allows users or groups to run commands as other users"
|
||||
HOMEPAGE="https://www.sudo.ws/"
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
inherit mercurial
|
||||
EHG_REPO_URI="https://www.sudo.ws/repos/sudo"
|
||||
else
|
||||
uri_prefix=
|
||||
case ${P} in
|
||||
*_beta*|*_rc*) uri_prefix=beta/ ;;
|
||||
esac
|
||||
|
||||
SRC_URI="https://www.sudo.ws/sudo/dist/${uri_prefix}${MY_P}.tar.gz
|
||||
ftp://ftp.sudo.ws/pub/sudo/${uri_prefix}${MY_P}.tar.gz"
|
||||
if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86 ~sparc-solaris"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Basic license is ISC-style as-is, some files are released under
|
||||
# 3-clause BSD license
|
||||
LICENSE="ISC BSD"
|
||||
SLOT="0"
|
||||
IUSE="gcrypt ldap libressl nls offensive pam sasl +secure-path selinux +sendmail skey ssl sssd"
|
||||
|
||||
DEPEND="
|
||||
sys-libs/zlib:=
|
||||
gcrypt? ( dev-libs/libgcrypt:= )
|
||||
ldap? (
|
||||
>=net-nds/openldap-2.1.30-r1
|
||||
sasl? (
|
||||
dev-libs/cyrus-sasl
|
||||
net-nds/openldap[sasl]
|
||||
)
|
||||
)
|
||||
pam? ( sys-libs/pam )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
skey? ( >=sys-auth/skey-1.1.5-r1 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
sssd? ( sys-auth/sssd[sudo] )
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
>=app-misc/editor-wrapper-3
|
||||
virtual/editor
|
||||
ldap? ( dev-lang/perl )
|
||||
pam? ( sys-auth/pambase )
|
||||
selinux? ( sec-policy/selinux-sudo )
|
||||
sendmail? ( virtual/mta )
|
||||
"
|
||||
BDEPEND="
|
||||
sys-devel/bison
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
pam? ( !skey )
|
||||
skey? ( !pam )
|
||||
"
|
||||
|
||||
REQUIRED_USE="?? ( gcrypt ssl )"
|
||||
|
||||
MAKEOPTS+=" SAMPLES="
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
set_secure_path() {
|
||||
# FIXME: secure_path is a compile time setting. using PATH or
|
||||
# ROOTPATH is not perfect, env-update may invalidate this, but until it
|
||||
# is available as a sudoers setting this will have to do.
|
||||
einfo "Setting secure_path ..."
|
||||
|
||||
# first extract the default ROOTPATH from build env
|
||||
SECURE_PATH=$(unset ROOTPATH; . "${EPREFIX}"/etc/profile.env;
|
||||
echo "${ROOTPATH}")
|
||||
case "${SECURE_PATH}" in
|
||||
*/usr/sbin*) ;;
|
||||
*) SECURE_PATH=$(unset PATH;
|
||||
. "${EPREFIX}"/etc/profile.env; echo "${PATH}")
|
||||
;;
|
||||
esac
|
||||
if [[ -z ${SECURE_PATH} ]] ; then
|
||||
ewarn " Failed to detect SECURE_PATH, please report this"
|
||||
fi
|
||||
|
||||
# then remove duplicate path entries
|
||||
cleanpath() {
|
||||
local newpath thisp IFS=:
|
||||
for thisp in $1 ; do
|
||||
if [[ :${newpath}: != *:${thisp}:* ]] ; then
|
||||
newpath+=:${thisp}
|
||||
else
|
||||
einfo " Duplicate entry ${thisp} removed..."
|
||||
fi
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
cleanpath /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin${SECURE_PATH:+:${SECURE_PATH}}
|
||||
|
||||
# finally, strip gcc paths #136027
|
||||
rmpath() {
|
||||
local e newpath thisp IFS=:
|
||||
for thisp in ${SECURE_PATH} ; do
|
||||
for e ; do [[ ${thisp} == ${e} ]] && continue 2 ; done
|
||||
newpath+=:${thisp}
|
||||
done
|
||||
SECURE_PATH=${newpath#:}
|
||||
}
|
||||
rmpath '*/gcc-bin/*' '*/gnat-gcc-bin/*' '*/gnat-gcc/*'
|
||||
|
||||
einfo "... done"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local SECURE_PATH
|
||||
set_secure_path
|
||||
|
||||
# audit: somebody got to explain me how I can test this before I
|
||||
# enable it.. - Diego
|
||||
# plugindir: autoconf code is crappy and does not delay evaluation
|
||||
# until `make` time, so we have to use a full path here rather than
|
||||
# basing off other values.
|
||||
myeconfargs=(
|
||||
# requires some python eclass
|
||||
--disable-python
|
||||
--enable-tmpfiles.d="${EPREFIX}"/usr/lib/tmpfiles.d
|
||||
--enable-zlib=system
|
||||
--with-editor="${EPREFIX}"/usr/libexec/editor
|
||||
--with-env-editor
|
||||
--with-plugindir="${EPREFIX}"/usr/$(get_libdir)/sudo
|
||||
--with-rundir="${EPREFIX}"/run/sudo
|
||||
--with-vardir="${EPREFIX}"/var/db/sudo
|
||||
--without-linux-audit
|
||||
--without-opie
|
||||
$(use_enable gcrypt)
|
||||
$(use_enable nls)
|
||||
$(use_enable sasl)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with ldap)
|
||||
$(use_with ldap ldap_conf_file /etc/ldap.conf.sudo)
|
||||
$(use_with offensive insults)
|
||||
$(use_with offensive all-insults)
|
||||
$(use_with pam)
|
||||
$(use_with pam pam-login)
|
||||
$(use_with secure-path secure-path "${SECURE_PATH}")
|
||||
$(use_with selinux)
|
||||
$(use_with sendmail)
|
||||
$(use_with skey)
|
||||
$(use_with sssd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use ldap ; then
|
||||
dodoc README.LDAP
|
||||
|
||||
cat <<-EOF > "${T}"/ldap.conf.sudo
|
||||
# See ldap.conf(5) and README.LDAP for details
|
||||
# This file should only be readable by root
|
||||
|
||||
# supported directives: host, port, ssl, ldap_version
|
||||
# uri, binddn, bindpw, sudoers_base, sudoers_debug
|
||||
# tls_{checkpeer,cacertfile,cacertdir,randfile,ciphers,cert,key}
|
||||
EOF
|
||||
|
||||
if use sasl ; then
|
||||
cat <<-EOF >> "${T}"/ldap.conf.sudo
|
||||
|
||||
# SASL directives: use_sasl, sasl_mech, sasl_auth_id
|
||||
# sasl_secprops, rootuse_sasl, rootsasl_auth_id, krb5_ccname
|
||||
EOF
|
||||
fi
|
||||
|
||||
insinto /etc
|
||||
doins "${T}"/ldap.conf.sudo
|
||||
fperms 0440 /etc/ldap.conf.sudo
|
||||
|
||||
insinto /etc/openldap/schema
|
||||
newins doc/schema.OpenLDAP sudo.schema
|
||||
fi
|
||||
|
||||
pamd_mimic system-auth sudo auth account session
|
||||
pamd_mimic system-auth sudo-i auth account session
|
||||
|
||||
keepdir /var/db/sudo/lectured
|
||||
fperms 0700 /var/db/sudo/lectured
|
||||
fperms 0711 /var/db/sudo #652958
|
||||
|
||||
# Don't install into /run as that is a tmpfs most of the time
|
||||
# (bug #504854)
|
||||
rm -rf "${ED}"/run || die
|
||||
|
||||
find "${ED}" -type f -name "*.la" -delete || die #697812
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process sudo.conf
|
||||
|
||||
#652958
|
||||
local sudo_db="${EROOT}/var/db/sudo"
|
||||
if [[ "$(stat -c %a "${sudo_db}")" -ne 711 ]] ; then
|
||||
chmod 711 "${sudo_db}" || die
|
||||
fi
|
||||
|
||||
if use ldap ; then
|
||||
ewarn
|
||||
ewarn "sudo uses the /etc/ldap.conf.sudo file for ldap configuration."
|
||||
ewarn
|
||||
if grep -qs '^[[:space:]]*sudoers:' "${ROOT}"/etc/nsswitch.conf ; then
|
||||
ewarn "In 1.7 series, LDAP is no more consulted, unless explicitly"
|
||||
ewarn "configured in /etc/nsswitch.conf."
|
||||
ewarn
|
||||
ewarn "To make use of LDAP, add this line to your /etc/nsswitch.conf:"
|
||||
ewarn " sudoers: ldap files"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
if use prefix ; then
|
||||
ewarn
|
||||
ewarn "To use sudo, you need to change file ownership and permissions"
|
||||
ewarn "with root privileges, as follows:"
|
||||
ewarn
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn " # chown root:root ${EPREFIX}/usr/lib/sudo/sudoers.so"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers"
|
||||
ewarn " # chown root:root ${EPREFIX}/etc/sudoers.d"
|
||||
ewarn " # chown root:root ${EPREFIX}/var/db/sudo"
|
||||
ewarn " # chmod 4111 ${EPREFIX}/usr/bin/sudo"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
elog "To use the -A (askpass) option, you need to install a compatible"
|
||||
elog "password program from the following list. Starred packages will"
|
||||
elog "automatically register for the use with sudo (but will not force"
|
||||
elog "the -A option):"
|
||||
elog ""
|
||||
elog " [*] net-misc/ssh-askpass-fullscreen"
|
||||
elog " net-misc/x11-ssh-askpass"
|
||||
elog ""
|
||||
elog "You can override the choice by setting the SUDO_ASKPASS environmnent"
|
||||
elog "variable to the program you want to use."
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST duplicity-0.8.15.tar.gz 1482647 BLAKE2B e1ddd4232611ad5fcf8faa5135c925aef68a21eb9dec50de7194562a0d4871e9c58132faf9340f71367025dcc84cbc6f1aae69bd37cae294d4200a8ca8b796b3 SHA512 2d048377c839ae56fc2828997c9aa7ba8c339e815e1e2ae738652037508ec276a2c72583687da34408fadd4839011e242b51bc73cca954227fc51db5683c258c
|
||||
DIST duplicity-0.8.16.tar.gz 1470714 BLAKE2B c9b2df3a7f008d44595b76d5f1d86ef53996d3ad788415e3a0fa122a7246bb5ae92e73be5079b3cef9a9a93a0b106f3be6405882028d79dc49194276a7c8f4a7 SHA512 67e8fe7d5db7da82d82f24892d721e32cd63fcdb8bbc5e60508af06e4c9b637f593ce0b1902c31433c92ed97035880e44368e9a461ad197511171f67de937f73
|
||||
DIST duplicity-0.8.17.tar.gz 1351433 BLAKE2B 39c87c421bb8a4bf27e60c16b6dde559ed4468a1062f02623d8e37deb62e63101b6fb5524e5a991139d39422cab2803b89007bf1ca5819817ab3b53d5318b88c SHA512 6f9f6b45953d2bc7ed403d68bdc419f384e07f831c783af720f15f88b100f5becb3f83f65cfc715b02686c24d18c5ec8f80c27789d1ec01cdc8efefa7590c211
|
||||
|
@ -0,0 +1,51 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_6 python3_7 python3_8 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Secure backup system using gnupg to encrypt data"
|
||||
HOMEPAGE="https://www.nongnu.org/duplicity/"
|
||||
SRC_URI="https://code.launchpad.net/${PN}/$(ver_cut 1-2)-series/$(ver_cut 1-3)/+download/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
|
||||
IUSE="s3 test"
|
||||
|
||||
CDEPEND="
|
||||
net-libs/librsync
|
||||
app-crypt/gnupg
|
||||
dev-python/fasteners[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools_scm[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
app-arch/par2cmdline
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pexpect[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
dev-python/paramiko[${PYTHON_USEDEP}]
|
||||
dev-python/future[${PYTHON_USEDEP}]
|
||||
s3? ( dev-python/boto[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-fix-docs-cmd.patch"
|
||||
)
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Duplicity has many optional dependencies to support various backends."
|
||||
elog "Currently it's up to you to install them as necessary."
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
--- duplicity-0.8.17/setup.py 2020-11-24 19:32:40.089024404 -0500
|
||||
+++ duplicity-0.8.17/setup.py 2020-11-24 19:33:32.326309755 -0500
|
||||
@@ -93,17 +93,6 @@
|
||||
u'bin/rdiffdir.1'
|
||||
]
|
||||
),
|
||||
- (u'share/doc/duplicity-%s' % Version,
|
||||
- [
|
||||
- u'AUTHORS',
|
||||
- u'CHANGELOG.md',
|
||||
- u'COPYING',
|
||||
- u'README.md',
|
||||
- u'README-LOG.md',
|
||||
- u'README-REPO.md',
|
||||
- u'README-TESTING.md',
|
||||
- ],
|
||||
- ),
|
||||
]
|
||||
|
||||
if not os.environ.get(u'READTHEDOCS') == u'True':
|
||||
@@ -339,7 +328,6 @@
|
||||
],
|
||||
test_suite=u"testing",
|
||||
cmdclass={
|
||||
- u"build_scripts": BuildScriptsCommand,
|
||||
u"install": InstallCommand,
|
||||
u"install_data": InstallDataCommand,
|
||||
u"sdist": SdistCommand,
|
Binary file not shown.
@ -0,0 +1,170 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
LUA_COMPAT=( lua5-1 )
|
||||
|
||||
inherit multilib linux-info lua-single toolchain-funcs udev systemd
|
||||
|
||||
DESCRIPTION="Entropy Key userspace daemon"
|
||||
HOMEPAGE="http://www.entropykey.co.uk/"
|
||||
SRC_URI="mirror://ubuntu/pool/universe/e/ekeyd/ekeyd_${PV}.orig.tar.gz"
|
||||
|
||||
LICENSE="MIT GPL-2" # GPL-2 (only) for init script
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="kernel_linux munin minimal usb"
|
||||
|
||||
REQUIRED_USE="${LUA_REQUIRED_USE}
|
||||
minimal? ( !munin )"
|
||||
|
||||
EKEYD_RDEPEND="${LUA_DEPS}"
|
||||
EKEYD_DEPEND="${EKEYD_RDEPEND}"
|
||||
EKEYD_RDEPEND="${EKEYD_RDEPEND}
|
||||
$(lua_gen_cond_dep '
|
||||
dev-lua/luasocket[${LUA_USEDEP}]
|
||||
')
|
||||
kernel_linux? ( virtual/udev )
|
||||
munin? ( net-analyzer/munin )"
|
||||
|
||||
RDEPEND="!minimal? ( ${EKEYD_RDEPEND} )
|
||||
virtual/service-manager"
|
||||
DEPEND="!minimal? ( ${EKEYD_DEPEND} )"
|
||||
|
||||
CONFIG_CHECK="~USB_ACM"
|
||||
|
||||
pkg_setup() {
|
||||
if ! use minimal && use kernel_linux && ! use usb && linux_config_exists; then
|
||||
check_extra_config
|
||||
fi
|
||||
lua-single_pkg_setup
|
||||
}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-const_char_usage.patch
|
||||
"${FILESDIR}"/${P}-enoent.patch
|
||||
"${FILESDIR}"/${P}-path-fixes.patch
|
||||
"${FILESDIR}"/${P}-udev-rule.patch
|
||||
"${FILESDIR}"/${P}-remove-werror.patch
|
||||
"${FILESDIR}"/${P}-misc.patch
|
||||
"${FILESDIR}"/${P}-makefile-lua-libs.patch
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
local osname
|
||||
|
||||
# Override automatic detection: upstream provides this with uname,
|
||||
# we don't like using uname.
|
||||
case ${CHOST} in
|
||||
*-linux-*)
|
||||
osname=linux;;
|
||||
*-freebsd*)
|
||||
osname=freebsd;;
|
||||
*-kfrebsd-gnu)
|
||||
osname=gnukfreebsd;;
|
||||
*-openbsd*)
|
||||
osname=openbsd;;
|
||||
*)
|
||||
die "Unsupported operating system!"
|
||||
;;
|
||||
esac
|
||||
|
||||
emake -C host \
|
||||
CC="$(tc-getCC)" \
|
||||
LUA_V=${ELUA#lua} \
|
||||
LUA_INC="-I$(lua_get_include_dir)" \
|
||||
OSNAME=${osname} \
|
||||
OPT="${CFLAGS}" \
|
||||
BUILD_ULUSBD=no \
|
||||
$(use minimal && echo egd-linux)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
exeinto /usr/libexec
|
||||
newexe host/egd-linux ekey-egd-linux
|
||||
newman host/egd-linux.8 ekey-egd-linux.8
|
||||
|
||||
newconfd "${FILESDIR}"/ekey-egd-linux.conf.2 ekey-egd-linux
|
||||
newinitd "${FILESDIR}"/ekey-egd-linux.init.2 ekey-egd-linux
|
||||
|
||||
dodoc doc/* AUTHORS ChangeLog THANKS
|
||||
|
||||
use minimal && return
|
||||
# from here on, install everything that is not part of the minimal
|
||||
# support.
|
||||
|
||||
emake -C host \
|
||||
DESTDIR="${D}" \
|
||||
MANZCMD=cat MANZEXT= \
|
||||
install-ekeyd
|
||||
|
||||
# We move the daemons around to avoid polluting the available
|
||||
# commands.
|
||||
dodir /usr/libexec
|
||||
mv "${D}"/usr/sbin/ekey*d "${D}"/usr/libexec
|
||||
|
||||
systemd_dounit "${FILESDIR}/ekeyd.service"
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}.init.2 ${PN}
|
||||
|
||||
if use kernel_linux; then
|
||||
local rules="${FILESDIR}/90-ekeyd.rules"
|
||||
udev_newrules ${rules} 90-${PN}.rules
|
||||
fi
|
||||
|
||||
if use munin; then
|
||||
exeinto /usr/libexec/munin/plugins
|
||||
doexe munin/ekeyd_stat_
|
||||
|
||||
insinto /etc/munin/plugin-conf.d
|
||||
newins munin/plugin-conf.d_ekeyd ekeyd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "${CATEGORY}/${PN} now install also the EGD client service ekey-egd-linux."
|
||||
elog "To use this service, you need enable EGDTCPSocket for the ekeyd service"
|
||||
elog "managing the key(s)."
|
||||
elog ""
|
||||
elog "The daemon will send more entropy to the kernel once the available pool"
|
||||
elog "falls below the value set in the kernel.random.write_wakeup_threshold"
|
||||
elog "sysctl entry."
|
||||
elog ""
|
||||
ewarn "Since version 1.1.4-r1, ekey-egd-linux will *not* set the watermark for"
|
||||
ewarn "you, instead you'll have to configure the sysctl in /etc/sysctl.conf"
|
||||
|
||||
use minimal && return
|
||||
# from here on, document everything that is not part of the minimal
|
||||
# support.
|
||||
|
||||
elog ""
|
||||
elog "To make use of your EntropyKey, make sure to execute ekey-rekey"
|
||||
elog "the first time, and then start the ekeyd service."
|
||||
elog ""
|
||||
elog "By default ekeyd will feed the entropy directly to the kernel's pool;"
|
||||
elog "if your system has jumps in load average, you might prefer using the"
|
||||
elog "EGD compatibility mode, by enabling EGDTCPSocket for ekeyd and then"
|
||||
elog "starting the ekey-egd-linux service."
|
||||
elog ""
|
||||
elog "The same applies if you intend to provide entropy for multiple hosts"
|
||||
elog "over the network. If you want to have the ekey-egd-linux service on"
|
||||
elog "other hosts, you can enable the 'minimal' USE flag."
|
||||
elog ""
|
||||
elog "The service supports multiplexing if you wish to use multiple"
|
||||
elog "keys, just symlink /etc/init.d/ekeyd -> /etc/init.d/ekeyd.identifier"
|
||||
elog "and it'll be looking for /etc/entropykey/identifier.conf"
|
||||
elog ""
|
||||
|
||||
if use kernel_linux; then
|
||||
elog "Some versions of Linux have a faulty CDC ACM driver that stops"
|
||||
elog "EntropyKey from working properly; please check the compatibility"
|
||||
elog "table at http://www.entropykey.co.uk/download/"
|
||||
else
|
||||
elog "Make sure your operating system supports the CDC ACM driver"
|
||||
elog "or otherwise you won't be able to use the EntropyKey."
|
||||
fi
|
||||
elog ""
|
||||
elog "If you're unsure about the working state of the CDC ACM driver"
|
||||
elog "enable the usb USE flag and use the userland USB daemon"
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
If LUA_V is passed directly to LIBS it ends up being expanded to an empty
|
||||
string at link time.
|
||||
|
||||
--- a/host/Makefile
|
||||
+++ b/host/Makefile
|
||||
@@ -111,7 +111,8 @@
|
||||
CFLAGS += '-DEKEYD_VERSION_S=""$(EKEYD_VERSION_S)""'
|
||||
CFLAGS += $(EXTRA_CFLAGS)
|
||||
|
||||
-LIBS += -llua -lm $(LIBDL)
|
||||
+LUA_LIBS += -llua$(LUA_V) -lm
|
||||
+LIBS += $(LUA_LIBS) $(LIBDL)
|
||||
LDFLAGS += $(LIBDIRS)
|
||||
|
||||
|
@ -0,0 +1,31 @@
|
||||
From 88e90ee4c36f0decdf7c15e271bccb8b0809a21a Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Strogin <stefan@steils.org>
|
||||
Date: Tue, 24 Nov 2020 11:08:13 +0200
|
||||
Subject: [PATCH] trousers: do not re-declare RSA_set0_key with LibreSSL
|
||||
|
||||
The method RSA_set0_key is provided by LibreSSL since 2.7.0, that means
|
||||
in all currently supported versions.
|
||||
|
||||
Upstream-Status: Submitted
|
||||
[https://sourceforge.net/p/trousers/trousers/merge-requests/2/]
|
||||
Signed-off-by: Stefan Strogin <stefan@steils.org>
|
||||
---
|
||||
src/trspi/crypto/openssl/rsa.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/trspi/crypto/openssl/rsa.c b/src/trspi/crypto/openssl/rsa.c
|
||||
index 24f13e7..cf46c08 100644
|
||||
--- a/src/trspi/crypto/openssl/rsa.c
|
||||
+++ b/src/trspi/crypto/openssl/rsa.c
|
||||
@@ -38,7 +38,7 @@
|
||||
#define DEBUG_print_openssl_errors()
|
||||
#endif
|
||||
|
||||
-#if (OPENSSL_VERSION_NUMBER < 0x10100001L) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
+#if (OPENSSL_VERSION_NUMBER < 0x10100001L)
|
||||
static int
|
||||
RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
|
||||
{
|
||||
--
|
||||
2.29.2
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST diskimage-builder-3.3.1.tar.gz 450130 BLAKE2B 09f3b3549527d726f8479e1f8dc89ae50fdeacf6969e43f5b35591fa0a9d38ae0dd03b7292633604a938b0ef14e31b4e655645643bae22df4f3519c75d9dde83 SHA512 095c0968f5ceeb220c3871ccd14c7bf7c1b3d883bcb02f9cfe7406d5a336c36a813c8290bf133441a2a59972f485596aa5620b755016aba348afe3b7fc723c9f
|
||||
DIST diskimage-builder-3.4.0.tar.gz 477142 BLAKE2B 998c4769f8b1e973628a6ab790c78afa32d3de23df6dda62e94917916aa92419d16a58ba3029bad6641508de2f404bfb16101197720ed050a1db6a92434e3144 SHA512 a05fc9b836cf8273d0c73ab1e95ecbd2172c56e457ba8ae00cb3a5f13b499dc1e8d81f262d155e8e2005bdc14af25370af9dfb3b2bf29342d5110edc7e630a87
|
||||
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Golden Disk Image builder."
|
||||
HOMEPAGE="http://docs.openstack.org/developer/diskimage-builder/"
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://opendev.org/openstack/diskimage-builder.git"
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
|
||||
!~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
|
||||
DEPEND="${CDEPEND}"
|
||||
RDEPEND="${CDEPEND}
|
||||
>=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
|
||||
!~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/networkx-1.10[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
|
||||
>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
|
||||
app-emulation/qemu
|
||||
sys-block/parted
|
||||
sys-fs/multipath-tools
|
||||
sys-fs/dosfstools
|
||||
sys-apps/gptfdisk
|
||||
!dev-python/dib-utils[${PYTHON_USEDEP}]"
|
@ -1,12 +1,8 @@
|
||||
DIST firecracker-v0.22.0-aarch64 1615168 BLAKE2B 56965a1999038e9b59e37230177812b936ad1b3cba91b6f805a1a6ecc81903f093c13b75ff78c8720d67596bdd71378cc757bda0b6061e3fb4d62607e299b065 SHA512 fb42bc5ecd0af487490f2c4bd3804d2430263740bbdec66c063d9b6c865d6b9c42b31cafb78d4a0cc40c11cc5242608b9d30676e55ac2b8dcb05d5f3db535bdf
|
||||
DIST firecracker-v0.22.0-x86_64 1657736 BLAKE2B 84dbe8db596017e312fad1cd3c72d1b5d7306ad400a320431c8cae5b901b534f2735ac75cb5b9133c6c6f2603b877e4842d54165972a46df4193fbbc513c3b2d SHA512 ac9544e8b770ff7a0c9234feb3154522bd6163f3903993cd019cc4abaa90ad24447f18e65e1022aafb7274ca97281286f898a50ac9f27c7f661d48df52d7fd08
|
||||
DIST firecracker-v0.22.1-aarch64 1624032 BLAKE2B e5705e423e032c480bbdd499bb4e0b5674079b096bd0983f21f3e9c664d442a76f3a195075a641445505b777823a4c1670a1544828b84370e21d5bde4c091ed3 SHA512 4d9222e19d616a017780711c426d0aa5b41571e744648cc3a922601857387ebcb9dc0a238019e7a33e45445221d93d739c0ec8c465ab922583bac2970a1af003
|
||||
DIST firecracker-v0.22.1-x86_64 1658032 BLAKE2B 1513ed2b0ad550a0e21fb77bc5fb84091ff73b4e79c716238b14366234d303bb391d3e6a58878529f8131c72bd53d81a18caf06230d290bbefc08f280d856e5c SHA512 5327a22a1c0dc4e9a1ceba8455933131ddb9ef91e0a9b875a7b5c5f45f309fe40b841a26b5d0bdd24e18bb7472c264598d59fb0db20bdf5ec39f47b23ede44fa
|
||||
DIST firecracker-v0.23.0-aarch64 1596888 BLAKE2B 94453641206b32c42f86542d7c38a1e24e991abc1d425183e624f8a72cc74a51cf36e3463bd1c20b309a4bc4e97ebfb8cd95c47061e51cecdb8a8b28120879ad SHA512 08a51979e5979cbc5e8477e9400bcc03757a416e606903296764982f78a432749d168c4566d31df20a9bf68894b3e7cb1cbf39aee559513daa25280a9c891d2f
|
||||
DIST firecracker-v0.23.0-x86_64 2041024 BLAKE2B cb6a0d356a734ffb28ef6b88517983d1b9efac4127f8979fad085dab503446471d851ec00ff4da39b216f6fc9ba6a5d9d744455c0f1c1cbd7ef881d624536873 SHA512 5a24a95805240c1125f7fd17e69d5fea92781c3767f0a884aa8e433200e8f469b33502342d47843e5612d83d3157df59bf94a960a202978ca70dcf8f31865882
|
||||
DIST jailer-v0.22.0-aarch64 1322088 BLAKE2B 72db7eba02371af2a53b6ebd8c9fb909bd027cdd2b4207e0b2a02febe587780f9aa3be665b37580907ab8a58d8745cbcda90a85bda56a42b2eb8be9a931af13f SHA512 86ca629b3060cefa9e31292844486c6d9b6fa0538b6d515e4cbb07fa4a675ce93d5f87fcd769f62aea0df029cdbd7a5055a282b8344ed35d895606aca7f22a14
|
||||
DIST jailer-v0.22.0-x86_64 1427600 BLAKE2B 7ab09cce8963c89dae7c89c3a2d1dc582fdf8c11c3e051deb08c70fd2995a2154c493432e39851bebc62c1f6a9f98cfc9a9fa4107c5d9cf8ba940d4bb3349d86 SHA512 f2dcaee775cd1cdea4c1c1f6e89b82ba6636ab065291b704faaa836f864f14802a56af76ce397d7f98e9420d55720dc4459ae4443babfc7bb16d64dde11cb854
|
||||
DIST jailer-v0.22.1-aarch64 1322088 BLAKE2B 7e5e1d106789af37a9a113b005184c2e65943beaec08e99b149bdcd72237c089d9a8126e2b498b433dd94181ab8042205cad31beba1352707081fdc08e7a4293 SHA512 6e147d581870a46e6cad7efb949265a47d1471ae5744216f8a591ffa00001590e2939b8153107b3188e224069207c82624efc98ae5d5becb6c324860ce509548
|
||||
DIST jailer-v0.22.1-x86_64 1427600 BLAKE2B f592c951594a2739cb56accbfc2c971f44aa7d4fde36d8a170b8c72749ba25020caf6505865ca9ab4932386b9a9a4e0b2bf984fc2712b6d4c5bf7c3df23aa085 SHA512 f28b08c5baf003eae93bbb7199136c76b9c104928ccb74ad7ca3af0269c4eebd80528a995caa5aff5bc70997932cd1485e416046a8e4a6c199be430c4a72213a
|
||||
DIST firecracker-v0.23.1-aarch64 3328424 BLAKE2B 2191e73700c9107fc30e84a044c0377c4486ecfee99deba99b0f6400036befca0d2f3f101154d851f0d7423208f8afc28e87678ed6005235ea9757a1913df3f6 SHA512 a1f5245cbe637f42f1145eb9daf3578610102535a046ea4be93dcd122194fd90305fde32840d59c50b798aa8326ea0d7ed715ab96f980a7d0e66608c33aa7ce0
|
||||
DIST firecracker-v0.23.1-x86_64 3290472 BLAKE2B 62315d4962b4debbdac383098e656e6c469b491f7303a7aaab06c885ec653b202f6a49a43ae0b76188d2f73b229c68435e19d316992eed64645decef3f611d5e SHA512 4bfb756a2ee2942a158857dfe82de838b52bc161d0ba97255eace1af4b57c3a630dfbb51413433a4fbfb3d95ba02719a608c1ea3f28a5485d005daa2c71abbef
|
||||
DIST jailer-v0.23.0-aarch64 1350040 BLAKE2B def85c85daa27c648c638ed14128fef941a416269c536c55413116a686d5a0e614976fd718576a6e275ff12a1873885e1d569e2e054cb054f1278ecbe1279d74 SHA512 48de8688cf40e696f0a56689a2e6256f2be159fb1b593b223a9547c4760c1e94e245e1de77bfeeefbeffb8046b33768da1915482a62d6b36321b8c225bdef791
|
||||
DIST jailer-v0.23.0-x86_64 1457312 BLAKE2B 9a92c415e27a8442da18ab3134023acdc7b49f1246d332a864fb700180914c6b9a7f8747b1eef1657290df5287a946e0d5b0b689bd0b7a60486b472ba7b55290 SHA512 203d24794c3125afdd8cb1b07e69da4fcc40bdc9a3ec7c8e8a2deb8dc1a691156294eb4168c2422f631136a4fed7413136631b3957999fe00fb645aaed16f87d
|
||||
DIST jailer-v0.23.1-aarch64 2812344 BLAKE2B ef0b98a5438880d8473117dc051421faf4c9f4640fe017ba9cedeb88a02ff2a34fe6e0333bb7cb31cd436a95536efe5237d6a49ead6c7d1d3777928cc54f0baf SHA512 38876afcf6c5883b30156246b4b74905157b668a3e6fbe852b38a09a7f5ab5814fb9eaec87ef94390d2a40806c7b387b4266c8a0c4b4fba5e720f61d571bbcd7
|
||||
DIST jailer-v0.23.1-x86_64 2589888 BLAKE2B b22a908d551b3da8f882b9c18031f0904808d8f77783c046f9a8855e713074ea61327b7c8c5f875361728bd33e33e4cd84431ead5f1fae68bdca8161e88bdd1c SHA512 a6829ffbacd35349214087f4ba1b88304c6bfd23b50d9f97319a93fae5c94c6d0590649fbd0917f9d82b6a2a6faab1f7e37a447864a4960e0b77407ae535212a
|
||||
|
@ -1,82 +0,0 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit linux-info
|
||||
|
||||
DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
|
||||
HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
|
||||
SRC_URI="
|
||||
amd64? (
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/jailer-v${PV}-x86_64
|
||||
)
|
||||
arm64? (
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64
|
||||
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/jailer-v${PV}-aarch64
|
||||
)"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
|
||||
RESTRICT="test strip"
|
||||
|
||||
RDEPEND="!app-emulation/firecracker
|
||||
acct-group/kvm"
|
||||
|
||||
QA_PREBUILT="/usr/bin/firecracker
|
||||
/usr/bin/jailer"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 4 14; then
|
||||
eerror "Firecracker requires a host kernel of 4.14 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 ~VHOST_VSOCK"
|
||||
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"
|
||||
ERROR_TUN+=" virtual network devices."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
ERROR_VHOST_VSOCK="To use AF_VSOCK sockets for communication"
|
||||
ERROR_VHOST_VSOCK+=" between host and guest, you will need to enable"
|
||||
ERROR_VHOST_VSOCK+=" the vhost virtio-vsock driver in your kernel."
|
||||
|
||||
if use amd64 || use amd64-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
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() { :; }
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
if use amd64; then
|
||||
my_arch=x86_64
|
||||
elif use arm64; then
|
||||
my_arch=aarch64
|
||||
fi
|
||||
|
||||
newbin "${DISTDIR}/firecracker-v${PV}-${my_arch}" firecracker
|
||||
newbin "${DISTDIR}/jailer-v${PV}-${my_arch}" jailer
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
From 202d69a715a4b1824dcd7ec1683d027ed2bae6d3 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <202d69a715a4b1824dcd7ec1683d027ed2bae6d3.1606202550.git.mprivozn@redhat.com>
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 24 Aug 2020 13:00:57 +0200
|
||||
Subject: [PATCH] usb-host: workaround libusb bug
|
||||
|
||||
libusb_get_device_speed() does not work for
|
||||
libusb_wrap_sys_device() devices in v1.0.23.
|
||||
|
||||
Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1871090
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Message-id: 20200824110057.32089-1-kraxel@redhat.com
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
---
|
||||
hw/usb/host-libusb.c | 37 ++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 36 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
|
||||
index c474551d84..08604f787f 100644
|
||||
--- a/hw/usb/host-libusb.c
|
||||
+++ b/hw/usb/host-libusb.c
|
||||
@@ -39,6 +39,11 @@
|
||||
#endif
|
||||
#include <libusb.h>
|
||||
|
||||
+#ifdef CONFIG_LINUX
|
||||
+#include <sys/ioctl.h>
|
||||
+#include <linux/usbdevice_fs.h>
|
||||
+#endif
|
||||
+
|
||||
#include "qapi/error.h"
|
||||
#include "migration/vmstate.h"
|
||||
#include "monitor/monitor.h"
|
||||
@@ -885,6 +890,7 @@ static void usb_host_ep_update(USBHostDevice *s)
|
||||
static int usb_host_open(USBHostDevice *s, libusb_device *dev, int hostfd)
|
||||
{
|
||||
USBDevice *udev = USB_DEVICE(s);
|
||||
+ int libusb_speed;
|
||||
int bus_num = 0;
|
||||
int addr = 0;
|
||||
int rc;
|
||||
@@ -935,7 +941,36 @@ static int usb_host_open(USBHostDevice *s, libusb_device *dev, int hostfd)
|
||||
usb_ep_init(udev);
|
||||
usb_host_ep_update(s);
|
||||
|
||||
- udev->speed = speed_map[libusb_get_device_speed(dev)];
|
||||
+ libusb_speed = libusb_get_device_speed(dev);
|
||||
+#ifdef CONFIG_LINUX
|
||||
+ if (hostfd && libusb_speed == 0) {
|
||||
+ /*
|
||||
+ * Workaround libusb bug: libusb_get_device_speed() does not
|
||||
+ * work for libusb_wrap_sys_device() devices in v1.0.23.
|
||||
+ *
|
||||
+ * Speeds are defined in linux/usb/ch9.h, file not included
|
||||
+ * due to name conflicts.
|
||||
+ */
|
||||
+ int rc = ioctl(hostfd, USBDEVFS_GET_SPEED, NULL);
|
||||
+ switch (rc) {
|
||||
+ case 1: /* low */
|
||||
+ libusb_speed = LIBUSB_SPEED_LOW;
|
||||
+ break;
|
||||
+ case 2: /* full */
|
||||
+ libusb_speed = LIBUSB_SPEED_FULL;
|
||||
+ break;
|
||||
+ case 3: /* high */
|
||||
+ case 4: /* wireless */
|
||||
+ libusb_speed = LIBUSB_SPEED_HIGH;
|
||||
+ break;
|
||||
+ case 5: /* super */
|
||||
+ case 6: /* super plus */
|
||||
+ libusb_speed = LIBUSB_SPEED_SUPER;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+ udev->speed = speed_map[libusb_speed];
|
||||
usb_host_speed_compat(s);
|
||||
|
||||
if (s->ddesc.iProduct) {
|
||||
--
|
||||
2.26.2
|
||||
|
@ -0,0 +1,860 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8,9} )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="bg de_DE fr_FR hu it sv tr zh_CN"
|
||||
|
||||
FIRMWARE_ABI_VERSION="4.0.0-r50"
|
||||
|
||||
inherit eutils linux-info toolchain-funcs multilib python-r1 \
|
||||
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=(
|
||||
tests/fp/berkeley-{test,soft}float-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 usb
|
||||
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
|
||||
xfs +xkb 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 mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
|
||||
tilegx"
|
||||
|
||||
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 )
|
||||
virtfs? ( caps xattr )
|
||||
vte? ( gtk )
|
||||
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(+)]
|
||||
xkb? ( x11-libs/libxkbcommon[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(+)] )
|
||||
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(+)] )
|
||||
"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-201905[binary]
|
||||
~sys-firmware/ipxe-1.0.0_p20190728[binary]
|
||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre8[binary]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/edk2-ovmf
|
||||
sys-firmware/ipxe
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC64_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-1.10.2[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_ppc64? ( ${PPC64_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}-4.0.0-mkdir_systemtap.patch #684902
|
||||
"${FILESDIR}"/${PN}-4.2.0-cflags.patch
|
||||
"${FILESDIR}"/${PN}-5.1.0-pixman-for-vhost-user-gpu.patch
|
||||
"${FILESDIR}"/${PN}-5.1.0-usb-oob-CVE-2020-14364.patch #743649
|
||||
"${FILESDIR}"/${PN}-5.1.0-usb-host-workaround-libusb-bug.patch #753305
|
||||
)
|
||||
|
||||
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/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 >/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
|
||||
}
|
||||
|
||||
handle_locales() {
|
||||
# Make sure locale list is kept up-to-date.
|
||||
local detected sorted
|
||||
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "PLOCALES: ${sorted}"
|
||||
eerror " po/*.po: ${detected}"
|
||||
die "sync PLOCALES"
|
||||
fi
|
||||
|
||||
# Deal with selective install of locales.
|
||||
if use nls ; then
|
||||
# Delete locales the user does not want. #577814
|
||||
rm_loc() { rm po/$1.po || die; }
|
||||
l10n_for_each_disabled_locale_do rm_loc
|
||||
else
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
rm -f po/*.po
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
export WINDRES=${CHOST}-windres
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
|
||||
# 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
|
||||
--with-confsuffix=/qemu
|
||||
--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 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
|
||||
}
|
||||
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_notuser 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 usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser vhost-user-fs)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_notuser virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
$(conf_notuser xkb 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
|
||||
|
||||
# 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-r1 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 Changelog 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"
|
||||
# PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || 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
|
||||
}
|
Binary file not shown.
@ -1,6 +1,7 @@
|
||||
DIST SparseBitSet-1.1.jar 23706 BLAKE2B 8623a723f11f97386a108c775fefddd324997b68bea7f7ade0581ec5800bfa8d32f699ab903ad66c631b7b5c69ba1ef377243653f5044f39234dac07543eb129 SHA512 cf75431c5f705961800ce5cbca2acb9b2459eaf98ec37b5ee21c5a90d204ffb466fa25457b0560fbb024489777efbea0276201024c7b1b2853124930ac490983
|
||||
DIST commons-validator-1.6.jar 186077 BLAKE2B 39080bebfde71d87847b65f212d47a51bab9567cb0aaf7122359a67a8eb817877a6cc80495a15aefb12936d0e36532ed771dc0a2dff8401fc301f658ed38ef88 SHA512 aded530d3b79ead6ba5c44668c6d6964d7721f9617249f6aaa1c8f558ad4b3d3c1b6d78b639a4cb8dd27a671879b662fdbba0502fd04e131f3286169507df30c
|
||||
DIST gson-2.8.5.jar 241622 BLAKE2B b13887177b5d5f2a11b2dde1fdbaa3a95b55bb7b5500624c7eb0745e861c897ed1e27868bad19d30a1670c90f3068a8fd40e1b81e5e25e96819fa5c371a5e1af SHA512 5dd7214c542a7b93aab3eab0ba13e4ac3d6ddb05c795fb6d3992e21925a98dce87cb186ac67b4d3ad146f96e14d38b3892837eca57a27b4e845aca6d4e4f708a
|
||||
DIST sleuthkit-4.10.1.tar.gz 3524246 BLAKE2B ddea16693730a993032868ea60423d4bfcf3cba470010854c7bd36ab0a033325d906a0e4760501d59fdda4f37e12052f8672d33e4e374d1a6cdb03e22d0de367 SHA512 3ee335ba98bbb16985207ad50bc15a607ea2bcf550bba392be1cace8982c893a29e9de64e6598d02f41f9f745dc720f829317ed31f068e6cb1f6c230699e47bf
|
||||
DIST sleuthkit-4.9.0.tar.gz 3473764 BLAKE2B 3950e586595f53a81c845b3b1fbaf4939a84ee3d81e8141cabf41c9fbee1b1f5cf1b8bd6cab95b157d60364541736f750c8ada61c76da89e663721b9a67330ef SHA512 1db8b9f825aa551fe5bdf01285832b903fb4f2d6a8fd9a57a5cd5c9005dfdbec22d3dd49d394616d838e2a2111110018e787f2ed467a1c27a500fc75bed0dd0b
|
||||
DIST sleuthkit-libewf_64bit-20130416.tar.gz 23818247 BLAKE2B 23be933ed8a74e4834ee6571a28d81ba16e98e4e4e27b5b1b3b655d1d92a6eadcba35aadf96aa404e6e0a225b27f3f5daff2836879b87fe58440a3ad5645de44 SHA512 611cbb57de17600caee0330bbe9917c4481d7711a35dba8c072fd49cd3e1714e0a3ce30fd8fcac9981db848e80870bf5d215326c56808bb6f5b4c8dcc1e5a3c9
|
||||
DIST sqlite-jdbc-3.25.2.jar 7064881 BLAKE2B 3917da6127137bab710a9e61f326f59320ce94654ebb8ae5e694b05aed6b9b1bd367ade2f08ce5bb52c3ac296992240ad949969f5eff712615d07a18588c6a17 SHA512 efd1ea26d7f4f9bc66bf0d5f80234a0c535829bd498e4c5a0cab42873b58ac69133497d8c45689a1d3a39e657a2d0474d6b930c7bc415dd623801ee4a7354ffb
|
||||
|
@ -0,0 +1,304 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_BSFIX_NAME="build.xml build-unix.xml"
|
||||
inherit autotools java-pkg-opt-2 java-ant-2
|
||||
|
||||
DESCRIPTION="A collection of file system and media management forensic analysis tools"
|
||||
HOMEPAGE="https://www.sleuthkit.org/sleuthkit/"
|
||||
# TODO: sqlite-jdbc does not exist in the tree, we bundle it for now
|
||||
# See: https://bugs.gentoo.org/690010
|
||||
# TODO: SparseBitSet does not exist in the tree, we bundle it for now
|
||||
# See: https://bugs.gentoo.org/690012
|
||||
# TODO: Upstream uses a very specific version of libewf which is not in
|
||||
# the tree anymore. So we statically compile and link to sleuthkit.
|
||||
# Hopefully upstream will figure something out in the future.
|
||||
# See: https://bugs.gentoo.org/689752
|
||||
# TODO: gson-2.8.5 does not exist in the tree. Building it seems to
|
||||
# require Java 9. We have Java 11 in the tree but I don't see a
|
||||
# way to use it as a gentoo-vm in order to build gson. Sleuthkit
|
||||
# upstream still uses Java 8.
|
||||
# See: https://bugs.gentoo.org/706274
|
||||
# TODO: commons-validator-1.6 does not exist in the tree. The latest version
|
||||
# as of writing this ebuild is 1.4.1, for which the build fails. As
|
||||
# per #711930, this is a security sensitive bump. We're gonna fetch
|
||||
# the jar file here and file a bug request for a bump as well:
|
||||
# https://bugs.gentoo.org/721020
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.gz
|
||||
java? (
|
||||
https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar
|
||||
http://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.25.2/sqlite-jdbc-3.25.2.jar
|
||||
http://repo1.maven.org/maven2/com/zaxxer/SparseBitSet/1.1/SparseBitSet-1.1.jar
|
||||
https://repo1.maven.org/maven2/commons-validator/commons-validator/1.6/commons-validator-1.6.jar
|
||||
)
|
||||
ewf? ( https://github.com/sleuthkit/libewf_64bit/archive/VisualStudio_2010.tar.gz -> sleuthkit-libewf_64bit-20130416.tar.gz )"
|
||||
|
||||
LICENSE="BSD CPL-1.0 GPL-2+ IBM java? ( Apache-2.0 )"
|
||||
SLOT="0/19" # subslot = major soname version
|
||||
KEYWORDS="~amd64 ~hppa ~ppc ~x86"
|
||||
IUSE="aff doc ewf java static-libs test +threads zlib"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
dev-db/sqlite:3
|
||||
dev-lang/perl:*
|
||||
aff? ( app-forensics/afflib )
|
||||
ewf? ( sys-libs/zlib )
|
||||
java? (
|
||||
>=dev-java/c3p0-0.9.5:0
|
||||
dev-java/commons-lang:3.1
|
||||
dev-java/guava:20
|
||||
>=dev-java/jdbc-postgresql-9.4:0
|
||||
>=dev-java/joda-time-2.4:0
|
||||
)
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
# TODO: add support for not-in-tree libraries libvhdi and libvmdk
|
||||
# libvhdi: https://github.com/libyal/libvhdi
|
||||
# libvmdk: https://github.com/libyal/libvmdk
|
||||
# DEPEND="${DEPEND}
|
||||
# vhdi? ( dev-libs/libvhdi )
|
||||
# vmdk? ( dev-libs/libvmdk )
|
||||
# "
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
java? (
|
||||
|| (
|
||||
virtual/jre:1.8
|
||||
virtual/jdk:1.8
|
||||
)
|
||||
)
|
||||
"
|
||||
DEPEND="${DEPEND}
|
||||
java? ( virtual/jdk:1.8 )
|
||||
doc? ( app-doc/doxygen )
|
||||
test? ( >=dev-util/cppunit-1.2.1 )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.1.0-tools-shared-libs.patch
|
||||
"${FILESDIR}"/${PN}-4.6.4-default-jar-location-fix.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
local f
|
||||
|
||||
unpack ${P}.tar.gz
|
||||
|
||||
if use ewf; then
|
||||
pushd "${T}" &>/dev/null || die
|
||||
unpack sleuthkit-libewf_64bit-20130416.tar.gz
|
||||
export TSK_LIBEWF_SRCDIR="${T}"/libewf_64bit-VisualStudio_2010
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# Copy the jar files that don't exist in the tree yet
|
||||
if use java; then
|
||||
TSK_JAR_DIR="${T}/lib"
|
||||
mkdir "${TSK_JAR_DIR}" || die
|
||||
for f in ${A}; do
|
||||
if [[ ${f} =~ .jar$ ]]; then
|
||||
cp "${DISTDIR}"/"${f}" "${TSK_JAR_DIR}" || die
|
||||
fi
|
||||
done
|
||||
export TSK_JAR_DIR
|
||||
fi
|
||||
}
|
||||
|
||||
tsk_prepare_libewf() {
|
||||
# Inlining breaks the compilation, disable it
|
||||
sed -e 's/LIBUNA_INLINE inline/LIBUNA_INLINE/' \
|
||||
-i "${TSK_LIBEWF_SRCDIR}"/libuna/libuna_inline.h || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
use ewf && tsk_prepare_libewf
|
||||
|
||||
# Do not pass '-Werror'. This is overkill for user builds.
|
||||
sed -e '/AM_CXXFLAGS/ s/-Werror//g' \
|
||||
-i tsk/util/Makefile.am \
|
||||
-i tsk/pool/Makefile.am || die
|
||||
# Remove -static from LDFLAGS because it doesn't actually create
|
||||
# a static binary. It confuses libtool, who then inserts rpath
|
||||
sed -e '/LDFLAGS/ s/-static//' \
|
||||
-i tools/pooltools/Makefile.am || die
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
|
||||
# Prevent "make install" from installing
|
||||
# jar files under /usr/share/java
|
||||
# We'll use the java eclasses for this
|
||||
# See: https://github.com/sleuthkit/sleuthkit/pull/1379
|
||||
sed -e '/^jar_DATA/ d;' -i Makefile.am || die
|
||||
|
||||
java-pkg-opt-2_src_prepare
|
||||
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# Override the doxygen output directories
|
||||
if use doc; then
|
||||
sed -e "/^OUTPUT_DIRECTORY/ s|=.*$|= ${T}/doc|" \
|
||||
-i tsk/docs/Doxyfile \
|
||||
-i bindings/java/doxygen/Doxyfile || die
|
||||
fi
|
||||
|
||||
# It's safe to call this even after java-pkg-opt-2_src_prepare
|
||||
# because future calls to eapply_user do nothing and return 0
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
tsk_compile_libewf() {
|
||||
local myeconfargs=(
|
||||
--prefix=/
|
||||
--libdir=/lib
|
||||
--enable-static
|
||||
--disable-shared
|
||||
--disable-winapi
|
||||
--without-libbfio
|
||||
--with-zlib
|
||||
--without-bzip2
|
||||
--without-libhmac
|
||||
--without-openssl
|
||||
--without-libuuid
|
||||
--without-libfuse
|
||||
|
||||
--with-libcstring=no
|
||||
--with-libcerror=no
|
||||
--with-libcdata=no
|
||||
--with-libclocale=no
|
||||
--with-libcnotify=no
|
||||
--with-libcsplit=no
|
||||
--with-libuna=no
|
||||
--with-libcfile=no
|
||||
--with-libcpath=no
|
||||
--with-libbfio=no
|
||||
--with-libfcache=no
|
||||
--with-libfvalue=no
|
||||
|
||||
)
|
||||
# We want to contain our build flags
|
||||
local CFLAGS="${CFLAGS}"
|
||||
local LDFLAGS="${LDFLAGS}"
|
||||
|
||||
pushd "${TSK_LIBEWF_SRCDIR}" &>/dev/null || die
|
||||
|
||||
# Produce relocatable code
|
||||
CFLAGS+=" -fPIC"
|
||||
LDFLAGS+=" -fPIC"
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# Do not waste CPU cycles on building ewftools
|
||||
sed -e '/ewftools/ d' -i Makefile || die
|
||||
emake
|
||||
|
||||
# Only install the headers and the library
|
||||
emake -C libewf DESTDIR="${T}"/image install
|
||||
emake -C include DESTDIR="${T}"/image install
|
||||
find "${T}"/image -name '*.la' -delete || die
|
||||
|
||||
popd &>/dev/null || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--enable-offline="${TSK_JAR_DIR}"
|
||||
$(use_enable java)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable threads multithreading)
|
||||
$(use_with aff afflib)
|
||||
$(use_with zlib)
|
||||
)
|
||||
# TODO: add support for non-existing libraries libvhdi and libvmdk
|
||||
# myeconfargs+=(
|
||||
# $(use_with vhdi libvhdi)
|
||||
# $(use_with vmdk libvmdk)
|
||||
# )
|
||||
myeconfargs+=(
|
||||
--without-libvhdi
|
||||
--without-libvmdk
|
||||
)
|
||||
|
||||
use ewf && tsk_compile_libewf
|
||||
myeconfargs+=( $(use_with ewf libewf "${T}"/image) )
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
java-ant-2_src_configure
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Give it an existing bogus ivy home #672220
|
||||
local -x IVY_HOME="${T}"
|
||||
|
||||
# Create symlinks of jars for the required dependencies
|
||||
if use java; then
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" c3p0
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" commons-lang:3.1
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" guava:20
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" jdbc-postgresql
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" joda-time
|
||||
|
||||
# case-uco needs gson and expects it under case-uco/java/lib
|
||||
# symlink it to the jar dir we create for java bindings
|
||||
ln -s "${TSK_JAR_DIR}" "${S}"/case-uco/java/lib || die
|
||||
fi
|
||||
|
||||
# Create the doc output dirs if requested
|
||||
if use doc; then
|
||||
mkdir -p "${T}"/doc/{api-docs,jni-docs} || die
|
||||
fi
|
||||
|
||||
emake all $(usex doc api-docs "")
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local f
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
|
||||
# Install case-uco
|
||||
pushd "${S}"/case-uco/java &>/dev/null || die
|
||||
java-pkg_newjar "dist/${PN}-caseuco-${PV}".jar "${PN}-caseuco.jar"
|
||||
popd || die
|
||||
|
||||
# Install the bundled jar files as well as the
|
||||
# sleuthkit jar installed here by case-uco
|
||||
pushd "${TSK_JAR_DIR}" &>/dev/null || die
|
||||
for f in *; do
|
||||
# Skip the symlinks java-pkg_jar-from created
|
||||
[[ -f ${f} ]] || continue
|
||||
|
||||
# Strip the version numbers as per eclass recommendation
|
||||
[[ ${f} =~ -([0-9]+\.)+jar$ ]] || continue
|
||||
|
||||
java-pkg_newjar "${f}" "${f/${BASH_REMATCH[0]}/.jar}"
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
default
|
||||
# Default install target for case-uco installs the jar in the wrong place
|
||||
rm -r "${ED}"/usr/share/java
|
||||
|
||||
# It unconditionally builds both api and jni docs
|
||||
# We install conditionally based on the provided use flags
|
||||
if use doc; then
|
||||
dodoc -r "${T}"/doc/api-docs
|
||||
use java && dodoc -r "${T}"/doc/jni-docs
|
||||
fi
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST transifex-client-0.13.12.tar.gz 211369 BLAKE2B e536e2d1c33c9a64326cac9bab2a5d162fc554185127b2e8d3fc77e81cb4f19b8c2b66b5bd4502cf3129bbf1f0aa2c6649552392831b3d2b6ed322170de31952 SHA512 e4a5c78f3cdf589ad186a09b8ada09e06a725499234c03a037f8a8fb33447fb25edaf921a395ce8cb31c11c08a21dbb1b7b35cf54276995d255ddb2382e549c9
|
||||
DIST transifex-client-0.13.9.tar.gz 197283 BLAKE2B 9fd6f63a54d09f190f7dd6701e4994e4fd67e23cf630dcb49641a3c7356e55f1146be7c2a590fb09a52cccfa99e709c48fffd7df416d1d4c10231c4f42919380 SHA512 3dc4a1e713a797ce1ea626c9e85dd353fec3034ba21ab04bc89e5b927e0298b4f6560a793eec50d1a99c7ab340462c33d18c1e159697c476001be868cb7f87fa
|
||||
DIST transifex-client-0.14.2.tar.gz 211398 BLAKE2B 4210a06da9fd09e689d28ae77a90c65f96cbba7b44a2cc506c2e385dc2f34659bfbda25eb81cef850442f4b3da22a859e19761798ec123888564b0327f0c6503 SHA512 5d7f8241d61621197df95cb42b2a8fb8088e77543f076c2401db14f7e44d67e49478d0b04cb525fc6281b37e5026edc8121f90cb7332e669d63be6112264044d
|
||||
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST ondir-0.2.2.tar.gz 20138 BLAKE2B 3724b8d356cec16e1f60ec49574e2f688d4f7456f48f1d909402e8436f588d9617c827eda9a74c1b930d2538fe8c9d1372a1d222124d8f7b863bf8e895cfaa25 SHA512 5c2c53532934b25d2a170c619d067c369b6acf2ef3e0a87607619613dcc0bbfc570937fb91cdc5df3f22ae0453b5a5d00edd57cd1b852f7a076c15b96c45d4dd
|
||||
DIST ondir-0.2.4.tar.gz 52860 BLAKE2B e9111f9a64d8d7393d9a8e48d5dc66d5814995ae1dbd2f577538a03021c1b1b92af43acbd0ab9cb24ab29ba16c50d5752a9442689effc62bd8c13b6fe11a4785 SHA512 f59a823807f86ce2992aaf5fb174ddea222b02ed18e1289ca450179bd090892f1467072dfcec97ce219e216c055781ea7a1a05bb9402276fb9404a57f42ddb52
|
||||
|
@ -1,45 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Automatically execute scripts as you traverse directories"
|
||||
HOMEPAGE="http://swapoff.org/OnDir"
|
||||
SRC_URI="http://swapoff.org/files/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
|
||||
DEPEND="sys-apps/sed"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog README INSTALL scripts.tcsh scripts.sh )
|
||||
HTML_DOCS=( changelog.html ondir.1.html )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i \
|
||||
-e "s:\(/man/.*$\):/share\1:g" \
|
||||
-e "s:-g:${CFLAGS}:" Makefile || die "sed Makefile failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake \
|
||||
CC="$(tc-getCC)" \
|
||||
PREFIX="${EPREFIX}/usr" \
|
||||
CONF="${EPREFIX}/etc/ondirrc" \
|
||||
LDFLAGS="${LDFLAGS}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
PREFIX="${EPREFIX}/usr" \
|
||||
CONF="${EPREFIX}/etc/ondirrc" \
|
||||
install
|
||||
newdoc ondirrc.eg ondirrc.example
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
DIST when-1.1.36.tar.gz 50926 BLAKE2B 339e50db6b3c7e4867569e2a400563e9d53966904cf904044b3e7f7deee8e60872582011d90e1a685d69c4a1a5b9ffe2a727470bb09c8d6e1ca7780c9d0abce7 SHA512 04b2efbcebae79325d8410a5aa5cdf59662fe42c06229ebc91f3b7163091d305a6ba91914a2a9117d86807d5ca0c875d48679dbc3545162a7263679bf605a52e
|
||||
DIST when-1.1.37.tar.gz 51020 BLAKE2B 242d7833c91279bc7a73effc108a0f7d5edad9838006d8ff632c46215b7cd2a2187660075e2525a352a458a494abc648a9518945cdf18e2e7d58261e428efd8f SHA512 b1f0cb9cb797a5a32263ef2851498dfbf6a769d3e708b79ca1c5b37c7c877124194dd9b5ae78bfafebc0e73e82f306b3ae734a5ef7140fe3bf0e6b2cfcc4bb18
|
||||
DIST when-1.1.40.tar.gz 55306 BLAKE2B 3d4bdc962ccff64b09f5dda7a2c7be1daa0fd5fed2039f784ea6279e9aac495823159098f6a05c281de40d7964cc244a76c6b3bda1c4227748c04c98effac54d SHA512 0d70f2c9c4d44bbd922dc0d6b1a4e1eb90561a81add3ad4f1e1fc467a6331ca856d66725361d4e5ea3f1ce9ea1ed59d91ad18178e022b029c04c0c15747ecbcd
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST ansifilter-2.16.tar.bz2 441932 BLAKE2B 7a6af4e4b78cd4c26551791b4661a6f41c397a65abe19667f049bd393af0c5e1453a3f7f5f56c7d321c41c2cf36acc05575bb866f5dbf04184de1069d6c64a20 SHA512 ef621087e6d522e08423802d223f826f2fd6fe3b2efd8ed26e09f64e666202cdcdf68d19ebe5ac4b858a4339a8aa4d5f2ba309efa310837808381e09e39d4f90
|
||||
DIST ansifilter-2.17.tar.bz2 436116 BLAKE2B 94a1788cffa66343643f48a18748d5359b090803cde723a02bc38f908c262631f1cd2eb150b6a743d66caa04983ea444ba150cf34ce07bdb456979e19631582f SHA512 ab9d590189482f2a27affd62b456c96b947b04d8c8b1214f1ea967971c8ed7df8a7c15d1079f957164d01916d144dcd5dc4b0ac05b452f9f4b8095273d3d3162
|
||||
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit toolchain-funcs qmake-utils
|
||||
|
||||
DESCRIPTION="Handles text files containing ANSI terminal escape codes"
|
||||
HOMEPAGE="http://www.andre-simon.de/"
|
||||
SRC_URI="http://www.andre-simon.de/zip/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
|
||||
IUSE="qt5"
|
||||
|
||||
RDEPEND="
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
)"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# bug 431452
|
||||
rm src/qt-gui/moc_mydialog.cpp || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use qt5 ; then
|
||||
pushd src/qt-gui > /dev/null || die
|
||||
eqmake5
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -f makefile CC="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS} -DNDEBUG -std=c++11"
|
||||
|
||||
if use qt5 ; then
|
||||
pushd src/qt-gui > /dev/null || die
|
||||
emake
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin src/${PN}
|
||||
use qt5 && dobin src/qt-gui/${PN}-gui
|
||||
|
||||
gunzip man/${PN}.1.gz
|
||||
doman man/${PN}.1
|
||||
einstalldocs
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST poppler-0.90.1.tar.xz 1633804 BLAKE2B 5c7256bca74af6cc2732fb6c413bec10ea579f28fe623ccb5d4863c62d39329a4264c240ee0e395a78de577a960a5156ba20f957990c0cde91efcee72dbc2fef SHA512 c0a38c3c40196f8b847f0737152d0cbb40656870a8ceb766134ee22ec7c21bc979a13f56b7596a13ae2f08f1a9a2c396ba7f5ff176d02c262af7e863c2afde34
|
||||
DIST poppler-20.11.0.tar.xz 1648432 BLAKE2B 373464ba60ed84863b40eca2e4f99ebc1625ea06f68a1621165675cf46e70713b649f90630049d15c5c2bc59bd0befb437a4039b47e17509d4fcc4fed8586d53 SHA512 c8237e931ef20d939656e2600453fffb12a2beeafb273782b2069aec6e5915d8cc85136982b7eaf5956af30ce00da2faf84d86ffab47f725447dfbb9d6ffe335
|
||||
|
@ -1,49 +0,0 @@
|
||||
--- poppler-0.82.0/cmake/modules/PopplerMacros.cmake
|
||||
+++ poppler-0.82.0/cmake/modules/PopplerMacros.cmake
|
||||
@@ -145,46 +145,6 @@
|
||||
endif(GCC_HAS_AS_NEEDED)
|
||||
endif (CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
-if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
-# set the default compile warnings
|
||||
- set(_warn "-Wall -Wextra -Wpedantic")
|
||||
- set(_warn "${_warn} -Wno-unused-parameter")
|
||||
- set(_warn "${_warn} -Wcast-align")
|
||||
- set(_warn "${_warn} -Wformat-security")
|
||||
- set(_warn "${_warn} -Wframe-larger-than=65536")
|
||||
- set(_warn "${_warn} -Wmissing-format-attribute")
|
||||
- set(_warn "${_warn} -Wnon-virtual-dtor")
|
||||
- set(_warn "${_warn} -Woverloaded-virtual")
|
||||
- set(_warn "${_warn} -Wmissing-declarations")
|
||||
- set(_warn "${_warn} -Wundef")
|
||||
- set(_warn "${_warn} -Wzero-as-null-pointer-constant")
|
||||
- set(_warn "${_warn} -Wshadow")
|
||||
-
|
||||
- # set extra warnings
|
||||
- set(_warnx "${_warnx} -Wconversion")
|
||||
-
|
||||
- set(DEFAULT_COMPILE_WARNINGS "${_warn}")
|
||||
- set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
|
||||
-
|
||||
- set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
|
||||
- set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE")
|
||||
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
|
||||
- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cxxflags}")
|
||||
- # clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2
|
||||
- set(CMAKE_CXX_FLAGS_DEBUG "-g ${_save_cxxflags}")
|
||||
- set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline ${_save_cxxflags}")
|
||||
- set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cxxflags}")
|
||||
- set(_save_cflags "${CMAKE_C_FLAGS}")
|
||||
- set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE")
|
||||
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cflags}")
|
||||
- set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cflags}")
|
||||
- # clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2
|
||||
- set(CMAKE_C_FLAGS_DEBUG "-g ${_save_cflags}")
|
||||
- set(CMAKE_C_FLAGS_DEBUGFULL "-g3 -fno-inline ${_save_cflags}")
|
||||
- set(CMAKE_C_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cflags}")
|
||||
-
|
||||
-endif()
|
||||
-
|
||||
if(CMAKE_C_COMPILER MATCHES "icc")
|
||||
set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
|
@ -1,124 +0,0 @@
|
||||
# Copyright 2005-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake toolchain-funcs xdg-utils
|
||||
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git"
|
||||
SLOT="0/9999"
|
||||
else
|
||||
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
SLOT="0/101" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
|
||||
fi
|
||||
|
||||
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
|
||||
HOMEPAGE="https://poppler.freedesktop.org/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
IUSE="cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
|
||||
|
||||
# No test data provided
|
||||
RESTRICT="test"
|
||||
|
||||
BDEPEND="
|
||||
dev-util/glib-utils
|
||||
virtual/pkgconfig
|
||||
"
|
||||
DEPEND="
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
sys-libs/zlib
|
||||
cairo? (
|
||||
dev-libs/glib:2
|
||||
x11-libs/cairo
|
||||
introspection? ( dev-libs/gobject-introspection:= )
|
||||
)
|
||||
curl? ( net-misc/curl )
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= )
|
||||
lcms? ( media-libs/lcms:2 )
|
||||
nss? ( >=dev-libs/nss-3.19:0 )
|
||||
png? ( media-libs/libpng:0= )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtxml:5
|
||||
)
|
||||
tiff? ( media-libs/tiff:0 )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
cjk? ( app-text/poppler-data )
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS NEWS README.md README-XPDF )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.60.1-qt5-dependencies.patch"
|
||||
"${FILESDIR}/${PN}-0.28.1-fix-multilib-configuration.patch"
|
||||
"${FILESDIR}/${PN}-0.82.0-respect-cflags.patch"
|
||||
"${FILESDIR}/${PN}-0.61.0-respect-cflags.patch"
|
||||
"${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
# Clang doesn't grok this flag, the configure nicely tests that, but
|
||||
# cmake just uses it, so remove it if we use clang
|
||||
if [[ ${CC} == clang ]] ; then
|
||||
sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die
|
||||
fi
|
||||
|
||||
if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then
|
||||
sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \
|
||||
-i CMakeLists.txt || die
|
||||
else
|
||||
einfo "policy(SET CMP0002 OLD) - workaround can be removed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
xdg_environment_reset
|
||||
local mycmakeargs=(
|
||||
-DBUILD_GTK_TESTS=OFF
|
||||
-DBUILD_QT5_TESTS=OFF
|
||||
-DBUILD_CPP_TESTS=OFF
|
||||
-DRUN_GPERF_IF_PRESENT=OFF
|
||||
-DENABLE_SPLASH=ON
|
||||
-DENABLE_ZLIB=ON
|
||||
-DENABLE_ZLIB_UNCOMPRESS=OFF
|
||||
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
|
||||
-DUSE_FLOAT=OFF
|
||||
-DWITH_Cairo=$(usex cairo)
|
||||
-DENABLE_LIBCURL=$(usex curl)
|
||||
-DENABLE_CPP=$(usex cxx)
|
||||
-DWITH_JPEG=$(usex jpeg)
|
||||
-DENABLE_DCTDECODER=$(usex jpeg libjpeg none)
|
||||
-DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none)
|
||||
-DENABLE_CMS=$(usex lcms lcms2 none)
|
||||
-DWITH_NSS3=$(usex nss)
|
||||
-DWITH_PNG=$(usex png)
|
||||
$(cmake_use_find_package qt5 Qt5Core)
|
||||
-DWITH_TIFF=$(usex tiff)
|
||||
-DENABLE_UTILS=$(usex utils)
|
||||
-DENABLE_QT6=OFF
|
||||
)
|
||||
use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# live version doesn't provide html documentation
|
||||
if use cairo && use doc && [[ ${PV} != *9999* ]]; then
|
||||
# For now install gtk-doc there
|
||||
insinto /usr/share/gtk-doc/html/poppler
|
||||
doins -r "${S}"/glib/reference/html/*
|
||||
fi
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST qpdf-10.0.1.tar.gz 18399985 BLAKE2B 5e113790e7c2b48987c18aa7f562ff18f0efb544c48be8c36ba201ba1420168a7f32ebfe2e5754e8af679557df29093e0fd550c991b5201e4246be827952b3d3 SHA512 b73c0839b08905052d90ed78645cc9fb4fda4a0fa803db7b46f3d77a2c2f7e8cec52173834b1e1f008f3a3475a7d913362d22e1ebece11187a90c9035b81de94
|
||||
DIST qpdf-10.0.4.tar.gz 18465085 BLAKE2B 3b9edc38069d58d43d26b131da755b7921b7add905ed652e3abb48d9b2e140d0c3b38f0250dbd3dca1c4b3dadf76c636606c6fa802b1ebe2dda77444badd828e SHA512 0a8c243928a3273d78b4a898e17a619f1565ec5e9b6f637800a2937749fb8006d0438fee2e623d2f8dc715bfb478ee818e86e9da7c7e0fcf14af496464b79a07
|
||||
DIST qpdf-9.0.2.tar.gz 18168977 BLAKE2B 46b397f0e6a97804c5e8dcbfc9fd2278960d5afd459430c1790bb8f9080062cf661cf186ab386721ed7560dbd4abbea43e4d31914c0636502c5c11096c250fe2 SHA512 275ca81603d53601e4389cb34eaebea1c5d52b310ef28f3375fbeee255a28edf9375f03f31649f580dbc3df73b851a2c8498feb3dd7b30067955571b05c9e69c
|
||||
DIST qpdf-9.1.1.tar.gz 18312457 BLAKE2B 0bbfaa782e46a911b20440bcf122d2745dde62de16423307cb02f7f3cd9a4976c79c7f6371322f793abfd8eaf9d5cc4f49b6854e58039595b5a488a2fec98d88 SHA512 008a11fef663a57ca173631f2053988023babea6c333cfe01db0ef955c8cd36d387ed9f2039f55bd5f9ca94c7a8e400461a09a15c5f89e03bc0817fdd0d3d585
|
||||
|
@ -0,0 +1,57 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Command-line tool for structural, content-preserving transformation of PDF files"
|
||||
HOMEPAGE="http://qpdf.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/qpdf/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 Artistic-2 )"
|
||||
# subslot = libqpdf soname version
|
||||
SLOT="0/28"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~m68k-mint ~sparc-solaris"
|
||||
IUSE="doc examples libressl ssl test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
net-libs/gnutls:0=
|
||||
sys-libs/zlib
|
||||
virtual/jpeg:0=
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
app-text/ghostscript-gpl[tiff(+)]
|
||||
media-libs/tiff
|
||||
sys-apps/diffutils
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( ChangeLog README.md TODO )
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--disable-implicit-crypto
|
||||
--enable-crypto-gnutls
|
||||
--enable-crypto-native
|
||||
--with-default-crypto=gnutls
|
||||
--disable-static
|
||||
$(use_enable ssl crypto-openssl)
|
||||
$(use_enable test test-compare-images)
|
||||
)
|
||||
CONFIG_SHELL="${BROOT}/bin/bash" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use examples ; then
|
||||
dobin examples/build/.libs/*
|
||||
fi
|
||||
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
}
|
Binary file not shown.
@ -1,2 +1,3 @@
|
||||
DIST prometheus-cpp-0.10.0.tar.gz 49694 BLAKE2B f14232e1dad0376ea8e90c89079c4a6d8f2e9f5661a399d38d6f5001506db6c628cb42a934b40139cbb0d904a63c4b4483e6ed92452f5393365ed4209a236247 SHA512 18938b30143ed29985ee56943fd69e0a221f9d25f04fc611554050ee2786e96d968f7db251cccefcbd0017b61bcd8a7ea05af8f217c8aacd9f0694a4702ddcff
|
||||
DIST prometheus-cpp-0.11.0.tar.gz 51126 BLAKE2B 8c2126bcba405748fa398d9b8aed472ca5ade45049817995836fbdb1a09fc29e4176a17ecafa6b9a26f8fb7b62cb00037815ba300123fa3c7f39faac54e160e8 SHA512 4ab286c49403d09f182038cda9cb3bd1b9dbf7061493ff5355afef6ec4ac6ef109c875306e76ed3776b07d640ad7034538cfbc00474106108500994242b4cde2
|
||||
DIST prometheus-cpp-0.9.0.tar.gz 43924 BLAKE2B e2b26b257e44c63ae5bc2a703d0ee9247fd8f093ef58a3b00dec022af9cb56b18d20b74ccdb91899e2385b036c332b62d9959b9258082ca420fecf48926139d5 SHA512 d9d5fbbd8c8aad5dd6a5e872275324d689a0c57199e4158d74e13ea62b286fa71dee01bb4197b906b79792bf1ca4e67a46b5c04621d7070241ac32876f6de891
|
||||
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="Prometheus Client Library for Modern C++"
|
||||
HOMEPAGE="https://github.com/jupp0r/prometheus-cpp"
|
||||
SRC_URI="https://github.com/jupp0r/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test zlib"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
net-misc/curl
|
||||
sys-libs/zlib
|
||||
www-servers/civetweb[cxx]"
|
||||
DEPEND="${RDEPEND}
|
||||
test? (
|
||||
dev-cpp/benchmark
|
||||
dev-cpp/gtest
|
||||
)"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DENABLE_PULL=yes
|
||||
-DENABLE_PUSH=yes
|
||||
-DENABLE_COMPRESSION=$(usex zlib)
|
||||
-DENABLE_TESTING=$(usex test)
|
||||
-DUSE_THIRDPARTY_LIBRARIES=OFF
|
||||
)
|
||||
|
||||
cmake_src_configure
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST range-v3-0.10.0.tar.gz 525765 BLAKE2B 7dd3aed9b35920e058fe43bccd364831a52ad8d50179d1057ab7a37cdef82df021bb09a9913018ae78982fe136c855ba4101e31d35cfc21747af994d0103b95e SHA512 4db089dcbf638eb30fa20dcf6785dd460c5a074a8912984a484592753cfee9f5b9a0e2c56b5bc5921d1b6120877aa2c83ac0a6fe428088ef2854033a635e9723
|
||||
DIST range-v3-0.11.0.tar.gz 533136 BLAKE2B d325b14a9d812cb7a600a947126bcecf9384bec987edbad42eec38560415d075815ab92e3f92dad291029fc3e1b1afa1ceaf54443b4a536078047fd32d344394 SHA512 9d6cdcbc1e50104206ba731c3bdc9aab3acfcf69cd83f0e0b4de18b88df2a9e73d64e55638421768d4433c542b6619f6e5af6b17cccd3090cf8b4d4efe9863e4
|
||||
|
@ -0,0 +1,133 @@
|
||||
From a91f0e1be27a31c446452a753001d4518ef83a6b Mon Sep 17 00:00:00 2001
|
||||
From: Eric Niebler <eniebler@boost.org>
|
||||
Date: Mon, 17 Aug 2020 17:48:09 -0700
|
||||
Subject: [PATCH] work around premature instantiation problem on gcc; fixes
|
||||
#1545
|
||||
|
||||
---
|
||||
include/range/v3/view/chunk.hpp | 6 +++---
|
||||
include/range/v3/view/split.hpp | 26 +++++++++++++-------------
|
||||
2 files changed, 16 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/include/range/v3/view/chunk.hpp b/include/range/v3/view/chunk.hpp
|
||||
index 0c03cf1eb..b8df13303 100644
|
||||
--- a/include/range/v3/view/chunk.hpp
|
||||
+++ b/include/range/v3/view/chunk.hpp
|
||||
@@ -313,8 +313,8 @@ namespace ranges
|
||||
|
||||
public:
|
||||
inner_view() = default;
|
||||
- constexpr explicit inner_view(chunk_view_ & view) noexcept
|
||||
- : rng_{&view}
|
||||
+ constexpr explicit inner_view(chunk_view_ * view) noexcept
|
||||
+ : rng_{view}
|
||||
{}
|
||||
CPP_auto_member
|
||||
constexpr auto CPP_fun(size)()(
|
||||
@@ -338,7 +338,7 @@ namespace ranges
|
||||
constexpr inner_view read() const
|
||||
{
|
||||
RANGES_EXPECT(!done());
|
||||
- return inner_view{*rng_};
|
||||
+ return inner_view{rng_};
|
||||
}
|
||||
constexpr bool done() const
|
||||
{
|
||||
diff --git a/include/range/v3/view/split.hpp b/include/range/v3/view/split.hpp
|
||||
index facf1b37f..496220e4a 100644
|
||||
--- a/include/range/v3/view/split.hpp
|
||||
+++ b/include/range/v3/view/split.hpp
|
||||
@@ -389,19 +389,19 @@ namespace ranges
|
||||
split_outer_iterator() = default;
|
||||
|
||||
CPP_member
|
||||
- constexpr explicit CPP_ctor(split_outer_iterator)(Parent & parent)(
|
||||
+ constexpr explicit CPP_ctor(split_outer_iterator)(Parent * parent)(
|
||||
/// \pre
|
||||
requires (!forward_range<Base>))
|
||||
- : parent_(&parent)
|
||||
+ : parent_(parent)
|
||||
{}
|
||||
|
||||
CPP_member
|
||||
- constexpr CPP_ctor(split_outer_iterator)(Parent & parent,
|
||||
+ constexpr CPP_ctor(split_outer_iterator)(Parent * parent,
|
||||
iterator_t<Base> current)(
|
||||
/// \pre
|
||||
requires forward_range<Base>)
|
||||
: Current{std::move(current)}
|
||||
- , parent_(&parent)
|
||||
+ , parent_(parent)
|
||||
{}
|
||||
|
||||
template(bool Other)(
|
||||
@@ -519,7 +519,7 @@ namespace ranges
|
||||
ranges::equal_to> &&
|
||||
(forward_range<V> || detail::tiny_range<Pattern>)
|
||||
#endif
|
||||
- struct RANGES_EMPTY_BASES split_view
|
||||
+ struct RANGES_EMPTY_BASES split_view
|
||||
: view_interface<split_view<V, Pattern>, is_finite<V>::value ? finite : unknown>
|
||||
, private detail::split_view_base<iterator_t<V>>
|
||||
{
|
||||
@@ -537,17 +537,17 @@ namespace ranges
|
||||
#if RANGES_CXX_IF_CONSTEXPR < RANGES_CXX_IF_CONSTEXPR_17
|
||||
outer_iterator<simple_view<V>()> begin_(std::true_type)
|
||||
{
|
||||
- return outer_iterator<simple_view<V>()>{*this, ranges::begin(base_)};
|
||||
+ return outer_iterator<simple_view<V>()>{this, ranges::begin(base_)};
|
||||
}
|
||||
outer_iterator<false> begin_(std::false_type)
|
||||
{
|
||||
this->curr_ = ranges::begin(base_);
|
||||
- return outer_iterator<false>{*this};
|
||||
+ return outer_iterator<false>{this};
|
||||
}
|
||||
|
||||
outer_iterator<simple_view<V>()> end_(std::true_type) const
|
||||
{
|
||||
- return outer_iterator<true>{*this, ranges::end(base_)};
|
||||
+ return outer_iterator<true>{this, ranges::end(base_)};
|
||||
}
|
||||
default_sentinel_t end_(std::false_type) const
|
||||
{
|
||||
@@ -580,11 +580,11 @@ namespace ranges
|
||||
{
|
||||
#if RANGES_CXX_IF_CONSTEXPR >= RANGES_CXX_IF_CONSTEXPR_17
|
||||
if constexpr(forward_range<V>)
|
||||
- return outer_iterator<simple_view<V>()>{*this, ranges::begin(base_)};
|
||||
+ return outer_iterator<simple_view<V>()>{this, ranges::begin(base_)};
|
||||
else
|
||||
{
|
||||
this->curr_ = ranges::begin(base_);
|
||||
- return outer_iterator<false>{*this};
|
||||
+ return outer_iterator<false>{this};
|
||||
}
|
||||
#else
|
||||
return begin_(meta::bool_<forward_range<V>>{});
|
||||
@@ -596,7 +596,7 @@ namespace ranges
|
||||
/// \pre
|
||||
requires forward_range<V> && forward_range<const V>)
|
||||
{
|
||||
- return {*this, ranges::begin(base_)};
|
||||
+ return {this, ranges::begin(base_)};
|
||||
}
|
||||
CPP_member
|
||||
constexpr auto end() //
|
||||
@@ -604,14 +604,14 @@ namespace ranges
|
||||
/// \pre
|
||||
requires forward_range<V> && common_range<V>)
|
||||
{
|
||||
- return outer_iterator<simple_view<V>()>{*this, ranges::end(base_)};
|
||||
+ return outer_iterator<simple_view<V>()>{this, ranges::end(base_)};
|
||||
}
|
||||
constexpr auto end() const
|
||||
{
|
||||
#if RANGES_CXX_IF_CONSTEXPR >= RANGES_CXX_IF_CONSTEXPR_17
|
||||
if constexpr(forward_range<V> && forward_range<const V> &&
|
||||
common_range<const V>)
|
||||
- return outer_iterator<true>{*this, ranges::end(base_)};
|
||||
+ return outer_iterator<true>{this, ranges::end(base_)};
|
||||
else
|
||||
return default_sentinel;
|
||||
#else
|
@ -0,0 +1,39 @@
|
||||
From 66e847d4e14be3a369b7e26a03a172b20e62c003 Mon Sep 17 00:00:00 2001
|
||||
From: eksi <eksi@eksi.eksi>
|
||||
Date: Wed, 4 Nov 2020 20:37:01 +0300
|
||||
Subject: [PATCH] Add an option to disable -Werror. Fixes #1528
|
||||
|
||||
---
|
||||
cmake/ranges_flags.cmake | 4 +++-
|
||||
cmake/ranges_options.cmake | 3 +++
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cmake/ranges_flags.cmake b/cmake/ranges_flags.cmake
|
||||
index 76d893043..9b09ddcb8 100644
|
||||
--- a/cmake/ranges_flags.cmake
|
||||
+++ b/cmake/ranges_flags.cmake
|
||||
@@ -88,7 +88,9 @@ else()
|
||||
# Enable "normal" warnings and make them errors:
|
||||
ranges_append_flag(RANGES_HAS_WALL -Wall)
|
||||
ranges_append_flag(RANGES_HAS_WEXTRA -Wextra)
|
||||
- ranges_append_flag(RANGES_HAS_WERROR -Werror)
|
||||
+ if (RANGES_ENABLE_WERROR)
|
||||
+ ranges_append_flag(RANGES_HAS_WERROR -Werror)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if (RANGES_ENV_LINUX AND RANGES_CXX_COMPILER_CLANG)
|
||||
diff --git a/cmake/ranges_options.cmake b/cmake/ranges_options.cmake
|
||||
index 4ec39c7f0..8455af306 100644
|
||||
--- a/cmake/ranges_options.cmake
|
||||
+++ b/cmake/ranges_options.cmake
|
||||
@@ -16,6 +16,9 @@ option(RANGES_MODULES "Enables use of Clang modules (experimental)." OFF)
|
||||
option(RANGES_NATIVE "Enables -march/-mtune=native." ON)
|
||||
option(RANGES_VERBOSE_BUILD "Enables debug output from CMake." OFF)
|
||||
option(RANGES_LLVM_POLLY "Enables LLVM Polly." OFF)
|
||||
+option(RANGES_ENABLE_WERROR
|
||||
+ "Enables -Werror. Only effective if compiler is not clang-cl or MSVC. ON by default"
|
||||
+ ON)
|
||||
option(RANGES_PREFER_REAL_CONCEPTS
|
||||
"Use real concepts instead of emulation if the compiler supports it"
|
||||
ON)
|
@ -0,0 +1,46 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="Range library for C++14/17/20, basis for C++20's std::ranges"
|
||||
HOMEPAGE="https://github.com/ericniebler/range-v3"
|
||||
SRC_URI="https://github.com/ericniebler/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Boost-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/0.11.0-no-werror.patch"
|
||||
"${FILESDIR}/0.11.0-gcc10.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# header-only libraries go to arch-independent dirs
|
||||
sed -i -e 's@lib/cmake@share/cmake@g' CMakeLists.txt || die
|
||||
rm include/module.modulemap || die # https://bugs.gentoo.org/755740
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
mycmakeargs=(
|
||||
-DRANGES_BUILD_CALENDAR_EXAMPLE=OFF
|
||||
-DRANGES_NATIVE=OFF
|
||||
-DRANGES_DEBUG_INFO=OFF
|
||||
-DRANGES_NATIVE=OFF
|
||||
-DRANGES_ENABLE_WERROR=OFF
|
||||
-DRANGES_VERBOSE_BUILD=ON
|
||||
-DRANGE_V3_EXAMPLES=OFF
|
||||
-DRANGE_V3_PERF=OFF
|
||||
-DRANGE_V3_DOCS=OFF
|
||||
-DRANGE_V3_HEADER_CHECKS="$(usex test ON OFF)"
|
||||
-DRANGE_V3_TESTS=$(usex test ON OFF)
|
||||
#TODO: clang support + -DRANGES_MODULES=yes
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST tiled-1.4.2.tar.gz 17806729 BLAKE2B 9f9e6b97c6d95b1f8a1ad6da3540aaf9310a705b412005752afe72c3ce8e35025559ed0e7aaf36a1d65284c29d8406bdc58121f6c13bb658ff84ff43fde7f403 SHA512 1fddd8c8d67e4eaf116c82e276b0941e6dae7c529f2132e49da77d7e215fc7106d5fd3ef55d118f799153b57340effcf2481a131a436be7f00f61c4fc4bd45d2
|
||||
DIST tiled-1.4.3.tar.gz 17806808 BLAKE2B 81b5a32cc1e6f5f3b4af5520752d34572f0e78aad90df435d075b53ac18b39961aa22d23cff614cd83f0883fd2fd2bca69026160cb8b1b727fddaeff5764babe SHA512 1e75e323733e05563bf542364778d95f2f22484ec0d85b4a9e7fac782c117934b37b049724979be5c83de86a3900c7ca2e9f3c5a660c530d2ecd0f023eb22c2e
|
||||
|
@ -0,0 +1,71 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7} )
|
||||
inherit python-single-r1 qmake-utils xdg-utils
|
||||
|
||||
DESCRIPTION="A general purpose tile map editor"
|
||||
HOMEPAGE="https://www.mapeditor.org/"
|
||||
SRC_URI="https://github.com/bjorn/tiled/archive/v${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD BSD-2 GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="examples python"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/zstd:=
|
||||
>=dev-qt/qtcore-5.14:5
|
||||
>=dev-qt/qtdeclarative-5.14:5
|
||||
>=dev-qt/qtgui-5.14:5
|
||||
>=dev-qt/qtnetwork-5.14:5
|
||||
>=dev-qt/qtwidgets-5.14:5
|
||||
sys-libs/zlib
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools:5
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=( AUTHORS COPYING NEWS.md README.md )
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5 \
|
||||
LIBDIR="/usr/$(get_libdir)" \
|
||||
PREFIX="/usr" \
|
||||
SYSTEM_ZSTD="yes" \
|
||||
DISABLE_PYTHON_PLUGIN="$(usex !python)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
|
||||
einstalldocs
|
||||
|
||||
if use examples ; then
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
dodoc -r examples
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
@ -1,4 +1,5 @@
|
||||
DIST ecjsrc-4.10.jar 2036945 BLAKE2B cf9e50e53dac970a0b6b1231024a4efdc9adc92e02585aa4767c6511b367b32eefaf6fb3461c3c5c8160cf7205c0f708af0c433f4636b5a49caf637ba60fa092 SHA512 e85cacf6d2e21d464ff0226eac12bab8388df7a1413cb16d2982e255eb7369341792562f5080354279be0643c08fd80564a8eb2d8f59b72c8443c02577e4e1ee
|
||||
DIST ecjsrc-4.13.jar 2074963 BLAKE2B d74caf3b81543ac12497148a477dcd99fb6d14bd1d601b9e2baa0fb82d12f1211533f5ee909465b190c780ac18f1fbc1f8e12c22cddfce10501923effd7a4cc1 SHA512 f7e49b29e8aa80d627230059c9aba3f1e1fe3824bfd43eac962331d545471df5af0ac49b489aa3795e79e161101a3c6406b29f71a06143914f241916ae6953a9
|
||||
DIST ecjsrc-4.15.jar 2166228 BLAKE2B 794e0ba1a19b325e2dd8ad0b288ccbe04866627670b50d39dd327c13fe1fac56200eb3a6c1c3d1af043cad795508b9b714a5243049671414b5a62a97725d3297 SHA512 ada55b2522cf26570f0cd43f415eb5cf20e6840f83dadc72e1ae474ebf10eadca73f9fa3d1db51e13fd2762c38cd3e3567db3c7840d43ae3d8665ebe35e1889d
|
||||
DIST ecjsrc-4.4.2.jar 1764959 BLAKE2B 402bcbb040c28fa10dad07c4223daed9976f3246d6984ac74d95087a6cdcd5a742072126a999435eb2d49d49bb2884474461ae8439a9839617b2891297cd7c07 SHA512 53e850fc64994b104d45f58c22f1302ceb1f23bcf69300940be5689dfa6278bea14b4506746fec7b14db6f48c24ccbee16755943fffcdd7f6ad4fe5d9ddc1f20
|
||||
DIST ecjsrc-4.5.1.jar 1809543 BLAKE2B 6d9dfed1756ac3e7edf8dd5b30f945afac8bb09bfb5b10f9abed46fff917f600afaebd28451665005b38831f20846090bd3cd19b979130043adbc6a7970d6b36 SHA512 ee615e6fb7fb4a16ef4aeefdff93bafdbf36c9d0ce15713b81f1d4dce0ae87379fa4a6de34c32a134f78db6ed1a68d6c7b4e2a431b7de57bf8262a718fdd6553
|
||||
|
@ -0,0 +1,50 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple prefix
|
||||
|
||||
DMF="R-${PV}-202003050155"
|
||||
|
||||
DESCRIPTION="Ant Compiler Adapter for Eclipse Java Compiler"
|
||||
HOMEPAGE="http://www.eclipse.org/"
|
||||
SRC_URI="http://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV}.jar"
|
||||
|
||||
LICENSE="EPL-1.0"
|
||||
KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
|
||||
SLOT="4.15"
|
||||
IUSE=""
|
||||
|
||||
CDEPEND="~dev-java/eclipse-ecj-${PV}:${SLOT}
|
||||
dev-java/ant-core:0"
|
||||
RDEPEND="${CDEPEND}
|
||||
>=virtual/jre-11"
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/unzip
|
||||
>=virtual/jdk-11"
|
||||
|
||||
JAVA_GENTOO_CLASSPATH="ant-core,eclipse-ecj-${SLOT}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Remove everything but the Ant component.
|
||||
find org -type f ! -path "org/eclipse/jdt/internal/antadapter/*" ! -name "JDTCompilerAdapter.java" -delete || die
|
||||
|
||||
rm build.xml || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
java-pkg-simple_src_compile
|
||||
find org -type f ! -name "*.java" | xargs jar uvf "${PN}.jar" || die "jar update failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg-simple_src_install
|
||||
insinto /usr/share/java-config-2/compiler
|
||||
doins "${FILESDIR}/ecj-${SLOT}"
|
||||
eprefixify "${D}"/usr/share/java-config-2/compiler/ecj-${SLOT}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
JAVAC="@GENTOO_PORTAGE_EPREFIX@/usr/bin/ecj-4.15"
|
||||
PACKAGE="=dev-java/ant-eclipse-ecj-4.15*"
|
||||
SUPPORTED_TARGET="1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13"
|
||||
SUPPORTED_SOURCE="1.3 1.4 1.5 1.6 1.7 1.8 9 10 11 12 13"
|
||||
ANT_BUILD_COMPILER="org.eclipse.jdt.core.JDTCompilerAdapter"
|
||||
ANT_BUILD_COMPILER_DEPS="eclipse-ecj-4.15,ant-eclipse-ecj-4.15"
|
||||
GENERATION="2"
|
@ -1,4 +1,5 @@
|
||||
DIST ecjsrc-4.10.jar 2036945 BLAKE2B cf9e50e53dac970a0b6b1231024a4efdc9adc92e02585aa4767c6511b367b32eefaf6fb3461c3c5c8160cf7205c0f708af0c433f4636b5a49caf637ba60fa092 SHA512 e85cacf6d2e21d464ff0226eac12bab8388df7a1413cb16d2982e255eb7369341792562f5080354279be0643c08fd80564a8eb2d8f59b72c8443c02577e4e1ee
|
||||
DIST ecjsrc-4.13.jar 2074963 BLAKE2B d74caf3b81543ac12497148a477dcd99fb6d14bd1d601b9e2baa0fb82d12f1211533f5ee909465b190c780ac18f1fbc1f8e12c22cddfce10501923effd7a4cc1 SHA512 f7e49b29e8aa80d627230059c9aba3f1e1fe3824bfd43eac962331d545471df5af0ac49b489aa3795e79e161101a3c6406b29f71a06143914f241916ae6953a9
|
||||
DIST ecjsrc-4.15.jar 2166228 BLAKE2B 794e0ba1a19b325e2dd8ad0b288ccbe04866627670b50d39dd327c13fe1fac56200eb3a6c1c3d1af043cad795508b9b714a5243049671414b5a62a97725d3297 SHA512 ada55b2522cf26570f0cd43f415eb5cf20e6840f83dadc72e1ae474ebf10eadca73f9fa3d1db51e13fd2762c38cd3e3567db3c7840d43ae3d8665ebe35e1889d
|
||||
DIST ecjsrc-4.4.2.jar 1764959 BLAKE2B 402bcbb040c28fa10dad07c4223daed9976f3246d6984ac74d95087a6cdcd5a742072126a999435eb2d49d49bb2884474461ae8439a9839617b2891297cd7c07 SHA512 53e850fc64994b104d45f58c22f1302ceb1f23bcf69300940be5689dfa6278bea14b4506746fec7b14db6f48c24ccbee16755943fffcdd7f6ad4fe5d9ddc1f20
|
||||
DIST ecjsrc-4.5.1.jar 1809543 BLAKE2B 6d9dfed1756ac3e7edf8dd5b30f945afac8bb09bfb5b10f9abed46fff917f600afaebd28451665005b38831f20846090bd3cd19b979130043adbc6a7970d6b36 SHA512 ee615e6fb7fb4a16ef4aeefdff93bafdbf36c9d0ce15713b81f1d4dce0ae87379fa4a6de34c32a134f78db6ed1a68d6c7b4e2a431b7de57bf8262a718fdd6553
|
||||
|
@ -0,0 +1,74 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
MY_PN="ecj"
|
||||
DMF="R-${PV}-202003050155"
|
||||
|
||||
DESCRIPTION="Eclipse Compiler for Java"
|
||||
HOMEPAGE="http://www.eclipse.org/"
|
||||
SRC_URI="http://download.eclipse.org/eclipse/downloads/drops4/${DMF}/${MY_PN}src-${PV}.jar"
|
||||
|
||||
LICENSE="EPL-1.0"
|
||||
KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
|
||||
SLOT="4.15"
|
||||
IUSE="+ant"
|
||||
|
||||
COMMON_DEP="
|
||||
app-eselect/eselect-java
|
||||
dev-java/ant-core:0"
|
||||
RDEPEND="${COMMON_DEP}
|
||||
virtual/jre"
|
||||
DEPEND="${COMMON_DEP}
|
||||
>=virtual/jdk-11
|
||||
app-arch/unzip"
|
||||
PDEPEND="
|
||||
ant? ( ~dev-java/ant-eclipse-ecj-${PV} )"
|
||||
|
||||
JAVA_PKG_WANT_SOURCE="1.8"
|
||||
JAVA_PKG_WANT_TARGET="1.8"
|
||||
JAVA_JAR_FILENAME="${MY_PN}.jar"
|
||||
JAVA_GENTOO_CLASSPATH="ant-core"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=479134 for details
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# These have their own package.
|
||||
rm org/eclipse/jdt/core/JDTCompilerAdapter.java || die
|
||||
rm -r org/eclipse/jdt/internal/antadapter || die
|
||||
|
||||
# JavaCore is not distributed in the jar
|
||||
sed -i -e '/import org.eclipse.jdt.core.JavaCore;/d' \
|
||||
-e 's|JavaCore.getOptions()||g' \
|
||||
org/eclipse/jdt/internal/compiler/batch/ClasspathDirectory.java
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
java-pkg-simple_src_compile
|
||||
find org META-INF -type f ! -name "*.java" | xargs jar uvf "${JAVA_JAR_FILENAME}" || die "jar update failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg-simple_src_install
|
||||
java-pkg_dolauncher ${MY_PN}-${SLOT} --main \
|
||||
org.eclipse.jdt.internal.compiler.batch.Main
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
einfo "To select between slots of ECJ..."
|
||||
einfo " # eselect ecj"
|
||||
|
||||
eselect ecj update ecj-${SLOT}
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ecj update
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
diff --git a/java/javax/el/ExpressionFactory.java b/java/javax/el/ExpressionFactory.java
|
||||
index 2f42de7..5d52580 100644
|
||||
--- a/java/javax/el/ExpressionFactory.java
|
||||
+++ b/java/javax/el/ExpressionFactory.java
|
||||
@@ -36,13 +36,13 @@ import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReadWriteLock;
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||
|
||||
-import aQute.bnd.annotation.spi.ServiceConsumer;
|
||||
+//import aQute.bnd.annotation.spi.ServiceConsumer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @since 2.1
|
||||
*/
|
||||
-@ServiceConsumer(value=ExpressionFactory.class)
|
||||
+//@ServiceConsumer(value=ExpressionFactory.class)
|
||||
public abstract class ExpressionFactory {
|
||||
|
||||
private static final boolean IS_SECURITY_ENABLED =
|
@ -0,0 +1,98 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
JAVA_PKG_IUSE="source"
|
||||
|
||||
inherit eutils java-pkg-2 java-pkg-simple
|
||||
|
||||
MY_A="apache-${P}-src"
|
||||
MY_P="${MY_A/-servlet-api/}"
|
||||
DESCRIPTION="Tomcat's Servlet API 3.0/JSP API 2.2 implementation"
|
||||
HOMEPAGE="https://tomcat.apache.org/"
|
||||
SRC_URI="mirror://apache/tomcat/tomcat-7/v${PV}/src/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="3.0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=">=virtual/jdk-1.8"
|
||||
RDEPEND=">=virtual/jre-1.8"
|
||||
|
||||
S="${WORKDIR}/${MY_P}/"
|
||||
|
||||
JAVA_TEST_SRC_DIR="src/test"
|
||||
|
||||
SERVLET_API_JAR="servlet-api.jar"
|
||||
SERVLET_API_SRC="src/main/servlet-api"
|
||||
SERVLET_API_RESOURCES="src/resources/servlet-api"
|
||||
EL_API_JAR="el-api.jar"
|
||||
EL_API_SRC="src/main/el-api"
|
||||
EL_API_RESOURCES="src/resources/el-api"
|
||||
JSP_API_JAR="jsp-api.jar"
|
||||
JSP_API_SRC="src/main/jsp-api"
|
||||
JSP_API_RESOURCES="src/resources/jsp-api"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# The sources and also resources are mixed together so we first give it a structure to make it easier to compila and package
|
||||
|
||||
mkdir -p ${SERVLET_API_SRC} ${SERVLET_API_RESOURCES} \
|
||||
${EL_API_SRC} ${EL_API_RESOURCES} \
|
||||
${JSP_API_SRC}/javax/servlet ${JSP_API_RESOURCES} \
|
||||
${JAVA_TEST_SRC_DIR} || die "Failed to create source directory"
|
||||
|
||||
pushd java || die "Failed to cd to java dir"
|
||||
|
||||
cp --parents -R javax/servlet "${S}/${SERVLET_API_SRC}/" || die "Failed to copy servlet-api sources"
|
||||
mv "${S}/${SERVLET_API_SRC}/javax/servlet/jsp" "${S}/${JSP_API_SRC}/javax/servlet" || die "Failed to copy jsp-api sources"
|
||||
cp --parents -R javax/el "${S}/${EL_API_SRC}/" || die "Failed to copy el-api sources"
|
||||
|
||||
popd
|
||||
|
||||
for file in $(find src -type f | grep -vE "\.java$"); do
|
||||
target_dir=$(dirname $file | sed "s%src/main/%src/resources/%g")
|
||||
mkdir -p ${target_dir} || die "Failed to create resource directory"
|
||||
mv $file ${target_dir} || die "Failed to move resource file"
|
||||
done
|
||||
|
||||
mv test/javax ${JAVA_TEST_SRC_DIR} || die "Failed to copy test sources"
|
||||
|
||||
java-pkg-2_src_prepare
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
JAVA_SRC_DIR="${SERVLET_API_SRC}"
|
||||
JAVA_RESOURCE_DIRS="${SERVLET_API_RESOURCES}"
|
||||
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
|
||||
java-pkg-simple_src_compile
|
||||
rm -fr target || die "Failed to remove compiled files"
|
||||
|
||||
JAVA_SRC_DIR="${EL_API_SRC}"
|
||||
JAVA_RESOURCE_DIRS="${EL_API_RESOURCES}"
|
||||
JAVA_JAR_FILENAME="${EL_API_JAR}"
|
||||
java-pkg-simple_src_compile
|
||||
rm -fr target || die "Failed to remove compiled files"
|
||||
|
||||
JAVA_SRC_DIR="${JSP_API_SRC}"
|
||||
JAVA_RESOURCE_DIRS="${JSP_API_RESOURCES}"
|
||||
JAVA_JAR_FILENAME="${JSP_API_JAR}"
|
||||
JAVA_GENTOO_CLASSPATH_EXTRA="servlet-api.jar:el-api.jar"
|
||||
java-pkg-simple_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
JAVA_SRC_DIR="${SERVLET_API_SRC}"
|
||||
JAVA_JAR_FILENAME="${SERVLET_API_JAR}"
|
||||
java-pkg-simple_src_install
|
||||
|
||||
JAVA_SRC_DIR="${EL_API_SRC}"
|
||||
JAVA_JAR_FILENAME="${EL_API_JAR}"
|
||||
java-pkg-simple_src_install
|
||||
|
||||
JAVA_SRC_DIR="${JSP_API_SRC}"
|
||||
JAVA_JAR_FILENAME="${JSP_API_JAR}"
|
||||
java-pkg-simple_src_install
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue