Merge pull request #119642 from jojosch/oh-my-git-init
This commit is contained in:
commit
1e78caefb8
17
pkgs/development/tools/godot/export-templates.nix
Normal file
17
pkgs/development/tools/godot/export-templates.nix
Normal file
@ -0,0 +1,17 @@
|
||||
{ godot, lib }:
|
||||
|
||||
# https://docs.godotengine.org/en/stable/development/compiling/compiling_for_x11.html#building-export-templates
|
||||
godot.overrideAttrs (oldAttrs: rec {
|
||||
pname = "godot-export-templates";
|
||||
sconsFlags = "target=release platform=x11 tools=no";
|
||||
installPhase = ''
|
||||
# The godot export command expects the export templates at
|
||||
# .../share/godot/templates/3.2.3.stable with 3.2.3 being the godot version.
|
||||
mkdir -p "$out/share/godot/templates/${oldAttrs.version}.stable"
|
||||
cp bin/godot.x11.opt.64 $out/share/godot/templates/${oldAttrs.version}.stable/linux_x11_64_release
|
||||
'';
|
||||
outputs = [ "out" ];
|
||||
meta.description =
|
||||
"Free and Open Source 2D and 3D game engine (export templates)";
|
||||
meta.maintainers = with lib.maintainers; [ twey jojosch ];
|
||||
})
|
115
pkgs/games/oh-my-git/default.nix
Normal file
115
pkgs/games/oh-my-git/default.nix
Normal file
@ -0,0 +1,115 @@
|
||||
{ lib
|
||||
, copyDesktopItems
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
, stdenv
|
||||
, alsaLib
|
||||
, gcc-unwrapped
|
||||
, git
|
||||
, godot-export-templates
|
||||
, godot-headless
|
||||
, libGLU
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXext
|
||||
, libXfixes
|
||||
, libXi
|
||||
, libXinerama
|
||||
, libXrandr
|
||||
, libXrender
|
||||
, libglvnd
|
||||
, libpulseaudio
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oh-my-git";
|
||||
version = "0.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-learning-game";
|
||||
repo = "oh-my-git";
|
||||
rev = version;
|
||||
sha256 = "sha256-GQLHyBUXF+yqEZ/LYutAn6TBCXFX8ViOaERQEm2J6CY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
godot-headless
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsaLib
|
||||
gcc-unwrapped.lib
|
||||
git
|
||||
libGLU
|
||||
libX11
|
||||
libXcursor
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXinerama
|
||||
libXrandr
|
||||
libXrender
|
||||
libglvnd
|
||||
libpulseaudio
|
||||
zlib
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "oh-my-git";
|
||||
exec = "oh-my-git";
|
||||
icon = "oh-my-git";
|
||||
desktopName = "oh-my-git";
|
||||
comment = "An interactive Git learning game!";
|
||||
genericName = "An interactive Git learning game!";
|
||||
categories = "Game;";
|
||||
})
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
# Cannot create file '/homeless-shelter/.config/godot/projects/...'
|
||||
export HOME=$TMPDIR
|
||||
|
||||
# Link the export-templates to the expected location. The --export commands
|
||||
# expects the template-file at .../templates/3.2.3.stable/linux_x11_64_release
|
||||
# with 3.2.3 being the version of godot.
|
||||
mkdir -p $HOME/.local/share/godot
|
||||
ln -s ${godot-export-templates}/share/godot/templates $HOME/.local/share/godot
|
||||
|
||||
mkdir -p $out/share/oh-my-git
|
||||
godot-headless --export "Linux" $out/share/oh-my-git/oh-my-git
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
ln -s $out/share/oh-my-git/oh-my-git $out/bin
|
||||
|
||||
# Patch binaries.
|
||||
interpreter=$(cat $NIX_CC/nix-support/dynamic-linker)
|
||||
patchelf \
|
||||
--set-interpreter $interpreter \
|
||||
--set-rpath ${lib.makeLibraryPath buildInputs} \
|
||||
$out/share/oh-my-git/oh-my-git
|
||||
|
||||
mkdir -p $out/share/pixmaps
|
||||
cp images/oh-my-git.png $out/share/pixmaps/oh-my-git.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://ohmygit.org/";
|
||||
description = "An interactive Git learning game";
|
||||
license = with licenses; [ blueOak100 ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ jojosch ];
|
||||
};
|
||||
}
|
@ -2759,6 +2759,8 @@ in
|
||||
|
||||
meritous = callPackage ../games/meritous { };
|
||||
|
||||
oh-my-git = callPackage ../games/oh-my-git { };
|
||||
|
||||
opendune = callPackage ../games/opendune { };
|
||||
|
||||
merriweather = callPackage ../data/fonts/merriweather { };
|
||||
@ -5047,6 +5049,8 @@ in
|
||||
|
||||
godot = callPackage ../development/tools/godot {};
|
||||
|
||||
godot-export-templates = callPackage ../development/tools/godot/export-templates.nix { };
|
||||
|
||||
godot-headless = callPackage ../development/tools/godot/headless.nix { };
|
||||
|
||||
godot-server = callPackage ../development/tools/godot/server.nix { };
|
||||
|
Loading…
Reference in New Issue
Block a user