From fcf221e66d57fd9c11ea3744c7c6f1bac5159072 Mon Sep 17 00:00:00 2001 From: danbst Date: Wed, 7 Sep 2016 15:47:01 +0000 Subject: [PATCH 1/6] tomcat: cleanup package with callPackages --- pkgs/servers/http/tomcat/6.0.nix | 6 ---- pkgs/servers/http/tomcat/7.0.nix | 6 ---- pkgs/servers/http/tomcat/8.0.nix | 6 ---- pkgs/servers/http/tomcat/builder.sh | 20 ------------ pkgs/servers/http/tomcat/default.nix | 47 ++++++++++++++++++++++++++++ pkgs/servers/http/tomcat/recent.nix | 25 --------------- pkgs/top-level/all-packages.nix | 9 +++--- 7 files changed, 51 insertions(+), 68 deletions(-) delete mode 100644 pkgs/servers/http/tomcat/6.0.nix delete mode 100644 pkgs/servers/http/tomcat/7.0.nix delete mode 100644 pkgs/servers/http/tomcat/8.0.nix delete mode 100644 pkgs/servers/http/tomcat/builder.sh create mode 100644 pkgs/servers/http/tomcat/default.nix delete mode 100644 pkgs/servers/http/tomcat/recent.nix diff --git a/pkgs/servers/http/tomcat/6.0.nix b/pkgs/servers/http/tomcat/6.0.nix deleted file mode 100644 index c01e5065764cdb..00000000000000 --- a/pkgs/servers/http/tomcat/6.0.nix +++ /dev/null @@ -1,6 +0,0 @@ -import ./recent.nix - { - versionMajor = "6"; - versionMinor = "0.45"; - sha256 = "0ba8h86padpk23xmscp7sg70g0v8ji2jbwwriz59hxqy5zhd76wg"; - } diff --git a/pkgs/servers/http/tomcat/7.0.nix b/pkgs/servers/http/tomcat/7.0.nix deleted file mode 100644 index b38f4353cc45f4..00000000000000 --- a/pkgs/servers/http/tomcat/7.0.nix +++ /dev/null @@ -1,6 +0,0 @@ -import ./recent.nix - { - versionMajor = "7"; - versionMinor = "0.68"; - sha256 = "1q5qgci5ia25zqa1k1n2xzarsgk1317ya89mfgg0fmi65x1046ic"; - } diff --git a/pkgs/servers/http/tomcat/8.0.nix b/pkgs/servers/http/tomcat/8.0.nix deleted file mode 100644 index 00460179667261..00000000000000 --- a/pkgs/servers/http/tomcat/8.0.nix +++ /dev/null @@ -1,6 +0,0 @@ -import ./recent.nix - { - versionMajor = "8"; - versionMinor = "0.32"; - sha256 = "1f59x5z8qf4rzy49m8d5ifi4h1ghkz5r33l3i67sib414h7jc8vy"; - } diff --git a/pkgs/servers/http/tomcat/builder.sh b/pkgs/servers/http/tomcat/builder.sh deleted file mode 100644 index 5f858d1cff8ec2..00000000000000 --- a/pkgs/servers/http/tomcat/builder.sh +++ /dev/null @@ -1,20 +0,0 @@ -source $stdenv/setup || exit 1 - -tar zxf $src -cd jakarta-tomcat*/bin - -# install jsvc - -tar xvfz jsvc.tar.gz -cd jsvc-src -sh ./configure --with-java=$jdk -make -cp jsvc .. -cd .. - -# done jsvc - -cd ../.. - -mkdir $out -mv jakarta-tomcat* $out diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix new file mode 100644 index 00000000000000..3653679aa01290 --- /dev/null +++ b/pkgs/servers/http/tomcat/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl }: + +let + + common = { versionMajor, versionMinor, sha256 } @ args: stdenv.mkDerivation (rec { + name = "apache-tomcat-${version}"; + version = "${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://apache/tomcat/tomcat-${versionMajor}/v${version}/bin/${name}.tar.gz"; + inherit sha256; + }; + + installPhase = + '' + mkdir $out + mv * $out + ''; + + meta = { + homepage = http://tomcat.apache.org/; + description = "An implementation of the Java Servlet and JavaServer Pages technologies"; + platforms = with stdenv.lib.platforms; all; + }; + }); + +in { + + tomcat6 = common { + versionMajor = "6"; + versionMinor = "0.45"; + sha256 = "0ba8h86padpk23xmscp7sg70g0v8ji2jbwwriz59hxqy5zhd76wg"; + }; + + tomcat7 = common { + versionMajor = "7"; + versionMinor = "0.68"; + sha256 = "1q5qgci5ia25zqa1k1n2xzarsgk1317ya89mfgg0fmi65x1046ic"; + }; + + tomcat8 = common { + versionMajor = "8"; + versionMinor = "0.32"; + sha256 = "1f59x5z8qf4rzy49m8d5ifi4h1ghkz5r33l3i67sib414h7jc8vy"; + }; + +} diff --git a/pkgs/servers/http/tomcat/recent.nix b/pkgs/servers/http/tomcat/recent.nix deleted file mode 100644 index 02be47a6022153..00000000000000 --- a/pkgs/servers/http/tomcat/recent.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ versionMajor, versionMinor, sha256 }: -{ stdenv, fetchurl }: - -let version = "${versionMajor}.${versionMinor}"; in - -stdenv.mkDerivation rec { - name = "apache-tomcat-${version}"; - - src = fetchurl { - url = "mirror://apache/tomcat/tomcat-${versionMajor}/v${version}/bin/${name}.tar.gz"; - inherit sha256; - }; - - installPhase = - '' - mkdir $out - mv * $out - ''; - - meta = { - homepage = http://tomcat.apache.org/; - description = "An implementation of the Java Servlet and JavaServer Pages technologies"; - platforms = with stdenv.lib.platforms; all; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f32f1a44f2b21..3418f7f6b8d4b9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10742,11 +10742,10 @@ in slurm-llnl-full = appendToName "full" (callPackage ../servers/computing/slurm { }); - tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { }; - - tomcat7 = callPackage ../servers/http/tomcat/7.0.nix { }; - - tomcat8 = callPackage ../servers/http/tomcat/8.0.nix { }; + inherit (callPackages ../servers/http/tomcat { }) + tomcat6 + tomcat7 + tomcat8; tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; From e21e3a0489565e0ed803597cda3c5ebc7f764cdf Mon Sep 17 00:00:00 2001 From: danbst Date: Wed, 7 Sep 2016 15:58:08 +0000 Subject: [PATCH 2/6] tomcat: split default webapps to separate output (~6M) --- nixos/modules/services/web-servers/tomcat.nix | 4 ++-- pkgs/servers/http/tomcat/default.nix | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index c3be20b41e2954..c1166b69768126 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -74,8 +74,8 @@ in webapps = mkOption { type = types.listOf types.package; - default = [ tomcat ]; - defaultText = "[ tomcat ]"; + default = [ tomcat.webapps ]; + defaultText = "[ tomcat.webapps ]"; description = "List containing WAR files or directories with WAR files which are web applications to be deployed on Tomcat"; }; diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix index 3653679aa01290..70d39e7216e8fe 100644 --- a/pkgs/servers/http/tomcat/default.nix +++ b/pkgs/servers/http/tomcat/default.nix @@ -11,10 +11,13 @@ let inherit sha256; }; + outputs = [ "out" "webapps" ]; installPhase = '' mkdir $out mv * $out + mkdir -p $webapps/webapps + mv $out/webapps $webapps/ ''; meta = { From 1f22fbbe7bfd425e4e92cb2da9aecf7c0ff9d6e1 Mon Sep 17 00:00:00 2001 From: danbst Date: Wed, 7 Sep 2016 16:11:15 +0000 Subject: [PATCH 3/6] tomcat service: call shutdown in preStop, because postStop is too late (systemd kills process) --- nixos/modules/services/web-servers/tomcat.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index c1166b69768126..acaa66c0d39fb3 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -352,7 +352,7 @@ in ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c 'CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${cfg.jdk} JAVA_OPTS="${cfg.javaOpts}" CATALINA_OPTS="${cfg.catalinaOpts}" ${tomcat}/bin/startup.sh' ''; - postStop = '' + preStop = '' echo "Stopping tomcat..." CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${cfg.jdk} ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c ${tomcat}/bin/shutdown.sh ''; From e6cff0f68a7c12522583d72d750081007cff6f72 Mon Sep 17 00:00:00 2001 From: danbst Date: Wed, 7 Sep 2016 16:20:54 +0000 Subject: [PATCH 4/6] tomcat: 7.0.68 -> 7.0.70, 8.0.32 -> 8.0.37, init 8.5.5, init 9.0.0.M10 --- pkgs/servers/http/tomcat/default.nix | 20 ++++++++++++++++---- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix index 70d39e7216e8fe..58272776b3d82c 100644 --- a/pkgs/servers/http/tomcat/default.nix +++ b/pkgs/servers/http/tomcat/default.nix @@ -37,14 +37,26 @@ in { tomcat7 = common { versionMajor = "7"; - versionMinor = "0.68"; - sha256 = "1q5qgci5ia25zqa1k1n2xzarsgk1317ya89mfgg0fmi65x1046ic"; + versionMinor = "0.70"; + sha256 = "0x4chqb7kkmadmhf2hlank856hw2vpgjl14fak74ybimlcb3dwqk"; }; tomcat8 = common { versionMajor = "8"; - versionMinor = "0.32"; - sha256 = "1f59x5z8qf4rzy49m8d5ifi4h1ghkz5r33l3i67sib414h7jc8vy"; + versionMinor = "0.37"; + sha256 = "0f9d4yxjzwdrayj5l3jyiclnmpb5lffvmsnp54qpf6m3gm7cj5i6"; }; + tomcat85 = common { + versionMajor = "8"; + versionMinor = "5.5"; + sha256 = "0idfxjrw5q45f531gyjnv6xjkbj9nhy2v1w4z7558z96230a0fqj"; + }; + + tomcatUnstable = common { + versionMajor = "9"; + versionMinor = "0.0.M10"; + sha256 = "0p3pqwz9zjvr9w73divsyaa53mbazf0icxfs06wvgxsvkbgj5gq9"; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3418f7f6b8d4b9..37454d0570e837 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10745,7 +10745,9 @@ in inherit (callPackages ../servers/http/tomcat { }) tomcat6 tomcat7 - tomcat8; + tomcat8 + tomcat85 + tomcatUnstable; tomcat_mysql_jdbc = callPackage ../servers/http/tomcat/jdbc/mysql { }; From 534db51232939c959345fdab3b0dc0f3069cc78c Mon Sep 17 00:00:00 2001 From: danbst Date: Thu, 8 Sep 2016 08:47:04 +0000 Subject: [PATCH 5/6] tomcat: add danbst as maintainer --- lib/maintainers.nix | 1 + nixos/modules/services/web-servers/tomcat.nix | 4 ++++ pkgs/servers/http/tomcat/default.nix | 8 +++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 006a5d36b67ee2..0e5740a6c32560 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -99,6 +99,7 @@ cwoac = "Oliver Matthews "; DamienCassou = "Damien Cassou "; dasuxullebt = "Christoph-Simon Senjak "; + danbst = "Danylo Hlynskyi "; davidak = "David Kleuker "; davidrusu = "David Rusu "; dbohdan = "Danyil Bohdan "; diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index acaa66c0d39fb3..cbd7f7fee99b82 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -10,6 +10,10 @@ in { + meta = { + maintainers = with maintainers; [ danbst ]; + }; + ###### interface options = { diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix index 58272776b3d82c..35ac3623e312e8 100644 --- a/pkgs/servers/http/tomcat/default.nix +++ b/pkgs/servers/http/tomcat/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, lib, fetchurl }: let @@ -21,9 +21,11 @@ let ''; meta = { - homepage = http://tomcat.apache.org/; + homepage = https://tomcat.apache.org/; description = "An implementation of the Java Servlet and JavaServer Pages technologies"; - platforms = with stdenv.lib.platforms; all; + platforms = with lib.platforms; all; + maintainers = with lib.maintainers; [ danbst ]; + license = [ lib.licenses.asl20 ]; }; }); From a85347fa76beb4ddf0ffd621dc690e049c0796f8 Mon Sep 17 00:00:00 2001 From: danbst Date: Fri, 9 Sep 2016 02:14:43 +0000 Subject: [PATCH 6/6] tomcat service: bump default tomcat to 8.5 See migration changelogs at - 7.0 -> 8.0: https://tomcat.apache.org/migration-8.html - 8.0 -> 8.5: https://tomcat.apache.org/migration-85.html --- nixos/modules/services/web-servers/tomcat.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index cbd7f7fee99b82..fa6b4c0629d7ad 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -27,9 +27,9 @@ in package = mkOption { type = types.package; - default = pkgs.tomcat7; - defaultText = "pkgs.tomcat7"; - example = lib.literalExample "pkgs.tomcat8"; + default = pkgs.tomcat85; + defaultText = "pkgs.tomcat85"; + example = lib.literalExample "pkgs.tomcatUnstable"; description = '' Which tomcat package to use. '';