nixpkgs/pkgs/by-name/eg/egoboo/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

66 lines
2.0 KiB
Nix

{ lib, stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_ttf }:
stdenv.mkDerivation rec {
# pf5234 (a developer?) at freenode #egoboo told me that I better use 2.7.3 until
# they fix more, because it even has at least one bugs less than 2.7.4.
# 2.8.0 does not start properly on linux
# They just starting making that 2.8.0 work on linux.
pname = "egoboo";
version = "2.7.3";
src = fetchurl {
url = "mirror://sourceforge/egoboo/egoboo-${version}.tar.gz";
sha256 = "18cjgp9kakrsa90jcb4cl8hhh9k57mi5d1sy5ijjpd3p7zl647hd";
};
buildPhase = ''
cd source
make -C enet all
# The target 'all' has trouble
make -C game -f Makefile.unix egoboo
'';
# The user will need to have all the files in '.' to run egoboo, with
# writeable controls.txt and setup.txt
installPhase = ''
mkdir -p $out/share/egoboo-${version}
cp -v game/egoboo $out/share/egoboo-${version}
cd ..
cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/egoboo-${version}
'';
buildInputs = [ libGLU libGL SDL SDL_mixer SDL_image SDL_ttf ];
/*
This big commented thing may be needed for versions 2.8.0 or beyond
I keep it here for future updates.
# Some files have to go to $HOME, but we put them in the 'shared'.
patchPhase = ''
sed -i -e 's,''${HOME}/.''${PROJ_NAME},''${PREFIX}/share/games/''${PROJ_NAME},g' Makefile
'';
preBuild = ''
makeFlags=PREFIX=$out
'';
*/
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: mad.o:(.bss+0x233800): multiple definition of `tile_dict'; camera.o:(.bss+0x140): first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
NIX_LDFLAGS = "-lm";
meta = {
description = "3D dungeon crawling adventure";
homepage = "https://egoboo.sourceforge.net/";
license = lib.licenses.gpl2Plus;
# I take it out of hydra as it does not work as well as I'd like
# maintainers = [ ];
# platforms = lib.platforms.all;
};
}