diff --git a/pkgs/games/instead-launcher/default.nix b/pkgs/games/instead-launcher/default.nix new file mode 100644 index 000000000000..6515db9dab32 --- /dev/null +++ b/pkgs/games/instead-launcher/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, instead, qmake4Hook, zlib }: + +stdenv.mkDerivation rec { + name = "instead-launcher-${version}"; + + version = "0.6.3"; + + src = fetchFromGitHub { + owner = "instead-hub"; + repo = "instead-launcher"; + rev = version; + sha256 = "1q0hdgfy9pr48zvxr9x614ka6bd0g8sicdk2a673nwfdyd41p9cw"; + }; + + patches = [ ./path.patch ]; + + postPatch = '' + substituteInPlace platform.cpp --subst-var-by instead ${instead} + ''; + + nativeBuildInputs = [ qmake4Hook ]; + + buildInputs = [ zlib ]; + + meta = with stdenv.lib; { + homepage = https://instead.syscall.ru/wiki/en/instead-launcher; + description = "Install and play games from INSTEAD repository"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ orivej ]; + }; +} diff --git a/pkgs/games/instead-launcher/path.patch b/pkgs/games/instead-launcher/path.patch new file mode 100644 index 000000000000..f63737bfb160 --- /dev/null +++ b/pkgs/games/instead-launcher/path.patch @@ -0,0 +1,39 @@ +From c7460a7fc255ef4e8e0e37798605c4d8bb50633d Mon Sep 17 00:00:00 2001 +From: Orivej Desh <orivej@gmx.fr> +Date: Sat, 1 Apr 2017 01:30:37 +0000 +Subject: [PATCH] path + +--- + mainwindow.cpp | 2 +- + platform.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/mainwindow.cpp b/mainwindow.cpp +index 9687c4e..234b176 100644 +--- a/mainwindow.cpp ++++ b/mainwindow.cpp +@@ -688,7 +688,7 @@ void MainWindow::loadConfig() { + if ( args.contains( "default-gamespath" ) ) + defGamesPath = args["default-gamespath"].toString(); + +- QString insteadPath = conf.value("InsteadPath", defInsteadPath).toString(); ++ QString insteadPath = defInsteadPath; + bool autoRefresh = conf.value("AutoRefresh", "false").toString() == "true"; + bool autoRefreshSW = conf.value("AutoRefreshSW", "false").toString() == "true"; + QString lang = conf.value( "Language", "*" ).toString(); +diff --git a/platform.cpp b/platform.cpp +index bda86be..c356f1c 100644 +--- a/platform.cpp ++++ b/platform.cpp +@@ -22,7 +22,7 @@ QString getConfigPath() { + } + + QString getDefaultInterpreterPath() { +- return "/usr/local/bin/sdl-instead"; ++ return "@instead@/bin/sdl-instead"; + } + + #elif defined(Q_OS_WIN) +-- +2.12.2 + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4033340df105..39fef3a2f6b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16707,6 +16707,8 @@ with pkgs; lua = lua5; }; + instead-launcher = callPackage ../games/instead-launcher { }; + ja2-stracciatella = callPackage ../games/ja2-stracciatella { }; klavaro = callPackage ../games/klavaro {};