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 {};
|
||||
postman_appimage = pkgs.callPackage ./postman-appimage/default.nix {};
|
||||
|
||||
gog = import ./gog/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