62 lines
2.2 KiB
Nix
62 lines
2.2 KiB
Nix
{stdenv, writeShellApplication, git, gnumake, mysql, python27, django, lxml, django-environ, django-session-csrf,
|
|
django-mozilla-product-details, dockerflow, django-csp, django-aesfield, django-extensions, raven, django-rest-framework,
|
|
django-waffle, jingo-minify, django-jinja, puente, django-statsd-mozilla, django-cache-machine, python-memcached, elasticsearch,
|
|
django-multidb-router, mysqlclient, bleach, easy-thumbnails, amo-validator, flufl-lock, signing-clients, mozilla-logger,
|
|
pyOpenSSL, django-rest-framework-jwt, celery, nobot}: writeShellApplication rec {
|
|
name = "service2";
|
|
|
|
|
|
#propagatedBuildInputs = [python26Packages.setuptools];
|
|
#nativeBuildInputs = [ jinja2 ];
|
|
#buildInputs = [ jinja2 ];
|
|
runtimeInputs = [git gnumake mysql (python27.withPackages(ps: [django lxml django-environ django-session-csrf django-mozilla-product-details
|
|
dockerflow django-csp django-aesfield django-extensions raven django-rest-framework django-waffle jingo-minify django-jinja
|
|
puente django-statsd-mozilla django-cache-machine python-memcached elasticsearch django-multidb-router mysqlclient bleach
|
|
easy-thumbnails amo-validator flufl-lock signing-clients mozilla-logger pyOpenSSL django-rest-framework-jwt celery nobot]))];
|
|
|
|
#env = {
|
|
# NIX_CFLAGS_COMPILE="-Wno-incompatible-pointer-types";
|
|
#};
|
|
|
|
text = ''
|
|
if [ ! -d "amo" ]; then
|
|
mkdir amo
|
|
cd amo
|
|
|
|
git clone https://github.com/mozilla/addons-server.git --progress
|
|
cd addons-server
|
|
git switch 8b4423547f932b2d9fa2b5a9c81d399bdc29bd6e --detach --progress
|
|
#git revert e971a1c0543c66fd513e9c1c06f7786eb2f92b31
|
|
|
|
cd ../..
|
|
fi
|
|
|
|
cd amo
|
|
dbDir="$(pwd)/db"
|
|
cd addons-server
|
|
PYTHONPATH="$(pwd)/src"
|
|
export PYTHONPATH
|
|
trap 'kill $dbServer && sleep 6' EXIT
|
|
|
|
if [ ! -d "$dbDir" ]; then
|
|
mkdir "$dbDir"
|
|
mysql_install_db --datadir="$dbDir"
|
|
mysqld --datadir="$dbDir" &
|
|
dbServer="$!"
|
|
sleep 3
|
|
echo "CREATE DATABASE olympia CHARACTER SET utf8 COLLATE utf8_unicode_ci;" | mysql -u root
|
|
|
|
make -f Makefile-docker initialize_db
|
|
|
|
kill "$dbServer"
|
|
sleep 6
|
|
fi
|
|
|
|
mysqld --datadir="$dbDir" &
|
|
dbServer="$!"
|
|
sleep 3
|
|
|
|
python ./manage.py
|
|
'';
|
|
}
|