From 9cf490f25e3e3b45bbbc0251f89aac97c517d5bb Mon Sep 17 00:00:00 2001 From: Martin Wilke Date: Sat, 13 Jan 2007 21:41:41 +0000 Subject: [PATCH] LASH is a session management system for JACK audio applications. It is an implementation of a proposal that originated from this discussion. 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. LASH doesn't deal with any kind of audio data itself; it just runs programs, deals with saving/loading (arbitrary) data and connects different kinds of virtual audio ports together (currently JACK and ALSA sequencer ports). It can also be used to move entire sessions between computers, or post sessions on the Internet for download. WWW: http://www.nongnu.org/lash/ PR: ports/107875 Submitted by: trasz --- audio/Makefile | 1 + audio/lash/Makefile | 37 +++++++++++++++++++ audio/lash/distinfo | 3 ++ .../lash/files/patch-clients-panel-project.c | 11 ++++++ audio/lash/files/patch-lash-1.0.pc.in | 11 ++++++ audio/lash/files/patch-lashd-conn_mgr.c | 10 +++++ audio/lash/files/patch-lashd-main.c | 19 ++++++++++ audio/lash/files/patch-lashd-project.c | 10 +++++ audio/lash/files/patch-lashd-server.c | 10 +++++ audio/lash/files/patch-lashd-store.c | 34 +++++++++++++++++ audio/lash/files/patch-liblash-loader.c | 10 +++++ audio/lash/pkg-descr | 12 ++++++ audio/lash/pkg-plist | 32 ++++++++++++++++ 13 files changed, 200 insertions(+) create mode 100644 audio/lash/Makefile create mode 100644 audio/lash/distinfo create mode 100644 audio/lash/files/patch-clients-panel-project.c create mode 100644 audio/lash/files/patch-lash-1.0.pc.in create mode 100644 audio/lash/files/patch-lashd-conn_mgr.c create mode 100644 audio/lash/files/patch-lashd-main.c create mode 100644 audio/lash/files/patch-lashd-project.c create mode 100644 audio/lash/files/patch-lashd-server.c create mode 100644 audio/lash/files/patch-lashd-store.c create mode 100644 audio/lash/files/patch-liblash-loader.c create mode 100644 audio/lash/pkg-descr create mode 100644 audio/lash/pkg-plist diff --git a/audio/Makefile b/audio/Makefile index a860c33d0adb..16765645df8d 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -301,6 +301,7 @@ SUBDIR += ksmp3play SUBDIR += ladspa SUBDIR += lame + SUBDIR += lash SUBDIR += laudio SUBDIR += liba52 SUBDIR += liba52-devel diff --git a/audio/lash/Makefile b/audio/lash/Makefile new file mode 100644 index 000000000000..41845fa645ac --- /dev/null +++ b/audio/lash/Makefile @@ -0,0 +1,37 @@ +# New ports collection makefile for: lash +# Date created: 2007-01-13 +# Whom: trasz +# +# $FreeBSD$ +# + +PORTNAME= lash +PORTVERSION= 0.5.2 +CATEGORIES= audio +MASTER_SITES= http://download.savannah.gnu.org/releases/lash/ + +MAINTAINER= trasz@pin.if.uz.zgora.pl +COMMENT= Session management system for JACK audio applications + +LIB_DEPENDS= jack.0:${PORTSDIR}/audio/jack \ + uuid.1:${PORTSDIR}/misc/e2fsprogs-libuuid \ + dssialsacompat.0:${PORTSDIR}/audio/libdssialsacompat + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-alsa-midi +CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/dssi -L${LOCALBASE}/lib +USE_GMAKE= yes +USE_GNOME= gtk20 libxml2 gnomehack +USE_LDCONFIG= yes + +.include + +.if ${OSVERSION} < 500018 || exists(${LOCALBASE}/lib/libreadline.so.5) +LIB_DEPENDS+= readline.5:${PORTSDIR}/devel/readline +.endif + +.if ${OSVERSION} < 500000 +BROKEN= Does not compile on 4.x +.endif + +.include diff --git a/audio/lash/distinfo b/audio/lash/distinfo new file mode 100644 index 000000000000..f52a665759aa --- /dev/null +++ b/audio/lash/distinfo @@ -0,0 +1,3 @@ +MD5 (lash-0.5.2.tar.gz) = 75ab0c28ce294543e8e0f636c3a209a1 +SHA256 (lash-0.5.2.tar.gz) = ebc9f1b5b551cacf261299977068ce1547c13174fb6258d1ef8d2bfeb346794c +SIZE (lash-0.5.2.tar.gz) = 534176 diff --git a/audio/lash/files/patch-clients-panel-project.c b/audio/lash/files/patch-clients-panel-project.c new file mode 100644 index 000000000000..76b836d0d4e2 --- /dev/null +++ b/audio/lash/files/patch-clients-panel-project.c @@ -0,0 +1,11 @@ +--- clients/panel/project.c.orig Sat Jan 13 15:45:57 2007 ++++ clients/panel/project.c Sat Jan 13 15:46:17 2007 +@@ -18,7 +18,7 @@ + + #include "project.h" + #include "config.h" +-#include ++#include + #include + #include + #include diff --git a/audio/lash/files/patch-lash-1.0.pc.in b/audio/lash/files/patch-lash-1.0.pc.in new file mode 100644 index 000000000000..bfeafb6da279 --- /dev/null +++ b/audio/lash/files/patch-lash-1.0.pc.in @@ -0,0 +1,11 @@ +--- lash-1.0.pc.in.orig Sat Jan 13 16:25:45 2007 ++++ lash-1.0.pc.in Sat Jan 13 16:25:50 2007 +@@ -5,7 +5,7 @@ + + Name: LASH + Description: Audio session management +-Requires: jack alsa ++Requires: jack + Version: @PACKAGE_VERSION@ + Libs: -llash + Libs.static: -lpthread -luuid diff --git a/audio/lash/files/patch-lashd-conn_mgr.c b/audio/lash/files/patch-lashd-conn_mgr.c new file mode 100644 index 000000000000..eb2522aaa17e --- /dev/null +++ b/audio/lash/files/patch-lashd-conn_mgr.c @@ -0,0 +1,10 @@ +--- lashd/conn_mgr.c.orig Sat Jan 13 15:20:55 2007 ++++ lashd/conn_mgr.c Sat Jan 13 15:21:07 2007 +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + + #include + #include diff --git a/audio/lash/files/patch-lashd-main.c b/audio/lash/files/patch-lashd-main.c new file mode 100644 index 000000000000..122727cd2ba8 --- /dev/null +++ b/audio/lash/files/patch-lashd-main.c @@ -0,0 +1,19 @@ +--- lashd/main.c.orig Sat Jan 13 15:15:39 2007 ++++ lashd/main.c Sat Jan 13 15:20:07 2007 +@@ -24,7 +24,6 @@ + #include + #include + #include +-#include + #include + + #include +@@ -96,7 +95,7 @@ + {0, 0, 0, 0} + }; + char *default_dir = NULL; +- sighandler_t sigh; ++ sig_t sigh; + + #ifdef LASH_DEBUG + mtrace(); diff --git a/audio/lash/files/patch-lashd-project.c b/audio/lash/files/patch-lashd-project.c new file mode 100644 index 000000000000..382a92404583 --- /dev/null +++ b/audio/lash/files/patch-lashd-project.c @@ -0,0 +1,10 @@ +--- lashd/project.c.orig Sat Jan 13 15:21:41 2007 ++++ lashd/project.c Sat Jan 13 15:23:06 2007 +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + #include + #include diff --git a/audio/lash/files/patch-lashd-server.c b/audio/lash/files/patch-lashd-server.c new file mode 100644 index 000000000000..e98233c19698 --- /dev/null +++ b/audio/lash/files/patch-lashd-server.c @@ -0,0 +1,10 @@ +--- lashd/server.c.orig Sat Jan 13 15:23:38 2007 ++++ lashd/server.c Sat Jan 13 15:23:47 2007 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + #include + #include diff --git a/audio/lash/files/patch-lashd-store.c b/audio/lash/files/patch-lashd-store.c new file mode 100644 index 000000000000..0558601dec7b --- /dev/null +++ b/audio/lash/files/patch-lashd-store.c @@ -0,0 +1,34 @@ +--- lashd/store.c.orig Sat Jan 13 15:45:09 2007 ++++ lashd/store.c Sat Jan 13 15:45:12 2007 +@@ -35,6 +35,31 @@ + + #define STORE_INFO_FILE ".store_info" + ++ssize_t ++getline (char **lineptr, size_t *n, FILE *stream) ++{ ++ int linelen; ++ ++ char *line=fgetln(stream, &linelen); ++ ++ if (line==NULL) { ++ *lineptr=NULL; ++ return -1; ++ } ++ ++ if (linelen + 1 > *n ) { ++ *lineptr=realloc(*lineptr, linelen + 1); ++ *n=linelen + 1; ++ ++ if (lineptr==NULL) ++ return -1; ++ } ++ ++ strlcpy(*lineptr, line, linelen + 1); ++ ++ return linelen; ++} ++ + void + store_free(store_t * store) + { diff --git a/audio/lash/files/patch-liblash-loader.c b/audio/lash/files/patch-liblash-loader.c new file mode 100644 index 000000000000..89819e7109c0 --- /dev/null +++ b/audio/lash/files/patch-liblash-loader.c @@ -0,0 +1,10 @@ +--- liblash/loader.c.orig Sat Jan 13 15:13:46 2007 ++++ liblash/loader.c Sat Jan 13 15:14:43 2007 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + + #include + #include diff --git a/audio/lash/pkg-descr b/audio/lash/pkg-descr new file mode 100644 index 000000000000..1001cb20e552 --- /dev/null +++ b/audio/lash/pkg-descr @@ -0,0 +1,12 @@ +LASH is a session management system for JACK audio applications. +It is an implementation of a proposal that originated from this +discussion. 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. LASH doesn't deal +with any kind of audio data itself; it just runs programs, deals +with saving/loading (arbitrary) data and connects different kinds +of virtual audio ports together (currently JACK and ALSA sequencer +ports). It can also be used to move entire sessions between +computers, or post sessions on the Internet for download. + +WWW: http://www.nongnu.org/lash/ diff --git a/audio/lash/pkg-plist b/audio/lash/pkg-plist new file mode 100644 index 000000000000..0f939f5b94c6 --- /dev/null +++ b/audio/lash/pkg-plist @@ -0,0 +1,32 @@ +bin/lashd +bin/lash_control +bin/lash_save_button +bin/lash_panel +include/lash-1.0/lash/lash.h +include/lash-1.0/lash/types.h +include/lash-1.0/lash/xmalloc.h +include/lash-1.0/lash/config.h +include/lash-1.0/lash/event.h +include/lash-1.0/lash/list.h +include/lash-1.0/lash/file.h +include/lash-1.0/lash/client_interface.h +include/lash-1.0/lash/protocol.h +include/lash-1.0/lash/loader.h +include/lash-1.0/lash/exec_params.h +lib/liblash.so.2 +lib/liblash.so +lib/liblash.la +lib/liblash.a +libdata/pkgconfig/lash-1.0.pc +%%DATADIR%%/dtds/lash-project-1.0.dtd +%%DATADIR%%/icons/lash_16px.png +%%DATADIR%%/icons/lash_24px.png +%%DATADIR%%/icons/lash_48px.png +%%DATADIR%%/icons/lash_96px.png +%%DATADIR%%/icons/lash.svg +%%DATADIR%%/icons/lash.xcf +@dirrm %%DATADIR%%/icons +@dirrm %%DATADIR%%/dtds +@dirrm %%DATADIR%% +@dirrm include/lash-1.0/lash +@dirrm include/lash-1.0