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