about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/java/cup
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/java/cup')
-rw-r--r--nixpkgs/pkgs/development/libraries/java/cup/default.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/java/cup/javacup-0.11b_beta20160615-build-xml-git.patch38
2 files changed, 76 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/java/cup/default.nix b/nixpkgs/pkgs/development/libraries/java/cup/default.nix
new file mode 100644
index 000000000000..f7732ff637af
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/java/cup/default.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, fetchurl, jdk, ant } :
+
+stdenv.mkDerivation rec {
+  pname = "java-cup";
+  version = "11b-20160615";
+
+  src = fetchurl {
+    url = "http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${version}.tar.gz";
+    sha256 = "1ymz3plngxclh7x3xr31537rvvak7lwyd0qkmnl1mkj5drh77rz0";
+  };
+
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ jdk ant ];
+
+  patches = [ ./javacup-0.11b_beta20160615-build-xml-git.patch ];
+
+  buildPhase = "ant";
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/{java,java-cup}}
+    cp dist/java-cup-11b.jar $out/share/java-cup/
+    cp dist/java-cup-11b-runtime.jar $out/share/java/
+    cat > $out/bin/javacup <<EOF
+    #! $shell
+    exec ${jdk.jre}/bin/java -jar $out/share/java-cup/java-cup-11b.jar "\$@"
+    EOF
+    chmod a+x $out/bin/javacup
+  '';
+
+  meta = {
+    homepage = "http://www2.cs.tum.edu/projects/cup/";
+    description = "LALR parser generator for Java";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.romildo ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/java/cup/javacup-0.11b_beta20160615-build-xml-git.patch b/nixpkgs/pkgs/development/libraries/java/cup/javacup-0.11b_beta20160615-build-xml-git.patch
new file mode 100644
index 000000000000..f2054ee9d4d3
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/java/cup/javacup-0.11b_beta20160615-build-xml-git.patch
@@ -0,0 +1,38 @@
+--- javacup/build.xml.orig	2016-06-15 07:10:15.000000000 -0300
++++ javacup/build.xml	2016-07-17 08:46:46.632722844 -0300
+@@ -21,26 +21,6 @@
+     <mkdir dir="${dist}" />
+     <loadfile property="cupversion" srcFile="version.txt" failonerror="false" />
+     <property name="cupversion" value="custombuild" unless:set="cupversion"/>
+-    <exec executable="git" outputproperty="gitversion">
+-      <arg value="log"/>
+-      <arg value="-1"/>
+-      <arg value="--format=%h"/>
+-    </exec>
+-    <exec executable="git" outputproperty="changed">
+-      <arg value="status"/>
+-      <arg value="--porcelain"/>
+-      <redirector>
+-	<outputfilterchain>
+-	<linecontainsregexp>
+-	  <regexp pattern='^M.*'/>
+-	</linecontainsregexp>
+-	<tokenfilter>
+-	  <replaceregex pattern=".*" replace="modifications based on "/>
+-	</tokenfilter>
+-	</outputfilterchain>
+-	</redirector>
+-    </exec>
+-    <property name="svnversion">${changed}${gitversion}</property>
+   </target>
+ 
+   <property environment="env" />
+@@ -79,7 +59,7 @@
+     <copy todir="${java}"><fileset dir="${src}"></fileset></copy>
+     <replace file="${java}/java_cup/version.java"
+        token="+ version_str"
+-       value='+ "v0.11b ${cupversion} (GIT ${svnversion})"'>
++       value='+ "v0.11b ${cupversion}"'>
+     </replace>
+     <javac srcdir="${java}" destdir="${classes}" verbose="off" listfiles="off" debug="on" source="1.8" target="1.8">
+       <classpath refid="libraries"/>