From nobody Tue Nov 14 08:01:07 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4STzJN2zZ2z50vHH; Tue, 14 Nov 2023 08:01:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4STzJN1cz6z3b6S; Tue, 14 Nov 2023 08:01:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699948868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rvwWNxCMKy8hpZPgSH67gKTjzqlU2kagILZIbpKvldI=; b=Xz10DmaNo23dBW6aWLtR9w5HVRluw6VRv9feBvN0J3yNDwnU/qMa1mwTVzZRfcZ6cG1tzy 6VFtZWkKw4hwq3GF8nwRq5JZyWnnrs2DpAflF8jvEoiEdn2QMj471TB2UZhS9UVNxSuex5 Kub6d1+w+f2kBB7MrInkPANVG58K6QTZfQUtd/fzVi613jjiVShCzA9ostfEy0v/4SS5nx UnfE+KzbYg1tihePoX/TiWRIqJe9vyOC4+VROvbGagfSXJIOnUhrnHjQ4VogFuriG/CpjC yoTkYtvGNSBkZBVCvuogubxQS/MYu51XzlZ7A1ks5HN7JoanrzTrTCtXg8LYuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1699948868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rvwWNxCMKy8hpZPgSH67gKTjzqlU2kagILZIbpKvldI=; b=U6kAzlUdAe0fWibWdQcnPfOULQyeP0uXeHMMSzeHlBlGgg56LCBYsaSoGMf/MOB/cS4xCr PiOMm8XSKgPYqUOnWeuvOeQYf7M7oFnVJQXU9KURpW0Y5ItVa8aMavyotHxkSdkZS+ak9Y KYX3cXnoRcdmyimdykUOXEf3E6Dvhd8MdHBzKRRHZITiY/Ql7xNtDXYLLc+Mottdk8oyI8 m/GsCNvYh2DKmCLSsCs4nggfmhv3corr3uEPu0/CVPJezAw/jEhaew/urRimZNaohfGDBO j7bvTTQiGpUluc7yeUdwdEzjZmKo1+vcf/RIUCVnd8PTFKh71pfsU0TWWKafAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1699948868; a=rsa-sha256; cv=none; b=TLVEiGUPRKalvH+oV0sdq5+45LTOxo/VXjXOKlIYpg5gDzUfHjp3w3WOusrm2dC6Odp5ur /Ucv2DXUyHX9w+jlIOyBaQfe/9rteP9CbtCwfqtWmtGmvrvS7Qp8pY9UlwYEIZG14u3xb9 slTWcQWL9P+48VB+L1Ia0kQj8DUl/OVcZcp3b/vpuTBvE89sn45SonmlhKtMXAVyWZsR5t Hs1wVka9YR7jylJdP0XQVAoMHqXIuSI3gWT5lzuBG6XNi20TpBiZfnVjExV94uz3/xDjOA ivaJn8Xq90sj/YLz2Q05NmSCHa8rTmr6RsHtMctOkHVPqvMRW664oMxD3MXTrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4STzJN0dZ6zgZb; Tue, 14 Nov 2023 08:01:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AE818qv027923; Tue, 14 Nov 2023 08:01:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AE817eK027830; Tue, 14 Nov 2023 08:01:07 GMT (envelope-from git) Date: Tue, 14 Nov 2023 08:01:07 GMT Message-Id: <202311140801.3AE817eK027830@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 7d53a906cf96 - main - devel/juce706: Old version of devel/juce: C++ application framework to develop desktop and mobile applications List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7d53a906cf961175e9334d92db0c05e3585c7fff Auto-Submitted: auto-generated The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=7d53a906cf961175e9334d92db0c05e3585c7fff commit 7d53a906cf961175e9334d92db0c05e3585c7fff Author: Yuri Victorovich AuthorDate: 2023-11-14 07:45:41 +0000 Commit: Yuri Victorovich CommitDate: 2023-11-14 08:00:52 +0000 devel/juce706: Old version of devel/juce: C++ application framework to develop desktop and mobile applications juce-7.0.6 is needed for audio/bespokesynth because it builds only with this particular version of Juce. PR: 274457 --- devel/Makefile | 1 + devel/juce706/Makefile | 96 + devel/juce706/distinfo | 3 + ...types_VST3__SDK_pluginterfaces_base_fplatform.h | 46 + ...ypes_VST3__SDK_pluginterfaces_base_funknown.cpp | 29 + ...juce__dsp_containers_juce__AudioBlock__test.cpp | 13 + devel/juce706/pkg-descr | 7 + devel/juce706/pkg-message | 15 + devel/juce706/pkg-plist | 2230 ++++++++++++++++++++ 9 files changed, 2440 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index 43b1174a9e53..0baabcf85a47 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1031,6 +1031,7 @@ SUBDIR += jsonnet SUBDIR += jsonrpc-glib SUBDIR += juce + SUBDIR += juce706 SUBDIR += judy SUBDIR += jwasm SUBDIR += kBuild diff --git a/devel/juce706/Makefile b/devel/juce706/Makefile new file mode 100644 index 000000000000..4140a610a364 --- /dev/null +++ b/devel/juce706/Makefile @@ -0,0 +1,96 @@ +PORTNAME= juce +DISTVERSION= 7.0.6 +CATEGORIES= devel +PKGNAMESUFFIX= 706 + +MAINTAINER= yuri@FreeBSD.org +COMMENT= C++ application framework to develop desktop and mobile applications +WWW= https://juce.com/ + +LICENSE= JUCE6 +LICENSE_NAME= JUCE 6 End User License Agreement +LICENSE_FILE= ${WRKSRC}/LICENSE.md +LICENSE_PERMS= auto-accept dist-mirror pkg-mirror + +BROKEN_riscv64= Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi) + +BUILD_DEPENDS= ladspa>0:audio/ladspa +LIB_DEPENDS= libasound.so:audio/alsa-lib \ + libcurl.so:ftp/curl \ + libfreetype.so:print/freetype2 \ + libharfbuzz.so:print/harfbuzz \ + libjavascriptcoregtk-4.0.so:www/webkit2-gtk3 \ + libpng16.so:graphics/png \ + libsoup-2.4.so:devel/libsoup \ + libsysinfo.so:devel/libsysinfo + +USES= cmake compiler:c++11-lang dos2unix gl gnome localbase:ldflags pkgconfig xorg +DOS2UNIX_FILES= modules/juce_core/juce_core.h \ + modules/juce_dsp/containers/juce_AudioBlock_test.cpp +USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk30 pango +USE_GL= gl +USE_XORG= x11 xcomposite xcursor xext xinerama xorgproto xrandr + +USE_GITHUB= yes +GH_ACCOUNT= juce-framework +GH_PROJECT= JUCE + +CMAKE_ON= JUCE_BUILD_EXTRAS + +CXXFLAGS+= -I${LOCALBASE}/include/freetype2 -DJUCE_INCLUDE_PNGLIB_CODE=0 +LDFLAGS+= -pthread -lfreetype -lpng16 +LDFLAGS+= -lGL # while building NetworkGraphicsDemo ld: error: undefined symbol: glXGetCurrentContext referenced by ld-temp.o +LDFLAGS+= -lasound # while building AudioPerformanceTest ld: error: undefined symbol: snd_seq_system_info_sizeof +LDFLAGS+= -lsysinfo # while building Projucer ld: error: undefined symbol: sysinfo + +CONFIGURE_ENV+= CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS} -lexecinfo" # for the step 'Building juceaide' during configure phase: https://github.com/juce-framework/JUCE/issues/877 + +PLIST_SUB+= VERSION=${PORTVERSION} + +OPTIONS_DEFINE= DEMOS + +DEMOS_DESC= Build and install demo programs +DEMOS_USES= gnome pkgconfig +DEMOS_CMAKE_BOOL= JUCE_BUILD_EXAMPLES +DEMOS_LDFLAGS= -lexecinfo +DEMOS_USE= GNOME=atk,cairo,gdkpixbuf2,gtk30,pango +DEMOS_LIB_DEPENDS= libcurl.so:ftp/curl \ + libwebkit2gtk-4.0.so:www/webkit2-gtk3 \ + libsoup-2.4.so:devel/libsoup +DEMO_FILES= \ + AnalyticsCollectionDemo AnimationAppDemo AnimationDemo AudioAppDemo AudioLatencyDemo AudioPlaybackDemo AudioPluginDemo AudioRecordingDemo AudioSettingsDemo AudioSynthesiserDemo \ + BlocksDrawingDemo BlocksMonitorDemo BlocksSynthDemo BouncingBallWavetableDemo Box2DDemo ChildProcessDemo CodeEditorDemo ComponentDemo ComponentTransformsDemo ConvolutionDemo \ + CryptographyDemo DSPModulePluginDemo DialogsDemo FIRFilterDemo FlexBoxDemo FontsDemo GainDemo GraphicsDemo GridDemo HelloWorldDemo \ + IIRFilterDemo ImagesDemo InAppPurchasesDemo JavaScriptDemo KeyMappingsDemo LiveConstantDemo LookAndFeelDemo MDIDemo MPEDemo MenusDemo \ + MidiDemo MultiTouchDemo MultithreadingDemo NetworkingDemo OSCDemo OpenGLAppDemo OpenGLDemo OscillatorDemo OverdriveDemo PluckedStringsDemo \ + PropertiesDemo SIMDRegisterDemo SimpleFFTDemo StateVariableFilterDemo SystemInfoDemo TimersAndEventsDemo UnitTestsDemo ValueTreesDemo WaveShaperTanhDemo WebBrowserDemo \ + WidgetsDemo WindowsDemo XMLandJSONDemo +DEMOS_PLIST_FILES= ${DEMO_FILES:S/^/bin\/${PORTNAME}-/} +DEMOS_BROKEN= pending merge of patches from https://github.com/juce-framework/JUCE/pull/881 + +post-patch: + # fix fonts.conf path + @${REINPLACE_CMD} -i '' -e ' \ + s|"/etc/fonts/fonts.conf"|"${PREFIX}/etc/fonts/fonts.conf"| ; \ + s|"/usr/share/fonts/fonts.conf"|"${PREFIX}/share/fonts/fonts.conf"| \ + ' ${WRKSRC}/modules/juce_graphics/native/juce_Fonts_linux.cpp + # fix JUCE modules path (but it still complains about the path) + @${REINPLACE_CMD} -i '' -e ' \ + s|"~/JUCE|"${PREFIX}/include/JUCE-${PORTVERSION}| \ + ' ${WRKSRC}/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp + +post-install: + # install extras which are essential apps that aren't installed by the project for some reason +.for exe in AudioPerformanceTest AudioPluginHost BinaryBuilder NetworkGraphicsDemo Projucer UnitTestRunner + ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/extras/${exe}/${exe}_artefacts/Release/${exe} ${STAGEDIR}${PREFIX}/bin +.endfor + # fix path and strip juceaide + cd ${STAGEDIR}${PREFIX} && ${MV} bin/JUCE-${PORTVERSION}/juceaide bin/ + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/juceaide + +do-install-DEMOS-on: +.for e in ${DEMO_FILES} + ${INSTALL_PROGRAM} `${FIND} ${BUILD_WRKSRC} -name ${e}` ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-${e} +.endfor + +.include diff --git a/devel/juce706/distinfo b/devel/juce706/distinfo new file mode 100644 index 000000000000..7804b29ee06a --- /dev/null +++ b/devel/juce706/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1691704708 +SHA256 (juce-framework-JUCE-7.0.6_GH0.tar.gz) = 4106210e3be4639a439d43f8e064a34402cea77da371644dba1fc0f30f0b66fc +SIZE (juce-framework-JUCE-7.0.6_GH0.tar.gz) = 19264006 diff --git a/devel/juce706/files/patch-modules_juce__audio__processors_format__types_VST3__SDK_pluginterfaces_base_fplatform.h b/devel/juce706/files/patch-modules_juce__audio__processors_format__types_VST3__SDK_pluginterfaces_base_fplatform.h new file mode 100644 index 000000000000..010ec0eed47a --- /dev/null +++ b/devel/juce706/files/patch-modules_juce__audio__processors_format__types_VST3__SDK_pluginterfaces_base_fplatform.h @@ -0,0 +1,46 @@ +--- modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h.orig 2023-01-25 11:45:10 UTC ++++ modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/fplatform.h +@@ -139,6 +139,43 @@ + #define SMTG_HAS_NOEXCEPT 1 + #endif + //----------------------------------------------------------------------------- ++// BSD ++//----------------------------------------------------------------------------- ++#elif __FreeBSD__ ++ #define SMTG_OS_LINUX 1 // atomic operations need to be implemented ++ #define SMTG_OS_MACOS 0 ++ #define SMTG_OS_WINDOWS 0 ++ #define SMTG_OS_IOS 0 ++ #define SMTG_OS_OSX 0 ++ ++ #include ++ #if __BYTE_ORDER == __LITTLE_ENDIAN ++ #define BYTEORDER kLittleEndian ++ #else ++ #define BYTEORDER kBigEndian ++ #endif ++ ++ #define COM_COMPATIBLE 0 ++ #define PLUGIN_API ++ #define SMTG_PTHREADS 1 ++ ++ #define SMTG_EXPORT_SYMBOL __attribute__ ((visibility ("default"))) ++ ++ #if __LP64__ ++ #define SMTG_PLATFORM_64 1 ++ #else ++ #define SMTG_PLATFORM_64 0 ++ #endif ++ #ifdef __cplusplus ++ #include ++ #define SMTG_CPP11 (__cplusplus >= 201103L) ++ #ifndef SMTG_CPP11 ++ #error unsupported compiler ++ #endif ++ #define SMTG_CPP11_STDLIBSUPPORT 1 ++ #define SMTG_HAS_NOEXCEPT 1 ++ #endif ++//----------------------------------------------------------------------------- + // Mac and iOS + //----------------------------------------------------------------------------- + #elif __APPLE__ diff --git a/devel/juce706/files/patch-modules_juce__audio__processors_format__types_VST3__SDK_pluginterfaces_base_funknown.cpp b/devel/juce706/files/patch-modules_juce__audio__processors_format__types_VST3__SDK_pluginterfaces_base_funknown.cpp new file mode 100644 index 000000000000..c8583d61d146 --- /dev/null +++ b/devel/juce706/files/patch-modules_juce__audio__processors_format__types_VST3__SDK_pluginterfaces_base_funknown.cpp @@ -0,0 +1,29 @@ +--- modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp.orig 2023-03-05 05:39:00 UTC ++++ modules/juce_audio_processors/format_types/VST3_SDK/pluginterfaces/base/funknown.cpp +@@ -44,7 +44,7 @@ + #endif // !SMTG_USE_STDATOMIC_H + #endif // SMTG_OS_MACOS + +-#if SMTG_OS_LINUX ++#if SMTG_OS_LINUX && !JUCE_BSD + #if !defined (SMTG_USE_STDATOMIC_H) + #if defined (__ANDROID__) || defined(_LIBCPP_VERSION) + #define SMTG_USE_STDATOMIC_H 1 +@@ -100,7 +100,7 @@ int32 PLUGIN_API atomicAdd (int32& var, int32 d) + return OSAtomicAdd32Barrier (d, (int32_t*)&var); + #elif defined(__ANDROID__) + return atomic_fetch_add ((atomic_int*)&var, d) + d; +-#elif SMTG_OS_LINUX ++#elif SMTG_OS_LINUX && !JUCE_BSD + __gnu_cxx::__atomic_add (&var, d); + return var; + #else +@@ -177,7 +177,7 @@ bool FUID::generate () + } + return false; + +-#elif SMTG_OS_LINUX ++#elif SMTG_OS_LINUX && !JUCE_BSD + srand ((size_t)this); + for (int32 i = 0; i < 16; i++) + data[i] = static_cast(rand ()); diff --git a/devel/juce706/files/patch-modules_juce__dsp_containers_juce__AudioBlock__test.cpp b/devel/juce706/files/patch-modules_juce__dsp_containers_juce__AudioBlock__test.cpp new file mode 100644 index 000000000000..0e1571f86135 --- /dev/null +++ b/devel/juce706/files/patch-modules_juce__dsp_containers_juce__AudioBlock__test.cpp @@ -0,0 +1,13 @@ +--- modules/juce_dsp/containers/juce_AudioBlock_test.cpp.orig 2023-08-23 16:47:58 UTC ++++ modules/juce_dsp/containers/juce_AudioBlock_test.cpp +@@ -28,8 +28,10 @@ namespace juce + namespace dsp + { + ++#if JUCE_USE_SIMD + template + String& operator<< (String& str, SIMDRegister) { return str; } ++#endif + + template + class AudioBlockUnitTests : public UnitTest diff --git a/devel/juce706/pkg-descr b/devel/juce706/pkg-descr new file mode 100644 index 000000000000..5d280c3ac284 --- /dev/null +++ b/devel/juce706/pkg-descr @@ -0,0 +1,7 @@ +JUCE is a framework for multi-platform audio applications. + +It is focused on audio application development and has an extensive set of +audio-related modules. + +It doesn't yet support makefile export or IDE project export on Linux/BSD, +so for now it can only create .jucer projects. diff --git a/devel/juce706/pkg-message b/devel/juce706/pkg-message new file mode 100644 index 000000000000..84c45d23128f --- /dev/null +++ b/devel/juce706/pkg-message @@ -0,0 +1,15 @@ +[ +{ type: install + message: <