diff options
-rw-r--r-- | contrib/ffmpeg/module.defs | 8 | ||||
-rw-r--r-- | contrib/x264/module.defs | 7 | ||||
-rw-r--r-- | contrib/yasm/module.defs | 5 | ||||
-rw-r--r-- | contrib/yasm/module.rules | 2 | ||||
-rw-r--r-- | make/configure.py | 11 | ||||
-rw-r--r-- | make/include/contrib.defs | 6 | ||||
-rw-r--r-- | make/include/main.defs | 4 | ||||
-rw-r--r-- | pkg/linux/debian/control.lucid | 30 | ||||
-rw-r--r-- | pkg/linux/debian/rules.lucid | 85 | ||||
-rw-r--r-- | pkg/linux/module.rules | 3 |
10 files changed, 155 insertions, 6 deletions
diff --git a/contrib/ffmpeg/module.defs b/contrib/ffmpeg/module.defs index e231c5547..b71f197e3 100644 --- a/contrib/ffmpeg/module.defs +++ b/contrib/ffmpeg/module.defs @@ -1,4 +1,4 @@ -$(eval $(call import.MODULE.defs,FFMPEG,ffmpeg,BZIP2 ZLIB)) +$(eval $(call import.MODULE.defs,FFMPEG,ffmpeg,YASM BZIP2 ZLIB)) $(eval $(call import.CONTRIB.defs,FFMPEG)) FFMPEG.FETCH.url = http://download.handbrake.fr/handbrake/contrib/ffmpeg-v0.7-1318-g91038cd.tar.bz2 @@ -74,3 +74,9 @@ endif ifeq (solaris,$(BUILD.system)) FFMPEG.CONFIGURE.extra += --disable-demuxer=mpc8 endif + +ifeq (1,$(FEATURE.local_yasm)) + FFMPEG.CONFIGURE.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)" + FFMPEG.BUILD.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)" +endif + diff --git a/contrib/x264/module.defs b/contrib/x264/module.defs index 0eba9f7ab..a78f554e1 100644 --- a/contrib/x264/module.defs +++ b/contrib/x264/module.defs @@ -1,4 +1,4 @@ -$(eval $(call import.MODULE.defs,X264,x264,PTHREADW32)) +$(eval $(call import.MODULE.defs,X264,x264,YASM PTHREADW32)) $(eval $(call import.CONTRIB.defs,X264)) X264.FETCH.url = http://download.handbrake.fr/handbrake/contrib/x264-r2106-07efeb4.tar.gz @@ -16,3 +16,8 @@ ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system)) X264.CONFIGURE.env.CFLAGS = CFLAGS="-I$(call fn.ABSOLUTE,$(CONTRIB.build/)include) $(call fn.ARGS,X264.GCC,*archs *sysroot *minver ?extra)" X264.CONFIGURE.env.LDFLAGS = LDFLAGS="-L$(call fn.ABSOLUTE,$(CONTRIB.build/)lib) $(call fn.ARGS,X264.GCC,*archs *sysroot *minver)" endif + +ifeq (1,$(FEATURE.local_yasm)) + X264.CONFIGURE.env.LOCAL_PATH = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)" + X264.BUILD.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)" +endif diff --git a/contrib/yasm/module.defs b/contrib/yasm/module.defs new file mode 100644 index 000000000..90215575f --- /dev/null +++ b/contrib/yasm/module.defs @@ -0,0 +1,5 @@ +$(eval $(call import.MODULE.defs,YASM,yasm)) +$(eval $(call import.CONTRIB.defs,YASM)) + +YASM.FETCH.url = http://download.handbrake.fr/handbrake/contrib/yasm-1.1.0.tar.gz + diff --git a/contrib/yasm/module.rules b/contrib/yasm/module.rules new file mode 100644 index 000000000..ade13f959 --- /dev/null +++ b/contrib/yasm/module.rules @@ -0,0 +1,2 @@ +$(eval $(call import.MODULE.rules,YASM)) +$(eval $(call import.CONTRIB.rules,YASM)) diff --git a/make/configure.py b/make/configure.py index df9e853a5..02816658d 100644 --- a/make/configure.py +++ b/make/configure.py @@ -1091,6 +1091,11 @@ def createCLI(): h = IfHost( 'Min OS X Version', '*-*-darwin*', none=optparse.SUPPRESS_HELP ).value grp.add_option( '--minver', default=None, action='store', metavar='VER', help=h ) + + h = IfHost( 'Build and use local yasm', '*-*-*', none=optparse.SUPPRESS_HELP ).value + grp.add_option( '--enable-local-yasm', default=False, action='store_true', help=h ) + print "opt yasm" + cli.add_option_group( grp ) ## add tool locations @@ -1246,6 +1251,7 @@ try: strip = ToolProbe( 'STRIP.exe', 'strip' ) tar = ToolProbe( 'TAR.exe', 'gtar', 'tar' ) wget = ToolProbe( 'WGET.exe', 'wget', abort=False ) + print "Probing yasm" yasm = ToolProbe( 'YASM.exe', 'yasm', abort=False ) xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', abort=False ) @@ -1455,6 +1461,7 @@ int main () doc.add( 'PREFIX/', cfg.prefix_final + os.sep ) doc.addBlank() + doc.add( 'FEATURE.local_yasm', int( options.enable_local_yasm ) ) doc.add( 'FEATURE.asm', 'disabled' ) doc.add( 'FEATURE.gtk', int( not options.disable_gtk )) doc.add( 'FEATURE.gtk.update.checks', int( not options.disable_gtk_update_checks )) @@ -1511,8 +1518,10 @@ int main () doc.add( 'GCC.ldsysroot', '$(GCC.sysroot)' ) doc.add( 'GCC.ldminver', '$(GCC.minver)' ) - if options.enable_asm and not Tools.yasm.fail: + print "enable_asm %d %d" % (options.enable_asm, options.enable_local_yasm) + if options.enable_asm and ( not Tools.yasm.fail or options.enable_local_yasm ): asm = '' + print "xxxxxxx enable_asm" if build.match( 'i?86-*' ): asm = 'x86' doc.add( 'LIBHB.GCC.D', 'HAVE_MMX', append=True ) diff --git a/make/include/contrib.defs b/make/include/contrib.defs index 003152b85..4c813c7fb 100644 --- a/make/include/contrib.defs +++ b/make/include/contrib.defs @@ -82,6 +82,7 @@ define import.CONTRIB.defs $(1).CONFIGURE.args = !sete @dir !bootstrap !env !exe @host @prefix !deps !shared !static !extra + $(1).CONFIGURE.env.LOCAL_PATH = $(1).CONFIGURE.env.CC = CC=$$($(1).GCC.gcc) $(1).CONFIGURE.env.CXX = CXX=$$($(1).GCC.gxx) ## @@ -103,7 +104,7 @@ define import.CONTRIB.defs $(1).CONFIGURE.env.LDFLAGS = LDFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver)" $(1).CONFIGURE.env.PKG_CONFIG_PATH = PKG_CONFIG_PATH="$$(call fn.ABSOLUTE,$$(CONTRIB.build/))lib/pkgconfig" - $(1).CONFIGURE.env.args = !CC !CFLAGS !CXX !CXXFLAGS !CPPFLAGS !LDFLAGS !PKG_CONFIG_PATH + $(1).CONFIGURE.env.args = !CC !CFLAGS !CXX !CXXFLAGS !CPPFLAGS !LDFLAGS !PKG_CONFIG_PATH !LOCAL_PATH $(1).CONFIGURE.env = $$(call fn.ARGS,$(1).CONFIGURE.env,$$($(1).CONFIGURE.env.args)) $(1).CONFIGURE.target = $$($(1).build/).stamp.configure @@ -115,12 +116,13 @@ define import.CONTRIB.defs ## ## target: build ## + $(1).BUILD.env = $(1).BUILD.make = $$(MAKE) $(1).BUILD.dir = $$($(1).EXTRACT.dir/) $(1).BUILD.extra = $(1).BUILD.ntargets = - $(1).BUILD.args = !make @dir !extra !ntargets + $(1).BUILD.args = !env !make @dir !extra !ntargets $(1).BUILD.args.dir = -C $$(1) $(1).BUILD.target = $$($(1).build/).stamp.build diff --git a/make/include/main.defs b/make/include/main.defs index 63b7aa38c..e68f679f7 100644 --- a/make/include/main.defs +++ b/make/include/main.defs @@ -83,6 +83,10 @@ ifeq (1-linux,$(FEATURE.gtk)-$(BUILD.system)) MODULES += gtk endif +ifeq (1,$(FEATURE.local_yasm)) + MODULES += contrib/yasm +endif + ############################################################################### MODULES += doc diff --git a/pkg/linux/debian/control.lucid b/pkg/linux/debian/control.lucid new file mode 100644 index 000000000..156d629f3 --- /dev/null +++ b/pkg/linux/debian/control.lucid @@ -0,0 +1,30 @@ +Source: handbrake +Section: graphics +Priority: optional +Maintainer: John Stebbins <[email protected]> +Build-Depends: debhelper (>= 6), autotools-dev, libtool, libgudev-1.0-dev, intltool, autoconf, libbz2-dev, zlib1g-dev, libwebkit-dev, libnotify-dev, libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, wget, subversion, python (>= 2.6), libfribidi-dev (>= 0.19.0) +Standards-Version: 3.8.4 +Homepage: http://www.handbrake.fr/ + +Package: handbrake-cli +Architecture: i386 amd64 +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: handbrake +Description: versatile DVD ripper and video transcoder - command line + HandBrake is a versatile, easy-to-use tool for converting DVDs and other videos + into H.264, MPEG-4, or OGG formatted media. It's particularly useful for making + videos that are compatible with portable video devices such as the Apple + iPod/iPhone. This package contains the command-line variant, + HandBrakeCLI + +Package: handbrake-gtk +Architecture: i386 amd64 +Depends: ${shlibs:Depends}, ${misc:Depends}, libwebkit-1.0-2, libnotify1 +Conflicts: handbrake +Description: versatile DVD ripper and video transcoder - GTK GUI + HandBrake is a versatile, easy-to-use tool for converting DVDs and other videos + into H.264, MPEG-4, or OGG formatted media. It's particularly useful for making + videos that are compatible with portable video devices such as the Apple + iPod/iPhone. This package contains the graphical variant, ghb. + + diff --git a/pkg/linux/debian/rules.lucid b/pkg/linux/debian/rules.lucid new file mode 100644 index 000000000..caed627da --- /dev/null +++ b/pkg/linux/debian/rules.lucid @@ -0,0 +1,85 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) +CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) +else +CROSS= --build $(DEB_BUILD_GNU_TYPE) +endif + +PKGDESTDIR = ../ +CONFIGURE = ./configure --enable-local-yasm +BUILDDIR = build +FORCEVERSION = + +$(BUILDDIR)/GNUmakefile: $(CONFIGURE) + dh_testdir + unset CFLAGS; unset CPPLAGS; unset CXXLAGS; $(CONFIGURE) --disable-gtk-update-checks --prefix=/usr + +build: $(BUILDDIR)/GNUmakefile + dh_testdir + #We must build both the main project and the GTK project + unset CFLAGS ; unset CPPLAGS ; unset CXXLAGS; $(MAKE) -C $(BUILDDIR) + +clean: + dh_testdir + dh_testroot + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_installdirs + $(MAKE) -C $(BUILDDIR) DESTDIR=$(CURDIR)/debian/tmp install + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + dh_installchangelogs -i + dh_installdocs -i + dh_install --sourcedir=debian/tmp -i + dh_icons -i + dh_link -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i $(FORCEVERSION) + dh_md5sums -i + dh_builddeb --destdir=$(PKGDESTDIR) -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_install --sourcedir=debian/tmp -a + dh_installchangelogs -a + dh_installdocs -a + dh_installexamples -a + dh_installman -a + dh_link -a + dh_icons -a + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a $(FORCEVERSION) + dh_md5sums -a + dh_builddeb -a --destdir=$(PKGDESTDIR) -- -Zbzip2 + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/pkg/linux/module.rules b/pkg/linux/module.rules index 41fbc404b..b97f14189 100644 --- a/pkg/linux/module.rules +++ b/pkg/linux/module.rules @@ -105,7 +105,8 @@ $(PKG.src.deb.stamp): GNUmakefile svn co -r$(HB.repo.rev) $(HB.repo.url) $(STAGE.out.src/)lucid/$(PKG.deb.basename) $(CP.exe) -a $(SRC/)download $(STAGE.out.src/)lucid/$(PKG.deb.basename) cp -a $(PWD)/$(PKG.debian) $(STAGE.out.src/)lucid/$(PKG.deb.basename) - $(CP.exe) $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/control.karmic $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/control + $(CP.exe) $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/control.lucid $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/control + $(CP.exe) $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/rules.lucid $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/rules echo "handbrake ($(HB.version)ppa1~lucid1) lucid; urgency=low" > $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/changelog echo " * Snapshot" >> $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/changelog echo " - See timeline at http://trac.handbrake.fr/timeline" >> $(STAGE.out.src/)lucid/$(PKG.deb.basename)/debian/changelog |