diff --git a/pkgs/by-name/op/opensurge/package.nix b/pkgs/by-name/op/opensurge/package.nix new file mode 100644 index 000000000000..566a189e706c --- /dev/null +++ b/pkgs/by-name/op/opensurge/package.nix @@ -0,0 +1,64 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + allegro5, + libglvnd, + surgescript, + physfs, + xorg, + versionCheckHook, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "opensurge"; + version = "0.6.1.2"; + + src = fetchFromGitHub { + owner = "alemart"; + repo = "opensurge"; + tag = "v${finalAttrs.version}"; + hash = "sha256-HvpKZ62mYy7XkZOnIn7QRA2rFVREFnKO1NO83aCR76k="; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + buildInputs = [ + allegro5 + libglvnd + physfs + surgescript + xorg.libX11 + ]; + + cmakeFlags = [ + "-DGAME_BINDIR=${placeholder "out"}/bin" + "-DDESKTOP_ICON_PATH=${placeholder "out"}/share/pixmaps" + "-DDESKTOP_METAINFO_PATH=${placeholder "out"}/share/metainfo" + "-DDESKTOP_ENTRY_PATH=${placeholder "out"}/share/applications" + "-DWANT_BUILD_DATE=OFF" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + # Darwin fails with "Critical error: required built-in appearance SystemAppearance not found" + doInstallCheck = !stdenv.hostPlatform.isDarwin; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "opensurge"; + description = "Fun 2D retro platformer inspired by Sonic games and a game creation system"; + homepage = "https://opensurge2d.org/"; + downloadPage = "https://github.com/alemart/opensurge"; + changelog = "https://github.com/alemart/opensurge/blob/v${finalAttrs.version}/CHANGES.md"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ federicoschonborn ]; + }; +}) diff --git a/pkgs/by-name/su/surgescript/package.nix b/pkgs/by-name/su/surgescript/package.nix new file mode 100644 index 000000000000..6d340cb3e347 --- /dev/null +++ b/pkgs/by-name/su/surgescript/package.nix @@ -0,0 +1,42 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, + versionCheckHook, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "surgescript"; + version = "0.6.1"; + + src = fetchFromGitHub { + owner = "alemart"; + repo = "surgescript"; + tag = "v${finalAttrs.version}"; + hash = "sha256-m6H9cyoUY8Mgr0FDqPb98PRJTgF7DgSa+jC+EM0TDEw="; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "surgescript"; + description = "Scripting language for games"; + homepage = "https://docs.opensurge2d.org/"; + downloadPage = "https://github.com/alemart/surgescript"; + changelog = "https://github.com/alemart/surgescript/blob/v${finalAttrs.version}/CHANGES.md"; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ federicoschonborn ]; + }; +})