at master 59 lines 1.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 ant, 6 jdk8, 7 makeWrapper, 8 stripJavaArchivesHook, 9}: 10let 11 jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 12in 13stdenv.mkDerivation (finalAttrs: { 14 pname = "java-cup"; 15 version = "11b-20160615"; 16 17 src = fetchurl { 18 url = "http://www2.cs.tum.edu/projects/cup/releases/java-cup-src-${finalAttrs.version}.tar.gz"; 19 hash = "sha256-4OdzYG5FzhqorROD5jk9U+2dzyhh5D76gZT1Z+kdv/o="; 20 }; 21 22 sourceRoot = "."; 23 24 patches = [ ./javacup-0.11b_beta20160615-build-xml-git.patch ]; 25 26 nativeBuildInputs = [ 27 ant 28 jdk 29 makeWrapper 30 stripJavaArchivesHook 31 ]; 32 33 buildPhase = '' 34 runHook preBuild 35 ant 36 runHook postBuild 37 ''; 38 39 installPhase = '' 40 runHook preInstall 41 42 install -Dm644 dist/java-cup-11b.jar -t $out/share/java-cup 43 install -Dm644 dist/java-cup-11b-runtime.jar -t $out/share/java 44 45 makeWrapper ${jdk.jre}/bin/java $out/bin/javacup \ 46 --add-flags "-jar $out/share/java-cup/java-cup-11b.jar" 47 48 runHook postInstall 49 ''; 50 51 meta = { 52 description = "LALR parser generator for Java"; 53 homepage = "http://www2.cs.tum.edu/projects/cup/"; 54 license = lib.licenses.mit; 55 mainProgram = "javacup"; 56 maintainers = [ lib.maintainers.romildo ]; 57 platforms = lib.platforms.all; 58 }; 59})