summaryrefslogtreecommitdiff
path: root/dev-java/lz4-java/files
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-02-06 13:44:15 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-02-06 13:44:15 +0000
commitf001d73742671206e73085be095e851b1eb7d019 (patch)
tree5717dd7d4093e487c0d3ddb2c0e1e07a5d66d492 /dev-java/lz4-java/files
parente0126a15b33f25dd633819df7dec0b1f3154bcff (diff)
downloadbaldeagleos-repo-f001d73742671206e73085be095e851b1eb7d019.tar.gz
baldeagleos-repo-f001d73742671206e73085be095e851b1eb7d019.tar.xz
baldeagleos-repo-f001d73742671206e73085be095e851b1eb7d019.zip
Adding metadata
Diffstat (limited to 'dev-java/lz4-java/files')
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-Makefile47
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml7
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch31
-rw-r--r--dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch91
4 files changed, 176 insertions, 0 deletions
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-Makefile b/dev-java/lz4-java/files/lz4-java-1.8.0-Makefile
new file mode 100644
index 000000000000..8d59aa8df84a
--- /dev/null
+++ b/dev-java/lz4-java/files/lz4-java-1.8.0-Makefile
@@ -0,0 +1,47 @@
+# Gentoo custom Makefile for the JNI portion of lz4-java
+#
+# Adapted from the logic for target "compile-jni" in build.xml,
+# but uses lz4 installed on the system. This Makefile respects
+# custom CFLAGS and LDFLAGS settings, whereas build.xml does not.
+
+# Java system properties read by build.xml
+PLATFORM ?= linux
+SRC ?= src
+BUILD ?= build
+JAVA_HOME ?=
+# Requires lz4-java-*-print-os-props.patch
+OS_ARCH := $(shell ant os-props 2>&1 > /dev/null && \
+ grep 'os\.arch=' os.properties | sed -e 's/os\.arch=//')
+
+MKDIR_P = mkdir -p
+
+SRC_DIR := $(SRC)/jni
+OBJS_DIR_PREFIX := $(BUILD)/objects
+OBJS_DIR := $(OBJS_DIR_PREFIX)/$(SRC_DIR)
+OUT_DIR := $(BUILD)/jni/net/jpountz/util/$(PLATFORM)/$(OS_ARCH)
+
+SRC_FILES := $(wildcard $(SRC_DIR)/*.c)
+OBJS := $(addprefix $(OBJS_DIR_PREFIX)/,$(SRC_FILES:.c=.o))
+SONAME = liblz4-java.so
+
+# C compiler arguments may be obtained by running 'ant -v compile-jni',
+# as long as dev-java/cpptasks is in the classpath
+CFLAGS := -fPIC $(CFLAGS)
+# '--as-needed' causes test failure
+LDFLAGS := $(LDFLAGS) -Wl,--no-as-needed
+
+$(OUT_DIR)/$(SONAME): $(OBJS) | $(OUT_DIR)
+ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,$(SONAME) -o $@ -llz4 $^
+
+$(OBJS_DIR_PREFIX)/%.o: %.c | $(OBJS_DIR)
+ $(CC) $(CFLAGS) -c -o $@ \
+ -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/$(PLATFORM) \
+ -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(PLATFORM) \
+ -I$(BUILD)/jni-headers \
+ $<
+
+$(OUT_DIR):
+ $(MKDIR_P) $@
+
+$(OBJS_DIR):
+ $(MKDIR_P) $@
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml b/dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml
new file mode 100644
index 000000000000..2392679c4a69
--- /dev/null
+++ b/dev-java/lz4-java/files/lz4-java-1.8.0-gentoo-classpath.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<project name="gentoo-classpath">
+ <path id="mvel.classpath">
+ <pathelement path="${gentoo.classpath}" />
+ </path>
+</project>
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch b/dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch
new file mode 100644
index 000000000000..d4363b6853e4
--- /dev/null
+++ b/dev-java/lz4-java/files/lz4-java-1.8.0-print-os-props.patch
@@ -0,0 +1,31 @@
+From b8d50d44ba1c0e4b5bf297f7499ad0fb5b82706e Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoyuan@gmail.com>
+Date: Wed, 19 Jan 2022 10:09:14 -0800
+Subject: [PATCH] build.xml: Add target that prints JVM system properties os.*
+
+The Gentoo custom JNI Makefile needs some of those properties.
+
+Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
+---
+ build.xml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/build.xml b/build.xml
+index b7940ab..96e52ea 100644
+--- a/build.xml
++++ b/build.xml
+@@ -62,6 +62,11 @@
+ <javaversion atleast="10"/>
+ </condition>
+
++ <target name="os-props"
++ description="echo values of JVM system properties os.* to file os.properties">
++ <echoproperties prefix="os." destfile="os.properties" />
++ </target>
++
+ <target name="clean" description="clean working copy">
+ <delete dir="${build}" />
+ <delete dir="${dist}" />
+--
+2.34.1
+
diff --git a/dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch b/dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch
new file mode 100644
index 000000000000..26c09e147072
--- /dev/null
+++ b/dev-java/lz4-java/files/lz4-java-1.8.0-skip-ivy.patch
@@ -0,0 +1,91 @@
+From 95ae85542f39cecd1af6a3e661ad6120195d2304 Mon Sep 17 00:00:00 2001
+From: Yuan Liao <liaoyuan@gmail.com>
+Date: Mon, 20 Dec 2021 09:57:31 -0800
+Subject: [PATCH] build.xml: Skip Ivy logic and use Gentoo classpath
+
+Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
+---
+ build.xml | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+diff --git a/build.xml b/build.xml
+index b7940ab..ff321c6 100644
+--- a/build.xml
++++ b/build.xml
+@@ -20,6 +20,8 @@
+ xmlns:junit4="antlib:com.carrotsearch.junit4"
+ xmlns:mvn="antlib:org.apache.maven.artifact.ant">
+
++ <import file="gentoo-classpath.xml" />
++
+ <property name="src" location="src"/>
+ <property name="build" location="build"/>
+ <property name="dist" location="dist"/>
+@@ -81,8 +83,6 @@
+ </target>
+
+ <target name="install-cpptasks" unless="cpptasks.available">
+- <ivy:cachepath organisation="ant-contrib" module="cpptasks" revision="1.0b5"
+- inline="true" conf="default" transitive="true" pathid="cpptasks.classpath"/>
+ <taskdef uri="antlib:net.sf.antcontrib.cpptasks" resource="net/sf/antcontrib/cpptasks/antlib.xml" classpathref="cpptasks.classpath"/>
+ <property name="cpptasks.available" value="true"/>
+ </target>
+@@ -117,22 +117,14 @@
+
+ <target name="init">
+ <tstamp />
+- <ivy:resolve file="${ivy.xml.name}" conf="test" />
+- <ivy:retrieve />
+ </target>
+
+ <target name="install-junit4" depends="init" unless="junit4.available">
+- <taskdef uri="antlib:com.carrotsearch.junit4">
+- <classpath>
+- <fileset dir="${lib}" includes="*.jar" />
+- </classpath>
+- </taskdef>
++ <taskdef uri="antlib:com.carrotsearch.junit4" resource="com/carrotsearch/junit4/antlib.xml" classpath="${gentoo.classpath}"/>
+ <property name="junit4.available" value="true" />
+ </target>
+
+ <target name="generate-sources" depends="init">
+- <ivy:cachepath organisation="org.mvel" module="mvel2" revision="2.3.2.Final"
+- inline="true" conf="default" transitive="true" pathid="mvel.classpath"/>
+ <mkdir dir="${build}/java" />
+ <java
+ fork="true"
+@@ -244,12 +236,12 @@
+ <pathelement path="${build}/classes" />
+ <pathelement path="${build}/unsafe-classes" />
+ <pathelement path="${build}/generated-classes" />
+- <fileset dir="lib" includes="*.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <path id="compile.tests.classpath.with.jar">
+ <pathelement path="${lz4-java.jar}" />
+- <fileset dir="lib" includes="*.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <path id="test.classpath">
+@@ -260,14 +252,14 @@
+ <pathelement path="${build}/unsafe-classes" />
+ <pathelement path="${build}/generated-classes" />
+ <pathelement path="${build}/test-classes" />
+- <fileset dir="${lib}" includes="*.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <path id="test.classpath.with.jar">
+ <pathelement path="${lz4-java.jar}" />
+ <pathelement path="${src}/test-resources" />
+ <pathelement path="${build}/test-classes" />
+- <fileset dir="${lib}" includes="*.jar" />
++ <pathelement path="${gentoo.classpath}" />
+ </path>
+
+ <target name="test" description="run tests">
+--
+2.32.0
+