diff options
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r-- | pkgs/misc/emulators/caprice32/default.nix | 6 | ||||
-rw-r--r-- | pkgs/misc/emulators/ccemux/default.nix | 66 |
2 files changed, 69 insertions, 3 deletions
diff --git a/pkgs/misc/emulators/caprice32/default.nix b/pkgs/misc/emulators/caprice32/default.nix index c0c3b40f6b6..42b8e5229e9 100644 --- a/pkgs/misc/emulators/caprice32/default.nix +++ b/pkgs/misc/emulators/caprice32/default.nix @@ -3,14 +3,14 @@ stdenv.mkDerivation rec { repo = "caprice32"; - version = "unstable-2018-02-10"; - rev = "53de69543300f81af85df32cbd21bb5c68cab61e"; + version = "unstable-2018-03-05"; + rev = "317fe638111e245d67e301f6f295094d3c859a70"; name = "${repo}-${version}"; src = fetchFromGitHub { inherit rev repo; owner = "ColinPitrat"; - sha256 = "12yv56blm49qmshpk4mgc802bs51wv2ra87hmcbf2wxma39c45fy"; + sha256 = "1bywpmkizixcnr057k8zq9nlw0zhcmwkiriln0krgdcm7d3h9b86"; }; postPatch = "substituteInPlace cap32.cfg --replace /usr/local $out"; diff --git a/pkgs/misc/emulators/ccemux/default.nix b/pkgs/misc/emulators/ccemux/default.nix new file mode 100644 index 00000000000..bd2be99a284 --- /dev/null +++ b/pkgs/misc/emulators/ccemux/default.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, makeWrapper, jre +, useCCTweaked ? true +}: + +let + version = "1.1.0"; + rev = "a12239148332ca7a0b1c44a93e1585452d3631c9"; + + baseUrl = "https://emux.cc/versions/${stdenv.lib.substring 0 8 rev}/CCEmuX"; + jar = + if useCCTweaked + then fetchurl { + url = "${baseUrl}-cct.jar"; + sha256 = "1i767v3wnb8jsh7ciqqvw548pka1b8vl18k1rdv5dn21la6n0r1d"; + } + else fetchurl { + url = "${baseUrl}-cc.jar"; + sha256 = "0x9hs814ln193cwybd565mcj6vhnii4wirkiz9na7vcas0y5vmmq"; + }; + + desktopIcon = fetchurl { + url = "https://github.com/CCEmuX/CCEmuX/raw/${rev}/src/main/resources/img/icon.png"; + sha256 = "1vmb6rg9k2y99j8xqfgbsvfgfi3g985rmqwrd7w3y54ffr2r99c2"; + }; + desktopItem = makeDesktopItem { + name = "CCEmuX"; + exec = "ccemux"; + icon = "${desktopIcon}"; + comment = "A modular ComputerCraft emulator"; + desktopName = "CCEmuX"; + genericName = "ComputerCraft Emulator"; + categories = "Application;Emulator;"; + }; +in + +stdenv.mkDerivation rec { + name = "ccemux-${version}"; + + src = jar; + unpackPhase = "true"; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jre ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,share/ccemux} + cp -r ${desktopItem}/share/applications $out/share/applications + + install -D ${src} $out/share/ccemux/ccemux.jar + install -D ${desktopIcon} $out/share/pixmaps/ccemux.png + + makeWrapper ${jre}/bin/java $out/bin/ccemux \ + --add-flags "-jar $out/share/ccemux/ccemux.jar" + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "A modular ComputerCraft emulator"; + homepage = https://github.com/CCEmuX/CCEmuX; + license = licenses.mit; + maintainers = with maintainers; [ CrazedProgrammer ]; + }; +} |