evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ma / mars-mips / package.nix
blobd5489e7e2537a83f691d9feed3c82fe2caa7260c
1 { lib
2 , stdenv
3 , fetchurl
4 , makeBinaryWrapper
5 , copyDesktopItems
6 , makeDesktopItem
7 , desktopToDarwinBundle
8 , unzip
9 , imagemagick
10 , jre
13 stdenv.mkDerivation (finalAttrs: {
14   pname = "mars-mips";
15   version = "4.5";
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   };
22   dontUnpack = true;
24   nativeBuildInputs = [
25     makeBinaryWrapper
26     copyDesktopItems
27     unzip
28     imagemagick
29   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
30     desktopToDarwinBundle
31   ];
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   ];
44   installPhase = ''
45     runHook preInstall
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"
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
59     runHook postInstall
60   '';
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   };