at 24.11-pre 71 lines 1.8 kB view raw
1{ lib 2, stdenv 3, fetchurl 4, makeBinaryWrapper 5, copyDesktopItems 6, makeDesktopItem 7, desktopToDarwinBundle 8, unzip 9, imagemagick 10, jre 11}: 12 13stdenv.mkDerivation (finalAttrs: { 14 pname = "mars-mips"; 15 version = "4.5"; 16 17 src = fetchurl { 18 url = "https://courses.missouristate.edu/KenVollmar/MARS/MARS_${lib.replaceStrings ["."] ["_"] finalAttrs.version}_Aug2014/Mars${lib.replaceStrings ["."] ["_"] finalAttrs.version}.jar"; 19 hash = "sha256-rDQLZ2uitiJGud935i+BrURHvP0ymrU5cWvNCZULcJY="; 20 }; 21 22 dontUnpack = true; 23 24 nativeBuildInputs = [ 25 makeBinaryWrapper 26 copyDesktopItems 27 unzip 28 imagemagick 29 ] ++ lib.optionals stdenv.isDarwin [ 30 desktopToDarwinBundle 31 ]; 32 33 desktopItems = [ 34 (makeDesktopItem { 35 name = "mars"; 36 desktopName = "MARS"; 37 exec = "Mars"; 38 icon = "mars"; 39 comment = finalAttrs.meta.description; 40 categories = [ "Development" "IDE" ]; 41 }) 42 ]; 43 44 installPhase = '' 45 runHook preInstall 46 47 export JAR=$out/share/java/mars/Mars.jar 48 install -Dm444 $src $JAR 49 makeWrapper ${jre}/bin/java $out/bin/Mars \ 50 --add-flags "-jar $JAR" 51 52 unzip $src images/MarsThumbnail.gif 53 for size in 16 24 32 48 64 128 256 512 54 do 55 mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps 56 convert -resize "$size"x"$size" images/MarsThumbnail.gif $out/share/icons/hicolor/"$size"x"$size"/apps/mars.png 57 done 58 59 runHook postInstall 60 ''; 61 62 meta = { 63 description = "An IDE for programming in MIPS assembly language intended for educational-level use"; 64 mainProgram = "Mars"; 65 homepage = "https://courses.missouristate.edu/KenVollmar/MARS/"; 66 sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; 67 license = lib.licenses.mit; 68 maintainers = with lib.maintainers; [ emilytrau ]; 69 platforms = lib.platforms.all; 70 }; 71})