forked from mirrors/nixpkgs
Merge master into staging-next
This commit is contained in:
commit
4cf394ea3f
|
@ -538,8 +538,123 @@ buildPythonPackage rec {
|
|||
```
|
||||
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)
|
||||
(`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
|
||||
(e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`.
|
||||
- `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.
|
||||
- `pythonImportsCheckHook` to check whether importing the listed modules works.
|
||||
- `pythonRemoveBinBytecode` to remove bytecode from the `/bin` folder.
|
||||
|
|
|
@ -85,6 +85,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) {
|
|||
fullName = ''Beerware License'';
|
||||
};
|
||||
|
||||
blueOak100 = spdx {
|
||||
spdxId = "BlueOak-1.0.0";
|
||||
fullName = "Blue Oak Model License 1.0.0";
|
||||
};
|
||||
|
||||
bsd0 = spdx {
|
||||
spdxId = "0BSD";
|
||||
fullName = "BSD Zero Clause License";
|
||||
|
|
|
@ -115,8 +115,8 @@ rec {
|
|||
|
||||
checkUnmatched =
|
||||
if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
|
||||
let inherit (head merged.unmatchedDefns) file prefix;
|
||||
in throw "The option `${showOption prefix}' defined in `${file}' does not exist."
|
||||
let firstDef = head merged.unmatchedDefns;
|
||||
in throw "The option `${showOption (prefix ++ firstDef.prefix)}' defined in `${firstDef.file}' does not exist."
|
||||
else null;
|
||||
|
||||
result = builtins.seq checkUnmatched {
|
||||
|
|
|
@ -26,6 +26,13 @@
|
|||
|
||||
`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.
|
||||
|
||||
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.
|
||||
*/
|
||||
{
|
||||
"0x4A6F" = {
|
||||
_0x4A6F = {
|
||||
email = "mail-maintainer@0x4A6F.dev";
|
||||
name = "Joachim Ernst";
|
||||
github = "0x4A6F";
|
||||
|
@ -51,7 +58,7 @@
|
|||
fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D";
|
||||
}];
|
||||
};
|
||||
"1000101" = {
|
||||
_1000101 = {
|
||||
email = "b1000101@pm.me";
|
||||
github = "1000101";
|
||||
githubId = 791309;
|
||||
|
@ -1884,7 +1891,7 @@
|
|||
githubId = 4971975;
|
||||
name = "Janne Heß";
|
||||
};
|
||||
"dasj19" = {
|
||||
dasj19 = {
|
||||
email = "daniel@serbanescu.dk";
|
||||
github = "dasj19";
|
||||
githubId = 7589338;
|
||||
|
@ -8198,7 +8205,7 @@
|
|||
githubId = 8547242;
|
||||
name = "Stefan Rohrbacher";
|
||||
};
|
||||
"thelegy" = {
|
||||
thelegy = {
|
||||
email = "mail+nixos@0jb.de";
|
||||
github = "thelegy";
|
||||
githubId = 3105057;
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -204,8 +204,10 @@ let
|
|||
ln -s ${renderConf} $dst/10-nixos-rendering.conf
|
||||
|
||||
# 50-user.conf
|
||||
${optionalString (!cfg.includeUserConf) ''
|
||||
rm $dst/50-user.conf
|
||||
# Since latest fontconfig looks for default files inside the package,
|
||||
# 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)
|
||||
|
@ -455,7 +457,7 @@ in
|
|||
environment.systemPackages = [ pkgs.fontconfig ];
|
||||
environment.etc.fonts.source = "${fontconfigEtc}/etc/fonts/";
|
||||
})
|
||||
(mkIf (cfg.enable && !cfg.penultimate.enable) {
|
||||
(mkIf cfg.enable {
|
||||
fonts.fontconfig.confPackages = [ confPkg ];
|
||||
})
|
||||
];
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
[
|
||||
./config/debug-info.nix
|
||||
./config/fonts/fontconfig.nix
|
||||
./config/fonts/fontconfig-penultimate.nix
|
||||
./config/fonts/fontdir.nix
|
||||
./config/fonts/fonts.nix
|
||||
./config/fonts/ghostscript.nix
|
||||
|
@ -866,6 +865,7 @@
|
|||
./services/web-apps/moinmoin.nix
|
||||
./services/web-apps/restya-board.nix
|
||||
./services/web-apps/sogo.nix
|
||||
./services/web-apps/rss-bridge.nix
|
||||
./services/web-apps/tt-rss.nix
|
||||
./services/web-apps/trac.nix
|
||||
./services/web-apps/trilium.nix
|
||||
|
|
|
@ -17,6 +17,7 @@ with lib;
|
|||
(mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
|
||||
|
||||
# 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" "firefox" "syncserver" "user" ] "")
|
||||
(mkRemovedOptionModule [ "services" "firefox" "syncserver" "group" ] "")
|
||||
|
|
|
@ -256,6 +256,6 @@ in
|
|||
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
meta.maintainers = with maintainers; [ _1000101 ];
|
||||
|
||||
}
|
||||
|
|
|
@ -270,6 +270,6 @@ in
|
|||
nameValuePair "${cfg.group}" { })) eachBlockbook;
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
meta.maintainers = with maintainers; [ _1000101 ];
|
||||
|
||||
}
|
||||
|
|
|
@ -108,7 +108,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
meta.maintainers = with maintainers; [ _1000101 ];
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ in
|
|||
config = mkIf cfg.enable (
|
||||
mkMerge [
|
||||
{
|
||||
meta.maintainers = [ lib.maintainers."0x4A6F" ];
|
||||
meta.maintainers = with lib.maintainers; [ _0x4A6F ];
|
||||
|
||||
systemd.services.xandikos = {
|
||||
description = "A Simple Calendar and Contact Server";
|
||||
|
|
|
@ -11,6 +11,7 @@ let
|
|||
settingsDir = ".config/transmission-daemon";
|
||||
downloadsDir = "Downloads";
|
||||
incompleteDir = ".incomplete";
|
||||
watchDir = "watchdir";
|
||||
# TODO: switch to configGen.json once RFC0042 is implemented
|
||||
settingsFile = pkgs.writeText "settings.json" (builtins.toJSON cfg.settings);
|
||||
in
|
||||
|
@ -35,6 +36,8 @@ in
|
|||
download-dir = "${cfg.home}/${downloadsDir}";
|
||||
incomplete-dir = "${cfg.home}/${incompleteDir}";
|
||||
incomplete-dir-enabled = true;
|
||||
watch-dir = "${cfg.home}/${watchDir}";
|
||||
watch-dir-enabled = false;
|
||||
message-level = 1;
|
||||
peer-port = 51413;
|
||||
peer-port-random-high = 65535;
|
||||
|
@ -161,6 +164,9 @@ in
|
|||
{ assertion = types.path.check cfg.settings.incomplete-dir;
|
||||
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;
|
||||
message = "`services.transmission.settings.script-torrent-done-filename' must be an absolute path.";
|
||||
}
|
||||
|
@ -220,14 +226,16 @@ in
|
|||
cfg.settings.download-dir
|
||||
] ++
|
||||
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 = [
|
||||
# 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.
|
||||
builtins.storeDir
|
||||
"-/etc/hosts"
|
||||
"-/etc/ld-nix.so.preload"
|
||||
"-/etc/localtime"
|
||||
"/etc"
|
||||
] ++
|
||||
optional (cfg.settings.script-torrent-done-enabled &&
|
||||
cfg.settings.script-torrent-done-filename != "")
|
||||
|
@ -410,11 +418,17 @@ in
|
|||
${optionalString cfg.settings.incomplete-dir-enabled ''
|
||||
rw ${cfg.settings.incomplete-dir}/**,
|
||||
''}
|
||||
${optionalString cfg.settings.watch-dir-enabled ''
|
||||
rw ${cfg.settings.watch-dir}/**,
|
||||
''}
|
||||
profile dirs {
|
||||
rw ${cfg.settings.download-dir}/**,
|
||||
${optionalString cfg.settings.incomplete-dir-enabled ''
|
||||
rw ${cfg.settings.incomplete-dir}/**,
|
||||
''}
|
||||
${optionalString cfg.settings.watch-dir-enabled ''
|
||||
rw ${cfg.settings.watch-dir}/**,
|
||||
''}
|
||||
}
|
||||
|
||||
${optionalString (cfg.settings.script-torrent-done-enabled &&
|
||||
|
|
|
@ -383,6 +383,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
meta.maintainers = with maintainers; [ _1000101 ];
|
||||
|
||||
}
|
||||
|
|
127
nixos/modules/services/web-apps/rss-bridge.nix
Normal file
127
nixos/modules/services/web-apps/rss-bridge.nix
Normal 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};
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,22 +1,13 @@
|
|||
# This module allows the test driver to connect to the virtual machine
|
||||
# via a root shell attached to port 514.
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
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 = {
|
||||
|
||||
systemd.services.backdoor =
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "bitcoind";
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
|
||||
machine = { ... }: {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "blockbook-frontend";
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
|
||||
machine = { ... }: {
|
||||
|
|
|
@ -33,7 +33,7 @@ let
|
|||
in {
|
||||
name = "dokuwiki";
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
machine = { ... }: {
|
||||
services.dokuwiki."site1.local" = {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "trezord";
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
maintainers = with maintainers; [ mmahut maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ mmahut _1000101 ];
|
||||
};
|
||||
nodes = {
|
||||
machine = { ... }: {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "trickster";
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
|
|
@ -4,7 +4,7 @@ import ./make-test-python.nix (
|
|||
{
|
||||
name = "xandikos";
|
||||
|
||||
meta.maintainers = [ lib.maintainers."0x4A6F" ];
|
||||
meta.maintainers = with lib.maintainers; [ _0x4A6F ];
|
||||
|
||||
nodes = {
|
||||
xandikos_client = {};
|
||||
|
|
28
pkgs/applications/audio/bchoppr/default.nix
Normal file
28
pkgs/applications/audio/bchoppr/default.nix
Normal 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;
|
||||
};
|
||||
}
|
28
pkgs/applications/audio/bschaffl/default.nix
Normal file
28
pkgs/applications/audio/bschaffl/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "BSlizr";
|
||||
version = "1.2.6";
|
||||
version = "1.2.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = pname;
|
||||
rev = "${version}";
|
||||
sha256 = "1l0znwvvqd2s24c652q54pkizlh86mvmr8h0qqp9xma0i575fcrh";
|
||||
sha256 = "1f7xrljvsy7a1p8c7wln2zhwarl3ara7gbjxkpyh47wfdpigpdb0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
|
30
pkgs/applications/audio/freqtweak/default.nix
Normal file
30
pkgs/applications/audio/freqtweak/default.nix
Normal 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;
|
||||
};
|
||||
}
|
27
pkgs/applications/audio/geonkick/default.nix
Normal file
27
pkgs/applications/audio/geonkick/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
47
pkgs/applications/audio/gwc/default.nix
Normal file
47
pkgs/applications/audio/gwc/default.nix
Normal 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;
|
||||
};
|
||||
}
|
43
pkgs/applications/audio/kapitonov-plugins-pack/default.nix
Normal file
43
pkgs/applications/audio/kapitonov-plugins-pack/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
67
pkgs/applications/audio/uhhyou.lv2/default.nix
Normal file
67
pkgs/applications/audio/uhhyou.lv2/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -20,6 +20,14 @@ let
|
|||
));
|
||||
|
||||
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
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "neovim-unwrapped";
|
||||
|
@ -47,7 +55,7 @@ in
|
|||
libtermkey
|
||||
libuv
|
||||
libvterm-neovim
|
||||
lua.pkgs.luv.libluv
|
||||
luv.libluv
|
||||
msgpack
|
||||
ncurses
|
||||
neovimLuaEnv
|
||||
|
@ -88,10 +96,8 @@ in
|
|||
cmakeFlags = [
|
||||
"-DGPERF_PRG=${gperf}/bin/gperf"
|
||||
"-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 (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
|
||||
;
|
||||
|
|
|
@ -131,6 +131,21 @@ in stdenv.mkDerivation rec {
|
|||
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.
|
||||
PKG_CONFIG_GDK_PIXBUF_2_0_GDK_PIXBUF_MODULEDIR = "${librsvg}/${gdk-pixbuf.moduleDir}";
|
||||
|
||||
|
@ -155,21 +170,6 @@ in stdenv.mkDerivation rec {
|
|||
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; {
|
||||
description = "The GNU Image Manipulation Program";
|
||||
homepage = "https://www.gimp.org/";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
|
|||
description = "Multi-platform software designed to extract pages, split, merge, mix and rotate PDF files";
|
||||
license = licenses.agpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "element-desktop",
|
||||
"productName": "Element",
|
||||
"main": "src/electron-main.js",
|
||||
"version": "1.7.3",
|
||||
"version": "1.7.4",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Element",
|
||||
"repository": {
|
||||
|
@ -61,7 +61,7 @@
|
|||
},
|
||||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
"electronVersion": "9.0.5",
|
||||
"electronVersion": "9.1.2",
|
||||
"files": [
|
||||
"package.json",
|
||||
{
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
|
||||
let
|
||||
executableName = "element-desktop";
|
||||
version = "1.7.3";
|
||||
version = "1.7.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vector-im";
|
||||
repo = "riot-desktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "1qr00g2a8dibnkxn4pv9qkv09wwalfbgi2jq4wkq66anbgj9f39g";
|
||||
sha256 = "16ilkf5b8mz74x1r9fym5xjb4plxzhg3g5njj1sl4qvsbrkk6r9a";
|
||||
};
|
||||
electron = electron_9;
|
||||
|
||||
|
|
|
@ -12,11 +12,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "element-web";
|
||||
version = "1.7.3";
|
||||
version = "1.7.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
|
||||
sha256 = "0vlh89kilnpg90kdxlikfak03zdwhwj754xskgb27jal0iaw0r8s";
|
||||
sha256 = "0ssyd5b9yrxidivr3rcjsd8ixkmppsmmr7a8k0sv16yk7hjnvz5b";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -44,7 +44,7 @@ rustPlatform.buildRustPackage rec {
|
|||
description = "Experimental terminal mail client aiming for configurability and extensibility with sane defaults";
|
||||
homepage = "https://meli.delivery";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ maintainers."0x4A6F" matthiasbeyer erictapen ];
|
||||
maintainers = with maintainers; [ _0x4A6F matthiasbeyer erictapen ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -1,43 +1,36 @@
|
|||
{ stdenv, lib, fetchFromGitHub, makeWrapper, coreutils
|
||||
, openvpn, python, dialog, wget, update-resolv-conf }:
|
||||
{ lib, fetchFromGitHub, python3Packages, openvpn, dialog, iptables }:
|
||||
|
||||
let
|
||||
expectedUpdateResolvPath = "/etc/openvpn/update-resolv-conf";
|
||||
actualUpdateResolvePath = "${update-resolv-conf}/libexec/openvpn/update-resolv-conf";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "protonvpn-cli";
|
||||
version = "1.1.2";
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "protonvpn-linux-cli";
|
||||
version = "2.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ProtonVPN";
|
||||
repo = "protonvpn-cli";
|
||||
owner = "protonvpn";
|
||||
repo = "linux-cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "0xvflr8zf267n3dv63nkk4wjxhbckw56sqmyca3krf410vrd7zlv";
|
||||
sha256 = "08yca0a0prrnrc7ir7ajd56yxvxpcs4m1k8f5kf273f5whgr7wzw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
propagatedBuildInputs = (with python3Packages; [
|
||||
requests
|
||||
docopt
|
||||
setuptools
|
||||
jinja2
|
||||
pythondialog
|
||||
]) ++ [
|
||||
dialog
|
||||
openvpn
|
||||
iptables
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
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"
|
||||
'';
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "ProtonVPN Command-Line Tool";
|
||||
homepage = "https://github.com/ProtonVPN/protonvpn-cli";
|
||||
maintainers = with maintainers; [ caugner ];
|
||||
license = licenses.mit;
|
||||
meta = with lib; {
|
||||
description = "Linux command-line client for ProtonVPN";
|
||||
homepage = "https://github.com/protonvpn/linux-cli";
|
||||
maintainers = with maintainers; [ jtcoolen jefflabonte ];
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
86
pkgs/applications/networking/protonvpn-gui/default.nix
Normal file
86
pkgs/applications/networking/protonvpn-gui/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -23,8 +23,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Libraries required for the higher-level Qubes daemons and tools";
|
||||
homepage = "https://qubes-os.org";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers."0x4A6F" ];
|
||||
maintainers = with maintainers; [ _0x4A6F ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
57
pkgs/applications/radio/direwolf/default.nix
Normal file
57
pkgs/applications/radio/direwolf/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vampire";
|
||||
version = "4.4";
|
||||
version = "4.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vprover";
|
||||
repo = "vampire";
|
||||
rev = version;
|
||||
sha256 = "0v2fdfnk7l5xr5c4y54r25g1nbp4vi85zv29nbklh3r7aws3w9q1";
|
||||
sha256 = "0q9gqyq96amdnhxgwjyv0r2sxakikp3jvmizgj2h0spfz643p8db";
|
||||
};
|
||||
|
||||
buildInputs = [ z3 zlib ];
|
||||
|
|
|
@ -1,53 +1,66 @@
|
|||
{ lib
|
||||
, substituteAll
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, distutils_extra
|
||||
, setuptools-git
|
||||
, fetchFromGitLab
|
||||
# native
|
||||
, intltool
|
||||
, pygtk
|
||||
, libX11
|
||||
, libXtst
|
||||
, wrapGAppsHook
|
||||
, gnome3
|
||||
, file
|
||||
# not native
|
||||
, xorg
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, python3
|
||||
}:
|
||||
buildPythonApplication rec {
|
||||
pname = "screenkey";
|
||||
version = "0.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wavexx";
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "screenkey";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "screenkey";
|
||||
repo = "screenkey";
|
||||
rev = "screenkey-${version}";
|
||||
sha256 = "14g7fiv9n7m03djwz1pp5034pffi87ssvss9bc1q8vq0ksn23vrw";
|
||||
rev = "v${version}";
|
||||
sha256 = "1x13n57iy2pg3h3r994q3g5nbmh2gwk3qidmmcv0g7qa89n2gwbj";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./paths.patch;
|
||||
inherit libX11 libXtst;
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
distutils_extra
|
||||
setuptools-git
|
||||
python3.pkgs.distutils_extra
|
||||
# Shouldn't be needed once https://gitlab.com/screenkey/screenkey/-/issues/122 is fixed.
|
||||
intltool
|
||||
|
||||
# We are not sure why is this needed, but without it we get "file: command
|
||||
# not found" errors during build.
|
||||
file
|
||||
wrapGAppsHook
|
||||
# for setup hook
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome3.adwaita-icon-theme
|
||||
gtk3
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pygtk
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
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
|
||||
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; {
|
||||
homepage = "https://www.thregr.org/~wavexx/software/screenkey/";
|
||||
description = "A screencast tool to display your keys inspired by Screenflick";
|
||||
|
|
|
@ -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
|
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "A lightweight and efficient window manager for X11";
|
||||
homepage = "https://github.com/leahneukirchen/cwm";
|
||||
maintainers = with maintainers; [ maintainers."0x4A6F" mkf ];
|
||||
maintainers = with maintainers; [ _0x4A6F mkf ];
|
||||
license = licenses.isc;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
|
|
@ -1,27 +1,30 @@
|
|||
{ stdenv, lib, fetchurl, python, zip, fop }:
|
||||
{ stdenv, lib, fetchFromGitHub, python3, pandoc }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "bgnet";
|
||||
version = "3.0.21";
|
||||
# to be found in the Makefile
|
||||
version = "3.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://beej.us/guide/bgnet/bgnet.tgz";
|
||||
sha256 = "00ggr5prc5i3w9gaaw2sadfq6haq7lmh0vdilaxx8xz9z5znxvyv";
|
||||
src = fetchFromGitHub {
|
||||
owner = "beejjorgensen";
|
||||
repo = "bgnet";
|
||||
rev = "782a785a35d43c355951b8151628d7c64e4d0346";
|
||||
sha256 = "19w0r3zr71ydd29amqwn8q3npgrpy5kkshyshyji2hw5hky6iy92";
|
||||
};
|
||||
|
||||
buildInputs = [ python zip fop ];
|
||||
|
||||
preBuild = ''
|
||||
sed -i "s/#disable=1/disable=1/" bin/bgvalidate
|
||||
buildPhase = ''
|
||||
# build scripts need some love
|
||||
patchShebangs .
|
||||
patchShebangs bin/preproc
|
||||
|
||||
make -C src bgnet.html
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv * $out/
|
||||
install -Dm644 src/bgnet.html $out/share/doc/bgnet/html/index.html
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ python3 pandoc ];
|
||||
|
||||
meta = {
|
||||
description = "Beej’s Guide to Network Programming";
|
||||
homepage = "https://beej.us/guide/bgnet/";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -19,7 +19,8 @@ let
|
|||
version = lib.removeSuffix "R" rev;
|
||||
|
||||
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 = {
|
||||
|
|
|
@ -42,13 +42,13 @@
|
|||
|
||||
let self = stdenv.mkDerivation rec {
|
||||
pname = "mutter";
|
||||
version = "3.36.4";
|
||||
version = "3.36.5";
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0p3jglw6f2h67kwk89qz1rz23y25lip8m2mp2xshf2vrg4a930as";
|
||||
sha256 = "1py7sqrpvg2qvswxclshysx7hd9jk65i6cwqsagd6rg6rnjhblp0";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -1,23 +1,64 @@
|
|||
{ stdenv, fetchurl, pkgconfig, gnome3, intltool, itstool, gtk3
|
||||
, wrapGAppsHook, librsvg, libxml2, desktop-file-utils
|
||||
, guile_2_0, libcanberra-gtk3 }:
|
||||
{ stdenv
|
||||
, fetchFromGitLab
|
||||
, pkg-config
|
||||
, gnome3
|
||||
, itstool
|
||||
, gtk3
|
||||
, wrapGAppsHook
|
||||
, meson
|
||||
, librsvg
|
||||
, libxml2
|
||||
, desktop-file-utils
|
||||
, pysolfc
|
||||
, guile
|
||||
, libcanberra-gtk3
|
||||
, ninja
|
||||
, appstream-glib
|
||||
, yelp-tools
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aisleriot";
|
||||
version = "3.22.9";
|
||||
version = "3.22.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0yzdh9cw5cjjgvfh75bihl968czlgfmpmn1z0fdk88sgvpjgzwji";
|
||||
src = fetchFromGitLab {
|
||||
owner = "GNOME";
|
||||
repo = pname;
|
||||
domain = "gitlab.gnome.org";
|
||||
rev = "${version}";
|
||||
sha256 = "1asm0y6485xqsysdg586y3hzz8bhxqwnc82k6vhfnxpxz7l62qa1";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
"--with-card-theme-formats=svg"
|
||||
"--with-platform=gtk-only" # until they remove GConf
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
meson
|
||||
ninja
|
||||
appstream-glib
|
||||
pkg-config
|
||||
itstool
|
||||
libxml2
|
||||
desktop-file-utils
|
||||
yelp-tools
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool itstool wrapGAppsHook libxml2 desktop-file-utils ];
|
||||
buildInputs = [ gtk3 librsvg guile_2_0 libcanberra-gtk3 ];
|
||||
buildInputs = [
|
||||
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 = {
|
||||
updateScript = gnome3.updateScript {
|
||||
|
|
|
@ -107,6 +107,11 @@ stdenv.mkDerivation (rec {
|
|||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
# https://gitlab.haskell.org/ghc/ghc/-/issues/18549
|
||||
patches = [
|
||||
./issue-18549.patch
|
||||
];
|
||||
|
||||
postPatch = "patchShebangs .";
|
||||
|
||||
# GHC is a bit confused on its cross terminology.
|
||||
|
|
296
pkgs/development/compilers/ghc/issue-18549.patch
Normal file
296
pkgs/development/compilers/ghc/issue-18549.patch
Normal 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
|
||||
|
|
@ -81,6 +81,7 @@ in stdenv.mkDerivation (rec {
|
|||
rm test/DebugInfo/X86/convert-debugloc.ll
|
||||
rm test/DebugInfo/X86/convert-inlined.ll
|
||||
rm test/DebugInfo/X86/convert-linked.ll
|
||||
rm test/DebugInfo/X86/debug_addr.ll
|
||||
rm test/tools/dsymutil/X86/op-convert.test
|
||||
'' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") ''
|
||||
# Seems to require certain floating point hardware (NEON?)
|
||||
|
|
25
pkgs/development/libraries/redkite/default.nix
Normal file
25
pkgs/development/libraries/redkite/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
45
pkgs/development/python-modules/aiojobs/default.nix
Normal file
45
pkgs/development/python-modules/aiojobs/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -2,23 +2,28 @@
|
|||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, azure-common
|
||||
, azure-core
|
||||
, azure-storage-common
|
||||
, msrest
|
||||
, isPy3k
|
||||
, futures
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-storage-blob";
|
||||
version = "2.1.0";
|
||||
version = "12.4.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "b90323aad60f207f9f90a0c4cf94c10acc313c20b39403398dfba51f25f7b454";
|
||||
extension = "zip";
|
||||
sha256 = "1s03daq5mxh9acbv8qpa55c2wmjvdf8jq071cwv65mrly8prp84n";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
azure-common
|
||||
azure-core
|
||||
azure-storage-common
|
||||
msrest
|
||||
] ++ lib.optional (!isPy3k) futures;
|
||||
|
||||
# has no tests
|
||||
|
|
|
@ -12,12 +12,13 @@
|
|||
, cramfsprogs
|
||||
, cramfsswap
|
||||
, lzma
|
||||
, matplotlib
|
||||
, nose
|
||||
, pycrypto
|
||||
, pyqtgraph ? null }:
|
||||
|
||||
let
|
||||
visualizationSupport = (pyqtgraph != null);
|
||||
visualizationSupport = (pyqtgraph != null) && (matplotlib != null);
|
||||
version = "2.2.0";
|
||||
in
|
||||
buildPythonPackage {
|
||||
|
@ -32,7 +33,7 @@ buildPythonPackage {
|
|||
};
|
||||
|
||||
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
|
||||
postPatch = ''
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "blis";
|
||||
version = "0.4.1";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "d69257d317e86f34a7f230a2fd1f021fd2a1b944137f40d8cdbb23bd334cd0c4";
|
||||
sha256 = "014771a0f753a64ef5610c5b3d4a090b263073bdd59b8ad0d872ce1e06e7315a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
{ stdenv, buildPythonPackage, fetchPypi
|
||||
, frozendict, simplejson, six
|
||||
, frozendict, simplejson, six, isPy27
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "canonicaljson";
|
||||
version = "1.1.4";
|
||||
version = "1.3.0";
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "45bce530ff5fd0ca93703f71bfb66de740a894a3b5dd6122398c6d8f18539725";
|
||||
sha256 = "0v2b72n28fi763xxv9vrf4qc61anl2ys9njy7hlm719fdaq3sxml";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -60,6 +60,7 @@ buildPythonPackage rec {
|
|||
"test_argwhere_str"
|
||||
"test_count_nonzero_str"
|
||||
"rolling_methods" # floating percision error ~0.1*10^8 small
|
||||
"num_workers_config" # flaky
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
|
56
pkgs/development/python-modules/finalfusion/default.nix
Normal file
56
pkgs/development/python-modules/finalfusion/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "prawcore";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
disabled = isPy27; # see https://github.com/praw-dev/prawcore/pull/101
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "cf71388d869becbcbdfd90258b19d2173c197a457f2dd0bef0566b6cfb9b95a1";
|
||||
sha256 = "1f1eafc8a65d671f9892354f73142014fbb5d3a9ee621568c662d0a354e0578b";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -6,18 +6,23 @@
|
|||
# pythonPackages
|
||||
, django
|
||||
, pylint-plugin-utils
|
||||
|
||||
# pythonPackages for checkInputs
|
||||
, coverage
|
||||
, factory_boy
|
||||
, pytest
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pylint-django";
|
||||
version = "2.1.0";
|
||||
version = "2.3.0";
|
||||
disabled = !isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PyCQA";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1gvbh2a480x3ddrq6xzray7kdsz8nb8n16xm2lf03w2nqnsdbkwy";
|
||||
sha256 = "1088waraiigi2bnlighn7bvnvqmpx5fbw70c8jd8sh25mj38wgly";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -25,8 +30,14 @@ buildPythonPackage rec {
|
|||
pylint-plugin-utils
|
||||
];
|
||||
|
||||
# Testing requires checkout from other repositories
|
||||
doCheck = false;
|
||||
checkInputs = [ coverage factory_boy pytest ];
|
||||
|
||||
# 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; {
|
||||
description = "A Pylint plugin to analyze Django applications";
|
||||
|
|
|
@ -17,6 +17,6 @@ buildPythonPackage rec {
|
|||
description = "Reference implementation of SLIP-0039";
|
||||
homepage = "https://github.com/trezor/python-shamir-mnemonic";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -55,6 +55,7 @@ buildPythonPackage rec {
|
|||
|
||||
postPatch = ''
|
||||
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 "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" \
|
||||
|
|
|
@ -60,6 +60,7 @@ buildPythonPackage rec {
|
|||
|
||||
postPatch = ''
|
||||
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 "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"
|
||||
|
|
|
@ -55,6 +55,6 @@ buildPythonPackage rec {
|
|||
description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
|
||||
homepage = "https://github.com/trezor/trezor-firmware/tree/master/python";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ np prusnak mmahut maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ np prusnak mmahut _1000101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "tflint";
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "terraform-linters";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0644hzb7cpcqksl7j6v11dcq26la7g5l1svkmgm9c674gbv7argv";
|
||||
sha256 = "14pgsx136ibaf1mqkwn8ibnn4g6q5xx0r7xbijj521v12m145i8g";
|
||||
};
|
||||
|
||||
vendorSha256 = "1khb8rdy5agj904nig6dfhagckvfcx79f028wcvwr625la3pcjfc";
|
||||
vendorSha256 = "0bzd58ry5k100mjgvl1mxz7aysm75s4vkilcykrqy1s5sc0h3ng5";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jenkins";
|
||||
version = "2.235.3";
|
||||
version = "2.235.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
|
||||
sha256 = "109rycgy8bg3na173vz5f3bq7w33a6kap8158kx6zhignni451p8";
|
||||
sha256 = "02zpnqhdkhg8p8cddkqklgihjpwcbnybkcw5rspipz6kiyqzg1n7";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
{ stdenv, buildGoPackage, fetchFromGitHub }:
|
||||
{ stdenv, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "gocode-gomod-unstable";
|
||||
version = "2019-03-27";
|
||||
rev = "81059208699789f992bb4a4a3fedd734e335468d";
|
||||
|
||||
goPackagePath = "github.com/stamblerre/gocode";
|
||||
buildGoModule rec {
|
||||
pname = "gocode-gomod";
|
||||
version = "1.0.0";
|
||||
|
||||
# we must allow references to the original `go` package,
|
||||
# because `gocode` needs to dig into $GOROOT to provide completions for the
|
||||
|
@ -15,14 +12,13 @@ buildGoPackage rec {
|
|||
excludedPackages = ''internal/suggest/testdata'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
|
||||
owner = "stamblerre";
|
||||
repo = "gocode";
|
||||
sha256 = "0y5lc7sq3913mvvczwx8mq5l3l9yg34jzaw742q8jpd1jzqyza94";
|
||||
rev = "v${version}";
|
||||
sha256 = "YAOYrPPKgnjCErq8+iW0Le51clGBv0MJy2Nnn7UVo/s=";
|
||||
};
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
vendorSha256 = null;
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/gocode $out/bin/gocode-gomod
|
||||
|
|
11
pkgs/development/tools/gocode-gomod/deps.nix
generated
11
pkgs/development/tools/gocode-gomod/deps.nix
generated
|
@ -1,11 +0,0 @@
|
|||
[
|
||||
{
|
||||
goPackagePath = "golang.org/x/tools";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/tools";
|
||||
rev = "78dc5bac0cacea7969e98b79c3b86597e0aa4e25";
|
||||
sha256 = "16jg2x1sfm39kz4rchn0gxyq99fnkxw6v51wxriqbs76a2wrznp9";
|
||||
};
|
||||
}
|
||||
]
|
|
@ -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 {
|
||||
pname = "cargo-crev";
|
||||
version = "0.16.1";
|
||||
version = "0.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crev-dev";
|
||||
repo = "cargo-crev";
|
||||
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 ];
|
||||
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
{
|
||||
rust-analyzer-unwrapped = callPackage ./generic.nix rec {
|
||||
rev = "2020-08-10";
|
||||
rev = "2020-08-17";
|
||||
version = "unstable-${rev}";
|
||||
sha256 = "0hf9gpvgq7whrc5gnfhc0wjqddp3xpi3azvdccb4yql2pcznz3rh";
|
||||
cargoSha256 = "1bwch08y2av7aj2l5pvhdxdq24c8favxppz5zcd88rx4brlwn2bq";
|
||||
sha256 = "1lkqhaygl6wak3hypmn3zb2h0v4n082xbpaywmzqr53vhw678sp0";
|
||||
cargoSha256 = "00a2fxq1kwybng3gp33lkad4c7wrz0gypigxkalqkyy4nbg3qil4";
|
||||
};
|
||||
|
||||
rust-analyzer = callPackage ./wrapper.nix {} {
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "postman";
|
||||
version = "7.26.0";
|
||||
version = "7.30.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.pstmn.io/download/version/${version}/linux64";
|
||||
sha256 = "05xs389bf0127n8rdivbfxvgjvlrk9pyr74klswwlksxciv74i3j";
|
||||
sha256 = "18bphn5m42z9x0igafd259q7i88qn7wcxvvhdjv9ldnvmhf1k935";
|
||||
name = "${pname}.tar.gz";
|
||||
};
|
||||
|
||||
|
|
|
@ -19,6 +19,6 @@ buildGoPackage rec {
|
|||
description = "A command line tool for shopify themes";
|
||||
homepage = "https://shopify.github.io/themekit/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
homepage = "https://github.com/nicohman/eidolon";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers."0x4A6F" ];
|
||||
maintainers = with maintainers; [ _0x4A6F ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -62,15 +62,15 @@ let
|
|||
binDists = {
|
||||
x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
|
||||
alpha = {
|
||||
stable = bdist { sha256 = "1fg2wnia6anzya4m53jf2xqwwspvwskz3awdb3j0v3fzijps94wc"; version = "0.17.79"; withAuth = true; };
|
||||
experimental = bdist { sha256 = "0la4590lf4gssdcf29qm73mz901dnp7cii712fcqw382qh9hbl9q"; version = "0.18.36"; withAuth = true; };
|
||||
stable = bdist { sha256 = "0zixscff0svpb0yg8nzczp2z4filqqxi1k0z0nrpzn2hhzhf1464"; version = "1.0.0"; withAuth = true; };
|
||||
experimental = bdist { sha256 = "0zixscff0svpb0yg8nzczp2z4filqqxi1k0z0nrpzn2hhzhf1464"; version = "1.0.0"; withAuth = true; };
|
||||
};
|
||||
headless = {
|
||||
stable = bdist { sha256 = "1pr39nm23fj83jy272798gbl9003rgi4vgsi33f2iw3dk3x15kls"; version = "0.17.79"; };
|
||||
experimental = bdist { sha256 = "0d64zzvp6zwz6p2izhhj998b6z8wd6r1b5p8mz1sbpz3v91sazj7"; version = "0.18.36"; };
|
||||
stable = bdist { sha256 = "0r0lplns8nxna2viv8qyx9mp4cckdvx6k20w2g2fwnj3jjmf3nc1"; version = "1.0.0"; };
|
||||
experimental = bdist { sha256 = "0r0lplns8nxna2viv8qyx9mp4cckdvx6k20w2g2fwnj3jjmf3nc1"; version = "1.0.0"; };
|
||||
};
|
||||
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 {
|
||||
|
|
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Space Invaders clone based on ncurses";
|
||||
homepage = "http://ninvaders.sourceforge.net/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
|
|||
|
||||
name = "steam-runtime";
|
||||
# from https://repo.steampowered.com/steamrt-images-scout/snapshots/
|
||||
version = "0.20200604.0";
|
||||
version = "0.20200720.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz";
|
||||
sha256 = "04ficg3lnf6ijwkj08094vgcsskfncnlhk61v2csls3wfwvkrmhv";
|
||||
sha256 = "03qdlr1xk84jb4c60ilis00vjhj70bxc0bbgk5g5b1883l2frljd";
|
||||
name = "scout-runtime-${version}.tar.gz";
|
||||
};
|
||||
|
||||
|
|
|
@ -4320,6 +4320,18 @@ let
|
|||
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 {
|
||||
pname = "vim-choosewin";
|
||||
version = "2019-09-17";
|
||||
|
@ -5689,6 +5701,18 @@ let
|
|||
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 {
|
||||
pname = "vim-mergetool";
|
||||
version = "2019-06-22";
|
||||
|
@ -6553,6 +6577,18 @@ let
|
|||
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 {
|
||||
pname = "vim-smt2";
|
||||
version = "2018-05-20";
|
||||
|
|
|
@ -14,6 +14,7 @@ andreshazard/vim-logreview
|
|||
AndrewRadev/splitjoin.vim
|
||||
andsild/peskcolor.vim
|
||||
andviro/flake8-vim
|
||||
andymass/vim-matchup
|
||||
andys8/vim-elm-syntax
|
||||
antoinemadec/coc-fzf
|
||||
ap/vim-css-color
|
||||
|
@ -233,6 +234,7 @@ konfekt/fastfold
|
|||
kristijanhusak/defx-git
|
||||
kristijanhusak/defx-icons
|
||||
kristijanhusak/deoplete-phpactor
|
||||
kristijanhusak/vim-carbon-now-sh
|
||||
kristijanhusak/vim-dirvish-git
|
||||
kristijanhusak/vim-hybrid-material
|
||||
kshenoy/vim-signature
|
||||
|
@ -420,6 +422,7 @@ powerman/vim-plugin-AnsiEsc
|
|||
PProvost/vim-ps1
|
||||
preservim/nerdcommenter
|
||||
preservim/nerdtree
|
||||
psliwka/vim-smoothie
|
||||
ptzz/lf.vim
|
||||
purescript-contrib/purescript-vim
|
||||
python-mode/python-mode
|
||||
|
|
|
@ -2,27 +2,24 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "smimesign";
|
||||
version = "v0.0.13";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "github";
|
||||
repo = "smimesign";
|
||||
rev = version;
|
||||
sha256 = "0higcg2rdz02c0n50vigg7w7bxc7wlmg1x2ygrbh3iwms5lc74vi";
|
||||
owner = "github";
|
||||
repo = "smimesign";
|
||||
rev = "v${version}";
|
||||
sha256 = "12f8vprp4v78l9ifrlql0mvpyw5qa8nlrh5ajq5js8wljzpx7wsv";
|
||||
};
|
||||
|
||||
vendorSha256 = "00000000000000000hlvwysx045nbw0xr5nngh7zj1wcqxhhm206";
|
||||
vendorSha256 = "1cldxykm9qj5rvyfafam45y5xj4f19700s2f9w7ndhxgfp9vahvz";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
buildFlagsArray = "-ldflags=-X main.versionString=${version}";
|
||||
buildFlagsArray = "-ldflags=-X main.versionString=v${version}";
|
||||
|
||||
meta = with lib; {
|
||||
description = "An S/MIME signing utility for macOS and Windows that is compatible with Git.";
|
||||
|
||||
homepage = "https://github.com/github/smimesign";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.darwin;
|
||||
description = "An S/MIME signing utility for macOS and Windows that is compatible with Git";
|
||||
homepage = "https://github.com/github/smimesign";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.darwin ++ platforms.windows;
|
||||
maintainers = [ maintainers.enorris ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
pname = "crda";
|
||||
|
@ -25,8 +25,7 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [ libgcrypt libnl ];
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
python3
|
||||
python3.pkgs.pycrypto
|
||||
python3Packages.pycrypto
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Firmware loader for Qualcomm Gobi USB chipsets";
|
||||
homepage = "https://www.codon.org.uk/~mjg59/gobi_loader/";
|
||||
license = with licenses; [ gpl2 ];
|
||||
maintainers = [ maintainers."0x4A6F" ];
|
||||
maintainers = with maintainers; [ _0x4A6F ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,15 +3,15 @@
|
|||
with stdenv.lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.8-rc7";
|
||||
extraMeta.branch = "5.8";
|
||||
version = "5.9-rc1";
|
||||
extraMeta.branch = "5.9";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will always add .0
|
||||
modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
||||
sha256 = "1v6ch9lwbckmv66w6ysj24ap41pfxq55ssrfkg0qyz2pv0mc1rxc";
|
||||
sha256 = "08x6s4wydbrr4rqq3zfxq6qmnha4ikn7m9rmdqd42hmxl2ynqxla";
|
||||
};
|
||||
|
||||
# Should the testing kernels ever be built on Hydra?
|
||||
|
|
|
@ -58,7 +58,7 @@ buildGoModule rec {
|
|||
description = "Trezor address/account balance backend";
|
||||
homepage = "https://github.com/trezor/blockbook";
|
||||
license = licenses.agpl3;
|
||||
maintainers = with maintainers; [ mmahut maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ mmahut _1000101 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ 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
|
||||
, readline, freeipmi, xorg, lz4, rdma-core, nixosTests
|
||||
, pmix
|
||||
|
@ -9,7 +9,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
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
|
||||
# because the latter does not keep older releases.
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||
repo = "slurm";
|
||||
# The release tags use - instead of .
|
||||
rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
|
||||
sha256 = "115f40k8y7d569nbl6g0mkyshgv925lawlwar7ib5296g30p97f0";
|
||||
sha256 = "071lwny7cj4idq0h03mmvkk4f4i6fgl3c5q8cvbh7z8px6k50cfp";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
@ -44,9 +44,9 @@ stdenv.mkDerivation rec {
|
|||
# this doesn't fix tests completely at least makes slurmd to launch
|
||||
hardeningDisable = [ "bindnow" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig libtool ];
|
||||
nativeBuildInputs = [ pkgconfig libtool python3 ];
|
||||
buildInputs = [
|
||||
curl python munge perl pam zlib
|
||||
curl python3 munge perl pam zlib
|
||||
libmysqlclient ncurses gtk2 lz4 rdma-core
|
||||
lua hwloc numactl readline freeipmi shadow.su
|
||||
pmix
|
||||
|
|
|
@ -9,11 +9,11 @@ let
|
|||
in
|
||||
buildPythonApplication rec {
|
||||
pname = "matrix-synapse";
|
||||
version = "1.18.0";
|
||||
version = "1.19.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0bqacma2ip0l053rfvxznbixs2rmb2dawqi2jq2zbqk5jqxhpaxi";
|
||||
sha256 = "1fl9p0cb442271hx7zjz8vp111xgvdpn4khk8bk3kl8z9hjs2l1p";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -4,11 +4,11 @@ with stdenv.lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "navidrome";
|
||||
version = "0.27.0";
|
||||
version = "0.29.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/deluan/navidrome/releases/download/v${version}/navidrome_${version}_Linux_x86_64.tar.gz";
|
||||
sha256 = "0givv23dx6hwzg0axwifrha17qafs19ag34vjz29xrj3smsl8zh3";
|
||||
sha256 = "0dpv68wvrslgfgh18mb8ficji6k1i9jiid9bfw786andf4rwghyc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -21,6 +21,6 @@ buildGoModule rec {
|
|||
description = "Provides a Prometheus exporter for the apcupsd Network Information Server (NIS)";
|
||||
homepage = "https://github.com/mdlayher/apcupsd_exporter";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ maintainers."1000101" mdlayher ];
|
||||
maintainers = with maintainers; [ _1000101 mdlayher ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ buildGoPackage rec {
|
|||
description = "Prometheus exporter that mines /proc to report on selected processes";
|
||||
homepage = "https://github.com/ncabatoff/process-exporter";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -23,6 +23,6 @@ buildGoModule rec {
|
|||
homepage = "https://github.com/timescale/timescale-prometheus";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers."0x4A6F" ];
|
||||
maintainers = with maintainers; [ _0x4A6F ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
|
|||
description = "An RPKI Validator written in Rust";
|
||||
homepage = "https://github.com/NLnetLabs/routinator";
|
||||
license = licenses.bsd3;
|
||||
maintainers = [ maintainers."0x4A6F" ];
|
||||
maintainers = with maintainers; [ _0x4A6F ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||
description = "A protocol for authentication, authorization and accounting (AAA) services for routers and network devices";
|
||||
homepage = "http://www.shrubbery.net/tac_plus/";
|
||||
license = licenses.free;
|
||||
maintainers = [ maintainers."0x4A6F" ];
|
||||
maintainers = with maintainers; [ _0x4A6F ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ buildGoPackage rec {
|
|||
description = "TREZOR Communication Daemon aka TREZOR Bridge";
|
||||
homepage = "https://trezor.io";
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ canndrew jb55 prusnak mmahut maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ canndrew jb55 prusnak mmahut _1000101 ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,6 @@ buildGoPackage rec {
|
|||
description = "Reverse proxy cache for the Prometheus HTTP APIv1";
|
||||
homepage = "https://github.com/Comcast/trickster";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl2;
|
||||
homepage = "https://www.dokuwiki.org";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ maintainers."1000101" ];
|
||||
maintainers = with maintainers; [ _1000101 ];
|
||||
};
|
||||
}
|
||||
|
|
33
pkgs/servers/web-apps/rss-bridge/default.nix
Normal file
33
pkgs/servers/web-apps/rss-bridge/default.nix
Normal 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
Loading…
Reference in a new issue