summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2021-11-26 12:18:41 +0100
committerMaciej Barć <xgqt@gentoo.org>2021-11-26 12:18:41 +0100
commit8d468da58086045bf7d3960d2e7e35dd9fa6a60c (patch)
tree834523d14ba5c70f1111bb5e6644f181e168c836 /dev-lang
parentdev-lang/clips: new package; add version 6.40 (diff)
downloadgentoo-8d468da58086045bf7d3960d2e7e35dd9fa6a60c.tar.gz
gentoo-8d468da58086045bf7d3960d2e7e35dd9fa6a60c.tar.bz2
gentoo-8d468da58086045bf7d3960d2e7e35dd9fa6a60c.zip
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@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/clipsjni/Manifest1
-rw-r--r--dev-lang/clipsjni/clipsjni-6.40.ebuild79
-rw-r--r--dev-lang/clipsjni/files/library-src_makefile.lnx.patch34
-rw-r--r--dev-lang/clipsjni/files/makefile.lnx.patch61
-rw-r--r--dev-lang/clipsjni/metadata.xml19
5 files changed, 194 insertions, 0 deletions
diff --git a/dev-lang/clipsjni/Manifest b/dev-lang/clipsjni/Manifest
new file mode 100644
index 000000000000..e2d53a3ccc51
--- /dev/null
+++ b/dev-lang/clipsjni/Manifest
@@ -0,0 +1 @@
+DIST clipsjni-6.40.tar.gz 3924580 BLAKE2B 6fce0ba8d2483291e1328ad8cba08bf663959e49414ae29e43bb226b8c82391ccde2d26732c6687ab52ee5cd88101df19c17258907d2fda84bde759d0d3687c6 SHA512 aacfe56ee64ade0be834654246e57a087cfc41d030a7138892158145a3485b0c9af60e188929123e3212ae0cf3cac0d4eac1e13ea0662d72ad714d67d4772d44
diff --git a/dev-lang/clipsjni/clipsjni-6.40.ebuild b/dev-lang/clipsjni/clipsjni-6.40.ebuild
new file mode 100644
index 000000000000..b05aea0d561e
--- /dev/null
+++ b/dev-lang/clipsjni/clipsjni-6.40.ebuild
@@ -0,0 +1,79 @@
+# 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 ~x86"
+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
+
+ 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
+
+ local e
+ for e in clipside clipsjni ; do
+ java-pkg_dolauncher ${e} --jar ${e^^}.jar
+ done
+
+ doicon ./java-src/net/sf/clipsrules/jni/examples/ide/resources/CLIPS.png
+
+ make_desktop_entry \
+ clipside CLIPSIDE CLIPS "Development;IDE"
+ make_desktop_entry \
+ clipsjni CLIPSJNI CLIPS "Development;ConsoleOnly;" "Terminal=true"
+
+ 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
+}
diff --git a/dev-lang/clipsjni/files/library-src_makefile.lnx.patch b/dev-lang/clipsjni/files/library-src_makefile.lnx.patch
new file mode 100644
index 000000000000..d984bfdafb61
--- /dev/null
+++ b/dev-lang/clipsjni/files/library-src_makefile.lnx.patch
@@ -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 :
diff --git a/dev-lang/clipsjni/files/makefile.lnx.patch b/dev-lang/clipsjni/files/makefile.lnx.patch
new file mode 100644
index 000000000000..da236107dfd5
--- /dev/null
+++ b/dev-lang/clipsjni/files/makefile.lnx.patch
@@ -0,0 +1,61 @@
+index 4100e83..c6d2f62 100644
+--- a/makefile.lnx
++++ b/makefile.lnx
+@@ -129,10 +129,10 @@ 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 :
++animal : clipsjni
+ mkdir -p $(ANIMAL_RSRC_DST)
+ javac -d $(ANIMAL_BIN) -cp CLIPSJNI.jar $(ANIMAL_SRC)/AnimalDemo.java
+ cp $(ANIMAL_RSRC_SRC)/*.properties $(ANIMAL_RSRC_DST)
+@@ -140,7 +140,7 @@ animal :
+ jar -cfe AnimalDemo.jar $(ANIMAL_CLASS) $(ANIMAL_BIN)/$(ANIMAL_CP)/AnimalDemo.class -C $(ANIMAL_BIN) net
+ jar -uf AnimalDemo.jar -C $(JNI_BIN) net
+
+-auto :
++auto : clipsjni
+ mkdir -p $(AUTO_RSRC_DST)
+ javac -d $(AUTO_BIN) -cp CLIPSJNI.jar $(AUTO_SRC)/AutoDemo.java
+ cp $(AUTO_RSRC_SRC)/*.properties $(AUTO_RSRC_DST)
+@@ -148,7 +148,7 @@ auto :
+ jar -cfe AutoDemo.jar $(AUTO_CLASS) $(AUTO_BIN)/$(AUTO_CP)/AutoDemo.class -C $(AUTO_BIN) net
+ jar -uf AutoDemo.jar -C $(JNI_BIN) net
+
+-sudoku :
++sudoku : clipsjni
+ mkdir -p $(SUDOKU_RSRC_DST)
+ javac -d $(SUDOKU_BIN) -cp CLIPSJNI.jar $(SUDOKU_SRC)/SudokuDemo.java
+ cp $(SUDOKU_RSRC_SRC)/*.properties $(SUDOKU_RSRC_DST)
+@@ -156,7 +156,7 @@ sudoku :
+ jar -cfe SudokuDemo.jar $(SUDOKU_CLASS) $(SUDOKU_BIN)/$(SUDOKU_CP)/SudokuDemo.class -C $(SUDOKU_BIN) net
+ jar -uf SudokuDemo.jar -C $(JNI_BIN) net
+
+-wine :
++wine : clipsjni
+ mkdir -p $(WINE_RSRC_DST)
+ javac -d $(WINE_BIN) -cp CLIPSJNI.jar $(WINE_SRC)/WineDemo.java
+ cp $(WINE_RSRC_SRC)/*.properties $(WINE_RSRC_DST)
+@@ -164,7 +164,7 @@ wine :
+ jar -cfe WineDemo.jar $(WINE_CLASS) $(WINE_BIN)/$(WINE_CP)/WineDemo.class -C $(WINE_BIN) net
+ jar -uf WineDemo.jar -C $(JNI_BIN) net
+
+-router :
++router : clipsjni
+ mkdir -p $(ROUTER_RSRC_DST)
+ javac -d $(ROUTER_BIN) -cp CLIPSJNI.jar $(ROUTER_SRC)/RouterDemo.java
+ cp $(ROUTER_RSRC_SRC)/*.properties $(ROUTER_RSRC_DST)
+@@ -172,7 +172,7 @@ router :
+ jar -cfe RouterDemo.jar $(ROUTER_CLASS) $(ROUTER_BIN)/$(ROUTER_CP)/RouterDemo.class -C $(ROUTER_BIN) net
+ jar -uf RouterDemo.jar -C $(JNI_BIN) net
+
+-ide :
++ide : clipsjni
+ mkdir -p $(IDE_RSRC_DST)
+ javac -d $(IDE_BIN) -cp CLIPSJNI.jar $(IDE_FILES)
+ cp $(IDE_RSRC_SRC)/*.png $(IDE_RSRC_DST)
diff --git a/dev-lang/clipsjni/metadata.xml b/dev-lang/clipsjni/metadata.xml
new file mode 100644
index 000000000000..e76de91010ea
--- /dev/null
+++ b/dev-lang/clipsjni/metadata.xml
@@ -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@gentoo.org</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/CLIPSJNI/</bugs-to>
+ <remote-id type="sourceforge">clipsrules</remote-id>
+ </upstream>
+</pkgmetadata>