ports/150205: audio/lmms : port fix

[ Available lists | Index of freebsd-ports-bugs | Month of Sep 2010 | Week of 1 Sep 2010 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Rodrigo OSORIO <rodrigo@bebik.net>
Date
1 Sep 2010 22:20:05
Subject
ports/150205: audio/lmms : port fix
Message-ID
201009012216.o81MGicN026669@www.freebsd.org


[ Hide this part ]
 
>Number: 150205
>Category: ports
>Synopsis: audio/lmms : port fix
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 01 22:20:04 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Rodrigo OSORIO
>Release: 8.1-RELEASE
>Organization:
>Environment:
FreeBSD home 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
audio/lmms was broken due to incompatibles calls to scandir(3) function in different versions of FreeBSD.

FreeBSD < 80501 and between 900000 and 900006 uses the old version :
int scandir(const char *dirname, struct dirent ***namelist,
int (*select)(struct dirent *),
int (*compar)(const void *, const void *));

When the versions >= 80501 in 8 branch and > 900006 in 9 branch uses the IEEE
Std 1003.1-2008 version :
int scandir(const char *dirname, struct dirent ***namelist,
int (*select)(const struct dirent *),
int (*compar)(const struct dirent **, const struct dirent **));

This patch tries to fix the problem for all the versions, including the current branch.

Also request the port maintnership.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -ru lmms/Makefile lmms-new/Makefile
--- lmms/Makefile 2010-09-01 23:47:46.000000000 +0200
+++ lmms-new/Makefile 2010-09-01 23:46:46.000000000 +0200
@@ -7,12 +7,12 @@

PORTNAME= lmms
PORTVERSION= 0.4.6
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= audio
MASTER_SITES= SF

-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= rodrigo@bebik.net
COMMENT= An all-in-one sequencer, drum machine, sampler and more

BUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:${PORTSDIR}/audio/ladspa
@@ -54,10 +54,6 @@

.include <bsd.port.pre.mk>

-.if ${OSVERSION} >= 800501
-BROKEN= does not build
-.endif
-
.if defined(WITH_JACK)
LIB_DEPENDS+= jack.0:${PORTSDIR}/audio/jack
.else
diff -ru lmms/files/patch-plugins__zynaddsubfx__fltk__src__filename_list.cxx lmms-new/files/patch-plugins__zynaddsubfx__fltk__src__filename_list.cxx
--- lmms/files/patch-plugins__zynaddsubfx__fltk__src__filename_list.cxx 2010-09-01 23:47:46.000000000 +0200
+++ lmms-new/files/patch-plugins__zynaddsubfx__fltk__src__filename_list.cxx 2010-09-01 23:26:45.000000000 +0200
@@ -16,7 +16,7 @@
#ifndef HAVE_SCANDIR
int n = scandir(d, list, 0, sort);
-#elif defined(__hpux) || defined(__CYGWIN__) || (__GLIBC__ >= 2 && __GLIBC_MINOR__ >= 10 )
-+#elif defined(__hpux) || defined(__CYGWIN__) || (__GLIBC__ >= 2 && __GLIBC_MINOR__ >= 10 ) || (defined(__FreeBSD__) && __FreeBSD_version >= 900006)
++#elif defined(__hpux) || defined(__CYGWIN__) || (__GLIBC__ >= 2 && __GLIBC_MINOR__ >= 10 ) || (defined(__FreeBSD__) && ( (__FreeBSD_version < 900000 && __FreeBSD_version >= 800501) || (__FreeBSD_version >= 900006)))
// HP-UX, Cygwin and POSIX (2008) define the comparison function like this:
int n = scandir(d, list, 0, (int(*)(const dirent **, const dirent **))sort);
#elif defined(__osf__)


>Release-Note:
>Audit-Trail:
>Unformatted:


Elapsed time: 0.164 seconds