nexus: 2.12.0-01 -> 3.5.1-02

Update Nexus to version 3.5.1-02 and fix startup stript to run in nix
environment.

Changed files
+85 -12
pkgs
development
tools
repository-managers
+31 -12
pkgs/development/tools/repository-managers/nexus/default.nix
···
-
{ stdenv, fetchurl, makeWrapper, jre }:
+
{ stdenv, fetchurl, makeWrapper, jre, gawk }:
stdenv.mkDerivation rec {
name = "nexus-${version}";
-
version = "2.12.0-01";
+
version = "3.5.1-02";
src = fetchurl {
-
url = "https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-${version}-bundle.tar.gz";
-
sha256 = "1k3z7kwcmr1pxaxfnak99fq5s8br9zbqbfpyw1afi86ykkph4g5z";
+
url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-mac.tgz";
+
sha256 = "5ef3512c2bbdd45ef35921c1a0ba109b45bd9dad88311750196aa689262258b6";
};
sourceRoot = name;
-
buildInputs = [ makeWrapper ];
+
nativeBuildInputs = [ makeWrapper ];
+
+
patches = [ ./nexus-bin.patch ];
+
+
postPatch = ''
+
substituteInPlace bin/nexus.vmoptions \
+
--replace ../sonatype-work/nexus3 /run/sonatype-work/nexus3 \
+
--replace etc/karaf $out/etc/karaf \
+
--replace =. =$out
+
'';
+
+
installPhase = ''
+
runHook preInstall
+
+
mkdir -p $out
+
cp -rfv * .install4j $out
+
rm -fv $out/bin/nexus.bat
+
+
runHook postInstall
+
'';
-
installPhase =
-
''
-
mkdir -p $out
-
cp -rfv * $out
-
rm -fv $out/bin/nexus.bat
-
'';
+
postInstall = ''
+
wrapProgram $out/bin/nexus \
+
--set JAVA_HOME ${jre} \
+
--set ALTERNATIVE_NAME "nexus" \
+
--prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}"
+
'';
meta = with stdenv.lib; {
description = "Repository manager for binary software components";
homepage = http://www.sonatype.org/nexus;
license = licenses.epl10;
platforms = platforms.all;
-
maintainers = [ maintainers.aespinosa ];
+
maintainers = with maintainers; [ aespinosa ironpinguin ];
};
}
+54
pkgs/development/tools/repository-managers/nexus/nexus-bin.patch
···
+
--- nexus-3.5.1-02/bin/nexus 2017-08-18 17:51:08.000000000 +0200
+
+++ nexus 2017-08-31 12:41:01.271475645 +0200
+
@@ -72,7 +72,7 @@
+
fi
+
db_new_file=${db_file}_new
+
if [ -f "$db_file" ]; then
+
- awk '$1 != "'"$test_dir"'" {print $0}' $db_file > $db_new_file
+
+ awk '$1 != "'"$test_dir"'" {print $scriptname}' $db_file > $db_new_file
+
rm "$db_file"
+
mv "$db_new_file" "$db_file"
+
fi
+
@@ -236,7 +236,7 @@
+
+
unpack_file() {
+
if [ -f "$1" ]; then
+
- jar_file=`echo "$1" | awk '{ print substr($0,1,length-5) }'`
+
+ jar_file=`echo "$1" | awk '{ print substr($scriptname,1,length-5) }'`
+
bin/unpack200 -r "$1" "$jar_file"
+
+
if [ $? -ne 0 ]; then
+
@@ -360,8 +360,14 @@
+
+
old_pwd=`pwd`
+
+
-progname=`basename "$0"`
+
-linkdir=`dirname "$0"`
+
+scriptname=$0
+
+
+
+if [ ! -z "$ALTERNATIVE_NAME" ]; then
+
+ scriptname=`dirname "$0"`"/"$ALTERNATIVE_NAME
+
+fi
+
+
+
+progname=`basename "$scriptname"`
+
+linkdir=`dirname "$scriptname"`
+
+
cd "$linkdir"
+
prg="$progname"
+
@@ -522,7 +528,6 @@
+
+
$INSTALL4J_JAVA_PREFIX nohup "$app_java_home/bin/java" -server -Dinstall4j.jvmDir="$app_java_home" -Dexe4j.moduleName="$prg_dir/$progname" "-XX:+UnlockDiagnosticVMOptions" "-Dinstall4j.launcherId=245" "-Dinstall4j.swt=false" "$vmov_1" "$vmov_2" "$vmov_3" "$vmov_4" "$vmov_5" $INSTALL4J_ADD_VM_PARAMS -classpath "$local_classpath" com.install4j.runtime.launcher.UnixLauncher start 9d17dc87 "" "" org.sonatype.nexus.karaf.NexusMain > /dev/null 2>&1 &
+
+
-
+
;;
+
start-launchd)
+
echo "Starting nexus"
+
@@ -569,7 +574,7 @@
+
+
;;
+
*)
+
- echo "Usage: $0 {start|stop|run|run-redirect|status|restart|force-reload}"
+
+ echo "Usage: $scriptname {start|stop|run|run-redirect|status|restart|force-reload}"
+
exit 1
+
;;
+
esac