Compare commits
1 commit
master
...
gog/settle
| Author | SHA1 | Date | |
|---|---|---|---|
| ced6600f75 |
3 changed files with 73 additions and 0 deletions
|
|
@ -6,5 +6,7 @@
|
||||||
wildfly = pkgs.callPackage ./wildfly/default.nix {};
|
wildfly = pkgs.callPackage ./wildfly/default.nix {};
|
||||||
postman_appimage = pkgs.callPackage ./postman-appimage/default.nix {};
|
postman_appimage = pkgs.callPackage ./postman-appimage/default.nix {};
|
||||||
|
|
||||||
|
gog = import ./gog/default.nix {};
|
||||||
|
|
||||||
services = import ./services/default.nix;
|
services = import ./services/default.nix;
|
||||||
}
|
}
|
||||||
5
gog/default.nix
Normal file
5
gog/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
|
||||||
|
{
|
||||||
|
settlers2 = pkgs.callPackage ./settlers2/default.nix {};
|
||||||
|
}
|
||||||
66
gog/settlers2/default.nix
Normal file
66
gog/settlers2/default.nix
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
_basename = "settlers2_gold";
|
||||||
|
_version = "2.0.0.14";
|
||||||
|
|
||||||
|
setup_exe = pkgs.requireFile rec {
|
||||||
|
name = "setup_${_basename}_${_version}.exe";
|
||||||
|
message = "Please download ${name} from https://gog.com/.";
|
||||||
|
sha256 = "19c88h972ydfpdbay61lz6pi4gnlm2lq5dcya5im9mmlin2nvyr7";
|
||||||
|
};
|
||||||
|
|
||||||
|
game_extracted = pkgs.stdenv.mkDerivation rec {
|
||||||
|
name = "${_basename}-extracted-${_version}";
|
||||||
|
version = _version;
|
||||||
|
|
||||||
|
src = setup_exe;
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [ innoextract ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
innoextract --gog --extract $src
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ":";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/${_basename}
|
||||||
|
cp -R ./app $out/share/${_basename}/
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
game_wrapped = pkgs.stdenv.mkDerivation rec {
|
||||||
|
name = "${_basename}-wrapped-${_version}";
|
||||||
|
version = _version;
|
||||||
|
buildInputs = with pkgs; [ game_extracted dosbox ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
wrestool -x -t 14 "${game_extracted}/${_basename}/app/S2EDIT.EXE" > "${_basename}_edit.ico"
|
||||||
|
wrestool -x -t 14 "${game_extracted}/${_basename}/app/S2.EXE" > "${_basename}.ico"
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ":";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mkdir -p $out/share/icons/hicolor/{32x32}/apps
|
||||||
|
|
||||||
|
cp "${_basename}_edit.ico" $out/share/icons/hicolor/32x32/apps/
|
||||||
|
cp "${_basename}.ico" $out/share/icons/hicolor/32x32/apps/
|
||||||
|
|
||||||
|
cat << EOF > $out/bin/${_basename}_edit
|
||||||
|
#!${pkgs.bash}/bin/bash
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/${_basename}_edit
|
||||||
|
|
||||||
|
cat << EOF > $out/bin/${_basename}
|
||||||
|
#!${pkgs.bash}/bin/bash
|
||||||
|
${pkgs.wine}/bin/wine "${game_extracted}/share/${_basename}/Stronghold_Crusader_Extreme.exe"
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/${_basename}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
in game_extracted
|
||||||
Loading…
Add table
Add a link
Reference in a new issue