diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix new file mode 100644 index 000000000000..b1ff7064003d --- /dev/null +++ b/pkgs/development/web/grails/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchurl, unzip +# If jdkPath is null, require JAVA_HOME in runtime environment, else store +# JAVA_HOME=${jdkPath} into grails. +, jdkPath ? null +, coreutils, ncurses, gnused, gnugrep # for purity +}: + +let + binpath = stdenv.lib.makeSearchPath "bin" + ([ coreutils ncurses gnused gnugrep ] + ++ stdenv.lib.optional (jdkPath != null) jdkPath); +in +stdenv.mkDerivation rec { + name = "grails-2.4.3"; + + src = fetchurl { + url = "http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/${name}.zip"; + sha256 = "0lqkv0hsiiqa36pfnq5wv7s7nsp9xadmh1ri039bn0llpfck4742"; + }; + + buildInputs = [ unzip ]; + + buildPhase = "true"; + + installPhase = '' + mkdir -p "$out" + cp -vr . "$out" + # Remove (for now) uneeded Windows .bat files + rm -f "$out"/bin/*.bat + # Improve purity + sed -i -e '2iPATH=${binpath}:\$PATH' "$out"/bin/grails + '' + stdenv.lib.optionalString (jdkPath != null) '' + # Inject JDK path into grails + sed -i -e '2iJAVA_HOME=${jdkPath}' "$out"/bin/grails + ''; + + preferLocalBuild = true; + + meta = with stdenv.lib; { + description = "Full stack, web application framework for the JVM"; + longDescription = '' + Grails is an Open Source, full stack, web application framework for the + JVM. It takes advantage of the Groovy programming language and convention + over configuration to provide a productive and stream-lined development + experience. + ''; + homepage = http://grails.org/; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f223974586d9..bb4c48148b67 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1240,6 +1240,10 @@ let grafx2 = callPackage ../applications/graphics/grafx2 {}; + grails = callPackage ../development/web/grails { + jdkPath = "${openjdk}/lib/openjdk"; + }; + graphviz = callPackage ../tools/graphics/graphviz { }; /* Readded by Michael Raskin. There are programs in the wild