summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolkmar W. Pogatzki <gentoo@pogatzki.net>2023-05-21 10:06:54 +0200
committerMiroslav Šulc <fordfrog@gentoo.org>2024-03-17 09:46:16 +0100
commitc70f09ff2482b0914c55241eb553d750c8e910ea (patch)
treefca92b9c79cd09213eba85edaccad7adf25a0174 /dev-java
parentdev-java/javaparser-core: new package, add 3.13.10 (diff)
downloadgentoo-c70f09ff2482b0914c55241eb553d750c8e910ea.tar.gz
gentoo-c70f09ff2482b0914c55241eb553d750c8e910ea.tar.bz2
gentoo-c70f09ff2482b0914c55241eb553d750c8e910ea.zip
dev-java/bnd: new package, add 7.0.0
Unlike upstream this package does not bundle bndlib Closes: https://bugs.gentoo.org/203080 Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net> Closes: https://github.com/gentoo/gentoo/pull/35320/commits/51c6da26e1a72c39443c3d4c4994b9fb96cf8b91 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/bnd/Manifest1
-rw-r--r--dev-java/bnd/bnd-7.0.0.ebuild100
-rw-r--r--dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch21
-rw-r--r--dev-java/bnd/metadata.xml10
4 files changed, 132 insertions, 0 deletions
diff --git a/dev-java/bnd/Manifest b/dev-java/bnd/Manifest
new file mode 100644
index 000000000000..a890570b45c8
--- /dev/null
+++ b/dev-java/bnd/Manifest
@@ -0,0 +1 @@
+DIST aQute.bnd-7.0.0.tar.gz 172496438 BLAKE2B a2e443b0e4a2eb278a8e1df86456fea22ffb8147adc00c9f300cbd32b226218bb64ccca3da3bcd0d79b07567a7b4cf4456b96224d6abf59486fa08ca6170d0ba SHA512 11d34a7d1a9b2fb2e8c112d414a06c281ccde9a7b06c62043e19d83e85ea64fdf022dd4493a14dd2dcf6adee392a1e9bf1ab05a6d690a328f29d7019045bca8c
diff --git a/dev-java/bnd/bnd-7.0.0.ebuild b/dev-java/bnd/bnd-7.0.0.ebuild
new file mode 100644
index 000000000000..b847142719c7
--- /dev/null
+++ b/dev-java/bnd/bnd-7.0.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+MAVEN_ID="biz.aQute.bnd:biz.aQute.bnd:${PV}"
+
+inherit java-pkg-2 java-pkg-simple
+
+DESCRIPTION="bndlib: A Swiss Army Knife for OSGi"
+HOMEPAGE="https://bnd.bndtools.org/"
+SRC_URI="https://github.com/bndtools/bnd/archive/${PV}.tar.gz -> aQute.bnd-${PV}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="Apache-2.0 EPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="app-arch/zip"
+
+CP_DEPEND="
+ ~dev-java/bndlib-${PV}:0
+ dev-java/felix-resolver:0
+ dev-java/guava:0
+ dev-java/javaparser-core:0
+ dev-java/jline:2
+ dev-java/jtwig-core:0
+ dev-java/osgi-annotation:0
+ dev-java/osgi-cmpn:8
+ dev-java/osgi-core:0
+ dev-java/slf4j-simple:0
+ dev-java/snakeyaml:0
+ dev-java/xz-java:0
+"
+
+DEPEND="${CP_DEPEND}
+ dev-java/commons-lang:3.6
+ dev-java/eclipse-jdt-annotation:0
+ dev-java/felix-gogo-runtime:0
+ dev-java/slf4j-api:0
+ dev-java/jtwig-reflection:0
+ dev-java/osgi-service-log:0
+ dev-java/osgi-service-subsystem:0
+ >=virtual/jdk-17:*"
+
+RDEPEND="${CP_DEPEND}
+ >=virtual/jre-17:*"
+
+PATCHES=(
+ "${FILESDIR}/bnd-7.0.0-aQute.bnd.main.bnd.patch"
+)
+
+JAVA_AUTOMATIC_MODULE_NAME="biz.aQute.bnd"
+JAVA_CLASSPATH_EXTRA="
+ commons-lang-3.6
+ eclipse-jdt-annotation
+ jtwig-reflection
+ felix-gogo-runtime
+ osgi-service-subsystem
+ slf4j-api
+"
+JAVA_MAIN_CLASS="aQute.bnd.main.bnd"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR=(
+ "biz.aQute.bnd.exporters/src"
+ "biz.aQute.bnd.reporter/src"
+ "biz.aQute.bnd/src"
+ "biz.aQute.remote/src"
+ "biz.aQute.repository/src"
+ "biz.aQute.resolve/src"
+)
+
+src_prepare() {
+ default #780585
+ java-pkg-2_src_prepare
+ mkdir res || die
+
+ # java-pkg-simple wants resources in JAVA_RESOURCE_DIRS
+ pushd biz.aQute.bnd/src > /dev/null || die
+ find -type f \
+ ! -name '*.java' \
+ | xargs cp --parent -t ../../res || die
+ popd > /dev/null || die
+}
+
+src_compile() {
+ # There is another version of osgi-service-log in osgi-core-0
+ JAVA_GENTOO_CLASSPATH_EXTRA=":$(java-pkg_getjars --build-only osgi-service-log)"
+ java-pkg-simple_src_compile
+
+ # remove classes which are not in upstream's jar file
+ zip -d ${PN}.jar \
+ "*/remote/agent/*" \
+ "*/remote/embedded/*" \
+ "*/remote/main/*" \
+ "*/remote/plugin/*" \
+ "*/remote/test/*" \
+ || die
+}
diff --git a/dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch b/dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch
new file mode 100644
index 000000000000..6d37cbc9f7d6
--- /dev/null
+++ b/dev-java/bnd/files/bnd-7.0.0-aQute.bnd.main.bnd.patch
@@ -0,0 +1,21 @@
+Upstream uses an older version of slf4j-simple
+--- a/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
++++ b/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
+@@ -486,14 +486,14 @@ public class bnd extends Processor {
+ System.setProperty(DEFAULT_LOG_LEVEL_KEY, "warn");
+ level = org.slf4j.spi.LocationAwareLogger.WARN_INT;
+ }
+- Field field = org.slf4j.impl.SimpleLogger.class.getDeclaredField("CONFIG_PARAMS");
++ Field field = org.slf4j.simple.SimpleLogger.class.getDeclaredField("CONFIG_PARAMS");
+ field.setAccessible(true);
+ Object CONFIG_PARAMS = field.get(null);
+- field = org.slf4j.impl.SimpleLoggerConfiguration.class.getDeclaredField("defaultLogLevel");
++ field = org.slf4j.simple.SimpleLoggerConfiguration.class.getDeclaredField("defaultLogLevel");
+ field.setAccessible(true);
+ field.set(CONFIG_PARAMS, level);
+
+- field = org.slf4j.impl.SimpleLogger.class.getDeclaredField("currentLogLevel");
++ field = org.slf4j.simple.SimpleLogger.class.getDeclaredField("currentLogLevel");
+ field.setAccessible(true);
+ field.set(logger, level);
+ } catch (Exception e) {
diff --git a/dev-java/bnd/metadata.xml b/dev-java/bnd/metadata.xml
new file mode 100644
index 000000000000..cb6317e530db
--- /dev/null
+++ b/dev-java/bnd/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bndtools/bnd</remote-id>
+ </upstream>
+</pkgmetadata>