blob: 3af0ec3b3fda941bdc999e6aa1d7ff074b12548d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs java-pkg-2
MY_PV="${PV//./_}"
DESCRIPTION="Java-based editor optimized for the OBO biological ontology file format"
HOMEPAGE="http://www.oboedit.org/" # no https, invalid certificate
SRC_URI="https://downloads.sourceforge.net/project/geneontology/OBO-Edit%202%20%5BLatest%20versions%5D/OBO-Edit%20${PV}/oboedit_${MY_PV}_unix_install4j.sh -> ${PN}_unix_install4j-${PV}.sh"
LICENSE="OBO-Edit" # Artistic-like
SLOT="0"
KEYWORDS=""
DEPEND="app-arch/rpm2targz"
RDEPEND="virtual/jre"
S="${WORKDIR}"
pkg_setup() {
einfo "Fixing java access violations ..."
# learned from bug #387227
# opened a bug #402507 to get this .systemPrefs directory pre-created for everybody
addpredict /opt/icedtea-bin-7.2.0/jre/.systemPrefs
addpredict /usr/local/bin/OBO-Edit
}
src_prepare(){
default
dodir /opt/OBO-Edit2/.install4j /usr/bin
cp "${DISTDIR}"/"${PN}"_unix_install4j-"${PV}".sh "${WORKDIR}" || die
# /var/tmp/portage/sci-biology/OBO-Edit-2.1.1.6/image//opt/OBO-Edit2/.install4j/response.varfile
sed -e "s#\"\${D}\"#"${D}"#g" "${FILESDIR}"/response.varfile | \
sed -e "s#\"\${HOME}\"#"${HOME}"#g" | \
sed -e "s@sys.symlinkDir=/usr/local/bin@#sys.symlinkDir=/usr/local/bin@" \
> "${D}"/opt/OBO-Edit2/.install4j/response.varfile || die "sed failed"
cp -r "${D}"/opt/OBO-Edit2/.install4j "${HOME}" || die
# for user root install4j writes into /opt/icedtea-bin-7.2.0/jre/.systemPrefs or whatever it
# found via JAVA_HOME or similar variables
# for other users it writes into $HOME/.java/.userPrefs/
# trick setting -Djava.util.prefs.systemRoot="${TMPDIR}" does not work
sed \
-e "s@/bin/java\" -Dinstall4j.jvmDir=\"\$app_java_home\"@/bin/java\" -Duser.home="${HOME}" -Dinstall4j.jvmDir="${HOME}" -Dsys.symlinkDir="${D}"/usr/bin -Djava.util.prefs.systemRoot="${HOME}"@" \
-i "${WORKDIR}"/"${PN}"_unix_install4j-"${PV}".sh \
|| die "failed to set userHome and jvmDir where JAVA .systemPrefs can be found"
chmod u+rx "${WORKDIR}/${PN}"_unix_install4j-"${PV}".sh || die
}
src_install(){
# it looks install4j removes the target installation direcotry before writing into it :((
#
# cat "${TMPDIR}"/.install4j/response.varfile
# chmod a-w "${TMPDIR}"/.install4j/response.varfile
INSTALL4J_KEEP_TEMP="yes" \
sh "${WORKDIR}"/"${PN}"_unix_install4j-"${PV}".sh -q \
--varfile="${HOME}"/.install4j/response.varfile \
--destination="${D}"/opt/OBO-Edit2 \
-dir "${D}"/opt/OBO-Edit2 \
|| die "Failed to run the self-extracting ${WORKDIR}/${PN}_unix_install4j-${PV}.sh file"
find . -name firstrun -delete || die
echo "PATH=/opt/OBO-Edit2" > 99OBO-Edit || die
doenvd 99OBO-Edit
}
|