Change:
<ins> { lib , stdenv , fetchFromGitHub , fetchpatch # Native build inputs , cmake , pkg-config , makeWrapper # Dependencies , alsa-lib , freetype , curl , libglvnd , webkitgtk , pcre , darwin }: stdenv.mkDerivation (finalAttrs: { pname = "juce"; version = "7.0.7"; src = fetchFromGitHub { owner = "juce-framework"; repo = "juce"; rev = finalAttrs.version; hash = "sha256-r+Wf/skPDexm3rsrVBoWrygKvV9HGlCQd7r0iHr9avM="; }; patches = [ (fetchpatch { name = "juce-6.1.2-cmake_install.patch"; url = "https://gitlab.archlinux.org/archlinux/packaging/packages/juce/-/raw/4e6d34034b102af3cd762a983cff5dfc09e44e91/juce-6.1.2-cmake_install.patch"; hash = "sha256-fr2K/dH0Zam5QKS63zos7eq9QLwdr+bvQL5ZxScagVU="; }) ]; nativeBuildInputs = [ cmake pkg-config makeWrapper ]; buildInputs = [ freetype # libfreetype.so curl # libcurl.so stdenv.cc.cc.lib # libstdc++.so libgcc_s.so pcre # libpcre2.pc ] ++ lib.optionals stdenv.isLinux [ alsa-lib # libasound.so libglvnd # libGL.so webkitgtk # webkit2gtk-4.0 ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk_11_0.frameworks.Cocoa darwin.apple_sdk_11_0.frameworks.MetalKit darwin.apple_sdk_11_0.frameworks.WebKit ]; meta = with lib; { description = "Cross-platform C++ application framework"; longDescription = "JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins"; homepage = "https://github.com/juce-framework/JUCE"; license = with licenses; [ isc gpl3Plus ]; maintainers = with maintainers; [ kashw2 ]; platforms = platforms.all; }; }) </ins>

Discussion:
Project description JUCE is an open-source cross-platform C++ application framework for creating high quality desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2 audio plug-ins and plug-in hosts. JUCE can be easily integrated with existing projects via CMake, or can be used as a project generation tool via the , which supports exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio, Code::Blocks and Linux Makefiles as well as containing a source code editor. Metadata homepage URL: source URL: license: See below platforms: unix, linux, darwin, windows, android... C++ Standard: 17+ macOS/iOS: Xcode 10.1 (macOS 10.13.6) Windows: Windows 8.1 and Visual Studio 2017 Linux: g++ 7.0 or Clang 6.0 (for a full list of dependencies, see ). Android: Android Studio on Windows, macOS or LinuxmacOS: macOS 10.9 Windows: Windows Vista Linux: Mainstream Linux distributions iOS: iOS 9.0 Android: Jelly Bean (API 16) The core JUCE modules (juceaudiobasics, juceaudiodevices, jucecore and juceevents) are permissively licensed under the terms of the . Other modules are covered by a /Commercial license. There are multiple commercial licensing tiers for JUCE, with different terms for each: JUCE Personal (developers or startup businesses with revenue under 50K USD) - free JUCE Indie (small businesses with revenue under 500K USD) - 800 perpetual JUCE Pro (no revenue limit) - 2600 perpetual JUCE Educational (no revenue limit) - free for bona fide educational institutes
.
Hey I've created a derivation that works but just wanted to check with you that it's outputting the correct binaries first. My derivation outputs: jucelv2helper jucevst3helper juceaide Is this correct? I'd tried using the releases upstream provides and noticed that they provide both a DemoRunner and a Projucer executable instead.
Super cool Having the (optional executable to bootstrap JUCE projects) and DemoRunner executable available would be very nice. . Will the derivation also expose the library headers when developing using the JUCE application framework?

At the moment I haven't had much luck getting Projucer running without core dumping less than a minute in. I've been able to get the DemoRunner to run though and could add that. At the moment it's just exposing , and the . A quick look looks like allows you to create modules by running . Do you have a link to documentation on the library headers?
Hi In the linked Pull Request I've now the library headers. You'll be able to access them via the and directories inside the package.