Merge pull request #229146 from Rampoina/marble-marcher-ce

marble-marcher-ce: init at 1.4.5
This commit is contained in:
Atemu 2023-05-02 11:28:42 +02:00 committed by GitHub
commit a970c19aae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,68 @@
{ lib
, stdenv
, makeWrapper
, makeDesktopItem
, copyDesktopItems
, fetchFromGitHub
, sfml
, anttweakbar
, glm
, eigen
, glew
, cmake
}:
stdenv.mkDerivation rec {
pname = "marble-marcher-ce";
version = "1.4.5";
src = fetchFromGitHub {
owner = "WAUthethird";
repo = "Marble-Marcher-Community-Edition";
rev = version;
hash = "sha256-m5i/Q4k5S4wcojHqMYS7e1W/Ph7q/95j3oOK2xbrHSk=";
};
buildInputs = [ sfml anttweakbar glm eigen glew ];
nativeBuildInputs = [ cmake makeWrapper copyDesktopItems ];
installFlags = [ "DESTDIR=$(out)" ];
prePatch = ''
# the path /home/MMCE is always added to DESTDIR
# we change this to a more sensible path
# see https://github.com/WAUthethird/Marble-Marcher-Community-Edition/issues/23
substituteInPlace CMakeLists.txt \
--replace '/home/MMCE' '/share/MMCE'
'';
postInstall = ''
mkdir $out/bin
mkdir -p $out/share/icons/
# The executable has to be run from the same directory the assets are in
makeWrapper $out/share/MMCE/MarbleMarcher $out/bin/${pname} --chdir $out/share/MMCE
ln -s $out/share/MMCE/images/MarbleMarcher.png $out/share/icons/${pname}.png
'';
desktopItems = [
(makeDesktopItem {
name = pname;
exec = pname;
icon = pname;
desktopName = pname;
comment = meta.description;
categories = [ "Game" ];
})
];
meta = with lib; {
description = "A fractal physics game.";
longDescription = "A community-developed version of the original Marble Marcher - a fractal physics game.";
homepage = "https://michaelmoroz.itch.io/mmce";
license = with licenses; [
gpl2Plus # Code
cc-by-30 # Assets
ofl # Fonts
];
maintainers = with maintainers; [ rampoina ];
platforms = platforms.linux;
};
}

View File

@ -36303,6 +36303,8 @@ with pkgs;
manaplus = callPackage ../games/manaplus { stdenv = gcc11Stdenv; };
marble-marcher-ce = callPackage ../games/marble-marcher-ce { };
mars = callPackage ../games/mars { };
megaglest = callPackage ../games/megaglest { };