# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" inherit eutils DESCRIPTION="OpenShot Video Editor is a free, open-source, non-linear video editor, based on Python, GTK, and MLT." HOMEPAGE="http://www.openshotvideo.com" # Yes, I'm afraid that's the only way the author supplies the source/deb package # for now MAIN_URI="http://launchpad.net/openshot/build-wizard/create-a-build-wizard/+download" # Added for 64bit support once the 32bit version is functioning MY_32B_URI="dependencies_32_904.tar.gz" MY_64B_URI="dependencies_64_904.tar.gz" SRC_URI="${MAIN_URI}/openshot.deb -> openshot-${PV}.deb x86? ( ${MAIN_URI}/${MY_32B_URI} ) amd64? ( ${MAIN_URI}/${MY_64B_URI} )" RESTRICT="mirror" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="dvgrab faac ieee1394 jack jack-rack kino ladspa quicktime" DEPEND="app-arch/deb2targz media-video/ffmpeg media-video/x264-encoder media-libs/x264 media-plugins/frei0r-plugins dev-python/pygoocanvas media-libs/libdv gnome-base/librsvg media-libs/libsamplerate media-libs/libtheora media-libs/libvorbis dev-libs/libxml2 media-sound/sox media-libs/libsdl app-admin/sudo ieee1394? ( sys-libs/libavc1394 ) quicktime? ( media-libs/libquicktime ) dvgrab? ( media-video/dvgrab ) faac? ( media-libs/faac ) jack? ( media-sound/jack-audio-connection-kit ) jack-rack? ( media-sound/jack-rack ) kino? ( media-video/kino ) ladspa? ( media-libs/ladspa-sdk )" RDEPEND="${DEPEND}" QA_TEXTRELS_x86="usr/local/lib/mlt/libmltavformat.so" QA_PRESTRIPPED="usr/local/bin/melt usr/local/lib/libmlt.so usr/local/lib/libmlt.so.2 usr/local/lib/libmlt++.so.0.4.5 usr/local/lib/libmlt.so.0.4.5 usr/local/lib/libmlt++.so.2 usr/local/lib/libmlt++.so usr/local/lib/mlt/libmltresample.so usr/local/lib/mlt/libmltvorbis.so usr/local/lib/mlt/libmltplus.so usr/local/lib/mlt/libmltoldfilm.so usr/local/lib/mlt/libmltkino.so usr/local/lib/mlt/libmlteffectv.so usr/local/lib/mlt/libmltnormalize.so usr/local/lib/mlt/libmltjackrack.so usr/local/lib/mlt/libmltxml.so usr/local/lib/mlt/libmltvmfx.so usr/local/lib/mlt/libmltavformat.so usr/local/lib/mlt/libmltcore.so usr/local/lib/mlt/libmltkdenlive.so usr/local/lib/mlt/libmltgtk2.so usr/local/lib/mlt/libmltxine.so usr/local/lib/mlt/libmltmotion_est.so usr/local/lib/mlt/libmltmelt.so usr/local/lib/mlt/libmltdgraft.so usr/local/lib/mlt/libmltsdl.so usr/local/lib/mlt/libmltdv.so usr/local/lib/mlt/libmltfrei0r.so" src_unpack() { # Unpack the main deb package first, along with its friends ar x ${DISTDIR}/openshot-${PV}.deb tar zxf ${WORKDIR}/control.tar.gz tar zxf ${WORKDIR}/data.tar.gz # Unpack the dependency deb package.. this one is ugly # Added archive unpacking verbosity for potential errors case ${ARCH} in x86) tar zxf ${DISTDIR}/${MY_32B_URI} || die "Unpacking ${MY_32B_URI} failed!" deb2targz ${WORKDIR}/openshot-mlt_0.4.3-1_i386.deb || die "Unpacking openshot-mlt_0.4.3-1_i386.deb failed!" tar zxf ${WORKDIR}/openshot-mlt_0.4.3-1_i386.tar.gz || die "Unpacking openshot-mlt_0.4.3-1_i386.tar.gz failed!" ;; amd64) tar zxf ${DISTDIR}/${MY_64B_URI} || die "Unpacking ${MY_64B_URI} failed!" deb2targz ${WORKDIR}/openshot-mlt_0.4.3-1_amd64.deb || die "Unpacking openshot-mlt_0.4.3-1_amd64.deb failed!" tar zxf ${WORKDIR}/openshot-mlt_0.4.3-1_amd64.tar.gz || die "Unpacking openshot-mlt_0.4.3-1_amd64.tar.gz failed!" ;; esac } src_install() { # Install the main executable and melt exeinto /usr/local/bin doexe ${WORKDIR}/usr/local/bin/openshot doexe ${WORKDIR}/usr/local/bin/melt # Install the desktop link insinto /usr/share/applications newins "${WORKDIR}/usr/share/applications/openshot.desktop" openshot.desktop # Copy over the rest of OpenShot's files dodir /usr/local/share/openshot/main insinto /usr/local/share/openshot/main doins -r ${WORKDIR}/usr/local/share/openshot/main/* # Dependency junk dodir /usr/local/include insinto /usr/local/include doins -r ${WORKDIR}/usr/local/include/* diropts -m0755 dodir /usr/local/lib insopts -m0755 insinto /usr/local/lib doins -r ${WORKDIR}/usr/local/lib/* dodir /usr/local/share/mlt insinto /usr/local/share/mlt doins -r ${WORKDIR}/usr/local/share/mlt/* # For uninstalling the python MLT bindings if we uninstall OpenShot exeinto /usr/local/share/openshot/main/install doexe ${FILESDIR}/preuninst.py # Not really sure what this file does yet, but we'll throw it into the bin # directory as well for now exeinto /usr/local/bin doexe ${WORKDIR}/postinst } pkg_postinst() { # Recreate permissions for executables # Now this is really ugly... but sadly there's no way to avoid it yet INSTDIR=/usr/local/share/openshot/main # Fix file permissions errori(s) # See http://bugs.gentoo.org/show_bug.cgi?id=283673#c7 for info chmod 0777 ${INSTDIR}/westley.xml chmod +x ${INSTDIR}/install/_mlt.so chmod +x ${INSTDIR}/install/openshot chmod +x ${INSTDIR}/install/postinst chmod +x ${INSTDIR}/install/postinst.py chmod +x ${INSTDIR}/titles/* chmod +x ${INSTDIR}/windows/About.py chmod +x ${INSTDIR}/windows/MainGTK.py chmod +x ${INSTDIR}/windows/NewProject.py chmod +x ${INSTDIR}/windows/OpenProject.py chmod +x ${INSTDIR}/windows/Titles.py chmod +x ${INSTDIR}/windows/fontselector.py chmod +x ${INSTDIR}/windows/glade/fontselector.glade chmod +x ${INSTDIR}/windows/glade/titles.glade # Minor adjustment cause we're lazy chmod 0644 /usr/local/lib/pkgconfig/* # Run post install python script for MLT python bindings to work python ${INSTDIR}/install/postinst.py } pkg_prerm() { # Would love to be able to do this postrm... python ${INSTDIR}/install/preuninst.py }