diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/repository-managers')
3 files changed, 108 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix new file mode 100644 index 000000000000..ffd9774ee447 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/repository-managers/nexus/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, makeWrapper, jre_headless, gawk }: + +stdenv.mkDerivation rec { + name = "nexus-${version}"; + version = "3.16.1-02"; + + src = fetchurl { + url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-unix.tar.gz"; + sha256 = "0nfcpsb7byykiwrdz01c99a6hr5ww2d4471spzpgs9i64kbjj7ln"; + }; + + sourceRoot = name; + + nativeBuildInputs = [ makeWrapper ]; + + patches = [ ./nexus-bin.patch ./nexus-vm-opts.patch ]; + + postPatch = '' + substituteInPlace bin/nexus.vmoptions \ + --replace etc/karaf $out/etc/karaf \ + --replace =. =$out + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -rfv * .install4j $out + rm -fv $out/bin/nexus.bat + + wrapProgram $out/bin/nexus \ + --set JAVA_HOME ${jre_headless} \ + --set ALTERNATIVE_NAME "nexus" \ + --prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}" + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Repository manager for binary software components"; + homepage = http://www.sonatype.org/nexus; + license = licenses.epl10; + platforms = platforms.all; + maintainers = with maintainers; [ aespinosa ironpinguin ma27 zaninime ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/repository-managers/nexus/nexus-bin.patch b/nixpkgs/pkgs/development/tools/repository-managers/nexus/nexus-bin.patch new file mode 100644 index 000000000000..14bcc973aae7 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/repository-managers/nexus/nexus-bin.patch @@ -0,0 +1,48 @@ +diff --git a/bin/nexus b/bin/nexus +index d06cb44..37c606e 100755 +--- a/bin/nexus ++++ b/bin/nexus +@@ -88,7 +88,7 @@ create_db_entry() { + fi + db_new_file=${db_file}_new + if [ -f "$db_file" ]; then +- awk '$2 != "'"$test_dir"'" {print $0}' $db_file > $db_new_file ++ awk '$2 != "'"$test_dir"'" {print $scriptname}' $db_file > $db_new_file + rm "$db_file" + mv "$db_new_file" "$db_file" + fi +@@ -246,7 +246,7 @@ read_vmoptions() { + + 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 +@@ -377,9 +377,14 @@ fi + + 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" + +@@ -590,7 +595,7 @@ return_code=$? + + ;; + *) +- 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 diff --git a/nixpkgs/pkgs/development/tools/repository-managers/nexus/nexus-vm-opts.patch b/nixpkgs/pkgs/development/tools/repository-managers/nexus/nexus-vm-opts.patch new file mode 100644 index 000000000000..744b4b96a56b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/repository-managers/nexus/nexus-vm-opts.patch @@ -0,0 +1,14 @@ +diff --git a/bin/nexus b/bin/nexus +index e7ed3fb..8db766b 100755 +--- a/bin/nexus ++++ b/bin/nexus +@@ -440,7 +440,8 @@ add_class_path "$app_home/lib/boot/org.apache.karaf.diagnostic.boot-4.0.9.jar" + add_class_path "$app_home/lib/boot/org.apache.karaf.jaas.boot-4.0.9.jar" + + vmoptions_val="" +-read_vmoptions "$prg_dir/$progname.vmoptions" ++VM_OPTS=${VM_OPTS_FILE:-"$prg_dir/$progname.vmoptions"} ++read_vmoptions "$VM_OPTS" + INSTALL4J_ADD_VM_PARAMS="$INSTALL4J_ADD_VM_PARAMS $vmoptions_val" + + |