From d6a812332ce42f34a39618d36cc85b96d5e70d08 Mon Sep 17 00:00:00 2001 From: Danny Wilson Date: Fri, 8 Feb 2013 15:19:33 +0100 Subject: [PATCH] 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(-) diff --git a/pkgs/development/libraries/java/jzmq/default.nix b/pkgs/development/libraries/java/jzmq/default.nix index 9130e02e1d7..6208090ad51 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 083ad5e6439..b60d9fe62b2 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 2710098375a..09c498a14bd 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 { };