diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2a0d58164e62..a8f23e713209 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16681,7 +16681,8 @@ }]; }; yuu = { - email = "yuuyin@protonmail.com"; + email = "yuunix@grrlz.net"; + matrix = "@yuu:matrix.org"; github = "yuuyins"; githubId = 86538850; name = "Yuu Yin"; diff --git a/pkgs/applications/audio/carla/default.nix b/pkgs/applications/audio/carla/default.nix index 70ef1ebdf644..74a84e2a8dc6 100644 --- a/pkgs/applications/audio/carla/default.nix +++ b/pkgs/applications/audio/carla/default.nix @@ -1,25 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, alsa-lib, file, fluidsynth, jack2, - liblo, libpulseaudio, libsndfile, pkg-config, python3Packages, - which, withFrontend ? true, - withQt ? true, qtbase ? null, wrapQtAppsHook ? null, - withGtk2 ? true, gtk2 ? null, - withGtk3 ? true, gtk3 ? null }: +{ lib +, stdenv +, fetchFromGitHub +, alsa-lib +, file +, fluidsynth +, jack2 +, liblo +, libpulseaudio +, libsndfile +, pkg-config +, python3Packages +, which +, gtk2 ? null +, gtk3 ? null +, qtbase ? null +, withFrontend ? true +, withGtk2 ? true +, withGtk3 ? true +, withQt ? true +, wrapQtAppsHook ? null +}: -assert withFrontend -> python3Packages ? pyqt5; assert withQt -> qtbase != null; assert withQt -> wrapQtAppsHook != null; -assert withGtk2 -> gtk2 != null; -assert withGtk3 -> gtk3 != null; stdenv.mkDerivation rec { pname = "carla"; - version = "2.5.1"; + version = "2.5.3"; src = fetchFromGitHub { owner = "falkTX"; repo = pname; rev = "v${version}"; - sha256 = "sha256-SN+9Q5v0bv+kQcYLBJmSCd9WIGSeQuOZze8LVwF20EA="; + hash = "sha256-J0C3GLdlLMkm3LHl6l3OI2rA73A6z5MMcNJ1I1T0pbI="; }; nativeBuildInputs = [ @@ -60,7 +73,6 @@ stdenv.mkDerivation rec { patchPythonScript "$f" done patchPythonScript "$out/share/carla/carla_settings.py" - patchPythonScript "$out/share/carla/carla_database.py" for program in $out/bin/*; do wrapQtApp "$program" \ diff --git a/pkgs/applications/audio/zrythm/default.nix b/pkgs/applications/audio/zrythm/default.nix index 7b92626d5b33..fbb040709ab5 100644 --- a/pkgs/applications/audio/zrythm/default.nix +++ b/pkgs/applications/audio/zrythm/default.nix @@ -1,34 +1,43 @@ { stdenv , lib , fetchFromGitHub +, fetchFromSourcehut , SDL2 , alsa-lib -, libaudec +, appstream +, appstream-glib , bash-completion +, boost , breeze-icons , carla , chromaprint , cmake , curl +, dbus , dconf -, libepoxy +, faust2lv2 , fftw , fftwFloat , flex , glib +, graphviz , gtk4 , gtksourceview5 , guile -, graphviz , help2man -, json-glib , jq +, json-glib +, libadwaita +, libaudec , libbacktrace , libcyaml +, libepoxy , libgtop , libjack2 +, libpanel , libpulseaudio , libsamplerate +, libsass , libsndfile , libsoundio , libxml2 @@ -46,31 +55,48 @@ , rtaudio , rtmidi , rubberband +, sassc , serd , sord +, sox , sratom , texi2html +, vamp-plugin-sdk , wrapGAppsHook , xdg-utils , xxHash -, vamp-plugin-sdk +, zix , zstd -, libadwaita -, sassc }: -stdenv.mkDerivation rec { - pname = "zrythm"; - version = "1.0.0-alpha.28.1.3"; +let + # As of zrythm-1.0.0-beta.4.5.62, Zrythm needs clap + # https://github.com/falktx/carla/tree/main/source/includes/clap, which is + # only available on Carla unstable as of 2023-02-24. + carla-unstable = carla.overrideAttrs (oldAttrs: rec { + pname = "carla"; + version = "unstable-2023-02-24"; - src = fetchFromGitHub { - owner = pname; + src = fetchFromGitHub { + owner = "falkTX"; + repo = pname; + rev = "33a142f447925f55d00532933a1f28e9745c13eb"; + hash = "sha256-hQj0HlcOYfwsxG05pq/qcuKcOwDMV1ED+YdxBToBzvk="; + }; + }); +in stdenv.mkDerivation rec { + pname = "zrythm"; + version = "1.0.0-beta.4.5.62"; + + src = fetchFromSourcehut { + owner = "~alextee"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ERE7I6E3+RmmpnZEtcJL/1v9a37IwFauVsbJvI9gsRQ="; + hash = "sha256-K93Y4Adh9TqoetSn7nrbbruIri1MKYoSGzoRBGHwbPA="; }; nativeBuildInputs = [ + cmake help2man jq libaudec @@ -81,36 +107,44 @@ stdenv.mkDerivation rec { pkg-config python3 python3.pkgs.sphinx + sassc texi2html wrapGAppsHook - cmake ]; buildInputs = [ SDL2 alsa-lib + appstream + appstream-glib bash-completion - carla + boost + breeze-icons + carla-unstable chromaprint curl + dbus dconf - libepoxy + faust2lv2 fftw fftwFloat flex - breeze-icons glib + graphviz gtk4 gtksourceview5 - graphviz guile json-glib + libadwaita libbacktrace libcyaml + libepoxy libgtop libjack2 + libpanel libpulseaudio libsamplerate + libsass libsndfile libsoundio libyaml @@ -124,34 +158,46 @@ stdenv.mkDerivation rec { rubberband serd sord + sox sratom vamp-plugin-sdk xdg-utils xxHash + zix zstd - libadwaita - sassc ]; + # Zrythm uses meson to build, but requires cmake for dependency detection. + dontUseCmakeConfigure = true; + mesonFlags = [ - "-Drtmidi=enabled" - "-Drtaudio=enabled" - "-Dsdl=enabled" - "-Dcarla=enabled" - "-Dmanpage=true" - # "-Duser_manual=true" # needs sphinx-intl - "-Dlsp_dsp=disabled" "-Db_lto=false" + "-Dcarla=enabled" + "-Dcarla_binaries_dir=${carla-unstable}/lib/carla" "-Ddebug=true" + "-Dfftw3_threads_separate=false" + "-Dfftw3_threads_separate_type=library" + "-Dfftw3f_separate=false" + "-Dlsp_dsp=disabled" + "-Dmanpage=true" + "-Drtaudio=enabled" + "-Drtmidi=enabled" + "-Dsdl=enabled" + # "-Duser_manual=true" # needs sphinx-intl ]; NIX_LDFLAGS = '' -lfftw3_threads -lfftw3f_threads ''; + GUILE_AUTO_COMPILE = 0; + dontStrip = true; postPatch = '' + substituteInPlace meson.build \ + --replace "'/usr/lib', '/usr/local/lib', '/opt/homebrew/lib'" "'${fftw}/lib'" + chmod +x scripts/meson-post-install.sh patchShebangs ext/sh-manpage-completions/run.sh scripts/generic_guile_wrap.sh \ scripts/meson-post-install.sh tools/check_have_unlimited_memlock.sh @@ -160,13 +206,13 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( --prefix GSETTINGS_SCHEMA_DIR : "$out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas/" - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" - ) + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${breeze-icons}/share" + ) ''; meta = with lib; { homepage = "https://www.zrythm.org"; - description = "Highly automated and intuitive digital audio workstation"; + description = "Automated and intuitive digital audio workstation"; maintainers = with maintainers; [ tshaynik magnetophon ]; platforms = platforms.linux; license = licenses.agpl3Plus; diff --git a/pkgs/development/libraries/audio/zix/default.nix b/pkgs/development/libraries/audio/zix/default.nix new file mode 100644 index 000000000000..dcd0b328a052 --- /dev/null +++ b/pkgs/development/libraries/audio/zix/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "zix"; + version = "unstable-2023-02-13"; + + src = fetchFromGitLab { + owner = "drobilla"; + repo = pname; + rev = "262d4a1522c38be0588746e874159da5c7bb457d"; + hash = "sha256-3vuefgnirM4ksK3j9sjBHgOmx0JpL+6tCPb69/7jI00="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + mesonFlags = [ + "-Dbenchmarks=disabled" + "-Ddocs=disabled" + ]; + + meta = with lib; { + description = "A lightweight C99 portability and data structure library"; + homepage = "https://gitlab.com/drobilla/zix"; + changelog = "https://gitlab.com/drobilla/zix/-/blob/${src.rev}/NEWS"; + license = licenses.isc; + platforms = platforms.unix; + maintainers = with maintainers; [ + yuu + zseri + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 901039d799aa..649a4a20822e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24209,6 +24209,8 @@ with pkgs; zita-resampler = callPackage ../development/libraries/audio/zita-resampler { }; + zix = callPackage ../development/libraries/audio/zix { }; + zz = callPackage ../development/compilers/zz { }; zziplib = callPackage ../development/libraries/zziplib { };