diff options
author | Peter Hoeg <peter@hoeg.com> | 2017-12-26 10:46:41 +0800 |
---|---|---|
committer | Peter Hoeg <peter@hoeg.com> | 2018-10-10 17:15:22 +0800 |
commit | a75b3205d0442da8ca57adc4559fd279a5a1cdc3 (patch) | |
tree | d7b2cd650b4725e0825d2cc30fb60155c753f3f6 /pkgs/games/scummvm | |
parent | 0a7e258012b60cbe530a756f09a4f2516786d370 (diff) | |
download | nixpkgs-a75b3205d0442da8ca57adc4559fd279a5a1cdc3.tar nixpkgs-a75b3205d0442da8ca57adc4559fd279a5a1cdc3.tar.gz nixpkgs-a75b3205d0442da8ca57adc4559fd279a5a1cdc3.tar.bz2 nixpkgs-a75b3205d0442da8ca57adc4559fd279a5a1cdc3.tar.lz nixpkgs-a75b3205d0442da8ca57adc4559fd279a5a1cdc3.tar.xz nixpkgs-a75b3205d0442da8ca57adc4559fd279a5a1cdc3.tar.zst nixpkgs-a75b3205d0442da8ca57adc4559fd279a5a1cdc3.zip |
scummvm: add several ScummVM supported games
- Beneath a Steel Sky: v1.2 - Drascula: The Vampire Strikes Back: v2.0 - Flight of the Amazon Queen: v1.1 - Lure of the Temptress: v1.1
Diffstat (limited to 'pkgs/games/scummvm')
-rw-r--r-- | pkgs/games/scummvm/games.nix | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/pkgs/games/scummvm/games.nix b/pkgs/games/scummvm/games.nix new file mode 100644 index 00000000000..1ccb351af4a --- /dev/null +++ b/pkgs/games/scummvm/games.nix @@ -0,0 +1,125 @@ +{ stdenv, lib, fetchurl, makeDesktopItem, unzip, writeText +, scummvm }: + +let + desktopItem = name: short: long: description: makeDesktopItem { + categories = "Game;AdventureGame;"; + comment = description; + desktopName = long; + exec = "@out@/bin/${short}"; + genericName = description; + icon = "scummvm"; + name = name; + }; + + run = name: short: code: writeText "${short}.sh" '' + #!${stdenv.shell} -eu + + exec ${scummvm}/bin/scummvm \ + --path=@out@/share/${name} \ + --fullscreen \ + ${code} + ''; + + generic = { plong, pshort, pcode, description, version, files, docs ? [ "readme.txt" ], ... } @attrs: + let + attrs' = builtins.removeAttrs attrs [ "plong" "pshort" "pcode" "description" "docs" "files" "version" ]; + pname = lib.replaceStrings [ " " ":" ] [ "-" "" ] (lib.toLower plong); + in stdenv.mkDerivation ({ + name = "${pname}-${version}"; + + nativeBuildInputs = [ unzip ]; + + dontBuild = true; + dontFixup = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share/{applications,${pname},doc/${pname}} + + ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/doc/${pname}") docs)} + ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/${pname}") files)} + + substitute ${run pname pshort pcode} $out/bin/${pshort} \ + --subst-var out + substitute ${desktopItem pname pshort plong description}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop \ + --subst-var out + + chmod 0755 $out/bin/${pshort} + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = https://www.scummvm.org; + license = licenses.free; # refer to the readme for exact wording + maintainers = with maintainers; [ peterhoeg ]; + inherit description; + inherit (scummvm.meta) platforms; + }; + } // attrs'); + +in { + beneath-a-steel-sky = generic rec { + plong = "Beneath a Steel Sky"; + pshort = "bass"; + pcode = "sky"; + description = "2D point-and-click science fiction thriller set in a bleak vision of the future"; + version = "1.2"; + src = fetchurl { + url = "mirror://sourceforge/scummvm/${pshort}-cd-${version}.zip"; + sha256 = "14s5jz67kavm8l15gfm5xb7pbpn8azrv460mlxzzvdpa02a9n82k"; + }; + files = [ "sky.*" ]; + }; + + drascula-the-vampire-strikes-back = generic rec { + plong = "Drascula: The Vampire Strikes Back"; + pshort = "drascula"; + pcode = "drascula"; + description = "Spanish 2D classic point & click style adventure with tons of humor and an easy interface"; + version = "1.0"; + # srcs = { + src = fetchurl { + url = "mirror://sourceforge/scummvm/${pshort}-${version}.zip"; + sha256 = "1pj29rpb754sn6a56f8brfv6f2m1p5qgaqik7d68pfi2bb5zccdp"; + }; + # audio = fetchurl { + # url = "mirror://sourceforge/scummvm/${pshort}-audio-flac-2.0.zip"; + # sha256 = "1zmqhrby8f5sj1qy6xjdgkvk9wyhr3nw8ljrrl58fmxb83x1rryw"; + # }; + # }; + sourceRoot = "."; + docs = [ "readme.txt" "drascula.doc" ]; + files = [ "Packet.001" ]; + }; + + flight-of-the-amazon-queen = generic rec { + plong = "Flight of the Amazon Queen"; + pshort = "fotaq"; + pcode = "queen"; + description = "2D point-and-click adventure game set in the 1940s"; + version = "1.1"; + src = fetchurl { + url = "mirror://sourceforge/scummvm/FOTAQ_Talkie-${version}.zip"; + sha256 = "1a6q71q1dl9vvw2qqsxk5h1sv0gaqy6236zr5905w2is01gdsp52"; + }; + sourceRoot = "."; + files = [ "*.1c" ]; + }; + + lure-of-the-temptress = generic rec { + plong = "Lure of the Temptress"; + pshort = "lott"; + pcode = "lure"; + description = "2D point-and-click adventure game with a fantasy theme"; + version = "1.1"; + src = fetchurl { + url = "mirror://sourceforge/scummvm/lure-${version}.zip"; + sha256 = "0201i70qcs1m797kvxjx3ygkhg6kcl5yf49sihba2ga8l52q45zk"; + }; + docs = [ "README" "*.txt" "*.pdf" "*.PDF" ]; + files = [ "*.vga" ]; + }; +} |