Compare commits
No commits in common. "f86885a60c07b303f682dee5ee90f5a49b556e2e" and "849656fa2d489c04010ee35c2218c01d03790e4f" have entirely different histories.
f86885a60c
...
849656fa2d
|
@ -1,34 +0,0 @@
|
|||
--- a/native/Makefile
|
||||
+++ b/native/Makefile
|
||||
@@ -81,7 +81,7 @@ LIBPFX=lib
|
||||
LIBSFX=.so
|
||||
ARSFX=.a
|
||||
JNISFX=$(LIBSFX)
|
||||
-CC=gcc
|
||||
+CC?=gcc
|
||||
LD=$(CC)
|
||||
LIBS=
|
||||
# Default to Sun recommendations for JNI compilation
|
||||
@@ -94,10 +94,10 @@ CFLAGS_EXTRA=
|
||||
COUT=-o $@
|
||||
CINCLUDES=$(JAVA_INCLUDES) -I"$(JAVAH)" -I$(FFI_BUILD)/include
|
||||
CDEFINES=-D_REENTRANT
|
||||
-PCFLAGS=-W -Wall -Wno-unused -Wno-parentheses
|
||||
-CFLAGS=$(PCFLAGS) $(CFLAGS_EXTRA) $(COPT) $(CDEBUG) $(CDEFINES) $(CINCLUDES) \
|
||||
+PCFLAGS=-Wall -Wno-unused -Wno-parentheses
|
||||
+CFLAGS+= $(PCFLAGS) $(CFLAGS_EXTRA) $(COPT) $(CDEBUG) $(CDEFINES) $(CINCLUDES) \
|
||||
-DJNA_JNI_VERSION='"$(JNA_JNI_VERSION)"' -DCHECKSUM='"$(CHECKSUM)"'
|
||||
-LDFLAGS=-o $@ -shared
|
||||
+LDFLAGS+= -o $@ -shared
|
||||
ifeq ($(DYNAMIC_LIBFFI),true)
|
||||
CFLAGS += $(shell pkg-config --cflags libffi 2>/dev/null || echo)
|
||||
LIBS += $(shell pkg-config --libs libffi 2>/dev/null || echo -lffi)
|
||||
@@ -108,7 +108,7 @@ endif
|
||||
# Avoid bug in X11-based 1.5/1.6 VMs; dynamically load instead of linking
|
||||
# See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6539705
|
||||
#LIBS=-L"$(LIBDIR)" -ljawt
|
||||
-STRIP=strip -x
|
||||
+STRIP?=strip -x
|
||||
# end defaults
|
||||
|
||||
# Android build (cross-compile) requires the android NDK.
|
|
@ -1,17 +0,0 @@
|
|||
https://bugs.gentoo.org/888813
|
||||
--- a/native/Makefile
|
||||
+++ b/native/Makefile
|
||||
@@ -356,11 +356,11 @@ ifeq ($(CC),gcc)
|
||||
GCC_MAJOR_VERSION = $(shell gcc -dumpversion | cut -f 1 -d '.')
|
||||
ifneq ($(GCC_MAJOR_VERSION),4)
|
||||
ifneq ($(GCC_MAJOR_VERSION),3)
|
||||
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable -Wno-alloca-larger-than
|
||||
+ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable -Wno-alloca-larger-than
|
||||
endif
|
||||
endif
|
||||
else
|
||||
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable
|
||||
+ LOC_CC_OPTS=-Wno-unknown-warning-option -Wno-clobbered -Wno-unused-variable
|
||||
endif
|
||||
|
||||
# Enable 64-bit builds if the arch demands it
|
|
@ -1,12 +0,0 @@
|
|||
Bug #906053
|
||||
--- a/contrib/platform/test/com/sun/jna/platform/linux/LibCTest.java
|
||||
+++ b/contrib/platform/test/com/sun/jna/platform/linux/LibCTest.java
|
||||
@@ -71,7 +71,7 @@ public class LibCTest extends TestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
- public void testStatvfs() throws IOException, InterruptedException {
|
||||
+ public void noTestStatvfs() throws IOException, InterruptedException {
|
||||
Statvfs vfs = new Statvfs();
|
||||
|
||||
String testDirectory = "/";
|
|
@ -1,103 +0,0 @@
|
|||
This patch solves several test failures on com.sun.jna.LibraryLoadTest like
|
||||
"Expected JNA native library at build/native-linux-x86-64/libtestlib.so is missing"
|
||||
--- a/test/com/sun/jna/Paths.java
|
||||
+++ b/test/com/sun/jna/Paths.java
|
||||
@@ -47,12 +47,12 @@ public interface Paths {
|
||||
USING_CLOVER
|
||||
? "build.clover" : "build");
|
||||
String CLASSES = BUILDDIR + (Platform.isWindowsCE() ? "" : "/classes");
|
||||
- String JNAJAR = BUILDDIR + "/jna.jar";
|
||||
+ String JNAJAR = "jna.jar";
|
||||
|
||||
String TESTPATH = Platform.isWindowsCE()
|
||||
? "/Storage Card/"
|
||||
: System.getProperty("jna.nativedir",
|
||||
- BUILDDIR + "/native-" + Platform.RESOURCE_PREFIX + "/");
|
||||
+ BUILDDIR + "/native/");
|
||||
String TESTJAR = BUILDDIR + "/jna-test.jar";
|
||||
String TESTJAR2 = BUILDDIR + "/jna-test2.jar";
|
||||
String TESTJAR3 = BUILDDIR + "/jna-test3.jar";
|
||||
1) testAvoidJarUnpacking(com.sun.jna.JNALoadTest)
|
||||
java.lang.ClassNotFoundException: com.sun.jna.Native
|
||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
|
||||
at java.lang.Class.forName0(Native Method)
|
||||
at java.lang.Class.forName(Class.java:348)
|
||||
at com.sun.jna.JNALoadTest.testAvoidJarUnpacking(JNALoadTest.java:94)
|
||||
2) testLoadAndUnloadFromJar(com.sun.jna.JNALoadTest)
|
||||
java.lang.ClassNotFoundException: com.sun.jna.Native
|
||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
|
||||
at java.lang.Class.forName0(Native Method)
|
||||
at java.lang.Class.forName(Class.java:348)
|
||||
at com.sun.jna.JNALoadTest.testLoadAndUnloadFromJar(JNALoadTest.java:128)
|
||||
3) testAvoidResourcePathLoading(com.sun.jna.JNALoadTest)
|
||||
java.lang.Error: Expected JNA library at build/classes/com/sun/jna/linux-x86-64/libjnidispatch.so is missing
|
||||
at com.sun.jna.JNALoadTest.assertLibraryExists(JNALoadTest.java:87)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.<init>(JNALoadTest.java:54)
|
||||
at com.sun.jna.JNALoadTest.testAvoidResourcePathLoading(JNALoadTest.java:109)
|
||||
4) testLoadFromUnicodePath(com.sun.jna.JNALoadTest)
|
||||
java.lang.ClassNotFoundException: com.sun.jna.Native
|
||||
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.findClass(JNALoadTest.java:64)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
|
||||
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
|
||||
at java.lang.Class.forName0(Native Method)
|
||||
at java.lang.Class.forName(Class.java:348)
|
||||
at com.sun.jna.JNALoadTest.testLoadFromUnicodePath(JNALoadTest.java:255)
|
||||
5) testLoadAndUnloadFromResourcePath(com.sun.jna.JNALoadTest)
|
||||
java.lang.Error: Expected JNA library at build/classes/com/sun/jna/linux-x86-64/libjnidispatch.so is missing
|
||||
at com.sun.jna.JNALoadTest.assertLibraryExists(JNALoadTest.java:87)
|
||||
at com.sun.jna.JNALoadTest$TestLoader.<init>(JNALoadTest.java:54)
|
||||
at com.sun.jna.JNALoadTest.testLoadAndUnloadFromResourcePath(JNALoadTest.java:184)
|
||||
--- a/test/com/sun/jna/JNALoadTest.java
|
||||
+++ b/test/com/sun/jna/JNALoadTest.java
|
||||
@@ -45,7 +45,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
super(new URL[]{
|
||||
Platform.isWindowsCE()
|
||||
? new File("/Storage Card/" + (fromJar ? "jna.jar" : "test.jar")).toURI().toURL()
|
||||
- : new File(BUILDDIR + (fromJar ? "/jna.jar" : "/classes")).toURI().toURL()},
|
||||
+ : new File((fromJar ? "jna.jar" : "/classes")).toURI().toURL()},
|
||||
new CloverLoader());
|
||||
if (fromJar) {
|
||||
assertJarExists();
|
||||
@@ -103,7 +103,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
}
|
||||
|
||||
- public void testAvoidResourcePathLoading() throws Exception {
|
||||
+ public void noTestAvoidResourcePathLoading() throws Exception {
|
||||
System.setProperty("jna.noclasspath", "true");
|
||||
try {
|
||||
Class<?> cls = Class.forName("com.sun.jna.Native", true, new TestLoader(false));
|
||||
@@ -118,7 +118,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
}
|
||||
|
||||
- public void testLoadAndUnloadFromJar() throws Exception {
|
||||
+ public void noTestLoadAndUnloadFromJar() throws Exception {
|
||||
if (Platform.isIntel() && (! Platform.is64Bit())) {
|
||||
System.out.println("Skip " + getName() + " - it is known to be flaky and produces false positives on x86-32bit");
|
||||
return;
|
||||
@@ -175,7 +175,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
|
||||
// GC Fails under OpenJDK(linux/ppc)
|
||||
- public void testLoadAndUnloadFromResourcePath() throws Exception {
|
||||
+ public void noTestLoadAndUnloadFromResourcePath() throws Exception {
|
||||
if (Platform.isIntel() && (! Platform.is64Bit())) {
|
||||
System.out.println("Skip " + getName() + " - it is known to be flaky and produces false positives on x86-32bit");
|
||||
return;
|
||||
@@ -231,7 +231,7 @@ public class JNALoadTest extends TestCase implements Paths {
|
||||
}
|
||||
}
|
||||
|
||||
- public void testLoadFromUnicodePath() throws Exception {
|
||||
+ public void noTestLoadFromUnicodePath() throws Exception {
|
||||
if (Platform.isWindows()) {
|
||||
String vendor = System.getProperty("java.vendor");
|
||||
if (vendor != null) {
|
|
@ -1,197 +0,0 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
JAVA_PKG_IUSE="doc source test"
|
||||
MAVEN_PROVIDES="
|
||||
net.java.dev.jna:jna:${PV}
|
||||
net.java.dev.jna:jna-platform:${PV}
|
||||
"
|
||||
JAVA_TESTING_FRAMEWORKS="junit-4"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple toolchain-funcs
|
||||
|
||||
DESCRIPTION="Java Native Access"
|
||||
HOMEPAGE="https://github.com/java-native-access/jna"
|
||||
SRC_URI="https://github.com/java-native-access/jna/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/${P}"
|
||||
|
||||
LICENSE="|| ( Apache-2.0 LGPL-2.1+ )"
|
||||
SLOT="4"
|
||||
KEYWORDS="amd64 ~arm arm64 ppc64 x86"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
CDEPEND="
|
||||
>=dev-libs/libffi-3.4:=
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
>=virtual/jdk-1.8:*
|
||||
test? (
|
||||
dev-java/reflections:0
|
||||
)
|
||||
${CDEPEND}
|
||||
x11-libs/libXt
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/jre-1.8:*
|
||||
${CDEPEND}
|
||||
"
|
||||
|
||||
DOCS=( README.md CHANGES.md OTHERS TODO )
|
||||
PATCHES=(
|
||||
"${FILESDIR}/5.11.0-makefile-flags.patch"
|
||||
"${FILESDIR}/jna-5.11.0-no-Werror.patch"
|
||||
"${FILESDIR}/jna-5.13.0-testpath.patch"
|
||||
"${FILESDIR}/jna-5.13.0-LibCTest.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
java-pkg-2_src_prepare
|
||||
java-pkg_clean
|
||||
mkdir -p "res/META-INF" || die
|
||||
echo "Main-Class: com.sun.jna.Native" > "res/META-INF/MANIFEST.MF" || die
|
||||
|
||||
# https://github.com/java-native-access/jna/blob/5.13.0/build.xml#L402-L407
|
||||
sed \
|
||||
-e "/VERSION =/s:TEMPLATE:${PV}:" \
|
||||
-e '/VERSION_NATIVE =/s:TEMPLATE:5.1.0:' \
|
||||
-i src/com/sun/jna/Version.java || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
einfo "Compiling jna.jar"
|
||||
JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna"
|
||||
JAVA_JAR_FILENAME="jna.jar"
|
||||
JAVA_RESOURCE_DIRS="res"
|
||||
JAVA_SRC_DIR="src"
|
||||
java-pkg-simple_src_compile
|
||||
JAVA_GENTOO_CLASSPATH_EXTRA+=":jna.jar"
|
||||
rm -r target || die
|
||||
|
||||
einfo "Compiling jna-platform.jar"
|
||||
JAVA_AUTOMATIC_MODULE_NAME="com.sun.jna.platform"
|
||||
JAVA_JAR_FILENAME="jna-platform.jar"
|
||||
JAVA_RESOURCE_DIRS=""
|
||||
JAVA_SRC_DIR="contrib/platform/src"
|
||||
java-pkg-simple_src_compile
|
||||
JAVA_GENTOO_CLASSPATH_EXTRA+=":jna-platform.jar"
|
||||
rm -r target || die
|
||||
|
||||
if use doc; then
|
||||
einfo "Compiling javadocs"
|
||||
JAVA_SRC_DIR=(
|
||||
"src"
|
||||
"contrib/platform/src"
|
||||
)
|
||||
JAVA_JAR_FILENAME="ignoreme.jar"
|
||||
java-pkg-simple_src_compile
|
||||
fi
|
||||
|
||||
einfo "Generating headers com_sun_jna_Native.h com_sun_jna_Function.h"
|
||||
ejavac -h native -classpath "src" \
|
||||
"src/com/sun/jna/Function.java" \
|
||||
"src/com/sun/jna/Native.java" || die
|
||||
|
||||
einfo "Building native library"
|
||||
cd native || die
|
||||
local args=(
|
||||
CC="$(tc-getCC)"
|
||||
STRIP=true
|
||||
DYNAMIC_LIBFFI=true
|
||||
)
|
||||
# Using -j1 since otherwise fails to build:
|
||||
# cannot find ../build/native/libtestlib.so: No such file or directory
|
||||
# [Makefile:505: ../build/native/libtestlib2.so] Error 1
|
||||
emake -j1 "${args[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
JAVA_TEST_EXTRA_ARGS=(
|
||||
-Djna.nosys=true
|
||||
-Djna.boot.library.path=build/native
|
||||
-Djna.library.path=build/native
|
||||
)
|
||||
JAVA_TEST_GENTOO_CLASSPATH="
|
||||
junit-4
|
||||
reflections
|
||||
"
|
||||
|
||||
JAVA_TEST_SRC_DIR="contrib/platform/test"
|
||||
rm -r contrib/platform/test/com/sun/jna/platform/{mac,unix,win32} || die
|
||||
JAVA_TEST_EXCLUDES=(
|
||||
# 1) testGetXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
|
||||
# java.io.IOException: errno: 95
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
|
||||
# at com.sun.jna.platform.linux.XAttrUtilTest.testGetXAttr(XAttrUtilTest.java:83)
|
||||
# 2) setXAttr(com.sun.jna.platform.linux.XAttrUtilTest)
|
||||
# java.io.IOException: errno: 95
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:85)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:70)
|
||||
# at com.sun.jna.platform.linux.XAttrUtil.setXAttr(XAttrUtil.java:56)
|
||||
# at com.sun.jna.platform.linux.XAttrUtilTest.setXAttr(XAttrUtilTest.java:53)
|
||||
com.sun.jna.platform.linux.XAttrUtilTest
|
||||
)
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_SRC_DIR="test"
|
||||
rm -r test/com/sun/jna/wince || die
|
||||
rm -r test/com/sun/jna/win32 || die
|
||||
|
||||
# 1) testLoadFromJarAbsolute(com.sun.jna.LibraryLoadTest)
|
||||
# java.lang.UnsatisfiedLinkError: Unable to load library '/libtestlib-jar.so':
|
||||
# /libtestlib-jar.so: cannot open shared object file: No such file or directory
|
||||
jar cvf build/jna-test.jar \
|
||||
-C build/native libtestlib-jar.so \
|
||||
-C test com/sun/jna/data || die
|
||||
JAVA_GENTOO_CLASSPATH_EXTRA+=":build/jna-test.jar"
|
||||
|
||||
JAVA_TEST_EXCLUDES=(
|
||||
com.sun.jna.CallbacksTest # Needs to run separately
|
||||
com.sun.jna.DirectTest # Needs to run separately
|
||||
com.sun.jna.NativeTest # Needs to run separately
|
||||
com.sun.jna.TypeMapperTest # Needs to run separately
|
||||
com.sun.jna.UnionTest # Needs to run separately
|
||||
com.sun.jna.VMCrashProtectionTest # Needs to run separately
|
||||
)
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=(
|
||||
com.sun.jna.CallbacksTest
|
||||
com.sun.jna.DirectTest
|
||||
com.sun.jna.UnionTest
|
||||
)
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=( com.sun.jna.NativeTest )
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=( com.sun.jna.VMCrashProtectionTest )
|
||||
java-pkg-simple_src_test
|
||||
|
||||
JAVA_TEST_RUN_ONLY=( com.sun.jna.TypeMapperTest )
|
||||
java-pkg-simple_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
java-pkg_dojar jna.jar jna-platform.jar
|
||||
java-pkg_doso build/native/libjnidispatch.so
|
||||
|
||||
if use doc; then
|
||||
java-pkg_dojavadoc target/api
|
||||
fi
|
||||
|
||||
if use source; then
|
||||
java-pkg_dosrc "src/*"
|
||||
java-pkg_dosrc "contrib/platform/src/*"
|
||||
fi
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
DIST zenity-3.44.2.tar.xz 3095752 BLAKE2B 07d5b9aa673ae1e719bbd8d2ff85394ce19b9e77c36c3b6cf73d6b806dbcb0ab6322d13e66a715ebf5aefc14fa289a31367d0f0abd6ceaa9df7e3d7d12049492 SHA512 60f139b18db9ddf95a9c3481b08a3b99dd56ce457a49d99dc33f59570837e8498e8819bdd130c915a08e40042b2f3af583bd0fe4498adb8152632bd044137f2f
|
|
@ -1,55 +0,0 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit gnome.org gnome2-utils meson xdg
|
||||
|
||||
DESCRIPTION="Tool to display dialogs from the commandline and shell scripts"
|
||||
HOMEPAGE="https://wiki.gnome.org/Projects/Zenity"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="libnotify webkit"
|
||||
|
||||
# TODO: X11 dependency is automagically enabled
|
||||
RDEPEND="
|
||||
>=x11-libs/gtk+-3.16.0:3[X]
|
||||
>=dev-libs/glib-2.43.4:2
|
||||
libnotify? ( >=x11-libs/libnotify-0.6.1:= )
|
||||
webkit? ( >=net-libs/webkit-gtk-2.8.1:4.1 )
|
||||
x11-libs/libX11
|
||||
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/pango
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.19.4
|
||||
virtual/pkgconfig
|
||||
"
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_use libnotify)
|
||||
$(meson_use webkit webkitgtk)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Not really needed and prevent us from needing perl
|
||||
rm "${ED}/usr/bin/gdialog" || die "rm gdialog failed!"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
gnome2_schemas_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
}
|
|
@ -1,14 +1,6 @@
|
|||
DIST amdvlk-CWPack-4f8cf0584442a91d829d269158567d7ed926f026.tar.gz 39633 BLAKE2B d5b2a88f0d563eef5beb42a8304cf6cdd825e75242c22acc360c5bb9cbd1d02a4f891b6b2f3a4803e1e6b48a4d176aad40f8bdeca92847f2fbf53674dedeaff3 SHA512 06d56baaba1f1224a5266f4a63c1abf70edba7cc16cc4e62f2f5b1ec94fc2c1cfc4c6f11a9c6ef42c23b29be8d07921caad5e919357c0bd82cf714783eee0bcc
|
||||
DIST amdvlk-CWPack-7387247eb9889ddcabbc1053b9c2052e253b088e.tar.gz 24538 BLAKE2B 76c4da32ea06df355f7e8f77a14c185b2ccab2ce2762988f04a04d65b674e089d4fc27206e744f89b4bd84c9d7226d324414a31941303290e7f574e9d64756cf SHA512 38378ef325e42a7356511c2fc06b6c896581968079e85c4b924a1768d895feecaf1eb8fd65afb59bed0f66e0547104d67c2deb9f82a86f4b9fa65b36e57cd47d
|
||||
DIST amdvlk-LLVM-dialects-17aafecff46b68206a0ed82d58f5e2fc358367a1.tar.gz 44441 BLAKE2B a94eb01ae3a2a868a1613e17573c5326252fa163d8e336b8c3292d0e3e349e3df98b124d300bbe42870bc2d60d18afe2c566e4484b45beb84a7087c0d58291e4 SHA512 4a6b2484f0fbb63f2cf987184a12f8a4a344ebfbfe5c1f37423fbda88c171f2eee0f7af4d0b066a9a87c3b22e0c92b7f7f1f5536b4c5d59fb2ca10b963cb8e62
|
||||
DIST amdvlk-MetroHash-18893fb28601bb9af1154cd1a671a121fff6d8d3.tar.gz 11729 BLAKE2B b0e3de885e50c317141d62c885b421c7fd2e1ac783733704342bbed3109bff36a9209ab276f534a2231531483539221bbb1014bd39528a91124161bafc5646eb SHA512 8f12f95e80d594c8bd87a852c67a2d6777ce89d1a13e1a87ee17bbb876a0702c14ffe7a7fd65a244620f2043ad5d22ae8eb863d69f1dc5494d985733bbfb7bf9
|
||||
DIST amdvlk-MetroHash-3c566dd9cda44ca7fd97659e0b53ac953f9037d2.tar.gz 11804 BLAKE2B 683ca8a9e4b93a945dc455c5cb78a2c6dd9dbdf22432ea9f447a6d2d1b05399cc57b621d1e304dc5695ab936a212a2df110e47ec9141764f4eaa2b184a01f4ba SHA512 ae4fcf09a097ceddfcc9f0b721cae0018fff8a0360d8fbbb195d2a8c2809cf8f3c01090ba8129593d89fe1c041224e42a49e7a1c66f20e60958a5373f6d9027f
|
||||
DIST amdvlk-gpurt-714a028e920c502520011fc4f4556f58ec897424.tar.gz 308297 BLAKE2B aeb699332b76cd6d0ac0dcc47a410e8a6ad0b6b073ca2521b3e6c06b4307ee74b79ae9f7767f43e863b8070f664ffd9ffcbacab5f0b12576069e5469b8f5251e SHA512 8044de6555dd2c73ff75d059bda1bba3ef6960c46bb6a92b4ff77e3ced3a8100380ec3d27e5e8ad49fae2fe6994d548494535aa5023412033a2ed9b9236b52bc
|
||||
DIST amdvlk-llpc-1ecd9997579b962be571162931c9e38bd86bafad.tar.gz 2618677 BLAKE2B 5849ce333bc52ea1bba47f253834c10974fdc2089ba41fa41a89d9a9fe0249f6e4286985e092c5aaaa52b2e9aff3704dde01ac09fad82d43556b67786156092e SHA512 11f69a6f31a282acc410d1ddd6a8996842e1076cdd49db8f08378ab1401acac1d4eba48788b7f78fb5d5297dda52fd1ceaeec6e68986168c0a92b49222bda3b5
|
||||
DIST amdvlk-llpc-c89f405e3632f0b639faafe61cd03cb851492f4e.tar.gz 2176219 BLAKE2B b04c159b48e0ba48f5ac283ac9640eab67d4d938e7b181184161372f49aaa4d27f279e6895102db2fb2f59dc37ec7abe27093fe9de2b990a89c8b0ca5e3038da SHA512 24eb4732bbfe98bb65677ffcaced7790d427299e167b6c3dd6cbcf1ceaf26fe7441f672651bba9cac260381e65a3a198c80ccbf7c740e079029a902e56178245
|
||||
DIST amdvlk-llvm-project-a85ea7baf89016f72d7cb7c94db4c996d70d9898.tar.gz 144442498 BLAKE2B 2e93f4b15ef5934f06380802b01333c7195fb611c5c51b64a4d4055c4a05bf764d546d70254d6e7b25869f60bd429d7abcf38ba1e68c92adab50f855bccce20c SHA512 90357c05230e0653968ecb6e57d816278a30a136ed38aea0c067cd1add6b062a94da22e85e4e2c994c5eaaa4e94c290b31761c519b405f86b3f03b6e3a09cb45
|
||||
DIST amdvlk-llvm-project-fdc6165b081b7b5e5ba245f4283fcb23d6d9f167.tar.gz 179654477 BLAKE2B 4a09ad5d194525365106b44627693f6eef49b9bd9c38c9eb690ea0288593e7a72467e0f2da757e728b40ee11a26ae3e5305aefe0744965dc7b0166f348539116 SHA512 e8603930e389cbcd0433d48bd72763b0d3ac3acd4f6fadaa3ac68f5148881723863f2816fa6ae34b4cb87538f77a70eb318b31d5ef9c085cc72a5dc9ca83fcb2
|
||||
DIST amdvlk-pal-02ac99ba650afb3aebff3eb8006862ce93d31968.tar.gz 8285204 BLAKE2B 586611d50f39e8567e2774cb6a418627b6b5582b83de1f108b6f02b46a9dfd4d84bbdf2b03f18a671e0c3f58fa49d3ac24708826dd7e3afbf268366382dc1a55 SHA512 dd47365b4717ac808034ae8a61f6bb05b5d43308562134edb2374231549f1f4a0f8a476fd4dc0e38dc8501f840aeaf2cdbc9da25b686eb0b05b79e72a236df2c
|
||||
DIST amdvlk-pal-4640888b579bc9b0951c586b08a4552f71780d0d.tar.gz 12404946 BLAKE2B a348bce089766ac86539df1f9297df61d94d5db7993f95d86e8967e8641090949d177e9f6d9c1b257404eac8a0a05836c7f0dd6964b8bfc1946a21c47d7f19e0 SHA512 3b43ff0a86f66a238a02a7c71a0fe957deb63968abf2f48b1222ffd048d8fd3e864240a956fb013ab6336eebebb7a76538f748c0c93fbda9ab110e1d33547ef3
|
||||
DIST amdvlk-xgl-14397c77fbc0c760397dd3162482407b2721a825.tar.gz 898003 BLAKE2B a0f663a36a9d54b9f9d2600534907bb953f0eb8480de4b5edca4efcca62426044ab0ccaf710e73a41dfb25ece9c9d042db73f524348df680c36718ec1c001234 SHA512 1b697bac073297738e118ce315909cb3aa42f1d10c40c6835dc901ea0729cb36bb5d55bde0b8f7da447931396814681682db8b093ca2fdb775ab8f9a890da666
|
||||
DIST amdvlk-xgl-997225355d7fce7392a9e32fe9f0a515f5736d0f.tar.gz 1247401 BLAKE2B 5381474b3e8eb1783ab5b6a6059204fdd1fc6215a4bdc724bef874908d860f3f306773235325c725bddbc1c7e416a00a865e7b11e5218c3bca9fccd09e6bda95 SHA512 4217567268525f934dbde112e4a3b7703576d63cd49776dc1d991897bce406533d5954196cface6c31663d9ae073ec74ea0b084e55dfa91314aca350b9effa47
|
||||
|
|
|
@ -1,147 +0,0 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# MULTILIB_COMPAT=( abi_x86_{32,64} )
|
||||
PYTHON_COMPAT=( python3_{10..11} )
|
||||
|
||||
inherit check-reqs python-any-r1 cmake-multilib
|
||||
|
||||
DESCRIPTION="AMD Open Source Driver for Vulkan"
|
||||
HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="wayland +raytracing"
|
||||
# REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
|
||||
|
||||
BUNDLED_LLVM_DEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]"
|
||||
DEPEND="wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
|
||||
${BUNDLED_LLVM_DEPEND}
|
||||
>=dev-util/vulkan-headers-1.3.224
|
||||
raytracing? ( dev-util/DirectXShaderCompiler )
|
||||
dev-util/glslang[${MULTILIB_USEDEP}]"
|
||||
BDEPEND="${BUNDLED_LLVM_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
virtual/linux-sources"
|
||||
RDEPEND=" ${DEPEND}
|
||||
x11-libs/libdrm[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxcb[${MULTILIB_USEDEP}]
|
||||
x11-libs/libxshmfence[${MULTILIB_USEDEP}]
|
||||
>=media-libs/vulkan-loader-1.3.224[${MULTILIB_USEDEP}]
|
||||
dev-util/glslang[${MULTILIB_USEDEP}]
|
||||
dev-libs/openssl[${MULTILIB_USEDEP}]" #890449
|
||||
|
||||
CHECKREQS_MEMORY="7G"
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
S="${WORKDIR}"
|
||||
CMAKE_USE_DIR="${S}/xgl"
|
||||
CMAKE_MAKEFILE_GENERATOR=ninja
|
||||
|
||||
### SOURCE CODE PER_VERSION VARIABLES
|
||||
FETCH_URI="https://github.com/GPUOpen-Drivers"
|
||||
## For those who wants update ebuild: check https://github.com/GPUOpen-Drivers/AMDVLK/blob/${VERSION}/default.xml
|
||||
## e.g. https://github.com/GPUOpen-Drivers/AMDVLK/blob/v-2022.Q3.5/default.xml
|
||||
## and place commits in the desired variables
|
||||
## EXAMPLE: XGL_COMMIT="80e5a4b11ad2058097e77746772ddc9ab2118e07"
|
||||
## SRC_URI="... ${FETCH_URI}/$PART/archive/$COMMIT.zip -> $PART-$COMMIT.zip ..."
|
||||
XGL_COMMIT="997225355d7fce7392a9e32fe9f0a515f5736d0f"
|
||||
PAL_COMMIT="4640888b579bc9b0951c586b08a4552f71780d0d"
|
||||
LLPC_COMMIT="1ecd9997579b962be571162931c9e38bd86bafad"
|
||||
GPURT_COMMIT="714a028e920c502520011fc4f4556f58ec897424"
|
||||
LLVM_PROJECT_COMMIT="fdc6165b081b7b5e5ba245f4283fcb23d6d9f167"
|
||||
METROHASH_COMMIT="18893fb28601bb9af1154cd1a671a121fff6d8d3"
|
||||
CWPACK_COMMIT="4f8cf0584442a91d829d269158567d7ed926f026"
|
||||
# Submodule of LLPC, also updates often. Grab commit version from
|
||||
# https://github.com/GPUOpen-Drivers/llpc/tree/${LLPC_COMMIT}/imported
|
||||
LLVM_DIALECTS_COMMIT="17aafecff46b68206a0ed82d58f5e2fc358367a1"
|
||||
### end of variables
|
||||
SRC_URI="${FETCH_URI}/xgl/archive/${XGL_COMMIT}.tar.gz -> amdvlk-xgl-${XGL_COMMIT}.tar.gz
|
||||
${FETCH_URI}/pal/archive/${PAL_COMMIT}.tar.gz -> amdvlk-pal-${PAL_COMMIT}.tar.gz
|
||||
${FETCH_URI}/llpc/archive/${LLPC_COMMIT}.tar.gz -> amdvlk-llpc-${LLPC_COMMIT}.tar.gz
|
||||
${FETCH_URI}/gpurt/archive/${GPURT_COMMIT}.tar.gz -> amdvlk-gpurt-${GPURT_COMMIT}.tar.gz
|
||||
${FETCH_URI}/llvm-project/archive/${LLVM_PROJECT_COMMIT}.tar.gz -> amdvlk-llvm-project-${LLVM_PROJECT_COMMIT}.tar.gz
|
||||
${FETCH_URI}/MetroHash/archive/${METROHASH_COMMIT}.tar.gz -> amdvlk-MetroHash-${METROHASH_COMMIT}.tar.gz
|
||||
${FETCH_URI}/CWPack/archive/${CWPACK_COMMIT}.tar.gz -> amdvlk-CWPack-${CWPACK_COMMIT}.tar.gz
|
||||
${FETCH_URI}/llvm-dialects/archive/${LLVM_DIALECTS_COMMIT}.tar.gz -> amdvlk-LLVM-dialects-${LLVM_DIALECTS_COMMIT}.tar.gz"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/amdvlk-2022.3.5-no-compiler-presets.patch" #875821
|
||||
"${FILESDIR}/amdvlk-2022.4.1-proper-libdir.patch"
|
||||
"${FILESDIR}/amdvlk-2022.4.2-license-path.patch" #878803
|
||||
#"${FILESDIR}/amdvlk-2022.4.2-reduced-llvm-installations.patch"
|
||||
#"${FILESDIR}/amdvlk-2022.4.2-reduced-llvm-installations-part2.patch"
|
||||
"${FILESDIR}/amdvlk-2022.4.4-r1-disable-Werror.patch" #887777
|
||||
"${FILESDIR}/amdvlk-2023.1.2-gcc13-cstdint.patch" #905174
|
||||
)
|
||||
|
||||
pkg_pretend(){
|
||||
ewarn "It's generally recomended to have at least 16GB memory to build"
|
||||
ewarn "However, experiments shows that if you'll use MAKEOPTS=\"-j1\" you can build it with 4GB RAM"
|
||||
ewarn "or you can use MAKEOPTS=\"-j3\" with 7.5GB system memory"
|
||||
ewarn "See https://wiki.gentoo.org/wiki/AMDVLK#Additional_system_requirements_to_build"
|
||||
ewarn "Use CHECKREQS_DONOTHING=1 if you need to bypass memory checking"
|
||||
|
||||
check-reqs_pkg_pretend
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
einfo "moving src to proper directories"
|
||||
mkdir third_party || die
|
||||
mv xgl-${XGL_COMMIT}/ xgl || die
|
||||
mv pal-${PAL_COMMIT}/ pal || die
|
||||
mv llpc-${LLPC_COMMIT}/ llpc || die
|
||||
mv gpurt-${GPURT_COMMIT}/ gpurt || die
|
||||
mv llvm-project-${LLVM_PROJECT_COMMIT}/ llvm-project || die
|
||||
rm -d llpc/imported/llvm-dialects/ || die
|
||||
mv llvm-dialects-${LLVM_DIALECTS_COMMIT}/ llpc/imported/llvm-dialects/ || die
|
||||
mv MetroHash-${METROHASH_COMMIT}/ third_party/metrohash || die
|
||||
mv CWPack-${CWPACK_COMMIT}/ third_party/cwpack || die
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_WAYLAND_SUPPORT=$(usex wayland)
|
||||
-DVKI_RAY_TRACING=$(usex raytracing)
|
||||
-DLLVM_HOST_TRIPLE="${CHOST}"
|
||||
-DLLVM_ENABLE_WERROR=OFF
|
||||
-DENABLE_WERROR=OFF
|
||||
-DVAM_ENABLE_WERROR=OFF
|
||||
-DICD_ANALYSIS_WARNINGS_AS_ERRORS=OFF
|
||||
-DMETROHASH_ENABLE_WERROR=OFF
|
||||
-DBUILD_SHARED_LIBS=OFF #LLVM parts don't support shared libs
|
||||
-DPython3_EXECUTABLE="${PYTHON}"
|
||||
-DPACKAGE_VERSION="${PV}"
|
||||
-DPACKAGE_NAME="${PN}"
|
||||
-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON #Disable installation of various LLVM parts which we had to clean up.
|
||||
-Wno-dev
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
multilib_check_headers() {
|
||||
einfo "Checking headers skipped: there is no headers"
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
default
|
||||
einfo "Removing unused LLVM parts…"
|
||||
rm "${ED}"/usr/lib/libLTO* || die "Can't remove unused LLVM lto library"
|
||||
rm "${ED}"/usr/lib/libRemarks* || die "Can't remove unused LLVM libRemarks library"
|
||||
rm -r "${ED}"/usr/lib/cmake || die "Can't remove unused LLVM cmake folder"
|
||||
einfo "Removal done"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "Make sure the following line is NOT included in the any Xorg configuration section:"
|
||||
ewarn "| Driver \"modesetting\""
|
||||
ewarn "and make sure you use DRI3 mode for Xorg (not revelant for wayland)"
|
||||
elog "More information about the configuration can be found here:"
|
||||
elog "https://github.com/GPUOpen-Drivers/AMDVLK"
|
||||
elog "You can use AMD_VULKAN_ICD variable to switch to the required driver."
|
||||
elog "AMD_VULKAN_ICD=RADV application - for using radv."
|
||||
elog "AMD_VULKAN_ICD=AMDVLK application - for using amdvlk."
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
DIST furnace-0.6-adpcm-ef7a217.zip 11910 BLAKE2B d498b9f2ccabc11a2796351fc09b0722e0d949eff1d26b5b853dcf748c57e44534d8e61ade965c5c70101e64299371bec7891788aedefd8aef09c9ba79ef39e8 SHA512 f5b2e073b8576d58b8c724d1351796583a74822f12d60cbc36bb83a26a8918dc7a1bc97ad71c2463940f5072d82f2d291815ed3b895610d1a88e4d6868533342
|
||||
DIST furnace-0.6.tar.gz 44552370 BLAKE2B fd91ab161e309d6c3637fa0c70ea3100f70da98e0044ced1743b0f5416cf6fd9f4f4d307c87776c0a4cfd202ff118d814409bd69f23445443c22265c0630b1fc SHA512 e24aca8e26961c53121869aafa041bf507748e4d4886761ca4a755ad31ba98ce228114009ffb34333d6737fe4759bfa47cd733457863c2f767c01686728c3798
|
|
@ -1,56 +0,0 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="a multi-system chiptune tracker compatible with DefleMask modules"
|
||||
HOMEPAGE="https://github.com/tildearrow/furnace"
|
||||
SRC_URI="
|
||||
https://github.com/tildearrow/furnace/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/superctr/adpcm/archive/ef7a217154badc3b99978ac481b268c8aab67bd8.zip -> ${P}-adpcm-ef7a217.zip
|
||||
"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="jack"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/libfmt
|
||||
media-libs/alsa-lib
|
||||
media-libs/libglvnd
|
||||
media-libs/libsdl2
|
||||
media-libs/libsndfile
|
||||
media-libs/portaudio
|
||||
media-libs/rtmidi
|
||||
sci-libs/fftw
|
||||
sys-libs/zlib
|
||||
x11-themes/hicolor-icon-theme
|
||||
jack? ( virtual/jack )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
# adpcm is a git submodule in-tree, and thus not included in the
|
||||
# github-generated source bundle. We move it in here.
|
||||
rmdir -v "${S}/extern/adpcm" || die "couldn't remove existing adpcm stub directory"
|
||||
mv -v "${WORKDIR}/adpcm-"* "${S}/extern/adpcm" || die "failed to move adpcm directory into place"
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_GUI=ON
|
||||
-DSYSTEM_FFTW=ON
|
||||
-DSYSTEM_FMT=ON
|
||||
-DSYSTEM_LIBSNDFILE=ON
|
||||
-DSYSTEM_PORTAUDIO=ON
|
||||
-DSYSTEM_RTMIDI=ON
|
||||
-DSYSTEM_ZLIB=ON
|
||||
-DSYSTEM_SDL2=ON
|
||||
-DWITH_JACK="$(usex jack ON OFF)"
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
DIST dejavu-sans-ttf-2.37.zip 417746 BLAKE2B c8904f3cd5a49370a7dc10e456684c88aeae998a99090bf4d0a5baa4f36cc8fb8f70586cf6d610a5ffeee97261d28c80f55bbe9dcfc3ed796d5c2d60e79adb58 SHA512 ede5899daa1984c5aa8cacb1c850eb53f189dddef3d9bb78bf9774d8976b7c0d6eb0bcf86237cd7d11f5b36cf5b5058d42cd94d3bd76f2bd0931c7ceb1271fae
|
||||
DIST grub-2.06-backports-r3.tar.xz 47612 BLAKE2B 235610e826c7a76d05872fb51e74564fb3861590f95377d5dcb9a5a4b0f5037d0b71c9f334bfe0bbe399f65036088d808f7af8e43090007ab7394002d05f7b4a SHA512 561f031dca2cdc13fc1b3f3cfdbdccd7decd67ef18ddcc588327f141b026eadcda5d64d729929859cad54959b3855ff86c1f62e3ff1d8ae5f6f5ac5761fa6ba4
|
||||
DIST grub-2.06.tar.xz 6581924 BLAKE2B 2a40b9b03d7bb3b9e7b1309ab274d686f01b3c42e7035ebc6e5a0e59a59c3b7362ba518341664b314cb0dbc8222bb10ea05ce09f08ce9d58a293207cb909e417 SHA512 4f11c648f3078567e53fc0c74d5026fdc6da4be27d188975e79d9a4df817ade0fe5ad2ddd694238a07edc45adfa02943d83c57767dd51548102b375e529e8efe
|
||||
DIST grub-2.06.tar.xz.sig 566 BLAKE2B 2ff18fb40d9cce36cac110ba9996f88236dbaa261d19e777a6d23a0e9754a9fc8bc45a01896f4838c88bb44edff0172a97611202cb3ffd5653a3cbdfc102ae16 SHA512 797683dafade76b5981bd02f079d7dcecb36f5d07eca652181fd69f3df821931f84cc0d8771bfb80506ef41fbd96edfb202b6698af1fec3c8228dd320a05fa84
|
||||
DIST unifont-12.1.02.pcf.gz 1335424 BLAKE2B 97080312468e3f3c8aa6f49cef08f5622641e8c9c035f3ede1e09d8d98de4e78d3b23c8aba2e8070eb46cbebd2d55e8568e467d7f15f35aa8fc8db792b7e5f14 SHA512 b280b2db7cf5f480b0668c331130dede2c0cc87d5e02e44566b77787113d0f6604d0105522858288f2ac6b8e77df7a2d9878725013a6c778dc5bfb183156e2f0
|
|
@ -1,352 +0,0 @@
|
|||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# This ebuild uses 3 special global variables:
|
||||
# GRUB_BOOTSTRAP: Depend on python and invoke bootstrap (gnulib).
|
||||
# GRUB_AUTOGEN: Depend on python and invoke autogen.sh.
|
||||
# GRUB_AUTORECONF: Inherit autotools and invoke eautoreconf.
|
||||
#
|
||||
# When applying patches:
|
||||
# If gnulib is updated, set GRUB_BOOTSTRAP=1
|
||||
# If gentpl.py or *.def is updated, set GRUB_AUTOGEN=1
|
||||
# If gnulib, gentpl.py, *.def, or any autotools files are updated, set GRUB_AUTORECONF=1
|
||||
#
|
||||
# If any of the above applies to a user patch, the user should set the
|
||||
# corresponding variable in make.conf or the environment.
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
GRUB_AUTORECONF=1
|
||||
GRUB_BOOTSTRAP=1
|
||||
fi
|
||||
|
||||
GRUB_AUTOGEN=1
|
||||
GRUB_AUTORECONF=1
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
WANT_LIBTOOL=none
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dkiper.gpg
|
||||
|
||||
if [[ -n ${GRUB_AUTOGEN} || -n ${GRUB_BOOTSTRAP} ]]; then
|
||||
inherit python-any-r1
|
||||
fi
|
||||
|
||||
if [[ -n ${GRUB_AUTORECONF} ]]; then
|
||||
inherit autotools
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multibuild optfeature toolchain-funcs verify-sig
|
||||
|
||||
MY_P=${P}
|
||||
if [[ ${PV} != 9999 ]]; then
|
||||
if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
|
||||
# The quote style is to work with <=bash-4.2 and >=bash-4.3 #503860
|
||||
MY_P=${P/_/'~'}
|
||||
SRC_URI="
|
||||
https://alpha.gnu.org/gnu/${PN}/${MY_P}.tar.xz
|
||||
verify-sig? ( https://alpha.gnu.org/gnu/${PN}/${MY_P}.tar.xz.sig )
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
else
|
||||
SRC_URI="
|
||||
mirror://gnu/${PN}/${P}.tar.xz
|
||||
verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )
|
||||
"
|
||||
S=${WORKDIR}/${P%_*}
|
||||
fi
|
||||
KEYWORDS="amd64 arm arm64 ~ia64 ppc ppc64 ~riscv sparc x86"
|
||||
else
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://git.savannah.gnu.org/git/grub.git"
|
||||
fi
|
||||
|
||||
SRC_URI+=" https://dev.gentoo.org/~floppym/dist/${P}-backports-r3.tar.xz"
|
||||
|
||||
PATCHES=(
|
||||
"${WORKDIR}/${P}-backports"
|
||||
"${FILESDIR}"/gfxpayload.patch
|
||||
"${FILESDIR}"/grub-2.02_beta2-KERNEL_GLOBS.patch
|
||||
"${FILESDIR}"/grub-2.06-test-words.patch
|
||||
)
|
||||
|
||||
DEJAVU=dejavu-sans-ttf-2.37
|
||||
UNIFONT=unifont-12.1.02
|
||||
SRC_URI+=" fonts? ( mirror://gnu/unifont/${UNIFONT}/${UNIFONT}.pcf.gz )
|
||||
themes? ( mirror://sourceforge/dejavu/${DEJAVU}.zip )"
|
||||
|
||||
DESCRIPTION="GNU GRUB boot loader"
|
||||
HOMEPAGE="https://www.gnu.org/software/grub/"
|
||||
|
||||
# Includes licenses for dejavu and unifont
|
||||
LICENSE="GPL-3+ BSD MIT fonts? ( GPL-2-with-font-exception ) themes? ( CC-BY-SA-3.0 BitstreamVera )"
|
||||
SLOT="2/${PVR}"
|
||||
IUSE="device-mapper doc efiemu +fonts mount nls sdl test +themes truetype libzfs"
|
||||
|
||||
GRUB_ALL_PLATFORMS=( coreboot efi-32 efi-64 emu ieee1275 loongson multiboot
|
||||
qemu qemu-mips pc uboot xen xen-32 xen-pvh )
|
||||
IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
|
||||
|
||||
REQUIRED_USE="
|
||||
grub_platforms_coreboot? ( fonts )
|
||||
grub_platforms_qemu? ( fonts )
|
||||
grub_platforms_ieee1275? ( fonts )
|
||||
grub_platforms_loongson? ( fonts )
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=sys-devel/flex-2.5.35
|
||||
sys-devel/bison
|
||||
sys-apps/help2man
|
||||
sys-apps/texinfo
|
||||
fonts? (
|
||||
media-libs/freetype:2
|
||||
virtual/pkgconfig
|
||||
)
|
||||
test? (
|
||||
app-admin/genromfs
|
||||
app-alternatives/cpio
|
||||
app-arch/lzop
|
||||
app-emulation/qemu
|
||||
dev-libs/libisoburn
|
||||
sys-apps/miscfiles
|
||||
sys-block/parted
|
||||
sys-fs/squashfs-tools
|
||||
)
|
||||
themes? (
|
||||
app-arch/unzip
|
||||
media-libs/freetype:2
|
||||
virtual/pkgconfig
|
||||
)
|
||||
truetype? ( virtual/pkgconfig )
|
||||
verify-sig? ( sec-keys/openpgp-keys-danielkiper )
|
||||
"
|
||||
DEPEND="
|
||||
app-arch/xz-utils
|
||||
>=sys-libs/ncurses-5.2-r5:0=
|
||||
grub_platforms_emu? (
|
||||
sdl? ( media-libs/libsdl )
|
||||
)
|
||||
device-mapper? ( >=sys-fs/lvm2-2.02.45 )
|
||||
libzfs? ( sys-fs/zfs:= )
|
||||
mount? ( sys-fs/fuse:0 )
|
||||
truetype? ( media-libs/freetype:2= )
|
||||
ppc? ( >=sys-apps/ibm-powerpc-utils-1.3.5 )
|
||||
ppc64? ( >=sys-apps/ibm-powerpc-utils-1.3.5 )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
kernel_linux? (
|
||||
grub_platforms_efi-32? ( sys-boot/efibootmgr )
|
||||
grub_platforms_efi-64? ( sys-boot/efibootmgr )
|
||||
)
|
||||
!sys-boot/grub:0
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
QA_EXECSTACK="usr/bin/grub-emu* usr/lib/grub/*"
|
||||
QA_PRESTRIPPED="usr/lib/grub/.*"
|
||||
QA_MULTILIB_PATHS="usr/lib/grub/.*"
|
||||
QA_WX_LOAD="usr/lib/grub/*"
|
||||
|
||||
pkg_setup() {
|
||||
:
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
pushd "${P}" >/dev/null || die
|
||||
local GNULIB_URI="https://git.savannah.gnu.org/git/gnulib.git"
|
||||
local GNULIB_REVISION=$(source bootstrap.conf >/dev/null; echo "${GNULIB_REVISION}")
|
||||
git-r3_fetch "${GNULIB_URI}" "${GNULIB_REVISION}"
|
||||
git-r3_checkout "${GNULIB_URI}" gnulib
|
||||
popd >/dev/null || die
|
||||
elif use verify-sig; then
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sig}
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ -n ${GRUB_AUTOGEN} || -n ${GRUB_BOOTSTRAP} ]]; then
|
||||
python_setup
|
||||
else
|
||||
export PYTHON=true
|
||||
fi
|
||||
|
||||
if [[ -n ${GRUB_BOOTSTRAP} ]]; then
|
||||
eautopoint --force
|
||||
AUTOPOINT=: AUTORECONF=: ./bootstrap || die
|
||||
elif [[ -n ${GRUB_AUTOGEN} ]]; then
|
||||
FROM_BOOTSTRAP=1 ./autogen.sh || die
|
||||
fi
|
||||
|
||||
if [[ -n ${GRUB_AUTORECONF} ]]; then
|
||||
eautoreconf
|
||||
fi
|
||||
}
|
||||
|
||||
grub_do() {
|
||||
multibuild_foreach_variant run_in_build_dir "$@"
|
||||
}
|
||||
|
||||
grub_do_once() {
|
||||
multibuild_for_best_variant run_in_build_dir "$@"
|
||||
}
|
||||
|
||||
grub_configure() {
|
||||
local platform
|
||||
|
||||
case ${MULTIBUILD_VARIANT} in
|
||||
efi*) platform=efi ;;
|
||||
xen-pvh) platform=xen_pvh ;;
|
||||
xen*) platform=xen ;;
|
||||
guessed) ;;
|
||||
*) platform=${MULTIBUILD_VARIANT} ;;
|
||||
esac
|
||||
|
||||
case ${MULTIBUILD_VARIANT} in
|
||||
*-32)
|
||||
if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
|
||||
local CTARGET=i386
|
||||
fi ;;
|
||||
*-64)
|
||||
if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
|
||||
local CTARGET=x86_64
|
||||
local -x TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
|
||||
local -x TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
|
||||
fi ;;
|
||||
esac
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-werror
|
||||
--program-prefix=
|
||||
--libdir="${EPREFIX}"/usr/lib
|
||||
$(use_enable device-mapper)
|
||||
$(use_enable mount grub-mount)
|
||||
$(use_enable nls)
|
||||
$(use_enable themes grub-themes)
|
||||
$(use_enable truetype grub-mkfont)
|
||||
$(use_enable libzfs)
|
||||
$(use_enable sdl grub-emu-sdl)
|
||||
${platform:+--with-platform=}${platform}
|
||||
|
||||
# Let configure detect this where supported
|
||||
$(usex efiemu '' '--disable-efiemu')
|
||||
)
|
||||
|
||||
if use fonts; then
|
||||
ln -rs "${WORKDIR}/${UNIFONT}.pcf" unifont.pcf || die
|
||||
fi
|
||||
|
||||
if use themes; then
|
||||
ln -rs "${WORKDIR}/${DEJAVU}/ttf/DejaVuSans.ttf" DejaVuSans.ttf || die
|
||||
fi
|
||||
|
||||
local ECONF_SOURCE="${S}"
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Bug 508758.
|
||||
replace-flags -O3 -O2
|
||||
|
||||
# Workaround for bug 829165.
|
||||
filter-ldflags -pie
|
||||
|
||||
# We don't want to leak flags onto boot code.
|
||||
export HOST_CCASFLAGS=${CCASFLAGS}
|
||||
export HOST_CFLAGS=${CFLAGS}
|
||||
export HOST_CPPFLAGS=${CPPFLAGS}
|
||||
export HOST_LDFLAGS=${LDFLAGS}
|
||||
unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
|
||||
|
||||
tc-ld-disable-gold #439082 #466536 #526348
|
||||
export TARGET_LDFLAGS="${TARGET_LDFLAGS} ${LDFLAGS}"
|
||||
unset LDFLAGS
|
||||
|
||||
tc-export CC NM OBJCOPY RANLIB STRIP
|
||||
tc-export BUILD_CC BUILD_PKG_CONFIG
|
||||
|
||||
# Force configure to use flex & bison, bug 887211.
|
||||
export LEX=flex
|
||||
unset YACC
|
||||
|
||||
MULTIBUILD_VARIANTS=()
|
||||
local p
|
||||
for p in "${GRUB_ALL_PLATFORMS[@]}"; do
|
||||
use "grub_platforms_${p}" && MULTIBUILD_VARIANTS+=( "${p}" )
|
||||
done
|
||||
[[ ${#MULTIBUILD_VARIANTS[@]} -eq 0 ]] && MULTIBUILD_VARIANTS=( guessed )
|
||||
grub_do grub_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Sandbox bug 404013.
|
||||
use libzfs && { addpredict /etc/dfs; addpredict /dev/zfs; }
|
||||
|
||||
grub_do emake
|
||||
use doc && grub_do_once emake -C docs html
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# The qemu dependency is a bit complex.
|
||||
# You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
|
||||
grub_do emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
grub_do emake install DESTDIR="${D}" bashcompletiondir="$(get_bashcompdir)"
|
||||
use doc && grub_do_once emake -C docs install-html DESTDIR="${D}"
|
||||
|
||||
einstalldocs
|
||||
|
||||
insinto /etc/default
|
||||
newins "${FILESDIR}"/grub.default-4 grub
|
||||
|
||||
# https://bugs.gentoo.org/231935
|
||||
dostrip -x /usr/lib/grub
|
||||
|
||||
if use elibc_musl; then
|
||||
# https://bugs.gentoo.org/900348
|
||||
QA_CONFIG_IMPL_DECL_SKIP=( re_{compile_pattern,match,search,set_syntax} )
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "For information on how to configure GRUB2 please refer to the guide:"
|
||||
elog " https://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
|
||||
|
||||
if [[ -n ${REPLACING_VERSIONS} ]]; then
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test -gt ${v}; then
|
||||
ewarn
|
||||
ewarn "Re-run grub-install to update installed boot code!"
|
||||
ewarn "Re-run grub-mkconfig to update grub.cfg!"
|
||||
ewarn
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
elog
|
||||
optfeature "detecting other operating systems (grub-mkconfig)" sys-boot/os-prober
|
||||
optfeature "creating rescue media (grub-mkrescue)" dev-libs/libisoburn
|
||||
optfeature "enabling RAID device detection" sys-fs/mdadm
|
||||
optfeature "automatically updating GRUB's configuration on each kernel installation" "sys-kernel/installkernel[grub]"
|
||||
fi
|
||||
|
||||
if has_version 'sys-boot/grub:0'; then
|
||||
elog "A migration guide for GRUB Legacy users is available:"
|
||||
elog " https://wiki.gentoo.org/wiki/GRUB2_Migration"
|
||||
fi
|
||||
|
||||
if has_version sys-boot/os-prober; then
|
||||
ewarn "Due to security concerns, os-prober is disabled by default."
|
||||
ewarn "Set GRUB_DISABLE_OS_PROBER=false in /etc/default/grub to enable it."
|
||||
fi
|
||||
}
|
Loading…
Reference in a new issue