nixpkgs/pkgs/misc/emulators/mupen64plus/default.nix
Franz Pletz aff1f4ab94 Use general hardening flag toggle lists
The following parameters are now available:

  * hardeningDisable
    To disable specific hardening flags
  * hardeningEnable
    To enable specific hardening flags

Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.

cc-wrapper supports the following flags:

  * fortify
  * stackprotector
  * pie (disabled by default)
  * pic
  * strictoverflow
  * format
  * relro
  * bindnow
2016-03-05 18:55:26 +01:00

36 lines
1.1 KiB
Nix

{stdenv, fetchurl, which, pkgconfig, SDL, gtk, mesa, SDL_ttf}:
stdenv.mkDerivation {
name = "mupen64plus-1.5";
src = fetchurl {
url = http://mupen64plus.googlecode.com/files/Mupen64Plus-1-5-src.tar.gz;
sha256 = "0gygfgyr2sg4yx77ijk133d1ra0v1yxi4xjxrg6kp3zdjmhdmcjq";
};
buildInputs = [ which pkgconfig SDL gtk mesa SDL_ttf ];
hardeningDisable = [ "format" ];
preConfigure = ''
# Some C++ incompatibility fixes
sed -i -e 's|char \* extstr = strstr|const char * extstr = strstr|' glide64/Main.cpp
sed -i -e 's|char \* extstr = strstr|const char * extstr = strstr|' glide64/Combine.cpp
# Fix some hardcoded paths
sed -i -e "s|/usr/local|$out|g" main/main.c
# Remove PATH environment variable from install script
sed -i -e "s|export PATH=|#export PATH=|" ./install.sh
'';
buildPhase = "make all";
installPhase = "PREFIX=$out make install";
meta = {
description = "A Nintendo 64 Emulator";
license = stdenv.lib.licenses.gpl2Plus;
homepage = http://code.google.com/p/mupen64plus;
maintainers = [ stdenv.lib.maintainers.sander ];
};
}