Showing with 193 additions and 34 deletions.
  1. +1 −0 dev-java/htsjdk/Manifest
  2. +48 −0 dev-java/htsjdk/htsjdk-2.2.2.ebuild
  3. +15 −0 dev-java/htsjdk/metadata.xml
  4. +115 −0 sci-biology/picard/files/2.2.2-build.xml.patch
  5. +14 −34 sci-biology/picard/picard-2.2.2.ebuild
@@ -0,0 +1 @@
DIST htsjdk-2.2.2.tar.gz 11459641 SHA256 5ef1b1e6b1fcdb7f13952b61de3b2af581ba800e4f6ea37762fbbd6d4e3f6904 SHA512 69c4f6be9be16669fbbbcac2e668b564c09793763908b1c4703b760ea46fdbcf747d233f87c48888de3810379b02f2e0d8ebef4d1bf48215128e02cb4053bd10 WHIRLPOOL 023f922b8a9f04c5c995bd862576b8eb19fc97357843e1709ce2b54d9b51dd666b9e7a93e5e934dfef228840d78ea09e9dd68294f8f07d29ef9937b023ed8f73
@@ -0,0 +1,48 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="6"

JAVA_PKG_IUSE="doc source"

inherit java-pkg-2 java-ant-2

DESCRIPTION="Java API for high-throughput sequencing data (HTS) formats."
HOMEPAGE="https://samtools.github.io/htsjdk/"
SRC_URI="https://github.com/samtools/htsjdk/archive/${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="MIT"
SLOT="0"
IUSE=""
KEYWORDS="~amd64 ~x86"

CDEPEND="dev-java/commons-jexl:2
dev-java/commons-compress:0
dev-java/commons-logging:0"

DEPEND=">=virtual/jdk-1.8
${CDEPEND}"
RDEPEND=">=virtual/jre-1.8
${CDEPEND}"

EANT_BUILD_TARGET="all"
EANT_NEEDS_TOOLS="true"
JAVA_ANT_REWRITE_CLASSPATH="true"
EANT_GENTOO_CLASSPATH="commons-jexl-2,commons-compress,commons-logging"

java_prepare() {
default
rm -v lib/{commons-compress,commons-jexl,commons-logging}*.jar || die
}

src_install() {
cd dist || die

for i in *.jar; do
java-pkg_newjar $i ${i/-[0-9]*.jar/.jar}
done

use source && java-pkg_dosrc "${S}"/src/java/*
use doc && java-pkg_dojavadoc "${S}"/javadoc
}
@@ -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>ercpe@gentoo.org</email>
<name>Johann Schmitz (ercpe)</name>
</maintainer>
<maintainer type="project">
<email>sci-biology@gentoo.org</email>
<name>Gentoo Biology Project</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">picard</remote-id>
</upstream>
</pkgmetadata>
@@ -0,0 +1,115 @@
diff --git a/build.xml b/build.xml
index f0b98ab..14ff7f7 100755
--- a/build.xml
+++ b/build.xml
@@ -83,15 +83,6 @@
<!-- INIT -->
<target name="init">
<path id="classpath">
- <fileset dir="${htsjdk_lib_dir}">
- <include name="*.jar"/>
- <include name="**/*.jar"/>
- </fileset>
- <!-- for the specific HTSJDK library JARs -->
- <fileset dir="${htsjdk}/lib">
- <include name="*.jar"/>
- <include name="**/*.jar"/>
- </fileset>
<fileset dir="${lib}">
<include name="**/*.jar"/>
</fileset>
@@ -117,53 +108,21 @@

<!-- HTS-JDK -->
<target name="set-htsjdk-version">
- <!-- set the htsjdk version -->
- <ant antfile="build.xml" dir="${htsjdk}" target="write-version-property" inheritall="false"/>
- <loadfile property="htsjdk-version" srcFile="${htsjdk}/htsjdk.version.properties">
- <filterchain>
- <linecontains>
- <contains value="htsjdk-version="/>
- </linecontains>
- <tokenfilter>
- <replacestring from="htsjdk-version=" to=""/>
- </tokenfilter>
- <striplinebreaks/>
- </filterchain>
- </loadfile>
</target>

<target name="clone-htsjdk" description="Clone HTS-JDK sources from Sourceforge">
- <exec executable="git" failonerror="true">
- <arg value="clone"/>
- <arg value="${htsjdk_git_url}"/>
- <arg value="${htsjdk}"/>
- </exec>
</target>

<target name="compile-htsjdk" depends="set-htsjdk-version" description="Build HTS-JDK, and grab build jars">
- <ant antfile="build.xml" dir="${htsjdk}" target="clean" inheritall="false"/>
- <ant antfile="build.xml" dir="${htsjdk}" target="all" inheritall="false"/>
- <copy todir="${htsjdk_lib_dir}">
- <fileset dir="${htsjdk}/dist" includes="**/*-*.jar"/>
- <fileset dir="${htsjdk}/lib" includes="*.jar"/>
- </copy>
- <copy todir="${dist}">
- <fileset dir="${htsjdk}/dist" includes="**/*.jar" excludes="**/*-*.jar"/>
- </copy>
- <!-- set the htsjdk version -->
- <ant antfile="build.xml" dir="${htsjdk}" target="write-version-property" inheritall="false"/>
</target>

<target name="clean-htsjdk" description="Clean HTS-JDK">
- <ant antfile="build.xml" dir="${htsjdk}" target="clean" inheritall="false"/>
</target>

<target name="test-htsjdk" description="Test HTS-JDK">
- <ant antfile="build.xml" dir="${htsjdk}" target="test" inheritall="false"/>
</target>

<target name="compile-htsjdk-tests" description="Compile HTS-JDK Tests">
- <ant antfile="build.xml" dir="${htsjdk}" target="compile-tests" inheritall="false"/>
</target>

<!-- COMPILE -->
@@ -292,15 +251,11 @@
<fileset dir="${lib}">
<exclude name="**/jacocoant.jar"/> <!-- must exclude this jar from packing into picard - this is only used for testing -->
</fileset>
- <fileset dir="${htsjdk_lib_dir}">
- <include name="*.jar"/>
- </fileset>
</unjar>

<jar destfile="${dist}/picard.jar" compress="no">
<fileset dir="${classes}" includes="picard/**/*.*, META-INF/**/*"/>
<fileset dir="${src.scripts}" includes="**/*.R"/>
- <fileset dir="${htsjdk-classes}" includes ="${htsjdk}/*/**/*.*"/>
<fileset dir="${dist.tmp}" includes="**/*"/>
<fileset dir="${jar_opt}" includes="**/*"/>

@@ -396,13 +351,9 @@
<fileset dir="${lib}">
<include name="**/*.jar"/>
</fileset>
- <fileset dir="${htsjdk}/dist">
- <include name="**/*.jar"/>
- </fileset>
</classpath>
<fileset dir=".">
<include name="${src}/**/*.java"/>
- <include name="${htsjdk_src}/**/*.java"/>
</fileset>
<arg line="-f ${command-line-html-dir}/picard-metric-definitions.html"/>
</javadoc>
@@ -508,10 +459,8 @@
description="Default build target">
<zip zipfile="${dist}/picard-tools-${picard-version}.zip">
<zipfileset dir="${dist}" includes="*.jar" prefix="picard-tools-${picard-version}"/>
- <zipfileset dir="${htsjdk_lib_dir}" includes="htsjdk-*.jar" prefix="picard-tools-${picard-version}"/>
<zipfileset dir="${lib}" includes="snappy*.jar"/>
<!-- distribute libJniDeflater.so in same directory as jarfiles-->
- <zipfileset dir="${htsjdk}/lib/jni" includes="*" prefix="picard-tools-${picard-version}"/>
</zip>
</target>

@@ -2,73 +2,53 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="5"
EAPI="6"

JAVA_PKG_IUSE="doc source test"
WANT_ANT_TASKS="ant-apache-bcel dev-java/testng:0 ant-junit4"
JAVA_PKG_IUSE="doc source"

inherit java-pkg-2 java-ant-2

DESCRIPTION="Java-based command-line utilities that manipulate SAM/BAM/CRAM/VCF files"
HOMEPAGE="http://picard.sourceforge.net
http://broadinstitute.github.io/picard"
#SRC_URI="https://dev.gentoo.org/~ercpe/distfiles/${CATEGORY}/${PN}/${P}.tar.bz2"
SRC_URI="https://github.com/broadinstitute/picard/archive/${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="MIT"
SLOT="0"
IUSE=""
KEYWORDS=""
KEYWORDS="~amd64 ~x86"

CDEPEND="dev-java/snappy:1.0
CDEPEND="dev-java/snappy:1.1
dev-java/cofoja:0
dev-java/commons-jexl:2
dev-java/ant-core:0"
dev-java/ant-core:0
dev-java/htsjdk:0"

DEPEND=">=virtual/jdk-1.8
dev-java/ant-apache-bcel:0
test? (
dev-java/testng:0
dev-lang/R
)
${CDEPEND}"
# >=jdk8u66

RDEPEND=">=virtual/jre-1.8
${CDEPEND}"

EANT_BUILD_TARGET="all"
EANT_TEST_TARGET="test"
EANT_NEEDS_TOOLS="true"
JAVA_ANT_REWRITE_CLASSPATH="true"
EANT_GENTOO_CLASSPATH="snappy-1.0,cofoja,commons-jexl-2,ant-core"
EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},testng"
EANT_GENTOO_CLASSPATH="snappy-1.1,cofoja,commons-jexl-2,ant-core,htsjdk"

java_prepare() {
mkdir -p "${S}"/lib || die

# TODO: update the old patch
#epatch "${FILESDIR}"/${PV}-gentoo.patch

mv "${S}"/src/java/net/sf/samtools/SAMTestUtil.java "${S}"/src/tests/java/net/sf/samtools || die
default
rm -r src/java/picard/util/TestNGUtil.java src/tests/java/* || die
epatch "${FILESDIR}"/${PV}-build.xml.patch
}

src_install() {
cd dist || die

for i in *-${PV}.jar; do
java-pkg_newjar $i ${i/-${PV}/}
rm $i || die
done
java-pkg_dojar ${PN}.jar
java-pkg_dojar ${PN}-lib.jar

java-pkg_dojar *.jar
for i in *.jar; do
java-pkg_dolauncher ${i/.jar/} --jar $i;
done
java-pkg_dolauncher ${PN} --main picard.cmdline.PicardCommandLine

use source && java-pkg_dosrc "${S}"/src/java/*
use doc && java-pkg_dojavadoc "${S}"/javadoc
}

src_test() {
java-pkg-2_src_test
}