aboutsummaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorultima <ultima@FreeBSD.org>2017-08-20 01:52:59 +0800
committerultima <ultima@FreeBSD.org>2017-08-20 01:52:59 +0800
commit2cb2a6dad9a059f9b15042e49f6baf87f16cbbd0 (patch)
treedc44cfad08cb3aa34b2492c0614e54b315d19cba /audio
parent9f9130dc66129f30c13ebeadef8a360a7d5a88f3 (diff)
downloadfreebsd-ports-gnome-2cb2a6dad9a059f9b15042e49f6baf87f16cbbd0.tar.gz
freebsd-ports-gnome-2cb2a6dad9a059f9b15042e49f6baf87f16cbbd0.tar.zst
freebsd-ports-gnome-2cb2a6dad9a059f9b15042e49f6baf87f16cbbd0.zip
RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific classes)
that provide a common API (Application Programming Interface) for realtime MIDI input/output across Linux (ALSA, JACK), Macintosh OS X (CoreMIDI, JACK), and Windows (Multimedia Library) operating systems. RtMidi significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals: * object oriented C++ design * simple, common API across all supported platforms * only one header and one source file for easy inclusion in programming projects * MIDI device enumeration WWW: https://github.com/thestk/rtmidi PR: 221398 Submitted by: Yuri Victorovich (maintainer) Reviewed by: matthew (mentor) Approved by: matthew (mentor) Differential Revision: https://reviews.freebsd.org/D12078
Diffstat (limited to 'audio')
-rw-r--r--audio/Makefile1
-rw-r--r--audio/rtmidi/Makefile24
-rw-r--r--audio/rtmidi/distinfo3
-rw-r--r--audio/rtmidi/files/patch-configure.ac58
-rw-r--r--audio/rtmidi/pkg-descr12
-rw-r--r--audio/rtmidi/pkg-plist7
6 files changed, 105 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index f35bfe6b53f1..1a715c2d3aa4 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -696,6 +696,7 @@
SUBDIR += rosegarden
SUBDIR += rplay
SUBDIR += rsynth
+ SUBDIR += rtmidi
SUBDIR += rubberband
SUBDIR += ruby-smf
SUBDIR += ruby-taglib
diff --git a/audio/rtmidi/Makefile b/audio/rtmidi/Makefile
new file mode 100644
index 000000000000..d81be73fe93a
--- /dev/null
+++ b/audio/rtmidi/Makefile
@@ -0,0 +1,24 @@
+# Created by: Yuri Victorovich <yuri@rawbw.com>
+# $FreeBSD$
+
+PORTNAME= rtmidi
+DISTVERSION= 2.1.1-38
+DISTVERSIONSUFFIX= -g907a94c
+CATEGORIES= audio
+
+MAINTAINER= yuri@rawbw.com
+COMMENT= Set of C++ classes that provide a common API for realtime MIDI I/O
+
+LICENSE= MIT
+
+LIB_DEPENDS= libjack.so:audio/jack
+
+USES= autoreconf localbase libtool
+GNU_CONFIGURE= yes
+USE_GITHUB= yes
+GH_ACCOUNT= thestk
+CONFIGURE_ARGS= --with-jack
+USE_LDCONFIG= yes
+INSTALL_TARGET= install-strip
+
+.include <bsd.port.mk>
diff --git a/audio/rtmidi/distinfo b/audio/rtmidi/distinfo
new file mode 100644
index 000000000000..5d63a712ada6
--- /dev/null
+++ b/audio/rtmidi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1503103513
+SHA256 (thestk-rtmidi-2.1.1-38-g907a94c_GH0.tar.gz) = 6906d2ac6405eff4a0183307d16c9cf2fd6d9ec1958384d2195e4b47eb309de7
+SIZE (thestk-rtmidi-2.1.1-38-g907a94c_GH0.tar.gz) = 80635
diff --git a/audio/rtmidi/files/patch-configure.ac b/audio/rtmidi/files/patch-configure.ac
new file mode 100644
index 000000000000..7fbbf7c57f4c
--- /dev/null
+++ b/audio/rtmidi/files/patch-configure.ac
@@ -0,0 +1,58 @@
+--- configure.ac.orig 2017-04-21 15:27:54 UTC
++++ configure.ac
+@@ -65,7 +65,7 @@ AC_MSG_CHECKING(whether to compile debug
+ AC_ARG_ENABLE(debug,
+ [ --enable-debug = enable various debug output],
+ [AC_SUBST( cppflag, [-D__RTMIDI_DEBUG__] ) AC_SUBST( cxxflag, [-g] ) AC_SUBST( object_path, [Debug] ) AC_MSG_RESULT(yes)],
+- [AC_SUBST( cppflag, [] ) AC_SUBST( cxxflag, [-O3] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)])
++ [AC_SUBST( cppflag, [] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)])
+
+ # Set paths if prefix is defined
+ if test "x$prefix" != "x" && test "x$prefix" != "xNONE"; then
+@@ -78,7 +78,7 @@ CPPFLAGS="$CPPFLAGS $cppflag"
+
+ # For debugging and optimization ... overwrite default because it has both -g and -O2
+ #CXXFLAGS="$CXXFLAGS $cxxflag"
+-CXXFLAGS="$cxxflag"
++CXXFLAGS+="$cxxflag"
+
+ # Check compiler and use -Wall if gnu.
+ if [test $GXX = "yes" ;] then
+@@ -105,25 +105,25 @@ AC_SUBST( api, [""] )
+ AC_SUBST( req, [""] )
+ AC_MSG_CHECKING(for MIDI API)
+ case $host in
+- *-*-linux*)
++ *-*-freebsd*)
+ AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (mac and linux only)], [
+ api="$api -D__UNIX_JACK__"
+ AC_MSG_RESULT(using JACK)
+ AC_CHECK_LIB(jack, jack_client_open, , AC_MSG_ERROR(JACK support requires the jack library!))], )
+
+ # Look for ALSA flag
+- AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA sequencer API support (linux only)], [
+- api="$api -D__LINUX_ALSA__"
+- req="$req alsa"
+- AC_MSG_RESULT(using ALSA)
+- AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA support requires the asound library!))], )
++ #AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA sequencer API support (linux only)], [
++ # api="$api -D__LINUX_ALSA__"
++ # req="$req alsa"
++ # AC_MSG_RESULT(using ALSA)
++ # AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA support requires the asound library!))], )
+
+- if [test "$api" == "";] then
+- AC_MSG_RESULT(using ALSA)
+- AC_SUBST( api, [-D__LINUX_ALSA__] )
+- req="$req alsa"
+- AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA sequencer support requires the asound library!))
+- fi
++ #if [test "$api" == "";] then
++ # AC_MSG_RESULT(using ALSA)
++ # AC_SUBST( api, [-D__LINUX_ALSA__] )
++ # req="$req alsa"
++ # AC_CHECK_LIB(asound, snd_seq_open, , AC_MSG_ERROR(ALSA sequencer support requires the asound library!))
++ #fi
+
+ # Checks for pthread library.
+ AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtMidi requires the pthread library!))
diff --git a/audio/rtmidi/pkg-descr b/audio/rtmidi/pkg-descr
new file mode 100644
index 000000000000..1f7641b2bcb6
--- /dev/null
+++ b/audio/rtmidi/pkg-descr
@@ -0,0 +1,12 @@
+RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific classes)
+that provide a common API (Application Programming Interface) for realtime MIDI
+input/output across Linux (ALSA, JACK), Macintosh OS X (CoreMIDI, JACK), and
+Windows (Multimedia Library) operating systems. RtMidi significantly simplifies
+the process of interacting with computer MIDI hardware and software. It was
+designed with the following goals:
+* object oriented C++ design
+* simple, common API across all supported platforms
+* only one header and one source file for easy inclusion in programming projects
+* MIDI device enumeration
+
+WWW: https://github.com/thestk/rtmidi
diff --git a/audio/rtmidi/pkg-plist b/audio/rtmidi/pkg-plist
new file mode 100644
index 000000000000..06811e499a4e
--- /dev/null
+++ b/audio/rtmidi/pkg-plist
@@ -0,0 +1,7 @@
+include/rtmidi/RtMidi.h
+include/rtmidi/rtmidi_c.h
+lib/librtmidi.a
+lib/librtmidi.so
+lib/librtmidi.so.3
+lib/librtmidi.so.3.0.0
+libdata/pkgconfig/rtmidi.pc