summaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-01-11 03:27:04 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-01-11 03:27:04 +0000
commitb8322aaddc0dc6b249457dd19ab7fb246b92c997 (patch)
treeef66f8d10e7f48e478ef6c86585faef602b77d32 /community
parentfe548131c28daad221e6789ddb8e99e54cc155a5 (diff)
Sat Jan 11 03:21:10 UTC 2014
Diffstat (limited to 'community')
-rw-r--r--community/autofs/PKGBUILD23
-rw-r--r--community/autofs/git-fixes.patch777
-rw-r--r--community/dwdiff/PKGBUILD8
-rw-r--r--community/elasticsearch/PKGBUILD6
-rw-r--r--community/glfw/PKGBUILD6
-rw-r--r--community/glusterfs/PKGBUILD8
-rw-r--r--community/opensips/PKGBUILD8
-rw-r--r--community/rust/PKGBUILD13
-rw-r--r--community/stunnel/PKGBUILD15
-rw-r--r--community/zynaddsubfx/PKGBUILD20
10 files changed, 831 insertions, 53 deletions
diff --git a/community/autofs/PKGBUILD b/community/autofs/PKGBUILD
index 0618daea0..8c949954e 100644
--- a/community/autofs/PKGBUILD
+++ b/community/autofs/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 103218 2013-12-30 14:30:57Z lfleischer $
+# $Id: PKGBUILD 103697 2014-01-10 07:48:01Z bgyorgy $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Dale Blount <dale@archlinux.org>
@@ -6,7 +6,7 @@
pkgname=autofs
pkgver=5.0.8
-pkgrel=1
+pkgrel=2
pkgdesc='A kernel-based automounter for Linux.'
arch=('i686' 'x86_64')
url='http://freshmeat.net/projects/autofs'
@@ -14,15 +14,24 @@ license=('GPL2')
depends=('libxml2')
makedepends=('libldap' 'krb5' 'kmod')
optdepends=('krb5: for LDAP support')
-backup=('etc/default/autofs'
- 'etc/autofs/auto.master'
- 'etc/autofs/auto.misc')
+backup=('etc/autofs/auto.master'
+ 'etc/autofs/auto.misc'
+ 'etc/autofs/auto.net'
+ 'etc/autofs/auto.smb'
+ 'etc/autofs/autofs_ldap_auth.conf'
+ 'etc/default/autofs')
options=(!makeflags)
-source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.xz")
-sha256sums=('32c41fb4e3439f18400468e84dc82fbbd4b14156bef6b9a7f09196ecd9299d52')
+source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.xz"
+ "git-fixes.patch")
+sha256sums=('32c41fb4e3439f18400468e84dc82fbbd4b14156bef6b9a7f09196ecd9299d52'
+ '09c41a73db6a352cb04b51795591e5ae1c4a3fff37257fc8bb117020fa0e2724')
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Apply fixes from git
+ patch -Np1 -i "${srcdir}/git-fixes.patch"
+
sed -i -e 's|/etc/auto.misc|/etc/autofs/auto.misc|' \
-e 's|/etc/auto.master.d|/etc/autofs/auto.master.d|' samples/auto.master
}
diff --git a/community/autofs/git-fixes.patch b/community/autofs/git-fixes.patch
new file mode 100644
index 000000000..fd096193f
--- /dev/null
+++ b/community/autofs/git-fixes.patch
@@ -0,0 +1,777 @@
+diff --git a/CHANGELOG b/CHANGELOG
+index 62dac81..a9263c8 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -1,3 +1,17 @@
++??/??/20?? autofs-5.0.9
++=======================
++- fix undefined authtype_requires_creds err if ldap enabled but without sasl.
++- fix master map type check.
++- fix task manager not getting signaled.
++- allow --with-systemd to take a path arg.
++- fix WITH_LIBTIRPC function name.
++- fix ipv6 libtirpc getport.
++- fix ipv6 link local address handling.
++- fix fix ipv6 libtirpc getport.
++- get_nfs_info() should query portmapper if port is not given.
++- fix rpc_portmap_getport() proto not set.
++- fix protmap not trying proto v2.
++
+ 17/10/2013 autofs-5.0.8
+ =======================
+ - fix nobind sun escaped map entries.
+diff --git a/aclocal.m4 b/aclocal.m4
+index 3e6f223..2115204 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -229,8 +229,10 @@ dnl Check the location of the systemd unit files directory
+ dnl --------------------------------------------------------------------------
+ AC_DEFUN([AF_WITH_SYSTEMD],
+ [AC_ARG_WITH(systemd,
+-[ --with-systemd install systemd unit file if systemd unit directory
+- is found on system],
++[ --with-systemd@<:@=systemddir@:>@ install systemd unit file. If 'yes'
++ probe the system for unit directory.
++ If a path is specified, assume that
++ is a valid install path.],
+ [if test "$withval" = yes; then
+ if test -z "$systemddir"; then
+ AC_MSG_CHECKING([location of the systemd unit files directory])
+@@ -247,6 +249,10 @@ AC_DEFUN([AF_WITH_SYSTEMD],
+ else
+ AC_MSG_RESULT(not found)
+ fi
++else
++ if test "$withval" != no; then
++ systemddir=$withval
++ fi
+ fi])
+ ])
+
+@@ -435,7 +441,7 @@ CFLAGS="$af_check_libtirpc_save_cflags"
+ LDFLAGS="$af_check_libtirpc_save_ldflags"
+ ])
+
+-AC_DEFUN([AM_WITH_LIBTIRPC],
++AC_DEFUN([AF_WITH_LIBTIRPC],
+ [AC_MSG_CHECKING([if libtirpc is requested and available])
+ AC_ARG_WITH(libtirpc,
+ [ --with-libtirpc use libtirpc if available],
+diff --git a/configure b/configure
+index 2c2e312..4e1743d 100755
+--- a/configure
++++ b/configure
+@@ -1372,8 +1372,10 @@ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-path=PATH look in PATH for binaries needed by the automounter
+- --with-systemd install systemd unit file if systemd unit directory
+- is found on system
++ --with-systemd[=systemddir] install systemd unit file. If 'yes'
++ probe the system for unit directory.
++ If a path is specified, assume that
++ is a valid install path.
+ --with-confdir=DIR use DIR for autofs configuration files
+ --with-mapdir=PATH look in PATH for mount maps used by the automounter
+ --with-fifodir=PATH use PATH as the directory for fifos used by the automounter
+@@ -2260,6 +2262,10 @@ $as_echo "$systemddir" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+ $as_echo "not found" >&6; }
+ fi
++else
++ if test "$withval" != no; then
++ systemddir=$withval
++ fi
+ fi
+ fi
+
+diff --git a/configure.in b/configure.in
+index 5f29163..1eeb8dc 100644
+--- a/configure.in
++++ b/configure.in
+@@ -124,7 +124,7 @@ AC_SUBST(flagdir)
+ #
+ # Use libtirpc
+ #
+-AM_WITH_LIBTIRPC()
++AF_WITH_LIBTIRPC()
+ AC_SUBST(TIRPCLIB)
+
+ #
+diff --git a/daemon/lookup.c b/daemon/lookup.c
+index e3d9536..7fea942 100644
+--- a/daemon/lookup.c
++++ b/daemon/lookup.c
+@@ -171,14 +171,22 @@ int lookup_nss_read_master(struct master *master, time_t age)
+ char source[10];
+
+ memset(source, 0, 10);
+- if (!strncmp(name, "file:", 5) ||
+- !strncmp(name, "yp:", 3) ||
+- !strncmp(name, "nis:", 4) ||
+- !strncmp(name, "nisplus:", 8) ||
+- !strncmp(name, "ldap:", 5) ||
+- !strncmp(name, "ldaps:", 6) ||
+- !strncmp(name, "sss:", 4) ||
+- !strncmp(name, "dir:", 4)) {
++ if ((!strncmp(name, "file", 4) &&
++ (name[4] == ',' || name[4] == ':')) ||
++ (!strncmp(name, "yp", 3) &&
++ (name[3] == ',' || name[3] == ':')) ||
++ (!strncmp(name, "nis", 3) &&
++ (name[3] == ',' || name[3] == ':')) ||
++ (!strncmp(name, "nisplus", 7) &&
++ (name[7] == ',' || name[7] == ':')) ||
++ (!strncmp(name, "ldap", 4) &&
++ (name[4] == ',' || name[4] == ':')) ||
++ (!strncmp(name, "ldaps", 5) &&
++ (name[5] == ',' || name[5] == ':')) ||
++ (!strncmp(name, "sss", 3) ||
++ (name[3] == ',' || name[3] == ':')) ||
++ (!strncmp(name, "dir", 3) &&
++ (name[3] == ',' || name[3] == ':'))) {
+ strncpy(source, name, tmp - name);
+
+ /*
+diff --git a/daemon/state.c b/daemon/state.c
+index 8d81788..3174a9c 100644
+--- a/daemon/state.c
++++ b/daemon/state.c
+@@ -818,13 +818,13 @@ done:
+ new = st_alloc_task(ap, state);
+ if (new)
+ list_add(&new->list, head);
+- /* Added to empty state queue, kick state machine */
+- signaled = 1;
+- status = pthread_cond_signal(&cond);
+- if (status)
+- fatal(status);
+ }
+
++ signaled = 1;
++ status = pthread_cond_signal(&cond);
++ if (status)
++ fatal(status);
++
+ return 1;
+ }
+
+diff --git a/include/automount.h b/include/automount.h
+index 71787a5..396391c 100644
+--- a/include/automount.h
++++ b/include/automount.h
+@@ -335,6 +335,7 @@ size_t _strlen(const char *str, size_t max);
+ int cat_path(char *buf, size_t len, const char *dir, const char *base);
+ int ncat_path(char *buf, size_t len,
+ const char *dir, const char *base, size_t blen);
++int _strncmp(const char *s1, const char *s2, size_t n);
+
+ /* Core automount definitions */
+
+diff --git a/lib/cat_path.c b/lib/cat_path.c
+index 60669db..c386b33 100644
+--- a/lib/cat_path.c
++++ b/lib/cat_path.c
+@@ -87,3 +87,12 @@ int ncat_path(char *buf, size_t len,
+ return cat_path(buf, len, dir, name);
+ }
+
++/* Compare first n bytes of s1 and s2 and that n == strlen(s1) */
++int _strncmp(const char *s1, const char *s2, size_t n)
++{
++ size_t len = strlen(s1);
++
++ if (n != len)
++ return n - len;
++ return strncmp(s1, s2, n);
++}
+diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
+index 46b3e8d..5d6ead0 100644
+--- a/lib/rpc_subs.c
++++ b/lib/rpc_subs.c
+@@ -234,6 +234,29 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i
+
+ return 0;
+ }
++static int rpc_getport(struct conn_info *info,
++ struct pmap *parms, CLIENT *client,
++ unsigned short *port)
++{
++ enum clnt_stat status;
++
++ /*
++ * Check to see if server is up otherwise a getport will take
++ * forever to timeout.
++ */
++ status = clnt_call(client, PMAPPROC_NULL,
++ (xdrproc_t) xdr_void, 0, (xdrproc_t) xdr_void, 0,
++ info->timeout);
++
++ if (status == RPC_SUCCESS) {
++ status = clnt_call(client, PMAPPROC_GETPORT,
++ (xdrproc_t) xdr_pmap, (caddr_t) parms,
++ (xdrproc_t) xdr_u_short, (caddr_t) port,
++ info->timeout);
++ }
++
++ return status;
++}
+ #else
+ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, int *fd, CLIENT **client)
+ {
+@@ -267,9 +290,6 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i
+ laddr = (struct sockaddr *) &in4_laddr;
+ in4_raddr->sin_port = htons(info->port);
+ slen = sizeof(struct sockaddr_in);
+- /* Use rpcbind v2 for AF_INET */
+- if (info->program == rpcb_prog)
+- info->version = PMAPVERS;
+ } else if (addr->sa_family == AF_INET6) {
+ struct sockaddr_in6 *in6_raddr = (struct sockaddr_in6 *) addr;
+ in6_laddr.sin6_family = AF_INET6;
+@@ -324,6 +344,255 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i
+
+ return 0;
+ }
++
++/*
++ * Thankfully nfs-utils had already dealt with this.
++ * Thanks to Chuck Lever for his nfs-utils patch series, much of
++ * which is used here.
++ */
++static pthread_mutex_t proto_mutex = PTHREAD_MUTEX_INITIALIZER;
++
++static enum clnt_stat rpc_get_netid(const sa_family_t family,
++ const int protocol, char **netid)
++{
++ char *nc_protofmly, *nc_proto, *nc_netid;
++ struct netconfig *nconf;
++ struct protoent *proto;
++ void *handle;
++
++ switch (family) {
++ case AF_LOCAL:
++ case AF_INET:
++ nc_protofmly = NC_INET;
++ break;
++ case AF_INET6:
++ nc_protofmly = NC_INET6;
++ break;
++ default:
++ return RPC_UNKNOWNPROTO;
++ }
++
++ pthread_mutex_lock(&proto_mutex);
++ proto = getprotobynumber(protocol);
++ if (!proto) {
++ pthread_mutex_unlock(&proto_mutex);
++ return RPC_UNKNOWNPROTO;
++ }
++ nc_proto = strdup(proto->p_name);
++ pthread_mutex_unlock(&proto_mutex);
++ if (!nc_proto)
++ return RPC_SYSTEMERROR;
++
++ handle = setnetconfig();
++ while ((nconf = getnetconfig(handle)) != NULL) {
++ if (nconf->nc_protofmly != NULL &&
++ strcmp(nconf->nc_protofmly, nc_protofmly) != 0)
++ continue;
++ if (nconf->nc_proto != NULL &&
++ strcmp(nconf->nc_proto, nc_proto) != 0)
++ continue;
++
++ nc_netid = strdup(nconf->nc_netid);
++ if (!nc_netid) {
++ free(nc_proto);
++ return RPC_SYSTEMERROR;
++ }
++
++ *netid = nc_netid;
++ }
++ endnetconfig(handle);
++ free(nc_proto);
++
++ return RPC_SUCCESS;
++}
++
++static char *rpc_sockaddr2universal(const struct sockaddr *addr)
++{
++ const struct sockaddr_in6 *sin6 = (const struct sockaddr_in6 *) addr;
++ const struct sockaddr_un *sun = (const struct sockaddr_un *) addr;
++ const struct sockaddr_in *sin = (const struct sockaddr_in *) addr;
++ char buf[INET6_ADDRSTRLEN + 8 /* for port information */];
++ uint16_t port;
++ size_t count;
++ char *result;
++ int len;
++
++ switch (addr->sa_family) {
++ case AF_LOCAL:
++ return strndup(sun->sun_path, sizeof(sun->sun_path));
++ case AF_INET:
++ if (inet_ntop(AF_INET, (const void *)&sin->sin_addr.s_addr,
++ buf, (socklen_t)sizeof(buf)) == NULL)
++ goto out_err;
++ port = ntohs(sin->sin_port);
++ break;
++ case AF_INET6:
++ if (inet_ntop(AF_INET6, (const void *)&sin6->sin6_addr,
++ buf, (socklen_t)sizeof(buf)) == NULL)
++ goto out_err;
++ port = ntohs(sin6->sin6_port);
++ break;
++ default:
++ goto out_err;
++ }
++
++ count = sizeof(buf) - strlen(buf);
++ len = snprintf(buf + strlen(buf), count, ".%u.%u",
++ (unsigned)(port >> 8), (unsigned)(port & 0xff));
++ /* before glibc 2.0.6, snprintf(3) could return -1 */
++ if (len < 0 || (size_t)len > count)
++ goto out_err;
++
++ result = strdup(buf);
++ return result;
++
++out_err:
++ return NULL;
++}
++
++static int rpc_universal2port(const char *uaddr)
++{
++ char *addrstr;
++ char *p, *endptr;
++ unsigned long portlo, porthi;
++ int port = -1;
++
++ addrstr = strdup(uaddr);
++ if (!addrstr)
++ return -1;
++
++ p = strrchr(addrstr, '.');
++ if (!p)
++ goto out;
++
++ portlo = strtoul(p + 1, &endptr, 10);
++ if (*endptr != '\0' || portlo > 255)
++ goto out;
++ *p = '\0';
++
++ p = strrchr(addrstr, '.');
++ if (!p)
++ goto out;
++
++ porthi = strtoul(p + 1, &endptr, 10);
++ if (*endptr != '\0' || porthi > 255)
++ goto out;
++ *p = '\0';
++
++ port = (porthi << 8) | portlo;
++
++out:
++ free(addrstr);
++ return port;
++}
++
++static enum clnt_stat rpc_rpcb_getport(CLIENT *client,
++ struct rpcb *parms,
++ struct timeval timeout,
++ unsigned short *port)
++{
++ rpcvers_t rpcb_version;
++ struct rpc_err rpcerr;
++ int s_port = 0;
++
++ for (rpcb_version = RPCBVERS_4;
++ rpcb_version >= RPCBVERS_3;
++ rpcb_version--) {
++ enum clnt_stat status;
++ char *uaddr = NULL;
++
++ CLNT_CONTROL(client, CLSET_VERS, (void *) &rpcb_version);
++ status = CLNT_CALL(client, (rpcproc_t) RPCBPROC_GETADDR,
++ (xdrproc_t) xdr_rpcb, (void *) parms,
++ (xdrproc_t) xdr_wrapstring, (void *) &uaddr,
++ timeout);
++
++ switch (status) {
++ case RPC_SUCCESS:
++ if ((uaddr == NULL) || (uaddr[0] == '\0'))
++ return RPC_PROGNOTREGISTERED;
++
++ s_port = rpc_universal2port(uaddr);
++ xdr_free((xdrproc_t) xdr_wrapstring, (char *) &uaddr);
++ if (s_port == -1) {
++ return RPC_N2AXLATEFAILURE;
++ }
++ *port = s_port;
++ return RPC_SUCCESS;
++
++ case RPC_PROGVERSMISMATCH:
++ clnt_geterr(client, &rpcerr);
++ if (rpcerr.re_vers.low > RPCBVERS4)
++ return status;
++ continue;
++
++ case RPC_PROGUNAVAIL:
++ continue;
++
++ case RPC_PROGNOTREGISTERED:
++ continue;
++
++ default:
++ /* Most likely RPC_TIMEDOUT or RPC_CANTRECV */
++ return status;
++ }
++ }
++
++ return RPC_PROGNOTREGISTERED;
++}
++
++static enum clnt_stat rpc_getport(struct conn_info *info,
++ struct pmap *parms, CLIENT *client,
++ unsigned short *port)
++{
++ enum clnt_stat status;
++ struct sockaddr *paddr, addr;
++ struct rpcb rpcb_parms;
++ char *netid, *raddr;
++
++ if (info->addr)
++ paddr = info->addr;
++ else {
++ if (!clnt_control(client, CLGET_SERVER_ADDR, (char *) &addr))
++ return RPC_UNKNOWNADDR;
++ paddr = &addr;
++ }
++
++ netid = NULL;
++ status = rpc_get_netid(paddr->sa_family, info->proto, &netid);
++ if (status != RPC_SUCCESS)
++ return status;
++
++ raddr = rpc_sockaddr2universal(paddr);
++ if (!raddr) {
++ free(netid);
++ return RPC_UNKNOWNADDR;
++ }
++
++ memset(&rpcb_parms, 0, sizeof(rpcb_parms));
++ rpcb_parms.r_prog = parms->pm_prog;
++ rpcb_parms.r_vers = parms->pm_vers;
++ rpcb_parms.r_netid = netid;
++ rpcb_parms.r_addr = raddr;
++ rpcb_parms.r_owner = "";
++
++ status = rpc_rpcb_getport(client, &rpcb_parms, info->timeout, port);
++
++ free(netid);
++ free(raddr);
++
++ if (status == RPC_PROGNOTREGISTERED) {
++ /* Last chance, version 2 uses a different procedure */
++ rpcvers_t rpcb_version = PMAPVERS;
++ CLNT_CONTROL(client, CLSET_VERS, (void *) &rpcb_version);
++ status = clnt_call(client, PMAPPROC_GETPORT,
++ (xdrproc_t) xdr_pmap, (caddr_t) parms,
++ (xdrproc_t) xdr_u_short, (caddr_t) port,
++ info->timeout);
++ }
++
++ return status;
++}
+ #endif
+
+ #if defined(HAVE_GETRPCBYNAME) || defined(HAVE_GETSERVBYNAME)
+@@ -380,7 +649,7 @@ static unsigned short rpc_getrpcbport(const int proto)
+ done:
+ pthread_mutex_unlock(&rpcb_mutex);
+ #endif
+- return (unsigned short) PMAPPORT;
++ return (unsigned short) htons(PMAPPORT);
+ }
+
+ /*
+@@ -412,6 +681,12 @@ static int create_client(struct conn_info *info, CLIENT **client)
+ goto done;
+ if (ret == -EHOSTUNREACH)
+ goto out_close;
++ if (ret == -EINVAL) {
++ char buf[MAX_ERR_BUF];
++ char *estr = strerror_r(-ret, buf, MAX_ERR_BUF);
++ error(LOGOPT_ANY, "connect() failed: %s", estr);
++ goto out_close;
++ }
+
+ if (!info->client && fd != RPC_ANYSOCK) {
+ close(fd);
+@@ -618,6 +893,8 @@ int rpc_portmap_getport(struct conn_info *info,
+
+ memset(&pmap_info, 0, sizeof(struct conn_info));
+
++ pmap_info.proto = proto;
++
+ if (proto == IPPROTO_TCP)
+ pmap_info.timeout.tv_sec = PMAP_TOUT_TCP;
+ else
+@@ -647,20 +924,7 @@ int rpc_portmap_getport(struct conn_info *info,
+ return ret;
+ }
+
+- /*
+- * Check to see if server is up otherwise a getport will take
+- * forever to timeout.
+- */
+- status = clnt_call(client, PMAPPROC_NULL,
+- (xdrproc_t) xdr_void, 0, (xdrproc_t) xdr_void, 0,
+- pmap_info.timeout);
+-
+- if (status == RPC_SUCCESS) {
+- status = clnt_call(client, PMAPPROC_GETPORT,
+- (xdrproc_t) xdr_pmap, (caddr_t) parms,
+- (xdrproc_t) xdr_u_short, (caddr_t) port,
+- pmap_info.timeout);
+- }
++ status = rpc_getport(&pmap_info, parms, client, port);
+
+ if (!info->client) {
+ /*
+@@ -867,6 +1131,11 @@ static int rpc_get_exports_proto(struct conn_info *info, exports *exp)
+ clnt_control(client, CLSET_RETRY_TIMEOUT, (char *) &info->timeout);
+
+ client->cl_auth = authunix_create_default();
++ if (client->cl_auth == NULL) {
++ error(LOGOPT_ANY, "auth create failed");
++ clnt_destroy(client);
++ return 0;
++ }
+
+ vers_entry = 0;
+ while (1) {
+diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c
+index 2ab1e8c..04b1da7 100644
+--- a/modules/lookup_ldap.c
++++ b/modules/lookup_ldap.c
+@@ -846,20 +846,20 @@ int get_property(unsigned logopt, xmlNodePtr node, const char *prop, char **valu
+ return 0;
+ }
+
+-#ifdef WITH_SASL
+ /*
+ * For plain text, login and digest-md5 authentication types, we need
+ * user and password credentials.
+ */
+ int authtype_requires_creds(const char *authtype)
+ {
++#ifdef WITH_SASL
+ if (!strncmp(authtype, "PLAIN", strlen("PLAIN")) ||
+ !strncmp(authtype, "DIGEST-MD5", strlen("DIGEST-MD5")) ||
+ !strncmp(authtype, "LOGIN", strlen("LOGIN")))
+ return 1;
++#endif
+ return 0;
+ }
+-#endif
+
+ /*
+ * Returns:
+diff --git a/modules/mount_autofs.c b/modules/mount_autofs.c
+index 319f2e4..61aec70 100644
+--- a/modules/mount_autofs.c
++++ b/modules/mount_autofs.c
+@@ -116,17 +116,17 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name,
+ while (*comma != '\0' && *comma != ',')
+ comma++;
+
+- if (strncmp(cp, "nobrowse", 8) == 0)
++ if (_strncmp(cp, "nobrowse", 8) == 0)
+ ghost = 0;
+- else if (strncmp(cp, "nobind", 6) == 0)
++ else if (_strncmp(cp, "nobind", 6) == 0)
+ nobind = 1;
+- else if (strncmp(cp, "browse", 6) == 0)
++ else if (_strncmp(cp, "browse", 6) == 0)
+ ghost = 1;
+- else if (strncmp(cp, "symlink", 7) == 0)
++ else if (_strncmp(cp, "symlink", 7) == 0)
+ symlnk = 1;
+- else if (strncmp(cp, "hosts", 5) == 0)
++ else if (_strncmp(cp, "hosts", 5) == 0)
+ hosts = 1;
+- else if (strncmp(cp, "timeout=", 8) == 0) {
++ else if (_strncmp(cp, "timeout=", 8) == 0) {
+ char *val = strchr(cp, '=');
+ unsigned tout;
+ if (val) {
+diff --git a/modules/mount_bind.c b/modules/mount_bind.c
+index 2b70104..a70bf3a 100644
+--- a/modules/mount_bind.c
++++ b/modules/mount_bind.c
+@@ -107,7 +107,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+ end--;
+
+ o_len = end - cp + 1;
+- if (strncmp("symlink", cp, o_len) == 0)
++ if (_strncmp("symlink", cp, o_len) == 0)
+ symlnk = 1;
+ }
+ }
+diff --git a/modules/mount_ext2.c b/modules/mount_ext2.c
+index 1edf347..1bc429d 100644
+--- a/modules/mount_ext2.c
++++ b/modules/mount_ext2.c
+@@ -77,7 +77,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+
+ if (options && options[0]) {
+ for (p = options; (p1 = strchr(p, ',')); p = p1)
+- if (!strncmp(p, "ro", p1 - p) && ++p1 - p == sizeof("ro"))
++ if (!_strncmp(p, "ro", p1 - p) && ++p1 - p == sizeof("ro"))
+ ro = 1;
+ if (!strcmp(p, "ro"))
+ ro = 1;
+diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c
+index 5a582ef..315fc99 100644
+--- a/modules/mount_nfs.c
++++ b/modules/mount_nfs.c
+@@ -126,32 +126,32 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+
+ o_len = end - cp + 1;
+
+- if (strncmp("proto=rdma", cp, o_len) == 0 ||
+- strncmp("rdma", cp, o_len) == 0)
++ if (_strncmp("proto=rdma", cp, o_len) == 0 ||
++ _strncmp("rdma", cp, o_len) == 0)
+ rdma = 1;
+
+- if (strncmp("nosymlink", cp, o_len) == 0) {
++ if (_strncmp("nosymlink", cp, o_len) == 0) {
+ warn(ap->logopt, MODPREFIX
+ "the \"nosymlink\" option is depricated "
+ "and will soon be removed, "
+ "use the \"nobind\" option instead");
+ nosymlink = 1;
+- } else if (strncmp("nobind", cp, o_len) == 0) {
++ } else if (_strncmp("nobind", cp, o_len) == 0) {
+ nobind = 1;
+- } else if (strncmp("no-use-weight-only", cp, o_len) == 0) {
++ } else if (_strncmp("no-use-weight-only", cp, o_len) == 0) {
+ flags &= ~MOUNT_FLAG_USE_WEIGHT_ONLY;
+- } else if (strncmp("use-weight-only", cp, o_len) == 0) {
++ } else if (_strncmp("use-weight-only", cp, o_len) == 0) {
+ flags |= MOUNT_FLAG_USE_WEIGHT_ONLY;
+ } else {
+- if (strncmp("vers=4", cp, o_len) == 0 ||
+- strncmp("nfsvers=4", cp, o_len) == 0)
++ if (_strncmp("vers=4", cp, o_len) == 0 ||
++ _strncmp("nfsvers=4", cp, o_len) == 0)
+ vers = NFS4_VERS_MASK | TCP_SUPPORTED;
+- else if (strncmp("vers=3", cp, o_len) == 0 ||
+- strncmp("nfsvers=3", cp, o_len) == 0) {
++ else if (_strncmp("vers=3", cp, o_len) == 0 ||
++ _strncmp("nfsvers=3", cp, o_len) == 0) {
+ vers &= ~(NFS4_VERS_MASK | NFS_VERS_MASK);
+ vers |= NFS3_REQUESTED;
+- } else if (strncmp("vers=2", cp, o_len) == 0 ||
+- strncmp("nfsvers=2", cp, o_len) == 0) {
++ } else if (_strncmp("vers=2", cp, o_len) == 0 ||
++ _strncmp("nfsvers=2", cp, o_len) == 0) {
+ vers &= ~(NFS4_VERS_MASK | NFS_VERS_MASK);
+ vers |= NFS2_REQUESTED;
+ } else if (strstr(cp, "port=") == cp &&
+@@ -164,16 +164,16 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+ if (port < 0)
+ port = 0;
+ port_opt = cp;
+- } else if (strncmp("proto=udp", cp, o_len) == 0 ||
+- strncmp("udp", cp, o_len) == 0) {
++ } else if (_strncmp("proto=udp", cp, o_len) == 0 ||
++ _strncmp("udp", cp, o_len) == 0) {
+ vers &= ~TCP_SUPPORTED;
+- } else if (strncmp("proto=tcp", cp, o_len) == 0 ||
+- strncmp("tcp", cp, o_len) == 0) {
++ } else if (_strncmp("proto=tcp", cp, o_len) == 0 ||
++ _strncmp("tcp", cp, o_len) == 0) {
+ vers &= ~UDP_SUPPORTED;
+ }
+ /* Check for options that also make sense
+ with bind mounts */
+- else if (strncmp("ro", cp, o_len) == 0)
++ else if (_strncmp("ro", cp, o_len) == 0)
+ ro = 1;
+ /* and jump over trailing white space */
+ memcpy(nfsp, cp, comma - cp + 1);
+diff --git a/modules/parse_sun.c b/modules/parse_sun.c
+index 30820b5..9a877c8 100644
+--- a/modules/parse_sun.c
++++ b/modules/parse_sun.c
+@@ -511,29 +511,29 @@ static int sun_mount(struct autofs_point *ap, const char *root,
+ while (*comma != '\0' && *comma != ',')
+ comma++;
+
+- if (strncmp("fstype=", cp, 7) == 0) {
++ if (_strncmp("fstype=", cp, 7) == 0) {
+ int typelen = comma - (cp + 7);
+ fstype = alloca(typelen + 1);
+ memcpy(fstype, cp + 7, typelen);
+ fstype[typelen] = '\0';
+- } else if (strncmp("nonstrict", cp, 9) == 0) {
++ } else if (_strncmp("nonstrict", cp, 9) == 0) {
+ nonstrict = 1;
+- } else if (strncmp("strict", cp, 6) == 0) {
++ } else if (_strncmp("strict", cp, 6) == 0) {
+ nonstrict = 0;
+- } else if (strncmp("nobrowse", cp, 8) == 0 ||
+- strncmp("browse", cp, 6) == 0 ||
+- strncmp("timeout=", cp, 8) == 0) {
++ } else if (_strncmp("nobrowse", cp, 8) == 0 ||
++ _strncmp("browse", cp, 6) == 0 ||
++ _strncmp("timeout=", cp, 8) == 0) {
+ if (strcmp(fstype, "autofs") == 0 ||
+ strstr(cp, "fstype=autofs")) {
+ memcpy(np, cp, comma - cp + 1);
+ np += comma - cp + 1;
+ }
+- } else if (strncmp("no-use-weight-only", cp, 18) == 0) {
++ } else if (_strncmp("no-use-weight-only", cp, 18) == 0) {
+ use_weight_only = -1;
+- } else if (strncmp("use-weight-only", cp, 15) == 0) {
++ } else if (_strncmp("use-weight-only", cp, 15) == 0) {
+ use_weight_only = MOUNT_FLAG_USE_WEIGHT_ONLY;
+- } else if (strncmp("bg", cp, 2) == 0 ||
+- strncmp("nofg", cp, 4) == 0) {
++ } else if (_strncmp("bg", cp, 2) == 0 ||
++ _strncmp("nofg", cp, 4) == 0) {
+ continue;
+ } else {
+ memcpy(np, cp, comma - cp + 1);
+@@ -862,7 +862,7 @@ static int validate_location(unsigned int logopt, char *loc)
+ *ptr == '-' || *ptr == '.' || *ptr == '_' ||
+ *ptr == ',' || *ptr == '(' || *ptr == ')' ||
+ *ptr == '#' || *ptr == '@' || *ptr == ':' ||
+- *ptr == '[' || *ptr == ']')) {
++ *ptr == '[' || *ptr == ']' || *ptr == '%')) {
+ error(logopt, "invalid character \"%c\" "
+ "found in location %s", *ptr, loc);
+ return 0;
+diff --git a/modules/replicated.c b/modules/replicated.c
+index 5fdd9d9..2463235 100644
+--- a/modules/replicated.c
++++ b/modules/replicated.c
+@@ -444,9 +444,12 @@ static unsigned int get_nfs_info(unsigned logopt, struct host *host,
+ host->name, proto, version);
+
+ rpc_info->proto = proto;
+- if (port < 0)
+- rpc_info->port = NFS_PORT;
+- else if (port > 0)
++ if (port < 0) {
++ if (version & NFS4_REQUESTED)
++ rpc_info->port = NFS_PORT;
++ else
++ port = 0;
++ } else if (port > 0)
+ rpc_info->port = port;
+
+ memset(&parms, 0, sizeof(struct pmap));
diff --git a/community/dwdiff/PKGBUILD b/community/dwdiff/PKGBUILD
index 6350f5fb7..701edc468 100644
--- a/community/dwdiff/PKGBUILD
+++ b/community/dwdiff/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 98737 2013-10-17 14:01:43Z andyrtr $
+# $Id: PKGBUILD 103699 2014-01-10 10:25:00Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=dwdiff
-pkgver=2.0.4
-pkgrel=5
+pkgver=2.0.9
+pkgrel=1
pkgdesc="A front-end for the diff program that operates at the word level instead of the line level"
arch=('i686' 'x86_64')
url="http://os.ghalkes.nl/dwdiff.html"
depends=('diffutils' 'icu')
license=('GPL')
source=("http://os.ghalkes.nl/dist/$pkgname-$pkgver.tgz")
-md5sums=('1bb69cbfb76583f69c6912f925fc4cec')
+md5sums=('f8364e1257011cc9dfe349775a651606')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/elasticsearch/PKGBUILD b/community/elasticsearch/PKGBUILD
index f25e85294..af8d71bb0 100644
--- a/community/elasticsearch/PKGBUILD
+++ b/community/elasticsearch/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 103596 2014-01-08 09:32:01Z mtorromeo $
+# $Id: PKGBUILD 103723 2014-01-10 13:09:44Z mtorromeo $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
# Contributor: Marcello "mererghost" Rocha <https://github.com/mereghost>
# Refactored by Blaž "Speed" Hrastnik <https://github.com/archSeer>
pkgname=elasticsearch
-pkgver=0.90.9
+pkgver=0.90.10
pkgrel=1
pkgdesc="Distributed RESTful search engine built on top of Lucene"
arch=('i686' 'x86_64')
@@ -70,6 +70,6 @@ package() {
install -Dm644 "$srcdir/elasticsearch-tmpfile.conf" "$pkgdir/usr/lib/tmpfiles.d/elasticsearch.conf"
}
-sha256sums=('5521c4dc775c18ee4abd6cd6ad94cdc1f106d63fddd3d97cfae1ec25b3f01095'
+sha256sums=('78c87f600878a6cab41c1d447f6a40b25892a59f8fb49da11392a682884fb8df'
'09a4027780d73103c26f311c64774dcbc47b5e1d54789c1f2d9c697f518f2eeb'
'48b5a876e14819270c85f8ca626a011e01d10a2728758ced9a4d5bcf5c1fd23f')
diff --git a/community/glfw/PKGBUILD b/community/glfw/PKGBUILD
index 7d44ad480..db5bda30f 100644
--- a/community/glfw/PKGBUILD
+++ b/community/glfw/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 98064 2013-10-05 08:59:45Z svenstaro $
+# $Id: PKGBUILD 103691 2014-01-09 23:58:47Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: philefou <tuxication AT gmail DOT com>
# Contributor: lindquist <tomas@famolsen.dk>
@@ -7,7 +7,7 @@
# Contributor: SpepS <dreamspepser at yahoo dot it>
pkgname=glfw
-pkgver=3.0.3
+pkgver=3.0.4
pkgrel=1
pkgdesc="A free, open source, portable framework for OpenGL application development"
arch=('i686' 'x86_64')
@@ -16,7 +16,7 @@ license=('custom:ZLIB')
depends=('libgl' 'libxrandr' 'glu' 'xorg-xinput')
makedepends=('mesa' 'cmake' 'doxygen')
source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2")
-md5sums=('623977c096b28c25528e3c958e9fb3fd')
+md5sums=('133a9faed6f1fbd527551a7e42aeb4f9')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/glusterfs/PKGBUILD b/community/glusterfs/PKGBUILD
index e841b8cc0..bd9fb167c 100644
--- a/community/glusterfs/PKGBUILD
+++ b/community/glusterfs/PKGBUILD
@@ -1,13 +1,13 @@
-# $Id: PKGBUILD 102127 2013-12-05 14:49:23Z spupykin $
+# $Id: PKGBUILD 103705 2014-01-10 10:51:26Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributors:
# Andrei Antoukh - niwi@niwi.be - http://www.niwi.be
# henning mueller <henning@orgizm.net>
pkgname=glusterfs
-pkgver=3.4.1
+pkgver=3.4.2
_basever=`echo $pkgver | cut -f1-2 -d.`
-pkgrel=2
+pkgrel=1
pkgdesc='Is a cluster file-system capable of scaling to several peta-bytes.'
arch=(i686 x86_64)
url='http://www.gluster.org/'
@@ -15,7 +15,7 @@ license=(GPL2 LGPL3)
depends=(fuse python2 libxml2)
makedepends=(flex bison)
source=(http://download.gluster.org/pub/gluster/glusterfs/$_basever/$pkgver/glusterfs-$pkgver.tar.gz)
-md5sums=('dce3d066b7351b360454ea9ca4cabe4c')
+md5sums=('7c05304a9aca3c85ff27458461783623')
build() {
cd $srcdir/$pkgname-$pkgver
diff --git a/community/opensips/PKGBUILD b/community/opensips/PKGBUILD
index 23ccc3729..bb7205168 100644
--- a/community/opensips/PKGBUILD
+++ b/community/opensips/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 103436 2014-01-05 21:24:23Z spupykin $
+# $Id: PKGBUILD 103707 2014-01-10 10:51:45Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=opensips
pkgver=1.10.0
-pkgrel=1
+pkgrel=2
pkgdesc="An Open Source SIP Server able to act as a SIP proxy, registrar, location server, redirect server ..."
url="http://www.opensips.org"
depends=('gcc-libs' 'openssl' 'db' 'attr' 'libxml2')
@@ -46,7 +46,7 @@ build() {
make \
include_modules="ldap db_mysql db_postgres db_unixodbc presence presence_xml h350" \
- TLS=1 LIBDIR=lib
+ TLS=1 LIBDIR=lib PREFIX=/usr
}
package() {
@@ -54,7 +54,7 @@ package() {
make \
include_modules="ldap db_mysql db_postgres db_unixodbc presence presence_xml h350" \
- TLS=1 DESTDIR=$pkgdir/usr LIBDIR=lib install
+ TLS=1 BASEDIR=$pkgdir PREFIX=/usr LIBDIR=lib install
# Conforms to the arch packaging standards (http://wiki.archlinux.org/index.php/Arch_Packaging_Standards)
mkdir -p $pkgdir/etc/
diff --git a/community/rust/PKGBUILD b/community/rust/PKGBUILD
index b6831ab5d..fb1832001 100644
--- a/community/rust/PKGBUILD
+++ b/community/rust/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 97658 2013-09-27 01:45:47Z thestinger $
+# $Id: PKGBUILD 103695 2014-01-10 03:08:10Z thestinger $
# Maintainer: Daniel Micay <danielmicay@gmail.com>
pkgname=rust
-pkgver=0.8
-pkgrel=1
+pkgver=0.9
+pkgrel=2
arch=('i686' 'x86_64')
pkgdesc='A safe, concurrent, practical language'
url='http://www.rust-lang.org/'
@@ -11,9 +11,10 @@ depends=(gcc shared-mime-info)
makedepends=(libffi perl python2 curl chrpath)
source=("http://static.rust-lang.org/dist/rust-${pkgver}.tar.gz"
"http://static.rust-lang.org/dist/rust-${pkgver}.tar.gz.asc")
-sha256sums=('42f791ab1537357fe0f63d67ffe6bcb64ecf16b2bd3f1484ab589823f5914182'
+sha256sums=('c0911c3545b797a1ca16f3d76bf5ed234754b828efd1e22c182c7300ac7dd5d1'
'SKIP')
install=rust.install
+options=(staticlibs)
build() {
cd rust-$pkgver
@@ -57,8 +58,8 @@ package() {
cd "$pkgdir/usr"
# https://github.com/mozilla/rust/issues/5219
- chrpath -d bin/* lib/*.so lib/rustc/*/lib/*.so
+ chrpath -d bin/* lib/*.so lib/rustlib/*/lib/*.so
cd lib
- ln -sf rustc/$CARCH-unknown-linux-gnu/lib/* .
+ ln -sf rustlib/$CARCH-unknown-linux-gnu/lib/* .
}
diff --git a/community/stunnel/PKGBUILD b/community/stunnel/PKGBUILD
index eb440b4bf..988e5c2e8 100644
--- a/community/stunnel/PKGBUILD
+++ b/community/stunnel/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 99994 2013-10-31 02:53:44Z allan $
+# $Id: PKGBUILD 103727 2014-01-10 21:25:08Z bgyorgy $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: Kaiting Chen <kaitocracy@gmail.com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
@@ -6,7 +6,7 @@
pkgname=stunnel
pkgver=4.56
-pkgrel=3
+pkgrel=4
pkgdesc="A program that allows you to encrypt arbitrary TCP connections inside SSL"
arch=('i686' 'x86_64')
url="http://www.stunnel.org"
@@ -42,17 +42,10 @@ package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install
- for i in ca.pl importCA.sh; do
- install -Dm755 "tools/$i" "$pkgdir/usr/share/stunnel/$i"
- done
-
- install -Dm644 tools/stunnel.cnf "$pkgdir/etc/stunnel/stunnel.cnf"
+ install -Dm644 tools/stunnel.cnf "$pkgdir/etc/stunnel/stunnel-openssl.cnf-sample"
+ install -Dm644 tools/stunnel.service "$pkgdir/usr/lib/systemd/system/stunnel.service"
install -Dm644 "$srcdir/stunnel.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/stunnel.conf"
- # move systemd service into place
- install -dm755 "$pkgdir/usr/lib/systemd/system"
- mv "tools/stunnel.service" "$pkgdir/usr/lib/systemd/system/"
-
sed -e "s:/usr/var/lib/stunnel/:/var/run/stunnel:g" \
-e "s:/usr/etc/stunnel/:/etc/stunnel/:g" \
-e "s:no\(body\|group\):stunnel:g" \
diff --git a/community/zynaddsubfx/PKGBUILD b/community/zynaddsubfx/PKGBUILD
index b5ce8787a..9f5dcdcfb 100644
--- a/community/zynaddsubfx/PKGBUILD
+++ b/community/zynaddsubfx/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 72810 2012-06-22 13:58:49Z spupykin $
+# $Id: PKGBUILD 103709 2014-01-10 12:47:51Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: SpepS <dreamspepser at yahoo dot it>
# Contributor: Ionut Biru <ibiru@archlinux.org>
@@ -6,7 +6,7 @@
pkgname=zynaddsubfx
pkgver=2.4.3
-pkgrel=1
+pkgrel=2
pkgdesc="Opensource software synthesizer capable of making a countless number of instruments."
arch=('i686' 'x86_64')
url="http://zynaddsubfx.sourceforge.net"
@@ -15,28 +15,26 @@ depends=('fltk' 'libgl' 'fftw' 'lash' 'mxml')
makedepends=('cmake' 'pkgconfig' 'mesa' 'setconf' 'gendesk')
options=('!emptydirs')
source=("http://switch.dl.sourceforge.net/sourceforge/$pkgname/ZynAddSubFX-$pkgver.tar.bz2"
- "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/zynaddsubfx/files/zynaddsubfx-2.4.1-fltk.patch"
- "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/zynaddsubfx/files/zynaddsubfx-2.4.1-fltk13.patch"
"$pkgname.svg")
md5sums=('2e8994cc54e5f1a64b77dfac3baf0d9a'
- 'eb95d339ff5deac8c6b54965f04a8c60'
- '49464a33ab9c4250520eda0df7705663'
'6f7e9c3ce3947088a10c99c46a65431f')
build() {
cd "$srcdir"
- gendesk
+ gendesk $startdir/PKGBUILD
setconf "$pkgname.desktop" Icon "$pkgname.svg"
cd "ZynAddSubFX-$pkgver"
- # patches
-# patch -p1 -i "$srcdir/$pkgname-$pkgver-fltk.patch"
-# patch -p1 -i "$srcdir/$pkgname-$pkgver-fltk13.patch"
sed -i '1,1i#include <unistd.h>' src/Nio/NulEngine.cpp
[ -d build ] || mkdir build && cd build
- cmake -DCMAKE_INSTALL_PREFIX=/usr -DOutputModule=jack -DGuiModule=fltk ..
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDefaultOutput=jack \
+ -DDefaultInput=jack \
+ -DGuiModule=fltk \
+ ..
make
# build external programs