3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/applications/video/miro/default.nix
aszlig dcbcc85fea
miro: Fix build by adding sqlite to buildInputs.
The dependency on sqlite was propagated through to miro by libsoup, but
with f570f97, it's no longer propagated anymore so we need to pass it to
the miro derivation directly.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-01-12 03:05:40 +01:00

90 lines
2.9 KiB
Nix

{ stdenv, fetchurl, python, buildPythonPackage, pythonPackages, pkgconfig
, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkitgtk2, libsoup, pygtk
, taglib, sqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk
, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas
, gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg
, enableBonjour ? false, avahi ? null
}:
assert enableBonjour -> avahi != null;
with stdenv.lib;
buildPythonPackage rec {
name = "miro-${version}";
namePrefix = "";
version = "6.0";
src = fetchurl {
url = "http://ftp.osuosl.org/pub/pculture.org/miro/src/${name}.tar.gz";
sha256 = "0sq25w365i1fz95398vxql3yjl5i6mq77mnmlhmn0pgyg111k3am";
};
setSourceRoot = ''
sourceRoot=${name}/linux
'';
patches = [ ./gconf.patch ];
postPatch = ''
patch -p1 -d .. < "${./youtube-feeds.patch}"
sed -i -e 's/\$(shell which python)/python/' Makefile
sed -i -e 's|/usr/bin/||' -e 's|/usr||' \
-e 's/BUILD_TIME[^,]*/BUILD_TIME=0/' setup.py
sed -i -e 's|default="/usr/bin/ffmpeg"|default="${ffmpeg}/bin/ffmpeg"|' \
plat/options.py
sed -i -e 's|/usr/share/miro/themes|'"$out/share/miro/themes"'|' \
-e 's/gnome-open/xdg-open/g' \
-e '/RESOURCE_ROOT =.*(/,/)/ {
c RESOURCE_ROOT = '"'$out/share/miro/resources/'"'
}' \
plat/resources.py
'' + optionalString enableBonjour ''
sed -i -e 's|ctypes.cdll.LoadLibrary( *|ctypes.CDLL("${avahi}/lib/" +|' \
../lib/libdaap/pybonjour.py
'';
# Disabled for now, because it requires networking and even if we skip those
# tests, the whole test run takes around 10-20 minutes.
doCheck = false;
checkPhase = ''
HOME="$TEMPDIR" LANG=en_US.UTF-8 python miro.real --unittest
'';
preInstall = ''
# see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
${python}/bin/${python.executable} setup.py install_data --root=$out
sed -i '/data_files=data_files/d' setup.py
'';
postInstall = ''
mv "$out/bin/miro.real" "$out/bin/miro"
wrapProgram "$out/bin/miro" \
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
'';
buildInputs = [
pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup
pygtk taglib gsettings_desktop_schemas sqlite
];
propagatedBuildInputs = [
pygobject pygtk pycurl python.modules.sqlite3 mutagen pycairo pythonDBus
pywebkitgtk libtorrentRasterbar
gst_python gst_plugins_base gst_plugins_good gst_ffmpeg
] ++ optional enableBonjour avahi;
meta = {
homepage = "http://www.getmiro.com/";
description = "Video and audio feed aggregator";
license = licenses.gpl2Plus;
maintainers = [ maintainers.aszlig ];
platforms = platforms.linux;
};
}