diff options
author | Martin Mokrejš <mmokrejs@fold.natur.cuni.cz> | 2017-03-15 22:38:28 +0100 |
---|---|---|
committer | Martin Mokrejš <mmokrejs@fold.natur.cuni.cz> | 2017-03-15 22:38:28 +0100 |
commit | 395c7e7490baf0d7a6e6550fd47d966c285dc171 (patch) | |
tree | e5570ac1885074d72de6a58a621cbfdd48f88364 | |
parent | sci-biology/ncbi-tools++-12.0.0: do not force --without-downloaded-vdb (diff) | |
download | sci-395c7e7490baf0d7a6e6550fd47d966c285dc171.tar.gz sci-395c7e7490baf0d7a6e6550fd47d966c285dc171.tar.bz2 sci-395c7e7490baf0d7a6e6550fd47d966c285dc171.zip |
sci-biology/imagej: new package
Ebuild taken over from https://bugs.gentoo.org/show_bug.cgi?id=112275
src_compile screams about:
>>> Compiling source in /scratch/var/tmp/portage/sci-biology/imagej-1.51k/work/source ...
!!! ERROR: Package jython was not found!
but it builds fine using Apache ant.
ImageJ2 is using maven as a build system ( https://imagej.net/ImageJ2 )
Package-Manager: Portage-2.3.3, Repoman-2.3.1
-rw-r--r-- | sci-biology/imagej/Manifest | 3 | ||||
-rw-r--r-- | sci-biology/imagej/files/AutoThresholder.java.patch | 10 | ||||
-rw-r--r-- | sci-biology/imagej/imagej-1.51k.ebuild | 132 | ||||
-rw-r--r-- | sci-biology/imagej/metadata.xml | 15 |
4 files changed, 160 insertions, 0 deletions
diff --git a/sci-biology/imagej/Manifest b/sci-biology/imagej/Manifest new file mode 100644 index 000000000..472f38d81 --- /dev/null +++ b/sci-biology/imagej/Manifest @@ -0,0 +1,3 @@ +DIST ImageJ.png 13012 SHA256 02b93e7614a2ab52ca5dbdc941dc99b4b461c91b28203d33e877746f97e12b86 SHA512 60c2ff73bcfc668931c59b0dfb299723a369b741601bdd591a407302e30fc58c6c626525b3f08b955a5dab37729d3f704db689317b42a94e7a3ccbfb72abc9b3 WHIRLPOOL c8f5328abd55b3ec23f0676d29bd47f91059f22de3ed6ad98c95670e504ffa3403bd91ee75d601b68034dd686d252163680b5fd57aaea8bb8b7b6d275ac9964f +DIST ij150.zip 4179316 SHA256 97aba6fc5eb908f5160243aebcdc4965726693cb1353d9c0d71b8f5dd832cb7b SHA512 a6aae1813c9144692d7e11a82199cfc1d52e5f99d5716de890b58456c303eadc047a01e37822cdbd0c610bae944954d9e2ae46c8961710c63311f649976930e9 WHIRLPOOL 6df690327c54a5809b4e0b3f4e7c52998265de2685b4fb901702e12cb52936a685eed3f9db9610b4ed6c2e778b87ae8e73cb09d770955aac4d87f0327a3e4fa3 +DIST ij151k-src.zip 1580015 SHA256 186adf6756bb1008b1d9596ffb7e92efcaeca7411b19489368aa9e135751c0e1 SHA512 93249fb1c186e757dde78231d3064a1179f5c10d94dc02b9b0535febd5db78cb2666e9e952380de8847339c840d4e46e857eaa982340c6e5084d1003c44791e6 WHIRLPOOL f72fd0d4d3377247d21d9c46a1b5ac5e8068ebbceac790aba89a7ce35ee0f2ca00eed588f2bc924d1180c4774c6d6ce81cfc8765a2d610a9b913c05689ccaae4 diff --git a/sci-biology/imagej/files/AutoThresholder.java.patch b/sci-biology/imagej/files/AutoThresholder.java.patch new file mode 100644 index 000000000..97c893244 --- /dev/null +++ b/sci-biology/imagej/files/AutoThresholder.java.patch @@ -0,0 +1,10 @@ +--- imagej-1.51k/work/source/ij/process/AutoThresholder.java.ori 2017-03-15 22:33:45.843801175 +0100 ++++ imagej-1.51k/work/source/ij/process/AutoThresholder.java 2017-03-15 22:33:55.104053480 +0100 +@@ -650,7 +650,6 @@ + } + // The threshold is the minimum between the two peaks. + for (int i=1; i<255; i++) { +- //IJ.log(" "+i+" "+iHisto[i]); + if (iHisto[i-1] > iHisto[i] && iHisto[i+1] >= iHisto[i]) { + threshold = i; + break; diff --git a/sci-biology/imagej/imagej-1.51k.ebuild b/sci-biology/imagej/imagej-1.51k.ebuild new file mode 100644 index 000000000..0467973e4 --- /dev/null +++ b/sci-biology/imagej/imagej-1.51k.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=6 + +inherit java-pkg-2 java-ant-2 eutils versionator + +MY_PN="ij" +MY_PV=$(delete_all_version_separators) + +# NOTE: +# as plugins are regularly lagging behind, we use the pack released for previous +# version instead. Change to present version locally if you are sure proper +# version has been released. +# see https://bugs.gentoo.org/show_bug.cgi?id=112275 +IJ_PV=$(expr ${MY_PV::3} - 1) + +DESCRIPTION="Image Processing and Analysis in Java" +HOMEPAGE="http://rsb.info.nih.gov/ij/" + +SRC_URI="http://imagej.nih.gov/ij/download/src/${MY_PN}${MY_PV}-src.zip + http://rsb.info.nih.gov/ij/images/ImageJ.png + plugins? ( http://wsr.imagej.net/distros/cross-platform/${MY_PN}${IJ_PV}.zip )" +# plugins are under a different licenses and can be installed into user's $IJ_HOME/plugins +# plugins? ( http://rsb.info.nih.gov/ij/download/zips/${MY_PN}${IJ_PV}.zip )" + +RESTRICT="" +LICENSE="public-domain" +SLOT="0" + +KEYWORDS="" + +IUSE="doc plugins debug" + +RDEPEND=">=virtual/jre-1.6:* + dev-java/java-config + dev-java/jython" +DEPEND=">=virtual/jdk-1.6:* + dev-java/ant-core + ${RDEPEND}" + +S=${WORKDIR}/source +IJ_S=${WORKDIR}/ImageJ + +src_prepare() { + cp "${DISTDIR}"/ImageJ.png "${WORKDIR}/${PN}.png" || die + + if ! use debug ; then + sed -i 's: debug="on">: debug="off">:' "${S}"/build.xml || die + fi + epatch "${FILESDIR}"/AutoThresholder.java.patch + eapply_user +} + +# in src_compile we get: !!! ERROR: Package jython was not found! +# TODO: overwrite calls to jython ? See +# ij/plugin/frame/Editor.java +# plugin/PlugInInterpreter.java +# plugin/Macro_Runner.java + +src_compile() { + local antflags="build" + use doc && antflags="${antflags} javadocs" + + ant ${antflags} || die "ant build failed" + + # Max memory usage depends on available memory and CPU type + MEM=$(grep MemTotal ${EPREFIX}/proc/meminfo | cut -d':' -f2 | grep -o [0-9]*) + IJ_MAX_MEM=$(expr ${MEM} / 1024) + if use x86 && $IJ_MAX_MEM -gt 2048 ; then + IJ_MAX_MEM=2048 + fi + # build finished, generate startup wrapper + cat <<EOF > "${T}/${PN}" +#!${EPREFIX}/bin/bash +IJ_LIB=${EPREFIX}/usr/share/${PN}/lib +if !([ "\${IJ_HOME}" ]) ; then + IJ_HOME=\${HOME} +fi +if [ -d \${IJ_HOME}/plugins ] ; then + IJ_PLG=\${IJ_HOME} +else + IJ_PLG=${EPREFIX}/usr/share/${PN}/lib +fi +if !([ "\$IJ_MEM" ]) ; then + IJ_MEM=${IJ_MAX_MEM} +fi +if !([ "\$IJ_CP" ]) ; then + IJ_CP=\$(java-config -p imagej):\$(java-config -O)/lib/tools.jar +else + IJ_CP=\$(java-config -p imagej):\$(java-config -O)/lib/tools.jar:\${IJ_CP} +fi +\$(java-config --java) \\ + -Xmx\${IJ_MEM}m -Dswing.aatext=true \\ + -Dawt.useSystemAAFontSettings=on\\ + -cp \${IJ_CP} \\ + -Duser.home=\${IJ_HOME} \\ + -Dplugins.dir=\${IJ_PLG} \\ + ij.ImageJ "\$@" +EOF +} + +src_install() { + java-pkg_dojar *.jar + dobin "${T}/${PN}" + + if use plugins ; then + cp -R "${IJ_S}"/plugins "${ED}"/usr/share/"${PN}"/lib/ + cp -R "${IJ_S}"/macros "${ED}"/usr/share/"${PN}"/lib/ + fi + + use doc && java-pkg_dohtml -r "${WORKDIR}"/api + + insinto /usr/share/pixmaps + doins "${WORKDIR}/${PN}".png + make_desktop_entry "${PN}" ImageJ "${PN}".png Graphics +} + +pkg_postinst() { + einfo "" + einfo "You can configure the path of a folder, which contains \"plugins\" directory and IJ_Prefs.txt," + einfo "by setting the environmental variable, \$IJ_HOME." + einfo "Default setting is \$IJ_HOME=\${HOME}, i.e. \${HOME}/plugins and \${HOME}/IJ_Prefs.txt." + einfo "" + einfo "You can also configure the memory size by setting the environmental variable, \$IJ_MEM," + einfo "and the class path by setting the environmental variable, \$IJ_CP." + einfo "" + einfo "If you want to use much more plugins, please see http://rsb.info.nih.gov/ij/plugins/index.html" + einfo "and add *.class files to \$IJ_HOME/plugins folder" + einfo "" +} diff --git a/sci-biology/imagej/metadata.xml b/sci-biology/imagej/metadata.xml new file mode 100644 index 000000000..4f14b2e58 --- /dev/null +++ b/sci-biology/imagej/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mmokrejs@fold.natur.cuni.cz</email> + <name>Martin Mokrejs</name> + </maintainer> + <maintainer type="project"> + <email>sci-biology@gentoo.org</email> + <name>Gentoo Biology Project</name> + </maintainer> + <use> + <flag name="plugins">Install additional plugins</flag> + </use> +</pkgmetadata> |