summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--contrib/ffmpeg/module.defs8
-rw-r--r--contrib/x264/module.defs7
-rw-r--r--contrib/yasm/module.defs5
-rw-r--r--contrib/yasm/module.rules2
-rw-r--r--make/configure.py11
-rw-r--r--make/include/contrib.defs6
-rw-r--r--make/include/main.defs4
-rw-r--r--pkg/linux/debian/control.lucid30
-rw-r--r--pkg/linux/debian/rules.lucid85
-rw-r--r--pkg/linux/module.rules3
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