diff --git a/pkgs/games/boohu/default.nix b/pkgs/games/boohu/default.nix new file mode 100644 index 000000000000..6d4129edbd00 --- /dev/null +++ b/pkgs/games/boohu/default.nix @@ -0,0 +1,38 @@ +{stdenv, lib, fetchurl, buildGoPackage, ansiTag ? false}: + +buildGoPackage rec { + + name = if ansiTag then "boohu-ansi-${version}" else "boohu-${version}"; + version = "0.10.0"; + + goPackagePath = "git.tuxfamily.org/boohu/boohu.git"; + + src = fetchurl { + url = "https://download.tuxfamily.org/boohu/downloads/boohu-${version}.tar.gz"; + sha256 = "a4d1fc488cfeecbe0a5e9be1836d680951941014f926351692a8dbed9042eba6"; + }; + + goDeps = ./deps.nix; + + # If ansiTag is true, the "--tags ansi" will be passed + buildFlags = if ansiTag then "--tags ansi" else ""; + + # If ansiTag is true, binary output file name will be "boohu-ansi". + # Otherwise it will be "boohu". + postInstall = if ansiTag then "mv $bin/bin/boohu.git $bin/bin/boohu-ansi" + else "mv $bin/bin/boohu.git $bin/bin/boohu"; + + meta = with stdenv.lib; { + description = "A new roguelike game"; + longDescription = '' + Break Out Of Hareka's Underground (Boohu) is a roguelike game mainly + inspired from DCSS and its tavern, with some ideas from Brogue, but + aiming for very short games, almost no character building, and a + simplified inventory. + ''; + homepage = https://download.tuxfamily.org/boohu/index.html; + license = licenses.isc; + platforms = platforms.unix; + maintainers = with maintainers; [freepotion]; + }; +} diff --git a/pkgs/games/boohu/deps.nix b/pkgs/games/boohu/deps.nix new file mode 100644 index 000000000000..8b6b32811938 --- /dev/null +++ b/pkgs/games/boohu/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "github.com/nsf/termbox-go"; + fetch = { + type = "git"; + url = "https://github.com/nsf/termbox-go"; + rev = "b66b20ab708e289ff1eb3e218478302e6aec28ce"; + sha256 = "0wrgnwfdxrspni5q15vzr5q1bxnzb7m6q4xjhllcyddgn2zqprsa"; + }; + } + { + goPackagePath = "github.com/mattn/go-runewidth"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-runewidth"; + rev = "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb"; + sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g"; + }; + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 392102b4285e..becd4148f1f6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19931,6 +19931,10 @@ with pkgs; blobby = callPackage ../games/blobby { }; + boohu = callPackage ../games/boohu { }; + + boohu-ansi = callPackage ../games/boohu { ansiTag = true; }; + braincurses = callPackage ../games/braincurses { }; brogue = callPackage ../games/brogue { };