Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-07-01 00:01:35 +00:00 committed by GitHub
commit 7350c52b9b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
82 changed files with 977 additions and 371 deletions

View file

@ -1,41 +0,0 @@
name: "merge staging(-next)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 6 hours
- cron: '0 */6 * * *'
jobs:
sync-branch:
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Merge master into staging-next
id: staging_next
uses: devmasx/merge-branch@v1.3.1
with:
type: now
from_branch: master
target_branch: staging-next
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Merge staging-next into staging
id: staging
uses: devmasx/merge-branch@v1.3.1
with:
type: now
from_branch: staging-next
target_branch: staging
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v1
if: ${{ failure() }}
with:
issue-number: 105153
body: |
An automatic merge${{ (steps.staging_next.outcome == 'failure' && ' from master to staging-next') || ((steps.staging.outcome == 'failure' && ' from staging-next to staging') || '') }} [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View file

@ -0,0 +1,49 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (24h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 6 hours
- cron: '0 0 * * *'
jobs:
periodic-merge:
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
strategy:
# don't fail fast, so that all pairs are tried
fail-fast: false
# certain branches need to be merged in order, like master->staging-next->staging
# and disabling parallelism ensures the order of the pairs below.
max-parallel: 1
matrix:
pairs:
- from: master
into: haskell-updates
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v2
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@v1.3.1
with:
type: now
from_branch: ${{ matrix.pairs.from }}
target_branch: ${{ matrix.pairs.into }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v1
if: ${{ failure() }}
with:
issue-number: 105153
body: |
Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

55
.github/workflows/periodic-merge-6h.yml vendored Normal file
View file

@ -0,0 +1,55 @@
# This action periodically merges base branches into staging branches.
# This is done to
# * prevent conflicts or rather resolve them early
# * make all potential breakage happen on the staging branch
# * and make sure that all major rebuilds happen before the staging
# branch gets merged back into its base branch.
name: "Periodic Merges (6h)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 6 hours
- cron: '0 */6 * * *'
jobs:
periodic-merge:
if: github.repository_owner == 'NixOS'
runs-on: ubuntu-latest
strategy:
# don't fail fast, so that all pairs are tried
fail-fast: false
# certain branches need to be merged in order, like master->staging-next->staging
# and disabling parallelism ensures the order of the pairs below.
max-parallel: 1
matrix:
pairs:
- from: master
into: staging-next
- from: staging-next
into: staging
- from: release-21.05
into: staging-next-21.05
- from: staging-next-21.05
into: staging-21.05
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
steps:
- uses: actions/checkout@v2
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
uses: devmasx/merge-branch@v1.3.1
with:
type: now
from_branch: ${{ matrix.pairs.from }}
target_branch: ${{ matrix.pairs.into }}
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v1
if: ${{ failure() }}
with:
issue-number: 105153
body: |
Periodic merge from `${{ matrix.pairs.from }}` into `${{ matrix.pairs.into }}` has [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View file

@ -0,0 +1,31 @@
# Hy {#sec-language-hy}
## Installation {#ssec-hy-installation}
### Installation without packages {#installation-without-packages}
You can install `hy` via nix-env or by adding it to `configuration.nix` by reffering to it as a `hy` attribute. This kind of installation adds `hy` to your environment and it succesfully works with `python3`.
::: {.caution}
Packages that are installed with your python derivation, are not accesible by `hy` this way.
:::
### Installation with packages {#installation-with-packages}
Creating `hy` derivation with custom `python` packages is really simple and similar to the way that python does it. Attribute `hy` provides function `withPackages` that creates custom `hy` derivation with specified packages.
For example if you want to create shell with `matplotlib` and `numpy`, you can do it like so:
```ShellSession
$ nix-shell -p "hy.withPackages (ps: with ps; [ numpy matplotlib ])"
```
Or if you want to extend your `configuration.nix`:
```nix
{ # ...
environment.systemPackages = with pkgs; [
(hy.withPackages (py-packages: with py-packages; [ numpy matplotlib ]))
];
}
```

View file

@ -16,6 +16,7 @@
<xi:include href="gnome.section.xml" />
<xi:include href="go.section.xml" />
<xi:include href="haskell.section.xml" />
<xi:include href="hy.section.xml" />
<xi:include href="idris.section.xml" />
<xi:include href="ios.section.xml" />
<xi:include href="java.section.xml" />

View file

@ -10,74 +10,51 @@ let
description = "dataset/template options";
};
# Default values from https://github.com/jimsalterjrs/sanoid/blob/master/sanoid.defaults.conf
commonOptions = {
hourly = mkOption {
description = "Number of hourly snapshots.";
type = types.ints.unsigned;
default = 48;
type = with types; nullOr ints.unsigned;
default = null;
};
daily = mkOption {
description = "Number of daily snapshots.";
type = types.ints.unsigned;
default = 90;
type = with types; nullOr ints.unsigned;
default = null;
};
monthly = mkOption {
description = "Number of monthly snapshots.";
type = types.ints.unsigned;
default = 6;
type = with types; nullOr ints.unsigned;
default = null;
};
yearly = mkOption {
description = "Number of yearly snapshots.";
type = types.ints.unsigned;
default = 0;
type = with types; nullOr ints.unsigned;
default = null;
};
autoprune = mkOption {
description = "Whether to automatically prune old snapshots.";
type = types.bool;
default = true;
type = with types; nullOr bool;
default = null;
};
autosnap = mkOption {
description = "Whether to automatically take snapshots.";
type = types.bool;
default = true;
};
settings = mkOption {
description = ''
Free-form settings for this template/dataset. See
<link xlink:href="https://github.com/jimsalterjrs/sanoid/blob/master/sanoid.defaults.conf"/>
for allowed values.
'';
type = datasetSettingsType;
type = with types; nullOr bool;
default = null;
};
};
commonConfig = config: {
settings = {
hourly = mkDefault config.hourly;
daily = mkDefault config.daily;
monthly = mkDefault config.monthly;
yearly = mkDefault config.yearly;
autoprune = mkDefault config.autoprune;
autosnap = mkDefault config.autosnap;
};
};
datasetOptions = {
useTemplate = mkOption {
datasetOptions = rec {
use_template = mkOption {
description = "Names of the templates to use for this dataset.";
type = (types.listOf (types.enum (attrNames cfg.templates))) // {
description = "list of template names";
};
type = types.listOf (types.enum (attrNames cfg.templates));
default = [];
};
useTemplate = use_template;
recursive = mkOption {
description = "Whether to recursively snapshot dataset children.";
@ -85,19 +62,12 @@ let
default = false;
};
processChildrenOnly = mkOption {
process_children_only = mkOption {
description = "Whether to only snapshot child datasets if recursing.";
type = types.bool;
default = false;
};
};
datasetConfig = config: {
settings = {
use_template = mkDefault config.useTemplate;
recursive = mkDefault config.recursive;
process_children_only = mkDefault config.processChildrenOnly;
};
processChildrenOnly = process_children_only;
};
# Extract pool names from configured datasets
@ -109,11 +79,11 @@ let
else generators.mkValueStringDefault {} v;
mkKeyValue = k: v: if v == null then ""
else if k == "processChildrenOnly" then ""
else if k == "useTemplate" then ""
else generators.mkKeyValueDefault { inherit mkValueString; } "=" k v;
in generators.toINI { inherit mkKeyValue; } cfg.settings;
configDir = pkgs.writeTextDir "sanoid.conf" configFile;
in {
# Interface
@ -135,19 +105,21 @@ in {
};
datasets = mkOption {
type = types.attrsOf (types.submodule ({ config, ... }: {
type = types.attrsOf (types.submodule ({config, options, ...}: {
freeformType = datasetSettingsType;
options = commonOptions // datasetOptions;
config = mkMerge [ (commonConfig config) (datasetConfig config) ];
config.use_template = mkAliasDefinitions (options.useTemplate or {});
config.process_children_only = mkAliasDefinitions (options.processChildrenOnly or {});
}));
default = {};
description = "Datasets to snapshot.";
};
templates = mkOption {
type = types.attrsOf (types.submodule ({ config, ... }: {
type = types.attrsOf (types.submodule {
freeformType = datasetSettingsType;
options = commonOptions;
config = commonConfig config;
}));
});
default = {};
description = "Templates for datasets.";
};
@ -177,8 +149,8 @@ in {
config = mkIf cfg.enable {
services.sanoid.settings = mkMerge [
(mapAttrs' (d: v: nameValuePair ("template_" + d) v.settings) cfg.templates)
(mapAttrs (d: v: v.settings) cfg.datasets)
(mapAttrs' (d: v: nameValuePair ("template_" + d) v) cfg.templates)
(mapAttrs (d: v: v) cfg.datasets)
];
systemd.services.sanoid = {
@ -191,7 +163,7 @@ in {
ExecStart = lib.escapeShellArgs ([
"${pkgs.sanoid}/bin/sanoid"
"--cron"
"--configdir" configDir
"--configdir" (pkgs.writeTextDir "sanoid.conf" configFile)
] ++ cfg.extraArgs);
ExecStopPost = map (pool: lib.escapeShellArgs [
"+/run/booted-system/sw/bin/zfs" "unallow" "sanoid" pool

View file

@ -453,6 +453,7 @@ in
{ ExecStart =
(optionalString cfg.startWhenNeeded "-") +
"${cfgc.package}/bin/sshd " + (optionalString cfg.startWhenNeeded "-i ") +
"-D " + # don't detach into a daemon process
"-f /etc/ssh/sshd_config";
KillMode = "process";
} // (if cfg.startWhenNeeded then {

View file

@ -34,7 +34,7 @@ in {
systemd.packages = [ cfg.package ];
systemd.services.tailscaled = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.openresolv ];
path = [ pkgs.openresolv pkgs.procps ];
serviceConfig.Environment = [
"PORT=${toString cfg.port}"
''"FLAGS=--tun ${lib.escapeShellArg cfg.interfaceName}"''

View file

@ -30,6 +30,9 @@ in
package = lib.mkOption {
type = lib.types.package;
default = pkgs.discourse;
apply = p: p.override {
plugins = lib.unique (p.enabledPlugins ++ cfg.plugins);
};
defaultText = "pkgs.discourse";
description = ''
The discourse package to use.
@ -731,8 +734,6 @@ in
cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/
cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/
cp -r ${cfg.package}/share/discourse/plugins.dist/* /run/discourse/plugins/
${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} /run/discourse/plugins/") cfg.plugins}
ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads
ln -sf /var/lib/discourse/backups /run/discourse/public/backups

View file

@ -33,7 +33,7 @@ in {
autosnap = true;
};
datasets."pool/sanoid".useTemplate = [ "test" ];
datasets."pool/sanoid".use_template = [ "test" ];
extraArgs = [ "--verbose" ];
};

View file

@ -10,6 +10,9 @@
# Attributes inherit from specific versions
, version, src, meta, sourceRoot
, executableName, longName, shortName, pname, updateScript
# sourceExecutableName is the name of the binary in the source archive, over
# which we have no control
, sourceExecutableName ? executableName
}:
let
@ -77,12 +80,12 @@ let
'' + (if system == "x86_64-darwin" then ''
mkdir -p "$out/Applications/${longName}.app" $out/bin
cp -r ./* "$out/Applications/${longName}.app"
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${executableName}" $out/bin/${executableName}
ln -s "$out/Applications/${longName}.app/Contents/Resources/app/bin/${sourceExecutableName}" $out/bin/${executableName}
'' else ''
mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/bin/${executableName} $out/bin
ln -s $out/lib/vscode/bin/${sourceExecutableName} $out/bin/${executableName}
mkdir -p $out/share/applications
ln -s $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop

View file

@ -25,6 +25,7 @@ in
version = "1.57.1";
pname = "vscode";
sourceExecutableName = "code";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
shortName = "Code" + lib.optionalString isInsiders " - Insiders";

View file

@ -1,20 +1,28 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv }:
{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, installShellFiles }:
rustPlatform.buildRustPackage rec {
pname = "flavours";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "Misterio77";
repo = pname;
rev = "v${version}";
sha256 = "sha256-rDy859jg+F8XC4sJogIgdn1FoT8cf7S+KORt+7kboAc=";
sha256 = "1bgi6p7l0bh9k4vkwvngk7q19ynia0z1ninb1cq8qnwwpll6kbya";
};
buildInputs = [ ]
++ lib.optionals stdenv.isDarwin [ libiconv ];
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
cargoSha256 = "sha256-I8ZH35L2CVLy6ypmdOPd8VEG/sQeGaHyT1HWNdwyZVo=";
cargoSha256 = "07hwxhfcbqbwb3hz18w92h1lhdiwwy7abhwpimzx7syyavp4rmn4";
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd flavours \
--zsh <($out/bin/flavours --completions zsh) \
--fish <($out/bin/flavours --completions fish) \
--bash <($out/bin/flavours --completions bash)
'';
meta = with lib; {
description = "An easy to use base16 scheme manager/builder that integrates with any workflow";

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "hugo";
version = "0.84.2";
version = "0.84.3";
src = fetchFromGitHub {
owner = "gohugoio";
repo = pname;
rev = "v${version}";
sha256 = "sha256-NE4vXtczzcL5f0/aDYeGnleBwsDBTzojSaek/LzowFo=";
sha256 = "sha256-3SbF4JsanNup0JmtEoZlyu3SvMn01r+nhnPgIi/W8pA=";
};
vendorSha256 = "sha256-ImXTOtN6kQL7Q8IBlmK7+i47cWtyZT0xcnQdCw3NvWM=";

View file

@ -44,6 +44,7 @@ let
inherit version;
sha256 = "63509b41d158ae5b7f67eb4ad20fecbb4eee99434e73e140354dc3ff8e09716f";
};
propagatedBuildInputs = [ self.six ];
}
);
}

View file

@ -8,22 +8,22 @@
rustPlatform.buildRustPackage rec {
pname = "reddsaver";
version = "0.3.2";
version = "0.3.3";
src = fetchFromGitHub {
owner = "manojkarthick";
repo = "reddsaver";
rev = "v${version}";
sha256 = "0ffci3as50f55n1v36hji4n0b3lkch5ylc75awjz65jz2gd2y2j4";
sha256 = "1czsy1bb0ja650sndwzq9rcbbhcci7s7ablw0agaynhi403shavv";
};
cargoSha256 = "1xf26ldgfinzpakcp65w52fdl3arsm053vfnq7gk2fwnq55cjwl0";
cargoSha256 = "0wr6y7mfffaqdh6i5nqhx692dih159121sm6k0i37wcdvxhvd51z";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ]
++ lib.optional stdenv.isDarwin Security;
# package does not contain tests as of v0.3.2
# package does not contain tests as of v0.3.3
docCheck = false;
meta = with lib; {

View file

@ -175,18 +175,6 @@ let
sha256 = "1bxdhxmiy6h4acq26lq43x2mxx6rawmfmlgsh5j7w8kyhkw5af0c";
revert = true;
})
# To fix build errors with the older system FFmpeg:
(githubPatch {
# unbundle: add libavcodec/packet.h to shim headers
commit = "e4d228ec30607b06bf3fed77497abef89c29966a";
sha256 = "02jg2bdmgjcpmk6alb72jc93wy3nf2fpa72hb4aarq337i2mwn4v";
})
(githubPatch {
# Roll src/third_party/ffmpeg/ 7e1d53a09..cf7ee6598 (1000 commits)
commit = "3ec3b2992238d4b4764f99f04605e154688c7990";
sha256 = "1fwb154s5qcis490rvcvm14zrmaj59g5lg9zg8ada36vw9hycbrf";
revert = true;
})
];
postPatch = ''

View file

@ -31,15 +31,15 @@
}
},
"dev": {
"version": "93.0.4549.3",
"sha256": "0bkr67n1d75ayd1d9sa57c99j85r83gadzfs8iw7kwiha9g0mjgp",
"sha256bin64": "1hac6m668nrdzvfqx3vyc74pnx8lf973m1jxnm3cfy83g7wynphz",
"version": "93.0.4557.4",
"sha256": "06397k5mkrrdrmd7icyvd1ifnmhincgw5nskgc3m436qzzifsab9",
"sha256bin64": "1q2c2dhx1yya6vhr82asf7h2zrv6kjzjv1a0zlfxkp3i6lnivgrd",
"deps": {
"gn": {
"version": "2021-06-18",
"version": "2021-06-25",
"url": "https://gn.googlesource.com/gn",
"rev": "170c2dba1e0c0299fe8c6a441caf2f2352a42ae0",
"sha256": "1ylx8a5fxq7aciqs0mx7fld763sqkqn39lb9k951w6gksm15lrn3"
"rev": "4d207c94eab41f09c9a8505eb47f3d2919e47943",
"sha256": "1jfgksa7rifh3ynnmd7m8xxggwxckz0jnwjaq9m5xapksb89hbn1"
}
}
},

View file

@ -4,16 +4,18 @@ let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform;
in
buildGoModule rec {
pname = "stern";
version = "1.14.0";
version = "1.19.0";
src = fetchFromGitHub {
owner = "stern";
repo = "stern";
rev = "v${version}";
sha256 = "sha256-8l/Tr+IxR3yPmt9hI70XuUQ4YEYzRTMLbo8BsngoU60=";
sha256 = "sha256-jgmURvc1did3YgtqWlAzFbWxc3jHHylOfCVOLeAC7V8=";
};
vendorSha256 = "sha256-pvFT4A7bDBvBf1odyv3z4inw1/IsvOA+++OPbfNjzxM=";
vendorSha256 = "sha256-p8WoFDwABXcO54WKP5bszoht2JdjHlRJjbG8cMyNo6A=";
subPackages = [ "." ];
nativeBuildInputs = [ installShellFiles ];

View file

@ -20,4 +20,6 @@
weechat-autosort = callPackage ./weechat-autosort { };
weechat-otr = callPackage ./weechat-otr { };
weechat-go = callPackage ./weechat-go { };
}

View file

@ -0,0 +1,26 @@
{ lib, stdenv, fetchurl, weechat }:
stdenv.mkDerivation {
pname = "weechat-go";
version = "2.7";
src = fetchurl {
url = "https://github.com/weechat/scripts/raw/414cff3ee605ba204b607742430a21443c035b08/python/go.py";
sha256 = "0bnbfpj1qg4yzwbikh1aw5ajc8l44lkb0y0m6mz8grpf5bxk5cwm";
};
dontUnpack = true;
passthru.scripts = [ "go.py" ];
installPhase = ''
install -D $src $out/share/go.py
'';
meta = with lib; {
inherit (weechat.meta) platforms;
description = "go.py is a weechat script to quickly jump to different buffers";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ govanify ];
};
}

View file

@ -9,18 +9,18 @@
buildGoModule rec {
pname = "shellhub-agent";
version = "0.7.1";
version = "0.7.2";
src = fetchFromGitHub {
owner = "shellhub-io";
repo = "shellhub";
rev = "v${version}";
sha256 = "0fgkjv7p2p0k58ifs77qfy0ni2yhrmk8rqyysjxq0im6j3f3az11";
sha256 = "02ka7acynkwkml2pavlv4j5vkm6x5aq5sfxgydv26qzs39f1wdgc";
};
modRoot = "./agent";
vendorSha256 = "1avl5xvav9y2vni5w3ksvrcz67x2kkadqw9p1cfq5rkjny1c2jrg";
vendorSha256 = "18z3vwcwkyj6hcvl35qmj034237h9l18dvcbx1hxry7qdwv807c9";
buildFlagsArray = [ "-ldflags=-s -w -X main.AgentVersion=v${version}" ];

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "git-repo";
version = "2.15.4";
version = "2.16";
src = fetchFromGitHub {
owner = "android";
repo = "tools_repo";
rev = "v${version}";
sha256 = "1ayw2pz9falcsi528q63z3w7npzkk7y8z258danqh41j6q9871js";
sha256 = "sha256-F36MuqgVkKM2RCIGEGJmL3/KpZy3eDRZ7WWUE15mTfU=";
};
# Fix 'NameError: name 'ssl' is not defined'

View file

@ -18,6 +18,7 @@ index f6d8fa3..5f0657d 100644
+ "${LIBOBS_INCLUDE_DIR}/../UI/obs-frontend-api")
+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/version.h)
set(move-transition_HEADERS
@@ -38,4 +49,10 @@ target_link_libraries(move-transition
libobs)

View file

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
cp ${obs-studio.src}/cmake/external/FindLibobs.cmake FindLibobs.cmake
'';
patches = [ ./0001-Use-FindLibobs.cmake.patch ];
patches = [ ./obs-move-transition-use-FindLibobs.cmake.patch ];
postPatch = ''
substituteInPlace move-source-filter.c --replace '<../UI/obs-frontend-api/obs-frontend-api.h>' '<obs-frontend-api.h>'

View file

@ -12,19 +12,20 @@
, pixman
, udev
, libevdev
, libinput
, libX11
, libGL
}:
stdenv.mkDerivation rec {
pname = "river";
version = "unstable-2021-06-06";
version = "unstable-2021-06-27";
src = fetchFromGitHub {
owner = "ifreund";
repo = pname;
rev = "0e9dc089d14e2b5c923d483c62d342af29493cf0";
sha256 = "sha256-2rIZYr9Y+IBrox5MVrPpHeI8OVSXHsMZmcCagsX56lU=";
rev = "39578db1344ca298f2bb2fe2278a35108d5f2b66";
sha256 = "sha256-DQroN+FV7sq0PyczERZgnW73YKAVvj2JJQjfzidlBI8=";
fetchSubmodules = true;
};
@ -38,6 +39,7 @@ stdenv.mkDerivation rec {
pixman
udev
libevdev
libinput
libX11
libGL
];

View file

@ -0,0 +1,29 @@
{ mkXfceDerivation, lib, python3, intltool, gettext,
gtk3, libxfce4ui, libxfce4util, pango, harfbuzz, gdk-pixbuf, atk }:
let
pythonEnv = python3.withPackages(ps: [ ps.pygobject3 ]);
makeTypelibPath = lib.makeSearchPathOutput "lib/girepository-1.0" "lib/girepository-1.0";
in mkXfceDerivation {
category = "apps";
pname = "xfce4-panel-profiles";
version = "1.0.13";
sha256 = "sha256-B3Q5d3KBN5m8wY82CIbIugJC8nNS+OcgKchn+TGrDhc=";
nativeBuildInputs = [ intltool gettext ];
propagatedBuildInputs = [ pythonEnv ];
configurePhase = ''
./configure --prefix=$out
'';
postFixup = ''
wrapProgram $out/bin/xfce4-panel-profiles \
--set GI_TYPELIB_PATH ${makeTypelibPath [ gtk3 libxfce4ui libxfce4util pango harfbuzz gdk-pixbuf atk ]}
'';
meta = {
description = "Simple application to manage Xfce panel layouts";
};
}

View file

@ -93,6 +93,8 @@ lib.makeScope pkgs.newScope (self: with self; {
xfburn = callPackage ./applications/xfburn { };
xfce4-panel-profiles = callPackage ./applications/xfce4-panel-profiles { };
#### ART
xfce4-icon-theme = callPackage ./art/xfce4-icon-theme { };

View file

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
for f in $out/bin/*
do
wrapProgram $f \
--prefix PATH : ${stdenv.cc}/bin
--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}
done
'';

View file

@ -0,0 +1,40 @@
{ lib
, python3Packages
, hyDefinedPythonPackages /* Packages like with python.withPackages */
, ...
}:
python3Packages.buildPythonApplication rec {
pname = "hy";
version = "1.0a1";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "sha256-lCrbvbkeutSNmvvn/eHpTnJwPb5aEH7hWTXYSE+AJmU=";
};
checkInputs = with python3Packages; [ flake8 pytest ];
propagatedBuildInputs = with python3Packages; [
appdirs
astor
clint
colorama
fastentrypoints
funcparserlib
rply
pygments
] ++ (hyDefinedPythonPackages python3Packages);
# Hy does not include tests in the source distribution from PyPI, so only test executable.
checkPhase = ''
$out/bin/hy --help > /dev/null
'';
meta = with lib; {
description = "A LISP dialect embedded in Python";
homepage = "https://hylang.org/";
license = licenses.mit;
maintainers = with maintainers; [ nixy mazurel ];
platforms = platforms.all;
};
}

View file

@ -1,37 +1,15 @@
{ lib, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "hy";
version = "0.19.0";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "05k05qmiiysiwdc05sxmanwhv1crfwbb3l8swxfisbzbvmv1snis";
};
checkInputs = with python3Packages; [ flake8 pytest ];
propagatedBuildInputs = with python3Packages; [
appdirs
astor
clint
colorama
fastentrypoints
funcparserlib
rply
pygments
];
# Hy does not include tests in the source distribution from PyPI, so only test executable.
checkPhase = ''
$out/bin/hy --help > /dev/null
'';
meta = with lib; {
description = "A LISP dialect embedded in Python";
homepage = "http://hylang.org/";
license = licenses.mit;
maintainers = with maintainers; [ nixy ];
platforms = platforms.all;
};
{ lib
, callPackage
, hyDefinedPythonPackages ? python-packages: [] /* Packages like with python.withPackages */
}:
let
withPackages = (
python-packages: callPackage ./builder.nix {
hyDefinedPythonPackages = python-packages;
}
);
in
(withPackages hyDefinedPythonPackages) // {
# Export withPackages function for hy customization
inherit withPackages;
}

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "virglrenderer";
version = "0.8.2";
version = "0.9.1";
src = fetchurl {
url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/virglrenderer-${version}/virglrenderer-virglrenderer-${version}.tar.bz2";
sha256 = "07vfzg99wq92yg2phza9jc0zvps34yy9gc8v4hibqchdl77fmspx";
sha256 = "1h76a1ylhh4niq33sa5knx033sr4k2816vibh4m58j54y7qc6346";
};
buildInputs = [ libGLU epoxy libX11 libdrm mesa ];

View file

@ -1,24 +1,42 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, python
, pytestCheckHook
, pygments
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiocoap";
version = "0.4b3";
version = "0.4.1";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "chrysn";
repo = pname;
rev = version;
sha256 = "1zjg475xgvi19rqg7jmfgy5nfabq50aph0231p9jba211ps7cmxw";
sha256 = "0k7ii2l3n139f8712ja6w3z73xiwlfsjgdc4k5c514ni2w6w2yjc";
};
checkPhase = ''
${python.interpreter} -m aiocoap.cli.defaults
${python.interpreter} -m unittest discover -v
'';
propagatedBuildInputs = [
pygments
];
checkInputs = [
pytestCheckHook
];
disabledTestPaths = [
# Don't test the plugins
"tests/test_tls.py"
"tests/test_reverseproxy.py"
"tests/test_oscore_plugtest.py"
];
disabledTests = [
# Communication is not properly mocked
"test_uri_parser"
];
pythonImportsCheck = [ "aiocoap" ];

View file

@ -0,0 +1,43 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, poetry-core
, aiohttp
}:
buildPythonPackage rec {
pname = "aiomusiccast";
version = "0.8.0";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "vigonotion";
repo = "aiomusiccast";
rev = version;
sha256 = "1x55w2vhb5mgvlg19cs887xd7fg0cwnp6hb34vajp80q4yff9xk5";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
];
# upstream has no tests
doCheck = false;
pythonImportsCheck = [ "aiomusiccast" ];
meta = with lib; {
description = "Companion library for musiccast devices intended for the Home Assistant integration";
homepage = "https://github.com/vigonotion/aiomusiccast";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -1,7 +1,6 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, poetry-core
, python
, pythonOlder
@ -9,7 +8,7 @@
buildPythonPackage rec {
pname = "async-dns";
version = "1.1.9";
version = "1.1.10";
disabled = pythonOlder "3.6";
format = "pyproject";
@ -17,23 +16,13 @@ buildPythonPackage rec {
owner = "gera2ld";
repo = "async_dns";
rev = "v${version}";
sha256 = "1z8j0s3dwcyavarhx41q75k1cmfzmwiqdh4svv3v15np26cywyag";
sha256 = "1yxmdlf2n66kp2mprsd4bvfsf63l4c4cfkjm2rm063pmlifz2fvj";
};
nativeBuildInputs = [
poetry-core
];
patches = [
# Switch to poetry-core, https://github.com/gera2ld/async_dns/pull/22
# Can be remove for async-dns>1.1.9
(fetchpatch {
name = "switch-to-poetry-core.patch";
url = "https://github.com/gera2ld/async_dns/commit/25fee497aae3bde0ddf9f8804d249a27edbe607e.patch";
sha256 = "0w4zlppnp1a2q1wasc95ymqx3djswl32y5nw6fvz3nn8jg4gc743";
})
];
checkPhase = ''
export HOME=$TMPDIR
# Test needs network access

View file

@ -2,30 +2,25 @@
, buildPythonPackage
, fetchPypi
, pythonAtLeast
, fetchpatch
, chardet
, attrs
, commoncode
, pytestCheckHook
, setuptools-scm
}:
buildPythonPackage rec {
pname = "debian-inspector";
version = "0.9.10";
version = "21.5.25";
src = fetchPypi {
pname = "debian_inspector";
inherit version;
sha256 = "fd29a02b925a4de0d7bb00c29bb05f19715a304bc10ef7b9ad06a93893dc3a8c";
sha256 = "1d3xaqw00kav85nk29qm2yqb73bkyqf185fs1q0vgd7bnap9wqaw";
};
patches = lib.optionals (pythonAtLeast "3.9") [
# https://github.com/nexB/debian-inspector/pull/15
# fixes tests on Python 3.9
(fetchpatch {
name = "drop-encoding-argument.patch";
url = "https://github.com/nexB/debian-inspector/commit/ff991cdb788671ca9b81f1602b70a439248fd1aa.patch";
sha256 = "bm3k7vb9+Rm6+YicQEeDOOUVut8xpDaNavG+t2oLZkI=";
})
nativeBuildInputs = [
setuptools-scm
];
dontConfigure = true;

View file

@ -4,15 +4,16 @@
, plugincode
, p7zip
}:
buildPythonPackage rec {
pname = "extractcode-7z";
version = "21.4.4";
version = "21.5.31";
src = fetchFromGitHub {
owner = "nexB";
repo = "scancode-plugins";
rev = "v${version}";
sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
sha256 = "02qinla281fc6pmg5xzsrmqnf9js76f2qcbf98zq7m2dkn70as4w";
};
sourceRoot = "source/builtins/extractcode_7z-linux";

View file

@ -15,13 +15,13 @@
buildPythonPackage rec {
pname = "extractcode-libarchive";
version = "21.4.4";
version = "21.5.31";
src = fetchFromGitHub {
owner = "nexB";
repo = "scancode-plugins";
rev = "v${version}";
sha256 = "xnUGDMS34iMVMGo/nZwRarGzzbj3X4Rt+YHvvKpmy6A=";
sha256 = "02qinla281fc6pmg5xzsrmqnf9js76f2qcbf98zq7m2dkn70as4w";
};
sourceRoot = "source/builtins/extractcode_libarchive-linux";

View file

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "guppy3";
version = "3.1.0";
version = "3.1.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "zhuyifei1999";
repo = pname;
rev = "v${version}";
sha256 = "0yjsn8najbic4f50nj6jzhzrhj1bw6918w0gihdkzhqynwgqi64m";
sha256 = "14iwah1i4dcn74zjj9sq3av1yh9q5nvgqwccnn71blp7gxcnxnvh";
};
propagatedBuildInputs = [ tkinter ];

View file

@ -35,8 +35,14 @@ buildPythonPackage rec {
yara-python
];
postPatch = ''
substituteInPlace requirements.txt \
--replace "pefile==2019.4.18" "pefile"
'';
# Project has no tests. They will come with the next release
doCheck = false;
pythonImportsCheck = [ "malduck" ];
meta = with lib; {

View file

@ -1,18 +1,19 @@
{ lib, buildPythonPackage, fetchFromGitHub, geopandas, descartes, matplotlib, networkx, numpy
, pandas, requests, Rtree, shapely, folium, scikit-learn, scipy}:
{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, geopandas, matplotlib, networkx, numpy
, pandas, requests, Rtree, shapely, folium, scikit-learn, scipy, gdal, rasterio}:
buildPythonPackage rec {
pname = "osmnx";
version = "0.9";
version = "1.1.1";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "gboeing";
repo = pname;
rev = "v${version}";
sha256 = "1k3y5kl4k93vxaxyanc040x44s2fyyc3m1ndy2j3kg0037z8ad4z";
sha256 = "0dkv3fnlq23d7d30lhdf4a313lxy3a5qfldidvszs1z9n16ycnwb";
};
propagatedBuildInputs = [ geopandas descartes matplotlib networkx numpy pandas requests Rtree shapely folium scikit-learn scipy ];
propagatedBuildInputs = [ geopandas matplotlib networkx numpy pandas requests Rtree shapely folium scikit-learn scipy gdal rasterio ];
# requires network
doCheck = false;

View file

@ -1,24 +1,34 @@
{ buildPythonPackage
{ lib
, buildPythonPackage
, future
, fetchPypi
, lib
, fetchFromGitHub
, setuptools-scm
, pythonOlder
}:
buildPythonPackage rec {
pname = "pefile";
version = "2019.4.18";
version = "2021.5.24";
disabled = pythonOlder "3.6";
propagatedBuildInputs = [ future ];
src = fetchPypi {
inherit pname version;
sha256 = "a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645";
src = fetchFromGitHub {
owner = "erocarrera";
repo = pname;
rev = "v${version}";
sha256 = "0qdy88dvy29ixsyfqdcvf3w6rz09vpimk0568i09v1ayhs52p62k";
};
# Test data encrypted.
nativeBuildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
future
];
# Test data encrypted
doCheck = false;
# Verify import still works.
pythonImportsCheck = [ "pefile" ];
meta = with lib; {

View file

@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "pyahocorasick";
version = "1.4.0";
version = "1.4.1";
src = fetchFromGitHub {
owner = "WojciechMula";
repo = pname;
rev = version;
sha256 = "0plm9x2gziayjsl7flsgn1z8qx88c9vqm4fs1wq7dv7fr188liik";
sha256 = "13x3718if28l50474xrz1b9709kvnvdg3nzm6y8bh7mc9a4zyss5";
};
checkInputs = [ pytestCheckHook ];

View file

@ -0,0 +1,34 @@
{ lib
, buildPythonPackage
, pythonOlder
, fetchPypi
, aiohttp
}:
buildPythonPackage rec {
pname = "pyfreedompro";
version = "1.1.0";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "92812070a0c74761fa0c8cac98ddbe0bca781c8de80e2b08dbd04492e831c172";
};
propagatedBuildInputs = [
aiohttp
];
# upstream has no tests
doCheck = false;
pythonImportsCheck = [ "aiohttp" ];
meta = with lib; {
description = "Python library for Freedompro API";
homepage = "https://github.com/stefano055415/pyfreedompro";
license = licenses.mit;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -5,13 +5,13 @@
buildPythonPackage rec {
pname = "pysyncobj";
version = "0.3.7";
version = "0.3.8";
src = fetchFromGitHub {
owner = "bakwc";
repo = "PySyncObj";
rev = version;
sha256 = "0i7gjapaggkfvys4rgd4krpmh6mxwpzv30ngiwb6ddgp8jx0nzxk";
sha256 = "sha256-T7ecy5/1eF0pYaOv74SBEp6V6Z23E2b9lo5Q/gig3Cw=";
};
# Tests require network features

View file

@ -10,12 +10,12 @@
buildPythonPackage rec {
pname = "pytest-cases";
version = "3.6.1";
version = "3.6.2";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "2009845554d3169dca99a7397d9904e5dbb58726c7417e8c308dda86f8966311";
sha256 = "1hipm73s97dx37la57aif1x7myidirfslr1k6apvwyc2929y2lsk";
};
nativeBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pytibber";
version = "0.18.0";
version = "0.19.0";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "Danielhiversen";
repo = "pyTibber";
rev = version;
sha256 = "sha256-612BBDgVcdpOsEl2Hc+oCDFmSPGjHvfmVr7i7zdfB/o=";
sha256 = "sha256-9xKt6OspdM7zWbVzjtvDPYuGyIW3K6ioASt53LOgdvk=";
};
propagatedBuildInputs = [

View file

@ -2,23 +2,24 @@
, cython, setuptools
, numpy, affine, attrs, cligj, click-plugins, snuggs, gdal
, pytest, pytestcov, packaging, hypothesis, boto3, mock
, certifi, shapely
}:
buildPythonPackage rec {
pname = "rasterio";
version = "1.1.5";
version = "1.2.6";
# Pypi doesn't ship the tests, so we fetch directly from GitHub
src = fetchFromGitHub {
owner = "mapbox";
repo = "rasterio";
rev = version;
sha256 = "168b6hmx026jsvhnq6s5k0qfhzda02mmx1alax6wqk16mk63mqcz";
sha256 = "sha256-rf2qdUhbS4Z2+mvlN1RzZvlgTgjqiBoQzry4z5QLSUc=";
};
checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
checkInputs = [ boto3 pytest pytestcov packaging hypothesis shapely ] ++ lib.optional (!isPy3k) mock;
nativeBuildInputs = [ cython gdal ];
propagatedBuildInputs = [ gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
propagatedBuildInputs = [ certifi gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
meta = with lib; {
description = "Python package to read and write geospatial raster data";

View file

@ -1,36 +1,28 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, requests
, future
, kinparse
, enum34
, pyspice
, graphviz
, pillow
, cffi
}:
buildPythonPackage rec {
pname = "skidl";
version = "unstable-2020-09-15";
version = "1.0.0";
src = fetchFromGitHub {
owner = "xesscorp";
repo = "skidl";
rev = "551bdb92a50c0894b0802c0a89b4cb62a5b4038f";
sha256 = "1g65cyxpkqshgsggav2q3f76rbj5pzh7sacyhmhzvfz4zfarkcxk";
rev = version;
sha256 = "1m0hllvmr5nkl4zy8yyzfgw9zmbrrzd5pw87ahd2mq68fjpcaqq5";
};
propagatedBuildInputs = [
requests
future
kinparse
enum34
pyspice
graphviz
pillow
cffi
];
# Checks require availability of the kicad symbol libraries.
@ -38,8 +30,8 @@ buildPythonPackage rec {
pythonImportsCheck = [ "skidl" ];
meta = with lib; {
description = "SKiDL is a module that extends Python with the ability to design electronic circuits";
homepage = "https://xesscorp.github.io/skidl/docs/_site/";
description = "Module that extends Python with the ability to design electronic circuits";
homepage = "https://xess.com/skidl/docs/_site/";
license = licenses.mit;
maintainers = with maintainers; [ matthuszagh ];
};

View file

@ -1,40 +0,0 @@
From d944d8fa6cb6d1667f3e4c4e0cff4c4b2a7c0a30 Mon Sep 17 00:00:00 2001
From: Cole Helbling <cole.e.helbling@outlook.com>
Date: Fri, 7 May 2021 11:00:46 -0700
Subject: [PATCH] Replace `debut` with `debian-inspector`
---
requirements.in | 2 +-
tern/analyze/common.py | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/requirements.in b/requirements.in
index edd90ab..5135841 100644
--- a/requirements.in
+++ b/requirements.in
@@ -12,6 +12,6 @@ requests
stevedore
pbr
dockerfile-parse
-debut
+debian-inspector
regex
GitPython
diff --git a/tern/analyze/common.py b/tern/analyze/common.py
index 6962404..0f5e77d 100644
--- a/tern/analyze/common.py
+++ b/tern/analyze/common.py
@@ -19,8 +19,8 @@ from tern.utils import cache
from tern.utils import constants
from tern.utils import general
from tern.utils import rootfs
-from debut import debcon
-from debut import copyright as debut_copyright
+from debian_inspector import debcon
+from debian_inspector import copyright as debut_copyright
# global logger
logger = logging.getLogger(constants.logger_name)
--
2.31.1

View file

@ -13,6 +13,7 @@
, prettytable
, idna
}:
buildPythonPackage rec {
pname = "tern";
version = "2.6.1";
@ -22,14 +23,6 @@ buildPythonPackage rec {
sha256 = "749c18ef493ebe3ac28624b2b26c6e38f77de2afd6a6579d2c92393d8fbdbd46";
};
patches = [
# debut was renamed to debian-inspector
# https://github.com/tern-tools/tern/pull/962
# NOTE: Has to be in-tree because the upstream patch doesn't apply cleanly
# to the PyPi source.
./0001-Replace-debut-with-debian-inspector.patch
];
preBuild = ''
cp requirements.{in,txt}
'';

View file

@ -1,30 +1,22 @@
{ lib
, stdenv
, fetchurl
, installShellFiles
, python3
}:
stdenv.mkDerivation rec {
python3.pkgs.buildPythonApplication rec {
pname = "flawfinder";
version = "2.0.15";
version = "2.0.18";
src = fetchurl {
url = "https://dwheeler.com/flawfinder/flawfinder-${version}.tar.gz";
sha256 = "01j4szy8gwvikrfzfayfayjnc1za0jxsnxp5fsa6d06kn69wyr8a";
sha256 = "1hk2y13fd2a5gf42a1hk45hw6pbls715wi9k1yh3c3wyhvbyylba";
};
nativeBuildInputs = [ installShellFiles ];
# Project is using a combination of bash/Python for the tests
doCheck = false;
buildInputs = [ python3 ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ${pname} $out/bin
installManPage flawfinder.1
runHook postInstall
'';
pythonImportsCheck = [ "flawfinder" ];
meta = with lib; {
description = "Tool to examines C/C++ source code for security flaws";

View file

@ -0,0 +1,40 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "kustomize_3";
version = "3.10.0";
# rev is the commit of the tag, mainly for kustomize version command output
rev = "602ad8aa98e2e17f6c9119e027a09757e63c8bec";
ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in [
"-s -w"
"-X ${t}.version=${version}"
"-X ${t}.gitCommit=${rev}"
];
src = fetchFromGitHub {
owner = "kubernetes-sigs";
repo = "kustomize";
rev = "kustomize/v${version}";
sha256 = "sha256-ESIykbAKXdv8zM9be0zEJ71rBAzZby0aTg25NlCsIOM=";
};
doCheck = true;
# avoid finding test and development commands
sourceRoot = "source/kustomize";
vendorSha256 = "sha256-xLeetcmzvpILLLMhMx7oahWLxguFjG3qbYpeeWpFUlw=";
meta = with lib; {
description = "Customization of kubernetes YAML configurations";
longDescription = ''
kustomize lets you customize raw, template-free YAML files for
multiple purposes, leaving the original YAML untouched and usable
as is.
'';
homepage = "https://github.com/kubernetes-sigs/kustomize";
license = licenses.asl20;
maintainers = with maintainers; [ carlosdagos vdemeester zaninime Chili-Man saschagrunert ];
};
}

View file

@ -58,8 +58,8 @@ let
inherit version;
src = fetchurl {
url = "https://dl.xonotic.org/xonotic-${version}.zip";
sha256 = "sha256-oi9yMPSGxYJbVc/a3XM5nJsPrpjJ4IHdisduygg1mtU=";
url = "https://dl.xonotic.org/xonotic-${version}-source.zip";
sha256 = "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay";
};
nativeBuildInputs = [ unzip ];
@ -120,7 +120,7 @@ let
in rec {
xonotic-data = fetchzip {
name = "xonotic-data";
url = "https://dl.xonotic.org/xonotic-data-${version}.zip";
url = "https://dl.xonotic.org/xonotic-${version}.zip";
sha256 = "1ygkh0v68y4sd1w5vpk8dgb65h5jm599hwszdfgjp3ax4d3ml81x";
extraPostFetch = ''
cd $out

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "firejail";
version = "0.9.64.4";
version = "0.9.66";
src = fetchFromGitHub {
owner = "netblue30";
repo = "firejail";
rev = version;
sha256 = "sha256-q/XL8cznHlUXdubUEptEAVma1jRUqFb5XcLAV0RVCzs=";
sha256 = "sha256-oKstTiGt0r4wePaZ9u1o78GZ1XWJ27aS0BdLxmfYk9Q=";
};
buildInputs = [ which ];

View file

@ -11,15 +11,15 @@ let
in
buildGoModule rec {
pname = "pomerium";
version = "0.14.4";
version = "0.14.7";
src = fetchFromGitHub {
owner = "pomerium";
repo = "pomerium";
rev = "v${version}";
hash = "sha256:097csr8f43cn0iq030ajvvpwnwcfmjxyyk6pcisdy937axlrzska";
hash = "sha256:1jb96jk5qmary4fi1z9zwmppdyskj0qb6qii8s8mwazjjxqj1z2s";
};
vendorSha256 = "sha256:0n45xvwjiqyh41dsm4z1rnkgkycf5wfmacm804hqnd5rz7xk2shf";
vendorSha256 = "sha256:1daabi9qc9nx8bafn26iw6rv4vx2xpd0nnk06265aqaksx26db0s";
subPackages = [
"cmd/pomerium"
"cmd/pomerium-cli"

View file

@ -12,11 +12,11 @@ let
in
buildPythonApplication rec {
pname = "matrix-synapse";
version = "1.37.0";
version = "1.37.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-BWGbfDBB1jX0PJSR8WCZE3FE1pDs0fRg8/fML3FsJHA=";
sha256 = "sha256-KxDHJrKm/QUZtOzI6MEpIUb4hTtxtIPLFuD1as3j4EA=";
};
patches = [

View file

@ -1,8 +1,11 @@
{ stdenv, makeWrapper, runCommandNoCC, lib, nixosTests, writeShellScript
, fetchFromGitHub, bundlerEnv, ruby, replace, gzip, gnutar, git, cacert
, util-linux, gawk, imagemagick, optipng, pngquant, libjpeg, jpegoptim
, gifsicle, libpsl, redis, postgresql, which, brotli, procps, rsync
, nodePackages, v8
, fetchFromGitHub, bundlerEnv, callPackage
, ruby, replace, gzip, gnutar, git, cacert, util-linux, gawk
, imagemagick, optipng, pngquant, libjpeg, jpegoptim, gifsicle, libpsl
, redis, postgresql, which, brotli, procps, rsync, nodePackages, v8
, plugins ? []
}:
let
@ -46,6 +49,35 @@ let
UNICORN_LISTENER = "/run/discourse/sockets/unicorn.sock";
};
mkDiscoursePlugin =
{ name ? null
, pname ? null
, version ? null
, meta ? null
, bundlerEnvArgs ? {}
, src
, ...
}@args:
let
rubyEnv = bundlerEnv (bundlerEnvArgs // {
inherit name pname version ruby;
});
in
stdenv.mkDerivation (builtins.removeAttrs args [ "bundlerEnvArgs" ] // {
inherit name pname version src meta;
pluginName = if name != null then name else "${pname}-${version}";
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r * $out/
'' + lib.optionalString (bundlerEnvArgs != {}) ''
ln -sf ${rubyEnv}/lib/ruby/gems $out/gems
'' + ''
runHook postInstall
'';
});
rake = runCommandNoCC "discourse-rake" {
nativeBuildInputs = [ makeWrapper ];
} ''
@ -121,6 +153,12 @@ let
nodePackages.uglify-js
];
patches = [
# Use the Ruby API version in the plugin gem path, to match the
# one constructed by bundlerEnv
./plugin_gem_api_version.patch
];
# We have to set up an environment that is close enough to
# production ready or the assets:precompile task refuses to
# run. This means that Redis and PostgreSQL has to be running and
@ -148,6 +186,8 @@ let
mkdir $NIX_BUILD_TOP/tmp_home
export HOME=$NIX_BUILD_TOP/tmp_home
${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} plugins/${p.pluginName or ""}") plugins}
export RAILS_ENV=production
bundle exec rake db:migrate >/dev/null
@ -195,6 +235,14 @@ let
# Log Unicorn messages to the journal and make request timeout
# configurable
./unicorn_logging_and_timeout.patch
# Use the Ruby API version in the plugin gem path, to match the
# one constructed by bundlerEnv
./plugin_gem_api_version.patch
# Use mv instead of rename, since rename doesn't work across
# device boundaries
./use_mv_instead_of_rename.patch
];
postPatch = ''
@ -203,8 +251,6 @@ let
# warnings and means we don't have to link back to lib from the
# state directory.
find config -type f -execdir sed -Ei "s,(\.\./)+(lib|app)/,$out/share/discourse/\2/," {} \;
${replace}/bin/replace-literal -f -r -e 'File.rename(temp_destination, destination)' "FileUtils.mv(temp_destination, destination)" .
'';
buildPhase = ''
@ -212,7 +258,6 @@ let
mv config config.dist
mv public public.dist
mv plugins plugins.dist
runHook postBuild
'';
@ -230,6 +275,7 @@ let
ln -sf /run/discourse/public $out/share/discourse/public
ln -sf /run/discourse/plugins $out/share/discourse/plugins
ln -sf ${assets} $out/share/discourse/public.dist/assets
${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} $out/share/discourse/plugins/${p.pluginName or ""}") plugins}
runHook postInstall
'';
@ -243,7 +289,9 @@ let
};
passthru = {
inherit rubyEnv runtimeEnv runtimeDeps rake;
inherit rubyEnv runtimeEnv runtimeDeps rake mkDiscoursePlugin;
enabledPlugins = plugins;
plugins = callPackage ./plugins/all-plugins.nix { inherit mkDiscoursePlugin; };
ruby = rubyEnv.wrappedRuby;
tests = nixosTests.discourse;
};

View file

@ -0,0 +1,13 @@
diff --git a/lib/plugin_gem.rb b/lib/plugin_gem.rb
index 855d1aca2c..8115623547 100644
--- a/lib/plugin_gem.rb
+++ b/lib/plugin_gem.rb
@@ -4,7 +4,7 @@ module PluginGem
def self.load(path, name, version, opts = nil)
opts ||= {}
- gems_path = File.dirname(path) + "/gems/#{RUBY_VERSION}"
+ gems_path = File.dirname(path) + "/gems/#{Gem.ruby_api_version}"
spec_path = gems_path + "/specifications"

View file

@ -0,0 +1,12 @@
{ mkDiscoursePlugin, newScope, fetchFromGitHub, ... }@args:
let
callPackage = newScope args;
in
{
discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {};
discourse-solved = callPackage ./discourse-solved {};
discourse-canned-replies = callPackage ./discourse-canned-replies {};
discourse-math = callPackage ./discourse-math {};
discourse-github = callPackage ./discourse-github {};
discourse-yearly-review = callPackage ./discourse-yearly-review {};
}

View file

@ -0,0 +1,11 @@
{ mkDiscoursePlugin, fetchFromGitHub }:
mkDiscoursePlugin {
name = "discourse-canned-replies";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-canned-replies";
rev = "7ee748f18a276aca42185e2079c1d4cadeecdaf8";
sha256 = "0j10kxfr6v2rdd58smg2i7iac46z74qnnjk8b91jd1svazhis1ph";
};
}

View file

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'sawyer', '0.8.2'
gem 'octokit', '4.21.0'

View file

@ -0,0 +1,37 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
faraday (1.4.2)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.1.0)
multipart-post (2.1.1)
octokit (4.21.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
public_suffix (4.0.6)
ruby2_keywords (0.0.4)
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
PLATFORMS
ruby
DEPENDENCIES
octokit (= 4.21.0)
sawyer (= 0.8.2)
BUNDLED WITH
2.1.4

View file

@ -0,0 +1,12 @@
{ mkDiscoursePlugin, fetchFromGitHub }:
mkDiscoursePlugin {
name = "discourse-github";
bundlerEnvArgs.gemdir = ./.;
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-github";
rev = "151e353a5a1971157c70c2e2b0f56387f212a81f";
sha256 = "00kra6zd2k1f2vwcdvxnxnammzh72f5qxcqbb94m0z6maj598wdy";
};
}

View file

@ -0,0 +1,126 @@
{
addressable = {
dependencies = ["public_suffix"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
type = "gem";
};
version = "2.7.0";
};
faraday = {
dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-net_http" "faraday-net_http_persistent" "multipart-post" "ruby2_keywords"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "07mhk70gv453pg38md346470hknyhipdqppnplq706ll3k3lzb7v";
type = "gem";
};
version = "1.4.2";
};
faraday-em_http = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs";
type = "gem";
};
version = "1.0.0";
};
faraday-em_synchrony = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6";
type = "gem";
};
version = "1.0.0";
};
faraday-excon = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh";
type = "gem";
};
version = "1.1.0";
};
faraday-net_http = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j";
type = "gem";
};
version = "1.0.1";
};
faraday-net_http_persistent = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
type = "gem";
};
version = "1.1.0";
};
multipart-post = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj";
type = "gem";
};
version = "2.1.1";
};
octokit = {
dependencies = ["faraday" "sawyer"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27";
type = "gem";
};
version = "4.21.0";
};
public_suffix = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
type = "gem";
};
version = "4.0.6";
};
ruby2_keywords = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
type = "gem";
};
version = "0.0.4";
};
sawyer = {
dependencies = ["addressable" "faraday"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz";
type = "gem";
};
version = "0.8.2";
};
}

View file

@ -0,0 +1,11 @@
{ mkDiscoursePlugin, fetchFromGitHub }:
mkDiscoursePlugin {
name = "discourse-math";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-math";
rev = "143ddea4558ea9a1b3fd71635bc11e055763c8e7";
sha256 = "18pq5ybl3g34i39cpixc3nszvq8gx5yji58zlbbl6428mm011cbx";
};
}

View file

@ -0,0 +1,11 @@
{ mkDiscoursePlugin, fetchFromGitHub }:
mkDiscoursePlugin {
name = "discourse-solved";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-solved";
rev = "179611766d53974308e6f7def21836997c3c55fc";
sha256 = "sha256:1s77h42d3bv2lqw33akxh8ss482vxnz4d7qz6xicwqfwv34qjf03";
};
}

View file

@ -0,0 +1,11 @@
{ mkDiscoursePlugin, fetchFromGitHub }:
mkDiscoursePlugin {
name = "discourse-spoiler-alert";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-spoiler-alert";
rev = "e200cfa571d252cab63f3d30d619b370986e4cee";
sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33";
};
}

View file

@ -0,0 +1,11 @@
{ mkDiscoursePlugin, fetchFromGitHub }:
mkDiscoursePlugin {
name = "discourse-yearly-review";
src = fetchFromGitHub {
owner = "discourse";
repo = "discourse-yearly-review";
rev = "d1471bdb68945f55342e72e2c525b4f628419a50";
sha256 = "sha256:0xpl0l1vpih8xzb6y7k1lm72nj4ya99378viyhqfvpwzsn5pha2a";
};
}

View file

@ -0,0 +1,22 @@
diff --git a/lib/discourse.rb b/lib/discourse.rb
index ea2a3cbafd..66454d9157 100644
--- a/lib/discourse.rb
+++ b/lib/discourse.rb
@@ -62,7 +62,7 @@ module Discourse
fd.fsync()
end
- File.rename(temp_destination, destination)
+ FileUtils.mv(temp_destination, destination)
nil
end
@@ -76,7 +76,7 @@ module Discourse
FileUtils.mkdir_p(File.join(Rails.root, 'tmp'))
temp_destination = File.join(Rails.root, 'tmp', SecureRandom.hex)
execute_command('ln', '-s', source, temp_destination)
- File.rename(temp_destination, destination)
+ FileUtils.mv(temp_destination, destination)
nil
end

View file

@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
];
mesonFlags = [
"-Dxwayland_eglstream=true"
"-Ddefault_font-path=${defaultFontPath}"
"-Ddefault_font_path=${defaultFontPath}"
"-Dxkb_bin_dir=${xkbcomp}/bin"
"-Dxkb_dir=${xkeyboard_config}/etc/X11/xkb"
"-Dxkb_output_dir=${placeholder "out"}/share/X11/xkb/compiled"

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, readline }:
{ stdenv, lib, fetchurl, withReadline ? true, readline }:
stdenv.mkDerivation rec {
pname = "oil";
@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin
'';
buildInputs = [ readline ];
configureFlags = [ "--with-readline" ];
buildInputs = lib.optional withReadline readline;
configureFlags = lib.optional withReadline "--with-readline";
# Stripping breaks the bundles by removing the zip file from the end.
dontStrip = true;

View file

@ -21,18 +21,18 @@ let
sources = name: system: {
x86_64-darwin = {
url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
sha256 = "1p8iv2axb5i8xnzm58dmmahxfwplj4r115mz63cl5q0iyy12npbh";
sha256 = "0viiwimnk26jfi4ypkvclqqxw8anlmch10zscjw69d8x1pyqczcd";
};
x86_64-linux = {
url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
sha256 = "0zcf9zabdg2r7d9vafxn4wf0j09im5lhycylf91g734zzh6vc267";
sha256 = "11113l8pyhq6vbsh79m5anh6ljss94zhnp33ghds9rn1gxa83hnb";
};
}.${system};
in stdenv.mkDerivation rec {
pname = "google-cloud-sdk";
version = "345.0.0";
version = "347.0.0";
src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);

View file

@ -0,0 +1,43 @@
{ lib
, fetchFromGitHub
, stdenvNoCC
}:
stdenvNoCC.mkDerivation rec {
pname = "complete-alias";
version = "1.10.0";
src = fetchFromGitHub {
owner = "cykerway";
repo = pname;
rev = version;
sha256 = "1s0prdnmb2qnzc8d7ddldzqa53yc10qq0lbgx2l9dzmz8pdwylyc";
};
buildPhase = ''
runHook preBuild
# required for the patchShebangs setup hook
chmod +x complete_alias
patchShebangs complete_alias
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r complete_alias "$out"/bin
runHook postInstall
'';
meta = with lib; {
description = "Automagical shell alias completion";
homepage = "https://github.com/cykerway/complete-alias";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ tuxinaut ];
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "cpufetch";
version = "0.94";
version = "0.98";
src = fetchFromGitHub {
owner = "Dr-Noob";
repo = "cpufetch";
rev = "v${version}";
sha256 = "1gncgkhqd8bnz254qa30yyl10qm28dwx6aif0dwrj38z5ql40ck9";
sha256 = "060hmkwmb5ybcrj9jfx9681zk92489kq71nl6nacn8nfqrcn3qdb";
};
nativeBuildInputs = [ installShellFiles ];
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
mkdir $out
install -Dm755 cpufetch $out/bin/cpufetch
install -Dm644 LICENSE $out/share/licenses/cpufetch/LICENSE
installManPage cpufetch.8
installManPage cpufetch.1
runHook postInstall
'';

View file

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, libnet, libpcap }:
stdenv.mkDerivation rec {
version = "2.21";
version = "2.22";
pname = "arping";
buildInputs = [ libnet libpcap ];
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "ThomasHabets";
repo = pname;
rev = "${pname}-${version}";
sha256 = "1i7rjn863bnq51ahbvypm1bkzhyshlm5b32yzdd9iaqyz7sa7pa7";
sha256 = "sha256-yFSLhhyz6i7xyJR8Ax8FnHFGNe/HE40YirkkeefBqC4=";
};
nativeBuildInputs = [ autoreconfHook ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "dnsproxy";
version = "0.38.0";
version = "0.38.1";
src = fetchFromGitHub {
owner = "AdguardTeam";
repo = pname;
rev = "v${version}";
sha256 = "sha256-dltCZ6g5Ta/M2N95TRkdLRr3T0YeKdkY88zE306AtDg=";
sha256 = "sha256-H0K38SX/mKsVjdQEa6vzx5TNRhqqomYk28+5Wl5H0sA=";
};
vendorSha256 = null;

View file

@ -1,8 +1,9 @@
{ lib
, python2
, python3
, fetchFromGitHub
}:
python2.pkgs.buildPythonPackage rec {
python3.pkgs.buildPythonPackage rec {
pname = "flare-floss";
version = "1.7.0";
@ -13,18 +14,17 @@ python2.pkgs.buildPythonPackage rec {
sha256 = "GMOA1+qM2A/Qw33kOTIINEvjsfqjWQWBXHNemh3IK8w=";
};
propagatedBuildInputs = with python2.pkgs; [
propagatedBuildInputs = with python3.pkgs; [
pyyaml
simplejson
tabulate
vivisect
plugnplay
viv-utils
enum34
];
checkInputs = [
python2.pkgs.pytestCheckHook
checkInputs = with python3.pkgs; [
pytestCheckHook
];
disabledTests = [

View file

@ -30,11 +30,11 @@ let
in
stdenv.mkDerivation rec {
pname = "tor";
version = "0.4.5.7";
version = "0.4.6.6";
src = fetchurl {
url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
sha256 = "0x7hhl0svfc4yh9xvq7kkzgmwjcw1ak9i0794wjg4biy2fmclzs4";
sha256 = "04ifi18cj4cw5lhfzgfrrc42j7qqdmbvxq24xlhj0dsmljdih8rl";
};
outputs = [ "out" "geoip" ];

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, cmake, nasm }:
{ lib, stdenv, fetchFromGitLab, cmake, nasm }:
stdenv.mkDerivation rec {
pname = "svt-av1";
version = "0.8.6";
version = "0.8.7";
src = fetchFromGitHub {
src = fetchFromGitLab {
owner = "AOMediaCodec";
repo = "SVT-AV1";
rev = "v${version}";
sha256 = "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw";
sha256 = "1xlxb6kn6hqz9dxz0nd905m4i2mwjwq1330rbabwzmg4b66cdslg";
};
nativeBuildInputs = [ cmake nasm ];
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
activities.
'';
inherit (src.meta) homepage;
changelog = "https://github.com/AOMediaCodec/SVT-AV1/blob/v${version}/CHANGELOG.md";
changelog = "https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v${version}/CHANGELOG.md";
license = with licenses; [
bsd2
{

View file

@ -13721,6 +13721,8 @@ in
kustomize = callPackage ../development/tools/kustomize { };
kustomize_3 = callPackage ../development/tools/kustomize/3.nix { };
kustomize-sops = callPackage ../development/tools/kustomize/kustomize-sops.nix { };
ktlint = callPackage ../development/tools/ktlint { };
@ -23266,6 +23268,8 @@ in
communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
complete-alias = callPackage ../tools/misc/complete-alias { };
confclerk = callPackage ../applications/misc/confclerk { };
copyq = libsForQt514.callPackage ../applications/misc/copyq { };

View file

@ -325,6 +325,8 @@ in {
aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { };
aiomusiccast = callPackage ../development/python-modules/aiomusiccast { };
aiomysql = callPackage ../development/python-modules/aiomysql { };
aionotify = callPackage ../development/python-modules/aionotify { };
@ -5325,6 +5327,8 @@ in {
pyflick = callPackage ../development/python-modules/pyflick { };
pyfreedompro = callPackage ../development/python-modules/pyfreedompro { };
pygti = callPackage ../development/python-modules/pygti { };
pyheos = callPackage ../development/python-modules/pyheos { };