3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
inherit toolchain-funcs
|
|
6 |
inherit flag-o-matic toolchain-funcs
|
7 |
7 |
|
8 |
8 |
DESCRIPTION="Program and library for generating standard and non-standard InChI and InChIKeys"
|
9 |
|
HOMEPAGE="http://www.iupac.org/inchi/"
|
|
9 |
HOMEPAGE="https://www.iupac.org/inchi/"
|
10 |
10 |
SRC_URI="
|
11 |
|
http://www.inchi-trust.org/sites/default/files/inchi-${PV}/INCHI-1-API.ZIP -> ${P}.zip
|
12 |
|
doc? ( http://www.inchi-trust.org/sites/default/files/inchi-${PV}/INCHI-1-DOC.ZIP -> ${P}-doc.zip )"
|
13 |
|
S="${WORKDIR}"/INCHI-1-API
|
|
11 |
https://www.inchi-trust.org/download/${PV//.}/INCHI-1-SRC.zip -> ${P}.zip
|
|
12 |
doc? ( https://www.inchi-trust.org/download/${PV//.}/INCHI-1-DOC.zip -> ${P}-doc.zip )
|
|
13 |
"
|
|
14 |
S="${WORKDIR}/INCHI-1-SRC"
|
14 |
15 |
|
15 |
16 |
LICENSE="IUPAC-InChi"
|
16 |
17 |
SLOT="0"
|
... | ... | |
19 |
20 |
|
20 |
21 |
BDEPEND="app-arch/unzip"
|
21 |
22 |
|
22 |
|
PATCHES=(
|
23 |
|
"${FILESDIR}"/${PN}-1.03-shared.patch
|
24 |
|
)
|
|
23 |
src_compile() {
|
|
24 |
local common_opts target_opts
|
25 |
25 |
|
26 |
|
src_configure() {
|
27 |
|
tc-export AR RANLIB
|
28 |
|
}
|
|
26 |
append-cflags \${P_INCL} -ansi -DCOMPILE_ANSI_ONLY -fPIC -c
|
|
27 |
append-cxxflags \${P_INCL} -ansi -frtti -c
|
29 |
28 |
|
30 |
|
src_compile() {
|
31 |
|
local dir common_opts
|
32 |
29 |
common_opts=(
|
33 |
|
C_COMPILER=$(tc-getCC)
|
34 |
|
CPP_COMPILER=$(tc-getCXX)
|
35 |
|
LINKER="$(tc-getCXX) ${LDFLAGS}"
|
36 |
|
SHARED_LINK="$(tc-getCC) ${LDFLAGS} -shared"
|
37 |
|
C_COMPILER_OPTIONS="\${P_INCL} -ansi -DCOMPILE_ANSI_ONLY ${CFLAGS} -c "
|
38 |
|
CPP_COMPILER_OPTIONS="\${P_INCL} -D_LIB -ansi ${CXXFLAGS} -frtti -c "
|
39 |
|
C_OPTIONS="${CFLAGS} -fPIC -c "
|
40 |
|
LINKER_OPTIONS="${LDFLAGS}"
|
41 |
|
CREATE_MAIN=
|
|
30 |
C_COMPILER="$(tc-getCC)"
|
|
31 |
CPP_COMPILER="$(tc-getCXX)"
|
|
32 |
AR="$(tc-getAR)"
|
|
33 |
RANLIB="$(tc-getRANLIB)"
|
|
34 |
LINKER="$(tc-getCXX)"
|
|
35 |
SHARED_LINK="$(tc-getCC)"
|
|
36 |
SHARED_LINK_PARM="${LDFLAGS} -shared "
|
42 |
37 |
ISLINUX=1
|
43 |
38 |
)
|
44 |
|
for dir in INCHI/gcc/inchi-1 INCHI_API/gcc_so_makefile; do
|
45 |
|
pushd ${dir} > /dev/null || die
|
46 |
|
emake \
|
47 |
|
"${common_opts[@]}"
|
48 |
|
popd > /dev/null || die
|
49 |
|
done
|
|
39 |
|
|
40 |
# Compile the library
|
|
41 |
target_opts=(
|
|
42 |
LINKER_OPTIONS="${LDFLAGS} "
|
|
43 |
C_OPTIONS="${CFLAGS} -DTARGET_API_LIB -D_LIB -D_XOPEN_SOURCE=500 " #874696
|
|
44 |
CPP_OPTIONS="${CXXFLAGS} -DTARGET_API_LIB -D_LIB "
|
|
45 |
CREATE_MAIN=
|
|
46 |
)
|
|
47 |
emake -C INCHI_API/libinchi/gcc "${common_opts[@]}" "${target_opts[@]}"
|
|
48 |
|
|
49 |
pushd "INCHI_API/bin/Linux" || die
|
|
50 |
ln -s libinchi.so.1 libinchi.so || die
|
|
51 |
popd > /dev/null || die
|
|
52 |
|
|
53 |
# Compile the executable
|
|
54 |
target_opts=(
|
|
55 |
LINKER_OPTIONS="${LDFLAGS} -L${S}/INCHI_API/bin/Linux -linchi "
|
|
56 |
C_COMPILER_OPTIONS="${CFLAGS} -DTARGET_EXE_STANDALONE "
|
|
57 |
CPP_COMPILER_OPTIONS="${CXXFLAGS} -DTARGET_EXE_STANDALONE "
|
|
58 |
CREATE_MAIN=
|
|
59 |
)
|
|
60 |
emake -C INCHI_EXE/inchi-1/gcc "${common_opts[@]}" "${target_opts[@]}"
|
|
61 |
|
50 |
62 |
}
|
51 |
63 |
|
52 |
64 |
src_install() {
|
53 |
65 |
dodoc readme*.txt
|
54 |
66 |
if use doc ; then
|
55 |
|
cd "${WORKDIR}"/INCHI-1-DOC || die
|
|
67 |
pushd "${WORKDIR}/INCHI-1-DOC" || die
|
56 |
68 |
docinto doc
|
57 |
69 |
dodoc *.pdf readme.txt
|
|
70 |
popd || die
|
58 |
71 |
fi
|
59 |
|
dobin "${S}"/INCHI/gcc/inchi-1/inchi-1
|
60 |
|
cd "${S}"/INCHI_API/gcc_so_makefile/result || die
|
61 |
|
rm *gz || die
|
62 |
|
dolib.so lib*so*
|
63 |
|
doheader ../../inchi_main/inchi_api.h
|
|
72 |
dobin "${S}/INCHI_EXE/bin/Linux/inchi-1"
|
|
73 |
dolib.so "${S}/INCHI_API/bin/Linux/"lib*so*
|
|
74 |
doheader "${S}/INCHI_BASE/src/"{inchi_api,ixa}.h
|
64 |
75 |
}
|