mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-21 22:43:01 +00:00
Merge master into staging-next
This commit is contained in:
commit
a9f08a2b87
@ -100,7 +100,7 @@ $ sudo launchctl kickstart -k system/org.nixos.nix-daemon
|
||||
darwin-builder = nixpkgs.lib.nixosSystem {
|
||||
system = linuxSystem;
|
||||
modules = [
|
||||
"${nixpkgs}/nixos/modules/profiles/macos-builder.nix"
|
||||
"${nixpkgs}/nixos/modules/profiles/nix-builder-vm.nix"
|
||||
{ virtualisation = {
|
||||
host.pkgs = pkgs;
|
||||
darwin-builder.workingDirectory = "/var/lib/darwin-builder";
|
||||
@ -158,7 +158,7 @@ in the example below and rebuild.
|
||||
darwin-builder = nixpkgs.lib.nixosSystem {
|
||||
system = linuxSystem;
|
||||
modules = [
|
||||
"${nixpkgs}/nixos/modules/profiles/macos-builder.nix"
|
||||
"${nixpkgs}/nixos/modules/profiles/nix-builder-vm.nix"
|
||||
{
|
||||
virtualisation.host.pkgs = pkgs;
|
||||
virtualisation.darwin-builder.diskSize = 5120;
|
||||
@ -185,6 +185,6 @@ nix-repl> darwin.linux-builder.nixosConfig.nix.package
|
||||
«derivation /nix/store/...-nix-2.17.0.drv»
|
||||
|
||||
nix-repl> :p darwin.linux-builder.nixosOptions.virtualisation.memorySize.definitionsWithLocations
|
||||
[ { file = "/home/user/src/nixpkgs/nixos/modules/profiles/macos-builder.nix"; value = 3072; } ]
|
||||
[ { file = "/home/user/src/nixpkgs/nixos/modules/profiles/nix-builder-vm.nix"; value = 3072; } ]
|
||||
|
||||
```
|
||||
|
@ -1,256 +1,5 @@
|
||||
{ config, lib, options, ... }:
|
||||
|
||||
let
|
||||
keysDirectory = "/var/keys";
|
||||
|
||||
user = "builder";
|
||||
|
||||
keyType = "ed25519";
|
||||
|
||||
cfg = config.virtualisation.darwin-builder;
|
||||
|
||||
let lib = import ../../../lib;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
../virtualisation/qemu-vm.nix
|
||||
|
||||
# Avoid a dependency on stateVersion
|
||||
{
|
||||
disabledModules = [
|
||||
../virtualisation/nixos-containers.nix
|
||||
../services/x11/desktop-managers/xterm.nix
|
||||
];
|
||||
# swraid's default depends on stateVersion
|
||||
config.boot.swraid.enable = false;
|
||||
options.boot.isContainer = lib.mkOption { default = false; internal = true; };
|
||||
}
|
||||
];
|
||||
|
||||
options.virtualisation.darwin-builder = with lib; {
|
||||
diskSize = mkOption {
|
||||
default = 20 * 1024;
|
||||
type = types.int;
|
||||
example = 30720;
|
||||
description = "The maximum disk space allocated to the runner in MB";
|
||||
};
|
||||
memorySize = mkOption {
|
||||
default = 3 * 1024;
|
||||
type = types.int;
|
||||
example = 8192;
|
||||
description = "The runner's memory in MB";
|
||||
};
|
||||
min-free = mkOption {
|
||||
default = 1024 * 1024 * 1024;
|
||||
type = types.int;
|
||||
example = 1073741824;
|
||||
description = ''
|
||||
The threshold (in bytes) of free disk space left at which to
|
||||
start garbage collection on the runner
|
||||
'';
|
||||
};
|
||||
max-free = mkOption {
|
||||
default = 3 * 1024 * 1024 * 1024;
|
||||
type = types.int;
|
||||
example = 3221225472;
|
||||
description = ''
|
||||
The threshold (in bytes) of free disk space left at which to
|
||||
stop garbage collection on the runner
|
||||
'';
|
||||
};
|
||||
workingDirectory = mkOption {
|
||||
default = ".";
|
||||
type = types.str;
|
||||
example = "/var/lib/darwin-builder";
|
||||
description = ''
|
||||
The working directory to use to run the script. When running
|
||||
as part of a flake will need to be set to a non read-only filesystem.
|
||||
'';
|
||||
};
|
||||
hostPort = mkOption {
|
||||
default = 31022;
|
||||
type = types.int;
|
||||
example = 22;
|
||||
description = ''
|
||||
The localhost host port to forward TCP to the guest port.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
# The builder is not intended to be used interactively
|
||||
documentation.enable = false;
|
||||
|
||||
environment.etc = {
|
||||
"ssh/ssh_host_ed25519_key" = {
|
||||
mode = "0600";
|
||||
|
||||
source = ./keys/ssh_host_ed25519_key;
|
||||
};
|
||||
|
||||
"ssh/ssh_host_ed25519_key.pub" = {
|
||||
mode = "0644";
|
||||
|
||||
source = ./keys/ssh_host_ed25519_key.pub;
|
||||
};
|
||||
};
|
||||
|
||||
# DNS fails for QEMU user networking (SLiRP) on macOS. See:
|
||||
#
|
||||
# https://github.com/utmapp/UTM/issues/2353
|
||||
#
|
||||
# This works around that by using a public DNS server other than the DNS
|
||||
# server that QEMU provides (normally 10.0.2.3)
|
||||
networking.nameservers = [ "8.8.8.8" ];
|
||||
|
||||
# The linux builder is a lightweight VM for remote building; not evaluation.
|
||||
nix.channel.enable = false;
|
||||
|
||||
# Deployment is by image.
|
||||
# TODO system.switch.enable = false;?
|
||||
system.disableInstallerTools = true;
|
||||
|
||||
nix.settings = {
|
||||
auto-optimise-store = true;
|
||||
|
||||
min-free = cfg.min-free;
|
||||
|
||||
max-free = cfg.max-free;
|
||||
|
||||
trusted-users = [ user ];
|
||||
};
|
||||
|
||||
services = {
|
||||
getty.autologinUser = user;
|
||||
|
||||
openssh = {
|
||||
enable = true;
|
||||
|
||||
authorizedKeysFiles = [ "${keysDirectory}/%u_${keyType}.pub" ];
|
||||
};
|
||||
};
|
||||
|
||||
system.build.macos-builder-installer =
|
||||
let
|
||||
privateKey = "/etc/nix/${user}_${keyType}";
|
||||
|
||||
publicKey = "${privateKey}.pub";
|
||||
|
||||
# This installCredentials script is written so that it's as easy as
|
||||
# possible for a user to audit before confirming the `sudo`
|
||||
installCredentials = hostPkgs.writeShellScript "install-credentials" ''
|
||||
set -euo pipefail
|
||||
|
||||
KEYS="''${1}"
|
||||
INSTALL=${hostPkgs.coreutils}/bin/install
|
||||
"''${INSTALL}" -g nixbld -m 600 "''${KEYS}/${user}_${keyType}" ${privateKey}
|
||||
"''${INSTALL}" -g nixbld -m 644 "''${KEYS}/${user}_${keyType}.pub" ${publicKey}
|
||||
'';
|
||||
|
||||
hostPkgs = config.virtualisation.host.pkgs;
|
||||
|
||||
script = hostPkgs.writeShellScriptBin "create-builder" (
|
||||
''
|
||||
set -euo pipefail
|
||||
'' +
|
||||
# When running as non-interactively as part of a DarwinConfiguration the working directory
|
||||
# must be set to a writeable directory.
|
||||
(if cfg.workingDirectory != "." then ''
|
||||
${hostPkgs.coreutils}/bin/mkdir --parent "${cfg.workingDirectory}"
|
||||
cd "${cfg.workingDirectory}"
|
||||
'' else "") + ''
|
||||
KEYS="''${KEYS:-./keys}"
|
||||
${hostPkgs.coreutils}/bin/mkdir --parent "''${KEYS}"
|
||||
PRIVATE_KEY="''${KEYS}/${user}_${keyType}"
|
||||
PUBLIC_KEY="''${PRIVATE_KEY}.pub"
|
||||
if [ ! -e "''${PRIVATE_KEY}" ] || [ ! -e "''${PUBLIC_KEY}" ]; then
|
||||
${hostPkgs.coreutils}/bin/rm --force -- "''${PRIVATE_KEY}" "''${PUBLIC_KEY}"
|
||||
${hostPkgs.openssh}/bin/ssh-keygen -q -f "''${PRIVATE_KEY}" -t ${keyType} -N "" -C 'builder@localhost'
|
||||
fi
|
||||
if ! ${hostPkgs.diffutils}/bin/cmp "''${PUBLIC_KEY}" ${publicKey}; then
|
||||
(set -x; sudo --reset-timestamp ${installCredentials} "''${KEYS}")
|
||||
fi
|
||||
KEYS="$(${hostPkgs.nix}/bin/nix-store --add "$KEYS")" ${lib.getExe config.system.build.vm}
|
||||
'');
|
||||
|
||||
in
|
||||
script.overrideAttrs (old: {
|
||||
pos = __curPos; # sets meta.position to point here; see script binding above for package definition
|
||||
meta = (old.meta or { }) // {
|
||||
platforms = lib.platforms.darwin;
|
||||
};
|
||||
passthru = (old.passthru or { }) // {
|
||||
# Let users in the repl inspect the config
|
||||
nixosConfig = config;
|
||||
nixosOptions = options;
|
||||
};
|
||||
});
|
||||
|
||||
system = {
|
||||
# To prevent gratuitous rebuilds on each change to Nixpkgs
|
||||
nixos.revision = null;
|
||||
|
||||
# to be updated by module maintainers, see nixpkgs#325610
|
||||
stateVersion = "24.05";
|
||||
};
|
||||
|
||||
users.users."${user}" = {
|
||||
isNormalUser = true;
|
||||
};
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id === "org.freedesktop.login1.power-off" && subject.user === "${user}") {
|
||||
return "yes";
|
||||
} else {
|
||||
return "no";
|
||||
}
|
||||
})
|
||||
'';
|
||||
|
||||
virtualisation = {
|
||||
diskSize = cfg.diskSize;
|
||||
|
||||
memorySize = cfg.memorySize;
|
||||
|
||||
forwardPorts = [
|
||||
{ from = "host"; guest.port = 22; host.port = cfg.hostPort; }
|
||||
];
|
||||
|
||||
# Disable graphics for the builder since users will likely want to run it
|
||||
# non-interactively in the background.
|
||||
graphics = false;
|
||||
|
||||
sharedDirectories.keys = {
|
||||
source = "\"$KEYS\"";
|
||||
target = keysDirectory;
|
||||
};
|
||||
|
||||
# If we don't enable this option then the host will fail to delegate builds
|
||||
# to the guest, because:
|
||||
#
|
||||
# - The host will lock the path to build
|
||||
# - The host will delegate the build to the guest
|
||||
# - The guest will attempt to lock the same path and fail because
|
||||
# the lockfile on the host is visible on the guest
|
||||
#
|
||||
# Snapshotting the host's /nix/store as an image isolates the guest VM's
|
||||
# /nix/store from the host's /nix/store, preventing this problem.
|
||||
useNixStoreImage = true;
|
||||
|
||||
# Obviously the /nix/store needs to be writable on the guest in order for it
|
||||
# to perform builds.
|
||||
writableStore = true;
|
||||
|
||||
# This ensures that anything built on the guest isn't lost when the guest is
|
||||
# restarted.
|
||||
writableStoreUseTmpfs = false;
|
||||
|
||||
# Pass certificates from host to the guest otherwise when custom CA certificates
|
||||
# are required we can't use the cached builder.
|
||||
useHostCerts = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
lib.warnIf (lib.isInOldestRelease 2411)
|
||||
"nixos/modules/profiles/macos-builder.nix has moved to nixos/modules/profiles/nix-builder-vm.nix; please update your NixOS imports."
|
||||
./nix-builder-vm.nix
|
||||
|
284
nixos/modules/profiles/nix-builder-vm.nix
Normal file
284
nixos/modules/profiles/nix-builder-vm.nix
Normal file
@ -0,0 +1,284 @@
|
||||
/*
|
||||
This profile uses NixOS to create a remote builder VM to build Linux packages,
|
||||
which can be used to build packages for Linux on other operating systems;
|
||||
primarily macOS.
|
||||
|
||||
It contains both the relevant guest settings as well as an installer script
|
||||
that manages it as a QEMU virtual machine on the host.
|
||||
*/
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
options,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
keysDirectory = "/var/keys";
|
||||
|
||||
user = "builder";
|
||||
|
||||
keyType = "ed25519";
|
||||
|
||||
cfg = config.virtualisation.darwin-builder;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
../virtualisation/qemu-vm.nix
|
||||
|
||||
# Avoid a dependency on stateVersion
|
||||
{
|
||||
disabledModules = [
|
||||
../virtualisation/nixos-containers.nix
|
||||
../services/x11/desktop-managers/xterm.nix
|
||||
];
|
||||
# swraid's default depends on stateVersion
|
||||
config.boot.swraid.enable = false;
|
||||
options.boot.isContainer = lib.mkOption {
|
||||
default = false;
|
||||
internal = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
options.virtualisation.darwin-builder = with lib; {
|
||||
diskSize = mkOption {
|
||||
default = 20 * 1024;
|
||||
type = types.int;
|
||||
example = 30720;
|
||||
description = "The maximum disk space allocated to the runner in MB";
|
||||
};
|
||||
memorySize = mkOption {
|
||||
default = 3 * 1024;
|
||||
type = types.int;
|
||||
example = 8192;
|
||||
description = "The runner's memory in MB";
|
||||
};
|
||||
min-free = mkOption {
|
||||
default = 1024 * 1024 * 1024;
|
||||
type = types.int;
|
||||
example = 1073741824;
|
||||
description = ''
|
||||
The threshold (in bytes) of free disk space left at which to
|
||||
start garbage collection on the runner
|
||||
'';
|
||||
};
|
||||
max-free = mkOption {
|
||||
default = 3 * 1024 * 1024 * 1024;
|
||||
type = types.int;
|
||||
example = 3221225472;
|
||||
description = ''
|
||||
The threshold (in bytes) of free disk space left at which to
|
||||
stop garbage collection on the runner
|
||||
'';
|
||||
};
|
||||
workingDirectory = mkOption {
|
||||
default = ".";
|
||||
type = types.str;
|
||||
example = "/var/lib/darwin-builder";
|
||||
description = ''
|
||||
The working directory to use to run the script. When running
|
||||
as part of a flake will need to be set to a non read-only filesystem.
|
||||
'';
|
||||
};
|
||||
hostPort = mkOption {
|
||||
default = 31022;
|
||||
type = types.int;
|
||||
example = 22;
|
||||
description = ''
|
||||
The localhost host port to forward TCP to the guest port.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
# The builder is not intended to be used interactively
|
||||
documentation.enable = false;
|
||||
|
||||
environment.etc = {
|
||||
"ssh/ssh_host_ed25519_key" = {
|
||||
mode = "0600";
|
||||
|
||||
source = ./keys/ssh_host_ed25519_key;
|
||||
};
|
||||
|
||||
"ssh/ssh_host_ed25519_key.pub" = {
|
||||
mode = "0644";
|
||||
|
||||
source = ./keys/ssh_host_ed25519_key.pub;
|
||||
};
|
||||
};
|
||||
|
||||
# DNS fails for QEMU user networking (SLiRP) on macOS. See:
|
||||
#
|
||||
# https://github.com/utmapp/UTM/issues/2353
|
||||
#
|
||||
# This works around that by using a public DNS server other than the DNS
|
||||
# server that QEMU provides (normally 10.0.2.3)
|
||||
networking.nameservers = [ "8.8.8.8" ];
|
||||
|
||||
# The linux builder is a lightweight VM for remote building; not evaluation.
|
||||
nix.channel.enable = false;
|
||||
|
||||
# Deployment is by image.
|
||||
# TODO system.switch.enable = false;?
|
||||
system.disableInstallerTools = true;
|
||||
|
||||
nix.settings = {
|
||||
auto-optimise-store = true;
|
||||
|
||||
min-free = cfg.min-free;
|
||||
|
||||
max-free = cfg.max-free;
|
||||
|
||||
trusted-users = [ user ];
|
||||
};
|
||||
|
||||
services = {
|
||||
getty.autologinUser = user;
|
||||
|
||||
openssh = {
|
||||
enable = true;
|
||||
|
||||
authorizedKeysFiles = [ "${keysDirectory}/%u_${keyType}.pub" ];
|
||||
};
|
||||
};
|
||||
|
||||
system.build.macos-builder-installer =
|
||||
let
|
||||
privateKey = "/etc/nix/${user}_${keyType}";
|
||||
|
||||
publicKey = "${privateKey}.pub";
|
||||
|
||||
# This installCredentials script is written so that it's as easy as
|
||||
# possible for a user to audit before confirming the `sudo`
|
||||
installCredentials = hostPkgs.writeShellScript "install-credentials" ''
|
||||
set -euo pipefail
|
||||
|
||||
KEYS="''${1}"
|
||||
INSTALL=${hostPkgs.coreutils}/bin/install
|
||||
"''${INSTALL}" -g nixbld -m 600 "''${KEYS}/${user}_${keyType}" ${privateKey}
|
||||
"''${INSTALL}" -g nixbld -m 644 "''${KEYS}/${user}_${keyType}.pub" ${publicKey}
|
||||
'';
|
||||
|
||||
hostPkgs = config.virtualisation.host.pkgs;
|
||||
|
||||
script = hostPkgs.writeShellScriptBin "create-builder" (
|
||||
''
|
||||
set -euo pipefail
|
||||
''
|
||||
+
|
||||
# When running as non-interactively as part of a DarwinConfiguration the working directory
|
||||
# must be set to a writeable directory.
|
||||
(
|
||||
if cfg.workingDirectory != "." then
|
||||
''
|
||||
${hostPkgs.coreutils}/bin/mkdir --parent "${cfg.workingDirectory}"
|
||||
cd "${cfg.workingDirectory}"
|
||||
''
|
||||
else
|
||||
""
|
||||
)
|
||||
+ ''
|
||||
KEYS="''${KEYS:-./keys}"
|
||||
${hostPkgs.coreutils}/bin/mkdir --parent "''${KEYS}"
|
||||
PRIVATE_KEY="''${KEYS}/${user}_${keyType}"
|
||||
PUBLIC_KEY="''${PRIVATE_KEY}.pub"
|
||||
if [ ! -e "''${PRIVATE_KEY}" ] || [ ! -e "''${PUBLIC_KEY}" ]; then
|
||||
${hostPkgs.coreutils}/bin/rm --force -- "''${PRIVATE_KEY}" "''${PUBLIC_KEY}"
|
||||
${hostPkgs.openssh}/bin/ssh-keygen -q -f "''${PRIVATE_KEY}" -t ${keyType} -N "" -C 'builder@localhost'
|
||||
fi
|
||||
if ! ${hostPkgs.diffutils}/bin/cmp "''${PUBLIC_KEY}" ${publicKey}; then
|
||||
(set -x; sudo --reset-timestamp ${installCredentials} "''${KEYS}")
|
||||
fi
|
||||
KEYS="$(${hostPkgs.nix}/bin/nix-store --add "$KEYS")" ${lib.getExe config.system.build.vm}
|
||||
''
|
||||
);
|
||||
|
||||
in
|
||||
script.overrideAttrs (old: {
|
||||
pos = __curPos; # sets meta.position to point here; see script binding above for package definition
|
||||
meta = (old.meta or { }) // {
|
||||
platforms = lib.platforms.darwin;
|
||||
};
|
||||
passthru = (old.passthru or { }) // {
|
||||
# Let users in the repl inspect the config
|
||||
nixosConfig = config;
|
||||
nixosOptions = options;
|
||||
};
|
||||
});
|
||||
|
||||
system = {
|
||||
# To prevent gratuitous rebuilds on each change to Nixpkgs
|
||||
nixos.revision = null;
|
||||
|
||||
# to be updated by module maintainers, see nixpkgs#325610
|
||||
stateVersion = "24.05";
|
||||
};
|
||||
|
||||
users.users."${user}" = {
|
||||
isNormalUser = true;
|
||||
};
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (action.id === "org.freedesktop.login1.power-off" && subject.user === "${user}") {
|
||||
return "yes";
|
||||
} else {
|
||||
return "no";
|
||||
}
|
||||
})
|
||||
'';
|
||||
|
||||
virtualisation = {
|
||||
diskSize = cfg.diskSize;
|
||||
|
||||
memorySize = cfg.memorySize;
|
||||
|
||||
forwardPorts = [
|
||||
{
|
||||
from = "host";
|
||||
guest.port = 22;
|
||||
host.port = cfg.hostPort;
|
||||
}
|
||||
];
|
||||
|
||||
# Disable graphics for the builder since users will likely want to run it
|
||||
# non-interactively in the background.
|
||||
graphics = false;
|
||||
|
||||
sharedDirectories.keys = {
|
||||
source = "\"$KEYS\"";
|
||||
target = keysDirectory;
|
||||
};
|
||||
|
||||
# If we don't enable this option then the host will fail to delegate builds
|
||||
# to the guest, because:
|
||||
#
|
||||
# - The host will lock the path to build
|
||||
# - The host will delegate the build to the guest
|
||||
# - The guest will attempt to lock the same path and fail because
|
||||
# the lockfile on the host is visible on the guest
|
||||
#
|
||||
# Snapshotting the host's /nix/store as an image isolates the guest VM's
|
||||
# /nix/store from the host's /nix/store, preventing this problem.
|
||||
useNixStoreImage = true;
|
||||
|
||||
# Obviously the /nix/store needs to be writable on the guest in order for it
|
||||
# to perform builds.
|
||||
writableStore = true;
|
||||
|
||||
# This ensures that anything built on the guest isn't lost when the guest is
|
||||
# restarted.
|
||||
writableStoreUseTmpfs = false;
|
||||
|
||||
# Pass certificates from host to the guest otherwise when custom CA certificates
|
||||
# are required we can't use the cached builder.
|
||||
useHostCerts = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -185,7 +185,7 @@ in {
|
||||
})
|
||||
(lib.mkIf (cfg.enable && (cfg.user == "jupyter")) {
|
||||
users.extraUsers.jupyter = {
|
||||
extraGroups = [ cfg.group ];
|
||||
inherit (cfg) group;
|
||||
home = "/var/lib/jupyter";
|
||||
createHome = true;
|
||||
isSystemUser = true;
|
||||
|
@ -62,6 +62,7 @@ in {
|
||||
default = "";
|
||||
description = ''
|
||||
Extra lines to be added verbatim to the generated configuration file.
|
||||
See upstream documentation <https://www.knot-resolver.cz/documentation/stable/config-overview.html> for more details.
|
||||
'';
|
||||
};
|
||||
listenPlain = lib.mkOption {
|
||||
|
@ -227,7 +227,6 @@ in
|
||||
services.redis.servers = mkIf cfg.redis.enable {
|
||||
immich = {
|
||||
enable = true;
|
||||
user = cfg.user;
|
||||
port = cfg.redis.port;
|
||||
bind = mkIf (!isRedisUnixSocket) cfg.redis.host;
|
||||
};
|
||||
@ -286,6 +285,10 @@ in
|
||||
RuntimeDirectory = "immich";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
# ensure that immich-server has permission to connect to the redis socket.
|
||||
SupplementaryGroups = mkIf (cfg.redis.enable && isRedisUnixSocket) [
|
||||
config.services.redis.servers.immich.group
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -90,6 +90,7 @@ in
|
||||
contents."/etc/systemd/journald.conf".text = ''
|
||||
[Journal]
|
||||
ForwardToConsole=yes
|
||||
TTYPath=/dev/${qemu-common.qemuSerialDevice}
|
||||
MaxLevelConsole=debug
|
||||
'';
|
||||
|
||||
|
@ -8,12 +8,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "2.29";
|
||||
version = "2.30";
|
||||
pname = "links2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://links.twibright.com/download/links-${finalAttrs.version}.tar.bz2";
|
||||
hash = "sha256-IqqWwLOOGm+PftnXpBZ6R/w3JGCXdZ72BZ7Pj56teZg=";
|
||||
hash = "sha256-xGMca1oRUnzcPLeHL8I7fyslwrAh1Za+QQ2ttAMV8WY=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, cups
|
||||
, libssh
|
||||
@ -15,7 +16,7 @@
|
||||
, pkg-config
|
||||
}:
|
||||
|
||||
qt5.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "x2goclient";
|
||||
version = "4.1.2.2";
|
||||
|
||||
|
@ -25,7 +25,7 @@ let
|
||||
update-source-version synology-drive-client "$version"
|
||||
'';
|
||||
|
||||
linux = qt5.mkDerivation {
|
||||
linux = stdenv.mkDerivation {
|
||||
inherit pname version meta passthru;
|
||||
|
||||
src = fetchurl {
|
||||
@ -33,7 +33,7 @@ let
|
||||
sha256 = "sha256-VeS5bPcMM4JDCSH5GXkl4OgQjrPKaNDh5PfX28/zqaU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg ];
|
||||
nativeBuildInputs = [ qt5.wrapQtAppsHook autoPatchelfHook dpkg ];
|
||||
|
||||
buildInputs = [ glibc gtk3 pango libxcb ];
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
{lib, stdenv, fetchurl, wxGTK, perl, python3, zlib, libGLU, libGL, libX11, SDL2}:
|
||||
{lib, stdenv, fetchurl, wxGTK, python3, zlib, libGLU, libGL, libX11, SDL2}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "golly";
|
||||
version = "4.2";
|
||||
version = "4.3";
|
||||
|
||||
src = fetchurl {
|
||||
hash = "sha256-VpEoqSPaZMP/AGIYZAbk5R/f8Crqvx8pKYN1O9Bl6V0=";
|
||||
hash = "sha256-UdJHgGPn7FDN4rYTgfPBAoYE5FGC43TP8OFBmYIqCB0=";
|
||||
url="mirror://sourceforge/project/golly/golly/golly-${version}/golly-${version}-src.tar.gz";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
wxGTK perl python3 zlib libGLU libGL libX11 SDL2
|
||||
wxGTK python3 zlib libGLU libGL libX11 SDL2
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -22,16 +22,14 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
sed -e 's@PYTHON_SHLIB@${python3}/lib/libpython3.so@' -i wxprefs.cpp
|
||||
sed -e 's@PERL_SHLIB@'"$(find "${perl}/lib/" -name libperl.so)"'@' -i wxprefs.cpp
|
||||
! grep _SHLIB *.cpp
|
||||
|
||||
grep /lib/libpython wxprefs.cpp
|
||||
grep /libperl wxprefs.cpp
|
||||
'';
|
||||
|
||||
makeFlags=[
|
||||
"-f" "makefile-gtk"
|
||||
"ENABLE_SOUND=1" "ENABLE_PERL=1"
|
||||
"ENABLE_SOUND=1"
|
||||
"GOLLYDIR=${placeholder "out"}/share/golly"
|
||||
];
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
, cmark
|
||||
, docbook_xsl
|
||||
, expat
|
||||
, fetchpatch2
|
||||
, file
|
||||
, flac
|
||||
, fmt
|
||||
@ -58,6 +59,13 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-UU57ZgH1sxCXspwfKXScw08aJYiv+k526U8q8N1tA+4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch2 {
|
||||
url = "https://gitlab.com/mbunkus/mkvtoolnix/-/commit/fc83003f541ac690fe308c3f4ac36e62814a40db.diff";
|
||||
hash = "sha256-HOS79g5xm70upV5Okv1COEg0SanXs7brRRB59Ofx5HA=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
docbook_xsl
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, jasper
|
||||
, libpng
|
||||
, libjpeg
|
||||
@ -12,9 +12,11 @@ stdenv.mkDerivation rec {
|
||||
pname = "aaphoto";
|
||||
version = "0.45";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://log69.com/downloads/aaphoto_sources_${version}.tar.gz";
|
||||
sha256 = "sha256-06koJM7jNVFqVgqg6BmOZ74foqk6yjUIFnwULzPZ4go=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "log69";
|
||||
repo = "aaphoto";
|
||||
rev = "581b3fad60382bdd36356155112559f731e31be3";
|
||||
hash = "sha256-PcvZ6v8vcZcrSn9EJ0CqxYz9gOJXlcVIkLLzFik0Pec=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.cc.isClang [
|
||||
@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://log69.com/aaphoto_en.html";
|
||||
homepage = "https://github.com/log69/aaphoto";
|
||||
description = "Free and open source automatic photo adjusting software";
|
||||
longDescription = ''
|
||||
Auto Adjust Photo tries to give a solution for the automatic color
|
||||
|
@ -1,50 +1,46 @@
|
||||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, libelfin
|
||||
, ncurses
|
||||
, python3
|
||||
, python3Packages
|
||||
, makeWrapper
|
||||
{
|
||||
lib,
|
||||
docutils,
|
||||
fetchFromGitHub,
|
||||
libelfin,
|
||||
ncurses,
|
||||
pkg-config,
|
||||
python3Packages,
|
||||
makeWrapper,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "coz";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
pyproject = false; # Built with make
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plasma-umass";
|
||||
repo = "coz";
|
||||
rev = version;
|
||||
hash = "sha256-DHpXKyqaDflD2olAXnyaxXvwsB3Tx4hKCeugxL0ZVG0=";
|
||||
hash = "sha256-tvFXInxjodB0jEgEKgnOGapiVPomBG1hvrhYtG2X5jI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/pid_t gettid/,+2d' libcoz/ccutil/thread.h
|
||||
'';
|
||||
|
||||
postConfigure = ''
|
||||
# This is currently hard-coded. Will be fixed in the next release.
|
||||
sed -e "s|/usr/lib/|$out/lib/|" -i ./coz
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
ncurses
|
||||
makeWrapper
|
||||
python3Packages.wrapPython
|
||||
docutils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ncurses
|
||||
libelfin
|
||||
(python3.withPackages (p: [ p.docutils ]))
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/man/man1
|
||||
make install prefix=$out
|
||||
dependencies = [ python3Packages.docutils ];
|
||||
|
||||
# fix executable includes
|
||||
makeFlags = [ "prefix=${placeholder "out"}" ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# fix executable includes
|
||||
postInstall = ''
|
||||
chmod -x $out/include/coz.h
|
||||
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta = {
|
||||
@ -52,6 +48,9 @@ stdenv.mkDerivation rec {
|
||||
description = "Profiler based on casual profiling";
|
||||
mainProgram = "coz";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ zimbatm ];
|
||||
maintainers = with lib.maintainers; [
|
||||
zimbatm
|
||||
aleksana
|
||||
];
|
||||
};
|
||||
}
|
||||
|
42
pkgs/by-name/go/gobusybox/package.nix
Normal file
42
pkgs/by-name/go/gobusybox/package.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gobusybox";
|
||||
version = "0.2.0-unstable-2024-03-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "u-root";
|
||||
repo = "gobusybox";
|
||||
rev = "d8fbaca23e26beab648c86c8a67335ad65d0d15c";
|
||||
hash = "sha256-hS6YwN6eekyDjp7E6sisW+8HO5WHTEC68XyKZFPihK4=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/src";
|
||||
|
||||
subPackages = [
|
||||
"cmd/gencmddeps"
|
||||
"cmd/goanywhere"
|
||||
"cmd/makebb"
|
||||
"cmd/makebbmain"
|
||||
"cmd/rewritepkg"
|
||||
];
|
||||
|
||||
CGO_ENABLED = "0";
|
||||
|
||||
vendorHash = "sha256-s4bQLXNFhyAk+UNI1xJXQABjBXtPFXiWvmdttV/6Bm8=";
|
||||
|
||||
ldflags = [ "-s" ];
|
||||
|
||||
meta = {
|
||||
description = "Tools for compiling many Go commands into one binary to save space";
|
||||
longDescription = "Builds are supported for vendor-based Go and module-based Go";
|
||||
homepage = "https://github.com/u-root/gobusybox";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ katexochen ];
|
||||
mainProgram = "makebb";
|
||||
};
|
||||
}
|
@ -36,7 +36,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
icon = fetchurl {
|
||||
urls = [
|
||||
"https://www.hex-rays.com/products/ida/news/8_1/images/icon_free.png"
|
||||
"https://web.archive.org/web/20221105181231if_/https://hex-rays.com/products/ida/news/8_1/images/icon_free.png"
|
||||
];
|
||||
hash = "sha256-widkv2VGh+eOauUK/6Sz/e2auCNFAsc8n9z0fdrSnW0=";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, catch2_3, libcpr, trompeloeil }:
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, catch2_3, libcpr_1_10_5, trompeloeil }:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "influxdb-cxx";
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [ boost libcpr ]
|
||||
buildInputs = [ boost libcpr_1_10_5 ]
|
||||
++ lib.optionals finalAttrs.finalPackage.doCheck [ catch2_3 trompeloeil ];
|
||||
|
||||
cmakeFlags = [
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ cmake, extra-cmake-modules, fetchFromGitLab, lib, libsForQt5 }:
|
||||
{ stdenv, cmake, extra-cmake-modules, fetchFromGitLab, lib, libsForQt5 }:
|
||||
|
||||
libsForQt5.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kgeotag";
|
||||
version = "1.6.0";
|
||||
|
||||
@ -12,7 +12,7 @@ libsForQt5.mkDerivation rec {
|
||||
hash = "sha256-lUfU6SHRCglC81BTcVFFOp/psWXsUFOTEPUrZutrJaY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules libsForQt5.wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ libsForQt5.libkexiv2 libsForQt5.marble ];
|
||||
|
||||
|
56
pkgs/by-name/li/libcpr/package.nix
Normal file
56
pkgs/by-name/li/libcpr/package.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
curl,
|
||||
staticOnly ? stdenv.hostPlatform.isStatic,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.11.0";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "libcpr";
|
||||
inherit version;
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libcpr";
|
||||
repo = "cpr";
|
||||
rev = version;
|
||||
hash = "sha256-jWyss0krj8MVFqU1LAig+4UbXO5pdcWIT+hCs9DxemM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
propagatedBuildInputs = [ curl ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_SHARED_LIBS=${if staticOnly then "OFF" else "ON"}"
|
||||
"-DCPR_USE_SYSTEM_CURL=ON"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Linking with stdc++fs is no longer necessary.
|
||||
sed -i '/stdc++fs/d' include/CMakeLists.txt
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace "$out/lib/cmake/cpr/cprTargets.cmake" \
|
||||
--replace "_IMPORT_PREFIX \"$out\"" \
|
||||
"_IMPORT_PREFIX \"$dev\""
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++ wrapper around libcurl";
|
||||
homepage = "https://docs.libcpr.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ rycee ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -1,11 +1,22 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, curl }:
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
curl,
|
||||
}:
|
||||
|
||||
let version = "1.10.5"; in
|
||||
let
|
||||
version = "1.10.5";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "libcpr";
|
||||
inherit version;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libcpr";
|
||||
@ -18,9 +29,7 @@ stdenv.mkDerivation {
|
||||
|
||||
propagatedBuildInputs = [ curl ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCPR_USE_SYSTEM_CURL=ON"
|
||||
];
|
||||
cmakeFlags = [ "-DCPR_USE_SYSTEM_CURL=ON" ];
|
||||
|
||||
postPatch = ''
|
||||
# Linking with stdc++fs is no longer necessary.
|
57
pkgs/by-name/mk/mkuimage/package.nix
Normal file
57
pkgs/by-name/mk/mkuimage/package.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
coreutils,
|
||||
bash,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
buildGoModule {
|
||||
pname = "mkuimage";
|
||||
version = "0-unstable-2024-02-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "u-root";
|
||||
repo = "mkuimage";
|
||||
rev = "899a47eaaa318bd2327dc94d964ccda40a784037";
|
||||
hash = "sha256-sb/LtwAN7RN8jWG/x6pomz2Q+vKekA/teC7U5NVb2qY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-KX9uv5m4N4+7gOgjhotRac9sz8tWSJ1krq98RWdsbzg=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/gentpldeps"
|
||||
"cmd/mkuimage"
|
||||
];
|
||||
|
||||
CGO_ENABLED = "0";
|
||||
|
||||
ldflags = [ "-s" ];
|
||||
|
||||
# Tests are failing on darwin as they try to compile u-root binaries
|
||||
# that only work on linux.
|
||||
#
|
||||
# Notice that due to some legacy/bug in buildGoModule, the build isn't
|
||||
# failing even the tests are, as we get a false-positive the output
|
||||
# filtering: https://github.com/NixOS/nixpkgs/issues/349468
|
||||
doCheck = stdenv.isLinux;
|
||||
|
||||
# The tests want to copy /bin/bash and /bin/ls, but we don't have those.
|
||||
# As these are interesting e2e tests to check if things work, we substitute
|
||||
# them with the actual paths instead of just skipping the tests.
|
||||
preCheck = ''
|
||||
substituteInPlace ./cmd/mkuimage/main_test.go \
|
||||
--replace-fail '-files=/bin/bash"' '-files=${bash}/bin/bash:bin/bash"' \
|
||||
--replace-fail '-files=/bin/ls"' '-files=${coreutils}/bin/ls:bin/ls"' \
|
||||
--replace-fail '-files=/bin/bash' '-files=${bash}/bin/bash'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Create small Go-based root file systems -- with support for CPIOs and (TBD) Docker images";
|
||||
homepage = "https://github.com/u-root/mkuimage";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ katexochen ];
|
||||
mainProgram = "mkuimage";
|
||||
};
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, libsForQt5, makeWrapper, neovim, neovim-qt-unwrapped }:
|
||||
{ stdenvNoCC, makeWrapper, neovim, neovim-qt-unwrapped }:
|
||||
|
||||
let
|
||||
unwrapped = neovim-qt-unwrapped;
|
||||
in
|
||||
libsForQt5.mkDerivation {
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "neovim-qt";
|
||||
version = unwrapped.version;
|
||||
buildCommand = if stdenv.hostPlatform.isDarwin then ''
|
||||
buildCommand = if stdenvNoCC.hostPlatform.isDarwin then ''
|
||||
mkdir -p $out/Applications
|
||||
cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
fetchFromGitLab,
|
||||
libGLU,
|
||||
}:
|
||||
qt5.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oscar";
|
||||
version = "1.5.1";
|
||||
|
||||
@ -22,7 +22,10 @@ qt5.mkDerivation rec {
|
||||
qt5.qtserialport
|
||||
libGLU
|
||||
];
|
||||
nativeBuildInputs = [ qt5.qmake ];
|
||||
nativeBuildInputs = [
|
||||
qt5.wrapQtAppsHook
|
||||
qt5.qmake
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace oscar/oscar.pro --replace "/bin/bash" "${stdenv.shell}"
|
||||
'';
|
||||
|
@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "prowler";
|
||||
version = "4.3.7";
|
||||
version = "4.4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "prowler-cloud";
|
||||
repo = "prowler";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-hzkG0cHNR1t2/8OflRvF44rCl4UeMTq1Vw8sRdcl/WE=";
|
||||
hash = "sha256-9pqp9DJKvzOzApWuSXNn7uQ4bxdPmQ9QtOEAlbrT9Eg=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
@ -28,6 +28,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
azure-mgmt-applicationinsights
|
||||
azure-mgmt-authorization
|
||||
azure-mgmt-compute
|
||||
azure-mgmt-containerregistry
|
||||
azure-mgmt-containerservice
|
||||
azure-mgmt-cosmosdb
|
||||
azure-mgmt-keyvault
|
||||
|
43
pkgs/by-name/py/pyflyby/package.nix
Normal file
43
pkgs/by-name/py/pyflyby/package.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
let
|
||||
version = "1.9.6";
|
||||
in
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
inherit version;
|
||||
pname = "pyflyby";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deshaw";
|
||||
repo = "pyflyby";
|
||||
rev = version;
|
||||
hash = "sha256-QkoFr9tFtZ+ZEWlxe9csrzoYFl9/V2l4hKYfUWsXUdc=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
six
|
||||
toml
|
||||
isort
|
||||
black
|
||||
ipython
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "pyflyby" ];
|
||||
|
||||
meta = {
|
||||
description = "Set of productivity tools for Python";
|
||||
homepage = "https://github.com/deshaw/pyflyby";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ jfvillablanca ];
|
||||
mainProgram = "py";
|
||||
};
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
libsForQt5,
|
||||
coreutils,
|
||||
xdg-utils,
|
||||
@ -9,7 +10,7 @@
|
||||
perlPackages,
|
||||
}:
|
||||
|
||||
libsForQt5.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qdirstat";
|
||||
version = "1.9";
|
||||
|
||||
@ -20,7 +21,12 @@ libsForQt5.mkDerivation rec {
|
||||
hash = "sha256-pwdmltHDNwUMx1FNOoiXl5Pna0zlKqahmicBCN6UVSU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ] ++ (with libsForQt5; [ qmake ]);
|
||||
nativeBuildInputs =
|
||||
[ makeWrapper ]
|
||||
++ (with libsForQt5; [
|
||||
qmake
|
||||
wrapQtAppsHook
|
||||
]);
|
||||
|
||||
buildInputs = [ perlPackages.perl ];
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
, pkg-config, qemu_test, syslinux, util-linux }:
|
||||
|
||||
let
|
||||
version = "0.8.1";
|
||||
version = "0.9.0";
|
||||
# list of all theoretically available targets
|
||||
targets = [
|
||||
"genode"
|
||||
@ -21,7 +21,7 @@ in stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
|
||||
hash = "sha256-J1xcL/AdcLQ7Ph3TFwEaS9l4cWjDQsTaXTdBDcT7p6E=";
|
||||
hash = "sha256-w5ZEPxjplBTkedPN4yJN1A55HtItYjuwZA8UPFQBOw8=";
|
||||
};
|
||||
|
||||
hardeningEnable = [ "pie" ];
|
||||
|
@ -1,12 +1,13 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
qt5,
|
||||
autoPatchelfHook,
|
||||
fetchzip,
|
||||
portaudio,
|
||||
}:
|
||||
|
||||
qt5.mkDerivation {
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "soundwire";
|
||||
version = "3.0";
|
||||
|
||||
@ -17,6 +18,7 @@ qt5.mkDerivation {
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
qt5.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
tcl.mkTclDerivation rec {
|
||||
pname = "tdom";
|
||||
version = "0.9.4";
|
||||
version = "0.9.5";
|
||||
|
||||
src = fetchzip {
|
||||
url = "http://tdom.org/downloads/tdom-${version}-src.tgz";
|
||||
hash = "sha256-7RvHzb4ae1HbJGkXCd68B23q/zhEK6ysYOnT6yeTLU8=";
|
||||
hash = "sha256-WjXIVnz+1Z59fQHMHXzQaIRRwfiBHMTBq/p2alGF+Po=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
204
pkgs/by-name/u-/u-root-cmds/package.nix
Normal file
204
pkgs/by-name/u-/u-root-cmds/package.nix
Normal file
@ -0,0 +1,204 @@
|
||||
{
|
||||
lib,
|
||||
u-root,
|
||||
which,
|
||||
}:
|
||||
|
||||
u-root.overrideAttrs (prevAttrs: {
|
||||
subPackages = [
|
||||
"cmds/boot/boot"
|
||||
"cmds/boot/fitboot"
|
||||
"cmds/boot/pxeboot"
|
||||
"cmds/cluster/nodestats"
|
||||
"cmds/contrib/fbptcat"
|
||||
"cmds/core/backoff"
|
||||
"cmds/core/base64"
|
||||
"cmds/core/basename"
|
||||
"cmds/core/blkid"
|
||||
"cmds/core/brctl"
|
||||
"cmds/core/cat"
|
||||
"cmds/core/chmod"
|
||||
"cmds/core/chroot"
|
||||
"cmds/core/cmp"
|
||||
"cmds/core/comm"
|
||||
"cmds/core/cp"
|
||||
"cmds/core/cpio"
|
||||
"cmds/core/date"
|
||||
"cmds/core/dd"
|
||||
"cmds/core/df"
|
||||
"cmds/core/dhclient"
|
||||
"cmds/core/dirname"
|
||||
"cmds/core/dmesg"
|
||||
"cmds/core/du"
|
||||
"cmds/core/echo"
|
||||
"cmds/core/false"
|
||||
"cmds/core/find"
|
||||
"cmds/core/free"
|
||||
"cmds/core/fusermount"
|
||||
"cmds/core/gosh"
|
||||
"cmds/core/gpgv"
|
||||
"cmds/core/gpt"
|
||||
"cmds/core/grep"
|
||||
"cmds/core/gzip"
|
||||
"cmds/core/head"
|
||||
"cmds/core/hexdump"
|
||||
"cmds/core/hostname"
|
||||
"cmds/core/hwclock"
|
||||
"cmds/core/id"
|
||||
"cmds/core/init"
|
||||
"cmds/core/insmod"
|
||||
"cmds/core/io"
|
||||
"cmds/core/ip"
|
||||
"cmds/core/kexec"
|
||||
"cmds/core/kill"
|
||||
"cmds/core/lddfiles"
|
||||
"cmds/core/ln"
|
||||
"cmds/core/lockmsrs"
|
||||
"cmds/core/losetup"
|
||||
"cmds/core/ls"
|
||||
"cmds/core/lsdrivers"
|
||||
"cmds/core/lsmod"
|
||||
"cmds/core/man"
|
||||
"cmds/core/md5sum"
|
||||
"cmds/core/mkdir"
|
||||
"cmds/core/mkfifo"
|
||||
"cmds/core/mknod"
|
||||
"cmds/core/mktemp"
|
||||
"cmds/core/more"
|
||||
"cmds/core/mount"
|
||||
"cmds/core/msr"
|
||||
"cmds/core/mv"
|
||||
"cmds/core/netcat"
|
||||
"cmds/core/netstat"
|
||||
"cmds/core/nohup"
|
||||
"cmds/core/ntpdate"
|
||||
"cmds/core/pci"
|
||||
"cmds/core/ping"
|
||||
"cmds/core/poweroff"
|
||||
"cmds/core/printenv"
|
||||
"cmds/core/ps"
|
||||
"cmds/core/pwd"
|
||||
"cmds/core/readlink"
|
||||
"cmds/core/realpath"
|
||||
"cmds/core/rm"
|
||||
"cmds/core/rmmod"
|
||||
"cmds/core/rsdp"
|
||||
"cmds/core/scp"
|
||||
"cmds/core/seq"
|
||||
"cmds/core/shasum"
|
||||
"cmds/core/shutdown"
|
||||
"cmds/core/sleep"
|
||||
"cmds/core/sluinit"
|
||||
"cmds/core/sort"
|
||||
"cmds/core/sshd"
|
||||
"cmds/core/strace"
|
||||
"cmds/core/strings"
|
||||
"cmds/core/stty"
|
||||
"cmds/core/switch_root"
|
||||
"cmds/core/sync"
|
||||
"cmds/core/tail"
|
||||
"cmds/core/tar"
|
||||
"cmds/core/tee"
|
||||
"cmds/core/time"
|
||||
"cmds/core/timeout"
|
||||
"cmds/core/touch"
|
||||
"cmds/core/tr"
|
||||
"cmds/core/true"
|
||||
"cmds/core/truncate"
|
||||
"cmds/core/ts"
|
||||
"cmds/core/tty"
|
||||
"cmds/core/umount"
|
||||
"cmds/core/uname"
|
||||
"cmds/core/uniq"
|
||||
"cmds/core/unmount"
|
||||
"cmds/core/unshare"
|
||||
"cmds/core/uptime"
|
||||
"cmds/core/watchdog"
|
||||
"cmds/core/watchdogd"
|
||||
"cmds/core/wc"
|
||||
"cmds/core/wget"
|
||||
"cmds/core/which"
|
||||
"cmds/core/xargs"
|
||||
"cmds/core/yes"
|
||||
"cmds/exp/acpicat"
|
||||
"cmds/exp/acpigrep"
|
||||
"cmds/exp/ansi"
|
||||
"cmds/exp/bootvars"
|
||||
"cmds/exp/bzimage"
|
||||
"cmds/exp/cbmem"
|
||||
"cmds/exp/console"
|
||||
"cmds/exp/crc"
|
||||
"cmds/exp/disk_unlock"
|
||||
"cmds/exp/dmidecode"
|
||||
"cmds/exp/dumpebda"
|
||||
"cmds/exp/dumpmemmap"
|
||||
"cmds/exp/ectool"
|
||||
"cmds/exp/ed"
|
||||
"cmds/exp/efivarfs"
|
||||
"cmds/exp/esxiboot"
|
||||
"cmds/exp/fbnetboot"
|
||||
"cmds/exp/fbsplash"
|
||||
"cmds/exp/fdtdump"
|
||||
"cmds/exp/field"
|
||||
"cmds/exp/fixrsdp"
|
||||
"cmds/exp/forth"
|
||||
"cmds/exp/freq"
|
||||
"cmds/exp/getty"
|
||||
"cmds/exp/hdparm"
|
||||
"cmds/exp/ipmidump"
|
||||
"cmds/exp/kconf"
|
||||
"cmds/exp/localboot"
|
||||
"cmds/exp/lsfabric"
|
||||
"cmds/exp/madeye"
|
||||
"cmds/exp/modprobe"
|
||||
"cmds/exp/netbootxyz"
|
||||
"cmds/exp/newsshd"
|
||||
"cmds/exp/nvme_unlock"
|
||||
"cmds/exp/page"
|
||||
"cmds/exp/partprobe"
|
||||
"cmds/exp/pflask"
|
||||
"cmds/exp/pox"
|
||||
"cmds/exp/pxeserver"
|
||||
"cmds/exp/readelf"
|
||||
"cmds/exp/readpe"
|
||||
"cmds/exp/run"
|
||||
"cmds/exp/rush"
|
||||
"cmds/exp/smbios_transfer"
|
||||
"cmds/exp/smn"
|
||||
"cmds/exp/srvfiles"
|
||||
"cmds/exp/ssh"
|
||||
"cmds/exp/syscallfilter"
|
||||
"cmds/exp/systemboot"
|
||||
"cmds/exp/tac"
|
||||
"cmds/exp/tc"
|
||||
"cmds/exp/tcpdump"
|
||||
"cmds/exp/tcz"
|
||||
"cmds/exp/tftp"
|
||||
"cmds/exp/traceroute"
|
||||
"cmds/exp/uefiboot"
|
||||
"cmds/exp/vboot"
|
||||
"cmds/exp/vmboot"
|
||||
"cmds/exp/watch"
|
||||
"cmds/exp/zbi"
|
||||
"cmds/exp/zimage"
|
||||
"cmds/extra/tsort"
|
||||
"cmds/fwtools/flash"
|
||||
"cmds/fwtools/spidev"
|
||||
];
|
||||
|
||||
allowGoReference = false;
|
||||
|
||||
nativeCheckInputs = [ which ];
|
||||
|
||||
preCheck = ''
|
||||
rm cmds/core/brctl/*_test.go # Error: open /sys/class/net: no such file or directory
|
||||
rm cmds/core/du/*_test.go # Error: expected 0 got 8
|
||||
rm cmds/core/mkdir/*_test.go # Error: Mode = 'drwxr-xr-x', want: 'dgrwxrwxrwx'
|
||||
rm cmds/core/netcat/*_test.go # Error: parseRemoteAddr(tcp, ::1) = [::1 localhost], want a subset of [::1 ip6-localhost]
|
||||
rm cmds/exp/bzimage/*_test.go # Error: compressed KernelCode too big: was 611116, now 611124
|
||||
'';
|
||||
|
||||
meta = (lib.removeAttrs prevAttrs.meta [ "mainProgram" ]) // {
|
||||
longDescription = "All u-root commands compiles as standalone binaries";
|
||||
};
|
||||
})
|
72
pkgs/by-name/u-/u-root/package.nix
Normal file
72
pkgs/by-name/u-/u-root/package.nix
Normal file
@ -0,0 +1,72 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
coreutils,
|
||||
bash,
|
||||
|
||||
linuxManualConfig,
|
||||
fetchurl,
|
||||
linux_latest,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "u-root";
|
||||
version = "0.14.0-unstable-2024-09-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "u-root";
|
||||
repo = "u-root";
|
||||
rev = "a620c4fc0eeeaa71ea68c27d6ef96352ed814829";
|
||||
hash = "sha256-8B2H3AwGo9friveBk4bijOph9bSSNR7PPKJYEuywgm4=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
CGO_ENABLED = "0";
|
||||
|
||||
ldflags = [ "-s" ];
|
||||
|
||||
allowGoReference = true;
|
||||
|
||||
# The tests want to copy /bin/bash and /bin/ls, but we don't have those.
|
||||
# As these are interesting e2e tests to check if things work, we substitute
|
||||
# them with the actual paths instead of just skipping the tests.
|
||||
preCheck = ''
|
||||
substituteInPlace ./uroot_test.go \
|
||||
--replace-fail '-files=/bin/bash"' '-files=${bash}/bin/bash:bin/bash"' \
|
||||
--replace-fail '-files=/bin/ls"' '-files=${coreutils}/bin/ls:bin/ls"' \
|
||||
--replace-fail '-files=/bin/bash' '-files=${bash}/bin/bash'
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# Somewhat minimal kernel config for Go/u-root, used by upstream for testing.
|
||||
# This can be used to quickly run u-root locally with proper serial console output.
|
||||
kernel-amd64 = linuxManualConfig {
|
||||
inherit (linux_latest) version src;
|
||||
configfile = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/hugelgupf/vmtest/5d9f3d34a58dc7b13bca786e8ac32d3e2ce4e95d/images/kernel-amd64/config_linux.txt";
|
||||
hash = "sha256-CjhWWK6YwSOXP10mpnJjG5nwLWs2cDtebvlDBLzN5fI=";
|
||||
};
|
||||
allowImportFromDerivation = true;
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A fully Go userland with Linux bootloaders";
|
||||
longDescription = ''
|
||||
u-root can create a one-binary root file system (initramfs) containing a busybox-like set of tools written in Go.
|
||||
|
||||
The package exposes `u-root.kernel-amd64` passthru for a minimal and pre-configured kernel to be used locally with QEMU.
|
||||
'';
|
||||
homepage = "https://u-root.org/";
|
||||
downloadPage = "https://github.com/u-root/u-root";
|
||||
changelog = "https://github.com/u-root/u-root/blob/${src.rev}/RELEASES";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ katexochen ];
|
||||
mainProgram = "u-root";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -115,7 +115,7 @@ let
|
||||
|
||||
binPath = lib.makeBinPath ([ coreutils glib.dev pciutils procps util-linux ] ++ lib.optional pulseaudioSupport pulseaudio);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation {
|
||||
pname = "zoom";
|
||||
version = versions.${system} or throwSystem;
|
||||
|
||||
@ -153,7 +153,7 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
makeWrapper $out/Applications/zoom.us.app/Contents/MacOS/zoom.us $out/bin/zoom
|
||||
'' + lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
# Desktop File
|
||||
@ -161,7 +161,9 @@ stdenv.mkDerivation rec {
|
||||
--replace-fail "Exec=/usr/bin/zoom" "Exec=$out/bin/zoom"
|
||||
|
||||
for i in aomhost zopen zoom ZoomLauncher ZoomWebviewHost; do
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zoom/$i
|
||||
if [ -f $out/opt/zoom/$i ]; then
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zoom/$i
|
||||
fi
|
||||
done
|
||||
|
||||
# ZoomLauncher sets LD_LIBRARY_PATH before execing zoom
|
||||
@ -183,11 +185,13 @@ stdenv.mkDerivation rec {
|
||||
--prefix PATH : ${binPath} \
|
||||
--prefix LD_LIBRARY_PATH ":" ${libs}
|
||||
|
||||
wrapProgram $out/opt/zoom/ZoomWebviewHost \
|
||||
--unset QML2_IMPORT_PATH \
|
||||
--unset QT_PLUGIN_PATH \
|
||||
--unset QT_SCREEN_SCALE_FACTORS \
|
||||
--prefix LD_LIBRARY_PATH ":" ${libs}
|
||||
if [ -f $out/opt/zoom/ZoomWebviewHost ]; then
|
||||
wrapProgram $out/opt/zoom/ZoomWebviewHost \
|
||||
--unset QML2_IMPORT_PATH \
|
||||
--unset QT_PLUGIN_PATH \
|
||||
--unset QT_SCREEN_SCALE_FACTORS \
|
||||
--prefix LD_LIBRARY_PATH ":" ${libs}
|
||||
fi
|
||||
|
||||
# Backwards compatibility: we used to call it zoom-us
|
||||
ln -s $out/bin/{zoom,zoom-us}
|
||||
|
@ -9,7 +9,7 @@
|
||||
qt6integration,
|
||||
qt6platform-plugins,
|
||||
qt6mpris,
|
||||
ffmpeg,
|
||||
ffmpeg_6,
|
||||
libvlc,
|
||||
qt6Packages,
|
||||
taglib,
|
||||
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
qt6Packages.qtbase
|
||||
qt6Packages.qt5compat
|
||||
qt6Packages.qtmultimedia
|
||||
ffmpeg
|
||||
ffmpeg_6
|
||||
libvlc
|
||||
taglib
|
||||
SDL2
|
||||
|
@ -7,7 +7,7 @@
|
||||
, lxqt-build-tools
|
||||
, wrapQtAppsHook
|
||||
, gitUpdater
|
||||
, version ? "4.0.0"
|
||||
, version ? "4.0.1"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -20,12 +20,10 @@ stdenv.mkDerivation rec {
|
||||
rev = version;
|
||||
hash = {
|
||||
"3.12.0" = "sha256-y+3noaHubZnwUUs8vbMVvZPk+6Fhv37QXUb//reedCU=";
|
||||
"4.0.0" = "sha256-TTFgkAI3LulYGuqdhorkjNYyo942y1oFy5SRAKl9ZxU=";
|
||||
"4.0.1" = "sha256-h8uHIB0KuSHQVHI61h5BmpvpJHumloHMKN3GabH66EM=";
|
||||
}."${version}";
|
||||
};
|
||||
|
||||
patches = lib.optionals (lib.versionAtLeast version "4") [ ./qt68.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
lxqt-build-tools
|
||||
|
@ -1,328 +0,0 @@
|
||||
https://github.com/lxqt/libqtxdg/pull/307
|
||||
|
||||
From 37348365b127b5a3335e68a1807de34acc0caf7e Mon Sep 17 00:00:00 2001
|
||||
From: Tsu Jan <tsujan2000@gmail.com>
|
||||
Date: Sat, 14 Sep 2024 00:36:02 +0330
|
||||
Subject: [PATCH 1/2] =?UTF-8?q?Fix=20compilation=20with=20Qt=20=E2=89=A5?=
|
||||
=?UTF-8?q?=206.8?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Closes https://github.com/lxqt/libqtxdg/issues/306
|
||||
---
|
||||
src/qtxdg/xdgmimetype.h | 4 +-
|
||||
src/xdgiconloader/xdgiconloader.cpp | 93 ++++++++++++++++++++++++++---
|
||||
src/xdgiconloader/xdgiconloader_p.h | 4 ++
|
||||
3 files changed, 92 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/qtxdg/xdgmimetype.h b/src/qtxdg/xdgmimetype.h
|
||||
index 7bca798..59e53bd 100644
|
||||
--- a/src/qtxdg/xdgmimetype.h
|
||||
+++ b/src/qtxdg/xdgmimetype.h
|
||||
@@ -72,12 +72,12 @@ class QTXDG_API XdgMimeType : public QMimeType {
|
||||
*/
|
||||
bool operator==(const XdgMimeType &other) const
|
||||
{
|
||||
- return QMimeType::operator==(other);
|
||||
+ return name() == other.name();
|
||||
}
|
||||
|
||||
inline bool operator!=(const XdgMimeType &other) const
|
||||
{
|
||||
- return !QMimeType::operator==(other);
|
||||
+ return !operator==(other);
|
||||
}
|
||||
|
||||
void swap(XdgMimeType &other) noexcept;
|
||||
diff --git a/src/xdgiconloader/xdgiconloader.cpp b/src/xdgiconloader/xdgiconloader.cpp
|
||||
index 1c040c2..c6967a0 100644
|
||||
--- a/src/xdgiconloader/xdgiconloader.cpp
|
||||
+++ b/src/xdgiconloader/xdgiconloader.cpp
|
||||
@@ -757,7 +757,11 @@ QSize XdgIconLoaderEngine::actualSize(const QSize &size, QIcon::Mode mode,
|
||||
}
|
||||
|
||||
// XXX: duplicated from qiconloader.cpp, because this symbol isn't exported :(
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)
|
||||
+#else
|
||||
QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)
|
||||
+#endif
|
||||
{
|
||||
Q_UNUSED(state);
|
||||
|
||||
@@ -766,18 +770,46 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st
|
||||
if (basePixmap.isNull())
|
||||
basePixmap.load(filename);
|
||||
|
||||
+ // see QPixmapIconEngine::adjustSize
|
||||
QSize actualSize = basePixmap.size();
|
||||
// If the size of the best match we have (basePixmap) is larger than the
|
||||
// requested size, we downscale it to match.
|
||||
if (!actualSize.isNull() && (actualSize.width() > size.width() || actualSize.height() > size.height()))
|
||||
actualSize.scale(size, Qt::KeepAspectRatio);
|
||||
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ // see QIconPrivate::pixmapDevicePixelRatio
|
||||
+ qreal calculatedDpr;
|
||||
+ QSize targetSize = size * scale;
|
||||
+ if ((actualSize.width() == targetSize.width() && actualSize.height() <= targetSize.height()) ||
|
||||
+ (actualSize.width() <= targetSize.width() && actualSize.height() == targetSize.height()))
|
||||
+ {
|
||||
+ // Correctly scaled for dpr, just having different aspect ratio
|
||||
+ calculatedDpr = scale;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ qreal ratio = 0.5 * (qreal(actualSize.width()) / qreal(targetSize.width()) +
|
||||
+ qreal(actualSize.height() / qreal(targetSize.height())));
|
||||
+ calculatedDpr = qMax(qreal(1.0), scale * ratio);
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ QString key = QLatin1String("$qt_theme_")
|
||||
+ % HexString<quint64>(basePixmap.cacheKey())
|
||||
+ % HexString<quint8>(mode)
|
||||
+ % HexString<quint64>(QGuiApplication::palette().cacheKey())
|
||||
+ % HexString<uint>(actualSize.width())
|
||||
+ % HexString<uint>(actualSize.height())
|
||||
+ % HexString<quint16>(qRound(calculatedDpr * 1000));
|
||||
+#else
|
||||
QString key = QLatin1String("$qt_theme_")
|
||||
% HexString<qint64>(basePixmap.cacheKey())
|
||||
% HexString<int>(mode)
|
||||
% HexString<qint64>(QGuiApplication::palette().cacheKey())
|
||||
% HexString<int>(actualSize.width())
|
||||
% HexString<int>(actualSize.height());
|
||||
+#endif
|
||||
|
||||
QPixmap cachedPixmap;
|
||||
if (QPixmapCache::find(key, &cachedPixmap)) {
|
||||
@@ -789,6 +821,9 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st
|
||||
cachedPixmap = basePixmap;
|
||||
if (QGuiApplication *guiApp = qobject_cast<QGuiApplication *>(qApp))
|
||||
cachedPixmap = static_cast<QGuiApplicationPrivate*>(QObjectPrivate::get(guiApp))->applyQIconStyleHelper(mode, cachedPixmap);
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ cachedPixmap.setDevicePixelRatio(calculatedDpr);
|
||||
+#endif
|
||||
QPixmapCache::insert(key, cachedPixmap);
|
||||
}
|
||||
return cachedPixmap;
|
||||
@@ -796,21 +831,39 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st
|
||||
|
||||
// NOTE: For SVG, QSvgRenderer is used to prevent our icon handling from
|
||||
// being broken by icon engines that register themselves for SVG.
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+QPixmap ScalableEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)
|
||||
+#else
|
||||
QPixmap ScalableEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)
|
||||
+#endif
|
||||
{
|
||||
QPixmap pm;
|
||||
if (size.isEmpty())
|
||||
return pm;
|
||||
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ QString key = QLatin1String("lxqt_")
|
||||
+ % filename
|
||||
+ % HexString<quint8>(mode)
|
||||
+ % HexString<int>(state)
|
||||
+ % HexString<uint>(size.width())
|
||||
+ % HexString<uint>(size.height())
|
||||
+ % HexString<quint16>(qRound(scale * 1000));
|
||||
+#else
|
||||
QString key = QLatin1String("lxqt_")
|
||||
% filename
|
||||
% HexString<int>(mode)
|
||||
% HexString<int>(state)
|
||||
% HexString<int>(size.width())
|
||||
% HexString<int>(size.height());
|
||||
+#endif
|
||||
if (!QPixmapCache::find(key, &pm))
|
||||
{
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ int icnSize = qMin(size.width(), size.height()) * scale;
|
||||
+#else
|
||||
int icnSize = qMin(size.width(), size.height());
|
||||
+#endif
|
||||
pm = QPixmap(icnSize, icnSize);
|
||||
pm.fill(Qt::transparent);
|
||||
|
||||
@@ -824,8 +877,12 @@ QPixmap ScalableEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State
|
||||
}
|
||||
|
||||
svgIcon = QIcon(pm);
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ pm = svgIcon.pixmap(size, scale, mode, state);
|
||||
+#else
|
||||
if (QIconEngine *engine = svgIcon.data_ptr() ? svgIcon.data_ptr()->engine : nullptr)
|
||||
pm = engine->pixmap(size, mode, state);
|
||||
+#endif
|
||||
QPixmapCache::insert(key, pm);
|
||||
}
|
||||
|
||||
@@ -838,7 +895,11 @@ static const QString STYLE = QStringLiteral("\n.ColorScheme-Text, .ColorScheme-N
|
||||
// NOTE: Qt palette does not have any colors for positive/negative text
|
||||
// .ColorScheme-PositiveText,ColorScheme-NegativeText {color:%4;}
|
||||
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)
|
||||
+#else
|
||||
QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)
|
||||
+#endif
|
||||
{
|
||||
QPixmap pm;
|
||||
if (size.isEmpty())
|
||||
@@ -866,6 +927,16 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q
|
||||
}
|
||||
hCol = pal.highlight().color().name();
|
||||
}
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ QString key = QLatin1String("lxqt_")
|
||||
+ % filename
|
||||
+ % HexString<quint8>(mode)
|
||||
+ % HexString<int>(state)
|
||||
+ % HexString<uint>(size.width())
|
||||
+ % HexString<uint>(size.height())
|
||||
+ % HexString<quint16>(qRound(scale * 1000))
|
||||
+ % txtCol % bgCol % hCol;
|
||||
+#else
|
||||
QString key = QLatin1String("lxqt_")
|
||||
% filename
|
||||
% HexString<int>(mode)
|
||||
@@ -873,9 +944,14 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q
|
||||
% HexString<int>(size.width())
|
||||
% HexString<int>(size.height())
|
||||
% txtCol % bgCol % hCol;
|
||||
+#endif
|
||||
if (!QPixmapCache::find(key, &pm))
|
||||
{
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ int icnSize = qMin(size.width(), size.height()) * scale;
|
||||
+#else
|
||||
int icnSize = qMin(size.width(), size.height());
|
||||
+#endif
|
||||
pm = QPixmap(icnSize, icnSize);
|
||||
pm.fill(Qt::transparent);
|
||||
|
||||
@@ -926,8 +1002,12 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q
|
||||
// for QIcon::pixmap() to handle states and modes,
|
||||
// especially the disabled mode.
|
||||
svgIcon = QIcon(pm);
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ pm = svgIcon.pixmap(size, scale, mode, state);
|
||||
+#else
|
||||
if (QIconEngine *engine = svgIcon.data_ptr() ? svgIcon.data_ptr()->engine : nullptr)
|
||||
pm = engine->pixmap(size, mode, state);
|
||||
+#endif
|
||||
QPixmapCache::insert(key, pm);
|
||||
}
|
||||
|
||||
@@ -937,13 +1017,7 @@ QPixmap ScalableFollowsColorEntry::pixmap(const QSize &size, QIcon::Mode mode, Q
|
||||
QPixmap XdgIconLoaderEngine::pixmap(const QSize &size, QIcon::Mode mode,
|
||||
QIcon::State state)
|
||||
{
|
||||
- ensureLoaded();
|
||||
-
|
||||
- QIconLoaderEngineEntry *entry = entryForSize(m_info, size);
|
||||
- if (entry)
|
||||
- return entry->pixmap(size, mode, state);
|
||||
-
|
||||
- return QPixmap();
|
||||
+ return scaledPixmap(size, mode, state, 1.0);
|
||||
}
|
||||
|
||||
QString XdgIconLoaderEngine::key() const
|
||||
@@ -967,8 +1041,13 @@ QPixmap XdgIconLoaderEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, Q
|
||||
{
|
||||
ensureLoaded();
|
||||
const int integerScale = qCeil(scale);
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ QIconLoaderEngineEntry *entry = entryForSize(m_info, size, integerScale);
|
||||
+ return entry ? entry->pixmap(size, mode, state, scale) : QPixmap();
|
||||
+#else
|
||||
QIconLoaderEngineEntry *entry = entryForSize(m_info, size / integerScale, integerScale);
|
||||
return entry ? entry->pixmap(size, mode, state) : QPixmap();
|
||||
+#endif
|
||||
}
|
||||
|
||||
QList<QSize> XdgIconLoaderEngine::availableSizes(QIcon::Mode mode, QIcon::State state)
|
||||
diff --git a/src/xdgiconloader/xdgiconloader_p.h b/src/xdgiconloader/xdgiconloader_p.h
|
||||
index 7fc9896..6c5f17f 100644
|
||||
--- a/src/xdgiconloader/xdgiconloader_p.h
|
||||
+++ b/src/xdgiconloader/xdgiconloader_p.h
|
||||
@@ -63,7 +63,11 @@ class XdgIconLoader;
|
||||
|
||||
struct ScalableFollowsColorEntry : public ScalableEntry
|
||||
{
|
||||
+#if (QT_VERSION >= QT_VERSION_CHECK(6,8,0))
|
||||
+ QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) override;
|
||||
+#else
|
||||
QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) override;
|
||||
+#endif
|
||||
};
|
||||
|
||||
//class QIconLoaderEngine : public QIconEngine
|
||||
|
||||
From 639b1c454becc28b66fc7175ba0d709977e17c83 Mon Sep 17 00:00:00 2001
|
||||
From: Tsu Jan <tsujan2000@gmail.com>
|
||||
Date: Sat, 14 Sep 2024 17:26:43 +0330
|
||||
Subject: [PATCH 2/2] Updated `QDomDocument::setContent`
|
||||
|
||||
---
|
||||
src/qtxdg/xdgmenu.cpp | 2 +-
|
||||
src/qtxdg/xdgmenureader.cpp | 13 +++++--------
|
||||
src/xdgiconloader/xdgiconloader.cpp | 1 -
|
||||
3 files changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/qtxdg/xdgmenu.cpp b/src/qtxdg/xdgmenu.cpp
|
||||
index 36a9169..fbb579c 100644
|
||||
--- a/src/qtxdg/xdgmenu.cpp
|
||||
+++ b/src/qtxdg/xdgmenu.cpp
|
||||
@@ -227,7 +227,7 @@ void XdgMenuPrivate::load(const QString& fileName)
|
||||
qWarning() << QString::fromLatin1("%1 not loading: %2").arg(fileName, file.errorString());
|
||||
return;
|
||||
}
|
||||
- mXml.setContent(&file, true);
|
||||
+ mXml.setContent(&file, QDomDocument::ParseOption::UseNamespaceProcessing);
|
||||
}
|
||||
|
||||
|
||||
diff --git a/src/qtxdg/xdgmenureader.cpp b/src/qtxdg/xdgmenureader.cpp
|
||||
index ede9c7b..8424bdc 100644
|
||||
--- a/src/qtxdg/xdgmenureader.cpp
|
||||
+++ b/src/qtxdg/xdgmenureader.cpp
|
||||
@@ -79,16 +79,13 @@ bool XdgMenuReader::load(const QString& fileName, const QString& baseDir)
|
||||
//qDebug() << "Load file:" << mFileName;
|
||||
mMenu->addWatchPath(mFileName);
|
||||
|
||||
- QString errorStr;
|
||||
- int errorLine;
|
||||
- int errorColumn;
|
||||
-
|
||||
- if (!mXml.setContent(&file, true, &errorStr, &errorLine, &errorColumn))
|
||||
+ QDomDocument::ParseResult res = mXml.setContent(&file, QDomDocument::ParseOption::UseNamespaceProcessing);
|
||||
+ if (!res)
|
||||
{
|
||||
mErrorStr = QString::fromLatin1("Parse error at line %1, column %2:\n%3")
|
||||
- .arg(errorLine)
|
||||
- .arg(errorColumn)
|
||||
- .arg(errorStr);
|
||||
+ .arg(res.errorLine)
|
||||
+ .arg(res.errorColumn)
|
||||
+ .arg(res.errorMessage);
|
||||
return false;
|
||||
}
|
||||
|
||||
diff --git a/src/xdgiconloader/xdgiconloader.cpp b/src/xdgiconloader/xdgiconloader.cpp
|
||||
index c6967a0..c299cca 100644
|
||||
--- a/src/xdgiconloader/xdgiconloader.cpp
|
||||
+++ b/src/xdgiconloader/xdgiconloader.cpp
|
||||
@@ -794,7 +794,6 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st
|
||||
calculatedDpr = qMax(qreal(1.0), scale * ratio);
|
||||
}
|
||||
|
||||
-
|
||||
QString key = QLatin1String("$qt_theme_")
|
||||
% HexString<quint64>(basePixmap.cacheKey())
|
||||
% HexString<quint8>(mode)
|
@ -11,13 +11,13 @@
|
||||
|
||||
buildPecl rec {
|
||||
pname = "memcached";
|
||||
version = "3.2.0";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "php-memcached-dev";
|
||||
repo = "php-memcached";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-g9IzGSZUxLlOE32o9ZJOa3erb5Qs1ntR8nzS3kRd/EU=";
|
||||
sha256 = "sha256-V4d6bY0m1nuEfjZjt3qio4/HOBcSlD9+XMEl1GPfbhs=";
|
||||
};
|
||||
|
||||
internalDeps = [ php.extensions.session ];
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioopenexchangerates";
|
||||
version = "0.6.6";
|
||||
version = "0.6.7";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "MartinHjelmare";
|
||||
repo = "aioopenexchangerates";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-KFs5r7C7CorjEix2yL+NT/0liz3ivoiL6ZV5lJbBWBc=";
|
||||
hash = "sha256-vXDgtoQWKWLadOFtZR+zsYvNAsdfMDqFBKz0tWOsMEE=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "pydantic" ];
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiortm";
|
||||
version = "0.9.12";
|
||||
version = "0.9.17";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||
owner = "MartinHjelmare";
|
||||
repo = "aiortm";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-PTg+/Iqjj5V5XJNDAJva/BvaOl6qyjeqrjxy0RLAvEc=";
|
||||
hash = "sha256-mn0BXKfDbbLPt11uhF1laL2F/OA7+w1vHM5SaCQWJRw=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "typer" ];
|
||||
|
@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aliyun-python-sdk-core";
|
||||
version = "2.15.2";
|
||||
version = "2.16.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-VPZqU+GTxhxeFupFBaDKtDVD+K0u8igz9pxNXlFRwX0=";
|
||||
hash = "sha256-ZRyq1ZfrOdT61s+FEz3/6Sg31TvfYtudjzfatlCLuPk=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "appthreat-vulnerability-db";
|
||||
version = "6.0.14";
|
||||
version = "6.1.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@ -30,7 +30,7 @@ buildPythonPackage rec {
|
||||
owner = "AppThreat";
|
||||
repo = "vulnerability-db";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Xm/2AHV4r6SmKK1wZS20xh9xRO3zhdEB/hpRT1o3z2Q=";
|
||||
hash = "sha256-phqlzL2t7wv1Fxi8ZdTospcpHRcS9Q+mlpKRP6VeB4o=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "censys";
|
||||
version = "2.2.14";
|
||||
version = "2.2.15";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "censys";
|
||||
repo = "censys-python";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-3evll1Ll8krvAfelGoJHOrmH7RvkeM/ZU1j13cTuXR4=";
|
||||
hash = "sha256-LJX2hYqdSd6SgObrs1FsJ4oxYGs6Y4g2wyFi5pDY4z8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dirigera";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "Leggin";
|
||||
repo = "dirigera";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-JmrKeHypWhqOWO0LpzNe1qyeXuYnMyZoM+2IQbz6WDU=";
|
||||
hash = "sha256-fjVMdBIU1MCfiv1UGgjVonlvU+xESQPn4HIbEhOGclc=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
defusedxml,
|
||||
dnspython,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
@ -14,7 +15,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ipwhois";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -23,27 +24,19 @@ buildPythonPackage rec {
|
||||
owner = "secynic";
|
||||
repo = "ipwhois";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-2CfRRHlIIaycUtzKeMBKi6pVPeBCb1nW3/1hoxQU1YM=";
|
||||
hash = "sha256-PY3SUPELcCvS/o5kfko4OD1BlTc9DnyqfkSFuzcAOSY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Use assertEqual instead of assertEquals, https://github.com/secynic/ipwhois/pull/316
|
||||
(fetchpatch {
|
||||
name = "assert-equal.patch";
|
||||
url = "https://github.com/secynic/ipwhois/commit/fce2761354af99bc169e6cd08057e838fcc40f75.patch";
|
||||
hash = "sha256-7Ic4xWTAmklk6MvnZ/WsH9SW/4D9EG/jFKt5Wi89Xtc=";
|
||||
})
|
||||
];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
pythonRelaxDeps = [ "dnspython" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
propagatedBuildInputs = [ dnspython ];
|
||||
dependencies = [
|
||||
defusedxml
|
||||
dnspython
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lxmf";
|
||||
version = "0.5.6";
|
||||
version = "0.5.7";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "markqvist";
|
||||
repo = "lxmf";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-nhi15afsvzM0LCvtI5/dq5zOHmhM4Wk53lj6fKgx9NA=";
|
||||
hash = "sha256-ekemsCs3Ils8ovDTzyi6aQ4Z0bnfTKpuQYBeh1MA94Q=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mitogen";
|
||||
version = "0.3.13";
|
||||
version = "0.3.14";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||
owner = "mitogen-hq";
|
||||
repo = "mitogen";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-tQz79OVhUWrmsV05l8ScPAUVecrT55fFn74zpjVxBmg=";
|
||||
hash = "sha256-Gacn3EjyNq5LtjfbCczO+fqlq6+KgzxFs4d/K2xttHE=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -66,8 +66,8 @@ rec {
|
||||
"sha256-Pm/KyqcUUAQBZjQKaVhuL/9c+qfkgfeD51esgE+EgQw=";
|
||||
|
||||
mypy-boto3-amplify =
|
||||
buildMypyBoto3Package "amplify" "1.35.19"
|
||||
"sha256-EP342ZP67DkGOrA2hLiv0iE1mL6SpaUOY8BHCdhaqRE=";
|
||||
buildMypyBoto3Package "amplify" "1.35.41"
|
||||
"sha256-s17sJsHlnr6L8SGyhVUtdb8xJNsO441QzidzxgoK99I=";
|
||||
|
||||
mypy-boto3-amplifybackend =
|
||||
buildMypyBoto3Package "amplifybackend" "1.35.0"
|
||||
@ -226,8 +226,8 @@ rec {
|
||||
"sha256-D64DZgrma3/kvhyH6ZbPtD8nlRrzFVM8WT8Ex2fTZLM=";
|
||||
|
||||
mypy-boto3-cloudformation =
|
||||
buildMypyBoto3Package "cloudformation" "1.35.0"
|
||||
"sha256-DQN9nWvbQ5qE4jkbqYek4D/O360OiB2xzw94YdJ1kHw=";
|
||||
buildMypyBoto3Package "cloudformation" "1.35.41"
|
||||
"sha256-ElaYUwcYs2/Z5CoTzclkAoMERA2AknrfLh389eN2g54=";
|
||||
|
||||
mypy-boto3-cloudfront =
|
||||
buildMypyBoto3Package "cloudfront" "1.35.0"
|
||||
@ -266,8 +266,8 @@ rec {
|
||||
"sha256-wCjyRnd7RlnLRQrADd2Xmh74IsQxBfUgLIJuaZW7kjw=";
|
||||
|
||||
mypy-boto3-codebuild =
|
||||
buildMypyBoto3Package "codebuild" "1.35.21"
|
||||
"sha256-sCIMOBe3VppVALMDc4BV3rK+RYlCbxK80YUKPnckvT8=";
|
||||
buildMypyBoto3Package "codebuild" "1.35.41"
|
||||
"sha256-TP+a2iM+KEy2erXCTQ3NgwE/Qy3XWoJKRhSA0XOAJKE=";
|
||||
|
||||
mypy-boto3-codecatalyst =
|
||||
buildMypyBoto3Package "codecatalyst" "1.35.0"
|
||||
@ -294,8 +294,8 @@ rec {
|
||||
"sha256-UJmPVW20ofQmmer9/IYwaFIU2+xhXcT+0s2aUxFDGZY=";
|
||||
|
||||
mypy-boto3-codepipeline =
|
||||
buildMypyBoto3Package "codepipeline" "1.35.37"
|
||||
"sha256-DHNj6IzWxg5qHpT0QaHQHNPkYk344fo/2/vUGLl8Kfg=";
|
||||
buildMypyBoto3Package "codepipeline" "1.35.40"
|
||||
"sha256-r5yVdmlR32GRRdtsKcZ+KucAeCeIW9ValznnX3aB9J4=";
|
||||
|
||||
mypy-boto3-codestar =
|
||||
buildMypyBoto3Package "codestar" "1.35.0"
|
||||
@ -374,8 +374,8 @@ rec {
|
||||
"sha256-zzd0tw46A9NwxUJ+7tz3Xlb4RbVTY3v7szDG4/189Ng=";
|
||||
|
||||
mypy-boto3-dataexchange =
|
||||
buildMypyBoto3Package "dataexchange" "1.35.0"
|
||||
"sha256-DZ8sYkjFA0yFfRKNQbEW2YA3Dl04FbG6Hu8myRuFlUs=";
|
||||
buildMypyBoto3Package "dataexchange" "1.35.43"
|
||||
"sha256-DkxAJiOhOgID1DzOAwNNqx3Yk/H5P9j130fZyB9fxwc=";
|
||||
|
||||
mypy-boto3-datapipeline =
|
||||
buildMypyBoto3Package "datapipeline" "1.35.0"
|
||||
@ -462,8 +462,8 @@ rec {
|
||||
"sha256-KXtN44KAIDXjMgv3ICG8rXYfEjcZ85pQ+qdvN2Yiq3g=";
|
||||
|
||||
mypy-boto3-ecs =
|
||||
buildMypyBoto3Package "ecs" "1.35.38"
|
||||
"sha256-udIe50T9ae7esIkpVqmMvRtTwv4xDJTiwkR94cX+2M4=";
|
||||
buildMypyBoto3Package "ecs" "1.35.43"
|
||||
"sha256-KG94nsbTrwpvoitQ3gdcJPDAWp6MIWDMAmupjB8xwtg=";
|
||||
|
||||
mypy-boto3-efs =
|
||||
buildMypyBoto3Package "efs" "1.35.0"
|
||||
@ -698,8 +698,8 @@ rec {
|
||||
"sha256-e4a8Na1spmmaUVAiAWPvn7DqzYHzEL4EatCewrRxJKE=";
|
||||
|
||||
mypy-boto3-ivs =
|
||||
buildMypyBoto3Package "ivs" "1.35.19"
|
||||
"sha256-CXQnPKSn8oMyj2V2+iTjcqPEGykM2mOrRDVTkYEX/Jo=";
|
||||
buildMypyBoto3Package "ivs" "1.35.41"
|
||||
"sha256-U4GiLc6Tdk6qCKrLxVPikRKkcAWxnp1DIV8nOi/XQH8=";
|
||||
|
||||
mypy-boto3-ivs-realtime =
|
||||
buildMypyBoto3Package "ivs-realtime" "1.35.32"
|
||||
@ -1042,12 +1042,12 @@ rec {
|
||||
"sha256-AYfD/JY1//vPw1obZAmwqW3NYwSpqg1zjQqTpIk80Rw=";
|
||||
|
||||
mypy-boto3-pinpoint-sms-voice-v2 =
|
||||
buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.35.26"
|
||||
"sha256-NLr2dUrIW3bwuYg9XMMaBE97aWZqQr3onXBcME3EEbE=";
|
||||
buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.35.43"
|
||||
"sha256-Wiue58JJyi8Td4H+byVkmjUEkuZdM4zeyJ4CAwk/+Z8=";
|
||||
|
||||
mypy-boto3-pipes =
|
||||
buildMypyBoto3Package "pipes" "1.35.16"
|
||||
"sha256-Mur45GAzHsGamKaooUdGwuydMbfaQCSTVrRwwENbmFs=";
|
||||
buildMypyBoto3Package "pipes" "1.35.43"
|
||||
"sha256-ue5t9EUm1PKFCCwkAq2A1CRl3rWFuo5IhrG0SHddUWk=";
|
||||
|
||||
mypy-boto3-polly =
|
||||
buildMypyBoto3Package "polly" "1.35.7"
|
||||
@ -1074,8 +1074,8 @@ rec {
|
||||
"sha256-mtpp+ro3b7tOrN4TrWr8BjLzaPo264ty8Sng6wtciMs=";
|
||||
|
||||
mypy-boto3-quicksight =
|
||||
buildMypyBoto3Package "quicksight" "1.35.33"
|
||||
"sha256-sqrWVvrPBS/Wq+m9QDhrvQ+8prlVmrq1VDrAl4Ro9dg=";
|
||||
buildMypyBoto3Package "quicksight" "1.35.43"
|
||||
"sha256-rcIdJWamEYS6M/aLO9oLe2vwyipzNra5cIrt1pFWn5Y=";
|
||||
|
||||
mypy-boto3-ram =
|
||||
buildMypyBoto3Package "ram" "1.35.0"
|
||||
@ -1086,16 +1086,16 @@ rec {
|
||||
"sha256-85yUjKQ8oiECUYHhmmYrDssyFSQb6itfIRY2iuwCZdo=";
|
||||
|
||||
mypy-boto3-rds =
|
||||
buildMypyBoto3Package "rds" "1.35.31"
|
||||
"sha256-WX0o2LkYYNXMi6IOR8Cqm6faTwW5/Y2pir4+GOpBytI=";
|
||||
buildMypyBoto3Package "rds" "1.35.43"
|
||||
"sha256-TxyamNf02uzH31iZzcSZJbGe0g+oVtq1vo+QE4KO/so=";
|
||||
|
||||
mypy-boto3-rds-data =
|
||||
buildMypyBoto3Package "rds-data" "1.35.28"
|
||||
"sha256-XPb/7sVSVFkDjPQ2x6w7tJmIBiS1YH10805lv/eGsyw=";
|
||||
|
||||
mypy-boto3-redshift =
|
||||
buildMypyBoto3Package "redshift" "1.35.35"
|
||||
"sha256-YWzL82j7Rk4PLxZ7NHlZo8aB4Fm1WNPZ5sgzyufZLLk=";
|
||||
buildMypyBoto3Package "redshift" "1.35.41"
|
||||
"sha256-+BwE/phcHGdn8RLD46/gzTKH9g6+AMt5dF8WyRmMTUI=";
|
||||
|
||||
mypy-boto3-redshift-data =
|
||||
buildMypyBoto3Package "redshift-data" "1.35.10"
|
||||
@ -1110,8 +1110,8 @@ rec {
|
||||
"sha256-mG3TeywuB5+87Z3nhqjFwf0y2WO49oETPMz+oL0LbOA=";
|
||||
|
||||
mypy-boto3-resiliencehub =
|
||||
buildMypyBoto3Package "resiliencehub" "1.35.0"
|
||||
"sha256-MKlBdSJGl7WCnD66fx5nCPhGAtLtLjoahe08KHTT+KM=";
|
||||
buildMypyBoto3Package "resiliencehub" "1.35.41"
|
||||
"sha256-zqBEwEnaCrmUl9xRlYOQHFSwZcXR1zj42Pd0Lik9SIQ=";
|
||||
|
||||
mypy-boto3-resource-explorer-2 =
|
||||
buildMypyBoto3Package "resource-explorer-2" "1.35.25"
|
||||
@ -1162,8 +1162,8 @@ rec {
|
||||
"sha256-RwPNNFntNChLqbr86wd1bwp6OqWvs3oj3V+4X71J3Hw=";
|
||||
|
||||
mypy-boto3-s3 =
|
||||
buildMypyBoto3Package "s3" "1.35.32"
|
||||
"sha256-/O6xDqcJkaUWs00Rwf3g9/P+dQjfTkNv/gZtJ9BNsOQ=";
|
||||
buildMypyBoto3Package "s3" "1.35.42"
|
||||
"sha256-LQQMBdaKFh2RxLcpJhJwNNooremNSA3vapVpq3ZVzd0=";
|
||||
|
||||
mypy-boto3-s3control =
|
||||
buildMypyBoto3Package "s3control" "1.35.12"
|
||||
@ -1226,8 +1226,8 @@ rec {
|
||||
"sha256-RQXlvvSr0DNC2eXEVTQjx4TCR6A/v9qsRArIfg9Mq+w=";
|
||||
|
||||
mypy-boto3-securitylake =
|
||||
buildMypyBoto3Package "securitylake" "1.35.0"
|
||||
"sha256-cI6Ei0p1LtQ+QuM4URYu+k2kJiUUjyEs8rbeX5c7Vvk=";
|
||||
buildMypyBoto3Package "securitylake" "1.35.40"
|
||||
"sha256-w0Usj5BpCAYbX6/0uNoIqH3EBd8fgru4RwQHuF2OEyQ=";
|
||||
|
||||
mypy-boto3-serverlessrepo =
|
||||
buildMypyBoto3Package "serverlessrepo" "1.35.0"
|
||||
@ -1254,8 +1254,8 @@ rec {
|
||||
"sha256-+TyI+ffXN0M9HVWA3iQfg3T/xF49wslYFx9MTxHCfYw=";
|
||||
|
||||
mypy-boto3-sesv2 =
|
||||
buildMypyBoto3Package "sesv2" "1.35.29"
|
||||
"sha256-rGP+LaoeO6lOMr65C274Qx6EbfwqTau9Q/NgmxIppX0=";
|
||||
buildMypyBoto3Package "sesv2" "1.35.41"
|
||||
"sha256-DUotfO7GlrWHOU8LuhbmF4U2oywMW48JzYomlXYS8Tg=";
|
||||
|
||||
mypy-boto3-shield =
|
||||
buildMypyBoto3Package "shield" "1.35.0"
|
||||
@ -1370,8 +1370,8 @@ rec {
|
||||
"sha256-pRyowqpW9cqiZe0aCDvcJAqIaRkEhG8DFRxP89daIPo=";
|
||||
|
||||
mypy-boto3-transfer =
|
||||
buildMypyBoto3Package "transfer" "1.35.0"
|
||||
"sha256-at9iKdpW8fCiOOX6smp8lDg8xWT9M6RdHJr7Qtpzrbo=";
|
||||
buildMypyBoto3Package "transfer" "1.35.40"
|
||||
"sha256-uJ15ZsA5oQgzjNTqX2Zhg+K29HBfyK40BVlG0GicyRA=";
|
||||
|
||||
mypy-boto3-translate =
|
||||
buildMypyBoto3Package "translate" "1.35.0"
|
||||
@ -1426,8 +1426,8 @@ rec {
|
||||
"sha256-Om/TFPBZh3xr0inpGzCpvTNij9DTPq8dV1ikX8g4YtE=";
|
||||
|
||||
mypy-boto3-workspaces =
|
||||
buildMypyBoto3Package "workspaces" "1.35.32"
|
||||
"sha256-jLbVnqgOAU1meb5FFSBZM1xn8ueQkdK9sdJO1+9CUVA=";
|
||||
buildMypyBoto3Package "workspaces" "1.35.43"
|
||||
"sha256-l6Jfcb3+7RbUuXBsQvtYGqffbVobjFldwscGSIJR6Cs=";
|
||||
|
||||
mypy-boto3-workspaces-web =
|
||||
buildMypyBoto3Package "workspaces-web" "1.35.23"
|
||||
|
@ -2,9 +2,7 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python,
|
||||
buildPythonPackage,
|
||||
imagemagick,
|
||||
pip,
|
||||
pytestCheckHook,
|
||||
pymupdf,
|
||||
@ -14,6 +12,7 @@
|
||||
opencv4,
|
||||
tkinter,
|
||||
python-docx,
|
||||
setuptools,
|
||||
}:
|
||||
let
|
||||
version = "0.5.8";
|
||||
@ -21,26 +20,25 @@ in
|
||||
buildPythonPackage {
|
||||
pname = "pdf2docx";
|
||||
inherit version;
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dothinking";
|
||||
owner = "ArtifexSoftware";
|
||||
repo = "pdf2docx";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-tMITDm2NkxWS+H/hhd2LlaPbyuI86ZKaALqqHJqb8V0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
pip
|
||||
imagemagick
|
||||
setuptools
|
||||
];
|
||||
|
||||
pythonRemoveDeps = [ "opencv-python" ];
|
||||
|
||||
preBuild = "echo '${version}' > version.txt";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
tkinter
|
||||
dependencies = [
|
||||
pymupdf
|
||||
fire
|
||||
fonttools
|
||||
@ -49,15 +47,6 @@ buildPythonPackage {
|
||||
python-docx
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
# on linux the icon file can only be xbm format
|
||||
convert $out/${python.sitePackages}/pdf2docx/gui/icon.ico \
|
||||
$out/${python.sitePackages}/pdf2docx/gui/icon.xbm
|
||||
substituteInPlace $out/${python.sitePackages}/pdf2docx/gui/App.py \
|
||||
--replace 'icon.ico' 'icon.xbm' \
|
||||
--replace 'iconbitmap(icon_path)' "iconbitmap(f'@{icon_path}')"
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pytestFlagsArray = [
|
||||
@ -71,9 +60,9 @@ buildPythonPackage {
|
||||
meta = with lib; {
|
||||
description = "Convert PDF to DOCX";
|
||||
mainProgram = "pdf2docx";
|
||||
homepage = "https://github.com/dothinking/pdf2docx";
|
||||
changelog = "https://github.com/dothinking/pdf2docx/releases/tag/v${version}";
|
||||
license = licenses.gpl3Only;
|
||||
homepage = "https://github.com/ArtifexSoftware/pdf2docx";
|
||||
changelog = "https://github.com/ArtifexSoftware/pdf2docx/releases/tag/v${version}";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "plugwise";
|
||||
version = "1.4.1";
|
||||
version = "1.4.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
owner = "plugwise";
|
||||
repo = "python-plugwise";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-lMcehjG1Zc9s02MBsRUXZHQjxcrZetOgOSne0nCGVV0=";
|
||||
hash = "sha256-JzHDmespyQ4+I7+6vbu/jqK70b71FJvoO0wDR6MnIaw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "publicsuffixlist";
|
||||
version = "1.0.2.20241010";
|
||||
version = "1.0.2.20241017";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-pybYJrw7ZwSZXODKFE2HdoBg4Y4d855uV/LGRWccDfk=";
|
||||
hash = "sha256-OHp7MYu9eo3hWQFKChuB1Yw8Lqal8NXJoERAVv1pS78=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pwkit";
|
||||
version = "1.2.1";
|
||||
version = "1.2.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "pkgw";
|
||||
repo = "pwkit";
|
||||
rev = "refs/tags/pwkit@${version}";
|
||||
hash = "sha256-X3nQPtPrY1+HH0Cs7PrFLqMP3fUEcwXQGap1F/3Aom0=";
|
||||
hash = "sha256-FEMPHdXj2XCV5fCcdJsVpDMsJntP6zp1yFkjv1ov478=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyexploitdb";
|
||||
version = "0.2.38";
|
||||
version = "0.2.39";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "pyExploitDb";
|
||||
inherit version;
|
||||
hash = "sha256-G8QhwuPamP+sAQNyU+8za280UE7kJF+AFUP6lt4vskc=";
|
||||
hash = "sha256-Q7fql+IEEdfGlY8Uq3D7Y0+17Hg5oLjMn8Nq1HA2HMQ=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyjson5";
|
||||
version = "1.6.6";
|
||||
version = "1.6.7";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "Kijewski";
|
||||
repo = "pyjson5";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-LNcz9JEOw6HO9eIf71w4NJdPOB4yixBfBeD7B/NLbfE=";
|
||||
hash = "sha256-QggO1go9iQIy235I9CYOeC6JCoOT2sfDsrbSySN3mMw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyotgw";
|
||||
version = "2.2.1";
|
||||
version = "2.2.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
owner = "mvn23";
|
||||
repo = "pyotgw";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-jms7uSeafLxq26E9pyVVXtnW7yYD0OrU4KrXxTXoC4M=";
|
||||
hash = "sha256-BQgRWXBSmB9AzpPeTJP7motJeKF2G0tyqJpbwIwnxwk=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyrisco";
|
||||
version = "0.6.4";
|
||||
version = "0.6.5";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "OnFreund";
|
||||
repo = "pyrisco";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Xd6m7P/9ZB0tY6io59kCr8n4H8PXMO3nyMRmm8rpgJs=";
|
||||
hash = "sha256-V+Wez9r/AoyNkR77yJTV3/9Kl0PHGw9kbQbzGauWEfc=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -13,7 +13,7 @@
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "1.5.0";
|
||||
version = "1.5.4";
|
||||
pname = "pysmi";
|
||||
pyproject = true;
|
||||
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "lextudio";
|
||||
repo = "pysmi";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-9yAsseMI50RhVeyFvuTo/pN9ftrvvUWYCacy2v3VVT8=";
|
||||
hash = "sha256-QKxUV2QTaGkCQmWTS8GBeaXKsKTIsrDVZFwidTqLdh0=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -5,6 +5,7 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
orjson,
|
||||
pycryptodomex,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
typing-extensions,
|
||||
@ -12,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "reolink-aio";
|
||||
version = "0.9.11";
|
||||
version = "0.10.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@ -21,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "starkillerOG";
|
||||
repo = "reolink_aio";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-xIN6ioX02YgzY3sh3l7rFT6UQCMnzlrX/CJj483G6ig=";
|
||||
hash = "sha256-SuNY+H21rjO+iotDJymLI7JccQRoMnLX/YL05wQqlmc=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
@ -30,6 +31,7 @@ buildPythonPackage rec {
|
||||
aiohttp
|
||||
aiortsp
|
||||
orjson
|
||||
pycryptodomex
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
|
@ -3,23 +3,29 @@
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pytestCheckHook,
|
||||
requests,
|
||||
pythonOlder,
|
||||
requests-mock,
|
||||
requests,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "swisshydrodata";
|
||||
version = "0.1.0";
|
||||
format = "setuptools";
|
||||
version = "0.2.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bouni";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1rdgfc6zg5j3fvrpbqs9vc3n5m66r5yljawyl7nmrqd5lwq1lqak";
|
||||
repo = "swisshydrodata";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-RcVwo61HZ02JEOHsSY/W8j2OTBN25oR2JunLZ5i6yVI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ requests ];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ requests ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
@ -31,7 +37,8 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Python client to get data from the Swiss federal Office for Environment FEON";
|
||||
homepage = "https://github.com/bouni/swisshydrodata";
|
||||
license = with licenses; [ mit ];
|
||||
changelog = "https://github.com/Bouni/swisshydrodata/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "typer-shell";
|
||||
version = "0.1.11";
|
||||
version = "0.1.12";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "FergusFettes";
|
||||
repo = "typer-shell";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-pxi4FGxDRMcW4q6h4lQzqGPLhdcfElMaR6aZV85h2Os=";
|
||||
hash = "sha256-fnqI+nKMaQocBWd9i/lqq8OzKwFdxJ8+7aYG5sNQ55E=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -1,5 +1,16 @@
|
||||
{ lib, python3Packages, fetchPypi }:
|
||||
|
||||
let
|
||||
# https://github.com/NixOS/nixpkgs/issues/348788
|
||||
mistune_2 = python3Packages.mistune.overridePythonAttrs(oldAttrs: rec {
|
||||
version = "2.0.5";
|
||||
src = fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
hash = "sha256-AkYRPLJJLbh1xr5Wl0p8iTMzvybNkokchfYxUc7gnTQ=";
|
||||
};
|
||||
});
|
||||
in
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "present";
|
||||
version = "0.6.0";
|
||||
@ -14,7 +25,7 @@ python3Packages.buildPythonPackage rec {
|
||||
pyyaml
|
||||
pyfiglet
|
||||
asciimatics
|
||||
mistune
|
||||
mistune_2
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "present" ];
|
||||
|
@ -1,18 +1,19 @@
|
||||
{ lib
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, buildGoModule
|
||||
, nixosTests
|
||||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
nixosTests,
|
||||
}:
|
||||
let
|
||||
owner = "superseriousbusiness";
|
||||
repo = "gotosocial";
|
||||
|
||||
version = "0.16.0";
|
||||
version = "0.17.0";
|
||||
|
||||
web-assets = fetchurl {
|
||||
url = "https://github.com/${owner}/${repo}/releases/download/v${version}/${repo}_${version}_web-assets.tar.gz";
|
||||
hash = "sha256-aZQpd5KvoZvXEMVzGbWrtGsc+P1JStjZ6U5mX6q7Vb0=";
|
||||
hash = "sha256-ASqPIf98qdnkh3j72ifQN3mWnzNCTRcUegmrStvQ08Q=";
|
||||
};
|
||||
in
|
||||
buildGoModule rec {
|
||||
@ -22,7 +23,7 @@ buildGoModule rec {
|
||||
src = fetchFromGitHub {
|
||||
inherit owner repo;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-QoG09+jmq5e5vxDVtkhY35098W/9B1HsYTuUnz43LV4=";
|
||||
hash = "sha256-uyqP3zhjcXKejGFAwZoTn2kY8IpX0QAAXNzb1VG6ve8=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -34,9 +34,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eclipse";
|
||||
repo = pname;
|
||||
repo = "mosquitto";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Vs0blV2IhnlEAm0WtOartz+0vLesJfp78FNJCivRxHk=";
|
||||
hash = "sha256-Vs0blV2IhnlEAm0WtOartz+0vLesJfp78FNJCivRxHk=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
@ -83,11 +83,13 @@ stdenv.mkDerivation rec {
|
||||
inherit (nixosTests) mosquitto;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Open source MQTT v3.1/3.1.1/5.0 broker";
|
||||
homepage = "https://mosquitto.org/";
|
||||
license = licenses.epl10;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
platforms = platforms.unix;
|
||||
changelog = "https://github.com/eclipse/mosquitto/blob/v${version}/ChangeLog.txt";
|
||||
license = lib.licenses.epl10;
|
||||
maintainers = [ lib.maintainers.peterhoeg ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "mosquitto";
|
||||
};
|
||||
}
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "apache-jena";
|
||||
version = "5.1.0";
|
||||
version = "5.2.0";
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/jena/binaries/apache-jena-${version}.tar.gz";
|
||||
hash = "sha256-LsNno/s2KFKykxKN7klTLfmFWu/jtXJCV9TFPX/Osh4=";
|
||||
hash = "sha256-M2WbqXHAL77fu9khTgb7BOe0mLgmU0Rcf9KN4KmvYAU=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
{ stdenv
|
||||
, lib
|
||||
, qt5
|
||||
, qtbase
|
||||
, qttools
|
||||
@ -7,7 +8,7 @@
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
qt5.mkDerivation {
|
||||
stdenv.mkDerivation {
|
||||
pname = "r3ctl";
|
||||
version = "a82cb5b3123224e706835407f21acea9dc7ab0f0";
|
||||
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cloudfox";
|
||||
version = "1.14.2";
|
||||
version = "1.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BishopFox";
|
||||
repo = "cloudfox";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-8z/j1bJT5xccSlyBnx32Dqqg6J9iazTaJgUmjN3Jc8c=";
|
||||
hash = "sha256-YLZSrBAEf0SXECAdnF2CQAlEd15DJ1Iv+x+RebM5tw4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-MQ1yoJjAWNx95Eafcarp/JNYq06xu9P05sF2QTW03NY=";
|
||||
|
@ -7,14 +7,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "ggshield";
|
||||
version = "1.32.1";
|
||||
version = "1.32.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GitGuardian";
|
||||
repo = "ggshield";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-9x/Shh7nYPM5BpeVW2xXCD0JIxNwRl1sXi/cE1EhD4o=";
|
||||
hash = "sha256-8Nrmfbu1ChuJU4lSbaqIxNagkTJoKTeooUWnMKtIVx0=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "ldeep";
|
||||
version = "1.0.70";
|
||||
version = "1.0.72";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "franc-pentest";
|
||||
repo = "ldeep";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-URoQb9B/g5YabqC/Ri2kY2S510wxgo86a0WlilAtoME=";
|
||||
hash = "sha256-WfrQd0P1TegeIwxQVycgx2n+IxqnKLRF1wxzNnjHaEo=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -1,4 +1,4 @@
|
||||
# frozen_string_literal: true
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.30"
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.32"
|
||||
|
@ -1,9 +1,9 @@
|
||||
GIT
|
||||
remote: https://github.com/rapid7/metasploit-framework
|
||||
revision: 8207579ba1f213b890b0125f4cb185672dec1d2c
|
||||
ref: refs/tags/6.4.30
|
||||
revision: a13f85c09fbf85c2f5f713b5b9a32b6200cc910d
|
||||
ref: refs/tags/6.4.32
|
||||
specs:
|
||||
metasploit-framework (6.4.30)
|
||||
metasploit-framework (6.4.32)
|
||||
aarch64
|
||||
abbrev
|
||||
actionpack (~> 7.0.0)
|
||||
@ -43,9 +43,9 @@ GIT
|
||||
metasploit-concern
|
||||
metasploit-credential
|
||||
metasploit-model
|
||||
metasploit-payloads (= 2.0.166)
|
||||
metasploit-payloads (= 2.0.183)
|
||||
metasploit_data_models
|
||||
metasploit_payloads-mettle (= 1.0.31)
|
||||
metasploit_payloads-mettle (= 1.0.32)
|
||||
mqtt
|
||||
msgpack (~> 1.6.0)
|
||||
mutex_m
|
||||
@ -271,7 +271,7 @@ GEM
|
||||
activemodel (~> 7.0)
|
||||
activesupport (~> 7.0)
|
||||
railties (~> 7.0)
|
||||
metasploit-payloads (2.0.166)
|
||||
metasploit-payloads (2.0.183)
|
||||
metasploit_data_models (6.0.3)
|
||||
activerecord (~> 7.0)
|
||||
activesupport (~> 7.0)
|
||||
@ -282,7 +282,7 @@ GEM
|
||||
railties (~> 7.0)
|
||||
recog
|
||||
webrick
|
||||
metasploit_payloads-mettle (1.0.31)
|
||||
metasploit_payloads-mettle (1.0.32)
|
||||
method_source (1.1.0)
|
||||
mini_portile2 (2.8.6)
|
||||
minitest (5.23.1)
|
||||
|
@ -15,13 +15,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "metasploit-framework";
|
||||
version = "6.4.30";
|
||||
version = "6.4.32";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rapid7";
|
||||
repo = "metasploit-framework";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-iLL6ssEfms+AfHA2VMjm4jaKxLlrYmb4QmNAB1HWNc0=";
|
||||
hash = "sha256-vNJxWj7B7LOWw1hE3bK6dX5kumfspWIaheGHpDit4kM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -724,12 +724,12 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
fetchSubmodules = false;
|
||||
rev = "8207579ba1f213b890b0125f4cb185672dec1d2c";
|
||||
sha256 = "1k9msr8hfh338bw6cqkbp728ldp2wv458dkhgj0cz6hzq6rgmcl8";
|
||||
rev = "a13f85c09fbf85c2f5f713b5b9a32b6200cc910d";
|
||||
sha256 = "0hz2mlwa91z1hld659gccyx68zkmpardsi2qqfbb7v617rd73lmw";
|
||||
type = "git";
|
||||
url = "https://github.com/rapid7/metasploit-framework";
|
||||
};
|
||||
version = "6.4.30";
|
||||
version = "6.4.32";
|
||||
};
|
||||
metasploit-model = {
|
||||
groups = ["default"];
|
||||
@ -746,10 +746,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0f8grdgqn9y8wc61k111zlap5vqjika56k4vabkwglljs5bv44nk";
|
||||
sha256 = "0bdn7g01a4hvli6ymkl215xmw823jnd5fwv63wy9bgyaih14ysmd";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.0.166";
|
||||
version = "2.0.183";
|
||||
};
|
||||
metasploit_data_models = {
|
||||
groups = ["default"];
|
||||
@ -766,10 +766,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19g1mfgv39fqyskkib1f7w2lx7528kpnq90prrmb6jrh1acwaanq";
|
||||
sha256 = "0dbdcbqmi7l1y3nw6nv1sabjwy5qpkzl7pg8wqhq33mgnswi4afp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.31";
|
||||
version = "1.0.32";
|
||||
};
|
||||
method_source = {
|
||||
groups = ["default"];
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "trufflehog";
|
||||
version = "3.82.8";
|
||||
version = "3.82.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trufflesecurity";
|
||||
repo = "trufflehog";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-loGM/ivmkAslDr3QQvsZ5UyHfpFtK6iZHqx5rzmhEzA=";
|
||||
hash = "sha256-hi7uGVPA9QW22DdfTCui7AMORGgoWH1ogevJqRYM6LQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-JllOihg7JiKmfxSjXnQeM2/nNXEyAPv7+73PLDFJNZ4=";
|
||||
vendorHash = "sha256-Ld+TYH2iCreDhueNmu8S5mcyDyWDXMVEwfW9TdVQ9aY=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
|
@ -20673,8 +20673,6 @@ with pkgs;
|
||||
|
||||
libcomps = callPackage ../tools/package-management/libcomps { python = python3; };
|
||||
|
||||
libcpr = callPackage ../development/libraries/libcpr { };
|
||||
|
||||
libcredis = callPackage ../development/libraries/libcredis { };
|
||||
|
||||
libctb = callPackage ../development/libraries/libctb { };
|
||||
@ -36819,7 +36817,6 @@ with pkgs;
|
||||
curl
|
||||
];
|
||||
});
|
||||
perl = perl540;
|
||||
};
|
||||
|
||||
megam = callPackage ../applications/science/misc/megam {
|
||||
|
@ -248,7 +248,7 @@ impure-cmds // apple-source-packages // apple-source-headers // stubs // {
|
||||
nixos = import ../../nixos {
|
||||
configuration = {
|
||||
imports = [
|
||||
../../nixos/modules/profiles/macos-builder.nix
|
||||
../../nixos/modules/profiles/nix-builder-vm.nix
|
||||
] ++ modules;
|
||||
|
||||
# If you need to override this, consider starting with the right Nixpkgs
|
||||
|
Loading…
Reference in New Issue
Block a user