Merge branch 'master' into staging-next
This commit is contained in:
commit
12e2b98017
|
@ -120,7 +120,7 @@ After that you can install your special grafted `myVim` or `myNeovim` packages.
|
||||||
|
|
||||||
If one of your favourite plugins isn't packaged, you can package it yourself:
|
If one of your favourite plugins isn't packaged, you can package it yourself:
|
||||||
|
|
||||||
```
|
```nix
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -154,6 +154,33 @@ in
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Specificities for some plugins
|
||||||
|
#### Tree sitter
|
||||||
|
|
||||||
|
By default `nvim-treesitter` encourages you to download, compile and install
|
||||||
|
the required tree-sitter grammars at run time with `:TSInstall`. This works
|
||||||
|
poorly on NixOS. Instead, to install the `nvim-treesitter` plugins with a set
|
||||||
|
of precompiled grammars, you can use `nvim-treesitter.withPlugins` function:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
(pkgs.neovim.override {
|
||||||
|
configure = {
|
||||||
|
packages.myPlugins = with pkgs.vimPlugins; {
|
||||||
|
start = [
|
||||||
|
(nvim-treesitter.withPlugins (
|
||||||
|
plugins: with plugins; [
|
||||||
|
tree-sitter-nix
|
||||||
|
tree-sitter-python
|
||||||
|
]
|
||||||
|
))
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
To enable all grammars packaged in nixpkgs, use `(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars))`.
|
||||||
|
|
||||||
## Managing plugins with vim-plug {#managing-plugins-with-vim-plug}
|
## Managing plugins with vim-plug {#managing-plugins-with-vim-plug}
|
||||||
|
|
||||||
To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim
|
To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim
|
||||||
|
|
36
pkgs/development/python-modules/tomli/default.nix
Normal file
36
pkgs/development/python-modules/tomli/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, flit-core
|
||||||
|
, pytestCheckHook
|
||||||
|
, python-dateutil
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "tomli";
|
||||||
|
version = "1.0.4";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "hukkin";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-ld0PsYnxVH3RbLG/NpvLDj9UhAe+QgwCQVXgGgqh8kE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ flit-core ];
|
||||||
|
|
||||||
|
checkInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
python-dateutil
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "tomli" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A Python library for parsing TOML, fully compatible with TOML v1.0.0";
|
||||||
|
homepage = "https://github.com/hukkin/tomli";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ veehaitch ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchurl
|
, fetchFromGitLab
|
||||||
|
, fetchpatch
|
||||||
, python38
|
, python38
|
||||||
, librsync
|
, librsync
|
||||||
, ncftp
|
, ncftp
|
||||||
|
@ -18,11 +19,13 @@ let
|
||||||
in
|
in
|
||||||
pythonPackages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
pname = "duplicity";
|
pname = "duplicity";
|
||||||
version = "0.8.17";
|
version = "0.8.20";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitLab {
|
||||||
url = "https://code.launchpad.net/duplicity/${majorMinor version}-series/${majorMinorPatch version}/+download/duplicity-${version}.tar.gz";
|
owner = "duplicity";
|
||||||
sha256 = "114rwkf9b3h4fcagrx013sb7krc4hafbwl9gawjph2wd9pkv2wx2";
|
repo = "duplicity";
|
||||||
|
rev = "rel.${version}";
|
||||||
|
sha256 = "13ghra0myq6h6yx8qli55bh8dg91nf1hpd8l7d7xamgrw6b188sm";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -32,6 +35,13 @@ pythonPackages.buildPythonApplication rec {
|
||||||
# Our Python infrastructure runs test in installCheckPhase so we need
|
# Our Python infrastructure runs test in installCheckPhase so we need
|
||||||
# to make the testing code stop assuming it is run from the source directory.
|
# to make the testing code stop assuming it is run from the source directory.
|
||||||
./use-installed-scripts-in-test.patch
|
./use-installed-scripts-in-test.patch
|
||||||
|
|
||||||
|
# https://gitlab.com/duplicity/duplicity/-/merge_requests/64
|
||||||
|
# remove on next release
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.com/duplicity/duplicity/-/commit/5c229a9b42f67257c747fbc0022c698fec405bbc.patch";
|
||||||
|
sha256 = "05v931rnawfv11cyxj8gykmal8rj5vq2ksdysyr2mb4sl81mi7v0";
|
||||||
|
})
|
||||||
] ++ lib.optionals stdenv.isLinux [
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
# Broken on Linux in Nix' build environment
|
# Broken on Linux in Nix' build environment
|
||||||
./linux-disable-timezone-test.patch
|
./linux-disable-timezone-test.patch
|
||||||
|
@ -39,6 +49,15 @@ pythonPackages.buildPythonApplication rec {
|
||||||
|
|
||||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
# fix version displayed by duplicity --version
|
||||||
|
# see SourceCopy in setup.py
|
||||||
|
ls
|
||||||
|
for i in bin/*.1 duplicity/__init__.py; do
|
||||||
|
substituteInPlace "$i" --replace '$version' "${version}"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeWrapper
|
makeWrapper
|
||||||
gettext
|
gettext
|
||||||
|
@ -51,7 +70,6 @@ pythonPackages.buildPythonApplication rec {
|
||||||
|
|
||||||
pythonPath = with pythonPackages; [
|
pythonPath = with pythonPackages; [
|
||||||
b2sdk
|
b2sdk
|
||||||
boto
|
|
||||||
boto3
|
boto3
|
||||||
cffi
|
cffi
|
||||||
cryptography
|
cryptography
|
||||||
|
@ -103,6 +121,9 @@ pythonPackages.buildPythonApplication rec {
|
||||||
|
|
||||||
# Don't run developer-only checks (pep8, etc.).
|
# Don't run developer-only checks (pep8, etc.).
|
||||||
export RUN_CODE_TESTS=0
|
export RUN_CODE_TESTS=0
|
||||||
|
|
||||||
|
# check version string
|
||||||
|
duplicity --version | grep ${version}
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
# Work around the following error when running tests:
|
# Work around the following error when running tests:
|
||||||
# > Max open files of 256 is too low, should be >= 1024.
|
# > Max open files of 256 is too low, should be >= 1024.
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
|
diff --git a/testing/functional/test_restart.py b/testing/functional/test_restart.py
|
||||||
|
index 6d972c82..e8435fd5 100644
|
||||||
--- a/testing/functional/test_restart.py
|
--- a/testing/functional/test_restart.py
|
||||||
+++ b/testing/functional/test_restart.py
|
+++ b/testing/functional/test_restart.py
|
||||||
@@ -323,14 +323,7 @@ class RestartTestWithoutEncryption(RestartTest):
|
@@ -350,14 +350,7 @@ class RestartTestWithoutEncryption(RestartTest):
|
||||||
https://launchpad.net/bugs/929067
|
https://launchpad.net/bugs/929067
|
||||||
"""
|
"""
|
||||||
|
|
||||||
- if platform.system().startswith(u'Linux'):
|
- if platform.system().startswith(u'Linux'):
|
||||||
- tarcmd = u"tar"
|
- tarcmd = u"tar"
|
||||||
- elif platform.system().startswith(u'Darwin'):
|
- elif platform.system().startswith(u'Darwin'):
|
||||||
|
@ -13,6 +15,6 @@
|
||||||
- else:
|
- else:
|
||||||
- raise Exception(u"Platform %s not supported by tar/gtar." % platform.platform())
|
- raise Exception(u"Platform %s not supported by tar/gtar." % platform.platform())
|
||||||
+ tarcmd = u"tar"
|
+ tarcmd = u"tar"
|
||||||
|
|
||||||
# Intial normal backup
|
# Intial normal backup
|
||||||
self.backup("full", "testfiles/blocktartest")
|
self.backup(u"full", u"{0}/testfiles/blocktartest".format(_runtest_dir))
|
||||||
|
|
|
@ -1,10 +1,16 @@
|
||||||
|
commit f0142706c377b7c133753db57b5c4c90baa2de30
|
||||||
|
Author: Guillaume Girol <symphorien+git@xlumurb.eu>
|
||||||
|
Date: Sun Jul 11 17:48:15 2021 +0200
|
||||||
|
|
||||||
|
diff --git a/testing/unit/test_statistics.py b/testing/unit/test_statistics.py
|
||||||
|
index 4be5000c..80545853 100644
|
||||||
--- a/testing/unit/test_statistics.py
|
--- a/testing/unit/test_statistics.py
|
||||||
+++ b/testing/unit/test_statistics.py
|
+++ b/testing/unit/test_statistics.py
|
||||||
@@ -59,6 +59,7 @@ class StatsObjTest(UnitTestCase):
|
@@ -63,6 +63,7 @@ class StatsObjTest(UnitTestCase):
|
||||||
s1 = StatsDeltaProcess()
|
s1 = StatsDeltaProcess()
|
||||||
assert s1.get_stat('SourceFiles') == 0
|
assert s1.get_stat(u'SourceFiles') == 0
|
||||||
|
|
||||||
+ @unittest.skip("Broken on Linux in Nix' build environment")
|
+ @unittest.skip("Broken on Linux in Nix' build environment")
|
||||||
def test_get_stats_string(self):
|
def test_get_stats_string(self):
|
||||||
"""Test conversion of stat object into string"""
|
u"""Test conversion of stat object into string"""
|
||||||
s = StatsObj()
|
s = StatsObj()
|
||||||
|
|
|
@ -1,48 +1,62 @@
|
||||||
|
commit ccd4dd92cd37acce1da20966ad9e4e0c7bcf1709
|
||||||
|
Author: Guillaume Girol <symphorien+git@xlumurb.eu>
|
||||||
|
Date: Sun Jul 11 12:00:00 2021 +0000
|
||||||
|
|
||||||
|
use installed duplicity when running tests
|
||||||
|
|
||||||
|
diff --git a/setup.py b/setup.py
|
||||||
|
index fa474f20..604a242a 100755
|
||||||
--- a/setup.py
|
--- a/setup.py
|
||||||
+++ b/setup.py
|
+++ b/setup.py
|
||||||
@@ -92,10 +92,6 @@ class TestCommand(test):
|
@@ -205,10 +205,6 @@ class TestCommand(test):
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
- os.environ[u'PATH'] = u"%s:%s" % (
|
- os.environ[u'PATH'] = u"%s:%s" % (
|
||||||
- os.path.abspath(build_scripts_cmd.build_dir),
|
- os.path.abspath(build_scripts_cmd.build_dir),
|
||||||
- os.environ.get(u'PATH'))
|
- os.environ.get(u'PATH'))
|
||||||
-
|
-
|
||||||
test.run(self)
|
test.run(self)
|
||||||
|
|
||||||
def run_tests(self):
|
|
||||||
|
diff --git a/testing/functional/__init__.py b/testing/functional/__init__.py
|
||||||
|
index 4221576d..3cf44945 100644
|
||||||
--- a/testing/functional/__init__.py
|
--- a/testing/functional/__init__.py
|
||||||
+++ b/testing/functional/__init__.py
|
+++ b/testing/functional/__init__.py
|
||||||
@@ -107,7 +107,7 @@ class FunctionalTestCase(DuplicityTestCase):
|
@@ -111,7 +111,7 @@ class FunctionalTestCase(DuplicityTestCase):
|
||||||
if basepython is not None:
|
run_coverage = os.environ.get(u'RUN_COVERAGE', None)
|
||||||
cmd_list.extend([basepython])
|
if run_coverage is not None:
|
||||||
cmd_list.extend([u"-m", u"coverage", u"run", u"--source=duplicity", u"-p"])
|
cmd_list.extend([u"-m", u"coverage", u"run", u"--source=duplicity", u"-p"])
|
||||||
- cmd_list.extend([u"../bin/duplicity"])
|
- cmd_list.extend([u"{0}/bin/duplicity".format(_top_dir)])
|
||||||
+ cmd_list.extend([u"duplicity"])
|
+ cmd_list.extend([u"duplicity"])
|
||||||
cmd_list.extend(options)
|
cmd_list.extend(options)
|
||||||
cmd_list.extend([u"-v0"])
|
cmd_list.extend([u"-v0"])
|
||||||
cmd_list.extend([u"--no-print-statistics"])
|
cmd_list.extend([u"--no-print-statistics"])
|
||||||
|
diff --git a/testing/functional/test_log.py b/testing/functional/test_log.py
|
||||||
|
index 9dfc86a6..b9cb55db 100644
|
||||||
--- a/testing/functional/test_log.py
|
--- a/testing/functional/test_log.py
|
||||||
+++ b/testing/functional/test_log.py
|
+++ b/testing/functional/test_log.py
|
||||||
@@ -47,9 +47,9 @@ class LogTest(FunctionalTestCase):
|
@@ -49,9 +49,9 @@ class LogTest(FunctionalTestCase):
|
||||||
# Run actual duplicity command (will fail, because no arguments passed)
|
# Run actual duplicity command (will fail, because no arguments passed)
|
||||||
basepython = os.environ.get(u'TOXPYTHON', None)
|
basepython = os.environ.get(u'TOXPYTHON', None)
|
||||||
if basepython is not None:
|
if basepython is not None:
|
||||||
- os.system(u"{} ../bin/duplicity --log-file={} >/dev/null 2>&1".format(basepython, self.logfile))
|
- os.system(u"{0} {1}/bin/duplicity --log-file={2} >/dev/null 2>&1".format(basepython, _top_dir, self.logfile))
|
||||||
+ os.system(u"{} duplicity --log-file={} >/dev/null 2>&1".format(basepython, self.logfile))
|
+ os.system(u"{0} duplicity --log-file={1} >/dev/null 2>&1".format(basepython, self.logfile))
|
||||||
else:
|
else:
|
||||||
- os.system(u"../bin/duplicity --log-file={} >/dev/null 2>&1".format(self.logfile))
|
- os.system(u"{0}/bin/duplicity --log-file={1} >/dev/null 2>&1".format(_top_dir, self.logfile))
|
||||||
+ os.system(u"duplicity --log-file={} >/dev/null 2>&1".format(self.logfile))
|
+ os.system(u"duplicity --log-file={0} >/dev/null 2>&1".format(self.logfile))
|
||||||
|
|
||||||
# The format of the file should be:
|
# The format of the file should be:
|
||||||
# """ERROR 2
|
# """ERROR 2
|
||||||
|
diff --git a/testing/functional/test_rdiffdir.py b/testing/functional/test_rdiffdir.py
|
||||||
|
index 0cbfdb33..47acd029 100644
|
||||||
--- a/testing/functional/test_rdiffdir.py
|
--- a/testing/functional/test_rdiffdir.py
|
||||||
+++ b/testing/functional/test_rdiffdir.py
|
+++ b/testing/functional/test_rdiffdir.py
|
||||||
@@ -42,7 +42,7 @@ class RdiffdirTest(FunctionalTestCase):
|
@@ -44,7 +44,7 @@ class RdiffdirTest(FunctionalTestCase):
|
||||||
basepython = os.environ.get(u'TOXPYTHON', None)
|
basepython = os.environ.get(u'TOXPYTHON', None)
|
||||||
if basepython is not None:
|
if basepython is not None:
|
||||||
cmd_list.extend([basepython])
|
cmd_list.extend([basepython])
|
||||||
- cmd_list.extend([u"../bin/rdiffdir"])
|
- cmd_list.extend([u"{0}/bin/rdiffdir".format(_top_dir)])
|
||||||
+ cmd_list.extend([u"rdiffdir"])
|
+ cmd_list.extend([u"rdiffdir"])
|
||||||
cmd_list.extend(argstring.split())
|
cmd_list.extend(argstring.split())
|
||||||
cmdline = u" ".join([u'"%s"' % x for x in cmd_list])
|
cmdline = u" ".join([u'"%s"' % x for x in cmd_list])
|
||||||
|
|
|
@ -8691,6 +8691,8 @@ in {
|
||||||
|
|
||||||
toml = callPackage ../development/python-modules/toml { };
|
toml = callPackage ../development/python-modules/toml { };
|
||||||
|
|
||||||
|
tomli = callPackage ../development/python-modules/tomli { };
|
||||||
|
|
||||||
tomlkit = callPackage ../development/python-modules/tomlkit { };
|
tomlkit = callPackage ../development/python-modules/tomlkit { };
|
||||||
|
|
||||||
toolz = callPackage ../development/python-modules/toolz { };
|
toolz = callPackage ../development/python-modules/toolz { };
|
||||||
|
|
Loading…
Reference in a new issue