ports/148643: New port: multimedia/mp4v2, replaces multimedia/mpeg4ip-libmp4v2

Christopher Key cjk32 at cam.ac.uk
Thu Jul 15 15:10:05 UTC 2010


>Number:         148643
>Category:       ports
>Synopsis:       New port: multimedia/mp4v2, replaces multimedia/mpeg4ip-libmp4v2
>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:   Thu Jul 15 15:10:04 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Christopher Key
>Release:        FreeBSD 8.0-RELEASE-p2 amd64
>Organization:
>Environment:
System: FreeBSD chacal.wzl33 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #2: Sat Jun 19 15:45:05 BST 2010 root at chacal.wzl33:/usr/obj/usr/src/sys/CHACAL amd64


	
>Description:

MPEG4IP is no longer maintained[1].  A new project[2] forked the libmp4v2 components, and is under active developement.  This set of patches integrates mp4v2 into the ports tree as a replacementment for multimedia/mpeg4ip-libmp4v2.

There is one question to be resolved for the new port, multimedia/mp4v2.  When building libmp4v2, versioning information is passed to libtool using -version-number 1.9.1 (rather than the more usual -version-info current:revision:age).  Libtool translates a version number to version info, but does differently on different platforms. 
This seems a little strange, as the rules relating API changes to a version number would normally be defined by the project, and not the platform.

Libtool translates 1.9.1 to 10:1:9 on most platforms, but 1:9:0 on FreeBSD. I have overridden this to give 10:1:9 on FreeBSD too, so that other projects linking to mp4v2 can look for consistent numbers across platforms, but I'm not sure if this is the correct thing to do.  I have also suggested that future releases of mp4v2 specify -version-info directly.

The new port, multimedia/mp4v2, doesn't install everything that multimedia/mpeg4ip-libmp4v2 used to install: libmp4av and libmpeg4ip_gnu are missing.  Nothing seems to depend on these, and they have been integrated back into the main multimedia/mpeg4ip port.

There are various ports that depend on multimedia/mpeg4ip-libmp4v2 that have been updated.

audio/cmus, audio/kid3-kde4, audio/kid3, multimedia/quodlibet and www/mod_musicindex build cleanly without changes.  (quodlibet has only been tested on i386.  It is also unclear whether it actually still requires libmp4v2.)

audio/amarok, audio/easytag, audio/easytag-devel, audio/faac, audio/libtunepimp and audio/libtunepimp-old build cleanly with a trivial change to include mp4v2/mp4v2.h instead of mp4.h.

audio/gtkpod requires more extensive changes.  If it detects mp4v2, it assumes the presence of functions that were temporarily available as replacements for deprecated parts of the mp4v2 API.  The included patch attempts to fix this in a manner that could be extended and reincorporated into the original code.  The port is also changed so as not to automatically link to libmp4v2 is present, and intsead honour WITHOUT_MPEG4IP.

CARE IS REQUIRED WHEN APPLYING THIS PATCH.  The absence of an audio/gtkpod/files dir means that patch claims to have successfully applied patch-src__mp4file.c without actually creating it, create a files dir before applying the patch.

audio/etoile-melodie hasn't been tested as etoile-languagekit is marked as broken.

None of the above ports (with the exception of faac) have been tested due to the lack of suitable infrastructure.

multimedia/mpeg4ip-libmp4v2 has been updated to mark the conflict with mp4v2, but is now obsolete, and should probably be removed.


[1] http://mpeg4ip.sourceforge.net/
[2] http://code.google.com/p/mp4v2/



	
>How-To-Repeat:
	
>Fix:

	

--- audio-amarok.patch begins here ---
Index: audio/amarok/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/amarok/Makefile,v
retrieving revision 1.101
diff -u -r1.101 Makefile
--- audio/amarok/Makefile	31 May 2010 01:57:20 -0000	1.101
+++ audio/amarok/Makefile	15 Jul 2010 10:26:50 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	amarok
 PORTVERSION=	1.4.10
-PORTREVISION=	11
+PORTREVISION=	12
 CATEGORIES=	audio kde
 MASTER_SITES=	${MASTER_SITE_KDE}
 MASTER_SITE_SUBDIR=	stable/${PORTNAME}/${PORTVERSION}/src
@@ -17,7 +17,7 @@
 
 LIB_DEPENDS=	tag.1:${PORTSDIR}/audio/taglib \
 		tunepimp.5:${PORTSDIR}/audio/libtunepimp \
-		mp4v2:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2 \
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2 \
 		xine.1:${PORTSDIR}/multimedia/libxine
 
 MIN_OPTIONS_VER=	${PORTNAME}-1.4.1
@@ -109,10 +109,14 @@
 pre-extract:	check-options-version
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|-O2||g'	${WRKSRC}/${CONFIGURE_SCRIPT}
-	@${REINPLACE_CMD} -e 's|LIBS="-ltunepimp  $$LIBS"|LIBS="-ltunepimp -liconv $$LIBS"|g' \
-	${WRKSRC}/${CONFIGURE_SCRIPT}
+	@${REINPLACE_CMD} -e 's|-O2||g;	\
+		s|LIBS="-ltunepimp  $$LIBS"|LIBS="-ltunepimp -liconv $$LIBS"|g; \
+		s|mp4\.h|mp4v2/mp4v2.h|g' \
+		${WRKSRC}/${CONFIGURE_SCRIPT}
 	@${REINPLACE_CMD} -e 's|xx||g' ${WRKSRC}/po/Makefile.in
+	@${REINPLACE_CMD} -e 's|<mp4\.h>|<mp4v2/mp4v2.h>|g' \
+		${WRKSRC}/amarok/src/metadata/mp4/mp4properties.h \
+		${WRKSRC}/amarok/src/metadata/mp4/mp4tag.h
 	@${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${TOUCH}
 
 post-install:
--- audio-amarok.patch ends here ---

--- audio-cmus.patch begins here ---
Index: audio/cmus/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/cmus/Makefile,v
retrieving revision 1.33
diff -u -r1.33 Makefile
--- audio/cmus/Makefile	30 Jun 2010 11:34:15 -0000	1.33
+++ audio/cmus/Makefile	14 Jul 2010 20:11:33 -0000
@@ -7,6 +7,7 @@
 
 PORTNAME=	cmus
 PORTVERSION=	2.3.3
+PORTREVISION=	1
 CATEGORIES=	audio
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	${PORTNAME}
@@ -103,7 +104,7 @@
 
 .if defined(WITH_MP4)
 LIB_DEPENDS+=	faad:${PORTSDIR}/audio/faad
-LIB_DEPENDS+=	mp4v2:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+LIB_DEPENDS+=	mp4v2:${PORTSDIR}/multimedia/mp4v2
 CONFIGURE_ARGS+=CONFIG_MP4=y
 PLIST_SUB+=	MP4=""
 .else
--- audio-cmus.patch ends here ---

--- audio-easytag-devel.patch begins here ---
Index: audio/easytag-devel/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/easytag-devel/Makefile,v
retrieving revision 1.72
diff -u -r1.72 Makefile
--- audio/easytag-devel/Makefile	6 Jun 2010 20:43:31 -0000	1.72
+++ audio/easytag-devel/Makefile	15 Jul 2010 10:12:10 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	easytag
 PORTVERSION=	2.1.6
-PORTREVISION=	6
+PORTREVISION=	7
 CATEGORIES=	audio
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}%20unstable%20%28gtk%202%29/${PORTVERSION}
 PKGNAMESUFFIX=	-devel
@@ -18,7 +18,7 @@
 LIB_DEPENDS=	id3tag:${PORTSDIR}/audio/libid3tag \
 		vorbis:${PORTSDIR}/audio/libvorbis \
 		FLAC:${PORTSDIR}/audio/flac \
-		mp4v2:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2
 
 MAN1=		easytag.1
 CONFLICTS=	easytag-[0-9]*
@@ -43,4 +43,10 @@
 LIB_DEPENDS+=		id3:${PORTSDIR}/audio/id3lib
 .endif
 
+post-patch:
+	@${REINPLACE_CMD} -e 's|<mp4\.h>|<mp4v2/mp4v2.h>|g' \
+		${WRKSRC}/${CONFIGURE_SCRIPT} \
+		${WRKSRC}/src/mp4_header.c \
+		${WRKSRC}/src/mp4_tag.c
+
 .include <bsd.port.mk>
--- audio-easytag-devel.patch ends here ---

--- audio-easytag.patch begins here ---
Index: audio/easytag/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/easytag/Makefile,v
retrieving revision 1.53
diff -u -r1.53 Makefile
--- audio/easytag/Makefile	6 Jun 2010 20:43:31 -0000	1.53
+++ audio/easytag/Makefile	15 Jul 2010 10:12:18 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	easytag
 PORTVERSION=	2.1
-PORTREVISION=	9
+PORTREVISION=	10
 CATEGORIES=	audio
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}%20%28gtk%202%29/${PORTVERSION}
 
@@ -17,7 +17,7 @@
 LIB_DEPENDS=	id3:${PORTSDIR}/audio/id3lib \
 		vorbis:${PORTSDIR}/audio/libvorbis \
 		FLAC:${PORTSDIR}/audio/flac \
-		mp4v2:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2
 
 MAN1=		easytag.1
 CONFLICTS=	easytag-devel-[0-9]*
@@ -36,4 +36,9 @@
 CONFIGURE_ARGS+=	--disable-wavpack
 .endif
 
+post-patch:
+	@${REINPLACE_CMD} -e 's|<mp4\.h>|<mp4v2/mp4v2.h>|g' \
+		${WRKSRC}/src/mp4_header.c \
+		${WRKSRC}/src/mp4_tag.c
+
 .include <bsd.port.mk>
--- audio-easytag.patch ends here ---

--- audio-etoile-melodie.patch begins here ---
Index: audio/etoile-melodie/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/etoile-melodie/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
--- audio/etoile-melodie/Makefile	7 Jun 2010 06:26:56 -0000	1.6
+++ audio/etoile-melodie/Makefile	14 Jul 2010 20:09:37 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	melodie
 PORTVERSION=	0.4.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	audio gnustep
 MASTER_SITES=	http://download.gna.org/etoile/
 PKGNAMEPREFIX=	etoile-
@@ -17,7 +17,7 @@
 COMMENT=	Etoile Project music player
 
 LIB_DEPENDS=	tag.1:${PORTSDIR}/audio/taglib \
-		mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2
 
 USE_BZIP2=	yes
 USE_GNUSTEP=	yes
--- audio-etoile-melodie.patch ends here ---

--- audio-faac.patch begins here ---
Index: audio/faac/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/faac/Makefile,v
retrieving revision 1.37
diff -u -r1.37 Makefile
--- audio/faac/Makefile	22 Aug 2009 22:36:56 -0000	1.37
+++ audio/faac/Makefile	15 Jul 2010 10:11:52 -0000
@@ -7,13 +7,14 @@
 
 PORTNAME=	faac
 PORTVERSION=	1.28
+PORTREVISION=	1
 CATEGORIES=	audio
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}-src/${PORTNAME}-${PORTVERSION}
 
 MAINTAINER=	multimedia at FreeBSD.org
 COMMENT=	MPEG-2 and MPEG-4 AAC audio encoder
 
-LIB_DEPENDS=	mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+LIB_DEPENDS=	mp4v2.10:${PORTSDIR}/multimedia/mp4v2
 
 RESTRICTED=	Distribution in binary form is prohibited
 
@@ -24,6 +25,7 @@
 USE_AUTOTOOLS=	aclocal:110 autoheader:262 automake:110 autoconf:262 libtool:22
 ACLOCAL_ARGS=	-I . -I ${LOCALBASE}/share/aclocal
 AUTOMAKE_ARGS=	--add-missing
+CONFIGURE_ARGS= --with-mp4v2
 CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" \
 		LDFLAGS="-L${LOCALBASE}/lib" \
 		LIBS="-lmp4v2"
@@ -35,6 +37,8 @@
 
 post-patch:
 	@${ECHO_CMD} "" >> ${WRKSRC}/libfaac/psych.h
+	@${REINPLACE_CMD} -e 's|<mp4\.h>|<mp4v2/mp4v2.h>|g' \
+		${WRKSRC}/frontend/main.c \
 
 pre-configure:
 	@cd ${WRKSRC}; ${SETENV} ${AUTOTOOLS_ENV} ${LIBTOOLIZE} --automake
Index: audio/faac/files/patch-configure.in
===================================================================
RCS file: /home/ncvs/ports/audio/faac/files/patch-configure.in,v
retrieving revision 1.1
diff -u -r1.1 patch-configure.in
--- audio/faac/files/patch-configure.in	24 Aug 2006 23:34:20 -0000	1.1
+++ audio/faac/files/patch-configure.in	15 Jul 2010 10:11:52 -0000
@@ -1,15 +1,20 @@
---- configure.in.orig	Thu Aug 24 18:43:12 2006
-+++ configure.in	Thu Aug 24 18:45:13 2006
+--- ./configure.in.orig	2010-07-11 22:10:12.000000000 +0100
++++ ./configure.in	2010-07-11 22:10:49.000000000 +0100
 @@ -1,7 +1,7 @@
  AC_PREREQ(2.50)
- AC_INIT(FAAC, 1.25, faac-dev at lists.sourceforge.net)
+ AC_INIT(FAAC, 1.28, faac-dev at lists.sourceforge.net)
  AC_CONFIG_AUX_DIR(.)
 -AM_INIT_AUTOMAKE
 +AM_INIT_AUTOMAKE(faac, 1.25)
  
  AM_CONFIG_HEADER(config.h)
  
-@@ -35,6 +35,7 @@
+@@ -32,10 +32,11 @@
+ AC_CHECK_DECLS([MP4Create, MP4MetadataDelete],
+                AC_CHECK_LIB(mp4v2, MP4MetadataDelete, external_mp4v2=yes,
+                             external_mp4v2=no, -lstdc++),
+-               external_mp4v2=no, [#include <mp4.h>])
++               external_mp4v2=no, [#include <mp4v2/mp4v2.h>])
  
  if test x$external_mp4v2 = xyes; then
    AC_MSG_NOTICE([*** Building with external mp4v2 ***])
--- audio-faac.patch ends here ---

--- audio-gtkpod.patch begins here ---
Index: audio/gtkpod/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/gtkpod/Makefile,v
retrieving revision 1.55
diff -u -r1.55 Makefile
--- audio/gtkpod/Makefile	6 Jun 2010 20:43:32 -0000	1.55
+++ audio/gtkpod/Makefile	14 Jul 2010 20:19:00 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	gtkpod
 PORTVERSION=	0.99.14
-PORTREVISION=	6
+PORTREVISION=	7
 CATEGORIES=	audio
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
 
@@ -40,11 +40,14 @@
 
 .include <bsd.port.pre.mk>
 
-.if defined(WITH_MPEG4IP) || exists(${LOCALBASE}/lib/libmp4v2.so)
-LIB_DEPENDS+=	mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+.if defined(WITH_MPEG4IP) && !defined(WITHOUT_MPEG4IP)
+LIB_DEPENDS+=	mp4v2.10:${PORTSDIR}/multimedia/mp4v2
+CONFIGURE_ARGS+=	--with-mp4v2
 # Define HAVE_GTK to unbreak the build with libmp4v2.so (it is built
 # without Gtk support by default, which can result in gtkpod breakage)
 MAKE_ARGS+=	CPPFLAGS="-DHAVE_GTK"
+.else
+CONFIGURE_ARGS+=	--without-mp4v2
 .endif
 .for x in faac faad
 .  if exists(${LOCALBASE}/bin/${x})
Index: audio/gtkpod/files/patch-src__mp4file.c
===================================================================
RCS file: audio/gtkpod/files/patch-src__mp4file.c
diff -N audio/gtkpod/files/patch-src__mp4file.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ audio/gtkpod/files/patch-src__mp4file.c	14 Jul 2010 20:19:01 -0000
@@ -0,0 +1,99 @@
+--- ./src/mp4file.c.orig	2010-07-13 12:23:59.000000000 +0100
++++ ./src/mp4file.c	2010-07-13 12:39:31.000000000 +0100
+@@ -132,6 +132,8 @@
+ /* define metadata bug is present (see note at mp4_write_file_info()) */
+ #define MP4V2_HAS_METADATA_BUG TRUE
+ 
++#define HAVE_LIBMP4V2_19X 1
++
+ #include <sys/types.h>
+ #include <sys/param.h>
+ #include <inttypes.h>
+@@ -399,7 +401,7 @@
+ #else
+ #warning "Album Artist field not supported with this version of libmp4v2. Album Artist support requires at least V1.6.0"
+ #endif
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 		    if (MP4GetMetadataComposer(mp4File, &value) && value != NULL)
+ #else
+ 		    if (MP4GetMetadataWriter(mp4File, &value) && value != NULL)
+@@ -413,7 +415,7 @@
+ 			track->comment = charset_to_utf8 (value);
+ 			g_free(value);
+ 		    }
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 		    if (MP4GetMetadataReleaseDate(mp4File, &value) && value != NULL)
+ #else
+ 		    if (MP4GetMetadataYear(mp4File, &value) && value != NULL)
+@@ -447,7 +449,7 @@
+ 			track->genre = charset_to_utf8 (value);
+ 			g_free(value);
+ 		    }
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 		    if (MP4GetMetadataBPM (mp4File, &numvalue))
+ #else
+ 		    if (MP4GetMetadataTempo (mp4File, &numvalue))
+@@ -541,7 +543,7 @@
+ 						      &m_track, &m_tracks);
+ 	    gboolean has_disk = MP4GetMetadataDisk (mp4File,
+ 	    &m_disk, &m_disks);*/
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 	    gboolean has_tempo = MP4GetMetadataBPM (mp4File,
+ 						      &m_tempo);
+ #else
+@@ -553,13 +555,13 @@
+ /*	    MP4GetMetadataName (mp4File, &m_name);
+ 	    MP4GetMetadataArtist (mp4File, &m_artist);
+ 	    MP4GetMetadataAlbumArtist (mp4File, &m_albumartist);
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 	    MP4GetMetadataComposer (mp4File, &m_writer);
+ #else
+ 	    MP4GetMetadataWriter (mp4File, &m_writer);
+ #endif
+ 	    MP4GetMetadataComment (mp4File, &m_comment);
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 	    MP4GetMetadataReleaseDate (mp4File, &m_year);
+ #else
+ 	    MP4GetMetadataYear (mp4File, &m_year);
+@@ -584,7 +586,7 @@
+ 	    g_free (value);
+ #endif
+ 	    value = charset_from_utf8 (track->composer);
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 	    MP4SetMetadataComposer (mp4File, value);
+ #else
+ 	    MP4SetMetadataWriter (mp4File, value);
+@@ -596,7 +598,7 @@
+ 	    g_free (value);
+ 
+ 	    value = g_strdup_printf ("%d", track->year);
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 	    MP4SetMetadataReleaseDate (mp4File, value);
+ #else
+ 	    MP4SetMetadataYear (mp4File, value);
+@@ -611,7 +613,7 @@
+ 
+ 	    MP4SetMetadataDisk (mp4File, track->cd_nr, track->cds);
+ 
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 	    MP4SetMetadataBPM (mp4File, track->BPM);
+ #else
+ 	    MP4SetMetadataTempo (mp4File, track->BPM);
+@@ -626,7 +628,7 @@
+ 	    g_free (value);
+ 
+ #if MP4V2_HAS_METADATA_BUG
+-#if HAVE_LIBMP4V2_2
++#if HAVE_LIBMP4V2_2 && !HAVE_LIBMP4V2_19X
+ 	    if (has_tempo) MP4SetMetadataBPM (mp4File, m_tempo);
+ #else
+ 	    if (has_tempo) MP4SetMetadataTempo (mp4File, m_tempo);
--- audio-gtkpod.patch ends here ---

--- audio-kid3-kde4.patch begins here ---
Index: audio/kid3-kde4/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/kid3-kde4/Makefile,v
retrieving revision 1.26
diff -u -r1.26 Makefile
--- audio/kid3-kde4/Makefile	6 Jun 2010 20:43:33 -0000	1.26
+++ audio/kid3-kde4/Makefile	14 Jul 2010 20:21:44 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	kid3
 PORTVERSION=	1.4
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	audio kde
 MASTER_SITES=	SF
 PKGNAMESUFFIX=	-kde4
@@ -20,7 +20,7 @@
 		ogg.7:${PORTSDIR}/audio/libogg \
 		vorbis.4:${PORTSDIR}/audio/libvorbis \
 		tunepimp.5:${PORTSDIR}/audio/libtunepimp \
-		mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2
 
 USE_KDE4=	kdelibs kdeprefix kdehier automoc4
 USE_QT_VER=	4
--- audio-kid3-kde4.patch ends here ---

--- audio-kid3.patch begins here ---
Index: audio/kid3/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/kid3/Makefile,v
retrieving revision 1.23
diff -u -r1.23 Makefile
--- audio/kid3/Makefile	6 Jun 2010 20:43:33 -0000	1.23
+++ audio/kid3/Makefile	14 Jul 2010 20:21:30 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	kid3
 PORTVERSION=	1.4
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	audio kde
 MASTER_SITES=	SF
 
@@ -19,7 +19,7 @@
 		ogg.7:${PORTSDIR}/audio/libogg \
 		vorbis.4:${PORTSDIR}/audio/libvorbis \
 		tunepimp.5:${PORTSDIR}/audio/libtunepimp \
-		mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2
 
 USE_KDELIBS_VER=3
 USE_GMAKE=	yes
--- audio-kid3.patch ends here ---

--- audio-libtunepimp-old.patch begins here ---
Index: audio/libtunepimp-old/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/libtunepimp-old/Makefile,v
retrieving revision 1.29
diff -u -r1.29 Makefile
--- audio/libtunepimp-old/Makefile	8 Jun 2010 19:52:55 -0000	1.29
+++ audio/libtunepimp-old/Makefile	15 Jul 2010 10:12:02 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	libtunepimp-old
 PORTVERSION=	0.4.4
-PORTREVISION=	2
+PORTREVISION=	3
 PORTEPOCH=	2
 CATEGORIES=	audio
 MASTER_SITES=	http://ftp.osuosl.org/pub/musicbrainz/ \
@@ -20,7 +20,7 @@
 LIB_DEPENDS=	FLAC:${PORTSDIR}/audio/flac \
 		expat:${PORTSDIR}/textproc/expat2 \
 		mad:${PORTSDIR}/audio/libmad \
-		mp4v2:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2 \
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2 \
 		musicbrainz:${PORTSDIR}/audio/libmusicbrainz \
 		ogg:${PORTSDIR}/audio/libogg \
 		tag:${PORTSDIR}/audio/taglib \
@@ -40,6 +40,8 @@
 		 s|^CPPFLAGS=|#CPPFLAGS=|g' ${WRKSRC}/configure
 	@${REINPLACE_CMD} -e 's|-lthr|${PTHREAD_LIBS}|g' \
 		${WRKSRC}/lib/threads/posix/Makefile.in
+	@${REINPLACE_CMD} -e 's|<mp4\.h>|<mp4v2/mp4v2.h>|g' \
+		${WRKSRC}/plugins/mp4/mp4.cpp
 
 post-configure:
 	@${REINPLACE_CMD} -e 's|\(^LDFLAGS =.*\)|\1 ${PTHREAD_LIBS} -liconv|g' \
--- audio-libtunepimp-old.patch ends here ---

--- audio-libtunepimp.patch begins here ---
Index: audio/libtunepimp/Makefile
===================================================================
RCS file: /home/ncvs/ports/audio/libtunepimp/Makefile,v
retrieving revision 1.27
diff -u -r1.27 Makefile
--- audio/libtunepimp/Makefile	6 Jun 2010 20:43:34 -0000	1.27
+++ audio/libtunepimp/Makefile	15 Jul 2010 10:11:57 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	libtunepimp
 PORTVERSION=	0.5.3
-PORTREVISION=	6
+PORTREVISION=	7
 PORTEPOCH=	1
 CATEGORIES=	audio
 MASTER_SITES=	http://ftp.musicbrainz.org/pub/musicbrainz/ \
@@ -19,7 +19,7 @@
 LIB_DEPENDS=	FLAC:${PORTSDIR}/audio/flac \
 		expat:${PORTSDIR}/textproc/expat2 \
 		mad:${PORTSDIR}/audio/libmad \
-		mp4v2:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2 \
+		mp4v2.10:${PORTSDIR}/multimedia/mp4v2 \
 		musicbrainz:${PORTSDIR}/audio/libmusicbrainz \
 		ogg:${PORTSDIR}/audio/libogg \
 		tag:${PORTSDIR}/audio/taglib \
@@ -39,6 +39,8 @@
 		 s|^CPPFLAGS=|#CPPFLAGS=|g' ${WRKSRC}/configure
 	@${REINPLACE_CMD} -e 's|-lthr|${PTHREAD_LIBS}|g' \
 		${WRKSRC}/lib/threads/posix/Makefile.in
+	@${REINPLACE_CMD} -e 's|<mp4\.h>|<mp4v2/mp4v2.h>|g' \
+		${WRKSRC}/plugins/mp4/mp4.cpp
 
 post-configure:
 	@${REINPLACE_CMD} -e 's|\(^LDFLAGS =.*\)|\1 ${PTHREAD_LIBS} -liconv|g' \
--- audio-libtunepimp.patch ends here ---

--- multimedia-mpeg4ip-libmp4v2.patch begins here ---
Index: multimedia/mpeg4ip-libmp4v2/Makefile
===================================================================
--- multimedia/mpeg4ip-libmp4v2/Makefile	(revision 2301)
+++ multimedia/mpeg4ip-libmp4v2/Makefile	(revision 2376)
@@ -17,6 +17,7 @@
 MAINTAINER=	multimedia at FreeBSD.org
 COMMENT=	Mpeg-4 library and tools from mpeg4ip
 
+CONFLICTS=	mp4v2-[0-9.]*\
 USE_AUTOTOOLS=	libtool:22
 USE_GMAKE=	yes
 MAKE_JOBS_SAFE=	yes
--- multimedia-mpeg4ip-libmp4v2.patch ends here ---

--- multimedia-mpeg4ip.patch begins here ---
Index: multimedia/mpeg4ip/files/patch-include::mpeg4ip_getopt.h
===================================================================
--- multimedia/mpeg4ip/files/patch-include::mpeg4ip_getopt.h	(revision 0)
+++ multimedia/mpeg4ip/files/patch-include::mpeg4ip_getopt.h	(revision 2376)
@@ -0,0 +1,12 @@
+--- include/mpeg4ip_getopt.h.orig	Tue Oct 15 13:12:27 2002
++++ include/mpeg4ip_getopt.h	Mon Feb 24 05:23:50 2003
+@@ -11,6 +11,9 @@
+ #endif
+ 
+ #ifdef HAVE_GETOPT_H
++#ifdef __FreeBSD__
++#define __GNU_LIBRARY__
++#endif
+ #include <getopt.h>
+ #endif
+ 
Index: multimedia/mpeg4ip/files/patch-include__mpeg4ip.h
===================================================================
--- multimedia/mpeg4ip/files/patch-include__mpeg4ip.h	(revision 0)
+++ multimedia/mpeg4ip/files/patch-include__mpeg4ip.h	(revision 2376)
@@ -0,0 +1,43 @@
+--- ./include/mpeg4ip.h.orig	2006-08-07 19:27:00.000000000 +0100
++++ ./include/mpeg4ip.h	2010-07-14 18:47:44.000000000 +0100
+@@ -58,6 +58,8 @@
+ // file 
+ #include "mpeg4ip_version.h"
+ 
++#include <mp4v2/mp4v2.h>
++
+ #ifdef _WIN32
+ #include "mpeg4ip_win32.h"
+ #include "mpeg4ip_version.h"
+@@ -178,6 +180,7 @@
+ #define LLU  U64
+ 
+ #include <stdarg.h>
++/* from mp4v2/mp4v2.h
+ typedef void (*error_msg_func_t)(int loglevel,
+ 				 const char *lib,
+ 				 const char *fmt,
+@@ -186,6 +189,7 @@
+ 				   const char *lib,
+ 				   const char *fmt,
+ 				   ...);
++*/
+ #ifndef HAVE_IN_PORT_T
+ typedef uint16_t in_port_t;
+ #endif
+@@ -271,6 +275,7 @@
+ 
+ #ifndef __cplusplus
+ 
++/* from mp4v2/mp4v2.h
+ #ifndef bool
+  #if SIZEOF_BOOL == 8
+   typedef uint64_t bool;
+@@ -292,6 +297,7 @@
+  #define true TRUE
+  #endif
+ #endif
++*/
+ 
+ #endif
+ 
Index: multimedia/mpeg4ip/pkg-plist
===================================================================
--- multimedia/mpeg4ip/pkg-plist	(revision 2340)
+++ multimedia/mpeg4ip/pkg-plist	(revision 2376)
@@ -18,12 +18,26 @@
 bin/yuvdump
 include/codec_plugin.h
 include/h264_sdp.h
+include/mp4av.h
+include/mp4av_aac.h
+include/mp4av_ac3.h
+include/mp4av_adts.h
+include/mp4av_amr.h
+include/mp4av_audio.h
+include/mp4av_h264.h
+include/mp4av_hinters.h
+include/mp4av_mp3.h
+include/mp4av_mpeg3.h
+include/mp4av_mpeg4.h
+include/mpeg4ip.h
 include/mpeg4_audio_config.h
 include/mpeg4_sdp.h
 include/mpeg4ip_bitstream.h
 include/mpeg4ip_byteswap.h
+include/mpeg4ip_config.h
 include/mpeg4ip_config_set.h
 include/mpeg4ip_getopt.h
+include/mpeg4ip_version.h
 include/rtp_plugin.h
 include/sdp.h
 include/sdp_error.h
@@ -37,6 +51,9 @@
 lib/libmp4.la
 lib/libmp4.so
 lib/libmp4.so.0
+lib/libmp4av.la
+lib/libmp4av.so
+lib/libmp4av.so.0
 lib/libmp4util.la
 lib/libmp4util.so
 lib/libmp4util.so.0
@@ -59,6 +76,9 @@
 lib/libmpeg4ip_fposrec.la
 lib/libmpeg4ip_fposrec.so
 lib/libmpeg4ip_fposrec.so.0
+lib/libmpeg4ip_gnu.la
+lib/libmpeg4ip_gnu.so
+lib/libmpeg4ip_gnu.so.0
 lib/libmpeg4ip_mpeg4_iso.la
 lib/libmpeg4ip_mpeg4_iso.so
 lib/libmpeg4ip_mpeg4_iso.so.0
Index: multimedia/mpeg4ip/Makefile
===================================================================
--- multimedia/mpeg4ip/Makefile	(revision 2340)
+++ multimedia/mpeg4ip/Makefile	(revision 2376)
@@ -18,7 +18,7 @@
 MAINTAINER=	multimedia at FreeBSD.org
 COMMENT=	Standards-based system to encode, stream and play MPEG-4 audio/video
 
-BUILD_DEPENDS=	mpeg4ip-libmp4v2>=1.6.1:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2 \
+BUILD_DEPENDS=	mp4v2>=1.9.1:${PORTSDIR}/multimedia/mp4v2 \
 		${LOCALBASE}/include/linux/videodev.h:${PORTSDIR}/multimedia/v4l_compat
 LIB_DEPENDS=	faac.0:${PORTSDIR}/audio/faac \
 		faad.2:${PORTSDIR}/audio/faad \
@@ -28,7 +28,7 @@
 		mpeg2.0:${PORTSDIR}/multimedia/libmpeg2	\
 		avcodec.1:${PORTSDIR}/multimedia/ffmpeg \
 		x264.85:${PORTSDIR}/multimedia/x264
-RUN_DEPENDS=	mpeg4ip-libmp4v2>=1.6.1:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+RUN_DEPENDS=	mp4v2>=1.9.1:${PORTSDIR}/multimedia/mp4v2
 
 USE_GNOME=	gtk20
 USE_SDL=	sdl
@@ -147,24 +147,15 @@
 post-patch:
 	@${TOUCH} -f ${WRKSRC}/bootstrapped
 # don't compile or use libmp4v2
-	@${REINPLACE_CMD} -e 's|mp4v2||; s|gnu||; s|mp4av||' \
+	@${REINPLACE_CMD} -e 's|mp4v2||' \
 		${WRKSRC}/lib/Makefile.in
 	@${FIND} ${WRKSRC} -type f -name Makefile.in | \
 		${XARGS} -n 10 ${REINPLACE_CMD} -e \
 		's|-I$(top_srcdir)/lib/mp4v2||; \
 		s|$$(top_builddir)/lib/mp4v2/libmp4v2.la||; \
-		s|$$(top_builddir)/lib/gnu/libmpeg4ip_gnu.la||; \
-		s|$$(top_builddir)/lib/mp4av/libmp4av.la||; \
 		s|$$(top_srcdir)/lib/mp4v2/libmp4v2.la||; \
-		s|$$(top_srcdir)/lib/gnu/libmpeg4ip_gnu.la||; \
-		s|$$(top_srcdir)/lib/mp4av/libmp4av.la||; \
-		s|@LIBS@|@LIBS@ -lmp4v2 -lmp4av -lmpeg4ip_gnu|; \
+		s|@LIBS@|@LIBS@ -lmp4v2|; \
 		s|nasm|yasm|'
-	@${REINPLACE_CMD} -e 's|mpeg4ip.h||; \
-		s|mpeg4ip_config.h||; s|mpeg4ip_version.h||' \
-		${WRKSRC}/include/Makefile.in
-	@${REINPLACE_CMD} -e 's|include_HEADERS = mpeg4ip_config.h||' \
-		${WRKSRC}/Makefile.in
 	@${REINPLACE_CMD} -e 's|-Werror||' \
 		${WRKSRC}/common/video/iso-mpeg4/src/Makefile.in
 	@${REINPLACE_CMD} -e 's|mp4venc_template.par||' \
@@ -172,7 +163,6 @@
 	@${FIND} ${WRKSRC} -type f -name "*.[ch]" -or -name "*.cpp" | ${XARGS} -n 10 \
 		${REINPLACE_CMD} -e \
 		's|<stdint.h>|<inttypes.h>|; \
-		s|mp4v2/mp4.h|mp4.h|; \
 		s|<malloc.h>|<stdlib.h>|; \
 		s|<avcodec.h>|<libavcodec/avcodec.h>|; \
 		s|<swscale.h>|<libswscale/swscale.h>|; \
@@ -196,6 +186,13 @@
 	@${REINPLACE_CMD} -e 's|$${enable_ffmpeg}/lib/libavcodec.a|-lavcodec -lswscale|g' \
 		${WRKSRC}/configure
 
+# replace bundled mp4v2 with placeholder
+post-configure:
+	@${RM} -rf ${WRKSRC}/lib/mp4v2
+	@${MKDIR} ${WRKSRC}/lib/mp4v2
+	@echo '#include "mpeg4ip.h"' > ${WRKSRC}/lib/mp4v2/mp4.h
+
+
 post-install:
 	@${MKDIR} ${DATADIR}
 	${INSTALL_SCRIPT} ${WRKSRC}/server/util/mp4encode/mp4encode \
--- multimedia-mpeg4ip.patch ends here ---

--- multimedia-quodlibet.patch begins here ---
Index: multimedia/quodlibet/Makefile
===================================================================
RCS file: /home/ncvs/ports/multimedia/quodlibet/Makefile,v
retrieving revision 1.33
diff -u -r1.33 Makefile
--- multimedia/quodlibet/Makefile	31 May 2010 02:00:13 -0000	1.33
+++ multimedia/quodlibet/Makefile	14 Jul 2010 20:26:23 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	quodlibet
 PORTVERSION=	2.2
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	multimedia audio python gnome
 MASTER_SITES=	${MASTER_SITE_GOOGLE_CODE}
 
@@ -82,7 +82,7 @@
 .endif
 
 .if !defined(WITHOUT_MPEG4IP)
-LIB_DEPENDS+=	mp4v2.0:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+LIB_DEPENDS+=	mp4v2.10:${PORTSDIR}/multimedia/mp4v2
 USE_GSTREAMER+=	faad
 .endif
 
--- multimedia-quodlibet.patch ends here ---

--- www-mod_musicindex.patch begins here ---
Index: www/mod_musicindex/Makefile
===================================================================
RCS file: /home/ncvs/ports/www/mod_musicindex/Makefile,v
retrieving revision 1.28
diff -u -r1.28 Makefile
--- www/mod_musicindex/Makefile	6 Jun 2010 20:44:03 -0000	1.28
+++ www/mod_musicindex/Makefile	14 Jul 2010 20:25:03 -0000
@@ -7,7 +7,7 @@
 
 PORTNAME=	mod_musicindex
 PORTVERSION=	1.3.3
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	www audio
 MASTER_SITES=	http://www.parisc-linux.org/~varenet/musicindex/ \
 		http://depot.fsck.ch/mirror/distfiles/
@@ -62,7 +62,7 @@
 .if defined(WITHOUT_MP4)
 CONFIGURE_ARGS+=	--disable-mp4
 .else
-LIB_DEPENDS+=	mp4v2:${PORTSDIR}/multimedia/mpeg4ip-libmp4v2
+LIB_DEPENDS+=	mp4v2:${PORTSDIR}/multimedia/mp4v2
 .endif
 
 .if defined(WITHOUT_VORBIS)
--- www-mod_musicindex.patch ends here ---

--- multimedia-mp4v2.sh begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mp4v2
#	mp4v2/files
#	mp4v2/files/patch-GNUmakefile.in
#	mp4v2/files/patch-include__mp4v2__itmf_tags.h
#	mp4v2/distinfo
#	mp4v2/pkg-descr
#	mp4v2/pkg-plist
#	mp4v2/Makefile
#
echo c - mp4v2
mkdir -p mp4v2 > /dev/null 2>&1
echo c - mp4v2/files
mkdir -p mp4v2/files > /dev/null 2>&1
echo x - mp4v2/files/patch-GNUmakefile.in
sed 's/^X//' >mp4v2/files/patch-GNUmakefile.in << '79368a2c649a71e4799dfb2c1957af91'
X--- ./GNUmakefile.in.orig	2010-07-12 21:25:25.000000000 +0100
X+++ ./GNUmakefile.in	2010-07-12 21:26:04.000000000 +0100
X@@ -443,7 +443,7 @@
X lib_LTLIBRARIES = libmp4v2.la
X 
X ###############################################################################
X-libmp4v2_la_LDFLAGS = -version-number $(PROJECT_version_major):$(PROJECT_version_minor):$(PROJECT_version_point) $(X_libmp4v2_la_LDFLAGS)
X+libmp4v2_la_LDFLAGS = -version-info 10:1:9
X libmp4v2_la_SOURCES = src/3gp.cpp src/atom_ac3.cpp src/atom_amr.cpp \
X 	src/atom_avc1.cpp src/atom_avcC.cpp src/atom_chpl.cpp \
X 	src/atom_colr.cpp src/atom_d263.cpp src/atom_dac3.cpp \
79368a2c649a71e4799dfb2c1957af91
echo x - mp4v2/files/patch-include__mp4v2__itmf_tags.h
sed 's/^X//' >mp4v2/files/patch-include__mp4v2__itmf_tags.h << '62e6742a66107e0cb533f68a6f2a1685'
X--- ./include/mp4v2/itmf_tags.h.orig	2010-07-14 16:35:27.000000000 +0100
X+++ ./include/mp4v2/itmf_tags.h	2010-07-14 16:35:35.000000000 +0100
X@@ -122,7 +122,7 @@
X  *  @return structure with all tags missing.
X  */
X MP4V2_EXPORT
X-const MP4Tags* MP4TagsAlloc();
X+const MP4Tags* MP4TagsAlloc(void);
X 
X /** Fetch data from mp4 file and populate structure.
X  *
62e6742a66107e0cb533f68a6f2a1685
echo x - mp4v2/distinfo
sed 's/^X//' >mp4v2/distinfo << 'f91be0541ac9a95fea76ff0f87b28a1d'
XMD5 (mp4v2-1.9.1.tar.bz2) = 986701929ef15b03155ac4fb16444797
XSHA256 (mp4v2-1.9.1.tar.bz2) = 5c381caeab2326fc48cfda0fe202bdb8ba0ae624d9c97ad7680a2b07e2c2e3b4
XSIZE (mp4v2-1.9.1.tar.bz2) = 432943
f91be0541ac9a95fea76ff0f87b28a1d
echo x - mp4v2/pkg-descr
sed 's/^X//' >mp4v2/pkg-descr << '4f48fdcb73d30b9837f450257c5afdc6'
XLibrary and tools to read, create, and modify mp4 files.
X
XWWW: http://code.google.com/p/mp4v2/
4f48fdcb73d30b9837f450257c5afdc6
echo x - mp4v2/pkg-plist
sed 's/^X//' >mp4v2/pkg-plist << '5659ac0da4eaf0ed9cdb1f87a602bc84'
Xbin/mp4art
Xbin/mp4chaps
Xbin/mp4extract
Xbin/mp4file
Xbin/mp4info
Xbin/mp4subtitle
Xbin/mp4tags
Xbin/mp4track
Xbin/mp4trackdump
Xinclude/mp4v2/project.h
Xinclude/mp4v2/chapter.h
Xinclude/mp4v2/file.h
Xinclude/mp4v2/file_prop.h
Xinclude/mp4v2/general.h
Xinclude/mp4v2/isma.h
Xinclude/mp4v2/itmf_generic.h
Xinclude/mp4v2/itmf_tags.h
Xinclude/mp4v2/meta.h
Xinclude/mp4v2/mp4v2.h
Xinclude/mp4v2/platform.h
Xinclude/mp4v2/sample.h
Xinclude/mp4v2/streaming.h
Xinclude/mp4v2/track.h
Xinclude/mp4v2/track_prop.h
Xlib/libmp4v2.a
Xlib/libmp4v2.la
Xlib/libmp4v2.so
Xlib/libmp4v2.so.10
X at dirrm include/mp4v2
5659ac0da4eaf0ed9cdb1f87a602bc84
echo x - mp4v2/Makefile
sed 's/^X//' >mp4v2/Makefile << '40408e15e5e8460d08ae4950ff47d3a9'
X# New ports collection makefile for:	mpeg4ip-libmp4v2
X# Date created:		28 Sep 2004
X# Whom:			Michael Johnson <ahze at FreeBSD.org>
X#
X# $FreeBSD: ports/multimedia/mpeg4ip-libmp4v2/Makefile,v 1.23 2009/08/02 19:34:50 mezz Exp $
X#
X
XPORTNAME=	mp4v2
XPORTVERSION=	1.9.1
XCATEGORIES=	multimedia
XMASTER_SITES=	GOOGLE_CODE
X
XMAINTAINER=	multimedia at FreeBSD.org
XCOMMENT=	Library and tools to read, create, and modify mp4 files
X
XCONFLICTS=	mpeg4ip-libmp4v2-[0-9.]*
XUSE_BZIP2=	yes
XUSE_GMAKE=	yes
XMAKEFILE=	GNUmakefile
XGNU_CONFIGURE=	yes
XUSE_LDCONFIG=	yes
XCONFIGURE_ENV=	"FOUND_HELP2MAN=no"
X
XMAN1=	mp4art.1 \
X	mp4file.1 \
X	mp4subtitle.1 \
X	mp4track.1
X
X.include <bsd.port.mk>
40408e15e5e8460d08ae4950ff47d3a9
exit
--- multimedia-mp4v2.sh ends here ---


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



More information about the freebsd-ports-bugs mailing list