furnace: 0.6.2 -> 0.6.3
- Disable new Metal renderer, unable to compile it - Handle new OpenGL 1 renderer - Explicitly enable freetype & use system-installed one - Migrate to by-name, switch to finalAttrs pattern - Fix installing on Darwin Co-authored-by: OPNA2608 <opna2608@protonmail.com>
This commit is contained in:
parent
b771106b51
commit
b7833945e5
@ -8,6 +8,7 @@
|
|||||||
, makeWrapper
|
, makeWrapper
|
||||||
, fftw
|
, fftw
|
||||||
, fmt_8
|
, fmt_8
|
||||||
|
, freetype
|
||||||
, libsndfile
|
, libsndfile
|
||||||
, libX11
|
, libX11
|
||||||
, rtmidi
|
, rtmidi
|
||||||
@ -16,7 +17,7 @@
|
|||||||
, withJACK ? stdenv.hostPlatform.isUnix
|
, withJACK ? stdenv.hostPlatform.isUnix
|
||||||
, libjack2
|
, libjack2
|
||||||
, withGUI ? true
|
, withGUI ? true
|
||||||
, Cocoa
|
, darwin
|
||||||
, portaudio
|
, portaudio
|
||||||
, alsa-lib
|
, alsa-lib
|
||||||
# Enable GL/GLES rendering
|
# Enable GL/GLES rendering
|
||||||
@ -25,23 +26,23 @@
|
|||||||
, preferGLES ? stdenv.hostPlatform.isAarch
|
, preferGLES ? stdenv.hostPlatform.isAarch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "furnace";
|
pname = "furnace";
|
||||||
version = "0.6.2";
|
version = "0.6.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tildearrow";
|
owner = "tildearrow";
|
||||||
repo = "furnace";
|
repo = "furnace";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-Pv9Sx+bdoy8uV5o9i1rUSuokwQVA8EPYFkZXM8Fynmk=";
|
hash = "sha256-z0WvJvkry/9T4Fgp2fX83CxPpDBoOPNVtyX2OUk26FI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
|
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||||
# To offer scaling detection on X11, furnace checks if libX11.so is available via dlopen and uses some of its functions
|
# To offer scaling detection on X11, furnace checks if libX11.so is available via dlopen and uses some of its functions
|
||||||
# But it's being linked against a versioned libX11.so.VERSION via SDL, so the unversioned one is not on the rpath
|
# But it's being linked against a versioned libX11.so.VERSION via SDL, so the unversioned one is not on the rpath
|
||||||
substituteInPlace src/gui/scaling.cpp \
|
substituteInPlace src/gui/scaling.cpp \
|
||||||
--replace 'libX11.so' '${lib.getLib libX11}/lib/libX11.so'
|
--replace-fail 'libX11.so' '${lib.getLib libX11}/lib/libX11.so'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -54,6 +55,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
fftw
|
fftw
|
||||||
fmt_8
|
fmt_8
|
||||||
|
freetype
|
||||||
libsndfile
|
libsndfile
|
||||||
rtmidi
|
rtmidi
|
||||||
SDL2
|
SDL2
|
||||||
@ -64,26 +66,30 @@ stdenv.mkDerivation rec {
|
|||||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
# portaudio pkg-config is pulling this in as a link dependency, not set in propagatedBuildInputs
|
# portaudio pkg-config is pulling this in as a link dependency, not set in propagatedBuildInputs
|
||||||
alsa-lib
|
alsa-lib
|
||||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||||
Cocoa
|
Cocoa
|
||||||
];
|
]);
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DBUILD_GUI=${if withGUI then "ON" else "OFF"}"
|
(lib.cmakeBool "BUILD_GUI" withGUI)
|
||||||
"-DSYSTEM_FFTW=ON"
|
(lib.cmakeBool "SYSTEM_FFTW" true)
|
||||||
"-DSYSTEM_FMT=ON"
|
(lib.cmakeBool "SYSTEM_FMT" true)
|
||||||
"-DSYSTEM_LIBSNDFILE=ON"
|
(lib.cmakeBool "SYSTEM_LIBSNDFILE" true)
|
||||||
"-DSYSTEM_RTMIDI=ON"
|
(lib.cmakeBool "SYSTEM_RTMIDI" true)
|
||||||
"-DSYSTEM_SDL2=ON"
|
(lib.cmakeBool "SYSTEM_SDL2" true)
|
||||||
"-DSYSTEM_ZLIB=ON"
|
(lib.cmakeBool "SYSTEM_ZLIB" true)
|
||||||
"-DSYSTEM_PORTAUDIO=ON"
|
(lib.cmakeBool "USE_FREETYPE" true)
|
||||||
"-DWITH_JACK=${if withJACK then "ON" else "OFF"}"
|
(lib.cmakeBool "SYSTEM_FREETYPE" true)
|
||||||
"-DWITH_PORTAUDIO=ON"
|
(lib.cmakeBool "WITH_JACK" withJACK)
|
||||||
"-DWITH_RENDER_SDL=ON"
|
(lib.cmakeBool "WITH_PORTAUDIO" true)
|
||||||
"-DWITH_RENDER_OPENGL=${lib.boolToString withGL}"
|
(lib.cmakeBool "SYSTEM_PORTAUDIO" true)
|
||||||
"-DWARNINGS_ARE_ERRORS=ON"
|
(lib.cmakeBool "WITH_RENDER_SDL" true)
|
||||||
] ++ lib.optionals withGL [
|
(lib.cmakeBool "WITH_RENDER_OPENGL" withGL)
|
||||||
"-DUSE_GLES=${lib.boolToString preferGLES}"
|
(lib.cmakeBool "USE_GLES" (withGL && preferGLES))
|
||||||
|
(lib.cmakeBool "WITH_RENDER_METAL" false) # fails to build
|
||||||
|
(lib.cmakeBool "WITH_RENDER_OPENGL1" (withGL && !preferGLES))
|
||||||
|
(lib.cmakeBool "WARNINGS_ARE_ERRORS" true)
|
||||||
|
(lib.cmakeBool "FORCE_APPLE_BIN" true)
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||||
@ -109,13 +115,13 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
description = "Multi-system chiptune tracker compatible with DefleMask modules";
|
description = "Multi-system chiptune tracker compatible with DefleMask modules";
|
||||||
homepage = "https://github.com/tildearrow/furnace";
|
homepage = "https://github.com/tildearrow/furnace";
|
||||||
changelog = "https://github.com/tildearrow/furnace/releases/tag/v${version}";
|
changelog = "https://github.com/tildearrow/furnace/releases/tag/v${finalAttrs.version}";
|
||||||
license = with licenses; [ gpl2Plus ];
|
license = with lib.licenses; [ gpl2Plus ];
|
||||||
maintainers = with maintainers; [ OPNA2608 ];
|
maintainers = with lib.maintainers; [ OPNA2608 ];
|
||||||
platforms = platforms.all;
|
platforms = lib.platforms.all;
|
||||||
mainProgram = "furnace";
|
mainProgram = "furnace";
|
||||||
};
|
};
|
||||||
}
|
})
|
@ -30664,10 +30664,6 @@ with pkgs;
|
|||||||
|
|
||||||
expenses = callPackage ../applications/misc/expenses { };
|
expenses = callPackage ../applications/misc/expenses { };
|
||||||
|
|
||||||
furnace = callPackage ../applications/audio/furnace {
|
|
||||||
inherit (darwin.apple_sdk.frameworks) Cocoa;
|
|
||||||
};
|
|
||||||
|
|
||||||
furtherance = callPackage ../applications/misc/furtherance { };
|
furtherance = callPackage ../applications/misc/furtherance { };
|
||||||
|
|
||||||
gigalixir = callPackage ../tools/misc/gigalixir { };
|
gigalixir = callPackage ../tools/misc/gigalixir { };
|
||||||
|
Loading…
Reference in New Issue
Block a user