kega-fusion: init at 3.63x

+80
+78
pkgs/misc/emulators/kega-fusion/default.nix
···
··· 1 + { stdenv, lib, writeText, fetchurl, upx, libGLU, glib, gtk2, alsaLib, libSM, libX11, gdk_pixbuf, pango, libXinerama, mpg123 }: 2 + 3 + let 4 + libPath = lib.makeLibraryPath [ stdenv.cc.cc libGLU glib gtk2 alsaLib libSM libX11 gdk_pixbuf pango libXinerama ]; 5 + 6 + in stdenv.mkDerivation rec { 7 + name = "kega-fusion-${version}"; 8 + version = "3.63x"; 9 + 10 + src = fetchurl { 11 + url = "http://www.carpeludum.com/download/Fusion363x.tar.gz"; 12 + sha256 = "14s6czy20h5khyy7q95hd7k77v17ssafv9l6lafkiysvj2nmw94g"; 13 + }; 14 + 15 + plugins = fetchurl { 16 + url = "http://www.carpeludum.com/download/PluginsLinux.tar.gz"; 17 + sha256 = "0d623cvh6n5ijj3wb64g93mxx2xbichsn7hj7brbb0ndw5cs70qj"; 18 + }; 19 + 20 + runner = writeText "kega-fusion" '' 21 + #!${stdenv.shell} -ex 22 + 23 + kega_libdir="@out@/lib/kega-fusion" 24 + kega_localdir="$HOME/.Kega Fusion" 25 + 26 + # create local plugins directory if not present 27 + mkdir -p "$kega_localdir/Plugins" 28 + 29 + # create links for every included plugin 30 + if [ $(ls -1A $kega_libdir/plugins | wc -l) -gt 0 ]; then 31 + for i in $kega_libdir/plugins/*; do 32 + if [ ! -e "$kega_localdir/Plugins/$(basename "$i")" ]; then 33 + ln -sf "$i" "$kega_localdir/Plugins/" 34 + fi 35 + done 36 + fi 37 + 38 + # copy configuration file if not present 39 + if ! [ -f "$kega_localdir/Fusion.ini" ]; then 40 + cat > "$kega_localdir/Fusion.ini" <<EOF 41 + ALSADeviceName=default 42 + libmpg123path=${lib.getLib mpg123}/lib/libmpg123.so.0 43 + EOF 44 + else 45 + sed -i 's,^\(libmpg123path=\).*,\1${lib.getLib mpg123}/lib/libmpg123.so.0,' "$kega_localdir/Fusion.ini" 46 + fi 47 + 48 + # here we go! 49 + exec "$kega_libdir/Fusion" "$@" 50 + ''; 51 + 52 + dontStrip = true; 53 + dontPatchELF = true; 54 + 55 + nativeBuildInputs = [ upx ]; 56 + 57 + installPhase = '' 58 + upx -d Fusion 59 + install -Dm755 Fusion "$out/lib/kega-fusion/Fusion" 60 + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}" "$out/lib/kega-fusion/Fusion" 61 + 62 + tar -xaf $plugins 63 + mkdir -p "$out/lib/kega-fusion/plugins" 64 + cp -r Plugins/*.rpi "$out/lib/kega-fusion/plugins" 65 + 66 + mkdir -p "$out/bin" 67 + substitute "$runner" "$out/bin/kega-fusion" --subst-var out 68 + chmod +x "$out/bin/kega-fusion" 69 + ''; 70 + 71 + meta = with stdenv.lib; { 72 + description = "Sega SG1000, SC3000, SF7000, Master System, Game Gear, Genesis/Megadrive, SVP, Pico, SegaCD/MegaCD and 32X emulator"; 73 + homepage = http://www.carpeludum.com/kega-fusion/; 74 + maintainers = with maintainers; [ abbradar ]; 75 + license = licenses.unfreeRedistributable; 76 + platforms = [ "i686-linux" ]; 77 + }; 78 + }
+2
pkgs/top-level/all-packages.nix
··· 16235 16236 keepnote = callPackage ../applications/office/keepnote { }; 16237 16238 kermit = callPackage ../tools/misc/kermit { }; 16239 16240 kexi = libsForQt5.callPackage ../applications/office/kexi { };
··· 16235 16236 keepnote = callPackage ../applications/office/keepnote { }; 16237 16238 + kega-fusion = callPackage_i686 ../misc/emulators/kega-fusion { }; 16239 + 16240 kermit = callPackage ../tools/misc/kermit { }; 16241 16242 kexi = libsForQt5.callPackage ../applications/office/kexi { };