diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3953a0f5fd68..2edd1abf0e3b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -11938,6 +11938,12 @@ githubId = 146413; name = "Tobias Poschwatta"; }; + PowerUser64 = { + email = "blakelysnorth@gmail.com"; + github = "PowerUser64"; + githubId = 24578572; + name = "Blake North"; + }; ppenguin = { name = "Jeroen Versteeg"; email = "hieronymusv@gmail.com"; diff --git a/pkgs/applications/audio/sonobus/default.nix b/pkgs/applications/audio/sonobus/default.nix new file mode 100644 index 000000000000..da82fcc5a86e --- /dev/null +++ b/pkgs/applications/audio/sonobus/default.nix @@ -0,0 +1,83 @@ +{ lib +, pkg-config +, stdenv +, fetchFromGitHub +, autoPatchelfHook +, alsa-lib +, cmake +, freetype +, libGL +, libX11 +, libXcursor +, libXext +, libXinerama +, libXrandr +, libjack2 +, libopus +, curl +, gtk3 +, webkitgtk +}: + +stdenv.mkDerivation rec { + pname = "sonobus"; + version = "1.6.2"; + + src = fetchFromGitHub { + owner = "sonosaurus"; + repo = "sonobus"; + rev = version; + sha256 = "sha256-/Pb+PYmoCYA6Qcy/tR1Ejyt+rZ3pfJeWV4j7bQWYE58="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + autoPatchelfHook + cmake + pkg-config + ]; + + buildInputs = [ + alsa-lib + freetype + libjack2 + libopus + curl + gtk3 + webkitgtk + ]; + + runtimeDependencies = [ + libGL + libX11 + libXcursor + libXext + libXinerama + libXrandr + ]; + + postPatch = lib.optionalString (stdenv.isLinux) '' + # needs special setup on Linux, dunno if it can work on Darwin + # https://github.com/NixOS/nixpkgs/issues/19098 + # Also, I get issues with linking without that, not sure why + sed -i -e '/juce::juce_recommended_lto_flags/d' CMakeLists.txt + patchShebangs linux/install.sh + ''; + + # The program does not provide any CMake install instructions + installPhase = lib.optionalString (stdenv.isLinux) '' + runHook preInstall + cd ../linux + ./install.sh "$out" + runHook postInstall + ''; + + meta = with lib; { + description = "High-quality network audio streaming"; + homepage = "https://sonobus.net/"; + license = with licenses; [ gpl3Plus ]; + maintainers = with maintainers; [ PowerUser64 ]; + platforms = platforms.unix; + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da31cb1c716a..c4531f413c57 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30487,6 +30487,8 @@ with pkgs; sonixd = callPackage ../applications/audio/sonixd { }; + sonobus = callPackage ../applications/audio/sonobus { }; + sosreport = python3Packages.callPackage ../applications/logging/sosreport { }; spectmorph = callPackage ../applications/audio/spectmorph { };