Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-09-27 12:01:15 +00:00 committed by GitHub
commit 4b360da656
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 362 additions and 140 deletions

View file

@ -96,6 +96,11 @@ re-enter the shell.
## Updating the package set {#updating-the-package-set} ## Updating the package set {#updating-the-package-set}
There is a script and associated environment for regenerating the package
sets and synchronising the rPackages tree to the current CRAN and matching
BIOC release. These scripts are found in the `pkgs/development/r-modules`
directory and executed as follows:
```bash ```bash
nix-shell generate-shell.nix nix-shell generate-shell.nix
@ -112,12 +117,11 @@ Rscript generate-r-packages.R bioc-experiment > bioc-experiment-packages.nix.new
mv bioc-experiment-packages.nix.new bioc-experiment-packages.nix mv bioc-experiment-packages.nix.new bioc-experiment-packages.nix
``` ```
`generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefor the renaming. `generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefore
the renaming.
## Testing if the Nix-expression could be evaluated {#testing-if-the-nix-expression-could-be-evaluated} Some packages require overrides to specify external dependencies or other
patches and special requirements. These overrides are specified in the
```bash `pkgs/development/r-modules/default.nix` file. As the `*-packages.nix`
nix-build test-evaluation.nix --dry-run contents are automatically generated it should not be edited and broken
``` builds should be addressed using overrides.
If this exits fine, the expression is ok. If not, you have to edit `default.nix`

View file

@ -544,7 +544,7 @@ in
type = types.lines; type = types.lines;
default = ""; default = "";
description = " description = "
Entries for the virtual alias map, cf. man-page virtual(8). Entries for the virtual alias map, cf. man-page virtual(5).
"; ";
}; };

View file

@ -84,9 +84,13 @@ let
in in
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = "${baseName}-${version}" # name is used instead of pname to
+ optionalString javacSupport "-javac" # - not have to pass pnames as argument
+ optionalString odbcSupport "-odbc"; # - have a separate pname for erlang (main module)
name = "${baseName}"
+ optionalString javacSupport "_javac"
+ optionalString odbcSupport "_odbc"
+ "-${version}";
inherit src version; inherit src version;

View file

@ -2,7 +2,8 @@
resholve converts bare executable references in shell scripts to absolute resholve converts bare executable references in shell scripts to absolute
paths. This will hopefully make its way into the Nixpkgs manual soon, but paths. This will hopefully make its way into the Nixpkgs manual soon, but
until then I'll outline how to use the `resholvePackage` function. until then I'll outline how to use the `resholvePackage`, `resholveScript`,
and `resholveScriptBin` functions.
> Fair warning: resholve does *not* aspire to resolving all valid Shell > Fair warning: resholve does *not* aspire to resolving all valid Shell
> scripts. It depends on the OSH/Oil parser, which aims to support most (but > scripts. It depends on the OSH/Oil parser, which aims to support most (but
@ -21,7 +22,10 @@ Each "solution" (k=v pair) in this attrset describes one resholve invocation.
> - Packages with scripts that require conflicting directives can use multiple > - Packages with scripts that require conflicting directives can use multiple
> solutions to resolve the scripts separately, but produce a single package. > solutions to resolve the scripts separately, but produce a single package.
## Basic Example The `resholveScript` and `resholveScriptBin` functions support a _single_
`solution` attrset. This is basically the same as any single solution in `resholvePackage`, except that it doesn't need a `scripts` attr (it is automatically added).
## Basic `resholvePackage` Example
Here's a simple example from one of my own projects, with annotations: Here's a simple example from one of my own projects, with annotations:
<!-- <!--
@ -68,6 +72,28 @@ resholvePackage rec {
} }
``` ```
## Basic `resholveScript` and `resholveScriptBin` examples
Both of these functions have the same basic API. This example is a little
trivial for now. If you have a real usage that you find helpful, please PR it.
```nix
resholvedScript = resholveScript "name" {
inputs = [ file ];
interpreter = "${bash}/bin/bash";
} ''
echo "Hello"
file .
'';
resholvedScriptBin = resholveScriptBin "name" {
inputs = [ file ];
interpreter = "${bash}/bin/bash";
} ''
echo "Hello"
file .
'';
```
## Options ## Options
`resholvePackage` maps Nix types/idioms into the flags and environment variables `resholvePackage` maps Nix types/idioms into the flags and environment variables
@ -79,7 +105,7 @@ that the `resholve` CLI expects. Here's an overview:
| inputs | list | packages to resolve executables from | | inputs | list | packages to resolve executables from |
| interpreter | string | 'none' or abspath for shebang | | interpreter | string | 'none' or abspath for shebang |
| prologue | file | text to insert before the first code-line | | prologue | file | text to insert before the first code-line |
| epilogue | file | text to isnert after the last code-line | | epilogue | file | text to insert after the last code-line |
| flags | list | strings to pass as flags | | flags | list | strings to pass as flags |
| fake | attrset | [directives](#controlling-resolution-with-directives) | | fake | attrset | [directives](#controlling-resolution-with-directives) |
| fix | attrset | [directives](#controlling-resolution-with-directives) | | fix | attrset | [directives](#controlling-resolution-with-directives) |
@ -135,31 +161,31 @@ from the manpage, and the Nix equivalents:
```nix ```nix
# --fake 'f:setUp;tearDown builtin:setopt source:/etc/bashrc' # --fake 'f:setUp;tearDown builtin:setopt source:/etc/bashrc'
fake = { fake = {
# fake accepts the initial of valid identifier types as a CLI convienience. # fake accepts the initial of valid identifier types as a CLI convenience.
# Use full names in the Nix API. # Use full names in the Nix API.
function = [ "setUp" "tearDown" ]; function = [ "setUp" "tearDown" ];
builtin = [ "setopt" ]; builtin = [ "setopt" ];
source = [ "/etc/bashrc" ]; source = [ "/etc/bashrc" ];
}; };
# --fix 'aliases xargs:ls $GIT:gix' # --fix 'aliases $GIT:gix /bin/bash'
fix = { fix = {
# all single-word directives use `true` as value # all single-word directives use `true` as value
aliases = true; aliases = true;
xargs = [ "ls" ];
"$GIT" = [ "gix" ]; "$GIT" = [ "gix" ];
"/bin/bash";
}; };
# --keep 'which:git;ls .:$HOME $LS:exa /etc/bashrc ~/.bashrc' # --keep 'source:$HOME /etc/bashrc ~/.bashrc'
keep = { keep = {
which = [ "git" "ls" ]; source = [ "$HOME" ];
"." = [ "$HOME" ];
"$LS" = [ "exa" ];
"/etc/bashrc" = true; "/etc/bashrc" = true;
"~/.bashrc" = true; "~/.bashrc" = true;
}; };
``` ```
> **Note:** For now, at least, you'll need to reference the manpage to completely understand these examples.
## Controlling nested resolution with lore ## Controlling nested resolution with lore
Initially, resolution of commands in the arguments to command-executing Initially, resolution of commands in the arguments to command-executing
@ -177,6 +203,11 @@ some of the more common commands.
- "wrapper" lore maps shell exec wrappers to the programs they exec so - "wrapper" lore maps shell exec wrappers to the programs they exec so
that resholve can substitute an executable's verdict for its wrapper's. that resholve can substitute an executable's verdict for its wrapper's.
> **Caution:** At least when it comes to common utilities, it's best to treat
> overrides as a stopgap until they can be properly handled in resholve and/or
> binlore. Please report things you have to override and, if possible, help
> get them sorted.
There will be more mechanisms for controlling this process in the future There will be more mechanisms for controlling this process in the future
(and your reports/experiences will play a role in shaping them...) For now, (and your reports/experiences will play a role in shaping them...) For now,
the main lever is the ability to substitute your own lore. This is how you'd the main lever is the ability to substitute your own lore. This is how you'd

View file

@ -1,5 +1,5 @@
{ callPackage { callPackage
, ... , writeTextFile
}: }:
let let
@ -8,11 +8,46 @@ let
in in
rec { rec {
resholve = callPackage ./resholve.nix { resholve = callPackage ./resholve.nix {
inherit (source) rSrc; inherit (source) rSrc version;
inherit (source) version;
inherit (deps.oil) oildev; inherit (deps.oil) oildev;
}; };
resholvePackage = callPackage ./resholve-package.nix { resholve-utils = callPackage ./resholve-utils.nix {
inherit resholve; inherit resholve;
}; };
resholvePackage = callPackage ./resholve-package.nix {
inherit resholve resholve-utils;
};
resholveScript = name: partialSolution: text:
writeTextFile {
inherit name text;
executable = true;
checkPhase = ''
(
PS4=$'\x1f'"\033[33m[resholve context]\033[0m "
set -x
${resholve-utils.makeInvocation name (partialSolution // {
scripts = [ "${placeholder "out"}" ];
})}
)
${partialSolution.interpreter} -n $out
'';
};
resholveScriptBin = name: partialSolution: text:
writeTextFile rec {
inherit name text;
executable = true;
destination = "/bin/${name}";
checkPhase = ''
(
cd "$out"
PS4=$'\x1f'"\033[33m[resholve context]\033[0m "
set -x
: changing directory to $PWD
${resholve-utils.makeInvocation name (partialSolution // {
scripts = [ "bin/${name}" ];
})}
)
${partialSolution.interpreter} -n $out/bin/${name}
'';
};
} }

View file

@ -46,6 +46,11 @@ rec {
nativeBuildInputs = [ git ]; nativeBuildInputs = [ git ];
}; };
/*
Upstream isn't interested in packaging this as a library
(or accepting all of the patches we need to do so).
This creates one without disturbing upstream too much.
*/
oildev = python27Packages.buildPythonPackage rec { oildev = python27Packages.buildPythonPackage rec {
pname = "oildev-unstable"; pname = "oildev-unstable";
version = "2021-07-14"; version = "2021-07-14";
@ -61,22 +66,21 @@ rec {
It's not critical to drop most of these; the primary target is It's not critical to drop most of these; the primary target is
the vendored fork of Python-2.7.13, which is ~ 55M and over 3200 the vendored fork of Python-2.7.13, which is ~ 55M and over 3200
files, dozens of which get interpreter script patches in fixup. files, dozens of which get interpreter script patches in fixup.
Note: -f is necessary to keep it from being a pain to update
hash on rev updates. Command will fail w/o and not print hash.
*/ */
extraPostFetch = '' extraPostFetch = ''
rm -rf Python-2.7.13 benchmarks metrics py-yajl rfc gold web testdata services demo devtools cpp rm -rf Python-2.7.13 benchmarks metrics py-yajl rfc gold web testdata services demo devtools cpp
''; '';
}; };
# TODO: not sure why I'm having to set this for nix-build...
# can anyone tell if I'm doing something wrong?
SOURCE_DATE_EPOCH = 315532800;
# patch to support a python package, pass tests on macOS, etc. # patch to support a python package, pass tests on macOS, etc.
patchSrc = fetchFromGitHub { patchSrc = fetchFromGitHub {
owner = "abathur"; owner = "abathur";
repo = "nix-py-dev-oil"; repo = "nix-py-dev-oil";
rev = "v0.8.12"; rev = "v0.8.12.1";
hash = "sha256-/EvwxL201lGsioL0lIhzM8VTghe6FuVbc3PBJgY8c8E="; hash = "sha256-7JVnosdcvmVFN3h6SIeeqcJFcyFkai//fFuzi7ThNMY=";
}; };
patches = [ patches = [
"${patchSrc}/0001-add_setup_py.patch" "${patchSrc}/0001-add_setup_py.patch"
@ -102,7 +106,12 @@ rec {
patchShebangs asdl build core doctools frontend native oil_lang patchShebangs asdl build core doctools frontend native oil_lang
''; '';
# TODO: this may be obsolete? /*
We did convince oil to upstream an env for specifying
this to support a shell.nix. Would need a patch if they
later drop this support. See:
https://github.com/oilshell/oil/blob/46900310c7e4a07a6223eb6c08e4f26460aad285/doctools/cmark.py#L30-L34
*/
_NIX_SHELL_LIBCMARK = "${cmark}/lib/libcmark${stdenv.hostPlatform.extensions.sharedLibrary}"; _NIX_SHELL_LIBCMARK = "${cmark}/lib/libcmark${stdenv.hostPlatform.extensions.sharedLibrary}";
# See earlier note on glibcLocales TODO: verify needed? # See earlier note on glibcLocales TODO: verify needed?

View file

@ -1,4 +1,4 @@
{ stdenv, lib, resholve, binlore }: { stdenv, lib, resholve, resholve-utils }:
{ pname { pname
, src , src
@ -9,81 +9,11 @@
}@attrs: }@attrs:
let let
inherit stdenv; inherit stdenv;
/* These functions break up the work of partially validating the
'solutions' attrset and massaging it into env/cli args.
Note: some of the left-most args do not *have* to be passed as
deep as they are, but I've done so to provide more error context
*/
# for brevity / line length
spaces = l: builtins.concatStringsSep " " l;
semicolons = l: builtins.concatStringsSep ";" l;
/* Throw a fit with dotted attr path context */
nope = path: msg:
throw "${builtins.concatStringsSep "." path}: ${msg}";
/* Special-case directive value representations by type */
makeDirective = solution: env: name: val:
if builtins.isInt val then builtins.toString val
else if builtins.isString val then name
else if true == val then name
else if false == val then "" # omit!
else if null == val then "" # omit!
else if builtins.isList val then "${name}:${semicolons val}"
else nope [ solution env name ] "unexpected type: ${builtins.typeOf val}";
/* Build fake/fix/keep directives from Nix types */
makeDirectives = solution: env: val:
lib.mapAttrsToList (makeDirective solution env) val;
/* Special-case value representation by type/name */
makeEnvVal = solution: env: val:
if env == "inputs" then lib.makeBinPath val
else if builtins.isString val then val
else if builtins.isList val then spaces val
else if builtins.isAttrs val then spaces (makeDirectives solution env val)
else nope [ solution env ] "unexpected type: ${builtins.typeOf val}";
/* Shell-format each env value */
shellEnv = solution: env: value:
lib.escapeShellArg (makeEnvVal solution env value);
/* Build a single ENV=val pair */
makeEnv = solution: env: value:
"RESHOLVE_${lib.toUpper env}=${shellEnv solution env value}";
/* Discard attrs claimed by makeArgs */
removeCliArgs = value:
removeAttrs value [ "scripts" "flags" ];
/* Verify required arguments are present */
validateSolution = { scripts, inputs, interpreter, ... }: true;
/* Pull out specific solution keys to build ENV=val pairs */
makeEnvs = solution: value:
spaces (lib.mapAttrsToList (makeEnv solution) (removeCliArgs value));
/* Pull out specific solution keys to build CLI argstring */
makeArgs = { flags ? [ ], scripts, ... }:
spaces (flags ++ scripts);
/* Build a single resholve invocation */
makeInvocation = solution: value:
if validateSolution value then
# we pass resholve a directory
"RESHOLVE_LORE=${binlore.collect { drvs = value.inputs; } } ${makeEnvs solution value} resholve --overwrite ${makeArgs value}"
else throw "invalid solution"; # shouldn't trigger for now
/* Build resholve invocation for each solution. */
makeCommands = solutions:
lib.mapAttrsToList makeInvocation solutions;
self = (stdenv.mkDerivation ((removeAttrs attrs [ "solutions" ]) self = (stdenv.mkDerivation ((removeAttrs attrs [ "solutions" ])
// { // {
inherit pname version src; inherit pname version src;
buildInputs = [ resholve ]; buildInputs = (lib.optionals (builtins.hasAttr "buildInputs" attrs) attrs.buildInputs) ++ [ resholve ];
# enable below for verbose debug info if needed # enable below for verbose debug info if needed
# supports default python.logging levels # supports default python.logging levels
@ -99,7 +29,7 @@ let
PS4=$'\x1f'"\033[33m[resholve context]\033[0m " PS4=$'\x1f'"\033[33m[resholve context]\033[0m "
set -x set -x
: changing directory to $PWD : changing directory to $PWD
${builtins.concatStringsSep "\n" (makeCommands solutions)} ${builtins.concatStringsSep "\n" (resholve-utils.makeCommands solutions)}
) )
''; '';
})); }));

View file

@ -0,0 +1,74 @@
{ lib, resholve, binlore }:
rec {
/* These functions break up the work of partially validating the
'solutions' attrset and massaging it into env/cli args.
Note: some of the left-most args do not *have* to be passed as
deep as they are, but I've done so to provide more error context
*/
# for brevity / line length
spaces = l: builtins.concatStringsSep " " l;
semicolons = l: builtins.concatStringsSep ";" l;
/* Throw a fit with dotted attr path context */
nope = path: msg:
throw "${builtins.concatStringsSep "." path}: ${msg}";
/* Special-case directive value representations by type */
makeDirective = solution: env: name: val:
if builtins.isInt val then builtins.toString val
else if builtins.isString val then name
else if true == val then name
else if false == val then "" # omit!
else if null == val then "" # omit!
else if builtins.isList val then "${name}:${semicolons val}"
else nope [ solution env name ] "unexpected type: ${builtins.typeOf val}";
/* Build fake/fix/keep directives from Nix types */
makeDirectives = solution: env: val:
lib.mapAttrsToList (makeDirective solution env) val;
/* Special-case value representation by type/name */
makeEnvVal = solution: env: val:
if env == "inputs" then lib.makeBinPath val
else if builtins.isString val then val
else if builtins.isList val then spaces val
else if builtins.isAttrs val then spaces (makeDirectives solution env val)
else nope [ solution env ] "unexpected type: ${builtins.typeOf val}";
/* Shell-format each env value */
shellEnv = solution: env: value:
lib.escapeShellArg (makeEnvVal solution env value);
/* Build a single ENV=val pair */
makeEnv = solution: env: value:
"RESHOLVE_${lib.toUpper env}=${shellEnv solution env value}";
/* Discard attrs claimed by makeArgs */
removeCliArgs = value:
removeAttrs value [ "scripts" "flags" ];
/* Verify required arguments are present */
validateSolution = { scripts, inputs, interpreter, ... }: true;
/* Pull out specific solution keys to build ENV=val pairs */
makeEnvs = solution: value:
spaces (lib.mapAttrsToList (makeEnv solution) (removeCliArgs value));
/* Pull out specific solution keys to build CLI argstring */
makeArgs = { flags ? [ ], scripts, ... }:
spaces (flags ++ scripts);
/* Build a single resholve invocation */
makeInvocation = solution: value:
if validateSolution value then
# we pass resholve a directory
"RESHOLVE_LORE=${binlore.collect { drvs = value.inputs; } } ${makeEnvs solution value} ${resholve}/bin/resholve --overwrite ${makeArgs value}"
else throw "invalid solution"; # shouldn't trigger for now
/* Build resholve invocation for each solution. */
makeCommands = solutions:
lib.mapAttrsToList makeInvocation solutions;
}

View file

@ -3,7 +3,7 @@
}: }:
rec { rec {
version = "0.6.0"; version = "0.6.6";
rSrc = rSrc =
# local build -> `make ci`; `make clean` to restore # local build -> `make ci`; `make clean` to restore
# return to remote source # return to remote source
@ -14,6 +14,6 @@ rec {
owner = "abathur"; owner = "abathur";
repo = "resholve"; repo = "resholve";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-GfhhU9f5kiYcuYTPKWXCIkAGsz7GhAUGjAmIZ8Ww5X4="; hash = "sha256-bupf3c9tNPAEMzFEDcvg483bSiwZFuB3ZqveG89dgkE=";
}; };
} }

View file

@ -23,7 +23,7 @@
let let
inherit (callPackage ./default.nix { }) inherit (callPackage ./default.nix { })
resholve resholvePackage; resholve resholvePackage resholveScript resholveScriptBin;
# ourCoreutils = coreutils.override { singleBinary = false; }; # ourCoreutils = coreutils.override { singleBinary = false; };
@ -224,4 +224,20 @@ rec {
fi fi
''; '';
}; };
# Caution: ci.nix asserts the equality of both of these w/ diff
resholvedScript = resholveScript "resholved-script" {
inputs = [ file ];
interpreter = "${bash}/bin/bash";
} ''
echo "Hello"
file .
'';
resholvedScriptBin = resholveScriptBin "resholved-script-bin" {
inputs = [ file ];
interpreter = "${bash}/bin/bash";
} ''
echo "Hello"
file .
'';
} }

View file

@ -10,11 +10,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "fe25519"; pname = "fe25519";
version = "0.3.0"; version = "1.0.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "8819659f19b51713199a75fda5107c93fbb6e2cb4afef3164ce7932b5eb276b9"; sha256 = "sha256-947DIkmg56mAegEgLKq8iqETWf2SCvtmeDZi5cxVSJA=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -11,11 +11,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ge25519"; pname = "ge25519";
version = "0.2.0"; version = "1.0.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1wgv0vqg8iv9y5d7if14gmcgslwd5zzgk322w9jaxdfbndldddik"; sha256 = "sha256-f7xvZ92zRO3GLSdfgEyhkWVwAFT2TvKHy6+iF+k43bI=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -0,0 +1,39 @@
{ lib
, buildPythonPackage
, colorlog
, demjson
, fetchPypi
, pythonOlder
, requests
}:
buildPythonPackage rec {
pname = "lupupy";
version = "0.0.21";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "0cpamb1fp84psiqm7xr156zi4f2fv2wijbjjyk6w87z8fl2aw8xc";
};
propagatedBuildInputs = [
colorlog
demjson
requests
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "lupupy" ];
meta = with lib; {
description = "Python module to control Lupusec alarm control panels";
homepage = "https://github.com/majuss/lupupy";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -82,6 +82,17 @@ pkgs$sha256 <- parApply(cl, pkgs, 1, function(p) nixPrefetch(p[1], p[2]))
nix <- apply(pkgs, 1, function(p) formatPackage(p[1], p[2], p[18], p[4], p[5], p[6])) nix <- apply(pkgs, 1, function(p) formatPackage(p[1], p[2], p[18], p[4], p[5], p[6]))
write("done", stderr()) write("done", stderr())
# Mark deleted packages as broken
setkey(readFormatted, V2)
markBroken <- function(name) {
str <- paste0(readFormatted[name], collapse='"')
if(sum(grep("broken = true;", str)))
return(str)
write(paste("marked", name, "as broken"), stderr())
gsub("};$", "broken = true; };", str)
}
broken <- lapply(setdiff(readFormatted[[2]], pkgs[[1]]), markBroken)
cat("# This file is generated from generate-r-packages.R. DO NOT EDIT.\n") cat("# This file is generated from generate-r-packages.R. DO NOT EDIT.\n")
cat("# Execute the following command to update the file.\n") cat("# Execute the following command to update the file.\n")
cat("#\n") cat("#\n")
@ -95,6 +106,7 @@ if (mirrorType == "cran") { cat("{ snapshot = \"", paste(snapshotDate), "\"; }",
cat(";\n") cat(";\n")
cat("in with self; {\n") cat("in with self; {\n")
cat(paste(nix, collapse="\n"), "\n", sep="") cat(paste(nix, collapse="\n"), "\n", sep="")
cat(paste(broken, collapse="\n"), "\n", sep="")
cat("}\n") cat("}\n")
stopCluster(cl) stopCluster(cl)

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sigrok-cli"; pname = "sigrok-cli";
version = "0.7.1"; version = "0.7.2";
src = fetchurl { src = fetchurl {
url = "https://sigrok.org/download/source/${pname}/${pname}-${version}.tar.gz"; url = "https://sigrok.org/download/source/${pname}/${pname}-${version}.tar.gz";
sha256 = "15vpn1psriadcbl6v9swwgws7dva85ld03yv6g1mgm27kx11697m"; sha256 = "sha256-cdBEPzaJe/Vlcy3sIGgw2+oPJ4m2YBzxBTayhtEUCrg=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -1289,18 +1289,6 @@ final: prev:
meta.homepage = "https://github.com/deoplete-plugins/deoplete-dictionary/"; meta.homepage = "https://github.com/deoplete-plugins/deoplete-dictionary/";
}; };
deoplete-emoji = buildVimPluginFrom2Nix {
pname = "deoplete-emoji";
version = "2019-01-20";
src = fetchFromGitHub {
owner = "fszymanski";
repo = "deoplete-emoji";
rev = "1dfa2da6ae3ee146ddfbfdba48cf45f0c1d57d7d";
sha256 = "0drqbdmy8igq6rv7s2qlxsp391pydcynlr9gkaadzrg7pk4nlgsb";
};
meta.homepage = "https://github.com/fszymanski/deoplete-emoji/";
};
deoplete-fish = buildVimPluginFrom2Nix { deoplete-fish = buildVimPluginFrom2Nix {
pname = "deoplete-fish"; pname = "deoplete-fish";
version = "2020-04-04"; version = "2020-04-04";

View file

@ -173,7 +173,6 @@ frigoeu/psc-ide-vim
fruit-in/brainfuck-vim fruit-in/brainfuck-vim
fruit-in/vim-nong-theme fruit-in/vim-nong-theme
fsharp/vim-fsharp fsharp/vim-fsharp
fszymanski/deoplete-emoji
garbas/vim-snipmate garbas/vim-snipmate
gcmt/taboo.vim gcmt/taboo.vim
gcmt/wildfire.vim gcmt/wildfire.vim

View file

@ -0,0 +1,77 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, autoreconfHook
, python3
, perl
, libxslt
, docbook_xsl
, docbook_xml_dtd_42
, libseccomp
, installTests ? true, gnumake, which
, debugBuild ? false, libunwind
}:
stdenv.mkDerivation rec {
pname = "sydbox-1";
version = "2.2.0";
outputs = [ "out" "dev" "man" "doc" ]
++ lib.optional installTests "installedTests";
src = fetchurl {
url = "https://git.exherbo.org/${pname}.git/snapshot/${pname}-${version}.tar.xz";
sha256 = "0664myrrzbvsw73q5b7cqwgv4hl9a7vkm642s1r96gaxm16jk0z7";
};
nativeBuildInputs = [
pkg-config
autoreconfHook
python3
perl
libxslt.bin
docbook_xsl
docbook_xml_dtd_42
];
buildInputs = [
libseccomp
] ++ lib.optional debugBuild libunwind
++ lib.optionals installTests [
gnumake
python3
perl
which
];
enableParallelBuilding = true;
configureFlags = [ ]
++ lib.optionals installTests [ "--enable-installed-tests"
"--libexecdir=${placeholder "installedTests"}/libexec" ]
++ lib.optional debugBuild "--enable-debug";
makeFlags = [ "SYD_INCLUDEDIR=${stdenv.cc.libc.dev}/include" ];
doCheck = true;
checkPhase = ''
# Many of the regular test cases in t/ do not work inside the build sandbox
make -C syd check
'';
postInstall = if installTests then ''
moveToOutput bin/syd-test $installedTests
'' else ''
# Tests are installed despite --disable-installed-tests
rm -r $out/bin/syd-test $out/libexec
'';
meta = with lib; {
homepage = "https://sydbox.exherbo.org/";
description = "seccomp-based application sandbox";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ mvs ];
};
}

View file

@ -478,7 +478,7 @@
"lovelace" = ps: with ps; [ ]; "lovelace" = ps: with ps; [ ];
"luci" = ps: with ps; [ openwrt-luci-rpc ]; "luci" = ps: with ps; [ openwrt-luci-rpc ];
"luftdaten" = ps: with ps; [ luftdaten ]; "luftdaten" = ps: with ps; [ luftdaten ];
"lupusec" = ps: with ps; [ ]; # missing inputs: lupupy "lupusec" = ps: with ps; [ lupupy ];
"lutron" = ps: with ps; [ pylutron ]; "lutron" = ps: with ps; [ pylutron ];
"lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ]; "lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ];
"lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12 "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12

View file

@ -10,14 +10,14 @@ let
in in
buildGoModule rec { buildGoModule rec {
pname = "teleport"; pname = "teleport";
version = "7.1.2"; version = "7.1.3";
# This repo has a private submodule "e" which fetchgit cannot handle without failing. # This repo has a private submodule "e" which fetchgit cannot handle without failing.
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gravitational"; owner = "gravitational";
repo = "teleport"; repo = "teleport";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-1/Dmh7jTlGg3CqNZDFNIT8/OvgzkHG2m6Qs0ya4IM18="; sha256 = "sha256-upzEfImMuYU/6F5HSR3Jah3QiMXEt0XMpNAPzEYV1Nk=";
}; };
vendorSha256 = null; vendorSha256 = null;

View file

@ -2,14 +2,14 @@
buildGoModule rec { buildGoModule rec {
pname = "vikunja-api"; pname = "vikunja-api";
version = "0.18.0"; version = "0.18.1";
src = fetchFromGitea { src = fetchFromGitea {
domain = "kolaente.dev"; domain = "kolaente.dev";
owner = "vikunja"; owner = "vikunja";
repo = "api"; repo = "api";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-43y9+y5VVgbCexHPsYZ9/Up84OoPSrThHWiKR0P1h3s="; sha256 = "sha256-ngdtK8e4mLpbuY9OP1aHk99qPX/cKwnyhb/3ImTwF6M=";
}; };
nativeBuildInputs = nativeBuildInputs =
@ -24,7 +24,7 @@ buildGoModule rec {
''; '';
in [ fakeGit mage ]; in [ fakeGit mage ];
vendorSha256 = "sha256-1tXnlOlVH61Y4jN07XBfTgZhAsU2HeudiEVAtlP+Cpk="; vendorSha256 = "sha256-0MP04KpWX17Fa1WhLwF4yzIsDqGAeTUXxv81B+BTNe4=";
# checks need to be disabled because of needed internet for some checks # checks need to be disabled because of needed internet for some checks
doCheck = false; doCheck = false;

View file

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vikunja-frontend"; pname = "vikunja-frontend";
version = "0.18.0"; version = "0.18.1";
src = fetchurl { src = fetchurl {
url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip"; url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip";
sha256 = "sha256-LV7+HfXeNcVHuoo+n6fuAQoIb/m0lOs6JYYMNLM/jTA="; sha256 = "sha256-u4XA6Jqn+p2J0sB2KabwZY/lFwZakZEvUUh/enrhtN4=";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View file

@ -41,13 +41,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fcitx5"; pname = "fcitx5";
version = "5.0.8"; version = "5.0.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fcitx"; owner = "fcitx";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0czj2awvgk9apdh9rj3vcb04g8x2wp1d4sshvch31nwpqs10hssr"; sha256 = "161xgm2fs51v8l46raz6xxkjmshpgaaax64lz8208m7fcd32ll3a";
}; };
prePatch = '' prePatch = ''

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fcitx5-rime"; pname = "fcitx5-rime";
version = "5.0.6"; version = "5.0.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fcitx"; owner = "fcitx";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1r36c1pl63vka9mxa8f5x0kijapjgxzz5b4db8h87ri9kcxk7i2g"; sha256 = "1djakg17rxc38smja4y76i0p4gwdj3lgwym8kybkaspk7lxr62zy";
}; };
cmakeFlags = [ cmakeFlags = [

View file

@ -3418,6 +3418,8 @@ with pkgs;
swego = callPackage ../servers/swego { }; swego = callPackage ../servers/swego { };
sydbox = callPackage ../os-specific/linux/sydbox { };
syscall_limiter = callPackage ../os-specific/linux/syscall_limiter {}; syscall_limiter = callPackage ../os-specific/linux/syscall_limiter {};
syslogng = callPackage ../tools/system/syslog-ng { }; syslogng = callPackage ../tools/system/syslog-ng { };

View file

@ -4384,6 +4384,8 @@ in {
lupa = callPackage ../development/python-modules/lupa { }; lupa = callPackage ../development/python-modules/lupa { };
lupupy = callPackage ../development/python-modules/lupupy { };
lxml = callPackage ../development/python-modules/lxml { lxml = callPackage ../development/python-modules/lxml {
inherit (pkgs) libxml2 libxslt zlib; inherit (pkgs) libxml2 libxslt zlib;
}; };