--- /usr/portage/media-video/mjpegtools/mjpegtools-1.6.2-r3.ebuild 2005-03-15 21:05:47.000000000 +0100 +++ mjpegtools-1.6.2-r3.ebuild 2005-03-26 14:58:32.013733048 +0100 @@ -4,56 +4,58 @@ inherit flag-o-matic gcc eutils +M4V="1" + DESCRIPTION="Tools for MJPEG video" HOMEPAGE="http://mjpeg.sourceforge.net/" -SRC_URI="mirror://sourceforge/mjpeg/${P}.tar.gz" +SRC_URI="mirror://sourceforge/mjpeg/${P}.tar.gz + mirror://gentoo/${PN}-m4-${M4V}.tar.bz2" LICENSE="as-is" SLOT="1" KEYWORDS="x86 ppc amd64 ~sparc ppc64" -IUSE="gtk avi dv quicktime sdl X yv12 3dnow mmx sse" +IUSE="gtk avi dv quicktime sdl X yv12 3dnow mmx sse v4l dga cmov" -DEPEND="media-libs/jpeg - >=sys-apps/sed-4 +RDEPEND="media-libs/jpeg x86? ( media-libs/libmovtar - mmx? ( >=media-libs/jpeg-mmx-1.1.2-r1 - dev-lang/nasm ) - 3dnow? ( dev-lang/nasm ) - sse? ( dev-lang/nasm ) + mmx? ( >=media-libs/jpeg-mmx-1.1.2-r1 ) ) gtk? ( =x11-libs/gtk+-1.2* - =dev-libs/glib-1.2* ) + =dev-libs/glib-1.2* ) avi? ( >=media-video/avifile-0.7.38 ) dv? ( >=media-libs/libdv-0.99 ) quicktime? ( virtual/quicktime ) sdl? ( >=media-libs/libsdl-1.2.7-r3 ) X? ( virtual/x11 )" +DEPEND="${RDEPEND} + x86? ( mmx? ( dev-lang/nasm ) + 3dnow? ( dev-lang/nasm ) + sse? ( dev-lang/nasm ) + ) + >=sys-apps/sed-4 + sys-devel/autoconf + =sys-devel/automake-1.5*" + src_unpack() { unpack ${A} ; cd ${S} - cp -rf ${S}{,.orig} + epatch ${FILESDIR}/${PV}-configure.patch epatch ${FILESDIR}/${P}-fPIC.patch epatch ${FILESDIR}/${P}-gcc34.patch - epatch ${FILESDIR}/${P}-dv.patch - - # remove checks for gtk in configure in - use gtk || epatch ${FILESDIR}/${P}-nogtk.patch if use ppc; then # Fix an error in the detection of the altivec-support # in the compiler epatch "${FILESDIR}/altivec-fix-${PV}.patch" - sed -i 's:-O3::' configure.in + sed -i -e 's:-O3::' configure.in #Worst workaround ever... - sed -i \ - -e "s/const vector signed short /vector signed short /g" \ - ${S}/utils/altivec/fdct_idct.c + sed -i -e "s/const vector signed short/vector signed short/g" \ + ${S}/utils/altivec/fdct_idct.c fi - aclocal libtoolize --copy --force - autoreconf || die + ACLOCAL="aclocal -I ${WORKDIR}/m4" autoreconf || die use X || epatch "${FILESDIR}/no-x11-lib-2.patch" } @@ -61,25 +63,13 @@ src_compile() { local myconf - [ $(gcc-major-version) -eq 3 ] && [ "${ARCH}" == "x86" ] && append-flags -mno-sse2 - - myconf="${myconf} $(use_with X x)" - myconf="${myconf} $(use_with quicktime)" - myconf="${myconf} $(use_enable x86 cmov-extensions)" - - # Fix for Via C3-1, see #30345 - grep -q cmov /proc/cpuinfo || myconf="${myconf} --enable-cmov-extension=no" - - if use dv; then - myconf="${myconf} --with-dv=/usr" - myconf="${myconf} $(use_with yv12 dv-yv12)" - else - myconf="${myconf} --without-dv --without-dv-yv12" - if use yv12; then - ewarn "yv12 support is only possible when \"dv\" is in your USE flags." - fi + if use yv12 && use dv; then + myconf="${myconf} --with-dv-yv12" + elif use yv12; then + ewarn "yv12 support is possible when 'dv' is in your USE flags." fi + # This could be changed to allow building on g/fbsd in the future. if use x86; then if use mmx || use 3dnow || use sse; then myconf="${myconf} --enable-simd-accel" @@ -88,21 +78,33 @@ if use mmx; then myconf="${myconf} --with-jpeg-mmx=/usr/include/jpeg-mmx" fi + + myconf="${myconf} $(use_enable cmov cmov-extension)" + + [[ $(gcc-major-version) -eq 3 ]] && append-flags -mno-sse2 fi - econf ${myconf} || die - - if has_pie ; then - pie_magic="`test_flag -fno-pic` `test_flag -nopie`" - for i in `find "${S}" -name "Makefile"` ; do - sed -e "s:CC = gcc:CC = gcc ${pie_magic}:g" \ - -e "s:CXX = gcc:CXX = g++ ${pie_magic}:g" \ - -e "s:CXXCPP = gcc -E:CXX = g++ -E ${pie_magic}:g" \ - -i "${i}" || die "sed failed" - done + econf \ + $(use_with X x) \ + $(use_enable dga xfree-ext) \ + $(use_with quicktime) \ + $(use_with v4l) \ + $(use_with gtk) \ + $(use_with sdl) \ + $(use_with dv dv /usr) \ + ${myconf} || die + + if has_pie; then + pie_magic="$(test_flag -fno-pic) $(test_flag -nopie)" + + find "${S}" -name Makefile | xargs sed -i \ + -e "s:CC = gcc:CC = gcc ${pie_magic}:g" \ + -e "s:CXX = gcc:CXX = g++ ${pie_magic}:g" \ + -e "s:CXXCPP = gcc -E:CXX = g++ -E ${pie_magic}:g" \ + || die "sed failed" fi - emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j1 || die "compile problem" + emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" -j1 || die "emake failed" cd docs local infofile for infofile in mjpeg*info*; do @@ -115,5 +117,7 @@ src_install() { einstall || die "install failed" - dodoc mjpeg_howto.txt + dodoc mjpeg_howto.txt README PLANS NEWS README.AltiVec README.avilib \ + README.DV README.glav README.lavpipe README.transist TODO \ + HINTS BUGS ChangeLog AUTHORS CHANGES }