diff options
-rw-r--r-- | dev-lang/clipsjni/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/clipsjni/clipsjni-6.40.ebuild | 79 | ||||
-rw-r--r-- | dev-lang/clipsjni/files/library-src_makefile.lnx.patch | 34 | ||||
-rw-r--r-- | dev-lang/clipsjni/files/makefile.lnx.patch | 61 | ||||
-rw-r--r-- | dev-lang/clipsjni/metadata.xml | 19 |
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> |