merge with default
This commit is contained in:
commit
5a6f7608d6
15 changed files with 2556 additions and 1345 deletions
|
|
@ -48,5 +48,6 @@ recursive-include rhodecode/public/js *
|
|||
recursive-include rhodecode/templates *
|
||||
|
||||
# skip any tests files
|
||||
recursive-exclude result *
|
||||
recursive-exclude rhodecode/tests *
|
||||
|
||||
|
|
|
|||
109
Makefile
109
Makefile
|
|
@ -1,4 +1,3 @@
|
|||
.DEFAULT_GOAL := help
|
||||
|
||||
# set by: PATH_TO_OUTDATED_PACKAGES=/some/path/outdated_packages.py
|
||||
OUTDATED_PACKAGES = ${PATH_TO_OUTDATED_PACKAGES}
|
||||
|
|
@ -8,91 +7,129 @@ WEBPACK=./node_binaries/webpack
|
|||
GRUNT=./node_binaries/grunt
|
||||
|
||||
.PHONY: clean
|
||||
clean: ## full clean
|
||||
## Cleanup compiled and cache py files
|
||||
clean:
|
||||
make test-clean
|
||||
find . -type f \( -iname '*.c' -o -iname '*.pyc' -o -iname '*.so' -o -iname '*.orig' \) -exec rm '{}' ';'
|
||||
|
||||
|
||||
.PHONY: test
|
||||
test: ## run test-clean and tests
|
||||
## run test-clean and tests
|
||||
test:
|
||||
make test-clean
|
||||
make test-only
|
||||
|
||||
|
||||
.PHONY:test-clean
|
||||
test-clean: ## run test-clean and tests
|
||||
## run test-clean and tests
|
||||
test-clean:
|
||||
rm -rf coverage.xml htmlcov junit.xml pylint.log result
|
||||
find . -type d -name "__pycache__" -prune -exec rm -rf '{}' ';'
|
||||
find . -type f \( -iname '.coverage.*' \) -exec rm '{}' ';'
|
||||
|
||||
|
||||
.PHONY: test-only
|
||||
test-only: ## run tests
|
||||
## Run tests only without cleanup
|
||||
test-only:
|
||||
PYTHONHASHSEED=random \
|
||||
py.test -x -vv -r xw -p no:sugar \
|
||||
--cov=rhodecode --cov-report=term-missing --cov-report=html \
|
||||
rhodecode
|
||||
|
||||
--cov-report=term-missing --cov-report=html \
|
||||
--cov=rhodecode rhodecode
|
||||
|
||||
.PHONY: test-only-mysql
|
||||
test-only-mysql: ## run tests against mysql
|
||||
## run tests against mysql
|
||||
test-only-mysql:
|
||||
PYTHONHASHSEED=random \
|
||||
py.test -x -vv -r xw -p no:sugar \
|
||||
--cov=rhodecode --cov-report=term-missing --cov-report=html \
|
||||
--cov-report=term-missing --cov-report=html \
|
||||
--ini-config-override='{"app:main": {"sqlalchemy.db1.url": "mysql://root:qweqwe@localhost/rhodecode_test?charset=utf8"}}' \
|
||||
rhodecode
|
||||
--cov=rhodecode rhodecode
|
||||
|
||||
|
||||
.PHONY: test-only-postgres
|
||||
test-only-postgres: ## run tests against postgres
|
||||
## run tests against postgres
|
||||
test-only-postgres:
|
||||
PYTHONHASHSEED=random \
|
||||
py.test -x -vv -r xw -p no:sugar \
|
||||
--cov=rhodecode --cov-report=term-missing --cov-report=html \
|
||||
--cov-report=term-missing --cov-report=html \
|
||||
--ini-config-override='{"app:main": {"sqlalchemy.db1.url": "postgresql://postgres:qweqwe@localhost/rhodecode_test"}}' \
|
||||
rhodecode
|
||||
--cov=rhodecode rhodecode
|
||||
|
||||
.PHONY: docs
|
||||
docs: ## build docs
|
||||
## build docs
|
||||
docs:
|
||||
(cd docs; nix-build default.nix -o result; make clean html)
|
||||
|
||||
|
||||
.PHONY: docs-clean
|
||||
docs-clean: ## Cleanup docs
|
||||
## Cleanup docs
|
||||
docs-clean:
|
||||
(cd docs; make clean)
|
||||
|
||||
|
||||
.PHONY: docs-cleanup
|
||||
docs-cleanup: ## Cleanup docs
|
||||
## Cleanup docs
|
||||
docs-cleanup:
|
||||
(cd docs; make cleanup)
|
||||
|
||||
|
||||
.PHONY: web-build
|
||||
web-build: ## Build static/js
|
||||
## Build JS packages static/js
|
||||
web-build:
|
||||
NODE_PATH=$(NODE_PATH) $(GRUNT)
|
||||
|
||||
|
||||
.PHONY: generate-pkgs
|
||||
generate-pkgs: ## generate new python packages
|
||||
nix-shell pkgs/shell-generate.nix --command "pip2nix generate --licenses"
|
||||
|
||||
|
||||
.PHONY: pip-packages
|
||||
pip-packages: ## show outdated packages
|
||||
## show outdated packages
|
||||
pip-packages:
|
||||
python ${OUTDATED_PACKAGES}
|
||||
|
||||
|
||||
.PHONY: generate-js-pkgs
|
||||
generate-js-pkgs: ## generate js packages
|
||||
rm -rf node_modules && \
|
||||
nix-shell pkgs/shell-generate.nix --command "node2nix --input package.json -o pkgs/node-packages.nix -e pkgs/node-env.nix -c pkgs/node-default.nix -d --flatten --nodejs-8" && \
|
||||
sed -i -e 's/http:\/\//https:\/\//g' pkgs/node-packages.nix
|
||||
.PHONY: sdist
|
||||
## Build sdist
|
||||
sdist:
|
||||
python setup.py sdist
|
||||
|
||||
|
||||
.PHONY: generate-license-meta
|
||||
generate-license-meta: ## Generate license metadata
|
||||
nix-build pkgs/license-generate.nix -o result-license && \
|
||||
cat result-license/licenses.json | python -m json.tool > rhodecode/config/licenses.json
|
||||
# Default command on calling make
|
||||
.DEFAULT_GOAL := show-help
|
||||
|
||||
.PHONY: show-help
|
||||
show-help:
|
||||
@echo "$$(tput bold)Available rules:$$(tput sgr0)"
|
||||
@echo
|
||||
@sed -n -e "/^## / { \
|
||||
h; \
|
||||
s/.*//; \
|
||||
:doc" \
|
||||
-e "H; \
|
||||
n; \
|
||||
s/^## //; \
|
||||
t doc" \
|
||||
-e "s/:.*//; \
|
||||
G; \
|
||||
s/\\n## /---/; \
|
||||
s/\\n/ /g; \
|
||||
p; \
|
||||
}" ${MAKEFILE_LIST} \
|
||||
| LC_ALL='C' sort --ignore-case \
|
||||
| awk -F '---' \
|
||||
-v ncol=$$(tput cols) \
|
||||
-v indent=19 \
|
||||
-v col_on="$$(tput setaf 6)" \
|
||||
-v col_off="$$(tput sgr0)" \
|
||||
'{ \
|
||||
printf "%s%*s%s ", col_on, -indent, $$1, col_off; \
|
||||
n = split($$2, words, " "); \
|
||||
line_length = ncol - indent; \
|
||||
for (i = 1; i <= n; i++) { \
|
||||
line_length -= length(words[i]) + 1; \
|
||||
if (line_length <= 0) { \
|
||||
line_length = ncol - indent - length(words[i]) - 1; \
|
||||
printf "\n%*s ", -indent, " "; \
|
||||
} \
|
||||
printf "%s ", words[i]; \
|
||||
} \
|
||||
printf "\n"; \
|
||||
}'
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-24s\033[0m %s\n", $$1, $$2}'
|
||||
|
|
|
|||
98
default.nix
98
default.nix
|
|
@ -47,20 +47,22 @@ let
|
|||
|
||||
# Evaluates to the last segment of a file system path.
|
||||
basename = path: with pkgs.lib; last (splitString "/" path);
|
||||
startsWith = prefix: full: let
|
||||
actualPrefix = builtins.substring 0 (builtins.stringLength prefix) full;
|
||||
in actualPrefix == prefix;
|
||||
|
||||
# source code filter used as arugment to builtins.filterSource.
|
||||
src-filter = path: type: with pkgs.lib;
|
||||
let
|
||||
ext = last (splitString "." path);
|
||||
parts = last (splitString "/" path);
|
||||
in
|
||||
!builtins.elem (basename path) [
|
||||
".git" ".hg" "__pycache__" ".eggs" ".idea" ".dev"
|
||||
"node_modules" "node_binaries"
|
||||
"build" "data" "result" "tmp"] &&
|
||||
!builtins.elem ext ["egg-info" "pyc"] &&
|
||||
# TODO: johbo: This check is wrong, since "path" contains an absolute path,
|
||||
# it would still be good to restore it since we want to ignore "result-*".
|
||||
!hasPrefix "result" path;
|
||||
!startsWith "result" (basename path);
|
||||
|
||||
sources =
|
||||
let
|
||||
|
|
@ -69,6 +71,7 @@ let
|
|||
all
|
||||
isString
|
||||
attrValues;
|
||||
|
||||
sourcesConfig = pkgs.config.rc.sources or {};
|
||||
in
|
||||
# Ensure that sources are configured as strings. Using a path
|
||||
|
|
@ -76,8 +79,8 @@ let
|
|||
assert all isString (attrValues sourcesConfig);
|
||||
sourcesConfig;
|
||||
|
||||
version = builtins.readFile "${rhodecode-enterprise-ce-src}/rhodecode/VERSION";
|
||||
rhodecode-enterprise-ce-src = builtins.filterSource src-filter ./.;
|
||||
version = builtins.readFile "${rhodecode-enterprise-ce-src}/rhodecode/VERSION";
|
||||
|
||||
nodeEnv = import ./pkgs/node-default.nix {
|
||||
inherit
|
||||
|
|
@ -122,6 +125,12 @@ let
|
|||
'';
|
||||
|
||||
releaseName = "RhodeCodeEnterpriseCE-${version}";
|
||||
pythonWithEnv =
|
||||
self.python.buildEnv.override {
|
||||
extraLibs = [ ] ++ self.rhodecode-enterprise-ce.propagatedBuildInputs;
|
||||
ignoreCollisions = true;
|
||||
#--set PYTHONHASHSEED random TODO
|
||||
};
|
||||
in super.rhodecode-enterprise-ce.override (attrs: {
|
||||
inherit
|
||||
doCheck
|
||||
|
|
@ -142,6 +151,7 @@ let
|
|||
pythonCommunityOverrides;
|
||||
|
||||
pythonPackages = self;
|
||||
rc_pkgs = pkgs;
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
|
@ -153,16 +163,23 @@ let
|
|||
propagatedBuildInputs =
|
||||
attrs.propagatedBuildInputs or [] ++ [
|
||||
|
||||
];
|
||||
];
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
LOCALE_ARCHIVE =
|
||||
if pkgs.stdenv.isLinux
|
||||
then "${pkgs.glibcLocales}/lib/locale/locale-archive"
|
||||
else "";
|
||||
preBuild = ''
|
||||
export NIX_PATH=nixpkgs=${pkgs.path}
|
||||
export SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
|
||||
echo "[BEGIN]: Building frontend assets"
|
||||
${linkNodePackages}
|
||||
make web-build
|
||||
rm -fr node_modules
|
||||
rm -fr node_binaries
|
||||
echo "[DONE ]: Building frontend assets"
|
||||
'';
|
||||
|
||||
# Add bin directory to path so that tests can find 'rhodecode'.
|
||||
preCheck = ''
|
||||
echo "Expanding PATH with $out/bin directory"
|
||||
export PATH="$out/bin:$PATH"
|
||||
'';
|
||||
|
||||
|
|
@ -178,15 +195,6 @@ let
|
|||
rm -rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/tests
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
echo "[BEGIN]: Building frontend assets"
|
||||
${linkNodePackages}
|
||||
make web-build
|
||||
rm -fr node_modules
|
||||
rm -fr node_binaries
|
||||
echo "[DONE ]: Building frontend assets"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# check required files
|
||||
STATIC_CHECK="/robots.txt /502.html
|
||||
|
|
@ -210,31 +218,34 @@ let
|
|||
cp configs/production.ini $out/etc
|
||||
echo "[DONE ]: saved enterprise-ce production.ini into $out/etc"
|
||||
|
||||
echo "saving env in $out/etc/env_vars.txt"
|
||||
touch $out/etc/env_vars.txt
|
||||
echo "# RhodeCode build env vars" >> $out/etc/env_vars.txt
|
||||
echo "LOCALE_ARCHIVE=\"${pkgs.glibcLocales}/lib/locale/locale-archive\"" >> $out/etc/env_vars.txt
|
||||
echo "LC_ALL=\"en_US.UTF-8\"" >> $out/etc/env_vars.txt
|
||||
|
||||
cp -Rf rhodecode/config/rcextensions $out/etc/rcextensions.tmpl
|
||||
echo "[DONE ]: saved enterprise-ce rcextensions into $out/etc/rcextensions.tmpl"
|
||||
|
||||
# python based programs need to be wrapped
|
||||
mkdir -p $out/bin
|
||||
|
||||
# expose python
|
||||
ln -s ${pythonWithEnv}/bin/python $out/bin/
|
||||
|
||||
# required binaries from dependencies
|
||||
ln -s ${self.supervisor}/bin/supervisorctl $out/bin/
|
||||
ln -s ${self.supervisor}/bin/supervisord $out/bin/
|
||||
ln -s ${self.pastescript}/bin/paster $out/bin/
|
||||
ln -s ${self.channelstream}/bin/channelstream $out/bin/
|
||||
ln -s ${self.celery}/bin/celery $out/bin/
|
||||
ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
|
||||
ln -s ${self.pyramid}/bin/prequest $out/bin/
|
||||
ln -s ${self.pyramid}/bin/pserve $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/supervisorctl $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/supervisord $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/paster $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/channelstream $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/celery $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/gunicorn $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/prequest $out/bin/
|
||||
ln -s ${pythonWithEnv}/bin/pserve $out/bin/
|
||||
|
||||
echo "[DONE ]: created symlinks into $out/bin"
|
||||
DEPS="$out/bin/supervisorctl \
|
||||
$out/bin/supervisord \
|
||||
$out/bin/paster \
|
||||
$out/bin/channelstream \
|
||||
$out/bin/celery \
|
||||
$out/bin/gunicorn \
|
||||
$out/bin/prequest \
|
||||
$out/bin/pserve"
|
||||
DEPS="
|
||||
"
|
||||
|
||||
# wrap only dependency scripts, they require to have full PYTHONPATH set
|
||||
# to be able to import all packages
|
||||
|
|
@ -251,18 +262,18 @@ let
|
|||
# rhodecode-tools don't need wrapping
|
||||
ln -s ${self.rhodecode-tools}/bin/rhodecode-* $out/bin/
|
||||
|
||||
# expose sources of CE
|
||||
ln -s $out $out/etc/rhodecode_enterprise_ce_source
|
||||
|
||||
# expose static files folder
|
||||
cp -Rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/public/ $out/etc/static
|
||||
chmod 755 -R $out/etc/static
|
||||
|
||||
# expose sources of rhodecode-enterprise-ce
|
||||
ln -s $out $out/etc/rhodecode_enterprise_ce_source
|
||||
'';
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
basePythonPackages = with builtins;
|
||||
if isAttrs pythonPackages then
|
||||
pythonPackages
|
||||
|
|
@ -270,13 +281,8 @@ let
|
|||
getAttr pythonPackages pkgs;
|
||||
|
||||
pythonGeneratedPackages = import ./pkgs/python-packages.nix {
|
||||
inherit
|
||||
pkgs;
|
||||
inherit
|
||||
(pkgs)
|
||||
fetchurl
|
||||
fetchgit
|
||||
fetchhg;
|
||||
inherit pkgs;
|
||||
inherit (pkgs) fetchurl fetchgit fetchhg;
|
||||
};
|
||||
|
||||
pythonCommunityOverrides = import ./pkgs/python-packages-overrides.nix {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "rhodecode-enterprise",
|
||||
"version": "2.0.0",
|
||||
"version": "4.19.0",
|
||||
"private": true,
|
||||
"description" : "RhodeCode JS packaged",
|
||||
"license": "SEE LICENSE IN LICENSE.txt",
|
||||
|
|
|
|||
|
|
@ -14,4 +14,12 @@ rec {
|
|||
pythonPackages;
|
||||
};
|
||||
|
||||
pip-tools = pythonPackages.pip-tools;
|
||||
|
||||
setuptools = pythonPackages.setuptools;
|
||||
|
||||
wheel = pythonPackages.wheel;
|
||||
|
||||
pip = pythonPackages.pip;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# This file has been generated by node2nix 1.6.0. Do not edit!
|
||||
# This file has been generated by node2nix 1.8.0. Do not edit!
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-8_x"}:
|
||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
||||
|
||||
let
|
||||
nodeEnv = import ./node-env.nix {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ let
|
|||
|
||||
cat > $out/bin/tar <<EOF
|
||||
#! ${stdenv.shell} -e
|
||||
$(type -p tar) "\$@" --warning=no-unknown-keyword
|
||||
$(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/tar
|
||||
|
|
@ -57,7 +57,7 @@ let
|
|||
|
||||
# Recursively composes the dependencies of a package
|
||||
composePackage = { name, packageName, src, dependencies ? [], ... }@args:
|
||||
''
|
||||
builtins.addErrorContext "while evaluating node package '${packageName}'" ''
|
||||
DIR=$(pwd)
|
||||
cd $TMPDIR
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ let
|
|||
packageDir="$(find . -maxdepth 1 -type d | tail -1)"
|
||||
|
||||
# Restore write permissions to make building work
|
||||
find "$packageDir" -type d -print0 | xargs -0 chmod u+x
|
||||
find "$packageDir" -type d -exec chmod u+x {} \;
|
||||
chmod -R u+w "$packageDir"
|
||||
|
||||
# Move the extracted tarball into the output folder
|
||||
|
|
@ -219,7 +219,16 @@ let
|
|||
packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
|
||||
}
|
||||
|
||||
packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
|
||||
if(dependency.resolved) {
|
||||
packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
|
||||
} else {
|
||||
packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
|
||||
}
|
||||
|
||||
if(dependency.from !== undefined) { // Adopt from property if one has been provided
|
||||
packageObj["_from"] = dependency.from;
|
||||
}
|
||||
|
||||
fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
|
||||
}
|
||||
|
||||
|
|
@ -308,50 +317,11 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
# Builds and composes an NPM package including all its dependencies
|
||||
buildNodePackage =
|
||||
{ name
|
||||
, packageName
|
||||
, version
|
||||
, dependencies ? []
|
||||
, buildInputs ? []
|
||||
, production ? true
|
||||
, npmFlags ? ""
|
||||
, dontNpmInstall ? false
|
||||
, bypassCache ? false
|
||||
, preRebuild ? ""
|
||||
, dontStrip ? true
|
||||
, unpackPhase ? "true"
|
||||
, buildPhase ? "true"
|
||||
, ... }@args:
|
||||
|
||||
prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
|
||||
let
|
||||
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
name = "node-${name}-${version}";
|
||||
buildInputs = [ tarWrapper python nodejs ]
|
||||
++ stdenv.lib.optional (stdenv.isLinux) utillinux
|
||||
++ stdenv.lib.optional (stdenv.isDarwin) libtool
|
||||
++ buildInputs;
|
||||
|
||||
inherit dontStrip; # Stripping may fail a build for some package deployments
|
||||
inherit dontNpmInstall preRebuild unpackPhase buildPhase;
|
||||
|
||||
compositionScript = composePackage args;
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
|
||||
|
||||
installPhase = ''
|
||||
# Create and enter a root node_modules/ folder
|
||||
mkdir -p $out/lib/node_modules
|
||||
cd $out/lib/node_modules
|
||||
|
||||
# Compose the package and all its dependencies
|
||||
source $compositionScriptPath
|
||||
|
||||
''
|
||||
# Pinpoint the versions of all dependencies to the ones that are actually being used
|
||||
echo "pinpointing versions of dependencies..."
|
||||
source $pinpointDependenciesScriptPath
|
||||
|
|
@ -375,24 +345,80 @@ let
|
|||
runHook preRebuild
|
||||
|
||||
${stdenv.lib.optionalString bypassCache ''
|
||||
if [ ! -f package-lock.json ]
|
||||
then
|
||||
echo "No package-lock.json file found, reconstructing..."
|
||||
node ${reconstructPackageLock}
|
||||
fi
|
||||
${stdenv.lib.optionalString reconstructLock ''
|
||||
if [ -f package-lock.json ]
|
||||
then
|
||||
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
|
||||
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
|
||||
rm package-lock.json
|
||||
else
|
||||
echo "No package-lock.json file found, reconstructing..."
|
||||
fi
|
||||
|
||||
node ${reconstructPackageLock}
|
||||
''}
|
||||
|
||||
node ${addIntegrityFieldsScript}
|
||||
''}
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
|
||||
|
||||
if [ "$dontNpmInstall" != "1" ]
|
||||
if [ "''${dontNpmInstall-}" != "1" ]
|
||||
then
|
||||
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
|
||||
rm -f npm-shrinkwrap.json
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
|
||||
fi
|
||||
'';
|
||||
|
||||
# Builds and composes an NPM package including all its dependencies
|
||||
buildNodePackage =
|
||||
{ name
|
||||
, packageName
|
||||
, version
|
||||
, dependencies ? []
|
||||
, buildInputs ? []
|
||||
, production ? true
|
||||
, npmFlags ? ""
|
||||
, dontNpmInstall ? false
|
||||
, bypassCache ? false
|
||||
, reconstructLock ? false
|
||||
, preRebuild ? ""
|
||||
, dontStrip ? true
|
||||
, unpackPhase ? "true"
|
||||
, buildPhase ? "true"
|
||||
, ... }@args:
|
||||
|
||||
let
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
name = "node_${name}-${version}";
|
||||
buildInputs = [ tarWrapper python nodejs ]
|
||||
++ stdenv.lib.optional (stdenv.isLinux) utillinux
|
||||
++ stdenv.lib.optional (stdenv.isDarwin) libtool
|
||||
++ buildInputs;
|
||||
|
||||
inherit nodejs;
|
||||
|
||||
inherit dontStrip; # Stripping may fail a build for some package deployments
|
||||
inherit dontNpmInstall preRebuild unpackPhase buildPhase;
|
||||
|
||||
compositionScript = composePackage args;
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
|
||||
|
||||
installPhase = ''
|
||||
# Create and enter a root node_modules/ folder
|
||||
mkdir -p $out/lib/node_modules
|
||||
cd $out/lib/node_modules
|
||||
|
||||
# Compose the package and all its dependencies
|
||||
source $compositionScriptPath
|
||||
|
||||
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
|
||||
|
||||
# Create symlink to the deployed executable folder, if applicable
|
||||
if [ -d "$out/lib/node_modules/.bin" ]
|
||||
|
|
@ -431,14 +457,13 @@ let
|
|||
, npmFlags ? ""
|
||||
, dontNpmInstall ? false
|
||||
, bypassCache ? false
|
||||
, reconstructLock ? false
|
||||
, dontStrip ? true
|
||||
, unpackPhase ? "true"
|
||||
, buildPhase ? "true"
|
||||
, ... }@args:
|
||||
|
||||
let
|
||||
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
|
||||
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
|
||||
|
||||
nodeDependencies = stdenv.mkDerivation ({
|
||||
|
|
@ -473,39 +498,13 @@ let
|
|||
fi
|
||||
''}
|
||||
|
||||
# Pinpoint the versions of all dependencies to the ones that are actually being used
|
||||
echo "pinpointing versions of dependencies..."
|
||||
# Go to the parent folder to make sure that all packages are pinpointed
|
||||
cd ..
|
||||
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
|
||||
source $pinpointDependenciesScriptPath
|
||||
cd ${packageName}
|
||||
|
||||
# Patch the shebangs of the bundled modules to prevent them from
|
||||
# calling executables outside the Nix store as much as possible
|
||||
patchShebangs .
|
||||
|
||||
export HOME=$PWD
|
||||
|
||||
${stdenv.lib.optionalString bypassCache ''
|
||||
if [ ! -f package-lock.json ]
|
||||
then
|
||||
echo "No package-lock.json file found, reconstructing..."
|
||||
node ${reconstructPackageLock}
|
||||
fi
|
||||
|
||||
node ${addIntegrityFieldsScript}
|
||||
''}
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
|
||||
|
||||
${stdenv.lib.optionalString (!dontNpmInstall) ''
|
||||
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
|
||||
rm -f npm-shrinkwrap.json
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
|
||||
''}
|
||||
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
|
||||
|
||||
# Expose the executables that were installed
|
||||
cd ..
|
||||
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
|
||||
|
|
@ -531,7 +530,8 @@ let
|
|||
# Provide the dependencies in a development shell through the NODE_PATH environment variable
|
||||
inherit nodeDependencies;
|
||||
shellHook = stdenv.lib.optionalString (dependencies != []) ''
|
||||
export NODE_PATH=$nodeDependencies/lib/node_modules
|
||||
export NODE_PATH=${nodeDependencies}/lib/node_modules
|
||||
export PATH="${nodeDependencies}/bin:$PATH"
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# This file has been generated by node2nix 1.6.0. Do not edit!
|
||||
# This file has been generated by node2nix 1.8.0. Do not edit!
|
||||
|
||||
{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
|
||||
|
||||
|
|
@ -211,13 +211,13 @@ let
|
|||
sha512 = "yiUk09opTEnE1lK+tb501ENb+yQBi4p++Ep0eGJAHesVYKVMPNgPphVKkIizkDaU+n0SE+zXfTsRbYyOMDYXSg==";
|
||||
};
|
||||
};
|
||||
"@polymer/polymer-3.3.1" = {
|
||||
"@polymer/polymer-3.4.1" = {
|
||||
name = "_at_polymer_slash_polymer";
|
||||
packageName = "@polymer/polymer";
|
||||
version = "3.3.1";
|
||||
version = "3.4.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.3.1.tgz";
|
||||
sha512 = "8KaB48tzyMjdsHdxo5KvCAaqmTe7rYDzQAoj/pyEfq9Fp4YfUaS+/xqwYj0GbiDAUNzwkmEQ7dw9cgnRNdKO8A==";
|
||||
url = "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.4.1.tgz";
|
||||
sha512 = "KPWnhDZibtqKrUz7enIPOiO4ZQoJNOuLwqrhV2MXzIt3VVnUVJVG5ORz4Z2sgO+UZ+/UZnPD0jqY+jmw/+a9mQ==";
|
||||
};
|
||||
};
|
||||
"@types/clone-0.1.30" = {
|
||||
|
|
@ -499,13 +499,13 @@ let
|
|||
sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
|
||||
};
|
||||
};
|
||||
"ajv-6.12.0" = {
|
||||
"ajv-6.12.2" = {
|
||||
name = "ajv";
|
||||
packageName = "ajv";
|
||||
version = "6.12.0";
|
||||
version = "6.12.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz";
|
||||
sha512 = "D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==";
|
||||
url = "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz";
|
||||
sha512 = "k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==";
|
||||
};
|
||||
};
|
||||
"ajv-keywords-3.4.1" = {
|
||||
|
|
@ -1472,6 +1472,15 @@ let
|
|||
sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==";
|
||||
};
|
||||
};
|
||||
"bn.js-5.1.1" = {
|
||||
name = "bn.js";
|
||||
packageName = "bn.js";
|
||||
version = "5.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/bn.js/-/bn.js-5.1.1.tgz";
|
||||
sha512 = "IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==";
|
||||
};
|
||||
};
|
||||
"boolbase-1.0.0" = {
|
||||
name = "boolbase";
|
||||
packageName = "boolbase";
|
||||
|
|
@ -1553,13 +1562,13 @@ let
|
|||
sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
|
||||
};
|
||||
};
|
||||
"browserify-sign-4.0.4" = {
|
||||
"browserify-sign-4.1.0" = {
|
||||
name = "browserify-sign";
|
||||
packageName = "browserify-sign";
|
||||
version = "4.0.4";
|
||||
version = "4.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz";
|
||||
sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
|
||||
url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.1.0.tgz";
|
||||
sha512 = "VYxo7cDCeYUoBZ0ZCy4UyEUCP3smyBd4DRQM5nrFS1jJjPJjX7rP3oLRpPoWfkhQfyJ0I9ZbHbKafrFD/SGlrg==";
|
||||
};
|
||||
};
|
||||
"browserify-zlib-0.2.0" = {
|
||||
|
|
@ -1679,22 +1688,22 @@ let
|
|||
sha1 = "b534e7c734c4f81ec5fbe8aca2ad24354b962c6c";
|
||||
};
|
||||
};
|
||||
"caniuse-db-1.0.30001042" = {
|
||||
"caniuse-db-1.0.30001058" = {
|
||||
name = "caniuse-db";
|
||||
packageName = "caniuse-db";
|
||||
version = "1.0.30001042";
|
||||
version = "1.0.30001058";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001042.tgz";
|
||||
sha512 = "2RKrB2hkLCW/8Uj32oaXj0O+N9ROo0/BF0EueWHwgs6AeeSiL+rCSsbICR3ayBJOZavgcFx65ZCw7QiafsoUFQ==";
|
||||
url = "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001058.tgz";
|
||||
sha512 = "DhGWGTuINKNdqrJzw6ag7RnkuHtg3B4m/b4SsvqAN3n1UXzSXtINS2ReBFOA5mO3TukrW39Fr9pUWW02i8Zvcw==";
|
||||
};
|
||||
};
|
||||
"caniuse-lite-1.0.30001042" = {
|
||||
"caniuse-lite-1.0.30001058" = {
|
||||
name = "caniuse-lite";
|
||||
packageName = "caniuse-lite";
|
||||
version = "1.0.30001042";
|
||||
version = "1.0.30001058";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001042.tgz";
|
||||
sha512 = "igMQ4dlqnf4tWv0xjaaE02op9AJ2oQzXKjWf4EuAHFN694Uo9/EfPVIPJcmn2WkU9RqozCxx5e2KPcVClHDbDw==";
|
||||
url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001058.tgz";
|
||||
sha512 = "UiRZmBYd1HdVVdFKy7PuLVx9e2NS7SMyx7QpWvFjiklYrLJKpLd19cRnRNqlw4zYa7vVejS3c8JUVobX241zHQ==";
|
||||
};
|
||||
};
|
||||
"caseless-0.12.0" = {
|
||||
|
|
@ -2552,13 +2561,13 @@ let
|
|||
sha1 = "3a83a904e54353287874c564b7549386849a98c9";
|
||||
};
|
||||
};
|
||||
"electron-to-chromium-1.3.412" = {
|
||||
"electron-to-chromium-1.3.437" = {
|
||||
name = "electron-to-chromium";
|
||||
packageName = "electron-to-chromium";
|
||||
version = "1.3.412";
|
||||
version = "1.3.437";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.412.tgz";
|
||||
sha512 = "4bVdSeJScR8fT7ERveLWbxemY5uXEHVseqMRyORosiKcTUSGtVwBkV8uLjXCqoFLeImA57Z9hbz3TOid01U4Hw==";
|
||||
url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.437.tgz";
|
||||
sha512 = "PBQn2q68ErqMyBUABh9Gh8R6DunGky8aB5y3N5lPM7OVpldwyUbAK5AX9WcwE/5F6ceqvQ+iQLYkJYRysAs6Bg==";
|
||||
};
|
||||
};
|
||||
"elliptic-6.5.2" = {
|
||||
|
|
@ -2624,13 +2633,13 @@ let
|
|||
sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
|
||||
};
|
||||
};
|
||||
"entities-2.0.0" = {
|
||||
"entities-2.0.2" = {
|
||||
name = "entities";
|
||||
packageName = "entities";
|
||||
version = "2.0.0";
|
||||
version = "2.0.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz";
|
||||
sha512 = "D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==";
|
||||
url = "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz";
|
||||
sha512 = "dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==";
|
||||
};
|
||||
};
|
||||
"errno-0.1.7" = {
|
||||
|
|
@ -3101,13 +3110,13 @@ let
|
|||
sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
|
||||
};
|
||||
};
|
||||
"fsevents-1.2.12" = {
|
||||
"fsevents-1.2.13" = {
|
||||
name = "fsevents";
|
||||
packageName = "fsevents";
|
||||
version = "1.2.12";
|
||||
version = "1.2.13";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz";
|
||||
sha512 = "Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==";
|
||||
url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz";
|
||||
sha512 = "oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==";
|
||||
};
|
||||
};
|
||||
"function-bind-1.1.1" = {
|
||||
|
|
@ -3281,13 +3290,13 @@ let
|
|||
sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
|
||||
};
|
||||
};
|
||||
"graceful-fs-4.2.3" = {
|
||||
"graceful-fs-4.2.4" = {
|
||||
name = "graceful-fs";
|
||||
packageName = "graceful-fs";
|
||||
version = "4.2.3";
|
||||
version = "4.2.4";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
|
||||
sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
|
||||
url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
|
||||
sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
|
||||
};
|
||||
};
|
||||
"grunt-0.4.5" = {
|
||||
|
|
@ -3524,13 +3533,13 @@ let
|
|||
sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
|
||||
};
|
||||
};
|
||||
"hash-base-3.0.4" = {
|
||||
"hash-base-3.1.0" = {
|
||||
name = "hash-base";
|
||||
packageName = "hash-base";
|
||||
version = "3.0.4";
|
||||
version = "3.1.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz";
|
||||
sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
|
||||
url = "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz";
|
||||
sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==";
|
||||
};
|
||||
};
|
||||
"hash.js-1.1.7" = {
|
||||
|
|
@ -4262,13 +4271,13 @@ let
|
|||
sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
|
||||
};
|
||||
};
|
||||
"jshint-2.11.0" = {
|
||||
"jshint-2.11.1" = {
|
||||
name = "jshint";
|
||||
packageName = "jshint";
|
||||
version = "2.11.0";
|
||||
version = "2.11.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/jshint/-/jshint-2.11.0.tgz";
|
||||
sha512 = "ooaD/hrBPhu35xXW4gn+o3SOuzht73gdBuffgJzrZBJZPGgGiiTvJEgTyxFvBO2nz0+X1G6etF8SzUODTlLY6Q==";
|
||||
url = "https://registry.npmjs.org/jshint/-/jshint-2.11.1.tgz";
|
||||
sha512 = "WXWePB8ssAH3DlD05IoqolsY6arhbll/1+i2JkRPpihQAuiNaR/gSt8VKIcxpV5m6XChP0hCwESQUqpuQMA8Tg==";
|
||||
};
|
||||
};
|
||||
"jshint-2.9.7" = {
|
||||
|
|
@ -4730,22 +4739,22 @@ let
|
|||
sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
|
||||
};
|
||||
};
|
||||
"mime-db-1.43.0" = {
|
||||
"mime-db-1.44.0" = {
|
||||
name = "mime-db";
|
||||
packageName = "mime-db";
|
||||
version = "1.43.0";
|
||||
version = "1.44.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz";
|
||||
sha512 = "+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==";
|
||||
url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz";
|
||||
sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==";
|
||||
};
|
||||
};
|
||||
"mime-types-2.1.26" = {
|
||||
"mime-types-2.1.27" = {
|
||||
name = "mime-types";
|
||||
packageName = "mime-types";
|
||||
version = "2.1.26";
|
||||
version = "2.1.27";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz";
|
||||
sha512 = "01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==";
|
||||
url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz";
|
||||
sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==";
|
||||
};
|
||||
};
|
||||
"mimic-fn-2.1.0" = {
|
||||
|
|
@ -4838,13 +4847,13 @@ let
|
|||
sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
|
||||
};
|
||||
};
|
||||
"moment-2.24.0" = {
|
||||
"moment-2.25.3" = {
|
||||
name = "moment";
|
||||
packageName = "moment";
|
||||
version = "2.24.0";
|
||||
version = "2.25.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz";
|
||||
sha512 = "bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==";
|
||||
url = "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz";
|
||||
sha512 = "PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==";
|
||||
};
|
||||
};
|
||||
"mousetrap-1.6.5" = {
|
||||
|
|
@ -4874,13 +4883,13 @@ let
|
|||
sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
|
||||
};
|
||||
};
|
||||
"nan-2.14.0" = {
|
||||
"nan-2.14.1" = {
|
||||
name = "nan";
|
||||
packageName = "nan";
|
||||
version = "2.14.0";
|
||||
version = "2.14.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
|
||||
sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
|
||||
url = "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz";
|
||||
sha512 = "isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==";
|
||||
};
|
||||
};
|
||||
"nanomatch-1.2.13" = {
|
||||
|
|
@ -6071,6 +6080,15 @@ let
|
|||
sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
|
||||
};
|
||||
};
|
||||
"readable-stream-3.6.0" = {
|
||||
name = "readable-stream";
|
||||
packageName = "readable-stream";
|
||||
version = "3.6.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";
|
||||
sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
|
||||
};
|
||||
};
|
||||
"readdirp-2.2.1" = {
|
||||
name = "readdirp";
|
||||
packageName = "readdirp";
|
||||
|
|
@ -6296,13 +6314,13 @@ let
|
|||
sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
|
||||
};
|
||||
};
|
||||
"resolve-1.16.0" = {
|
||||
"resolve-1.17.0" = {
|
||||
name = "resolve";
|
||||
packageName = "resolve";
|
||||
version = "1.16.0";
|
||||
version = "1.17.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/resolve/-/resolve-1.16.0.tgz";
|
||||
sha512 = "LarL/PIKJvc09k1jaeT4kQb/8/7P+qV4qSnN2K80AES+OHdfZELAKVOBjxsvtToT/uLOfFbvYvKfZmV8cee7nA==";
|
||||
url = "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz";
|
||||
sha512 = "ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==";
|
||||
};
|
||||
};
|
||||
"resolve-cwd-2.0.0" = {
|
||||
|
|
@ -6404,13 +6422,13 @@ let
|
|||
sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
|
||||
};
|
||||
};
|
||||
"safe-buffer-5.2.0" = {
|
||||
"safe-buffer-5.2.1" = {
|
||||
name = "safe-buffer";
|
||||
packageName = "safe-buffer";
|
||||
version = "5.2.0";
|
||||
version = "5.2.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
|
||||
sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==";
|
||||
url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
|
||||
sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
|
||||
};
|
||||
};
|
||||
"safe-regex-1.1.0" = {
|
||||
|
|
@ -6980,13 +6998,13 @@ let
|
|||
sha1 = "9f5772413952135c6fefbf40afe6a4faa88b4bb5";
|
||||
};
|
||||
};
|
||||
"sweetalert2-9.10.12" = {
|
||||
"sweetalert2-9.10.13" = {
|
||||
name = "sweetalert2";
|
||||
packageName = "sweetalert2";
|
||||
version = "9.10.12";
|
||||
version = "9.10.13";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/sweetalert2/-/sweetalert2-9.10.12.tgz";
|
||||
sha512 = "RnarmbDGTPmwecJbaVdq5LvlzbVReIOtPk0huPnXOE19G00xMxGcTY0wjt9AjwsexUnLivLXc3b6nD6+D6NlGg==";
|
||||
url = "https://registry.npmjs.org/sweetalert2/-/sweetalert2-9.10.13.tgz";
|
||||
sha512 = "JiZtO9SQdnS/Uvlqw5MlWpGpYVqH/eBQi7u61+Oxba7ZA4vfX0tSdyzQsiMk56HTUw8Nk8IvNPvfbt3WR3FOsQ==";
|
||||
};
|
||||
};
|
||||
"tapable-0.2.9" = {
|
||||
|
|
@ -7133,13 +7151,13 @@ let
|
|||
sha1 = "30c6203e1e66b841a88701ed8858f1725d94b026";
|
||||
};
|
||||
};
|
||||
"tslib-1.11.1" = {
|
||||
"tslib-1.13.0" = {
|
||||
name = "tslib";
|
||||
packageName = "tslib";
|
||||
version = "1.11.1";
|
||||
version = "1.13.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz";
|
||||
sha512 = "aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==";
|
||||
url = "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz";
|
||||
sha512 = "i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==";
|
||||
};
|
||||
};
|
||||
"tty-browserify-0.0.0" = {
|
||||
|
|
@ -7205,13 +7223,13 @@ let
|
|||
sha512 = "Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==";
|
||||
};
|
||||
};
|
||||
"uglify-js-3.9.1" = {
|
||||
"uglify-js-3.9.3" = {
|
||||
name = "uglify-js";
|
||||
packageName = "uglify-js";
|
||||
version = "3.9.1";
|
||||
version = "3.9.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.1.tgz";
|
||||
sha512 = "JUPoL1jHsc9fOjVFHdQIhqEEJsQvfKDjlubcCilu8U26uZ73qOg8VsN8O1jbuei44ZPlwL7kmbAdM4tzaUvqnA==";
|
||||
url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.3.tgz";
|
||||
sha512 = "r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA==";
|
||||
};
|
||||
};
|
||||
"uglify-to-browserify-1.0.2" = {
|
||||
|
|
@ -7731,7 +7749,7 @@ let
|
|||
args = {
|
||||
name = "rhodecode-enterprise";
|
||||
packageName = "rhodecode-enterprise";
|
||||
version = "2.0.0";
|
||||
version = "4.19.0";
|
||||
src = ./..;
|
||||
dependencies = [
|
||||
sources."@polymer/font-roboto-3.0.2"
|
||||
|
|
@ -7757,7 +7775,7 @@ let
|
|||
sources."@polymer/paper-toast-3.0.1"
|
||||
sources."@polymer/paper-toggle-button-3.0.1"
|
||||
sources."@polymer/paper-tooltip-3.0.1"
|
||||
sources."@polymer/polymer-3.3.1"
|
||||
sources."@polymer/polymer-3.4.1"
|
||||
sources."@types/clone-0.1.30"
|
||||
sources."@types/node-6.14.10"
|
||||
sources."@types/parse5-2.2.34"
|
||||
|
|
@ -7824,7 +7842,11 @@ let
|
|||
sources."array-unique-0.3.2"
|
||||
sources."asap-2.0.6"
|
||||
sources."asn1-0.2.4"
|
||||
sources."asn1.js-4.10.1"
|
||||
(sources."asn1.js-4.10.1" // {
|
||||
dependencies = [
|
||||
sources."bn.js-4.11.8"
|
||||
];
|
||||
})
|
||||
(sources."assert-1.5.0" // {
|
||||
dependencies = [
|
||||
sources."inherits-2.0.1"
|
||||
|
|
@ -7960,7 +7982,7 @@ let
|
|||
sources."binary-extensions-1.13.1"
|
||||
sources."bindings-1.5.0"
|
||||
sources."bluebird-3.7.2"
|
||||
sources."bn.js-4.11.8"
|
||||
sources."bn.js-5.1.1"
|
||||
sources."boolbase-1.0.0"
|
||||
sources."boom-2.10.1"
|
||||
sources."brace-expansion-1.1.11"
|
||||
|
|
@ -7973,8 +7995,17 @@ let
|
|||
sources."browserify-aes-1.2.0"
|
||||
sources."browserify-cipher-1.0.1"
|
||||
sources."browserify-des-1.0.2"
|
||||
sources."browserify-rsa-4.0.1"
|
||||
sources."browserify-sign-4.0.4"
|
||||
(sources."browserify-rsa-4.0.1" // {
|
||||
dependencies = [
|
||||
sources."bn.js-4.11.8"
|
||||
];
|
||||
})
|
||||
(sources."browserify-sign-4.1.0" // {
|
||||
dependencies = [
|
||||
sources."readable-stream-3.6.0"
|
||||
sources."string_decoder-1.3.0"
|
||||
];
|
||||
})
|
||||
sources."browserify-zlib-0.2.0"
|
||||
sources."browserslist-3.2.8"
|
||||
sources."buffer-4.9.2"
|
||||
|
|
@ -7984,7 +8015,7 @@ let
|
|||
(sources."cacache-10.0.4" // {
|
||||
dependencies = [
|
||||
sources."glob-7.1.6"
|
||||
sources."graceful-fs-4.2.3"
|
||||
sources."graceful-fs-4.2.4"
|
||||
sources."lru-cache-4.1.5"
|
||||
sources."minimatch-3.0.4"
|
||||
sources."rimraf-2.7.1"
|
||||
|
|
@ -7998,8 +8029,8 @@ let
|
|||
sources."browserslist-1.7.7"
|
||||
];
|
||||
})
|
||||
sources."caniuse-db-1.0.30001042"
|
||||
sources."caniuse-lite-1.0.30001042"
|
||||
sources."caniuse-db-1.0.30001058"
|
||||
sources."caniuse-lite-1.0.30001058"
|
||||
sources."caseless-0.12.0"
|
||||
sources."center-align-0.1.3"
|
||||
sources."chalk-0.5.1"
|
||||
|
|
@ -8103,7 +8134,11 @@ let
|
|||
})
|
||||
sources."core-js-2.6.11"
|
||||
sources."core-util-is-1.0.2"
|
||||
sources."create-ecdh-4.0.3"
|
||||
(sources."create-ecdh-4.0.3" // {
|
||||
dependencies = [
|
||||
sources."bn.js-4.11.8"
|
||||
];
|
||||
})
|
||||
sources."create-hash-1.2.0"
|
||||
sources."create-hmac-1.1.7"
|
||||
(sources."cross-spawn-6.0.5" // {
|
||||
|
|
@ -8148,13 +8183,17 @@ let
|
|||
sources."des.js-1.0.1"
|
||||
sources."detect-file-1.0.0"
|
||||
sources."detect-indent-4.0.0"
|
||||
sources."diffie-hellman-5.0.3"
|
||||
(sources."diffie-hellman-5.0.3" // {
|
||||
dependencies = [
|
||||
sources."bn.js-4.11.8"
|
||||
];
|
||||
})
|
||||
sources."dir-glob-2.2.2"
|
||||
sources."dom-converter-0.2.0"
|
||||
(sources."dom-serializer-0.2.2" // {
|
||||
dependencies = [
|
||||
sources."domelementtype-2.0.1"
|
||||
sources."entities-2.0.0"
|
||||
sources."entities-2.0.2"
|
||||
];
|
||||
})
|
||||
(sources."dom5-2.3.0" // {
|
||||
|
|
@ -8177,13 +8216,17 @@ let
|
|||
];
|
||||
})
|
||||
sources."ecc-jsbn-0.1.2"
|
||||
sources."electron-to-chromium-1.3.412"
|
||||
sources."elliptic-6.5.2"
|
||||
sources."electron-to-chromium-1.3.437"
|
||||
(sources."elliptic-6.5.2" // {
|
||||
dependencies = [
|
||||
sources."bn.js-4.11.8"
|
||||
];
|
||||
})
|
||||
sources."emojis-list-3.0.0"
|
||||
sources."end-of-stream-1.4.4"
|
||||
(sources."enhanced-resolve-4.1.1" // {
|
||||
dependencies = [
|
||||
sources."graceful-fs-4.2.3"
|
||||
sources."graceful-fs-4.2.4"
|
||||
sources."memory-fs-0.5.0"
|
||||
sources."readable-stream-2.3.7"
|
||||
sources."safe-buffer-5.1.2"
|
||||
|
|
@ -8286,11 +8329,11 @@ let
|
|||
})
|
||||
(sources."fs-write-stream-atomic-1.0.10" // {
|
||||
dependencies = [
|
||||
sources."graceful-fs-4.2.3"
|
||||
sources."graceful-fs-4.2.4"
|
||||
];
|
||||
})
|
||||
sources."fs.realpath-1.0.0"
|
||||
sources."fsevents-1.2.12"
|
||||
sources."fsevents-1.2.13"
|
||||
sources."function-bind-1.1.1"
|
||||
sources."gaze-0.5.2"
|
||||
sources."get-caller-file-1.0.3"
|
||||
|
|
@ -8418,7 +8461,12 @@ let
|
|||
sources."kind-of-4.0.0"
|
||||
];
|
||||
})
|
||||
sources."hash-base-3.0.4"
|
||||
(sources."hash-base-3.1.0" // {
|
||||
dependencies = [
|
||||
sources."readable-stream-3.6.0"
|
||||
sources."string_decoder-1.3.0"
|
||||
];
|
||||
})
|
||||
sources."hash.js-1.1.7"
|
||||
sources."hawk-3.1.3"
|
||||
sources."he-1.2.0"
|
||||
|
|
@ -8525,7 +8573,7 @@ let
|
|||
sources."js-yaml-2.0.5"
|
||||
sources."jsbn-0.1.1"
|
||||
sources."jsesc-1.3.0"
|
||||
(sources."jshint-2.11.0" // {
|
||||
(sources."jshint-2.11.1" // {
|
||||
dependencies = [
|
||||
sources."lodash-4.17.15"
|
||||
sources."minimatch-3.0.4"
|
||||
|
|
@ -8548,7 +8596,7 @@ let
|
|||
sources."lcid-2.0.0"
|
||||
(sources."less-2.7.3" // {
|
||||
dependencies = [
|
||||
sources."graceful-fs-4.2.3"
|
||||
sources."graceful-fs-4.2.4"
|
||||
];
|
||||
})
|
||||
(sources."liftoff-2.5.0" // {
|
||||
|
|
@ -8595,10 +8643,14 @@ let
|
|||
];
|
||||
})
|
||||
sources."micromatch-3.1.10"
|
||||
sources."miller-rabin-4.0.1"
|
||||
(sources."miller-rabin-4.0.1" // {
|
||||
dependencies = [
|
||||
sources."bn.js-4.11.8"
|
||||
];
|
||||
})
|
||||
sources."mime-1.6.0"
|
||||
sources."mime-db-1.43.0"
|
||||
sources."mime-types-2.1.26"
|
||||
sources."mime-db-1.44.0"
|
||||
sources."mime-types-2.1.27"
|
||||
sources."mimic-fn-2.1.0"
|
||||
sources."minimalistic-assert-1.0.1"
|
||||
sources."minimalistic-crypto-utils-1.0.1"
|
||||
|
|
@ -8611,7 +8663,7 @@ let
|
|||
];
|
||||
})
|
||||
sources."mkdirp-0.5.5"
|
||||
sources."moment-2.24.0"
|
||||
sources."moment-2.25.3"
|
||||
sources."mousetrap-1.6.5"
|
||||
(sources."move-concurrently-1.0.1" // {
|
||||
dependencies = [
|
||||
|
|
@ -8621,7 +8673,7 @@ let
|
|||
];
|
||||
})
|
||||
sources."ms-2.0.0"
|
||||
sources."nan-2.14.0"
|
||||
sources."nan-2.14.1"
|
||||
sources."nanomatch-1.2.13"
|
||||
sources."neo-async-2.6.1"
|
||||
sources."nice-try-1.0.5"
|
||||
|
|
@ -8636,7 +8688,7 @@ let
|
|||
sources."safe-buffer-5.1.2"
|
||||
(sources."string_decoder-1.3.0" // {
|
||||
dependencies = [
|
||||
sources."safe-buffer-5.2.0"
|
||||
sources."safe-buffer-5.2.1"
|
||||
];
|
||||
})
|
||||
];
|
||||
|
|
@ -8828,7 +8880,11 @@ let
|
|||
sources."promise-inflight-1.0.1"
|
||||
sources."prr-1.0.1"
|
||||
sources."pseudomap-1.0.2"
|
||||
sources."public-encrypt-4.0.3"
|
||||
(sources."public-encrypt-4.0.3" // {
|
||||
dependencies = [
|
||||
sources."bn.js-4.11.8"
|
||||
];
|
||||
})
|
||||
sources."pump-2.0.1"
|
||||
sources."pumpify-1.5.1"
|
||||
sources."punycode-1.4.1"
|
||||
|
|
@ -8848,7 +8904,7 @@ let
|
|||
})
|
||||
(sources."readdirp-2.2.1" // {
|
||||
dependencies = [
|
||||
sources."graceful-fs-4.2.3"
|
||||
sources."graceful-fs-4.2.4"
|
||||
sources."readable-stream-2.3.7"
|
||||
sources."safe-buffer-5.1.2"
|
||||
sources."string_decoder-1.1.1"
|
||||
|
|
@ -8892,7 +8948,7 @@ let
|
|||
sources."request-2.81.0"
|
||||
sources."require-directory-2.1.1"
|
||||
sources."require-main-filename-1.0.1"
|
||||
sources."resolve-1.16.0"
|
||||
sources."resolve-1.17.0"
|
||||
sources."resolve-cwd-2.0.0"
|
||||
sources."resolve-dir-1.0.1"
|
||||
sources."resolve-from-3.0.0"
|
||||
|
|
@ -8902,13 +8958,13 @@ let
|
|||
sources."rimraf-2.2.8"
|
||||
sources."ripemd160-2.0.2"
|
||||
sources."run-queue-1.0.3"
|
||||
sources."safe-buffer-5.2.0"
|
||||
sources."safe-buffer-5.2.1"
|
||||
sources."safe-regex-1.1.0"
|
||||
sources."safer-buffer-2.1.2"
|
||||
sources."sax-1.2.4"
|
||||
(sources."schema-utils-0.4.7" // {
|
||||
dependencies = [
|
||||
sources."ajv-6.12.0"
|
||||
sources."ajv-6.12.2"
|
||||
];
|
||||
})
|
||||
sources."select-1.1.2"
|
||||
|
|
@ -9032,7 +9088,7 @@ let
|
|||
sources."js-yaml-3.7.0"
|
||||
];
|
||||
})
|
||||
sources."sweetalert2-9.10.12"
|
||||
sources."sweetalert2-9.10.13"
|
||||
sources."tapable-1.1.3"
|
||||
sources."through-2.3.8"
|
||||
(sources."through2-2.0.5" // {
|
||||
|
|
@ -9068,13 +9124,13 @@ let
|
|||
sources."colors-1.4.0"
|
||||
sources."emojis-list-2.1.0"
|
||||
sources."enhanced-resolve-3.4.1"
|
||||
sources."graceful-fs-4.2.3"
|
||||
sources."graceful-fs-4.2.4"
|
||||
sources."json5-0.5.1"
|
||||
sources."loader-utils-0.2.17"
|
||||
sources."tapable-0.2.9"
|
||||
];
|
||||
})
|
||||
sources."tslib-1.11.1"
|
||||
sources."tslib-1.13.0"
|
||||
sources."tty-browserify-0.0.0"
|
||||
sources."tunnel-agent-0.6.0"
|
||||
sources."tweetnacl-0.14.5"
|
||||
|
|
@ -9085,7 +9141,7 @@ let
|
|||
sources."source-map-0.6.1"
|
||||
];
|
||||
})
|
||||
sources."uglify-js-3.9.1"
|
||||
sources."uglify-js-3.9.3"
|
||||
sources."uglify-to-browserify-1.0.2"
|
||||
(sources."uglifyjs-webpack-plugin-1.3.0" // {
|
||||
dependencies = [
|
||||
|
|
@ -9149,13 +9205,13 @@ let
|
|||
sources."vm-browserify-1.1.2"
|
||||
(sources."watchpack-1.6.1" // {
|
||||
dependencies = [
|
||||
sources."graceful-fs-4.2.3"
|
||||
sources."graceful-fs-4.2.4"
|
||||
];
|
||||
})
|
||||
sources."waypoints-4.0.1"
|
||||
(sources."webpack-4.23.1" // {
|
||||
dependencies = [
|
||||
sources."ajv-6.12.0"
|
||||
sources."ajv-6.12.2"
|
||||
];
|
||||
})
|
||||
(sources."webpack-cli-3.1.2" // {
|
||||
|
|
@ -9225,9 +9281,12 @@ let
|
|||
};
|
||||
production = false;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
args = args;
|
||||
sources = sources;
|
||||
tarball = nodeEnv.buildNodeSourceDist args;
|
||||
package = nodeEnv.buildNodePackage args;
|
||||
shell = nodeEnv.buildNodeShell args;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -4,7 +4,11 @@
|
|||
|
||||
with pkgs.lib;
|
||||
|
||||
let _pythonPackages = pythonPackages; in
|
||||
let
|
||||
_pythonPackages = pythonPackages;
|
||||
|
||||
in
|
||||
|
||||
let
|
||||
pythonPackages = getAttr _pythonPackages pkgs;
|
||||
|
||||
|
|
@ -18,16 +22,23 @@ in
|
|||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
name = "pip2nix-generated";
|
||||
|
||||
buildInputs = [
|
||||
# Allows to generate python packages
|
||||
pip2nix.pip2nix
|
||||
pythonPackages.pip-tools
|
||||
pip2nix.pip
|
||||
pip2nix.pip-tools
|
||||
|
||||
# compile using ffi
|
||||
pkgs.libffi
|
||||
|
||||
pythonPackages.cython
|
||||
|
||||
# Allows to generate node dependencies
|
||||
pkgs.nodePackages.node2nix
|
||||
|
||||
# We need mysql_config to be around
|
||||
pkgs.mysql
|
||||
pkgs.libmysqlclient
|
||||
|
||||
# We need postgresql to be around
|
||||
pkgs.postgresql
|
||||
|
|
@ -48,8 +59,15 @@ pkgs.stdenv.mkDerivation {
|
|||
|
||||
preShellHook = ''
|
||||
echo "Starting Generate Shell"
|
||||
# Custom prompt to distinguish from other dev envs.
|
||||
export PS1="\n\[\033[1;32m\][Generate-shell:\w]$\[\033[0m\] "
|
||||
# set unpack source date to 1980 to fix ZIP problems that does not support <1980
|
||||
export SOURCE_DATE_EPOCH=315532800
|
||||
export TMPDIR=/tmp
|
||||
export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive"
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
export PYCURL_SSL_LIBRARY=openssl
|
||||
|
||||
# Custom prompt to distinguish from other dev envs.
|
||||
export PS1="\n\[\033[1;32m\][pip2nix-generate-shell]$\[\033[0m\] "
|
||||
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ psycopg2==2.8.4
|
|||
|
||||
# IPYTHON RENDERING
|
||||
# entrypoints backport, pypi version doesn't support egg installs
|
||||
https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d#egg=entrypoints==0.2.2.rhodecode-upstream1
|
||||
https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d#egg=entrypoints==0.2.2
|
||||
nbconvert==5.3.1
|
||||
nbformat==4.4.0
|
||||
jupyter-client==5.0.0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# contains not directly required libraries we want to pin the version.
|
||||
|
||||
atomicwrites==1.3.0
|
||||
atomicwrites==1.4.0
|
||||
attrs==19.3.0
|
||||
asn1crypto==0.24.0
|
||||
billiard==3.6.4.0
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
[aliases]
|
||||
test = pytest
|
||||
|
||||
[egg_info]
|
||||
tag_build =
|
||||
tag_svn_revision = false
|
||||
|
||||
# Babel configuration
|
||||
[compile_catalog]
|
||||
domain = rhodecode
|
||||
|
|
|
|||
40
shell.nix
40
shell.nix
|
|
@ -27,12 +27,12 @@ let
|
|||
optionalDevelopInstall = attributeName:
|
||||
let
|
||||
path = pkgs.lib.attrByPath [attributeName] null sources;
|
||||
doIt = doDevelopInstall && path != null;
|
||||
doDI = doDevelopInstall && path != null;
|
||||
|
||||
in
|
||||
# do develop installation with empty hosts to skip any package duplicates to
|
||||
# be replaced. This only pushes the package to be locally available
|
||||
pkgs.lib.optionalString doIt (''
|
||||
pkgs.lib.optionalString doDI (''
|
||||
echo "[BEGIN] Develop install of '${attributeName}' from '${path}'"
|
||||
pushd ${path}
|
||||
python setup.py develop --prefix $tmp_path --allow-hosts ""
|
||||
|
|
@ -47,8 +47,8 @@ let
|
|||
optionalDevelopInstallBuildInputs = attributeName:
|
||||
let
|
||||
path = pkgs.lib.attrByPath [attributeName] null sources;
|
||||
doIt = doDevelopInstall && path != null && pkgs.lib.pathExists "${nixFile}";
|
||||
nixFile = "${path}/default.nix";
|
||||
doDI = doDevelopInstall && path != null && pkgs.lib.pathExists "${nixFile}";
|
||||
|
||||
derivate = import "${nixFile}" {
|
||||
inherit
|
||||
|
|
@ -56,13 +56,30 @@ let
|
|||
pythonPackages;
|
||||
};
|
||||
in
|
||||
pkgs.lib.lists.optionals doIt (
|
||||
pkgs.lib.lists.optionals doDI (
|
||||
derivate.propagatedBuildInputs
|
||||
);
|
||||
|
||||
optionalBinDeps = attributeName:
|
||||
let
|
||||
path = pkgs.lib.attrByPath [attributeName] null sources;
|
||||
nixFile = "${path}/default.nix";
|
||||
doDI = doDevelopInstall && path != null && pkgs.lib.pathExists "${nixFile}";
|
||||
|
||||
derivate = import "${nixFile}" {
|
||||
inherit
|
||||
doCheck
|
||||
pythonPackages;
|
||||
};
|
||||
in
|
||||
pkgs.lib.optionalString doDI (''
|
||||
echo "Wrapping PATH with vcsserver vcs binaries"
|
||||
export PATH="${derivate.vcs_pkgs.subversion}/bin:${derivate.vcs_pkgs.git}/bin:${derivate.pythonPackages.mercurial}/bin:$PATH"
|
||||
'');
|
||||
|
||||
developInstalls = [ "rhodecode-vcsserver" ];
|
||||
|
||||
in enterprise-ce.override (attrs: {
|
||||
in enterprise-ce.override (attrs: rec {
|
||||
# Avoid that we dump any sources into the store when entering the shell and
|
||||
# make development a little bit more convenient.
|
||||
src = null;
|
||||
|
|
@ -90,10 +107,14 @@ in enterprise-ce.override (attrs: {
|
|||
'';
|
||||
|
||||
preShellHook = ''
|
||||
echo "Entering CE-Shell"
|
||||
echo "Entering rhodecode-ce"
|
||||
|
||||
# Custom prompt to distinguish from other dev envs.
|
||||
export PS1="\n\[\033[1;32m\][CE-shell:\w]$\[\033[0m\] "
|
||||
export PS1="\n\[\033[1;32m\][rhodecode-ce-shell:\w]$\[\033[0m\] "
|
||||
|
||||
# Set locale
|
||||
export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive"
|
||||
export LC_ALL="en_US.UTF-8"
|
||||
|
||||
echo "Building frontend assets"
|
||||
${enterprise-ce.linkNodePackages}
|
||||
|
|
@ -111,9 +132,8 @@ in enterprise-ce.override (attrs: {
|
|||
|
||||
postShellHook = ''
|
||||
echo "** Additional develop installs **"
|
||||
'' +
|
||||
pkgs.lib.strings.concatMapStrings optionalDevelopInstall developInstalls
|
||||
+ ''
|
||||
'' + pkgs.lib.strings.concatMapStrings optionalDevelopInstall developInstalls + ''
|
||||
'' + pkgs.lib.strings.concatMapStrings optionalBinDeps [ "rhodecode-vcsserver" ] + ''
|
||||
'';
|
||||
|
||||
})
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ let babelRCOptions = {
|
|||
}]
|
||||
],
|
||||
"plugins": ["transform-object-rest-spread"]
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
// Tell Webpack which file kicks off our app.
|
||||
|
|
@ -33,6 +33,7 @@ module.exports = {
|
|||
},
|
||||
// Tell Webpack which directories to look in to resolve import statements.
|
||||
// Normally Webpack will look in node_modules by default but since we’re overriding
|
||||
// the property we’ll need to tell it to look there.
|
||||
resolve: {
|
||||
modules: [
|
||||
path.resolve(__dirname, 'node_modules'),
|
||||
|
|
@ -55,8 +56,7 @@ module.exports = {
|
|||
// polymer-webpack-loader, and hand the output to
|
||||
// babel-loader. This let's us transpile JS in our `<script>` elements.
|
||||
use: [
|
||||
{loader: 'babel-loader',
|
||||
options: babelRCOptions},
|
||||
{loader: 'babel-loader', options: babelRCOptions},
|
||||
{loader: 'polymer-webpack-loader',
|
||||
options: {
|
||||
processStyleLinks: true,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue