Skip to content

Commit

Permalink
dev-java/jss: Version bump to 4.3.2
Browse files Browse the repository at this point in the history
 * Set CC and AR correctly (bug #428188)
 * Fix javadoc under Java 8
 * Similify Linux kernel version fix
 * Get more tests passing though they still need to be RESTRICTed

Package-Manager: portage-2.2.20.1
  • Loading branch information
chewi committed Oct 1, 2015
1 parent 894d691 commit fd7e7d1
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 101 deletions.
1 change: 1 addition & 0 deletions dev-java/jss/Manifest
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
DIST jss-4.3.2.tar.bz2 435542 SHA256 8bfe94668e8aa1b8fdfaf01fd45b18daa2336e1901f90922c44327116df8a278 SHA512 3296da72f204fc4a0ea58dd889cf2721a4afa0ec7b5406312e64354cc67edcfc370140ad22a24f0dfcf11e438e69ebe9da45a70b5cbaa4026b40fd5fcf96c232 WHIRLPOOL 5f72f6cccb49c40e840472329461475bfd83e6ac98ea60cee63c0194374e210df5dac038fb891635f84625c5643b0b25fa36253c78b3cad4461d647c7a0fcc15
DIST jss-4.3.tar.bz2 421731 SHA256 e82cdcadd6d7acd0d5f9274134dd5a88f26d7e47e7d9d8b059ce68ca413fb54e SHA512 b1ae0f2dc2ca90a30caca97e4e89a471f4d0a0483dd384f242989de8a21fdd3c99dc4c452e5ef7e23bf3de745e5868f276528f76afc8aef7a9e7fe99722e0b4f WHIRLPOOL 77773968499aa7c88ed14ae4ab899a45935d5a6c4a0b6d455428f62e81d24bd379324726bda61e3c84521040cc3439ae2a5d167f32006d6dc97ba2b3ec923f5f
11 changes: 11 additions & 0 deletions dev-java/jss/files/jss-4.3-javadoc.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- security/jss/build_java.pl.orig 2015-10-01 23:04:22.540035573 +0100
+++ security/jss/build_java.pl 2015-10-01 23:11:41.413230402 +0100
@@ -323,7 +323,7 @@
ensure_dir_exists("$dist_dir/jssdoc");
my $targets = join(" ", @packages);
print "$targets\n";
- print_do("$javadoc -breakiterator -sourcepath . -d $dist_dir/jssdoc $html_header_opt $targets");
+ print_do("$javadoc -Xdoclint:none -breakiterator -sourcepath . -d $dist_dir/jssdoc $html_header_opt $targets");
print_do("cp $dist_dir/jssdoc/index.html $dist_dir/jssdoc/index.html.bak");
print_do("cp $dist_dir/jssdoc/overview-summary.html $dist_dir/jssdoc/index.html");
}
11 changes: 11 additions & 0 deletions dev-java/jss/files/jss-4.3.2-ldflags.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- security/coreconf/Linux.mk.orig 2010-01-15 22:19:00.000000000 +0000
+++ security/coreconf/Linux.mk 2015-09-27 22:17:50.102547607 +0100
@@ -142,7 +142,7 @@
ARCH = linux

DSO_CFLAGS = -fPIC
-DSO_LDOPTS = -shared $(ARCHFLAG)
+DSO_LDOPTS = $(LDFLAGS) -shared $(ARCHFLAG)
# The linker on Red Hat Linux 7.2 and RHEL 2.1 (GNU ld version 2.11.90.0.8)
# incorrectly reports undefined references in the libraries we link with, so
# we don't use -z defs there.
101 changes: 0 additions & 101 deletions dev-java/jss/jss-4.3-r1.ebuild

This file was deleted.

94 changes: 94 additions & 0 deletions dev-java/jss/jss-4.3.2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="5"

JAVA_PKG_IUSE="doc source"

inherit multilib toolchain-funcs java-pkg-2

DESCRIPTION="Network Security Services for Java (JSS)"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/JSS"
# 4.3.2 was released but was seemingly never announced. The binary jar
# exists on Mozilla's servers but Chewi could only find a source tarball
# at https://obs.kolabsys.com/package/show/Kolab:3.4/jss. However, you
# need to register in order to download it, hence he has mirrored it.
SRC_URI="https://dev.gentoo.org/~chewi/distfiles/${P}.tar.bz2"
LICENSE="MPL-1.1"
SLOT="3.4"
KEYWORDS="~amd64 ~x86"
IUSE="examples test"

CDEPEND=">=dev-libs/nspr-4.7.1
>=dev-libs/nss-3.12.5"

DEPEND="${CDEPEND}
dev-lang/perl
>=virtual/jdk-1.6
virtual/pkgconfig
test? ( dev-libs/nss[utils] )"

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

S="${WORKDIR}/${P}/mozilla"

java_prepare() {
epatch "${FILESDIR}"/${PN}-3.4-target_source.patch
epatch "${FILESDIR}"/${PN}-4.2.5-use_pkg-config.patch
epatch "${FILESDIR}"/${PN}-4.3-cflags.patch
epatch "${FILESDIR}"/${PN}-4.3.2-ldflags.patch
epatch "${FILESDIR}"/${PN}-4.3-secitem.patch

if java-pkg_is-vm-version-ge 1.8; then
epatch "${FILESDIR}"/${PN}-4.3-javadoc.patch
fi
}

src_compile() {
local ARGS=(
"CC=$(tc-getCC)"
"AR=$(tc-getAR) cr \$@"
"OS_RELEASE=2.6"
"BUILD_OPT=1"
)

export JAVA_GENTOO_OPTS="$(java-pkg_javac-args)"
use amd64 && export USE_64=1

cd "${S}/security/coreconf" || die
emake -j1 "${ARGS[@]}"

cd "${S}/security/jss" || die
emake -j1 "${ARGS[@]}" USE_PKGCONFIG=1 NSS_PKGCONFIG=nss NSPR_PKGCONFIG=nspr
use doc && emake -j1 "${ARGS[@]}" javadoc
}

# Chewi has managed to reach a test pass rate of 31/40 (78%) but the
# remainder fail due to JSS not having kept pace with the ciphersuites
# in NSS. There's not much we can do about that. The suite also leaves
# java processes running and exits successfully on failure.
RESTRICT="test"

src_test() {
# Parts of NSS are required for the tests.
ln -snf "${EROOT}usr/$(get_libdir)/libnssckbi.so" dist/Linux*.OBJ/lib/ || die
ln -snf "${EROOT}usr/bin" dist/Linux*.OBJ/ || die

# The tests must be run from this directory.
cd security/jss/org/mozilla/jss/tests || die
BUILD_OPT=1 perl all.pl dist "${S}"/dist/Linux*.OBJ/ || die "tests failed"
}

src_install() {
java-pkg_dojar dist/*.jar

# Use this instead of the one in dist because it is a symlink
# and doso handles symlinks by just symlinking to the original
java-pkg_doso ./security/${PN}/lib/*/*.so

use doc && java-pkg_dojavadoc dist/jssdoc
use source && java-pkg_dosrc ./security/jss/org
use examples && java-pkg_doexamples ./security/jss/samples
}

0 comments on commit fd7e7d1

Please sign in to comment.