ports/150205: audio/lmms : port fix
Rodrigo OSORIO
rodrigo at bebik.net
Wed Sep 1 22:20:05 UTC 2010
>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 at 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 at FreeBSD.org
+MAINTAINER= rodrigo at 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:
More information about the freebsd-ports-bugs
mailing list