{ lib, stdenv, fetchurl, ncurses, openssl, flex, bison, less, miscfiles }: stdenv.mkDerivation rec { pname = "bsd-games"; version = "2.17"; src = fetchurl { url = "mirror://ibiblioPubLinux/games/${pname}-${version}.tar.gz"; hash = "sha256-Bm+SSu9sHF6pRvWI428wMCH138CTlEc48CXY7bxv/2A="; }; buildInputs = [ ncurses openssl flex bison ]; patches = [ # Remove UTMPX support on Makefrag file (fetchurl { url = "http://svn.exactcode.de/t2/trunk/package/games/bsd-games/dm-noutmpx.patch"; sha256 = "1k3qp3jj0dksjr4dnppv6dvkwslrgk9c7p2n9vipqildpxgqp7w2"; }) ]; hardeningDisable = [ "format" ]; makeFlags = [ "STRIP=" ]; preConfigure = '' cat > config.params << EOF bsd_games_cfg_man6dir=$out/share/man/man6 bsd_games_cfg_man8dir=$out/share/man/man8 bsd_games_cfg_man5dir=$out/share/man/man5 bsd_games_cfg_wtf_acronymfile=$out/share/misc/acronyms bsd_games_cfg_fortune_dir=$out/share/games/fortune bsd_games_cfg_quiz_dir=$out/share/games/quiz bsd_games_cfg_gamesdir=$out/bin bsd_games_cfg_sbindir=$out/bin bsd_games_cfg_usrbindir=$out/bin bsd_games_cfg_libexecdir=$out/lib/games/dm bsd_games_cfg_docdir=$out/share/doc/bsd-games bsd_games_cfg_sharedir=$out/share/games bsd_games_cfg_varlibdir=. bsd_games_cfg_non_interactive=y bsd_games_cfg_no_build_dirs="dab hack phantasia sail" bsd_games_cfg_dictionary_src=${miscfiles}/share/web2 bsd_games_cfg_pager=${less} EOF sed -e s/getline/bsdgames_local_getline/g -i $(grep getline -rl .) ''; postConfigure = '' sed -i -e 's,/usr,'$out, \ -e "s,-o root -g root, ," \ -e "s,-o root -g games, ," \ -e "s,.*chown.*,true," \ -e 's/INSTALL_VARDATA.*/INSTALL_VARDATA := true/' \ -e 's/INSTALL_HACKDIR.*/INSTALL_HACKDIR := true/' \ -e 's/INSTALL_DM.*/INSTALL_DM := true/' \ -e 's/INSTALL_SCORE_FILE.*/INSTALL_SCORE_FILE := true/' \ Makeconfig install-man ''; meta = { homepage = "http://www.t2-project.org/packages/bsd-games.html"; description = "Ports of all the games from NetBSD-current that are free"; license = lib.licenses.free; maintainers = with lib.maintainers; [viric]; platforms = with lib.platforms; linux; }; }