git: f1e0091177b8 - main - audio/triceratops-lv2: Re-add port: Polyphonic synthesizer LV2 plugin

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 04 Jun 2023 20:30:56 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f1e0091177b8293147ba8ccb4ab10233c1753f11

commit f1e0091177b8293147ba8ccb4ab10233c1753f11
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-06-04 18:26:59 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-06-04 20:30:53 +0000

    audio/triceratops-lv2: Re-add port: Polyphonic synthesizer LV2 plugin
---
 MOVED                                              |   1 -
 audio/Makefile                                     |   1 +
 audio/triceratops-lv2/Makefile                     |  34 +++++++
 audio/triceratops-lv2/distinfo                     |   3 +
 .../files/patch-triceratops__gui.cpp               |  11 ++
 audio/triceratops-lv2/pkg-descr                    |   7 ++
 audio/triceratops-lv2/pkg-plist                    | 112 +++++++++++++++++++++
 7 files changed, 168 insertions(+), 1 deletion(-)

diff --git a/MOVED b/MOVED
index a3357df08fd1..ed8f84f9b5a6 100644
--- a/MOVED
+++ b/MOVED
@@ -4672,7 +4672,6 @@ audio/py-karaoke||2020-08-15|Has expired: Uses deprecated version of python
 audio/py-openal||2020-08-15|Has expired: Uses deprecated version of python
 audio/py-py-jack||2020-08-15|Has expired: Uses deprecated version of python
 audio/py-xmms2||2020-08-15|Has expired: Uses deprecated version of python
-audio/triceratops-lv2||2020-08-15|Has expired: Uses deprecated version of python
 comms/py-bulksms||2020-08-15|Has expired: Uses deprecated version of python
 comms/py-gammu||2020-08-15|Has expired: Uses deprecated version of python
 databases/py-geoalchemy||2020-08-15|Has expired: Uses deprecated version of python
diff --git a/audio/Makefile b/audio/Makefile
index d850c4db26b5..feedad6b392f 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -822,6 +822,7 @@
     SUBDIR += toccata-lv2
     SUBDIR += tosha
     SUBDIR += traverso
+    SUBDIR += triceratops-lv2
     SUBDIR += tse3
     SUBDIR += tta
     SUBDIR += tuner
diff --git a/audio/triceratops-lv2/Makefile b/audio/triceratops-lv2/Makefile
new file mode 100644
index 000000000000..4be477dded02
--- /dev/null
+++ b/audio/triceratops-lv2/Makefile
@@ -0,0 +1,34 @@
+PORTNAME=	triceratops
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.5.0_Oct_2022
+CATEGORIES=	audio
+MASTER_SITES=	SF/triceratops
+PKGNAMESUFFIX=	-lv2
+DISTNAME=	${PORTNAME}_${DISTVERSIONFULL}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Polyphonic synthesizer LV2 plugin
+WWW=		https://sourceforge.net/projects/triceratops
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+BUILD_DEPENDS=	lv2>0:audio/lv2
+LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig \
+		libfreetype.so:print/freetype2 \
+		libharfbuzz.so:print/harfbuzz
+
+USES=		compiler:c++11-lang gnome pkgconfig python:build waf
+USE_GNOME=	cairo cairomm gdkpixbuf2 gtk20 gtkmm24
+
+WRKSRC=		${WRKDIR}/${PORTNAME}#-lv2-0.5.0.o.2022
+
+post-patch:
+	${REINPLACE_CMD} -e 's|"/usr/lib/lv2"|"${PREFIX}/lib/lv2"|' ${WRKSRC}/wscript
+
+post-install:
+		@${STRIP_CMD} \
+			${STAGEDIR}${PREFIX}/lib/lv2/triceratops.lv2/triceratops.so \
+			${STAGEDIR}${PREFIX}/lib/lv2/triceratops.lv2/triceratops_gui.so
+
+.include <bsd.port.mk>
diff --git a/audio/triceratops-lv2/distinfo b/audio/triceratops-lv2/distinfo
new file mode 100644
index 000000000000..b378b8458d4b
--- /dev/null
+++ b/audio/triceratops-lv2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1633275211
+SHA256 (triceratops_v0.5.0_Oct_2022.tar.gz) = 93b2d74bb611fc3a26c2060ba678656b89d7ddba5b9e31e27a5758ec9924596e
+SIZE (triceratops_v0.5.0_Oct_2022.tar.gz) = 954658
diff --git a/audio/triceratops-lv2/files/patch-triceratops__gui.cpp b/audio/triceratops-lv2/files/patch-triceratops__gui.cpp
new file mode 100644
index 000000000000..2b7c1226089f
--- /dev/null
+++ b/audio/triceratops-lv2/files/patch-triceratops__gui.cpp
@@ -0,0 +1,11 @@
+--- triceratops_gui.cpp.orig	2023-06-04 18:06:02 UTC
++++ triceratops_gui.cpp
+@@ -312,7 +312,7 @@ static GtkWidget* make_gui(triceratopsGUI *self) {
+ }
+ 
+ 
+-static LV2UI_Handle instantiate(const struct _LV2UI_Descriptor * descriptor,
++static LV2UI_Handle instantiate(const struct LV2UI_Descriptor * descriptor,
+                 const char * plugin_uri,
+                 const char * bundle_path,
+                 LV2UI_Write_Function write_function,
diff --git a/audio/triceratops-lv2/pkg-descr b/audio/triceratops-lv2/pkg-descr
new file mode 100644
index 000000000000..666e015a1416
--- /dev/null
+++ b/audio/triceratops-lv2/pkg-descr
@@ -0,0 +1,7 @@
+Triceratops is an analogue style polyphonic subtractive synthesizer plugin,
+for use with the LV2 plug architecture, at this time there is no standalone
+version. An up to date version of the LV2 library is required along with a
+suitable host (e.g. Qtractor, Jalv, Ardour), I highly recommend either the
+KXstudio distro or the KXstudio ubuntu repositories! The intention is for
+this synth to be part of a suite including a drum machine (Stegosaurus) and
+a wavetable synth (Dracorex), watch this space.
diff --git a/audio/triceratops-lv2/pkg-plist b/audio/triceratops-lv2/pkg-plist
new file mode 100644
index 000000000000..8314ad113c30
--- /dev/null
+++ b/audio/triceratops-lv2/pkg-plist
@@ -0,0 +1,112 @@
+lib/lv2/triceratops-presets.lv2/128-growlie.ttl
+lib/lv2/triceratops-presets.lv2/5th_bass.ttl
+lib/lv2/triceratops-presets.lv2/CZesque_Pad.ttl
+lib/lv2/triceratops-presets.lv2/DeepPluck.ttl
+lib/lv2/triceratops-presets.lv2/First_Exoplanet_Data.ttl
+lib/lv2/triceratops-presets.lv2/First_Exoplanet_Data_2.ttl
+lib/lv2/triceratops-presets.lv2/Glass_Pad.ttl
+lib/lv2/triceratops-presets.lv2/Mantronic_Bass.ttl
+lib/lv2/triceratops-presets.lv2/PluckBass_2.ttl
+lib/lv2/triceratops-presets.lv2/Selected_Ambient_EPiano.ttl
+lib/lv2/triceratops-presets.lv2/The_Thing_Bass.ttl
+lib/lv2/triceratops-presets.lv2/Weird_Harmonic_EPiano.ttl
+lib/lv2/triceratops-presets.lv2/Winds_Of_Mars.ttl
+lib/lv2/triceratops-presets.lv2/aceeeed.ttl
+lib/lv2/triceratops-presets.lv2/acid_1.ttl
+lib/lv2/triceratops-presets.lv2/acid_2.ttl
+lib/lv2/triceratops-presets.lv2/acid_pw.ttl
+lib/lv2/triceratops-presets.lv2/after_the_storm.ttl
+lib/lv2/triceratops-presets.lv2/analogue_single_string.ttl
+lib/lv2/triceratops-presets.lv2/arpie.ttl
+lib/lv2/triceratops-presets.lv2/bass_1.ttl
+lib/lv2/triceratops-presets.lv2/bass_3.ttl
+lib/lv2/triceratops-presets.lv2/bass_4.ttl
+lib/lv2/triceratops-presets.lv2/big_pad.ttl
+lib/lv2/triceratops-presets.lv2/big_trance.ttl
+lib/lv2/triceratops-presets.lv2/brass.ttl
+lib/lv2/triceratops-presets.lv2/brass2.ttl
+lib/lv2/triceratops-presets.lv2/castral.ttl
+lib/lv2/triceratops-presets.lv2/clang.ttl
+lib/lv2/triceratops-presets.lv2/classic_analogue_swell.ttl
+lib/lv2/triceratops-presets.lv2/creamy_unison.ttl
+lib/lv2/triceratops-presets.lv2/czish.ttl
+lib/lv2/triceratops-presets.lv2/dervis_3.ttl
+lib/lv2/triceratops-presets.lv2/dervish.ttl
+lib/lv2/triceratops-presets.lv2/dervish_2.ttl
+lib/lv2/triceratops-presets.lv2/dervish_3.ttl
+lib/lv2/triceratops-presets.lv2/dominator.ttl
+lib/lv2/triceratops-presets.lv2/dual_sync_pad.ttl
+lib/lv2/triceratops-presets.lv2/dubstep_wobble_1.ttl
+lib/lv2/triceratops-presets.lv2/dubstep_wobble_2.ttl
+lib/lv2/triceratops-presets.lv2/electro.ttl
+lib/lv2/triceratops-presets.lv2/eno-esque.ttl
+lib/lv2/triceratops-presets.lv2/evil_whispers.ttl
+lib/lv2/triceratops-presets.lv2/fm_parp_bass.ttl
+lib/lv2/triceratops-presets.lv2/fm_slight_vox.ttl
+lib/lv2/triceratops-presets.lv2/fm_twangy.ttl
+lib/lv2/triceratops-presets.lv2/formant_1.ttl
+lib/lv2/triceratops-presets.lv2/glassy.ttl
+lib/lv2/triceratops-presets.lv2/glider.ttl
+lib/lv2/triceratops-presets.lv2/grossriser.ttl
+lib/lv2/triceratops-presets.lv2/house_bass.ttl
+lib/lv2/triceratops-presets.lv2/jarresque_formant.ttl
+lib/lv2/triceratops-presets.lv2/lazer_bass.ttl
+lib/lv2/triceratops-presets.lv2/league_bass.ttl
+lib/lv2/triceratops-presets.lv2/lost_in_space.ttl
+lib/lv2/triceratops-presets.lv2/magic_orchestra.ttl
+lib/lv2/triceratops-presets.lv2/manifest.ttl
+lib/lv2/triceratops-presets.lv2/marsian_orchestra.ttl
+lib/lv2/triceratops-presets.lv2/marsian_orchestra_2.ttl
+lib/lv2/triceratops-presets.lv2/melancholy_fairytale.ttl
+lib/lv2/triceratops-presets.lv2/nasty_square.ttl
+lib/lv2/triceratops-presets.lv2/nervous_in_a_cavern.ttl
+lib/lv2/triceratops-presets.lv2/nice_square_mod.ttl
+lib/lv2/triceratops-presets.lv2/nice_square_mod_2.ttl
+lib/lv2/triceratops-presets.lv2/nice_square_mod_3.ttl
+lib/lv2/triceratops-presets.lv2/operatic.ttl
+lib/lv2/triceratops-presets.lv2/pad_0.ttl
+lib/lv2/triceratops-presets.lv2/pad_2.ttl
+lib/lv2/triceratops-presets.lv2/pluto.ttl
+lib/lv2/triceratops-presets.lv2/pure_sine.ttl
+lib/lv2/triceratops-presets.lv2/pw_bass.ttl
+lib/lv2/triceratops-presets.lv2/pw_sync.ttl
+lib/lv2/triceratops-presets.lv2/radiophonic_2.ttl
+lib/lv2/triceratops-presets.lv2/raggy_rasp.ttl
+lib/lv2/triceratops-presets.lv2/res_mod.ttl
+lib/lv2/triceratops-presets.lv2/resonance_bass.ttl
+lib/lv2/triceratops-presets.lv2/sample_and_hold_1.ttl
+lib/lv2/triceratops-presets.lv2/scenery_from_the_80s.ttl
+lib/lv2/triceratops-presets.lv2/scifi.ttl
+lib/lv2/triceratops-presets.lv2/sevenths.ttl
+lib/lv2/triceratops-presets.lv2/sh101_esque.ttl
+lib/lv2/triceratops-presets.lv2/sing.ttl
+lib/lv2/triceratops-presets.lv2/sissy_spacey_tech.ttl
+lib/lv2/triceratops-presets.lv2/slow_munching_prions.ttl
+lib/lv2/triceratops-presets.lv2/stereo_mod.ttl
+lib/lv2/triceratops-presets.lv2/stereo_mod_2.ttl
+lib/lv2/triceratops-presets.lv2/sync_bass.ttl
+lib/lv2/triceratops-presets.lv2/sync_bass_2.ttl
+lib/lv2/triceratops-presets.lv2/sync_lead.ttl
+lib/lv2/triceratops-presets.lv2/sync_lead_1.ttl
+lib/lv2/triceratops-presets.lv2/sync_legato.ttl
+lib/lv2/triceratops-presets.lv2/synths_had_a_drink.ttl
+lib/lv2/triceratops-presets.lv2/test_square.ttl
+lib/lv2/triceratops-presets.lv2/theres_no_limits.ttl
+lib/lv2/triceratops-presets.lv2/valves1.ttl
+lib/lv2/triceratops-presets.lv2/valves2.ttl
+lib/lv2/triceratops-presets.lv2/valves3.ttl
+lib/lv2/triceratops-presets.lv2/warm.ttl
+lib/lv2/triceratops-presets.lv2/warm_7th.ttl
+lib/lv2/triceratops-presets.lv2/warm_7th_2.ttl
+lib/lv2/triceratops-presets.lv2/warm_string_echoed.ttl
+lib/lv2/triceratops-presets.lv2/warm_swells.ttl
+lib/lv2/triceratops-presets.lv2/wendy_bach.ttl
+lib/lv2/triceratops-presets.lv2/wowow.ttl
+lib/lv2/triceratops-presets.lv2/yaaaah.ttl
+lib/lv2/triceratops.lv2/logo.png
+lib/lv2/triceratops.lv2/manifest.ttl
+lib/lv2/triceratops.lv2/triceratops.conf
+lib/lv2/triceratops.lv2/triceratops.so
+lib/lv2/triceratops.lv2/triceratops.ttl
+lib/lv2/triceratops.lv2/triceratops_categories.txt
+lib/lv2/triceratops.lv2/triceratops_gui.so