forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: https://bugs.gentoo.org/559298 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Volkmar W. Pogatzki <[email protected]> Signed-off-by: Miroslav Šulc <[email protected]>
- Loading branch information
Showing
3 changed files
with
123 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST jffi-1.2.9.tar.gz 1952668 BLAKE2B 320329b02ee9e93153fc334b73a6216da74ac2d924a64c8a1569f1f1507e1196d0b922f7d158ea91f6bc7164979b2ac12de239adbe98664a3708dd29c8d40f96 SHA512 2fd9a95cce9a3406a09856761d1318d4c6b976b1f9b66c7c5b0b5e95d44b19ba654ab8288f396782c7bb53e6d9949e7cfa9c46763f2a0761c6e86f102cd202e4 | ||
DIST jffi-1.3.6.tar.gz 3187269 BLAKE2B 87a98c752440e336948923e73e2756cb0f88cbb111775f7fcc176152c60a050dad2b8d312bf0e6cda9e499b06fa64f6eda0659a6635010cb2da6ade4471225b9 SHA512 0259e59daa438572e94737efc126ab631be5f92e9ac2bf2bfdcdf92bcf9709ef930d68250b7fcaee3126a97c705c112d02bdfb0a800e8eb3b3f2fde6381f7a9f |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
diff --git a/jni/GNUmakefile b/jni/GNUmakefile | ||
index c0f298c..457626f 100755 | ||
--- a/jni/GNUmakefile | ||
+++ b/jni/GNUmakefile | ||
@@ -278,16 +278,16 @@ debug: | ||
@echo "OBJS=$(OBJS)" | ||
|
||
$(LIBJFFI): $(OBJS) $(LIBFFI_LIBS) | ||
- $(CC) -o $@ $(LDFLAGS) $(SOFLAGS) $(OBJS) $(LIBFFI) $(LIBS) | ||
+ $(CC) -o $@ $(LDFLAGS) $(SOFLAGS) $(OBJS) $(LIBFFI) $(LIBS) $(LIBFFI_LIBS) | ||
$(STRIP) $@ | ||
|
||
$(BUILD_DIR)/%.o : $(SRC_DIR)/%.c $(wildcard $(JFFI_SRC_DIR)/*.h) | ||
- @mkdir -p $(@D) | ||
- @$(CCACHE) $(CC) $(CFLAGS) -c $< -o $@ | ||
+ mkdir -p $(@D) | ||
+ $(CCACHE) $(CC) $(CFLAGS) -c $< -o $@ | ||
|
||
$(BUILD_DIR)/%.o : $(SRC_DIR)/%.S $(wildcard $(JFFI_SRC_DIR)/*.h) | ||
- @mkdir -p $(@D) | ||
- @$(CC) $(CFLAGS) -o $@ -c $< | ||
+ mkdir -p $(@D) | ||
+ $(CC) $(CFLAGS) -o $@ -c $< | ||
|
||
$(OBJS) : $(LIBFFI) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# Copyright 1999-2021 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
# Skeleton command: | ||
# java-ebuilder --generate-ebuild --workdir . --pom pom.xml --download-uri https://github.com/jnr/jffi/archive/refs/tags/jffi-1.3.6.tar.gz --slot 1.3 --keywords "~amd64 ~arm64 ~ppc64 ~x86" --ebuild jffi-1.3.6.ebuild | ||
|
||
EAPI=7 | ||
|
||
JAVA_PKG_IUSE="doc source test" | ||
MAVEN_ID="com.github.jnr:jffi:1.3.6" | ||
JAVA_TESTING_FRAMEWORKS="junit-4" | ||
|
||
inherit java-pkg-2 java-pkg-simple | ||
|
||
DESCRIPTION="Java Foreign Function Interface" | ||
HOMEPAGE="https://github.com/jnr/jffi" | ||
SRC_URI="https://github.com/jnr/${PN}/archive/refs/tags/${P}.tar.gz" | ||
|
||
LICENSE="Apache-2.0" | ||
SLOT="1.2" | ||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" | ||
|
||
DEPEND=">=virtual/jdk-1.8:*" | ||
RDEPEND=">=virtual/jre-1.8:*" | ||
|
||
PATCHES=( "${FILESDIR}"/jffi-1.3.6-GNUmakefile.patch ) | ||
DOCS=( LICENSE README.md ) | ||
|
||
S="${WORKDIR}/${PN}-${P}" | ||
|
||
JAVA_SRC_DIR="src/main/java" | ||
|
||
# https://github.com/jnr/jffi/blob/eabdf09c3ec4fc8a54b684ff326e36b36b74e0da/build.xml#L26 | ||
JAVA_TEST_EXTRA_ARGS="-Djffi.library.path=${S}/build/jni -Djffi.boot.library.path=${S}/build/jni" | ||
JAVA_TEST_GENTOO_CLASSPATH="junit-4" | ||
JAVA_TEST_SRC_DIR="src/test/java" | ||
|
||
src_prepare() { | ||
default | ||
cat > src/main/java/com/kenai/jffi/Version.java <<-EOF | ||
package com.kenai.jffi; | ||
import java.lang.annotation.Native; | ||
public final class Version { | ||
private Version() {} | ||
@Native | ||
public static final int MAJOR = $(ver_cut 1); | ||
@Native | ||
public static final int MINOR = $(ver_cut 2); | ||
@Native | ||
public static final int MICRO = $(ver_cut 3); | ||
} | ||
EOF | ||
} | ||
|
||
src_compile() { | ||
java-pkg-simple_src_compile | ||
|
||
# generate headers | ||
mkdir -p build/jni | ||
javac -h build/jni -classpath target/classes \ | ||
${JAVA_SRC_DIR}/com/kenai/jffi/{Foreign,ObjectBuffer,Version}.java \ | ||
|| die | ||
|
||
#build native library. | ||
local args=( | ||
SRC_DIR=jni | ||
JNI_DIR=jni | ||
BUILD_DIR=build/jni | ||
VERSION=$(ver_cut 1-2) | ||
USE_SYSTEM_LIBFFI=1 | ||
CCACHE= | ||
-f jni/GNUmakefile | ||
) | ||
emake "${args[@]}" | ||
} | ||
|
||
src_test() { | ||
# build native test library | ||
emake BUILD_DIR=build -f libtest/GNUmakefile | ||
java-pkg-simple_src_test | ||
} | ||
|
||
src_install() { | ||
default | ||
|
||
local libname=".so" | ||
java-pkg_doso build/jni/lib${PN}-$(ver_cut 1-2)${libname} | ||
|
||
# must be after _doso to have JAVA_PKG_LIBDEST set | ||
cat > boot.properties <<-EOF | ||
jffi.boot.library.path = ${JAVA_PKG_LIBDEST} | ||
EOF | ||
jar -uf ${PN}.jar boot.properties || die | ||
|
||
java-pkg-simple_src_install | ||
} |