git: 306440727d62 - main - audio/inscore: New port: Environment for the design of interactive augmented music scores

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 24 Oct 2021 21:11:59 UTC
The branch main has been updated by yuri:

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

commit 306440727d624085c88f31a54aee56124f87bb8d
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2021-10-24 21:09:27 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2021-10-24 21:11:14 +0000

    audio/inscore: New port: Environment for the design of interactive augmented music scores
    
    The executable 'inscoreviewer' isn't installed for some reason,
    see https://github.com/grame-cncm/inscore/issues/18
    
    PR:             221865
---
 audio/Makefile                                     |   1 +
 audio/inscore/Makefile                             |  35 +++++++
 audio/inscore/distinfo                             |   5 +
 audio/inscore/files/patch-build_CMakeLists.txt     |  13 +++
 audio/inscore/files/patch-build_Makefile           |  11 +++
 .../files/patch-build_modules_GUIDOConfig.cmake    |  15 +++
 .../files/patch-src_inscore_model_Modules.h        |  11 +++
 audio/inscore/pkg-descr                            |   7 ++
 audio/inscore/pkg-message                          |  25 +++++
 audio/inscore/pkg-plist                            | 107 +++++++++++++++++++++
 10 files changed, 230 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 33294914c6ea..2adae11009a7 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -319,6 +319,7 @@
     SUBDIR += id3v2
     SUBDIR += ifp-line
     SUBDIR += infamous-plugins-lv2
+    SUBDIR += inscore
     SUBDIR += intersect-lv2
     SUBDIR += invada-studio-plugins-lv2
     SUBDIR += ir-lv2
diff --git a/audio/inscore/Makefile b/audio/inscore/Makefile
new file mode 100644
index 000000000000..cd6d8fe2ef52
--- /dev/null
+++ b/audio/inscore/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	inscore
+PORTVERSION=	1.28
+CATEGORIES=	audio
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Environment for the design of interactive augmented music scores
+
+LICENSE=	LGPL21
+LICENSE_FILE=	${WRKSRC}/src/license.txt
+
+LIB_DEPENDS=	libGUIDOEngine.so:audio/guidolib \
+		libguidoar.so:audio/guidoar \
+		libmicrohttpd.so:www/libmicrohttpd
+
+USES=		cmake gnome qt:5
+USE_QT=		core declarative gui network multimedia opengl printsupport sensors svg widgets websockets \
+		qmake_build buildtools_build
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	grame-cncm
+GH_TAGNAME=	v${PORTVERSION:S/.//}
+GH_TUPLE=	grame-cncm:guidolib:3cf3d88:guidolib/modules/guidolib # this uses some un-installed parts of the guidolib project, partucularly QGuidoPainter.h
+
+CMAKE_SOURCE_PATH=	${WRKSRC}/build
+
+CXXFLAGS+=	-I${LOCALBASE}/include/guido -I${LOCALBASE}/include/guidoar
+
+OPTIONS_DEFINE=		DOCS EXAMPLES
+OPTIONS_DEFAULT=	DOCS EXAMPLES
+
+PORTDOCS=	*
+PORTEXAMPLES=	*
+
+.include <bsd.port.mk>
diff --git a/audio/inscore/distinfo b/audio/inscore/distinfo
new file mode 100644
index 000000000000..992c9f949b4d
--- /dev/null
+++ b/audio/inscore/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1635099044
+SHA256 (grame-cncm-inscore-1.28-v128_GH0.tar.gz) = f280d9057d59b140f8d567f9e8ac0ecdd811e2964475a817eb1a54f15d493d8b
+SIZE (grame-cncm-inscore-1.28-v128_GH0.tar.gz) = 443524698
+SHA256 (grame-cncm-guidolib-3cf3d88_GH0.tar.gz) = 0ec8a9e60d76230e69de9e0263b04ffe93d4f2fa660856e2666863cd99f6bea4
+SIZE (grame-cncm-guidolib-3cf3d88_GH0.tar.gz) = 42458506
diff --git a/audio/inscore/files/patch-build_CMakeLists.txt b/audio/inscore/files/patch-build_CMakeLists.txt
new file mode 100644
index 000000000000..465c184506be
--- /dev/null
+++ b/audio/inscore/files/patch-build_CMakeLists.txt
@@ -0,0 +1,13 @@
+--- build/CMakeLists.txt.orig	2021-10-24 18:32:31 UTC
++++ build/CMakeLists.txt
+@@ -378,8 +378,8 @@ else()
+ 	set (INSTALL_BIN 		${CMAKE_INSTALL_PREFIX}/bin)
+ 	set (INSTALL_LIB 		${CMAKE_INSTALL_PREFIX}/lib)
+ 	set (INSTALL_INC 		${CMAKE_INSTALL_PREFIX}/include/inscore)
+-	set (INSTALL_SAMPLES 	${CMAKE_INSTALL_PREFIX}/share/inscore/examples)
+-	set (INSTALL_GMN_SAMPLES 	${CMAKE_INSTALL_PREFIX}/share/inscore/GMN-Examples)
++	set (INSTALL_SAMPLES 	share/examples/inscore)
++	set (INSTALL_GMN_SAMPLES 	share/examples/inscore)
+ 	set (INSTALL_BUNDLES 	${CMAKE_INSTALL_PREFIX}/share/inscore/bundles)
+ 	set (INSTALL_TOOLS 		${CMAKE_INSTALL_PREFIX}/share/inscore/tools)
+ 	set (INSTALL_INTERFACES 	${CMAKE_INSTALL_PREFIX}/share/inscore)
diff --git a/audio/inscore/files/patch-build_Makefile b/audio/inscore/files/patch-build_Makefile
new file mode 100644
index 000000000000..780da7561b9a
--- /dev/null
+++ b/audio/inscore/files/patch-build_Makefile
@@ -0,0 +1,11 @@
+--- build/Makefile.orig	2021-02-23 07:13:54 UTC
++++ build/Makefile
+@@ -38,7 +38,7 @@ endif
+ GENERATOR ?= 
+ 
+ all :
+-	$(MAKE) modules
++	#$(MAKE) modules
+ 	$(MAKE) inscore
+ 
+ test:
diff --git a/audio/inscore/files/patch-build_modules_GUIDOConfig.cmake b/audio/inscore/files/patch-build_modules_GUIDOConfig.cmake
new file mode 100644
index 000000000000..d4353b0f6738
--- /dev/null
+++ b/audio/inscore/files/patch-build_modules_GUIDOConfig.cmake
@@ -0,0 +1,15 @@
+--- build/modules/GUIDOConfig.cmake.orig	2021-05-09 16:41:13 UTC
++++ build/modules/GUIDOConfig.cmake
+@@ -21,9 +21,9 @@ elseif(WIN32)
+ 		set (GUIDO_DLL ${GUIDOLIB}/build/lib/GUIDOEngine.dll)
+ 	endif()		
+ else()
+-	set (GUIDO_LIBRARIES -L${CMAKE_CURRENT_SOURCE_DIR}/lib -lGUIDOEngine)
++	set (GUIDO_LIBRARIES -lGUIDOEngine)
+ endif()
+ 
+-file (STRINGS "${GUIDOLIB}/version.txt" GUIDO_VERSION)
+-message (STATUS "Using GUIDOEngine version ${GUIDO_VERSION}")
++#file (STRINGS "${GUIDOLIB}/version.txt" GUIDO_VERSION)
++message (STATUS "Using GUIDOEngine")
+ 
diff --git a/audio/inscore/files/patch-src_inscore_model_Modules.h b/audio/inscore/files/patch-src_inscore_model_Modules.h
new file mode 100644
index 000000000000..a414b0e69073
--- /dev/null
+++ b/audio/inscore/files/patch-src_inscore_model_Modules.h
@@ -0,0 +1,11 @@
+--- src/inscore/model/Modules.h.orig	2021-02-23 07:27:14 UTC
++++ src/inscore/model/Modules.h
+@@ -56,7 +56,7 @@
+ 
+ #if QTView
+ # define INCLUDEFaustWeb		false
+-# define HASQGuidoImporter		true
++# define HASQGuidoImporter		false
+ # define HASFileDownloader		true
+ # define HASWSSupport			true
+ # define HASHTTPSupport			true
diff --git a/audio/inscore/pkg-descr b/audio/inscore/pkg-descr
new file mode 100644
index 000000000000..68c33d41e630
--- /dev/null
+++ b/audio/inscore/pkg-descr
@@ -0,0 +1,7 @@
+INScore is an environment for the design of interactive augmented music scores.
+It extends the music representation to arbitrary graphic objects, including
+symbolic music notation. It provides time synchronization in the graphic space,
+signals graphic representations, interaction processes representation, dynamic
+and interactive scores. It supports Web and local network extensions.
+
+WWW: https://inscore.grame.fr/
diff --git a/audio/inscore/pkg-message b/audio/inscore/pkg-message
new file mode 100644
index 000000000000..3b3697492e3f
--- /dev/null
+++ b/audio/inscore/pkg-message
@@ -0,0 +1,25 @@
+[
+{ type: install
+  message: <<EOM
+You installed INScore, the environment for the design of interactive
+augmented music scores.
+
+INScore works based on OSC (Open Sound Control) signals in the form of
+network packets (by default on the port 7000), or in the form of
+.inscore programs.
+
+INScore understands .inscore syntax, which is OSC format amended with
+commands for general purpose programming, which makes it a programming
+language.
+
+OSC signals are expected to be sent through the network by some of
+numerous programs supporting this standard.
+
+The main executable, inscoreviewer, opens the window, listens to the
+port 7000, and also expects .inscore files to be dropped into its
+window.
+
+Please use .inscore files in examples to see what INScore can do.
+EOM
+}
+]
diff --git a/audio/inscore/pkg-plist b/audio/inscore/pkg-plist
new file mode 100644
index 000000000000..25ead7df9dbd
--- /dev/null
+++ b/audio/inscore/pkg-plist
@@ -0,0 +1,107 @@
+bin/IBundle
+bin/INScoreViewer
+include/inscore/IExport.h
+include/inscore/INScore.h
+include/inscore/message.h
+lib/libINScore.so
+lib/libINScore.so.1
+lib/libINScore.so.1.2.8
+share/fonts/inscore/Carlito-Regular.ttf
+share/fonts/inscore/guido2.ttf
+%%DATADIR%%/doc/Guido/GMNRefCard.pdf
+%%DATADIR%%/doc/Guido/GUIDO-Music-Notation-Format.pdf
+%%DATADIR%%/doc/Guido/RefCardsParams.pdf
+%%DATADIR%%/doc/Guido/RefCardsTags.pdf
+%%DATADIR%%/doc/Guido/readme.txt
+%%DATADIR%%/doc/INScore-refcard-1.12.pdf
+%%DATADIR%%/doc/INScoreLang.pdf
+%%DATADIR%%/interfaces/Csound/CsoundCommandline/01Hello.csd
+%%DATADIR%%/interfaces/Csound/CsoundCommandline/02Receive.csd
+%%DATADIR%%/interfaces/Csound/CsoundCommandline/03Demo.csd
+%%DATADIR%%/interfaces/Csound/CsoundCommandline/06Tables.csd
+%%DATADIR%%/interfaces/Csound/CsoundCommandline/08SoundImage.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/01Hello.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/02Receive.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/03Demo.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/04Sinus.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/05ShowAndTransform.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/06Tables.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/07TablesInteraction.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/08SoundImage.csd
+%%DATADIR%%/interfaces/Csound/CsoundQt/sinus.inscore
+%%DATADIR%%/interfaces/Csound/GetError.inscore
+%%DATADIR%%/interfaces/Csound/GetPorts.inscore
+%%DATADIR%%/interfaces/Csound/Readme.txt
+%%DATADIR%%/interfaces/Csound/rsrc/1voice-846_2f.gmn
+%%DATADIR%%/interfaces/Csound/rsrc/anr.gif
+%%DATADIR%%/interfaces/Csound/rsrc/boucou.gif
+%%DATADIR%%/interfaces/Csound/rsrc/car_blue.gif
+%%DATADIR%%/interfaces/Csound/rsrc/car_red.gif
+%%DATADIR%%/interfaces/Csound/rsrc/csconf.jpg
+%%DATADIR%%/interfaces/Csound/rsrc/demo.osc
+%%DATADIR%%/interfaces/Csound/rsrc/grame.png
+%%DATADIR%%/interfaces/Csound/rsrc/interlude.html
+%%DATADIR%%/interfaces/Csound/rsrc/parm-oeil.jpg
+%%DATADIR%%/interfaces/Csound/rsrc/parm-oeil.map
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment1.html
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment2.html
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment3.html
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment4.html
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment5.html
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment6.map
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment6.txt
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment7.map
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment7.txt
+%%DATADIR%%/interfaces/Csound/rsrc/syncomment8.txt
+%%DATADIR%%/interfaces/Csound/rsrc/title.html
+%%DATADIR%%/interfaces/Csound/strays.inc
+%%DATADIR%%/interfaces/lisp/ITL.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/asdf/asdf.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/.svnignore
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/ChangeLog
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/LICENSE
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/README
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/TODO
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/class.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/condition.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/defsys.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/interface.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/lispworks-udp.asd
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/lispworks-udp.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/load.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/multicast.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/package.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/rtt-client.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/rtt.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/test.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/udp-client.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/udp-server.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/unix-server.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/unix.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/lispworks-udp/wait-for-input.lisp
+%%DATADIR%%/interfaces/lisp/Lispworks/oscoverudp.lisp
+%%DATADIR%%/interfaces/lisp/example.lisp
+%%DATADIR%%/interfaces/lisp/osc/LGPL.txt
+%%DATADIR%%/interfaces/lisp/osc/LICENCE.txt
+%%DATADIR%%/interfaces/lisp/osc/README.txt
+%%DATADIR%%/interfaces/lisp/osc/osc-dispatch.lisp
+%%DATADIR%%/interfaces/lisp/osc/osc-examples.lisp
+%%DATADIR%%/interfaces/lisp/osc/osc.asd
+%%DATADIR%%/interfaces/lisp/osc/osc.lisp
+%%DATADIR%%/interfaces/lisp/readme.txt
+%%DATADIR%%/interfaces/lisp/rsrc/1voice-846_2f.gmn
+%%DATADIR%%/interfaces/lisp/rsrc/car_blue.gif
+%%DATADIR%%/interfaces/lisp/rsrc/car_red.gif
+%%DATADIR%%/interfaces/lisp/sync.inscore
+%%DATADIR%%/interfaces/python/ITL.py
+%%DATADIR%%/interfaces/python/example.py
+%%DATADIR%%/interfaces/python/pyOSC-0.3.5b-5294.tar.gz
+%%DATADIR%%/interfaces/python/readme.txt
+%%DATADIR%%/interfaces/python/rsrc/1voice-846_2f.gmn
+%%DATADIR%%/interfaces/python/rsrc/car_blue.gif
+%%DATADIR%%/interfaces/python/rsrc/car_red.gif
+%%DATADIR%%/interfaces/python/sync.inscore
+%%DATADIR%%/tools/drawmap/DROPME.inscore
+%%DATADIR%%/tools/drawmap/README.html
+%%DATADIR%%/tools/drawmap/README.md
+%%DATADIR%%/tools/drawmap/score.jpg