Merge master into staging-next

This commit is contained in:
github-actions[bot] 2020-12-03 18:14:40 +00:00 committed by GitHub
commit 1aeec1f039
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 557 additions and 224 deletions

View File

@ -20,7 +20,7 @@
<xi:include href="shell-helpers.xml" />
<xi:include href="steam.xml" />
<xi:include href="cataclysm-dda.section.xml" />
<xi:include href="urxvt.xml" />
<xi:include href="urxvt.section.xml" />
<xi:include href="weechat.section.xml" />
<xi:include href="xorg.section.xml" />
</chapter>

View File

@ -0,0 +1,71 @@
# Urxvt {#sec-urxvt}
Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator.
## Configuring urxvt {#sec-urxvt-conf}
In `nixpkgs`, urxvt is provided by the package `rxvt-unicode`. It can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, use an overlay or directly install an expression that overrides its configuration, such as
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [ perls resize-font vtwheel ];
};
}
```
If the `configure` function returns an attrset without the `plugins` attribute, `availablePlugins` will be used automatically.
In order to add plugins but also keep all default plugins installed, it is possible to use the following method:
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ];
};
}
```
To get a list of all the plugins available, open the Nix REPL and run
```ShellSession
$ nix repl
:l <nixpkgs>
map (p: p.name) pkgs.rxvt-unicode.plugins
```
Alternatively, if your shell is bash or zsh and have completion enabled, simply type `nixpkgs.rxvt-unicode.plugins.<tab>`.
In addition to `plugins` the options `extraDeps` and `perlDeps` can be used to install extra packages. `extraDeps` can be used, for example, to provide `xsel` (a clipboard manager) to the clipboard plugin, without installing it globally:
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
pluginsDeps = [ xsel ];
};
}
```
`perlDeps` is a handy way to provide Perl packages to your custom plugins (in `$HOME/.urxvt/ext`). For example, if you need `AnyEvent` you can do:
```nix
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
perlDeps = with perlPackages; [ AnyEvent ];
};
}
```
## Packaging urxvt plugins {#sec-urxvt-pkg}
Urxvt plugins resides in `pkgs/applications/misc/rxvt-unicode-plugins`. To add a new plugin create an expression in a subdirectory and add the package to the set in `pkgs/applications/misc/rxvt-unicode-plugins/default.nix`.
A plugin can be any kind of derivation, the only requirement is that it should always install perl scripts in `$out/lib/urxvt/perl`. Look for existing plugins for examples.
If the plugin is itself a perl package that needs to be imported from other plugins or scripts, add the following passthrough:
```nix
passthru.perlPackages = [ "self" ];
```
This will make the urxvt wrapper pick up the dependency and set up the perl path accordingly.

View File

@ -1,115 +0,0 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-urxvt">
<title>Urxvt</title>
<para>
Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator.
</para>
<section xml:id="sec-urxvt-conf">
<title>Configuring urxvt</title>
<para>
In <literal>nixpkgs</literal>, urxvt is provided by the package
<literal>rxvt-unicode</literal>. It can be configured to include your choice
of plugins, reducing its closure size from the default configuration which
includes all available plugins. To make use of this functionality, use an
overlay or directly install an expression that overrides its configuration,
such as
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = with availablePlugins; [ perls resize-font vtwheel ];
};
}
</programlisting>
If the <literal>configure</literal> function returns an attrset without the
<literal>plugins</literal> attribute, <literal>availablePlugins</literal>
will be used automatically.
</para>
<para>
In order to add plugins but also keep all default plugins installed, it is
possible to use the following method:
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ];
};
}
</programlisting>
</para>
<para>
To get a list of all the plugins available, open the Nix REPL and run
<screen>
<prompt>$ </prompt>nix repl
:l &lt;nixpkgs&gt;
map (p: p.name) pkgs.rxvt-unicode.plugins
</screen>
Alternatively, if your shell is bash or zsh and have completion enabled,
simply type <literal>nixpkgs.rxvt-unicode.plugins.&lt;tab&gt;</literal>.
</para>
<para>
In addition to <literal>plugins</literal> the options
<literal>extraDeps</literal> and <literal>perlDeps</literal> can be used
to install extra packages.
<literal>extraDeps</literal> can be used, for example, to provide
<literal>xsel</literal> (a clipboard manager) to the clipboard plugin,
without installing it globally:
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
pluginsDeps = [ xsel ];
};
}
</programlisting>
<literal>perlDeps</literal> is a handy way to provide Perl packages to
your custom plugins (in <literal>$HOME/.urxvt/ext</literal>). For example,
if you need <literal>AnyEvent</literal> you can do:
<programlisting>
rxvt-unicode.override {
configure = { availablePlugins, ... }: {
perlDeps = with perlPackages; [ AnyEvent ];
};
}
</programlisting>
</para>
</section>
<section xml:id="sec-urxvt-pkg">
<title>Packaging urxvt plugins</title>
<para>
Urxvt plugins resides in
<literal>pkgs/applications/misc/rxvt-unicode-plugins</literal>.
To add a new plugin create an expression in a subdirectory and add the
package to the set in
<literal>pkgs/applications/misc/rxvt-unicode-plugins/default.nix</literal>.
</para>
<para>
A plugin can be any kind of derivation, the only requirement is that it
should always install perl scripts in <literal>$out/lib/urxvt/perl</literal>.
Look for existing plugins for examples.
</para>
<para>
If the plugin is itself a perl package that needs to be imported from
other plugins or scripts, add the following passthrough:
<programlisting>
passthru.perlPackages = [ "self" ];
</programlisting>
This will make the urxvt wrapper pick up the dependency and set up the perl
path accordingly.
</para>
</section>
</section>

View File

@ -1258,6 +1258,16 @@
githubId = 3043718;
name = "Brett Lyons";
};
brodes = {
email = "me@brod.es";
github = "brhoades";
githubId = 4763746;
name = "Billy Rhoades";
keys = [{
longkeyid = "rsa4096/0x8AE74787A4B7C07E";
fingerprint = "BF4FCB85C69989B4ED95BF938AE74787A4B7C07E";
}];
};
bryanasdev000 = {
email = "bryanasdev000@gmail.com";
github = "bryanasdev000";

View File

@ -15,7 +15,7 @@ let
# This doesn't work in general because of missing development information.
jack-libs = pkgs.runCommand "jack-libs" {} ''
mkdir -p "$out/lib"
ln -s "${pkgs.pipewire.jack}/lib" "$out/lib/pipewire"
ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire"
'';
in {
@ -28,6 +28,16 @@ in {
services.pipewire = {
enable = mkEnableOption "pipewire service";
package = mkOption {
type = types.package;
default = pkgs.pipewire;
defaultText = "pkgs.pipewire";
example = literalExample "pkgs.pipewire";
description = ''
The pipewire derivation to use.
'';
};
socketActivation = mkOption {
default = true;
type = types.bool;
@ -36,6 +46,32 @@ in {
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Literal string to append to /etc/pipewire/pipewire.conf.
'';
};
sessionManager = mkOption {
type = types.nullOr types.string;
default = null;
example = literalExample ''"''${pipewire}/bin/pipewire-media-session"'';
description = ''
Path to the pipewire session manager executable.
'';
};
sessionManagerArguments = mkOption {
type = types.listOf types.string;
default = [];
example = literalExample ''[ "-p" "bluez5.msbc-support=true" ]'';
description = ''
Arguments passed to the pipewire session manager.
'';
};
alsa = {
enable = mkEnableOption "ALSA support";
support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";
@ -65,38 +101,83 @@ in {
}
];
environment.systemPackages = [ pkgs.pipewire ]
services.pipewire.sessionManager = mkDefault "${cfg.package}/bin/pipewire-media-session";
environment.systemPackages = [ cfg.package ]
++ lib.optional cfg.jack.enable jack-libs;
systemd.packages = [ pkgs.pipewire ]
++ lib.optional cfg.pulse.enable pkgs.pipewire.pulse;
systemd.packages = [ cfg.package ]
++ lib.optional cfg.pulse.enable cfg.package.pulse;
# PipeWire depends on DBUS but doesn't list it. Without this booting
# into a terminal results in the service crashing with an error.
systemd.user.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ];
systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf (cfg.socketActivation && cfg.pulse.enable) ["sockets.target"];
systemd.user.services.pipewire.bindsTo = [ "dbus.service" ];
services.udev.packages = [ pkgs.pipewire ];
services.udev.packages = [ cfg.package ];
# If any paths are updated here they must also be updated in the package test.
sound.extraConfig = mkIf cfg.alsa.enable ''
pcm_type.pipewire {
libs.native = ${pkgs.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
${optionalString enable32BitAlsaPlugins
"libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
}
pcm.!default {
@func getenv
vars [ PCM ]
default "plug:pipewire"
playback_mode "-1"
capture_mode "-1"
}
'';
environment.etc."alsa/conf.d/49-pipewire-modules.conf" = mkIf cfg.alsa.enable {
text = ''
pcm_type.pipewire {
libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;
${optionalString enable32BitAlsaPlugins
"libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"}
}
ctl_type.pipewire {
libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;
${optionalString enable32BitAlsaPlugins
"libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"}
}
'';
};
environment.etc."alsa/conf.d/50-pipewire.conf" = mkIf cfg.alsa.enable {
source = "${pkgs.pipewire}/share/alsa/alsa.conf.d/50-pipewire.conf";
source = "${cfg.package}/share/alsa/alsa.conf.d/50-pipewire.conf";
};
environment.etc."alsa/conf.d/99-pipewire-default.conf" = mkIf cfg.alsa.enable {
source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf";
};
environment.sessionVariables.LD_LIBRARY_PATH =
lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire";
environment.etc."pipewire/pipewire.conf" = {
# Adapted from src/daemon/pipewire.conf.in
text = ''
set-prop link.max-buffers 16 # version < 3 clients can't handle more
add-spa-lib audio.convert* audioconvert/libspa-audioconvert
add-spa-lib api.alsa.* alsa/libspa-alsa
add-spa-lib api.v4l2.* v4l2/libspa-v4l2
add-spa-lib api.libcamera.* libcamera/libspa-libcamera
add-spa-lib api.bluez5.* bluez5/libspa-bluez5
add-spa-lib api.vulkan.* vulkan/libspa-vulkan
add-spa-lib api.jack.* jack/libspa-jack
add-spa-lib support.* support/libspa-support
load-module libpipewire-module-rtkit # rt.prio=20 rt.time.soft=200000 rt.time.hard=200000
load-module libpipewire-module-protocol-native
load-module libpipewire-module-profiler
load-module libpipewire-module-metadata
load-module libpipewire-module-spa-device-factory
load-module libpipewire-module-spa-node-factory
load-module libpipewire-module-client-node
load-module libpipewire-module-client-device
load-module libpipewire-module-portal
load-module libpipewire-module-access
load-module libpipewire-module-adapter
load-module libpipewire-module-link-factory
load-module libpipewire-module-session-manager
create-object spa-node-factory factory.name=support.node.driver node.name=Dummy priority.driver=8000
exec ${cfg.sessionManager} ${lib.concatStringsSep " " cfg.sessionManagerArguments}
${cfg.extraConfig}
'';
};
environment.etc."pipewire/media-session.d/with-alsa" = mkIf cfg.alsa.enable { text = ""; };
environment.etc."pipewire/media-session.d/with-pulseaudio" = mkIf cfg.pulse.enable { text = ""; };
environment.etc."pipewire/media-session.d/with-jack" = mkIf cfg.jack.enable { text = ""; };
};
}

View File

@ -154,6 +154,8 @@ in stdenv.mkDerivation {
'' + lib.optionalString withNS ''
mkdir -p $out/Applications
mv nextstep/Emacs.app $out/Applications
'' + lib.optionalString (nativeComp && withNS) ''
ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp
'';
postFixup = lib.concatStringsSep "\n" [

View File

@ -5,11 +5,11 @@ watchdog, wtforms }:
python3.pkgs.buildPythonApplication rec {
pname = "archivy";
version = "0.8.5";
version = "0.9.2";
src = fetchPypi {
inherit pname version;
sha256 = "144ckgxjaw29yp5flyxd1rnkm7hlim4zgy6xng7x0a9j54h527iq";
sha256 = "5cb760da57dc9dcdd62c0af824993d1715ec7035915629b4046d8bf50442756c";
};
# Relax some dependencies

View File

@ -2,7 +2,7 @@
let
pname = "joplin-desktop";
version = "1.4.15";
version = "1.4.19";
name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system;
@ -16,8 +16,8 @@ let
src = fetchurl {
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
sha256 = {
x86_64-linux = "12wh7f1a9sn250lqnb8c9b5gqr8r76kxrhl0kgsm2lg93jgpvvbb";
x86_64-darwin = "1jzfqwyz3vkmmkdzx3iw36fbjq7fns46v8crmg5n09w9kvf22qil";
x86_64-linux = "1xyj30pnlczchbh4awb955sxh51v89d170f4yk0v1jkj7dg2wjgj";
x86_64-darwin = "166yp2rr87p0lh64ngs498a50ahcann8z5s0g2p0azs6wi54a6kw";
}.${system} or throwSystem;
};

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "starboard";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "00d3cnd3n6laa6rphw5w9xk8slpp4a603vzhixzg01sghq26gy22";
sha256 = "1xj0fa52973h7cg3scxn85lav98q6fz82dwd5cls3p39ghnhzn5l";
};
vendorSha256 = "0y816r75rp1a4rp7j0a8wzrfi2mdf4ji1vz2vaj5s7x9ik6rc13r";
vendorSha256 = "07cz4p8k927ash5ncw1r56bcn592imgywbyzkvhnn50pap91m0q0";
subPackages = [ "cmd/starboard" ];

View File

@ -720,11 +720,11 @@
"version": "0.8.0"
},
"packet": {
"owner": "terraform-providers",
"owner": "packethost",
"repo": "terraform-provider-packet",
"rev": "v2.9.0",
"sha256": "0d9r272gidkwn4zr130ml047512qq5d5d599s63blzy6m38vilha",
"version": "2.9.0"
"rev": "v3.2.0",
"sha256": "sha256-YIv4OPRbR00YTVwz0iJ/y6qTbj50nsi5ylrWEx1kZck=",
"version": "3.2.0"
},
"pagerduty": {
"owner": "terraform-providers",

View File

@ -1,15 +1,13 @@
{ stdenv, lib, buildEnv, buildGoPackage, fetchFromGitHub, makeWrapper, coreutils
{ stdenv, lib, buildGoModule, fetchFromGitHub, makeWrapper, coreutils
, runCommand, runtimeShell, writeText, terraform-providers, fetchpatch }:
let
goPackagePath = "github.com/hashicorp/terraform";
generic = { version, sha256, ... }@attrs:
let attrs' = builtins.removeAttrs attrs [ "version" "sha256" ];
in buildGoPackage ({
generic = { version, sha256, vendorSha256 ? null, ... }@attrs:
let attrs' = builtins.removeAttrs attrs [ "version" "sha256" "vendorSha256" ];
in buildGoModule ({
name = "terraform-${version}";
inherit goPackagePath;
inherit vendorSha256;
src = fetchFromGitHub {
owner = "hashicorp";
@ -18,7 +16,7 @@ let
inherit sha256;
};
postPatch = ''
postConfigure = ''
# speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22
substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \
--replace "/bin/stty" "${coreutils}/bin/stty"
@ -34,9 +32,12 @@ let
'';
preCheck = ''
export HOME=$TMP
export HOME=$TMPDIR
export TF_SKIP_REMOTE_TESTS=1
'';
subPackages = [ "." ];
meta = with stdenv.lib; {
description =
"Tool for building, changing, and versioning infrastructure";
@ -163,6 +164,14 @@ in rec {
passthru = { inherit plugins; };
});
terraform_0_14 = pluggable (generic {
version = "0.14.0";
sha256 = "0pbglnvb6cx8zrz791lfa67dmjqfsyysbxm2083b1lhlmbybi9ax";
vendorSha256 = "1gxhdj98np482jm76aj6zbbmkn7vfk8b878hzz59iywgbdr1r4m1";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});
# Tests that the plugins are being used. Terraform looks at the specific
# file pattern and if the plugin is not found it will try to download it
# from the Internet. With sandboxing enable this test will fail if that is

View File

@ -0,0 +1,59 @@
{ stdenv, lib, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "dyndnsc";
version = "0.5.1";
src = python3Packages.fetchPypi {
inherit pname version;
hash = "sha256-Sy6U0XhIQ9mPmznmWKqoyqE34vaE84fwlivouaF7Dd0=";
};
postPatch = ''
substituteInPlace setup.py --replace "bottle==" "bottle>="
'';
nativeBuildInputs = with python3Packages; [ pytestrunner ];
propagatedBuildInputs = with python3Packages; [
daemonocle
dnspython
netifaces
requests
setuptools
];
checkInputs = with python3Packages; [ bottle pytestCheckHook ];
disabledTests = [
# dnswanip connects to an external server to discover the
# machine's IP address.
"dnswanip"
] ++ lib.optionals stdenv.isDarwin [
# The tests that spawn a server using Bottle cannot be run on
# macOS or Windows as the default multiprocessing start method
# on those platforms is 'spawn', which requires the code to be
# run to be picklable, which this code isn't.
# Additionaly, other start methods are unsafe and prone to failure
# on macOS; see https://bugs.python.org/issue33725.
"BottleServer"
];
# Allow tests that bind or connect to localhost on macOS.
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "Dynamic DNS update client with support for multiple protocols";
longDescription = ''
Dyndnsc is a command line client for sending updates to Dynamic
DNS (DDNS, DynDNS) services. It supports multiple protocols and
services, and it has native support for IPv6. The configuration
file allows using foreign, but compatible services. Dyndnsc
ships many different IP detection mechanisms, support for
configuring multiple services in one place and it has a daemon
mode for running unattended. It has a plugin system to provide
external notification services.
'';
homepage = "https://github.com/infothrill/python-dyndnsc";
license = licenses.mit;
maintainers = with maintainers; [ AluisioASG ];
platforms = platforms.unix;
};
}

View File

@ -3,11 +3,11 @@
buildPythonApplication rec {
pname = "MAVProxy";
version = "1.8.27";
version = "1.8.29";
src = fetchPypi {
inherit pname version;
sha256 = "f3c704e2d67b36e4932896abe00c89e7f3fb7458fc52849b5d7d6d83bd623adf";
sha256 = "8f5900dc0a404ab9cf5a00155f83e9aaeab18161ce21a352dfdcf2d7abf5d78e";
};
propagatedBuildInputs = [

View File

@ -3,13 +3,13 @@
}:
stdenv.mkDerivation rec {
version = "1.33.2"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
version = "1.34.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too
pname = "grpc";
src = fetchFromGitHub {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
sha256 = "0cc7yfa37ngrr0q9k3lm2yi4i57bfsyxwbblwc0f801k6wvgavcy";
sha256 = "0kipk26kg2x06mrkhb74k8vk5cn4mr89kw1f9mb04n616wkxjyxy";
fetchSubmodules = true;
};
patches = [

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "nanopb";
version = "0.4.3";
version = "0.4.4";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-32YU6LfPojvEVA2Z3DRZdGzDkSpAUgo1BueC/pl9qlY=";
sha256 = "0nqfi1b0szjmm1z8wd3ks64h10jblv9ip01kfggxgz6qjjfwgvq7";
};
nativeBuildInputs = [ cmake python3 python3.pkgs.wrapPython ];

View File

@ -27,7 +27,7 @@
, bluezSupport ? true, bluez ? null, sbc ? null
, nativeHspSupport ? true
, ofonoSupport ? true
, hsphfpdSupport ? false
, hsphfpdSupport ? true
}:
let
@ -39,7 +39,7 @@ let
in
stdenv.mkDerivation rec {
pname = "pipewire";
version = "0.3.16";
version = "0.3.17";
outputs = [
"out"
@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
owner = "pipewire";
repo = "pipewire";
rev = version;
sha256 = "0ivfx3rbg2iwjdh412zjpk9y5mzw7zh6asv4sji8lq0dzhwbz1qc";
sha256 = "1gzdahji23fsgjycc08h7zzv8filmzdrkyvpkljc881l4cb5l58n";
};
patches = [
@ -66,6 +66,8 @@ stdenv.mkDerivation rec {
./installed-tests-path.patch
# Change the path of the pipewire-pulse binary in the service definition.
./pipewire-pulse-path.patch
# Add flag to specify configuration directory (different from the installation directory).
./pipewire-config-dir.patch
];
nativeBuildInputs = [
@ -106,6 +108,7 @@ stdenv.mkDerivation rec {
"-Dbluez5-backend-native=${mesonBool nativeHspSupport}"
"-Dbluez5-backend-ofono=${mesonBool ofonoSupport}"
"-Dbluez5-backend-hsphfpd=${mesonBool hsphfpdSupport}"
"-Dpipewire_config_dir=/etc/pipewire"
];
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file

View File

@ -0,0 +1,30 @@
diff --git a/meson.build b/meson.build
index 0073eb13..0ffc6863 100644
--- a/meson.build
+++ b/meson.build
@@ -34,7 +34,10 @@ pipewire_libexecdir = join_paths(prefix, get_option('libexecdir'))
pipewire_localedir = join_paths(prefix, get_option('localedir'))
pipewire_sysconfdir = join_paths(prefix, get_option('sysconfdir'))
-pipewire_configdir = join_paths(pipewire_sysconfdir, 'pipewire')
+pipewire_configdir = get_option('pipewire_config_dir')
+if pipewire_configdir == ''
+ pipewire_configdir = join_paths(pipewire_sysconfdir, 'pipewire')
+endif
modules_install_dir = join_paths(pipewire_libdir, pipewire_name)
if host_machine.system() == 'linux'
diff --git a/meson_options.txt b/meson_options.txt
index 4b9e46b8..8c301459 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -56,6 +56,9 @@ option('pipewire-pulseaudio',
option('libpulse-path',
description: 'Where to install the libpulse.so library',
type: 'string')
+option('pipewire_config_dir',
+ type : 'string',
+ description : 'Directory for pipewire configuration (defaults to /etc/pipewire)')
option('spa-plugins',
description: 'Enable spa plugins integration',
type: 'boolean',

View File

@ -1,19 +1,26 @@
{ buildPythonPackage, cachetools, fetchPypi, lib }:
{ buildPythonPackage, cachetools, fetchFromGitHub, isPy27, lib }:
buildPythonPackage rec {
pname = "CoAPthon3";
version = "1.0.1";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "1w6bwwd3qjp4b4fscagqg9wqxpdgvf4sxgzbk2d2rjqwlkyr1lnx";
src = fetchFromGitHub {
owner = "Tanganelli";
repo = pname;
rev = version;
sha256 = "1im35i5i72y1p9qj8ixkwq7q6ksbrmi42giqiyfgjp1ym38snl69";
};
propagatedBuildInputs = [ cachetools ];
# tests take in the order of 10 minutes to execute and sometimes hang forever on tear-down
doCheck = false;
pythonImportsCheck = [ "coapthon" ];
meta = with lib; {
inherit (src.meta) homepage;
description = "Python3 library to the CoAP protocol compliant with the RFC.";
homepage = "https://github.com/Tanganelli/${pname}";
license = licenses.mit;
maintainers = with maintainers; [ urbas ];
};

View File

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, click
, psutil
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "daemonocle";
version = "1.0.2";
src = fetchFromGitHub {
owner = "jnrbsn";
repo = "daemonocle";
rev = "v${version}";
hash = "sha256-kDCbosXTIffuCzHcReXhiW4YPbxDW3OPnTbMC/EGJrM=";
};
propagatedBuildInputs = [ click psutil ];
checkInputs = [ pytestCheckHook ];
# One third of the tests fail on the sandbox with
# "psutil.NoSuchProcess: no process found with pid 0".
doCheck = false;
disabledTests = [ "sudo" ];
pythonImportsCheck = [ "daemonocle" ];
meta = with lib; {
description = "A Python library for creating super fancy Unix daemons";
longDescription = ''
daemonocle is a library for creating your own Unix-style daemons
written in Python. It solves many problems that other daemon
libraries have and provides some really useful features you don't
often see in other daemons.
'';
homepage = "https://github.com/jnrbsn/daemonocle";
license = licenses.mit;
maintainers = [ maintainers.AluisioASG ];
platforms = platforms.unix;
};
}

View File

@ -13,13 +13,13 @@
buildPythonPackage rec {
pname = "Django";
version = "3.1.3";
version = "3.1.4";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "14b87775ffedab2ef6299b73343d1b4b41e5d4e2aa58c6581f114dbec01e3f8f";
sha256 = "edb10b5c45e7e9c0fb1dc00b76ec7449aca258a39ffd613dbd078c51d19c9f03";
};
patches = stdenv.lib.optional withGdal

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "grpcio-tools";
version = "1.33.2";
version = "1.34.0";
src = fetchPypi {
inherit pname version;
sha256 = "af40774c0275f5465f49fd92bfcd9831b19b013de4cc77b8fb38aea76fa6dce3";
sha256 = "db5a6f0130256d534cbe35eab37d37a448d96f4fd736e5051c6be1aee49cea1d";
};
outputs = [ "out" "dev" ];

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "influxdb-client";
version = "1.8.0";
version = "1.12.0";
disabled = pythonOlder "3.6"; # requires python version >=3.6
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "influxdata";
repo = "influxdb-client-python";
rev = "v${version}";
sha256 = "0gf0fjkd10yn1bb86rfapnd5diraivshn9mhzqxaxwlfah45q187";
sha256 = "0b4xr8nwrnikj2rnyrrcl6pym2il8iirr9f9cyg6vzfgx8l8brk9";
};
# makes test not reproducible

View File

@ -24,12 +24,12 @@
}:
buildPythonPackage rec {
version = "4.3.0";
version = "4.3.1";
pname = "pwntools";
src = fetchPypi {
inherit pname version;
sha256 = "007xbm4pg28bhv7j7m8gmzsmr9x7pdb7rkm5y80mca8kb7gw59xv";
sha256 = "12ja913kz8wl4afrmpzxh9fx6j7rcwc2vqzkvfr1fxn42gkqhqf4";
};
# Upstream has set an upper bound on unicorn because of https://github.com/Gallopsled/pwntools/issues/1538,

View File

@ -0,0 +1,27 @@
{ buildPythonPackage, coapthon3, fetchFromGitHub, isPy27, lib, pycryptodomex }:
buildPythonPackage rec {
pname = "py-air-control";
version = "2.1.0";
disabled = isPy27;
src = fetchFromGitHub {
owner = "rgerganov";
repo = pname;
rev = "v${version}";
sha256 = "0mkggl5hwmj90djxbbz4svim6iv7xl8k324cb4rlc75p5rgcdwmh";
};
propagatedBuildInputs = [ pycryptodomex coapthon3 ];
# tests sometimes hang forever on tear-down
doCheck = false;
pythonImportsCheck = [ "pyairctrl" ];
meta = with lib; {
inherit (src.meta) homepage;
description = "Command Line App for Controlling Philips Air Purifiers.";
license = licenses.mit;
maintainers = with maintainers; [ urbas ];
};
}

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "trimesh";
version = "3.8.14";
version = "3.8.15";
src = fetchPypi {
inherit pname version;
sha256 = "dba3d9fa1d9488053fc7504c141fbb2258cf5f37377a3824b20bd0a93f7240a0";
sha256 = "3ab9c15e53916fd68d0c0ca9b46d95693d3238f164ffcf528a974c6e15cd353e";
};
propagatedBuildInputs = [ numpy ];

View File

@ -0,0 +1,25 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "ytt";
version = "0.30.0";
src = fetchFromGitHub {
owner = "vmware-tanzu";
repo = "carvel-ytt";
rev = "v${version}";
sha256 = "0v9wp15aj4r7wif8i897zwj3c6bg41b95kk7vi3a3bzin814qn6l";
};
goPackagePath = "github.com/vmware-tanzu/carvel-ytt";
vendorSha256 = null;
subPackages = [ "cmd/ytt" ];
meta = with lib; {
description = "YAML templating tool that allows configuration of complex software via reusable templates with user-provided values";
homepage = "https://get-ytt.io";
license = licenses.asl20;
maintainers = with maintainers; [ brodes ];
};
}

View File

@ -2,12 +2,12 @@
"x86_64-linux": {
"alpha": {
"experimental": {
"name": "factorio_alpha_x64-1.1.3.tar.xz",
"name": "factorio_alpha_x64-1.1.4.tar.xz",
"needsAuth": true,
"sha256": "0lsgj7361bf9zhidp4hpdhb9jj7wgcw7s0q5bpqbigbnz848m3lm",
"sha256": "0gg10pk0qb44iizwvlzndjr2xkygqzaxmhp9bam7gz86b5cxs0cl",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.3/alpha/linux64",
"version": "1.1.3"
"url": "https://factorio.com/get-download/1.1.4/alpha/linux64",
"version": "1.1.4"
},
"stable": {
"name": "factorio_alpha_x64-1.0.0.tar.xz",
@ -38,12 +38,12 @@
},
"headless": {
"experimental": {
"name": "factorio_headless_x64-1.1.3.tar.xz",
"name": "factorio_headless_x64-1.1.4.tar.xz",
"needsAuth": false,
"sha256": "1164hbbd1b33hjnvjm079czjypj837gpjp2i4f23rkd4qmjpl0dj",
"sha256": "085lpblysh126y38z01f358xcpwmx1a6hcjlc66aw5ff6bp36yq8",
"tarDirectory": "x64",
"url": "https://factorio.com/get-download/1.1.3/headless/linux64",
"version": "1.1.3"
"url": "https://factorio.com/get-download/1.1.4/headless/linux64",
"version": "1.1.4"
},
"stable": {
"name": "factorio_headless_x64-1.0.0.tar.xz",

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
sha256 = "0gzpdgfwzlqj2n3amf2zhi2hlpa412878yphgx79y6b5gn1y1lm2";
};
outputs = [ "out" "man" ];
outputs = [ "out" "man" "test" ];
nativeBuildInputs = [
autoreconfHook
@ -61,7 +61,8 @@ stdenv.mkDerivation rec {
doCheck = true;
postInstall = ''
cp -a test/* $out/bin/
mkdir -p $test/bin
cp -a test/* $test/bin/
mkdir -p $out/share
cp -a doc $out/share/
cp -a README AUTHORS TODO $out/share/doc/

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, buildLinux, ... } @ args:
let
version = "5.9.10";
version = "5.9.12";
in
buildLinux (args // {
@ -13,7 +13,7 @@ buildLinux (args // {
owner = "zen-kernel";
repo = "zen-kernel";
rev = "v${version}-zen1";
sha256 = "0836mclwr3r4hm4pn8hp21sk14avrfwiv2s8lqx3cjasgdbyi826";
sha256 = "07cmcw8ib9wc4im08pbmxhj187lhsfxh2asn4jdxadxxq3f60h6w";
};
extraMeta = {

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, kernel
{ stdenv, fetchFromGitHub, cmake, kernel, installShellFiles
, luajit, zlib, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, c-ares, protobuf, grpc
}:
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-lYjMvxMIReANNwMr62u881Nugrs9piOaN3EmrvGzRns=";
};
nativeBuildInputs = [ cmake perl ];
nativeBuildInputs = [ cmake perl installShellFiles ];
buildInputs = [
zlib luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb c-ares protobuf grpc
] ++ optionals (kernel != null) kernel.moduleBuildDependencies;
@ -38,19 +38,28 @@ stdenv.mkDerivation rec {
export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
'';
postInstall = optionalString (kernel != null) ''
make install_driver
kernel_dev=${kernel.dev}
kernel_dev=''${kernel_dev#/nix/store/}
kernel_dev=''${kernel_dev%%-linux*dev*}
if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then
sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
else
xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz
sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
fi
'';
postInstall =
''
# Fix the bash completion location
installShellCompletion --bash $out/etc/bash_completion.d/sysdig
rm $out/etc/bash_completion.d/sysdig
rmdir $out/etc/bash_completion.d
rmdir $out/etc
''
+ optionalString (kernel != null) ''
make install_driver
kernel_dev=${kernel.dev}
kernel_dev=''${kernel_dev#/nix/store/}
kernel_dev=''${kernel_dev%%-linux*dev*}
if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then
sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
else
xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz
sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko
fi
'';
meta = {
description = "A tracepoint-based system tracing tool for Linux (with clients for other OSes)";

View File

@ -5,13 +5,13 @@ let
in
stdenv.mkDerivation {
pname = "hsphfpd";
version = "2020-10-25";
version = "2020-11-27";
src = fetchFromGitHub {
owner = "pali";
repo = "hsphfpd-prototype";
rev = "601bf8f7bf2da97257aa6f786ec4cbb69b0ecbc8";
sha256 = "06hh0xmp143334x8dg5nmp5727g38q2m5kqsvlrfia6vw2hcq0v0";
rev = "58ffbf8f1b457e46801039d572cd344472828714";
sha256 = "1hyg3cz6s58k6a7a3hcbs6wfk14cflnikd9psi7sirq6cn1z0ggb";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "pg_auto_failover";
version = "1.4.0";
version = "1.4.1";
src = fetchFromGitHub {
owner = "citusdata";
repo = pname;
rev = "v${version}";
sha256 = "1q5gy1jaklk885xjda9dhf6jd5q3sc7jd8p1zdlwv4srxf6sgf10";
sha256 = "0x19p0b9hv1hkhwjm68cm8gskhnsl7np4si8wl0ablf6kasyl3q7";
};
buildInputs = [ postgresql openssl zlib readline ];

View File

@ -0,0 +1,30 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "pax";
version = "20201030";
src = fetchurl {
url = "http://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-${version}.tgz";
sha256 = "1p18nxijh323f4i1s2pg7pcr0557xljl5avv8ll5s9nfr34r5j0w";
};
buildPhase = ''
sh Build.sh -r -tpax
'';
installPhase = ''
install -Dm555 pax $out/bin/pax
ln -s $out/bin/pax $out/bin/paxcpio
ln -s $out/bin/pax $out/bin/paxtar
install -Dm444 mans/pax{,cpio,tar}.1 -t $out/share/man/man1/
'';
meta = with stdenv.lib; {
description = "POSIX standard archive tool from MirBSD";
homepage = "https://www.mirbsd.org/pax.htm";
license = licenses.bsd3;
maintainers = with maintainers; [ gebner ];
platforms = platforms.unix;
};
}

View File

@ -6,7 +6,7 @@ GEM
ethon (0.12.0)
ffi (>= 1.3.0)
ffi (1.13.1)
html-proofer (3.17.3)
html-proofer (3.17.4)
addressable (~> 2.3)
mercenary (~> 0.3)
nokogumbo (~> 2.0)

View File

@ -37,10 +37,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1i05vgyhyyps867zgpcd13wdidf0cpra39rhfff1jhkc1hn766lm";
sha256 = "1wjwr7c19dr7rai44ypqghbakgav91h9swg88cddn7rxf7a6vl3b";
type = "gem";
};
version = "3.17.3";
version = "3.17.4";
};
mercenary = {
groups = ["default"];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, jre, graphviz }:
stdenv.mkDerivation rec {
version = "1.2020.20";
version = "1.2020.21";
pname = "plantuml";
src = fetchurl {
url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
sha256 = "0dzj3ab9g7lh5r0n876g5d8yq966f2zxvd8mwrbib43dzaxpd00w";
sha256 = "0hf2s3k6v57d51k72jjciakdmlgdrdg4aa7z5hchy74gchsp3x17";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -0,0 +1,22 @@
{ stdenv, lib, fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "tagref";
version = "1.3.3";
src = fetchFromGitHub {
owner = "stepchowfun";
repo = pname;
rev = "v${version}";
sha256 = "sha256-3R6vhevSld9IjJMsGl5Rwv0ADMjm94NeZxvl8eYHR2Y=";
};
cargoSha256 = "sha256-pLugAT8QlgxawkR2y+LIacRh4nB59qpKLJjxc81CNDY=";
meta = with lib; {
description = "Tagref helps you refer to other locations in your codebase.";
homepage = "https://github.com/stepchowfun/tagref";
license = licenses.mit;
maintainers = [ maintainers.yusdacra ];
platforms = platforms.unix;
};
}

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
pname = "privoxy";
version = "3.0.28";
version = "3.0.29";
src = fetchurl {
url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz";
sha256 = "0jl2yav1qzqnaqnnx8i6i53ayckkimcrs3l6ryvv7bda6v08rmxm";
sha256 = "17a8fbdyb0ixc0wwq68fg7xn7l6n7jq67njpq93psmxgzng0dii5";
};
hardeningEnable = [ "pie" ];

View File

@ -1,15 +1,20 @@
{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts
, runtimeShell }:
{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts, runtimeShell }:
python3Packages.buildPythonApplication rec {
pname = "nix-update-source";
version = "0.6.3";
name = "nix-update-source-${version}";
src = fetchFromGitHub {
owner = "timbertson";
repo = "nix-update-source";
rev = "version-0.6.3";
rev = "version-${version}";
sha256 = "157wvv9vnaszzwbj68jpdc0imcm1hdab3z760bx2axbsgfpqqilz";
};
propagatedBuildInputs = [ nix-prefetch-scripts ];
doCheck = false;
passthru = {
# NOTE: `fetch` should not be used within nixpkgs because it
# uses a non-idiomatic structure. It is provided for use by
@ -28,6 +33,7 @@ python3Packages.buildPythonApplication rec {
inherit src;
overrideSrc = drv: lib.overrideDerivation drv (orig: { inherit src; });
};
updateScript = ''
#!${runtimeShell}
set -e
@ -43,6 +49,7 @@ python3Packages.buildPythonApplication rec {
--modify-nix default.nix
'';
};
meta = {
description = "Utility to automate updating of nix derivation sources";
maintainers = with lib.maintainers; [ timbertson ];

View File

@ -2041,6 +2041,8 @@ in
dyncall = callPackage ../development/libraries/dyncall { };
dyndnsc = callPackage ../applications/networking/dyndns/dyndnsc { };
earlyoom = callPackage ../os-specific/linux/earlyoom { };
EBTKS = callPackage ../development/libraries/science/biology/EBTKS { };
@ -3544,6 +3546,8 @@ in
inherit (darwin.apple_sdk.frameworks) Security;
};
pax = callPackage ../tools/archivers/pax { };
rage = callPackage ../tools/security/rage { };
rar2fs = callPackage ../tools/filesystems/rar2fs { };
@ -12233,6 +12237,8 @@ in
yq-go = callPackage ../development/tools/yq-go { };
ytt = callPackage ../development/tools/ytt {};
winpdb = callPackage ../development/tools/winpdb { };
grabserial = callPackage ../development/tools/grabserial { };
@ -28132,6 +28138,8 @@ in
prow = callPackage ../applications/networking/cluster/prow { };
tagref = callPackage ../tools/misc/tagref { };
tellico = libsForQt5.callPackage ../applications/misc/tellico { };
termpdfpy = python3Packages.callPackage ../applications/misc/termpdf.py {};
@ -28141,6 +28149,7 @@ in
terraform_0_11-full
terraform_0_12
terraform_0_13
terraform_0_14
terraform_plugins_test
;

View File

@ -1452,6 +1452,8 @@ in {
daemonize = callPackage ../development/python-modules/daemonize { };
daemonocle = callPackage ../development/python-modules/daemonocle { };
daphne = callPackage ../development/python-modules/daphne { };
darcsver = callPackage ../development/python-modules/darcsver { };
@ -4858,6 +4860,8 @@ in {
pxml = callPackage ../development/python-modules/pxml { };
py-air-control = callPackage ../development/python-modules/py-air-control { };
py2bit = callPackage ../development/python-modules/py2bit { };
py3buddy = toPythonModule (callPackage ../development/python-modules/py3buddy { });