Commit 15202b17 authored by yuri's avatar yuri
Browse files

New port: devel/juce: C++ application framework to develop desktop and mobile applications

parent 94160cd3
......@@ -1021,6 +1021,7 @@
SUBDIR += jsoncpp
SUBDIR += jsonnet
SUBDIR += jsonrpc-glib
SUBDIR += juce
SUBDIR += judy
SUBDIR += jwasm
SUBDIR += kBuild
......
# $FreeBSD$
PORTNAME= juce
DISTVERSION= 6.0.8
CATEGORIES= devel
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ application framework to develop desktop and mobile applications
LICENSE= JUCE6
LICENSE_NAME= JUCE 6 End User License Agreement
LICENSE_FILE= ${WRKSRC}/LICENSE.md
LICENSE_PERMS= dist-mirror pkg-mirror auto-accept
BUILD_DEPENDS= ladspa>0:audio/ladspa
LIB_DEPENDS= libasound.so:audio/alsa-lib \
libfreetype.so:print/freetype2 \
libsysinfo.so:devel/libsysinfo
USES= cmake compiler:c++11-lang gl localbase:ldflags xorg
USE_GL= gl
USE_XORG= x11 xcomposite xcursor xext xinerama xorgproto xrandr
USE_GITHUB= yes
GH_ACCOUNT= yurivict # juce-framework
GH_PROJECT= JUCE
GH_TAGNAME= 107cc92
CMAKE_ON= JUCE_BUILD_EXTRAS # JUCE_BUILD_EXAMPLES
CXXFLAGS+= -I${LOCALBASE}/include/freetype2
LDFLAGS+= -pthread -lfreetype
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} -lsysinfo -lexecinfo" # for the step 'Building juceaide' during configure phase: https://github.com/juce-framework/JUCE/issues/877
PLIST_SUB+= VERSION=${PORTVERSION}
post-patch:
# fix fonts.conf path
@${REINPLACE_CMD} -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_linux_Fonts.cpp
# fix JUCE modules path (but it still complains about the path)
@${REINPLACE_CMD} -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/ && ${RMDIR} bin/JUCE-${PORTVERSION}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/juceaide
.include <bsd.port.mk>
TIMESTAMP = 1616695479
SHA256 (yurivict-JUCE-6.0.8-107cc92_GH0.tar.gz) = c2701575857b7ef96898b20811801cb3144d2d7fba89babba888bf7497b4c055
SIZE (yurivict-JUCE-6.0.8-107cc92_GH0.tar.gz) = 14055294
JUCE is a framework for multi-platform audio applications.
It is focused on audio application development and has an extensive set of
autio-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.
WWW: https://juce.com/
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment