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