forked from mirrors/nixpkgs
Merge master into haskell-updates
This commit is contained in:
commit
e749b2a8d4
|
@ -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}
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
31
doc/builders/special/invalidateFetcherByDrvHash.section.md
Normal file
31
doc/builders/special/invalidateFetcherByDrvHash.section.md
Normal 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=";
|
||||
};
|
|
@ -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}
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 ] }"
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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
|
||||
|
|
47
nixos/modules/programs/weylus.nix
Normal file
47
nixos/modules/programs/weylus.nix
Normal 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 ];
|
||||
};
|
||||
}
|
56
nixos/modules/services/desktops/cpupower-gui.nix
Normal file
56
nixos/modules/services/desktops/cpupower-gui.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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} = {
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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/*";
|
||||
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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]}"
|
||||
|
|
|
@ -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 = [
|
||||
|
|
58
pkgs/applications/graphics/weylus/default.nix
Normal file
58
pkgs/applications/graphics/weylus/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
{
|
||||
colorize_nicks = callPackage ./colorize_nicks { };
|
||||
|
||||
edit = callPackage ./edit { };
|
||||
|
||||
multiline = callPackage ./multiline {
|
||||
inherit (perlPackages) PodParser;
|
||||
};
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
, ghostscript
|
||||
, imagemagick
|
||||
, jbig2enc
|
||||
, ocrmypdf
|
||||
, optipng
|
||||
, pngquant
|
||||
, qpdf
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 = ''
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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=";
|
||||
|
|
|
@ -5,7 +5,7 @@ in
|
|||
buildGoModule rec {
|
||||
pname = "gitlab-workhorse";
|
||||
|
||||
version = "14.2.3";
|
||||
version = "14.2.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = data.owner;
|
||||
|
|
|
@ -1657,4 +1657,4 @@ DEPENDENCIES
|
|||
yajl-ruby (~> 1.4.1)
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.20
|
||||
2.2.24
|
||||
|
|
86
pkgs/applications/video/pipe-viewer/default.nix
Normal file
86
pkgs/applications/video/pipe-viewer/default.nix
Normal 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;
|
||||
};
|
||||
}
|
10
pkgs/build-support/fetchgit/tests.nix
Normal file
10
pkgs/build-support/fetchgit/tests.nix
Normal 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=";
|
||||
};
|
||||
}
|
|
@ -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"; }];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
|
|||
systemd
|
||||
mate.mate-desktop
|
||||
mate.mate-menus
|
||||
mate.mate-panel
|
||||
];
|
||||
|
||||
configureFlags = [ "--without-console-kit" ];
|
||||
|
|
|
@ -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)
|
||||
'';
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
|
30
pkgs/development/libraries/libfabric/default.nix
Normal file
30
pkgs/development/libraries/libfabric/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 [
|
||||
|
|
5753
pkgs/development/node-packages/node-packages.nix
generated
5753
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
160
pkgs/development/python-modules/ocrmypdf/paths.patch
Normal file
160
pkgs/development/python-modules/ocrmypdf/paths.patch
Normal 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(
|
||||
"""
|
|
@ -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" ];
|
||||
|
||||
|
|
65
pkgs/development/python-modules/openstacksdk/tests.nix
Normal file
65
pkgs/development/python-modules/openstacksdk/tests.nix
Normal 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
|
||||
")
|
||||
'';
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
26
pkgs/development/python-modules/pikepdf/paths.patch
Normal file
26
pkgs/development/python-modules/pikepdf/paths.patch
Normal 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)
|
|
@ -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 = [
|
||||
|
|
63
pkgs/development/python-modules/plyer/default.nix
Normal file
63
pkgs/development/python-modules/plyer/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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
|
||||
'';
|
||||
}
|
|
@ -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";
|
||||
|
|
52
pkgs/development/python-modules/python3-gnutls/default.nix
Normal file
52
pkgs/development/python-modules/python3-gnutls/default.nix
Normal 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.
|
||||
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -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):
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
89
pkgs/development/python-modules/tempest/default.nix
Normal file
89
pkgs/development/python-modules/tempest/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
28
pkgs/development/tools/hors/default.nix
Normal file
28
pkgs/development/tools/hors/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 = ["."];
|
||||
|
|
884
pkgs/development/tools/kube-prompt/deps.nix
generated
884
pkgs/development/tools/kube-prompt/deps.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -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 ];
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue