1 { makeWrapper, stdenv, writeScript, fetchurl, buildBowerComponents, mylibs, which, python36, gst_all_1, automake, autoconf, nodejs, nodePackages, lib, callPackage }:
4 packageOverrides = self: super: {
5 pybcrypt = super.buildPythonPackage rec {
10 inherit pname version;
11 sha256 = "5fa13bce551468350d66c4883694850570f3da28d6866bb638ba44fe5eabda78";
14 celery = super.celery.overridePythonAttrs(old: rec {
15 version = "3.1.26.post2";
16 src = self.fetchPypi {
19 sha256 = "5493e172ae817b81ba7d09443ada114886765a8ce02f16a56e6fac68d953a9b2";
24 billiard = super.billiard.overridePythonAttrs(old: rec {
26 src = self.fetchPypi {
29 sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9";
32 doInstallCheck = false;
34 amqp = super.amqp.overridePythonAttrs(old: rec {
36 src = self.fetchPypi {
39 sha256 = "2dea4d16d073c902c3b89d9b96620fb6729ac0f7a923bbc777cb4ad827c0c61a";
42 kombu = super.kombu.overridePythonAttrs(old: rec {
44 src = self.fetchPypi {
47 sha256 = "e064a00c66b4d1058cd2b0523fb8d98c82c18450244177b6c0f7913016642650";
49 propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.anyjson ];
52 sqlalchemy = super.sqlalchemy.overridePythonAttrs(old: rec {
54 src = self.fetchPypi {
57 sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9";
61 tempita_5_3_dev = super.buildPythonPackage (mylibs.fetchedGithub ./tempita.json // rec {
62 buildInputs = with self; [ nose ];
65 sqlalchemy_migrate = super.sqlalchemy_migrate.overridePythonAttrs(old: rec {
66 propagatedBuildInputs = with self; [ pbr tempita_5_3_dev decorator sqlalchemy six sqlparse ];
68 pasteScript = super.pasteScript.overridePythonAttrs(old: rec {
70 name = "PasteScript-${version}";
72 url = "mirror://pypi/P/PasteScript/${name}.tar.gz";
73 sha256 = "1h3nnhn45kf4pbcv669ik4faw04j58k8vbj1hwrc532k0nc28gy0";
75 propagatedBuildInputs = with self; [ six paste PasteDeploy ];
79 python36.override { inherit packageOverrides; };
80 pythonEnv = python-pkgs: with python-pkgs; [
81 waitress alembic dateutil wtforms pybcrypt
82 pytest pytest_xdist werkzeug celery
83 kombu jinja2 Babel webtest configobj markdown
84 sqlalchemy itsdangerous pytz sphinx six
85 oauthlib unidecode jsonschema PasteDeploy
86 requests PyLD exifread
87 typing pasteScript lxml
99 python = overridePython.withPackages pythonEnv;
100 gmg = writeScript "gmg" ''
101 #!${python}/bin/python
102 __requires__ = 'mediagoblin'
104 from pkg_resources import load_entry_point
106 if __name__ == '__main__':
108 load_entry_point('mediagoblin', 'console_scripts', 'gmg')()
111 bowerComponents = buildBowerComponents {
112 name = "mediagoblin-bower-components";
113 generated = ./bower-packages.nix;
114 src = (mylibs.fetchedGit ./mediagoblin.json).src;
116 pluginNames = [ "basicsearch" ];
117 allPlugins = lib.attrsets.genAttrs pluginNames
118 (name: callPackage (./plugins + "/${name}") {});
121 withPlugins = withPlugins pkg;
123 withPlugins = pkg: toPlugins:
125 plugins = toPlugins allPlugins;
126 toBuildPlugin = n: "ln -s ${n} mediagoblin/plugins/${n.pluginName}";
127 newMediagoblin = pkg.overrideAttrs(old: {
128 postBuild = old.postBuild + "\n" + builtins.concatStringsSep "\n" (map toBuildPlugin plugins);
129 passthru = toPassthru newMediagoblin;
132 package = stdenv.mkDerivation (mylibs.fetchedGit ./mediagoblin.json // rec {
135 aclocal -I m4 --install
140 configureFlags = [ "--with-python3" "--without-virtualenv" ];
142 cp -a ${bowerComponents}/bower_components/* extlib
147 libpaths = with gst_all_1; [
156 plugin_paths = builtins.concatStringsSep ":" (map (x: "${x}/lib") libpaths);
157 typelib_paths = with gst_all_1; "${gstreamer}/lib/girepository-1.0:${gst-plugins-base}/lib/girepository-1.0";
159 sed -i "s/registry.has_key(current_theme_name)/current_theme_name in registry/" mediagoblin/tools/theme.py
160 sed -i -e "s@\[DEFAULT\]@[DEFAULT]\nhere = $out@" mediagoblin/config_spec.ini
161 sed -i -e "/from gi.repository import GstPbutils/s/^/gi.require_version('GstPbutils', '1.0')\n/" mediagoblin/media_types/video/transcoders.py
162 cp ${./ldap_fix.py} mediagoblin/plugins/ldap/tools.py
163 find . -name '*.pyc' -delete
164 find . -type f -exec sed -i "s|$PWD|$out|g" {} \;
165 python setup.py build
168 makeWrapper ${gmg} $out/bin/gmg --prefix PYTHONPATH : "$out:$PYTHONPATH" \
169 --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \
170 --prefix GI_TYPELIB_PATH : ${typelib_paths}
171 makeWrapper ${python}/bin/paster $out/bin/paster --prefix PYTHONPATH : "$out:$PYTHONPATH" \
172 --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \
173 --prefix GI_TYPELIB_PATH : ${typelib_paths}
174 makeWrapper ${python}/bin/celery $out/bin/celery --prefix PYTHONPATH : "$out:$PYTHONPATH" \
175 --prefix GST_PLUGIN_SYSTEM_PATH : ${plugin_paths} \
176 --prefix GI_TYPELIB_PATH : ${typelib_paths}
178 buildInputs = [ makeWrapper automake autoconf which nodePackages.bower nodejs python ];
179 propagatedBuildInputs = with gst_all_1; [ python gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer ];
180 passthru = toPassthru package;