nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenvNoCC,
4 fetchFromGitLab,
5 copyDesktopItems,
6 love,
7 makeDesktopItem,
8 makeWrapper,
9 strip-nondeterminism,
10 zip,
11}:
12
13stdenvNoCC.mkDerivation rec {
14 pname = "stone-kingdoms";
15 version = "0.6.1";
16
17 src = fetchFromGitLab {
18 owner = "stone-kingdoms";
19 repo = "stone-kingdoms";
20 rev = version;
21 hash = "sha256-W2hzJg22O857Kh7CJVVHV5qu8QKjXCwW3hmgKBc0n2g=";
22 };
23
24 nativeBuildInputs = [
25 copyDesktopItems
26 makeWrapper
27 strip-nondeterminism
28 zip
29 ];
30
31 desktopItems = [
32 (makeDesktopItem {
33 name = "stone-kingdoms";
34 exec = "stone-kingdoms";
35 icon = "stone-kingdoms";
36 comment = "A real-time strategy game made with LÖVE based on the original Stronghold by Firefly studios";
37 desktopName = "Stone Kingdoms";
38 genericName = "stone-kingdoms";
39 categories = [ "Game" ];
40 })
41 ];
42
43 installPhase = ''
44 runHook preInstall
45 zip -9 -r stone-kingdoms.love ./*
46 strip-nondeterminism --type zip stone-kingdoms.love
47 install -Dm755 -t $out/share/games/lovegames/ stone-kingdoms.love
48 install -Dm644 assets/other/icon.png $out/share/icons/hicolor/256x256/apps/stone-kingdoms.png
49 makeWrapper ${love}/bin/love $out/bin/stone-kingdoms \
50 --add-flags $out/share/games/lovegames/stone-kingdoms.love
51 runHook postInstall
52 '';
53
54 meta = {
55 description = "Real-time strategy game made with LÖVE based on the original Stronghold by Firefly studios";
56 homepage = "https://gitlab.com/stone-kingdoms/stone-kingdoms";
57 platforms = lib.platforms.linux;
58 license = with lib.licenses; [
59 asl20 # engine
60 unfree # game assets
61 ];
62 maintainers = with lib.maintainers; [ hulr ];
63 };
64}