git: d92825bc02a5 - main - audio/ladish: New port: Session management system for JACK
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 19 Dec 2023 03:25:15 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d92825bc02a5000b5fe5e3085897971692de6a3f
commit d92825bc02a5000b5fe5e3085897971692de6a3f
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-12-19 01:53:38 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-12-19 03:25:12 +0000
audio/ladish: New port: Session management system for JACK
---
audio/Makefile | 1 +
audio/ladish/Makefile | 57 +++++++++++++++++++++++
audio/ladish/distinfo | 3 ++
audio/ladish/files/patch-alsapid_alsapid.h | 11 +++++
audio/ladish/files/patch-alsapid_helper.c | 11 +++++
audio/ladish/files/patch-daemon_app__supervisor.c | 10 ++++
audio/ladish/files/patch-daemon_loader.c | 22 +++++++++
audio/ladish/files/patch-proxies_graph__proxy.h | 10 ++++
audio/ladish/pkg-descr | 6 +++
audio/ladish/pkg-plist | 27 +++++++++++
10 files changed, 158 insertions(+)
diff --git a/audio/Makefile b/audio/Makefile
index b5174af0dbfd..06e19a0561db 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -324,6 +324,7 @@
SUBDIR += kmix
SUBDIR += komposter
SUBDIR += kwave
+ SUBDIR += ladish
SUBDIR += ladspa
SUBDIR += lame
SUBDIR += lash
diff --git a/audio/ladish/Makefile b/audio/ladish/Makefile
new file mode 100644
index 000000000000..2d49f7168a1d
--- /dev/null
+++ b/audio/ladish/Makefile
@@ -0,0 +1,57 @@
+PORTNAME= ladish
+DISTVERSION= 1.1
+DISTVERSIONSUFFIX= -g36c489e4
+CATEGORIES= audio
+MASTER_SITES= https://dl.ladish.org/ladish/
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Session management system for JACK
+WWW= https://ladish.org/
+
+LICENSE= GPLv3
+
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libdbus-1.so:devel/dbus \
+ libexpat.so:textproc/expat2 \
+ libjack.so:audio/jack \
+ libuuid.so:misc/e2fsprogs-libuuid
+
+USES= tar:bz2 localbase:ldflags pkgconfig python shebangfix waf
+USE_PERL5= configure
+
+SHEBANG_FILES= ladish_control
+
+OPTIONS_DEFINE= GUI
+OPTIONS_DEFAULT= GUI
+OPTIONS_SUB= yes
+
+GUI_USES= gettext gnome
+GUI_USE= GNOME=atkmm,cairo,gdkpixbuf2,gtk20,gtkmm24,libgnomecanvas,pango,intltool:build
+GUI_VARS= CONFIGURE_ARGS=--enable-gladish
+GUI_BUILD_DEPENDS= ${LOCALBASE}/include/boost/shared_ptr.hpp:devel/boost-libs
+GUI_LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \
+ libfontconfig.so:x11-fonts/fontconfig \
+ libfreetype.so:print/freetype2 \
+ libgnomecanvasmm-2.6.so:graphics/libgnomecanvasmm26 \
+ libharfbuzz.so:print/harfbuzz
+
+post-install:
+ # strip
+ @cd ${STAGEDIR}${PREFIX} && \
+ ${STRIP_CMD} \
+ bin/jmcore \
+ bin/ladishd \
+ bin/ladiconfd \
+ lib/libalsapid.so
+ # remove unnecessary files
+ @${RM} -rf \
+ ${STAGEDIR}${DATADIR}/COPYING
+
+post-install-GUI-on:
+ #/usr/local/share/ladish/gladish.ui
+ # strip
+ @cd ${STAGEDIR}${PREFIX} && \
+ ${STRIP_CMD} \
+ bin/gladish
+
+.include <bsd.port.mk>
diff --git a/audio/ladish/distinfo b/audio/ladish/distinfo
new file mode 100644
index 000000000000..cae0e55d6e5d
--- /dev/null
+++ b/audio/ladish/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1702937580
+SHA256 (ladish-1.1-g36c489e4.tar.bz2) = 37a11899ce472d6cefa5a53d7de47a410f15120983b6255e82f5110573310b16
+SIZE (ladish-1.1-g36c489e4.tar.bz2) = 656723
diff --git a/audio/ladish/files/patch-alsapid_alsapid.h b/audio/ladish/files/patch-alsapid_alsapid.h
new file mode 100644
index 000000000000..566ef453e6ad
--- /dev/null
+++ b/audio/ladish/files/patch-alsapid_alsapid.h
@@ -0,0 +1,11 @@
+--- alsapid/alsapid.h.orig 2023-12-18 22:37:53 UTC
++++ alsapid/alsapid.h
+@@ -29,6 +29,8 @@
+
+ #include "../common.h"
+
++#include <unistd.h> // for pid_t
++
+ void alsapid_compose_src_link(int alsa_client_id, char * buffer);
+ void alsapid_compose_dst_link(char * buffer);
+ bool alsapid_get_pid(int alsa_client_id, pid_t * pid_ptr);
diff --git a/audio/ladish/files/patch-alsapid_helper.c b/audio/ladish/files/patch-alsapid_helper.c
new file mode 100644
index 000000000000..edbcc3ea5a65
--- /dev/null
+++ b/audio/ladish/files/patch-alsapid_helper.c
@@ -0,0 +1,11 @@
+--- alsapid/helper.c.orig 2023-12-18 22:35:47 UTC
++++ alsapid/helper.c
+@@ -33,6 +33,8 @@
+ #include <unistd.h>
+ #include <sys/types.h>
+
++#include <libgen.h>
++
+ void alsapid_compose_src_link(int alsa_client_id, char * buffer)
+ {
+ sprintf(buffer, "/tmp/alsapid-%lld-%d", (long long)getuid(), alsa_client_id);
diff --git a/audio/ladish/files/patch-daemon_app__supervisor.c b/audio/ladish/files/patch-daemon_app__supervisor.c
new file mode 100644
index 000000000000..391de6a73328
--- /dev/null
+++ b/audio/ladish/files/patch-daemon_app__supervisor.c
@@ -0,0 +1,10 @@
+--- daemon/app_supervisor.c.orig 2023-12-18 22:40:21 UTC
++++ daemon/app_supervisor.c
+@@ -30,6 +30,7 @@
+ #include <sys/stat.h>
+ #include <signal.h>
+ #include <unistd.h>
++#include <sys/wait.h>
+
+ #include "app_supervisor.h"
+ #include "../dbus_constants.h"
diff --git a/audio/ladish/files/patch-daemon_loader.c b/audio/ladish/files/patch-daemon_loader.c
new file mode 100644
index 000000000000..13312c9c7a0b
--- /dev/null
+++ b/audio/ladish/files/patch-daemon_loader.c
@@ -0,0 +1,22 @@
+--- daemon/loader.c.orig 2023-12-18 22:30:22 UTC
++++ daemon/loader.c
+@@ -30,10 +30,18 @@
+
+ #include <unistd.h>
+ #include <fcntl.h>
+-#include <pty.h> /* forkpty() */
++#if !defined(__FreeBSD__)
++# include <pty.h> /* forkpty() */
++#else
++# include <sys/types.h>
++# include <sys/ioctl.h>
++# include <termios.h>
++# include <libutil.h>
++#endif
+ #include <sys/wait.h>
+ #include <sys/time.h>
+ #include <sys/resource.h>
++#include <signal.h>
+
+ #include "loader.h"
+ #include "../proxies/conf_proxy.h"
diff --git a/audio/ladish/files/patch-proxies_graph__proxy.h b/audio/ladish/files/patch-proxies_graph__proxy.h
new file mode 100644
index 000000000000..56ee5572c35a
--- /dev/null
+++ b/audio/ladish/files/patch-proxies_graph__proxy.h
@@ -0,0 +1,10 @@
+--- proxies/graph_proxy.h.orig 2023-12-18 22:32:12 UTC
++++ proxies/graph_proxy.h
+@@ -28,6 +28,7 @@
+ #define GRAPH_PROXY_H__61D1ED56_E33B_4F50_B45B_F520979E8AA7__INCLUDED
+
+ #include "common.h"
++#include <unistd.h>
+
+ typedef struct graph_proxy_tag { int unused; } * graph_proxy_handle;
+
diff --git a/audio/ladish/pkg-descr b/audio/ladish/pkg-descr
new file mode 100644
index 000000000000..1c07748df086
--- /dev/null
+++ b/audio/ladish/pkg-descr
@@ -0,0 +1,6 @@
+LADI Session Handler or simply ladish is a session management system for JACK
+applications on GNU/Linux. Its aim is to allow you to have many different audio
+programs running at once, to save their setup, close them down and then easily
+reload the setup at some other time. ladish doesn't deal with any kind of audio
+or MIDI data itself; it just runs programs, deals with saving/loading
+(arbitrary) data and connects JACK ports together.
diff --git a/audio/ladish/pkg-plist b/audio/ladish/pkg-plist
new file mode 100644
index 000000000000..550080aabad4
--- /dev/null
+++ b/audio/ladish/pkg-plist
@@ -0,0 +1,27 @@
+%%GUI%%bin/gladish
+bin/jmcore
+bin/ladiconfd
+bin/ladish_control
+bin/ladishd
+lib/libalsapid.so
+%%GUI%%share/applications/gladish.desktop
+share/dbus-1/services/org.ladish.conf.service
+share/dbus-1/services/org.ladish.jmcore.service
+share/dbus-1/services/org.ladish.service
+%%GUI%%share/icons/hicolor/16x16/apps/gladish.png
+%%GUI%%share/icons/hicolor/22x22/apps/gladish.png
+%%GUI%%share/icons/hicolor/24x24/apps/gladish.png
+%%GUI%%share/icons/hicolor/256x256/apps/gladish.png
+%%GUI%%share/icons/hicolor/32x32/apps/gladish.png
+%%GUI%%share/icons/hicolor/48x48/apps/gladish.png
+%%GUI%%%%DATADIR%%/gladish.ui
+%%GUI%%%%DATADIR%%/ladish-logo-128x128.png
+%%GUI%%%%DATADIR%%/status_down.png
+%%GUI%%%%DATADIR%%/status_error.png
+%%GUI%%%%DATADIR%%/status_started.png
+%%GUI%%%%DATADIR%%/status_stopped.png
+%%GUI%%%%DATADIR%%/status_unloaded.png
+%%GUI%%%%DATADIR%%/status_warning.png
+%%GUI%%share/locale/de/LC_MESSAGES/ladish.mo
+%%GUI%%share/locale/fr/LC_MESSAGES/ladish.mo
+%%GUI%%share/locale/ru/LC_MESSAGES/ladish.mo