summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-05-04 21:50:50 -0700
committerYuri Victorovich <yuri@FreeBSD.org>2022-05-04 21:50:50 -0700
commit1b7bb2a4d77342cf7fe341c999fa6405ebbae94c (patch)
treebcfee50747fc47f88afe9f438c5a53795394f076
parentjapanese/font-{mplus-ipa,std}: add NO_ARCH (diff)
audio/aeolus: New port: Synthesised pipe organ emulator
-rw-r--r--audio/Makefile1
-rw-r--r--audio/aeolus/Makefile33
-rw-r--r--audio/aeolus/distinfo3
-rw-r--r--audio/aeolus/files/patch-Makefile20
-rw-r--r--audio/aeolus/files/patch-addsynth.cc36
-rw-r--r--audio/aeolus/files/patch-global.h21
-rw-r--r--audio/aeolus/files/patch-imidi.h20
-rw-r--r--audio/aeolus/pkg-descr13
-rw-r--r--audio/aeolus/pkg-message11
9 files changed, 158 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index 21de9bb29f25..dfd0e46a77a6 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -11,6 +11,7 @@
SUBDIR += abgate-lv2
SUBDIR += abx
SUBDIR += adplay
+ SUBDIR += aeolus
SUBDIR += afsp
SUBDIR += aften
SUBDIR += alac
diff --git a/audio/aeolus/Makefile b/audio/aeolus/Makefile
new file mode 100644
index 000000000000..6f4cbc0c30fb
--- /dev/null
+++ b/audio/aeolus/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= aeolus
+DISTVERSION= 0.10.1
+CATEGORIES= audio
+MASTER_SITES= http://kokkinizita.linuxaudio.org/linuxaudio/downloads/
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Synthesised pipe organ emulator
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/../COPYING
+
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libclthreads.so:devel/clthreads \
+ libclxclient.so:devel/clxclient \
+ libjack.so:audio/jack \
+ libzita-alsa-pcmi.so:audio/zita-alsa-pcmi
+
+USES= gmake localbase:ldflags pkgconfig readline tar:bz2 xorg
+USE_XORG= x11 xft
+
+WRKSRC_SUBDIR= source
+
+PLIST_FILES= bin/aeolus \
+ lib/aeolus_txt.so \
+ lib/aeolus_x11.so
+
+post-install:
+ @${STRIP_CMD} \
+ ${STAGEDIR}${PREFIX}/bin/aeolus \
+ ${STAGEDIR}${PREFIX}/lib/aeolus_txt.so \
+ ${STAGEDIR}${PREFIX}/lib/aeolus_x11.so
+
+.include <bsd.port.mk>
diff --git a/audio/aeolus/distinfo b/audio/aeolus/distinfo
new file mode 100644
index 000000000000..6e2a1178adee
--- /dev/null
+++ b/audio/aeolus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1651724187
+SHA256 (aeolus-0.10.1.tar.bz2) = ad9cf1a70fb46ab7f9971aa4dfac0a2bda0ec35f95b6b3b6cbb9b87070b1c196
+SIZE (aeolus-0.10.1.tar.bz2) = 66475
diff --git a/audio/aeolus/files/patch-Makefile b/audio/aeolus/files/patch-Makefile
new file mode 100644
index 000000000000..be5b6464b581
--- /dev/null
+++ b/audio/aeolus/files/patch-Makefile
@@ -0,0 +1,20 @@
+--- Makefile.orig 2022-05-05 04:29:49 UTC
++++ Makefile
+@@ -21,7 +21,7 @@
+ SUFFIX := $(shell uname -m | sed -e 's/^unknown/$//' -e 's/^i.86/$//' -e 's/^x86_64/$/64/')
+ PREFIX ?= /usr/local
+ BINDIR ?= $(PREFIX)/bin
+-LIBDIR ?= $(PREFIX)/lib$(SUFFIX)
++LIBDIR ?= $(PREFIX)/lib
+
+ VERSION = 0.10.3
+ CPPFLAGS += -MMD -MP -DVERSION=\"$(VERSION)\" -DLIBDIR=\"$(LIBDIR)\"
+@@ -75,7 +75,7 @@ install: aeolus aeolus_x11.so aeolus_txt.so
+ install -m 755 aeolus $(DESTDIR)$(BINDIR)
+ install -m 755 aeolus_x11.so $(DESTDIR)$(LIBDIR)
+ install -m 755 aeolus_txt.so $(DESTDIR)$(LIBDIR)
+- ldconfig $(PREFIX)/$(LIBDIR)
++ #ldconfig $(PREFIX)/$(LIBDIR)
+
+
+ clean:
diff --git a/audio/aeolus/files/patch-addsynth.cc b/audio/aeolus/files/patch-addsynth.cc
new file mode 100644
index 000000000000..3696ae37cf17
--- /dev/null
+++ b/audio/aeolus/files/patch-addsynth.cc
@@ -0,0 +1,36 @@
+--- addsynth.cc.orig 2022-05-05 04:20:20 UTC
++++ addsynth.cc
+@@ -102,13 +102,13 @@ void N_func::clrv (int i)
+
+ void N_func::write (FILE *F)
+ {
+-#ifdef __BYTE_ORDER
+-#if (__BYTE_ORDER == __LITTLE_ENDIAN)
++#ifdef _BYTE_ORDER
++#if (_BYTE_ORDER == _LITTLE_ENDIAN)
+
+ fwrite (&_b, 1, sizeof (int32_t), F);
+ fwrite (_v, N_NOTE, sizeof (float), F);
+
+-#elif (__BYTE_ORDER == __BIG_ENDIAN)
++#elif (_BYTE_ORDER == _BIG_ENDIAN)
+
+ int i;
+ char d [N_NOTE * sizeof (float)];
+@@ -130,13 +130,13 @@ void N_func::write (FILE *F)
+
+ void N_func::read (FILE *F)
+ {
+-#ifdef __BYTE_ORDER
+-#if (__BYTE_ORDER == __LITTLE_ENDIAN)
++#ifdef _BYTE_ORDER
++#if (_BYTE_ORDER == _LITTLE_ENDIAN)
+
+ fread (&_b, 1, sizeof (int32_t), F);
+ fread (&_v, N_NOTE, sizeof (float), F);
+
+-#elif (__BYTE_ORDER == __BIG_ENDIAN)
++#elif (_BYTE_ORDER == _BIG_ENDIAN)
+
+ int i;
+ char d [sizeof (int) + N_NOTE * sizeof (float)];
diff --git a/audio/aeolus/files/patch-global.h b/audio/aeolus/files/patch-global.h
new file mode 100644
index 000000000000..eaa4e44e0c90
--- /dev/null
+++ b/audio/aeolus/files/patch-global.h
@@ -0,0 +1,21 @@
+--- global.h.orig 2022-05-05 04:18:20 UTC
++++ global.h
+@@ -21,14 +21,14 @@
+ #ifndef __GLOBAL_H
+ #define __GLOBAL_H
+
+-#include <endian.h>
+-#ifdef __BYTE_ORDER
+-#if (__BYTE_ORDER == __LITTLE_ENDIAN)
++#include <sys/endian.h>
++#ifdef _BYTE_ORDER
++#if (_BYTE_ORDER == _LITTLE_ENDIAN)
+ #define WR2(p,v) { (p)[0] = v; (p)[1] = v >> 8; }
+ #define WR4(p,v) { (p)[0] = v; (p)[1] = v >> 8; (p)[2] = v >> 16; (p)[3] = v >> 24; }
+ #define RD2(p) ((p)[0] + ((p)[1] << 8));
+ #define RD4(p) ((p)[0] + ((p)[1] << 8) + ((p)[2] << 16) + ((p)[3] << 24));
+-#elif (__BYTE_ORDER == __BIG_ENDIAN)
++#elif (_BYTE_ORDER == _BIG_ENDIAN)
+ #define WR2(p,v) { (p)[1] = v; (p)[0] = v >> 8; }
+ #define WR4(p,v) { (p)[3] = v; (p)[2] = v >> 8; (p)[1] = v >> 16; (p)[0] = v >> 24; }
+ #define RD2(p) ((p)[1] + ((p)[0] << 8));
diff --git a/audio/aeolus/files/patch-imidi.h b/audio/aeolus/files/patch-imidi.h
new file mode 100644
index 000000000000..4051b193667a
--- /dev/null
+++ b/audio/aeolus/files/patch-imidi.h
@@ -0,0 +1,20 @@
+--- imidi.h.orig 2022-05-05 04:24:13 UTC
++++ imidi.h
+@@ -25,7 +25,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <clthreads.h>
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__)
+ #include <alsa/asoundlib.h>
+ #endif
+ #ifdef __APPLE__
+@@ -61,7 +61,7 @@ class Imidi : public A_thread (private)
+ Lfq_u8 *_qmidi;
+ uint16_t *_midimap;
+ const char *_appname;
+-#ifdef __linux__
++#if defined(__linux__) || defined(__FreeBSD__)
+ snd_seq_t *_handle;
+ #endif
+ #ifdef __APPLE__
diff --git a/audio/aeolus/pkg-descr b/audio/aeolus/pkg-descr
new file mode 100644
index 000000000000..3be9f88265f4
--- /dev/null
+++ b/audio/aeolus/pkg-descr
@@ -0,0 +1,13 @@
+Aeolus is a synthesised (i.e. not sampled) pipe organ emulator that
+should be good enough to make an organist enjoy playing it. It is a
+software synthesiser optimised for this job, with possibly hundreds
+of controls for each stop, that enable the user to "voice" his
+instrument. First presented at the 2nd LAD conference in Karlsruhe,
+end of April 2004.
+
+Main features of the default instrument: three manuals and one pedal,
+five different temperaments, variable tuning, MIDI control of course,
+stereo, surround or Ambisonics output, flexible audio controls
+including a large church reverb.
+
+WWW: https://kokkinizita.linuxaudio.org/linuxaudio/aeolus/
diff --git a/audio/aeolus/pkg-message b/audio/aeolus/pkg-message
new file mode 100644
index 000000000000..8ff8bbb2d6ec
--- /dev/null
+++ b/audio/aeolus/pkg-message
@@ -0,0 +1,11 @@
+[
+{ type: install
+ message: <<EOM
+You installed aeolus: synthesised pipe organ emulator.
+
+In order to use it you need to install and run alsa-seq-server which
+creates /dev/snd/seq that is required by aeolus.
+
+EOM
+}
+]