Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2020-08-18 17:55:04 +02:00
commit 4cf394ea3f
113 changed files with 1560 additions and 703 deletions

View File

@ -538,8 +538,123 @@ buildPythonPackage rec {
``` ```
Note also the line `doCheck = false;`, we explicitly disabled running the test-suite. Note also the line `doCheck = false;`, we explicitly disabled running the test-suite.
#### Testing Python Packages
#### Develop local package It is highly encouraged to have testing as part of the package build. This
helps to avoid situations where the package was able to build and install,
but is not usable at runtime. Currently, all packages will use the `test`
command provided by the setup.py (i.e. `python setup.py test`). However,
this is currently deprecated https://github.com/pypa/setuptools/pull/1878
and your package should provide its own checkPhase.
*NOTE:* The `checkPhase` for python maps to the `installCheckPhase` on a
normal derivation. This is due to many python packages not behaving well
to the pre-installed version of the package. Version info, and natively
compiled extensions generally only exist in the install directory, and
thus can cause issues when a test suite asserts on that behavior.
*NOTE:* Tests should only be disabled if they don't agree with nix
(e.g. external dependencies, network access, flakey tests), however,
as many tests should be enabled as possible. Failing tests can still be
a good indication that the package is not in a valid state.
#### Using pytest
Pytest is the most common test runner for python repositories. A trivial
test run would be:
```
checkInputs = [ pytest ];
checkPhase = "pytest";
```
However, many repositories' test suites do not translate well to nix's build
sandbox, and will generally need many tests to be disabled.
To filter tests using pytest, one can do the following:
```
checkInputs = [ pytest ];
# avoid tests which need additional data or touch network
checkPhase = ''
pytest tests/ --ignore=tests/integration -k 'not download and not update'
'';
```
`--ignore` will tell pytest to ignore that file or directory from being
collected as part of a test run. This is useful is a file uses a package
which is not available in nixpkgs, thus skipping that test file is much
easier than having to create a new package.
`-k` is used to define a predicate for test names. In this example, we are
filtering out tests which contain `download` or `update` in their test case name.
Only one `-k` argument is allows, and thus a long predicate should be concatenated
with "\" and wrapped to the next line.
*NOTE:* In pytest==6.0.1, the use of "\" to continue a line (e.g. `-k 'not download \'`) has
been removed, in this case, it's recommended to use `pytestCheckHook`.
#### Using pytestCheckHook
`pytestCheckHook` is a convenient hook which will substitute the setuptools
`test` command for a checkPhase which runs `pytest`. This is also beneficial
when a package may need many items disabled to run the test suite.
Using the example above, the analagous pytestCheckHook usage would be:
```
checkInputs = [ pytestCheckHook ];
# requires additional data
pytestFlagsArray = [ "tests/" "--ignore=tests/integration" ];
disabledTests = [
# touches network
"download"
"update"
];
```
This is expecially useful when tests need to be conditionallydisabled,
for example:
```
disabledTests = [
# touches network
"download"
"update"
] ++ lib.optionals (pythonAtLeast "3.8") [
# broken due to python3.8 async changes
"async"
] ++ lib.optionals stdenv.isDarwin [
# can fail when building with other packages
"socket"
];
```
Trying to concatenate the related strings to disable tests in a regular checkPhase
would be much harder to read. This also enables us to comment on why specific tests
are disabled.
#### Using pythonImportsCheck
Although unit tests are highly prefered to valid correctness of a package. Not
all packages have test suites that can be ran easily, and some have none at all.
To help ensure the package still works, `pythonImportsCheck` can attempt to import
the listed modules.
```
pythonImportsCheck = [ "requests" "urllib" ];
```
roughly translates to:
```
postCheck = ''
PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
python -c "import requests; import urllib"
'';
```
However, this is done in it's own phase, and not dependent on whether `doCheck = true;`
This can also be useful in verifying that the package doesn't assume commonly
present packages (e.g. `setuptools`)
### Develop local package
As a Python developer you're likely aware of [development mode](http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode) As a Python developer you're likely aware of [development mode](http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode)
(`python setup.py develop`); instead of installing the package this command (`python setup.py develop`); instead of installing the package this command
@ -1017,7 +1132,7 @@ are used in `buildPythonPackage`.
- `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system - `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system
(e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`. (e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`.
- `pipInstallHook` to install wheels. - `pipInstallHook` to install wheels.
- `pytestCheckHook` to run tests with `pytest`. - `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `pythonCatchConflictsHook` to check whether a Python package is not already existing. - `pythonCatchConflictsHook` to check whether a Python package is not already existing.
- `pythonImportsCheckHook` to check whether importing the listed modules works. - `pythonImportsCheckHook` to check whether importing the listed modules works.
- `pythonRemoveBinBytecode` to remove bytecode from the `/bin` folder. - `pythonRemoveBinBytecode` to remove bytecode from the `/bin` folder.

View File

@ -85,6 +85,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) {
fullName = ''Beerware License''; fullName = ''Beerware License'';
}; };
blueOak100 = spdx {
spdxId = "BlueOak-1.0.0";
fullName = "Blue Oak Model License 1.0.0";
};
bsd0 = spdx { bsd0 = spdx {
spdxId = "0BSD"; spdxId = "0BSD";
fullName = "BSD Zero Clause License"; fullName = "BSD Zero Clause License";

View File

@ -115,8 +115,8 @@ rec {
checkUnmatched = checkUnmatched =
if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
let inherit (head merged.unmatchedDefns) file prefix; let firstDef = head merged.unmatchedDefns;
in throw "The option `${showOption prefix}' defined in `${file}' does not exist." in throw "The option `${showOption (prefix ++ firstDef.prefix)}' defined in `${firstDef.file}' does not exist."
else null; else null;
result = builtins.seq checkUnmatched { result = builtins.seq checkUnmatched {

View File

@ -26,6 +26,13 @@
`handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient. `handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient.
If `github` begins with a numeral, `handle` should be prefixed with an underscore.
```nix
_1example = {
github = "1example";
};
```
Add PGP/GPG keys only if you actually use them to sign commits and/or mail. Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
To get the required PGP/GPG values for a key run To get the required PGP/GPG values for a key run
@ -41,7 +48,7 @@
See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data. See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
*/ */
{ {
"0x4A6F" = { _0x4A6F = {
email = "mail-maintainer@0x4A6F.dev"; email = "mail-maintainer@0x4A6F.dev";
name = "Joachim Ernst"; name = "Joachim Ernst";
github = "0x4A6F"; github = "0x4A6F";
@ -51,7 +58,7 @@
fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D"; fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D";
}]; }];
}; };
"1000101" = { _1000101 = {
email = "b1000101@pm.me"; email = "b1000101@pm.me";
github = "1000101"; github = "1000101";
githubId = 791309; githubId = 791309;
@ -1884,7 +1891,7 @@
githubId = 4971975; githubId = 4971975;
name = "Janne Heß"; name = "Janne Heß";
}; };
"dasj19" = { dasj19 = {
email = "daniel@serbanescu.dk"; email = "daniel@serbanescu.dk";
github = "dasj19"; github = "dasj19";
githubId = 7589338; githubId = 7589338;
@ -8198,7 +8205,7 @@
githubId = 8547242; githubId = 8547242;
name = "Stefan Rohrbacher"; name = "Stefan Rohrbacher";
}; };
"thelegy" = { thelegy = {
email = "mail+nixos@0jb.de"; email = "mail+nixos@0jb.de";
github = "thelegy"; github = "thelegy";
githubId = 3105057; githubId = 3105057;

View File

@ -1,292 +0,0 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.fonts.fontconfig;
fcBool = x: "<bool>" + (boolToString x) + "</bool>";
# back-supported fontconfig version and package
# version is used for font cache generation
supportVersion = "210";
supportPkg = pkgs."fontconfig_${supportVersion}";
# latest fontconfig version and package
# version is used for configuration folder name, /etc/fonts/VERSION/
# note: format differs from supportVersion and can not be used with makeCacheConf
latestVersion = pkgs.fontconfig.configVersion;
latestPkg = pkgs.fontconfig;
# supported version fonts.conf
supportFontsConf = pkgs.makeFontsConf { fontconfig = supportPkg; fontDirectories = config.fonts.fonts; };
# configuration file to read fontconfig cache
# version dependent
# priority 0
cacheConfSupport = makeCacheConf { version = supportVersion; };
cacheConfLatest = makeCacheConf {};
# generate the font cache setting file for a fontconfig version
# use latest when no version is passed
makeCacheConf = { version ? null }:
let
fcPackage = if version == null
then "fontconfig"
else "fontconfig_${version}";
makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; };
cache = makeCache pkgs.${fcPackage};
cache32 = makeCache pkgs.pkgsi686Linux.${fcPackage};
in
pkgs.writeText "fc-00-nixos-cache.conf" ''
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Font directories -->
${concatStringsSep "\n" (map (font: "<dir>${font}</dir>") config.fonts.fonts)}
<!-- Pre-generated font caches -->
<cachedir>${cache}</cachedir>
${optionalString (pkgs.stdenv.isx86_64 && cfg.cache32Bit) ''
<cachedir>${cache32}</cachedir>
''}
</fontconfig>
'';
# local configuration file
localConf = pkgs.writeText "fc-local.conf" cfg.localConf;
# rendering settings configuration files
# priority 10
hintingConf = pkgs.writeText "fc-10-hinting.conf" ''
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Default rendering settings -->
<match target="pattern">
<edit mode="append" name="hinting">
${fcBool cfg.hinting.enable}
</edit>
<edit mode="append" name="autohint">
${fcBool cfg.hinting.autohint}
</edit>
<edit mode="append" name="hintstyle">
<const>hintslight</const>
</edit>
</match>
</fontconfig>
'';
antialiasConf = pkgs.writeText "fc-10-antialias.conf" ''
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Default rendering settings -->
<match target="pattern">
<edit mode="append" name="antialias">
${fcBool cfg.antialias}
</edit>
</match>
</fontconfig>
'';
subpixelConf = pkgs.writeText "fc-10-subpixel.conf" ''
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Default rendering settings -->
<match target="pattern">
<edit mode="append" name="rgba">
<const>${cfg.subpixel.rgba}</const>
</edit>
<edit mode="append" name="lcdfilter">
<const>lcd${cfg.subpixel.lcdfilter}</const>
</edit>
</match>
</fontconfig>
'';
dpiConf = pkgs.writeText "fc-11-dpi.conf" ''
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="pattern">
<edit name="dpi" mode="assign">
<double>${toString cfg.dpi}</double>
</edit>
</match>
</fontconfig>
'';
# default fonts configuration file
# priority 52
defaultFontsConf =
let genDefault = fonts: name:
optionalString (fonts != []) ''
<alias>
<family>${name}</family>
<prefer>
${concatStringsSep ""
(map (font: ''
<family>${font}</family>
'') fonts)}
</prefer>
</alias>
'';
in
pkgs.writeText "fc-52-nixos-default-fonts.conf" ''
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Default fonts -->
${genDefault cfg.defaultFonts.sansSerif "sans-serif"}
${genDefault cfg.defaultFonts.serif "serif"}
${genDefault cfg.defaultFonts.monospace "monospace"}
</fontconfig>
'';
# reject Type 1 fonts
# priority 53
rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" ''
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Reject Type 1 fonts -->
<selectfont>
<rejectfont>
<pattern>
<patelt name="fontformat"><string>Type 1</string></patelt>
</pattern>
</rejectfont>
</selectfont>
</fontconfig>
'';
# The configuration to be included in /etc/font/
penultimateConf = pkgs.runCommand "fontconfig-penultimate-conf" {
preferLocalBuild = true;
} ''
support_folder=$out/etc/fonts/conf.d
latest_folder=$out/etc/fonts/${latestVersion}/conf.d
mkdir -p $support_folder
mkdir -p $latest_folder
# fonts.conf
ln -s ${supportFontsConf} $support_folder/../fonts.conf
ln -s ${latestPkg.out}/etc/fonts/fonts.conf \
$latest_folder/../fonts.conf
# fontconfig-penultimate various configuration files
ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
$support_folder
ln -s ${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/*.conf \
$latest_folder
ln -s ${cacheConfSupport} $support_folder/00-nixos-cache.conf
ln -s ${cacheConfLatest} $latest_folder/00-nixos-cache.conf
rm $support_folder/10-antialias.conf $latest_folder/10-antialias.conf
ln -s ${antialiasConf} $support_folder/10-antialias.conf
ln -s ${antialiasConf} $latest_folder/10-antialias.conf
rm $support_folder/10-hinting.conf $latest_folder/10-hinting.conf
ln -s ${hintingConf} $support_folder/10-hinting.conf
ln -s ${hintingConf} $latest_folder/10-hinting.conf
${optionalString cfg.useEmbeddedBitmaps ''
rm $support_folder/10-no-embedded-bitmaps.conf
rm $latest_folder/10-no-embedded-bitmaps.conf
''}
rm $support_folder/10-subpixel.conf $latest_folder/10-subpixel.conf
ln -s ${subpixelConf} $support_folder/10-subpixel.conf
ln -s ${subpixelConf} $latest_folder/10-subpixel.conf
${optionalString (cfg.dpi != 0) ''
ln -s ${dpiConf} $support_folder/11-dpi.conf
ln -s ${dpiConf} $latest_folder/11-dpi.conf
''}
# 50-user.conf
${optionalString (!cfg.includeUserConf) ''
rm $support_folder/50-user.conf
rm $latest_folder/50-user.conf
''}
# 51-local.conf
rm $latest_folder/51-local.conf
substitute \
${pkgs.fontconfig-penultimate}/etc/fonts/conf.d/51-local.conf \
$latest_folder/51-local.conf \
--replace local.conf /etc/fonts/${latestVersion}/local.conf
# local.conf (indirect priority 51)
${optionalString (cfg.localConf != "") ''
ln -s ${localConf} $support_folder/../local.conf
ln -s ${localConf} $latest_folder/../local.conf
''}
# 52-nixos-default-fonts.conf
ln -s ${defaultFontsConf} $support_folder/52-nixos-default-fonts.conf
ln -s ${defaultFontsConf} $latest_folder/52-nixos-default-fonts.conf
# 53-no-bitmaps.conf
${optionalString cfg.allowBitmaps ''
rm $support_folder/53-no-bitmaps.conf
rm $latest_folder/53-no-bitmaps.conf
''}
${optionalString (!cfg.allowType1) ''
# 53-nixos-reject-type1.conf
ln -s ${rejectType1} $support_folder/53-nixos-reject-type1.conf
ln -s ${rejectType1} $latest_folder/53-nixos-reject-type1.conf
''}
'';
in
{
options = {
fonts = {
fontconfig = {
penultimate = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable fontconfig-penultimate settings to supplement the
NixOS defaults by providing per-font rendering defaults and
metric aliases.
'';
};
};
};
};
};
config = mkIf (config.fonts.fontconfig.enable && config.fonts.fontconfig.penultimate.enable) {
fonts.fontconfig.confPackages = [ penultimateConf ];
};
}

View File

@ -204,8 +204,10 @@ let
ln -s ${renderConf} $dst/10-nixos-rendering.conf ln -s ${renderConf} $dst/10-nixos-rendering.conf
# 50-user.conf # 50-user.conf
${optionalString (!cfg.includeUserConf) '' # Since latest fontconfig looks for default files inside the package,
rm $dst/50-user.conf # we had to move this one elsewhere to be able to exclude it here.
${optionalString cfg.includeUserConf ''
ln -s ${pkg.out}/etc/fonts/conf.d.bak/50-user.conf $dst/50-user.conf
''} ''}
# local.conf (indirect priority 51) # local.conf (indirect priority 51)
@ -455,7 +457,7 @@ in
environment.systemPackages = [ pkgs.fontconfig ]; environment.systemPackages = [ pkgs.fontconfig ];
environment.etc.fonts.source = "${fontconfigEtc}/etc/fonts/"; environment.etc.fonts.source = "${fontconfigEtc}/etc/fonts/";
}) })
(mkIf (cfg.enable && !cfg.penultimate.enable) { (mkIf cfg.enable {
fonts.fontconfig.confPackages = [ confPkg ]; fonts.fontconfig.confPackages = [ confPkg ];
}) })
]; ];

View File

@ -1,7 +1,6 @@
[ [
./config/debug-info.nix ./config/debug-info.nix
./config/fonts/fontconfig.nix ./config/fonts/fontconfig.nix
./config/fonts/fontconfig-penultimate.nix
./config/fonts/fontdir.nix ./config/fonts/fontdir.nix
./config/fonts/fonts.nix ./config/fonts/fonts.nix
./config/fonts/ghostscript.nix ./config/fonts/ghostscript.nix
@ -866,6 +865,7 @@
./services/web-apps/moinmoin.nix ./services/web-apps/moinmoin.nix
./services/web-apps/restya-board.nix ./services/web-apps/restya-board.nix
./services/web-apps/sogo.nix ./services/web-apps/sogo.nix
./services/web-apps/rss-bridge.nix
./services/web-apps/tt-rss.nix ./services/web-apps/tt-rss.nix
./services/web-apps/trac.nix ./services/web-apps/trac.nix
./services/web-apps/trilium.nix ./services/web-apps/trilium.nix

View File

@ -17,6 +17,7 @@ with lib;
(mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]) (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
# Completely removed modules # Completely removed modules
(mkRemovedOptionModule [ "fonts" "fontconfig" "penultimate" ] "The corresponding package has removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "chronos" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "firefox" "syncserver" "user" ] "") (mkRemovedOptionModule [ "services" "firefox" "syncserver" "user" ] "")
(mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "") (mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "")

View File

@ -256,6 +256,6 @@ in
}; };
meta.maintainers = with maintainers; [ maintainers."1000101" ]; meta.maintainers = with maintainers; [ _1000101 ];
} }

View File

@ -270,6 +270,6 @@ in
nameValuePair "${cfg.group}" { })) eachBlockbook; nameValuePair "${cfg.group}" { })) eachBlockbook;
}; };
meta.maintainers = with maintainers; [ maintainers."1000101" ]; meta.maintainers = with maintainers; [ _1000101 ];
} }

View File

@ -108,7 +108,6 @@ in
}; };
}; };
meta.maintainers = with maintainers; [ maintainers."1000101" ]; meta.maintainers = with maintainers; [ _1000101 ];
} }

View File

@ -90,7 +90,7 @@ in
config = mkIf cfg.enable ( config = mkIf cfg.enable (
mkMerge [ mkMerge [
{ {
meta.maintainers = [ lib.maintainers."0x4A6F" ]; meta.maintainers = with lib.maintainers; [ _0x4A6F ];
systemd.services.xandikos = { systemd.services.xandikos = {
description = "A Simple Calendar and Contact Server"; description = "A Simple Calendar and Contact Server";

View File

@ -11,6 +11,7 @@ let
settingsDir = ".config/transmission-daemon"; settingsDir = ".config/transmission-daemon";
downloadsDir = "Downloads"; downloadsDir = "Downloads";
incompleteDir = ".incomplete"; incompleteDir = ".incomplete";
watchDir = "watchdir";
# TODO: switch to configGen.json once RFC0042 is implemented # TODO: switch to configGen.json once RFC0042 is implemented
settingsFile = pkgs.writeText "settings.json" (builtins.toJSON cfg.settings); settingsFile = pkgs.writeText "settings.json" (builtins.toJSON cfg.settings);
in in
@ -35,6 +36,8 @@ in
download-dir = "${cfg.home}/${downloadsDir}"; download-dir = "${cfg.home}/${downloadsDir}";
incomplete-dir = "${cfg.home}/${incompleteDir}"; incomplete-dir = "${cfg.home}/${incompleteDir}";
incomplete-dir-enabled = true; incomplete-dir-enabled = true;
watch-dir = "${cfg.home}/${watchDir}";
watch-dir-enabled = false;
message-level = 1; message-level = 1;
peer-port = 51413; peer-port = 51413;
peer-port-random-high = 65535; peer-port-random-high = 65535;
@ -161,6 +164,9 @@ in
{ assertion = types.path.check cfg.settings.incomplete-dir; { assertion = types.path.check cfg.settings.incomplete-dir;
message = "`services.transmission.settings.incomplete-dir' must be an absolute path."; message = "`services.transmission.settings.incomplete-dir' must be an absolute path.";
} }
{ assertion = types.path.check cfg.settings.watch-dir;
message = "`services.transmission.settings.watch-dir' must be an absolute path.";
}
{ assertion = cfg.settings.script-torrent-done-filename == "" || types.path.check cfg.settings.script-torrent-done-filename; { assertion = cfg.settings.script-torrent-done-filename == "" || types.path.check cfg.settings.script-torrent-done-filename;
message = "`services.transmission.settings.script-torrent-done-filename' must be an absolute path."; message = "`services.transmission.settings.script-torrent-done-filename' must be an absolute path.";
} }
@ -220,14 +226,16 @@ in
cfg.settings.download-dir cfg.settings.download-dir
] ++ ] ++
optional cfg.settings.incomplete-dir-enabled optional cfg.settings.incomplete-dir-enabled
cfg.settings.incomplete-dir; cfg.settings.incomplete-dir
++
optional cfg.settings.watch-dir-enabled
cfg.settings.watch-dir
;
BindReadOnlyPaths = [ BindReadOnlyPaths = [
# No confinement done of /nix/store here like in systemd-confinement.nix, # No confinement done of /nix/store here like in systemd-confinement.nix,
# an AppArmor profile is provided to get a confinement based upon paths and rights. # an AppArmor profile is provided to get a confinement based upon paths and rights.
builtins.storeDir builtins.storeDir
"-/etc/hosts" "/etc"
"-/etc/ld-nix.so.preload"
"-/etc/localtime"
] ++ ] ++
optional (cfg.settings.script-torrent-done-enabled && optional (cfg.settings.script-torrent-done-enabled &&
cfg.settings.script-torrent-done-filename != "") cfg.settings.script-torrent-done-filename != "")
@ -410,11 +418,17 @@ in
${optionalString cfg.settings.incomplete-dir-enabled '' ${optionalString cfg.settings.incomplete-dir-enabled ''
rw ${cfg.settings.incomplete-dir}/**, rw ${cfg.settings.incomplete-dir}/**,
''} ''}
${optionalString cfg.settings.watch-dir-enabled ''
rw ${cfg.settings.watch-dir}/**,
''}
profile dirs { profile dirs {
rw ${cfg.settings.download-dir}/**, rw ${cfg.settings.download-dir}/**,
${optionalString cfg.settings.incomplete-dir-enabled '' ${optionalString cfg.settings.incomplete-dir-enabled ''
rw ${cfg.settings.incomplete-dir}/**, rw ${cfg.settings.incomplete-dir}/**,
''} ''}
${optionalString cfg.settings.watch-dir-enabled ''
rw ${cfg.settings.watch-dir}/**,
''}
} }
${optionalString (cfg.settings.script-torrent-done-enabled && ${optionalString (cfg.settings.script-torrent-done-enabled &&

View File

@ -383,6 +383,6 @@ in
}; };
}; };
meta.maintainers = with maintainers; [ maintainers."1000101" ]; meta.maintainers = with maintainers; [ _1000101 ];
} }

View File

@ -0,0 +1,127 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.rss-bridge;
poolName = "rss-bridge";
whitelist = pkgs.writeText "rss-bridge_whitelist.txt"
(concatStringsSep "\n" cfg.whitelist);
in
{
options = {
services.rss-bridge = {
enable = mkEnableOption "rss-bridge";
user = mkOption {
type = types.str;
default = "nginx";
example = "nginx";
description = ''
User account under which both the service and the web-application run.
'';
};
group = mkOption {
type = types.str;
default = "nginx";
example = "nginx";
description = ''
Group under which the web-application run.
'';
};
pool = mkOption {
type = types.str;
default = poolName;
description = ''
Name of existing phpfpm pool that is used to run web-application.
If not specified a pool will be created automatically with
default values.
'';
};
dataDir = mkOption {
type = types.str;
default = "/var/lib/rss-bridge";
description = ''
Location in which cache directory will be created.
You can put <literal>config.ini.php</literal> in here.
'';
};
virtualHost = mkOption {
type = types.nullOr types.str;
default = "rss-bridge";
description = ''
Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
'';
};
whitelist = mkOption {
type = types.listOf types.str;
default = [];
example = options.literalExample ''
[
"Facebook"
"Instagram"
"Twitter"
]
'';
description = ''
List of bridges to be whitelisted.
If the list is empty, rss-bridge will use whitelist.default.txt.
Use <literal>[ "*" ]</literal> to whitelist all.
'';
};
};
};
config = mkIf cfg.enable {
services.phpfpm.pools = mkIf (cfg.pool == poolName) {
${poolName} = {
user = cfg.user;
settings = mapAttrs (name: mkDefault) {
"listen.owner" = cfg.user;
"listen.group" = cfg.user;
"listen.mode" = "0600";
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 10;
"pm.min_spare_servers" = 5;
"pm.max_spare_servers" = 20;
"pm.max_requests" = 500;
"catch_workers_output" = 1;
};
};
};
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}/cache' 0750 ${cfg.user} ${cfg.group} - -"
(mkIf (cfg.whitelist != []) "L+ ${cfg.dataDir}/whitelist.txt - - - - ${whitelist}")
"z '${cfg.dataDir}/config.ini.php' 0750 ${cfg.user} ${cfg.group} - -"
];
services.nginx = mkIf (cfg.virtualHost != null) {
enable = true;
virtualHosts = {
${cfg.virtualHost} = {
root = "${pkgs.rss-bridge}";
locations."/" = {
tryFiles = "$uri /index.php$is_args$args";
};
locations."~ ^/index.php(/|$)" = {
extraConfig = ''
include ${pkgs.nginx}/conf/fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.socket};
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param RSSBRIDGE_DATA ${cfg.dataDir};
'';
};
};
};
};
};
}

View File

@ -1,22 +1,13 @@
# This module allows the test driver to connect to the virtual machine # This module allows the test driver to connect to the virtual machine
# via a root shell attached to port 514. # via a root shell attached to port 514.
{ config, lib, pkgs, ... }: { options, config, lib, pkgs, ... }:
with lib; with lib;
with import ../../lib/qemu-flags.nix { inherit pkgs; }; with import ../../lib/qemu-flags.nix { inherit pkgs; };
{ {
# This option is a dummy that if used in conjunction with
# modules/virtualisation/qemu-vm.nix gets merged with the same option defined
# there and only is declared here because some modules use
# test-instrumentation.nix but not qemu-vm.nix.
#
# One particular example are the boot tests where we want instrumentation
# within the images but not other stuff like setting up 9p filesystems.
options.virtualisation.qemu = { };
config = { config = {
systemd.services.backdoor = systemd.services.backdoor =

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "bitcoind"; name = "bitcoind";
meta = with pkgs.stdenv.lib; { meta = with pkgs.stdenv.lib; {
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
machine = { ... }: { machine = { ... }: {

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "blockbook-frontend"; name = "blockbook-frontend";
meta = with pkgs.stdenv.lib; { meta = with pkgs.stdenv.lib; {
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
machine = { ... }: { machine = { ... }: {

View File

@ -33,7 +33,7 @@ let
in { in {
name = "dokuwiki"; name = "dokuwiki";
meta = with pkgs.stdenv.lib; { meta = with pkgs.stdenv.lib; {
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
machine = { ... }: { machine = { ... }: {
services.dokuwiki."site1.local" = { services.dokuwiki."site1.local" = {

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "trezord"; name = "trezord";
meta = with pkgs.stdenv.lib; { meta = with pkgs.stdenv.lib; {
maintainers = with maintainers; [ mmahut maintainers."1000101" ]; maintainers = with maintainers; [ mmahut _1000101 ];
}; };
nodes = { nodes = {
machine = { ... }: { machine = { ... }: {

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "trickster"; name = "trickster";
meta = with pkgs.stdenv.lib; { meta = with pkgs.stdenv.lib; {
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
nodes = { nodes = {

View File

@ -4,7 +4,7 @@ import ./make-test-python.nix (
{ {
name = "xandikos"; name = "xandikos";
meta.maintainers = [ lib.maintainers."0x4A6F" ]; meta.maintainers = with lib.maintainers; [ _0x4A6F ];
nodes = { nodes = {
xandikos_client = {}; xandikos_client = {};

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }:
stdenv.mkDerivation rec {
pname = "bchoppr";
version = "1.6.4";
src = fetchFromGitHub {
owner = "sjaehn";
repo = pname;
rev = "${version}";
sha256 = "16b0sg7q2b8l4y4bp5s3yzsj9j6jayjy2mlvqkby6l7hcgjcj493";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cairo libX11 lv2 ];
installFlags = [ "PREFIX=$(out)" ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = https://github.com/sjaehn/BChoppr;
description = "An audio stream chopping LV2 plugin";
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }:
stdenv.mkDerivation rec {
pname = "bschaffl";
version = "0.3";
src = fetchFromGitHub {
owner = "sjaehn";
repo = pname;
rev = version;
sha256 = "1pcch7j1wgsb77mjy58hl3z43p83dv0vcmyh129m9k216b09gy29";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cairo libX11 lv2 ];
installFlags = [ "PREFIX=$(out)" ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = "https://github.com/sjaehn/BSchaffl";
description = "Pattern-controlled MIDI amp & time stretch LV2 plugin";
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "BSlizr"; pname = "BSlizr";
version = "1.2.6"; version = "1.2.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sjaehn"; owner = "sjaehn";
repo = pname; repo = pname;
rev = "${version}"; rev = "${version}";
sha256 = "1l0znwvvqd2s24c652q54pkizlh86mvmr8h0qqp9xma0i575fcrh"; sha256 = "1f7xrljvsy7a1p8c7wln2zhwarl3ara7gbjxkpyh47wfdpigpdb0";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, autoconf, automake, pkg-config, fftwFloat, libjack2, libsigcxx, libxml2, wxGTK }:
stdenv.mkDerivation rec {
pname = "freqtweak";
version = "unstable-2019-08-03";
src = fetchFromGitHub {
owner = "essej";
repo = pname;
rev = "d4205337558d36657a4ee6b3afb29358aa18c0fd";
sha256 = "10cq27mdgrrc54a40al9ahi0wqd0p2c1wxbdg518q8pzfxaxs5fi";
};
nativeBuildInputs = [ autoconf automake pkg-config ];
buildInputs = [ fftwFloat libjack2 libsigcxx libxml2 wxGTK ];
preConfigure = ''
sh autogen.sh
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://essej.net/freqtweak/;
description = "Realtime audio frequency spectral manipulation";
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
license = licenses.gpl2Plus;
};
}

View File

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitLab, cmake, pkg-config, redkite, libsndfile, rapidjson, libjack2, lv2, libX11, cairo }:
stdenv.mkDerivation rec {
pname = "geonkick";
version = "2.3.3";
src = fetchFromGitLab {
owner = "iurie-sw";
repo = pname;
rev = "v${version}";
sha256 = "0h1abb6q2bmi01a3v37adkc4zc03j47jpvffz8p2lpp33xhljghs";
};
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ redkite libsndfile rapidjson libjack2 lv2 libX11 cairo ];
cmakeFlags = [ "-DGKICK_REDKITE_SDK_PATH=${redkite}" ];
meta = {
homepage = "https://gitlab.com/iurie-sw/geonkick";
description = "A free software percussion synthesizer";
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
};
}

View File

@ -0,0 +1,47 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, alsaLib
, libpulseaudio
, gtk2
, hicolor-icon-theme
, libsndfile
, fftw
}:
stdenv.mkDerivation rec {
pname = "gwc";
version = "0.22-04";
src = fetchFromGitHub {
owner = "AlisterH";
repo = pname;
rev = version;
sha256 = "0xvfra32dchnnyf9kj5s5xmqhln8jdrc9f0040hjr2dsb58y206p";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
alsaLib
libpulseaudio
gtk2
hicolor-icon-theme
libsndfile
fftw
];
enableParallelBuilding = false; # Fails to generate machine.h in time.
meta = with stdenv.lib; {
description = "GUI application for removing noise (hiss, pops and clicks) from audio files";
homepage = "https://github.com/AlisterH/gwc/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ magnetophon ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, faust, meson, ninja, pkg-config
, boost, cairo, fftw, gnome3, ladspa-sdk, libxcb, lv2, xcbutilwm
, zita-convolver, zita-resampler
}:
stdenv.mkDerivation rec {
pname = "kapitonov-plugins-pack";
version = "1.2.1";
src = fetchFromGitHub {
owner = "olegkapitonov";
repo = pname;
rev = version;
sha256 = "1mxi7b1vrzg25x85lqk8c77iziqrqyz18mqkfjlz09sxp5wfs9w4";
};
nativeBuildInputs = [
faust
meson
ninja
pkg-config
];
buildInputs = [
boost
cairo
fftw
ladspa-sdk
libxcb
lv2
xcbutilwm
zita-convolver
zita-resampler
];
meta = with stdenv.lib; {
description = "Set of LADSPA and LV2 plugins for guitar sound processing";
homepage = https://github.com/olegkapitonov/Kapitonov-Plugins-Pack;
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ magnetophon ];
};
}

View File

@ -0,0 +1,67 @@
{ stdenv
, fetchFromGitHub
, pkg-config
, python3
, fftw
, libGL
, libX11
, libjack2
, liblo
, lv2
}:
stdenv.mkDerivation rec {
# this is what upstream calls the package, see:
# https://github.com/ryukau/LV2Plugins#uhhyou-plugins-lv2
pname = "uhhyou.lv2";
version = "unstable-2020-07-31";
src = fetchFromGitHub {
owner = "ryukau";
repo = "LV2Plugins";
rev = "6189be67acaeb95452f8adab73a731d94a7b6f47";
fetchSubmodules = true;
sha256 = "049gigx2s89z8vf17gscs00c150lmcdwya311nbrwa18fz4bx242";
};
nativeBuildInputs = [ pkg-config python3 ];
buildInputs = [ fftw libGL libX11 libjack2 liblo lv2 ];
makeFlags = [ "PREFIX=$(out)" ];
prePatch = ''
patchShebangs generate-ttl.sh
cp patch/NanoVG.cpp lib/DPF/dgl/src/NanoVG.cpp
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Audio plugins for Linux";
longDescription = ''
Plugin List:
- CubicPadSynth
- EnvelopedSine
- EsPhaser
- FDNCymbal
- FoldShaper
- IterativeSinCluster
- L3Reverb
- L4Reverb
- LatticeReverb
- LightPadSynth
- ModuloShaper
- OddPowShaper
- SevenDelay
- SoftClipper
- SyncSawSynth
- TrapezoidSynth
- WaveCymbal
'';
homepage = "https://github.com/ryukau/LV2Plugins/";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.magnetophon ];
};
}

View File

@ -20,6 +20,14 @@ let
)); ));
pyEnv = python.withPackages(ps: [ ps.pynvim ps.msgpack ]); pyEnv = python.withPackages(ps: [ ps.pynvim ps.msgpack ]);
# FIXME: this is verry messy and strange.
# see https://github.com/NixOS/nixpkgs/pull/80528
luv = lua.pkgs.luv;
luvpath = with builtins ; if stdenv.isDarwin
then "${luv.libluv}/lib/lua/${lua.luaversion}/libluv.${head (match "([0-9.]+).*" luv.version)}.dylib"
else "${luv}/lib/lua/${lua.luaversion}/luv.so";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "neovim-unwrapped"; pname = "neovim-unwrapped";
@ -47,7 +55,7 @@ in
libtermkey libtermkey
libuv libuv
libvterm-neovim libvterm-neovim
lua.pkgs.luv.libluv luv.libluv
msgpack msgpack
ncurses ncurses
neovimLuaEnv neovimLuaEnv
@ -88,10 +96,8 @@ in
cmakeFlags = [ cmakeFlags = [
"-DGPERF_PRG=${gperf}/bin/gperf" "-DGPERF_PRG=${gperf}/bin/gperf"
"-DLUA_PRG=${neovimLuaEnv.interpreter}" "-DLUA_PRG=${neovimLuaEnv.interpreter}"
"-DLIBLUV_LIBRARY=${luvpath}"
] ]
# FIXME: this is verry messy and strange.
++ optional (!stdenv.isDarwin) "-DLIBLUV_LIBRARY=${lua.pkgs.luv}/lib/lua/${lua.luaversion}/luv.so"
++ optional (stdenv.isDarwin) "-DLIBLUV_LIBRARY=${lua.pkgs.luv.libluv}/lib/lua/${lua.luaversion}/libluv.dylib"
++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted" ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON" ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
; ;

View File

@ -131,6 +131,21 @@ in stdenv.mkDerivation rec {
gegl gegl
]; ];
configureFlags = [
"--without-webkit" # old version is required
"--disable-check-update"
"--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
"--with-icc-directory=/run/current-system/sw/share/color/icc"
# fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
"--libdir=\${exec_prefix}/lib"
];
enableParallelBuilding = true;
# on Darwin,
# test-eevl.c:64:36: error: initializer element is not a compile-time constant
doCheck = !stdenv.isDarwin;
# Check if librsvg was built with --disable-pixbuf-loader. # Check if librsvg was built with --disable-pixbuf-loader.
PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}"; PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}";
@ -155,21 +170,6 @@ in stdenv.mkDerivation rec {
gtk = gtk2; gtk = gtk2;
}; };
configureFlags = [
"--without-webkit" # old version is required
"--disable-check-update"
"--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
"--with-icc-directory=/run/current-system/sw/share/color/icc"
# fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
"--libdir=\${exec_prefix}/lib"
];
# on Darwin,
# test-eevl.c:64:36: error: initializer element is not a compile-time constant
doCheck = !stdenv.isDarwin;
enableParallelBuilding = true;
meta = with lib; { meta = with lib; {
description = "The GNU Image Manipulation Program"; description = "The GNU Image Manipulation Program";
homepage = "https://www.gimp.org/"; homepage = "https://www.gimp.org/";

View File

@ -1,43 +0,0 @@
{ stdenv, fetchFromGitHub
, espeak, alsaLib, perl
, python }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "direwolf";
version = "1.4";
src = fetchFromGitHub {
owner = "wb2osz";
repo = "direwolf";
rev = version;
sha256 = "033sffjs2dz48077hc58jr4lxxs8md1fyfh4lig6ib7pyigiv1y0";
};
buildInputs = [
espeak perl python
] ++ (optional stdenv.isLinux alsaLib);
postPatch = ''
for i in Makefile.*; do
substituteInPlace "$i" \
--replace /usr/share $out/share
done
substituteInPlace dwespeak.sh \
--replace espeak ${espeak}/bin/espeak
'';
preInstall = ''
mkdir -p $out/bin
'';
installFlags = [ "INSTALLDIR=$(out)" ];
meta = {
description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway";
homepage = "https://github.com/wb2osz/direwolf/";
license = licenses.gpl2;
platforms = platforms.unix;
};
}

View File

@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
description = "Multi-platform software designed to extract pages, split, merge, mix and rotate PDF files"; description = "Multi-platform software designed to extract pages, split, merge, mix and rotate PDF files";
license = licenses.agpl3; license = licenses.agpl3;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
} }

View File

@ -2,7 +2,7 @@
"name": "element-desktop", "name": "element-desktop",
"productName": "Element", "productName": "Element",
"main": "src/electron-main.js", "main": "src/electron-main.js",
"version": "1.7.3", "version": "1.7.4",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "Element", "author": "Element",
"repository": { "repository": {
@ -61,7 +61,7 @@
}, },
"build": { "build": {
"appId": "im.riot.app", "appId": "im.riot.app",
"electronVersion": "9.0.5", "electronVersion": "9.1.2",
"files": [ "files": [
"package.json", "package.json",
{ {

View File

@ -8,12 +8,12 @@
let let
executableName = "element-desktop"; executableName = "element-desktop";
version = "1.7.3"; version = "1.7.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vector-im"; owner = "vector-im";
repo = "riot-desktop"; repo = "riot-desktop";
rev = "v${version}"; rev = "v${version}";
sha256 = "1qr00g2a8dibnkxn4pv9qkv09wwalfbgi2jq4wkq66anbgj9f39g"; sha256 = "16ilkf5b8mz74x1r9fym5xjb4plxzhg3g5njj1sl4qvsbrkk6r9a";
}; };
electron = electron_9; electron = electron_9;

View File

@ -12,11 +12,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "element-web"; pname = "element-web";
version = "1.7.3"; version = "1.7.4";
src = fetchurl { src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz"; url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
sha256 = "0vlh89kilnpg90kdxlikfak03zdwhwj754xskgb27jal0iaw0r8s"; sha256 = "0ssyd5b9yrxidivr3rcjsd8ixkmppsmmr7a8k0sv16yk7hjnvz5b";
}; };
installPhase = '' installPhase = ''

View File

@ -44,7 +44,7 @@ rustPlatform.buildRustPackage rec {
description = "Experimental terminal mail client aiming for configurability and extensibility with sane defaults"; description = "Experimental terminal mail client aiming for configurability and extensibility with sane defaults";
homepage = "https://meli.delivery"; homepage = "https://meli.delivery";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ maintainers."0x4A6F" matthiasbeyer erictapen ]; maintainers = with maintainers; [ _0x4A6F matthiasbeyer erictapen ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,36 +0,0 @@
{ lib, fetchFromGitHub, python3Packages, openvpn, dialog, iptables }:
python3Packages.buildPythonApplication rec {
pname = "protonvpn-cli-ng";
version = "2.2.4";
src = fetchFromGitHub {
owner = "protonvpn";
repo = "${pname}";
rev = "v${version}";
sha256 = "08yca0a0prrnrc7ir7ajd56yxvxpcs4m1k8f5kf273f5whgr7wzw";
};
propagatedBuildInputs = (with python3Packages; [
requests
docopt
setuptools
jinja2
pythondialog
]) ++ [
dialog
openvpn
iptables
];
# No tests
doCheck = false;
meta = with lib; {
description = "Linux command-line client for ProtonVPN";
homepage = "https://github.com/protonvpn/protonvpn-cli-ng";
maintainers = with maintainers; [ jtcoolen jefflabonte ];
license = licenses.gpl3;
platforms = platforms.unix;
};
}

View File

@ -1,43 +1,36 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils { lib, fetchFromGitHub, python3Packages, openvpn, dialog, iptables }:
, openvpn, python, dialog, wget, update-resolv-conf }:
let python3Packages.buildPythonApplication rec {
expectedUpdateResolvPath = "/etc/openvpn/update-resolv-conf"; pname = "protonvpn-linux-cli";
actualUpdateResolvePath = "${update-resolv-conf}/libexec/openvpn/update-resolv-conf"; version = "2.2.4";
in stdenv.mkDerivation rec {
name = "protonvpn-cli";
version = "1.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ProtonVPN"; owner = "protonvpn";
repo = "protonvpn-cli"; repo = "linux-cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "0xvflr8zf267n3dv63nkk4wjxhbckw56sqmyca3krf410vrd7zlv"; sha256 = "08yca0a0prrnrc7ir7ajd56yxvxpcs4m1k8f5kf273f5whgr7wzw";
}; };
nativeBuildInputs = [ makeWrapper ]; propagatedBuildInputs = (with python3Packages; [
requests
docopt
setuptools
jinja2
pythondialog
]) ++ [
dialog
openvpn
iptables
];
installPhase = '' # No tests
mkdir -p "$out/bin" doCheck = false;
substituteInPlace protonvpn-cli.sh \
--replace ${expectedUpdateResolvPath} ${actualUpdateResolvePath} \
--replace \$UID 0 \
--replace /etc/resolv.conf /dev/null \
--replace \
" echo \"Connecting...\"" \
" sed -ri 's@${expectedUpdateResolvPath}@${actualUpdateResolvePath}@g' \"\$openvpn_config\"; echo \"Connecting...\""
cp protonvpn-cli.sh "$out/bin/protonvpn-cli"
wrapProgram $out/bin/protonvpn-cli \
--prefix PATH : ${lib.makeBinPath [ coreutils openvpn python dialog wget update-resolv-conf ]}
ln -s "$out/bin/protonvpn-cli" "$out/bin/pvpn"
'';
meta = with stdenv.lib; { meta = with lib; {
description = "ProtonVPN Command-Line Tool"; description = "Linux command-line client for ProtonVPN";
homepage = "https://github.com/ProtonVPN/protonvpn-cli"; homepage = "https://github.com/protonvpn/linux-cli";
maintainers = with maintainers; [ caugner ]; maintainers = with maintainers; [ jtcoolen jefflabonte ];
license = licenses.mit; license = licenses.gpl3;
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -0,0 +1,86 @@
{ lib, fetchFromGitHub, makeDesktopItem, makeWrapper, imagemagick
, python3Packages, wrapGAppsHook, protonvpn-cli, gtk3, pango
, gobject-introspection, libnotify, libappindicator-gtk3
, procps, openvpn }:
let
extraPath = lib.makeBinPath [ procps openvpn ];
in python3Packages.buildPythonApplication rec {
pname = "protonvpn-linux-gui";
version = "2.1.1";
src = fetchFromGitHub {
owner = "protonvpn";
repo = "linux-gui";
rev = "v${version}";
sha256 = "avo5/2eq53HSHCnnjtxrsmpURtHvxmLZn2BxActImGY=";
};
desktopItem = makeDesktopItem {
name = "ProtonVPN";
desktopName = "ProtonVPN GUI";
type = "Application";
exec = "protonvpn-gui";
icon = "protonvpn";
categories = "Network;";
terminal = "false";
};
trayDesktopItem = makeDesktopItem {
name = "ProtonVPN Tray";
desktopName = "ProtonVPN Tray";
type = "Application";
exec = "protonvpn-tray";
icon = "protonvpn";
categories = "Network;";
terminal = "false";
};
nativeBuildInputs = [ wrapGAppsHook makeWrapper imagemagick ];
propagatedBuildInputs = (with python3Packages; [
pygobject3
pycairo
requests
configparser
]) ++ [
protonvpn-cli
gtk3
gobject-introspection
libnotify
libappindicator-gtk3
];
prePatch = ''
# if pkexec is used, we want to have more time to enter password
substituteInPlace linux_gui/services/login_service.py --replace 'timeout=8' 'timeout=30'
'';
postInstall = ''
# wrap binaries with extra required path
wrapProgram "$out/bin/protonvpn-tray" --prefix PATH ":" ${extraPath}
wrapProgram "$out/bin/protonvpn-gui" --prefix PATH ":" ${extraPath}
# install desktop files
mkdir -p $out/share/applications
cp "$desktopItem/share/applications/ProtonVPN.desktop" $out/share/applications/protonvpn-gui.desktop
cp "$trayDesktopItem/share/applications/ProtonVPN Tray.desktop" $out/share/applications/protonvpn-tray.desktop
# create icons
for size in 16 32 48 64 72 96 128 192 512 1024; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
convert -resize "$size"x"$size" \
linux_gui/resources/img/logo/protonvpn_logo.png \
$out/share/icons/hicolor/"$size"x"$size"/apps/protonvpn.png
done
'';
meta = with lib; {
description = "Linux GUI for ProtonVPN, written in Python.";
homepage = "https://github.com/ProtonVPN/linux-gui";
maintainers = with maintainers; [ offline ];
license = licenses.gpl3;
platforms = platforms.linux;
};
}

View File

@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
description = "Libraries required for the higher-level Qubes daemons and tools"; description = "Libraries required for the higher-level Qubes daemons and tools";
homepage = "https://qubes-os.org"; homepage = "https://qubes-os.org";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers."0x4A6F" ]; maintainers = with maintainers; [ _0x4A6F ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -0,0 +1,57 @@
{ stdenv, fetchFromGitHub
, alsaLib, espeak, glibc, gpsd
, hamlib, perl, python, udev }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "direwolf";
version = "1.5";
src = fetchFromGitHub {
owner = "wb2osz";
repo = "direwolf";
rev = version;
sha256 = "1w55dv9xqgc9mpincsj017838vmvdy972fhis3ddskyfvhhzgcsk";
};
buildInputs = [
espeak gpsd hamlib perl python
] ++ (optionals stdenv.isLinux [alsaLib udev]);
makeFlags = [ "DESTDIR=$(out)" ];
postPatch = ''
substituteInPlace symbols.c \
--replace /usr/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt \
--replace /opt/local/share/direwolf/symbols-new.txt $out/share/direwolf/symbols-new.txt
substituteInPlace decode_aprs.c \
--replace /usr/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt \
--replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt
substituteInPlace dwespeak.sh \
--replace espeak ${espeak}/bin/espeak
'' + (optionalString stdenv.isLinux ''
substituteInPlace Makefile.linux \
--replace /usr/include/pthread.h ${stdenv.glibc.dev}/include/pthread.h \
--replace /usr/include/alsa ${alsaLib.dev}/include/alsa \
--replace /usr/include/gps.h ${gpsd}/include/gps.h \
--replace /usr/include/hamlib ${hamlib}/include/hamlib \
--replace /usr/include/libudev.h ${udev.dev}/include/libudev.h \
--replace /etc/udev $out/etc/udev \
--replace 'Exec=xterm -hold -title \"Dire Wolf\" -bg white -e \"$(DESTDIR)/bin/direwolf\"' "Exec=$out/bin/direwolf" \
--replace '#Terminal=true' 'Terminal=true' \
--replace 'Path=$(HOME)' '#Path='
'');
preInstall = ''
mkdir -p $out/bin
'';
meta = {
description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway";
homepage = "https://github.com/wb2osz/direwolf/";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = with maintainers; [ lasandell ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vampire"; pname = "vampire";
version = "4.4"; version = "4.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vprover"; owner = "vprover";
repo = "vampire"; repo = "vampire";
rev = version; rev = version;
sha256 = "0v2fdfnk7l5xr5c4y54r25g1nbp4vi85zv29nbklh3r7aws3w9q1"; sha256 = "0q9gqyq96amdnhxgwjyv0r2sxakikp3jvmizgj2h0spfz643p8db";
}; };
buildInputs = [ z3 zlib ]; buildInputs = [ z3 zlib ];

View File

@ -1,53 +1,66 @@
{ lib { lib
, substituteAll , fetchFromGitLab
, buildPythonApplication # native
, fetchFromGitHub
, distutils_extra
, setuptools-git
, intltool , intltool
, pygtk
, libX11
, libXtst
, wrapGAppsHook , wrapGAppsHook
, gnome3 , file
# not native
, xorg
, gobject-introspection
, gtk3
, python3
}: }:
buildPythonApplication rec {
pname = "screenkey";
version = "0.9";
src = fetchFromGitHub { python3.pkgs.buildPythonApplication rec {
owner = "wavexx"; pname = "screenkey";
version = "1.2";
src = fetchFromGitLab {
owner = "screenkey";
repo = "screenkey"; repo = "screenkey";
rev = "screenkey-${version}"; rev = "v${version}";
sha256 = "14g7fiv9n7m03djwz1pp5034pffi87ssvss9bc1q8vq0ksn23vrw"; sha256 = "1x13n57iy2pg3h3r994q3g5nbmh2gwk3qidmmcv0g7qa89n2gwbj";
}; };
patches = [
(substituteAll {
src = ./paths.patch;
inherit libX11 libXtst;
})
];
nativeBuildInputs = [ nativeBuildInputs = [
distutils_extra python3.pkgs.distutils_extra
setuptools-git # Shouldn't be needed once https://gitlab.com/screenkey/screenkey/-/issues/122 is fixed.
intltool intltool
# We are not sure why is this needed, but without it we get "file: command
# not found" errors during build.
file
wrapGAppsHook wrapGAppsHook
# for setup hook
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
gnome3.adwaita-icon-theme gtk3
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = with python3.pkgs; [
pygtk pycairo
pygobject3
]; ];
# Prevent double wrapping because of wrapGAppsHook
dontWrapGApps = true;
# https://github.com/NixOS/nixpkgs/issues/56943
strictDeps = false;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
# screenkey does not have any tests # screenkey does not have any tests
doCheck = false; doCheck = false;
# Fix CDLL python calls for non absolute paths of xorg libraries
postPatch = ''
substituteInPlace Screenkey/xlib.py \
--replace libX11.so.6 ${lib.getLib xorg.libX11}/lib/libX11.so.6 \
--replace libXtst.so.6 ${lib.getLib xorg.libXtst}/lib/libXtst.so.6
'';
meta = with lib; { meta = with lib; {
homepage = "https://www.thregr.org/~wavexx/software/screenkey/"; homepage = "https://www.thregr.org/~wavexx/software/screenkey/";
description = "A screencast tool to display your keys inspired by Screenflick"; description = "A screencast tool to display your keys inspired by Screenflick";

View File

@ -1,20 +0,0 @@
--- a/Screenkey/xlib.py
+++ b/Screenkey/xlib.py
@@ -6,7 +6,7 @@
from ctypes import *
## base X11
-libX11 = CDLL('libX11.so.6')
+libX11 = CDLL('@libX11@/lib/libX11.so.6')
# types
Atom = c_ulong
@@ -278,7 +278,7 @@
## record extensions
-libXtst = CDLL('libXtst.so.6')
+libXtst = CDLL('@libXtst@/lib/libXtst.so.6')
# types
XPointer = String

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A lightweight and efficient window manager for X11"; description = "A lightweight and efficient window manager for X11";
homepage = "https://github.com/leahneukirchen/cwm"; homepage = "https://github.com/leahneukirchen/cwm";
maintainers = with maintainers; [ maintainers."0x4A6F" mkf ]; maintainers = with maintainers; [ _0x4A6F mkf ];
license = licenses.isc; license = licenses.isc;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -1,27 +1,30 @@
{ stdenv, lib, fetchurl, python, zip, fop }: { stdenv, lib, fetchFromGitHub, python3, pandoc }:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "bgnet"; pname = "bgnet";
version = "3.0.21"; # to be found in the Makefile
version = "3.1.2";
src = fetchurl { src = fetchFromGitHub {
url = "https://beej.us/guide/bgnet/bgnet.tgz"; owner = "beejjorgensen";
sha256 = "00ggr5prc5i3w9gaaw2sadfq6haq7lmh0vdilaxx8xz9z5znxvyv"; repo = "bgnet";
rev = "782a785a35d43c355951b8151628d7c64e4d0346";
sha256 = "19w0r3zr71ydd29amqwn8q3npgrpy5kkshyshyji2hw5hky6iy92";
}; };
buildInputs = [ python zip fop ]; buildPhase = ''
preBuild = ''
sed -i "s/#disable=1/disable=1/" bin/bgvalidate
# build scripts need some love # build scripts need some love
patchShebangs . patchShebangs bin/preproc
make -C src bgnet.html
''; '';
installPhase = '' installPhase = ''
mkdir -p $out install -Dm644 src/bgnet.html $out/share/doc/bgnet/html/index.html
mv * $out/
''; '';
nativeBuildInputs = [ python3 pandoc ];
meta = { meta = {
description = "Beejs Guide to Network Programming"; description = "Beejs Guide to Network Programming";
homepage = "https://beej.us/guide/bgnet/"; homepage = "https://beej.us/guide/bgnet/";

View File

@ -1,24 +0,0 @@
{ lib, fetchzip
, version ? "0.3.5"
, sha256 ? "1gfgl7qimp76q4z0nv55vv57yfs4kscdr329np701k0xnhncwvrk"
}:
fetchzip {
name = "fontconfig-penultimate-${version}";
url = "https://github.com/ttuegel/fontconfig-penultimate/archive/${version}.zip";
inherit sha256;
postFetch = ''
mkdir -p $out/etc/fonts/conf.d
unzip -j $downloadedFile \*.conf -d $out/etc/fonts/conf.d
'';
meta = with lib; {
homepage = "https://github.com/ttuegel/fontconfig-penultimate";
description = "Sensible defaults for Fontconfig";
license = licenses.asl20;
maintainers = [ maintainers.ttuegel ];
platforms = platforms.all;
};
}

View File

@ -19,7 +19,8 @@ let
version = lib.removeSuffix "R" rev; version = lib.removeSuffix "R" rev;
buildCommand = '' buildCommand = ''
install -m444 -Dt $out/share/fonts/opentype/source-han-${family} ${ttc} mkdir -p $out/share/fonts/opentype/source-han-${family}
ln -s ${ttc} $out/share/fonts/opentype/source-han-${family}/SourceHan${Family}.ttc
''; '';
meta = { meta = {

View File

@ -42,13 +42,13 @@
let self = stdenv.mkDerivation rec { let self = stdenv.mkDerivation rec {
pname = "mutter"; pname = "mutter";
version = "3.36.4"; version = "3.36.5";
outputs = [ "out" "dev" "man" ]; outputs = [ "out" "dev" "man" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0p3jglw6f2h67kwk89qz1rz23y25lip8m2mp2xshf2vrg4a930as"; sha256 = "1py7sqrpvg2qvswxclshysx7hd9jk65i6cwqsagd6rg6rnjhblp0";
}; };
patches = [ patches = [

View File

@ -1,23 +1,64 @@
{ stdenv, fetchurl, pkgconfig, gnome3, intltool, itstool, gtk3 { stdenv
, wrapGAppsHook, librsvg, libxml2, desktop-file-utils , fetchFromGitLab
, guile_2_0, libcanberra-gtk3 }: , pkg-config
, gnome3
, itstool
, gtk3
, wrapGAppsHook
, meson
, librsvg
, libxml2
, desktop-file-utils
, pysolfc
, guile
, libcanberra-gtk3
, ninja
, appstream-glib
, yelp-tools
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aisleriot"; pname = "aisleriot";
version = "3.22.9"; version = "3.22.11";
src = fetchurl { src = fetchFromGitLab {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; owner = "GNOME";
sha256 = "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji"; repo = pname;
domain = "gitlab.gnome.org";
rev = "${version}";
sha256 = "1asm0y6485xqsysdg586y3hzz8bhxqwnc82k6vhfnxpxz7l62qa1";
}; };
configureFlags = [ nativeBuildInputs = [
"--with-card-theme-formats=svg" wrapGAppsHook
"--with-platform=gtk-only" # until they remove GConf meson
ninja
appstream-glib
pkg-config
itstool
libxml2
desktop-file-utils
yelp-tools
]; ];
nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook libxml2 desktop-file-utils ]; buildInputs = [
buildInputs = [ gtk3 librsvg guile_2_0 libcanberra-gtk3 ]; gtk3
librsvg
guile
libcanberra-gtk3
pysolfc
];
prePatch = ''
patchShebangs cards/meson_svgz.sh
patchShebangs data/meson_desktopfile.py
patchShebangs data/icons/meson_updateiconcache.py
patchShebangs src/lib/meson_compileschemas.py
'';
mesonFlags = [
"-Dtheme_kde=false"
];
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {

View File

@ -107,6 +107,11 @@ stdenv.mkDerivation (rec {
outputs = [ "out" "doc" ]; outputs = [ "out" "doc" ];
# https://gitlab.haskell.org/ghc/ghc/-/issues/18549
patches = [
./issue-18549.patch
];
postPatch = "patchShebangs ."; postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology. # GHC is a bit confused on its cross terminology.

View File

@ -0,0 +1,296 @@
From fac083e7ac8a37b61a4082bbbca2848e52fd1bb2 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Sun, 9 Aug 2020 09:15:16 -0400
Subject: [PATCH] Revert "[linker/rtsSymbols] More linker symbols"
This reverts commit aa2e5863699306920513b216f337de09e29b5bb8.
---
rts/RtsSymbols.c | 224 ++++-------------------------------------------
1 file changed, 17 insertions(+), 207 deletions(-)
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c
index d10a6900db..b2f90a892d 100644
--- a/rts/RtsSymbols.c
+++ b/rts/RtsSymbols.c
@@ -58,6 +58,7 @@
SymI_HasProto(signal_handlers) \
SymI_HasProto(stg_sig_install) \
SymI_HasProto(rtsTimerSignal) \
+ SymI_HasProto(atexit) \
SymI_NeedsDataProto(nocldstop)
#endif
@@ -976,213 +977,29 @@
RTS_USER_SIGNALS_SYMBOLS \
RTS_INTCHAR_SYMBOLS
+
// 64-bit support functions in libgcc.a
-// See https://gcc.gnu.org/onlinedocs/gccint/Libgcc.html#Libgcc
-#define RTS_LIBGCC_SYMBOLS_32 \
- SymI_NeedsProto(__fixunsdfdi) \
- /* 4 The GCC low-level runtime library */\
- /* 4.1.1 Arithmetic functions */\
- /* SymI_NeedsProto(__ashlsi3) */\
- SymI_NeedsProto(__ashldi3) \
- /* SymI_NeedsProto(__ashlti3) */\
- /* These functions return the result of shifting a left by b bits. */\
- /* SymI_NeedsProto(__ashrsi3) */\
- SymI_NeedsProto(__ashrdi3) \
- /* SymI_NeedsProto(__ashrti3) */\
- /* These functions return the result of arithmetically shifting a right by b bits. */\
- /* SymI_NeedsProto(__divsi3) */\
- SymI_NeedsProto(__divdi3) \
- /* SymI_NeedsProto(__divti3) */\
- /* These functions return the quotient of the signed division of a and b. */\
- /* SymI_NeedsProto(__lshrsi3) */ \
- SymI_NeedsProto(__lshrdi3) \
- /* SymI_NeedsProto(__lshrti3) */ \
- /* These functions return the result of logically shifting a right by b bits. */\
- /* SymI_NeedsProto(__modsi3) */ \
- SymI_NeedsProto(__moddi3) \
- /* SymI_NeedsProto(__modti3) */ \
- /* These functions return the remainder of the signed division of a and b. */\
- /* SymI_NeedsProto(__mulsi3) */ \
- SymI_NeedsProto(__muldi3) \
- /* SymI_NeedsProto(__multi3) */ \
- /* These functions return the product of a and b. */\
- SymI_NeedsProto(__negdi2) \
- /* SymI_NeedsProto(__negti2) */ \
- /* These functions return the negation of a. */\
- /* SymI_NeedsProto(__udivsi3) */ \
- SymI_NeedsProto(__udivdi3) \
- /* SymI_NeedsProto(__udivti3) */ \
- /* These functions return the quotient of the unsigned division of a and b. */\
- SymI_NeedsProto(__udivmoddi4) \
- /* SymI_NeedsProto(__udivmodti4) */ \
- /* These functions calculate both the quotient and remainder of the unsigned division of a and b. The return value is the quotient, and the remainder is placed in variable pointed to by c. */\
- /* SymI_NeedsProto(__umodsi3) */ \
- SymI_NeedsProto(__umoddi3) \
- /* SymI_NeedsProto(__umodti3) */ \
- /* These functions return the remainder of the unsigned division of a and b. */\
- /* 4.1.2 Comparison functions */\
- /* The following functions implement integral comparisons. These functions implement a low-level compare, upon which the higher level comparison operators (such as less than and greater than or equal to) can be constructed. The returned values lie in the range zero to two, to allow the high-level operators to be implemented by testing the returned result using either signed or unsigned comparison. */\
- SymI_NeedsProto(__cmpdi2) \
- /* SymI_NeedsProto(__cmpti2) */ \
- /* These functions perform a signed comparison of a and b. If a is less than b, they return 0; if a is greater than b, they return 2; and if a and b are equal they return 1. */\
- SymI_NeedsProto(__ucmpdi2) \
- /* SymI_NeedsProto(__ucmpti2) */ \
- /* These functions perform an unsigned comparison of a and b. If a is less than b, they return 0; if a is greater than b, they return 2; and if a and b are equal they return 1. */\
- /* 4.1.3 Trapping arithmetic functions */\
- /* The following functions implement trapping arithmetic. These functions call the libc function abort upon signed arithmetic overflow. */\
- SymI_NeedsProto(__absvsi2) \
- SymI_NeedsProto(__absvdi2) \
- /* These functions return the absolute value of a. */\
- /* SymI_NeedsProto(__addvsi3) */ \
- SymI_NeedsProto(__addvdi3) \
- /* These functions return the sum of a and b; that is a + b. */\
- /* SymI_NeedsProto(__mulvsi3) */ \
- SymI_NeedsProto(__mulvdi3) \
- /* The functions return the product of a and b; that is a * b. */\
- SymI_NeedsProto(__negvsi2) \
- SymI_NeedsProto(__negvdi2) \
- /* These functions return the negation of a; that is -a. */\
- /* SymI_NeedsProto(__subvsi3) */ \
- SymI_NeedsProto(__subvdi3) \
- /* These functions return the difference between b and a; that is a - b. */\
- /* 4.1.4 Bit operations */\
- SymI_NeedsProto(__clzsi2) \
- SymI_NeedsProto(__clzdi2) \
- /* SymI_NeedsProto(__clzti2) */ \
- /* These functions return the number of leading 0-bits in a, starting at the most significant bit position. If a is zero, the result is undefined. */\
- SymI_NeedsProto(__ctzsi2) \
- SymI_NeedsProto(__ctzdi2) \
- /* SymI_NeedsProto(__ctzti2) */ \
- /* These functions return the number of trailing 0-bits in a, starting at the least significant bit position. If a is zero, the result is undefined. */\
- SymI_NeedsProto(__ffsdi2) \
- /* SymI_NeedsProto(__ffsti2) */ \
- /* These functions return the index of the least significant 1-bit in a, or the value zero if a is zero. The least significant bit is index one. */\
- SymI_NeedsProto(__paritysi2) \
- SymI_NeedsProto(__paritydi2) \
- /* SymI_NeedsProto(__parityti2) */\
- /* These functions return the value zero if the number of bits set in a is even, and the value one otherwise. */\
- SymI_NeedsProto(__popcountsi2) \
- SymI_NeedsProto(__popcountdi2) \
- /* SymI_NeedsProto(__popcountti2) */ \
- /* These functions return the number of bits set in a. */\
- SymI_NeedsProto(__bswapsi2) \
- SymI_NeedsProto(__bswapdi2)
-#define RTS_LIBGCC_SYMBOLS_aarch32 \
- /* armv6l */\
- /* TODO: should check for __ARM_EABI__ */\
- SymI_NeedsProto(__aeabi_d2f) \
- SymI_NeedsProto(__aeabi_d2iz) \
- SymI_NeedsProto(__aeabi_d2lz) \
- SymI_NeedsProto(__aeabi_d2uiz) \
- SymI_NeedsProto(__aeabi_d2ulz) \
- SymI_NeedsProto(__aeabi_dadd) \
- SymI_NeedsProto(__aeabi_dcmpeq) \
- SymI_NeedsProto(__aeabi_dcmpge) \
- SymI_NeedsProto(__aeabi_dcmpgt) \
- SymI_NeedsProto(__aeabi_dcmple) \
- SymI_NeedsProto(__aeabi_dcmplt) \
- SymI_NeedsProto(__aeabi_dcmpun) \
- SymI_NeedsProto(__aeabi_ddiv) \
- SymI_NeedsProto(__aeabi_dmul) \
- SymI_NeedsProto(__aeabi_dneg) \
- SymI_NeedsProto(__aeabi_dsub) \
- SymI_NeedsProto(__aeabi_f2d) \
- SymI_NeedsProto(__aeabi_f2iz) \
- SymI_NeedsProto(__aeabi_f2lz) \
- SymI_NeedsProto(__aeabi_f2uiz) \
- SymI_NeedsProto(__aeabi_f2ulz) \
- SymI_NeedsProto(__aeabi_fadd) \
- SymI_NeedsProto(__aeabi_fcmpeq) \
- SymI_NeedsProto(__aeabi_fcmpge) \
- SymI_NeedsProto(__aeabi_fcmpgt) \
- SymI_NeedsProto(__aeabi_fcmple) \
- SymI_NeedsProto(__aeabi_fcmplt) \
- SymI_NeedsProto(__aeabi_fcmpun) \
- SymI_NeedsProto(__aeabi_fdiv) \
- SymI_NeedsProto(__aeabi_fmul) \
- SymI_NeedsProto(__aeabi_fneg) \
- SymI_NeedsProto(__aeabi_fsub) \
- SymI_NeedsProto(__aeabi_i2d) \
- SymI_NeedsProto(__aeabi_i2f) \
- SymI_NeedsProto(__aeabi_idiv) \
- SymI_NeedsProto(__aeabi_idivmod) \
- SymI_NeedsProto(__aeabi_l2d) \
- SymI_NeedsProto(__aeabi_l2f) \
- SymI_NeedsProto(__aeabi_lasr) \
- SymI_NeedsProto(__aeabi_lcmp) \
- SymI_NeedsProto(__aeabi_ldivmod) \
- SymI_NeedsProto(__aeabi_llsl) \
- SymI_NeedsProto(__aeabi_llsr) \
- SymI_NeedsProto(__aeabi_lmul) \
- SymI_NeedsProto(__aeabi_ui2d) \
- SymI_NeedsProto(__aeabi_ui2f) \
- SymI_NeedsProto(__aeabi_uidiv) \
- SymI_NeedsProto(__aeabi_uidivmod) \
- SymI_NeedsProto(__aeabi_ul2d) \
- SymI_NeedsProto(__aeabi_ul2f) \
- SymI_NeedsProto(__aeabi_ulcmp) \
- SymI_NeedsProto(__aeabi_uldivmod)
-#define RTS_LIBGCC_SYMBOLS_64 \
+#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32)
+#define RTS_LIBGCC_SYMBOLS \
+ SymI_NeedsProto(__divdi3) \
+ SymI_NeedsProto(__udivdi3) \
+ SymI_NeedsProto(__moddi3) \
+ SymI_NeedsProto(__umoddi3) \
+ SymI_NeedsProto(__muldi3) \
+ SymI_NeedsProto(__ashldi3) \
+ SymI_NeedsProto(__ashrdi3) \
+ SymI_NeedsProto(__lshrdi3) \
+ SymI_NeedsProto(__fixunsdfdi)
+#elif defined(__GNUC__) && SIZEOF_VOID_P == 8
+#define RTS_LIBGCC_SYMBOLS \
SymI_NeedsProto(__udivti3) \
SymI_NeedsProto(__umodti3)
-
-/* for aarch64 */
-#define RTS_LIBGCC_SYMBOLS_aarch64 \
- SymI_NeedsProto(__netf2) \
- SymI_NeedsProto(__addtf3) \
- SymI_NeedsProto(__subtf3) \
- SymI_NeedsProto(__multf3) \
- SymI_NeedsProto(__extenddftf2) \
- SymI_NeedsProto(__fixtfsi) \
- SymI_NeedsProto(__fixunstfsi) \
- SymI_NeedsProto(__floatsitf) \
- SymI_NeedsProto(__floatunsitf)
-
-#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && defined(arm_HOST_OS)
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_32 RTS_LIBGCC_SYMBOLS_aarch32
-#elif defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32)
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_32
-#elif defined(__GNUC__) && SIZEOF_VOID_P == 8 && defined(aarch64_HOST_OS)
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_64 RTS_LIBGCC_SYMBOLS_aarch64
-#elif defined(__GNUC__) && SIZEOF_VOID_P == 8
-#define RTS_LIBGCC_SYMBOLS RTS_LIBGCC_SYMBOLS_64
#else
#define RTS_LIBGCC_SYMBOLS
#endif
-#if !defined(mingw32_HOST_OS) && !defined(DYNAMIC) && (defined(_FORTIFY_SOURCE) || defined(__SSP__))
-#define RTS_SSP_SYMBOLS \
- SymI_NeedsProto(__stack_chk_guard) \
- SymI_NeedsProto(__stack_chk_fail)
-#else
-#define RTS_SSP_SYMBOLS
-#endif
-#if !defined(DYNAMIC) && defined(linux_HOST_OS)
-// we need these for static musl builds. However when
-// linking shared objects (DLLs) this will fail, hence
-// we do not include them when building with -DDYNAMIC
-#define RTS_LINKER_SYMBOLS \
- SymI_NeedsProto(__fini_array_start) \
- SymI_NeedsProto(__fini_array_end)
-#else
-#define RTS_LINKER_SYMBOLS
-#endif
-
-#if defined(darwin_HOST_OS) && defined(powerpc_HOST_ARCH)
- // Symbols that don't have a leading underscore
- // on Mac OS X. They have to receive special treatment,
- // see machoInitSymbolsWithoutUnderscore()
-#define RTS_MACHO_NOUNDERLINE_SYMBOLS \
- SymI_NeedsProto(saveFP) \
- SymI_NeedsProto(restFP)
-#endif
-
/* entirely bogus claims about types of these symbols */
-/* to prevent a bit of define expansion, SymI_NeedsProto is a variadic
- * macro. And we'll concat vvv with the __VA_ARGS__. This prevents
- * vvv from getting macro expanded.
- */
-#define SymI_NeedsProto(vvv,...) extern void vvv ## __VA_ARGS__ (void);
+#define SymI_NeedsProto(vvv) extern void vvv(void);
#define SymI_NeedsDataProto(vvv) extern StgWord vvv[];
#if defined(COMPILING_WINDOWS_DLL)
#define SymE_HasProto(vvv) SymE_HasProto(vvv);
@@ -1209,8 +1026,6 @@ RTS_DARWIN_ONLY_SYMBOLS
RTS_OPENBSD_ONLY_SYMBOLS
RTS_LIBGCC_SYMBOLS
RTS_LIBFFI_SYMBOLS
-RTS_SSP_SYMBOLS
-RTS_LINKER_SYMBOLS
#undef SymI_NeedsProto
#undef SymI_NeedsDataProto
#undef SymI_HasProto
@@ -1230,7 +1045,7 @@ RTS_LINKER_SYMBOLS
#define SymE_HasDataProto(vvv) \
SymE_HasProto(vvv)
-#define SymI_NeedsProto(vvv,...) SymI_HasProto(vvv ## __VA_ARGS__)
+#define SymI_NeedsProto(vvv) SymI_HasProto(vvv)
#define SymI_NeedsDataProto(vvv) SymI_HasDataProto(vvv)
#define SymE_NeedsProto(vvv) SymE_HasProto(vvv)
#define SymE_NeedsDataProto(vvv) SymE_HasDataProto(vvv)
@@ -1251,8 +1066,6 @@ RTS_LINKER_SYMBOLS
#define SymI_HasProto_deprecated(vvv) \
{ #vvv, (void*)0xBAADF00D, true },
-void *RTS_DYNAMIC = NULL;
-
RtsSymbolVal rtsSyms[] = {
RTS_SYMBOLS
RTS_RET_SYMBOLS
@@ -1264,14 +1077,11 @@ RtsSymbolVal rtsSyms[] = {
RTS_LIBGCC_SYMBOLS
RTS_LIBFFI_SYMBOLS
SymI_HasDataProto(nonmoving_write_barrier_enabled)
- RTS_SSP_SYMBOLS
- RTS_LINKER_SYMBOLS
#if defined(darwin_HOST_OS) && defined(i386_HOST_ARCH)
// dyld stub code contains references to this,
// but it should never be called because we treat
// lazy pointers as nonlazy.
{ "dyld_stub_binding_helper", (void*)0xDEADBEEF, false },
#endif
- { "_DYNAMIC", (void*)(&RTS_DYNAMIC), false },
{ 0, 0, false } /* sentinel */
};
--
2.25.4

View File

@ -81,6 +81,7 @@ in stdenv.mkDerivation (rec {
rm test/DebugInfo/X86/convert-debugloc.ll rm test/DebugInfo/X86/convert-debugloc.ll
rm test/DebugInfo/X86/convert-inlined.ll rm test/DebugInfo/X86/convert-inlined.ll
rm test/DebugInfo/X86/convert-linked.ll rm test/DebugInfo/X86/convert-linked.ll
rm test/DebugInfo/X86/debug_addr.ll
rm test/tools/dsymutil/X86/op-convert.test rm test/tools/dsymutil/X86/op-convert.test
'' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") '' '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
# Seems to require certain floating point hardware (NEON?) # Seems to require certain floating point hardware (NEON?)

View File

@ -0,0 +1,25 @@
{ stdenv, fetchFromGitLab, cmake, cairo }:
stdenv.mkDerivation rec {
pname = "redkite";
version = "1.0.1";
src = fetchFromGitLab {
owner = "iurie-sw";
repo = pname;
rev = "v${version}";
sha256 = "1qd4r7ps0fg2m1vx3j48chfdh2c5909j4f9wip4af59inrid4w6a";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ cairo ];
meta = {
homepage = "https://gitlab.com/iurie-sw/redkite";
description = "A small GUI toolkit";
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
};
}

View File

@ -0,0 +1,45 @@
{ buildPythonPackage
, fetchPypi
, isPy27
, aiohttp
, pytest
, pytest-aiohttp
, pygments
, lib
}:
buildPythonPackage rec {
pname = "aiojobs";
version = "0.2.2";
format = "flit";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "01a0msjh4w58fd7jplmblh0hwgpzwjs5xkgqz3d0p5yv3cykwjwf";
};
nativeBuildInputs = [
pygments
];
propagatedBuildInputs = [
aiohttp
];
checkInputs = [
pytest
pytest-aiohttp
];
checkPhase = ''
pytest tests
'';
meta = with lib; {
homepage = "https://github.com/aio-libs/aiojobs";
description = "Jobs scheduler for managing background task (asyncio)";
license = licenses.asl20;
maintainers = with maintainers; [ cmcdragonkai ];
};
}

View File

@ -2,23 +2,28 @@
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, azure-common , azure-common
, azure-core
, azure-storage-common , azure-storage-common
, msrest
, isPy3k , isPy3k
, futures , futures
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "azure-storage-blob"; pname = "azure-storage-blob";
version = "2.1.0"; version = "12.4.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "b90323aad60f207f9f90a0c4cf94c10acc313c20b39403398dfba51f25f7b454"; extension = "zip";
sha256 = "1s03daq5mxh9acbv8qpa55c2wmjvdf8jq071cwv65mrly8prp84n";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
azure-common azure-common
azure-core
azure-storage-common azure-storage-common
msrest
] ++ lib.optional (!isPy3k) futures; ] ++ lib.optional (!isPy3k) futures;
# has no tests # has no tests

View File

@ -12,12 +12,13 @@
, cramfsprogs , cramfsprogs
, cramfsswap , cramfsswap
, lzma , lzma
, matplotlib
, nose , nose
, pycrypto , pycrypto
, pyqtgraph ? null }: , pyqtgraph ? null }:
let let
visualizationSupport = (pyqtgraph != null); visualizationSupport = (pyqtgraph != null) && (matplotlib != null);
version = "2.2.0"; version = "2.2.0";
in in
buildPythonPackage { buildPythonPackage {
@ -32,7 +33,7 @@ buildPythonPackage {
}; };
propagatedBuildInputs = [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract cramfsswap cramfsprogs lzma pycrypto ] propagatedBuildInputs = [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract cramfsswap cramfsprogs lzma pycrypto ]
++ stdenv.lib.optional visualizationSupport pyqtgraph; ++ stdenv.lib.optionals visualizationSupport [ matplotlib pyqtgraph ];
# setup.py only installs version.py during install, not test # setup.py only installs version.py during install, not test
postPatch = '' postPatch = ''

View File

@ -9,11 +9,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "blis"; pname = "blis";
version = "0.4.1"; version = "0.7.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4"; sha256 = "014771a0f753a64ef5610c5b3d4a090b263073bdd59b8ad0d872ce1e06e7315a";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,14 +1,15 @@
{ stdenv, buildPythonPackage, fetchPypi { stdenv, buildPythonPackage, fetchPypi
, frozendict, simplejson, six , frozendict, simplejson, six, isPy27
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "canonicaljson"; pname = "canonicaljson";
version = "1.1.4"; version = "1.3.0";
disabled = isPy27;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "45bce530ff5fd0ca93703f71bfb66de740a894a3b5dd6122398c6d8f18539725"; sha256 = "0v2b72n28fi763xxv9vrf4qc61anl2ys9njy7hlm719fdaq3sxml";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -60,6 +60,7 @@ buildPythonPackage rec {
"test_argwhere_str" "test_argwhere_str"
"test_count_nonzero_str" "test_count_nonzero_str"
"rolling_methods" # floating percision error ~0.1*10^8 small "rolling_methods" # floating percision error ~0.1*10^8 small
"num_workers_config" # flaky
]; ];
meta = { meta = {

View File

@ -0,0 +1,56 @@
{ buildPythonPackage
, fetchFromGitHub
, lib
, isPy3k
, cython
, numpy
, toml
, pytest
}:
buildPythonPackage rec {
pname = "finalfusion";
version = "0.7.1";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "finalfusion";
repo = "finalfusion-python";
rev = version;
sha256 = "0pwzflamxqvpl1wcz0zbhhd6aa4xn18rmza6rggaic3ckidhyrh4";
};
nativeBuildInputs = [
cython
];
propagatedBuildInputs = [
numpy
toml
];
checkInputs = [
pytest
];
postPatch = ''
patchShebangs tests/integration
'';
checkPhase = ''
# Regular unit tests.
pytest
# Integration tests for command-line utilities.
PATH=$PATH:$out/bin tests/integration/all.sh
'';
meta = with lib; {
description = "Python module for using finalfusion, word2vec, and fastText word embeddings";
homepage = "https://github.com/finalfusion/finalfusion-python/";
maintainers = with maintainers; [ danieldk ];
platforms = platforms.all;
license = licenses.blueOak100;
};
}

View File

@ -6,12 +6,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "prawcore"; pname = "prawcore";
version = "1.4.0"; version = "1.5.0";
disabled = isPy27; # see https://github.com/praw-dev/prawcore/pull/101 disabled = isPy27; # see https://github.com/praw-dev/prawcore/pull/101
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "cf71388d869becbcbdfd90258b19d2173c197a457f2dd0bef0566b6cfb9b95a1"; sha256 = "1f1eafc8a65d671f9892354f73142014fbb5d3a9ee621568c662d0a354e0578b";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -6,18 +6,23 @@
# pythonPackages # pythonPackages
, django , django
, pylint-plugin-utils , pylint-plugin-utils
# pythonPackages for checkInputs
, coverage
, factory_boy
, pytest
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pylint-django"; pname = "pylint-django";
version = "2.1.0"; version = "2.3.0";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PyCQA"; owner = "PyCQA";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1gvbh2a480x3ddrq6xzray7kdsz8nb8n16xm2lf03w2nqnsdbkwy"; sha256 = "1088waraiigi2bnlighn7bvnvqmpx5fbw70c8jd8sh25mj38wgly";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -25,8 +30,14 @@ buildPythonPackage rec {
pylint-plugin-utils pylint-plugin-utils
]; ];
# Testing requires checkout from other repositories checkInputs = [ coverage factory_boy pytest ];
doCheck = false;
# Check command taken from scripts/test.sh
# Skip test external_django_tables2_noerror_meta_class:
# requires an unpackaged django_tables2
checkPhase = ''
python pylint_django/tests/test_func.py -v -k "not tables2"
'';
meta = with lib; { meta = with lib; {
description = "A Pylint plugin to analyze Django applications"; description = "A Pylint plugin to analyze Django applications";

View File

@ -17,6 +17,6 @@ buildPythonPackage rec {
description = "Reference implementation of SLIP-0039"; description = "Reference implementation of SLIP-0039";
homepage = "https://github.com/trezor/python-shamir-mnemonic"; homepage = "https://github.com/trezor/python-shamir-mnemonic";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
} }

View File

@ -55,6 +55,7 @@ buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace setup.cfg \ substituteInPlace setup.cfg \
--replace "blis>=0.4.0,<0.5.0" "blis>=0.4.0,<1.0" \
--replace "catalogue>=0.0.7,<1.1.0" "catalogue>=0.0.7,<3.0" \ --replace "catalogue>=0.0.7,<1.1.0" "catalogue>=0.0.7,<3.0" \
--replace "plac>=0.9.6,<1.2.0" "plac>=0.9.6,<2.0" \ --replace "plac>=0.9.6,<1.2.0" "plac>=0.9.6,<2.0" \
--replace "srsly>=1.0.2,<1.1.0" "srsly>=1.0.2,<3.0" \ --replace "srsly>=1.0.2,<1.1.0" "srsly>=1.0.2,<3.0" \

View File

@ -60,6 +60,7 @@ buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace "blis>=0.4.0,<0.5.0" "blis>=0.4.0,<1.0" \
--replace "catalogue>=0.0.7,<1.1.0" "catalogue>=0.0.7,<3.0" \ --replace "catalogue>=0.0.7,<1.1.0" "catalogue>=0.0.7,<3.0" \
--replace "plac>=0.9.6,<1.2.0" "plac>=0.9.6,<2.0" \ --replace "plac>=0.9.6,<1.2.0" "plac>=0.9.6,<2.0" \
--replace "srsly>=0.0.6,<1.1.0" "srsly>=0.0.6,<3.0" --replace "srsly>=0.0.6,<1.1.0" "srsly>=0.0.6,<3.0"

View File

@ -55,6 +55,6 @@ buildPythonPackage rec {
description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet"; description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
homepage = "https://github.com/trezor/trezor-firmware/tree/master/python"; homepage = "https://github.com/trezor/trezor-firmware/tree/master/python";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ np prusnak mmahut maintainers."1000101" ]; maintainers = with maintainers; [ np prusnak mmahut _1000101 ];
}; };
} }

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "tflint"; pname = "tflint";
version = "0.18.0"; version = "0.19.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "terraform-linters"; owner = "terraform-linters";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0644hzb7cpcqksl7j6v11dcq26la7g5l1svkmgm9c674gbv7argv"; sha256 = "14pgsx136ibaf1mqkwn8ibnn4g6q5xx0r7xbijj521v12m145i8g";
}; };
vendorSha256 = "1khb8rdy5agj904nig6dfhagckvfcx79f028wcvwr625la3pcjfc"; vendorSha256 = "0bzd58ry5k100mjgvl1mxz7aysm75s4vkilcykrqy1s5sc0h3ng5";
doCheck = false; doCheck = false;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jenkins"; pname = "jenkins";
version = "2.235.3"; version = "2.235.5";
src = fetchurl { src = fetchurl {
url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war"; url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
sha256 = "109rycgy8bg3na173vz5f3bq7w33a6kap8158kx6zhignni451p8"; sha256 = "02zpnqhdkhg8p8cddkqklgihjpwcbnybkcw5rspipz6kiyqzg1n7";
}; };
buildCommand = '' buildCommand = ''

View File

@ -1,11 +1,8 @@
{ stdenv, buildGoPackage, fetchFromGitHub }: { stdenv, buildGoModule, fetchFromGitHub }:
buildGoPackage rec { buildGoModule rec {
pname = "gocode-gomod-unstable"; pname = "gocode-gomod";
version = "2019-03-27"; version = "1.0.0";
rev = "81059208699789f992bb4a4a3fedd734e335468d";
goPackagePath = "github.com/stamblerre/gocode";
# we must allow references to the original `go` package, # we must allow references to the original `go` package,
# because `gocode` needs to dig into $GOROOT to provide completions for the # because `gocode` needs to dig into $GOROOT to provide completions for the
@ -15,14 +12,13 @@ buildGoPackage rec {
excludedPackages = ''internal/suggest/testdata''; excludedPackages = ''internal/suggest/testdata'';
src = fetchFromGitHub { src = fetchFromGitHub {
inherit rev;
owner = "stamblerre"; owner = "stamblerre";
repo = "gocode"; repo = "gocode";
sha256 = "0y5lc7sq3913mvvczwx8mq5l3l9yg34jzaw742q8jpd1jzqyza94"; rev = "v${version}";
sha256 = "YAOYrPPKgnjCErq8+iW0Le51clGBv0MJy2Nnn7UVo/s=";
}; };
goDeps = ./deps.nix; vendorSha256 = null;
postInstall = '' postInstall = ''
mv $out/bin/gocode $out/bin/gocode-gomod mv $out/bin/gocode $out/bin/gocode-gomod

View File

@ -1,11 +0,0 @@
[
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "78dc5bac0cacea7969e98b79c3b86597e0aa4e25";
sha256 = "16jg2x1sfm39kz4rchn0gxyq99fnkxw6v51wxriqbs76a2wrznp9";
};
}
]

View File

@ -1,19 +1,28 @@
{ stdenv, fetchFromGitHub, rustPlatform, Security, openssl, pkgconfig, libiconv, curl }: { stdenv
, fetchFromGitHub
, rustPlatform
, perl
, pkg-config
, Security
, curl
, libiconv
, openssl
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-crev"; pname = "cargo-crev";
version = "0.16.1"; version = "0.17.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "crev-dev"; owner = "crev-dev";
repo = "cargo-crev"; repo = "cargo-crev";
rev = "v${version}"; rev = "v${version}";
sha256 = "16da30zbv8f7w8bxsssmrpzm41a966wby1l6ldyiiszs980qh7c5"; sha256 = "1s5wb5m0d77qi90pyxld98ap37xnxrz3sz5gazq0pp5i9c9xa124";
}; };
cargoSha256 = "0z365pgdd95apk2zz2n0gx85s0gf8ccfbqippxqn1fdsppihib6g"; cargoSha256 = "10dzvzjqib751h2p1pl0z3dy2d17xwrcp9vyfrfr185yximcw2wx";
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ perl pkg-config ];
buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security libiconv curl ]; buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security libiconv curl ];

View File

@ -2,10 +2,10 @@
{ {
rust-analyzer-unwrapped = callPackage ./generic.nix rec { rust-analyzer-unwrapped = callPackage ./generic.nix rec {
rev = "2020-08-10"; rev = "2020-08-17";
version = "unstable-${rev}"; version = "unstable-${rev}";
sha256 = "0hf9gpvgq7whrc5gnfhc0wjqddp3xpi3azvdccb4yql2pcznz3rh"; sha256 = "1lkqhaygl6wak3hypmn3zb2h0v4n082xbpaywmzqr53vhw678sp0";
cargoSha256 = "1bwch08y2av7aj2l5pvhdxdq24c8favxppz5zcd88rx4brlwn2bq"; cargoSha256 = "00a2fxq1kwybng3gp33lkad4c7wrz0gypigxkalqkyy4nbg3qil4";
}; };
rust-analyzer = callPackage ./wrapper.nix {} { rust-analyzer = callPackage ./wrapper.nix {} {

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "postman"; pname = "postman";
version = "7.26.0"; version = "7.30.1";
src = fetchurl { src = fetchurl {
url = "https://dl.pstmn.io/download/version/${version}/linux64"; url = "https://dl.pstmn.io/download/version/${version}/linux64";
sha256 = "05xs389bf0127n8rdivbfxvgjvlrk9pyr74klswwlksxciv74i3j"; sha256 = "18bphn5m42z9x0igafd259q7i88qn7wcxvvhdjv9ldnvmhf1k935";
name = "${pname}.tar.gz"; name = "${pname}.tar.gz";
}; };

View File

@ -19,6 +19,6 @@ buildGoPackage rec {
description = "A command line tool for shopify themes"; description = "A command line tool for shopify themes";
homepage = "https://shopify.github.io/themekit/"; homepage = "https://shopify.github.io/themekit/";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
} }

View File

@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
description = "A single TUI-based registry for drm-free, wine and steam games on linux, accessed through a rofi launch menu"; description = "A single TUI-based registry for drm-free, wine and steam games on linux, accessed through a rofi launch menu";
homepage = "https://github.com/nicohman/eidolon"; homepage = "https://github.com/nicohman/eidolon";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = [ maintainers."0x4A6F" ]; maintainers = with maintainers; [ _0x4A6F ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -62,15 +62,15 @@ let
binDists = { binDists = {
x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in { x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
alpha = { alpha = {
stable = bdist { sha256 = "1fg2wnia6anzya4m53jf2xqwwspvwskz3awdb3j0v3fzijps94wc"; version = "0.17.79"; withAuth = true; }; stable = bdist { sha256 = "0zixscff0svpb0yg8nzczp2z4filqqxi1k0z0nrpzn2hhzhf1464"; version = "1.0.0"; withAuth = true; };
experimental = bdist { sha256 = "0la4590lf4gssdcf29qm73mz901dnp7cii712fcqw382qh9hbl9q"; version = "0.18.36"; withAuth = true; }; experimental = bdist { sha256 = "0zixscff0svpb0yg8nzczp2z4filqqxi1k0z0nrpzn2hhzhf1464"; version = "1.0.0"; withAuth = true; };
}; };
headless = { headless = {
stable = bdist { sha256 = "1pr39nm23fj83jy272798gbl9003rgi4vgsi33f2iw3dk3x15kls"; version = "0.17.79"; }; stable = bdist { sha256 = "0r0lplns8nxna2viv8qyx9mp4cckdvx6k20w2g2fwnj3jjmf3nc1"; version = "1.0.0"; };
experimental = bdist { sha256 = "0d64zzvp6zwz6p2izhhj998b6z8wd6r1b5p8mz1sbpz3v91sazj7"; version = "0.18.36"; }; experimental = bdist { sha256 = "0r0lplns8nxna2viv8qyx9mp4cckdvx6k20w2g2fwnj3jjmf3nc1"; version = "1.0.0"; };
}; };
demo = { demo = {
stable = bdist { sha256 = "07qknasaqvzl9vy1fglm7xmdi7ynhmslrb0a209fhbfs0s7qqlgi"; version = "0.17.79"; }; stable = bdist { sha256 = "0h9cqbp143w47zcl4qg4skns4cngq0k40s5jwbk0wi5asjz8whqn"; version = "1.0.0"; };
}; };
}; };
i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in { i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in {

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
description = "Space Invaders clone based on ncurses"; description = "Space Invaders clone based on ncurses";
homepage = "http://ninvaders.sourceforge.net/"; homepage = "http://ninvaders.sourceforge.net/";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "steam-runtime"; name = "steam-runtime";
# from https://repo.steampowered.com/steamrt-images-scout/snapshots/ # from https://repo.steampowered.com/steamrt-images-scout/snapshots/
version = "0.20200604.0"; version = "0.20200720.0";
src = fetchurl { src = fetchurl {
url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz"; url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz";
sha256 = "04ficg3lnf6ijwkj08094vgcsskfncnlhk61v2csls3wfwvkrmhv"; sha256 = "03qdlr1xk84jb4c60ilis00vjhj70bxc0bbgk5g5b1883l2frljd";
name = "scout-runtime-${version}.tar.gz"; name = "scout-runtime-${version}.tar.gz";
}; };

View File

@ -4320,6 +4320,18 @@ let
meta.homepage = "https://github.com/qpkorr/vim-bufkill/"; meta.homepage = "https://github.com/qpkorr/vim-bufkill/";
}; };
vim-carbon-now-sh = buildVimPluginFrom2Nix {
pname = "vim-carbon-now-sh";
version = "2019-02-14";
src = fetchFromGitHub {
owner = "kristijanhusak";
repo = "vim-carbon-now-sh";
rev = "789b15d17966a1100ed2889d670923dd6d9ff063";
sha256 = "1vfhdqv8mf8w0s4nv8k2rqzvahvh1lxm4zsd3ks1n334f580w8x4";
};
meta.homepage = "https://github.com/kristijanhusak/vim-carbon-now-sh/";
};
vim-choosewin = buildVimPluginFrom2Nix { vim-choosewin = buildVimPluginFrom2Nix {
pname = "vim-choosewin"; pname = "vim-choosewin";
version = "2019-09-17"; version = "2019-09-17";
@ -5689,6 +5701,18 @@ let
meta.homepage = "https://github.com/plasticboy/vim-markdown/"; meta.homepage = "https://github.com/plasticboy/vim-markdown/";
}; };
vim-matchup = buildVimPluginFrom2Nix {
pname = "vim-matchup";
version = "2020-08-16";
src = fetchFromGitHub {
owner = "andymass";
repo = "vim-matchup";
rev = "b1af5a28242ae58ece98d833a2bf28e030d57230";
sha256 = "1nnn0cxvpgmgi8xpqmhxr3vi42s3g1d0rn683hyizdn4i0l888k3";
};
meta.homepage = "https://github.com/andymass/vim-matchup/";
};
vim-mergetool = buildVimPluginFrom2Nix { vim-mergetool = buildVimPluginFrom2Nix {
pname = "vim-mergetool"; pname = "vim-mergetool";
version = "2019-06-22"; version = "2019-06-22";
@ -6553,6 +6577,18 @@ let
meta.homepage = "https://github.com/t9md/vim-smalls/"; meta.homepage = "https://github.com/t9md/vim-smalls/";
}; };
vim-smoothie = buildVimPluginFrom2Nix {
pname = "vim-smoothie";
version = "2019-12-02";
src = fetchFromGitHub {
owner = "psliwka";
repo = "vim-smoothie";
rev = "d3de4fbd7a9331b3eb05fa632611ebd34882cc83";
sha256 = "1bsqnz02jaydr92mmcrdlva4zxs28zgxwgznr2bwk4wnn26i54p6";
};
meta.homepage = "https://github.com/psliwka/vim-smoothie/";
};
vim-smt2 = buildVimPluginFrom2Nix { vim-smt2 = buildVimPluginFrom2Nix {
pname = "vim-smt2"; pname = "vim-smt2";
version = "2018-05-20"; version = "2018-05-20";

View File

@ -14,6 +14,7 @@ andreshazard/vim-logreview
AndrewRadev/splitjoin.vim AndrewRadev/splitjoin.vim
andsild/peskcolor.vim andsild/peskcolor.vim
andviro/flake8-vim andviro/flake8-vim
andymass/vim-matchup
andys8/vim-elm-syntax andys8/vim-elm-syntax
antoinemadec/coc-fzf antoinemadec/coc-fzf
ap/vim-css-color ap/vim-css-color
@ -233,6 +234,7 @@ konfekt/fastfold
kristijanhusak/defx-git kristijanhusak/defx-git
kristijanhusak/defx-icons kristijanhusak/defx-icons
kristijanhusak/deoplete-phpactor kristijanhusak/deoplete-phpactor
kristijanhusak/vim-carbon-now-sh
kristijanhusak/vim-dirvish-git kristijanhusak/vim-dirvish-git
kristijanhusak/vim-hybrid-material kristijanhusak/vim-hybrid-material
kshenoy/vim-signature kshenoy/vim-signature
@ -420,6 +422,7 @@ powerman/vim-plugin-AnsiEsc
PProvost/vim-ps1 PProvost/vim-ps1
preservim/nerdcommenter preservim/nerdcommenter
preservim/nerdtree preservim/nerdtree
psliwka/vim-smoothie
ptzz/lf.vim ptzz/lf.vim
purescript-contrib/purescript-vim purescript-contrib/purescript-vim
python-mode/python-mode python-mode/python-mode

View File

@ -2,27 +2,24 @@
buildGoModule rec { buildGoModule rec {
pname = "smimesign"; pname = "smimesign";
version = "v0.0.13"; version = "0.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "github"; owner = "github";
repo = "smimesign"; repo = "smimesign";
rev = version; rev = "v${version}";
sha256 = "0higcg2rdz02c0n50vigg7w7bxc7wlmg1x2ygrbh3iwms5lc74vi"; sha256 = "12f8vprp4v78l9ifrlql0mvpyw5qa8nlrh5ajq5js8wljzpx7wsv";
}; };
vendorSha256 = "00000000000000000hlvwysx045nbw0xr5nngh7zj1wcqxhhm206"; vendorSha256 = "1cldxykm9qj5rvyfafam45y5xj4f19700s2f9w7ndhxgfp9vahvz";
doCheck = false; buildFlagsArray = "-ldflags=-X main.versionString=v${version}";
buildFlagsArray = "-ldflags=-X main.versionString=${version}";
meta = with lib; { meta = with lib; {
description = "An S/MIME signing utility for macOS and Windows that is compatible with Git."; description = "An S/MIME signing utility for macOS and Windows that is compatible with Git";
homepage = "https://github.com/github/smimesign"; homepage = "https://github.com/github/smimesign";
license = licenses.mit; license = licenses.mit;
platforms = platforms.darwin; platforms = platforms.darwin ++ platforms.windows;
maintainers = [ maintainers.enorris ]; maintainers = [ maintainers.enorris ];
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchpatch, libgcrypt, libnl, pkgconfig, python3, wireless-regdb }: { stdenv, fetchurl, fetchpatch, libgcrypt, libnl, pkgconfig, python3Packages, wireless-regdb }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "crda"; pname = "crda";
@ -25,8 +25,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libgcrypt libnl ]; buildInputs = [ libgcrypt libnl ];
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig pkgconfig
python3 python3Packages.pycrypto
python3.pkgs.pycrypto
]; ];
postPatch = '' postPatch = ''

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
description = "Firmware loader for Qualcomm Gobi USB chipsets"; description = "Firmware loader for Qualcomm Gobi USB chipsets";
homepage = "https://www.codon.org.uk/~mjg59/gobi_loader/"; homepage = "https://www.codon.org.uk/~mjg59/gobi_loader/";
license = with licenses; [ gpl2 ]; license = with licenses; [ gpl2 ];
maintainers = [ maintainers."0x4A6F" ]; maintainers = with maintainers; [ _0x4A6F ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -3,15 +3,15 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "5.8-rc7"; version = "5.9-rc1";
extraMeta.branch = "5.8"; extraMeta.branch = "5.9";
# modDirVersion needs to be x.y.z, will always add .0 # modDirVersion needs to be x.y.z, will always add .0
modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg; modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg;
src = fetchurl { src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
sha256 = "1v6ch9lwbckmv66w6ysj24ap41pfxq55ssrfkg0qyz2pv0mc1rxc"; sha256 = "08x6s4wydbrr4rqq3zfxq6qmnha4ikn7m9rmdqd42hmxl2ynqxla";
}; };
# Should the testing kernels ever be built on Hydra? # Should the testing kernels ever be built on Hydra?

View File

@ -58,7 +58,7 @@ buildGoModule rec {
description = "Trezor address/account balance backend"; description = "Trezor address/account balance backend";
homepage = "https://github.com/trezor/blockbook"; homepage = "https://github.com/trezor/blockbook";
license = licenses.agpl3; license = licenses.agpl3;
maintainers = with maintainers; [ mmahut maintainers."1000101" ]; maintainers = with maintainers; [ mmahut _1000101 ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkgconfig, libtool, curl { stdenv, fetchFromGitHub, pkgconfig, libtool, curl
, python, munge, perl, pam, zlib, shadow, coreutils , python3, munge, perl, pam, zlib, shadow, coreutils
, ncurses, libmysqlclient, gtk2, lua, hwloc, numactl , ncurses, libmysqlclient, gtk2, lua, hwloc, numactl
, readline, freeipmi, xorg, lz4, rdma-core, nixosTests , readline, freeipmi, xorg, lz4, rdma-core, nixosTests
, pmix , pmix
@ -9,7 +9,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "slurm"; pname = "slurm";
version = "19.05.7.1"; version = "20.02.4.1";
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
# because the latter does not keep older releases. # because the latter does not keep older releases.
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
repo = "slurm"; repo = "slurm";
# The release tags use - instead of . # The release tags use - instead of .
rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}"; rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
sha256 = "115f40k8y7d569nbl6g0mkyshgv925lawlwar7ib5296g30p97f0"; sha256 = "071lwny7cj4idq0h03mmvkk4f4i6fgl3c5q8cvbh7z8px6k50cfp";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -44,9 +44,9 @@ stdenv.mkDerivation rec {
# this doesn't fix tests completely at least makes slurmd to launch # this doesn't fix tests completely at least makes slurmd to launch
hardeningDisable = [ "bindnow" ]; hardeningDisable = [ "bindnow" ];
nativeBuildInputs = [ pkgconfig libtool ]; nativeBuildInputs = [ pkgconfig libtool python3 ];
buildInputs = [ buildInputs = [
curl python munge perl pam zlib curl python3 munge perl pam zlib
libmysqlclient ncurses gtk2 lz4 rdma-core libmysqlclient ncurses gtk2 lz4 rdma-core
lua hwloc numactl readline freeipmi shadow.su lua hwloc numactl readline freeipmi shadow.su
pmix pmix

View File

@ -9,11 +9,11 @@ let
in in
buildPythonApplication rec { buildPythonApplication rec {
pname = "matrix-synapse"; pname = "matrix-synapse";
version = "1.18.0"; version = "1.19.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0bqacma2ip0l053rfvxznbixs2rmb2dawqi2jq2zbqk5jqxhpaxi"; sha256 = "1fl9p0cb442271hx7zjz8vp111xgvdpn4khk8bk3kl8z9hjs2l1p";
}; };
patches = [ patches = [

View File

@ -4,11 +4,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "navidrome"; pname = "navidrome";
version = "0.27.0"; version = "0.29.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz"; url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz";
sha256 = "0givv23dx6hwzg0axwifrha17qafs19ag34vjz29xrj3smsl8zh3"; sha256 = "0dpv68wvrslgfgh18mb8ficji6k1i9jiid9bfw786andf4rwghyc";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -21,6 +21,6 @@ buildGoModule rec {
description = "Provides a Prometheus exporter for the apcupsd Network Information Server (NIS)"; description = "Provides a Prometheus exporter for the apcupsd Network Information Server (NIS)";
homepage = "https://github.com/mdlayher/apcupsd_exporter"; homepage = "https://github.com/mdlayher/apcupsd_exporter";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ maintainers."1000101" mdlayher ]; maintainers = with maintainers; [ _1000101 mdlayher ];
}; };
} }

View File

@ -25,7 +25,7 @@ buildGoPackage rec {
description = "Prometheus exporter that mines /proc to report on selected processes"; description = "Prometheus exporter that mines /proc to report on selected processes";
homepage = "https://github.com/ncabatoff/process-exporter"; homepage = "https://github.com/ncabatoff/process-exporter";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -23,6 +23,6 @@ buildGoModule rec {
homepage = "https://github.com/timescale/timescale-prometheus"; homepage = "https://github.com/timescale/timescale-prometheus";
license = licenses.asl20; license = licenses.asl20;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers."0x4A6F" ]; maintainers = with maintainers; [ _0x4A6F ];
}; };
} }

View File

@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
description = "An RPKI Validator written in Rust"; description = "An RPKI Validator written in Rust";
homepage = "https://github.com/NLnetLabs/routinator"; homepage = "https://github.com/NLnetLabs/routinator";
license = licenses.bsd3; license = licenses.bsd3;
maintainers = [ maintainers."0x4A6F" ]; maintainers = with maintainers; [ _0x4A6F ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
description = "A protocol for authentication, authorization and accounting (AAA) services for routers and network devices"; description = "A protocol for authentication, authorization and accounting (AAA) services for routers and network devices";
homepage = "http://www.shrubbery.net/tac_plus/"; homepage = "http://www.shrubbery.net/tac_plus/";
license = licenses.free; license = licenses.free;
maintainers = [ maintainers."0x4A6F" ]; maintainers = with maintainers; [ _0x4A6F ];
platforms = with platforms; linux; platforms = with platforms; linux;
}; };
} }

View File

@ -19,7 +19,7 @@ buildGoPackage rec {
description = "TREZOR Communication Daemon aka TREZOR Bridge"; description = "TREZOR Communication Daemon aka TREZOR Bridge";
homepage = "https://trezor.io"; homepage = "https://trezor.io";
license = licenses.lgpl3; license = licenses.lgpl3;
maintainers = with maintainers; [ canndrew jb55 prusnak mmahut maintainers."1000101" ]; maintainers = with maintainers; [ canndrew jb55 prusnak mmahut _1000101 ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -21,6 +21,6 @@ buildGoPackage rec {
description = "Reverse proxy cache for the Prometheus HTTP APIv1"; description = "Reverse proxy cache for the Prometheus HTTP APIv1";
homepage = "https://github.com/Comcast/trickster"; homepage = "https://github.com/Comcast/trickster";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
} }

View File

@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2; license = licenses.gpl2;
homepage = "https://www.dokuwiki.org"; homepage = "https://www.dokuwiki.org";
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ maintainers."1000101" ]; maintainers = with maintainers; [ _1000101 ];
}; };
} }

View File

@ -0,0 +1,33 @@
{ config, lib, pkgs, fetchFromGitHub, stdenv, ... }:
stdenv.mkDerivation rec {
pname = "rss-bridge";
version = "2020-02-26";
src = fetchFromGitHub {
owner = "RSS-Bridge";
repo = "rss-bridge";
rev = "${version}";
sha256 = "075k4bylx9308d083ry5a9q4629ccnrnndqqdqp1g42rzlqrw79q";
};
patchPhase = ''
substituteInPlace lib/rssbridge.php \
--replace "define('PATH_CACHE', PATH_ROOT . 'cache/');" "define('PATH_CACHE', getenv('RSSBRIDGE_DATA') . '/cache/');" \
--replace "define('FILE_CONFIG', PATH_ROOT . 'config.ini.php');" "define('FILE_CONFIG', getenv('RSSBRIDGE_DATA') . '/config.ini.php');" \
--replace "define('WHITELIST', PATH_ROOT . 'whitelist.txt');" "define('WHITELIST', getenv('RSSBRIDGE_DATA') . '/whitelist.txt');"
'';
installPhase = ''
mkdir $out/
cp -R ./* $out
'';
meta = with lib; {
description = "The RSS feed for websites missing it";
homepage = "https://github.com/RSS-Bridge/rss-bridge";
license = licenses.unlicense;
maintainers = with maintainers; [ dawidsowa ];
platforms = platforms.all;
};
}

Some files were not shown because too many files have changed in this diff Show More