`gcc-12` cleaned up implicit header includes and now requires explicit '<memory>' for 'std::unique_ptr<>': openmpt123/openmpt123.cpp:194:14: error: 'unique_ptr' in namespace 'std' does not name a template type 194 | std::unique_ptr<file_audio_stream_base> impl; | ^~~~~~~~~~ openmpt123/openmpt123.cpp:109:1: note: 'std::unique_ptr' is defined in header '<memory>'; did you forget to '#include <memory>'? 108 | #include "openmpt123_waveout.hpp" +++ |+#include <memory> 109 |
43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{ config, lib, stdenv, fetchurl, fetchpatch, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac
|
|
, usePulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "libopenmpt";
|
|
version = "0.5.11";
|
|
|
|
outputs = [ "out" "lib" "dev" ];
|
|
|
|
src = fetchurl {
|
|
url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
|
|
sha256 = "1c54lldr2imjzhlhq5lvwhj7d5794xm97cby9pznr5wdjjay0sa4";
|
|
};
|
|
|
|
patches = [
|
|
# Fix pending upstream inclusion for gcc-12 include headers:
|
|
# https://github.com/OpenMPT/openmpt/pull/8
|
|
(fetchpatch {
|
|
name = "gcc-12.patch";
|
|
url = "https://github.com/OpenMPT/openmpt/commit/6e7a43190ef2f9ba0b3efc19b9527261b69ec8f7.patch";
|
|
sha256 = "081m1rf09bbrlg52aihaajmld5dcnwbp6y7zpyik92mm332r330h";
|
|
})
|
|
];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
nativeBuildInputs = [ pkg-config ];
|
|
buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ]
|
|
++ lib.optional usePulseAudio libpulseaudio;
|
|
|
|
configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio";
|
|
|
|
doCheck = true;
|
|
|
|
meta = with lib; {
|
|
description = "A cross-platform command-line based module file player";
|
|
homepage = "https://lib.openmpt.org/libopenmpt/";
|
|
license = licenses.bsd3;
|
|
maintainers = with maintainers; [ OPNA2608 ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|