Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Sep 2010 22:16:44 GMT
From:      Rodrigo OSORIO <rodrigo@bebik.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/150205: audio/lmms : port fix
Message-ID:  <201009012216.o81MGicN026669@www.freebsd.org>
Resent-Message-ID: <201009012220.o81MK5Ut095570@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009012216.o81MGicN026669>