_86Box: reformat according to RFC166
This commit is contained in:
parent
5f86584021
commit
dc70144603
|
@ -1,12 +1,30 @@
|
|||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, makeWrapper, freetype, SDL2
|
||||
, glib, pcre2, openal, rtmidi, fluidsynth, jack2, alsa-lib, qt5, libvncserver
|
||||
, discord-gamesdk, libpcap, libslirp
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
freetype,
|
||||
SDL2,
|
||||
glib,
|
||||
pcre2,
|
||||
openal,
|
||||
rtmidi,
|
||||
fluidsynth,
|
||||
jack2,
|
||||
alsa-lib,
|
||||
qt5,
|
||||
libvncserver,
|
||||
discord-gamesdk,
|
||||
libpcap,
|
||||
libslirp,
|
||||
|
||||
, enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch
|
||||
, enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch
|
||||
, enableVncRenderer ? false
|
||||
, unfreeEnableDiscord ? false
|
||||
, unfreeEnableRoms ? false
|
||||
enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch,
|
||||
enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch,
|
||||
enableVncRenderer ? false,
|
||||
unfreeEnableDiscord ? false,
|
||||
unfreeEnableRoms ? false,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
|
@ -40,27 +58,28 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
libslirp
|
||||
qt5.qtbase
|
||||
qt5.qttools
|
||||
] ++ lib.optional stdenv.isLinux alsa-lib
|
||||
++ lib.optional enableVncRenderer libvncserver;
|
||||
] ++ lib.optional stdenv.isLinux alsa-lib ++ lib.optional enableVncRenderer libvncserver;
|
||||
|
||||
cmakeFlags = lib.optional stdenv.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"
|
||||
cmakeFlags =
|
||||
lib.optional stdenv.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"
|
||||
++ lib.optional enableNewDynarec "-DNEW_DYNAREC=ON"
|
||||
++ lib.optional enableVncRenderer "-DVNC=ON"
|
||||
++ lib.optional (!enableDynarec) "-DDYNAREC=OFF"
|
||||
++ lib.optional (!unfreeEnableDiscord) "-DDISCORD=OFF";
|
||||
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop
|
||||
postInstall =
|
||||
lib.optionalString stdenv.isLinux ''
|
||||
install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop
|
||||
|
||||
for size in 48 64 72 96 128 192 256 512; do
|
||||
install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \
|
||||
$src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png
|
||||
done;
|
||||
''
|
||||
+ lib.optionalString unfreeEnableRoms ''
|
||||
mkdir -p $out/share/86Box
|
||||
ln -s ${finalAttrs.passthru.roms} $out/share/86Box/roms
|
||||
'';
|
||||
for size in 48 64 72 96 128 192 256 512; do
|
||||
install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \
|
||||
$src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png
|
||||
done;
|
||||
''
|
||||
+ lib.optionalString unfreeEnableRoms ''
|
||||
mkdir -p $out/share/86Box
|
||||
ln -s ${finalAttrs.passthru.roms} $out/share/86Box/roms
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
roms = fetchFromGitHub {
|
||||
|
@ -73,21 +92,20 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
# Some libraries are loaded dynamically, but QLibrary doesn't seem to search
|
||||
# the runpath, so use a wrapper instead.
|
||||
preFixup = let
|
||||
libPath = lib.makeLibraryPath ([
|
||||
libpcap
|
||||
] ++ lib.optional unfreeEnableDiscord discord-gamesdk);
|
||||
libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in ''
|
||||
makeWrapperArgs+=(--prefix ${libPathVar} : "${libPath}")
|
||||
'';
|
||||
preFixup =
|
||||
let
|
||||
libPath = lib.makeLibraryPath ([ libpcap ] ++ lib.optional unfreeEnableDiscord discord-gamesdk);
|
||||
libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in
|
||||
''
|
||||
makeWrapperArgs+=(--prefix ${libPathVar} : "${libPath}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Emulator of x86-based machines based on PCem.";
|
||||
mainProgram = "86Box";
|
||||
homepage = "https://86box.net/";
|
||||
license = with licenses; [ gpl2Only ]
|
||||
++ optional (unfreeEnableDiscord || unfreeEnableRoms) unfree;
|
||||
license = with licenses; [ gpl2Only ] ++ optional (unfreeEnableDiscord || unfreeEnableRoms) unfree;
|
||||
maintainers = [ maintainers.jchw ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue