Unverified Commit 5389c646 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #217424 from yuuyins/zrythm

zrythm: 1.0.0-alpha.28.1.3 -> 1.0.0-beta.4.5.62; carla: 2.5.1 -> 2.5.3
parents 8b144bb1 410971fc
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -16681,7 +16681,8 @@
    }];
  };
  yuu = {
    email = "yuuyin@protonmail.com";
    email = "yuunix@grrlz.net";
    matrix = "@yuu:matrix.org";
    github = "yuuyins";
    githubId = 86538850;
    name = "Yuu Yin";
+24 −12
Original line number Diff line number Diff line
{ 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" \
+74 −28
Original line number Diff line number Diff line
{ 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;
      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"
    "-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
    "-Dlsp_dsp=disabled"
    "-Db_lto=false"
    "-Ddebug=true"
  ];

  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;
+42 −0
Original line number Diff line number Diff line
{ 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
    ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -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 { };