On Mon, Nov 03, 2014 at 08:38:18PM +0100, Landry Breuil wrote: > On Sun, Nov 02, 2014 at 05:57:06AM -0500, Brad Smith wrote: > > On 02/11/14 5:31 AM, Stuart Henderson wrote: > > >On 2014/11/02 05:18, Brad Smith wrote: > > >>On 02/11/14 5:08 AM, Stuart Henderson wrote: > > >>>On 2014/11/02 04:21, Brad Smith wrote: > > >>>>Here is an update to x265 1.4. > > >>>> > > >>>>OK? > > >>> > > >>>Personally I'd do something like this, > > >>> > > >>>DISTNAME= x265-1.4 > > >>>DISTFILES= ${DISTNAME}{1.4}${EXTRACT_SUFX} > > >>>(and get rid of DIST_SUBDIR/regen distinfo) > > >>> > > >>>even if only so that "cd /usr/ports/*/x265" works without picking up the > > >>>directory in distfiles. But I'm OK either way. > > >> > > >>I don't like the naming either but I don't want to have to take > > >>the upstream dist file and rename it and host it elsewhere. What > > >>is the point of the {1.4} there in DISTFILES? I'll speak to upstream > > >>and see if I can get them to prefix the file name with x265-. > > > > > >That uses ftp -o to rename the output file, so it fetches from 1.4.tar.bz2 > > >and writes to /usr/ports/distfiles/x265-1.4.tar.bz2. Alternatively use a > > >variable and do e.g. > > > > > >V= 1.4 > > >DISTNAME= x265-$V > > >DISTFILES= ${DISTNAME}{$V}${EXTRACT_SUFX} > > > > Oh, ok. Then I'll use that as a workaround. Hopefully upstream will > > heed my bug report asking for a rename of the distfile. > > > > >>>> BROKEN-mips64el = undefined reference to > > >>>> `__sync_val_compare_and_swap_8' > > >>>> BROKEN-powerpc = undefined reference to > > >>>> `__sync_val_compare_and_swap_8' > > >>> > > >>>considering this is a dependency of ffmpeg: ouch > > >> > > >>Ya, the whole atomics situation is pretty bad for some of these archs. > > >>There are quite a few ports broken due to this and it isn't going to > > >>get any better over time. > > > > > >Since this blocks most audio/video players and a number of other things > > >(minidlna, motion, asterisk) which do make sense on at least ppc/loongson, > > >what do you think about making the dependency in ffmpeg conditional by > > >arch? > > > > I'll definitely consider it. I'll speak to the authors and see if there > > are any other options before doing that though. > > You'd better do smth quick, since it's already causing issues. Last ppc pkg > snap > uploaded to the mirrors doesnt have ffmpeg/mplayer/mpd.
And here's a quickly hacked diff, bumped REVISION for safety since arg order is shuffled on archs that have x265 - ive restricted it to alpha/amd64/i386/sparc64, since only those archs have an x265 package so far. Currently building on ppc and amd64, if it packages i'll commit that to fix that sucky situation. Landry Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/ffmpeg/Makefile,v retrieving revision 1.108 diff -u -r1.108 Makefile --- Makefile 23 Oct 2014 07:41:45 -0000 1.108 +++ Makefile 4 Nov 2014 08:44:14 -0000 @@ -5,7 +5,7 @@ V= 20141010 DISTNAME= ffmpeg-git-${V} PKGNAME= ffmpeg-${V} -REVISION= 0 +REVISION= 1 CATEGORIES= graphics multimedia MASTER_SITES= http://comstyle.com/source/ EXTRACT_SUFX= .tar.xz @@ -30,7 +30,7 @@ WANTLIB= SDL X11 Xext Xfixes Xv bz2 c crypto gsm m mp3lame opus \ pthread schroedinger-1.0>=2 sndio speex ssl theoradec \ - theoraenc vorbis vorbisenc vpx>=5 x264>=8 x265 xvidcore \ + theoraenc vorbis vorbisenc vpx>=5 x264>=8 xvidcore \ z MODULES= lang/clang @@ -53,11 +53,9 @@ multimedia/libvpx>=1.3.0 \ multimedia/schroedinger>=1.0.10 \ multimedia/x264>=20111027 \ - multimedia/x265 \ multimedia/xvidcore # inter-library dependencies for the current configuration -LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -lgsm -lmp3lame -lopus -lschroedinger-1.0 -lspeex -ltheoradec -ltheoraenc -lvorbis -lvorbisenc -lvpx -lx264 -lx265 -lxvidcore -lz -pthread LIBavdevice_EXTRALIBS=-L${X11BASE}/lib -lX11 -lXext -lXfixes -lXv -lsndio LIBavfilter_EXTRALIBS= LIBavformat_EXTRALIBS=-L${LOCALBASE}/lib -lbz2 -lssl -lcrypto -pthread @@ -77,6 +75,18 @@ FFMPEG_ARCH= ${MACHINE_ARCH} .endif +# x265 only builds on archs with working builtin atomics +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "alpha" +LIB_DEPENDS += multimedia/x265 +WANTLIB += x265 +CONFIGURE_ARGS += --enable-libx265 +CONFIGURE_ENV += LIBavcodec_REQUIRES="libavutil libswresample opus schroedinger-1.0 speex theoraenc vpx x264 x265" +LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -lgsm -lmp3lame -lopus -lschroedinger-1.0 -lspeex -ltheoradec -ltheoraenc -lvorbis -lvorbisenc -lvpx -lx264 -lx265 -lxvidcore -lz -pthread +.else +CONFIGURE_ENV += LIBavcodec_REQUIRES="libavutil libswresample opus schroedinger-1.0 speex theoraenc vpx x264" +LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -lgsm -lmp3lame -lopus -lschroedinger-1.0 -lspeex -ltheoradec -ltheoraenc -lvorbis -lvorbisenc -lvpx -lx264 -lxvidcore -lz -pthread +.endif + OPTFLAGS= ${CFLAGS} # until the system headers are fixed properly. @@ -114,7 +124,6 @@ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ - --enable-libx265 \ --enable-libxvid \ --enable-nonfree \ --enable-openssl \ @@ -142,7 +151,6 @@ LIBpostproc_LINKFLAGS="" \ LIBswresample_LINKFLAGS="" \ LIBswscale_LINKFLAGS="" \ - LIBavcodec_REQUIRES="libavutil libswresample opus schroedinger-1.0 speex theoraenc vpx x264 x265" \ LIBavdevice_REQUIRES="libavcodec libavfilter libavformat libavutil libpostproc libswresample libswscale" \ LIBavfilter_REQUIRES="libavcodec libavformat libavresample libavutil libpostproc libswresample libswscale" \ LIBavformat_REQUIRES="libavcodec libavutil libswresample" \