# Buildsheet autogenerated by ravenadm tool -- Do not edit.

NAMEBASE=		libprojectm
VERSION=		4.1.4
KEYWORDS=		graphics
VARIANTS=		std
SDESC[std]=		Milkdrop-compatible music visualization library
HOMEPAGE=		https://github.com/projectM-visualizer/projectm
CONTACT=		Michael_Reim[kraileth@elderlinux.org]

DOWNLOAD_GROUPS=	main
SITES[main]=		GITHUB/projectM-visualizer:projectm:v4.1.4
DISTFILE[1]=		generated:main
DF_INDEX=		1
SPKGS[std]=		set
			primary
			dev

OPTIONS_AVAILABLE=	none
OPTIONS_STANDARD=	none

BUILD_DEPENDS=		glm:single:std
			libglvnd:dev:std
			projectm-eval:single:std
BUILDRUN_DEPENDS=	libglvnd:primary:std

USES=			c++:primary cmake
XORG_COMPONENTS=	x11

DISTNAME=		projectm-4.1.4

LICENSE=		LGPL21+:primary
LICENSE_TERMS=		primary:{{WRKSRC}}/COPYING
LICENSE_FILE=		LGPL21+:{{WRKSRC}}/LICENSE.txt
LICENSE_SCHEME=		solo

FPC_EQUIVALENT=		graphics/libprojectm

SOVERSION=		4.1.4

CMAKE_ARGS=		-DCMAKE_BUILD_TYPE=Release
			-DBUILD_SHARED_LIBS:BOOL=ON
			-DENABLE_PLAYLIST:BOOL=ON
			-DENABLE_CXX_INTERFACE:BOOL=TRUE
			-DENABLE_GLES:BOOL=ON
			-DENABLE_SYSTEM_GLM:BOOL=ON
			-DBUILD_DOCS:BOOL=OFF

post-install:
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libprojectM-4.so
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libprojectM-4-playlist.so

[FILE:537:descriptions/desc.primary]
Experience psychedelic and mesmerizing visuals by transforming music into 
equations that render into a limitless array of user-contributed 
visualizations.

projectM is an open-source project that reimplements the esteemed Winamp 
Milkdrop by Geiss (https://en.wikipedia.org/wiki/MilkDrop) in a more 
modern, cross-platform reusable library.

Its purpose in life is to read an audio input and to produce mesmerizing 
visuals, detecting tempo, and rendering advanced equations into a 
limitless array of user-contributed visualizations.


[FILE:120:distinfo]
f00749dd6002ca7053afd60f0ca7af710786764c4433f6a6c643473bf1cbd339     47878857 projectM-visualizer-projectm-4.1.4.tar.gz


[FILE:147:manifests/plist.primary]
lib/
 libprojectM-4-playlist.so.%%SOMAJOR%%
 libprojectM-4-playlist.so.%%SOVERSION%%
 libprojectM-4.so.%%SOMAJOR%%
 libprojectM-4.so.%%SOVERSION%%


[FILE:779:manifests/plist.dev]
include/projectM-4/
 PCM.hpp
 ProjectM.hpp
 audio.h
 callbacks.h
 core.h
 debug.h
 memory.h
 parameters.h
 playlist.h
 playlist_callbacks.h
 playlist_core.h
 playlist_filter.h
 playlist_items.h
 playlist_memory.h
 playlist_playback.h
 playlist_types.h
 projectM.h
 projectM_export.h
 projectM_playlist_export.h
 render_opengl.h
 touch.h
 types.h
 version.h
lib/
 libprojectM-4-playlist.so
 libprojectM-4.so
lib/cmake/projectM4/
 FindOpenGL.cmake
 projectM4Config.cmake
 projectM4ConfigVersion.cmake
 projectM4Targets-release.cmake
 projectM4Targets.cmake
lib/cmake/projectM4Playlist/
 projectM4PlaylistConfig.cmake
 projectM4PlaylistConfigVersion.cmake
 projectM4PlaylistTargets-release.cmake
 projectM4PlaylistTargets.cmake
lib/pkgconfig/
 projectM-4-playlist.pc
 projectM-4.pc


[FILE:975:patches/patch-CMakeLists.txt]
--- CMakeLists.txt.orig	2025-01-24 14:18:56 UTC
+++ CMakeLists.txt
@@ -160,8 +160,12 @@ else()
     if(ENABLE_GLES)
         message(STATUS "Building for OpenGL Embedded Profile")
         if(NOT CMAKE_SYSTEM_NAME STREQUAL Linux
-                AND NOT CMAKE_SYSTEM_NAME STREQUAL Android)
-            message(FATAL_ERROR "OpenGL ES 3 support is currently only available for Linux platforms. You're building for ${CMAKE_SYSTEM_NAME}.")
+                AND NOT CMAKE_SYSTEM_NAME STREQUAL Android
+                AND NOT CMAKE_SYSTEM_NAME STREQUAL DragonFly
+		AND NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD
+		AND NOT CMAKE_SYSTEM_NAME STREQUAL MidnightBSD
+		AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD)
+            message(FATAL_ERROR "OpenGL ES 3 support is currently only available for Unix-like platforms. You're building for ${CMAKE_SYSTEM_NAME}.")
         endif()
 
         # We use a local find script for OpenGL::GLES3 until the proposed changes are merged upstream.