dev-lang/clipsjni: new package; add version 6.40

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Maciej Barć <xgqt@riseup.net>
This commit is contained in:
Maciej Barć
2021-11-13 00:56:30 +01:00
parent 93e5fe2c91
commit 2f556cfba3
5 changed files with 143 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST clipsjni-6.40.tar.gz 3924580 BLAKE2B 6fce0ba8d2483291e1328ad8cba08bf663959e49414ae29e43bb226b8c82391ccde2d26732c6687ab52ee5cd88101df19c17258907d2fda84bde759d0d3687c6 SHA512 aacfe56ee64ade0be834654246e57a087cfc41d030a7138892158145a3485b0c9af60e188929123e3212ae0cf3cac0d4eac1e13ea0662d72ad714d67d4772d44

View File

@@ -0,0 +1,78 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
JAVA_PKG_IUSE="source"
inherit desktop toolchain-funcs xdg java-pkg-2
DESCRIPTION="Tool for building Expert Systems (Java version)"
HOMEPAGE="http://www.clipsrules.net/"
CLPN="clips_jni_$(ver_cut 1)$(ver_cut 2)"
SRC_URI="https://sourceforge.net/projects/clipsrules/files/CLIPS/${PV}/${CLPN}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN^^}"
LICENSE="public-domain"
KEYWORDS="~amd64"
SLOT="0"
IUSE="examples"
RDEPEND=">=virtual/jre-1.8:*"
DEPEND=">=virtual/jdk-1.8:*"
PATCHES=(
"${FILESDIR}/library-src_makefile.lnx.patch"
"${FILESDIR}/makefile.lnx.patch"
)
src_prepare() {
xdg_environment_reset
tc-export AR CC
# sorry... Java
unset MAKEOPTS
rm ./*.dll ./*.jar ./*jnilib || die
java-pkg-2_src_prepare
default
}
src_compile() {
pushd library-src || die
emake -f makefile.lnx
popd || die
if use examples ; then
emake -f makefile.lnx
else
emake -f makefile.lnx clipsjni ide
fi
}
src_install() {
java-pkg_doso library-src/libCLIPSJNI.so
java-pkg_dojar CLIPSIDE.jar CLIPSJNI.jar
doicon ./java-src/net/sf/clipsrules/jni/examples/ide/resources/CLIPS.png
local e
for e in clipside clipsjni ; do
java-pkg_dolauncher ${e} --jar ${e^^}.jar
make_desktop_entry \
${e} ${e^^} CLIPS "Development;ComputerScience;" "Terminal=true"
done
if use examples ; then
insinto /usr/share/clipsjni/examples
doins ./*Demo.jar
fi
use source && java-pkg_dosrc ./java-src
}
pkg_preinst() {
java-pkg-2_pkg_preinst
xdg_pkg_preinst
}

View File

@@ -0,0 +1,34 @@
--- a/library-src/makefile.lnx
+++ b/library-src/makefile.lnx
@@ -9,7 +9,12 @@
# Notes:
# -fPIC option needed for 64-bit systems
-all: ubuntu
+all: libCLIPSJNI.so
+
+CC ?=
+CFLAGS ?=
+JAVA_HOME ?=
+LDFLAGS ?=
ubuntu : JAVA_HOME = /usr/lib/jvm/default-java
ubuntu : libCLIPSJNI.so
@@ -63,7 +68,7 @@ OBJS = agenda.o analysis.o argacces.o bload.o bmathfun.o bsave.o \
clipsjni_utilities.o clipsjni_glue.o
.c.o :
- gcc -c -std=c99 -O3 -fPIC -DLINUX \
+ $(CC) -c -std=c99 -fPIC $(CFLAGS) $(LDFLAGS) -DLINUX \
-I$(JAVA_INCLUDE) -I$(JAVA_INCLUDE_OS) \
-fno-strict-aliasing -Wstrict-aliasing \
-Wall -Wundef -Wpointer-arith -Wshadow \
@@ -72,7 +77,7 @@ OBJS = agenda.o analysis.o argacces.o bload.o bmathfun.o bsave.o \
-Wstrict-prototypes -Waggregate-return -Wno-implicit $<
libCLIPSJNI.so : $(OBJS)
- gcc -o libCLIPSJNI.so -fPIC -shared \
+ $(CC) -o libCLIPSJNI.so -fPIC $(CFLAGS) $(LDFLAGS) -shared \
-lm $(OBJS)
clean :

View File

@@ -0,0 +1,11 @@
--- a/makefile.lnx
+++ b/makefile.lnx
@@ -129,7 +129,7 @@ all: clipsjni animal auto sudoku wine router ide
clipsjni :
mkdir -p $(JNI_BIN)
- javac -d $(JNI_BIN) $(JNI_FILES)
+ javac -Xlint:deprecation -d $(JNI_BIN) $(JNI_FILES)
jar -cfe CLIPSJNI.jar $(JNI_CLASS) $(JNI_BIN)/$(JNI_CP)/Environment.class -C $(JNI_BIN) net
animal :

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>xgqt@riseup.net</email>
<name>Maciej Barć</name>
</maintainer>
<longdescription lang="en">
This package is a Java implementation of CLIPS with
a native shared library and a IDE.
CLIPS is a forward-chaining rule-based programming language written in C
that also provides procedural and object-oriented programming facilities.
</longdescription>
<upstream>
<bugs-to>https://sourceforge.net/p/clipsrules/bugs/milestone/CLIPS/</bugs-to>
<remote-id type="sourceforge">clipsrules</remote-id>
</upstream>
</pkgmetadata>