From 04a232f28b1f22b01da157f8d09e2f56fafa1cbc Mon Sep 17 00:00:00 2001 From: Danny Wilson Date: Thu, 7 Feb 2013 15:32:10 +0100 Subject: Add storm package. --- pkgs/servers/computing/storm/default.nix | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pkgs/servers/computing/storm/default.nix (limited to 'pkgs/servers') diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix new file mode 100644 index 000000000000..083ad5e64391 --- /dev/null +++ b/pkgs/servers/computing/storm/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, unzip, jzmq, jdk, lib, python}: + +stdenv.mkDerivation { + name = "storm-0.8.2"; + src = fetchurl { + url = https://dl.dropbox.com/u/133901206/storm-0.8.2.zip; + sha256 = "8761aea0b54e5bab4a68b259bbe6b5b2f8226204488b5559eba57a0c458b2bbc"; + }; + + buildInputs = [ unzip jzmq ]; + + installPhase = '' + # Remove junk + rm -f lib/jzmq* + mkdir -p /var/log/storm + mv bin/storm $out/bin/ + rm -R bin + + # Fix shebang header for python scripts + sed -i -e "s|#!/usr/bin/.*python|#!${python}/bin/python|" bin/storm; + + mkdir -p $out + cp -av * $out + ln -s /var/log/storm $out/logs + ''; + + dontStrip = true; + + meta = { + homepage = "http://storm-project.net"; + description = "Storm, free and open source distributed realtime computation system."; + license = "Eclipse Public License 1.0"; + maintainers = [ lib.maintainers.blue ]; + }; +} -- cgit 1.4.1 From d6a812332ce42f34a39618d36cc85b96d5e70d08 Mon Sep 17 00:00:00 2001 From: Danny Wilson Date: Fri, 8 Feb 2013 15:19:33 +0100 Subject: Make Storm conf and log path configurable via symlinks. - The bin/storm script makes too many assumptions about file locations and java classpath that I couldn't figure out a better way. Fix jzmq build on NixOS: java source was treated as ASCII. --- pkgs/development/libraries/java/jzmq/default.nix | 9 ++++++--- pkgs/servers/computing/storm/default.nix | 12 +++++++----- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 14 insertions(+), 9 deletions(-) (limited to 'pkgs/servers') diff --git a/pkgs/development/libraries/java/jzmq/default.nix b/pkgs/development/libraries/java/jzmq/default.nix index 9130e02e1d76..6208090ad51d 100644 --- a/pkgs/development/libraries/java/jzmq/default.nix +++ b/pkgs/development/libraries/java/jzmq/default.nix @@ -11,9 +11,12 @@ stdenv.mkDerivation rec { buildInputs = [ automake autoconf libtool pkgconfig zeromq2 jdk ]; preConfigurePhases = ["./autogen.sh"]; - preConfigure = if stdenv.system == "x86_64-darwin" then '' - sed -i -e 's~/Headers~/include~' -e 's~_JNI_INC_SUBDIRS=\".*\"~_JNI_INC_SUBDIRS=\"darwin\"~' configure - '' else ""; + preConfigure = '' + sed -i -e 's|(JAVAC)|(JAVAC) -encoding utf8|' src/Makefile.in + ${if stdenv.system == "x86_64-darwin" then + '' sed -i -e 's~/Headers~/include~' -e 's~_JNI_INC_SUBDIRS=\".*\"~_JNI_INC_SUBDIRS=\"darwin\"~' configure + '' else ""} + ''; maintainers = [ stdenv.lib.maintainers.blue ]; diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix index 083ad5e64391..b60d9fe62b25 100644 --- a/pkgs/servers/computing/storm/default.nix +++ b/pkgs/servers/computing/storm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, jzmq, jdk, lib, python}: +{ stdenv, fetchurl, unzip, jzmq, jdk, lib, python, logsDir, confDir }: stdenv.mkDerivation { name = "storm-0.8.2"; @@ -12,16 +12,18 @@ stdenv.mkDerivation { installPhase = '' # Remove junk rm -f lib/jzmq* - mkdir -p /var/log/storm + mkdir -p $out/bin mv bin/storm $out/bin/ - rm -R bin + rm -R bin conf logs # Fix shebang header for python scripts - sed -i -e "s|#!/usr/bin/.*python|#!${python}/bin/python|" bin/storm; + sed -i -e "s|#!/usr/bin/.*python|#!${python}/bin/python|" $out/bin/storm; mkdir -p $out cp -av * $out - ln -s /var/log/storm $out/logs + cd $out; + ${if logsDir != "" then ''ln -s ${logsDir} logs'' else ""} + ${if confDir != "" then ''ln -s ${confDir} conf'' else ""} ''; dontStrip = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2710098375a3..09c498a14bd3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6170,7 +6170,7 @@ let thttpd = callPackage ../servers/http/thttpd { }; - storm = callPackage ../servers/computing/storm { }; + storm = callPackage ../servers/computing/storm { confDir = "/etc/storm"; logsDir = "/var/log"; }; tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { }; -- cgit 1.4.1 From c4b1bbc1c8f75a3378c32385c2c25c86300a1db8 Mon Sep 17 00:00:00 2001 From: Danny Wilson Date: Thu, 14 Feb 2013 09:58:49 +0100 Subject: Improved Storm package. - Add config to defaults.yaml, to allow topologies to include their own storm.yaml. - Symlink extra jars in lib/ since it's nearly impossible to add a classpath to Storm's config. - Include native jzmq library in java.library.path - Use package default args. --- pkgs/servers/computing/storm/default.nix | 22 +++++++++++++++++----- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) (limited to 'pkgs/servers') diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix index b60d9fe62b25..2b7efff5210e 100644 --- a/pkgs/servers/computing/storm/default.nix +++ b/pkgs/servers/computing/storm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, jzmq, jdk, lib, python, logsDir, confDir }: +{ stdenv, fetchurl, zip, unzip, jzmq, jdk, lib, python, logsDir ? "", confFile ? "", extraLibraryPaths ? [], extraJars ? [] }: stdenv.mkDerivation { name = "storm-0.8.2"; @@ -7,7 +7,7 @@ stdenv.mkDerivation { sha256 = "8761aea0b54e5bab4a68b259bbe6b5b2f8226204488b5559eba57a0c458b2bbc"; }; - buildInputs = [ unzip jzmq ]; + buildInputs = [ zip unzip jzmq ]; installPhase = '' # Remove junk @@ -19,11 +19,23 @@ stdenv.mkDerivation { # Fix shebang header for python scripts sed -i -e "s|#!/usr/bin/.*python|#!${python}/bin/python|" $out/bin/storm; - mkdir -p $out + mkdir -p $out/conf cp -av * $out + cd $out; - ${if logsDir != "" then ''ln -s ${logsDir} logs'' else ""} - ${if confDir != "" then ''ln -s ${confDir} conf'' else ""} + ${if logsDir != "" then ''ln -s ${logsDir} logs'' else ""} + + # Extract, delete from zip; and optionally append to defaults.yaml + unzip storm-*.jar defaults.yaml; + zip -d storm-*.jar defaults.yaml; + echo 'java.library.path: "${jzmq}/lib:${lib.concatStringsSep ":" extraLibraryPaths}"' >> defaults.yaml; + ${if confFile != "" then ''cat ${confFile} >> defaults.yaml'' else ""} + mv defaults.yaml conf; + + # Link to jzmq jar and extra jars + cd lib; + ln ${jzmq}/share/java/*.jar; + ${lib.concatMapStrings (jar: "ln -s ${jar};\n") extraJars} ''; dontStrip = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09c498a14bd3..2710098375a3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6170,7 +6170,7 @@ let thttpd = callPackage ../servers/http/thttpd { }; - storm = callPackage ../servers/computing/storm { confDir = "/etc/storm"; logsDir = "/var/log"; }; + storm = callPackage ../servers/computing/storm { }; tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { }; -- cgit 1.4.1 From 2ff0b8dc149cb8ffbf14a1a05f0c85ae8d071b3f Mon Sep 17 00:00:00 2001 From: Danny Wilson Date: Mon, 2 Sep 2013 18:48:29 +0200 Subject: I henceforth will maintain as my Github username. --- pkgs/lib/maintainers.nix | 2 +- pkgs/servers/computing/storm/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'pkgs/servers') diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix index fa1cbe947999..1b7d8a8e2225 100644 --- a/pkgs/lib/maintainers.nix +++ b/pkgs/lib/maintainers.nix @@ -17,7 +17,6 @@ bjornfor = "Bjørn Forsman "; bluescreen303 = "Mathijs Kwik "; bodil = "Bodil Stokke "; - blue = "Danny Wilson "; chaoflow = "Florian Friesdorf "; coconnor = "Corey O'Connor "; eelco = "Eelco Dolstra "; @@ -54,6 +53,7 @@ urkud = "Yury G. Kudryashov "; vcunat = "Vladimír Čunát "; viric = "Lluís Batlle i Rossell "; + vizanto = "Danny Wilson "; winden = "Antonio Vargas Gonzalez "; z77z = "Marco Maggesi "; } diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix index 2b7efff5210e..4fddeef643ff 100644 --- a/pkgs/servers/computing/storm/default.nix +++ b/pkgs/servers/computing/storm/default.nix @@ -44,6 +44,6 @@ stdenv.mkDerivation { homepage = "http://storm-project.net"; description = "Storm, free and open source distributed realtime computation system."; license = "Eclipse Public License 1.0"; - maintainers = [ lib.maintainers.blue ]; + maintainers = [ lib.maintainers.vizanto ]; }; } -- cgit 1.4.1