Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2021-09-22 00:06:25 +00:00 committed by GitHub
commit e749b2a8d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
167 changed files with 7968 additions and 7060 deletions

View File

@ -1,8 +1,16 @@
# Fetchers {#chap-pkgs-fetchers}
When using Nix, you will frequently need to download source code and other files from the internet. Nixpkgs comes with a few helper functions that allow you to fetch fixed-output derivations in a structured way.
When using Nix, you will frequently need to download source code and other files from the internet. For this purpose, Nix provides the [_fixed output derivation_](https://nixos.org/manual/nix/stable/#fixed-output-drvs) feature and Nixpkgs provides various functions that implement the actual fetching from various protocols and services.
The two fetcher primitives are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `sha256`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `sha256`. This hash will be used by Nix to identify your source. A typical usage of fetchurl is provided below.
## Caveats
Because fixed output derivations are _identified_ by their hash, a common mistake is to update a fetcher's URL or a version parameter, without updating the hash. **This will cause the old contents to be used.** So remember to always invalidate the hash argument.
For those who develop and maintain fetcheres, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#sec-pkgs-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful.
## `fetchurl` and `fetchzip` {#fetchurl}
Two basic fetchers are `fetchurl` and `fetchzip`. Both of these have two required arguments, a URL and a hash. The hash is typically `sha256`, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use `sha256`. This hash will be used by Nix to identify your source. A typical usage of fetchurl is provided below.
```nix
{ stdenv, fetchurl }:
@ -20,7 +28,7 @@ The main difference between `fetchurl` and `fetchzip` is in how they store the c
`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
Other fetcher functions allow you to add source code directly from a VCS such as subversion or git. These are mostly straightforward nambes based on the name of the command used with the VCS system. Because they give you a working repository, they act most like `fetchzip`.
Most other fetchers return a directory rather than a single file.
## `fetchsvn` {#fetchsvn}

View File

@ -7,4 +7,5 @@
</para>
<xi:include href="special/fhs-environments.section.xml" />
<xi:include href="special/mkshell.section.xml" />
<xi:include href="special/invalidateFetcherByDrvHash.section.xml" />
</chapter>

View File

@ -0,0 +1,31 @@
## `invalidateFetcherByDrvHash` {#sec-pkgs-invalidateFetcherByDrvHash}
Use the derivation hash to invalidate the output via name, for testing.
Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation`
Normally, fixed output derivations can and should be cached by their output
hash only, but for testing we want to re-fetch everytime the fetcher changes.
Changes to the fetcher become apparent in the drvPath, which is a hash of
how to fetch, rather than a fixed store path.
By inserting this hash into the name, we can make sure to re-run the fetcher
every time the fetcher changes.
This relies on the assumption that Nix isn't clever enough to reuse its
database of local store contents to optimize fetching.
You might notice that the "salted" name derives from the normal invocation,
not the final derivation. `invalidateFetcherByDrvHash` has to invoke the fetcher
function twice: once to get a derivation hash, and again to produce the final
fixed output derivation.
Example:
tests.fetchgit = invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};

View File

@ -79,7 +79,7 @@ A commonly adopted convention in `nixpkgs` is that executables provided by the p
The `glibc` package is a deliberate single exception to the “binaries first” convention. The `glibc` has `libs` as its first output allowing the libraries provided by `glibc` to be referenced directly (e.g. `${stdenv.glibc}/lib/ld-linux-x86-64.so.2`). The executables provided by `glibc` can be accessed via its `bin` attribute (e.g. `${stdenv.glibc.bin}/bin/ldd`).
The reason for why `glibc` deviates from the convention is because referencing a library provided by `glibc` is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of `glibc` libraries from Nix packages (please see the documentation on [patchelf](https://github.com/NixOS/patchelf/blob/master/README) for more details).
The reason for why `glibc` deviates from the convention is because referencing a library provided by `glibc` is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of `glibc` libraries from Nix packages (please see the documentation on [patchelf](https://github.com/NixOS/patchelf) for more details).
### File type groups {#multiple-output-file-type-groups}

View File

@ -4447,6 +4447,12 @@
fingerprint = "D618 7A03 A40A 3D56 62F5 4B46 03EF BF83 9A5F DC15";
}];
};
hleboulanger = {
email = "hleboulanger@protonmail.com";
name = "Harold Leboulanger";
github = "thbkrhsw";
githubId = 33122;
};
hlolli = {
email = "hlolli@gmail.com";
github = "hlolli";

View File

@ -30,6 +30,15 @@ let
vulnerabilities, while maintaining good performance.
'';
};
mimalloc = {
libPath = "${pkgs.mimalloc}/lib/libmimalloc.so";
description = ''
A compact and fast general purpose allocator, which may
optionally be built with mitigations against various heap
vulnerabilities.
'';
};
};
providerConf = providers.${cfg.provider};
@ -91,7 +100,10 @@ in
"abstractions/base" = ''
r /etc/ld-nix.so.preload,
r ${config.environment.etc."ld-nix.so.preload".source},
mr ${providerLibPath},
include "${pkgs.apparmorRulesFromClosure {
name = "mallocLib";
baseRules = ["mr $path/lib/**.so*"];
} [ mallocLib ] }"
'';
};
};

View File

@ -202,6 +202,7 @@
./programs/vim.nix
./programs/wavemon.nix
./programs/waybar.nix
./programs/weylus.nix
./programs/wireshark.nix
./programs/wshowkeys.nix
./programs/xfs_quota.nix
@ -343,6 +344,7 @@
./services/desktops/accountsservice.nix
./services/desktops/bamf.nix
./services/desktops/blueman.nix
./services/desktops/cpupower-gui.nix
./services/desktops/dleyna-renderer.nix
./services/desktops/dleyna-server.nix
./services/desktops/pantheon/files.nix

View File

@ -0,0 +1,47 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.weylus;
in
{
options.programs.weylus = with types; {
enable = mkEnableOption "weylus";
openFirewall = mkOption {
type = bool;
default = false;
description = ''
Open ports needed for the functionality of the program.
'';
};
users = mkOption {
type = listOf str;
default = [ ];
description = ''
To enable stylus and multi-touch support, the user you're going to use must be added to this list.
These users can synthesize input events system-wide, even when another user is logged in - untrusted users should not be added.
'';
};
package = mkOption {
type = package;
default = pkgs.weylus;
defaultText = "pkgs.weylus";
description = "Weylus package to install.";
};
};
config = mkIf cfg.enable {
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 1701 9001 ];
};
hardware.uinput.enable = true;
users.groups.uinput.members = cfg.users;
environment.systemPackages = [ cfg.package ];
};
}

View File

@ -0,0 +1,56 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.cpupower-gui;
in {
options = {
services.cpupower-gui = {
enable = mkOption {
type = lib.types.bool;
default = false;
example = true;
description = ''
Enables dbus/systemd service needed by cpupower-gui.
These services are responsible for retrieving and modifying cpu power
saving settings.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.cpupower-gui ];
services.dbus.packages = [ pkgs.cpupower-gui ];
systemd.user = {
services.cpupower-gui-user = {
description = "Apply cpupower-gui config at user login";
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.cpupower-gui}/bin/cpupower-gui config";
};
};
};
systemd.services = {
cpupower-gui = {
description = "Apply cpupower-gui config at boot";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.cpupower-gui}/bin/cpupower-gui config";
};
};
cpupower-gui-helper = {
description = "cpupower-gui system helper";
aliases = [ "dbus-org.rnd2.cpupower_gui.helper.service" ];
serviceConfig = {
Type = "dbus";
BusName = "org.rnd2.cpupower_gui.helper";
ExecStart = "${pkgs.cpupower-gui}/lib/cpupower-gui/cpupower-gui-helper";
};
};
};
};
}

View File

@ -9,9 +9,9 @@ let
mkdir -p $out/libexec/netdata/plugins.d
ln -s /run/wrappers/bin/apps.plugin $out/libexec/netdata/plugins.d/apps.plugin
ln -s /run/wrappers/bin/cgroup-network $out/libexec/netdata/plugins.d/cgroup-network
ln -s /run/wrappers/bin/freeipmi.plugin $out/libexec/netdata/plugins.d/freeipmi.plugin
ln -s /run/wrappers/bin/perf.plugin $out/libexec/netdata/plugins.d/perf.plugin
ln -s /run/wrappers/bin/slabinfo.plugin $out/libexec/netdata/plugins.d/slabinfo.plugin
ln -s /run/wrappers/bin/freeipmi.plugin $out/libexec/netdata/plugins.d/freeipmi.plugin
'';
plugins = [
@ -211,44 +211,47 @@ in {
systemd.enableCgroupAccounting = true;
security.wrappers."apps.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/apps.plugin.org";
capabilities = "cap_dac_read_search,cap_sys_ptrace+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
security.wrappers = {
"apps.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/apps.plugin.org";
capabilities = "cap_dac_read_search,cap_sys_ptrace+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
security.wrappers."cgroup-network" = {
source = "${cfg.package}/libexec/netdata/plugins.d/cgroup-network.org";
capabilities = "cap_setuid+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
"cgroup-network" = {
source = "${cfg.package}/libexec/netdata/plugins.d/cgroup-network.org";
capabilities = "cap_setuid+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
security.wrappers."freeipmi.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/freeipmi.plugin.org";
capabilities = "cap_dac_override,cap_fowner+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
"perf.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/perf.plugin.org";
capabilities = "cap_sys_admin+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
security.wrappers."perf.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/perf.plugin.org";
capabilities = "cap_sys_admin+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
"slabinfo.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/slabinfo.plugin.org";
capabilities = "cap_dac_override+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
security.wrappers."slabinfo.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/slabinfo.plugin.org";
capabilities = "cap_dac_override+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
} // optionalAttrs (cfg.package.withIpmi) {
"freeipmi.plugin" = {
source = "${cfg.package}/libexec/netdata/plugins.d/freeipmi.plugin.org";
capabilities = "cap_dac_override,cap_fowner+ep";
owner = cfg.user;
group = cfg.group;
permissions = "u+rx,g+x,o-rwx";
};
};
security.pam.loginLimits = [

View File

@ -284,12 +284,6 @@ in
group = "root";
source = "${pkgs.fping}/bin/fping";
};
fping6 =
{ setuid = true;
owner = "root";
group = "root";
source = "${pkgs.fping}/bin/fping6";
};
};
environment.systemPackages = [ pkgs.fping ];
users.users.${cfg.user} = {

View File

@ -37,7 +37,9 @@ in {
users.users.localtimed = {
description = "localtime daemon";
isSystemUser = true;
group = "localtimed";
};
users.groups.localtimed = {};
systemd.services.localtime = {
wantedBy = [ "multi-user.target" ];

View File

@ -9,6 +9,13 @@ let
RAILS_ENV = "production";
NODE_ENV = "production";
# mastodon-web concurrency.
WEB_CONCURRENCY = toString cfg.webProcesses;
MAX_THREADS = toString cfg.webThreads;
# mastodon-streaming concurrency.
STREAMING_CLUSTER_NUM = toString cfg.streamingProcesses;
DB_USER = cfg.database.user;
REDIS_HOST = cfg.redis.host;
@ -146,18 +153,41 @@ in {
type = lib.types.port;
default = 55000;
};
streamingProcesses = lib.mkOption {
description = ''
Processes used by the mastodon-streaming service.
Defaults to the number of CPU cores minus one.
'';
type = lib.types.nullOr lib.types.int;
default = null;
};
webPort = lib.mkOption {
description = "TCP port used by the mastodon-web service.";
type = lib.types.port;
default = 55001;
};
webProcesses = lib.mkOption {
description = "Processes used by the mastodon-web service.";
type = lib.types.int;
default = 2;
};
webThreads = lib.mkOption {
description = "Threads per process used by the mastodon-web service.";
type = lib.types.int;
default = 5;
};
sidekiqPort = lib.mkOption {
description = "TCP port used by the mastodon-sidekiq service";
description = "TCP port used by the mastodon-sidekiq service.";
type = lib.types.port;
default = 55002;
};
sidekiqThreads = lib.mkOption {
description = "Worker threads used by the mastodon-sidekiq service.";
type = lib.types.int;
default = 25;
};
vapidPublicKeyFile = lib.mkOption {
description = ''
@ -524,9 +554,10 @@ in {
wantedBy = [ "multi-user.target" ];
environment = env // {
PORT = toString(cfg.sidekiqPort);
DB_POOL = toString cfg.sidekiqThreads;
};
serviceConfig = {
ExecStart = "${cfg.package}/bin/sidekiq -c 25 -r ${cfg.package}";
ExecStart = "${cfg.package}/bin/sidekiq -c ${toString cfg.sidekiqThreads} -r ${cfg.package}";
Restart = "always";
RestartSec = 20;
EnvironmentFile = "/var/lib/mastodon/.secrets_env";

View File

@ -52,7 +52,12 @@ in
}
];
security.wrappers.vmware-user-suid-wrapper.source = "${open-vm-tools}/bin/vmware-user-suid-wrapper";
security.wrappers.vmware-user-suid-wrapper =
{ setuid = true;
owner = "root";
group = "root";
source = "${open-vm-tools}/bin/vmware-user-suid-wrapper";
};
environment.etc.vmware-tools.source = "${open-vm-tools}/etc/vmware-tools/*";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "praat";
version = "6.1.51";
version = "6.1.52";
src = fetchFromGitHub {
owner = "praat";
repo = "praat";
rev = "v${version}";
sha256 = "sha256-4goZRNKNFrfKRbGODJMhN6DyOh8U3+nWRDF1VMT7I1E=";
sha256 = "sha256-O/PjR2J9IMifOtCIsvo90XeRK/G29HQYt3zrn2lVjxA=";
};
configurePhase = ''

View File

@ -15,6 +15,7 @@
, opusfile
, pango
, pulseaudio
, withDiscordRPC ? false
}:
stdenv.mkDerivation rec {
@ -82,7 +83,7 @@ stdenv.mkDerivation rec {
pysdl2
requests
send2trash
];
] ++ lib.optional withDiscordRPC pypresence;
makeWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [ffmpeg]}"

View File

@ -19,20 +19,20 @@
stdenv.mkDerivation rec {
pname = "pika-backup";
version = "0.3.2";
version = "0.3.5";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "pika-backup";
rev = "v${version}";
sha256 = "sha256-dKVyvB4s1MZHri0dFJDBUXQKsi2KgP30ZhsJ486M+og=";
sha256 = "sha256-8jT3n+bTNjhm64AMS24Ju+San75ytfqFXloH/TOgO1g=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
sha256 = "1vsh8vqgmfady82d7wfxkknmrp7mq7nizpif2zwg3kqbl964mp3y";
sha256 = "198bs4z7l22sh8ck7v46s45mj8zpfbg03n1xzc6pnafdd8hf3q15";
};
patches = [

View File

@ -0,0 +1,58 @@
{ lib
, dbus
, stdenv
, gst_all_1
, xorg
, libdrm
, libva
, fetchzip
, copyDesktopItems
, fontconfig
, libpng
, autoPatchelfHook
}:
stdenv.mkDerivation rec {
pname = "weylus";
version = "0.11.2";
src = fetchzip {
url = "https://github.com/H-M-H/Weylus/releases/download/v${version}/linux.zip";
sha256 = "sha256-coA8qUpUgRjVBF/0LZgimx61fTTpdck/AO6e+r2uNu0=";
stripRoot = false;
};
installPhase = ''
runHook preInstall
install -Dm755 ./weylus $out/bin/weylus
copyDesktopItems ./weylus.desktop
runHook postInstall
'';
buildInputs = [
libpng
dbus
libdrm
fontconfig
libva
gst_all_1.gst-plugins-base
# autoPatchelfHook complains if these are missing, even on wayland
xorg.libXft
xorg.libXinerama
xorg.libXcursor
xorg.libXrandr
xorg.libXcomposite
xorg.libXtst
];
nativeBuildInputs = [ copyDesktopItems autoPatchelfHook ];
meta = with lib; {
description = "Use your tablet as graphic tablet/touch screen on your computer";
homepage = "https://github.com/H-M-H/Weylus";
license = with licenses; [ agpl3Only ];
maintainers = with maintainers; [ legendofmiracles ];
};
}

View File

@ -86,6 +86,9 @@ stdenv.mkDerivation rec {
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=/opt/1Password/${pname}' 'Exec=${pname}'
# Polkit file
install -Dm 0644 -t $out/share/polkit-1/actions com.1password.1Password.policy
# Icons
cp -a resources/icons $out/share

View File

@ -143,6 +143,10 @@ stdenv.mkDerivation rec {
--prefix PATH : $program_PATH \
--prefix PYTHONPATH : "$program_PYTHONPATH" \
--add-flags '--python-use-system-env'
'' + lib.optionalString stdenv.isDarwin ''
mkdir -p $out/Applications/Blender.app
ln -s $out/Blender.app $out/Applications/Blender.app
ln -s $out/Blender.app/Contents/MacOS $out/bin
'';
# Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be

View File

@ -17,14 +17,14 @@
mkDerivation rec {
pname = "index";
version = "1.2.2";
version = "2.0.0";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "maui";
repo = "index-fm";
rev = "v${version}";
sha256 = "sha256-N9/Jt18QRqDMWtEfxWn22e5Ud3YMwJ9B7OQRwTvwX8g=";
sha256 = "sha256-aY8JBCIh6VyCDOGQIMWhO6asGMo6I6ZTgzpDnnDy9eo=";
};
nativeBuildInputs = [

View File

@ -1,26 +1,26 @@
{
"stable": {
"version": "93.0.4577.82",
"sha256": "0lr8zdq06smncdzd6knzww9hxl8ynvxadmrkyyl13fpwb1422rjx",
"sha256bin64": "0ydvcakpnl20gx7493hv6aqnyf8f28rkvzgwnm4gws92b92n9ify",
"version": "94.0.4606.54",
"sha256": "0p8kfnyhykbv1cylsx4hj2qdzqr2xdql9rhpva8bfla2w9hr8g83",
"sha256bin64": "0lq34l00zrr92g882xzqwq1lf2vf12x1mwidrr2qh6fz7v5418d3",
"deps": {
"gn": {
"version": "2021-07-08",
"version": "2021-08-11",
"url": "https://gn.googlesource.com/gn",
"rev": "24e2f7df92641de0351a96096fb2c490b2436bb8",
"sha256": "1lwkyhfhw0zd7daqz466n7x5cddf0danr799h4jg3s0yvd4galjl"
"rev": "69ec4fca1fa69ddadae13f9e6b7507efa0675263",
"sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0"
}
},
"chromedriver": {
"version": "93.0.4577.63",
"sha256_linux": "0w2lyjj0y9g1wnvk1sg2wi9dvhbjhdz1jb20rlrp5ny2gak6a47b",
"sha256_darwin": "11420nflyfvf95hxj488336jq6xqjn4lcrwpr67rj2fx6ganji7z"
"version": "94.0.4606.41",
"sha256_linux": "06flgis4am4jmd9qz6yn1jfdr07w2n3mfrlicw6a9icg5ir64fdq",
"sha256_darwin": "1mc0hhksqm5ms4k4aji043xzxncbifjwz5fqzywy4ji64w5kqrca"
}
},
"beta": {
"version": "94.0.4606.50",
"sha256": "1aqy9bvypx66bvn5p15g94p47yfbal8mixs1d0j82pznqnqgph1z",
"sha256bin64": "07hq4qnbgq6m43zhipgy84yhiiy1fs6ffjkgsi8ixhr9b5pipzpv",
"version": "94.0.4606.54",
"sha256": "0p8kfnyhykbv1cylsx4hj2qdzqr2xdql9rhpva8bfla2w9hr8g83",
"sha256bin64": "1c2i9830r0fldigv16ggmj6r74l6d85abbhka0a5wpbbn6ay08jx",
"deps": {
"gn": {
"version": "2021-08-11",
@ -31,9 +31,9 @@
}
},
"dev": {
"version": "95.0.4638.10",
"sha256": "0pgd5k24yly9fqpzigc5qqx6lvn6m95fjp7294cgmk0132icx71j",
"sha256bin64": "1gfaal3yxmi1n2nvfp39xp82g8vykzm0fjbdk0c1wh4gvlq2xx85",
"version": "95.0.4638.17",
"sha256": "1v5r8m3wlwh6prcj7bd4zprsr4g43869lhxv43m207c5nlnqiriz",
"sha256bin64": "1azn9216jhcdg4yjr6frz8vp98qbcnnhifp9jn9bwvyg69lr0dwb",
"deps": {
"gn": {
"version": "2021-08-11",

View File

@ -9,7 +9,7 @@
, yasm, libGLU, libGL, sqlite, unzip, makeWrapper
, hunspell, libevent, libstartup_notification
, libvpx_1_8
, icu69, libpng, jemalloc, glib, pciutils
, icu69, libpng, glib, pciutils
, autoconf213, which, gnused, rustPackages, rustPackages_1_45
, rust-cbindgen, nodejs, nasm, fetchpatch
, gnum4
@ -27,6 +27,7 @@
, ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages
, gssSupport ? true, libkrb5
, pipewireSupport ? waylandSupport && webrtcSupport, pipewire
, jemallocSupport ? true, jemalloc
## privacy-related options
@ -189,7 +190,7 @@ buildStdenv.mkDerivation ({
xorg.libXdamage
xorg.libXext
libevent libstartup_notification /* cairo */
libpng jemalloc glib
libpng glib
nasm icu69 libvpx_1_8
# >= 66 requires nasm for the AV1 lib dav1d
# yasm can potentially be removed in future versions
@ -202,6 +203,7 @@ buildStdenv.mkDerivation ({
++ lib.optional gssSupport libkrb5
++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
++ lib.optional pipewireSupport pipewire
++ lib.optional jemallocSupport jemalloc
++ lib.optional (lib.versionAtLeast version "82") gnum4
++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
AVFoundation MediaToolbox CoreLocation
@ -309,7 +311,6 @@ buildStdenv.mkDerivation ({
"--disable-tests"
"--disable-necko-wifi" # maybe we want to enable this at some point
"--disable-updater"
"--enable-jemalloc"
"--enable-default-toolkit=${default-toolkit}"
"--with-libclang-path=${llvmPackages.libclang.lib}/lib"
"--with-system-nspr"
@ -329,6 +330,7 @@ buildStdenv.mkDerivation ({
++ flag alsaSupport "alsa"
++ flag pulseaudioSupport "pulseaudio"
++ flag ffmpegSupport "ffmpeg"
++ flag jemallocSupport "jemalloc"
++ flag gssSupport "negotiateauth"
++ flag webrtcSupport "webrtc"
++ flag crashreporterSupport "crashreporter"

View File

@ -88,19 +88,19 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "10.5.5";
version = "10.5.6";
lang = "en-US";
srcs = {
x86_64-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
sha256 = "0847lib2z21fgb7x5szwvprc77fhdpmp4z5d6n1sk6d40dd34spn";
sha256 = "1hxjixriah08c65nngjdp1blbji1vlnhqkphp8f96hy34hk4dpiw";
};
i686-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
sha256 = "0i26fb0r234nrwnvb2c9vk9yn869qghq0n4qlm1d7mr62dy6prxa";
sha256 = "018kwwbbn02drvdj0bjkcyhsnbx97wnmd3lxkrx0kc9dw1s4r418";
};
};
in

View File

@ -1,4 +1,4 @@
{ mkYarnPackage, fetchFromGitHub, electron, makeWrapper, makeDesktopItem, lib }:
{ mkYarnPackage, fetchFromGitHub, electron, makeWrapper, makeDesktopItem, lib, p7zip }:
mkYarnPackage rec {
pname = "vieb";
@ -34,6 +34,11 @@ mkYarnPackage rec {
};
postInstall = ''
unlink $out/libexec/vieb/deps/vieb/node_modules
ln -s $out/libexec/vieb/node_modules $out/libexec/vieb/deps/vieb/node_modules
find $out/libexec/vieb/node_modules/7zip-bin -name 7za -exec ln -s -f ${p7zip}/bin/7za {} ';'
install -Dm0644 {${desktopItem},$out}/share/applications/vieb.desktop
pushd $out/libexec/vieb/node_modules/vieb/app/img/icons

View File

@ -1,7 +1,7 @@
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
let
version = "0.17.1";
version = "0.17.2";
manifests = fetchzip {
url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
@ -19,10 +19,10 @@ buildGoModule rec {
owner = "fluxcd";
repo = "flux2";
rev = "v${version}";
sha256 = "1jglv30q6vicdzb2f8amdw9s6wdx8y5jmyr8pzl1psqn8zh0dagb";
sha256 = "0kcdx4ldnshk4pqq37a7p08xr5cpsjrbrifk9fc3jbiw39m09mhf";
};
vendorSha256 = "sha256-uyajP7nLrRXLJcI/sBUEf4PPqz55I/ikCxVe4eAYqGA=";
vendorSha256 = "sha256-glifJ0V3RwS7E6EWZsCa88m0MK883RhPSXCsAmMggVs=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -176,6 +176,6 @@ mkDerivation rec {
platforms = platforms.linux;
homepage = "https://desktop.telegram.org/";
changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${version}";
maintainers = with maintainers; [ oxalica primeos ];
maintainers = with maintainers; [ oxalica primeos vanilla ];
};
}

View File

@ -3,6 +3,8 @@
{
colorize_nicks = callPackage ./colorize_nicks { };
edit = callPackage ./edit { };
multiline = callPackage ./multiline {
inherit (perlPackages) PodParser;
};

View File

@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromGitHub, weechat }:
stdenv.mkDerivation rec {
pname = "edit-weechat";
version = "1.0.2";
src = fetchFromGitHub {
owner = "keith";
repo = "edit-weechat";
rev = version;
sha256 = "1s42r0l0xkhlp6rbc23cm4vlda91il6cg53w33hqfhd2wz91s66w";
};
dontBuild = true;
passthru.scripts = [ "edit.py" ];
installPhase = ''
runHook preInstall
install -D edit.py $out/share/edit.py
runHook postInstall
'';
meta = with lib; {
inherit (weechat.meta) platforms;
description = "This simple weechat plugin allows you to compose messages in your $EDITOR.";
license = licenses.mit;
maintainers = with maintainers; [ eraserhd ];
};
}

View File

@ -21,13 +21,13 @@
mkDerivation rec {
pname = "nextcloud-client";
version = "3.3.3";
version = "3.3.4";
src = fetchFromGitHub {
owner = "nextcloud";
repo = "desktop";
rev = "v${version}";
sha256 = "sha256-QE6F+L1uy2Tmsf/DI8eUF5Ck+oE8CXDTpZS3xg2tiSs=";
sha256 = "sha256-9RumsGpPHWa3EQXobBC3RcDUqwHCKiff+ngpTXKLyaE=";
};
patches = [

View File

@ -5,15 +5,15 @@
stdenv.mkDerivation rec {
pname = "aws-workspaces";
version = "3.1.8.1198";
version = "4.0.1.1302";
src = fetchurl {
# ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/Packages
urls = [
"https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
"https://web.archive.org/web/20210626165043/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
"https://web.archive.org/web/20210921220718/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
];
sha256 = "e784bc4401c2ffaf19f3cc42cb6c6f229c73adba36df49093a1d8cd30c86aaf0";
sha256 = "208e67a544be5be7ff25218d68b4eb2ea9e65abfed444c99a0f7a6738d69ab9a";
};
nativeBuildInputs = [
@ -45,14 +45,21 @@ stdenv.mkDerivation rec {
${dpkg}/bin/dpkg -x $src $out
'';
installPhase = ''
mkdir -p $out/bin
mv $out/opt/workspacesclient/* $out/bin
preFixup = ''
patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so
'';
wrapProgram $out/bin/workspacesclient \
installPhase = ''
mkdir -p $out/bin $out/lib
mv $out/opt/workspacesclient/* $out/lib
rm -rf $out/opt
wrapProgram $out/lib/workspacesclient \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
--set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
--set GIO_EXTRA_MODULES "${glib-networking.out}/lib/gio/modules"
mv $out/lib/workspacesclient $out/bin
'';
meta = with lib; {

View File

@ -1,4 +1,13 @@
{ lib, stdenv, autoconf, automake, fetchFromGitHub, libpcap, ncurses, openssl, pcre }:
{ lib
, stdenv
, autoconf
, automake
, fetchFromGitHub
, libpcap
, ncurses
, openssl
, pcre
}:
stdenv.mkDerivation rec {
pname = "sngrep";
@ -11,12 +20,17 @@ stdenv.mkDerivation rec {
sha256 = "sha256-92wPRDFSoIOYFv3XKdsuYH8j3D8kXyg++q6VpIIMGDg=";
};
buildInputs = [
libpcap ncurses pcre openssl ncurses
nativeBuildInputs = [
autoconf
automake
];
nativeBuildInputs = [
autoconf automake
buildInputs = [
libpcap
ncurses
ncurses
openssl
pcre
];
configureFlags = [
@ -26,12 +40,14 @@ stdenv.mkDerivation rec {
"--enable-eep"
];
preConfigure = "./bootstrap.sh";
preConfigure = ''
./bootstrap.sh
'';
meta = with lib; {
description = "A tool for displaying SIP calls message flows from terminal";
homepage = "https://github.com/irontec/sngrep";
license = licenses.gpl3;
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ jorise ];
};

View File

@ -5,7 +5,6 @@
, ghostscript
, imagemagick
, jbig2enc
, ocrmypdf
, optipng
, pngquant
, qpdf

View File

@ -13,13 +13,13 @@
rustPlatform.buildRustPackage rec {
pname = "noaa-apt";
version = "1.3.0";
version = "1.3.1";
src = fetchFromGitHub {
owner = "martinber";
repo = "noaa-apt";
rev = "v${version}";
sha256 = "0fmbg6lw7lmm402hzddpzgi7y9mc6kic14x8rif7fampk20mv3ms";
sha256 = "sha256-A78O5HkD/LyfvjLJjf7PpJDuftkNbaxq7Zs5kNUaULk=";
};
nativeBuildInputs = [
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
pango
];
cargoSha256 = "167q9w45lh05l27cdssg8sfz3qfskfaxayzjy6q1cj50jrn0gq13";
cargoSha256 = "sha256-o39RvJkaJ8ZPOfLWDqykCLadwHhgBbmOWGQ4hZ6/6BI=";
preBuild = ''
# Used by macro pointing to resource location at compile time.

View File

@ -0,0 +1,27 @@
{ lib, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "glitter";
version = "1.4.4";
src = fetchFromGitHub {
owner = "milo123459";
repo = pname;
rev = "v${version}";
sha256 = "1hj1md4h4m1g7cx41sjihlr8xq0zhkikci4cp2gbldqcq5x8iws4";
};
cargoSha256 = "sha256-2QgL8iH0FNlUR/863YML3PLad8lRkYjfSmbl49LTfWw=";
# tests require it to be in a git repository
preCheck = ''
git init
'';
meta = with lib; {
description = "A git wrapper that allows you to compress multiple commands into one";
homepage = "https://github.com/milo123459/glitter";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
pname = "gitea";
version = "1.15.2";
version = "1.15.3";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "sha256-zvWJ1Q8nJw4hjPeBnuVprjn2NSlFwv4BwtHwgwHHvSI=";
sha256 = "sha256-r8FP9jEIChg4XDb0AF9riQBpNCVmffrVI0yzI83qwA0=";
};
unpackPhase = ''

View File

@ -1,13 +1,13 @@
{
"version": "14.2.3",
"repo_hash": "06fr8srz5ii0h65b1h2zfm8kzqz9g8jy2aq4g5js6kmv44zjya1p",
"version": "14.2.4",
"repo_hash": "1bh95c7rrz9v2vn008lm4zqfm4n7my8r1b2665cippyi4bw0dfjr",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v14.2.3-ee",
"rev": "v14.2.4-ee",
"passthru": {
"GITALY_SERVER_VERSION": "14.2.3",
"GITALY_SERVER_VERSION": "14.2.4",
"GITLAB_PAGES_VERSION": "1.42.0",
"GITLAB_SHELL_VERSION": "13.19.1",
"GITLAB_WORKHORSE_VERSION": "14.2.3"
"GITLAB_WORKHORSE_VERSION": "14.2.4"
}
}

View File

@ -20,7 +20,7 @@ let
};
};
};
version = "14.2.3";
version = "14.2.4";
gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
in
@ -32,7 +32,7 @@ buildGoModule {
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "sha256-TSA5CoNaLeMu7O02rsaR/rNciLwzxSIUUQsCo40Z15c=";
sha256 = "sha256-jVYPJWFJN/KDEi8j+BOWTbH8xP0ZLPewhGsJfj5h/0w=";
};
vendorSha256 = "sha256-WhkNK+V7yXK+le1u8StAKajZIBzVKqV/WIau27oZBXE=";

View File

@ -5,7 +5,7 @@ in
buildGoModule rec {
pname = "gitlab-workhorse";
version = "14.2.3";
version = "14.2.4";
src = fetchFromGitLab {
owner = data.owner;

View File

@ -1657,4 +1657,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4.1)
BUNDLED WITH
2.2.20
2.2.24

View File

@ -0,0 +1,86 @@
{ lib
, fetchFromGitHub
, perl
, buildPerlModule
, makeWrapper
, wrapGAppsHook
, withGtk3 ? false
, ffmpeg
, gtk3
, wget
, xdg-utils
, youtube-dl
, yt-dlp
, TestPod
, Gtk3
}:
let
perlEnv = perl.withPackages (ps: with ps; [
AnyURIEscape
DataDump
Encode
FilePath
GetoptLong
HTTPMessage
JSON
JSONXS
LWPProtocolHttps
LWPUserAgentCached
Memoize
PathTools
ScalarListUtils
TermReadLineGnu
TextParsewords
UnicodeLineBreak
] ++ lib.optionals withGtk3 [
FileShareDir
]);
in
buildPerlModule rec {
pname = "pipe-viewer";
version = "0.1.4";
src = fetchFromGitHub {
owner = "trizen";
repo = "pipe-viewer";
rev = version;
hash = "sha256-kDlZ3Cl8zvN/naGExh2yVW5yHwc1O04x4s22lNkbCzU=";
};
nativeBuildInputs = [ makeWrapper ]
++ lib.optionals withGtk3 [ wrapGAppsHook ];
buildInputs = [ perlEnv ]
# Can't be in perlEnv for wrapGAppsHook to work correctly
++ lib.optional withGtk3 Gtk3;
# Not supported by buildPerlModule
# and the Perl code fails anyway
# when Getopt::Long sets $gtk in Build.PL:
# Modification of a read-only value attempted at /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-perl5.34.0-Getopt-Long-2.52/lib/perl5/site_perl/5.34.0/Getopt/Long.pm line 585.
#buildFlags = lib.optional withGtk3 "--gtk3";
postPatch = lib.optionalString withGtk3 ''
substituteInPlace Build.PL --replace 'my $gtk ' 'my $gtk = 1;#'
'';
checkInputs = [
TestPod
];
dontWrapGApps = true;
postFixup = ''
wrapProgram "$out/bin/pipe-viewer" \
--prefix PATH : "${lib.makeBinPath [ ffmpeg wget youtube-dl yt-dlp ]}"
'' + lib.optionalString withGtk3 ''
wrapProgram "$out/bin/gtk-pipe-viewer" ''${gappsWrapperArgs[@]} \
--prefix PATH : "${lib.makeBinPath [ ffmpeg wget xdg-utils youtube-dl yt-dlp ]}"
'';
meta = with lib; {
homepage = "https://github.com/trizen/pipe-viewer";
description = "CLI+GUI YouTube Client";
license = licenses.artistic2;
maintainers = with maintainers; [ julm ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,10 @@
{ invalidateFetcherByDrvHash, fetchgit, ... }:
{
simple = invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
};
}

View File

@ -22,6 +22,7 @@
, clang
, llvmPackages
, linux-pam
, rdkafka
, ...
}:
@ -135,6 +136,11 @@ in
buildInputs = [ postgresql ];
};
rdkafka-sys = attr: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ rdkafka ];
};
rink = attrs: {
buildInputs = [ gmp ];
crateBin = [{ name = "rink"; path = "src/bin/rink.rs"; }];

View File

@ -13,7 +13,7 @@ with import ../../../nixos/lib/qemu-flags.nix { inherit pkgs; };
rec {
qemu = pkgs.qemu_kvm;
qemu = buildPackages.qemu_kvm;
modulesClosure = makeModulesClosure {
inherit kernel rootModules;
@ -24,7 +24,7 @@ rec {
hd = "vda"; # either "sda" or "vda"
initrdUtils = runCommand "initrd-utils"
{ buildInputs = [ nukeReferences ];
{ nativeBuildInputs = [ buildPackages.nukeReferences ];
allowedReferences = [ "out" modulesClosure ]; # prevent accidents like glibc being included in the initrd
}
''
@ -655,7 +655,10 @@ rec {
rpmClosureGenerator =
{name, packagesLists, urlPrefixes, packages, archs ? []}:
assert (builtins.length packagesLists) == (builtins.length urlPrefixes);
runCommand "${name}.nix" {buildInputs = [perl perlPackages.XMLSimple]; inherit archs;} ''
runCommand "${name}.nix" {
nativeBuildInputs = [ buildPackages.perl buildPackages.perlPackages.XMLSimple ];
inherit archs;
} ''
${lib.concatImapStrings (i: pl: ''
gunzip < ${pl} > ./packages_${toString i}.xml
'') packagesLists}
@ -694,7 +697,8 @@ rec {
debClosureGenerator =
{name, packagesLists, urlPrefix, packages}:
runCommand "${name}.nix" { buildInputs = [ perl dpkg ]; } ''
runCommand "${name}.nix"
{ nativeBuildInputs = [ buildPackages.perl buildPackages.dpkg ]; } ''
for i in ${toString packagesLists}; do
echo "adding $i..."
case $i in

View File

@ -1,13 +1,13 @@
{ lib, fetchzip }:
let
version = "0.042";
version = "0.043";
in
fetchzip {
name = "JuliaMono-ttf-${version}";
url = "https://github.com/cormullion/juliamono/releases/download/v${version}/JuliaMono-ttf.tar.gz";
sha256 = "sha256-oXODkeLDT5GXO4+r1fGaRrRS/SSBhzro5XE0GOwl4mQ=";
sha256 = "sha256-oxQRrFhTf37OrJSbDlmzh/7xOuKrtxO7v2+j7QcsAmE=";
postFetch = ''
mkdir -p $out/share/fonts/truetype

View File

@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
systemd
mate.mate-desktop
mate.mate-menus
mate.mate-panel
];
configureFlags = [ "--without-console-kit" ];

View File

@ -193,11 +193,11 @@ stdenv.mkDerivation rec {
--set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
fi
if [[ $i =~ libcudart ]]; then
rpath2=
patchelf --remove-rpath $i
else
rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
patchelf --set-rpath "$rpath2" --force-rpath $i
fi
patchelf --set-rpath "$rpath2" --force-rpath $i
done < <(find $out $lib $doc -type f -print0)
'';

View File

@ -9,14 +9,14 @@
stdenv.mkDerivation rec {
pname = "cdo";
version = "1.9.7.1";
version = "1.9.10";
# Dependencies
buildInputs = [ curl netcdf hdf5 ];
src = fetchurl {
url = "https://code.mpimet.mpg.de/attachments/download/20124/${pname}-${version}.tar.gz";
sha256 = "0b4n8dwxfsdbz4jflsx0b75hwapdf1rp14p48dfr7ksv0qp9aw9p";
url = "https://code.mpimet.mpg.de/attachments/download/24638/${pname}-${version}.tar.gz";
sha256 = "sha256-zDnIm7tIHXs5RaBsVqhJIEcjX0asNjxPDZgPzN3mZ34=";
};
# Configure phase

View File

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "kimageannotator";
version = "0.5.1";
version = "0.5.2";
src = fetchFromGitHub {
owner = "ksnip";
repo = "kImageAnnotator";
rev = "v${version}";
sha256 = "0hfvrd78lgwd7bccz0fx2pr7g0v3s401y5plra63rxwk55ffkxf8";
sha256 = "07m3il928gwzzab349grpaksqqv4n7r6mn317sx2jly0x0bpv0rh";
};
nativeBuildInputs = [ cmake qttools ];

View File

@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, libpsm2
, enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux) }:
stdenv.mkDerivation rec {
pname = "libfabric";
version = "1.13.1";
enableParallelBuilding = true;
src = fetchFromGitHub {
owner = "ofiwg";
repo = pname;
rev = "v${version}";
sha256 = "0USQMBXZrbz4GtXLNsSti9ohUOqqo0OCtVz+0Uk9ndI=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = lib.optional enablePsm2 libpsm2;
configureFlags = [ (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") ];
meta = with lib; {
homepage = "https://ofiwg.github.io/libfabric/";
description = "Open Fabric Interfaces";
license = with licenses; [ gpl2 bsd2 ];
platforms = platforms.all;
maintainers = [ maintainers.bzizou ];
};
}

View File

@ -10,14 +10,14 @@
mkDerivation rec {
pname = "mauikit-filebrowsing";
version = "1.2.2";
version = "2.0.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "maui";
repo = "mauikit-filebrowsing";
rev = "v${version}";
sha256 = "1m56lil7w884wn8qycl7y55abvw2vanfy8c4g786200p6acsh3kl";
sha256 = "sha256-hiR0RbZTduH0noyzpewsNJAtSdCtiSmTP8SLMBgK3uA=";
};
nativeBuildInputs = [

View File

@ -6,20 +6,21 @@
, kconfig
, kcoreaddons
, ki18n
, knotifications
, qtbase
, qtquickcontrols2
}:
mkDerivation rec {
pname = "mauikit";
version = "1.2.2";
version = "2.0.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "maui";
repo = "mauikit";
rev = "v${version}";
sha256 = "1jz0a65bbznjg7aaq19rdyp956wn6xc1x4xigfkhj6mwsvnb49av";
sha256 = "sha256-qz/MePMvyGR8lzR2xB2f9QENx04UHu0Xef7v0xcKovo=";
};
nativeBuildInputs = [
@ -31,6 +32,7 @@ mkDerivation rec {
kconfig
kcoreaddons
ki18n
knotifications
qtquickcontrols2
];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "s2n-tls";
version = "1.0.16";
version = "1.0.17";
src = fetchFromGitHub {
owner = "aws";
repo = pname;
rev = "v${version}";
sha256 = "sha256-gF4VhNEq/gpxXqOKvBtWZ5iZ3Jf98vSuSZYUu8r1jKA=";
sha256 = "sha256-6XqBpNURU8fzGkTt4jsijgMiOkzMebmLmPAq8yQsTg4=";
};
nativeBuildInputs = [ cmake ];

View File

@ -63,7 +63,7 @@ assert enableGeoLocation -> geoclue2 != null;
stdenv.mkDerivation rec {
pname = "webkitgtk";
version = "2.32.3";
version = "2.32.4";
outputs = [ "out" "dev" ];
@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
sha256 = "sha256-wfSW9axlTv5M72L71PL77u8mWgfF50GeXSkAv+6lLLw=";
sha256 = "1zfkfyhm4i7901pp32wcwcfxax69qgq5k44x0glwaywdg4zjvkh0";
};
patches = lib.optionals stdenv.isLinux [

File diff suppressed because it is too large Load Diff

View File

@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "gitpython";
version = "3.1.23";
version = "3.1.24";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "gitpython-developers";
repo = "GitPython";
rev = version;
sha256 = "sha256-1+jMg5pOrYJBgv/q9FFnR5Ujc8pwEPZHfLssNnt8nmA=";
sha256 = "sha256-KfR14EqXsDgIZUerk/hHDB0Z7IuqncbTNd/yNwrV9I0=";
};
patches = [

View File

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "ailment";
version = "9.0.9947";
version = "9.0.10010";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-4QwpIZbS+ZPjKp2oKSOzpjCK3Bi5AdntKTO8Ujx2TPE=";
sha256 = "sha256-kEHbuc5gmurMznTyfn/KnZEClLHJgv2CzK4O30dIgTg=";
};
propagatedBuildInputs = [ pyvex ];

View File

@ -43,14 +43,14 @@ in
buildPythonPackage rec {
pname = "angr";
version = "9.0.9947";
version = "9.0.10010";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-qE2LIfcKwMAbmEXycPYo4T1WU9A6tr6mDYcxDs21ySI=";
sha256 = "sha256-UWg3lrBMfQsR09wbx8F2nml8eymk7V60gwFbPXwNqAw=";
};
propagatedBuildInputs = [

View File

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "angrop";
version = "9.0.9947";
version = "9.0.10010";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-f9T2M2ilT8v6G87sbJ1r192zEpBeuWUpgQP9sYsUoeU=";
sha256 = "sha256-VCVvJI98gyVZC2SPb5hd8FKLTYUhEILJtieb4IQGL2c=";
};
propagatedBuildInputs = [

View File

@ -5,11 +5,11 @@
buildPythonPackage rec {
pname = "apprise";
version = "0.9.4";
version = "0.9.5.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-Q7iZD9GG8vPxITpn87l3yGtU+L8jwvs2Qi329LHlKrI=";
sha256 = "sha256-vwkHA66xK4LGhdazZ0o93+cSpGwgiTCMm8IC8D4G1Y0=";
};
nativeBuildInputs = [ Babel installShellFiles ];

View File

@ -7,13 +7,13 @@
buildPythonPackage rec {
pname = "archinfo";
version = "9.0.9947";
version = "9.0.10010";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DffiOMJUxreoWyPxelEL7mzaekwInYLquTS7HBIUJiM=";
sha256 = "sha256-Eyquud4Cc0bU4z+ElWs/gPzuNRtNKPMxWjSLpwFlBXQ=";
};
checkInputs = [

View File

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "claripy";
version = "9.0.9947";
version = "9.0.10010";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-3nG173x0N4enGTN52wd0HbHbJJrAI7IKSp7FHQ/v/5U=";
sha256 = "sha256-bcVbGDUTVLQ6ybPA2HjRlHJj1gnYK2dazhZXc9k0uSY=";
};
# Use upstream z3 implementation

View File

@ -15,7 +15,7 @@
let
# The binaries are following the argr projects release cycle
version = "9.0.9947";
version = "9.0.10010";
# Binary files from https://github.com/angr/binaries (only used for testing and only here)
binaries = fetchFromGitHub {
@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "angr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-xlzc5Bde/OFlGJe9e4qb7QSszWyINJkQfEzY0wTaKD0=";
sha256 = "sha256-Fq/xkcG6wLRaXG37UEf/3r+EsacpkP2iA+HZLT05ETg=";
};
propagatedBuildInputs = [

View File

@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "httpcore";
version = "0.13.6";
version = "0.13.7";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "encode";
repo = pname;
rev = version;
sha256 = "sha256-7G7jchOQTgcFSGZfoMPFm0NY9ofg5MM5Xn5lV+W9w8k=";
sha256 = "sha256-9hG9MqqEYMT2j7tXafToGYwHbJfp9/klNqZozHSbweE=";
};
propagatedBuildInputs = [

View File

@ -7,14 +7,14 @@
buildPythonPackage rec {
pname = "identify";
version = "2.2.14";
version = "2.2.15";
src = fetchFromGitHub {
owner = "pre-commit";
repo = pname;
rev = "v${version}";
sha256 = "sha256-hQpI69jBEtKYQuB+lx4oF2Ud77IajlAPYWl8IxtSTNo=";
sha256 = "sha256-mr778CszspTuKSPwXBDaehCMqbfkNFgAVzpkn7seVoU=";
};
checkInputs = [

View File

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "imap-tools";
version = "0.47.0";
version = "0.48.1";
disabled = isPy27;
@ -15,7 +15,7 @@ buildPythonPackage rec {
owner = "ikvk";
repo = "imap_tools";
rev = "v${version}";
sha256 = "sha256-7I7g/jxaVQDvhoGLWVerqYZhFhGUM/FwH1XCpLpg3D0=";
sha256 = "sha256-AS407jsDk+dAz1DPM44vTUQEleohr9xKnjgCw5Rjs9M=";
};
checkInputs = [

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchPypi, flask, ldapdomaindump, pycryptodomex, pyasn1, pyopenssl, chardet }:
{ lib, buildPythonPackage, fetchPypi, flask, ldapdomaindump, pycryptodomex, pyasn1, pyopenssl, chardet, setuptools }:
buildPythonPackage rec {
pname = "impacket";
@ -9,7 +9,7 @@ buildPythonPackage rec {
sha256 = "1c1be8a50cdbe3cffc566ba64f552b1b28bcc79b7a406b833956b49c56d77184";
};
propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl chardet ];
propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl chardet setuptools ];
# fail with:
# RecursionError: maximum recursion depth exceeded

View File

@ -24,11 +24,11 @@
buildPythonPackage rec {
pname = "keystoneauth1";
version = "4.3.1";
version = "4.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "93605430a6d1424f31659bc5685e9dc1be9a6254e88c99f00cffc0a60c648a64";
sha256 = "34662a6be67ab29424aabe6f99a8d7eb6b88d293109a07e60fea123ebffb314f";
};
postPatch = ''

View File

@ -1,34 +1,32 @@
{ fetchFromGitHub
{ lib
, buildPythonPackage
, cffi
, coloredlogs
, fetchFromGitHub
, ghostscript
, img2pdf
, importlib-resources
, jbig2enc
, leptonica
, pdfminer
, pikepdf
, pillow
, pluggy
, pngquant
, python3
, python3Packages
, qpdf
, lib
, pytest-xdist
, pytestCheckHook
, reportlab
, setuptools
, setuptools-scm
, setuptools-scm-git-archive
, stdenv
, tesseract4
, unpaper
, substituteAll
, tesseract4
, tqdm
, unpaper
}:
let
inherit (python3Packages) buildPythonApplication;
runtimeDeps = with python3Packages; [
ghostscript
jbig2enc
leptonica
pngquant
qpdf
tesseract4
unpaper
pillow
];
in
buildPythonApplication rec {
buildPythonPackage rec {
pname = "ocrmypdf";
version = "12.5.0";
@ -39,51 +37,48 @@ buildPythonApplication rec {
sha256 = "sha256-g80WedX+TGHE9EJ/RSgOc53PM17V3WZslUNaHoqKTo0=";
};
nativeBuildInputs = with python3Packages; [
setuptools
patches = [
(substituteAll {
src = ./paths.patch;
gs = "${lib.getBin ghostscript}/bin/gs";
jbig2 = "${lib.getBin jbig2enc}/bin/jbig2";
liblept = "${lib.getLib leptonica}/lib/liblept${stdenv.hostPlatform.extensions.sharedLibrary}";
pngquant = "${lib.getBin pngquant}/bin/pngquant";
tesseract = "${lib.getBin tesseract4}/bin/tesseract";
unpaper = "${lib.getBin unpaper}/bin/unpaper";
})
];
nativeBuildInputs = [
setuptools-scm-git-archive
setuptools-scm
];
propagatedBuildInputs = with python3Packages; [
propagatedBuildInputs = [
cffi
coloredlogs
img2pdf
importlib-resources
pdfminer
pluggy
pikepdf
pillow
pluggy
reportlab
setuptools
tqdm
];
checkInputs = with python3Packages; [
pypdf2
pytest
pytest-helpers-namespace
checkInputs = [
pytest-xdist
pytest-cov
python-xmp-toolkit
pytestCheckHook
] ++ runtimeDeps;
patches = [
(substituteAll {
src = ./liblept.patch;
liblept = "${lib.getLib leptonica}/lib/liblept${stdenv.hostPlatform.extensions.sharedLibrary}";
})
];
makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ghostscript jbig2enc pngquant qpdf tesseract4 unpaper ]}" ];
meta = with lib; {
homepage = "https://github.com/jbarlow83/OCRmyPDF";
description = "Adds an OCR text layer to scanned PDF files, allowing them to be searched";
license = with licenses; [ mpl20 mit ];
platforms = platforms.linux;
maintainers = [ maintainers.kiwi ];
maintainers = with maintainers; [ kiwi dotlambda ];
changelog = "https://github.com/jbarlow83/OCRmyPDF/blob/v${version}/docs/release_notes.rst";
};
}

View File

@ -0,0 +1,160 @@
diff --git a/src/ocrmypdf/_exec/ghostscript.py b/src/ocrmypdf/_exec/ghostscript.py
index 5c357f1b..f459763a 100644
--- a/src/ocrmypdf/_exec/ghostscript.py
+++ b/src/ocrmypdf/_exec/ghostscript.py
@@ -25,28 +25,7 @@ from ocrmypdf.subprocess import get_version, run, run_polling_stderr
log = logging.getLogger(__name__)
-missing_gs_error = """
----------------------------------------------------------------------
-This error normally occurs when ocrmypdf find can't Ghostscript.
-Please ensure Ghostscript is installed and its location is added to
-the system PATH environment variable.
-
-For details see:
- https://ocrmypdf.readthedocs.io/en/latest/installation.html
----------------------------------------------------------------------
-"""
-
-_gswin = None
-if os.name == 'nt':
- _gswin = which('gswin64c')
- if not _gswin:
- _gswin = which('gswin32c')
- if not _gswin:
- raise MissingDependencyError(missing_gs_error)
- _gswin = Path(_gswin).stem
-
-GS = _gswin if _gswin else 'gs'
-del _gswin
+GS = '@gs@'
def version():
diff --git a/src/ocrmypdf/_exec/jbig2enc.py b/src/ocrmypdf/_exec/jbig2enc.py
index 2e8a058b..65a09088 100644
--- a/src/ocrmypdf/_exec/jbig2enc.py
+++ b/src/ocrmypdf/_exec/jbig2enc.py
@@ -14,7 +14,7 @@ from ocrmypdf.subprocess import get_version, run
def version():
- return get_version('jbig2', regex=r'jbig2enc (\d+(\.\d+)*).*')
+ return get_version('@jbig2@', regex=r'jbig2enc (\d+(\.\d+)*).*')
def available():
@@ -27,7 +27,7 @@ def available():
def convert_group(*, cwd, infiles, out_prefix):
args = [
- 'jbig2',
+ '@jbig2@',
'-b',
out_prefix,
'-s', # symbol mode (lossy)
@@ -46,7 +46,7 @@ def convert_group_mp(args):
def convert_single(*, cwd, infile, outfile):
- args = ['jbig2', '-p', infile]
+ args = ['@jbig2@', '-p', infile]
with open(outfile, 'wb') as fstdout:
proc = run(args, cwd=cwd, stdout=fstdout, stderr=PIPE)
proc.check_returncode()
diff --git a/src/ocrmypdf/_exec/pngquant.py b/src/ocrmypdf/_exec/pngquant.py
index ca8a4542..d0544174 100644
--- a/src/ocrmypdf/_exec/pngquant.py
+++ b/src/ocrmypdf/_exec/pngquant.py
@@ -19,7 +19,7 @@ from ocrmypdf.subprocess import get_version, run
def version():
- return get_version('pngquant', regex=r'(\d+(\.\d+)*).*')
+ return get_version('@pngquant@', regex=r'(\d+(\.\d+)*).*')
def available():
@@ -46,7 +46,7 @@ def input_as_png(input_file: Path):
def quantize(input_file: Path, output_file: Path, quality_min: int, quality_max: int):
with input_as_png(input_file) as input_stream:
args = [
- 'pngquant',
+ '@pngquant@',
'--force',
'--skip-if-larger',
'--quality',
diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py
index 33ead41e..5840f7c1 100644
--- a/src/ocrmypdf/_exec/tesseract.py
+++ b/src/ocrmypdf/_exec/tesseract.py
@@ -78,7 +78,7 @@ class TesseractVersion(StrictVersion):
def version():
- return get_version('tesseract', regex=r'tesseract\s(.+)')
+ return get_version('@tesseract@', regex=r'tesseract\s(.+)')
def has_user_words():
@@ -100,7 +100,7 @@ def get_languages():
msg += output
return msg
- args_tess = ['tesseract', '--list-langs']
+ args_tess = ['@tesseract@', '--list-langs']
try:
proc = run(
args_tess,
@@ -122,7 +122,7 @@ def get_languages():
def tess_base_args(langs: List[str], engine_mode: Optional[int]) -> List[str]:
- args = ['tesseract']
+ args = ['@tesseract@']
if langs:
args.extend(['-l', '+'.join(langs)])
if engine_mode is not None:
diff --git a/src/ocrmypdf/_exec/unpaper.py b/src/ocrmypdf/_exec/unpaper.py
index 3c3ae72c..d269966a 100644
--- a/src/ocrmypdf/_exec/unpaper.py
+++ b/src/ocrmypdf/_exec/unpaper.py
@@ -31,7 +31,7 @@ log = logging.getLogger(__name__)
def version() -> str:
- return get_version('unpaper')
+ return get_version('@unpaper@')
def _setup_unpaper_io(tmpdir: Path, input_file: Path) -> Tuple[Path, Path]:
@@ -71,7 +71,7 @@ def _setup_unpaper_io(tmpdir: Path, input_file: Path) -> Tuple[Path, Path]:
def run(
input_file: Path, output_file: Path, *, dpi: DecFloat, mode_args: List[str]
) -> None:
- args_unpaper = ['unpaper', '-v', '--dpi', str(round(dpi, 6))] + mode_args
+ args_unpaper = ['@unpaper@', '-v', '--dpi', str(round(dpi, 6))] + mode_args
with TemporaryDirectory() as tmpdir:
input_pnm, output_pnm = _setup_unpaper_io(Path(tmpdir), input_file)
diff --git a/src/ocrmypdf/leptonica.py b/src/ocrmypdf/leptonica.py
index e4814f1a..fdaf7ea4 100644
--- a/src/ocrmypdf/leptonica.py
+++ b/src/ocrmypdf/leptonica.py
@@ -33,14 +33,7 @@ from ocrmypdf.lib._leptonica import ffi
logger = logging.getLogger(__name__)
-if os.name == 'nt':
- from ocrmypdf.subprocess._windows import shim_env_path
-
- libname = 'liblept-5'
- os.environ['PATH'] = shim_env_path()
-else:
- libname = 'lept'
-_libpath = find_library(libname)
+_libpath = '@liblept@'
if not _libpath:
raise MissingDependencyError(
"""

View File

@ -1,26 +1,20 @@
{ lib
, buildPythonPackage
, callPackage
, fetchPypi
, appdirs
, cryptography
, ddt
, dogpile_cache
, hacking
, jmespath
, jsonpatch
, jsonschema
, keystoneauth1
, munch
, netifaces
, os-service-types
, oslo-config
, oslotest
, pbr
, prometheus-client
, requests-mock
, pyyaml
, requestsexceptions
, stestr
, testscenarios
, stdenv
}:
buildPythonPackage rec {
@ -44,35 +38,15 @@ buildPythonPackage rec {
os-service-types
pbr
requestsexceptions
pyyaml
];
checkInputs = [
ddt
hacking
jsonschema
oslo-config
oslotest
prometheus-client
requests-mock
stestr
testscenarios
];
# Checks moved to 'passthru.tests' to workaround slowness
doCheck = false;
checkPhase = ''
stestr run -e <(echo "
openstack.tests.unit.cloud.test_image.TestImage.test_create_image_task
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_error_396
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_wait
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails_different_attribute
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_with_none
openstack.tests.unit.test_stats.TestStats.test_list_projects
openstack.tests.unit.test_stats.TestStats.test_projects
openstack.tests.unit.test_stats.TestStats.test_servers
openstack.tests.unit.test_stats.TestStats.test_servers_no_detail
")
'';
passthru.tests = {
tests = callPackage ./tests.nix { };
};
pythonImportsCheck = [ "openstack" ];

View File

@ -0,0 +1,65 @@
{ buildPythonPackage
, ddt
, hacking
, jsonschema
, lib
, openstacksdk
, oslo-config
, oslotest
, prometheus-client
, requests-mock
, stdenv
, stestr
, testscenarios
}:
buildPythonPackage rec {
pname = "openstacksdk-tests";
inherit (openstacksdk) version;
src = openstacksdk.src;
dontBuild = true;
dontInstall = true;
checkInputs = [
ddt
hacking
jsonschema
openstacksdk
oslo-config
oslotest
prometheus-client
requests-mock
stestr
testscenarios
];
checkPhase =
let aarch64TestsExcluded = lib.optionalString stdenv.hostPlatform.isAarch64 ''
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_node_set_provision_state_with_retries
openstack.tests.unit.cloud.test_role_assignment.TestRoleAssignment.test_grant_role_user_domain_exists
openstack.tests.unit.cloud.test_volume_backups.TestVolumeBackups.test_delete_volume_backup_force
openstack.tests.unit.object_store.v1.test_proxy.TestTempURLBytesPathAndKey.test_set_account_temp_url_key_second
openstack.tests.unit.cloud.test_security_groups.TestSecurityGroups.test_delete_security_group_neutron_not_found
''; in
''
stestr run -e <(echo "${aarch64TestsExcluded}
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_wait_for_baremetal_node_lock_locked
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_inspect_failed
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_available_wait
openstack.tests.unit.cloud.test_baremetal_node.TestBaremetalNode.test_inspect_machine_wait
openstack.tests.unit.cloud.test_image.TestImage.test_create_image_task
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_error_396
openstack.tests.unit.image.v2.test_proxy.TestImageProxy.test_wait_for_task_wait
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_fails_different_attribute
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match
openstack.tests.unit.test_resource.TestWaitForStatus.test_status_match_with_none
openstack.tests.unit.test_stats.TestStats.test_list_projects
openstack.tests.unit.test_stats.TestStats.test_projects
openstack.tests.unit.test_stats.TestStats.test_servers
openstack.tests.unit.test_stats.TestStats.test_servers_no_detail
")
'';
}

View File

@ -13,11 +13,11 @@
buildPythonPackage rec {
pname = "osc-lib";
version = "2.4.1";
version = "2.4.2";
src = fetchPypi {
inherit pname version;
sha256 = "1ianpk32vwdllpbk4zhfifqb5b064cbmia2hm02lcrh2m76z0zi5";
sha256 = "d6b530e3e50646840a6a5ef134e00f285cc4a04232c163f28585226ed40cc968";
};
nativeBuildInputs = [

View File

@ -5,13 +5,12 @@
, fetchPypi
, hypothesis
, isPy3k
, jbig2dec
, lxml
, mupdf
, pillow
, psutil
, pybind11
, pytest-cov
, pytest-helpers-namespace
, pytest-timeout
, pytest-xdist
, pytestCheckHook
, python-dateutil
@ -20,18 +19,27 @@
, setuptools
, setuptools-scm
, setuptools-scm-git-archive
, substituteAll
}:
buildPythonPackage rec {
pname = "pikepdf";
version = "2.16.1";
version = "3.0.0";
disabled = ! isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-4k3/avMfHrcy/LXbRniDXR8xJkOZb9zZ2+uKylK8Dd4=";
sha256 = "sha256-PBeTfiMLIq+pdeaRMOid8pEd0eLHu+IAE4aEFU5CiEM=";
};
patches = [
(substituteAll {
src = ./paths.patch;
jbig2dec = "${lib.getBin jbig2dec}/bin/jbig2dec";
mudraw = "${lib.getBin mupdf}/bin/mudraw";
})
];
buildInputs = [
pybind11
qpdf
@ -45,11 +53,8 @@ buildPythonPackage rec {
checkInputs = [
attrs
hypothesis
pytest-helpers-namespace
pytest-timeout
pytest-xdist
psutil
pytest-cov
pytestCheckHook
python-dateutil
python-xmp-toolkit
@ -62,17 +67,13 @@ buildPythonPackage rec {
setuptools
];
preBuild = ''
HOME=$TMPDIR
'';
pythonImportsCheck = [ "pikepdf" ];
meta = with lib; {
homepage = "https://github.com/pikepdf/pikepdf";
description = "Read and write PDFs with Python, powered by qpdf";
license = licenses.mpl20;
maintainers = [ maintainers.kiwi ];
maintainers = with maintainers; [ kiwi dotlambda ];
changelog = "https://github.com/pikepdf/pikepdf/blob/${version}/docs/release_notes.rst";
};
}

View File

@ -0,0 +1,26 @@
diff --git a/src/pikepdf/_methods.py b/src/pikepdf/_methods.py
index 70cdc9e..c3a14d0 100644
--- a/src/pikepdf/_methods.py
+++ b/src/pikepdf/_methods.py
@@ -190,7 +190,7 @@ def _mudraw(buffer, fmt) -> bytes:
tmp_in.flush()
proc = run(
- ['mudraw', '-F', fmt, '-o', '-', tmp_in.name],
+ ['@mudraw@', '-F', fmt, '-o', '-', tmp_in.name],
stdout=PIPE,
stderr=PIPE,
check=True,
diff --git a/src/pikepdf/jbig2.py b/src/pikepdf/jbig2.py
index 80cc910..64f6d31 100644
--- a/src/pikepdf/jbig2.py
+++ b/src/pikepdf/jbig2.py
@@ -25,7 +25,7 @@ def extract_jbig2(
global_path = Path(tmpdir) / "global"
output_path = Path(tmpdir) / "outfile"
- args = ["jbig2dec", "-e", "-o", os.fspath(output_path)]
+ args = ["@jbig2dec@", "-e", "-o", os.fspath(output_path)]
# Get the raw stream, because we can't decode im_obj - that is why we are here
# (Strictly speaking we should remove any non-JBIG2 filters if double encoded)

View File

@ -19,13 +19,13 @@
buildPythonPackage rec {
pname = "plugwise";
version = "0.13.1";
version = "0.14.5";
src = fetchFromGitHub {
owner = pname;
repo = "python-plugwise";
rev = "v${version}";
sha256 = "1sv421aa6ip74ajxa5imnh188hyx9dq3vwkb6aifi14h2wpr9lh3";
sha256 = "1kwks87raxs04dvnpmpn8l1cbzg5yb5nyinaqzxdsc6al83isbik";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,63 @@
{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, keyring, mock, pytestCheckHook, stdenv }:
buildPythonPackage rec {
pname = "plyer";
version = "2.0.0";
src = fetchFromGitHub {
owner = "kivy";
repo = pname;
rev = version;
sha256 = "15z1wpq6s69s76r6akzgg340bpc21l2r1j8270gp7i1rpnffcjwm";
};
patches = [
# fix naming of the DOCUMENTS dir
(fetchpatch {
url = "https://github.com/rski/plyer/commit/99dabb2d62248fc3ea5705c2720abf71c9fc378b.patch";
sha256 = "sha256-bbnw0TxH4FGTso5dopzquDCjrjZAy+6CJauqi/nfstA=";
})
# fix handling of the ~/.config/user-dirs.dir file
(fetchpatch {
url = "https://github.com/rski/plyer/commit/f803697a1fe4fb5e9c729ee6ef1997b8d64f3ccd.patch";
sha256 = "sha256-akuh//P5puz2PwcBRXZQ4KoGk+fxi4jn2H3pTIT5M78=";
})
];
postPatch = ''
rm -r examples
# remove all the wifi stuff. Depends on a python wifi module that has not been updated since 2016
find -iname "wifi*" -exec rm {} \;
substituteInPlace plyer/__init__.py \
--replace "wifi = Proxy('wifi', facades.Wifi)" "" \
--replace "'wifi'" ""
substituteInPlace plyer/facades/__init__.py \
--replace "from plyer.facades.wifi import Wifi" ""
'';
propagatedBuildInputs = [ keyring ];
checkInputs = [ mock pytestCheckHook ];
pytestFlagsArray = [ "plyer/tests" ];
disabledTests = [
# assumes dbus is not installed, it fails and is not very robust.
"test_notification_notifysend"
# fails during nix-build, but I am not able to explain why.
# The test and the API under test do work outside the nix build.
"test_uniqueid"
];
preCheck = ''
HOME=$(mktemp -d)
mkdir -p $HOME/.config/ $HOME/Pictures
'';
pythonImportsCheck = [ "plyer" ];
meta = with lib; {
description = "Plyer is a platform-independent api to use features commonly found on various platforms";
homepage = "https://github.com/kivy/plyer";
license = licenses.mit;
maintainers = with maintainers; [ rski ];
};
}

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pontos";
version = "21.7.4";
version = "21.9.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "greenbone";
repo = pname;
rev = "v${version}";
sha256 = "12z74fp21kv6jf4cwc4hd5xvl5lilhmpprcqimdg85pcddc4zwc2";
sha256 = "sha256-oNE15BGLKStIyMkuSyypZKFxa73Qsgnf+SMz/rq/gGg=";
};
nativeBuildInputs = [

View File

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "pyads";
version = "3.3.7";
version = "3.3.8";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "stlehmann";
repo = pname;
rev = version;
sha256 = "sha256-h3c6z+dmrOc1Q7E8YVJZJD2FsxoxqQX5J92SEweIpto=";
sha256 = "sha256-jhEVBndUOKM8rBX0LEqPTMLqbpizCiD7T+OCzbVgLM8=";
};
buildInputs = [

View File

@ -8,14 +8,15 @@
buildPythonPackage rec {
pname = "pyfronius";
version = "0.6.3";
version = "0.7.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "nielstron";
repo = pname;
rev = "release-${version}";
sha256 = "19cgr0y4zfyghpw9hwl9immh5c464dlasnfd8q570k9f0q682249";
sha256 = "1jp9vsllvzfnrkzmln2sp1ggr4pwaj47744n2ijz1wsf8v38nw2j";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,65 @@
{ lib
, buildPythonApplication
, fetchPypi
, coreutils
, pbr
, prettytable
, keystoneauth1
, requests
, warlock
, oslo-utils
, oslo-i18n
, wrapt
, pyopenssl
, stestr
, testscenarios
, ddt
, requests-mock
}:
buildPythonApplication rec {
pname = "python-glanceclient";
version = "3.5.0";
src = fetchPypi {
inherit pname version;
sha256 = "417b9d814b43e62df4351f26a0d5569b801e9f99f7758bd8c82ef994c3629356";
};
postPatch = ''
substituteInPlace glanceclient/tests/unit/v1/test_shell.py \
--replace "/bin/echo" "${coreutils}/bin/echo"
'';
propagatedBuildInputs = [
pbr
prettytable
keystoneauth1
requests
warlock
oslo-utils
oslo-i18n
wrapt
pyopenssl
];
checkInputs = [
stestr
testscenarios
ddt
requests-mock
];
checkPhase = ''
stestr run
'';
pythonImportsCheck = [ "glanceclient" ];
meta = with lib; {
description = "Python bindings for the OpenStack Images API";
homepage = "https://github.com/openstack/python-glanceclient/";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -0,0 +1,69 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, Babel
, cliff
, iso8601
, osc-lib
, prettytable
, oslo-i18n
, oslo-serialization
, oslo-utils
, keystoneauth1
, python-swiftclient
, pyyaml
, requests
, six
, stestr
, testscenarios
, requests-mock
}:
buildPythonApplication rec {
pname = "python-heatclient";
version = "2.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "b53529eb73f08c384181a580efaa42293cc35e0e1ecc4b0bc14a5c7b202019bb";
};
propagatedBuildInputs = [
pbr
Babel
cliff
iso8601
osc-lib
prettytable
oslo-i18n
oslo-serialization
oslo-utils
keystoneauth1
python-swiftclient
pyyaml
requests
six
];
checkInputs = [
stestr
testscenarios
requests-mock
];
checkPhase = ''
stestr run -e <(echo "
heatclient.tests.unit.test_common_http.HttpClientTest.test_get_system_ca_file
")
'';
pythonImportsCheck = [ "heatclient" ];
meta = with lib; {
description = "A client library for Heat built on the Heat orchestration API";
homepage = "https://github.com/openstack/python-heatclient";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -0,0 +1,63 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, appdirs
, cliff
, dogpile_cache
, jsonschema
, keystoneauth1
, openstacksdk
, osc-lib
, oslo-utils
, pyyaml
, requests
, stevedore
, stestr
, requests-mock
, oslotest
}:
buildPythonApplication rec {
pname = "python-ironicclient";
version = "4.8.0";
src = fetchPypi {
inherit pname version;
sha256 = "b55516a72b995f92fb434619cbc1e2effa604c7fcaa6ac4afb8f5af1ea8193a4";
};
propagatedBuildInputs = [
pbr
appdirs
cliff
dogpile_cache
jsonschema
keystoneauth1
openstacksdk
osc-lib
oslo-utils
pyyaml
requests
stevedore
];
checkInputs = [
stestr
requests-mock
oslotest
];
checkPhase = ''
stestr run
'';
pythonImportsCheck = [ "ironicclient" ];
meta = with lib; {
description = "A client for OpenStack bare metal provisioning API, includes a Python module (ironicclient) and CLI (baremetal).";
homepage = "https://github.com/openstack/python-ironicclient";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -14,11 +14,11 @@
buildPythonPackage rec {
pname = "python-keystoneclient";
version = "4.2.0";
version = "4.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "12jsiw82x2zcn8sf78xisf85kr28gl3jqj46a0wxx59v91p44j02";
sha256 = "fd09b7790ce53c20dc94318ec4d76e1cf71908aed59baeb4c7a61c17afd3aad5";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,58 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, oslo-config
, oslo-log
, oslo-serialization
, oslo-utils
, prettytable
, requests
, simplejson
, Babel
, osc-lib
, python-keystoneclient
, debtcollector
, callPackage
}:
buildPythonApplication rec {
pname = "python-manilaclient";
version = "3.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "2d90af35c5beccc53fa6b0f5a3c4b330a065e86924c33c42b017f18943ab2b05";
};
propagatedBuildInputs = [
pbr
oslo-config
oslo-log
oslo-serialization
oslo-utils
prettytable
requests
simplejson
Babel
osc-lib
python-keystoneclient
debtcollector
];
# Checks moved to 'passthru.tests' to workaround infinite recursion
doCheck = false;
passthru.tests = {
tests = callPackage ./tests.nix { };
};
pythonImportsCheck = [ "manilaclient" ];
meta = with lib; {
description = "Client library for OpenStack Manila API";
homepage = "https://github.com/openstack/python-manilaclient";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -0,0 +1,31 @@
{ buildPythonPackage
, python-manilaclient
, stestr
, ddt
, tempest
, mock
, python-openstackclient
}:
buildPythonPackage rec {
pname = "python-manilaclient-tests";
inherit (python-manilaclient) version;
src = python-manilaclient.src;
dontBuild = true;
dontInstall = true;
checkInputs = [
python-manilaclient
stestr
ddt
tempest
mock
python-openstackclient
];
checkPhase = ''
stestr run
'';
}

View File

@ -29,6 +29,8 @@ buildPythonApplication rec {
stestr run
'';
pythonImportsCheck = [ "swiftclient" ];
meta = with lib; {
homepage = "https://github.com/openstack/python-swiftclient";
description = "Python bindings to the OpenStack Object Storage API";

View File

@ -0,0 +1,52 @@
{ lib, fetchFromGitHub, substituteAll, buildPythonPackage, isPy3k, gnutls
, twisted, pyopenssl, service-identity }:
buildPythonPackage rec {
pname = "python3-gnutls";
version = "3.1.9";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "AGProjects";
repo = "python3-gnutls";
rev = "324b78f7cd3d9fe58c89c7f0b2bf94199bd6a6e5"; # version not tagged
sha256 = "sha256-18T8bAHlNERHobsspUFvSC6ulN55nrFFb5aqNwU8T00=";
};
propagatedBuildInputs = [ twisted pyopenssl service-identity ];
patches = [
(substituteAll {
src = ./libgnutls-path.patch;
gnutlslib = "${lib.getLib gnutls}/lib";
})
];
pythonImportsCheck = [ "gnutls" ];
meta = with lib; {
description = "Python wrapper for the GnuTLS library";
homepage = "https://github.com/AGProjects/python3-gnutls";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ chanley ];
longDescription = ''
This package provides a high level object oriented wrapper around libgnutls,
as well as low level bindings to the GnuTLS types and functions via ctypes.
The high level wrapper hides the details of accessing the GnuTLS library via
ctypes behind a set of classes that encapsulate GnuTLS sessions, certificates
and credentials and expose them to python applications using a simple API.
The package also includes a Twisted interface that has seamless intergration
with Twisted, providing connectTLS and listenTLS methods on the Twisted
reactor once imported (the methods are automatically attached to the reactor
by simply importing the GnuTLS Twisted interface module).
The high level wrapper is written using the GnuTLS library bindings that are
made available via ctypes. This makes the wrapper very powerful and flexible
as it has direct access to all the GnuTLS internals and is also very easy to
extend without any need to write C code or recompile anything.
'';
};
}

View File

@ -0,0 +1,42 @@
diff --git a/gnutls/library/__init__.py b/gnutls/library/__init__.py
index c1d898a..b87bd2e 100644
--- a/gnutls/library/__init__.py
+++ b/gnutls/library/__init__.py
@@ -18,35 +18,19 @@ def _library_locations(abi_version):
system = _get_system_name()
if system == "darwin":
library_names = ["libgnutls.%d.dylib" % abi_version]
- dynamic_loader_env_vars = ["DYLD_LIBRARY_PATH", "LD_LIBRARY_PATH"]
- additional_paths = ["/usr/local/lib", "/opt/local/lib", "/sw/lib"]
elif system == "windows":
library_names = ["libgnutls-%d.dll" % abi_version]
- dynamic_loader_env_vars = ["PATH"]
- additional_paths = ["."]
elif system == "cygwin":
library_names = ["cyggnutls-%d.dll" % abi_version]
- dynamic_loader_env_vars = ["LD_LIBRARY_PATH"]
- additional_paths = ["/usr/bin"]
else:
# Debian uses libgnutls-deb0.so.28, go figure
library_names = [
"libgnutls.so.%d" % abi_version,
"libgnutls-deb0.so.%d" % abi_version,
]
- dynamic_loader_env_vars = ["LD_LIBRARY_PATH"]
- additional_paths = ["/usr/local/lib"]
for library_name in library_names:
- for path in (
- path
- for env_var in dynamic_loader_env_vars
- for path in os.environ.get(env_var, "").split(":")
- if os.path.isdir(path)
- ):
- yield os.path.join(path, library_name)
- yield library_name
- for path in additional_paths:
- yield os.path.join(path, library_name)
+ path = "@gnutlslib@"
+ yield os.path.join(path, library_name)
def _load_library(abi_versions):

View File

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

View File

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "pyvera";
version = "0.3.13";
version = "0.3.14";
format = "pyproject";
src = fetchFromGitHub {
owner = "pavoni";
repo = pname;
rev = version;
sha256 = "0vh82bwgbq93jrwi9q4da534paknpak8hxi4wwlxh3qcvnpy1njv";
sha256 = "sha256-CuXsyHlRw5zqDrQfMT4BzHsmox8MLRKxFKwR5M0XoEM=";
};
nativeBuildInputs = [ poetry-core ];

View File

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "pyvex";
version = "9.0.9947";
version = "9.0.10010";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-52yI8V2rQTDbo/giHqhTKJ5Pz0PAMEz6ErZuo7RlbbM=";
sha256 = "sha256-1vAiDXMYiclK5P8QZUBuy6KllcAQm8d7rQpN+CBDVVA=";
};
postPatch = lib.optionalString stdenv.isDarwin ''

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "rapidfuzz";
version = "1.6.0";
version = "1.6.2";
disabled = pythonOlder "3.5";
@ -19,7 +19,7 @@ buildPythonPackage rec {
repo = "RapidFuzz";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-dJz6OzzjqWZwzDVJzJVUshK0HDP/Bz5cML0TrwVVcvg=";
sha256 = "sha256-tzjtvM5b9RD+Uqg5wT+FtSgjbAc0IgoDAmUFNpXQ9KA=";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,89 @@
{ lib
, buildPythonApplication
, fetchPypi
, pbr
, cliff
, jsonschema
, testtools
, paramiko
, netaddr
, oslo-concurrency
, oslo-config
, oslo-log
, stestr
, oslo-serialization
, oslo-utils
, fixtures
, pyyaml
, subunit
, stevedore
, prettytable
, urllib3
, debtcollector
, unittest2
, hacking
, oslotest
, bash
, python3
}:
buildPythonApplication rec {
pname = "tempest";
version = "28.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "24fcc0baa2044454b17b6b4aa2b1b19682cf95eb92ca38a2f289d3cbc488b170";
};
propagatedBuildInputs = [
pbr
cliff
jsonschema
testtools
paramiko
netaddr
oslo-concurrency
oslo-config
oslo-log
stestr
oslo-serialization
oslo-utils
fixtures
pyyaml
subunit
stevedore
prettytable
urllib3
debtcollector
unittest2
];
checkInputs = [
stestr
hacking
oslotest
];
checkPhase = ''
# Tests expect these applications available as such.
mkdir -p bin
export PATH="$PWD/bin:$PATH"
printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.main "$@"\n' > bin/tempest
printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.subunit_describe_calls "$@"\n' > bin/subunit-describe-calls
chmod +x bin/*
stestr --test-path tempest/tests run -e <(echo "
tempest.tests.lib.cli.test_execute.TestExecute.test_execute_with_prefix
")
'';
pythonImportsCheck = [ "tempest" ];
meta = with lib; {
description = "An OpenStack integration test suite that runs against live OpenStack cluster and validates an OpenStack deployment";
homepage = "https://github.com/openstack/tempest";
license = licenses.asl20;
maintainers = teams.openstack.members;
};
}

View File

@ -6,11 +6,11 @@
buildPythonPackage rec {
pname = "trimesh";
version = "3.9.29";
version = "3.9.30";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-YEddrun9rLcWk2u3Tfus8W014bU4BKWXWOOhCW/jSlY=";
sha256 = "ad1585906cdb49bd780f51f01e4c9946cc77fc0cfb0eb4a9a98cfbd12d7f1a3d";
};
propagatedBuildInputs = [ numpy ];

View File

@ -0,0 +1,28 @@
{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }:
rustPlatform.buildRustPackage rec {
pname = "hors";
version = "0.8.2";
src = fetchFromGitHub {
owner = "windsoilder";
repo = pname;
rev = "v${version}";
sha256 = "1q17i8zg7dwd8al42wfnkn891dy5hdhw4325plnihkarr50avbr0";
};
cargoSha256 = "sha256-1PB/JvgfC6qABI+cIePqtsSlZXPqMGQIay9SCXJkV9o=";
buildInputs = lib.optional stdenv.isDarwin Security;
# requires network access
doCheck = false;
meta = with lib; {
description = "Instant coding answers via the command line";
homepage = "https://github.com/windsoilder/hors";
changelog = "https://github.com/WindSoilder/hors/blob/v${version}/CHANGELOG.md";
license = licenses.gpl3Only;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "kube-prompt";
version = "1.0.5";
version = "1.0.11";
rev = "v${version}";
goPackagePath = "github.com/c-bata/kube-prompt";
@ -11,7 +11,7 @@ buildGoPackage rec {
inherit rev;
owner = "c-bata";
repo = "kube-prompt";
sha256 = "1c1y0n1yxcaxvhlsj7b0wvhi934b5g0s1mi46hh5amb9j3dhgq1c";
sha256 = "sha256-9OWsITbC7YO51QzsRwDWvojU54DiuGJhkSGwmesEj9w=";
};
subPackages = ["."];

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
doCheck = stdenv.name == "stdenv-linux";
meta = with lib; {
homepage = "https://github.com/NixOS/patchelf/blob/master/README";
homepage = "https://github.com/NixOS/patchelf";
license = licenses.gpl3;
description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
maintainers = [ maintainers.eelco ];

View File

@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
doCheck = !stdenv.isDarwin;
meta = with lib; {
homepage = "https://github.com/NixOS/patchelf/blob/master/README";
homepage = "https://github.com/NixOS/patchelf";
license = licenses.gpl3;
description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
maintainers = [ maintainers.eelco ];

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