nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix
Sergei Trofimovich 944aa75afa infamousPlugins: fix build on glibc-2.36
Without the change build fails as:

    src/casynth/casynth_ui_main.cxx:47:27: error: 'time' was not declared in this scope
    and ((unsigned int) time (NULL));
                        ^~~~
    src/casynth/casynth_ui_main.cxx:9:1: note: 'time' is defined in header '<ctime>'; did you forget to '#include <ctime>'?
        8 | #include "casynth_ui.h"
      +++ |+#include <ctime>
        9 | #include "lv2/lv2plug.in/ns/extensions/ui/ui.h"

Full build log: https://hydra.nixos.org/log/dh6qh731kjkizpymf8qpbi33pwq7bg9v-infamousPlugins-0.3.0.drv

ZHF: #230712
2023-05-12 22:48:06 +01:00

66 lines
2.2 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, pkg-config
, cairomm
, cmake
, lv2
, libpthreadstubs
, libXdmcp
, libXft
, ntk
, pcre
, fftwFloat
, zita-resampler
}:
stdenv.mkDerivation rec {
pname = "infamousPlugins";
version = "0.3.0";
src = fetchFromGitHub {
owner = "ssj71";
repo = "infamousPlugins";
rev = "v${version}";
sha256 = "1r72agk5nxf5k0mghcc2j90z43j5d9i7rqjmf49jfyqnd443isip";
};
patches = [
(fetchpatch {
url = "https://github.com/ssj71/infamousPlugins/commit/06dd967b4736ea886dc1dc07f882cb1563961582.patch";
sha256 = "08xwh6px13y1gykaw103nhvjms7vgbgkcm0avh9f5d2d7aadq0l2";
})
# glibx-2.36 upstream fix: https://github.com/ssj71/infamousPlugins/pull/52
(fetchpatch {
name = "glibc-2.36.patch";
url = "https://github.com/ssj71/infamousPlugins/commit/eb4fd9af25362fdd006549c471f4cf0427816dd5.patch";
hash = "sha256-kBB2meQYVoVSTHIG77M8Fmeve87JBIUjpWCP6oiOkKI=";
})
];
nativeBuildInputs = [ pkg-config cmake ];
buildInputs = [ cairomm lv2 libpthreadstubs libXdmcp libXft ntk pcre fftwFloat zita-resampler ];
meta = with lib; {
homepage = "https://ssj71.github.io/infamousPlugins";
description = "A collection of open-source LV2 plugins";
longDescription = ''
These are audio plugins in the LV2 format, developed for linux. Most are suitable for live use.
This collection contains:
* Cellular Automaton Synth - additive synthesizer, where 16 harmonics are added according to rules of elementary cellular automata
* Envelope Follower - a fully featured envelope follower plugin
* Hip2B - a distortion/destroyer plugin
* cheap distortion - another distortion plugin, but this one I wanted to get it as light as possible
* stuck - a clone of the electro-harmonix freeze
* power cut - this effect is commonly called tape stop
* power up - the opposite of the power cut
* ewham - a whammy style pitchshifter
* lushlife - a simulated double tracking plugin capable of everything from a thin beatle effect to thick lush choruses to weird outlandish effects
'';
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
};
}