summaryrefslogtreecommitdiff
path: root/sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild')
-rw-r--r--sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild123
1 files changed, 123 insertions, 0 deletions
diff --git a/sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild b/sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild
new file mode 100644
index 000000000000..ef96f491fb51
--- /dev/null
+++ b/sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WEBAPP_MANUAL_SLOT="yes"
+# TODO: use WEBAPP_OPTIONAL?
+inherit toolchain-funcs flag-o-matic webapp
+
+DESCRIPTION="The UCSC genome browser suite, also known as Jim Kent's library and GoldenPath"
+HOMEPAGE="http://genome.ucsc.edu/"
+SRC_URI="http://hgdownload.cse.ucsc.edu/admin/jksrc.v${PV}.zip"
+S="${WORKDIR}/kent"
+
+LICENSE="blat"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+mysql +server static-libs"
+REQUIRED_USE="server? ( mysql )"
+
+# TODO: test with other webservers
+RDEPEND="
+ dev-libs/openssl:=
+ media-libs/libpng:=
+ !<sci-biology/ucsc-genome-browser-223
+ mysql? ( dev-db/mysql-connector-c:= )
+ server? ( virtual/httpd-cgi )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/cpio
+ app-arch/unzip
+"
+
+pkg_setup() {
+ use server && webapp_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ use server && webapp_src_preinst
+
+ # bug #708064
+ append-flags -fcommon
+ # bug #831491, bug #919200, bug #921261
+ append-flags -std=gnu89
+
+ sed \
+ -e 's/-Werror//' \
+ -e "/COPT/s:=.*$:=${LDFLAGS}:g" \
+ -e "s/CC=gcc/CC=$(tc-getCC) ${CFLAGS}/" \
+ -e 's:${CC} ${COPT} ${CFLAGS}:${CC} ${CFLAGS}:g' \
+ -i src/inc/common.mk src/hg/lib/makefile || die
+ find -name makefile -or -name cgi_build_rules.mk \
+ | xargs sed -i \
+ -e 's/-${USER}//g' \
+ -e 's/-$(USER)//g' \
+ -e 's:-O2::g' \
+ -e 's:-ggdb::g' \
+ -e 's:-pipe::g' || die
+ sed \
+ -e 's:${DISTDIR}${BINDIR}:${BINDIR}:g' \
+ -i src/hg/genePredToMafFrames/makefile || die
+}
+
+src_compile() {
+ export MACHTYPE=${MACHTYPE/-*/} \
+ BINDIR="${WORKDIR}/destdir/opt/${PN}/bin" \
+ SCRIPTS="${WORKDIR}/destdir/opt/${PN}/cluster/scripts" \
+ ENCODE_PIPELINE_BIN="${WORKDIR}/destdir/opt/${PN}/cluster/data/encode/pipeline/bin" \
+ PATH="${BINDIR}:${PATH}" \
+ STRIP="echo 'skipping strip' "
+
+ export MYSQLLIBS="none" MYSQLINC="none" DOCUMENTROOT="none" CGI_BIN="none"
+
+ # TODO: use pkg-config here
+ use mysql && export MYSQLLIBS="-L${ESYSROOT}/usr/$(get_libdir)/mysql/ -lmysqlclient -lz -lssl" \
+ MYSQLINC="${ESYSROOT}/usr/include/mysql"
+
+ use server && export DOCUMENTROOT="${WORKDIR}/destdir/${MY_HTDOCSDIR}" \
+ CGI_BIN="${WORKDIR}/destdir/${MY_HTDOCSDIR}/cgi-bin"
+
+ mkdir -p "${BINDIR}" "${SCRIPTS}" "${ENCODE_PIPELINE_BIN}" || die
+ use server && mkdir -p "${CGI_BIN}" "${DOCUMENTROOT}"
+
+ emake -C src clean
+ emake -C src/lib
+ emake -C src/jkOwnLib
+ emake -C src/utils/stringify
+ emake -C src blatSuite
+ if use mysql; then
+ emake -j1 -C src/hg utils
+ emake -j1 -C src utils
+ emake -C src libs userApps
+ if use server; then
+ emake -j1 -C src/hg
+ emake -j1 -C src
+ fi
+ fi
+}
+
+src_install() {
+ use server && webapp_src_preinst
+ cp -ad "${WORKDIR}"/destdir/* "${D}" || die
+ use static-libs && dolib.a src/lib/${MACHTYPE/-*/}/*.a
+ echo "PATH=${EPREFIX}/opt/${PN}/bin" > "${S}/98${PN}"
+ doenvd "${S}/98${PN}"
+
+ use server && webapp_postinst_txt en src/product/README.QuickStart
+ use server && webapp_src_install
+
+ insinto "/usr/include/${PN}"
+ doins src/inc/*.h
+ insinto "/usr/share/${PN}"
+ doins -r src/product
+ keepdir "/usr/share/doc/${PF}"
+ find -name 'README*' -or -name '*.doc' | grep -v test | cpio -padv "${ED}/usr/share/doc/${PF}" || die
+}
+
+pkg_postinst() {
+ use server && webapp_pkg_postinst
+}