mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 04:19:00 +02:00
Merge master into staging-next
This commit is contained in:
commit
c904e6bf24
|
@ -651,6 +651,66 @@ buildPythonPackage rec {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Rust package built with `meson` {#rust-package-built-with-meson}
|
||||||
|
|
||||||
|
Some projects, especially GNOME applications, are built with the Meson Build System instead of calling Cargo directly. Using `rustPlatform.buildRustPackage` may successfully build the main program, but related files will be missing. Instead, you need to set up Cargo dependencies with `fetchCargoTarball` and `cargoSetupHook` and leave the rest to Meson. `rust` and `cargo` are still needed in `nativeBuildInputs` for Meson to use.
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitLab
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkg-config
|
||||||
|
, rustPlatform
|
||||||
|
, rustc
|
||||||
|
, cargo
|
||||||
|
, wrapGAppsHook4
|
||||||
|
, blueprint-compiler
|
||||||
|
, libadwaita
|
||||||
|
, libsecret
|
||||||
|
, tracker
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "health";
|
||||||
|
version = "0.95.0";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
domain = "gitlab.gnome.org";
|
||||||
|
owner = "World";
|
||||||
|
repo = "health";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-PrNPprSS98yN8b8yw2G6hzTSaoE65VbsM3q7FVB4mds=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||||
|
inherit src;
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
hash = "sha256-8fa3fa+sFi5H+49B5sr2vYPkp9C9s6CcE0zv4xB8gww=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pkg-config
|
||||||
|
rustPlatform.cargoSetupHook
|
||||||
|
rustc
|
||||||
|
cargo
|
||||||
|
wrapGAppsHook4
|
||||||
|
blueprint-compiler
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libadwaita
|
||||||
|
libsecret
|
||||||
|
tracker
|
||||||
|
];
|
||||||
|
|
||||||
|
# ...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## `buildRustCrate`: Compiling Rust crates using Nix instead of Cargo {#compiling-rust-crates-using-nix-instead-of-cargo}
|
## `buildRustCrate`: Compiling Rust crates using Nix instead of Cargo {#compiling-rust-crates-using-nix-instead-of-cargo}
|
||||||
|
|
||||||
### Simple operation {#simple-operation}
|
### Simple operation {#simple-operation}
|
||||||
|
|
|
@ -392,6 +392,12 @@ in mkLicense lset) ({
|
||||||
fullName = "Common Public Attribution License 1.0";
|
fullName = "Common Public Attribution License 1.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
commons-clause = {
|
||||||
|
fullName = "Commons Clause License";
|
||||||
|
url = "https://commonsclause.com/";
|
||||||
|
free = false;
|
||||||
|
};
|
||||||
|
|
||||||
cpl10 = {
|
cpl10 = {
|
||||||
spdxId = "CPL-1.0";
|
spdxId = "CPL-1.0";
|
||||||
fullName = "Common Public License 1.0";
|
fullName = "Common Public License 1.0";
|
||||||
|
|
|
@ -2958,6 +2958,12 @@
|
||||||
github = "bycEEE";
|
github = "bycEEE";
|
||||||
githubId = 8891115;
|
githubId = 8891115;
|
||||||
name = "Brian Choy";
|
name = "Brian Choy";
|
||||||
|
};
|
||||||
|
ByteSudoer = {
|
||||||
|
email = "bytesudoer@gmail.com";
|
||||||
|
github = "bytesudoer";
|
||||||
|
githubId = 88513682;
|
||||||
|
name = "ByteSudoer";
|
||||||
};
|
};
|
||||||
bzizou = {
|
bzizou = {
|
||||||
email = "Bruno@bzizou.net";
|
email = "Bruno@bzizou.net";
|
||||||
|
@ -12556,6 +12562,15 @@
|
||||||
githubId = 15093162;
|
githubId = 15093162;
|
||||||
name = "Melanie B. Sigl";
|
name = "Melanie B. Sigl";
|
||||||
};
|
};
|
||||||
|
melvyn2 = {
|
||||||
|
email = "melvyn2@dnsense.pub";
|
||||||
|
github = "melvyn2";
|
||||||
|
githubId = 9157412;
|
||||||
|
name = "melvyn";
|
||||||
|
keys = [{
|
||||||
|
fingerprint = "232B 9F00 2153 CA86 849C 9224 25A2 B728 0CE3 AFF6";
|
||||||
|
}];
|
||||||
|
};
|
||||||
mephistophiles = {
|
mephistophiles = {
|
||||||
email = "mussitantesmortem@gmail.com";
|
email = "mussitantesmortem@gmail.com";
|
||||||
name = "Maxim Zhukov";
|
name = "Maxim Zhukov";
|
||||||
|
@ -16541,6 +16556,11 @@
|
||||||
githubId = 61013287;
|
githubId = 61013287;
|
||||||
name = "Ricardo Steijn";
|
name = "Ricardo Steijn";
|
||||||
};
|
};
|
||||||
|
richar = {
|
||||||
|
github = "ri-char";
|
||||||
|
githubId = 17962023;
|
||||||
|
name = "richar";
|
||||||
|
};
|
||||||
richardipsum = {
|
richardipsum = {
|
||||||
email = "richardipsum@fastmail.co.uk";
|
email = "richardipsum@fastmail.co.uk";
|
||||||
github = "richardipsum";
|
github = "richardipsum";
|
||||||
|
|
|
@ -456,6 +456,12 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||||
|
|
||||||
- The module `services.github-runner` has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration.
|
- The module `services.github-runner` has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration.
|
||||||
|
|
||||||
|
- The `services.slskd` has been refactored to include more configuation options in
|
||||||
|
the freeform `services.slskd.settings` option, and some defaults (including listen ports)
|
||||||
|
have been changed to match the upstream defaults. Additionally, disk logging is now
|
||||||
|
disabled by default, and the log rotation timer has been removed.
|
||||||
|
The nginx virtualhost option is now of the `vhost-options` type.
|
||||||
|
|
||||||
- The `btrbk` module now automatically selects and provides required compression
|
- The `btrbk` module now automatically selects and provides required compression
|
||||||
program depending on the configured `stream_compress` option. Since this
|
program depending on the configured `stream_compress` option. Since this
|
||||||
replaces the need for the `extraPackages` option, this option will be
|
replaces the need for the `extraPackages` option, this option will be
|
||||||
|
|
|
@ -32,6 +32,8 @@ in {
|
||||||
|
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
fonts.fontDir.enable = true;
|
||||||
|
|
||||||
services.dbus.packages = [ pkgs.flatpak ];
|
services.dbus.packages = [ pkgs.flatpak ];
|
||||||
|
|
||||||
systemd.packages = [ pkgs.flatpak ];
|
systemd.packages = [ pkgs.flatpak ];
|
||||||
|
|
|
@ -2,122 +2,250 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
settingsFormat = pkgs.formats.yaml {};
|
settingsFormat = pkgs.formats.yaml {};
|
||||||
|
defaultUser = "slskd";
|
||||||
in {
|
in {
|
||||||
options.services.slskd = with lib; with types; {
|
options.services.slskd = with lib; with types; {
|
||||||
enable = mkEnableOption "enable slskd";
|
enable = mkEnableOption "enable slskd";
|
||||||
|
|
||||||
rotateLogs = mkEnableOption "enable an unit and timer that will rotate logs in /var/slskd/logs";
|
package = mkPackageOptionMD pkgs "slskd" { };
|
||||||
|
|
||||||
package = mkPackageOption pkgs "slskd" { };
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaultUser;
|
||||||
|
description = "User account under which slskd runs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaultUser;
|
||||||
|
description = "Group under which slskd runs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
domain = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = ''
|
||||||
|
If non-null, enables an nginx reverse proxy virtual host at this FQDN,
|
||||||
|
at the path configurated with `services.slskd.web.url_base`.
|
||||||
|
'';
|
||||||
|
example = "slskd.example.com";
|
||||||
|
};
|
||||||
|
|
||||||
nginx = mkOption {
|
nginx = mkOption {
|
||||||
description = lib.mdDoc "options for nginx";
|
type = types.submodule (import ../web-servers/nginx/vhost-options.nix { inherit config lib; });
|
||||||
example = {
|
default = {};
|
||||||
enable = true;
|
example = lib.literalExpression ''
|
||||||
domain = "example.com";
|
{
|
||||||
contextPath = "/slskd";
|
enableACME = true;
|
||||||
};
|
forceHttps = true;
|
||||||
type = submodule ({name, config, ...}: {
|
}
|
||||||
options = {
|
'';
|
||||||
enable = mkEnableOption "enable nginx as a reverse proxy";
|
description = ''
|
||||||
|
This option customizes the nginx virtual host set up for slskd.
|
||||||
domainName = mkOption {
|
|
||||||
type = str;
|
|
||||||
description = "Domain you want to use";
|
|
||||||
};
|
|
||||||
contextPath = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = "/";
|
|
||||||
description = lib.mdDoc ''
|
|
||||||
The context path, i.e., the last part of the slskd
|
|
||||||
URL. Typically '/' or '/slskd'. Default '/'
|
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environmentFile = mkOption {
|
environmentFile = mkOption {
|
||||||
type = path;
|
type = path;
|
||||||
description = ''
|
description = ''
|
||||||
Path to a file containing secrets.
|
Path to the environment file sourced on startup.
|
||||||
It must at least contain the variable `SLSKD_SLSK_PASSWORD`
|
It must at least contain the variables `SLSKD_SLSK_USERNAME` and `SLSKD_SLSK_PASSWORD`.
|
||||||
|
Web interface credentials should also be set here in `SLSKD_USERNAME` and `SLSKD_PASSWORD`.
|
||||||
|
Other, optional credentials like SOCKS5 with `SLSKD_SLSK_PROXY_USERNAME` and `SLSKD_SLSK_PROXY_PASSWORD`
|
||||||
|
should all reside here instead of in the world-readable nix store.
|
||||||
|
Variables are documented at https://github.com/slskd/slskd/blob/master/docs/config.md
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
openFirewall = mkOption {
|
openFirewall = mkOption {
|
||||||
type = bool;
|
type = bool;
|
||||||
description = ''
|
description = "Whether to open the firewall for the soulseek network listen port (not the web interface port).";
|
||||||
Whether to open the firewall for services.slskd.settings.listen_port";
|
|
||||||
'';
|
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Configuration for slskd, see
|
Application configuration for slskd. See
|
||||||
[available options](https://github.com/slskd/slskd/blob/master/docs/config.md)
|
[documentation](https://github.com/slskd/slskd/blob/master/docs/config.md).
|
||||||
`APP_DIR` is set to /var/lib/slskd, where default download & incomplete directories,
|
|
||||||
log and databases will be created.
|
|
||||||
'';
|
'';
|
||||||
default = {};
|
default = {};
|
||||||
type = submodule {
|
type = submodule {
|
||||||
freeformType = settingsFormat.type;
|
freeformType = settingsFormat.type;
|
||||||
options = {
|
options = {
|
||||||
|
remote_file_management = mkEnableOption "modification of share contents through the web ui";
|
||||||
|
|
||||||
soulseek = {
|
flags = {
|
||||||
username = mkOption {
|
force_share_scan = mkOption {
|
||||||
type = str;
|
type = bool;
|
||||||
description = "Username on the Soulseek Network";
|
description = "Force a rescan of shares on every startup.";
|
||||||
};
|
};
|
||||||
listen_port = mkOption {
|
no_version_check = mkOption {
|
||||||
type = port;
|
type = bool;
|
||||||
description = "Port to use for communication on the Soulseek Network";
|
default = true;
|
||||||
default = 50000;
|
visible = false;
|
||||||
};
|
description = "Don't perform a version check on startup.";
|
||||||
};
|
|
||||||
|
|
||||||
web = {
|
|
||||||
port = mkOption {
|
|
||||||
type = port;
|
|
||||||
default = 5001;
|
|
||||||
description = "The HTTP listen port";
|
|
||||||
};
|
|
||||||
url_base = mkOption {
|
|
||||||
type = path;
|
|
||||||
default = config.services.slskd.nginx.contextPath;
|
|
||||||
defaultText = "config.services.slskd.nginx.contextPath";
|
|
||||||
description = lib.mdDoc ''
|
|
||||||
The context path, i.e., the last part of the slskd URL
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
shares = {
|
|
||||||
directories = mkOption {
|
|
||||||
type = listOf str;
|
|
||||||
description = lib.mdDoc ''
|
|
||||||
Paths to your shared directories. See
|
|
||||||
[documentation](https://github.com/slskd/slskd/blob/master/docs/config.md#directories)
|
|
||||||
for advanced usage
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
directories = {
|
directories = {
|
||||||
incomplete = mkOption {
|
incomplete = mkOption {
|
||||||
type = nullOr path;
|
type = nullOr path;
|
||||||
description = "Directory where downloading files are stored";
|
description = "Directory where incomplete downloading files are stored.";
|
||||||
defaultText = "<APP_DIR>/incomplete";
|
defaultText = "/var/lib/slskd/incomplete";
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
downloads = mkOption {
|
downloads = mkOption {
|
||||||
type = nullOr path;
|
type = nullOr path;
|
||||||
description = "Directory where downloaded files are stored";
|
description = "Directory where downloaded files are stored.";
|
||||||
defaultText = "<APP_DIR>/downloads";
|
defaultText = "/var/lib/slskd/downloads";
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
shares = {
|
||||||
|
directories = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
description = ''
|
||||||
|
Paths to shared directories. See
|
||||||
|
[documentation](https://github.com/slskd/slskd/blob/master/docs/config.md#directories)
|
||||||
|
for advanced usage.
|
||||||
|
'';
|
||||||
|
example = lib.literalExpression ''[ "/home/John/Music" "!/home/John/Music/Recordings" "[Music Drive]/mnt" ]'';
|
||||||
|
};
|
||||||
|
filters = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
example = lib.literalExpression ''[ "\.ini$" "Thumbs.db$" "\.DS_Store$" ]'';
|
||||||
|
description = "Regular expressions of files to exclude from sharing.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
rooms = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
description = "Chat rooms to join on startup.";
|
||||||
|
};
|
||||||
|
|
||||||
|
soulseek = {
|
||||||
|
description = mkOption {
|
||||||
|
type = str;
|
||||||
|
description = "The user description for the Soulseek network.";
|
||||||
|
defaultText = "A slskd user. https://github.com/slskd/slskd";
|
||||||
|
};
|
||||||
|
listen_port = mkOption {
|
||||||
|
type = port;
|
||||||
|
description = "The port on which to listen for incoming connections.";
|
||||||
|
default = 50300;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
global = {
|
||||||
|
# TODO speed units
|
||||||
|
upload = {
|
||||||
|
slots = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Limit of the number of concurrent upload slots.";
|
||||||
|
};
|
||||||
|
speed_limit = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Total upload speed limit.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
download = {
|
||||||
|
slots = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Limit of the number of concurrent download slots.";
|
||||||
|
};
|
||||||
|
speed_limit = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Total upload download limit";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
filters.search.request = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
example = lib.literalExpression ''[ "^.{1,2}$" ]'';
|
||||||
|
description = "Incoming search requests which match this filter are ignored.";
|
||||||
|
};
|
||||||
|
|
||||||
|
web = {
|
||||||
|
port = mkOption {
|
||||||
|
type = port;
|
||||||
|
default = 5030;
|
||||||
|
description = "The HTTP listen port.";
|
||||||
|
};
|
||||||
|
url_base = mkOption {
|
||||||
|
type = path;
|
||||||
|
default = "/";
|
||||||
|
description = "The base path in the url for web requests.";
|
||||||
|
};
|
||||||
|
# Users should use a reverse proxy instead for https
|
||||||
|
https.disabled = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = true;
|
||||||
|
description = "Disable the built-in HTTPS server";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
retention = {
|
||||||
|
transfers = {
|
||||||
|
upload = {
|
||||||
|
succeeded = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of succeeded upload tasks.";
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
errored = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of errored upload tasks.";
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
cancelled = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of cancelled upload tasks.";
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
download = {
|
||||||
|
succeeded = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of succeeded download tasks.";
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
errored = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of errored download tasks.";
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
cancelled = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of cancelled download tasks.";
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
files = {
|
||||||
|
complete = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of completely downloaded files in minutes.";
|
||||||
|
example = 20160;
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
incomplete = mkOption {
|
||||||
|
type = ints.unsigned;
|
||||||
|
description = "Lifespan of incomplete downloading files in minutes.";
|
||||||
|
defaultText = "(indefinite)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
logger = {
|
||||||
|
# Disable by default, journald already retains as needed
|
||||||
|
disk = mkOption {
|
||||||
|
type = bool;
|
||||||
|
description = "Whether to log to the application directory.";
|
||||||
|
default = false;
|
||||||
|
visible = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -126,38 +254,25 @@ in {
|
||||||
config = let
|
config = let
|
||||||
cfg = config.services.slskd;
|
cfg = config.services.slskd;
|
||||||
|
|
||||||
confWithoutNullValues = (lib.filterAttrs (key: value: value != null) cfg.settings);
|
confWithoutNullValues = (lib.filterAttrsRecursive (key: value: (builtins.tryEval value).success && value != null) cfg.settings);
|
||||||
|
|
||||||
configurationYaml = settingsFormat.generate "slskd.yml" confWithoutNullValues;
|
configurationYaml = settingsFormat.generate "slskd.yml" confWithoutNullValues;
|
||||||
|
|
||||||
in lib.mkIf cfg.enable {
|
in lib.mkIf cfg.enable {
|
||||||
|
|
||||||
users = {
|
# Force off, configuration file is in nix store and is immutable
|
||||||
users.slskd = {
|
services.slskd.settings.remote_configuration = lib.mkForce false;
|
||||||
|
|
||||||
|
users.users = lib.optionalAttrs (cfg.user == defaultUser) {
|
||||||
|
"${defaultUser}" = {
|
||||||
|
group = cfg.group;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
group = "slskd";
|
|
||||||
};
|
|
||||||
groups.slskd = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Reverse proxy configuration
|
|
||||||
services.nginx.enable = true;
|
|
||||||
services.nginx.virtualHosts."${cfg.nginx.domainName}" = {
|
|
||||||
forceSSL = true;
|
|
||||||
enableACME = true;
|
|
||||||
locations = {
|
|
||||||
"${cfg.nginx.contextPath}" = {
|
|
||||||
proxyPass = "http://localhost:${toString cfg.settings.web.port}";
|
|
||||||
proxyWebsockets = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Hide state & logs
|
users.groups = lib.optionalAttrs (cfg.group == defaultUser) {
|
||||||
systemd.tmpfiles.rules = [
|
"${defaultUser}" = {};
|
||||||
"d /var/lib/slskd/data 0750 slskd slskd - -"
|
};
|
||||||
"d /var/lib/slskd/logs 0750 slskd slskd - -"
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.services.slskd = {
|
systemd.services.slskd = {
|
||||||
description = "A modern client-server application for the Soulseek file sharing network";
|
description = "A modern client-server application for the Soulseek file sharing network";
|
||||||
|
@ -165,12 +280,16 @@ in {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
User = "slskd";
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||||
StateDirectory = "slskd";
|
StateDirectory = "slskd"; # Creates /var/lib/slskd and manages permissions
|
||||||
ExecStart = "${cfg.package}/bin/slskd --app-dir /var/lib/slskd --config ${configurationYaml}";
|
ExecStart = "${cfg.package}/bin/slskd --app-dir /var/lib/slskd --config ${configurationYaml}";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
ReadOnlyPaths = map (d: builtins.elemAt (builtins.split "[^/]*(/.+)" d) 1) cfg.settings.shares.directories;
|
ReadOnlyPaths = map (d: builtins.elemAt (builtins.split "[^/]*(/.+)" d) 1) cfg.settings.shares.directories;
|
||||||
|
ReadWritePaths =
|
||||||
|
(lib.optional (cfg.settings.directories.incomplete != null) cfg.settings.directories.incomplete) ++
|
||||||
|
(lib.optional (cfg.settings.directories.downloads != null) cfg.settings.directories.downloads);
|
||||||
LockPersonality = true;
|
LockPersonality = true;
|
||||||
NoNewPrivileges = true;
|
NoNewPrivileges = true;
|
||||||
PrivateDevices = true;
|
PrivateDevices = true;
|
||||||
|
@ -194,18 +313,21 @@ in {
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall cfg.settings.soulseek.listen_port;
|
networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall cfg.settings.soulseek.listen_port;
|
||||||
|
|
||||||
systemd.services.slskd-rotatelogs = lib.mkIf cfg.rotateLogs {
|
services.nginx = lib.mkIf (cfg.domain != null) {
|
||||||
description = "Rotate slskd logs";
|
enable = lib.mkDefault true;
|
||||||
serviceConfig = {
|
virtualHosts."${cfg.domain}" = lib.mkMerge [
|
||||||
Type = "oneshot";
|
cfg.nginx
|
||||||
User = "slskd";
|
{
|
||||||
ExecStart = [
|
locations."${cfg.settings.web.url_base}" = {
|
||||||
"${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +10 -delete"
|
proxyPass = "http://127.0.0.1:${toString cfg.settings.web.port}";
|
||||||
"${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +1 -exec ${pkgs.gzip}/bin/gzip -q {} ';'"
|
proxyWebsockets = true;
|
||||||
];
|
};
|
||||||
};
|
}
|
||||||
startAt = "daily";
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ ppom melvyn2 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,80 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.virtualisation.incus;
|
cfg = config.virtualisation.incus;
|
||||||
preseedFormat = pkgs.formats.yaml { };
|
preseedFormat = pkgs.formats.yaml { };
|
||||||
|
|
||||||
|
serverBinPath = ''${pkgs.qemu_kvm}/libexec:${
|
||||||
|
lib.makeBinPath (
|
||||||
|
with pkgs;
|
||||||
|
[
|
||||||
|
cfg.package
|
||||||
|
|
||||||
|
acl
|
||||||
|
attr
|
||||||
|
bash
|
||||||
|
btrfs-progs
|
||||||
|
cdrkit
|
||||||
|
coreutils
|
||||||
|
criu
|
||||||
|
dnsmasq
|
||||||
|
e2fsprogs
|
||||||
|
findutils
|
||||||
|
getent
|
||||||
|
gnugrep
|
||||||
|
gnused
|
||||||
|
gnutar
|
||||||
|
gptfdisk
|
||||||
|
gzip
|
||||||
|
iproute2
|
||||||
|
iptables
|
||||||
|
kmod
|
||||||
|
lvm2
|
||||||
|
minio
|
||||||
|
nftables
|
||||||
|
qemu_kvm
|
||||||
|
qemu-utils
|
||||||
|
rsync
|
||||||
|
squashfsTools
|
||||||
|
systemd
|
||||||
|
thin-provisioning-tools
|
||||||
|
util-linux
|
||||||
|
virtiofsd
|
||||||
|
xz
|
||||||
|
|
||||||
|
(writeShellScriptBin "apparmor_parser" ''
|
||||||
|
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
|
||||||
|
'')
|
||||||
|
]
|
||||||
|
++ lib.optionals config.boot.zfs.enabled [
|
||||||
|
config.boot.zfs.package
|
||||||
|
"${config.boot.zfs.package}/lib/udev"
|
||||||
|
]
|
||||||
|
++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ]
|
||||||
|
)
|
||||||
|
}'';
|
||||||
|
|
||||||
|
# https://github.com/lxc/incus/blob/cff35a29ee3d7a2af1f937cbb6cf23776941854b/internal/server/instance/drivers/driver_qemu.go#L123
|
||||||
|
ovmf-prefix = if pkgs.stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF";
|
||||||
|
ovmf = pkgs.linkFarm "incus-ovmf" [
|
||||||
|
{
|
||||||
|
name = "OVMF_CODE.4MB.fd";
|
||||||
|
path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_CODE.fd";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "OVMF_VARS.4MB.fd";
|
||||||
|
path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_VARS.fd";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "OVMF_VARS.4MB.ms.fd";
|
||||||
|
path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_VARS.fd";
|
||||||
|
}
|
||||||
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -11,26 +83,29 @@ in
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
virtualisation.incus = {
|
virtualisation.incus = {
|
||||||
enable = lib.mkEnableOption (lib.mdDoc ''
|
enable = lib.mkEnableOption ''
|
||||||
incusd, a daemon that manages containers and virtual machines.
|
incusd, a daemon that manages containers and virtual machines.
|
||||||
|
|
||||||
Users in the "incus-admin" group can interact with
|
Users in the "incus-admin" group can interact with
|
||||||
the daemon (e.g. to start or stop containers) using the
|
the daemon (e.g. to start or stop containers) using the
|
||||||
{command}`incus` command line tool, among others.
|
{command}`incus` command line tool, among others.
|
||||||
'');
|
'';
|
||||||
|
|
||||||
package = lib.mkPackageOption pkgs "incus" { };
|
package = lib.mkPackageOption pkgs "incus" { };
|
||||||
|
|
||||||
lxcPackage = lib.mkPackageOption pkgs "lxc" { };
|
lxcPackage = lib.mkPackageOption pkgs "lxc" { };
|
||||||
|
|
||||||
|
clientPackage = lib.mkPackageOption pkgs [
|
||||||
|
"incus"
|
||||||
|
"client"
|
||||||
|
] { };
|
||||||
|
|
||||||
preseed = lib.mkOption {
|
preseed = lib.mkOption {
|
||||||
type = lib.types.nullOr (
|
type = lib.types.nullOr (lib.types.submodule { freeformType = preseedFormat.type; });
|
||||||
lib.types.submodule { freeformType = preseedFormat.type; }
|
|
||||||
);
|
|
||||||
|
|
||||||
default = null;
|
default = null;
|
||||||
|
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Configuration for Incus preseed, see
|
Configuration for Incus preseed, see
|
||||||
<https://linuxcontainers.org/incus/docs/main/howto/initialize/#non-interactive-configuration>
|
<https://linuxcontainers.org/incus/docs/main/howto/initialize/#non-interactive-configuration>
|
||||||
for supported values.
|
for supported values.
|
||||||
|
@ -80,18 +155,16 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
socketActivation = lib.mkEnableOption (
|
socketActivation = lib.mkEnableOption (''
|
||||||
lib.mdDoc ''
|
|
||||||
socket-activation for starting incus.service. Enabling this option
|
socket-activation for starting incus.service. Enabling this option
|
||||||
will stop incus.service from starting automatically on boot.
|
will stop incus.service from starting automatically on boot.
|
||||||
''
|
'');
|
||||||
);
|
|
||||||
|
|
||||||
startTimeout = lib.mkOption {
|
startTimeout = lib.mkOption {
|
||||||
type = lib.types.ints.unsigned;
|
type = lib.types.ints.unsigned;
|
||||||
default = 600;
|
default = 600;
|
||||||
apply = toString;
|
apply = toString;
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Time to wait (in seconds) for incusd to become ready to process requests.
|
Time to wait (in seconds) for incusd to become ready to process requests.
|
||||||
If incusd does not reply within the configured time, `incus.service` will be
|
If incusd does not reply within the configured time, `incus.service` will be
|
||||||
considered failed and systemd will attempt to restart it.
|
considered failed and systemd will attempt to restart it.
|
||||||
|
@ -99,9 +172,12 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
ui = {
|
ui = {
|
||||||
enable = lib.mkEnableOption (lib.mdDoc "(experimental) Incus UI");
|
enable = lib.mkEnableOption "(experimental) Incus UI";
|
||||||
|
|
||||||
package = lib.mkPackageOption pkgs [ "incus" "ui" ] { };
|
package = lib.mkPackageOption pkgs [
|
||||||
|
"incus"
|
||||||
|
"ui"
|
||||||
|
] { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -109,7 +185,12 @@ in
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
assertion = !(config.networking.firewall.enable && !config.networking.nftables.enable && config.virtualisation.incus.enable);
|
assertion =
|
||||||
|
!(
|
||||||
|
config.networking.firewall.enable
|
||||||
|
&& !config.networking.nftables.enable
|
||||||
|
&& config.virtualisation.incus.enable
|
||||||
|
);
|
||||||
message = "Incus on NixOS is unsupported using iptables. Set `networking.nftables.enable = true;`";
|
message = "Incus on NixOS is unsupported using iptables. Set `networking.nftables.enable = true;`";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -137,7 +218,12 @@ in
|
||||||
"vhost_vsock"
|
"vhost_vsock"
|
||||||
] ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ];
|
] ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ];
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.package ];
|
environment.systemPackages = [
|
||||||
|
cfg.clientPackage
|
||||||
|
|
||||||
|
# gui console support
|
||||||
|
pkgs.spice-gtk
|
||||||
|
];
|
||||||
|
|
||||||
# Note: the following options are also declared in virtualisation.lxc, but
|
# Note: the following options are also declared in virtualisation.lxc, but
|
||||||
# the latter can't be simply enabled to reuse the formers, because it
|
# the latter can't be simply enabled to reuse the formers, because it
|
||||||
|
@ -164,31 +250,23 @@ in
|
||||||
"network-online.target"
|
"network-online.target"
|
||||||
"lxcfs.service"
|
"lxcfs.service"
|
||||||
"incus.socket"
|
"incus.socket"
|
||||||
]
|
] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ];
|
||||||
++ lib.optional config.virtualisation.vswitch.enable "ovs-vswitchd.service";
|
|
||||||
|
|
||||||
requires = [
|
requires = [
|
||||||
"lxcfs.service"
|
"lxcfs.service"
|
||||||
"incus.socket"
|
"incus.socket"
|
||||||
]
|
] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ];
|
||||||
++ lib.optional config.virtualisation.vswitch.enable "ovs-vswitchd.service";
|
|
||||||
|
|
||||||
wants = [
|
wants = [ "network-online.target" ];
|
||||||
"network-online.target"
|
|
||||||
];
|
|
||||||
|
|
||||||
path = lib.optionals config.boot.zfs.enabled [
|
environment = lib.mkMerge [
|
||||||
config.boot.zfs.package
|
{
|
||||||
"${config.boot.zfs.package}/lib/udev"
|
|
||||||
]
|
|
||||||
++ lib.optional config.virtualisation.vswitch.enable config.virtualisation.vswitch.package;
|
|
||||||
|
|
||||||
environment = lib.mkMerge [ {
|
|
||||||
# Override Path to the LXC template configuration directory
|
|
||||||
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
|
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
|
||||||
} (lib.mkIf (cfg.ui.enable) {
|
INCUS_OVMF_PATH = ovmf;
|
||||||
"INCUS_UI" = cfg.ui.package;
|
PATH = lib.mkForce serverBinPath;
|
||||||
}) ];
|
}
|
||||||
|
(lib.mkIf (cfg.ui.enable) { "INCUS_UI" = cfg.ui.package; })
|
||||||
|
];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${cfg.package}/bin/incusd --group incus-admin";
|
ExecStart = "${cfg.package}/bin/incusd --group incus-admin";
|
||||||
|
@ -228,9 +306,7 @@ in
|
||||||
partOf = [ "incus.service" ];
|
partOf = [ "incus.service" ];
|
||||||
|
|
||||||
script = ''
|
script = ''
|
||||||
${cfg.package}/bin/incus admin init --preseed <${
|
${cfg.package}/bin/incus admin init --preseed <${preseedFormat.generate "incus-preseed.yaml" cfg.preseed}
|
||||||
preseedFormat.generate "incus-preseed.yaml" cfg.preseed
|
|
||||||
}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
|
|
@ -309,6 +309,7 @@ in {
|
||||||
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };
|
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };
|
||||||
firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
|
firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
|
||||||
firefox-esr-115 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-115; };
|
firefox-esr-115 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-115; };
|
||||||
|
firefoxpwa = handleTest ./firefoxpwa.nix {};
|
||||||
firejail = handleTest ./firejail.nix {};
|
firejail = handleTest ./firejail.nix {};
|
||||||
firewall = handleTest ./firewall.nix { nftables = false; };
|
firewall = handleTest ./firewall.nix { nftables = false; };
|
||||||
firewall-nftables = handleTest ./firewall.nix { nftables = true; };
|
firewall-nftables = handleTest ./firewall.nix { nftables = true; };
|
||||||
|
|
36
nixos/tests/firefoxpwa.nix
Normal file
36
nixos/tests/firefoxpwa.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
import ./make-test-python.nix ({ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "firefoxpwa";
|
||||||
|
meta.maintainers = with lib.maintainers; [ camillemndn ];
|
||||||
|
|
||||||
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [ ./common/x11.nix ];
|
||||||
|
environment.systemPackages = with pkgs; [ firefoxpwa jq ];
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.jellyfin.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
enableOCR = true;
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
machine.start()
|
||||||
|
|
||||||
|
with subtest("Install a progressive web app"):
|
||||||
|
machine.wait_for_unit("jellyfin.service")
|
||||||
|
machine.wait_for_open_port(8096)
|
||||||
|
machine.succeed("firefoxpwa site install http://localhost:8096/web/manifest.json >&2")
|
||||||
|
|
||||||
|
with subtest("Launch the progressive web app"):
|
||||||
|
machine.succeed("firefoxpwa site launch $(jq -r < ~/.local/share/firefoxpwa/config.json '.sites | keys[0]') >&2")
|
||||||
|
machine.wait_for_window("Jellyfin")
|
||||||
|
machine.wait_for_text("Jellyfin")
|
||||||
|
'';
|
||||||
|
})
|
|
@ -1,20 +1,21 @@
|
||||||
import ../make-test-python.nix ({ pkgs, lib, extra ? {}, ... } :
|
import ../make-test-python.nix ({ pkgs, lib, extra ? {}, name ? "incus-container", ... } :
|
||||||
|
|
||||||
let
|
let
|
||||||
releases = import ../../release.nix {
|
releases = import ../../release.nix {
|
||||||
configuration = {
|
configuration = lib.recursiveUpdate {
|
||||||
# Building documentation makes the test unnecessarily take a longer time:
|
# Building documentation makes the test unnecessarily take a longer time:
|
||||||
documentation.enable = lib.mkForce false;
|
documentation.enable = lib.mkForce false;
|
||||||
|
|
||||||
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
|
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
|
||||||
} // extra;
|
}
|
||||||
|
extra;
|
||||||
};
|
};
|
||||||
|
|
||||||
container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||||
container-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
|
container-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "incus-container";
|
inherit name;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
maintainers = lib.teams.lxc.members;
|
maintainers = lib.teams.lxc.members;
|
||||||
|
|
|
@ -5,11 +5,17 @@
|
||||||
handleTestOn,
|
handleTestOn,
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
container-old-init = import ./container.nix { inherit system pkgs; };
|
container-legacy-init = import ./container.nix {
|
||||||
container-new-init = import ./container.nix { inherit system pkgs; extra = {
|
name = "container-legacy-init";
|
||||||
# Enable new systemd init
|
inherit system pkgs;
|
||||||
|
};
|
||||||
|
container-systemd-init = import ./container.nix {
|
||||||
|
name = "container-systemd-init";
|
||||||
|
inherit system pkgs;
|
||||||
|
extra = {
|
||||||
boot.initrd.systemd.enable = true;
|
boot.initrd.systemd.enable = true;
|
||||||
}; };
|
};
|
||||||
|
};
|
||||||
lxd-to-incus = import ./lxd-to-incus.nix { inherit system pkgs; };
|
lxd-to-incus = import ./lxd-to-incus.nix { inherit system pkgs; };
|
||||||
openvswitch = import ./openvswitch.nix { inherit system pkgs; };
|
openvswitch = import ./openvswitch.nix { inherit system pkgs; };
|
||||||
preseed = import ./preseed.nix { inherit system pkgs; };
|
preseed = import ./preseed.nix { inherit system pkgs; };
|
||||||
|
|
|
@ -95,7 +95,7 @@ import ../make-test-python.nix (
|
||||||
machine.wait_for_unit("incus.service")
|
machine.wait_for_unit("incus.service")
|
||||||
|
|
||||||
with machine.nested("run migration"):
|
with machine.nested("run migration"):
|
||||||
machine.succeed("lxd-to-incus --yes")
|
machine.succeed("${pkgs.incus}/bin/lxd-to-incus --yes")
|
||||||
|
|
||||||
with machine.nested("verify resources migrated to incus"):
|
with machine.nested("verify resources migrated to incus"):
|
||||||
machine.succeed("incus config show container")
|
machine.succeed("incus config show container")
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xedit";
|
pname = "xedit";
|
||||||
version = "1.2.3";
|
version = "1.2.4";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "gitlab.freedesktop.org";
|
domain = "gitlab.freedesktop.org";
|
||||||
owner = "xorg/app";
|
owner = "xorg/app";
|
||||||
repo = "xedit";
|
repo = "xedit";
|
||||||
rev = "${pname}-${version}";
|
rev = "${pname}-${version}";
|
||||||
sha256 = "sha256-WF+4avzRRL0+OA3KxzK7JwmArkPu9fEl+728R6ouXmg=";
|
sha256 = "sha256-0vP+aR8QBXAqbULOLEs7QXsehk18BJ405qoelrcepwE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# ./lisp/mathimp.c:493:10: error: implicitly declaring library function 'finite' with type 'int (double)'
|
# ./lisp/mathimp.c:493:10: error: implicitly declaring library function 'finite' with type 'int (double)'
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
{ lib, stdenv, graphicsmagick }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "graphicsmagick-imagemagick-compat";
|
|
||||||
inherit (graphicsmagick) version;
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
buildPhase = "true";
|
|
||||||
|
|
||||||
utils = [
|
|
||||||
"composite"
|
|
||||||
"conjure"
|
|
||||||
"convert"
|
|
||||||
"identify"
|
|
||||||
"mogrify"
|
|
||||||
"montage"
|
|
||||||
"animate"
|
|
||||||
"display"
|
|
||||||
"import"
|
|
||||||
];
|
|
||||||
|
|
||||||
# TODO: symlink libraries?
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p "$out"/bin
|
|
||||||
mkdir -p "$out"/share/man/man1
|
|
||||||
for util in ''${utils[@]}; do
|
|
||||||
ln -s ${graphicsmagick}/bin/gm "$out/bin/$util"
|
|
||||||
ln -s ${graphicsmagick}/share/man/man1/gm.1.gz "$out/share/man/man1/$util.1.gz"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "ImageMagick interface for GraphicsMagick";
|
|
||||||
license = lib.licenses.free;
|
|
||||||
platforms = lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,67 +0,0 @@
|
||||||
{ lib, stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript
|
|
||||||
, libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11
|
|
||||||
, libwebp, quantumdepth ? 8, fixDarwinDylibNames, nukeReferences
|
|
||||||
, coreutils
|
|
||||||
, runCommand
|
|
||||||
, graphicsmagick # for passthru.tests
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "graphicsmagick";
|
|
||||||
version = "1.3.42";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
|
|
||||||
sha256 = "sha256-SE/M/Ssvr2wrqRUUaezlByvLkbpO1z517T2ORsdZ1Vc=";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
./disable-popen.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
configureFlags = [
|
|
||||||
# specify delegates explicitly otherwise `gm` will invoke the build
|
|
||||||
# coreutils for filetypes it doesn't natively support.
|
|
||||||
"MVDelegate=${lib.getExe' coreutils "mv"}"
|
|
||||||
"--enable-shared"
|
|
||||||
"--with-frozenpaths"
|
|
||||||
"--with-quantum-depth=${toString quantumdepth}"
|
|
||||||
"--with-gslib=yes"
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs =
|
|
||||||
[ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
|
|
||||||
zlib libtool libwebp
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ xz nukeReferences ]
|
|
||||||
++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
|
||||||
|
|
||||||
# Remove CFLAGS from the binaries to avoid closure bloat.
|
|
||||||
# In the past we have had -dev packages in the closure of the binaries soley due to the string references.
|
|
||||||
postConfigure = ''
|
|
||||||
nuke-refs -e $out ./magick/magick_config.h
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
tests = {
|
|
||||||
issue-157920 = runCommand "issue-157920-regression-test" {
|
|
||||||
buildInputs = [ graphicsmagick ];
|
|
||||||
} ''
|
|
||||||
gm convert ${graphviz}/share/doc/graphviz/neatoguide.pdf jpg:$out
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "http://www.graphicsmagick.org";
|
|
||||||
description = "Swiss army knife of image processing";
|
|
||||||
license = lib.licenses.mit;
|
|
||||||
platforms = lib.platforms.all;
|
|
||||||
mainProgram = "gm";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
http://permalink.gmane.org/gmane.comp.security.oss.general/19669
|
|
||||||
|
|
||||||
--- a/magick/blob.c Sat Nov 07 14:49:16 2015 -0600
|
|
||||||
+++ b/magick/blob.c Sun May 29 14:12:57 2016 -0500
|
|
||||||
@@ -68,6 +68,7 @@
|
|
||||||
*/
|
|
||||||
#define DefaultBlobQuantum 65541
|
|
||||||
|
|
||||||
+#undef HAVE_POPEN
|
|
||||||
|
|
||||||
/*
|
|
||||||
Enum declarations.
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "glooctl";
|
pname = "glooctl";
|
||||||
version = "1.16.8";
|
version = "1.16.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "solo-io";
|
owner = "solo-io";
|
||||||
repo = "gloo";
|
repo = "gloo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-M8ZNDt+sO8ZtVM1PyISOsFwXrD6q9ACPG0T99bqwk1c=";
|
hash = "sha256-9zGtMfVZL+VIpEw2D5n4LzyTYNLCJFKf7Q++QiUKPxA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-UyzqKpF2WBj25Bm4MtkF6yjl87A61vGsteBNCjJV178=";
|
vendorHash = "sha256-UyzqKpF2WBj25Bm4MtkF6yjl87A61vGsteBNCjJV178=";
|
||||||
|
|
|
@ -2,27 +2,27 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "vcluster";
|
pname = "vcluster";
|
||||||
version = "0.19.4";
|
version = "0.19.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "loft-sh";
|
owner = "loft-sh";
|
||||||
repo = "vcluster";
|
repo = "vcluster";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-fzHaB+EeS8Gr1EVlxAZzKDYgv3Jij4LwmYaXN4tjYBg=";
|
hash = "sha256-V+Y2LekBYlKZU53BsYCW6ADSMJOxkwSK9hbFGXBaa9o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
||||||
subPackages = [ "cmd/vclusterctl" ];
|
subPackages = [ "cmd/vclusterctl" ];
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s" "-w"
|
"-s" "-w"
|
||||||
"-X main.version=${version}"
|
"-X main.version=${version}"
|
||||||
"-X main.goVersion=${lib.getVersion go}"
|
"-X main.goVersion=${lib.getVersion go}"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
# Test is disabled because e2e tests expect k8s.
|
# Test is disabled because e2e tests expect k8s.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
@ -48,10 +48,10 @@ buildGoModule rec {
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://github.com/loft-sh/vcluster/releases/tag/v${version}";
|
changelog = "https://github.com/loft-sh/vcluster/releases/tag/v${version}";
|
||||||
description = "Create fully functional virtual Kubernetes clusters";
|
description = "Create fully functional virtual Kubernetes clusters";
|
||||||
mainProgram = "vcluster";
|
|
||||||
downloadPage = "https://github.com/loft-sh/vcluster";
|
downloadPage = "https://github.com/loft-sh/vcluster";
|
||||||
homepage = "https://www.vcluster.com/";
|
homepage = "https://www.vcluster.com/";
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
|
mainProgram = "vcluster";
|
||||||
maintainers = with lib.maintainers; [ berryp peterromfeldhk qjoly superherointj ];
|
maintainers = with lib.maintainers; [ berryp peterromfeldhk qjoly superherointj ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
, fetchYarnDeps
|
, fetchYarnDeps
|
||||||
, nodejs
|
, nodejs
|
||||||
, yarn
|
, yarn
|
||||||
, fixup_yarn_lock
|
, prefetch-yarn-deps
|
||||||
, python3
|
, python3
|
||||||
, npmHooks
|
, npmHooks
|
||||||
, darwin
|
, darwin
|
||||||
|
@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
hash = "sha256-MM6SgVT7Pjdu96A4eWRucEzT7uNPxBqUDgHKl8mH2C0=";
|
hash = "sha256-MM6SgVT7Pjdu96A4eWRucEzT7uNPxBqUDgHKl8mH2C0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ nodejs yarn fixup_yarn_lock python3 npmHooks.npmInstallHook ] ++ lib.optional stdenv.isDarwin darwin.cctools;
|
nativeBuildInputs = [ nodejs yarn prefetch-yarn-deps python3 npmHooks.npmInstallHook ] ++ lib.optional stdenv.isDarwin darwin.cctools;
|
||||||
buildInputs = [ sqlite ];
|
buildInputs = [ sqlite ];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
export HOME="$PWD"
|
export HOME="$PWD"
|
||||||
|
|
||||||
fixup_yarn_lock yarn.lock
|
fixup-yarn-lock yarn.lock
|
||||||
yarn config --offline set yarn-offline-mirror ${finalAttrs.offlineCache}
|
yarn config --offline set yarn-offline-mirror ${finalAttrs.offlineCache}
|
||||||
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
|
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
|
||||||
patchShebangs node_modules
|
patchShebangs node_modules
|
||||||
|
|
|
@ -29,12 +29,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2.6.1";
|
version = "2.6.2";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "onionshare";
|
owner = "onionshare";
|
||||||
repo = "onionshare";
|
repo = "onionshare";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-LR3Ao4Q8kEDwrFV+gYdMSEeYF4hDtEa1rJgvRRrJMwc=";
|
hash = "sha256-J8Hdriy8eWpHuMCI87a9a/zCR6xafM3A/Tkyom0Ktko=";
|
||||||
};
|
};
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Securely and anonymously send and receive files";
|
description = "Securely and anonymously send and receive files";
|
||||||
|
|
|
@ -49,16 +49,16 @@ let
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "alacritty";
|
pname = "alacritty";
|
||||||
version = "0.13.1";
|
version = "0.13.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alacritty";
|
owner = "alacritty";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-Nn/G7SkRuHXRSRgNjlmdX1G07sp7FPx8UyAn63Nivfg=";
|
hash = "sha256-MrlzAZWLgfwIoTdxY+fjWbrv7tygAjnxXebiEgwOM9A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-vCoKaDd0mQRF6NNfK679FhEXuAdn/1o3F1gTfT8NK+0=";
|
cargoHash = "sha256-7HPTELRlmyjj7CXNbgqrzxW548BgbxybWi+tT3rOCX0=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
, numactl
|
, numactl
|
||||||
, writeText
|
, writeText
|
||||||
# Processing, video codecs, containers
|
# Processing, video codecs, containers
|
||||||
, ffmpeg_5-full
|
, ffmpeg-full
|
||||||
, nv-codec-headers
|
, nv-codec-headers
|
||||||
, libogg
|
, libogg
|
||||||
, x264
|
, x264
|
||||||
|
@ -69,6 +69,10 @@
|
||||||
# for now we disable GTK GUI support on Darwin. (It may be possible to remove
|
# for now we disable GTK GUI support on Darwin. (It may be possible to remove
|
||||||
# this restriction later.)
|
# this restriction later.)
|
||||||
, useGtk ? !stdenv.isDarwin
|
, useGtk ? !stdenv.isDarwin
|
||||||
|
, bzip2
|
||||||
|
, desktop-file-utils
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, intltool
|
, intltool
|
||||||
, glib
|
, glib
|
||||||
|
@ -86,64 +90,70 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.6.1";
|
version = "1.7.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "HandBrake";
|
owner = "HandBrake";
|
||||||
repo = "HandBrake";
|
repo = "HandBrake";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-0MJ1inMNA6s8l2S0wnpM2c7FxOoOHxs9u4E/rgKfjJo=";
|
hash = "sha256-4Q//UU/CPgWvhtpROfNPLzBvZlB02hbFe9Z9FA7mX04=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Handbrake maintains a set of ffmpeg patches. In particular, these
|
# Handbrake maintains a set of ffmpeg patches. In particular, these
|
||||||
# patches are required for subtitle timing to work correctly. See:
|
# patches are required for subtitle timing to work correctly. See:
|
||||||
# https://github.com/HandBrake/HandBrake/issues/4029
|
# https://github.com/HandBrake/HandBrake/issues/4029
|
||||||
ffmpeg-version = "5.1.2";
|
# base ffmpeg version is specified in:
|
||||||
ffmpeg-hb = ffmpeg_5-full.overrideAttrs (old: {
|
# https://github.com/HandBrake/HandBrake/blob/master/contrib/ffmpeg/module.defs
|
||||||
|
ffmpeg-version = "6.1";
|
||||||
|
ffmpeg-hb = ffmpeg-full.overrideAttrs (old: {
|
||||||
version = ffmpeg-version;
|
version = ffmpeg-version;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2";
|
url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2";
|
||||||
hash = "sha256-OaC8yNmFSfFsVwYkZ4JGpqxzbAZs69tAn5UC6RWyLys=";
|
hash = "sha256-632j3n3TzkiplGq0R6c0a9EaOoXm77jyws5jfn9UdhE=";
|
||||||
};
|
};
|
||||||
patches = old.patches or [ ] ++ [
|
patches = (old.patches or [ ]) ++ [
|
||||||
"${src}/contrib/ffmpeg/A01-qsv-libavfilter-qsvvpp-change-the-output-frame-s-width-a.patch"
|
"${src}/contrib/ffmpeg/A01-mov-read-name-track-tag-written-by-movenc.patch"
|
||||||
"${src}/contrib/ffmpeg/A02-qsv-configure-ensure-enable-libmfx-uses-libmfx-1.x.patch"
|
"${src}/contrib/ffmpeg/A02-movenc-write-3gpp-track-titl-tag.patch"
|
||||||
"${src}/contrib/ffmpeg/A03-qsv-configure-fix-the-check-for-MFX_CODEC_VP9.patch"
|
"${src}/contrib/ffmpeg/A03-mov-read-3gpp-udta-tags.patch"
|
||||||
"${src}/contrib/ffmpeg/A04-qsv-remove-mfx-prefix-from-mfx-headers.patch"
|
"${src}/contrib/ffmpeg/A04-movenc-write-3gpp-track-names-tags-for-all-available.patch"
|
||||||
"${src}/contrib/ffmpeg/A05-qsv-load-user-plugin-for-MFX_VERSION-2.0.patch"
|
"${src}/contrib/ffmpeg/A05-dvdsubdec-fix-processing-of-partial-packets.patch"
|
||||||
"${src}/contrib/ffmpeg/A06-qsv-build-audio-related-code-when-MFX_VERSION-2.0.patch"
|
"${src}/contrib/ffmpeg/A06-dvdsubdec-return-number-of-bytes-used.patch"
|
||||||
"${src}/contrib/ffmpeg/A07-qsvenc-support-multi-frame-encode-when-MFX_VERSION-2.patch"
|
"${src}/contrib/ffmpeg/A07-dvdsubdec-use-pts-of-initial-packet.patch"
|
||||||
"${src}/contrib/ffmpeg/A08-qsvenc-support-MFX_RATECONTROL_LA_EXT-when-MFX_VERSI.patch"
|
"${src}/contrib/ffmpeg/A08-ccaption_dec-fix-pts-in-real_time-mode.patch"
|
||||||
"${src}/contrib/ffmpeg/A09-qsv-support-OPAQUE-memory-when-MFX_VERSION-2.0.patch"
|
"${src}/contrib/ffmpeg/A09-matroskaenc-aac-extradata-updated.patch"
|
||||||
"${src}/contrib/ffmpeg/A10-qsv-configure-add-enable-libvpl-option.patch"
|
"${src}/contrib/ffmpeg/A10-amfenc-Add-support-for-pict_type-field.patch"
|
||||||
"${src}/contrib/ffmpeg/A11-qsv-use-a-new-method-to-create-mfx-session-when-usin.patch"
|
"${src}/contrib/ffmpeg/A11-amfenc-Fixes-the-color-information-in-the-ou.patch"
|
||||||
"${src}/contrib/ffmpeg/A12-qsv-fix-decode-10bit-hdr.patch"
|
"${src}/contrib/ffmpeg/A12-amfenc-HDR-metadata.patch"
|
||||||
"${src}/contrib/ffmpeg/A13-mov-read-name-track-tag-written-by-movenc.patch"
|
"${src}/contrib/ffmpeg/A13-libavcodec-amfenc-Fix-issue-with-missing-headers-in-.patch"
|
||||||
"${src}/contrib/ffmpeg/A14-movenc-write-3gpp-track-titl-tag.patch"
|
"${src}/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-packet-side-.patch"
|
||||||
"${src}/contrib/ffmpeg/A15-mov-read-3gpp-udta-tags.patch"
|
"${src}/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch"
|
||||||
"${src}/contrib/ffmpeg/A16-movenc-write-3gpp-track-names-tags-for-all-available.patch"
|
"${src}/contrib/ffmpeg/A16-videotoolbox-dec-h264.patch"
|
||||||
"${src}/contrib/ffmpeg/A17-FFmpeg-devel-amfenc-Add-support-for-pict_type-field.patch"
|
|
||||||
"${src}/contrib/ffmpeg/A18-dvdsubdec-fix-processing-of-partial-packets.patch"
|
# patch to fix <https://github.com/HandBrake/HandBrake/issues/5011>
|
||||||
"${src}/contrib/ffmpeg/A19-ccaption_dec-return-number-of-bytes-used.patch"
|
# commented out because it causes ffmpeg's filter-pixdesc-p010le test to fail.
|
||||||
"${src}/contrib/ffmpeg/A20-dvdsubdec-return-number-of-bytes-used.patch"
|
# "${src}/contrib/ffmpeg/A17-libswscale-fix-yuv420p-to-p01xle-color-conversion-bu.patch"
|
||||||
"${src}/contrib/ffmpeg/A21-dvdsubdec-use-pts-of-initial-packet.patch"
|
|
||||||
"${src}/contrib/ffmpeg/A22-matroskaenc-aac-extradata-updated.patch"
|
"${src}/contrib/ffmpeg/A18-qsv-fix-decode-10bit-hdr.patch"
|
||||||
"${src}/contrib/ffmpeg/A23-ccaption_dec-fix-pts-in-real_time-mode.patch"
|
"${src}/contrib/ffmpeg/A19-ffbuild-common-use-gzip-n-flag-for-cuda.patch"
|
||||||
"${src}/contrib/ffmpeg/A24-fix-eac3-dowmix.patch"
|
|
||||||
"${src}/contrib/ffmpeg/A25-enable-truehd-pass.patch"
|
|
||||||
"${src}/contrib/ffmpeg/A26-Update-the-min-version-to-1.4.23.0-for-AMF-SDK.patch"
|
|
||||||
"${src}/contrib/ffmpeg/A27-avcodec-amfenc-Fixes-the-color-information-in-the-ou.patch"
|
|
||||||
"${src}/contrib/ffmpeg/A28-avcodec-amfenc-HDR-metadata.patch"
|
|
||||||
# This patch is not applying since ffmpeg 5.1.1, probably it was backported by upstream
|
|
||||||
# "${src}/contrib/ffmpeg/A30-svt-av1-backports.patch"
|
|
||||||
(fetchpatch {
|
|
||||||
name = "vulkan-remove-extensions.patch";
|
|
||||||
url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/eb0455d64690";
|
|
||||||
hash = "sha256-qvLrb7b+9/bel8A2lZuSmBiJtHXsABw0Lvgn1ggnmCU=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
x265-hb = x265.overrideAttrs (old: {
|
||||||
|
# nixpkgs' x265 sourceRoot is x265-.../source whereas handbrake's x265 patches
|
||||||
|
# are written with respect to the parent directory instead of that source directory.
|
||||||
|
# patches which don't cleanly apply are commented out.
|
||||||
|
postPatch = (old.postPatch or "") + ''
|
||||||
|
pushd ..
|
||||||
|
# patch -p1 < ${src}/contrib/x265/A00-crosscompile-fix.patch
|
||||||
|
patch -p1 < ${src}/contrib/x265/A01-threads-priority.patch
|
||||||
|
patch -p1 < ${src}/contrib/x265/A02-threads-pool-adjustments.patch
|
||||||
|
patch -p1 < ${src}/contrib/x265/A03-sei-length-crash-fix.patch
|
||||||
|
patch -p1 < ${src}/contrib/x265/A04-ambient-viewing-enviroment-sei.patch
|
||||||
|
# patch -p1 < ${src}/contrib/x265/A05-memory-leaks.patch
|
||||||
|
popd
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
versionFile = writeText "version.txt" ''
|
versionFile = writeText "version.txt" ''
|
||||||
BRANCH=${versions.majorMinor version}.x
|
BRANCH=${versions.majorMinor version}.x
|
||||||
DATE=1970-01-01 00:00:01 +0000
|
DATE=1970-01-01 00:00:01 +0000
|
||||||
|
@ -189,6 +199,17 @@ let
|
||||||
# Use the Nix-provided libxml2 instead of the system-provided one.
|
# Use the Nix-provided libxml2 instead of the system-provided one.
|
||||||
substituteInPlace libhb/module.defs \
|
substituteInPlace libhb/module.defs \
|
||||||
--replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
|
--replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
|
||||||
|
'' + optionalString useGtk ''
|
||||||
|
substituteInPlace gtk/module.rules \
|
||||||
|
--replace-fail '$(MESON.exe)' 'meson' \
|
||||||
|
--replace-fail '$(NINJA.exe)' 'ninja' \
|
||||||
|
# Force using nixpkgs dependencies
|
||||||
|
substituteInPlace gtk/meson.build \
|
||||||
|
--replace-fail "cc.find_library('bz2', dirs: hb_libdirs)" "cc.find_library('bz2')" \
|
||||||
|
--replace-fail "cc.find_library('mp3lame', dirs: hb_libdirs)" "cc.find_library('mp3lame')" \
|
||||||
|
--replace-fail \
|
||||||
|
"hb_incdirs = include_directories(hb_dir / 'libhb', hb_dir / 'contrib/include')" \
|
||||||
|
"hb_incdirs = include_directories(hb_dir / 'libhb')" \
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -199,7 +220,7 @@ let
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
]
|
]
|
||||||
++ optionals useGtk [ intltool wrapGAppsHook ];
|
++ optionals useGtk [ desktop-file-utils intltool meson ninja wrapGAppsHook ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
a52dec
|
a52dec
|
||||||
|
@ -228,12 +249,13 @@ let
|
||||||
speex
|
speex
|
||||||
svt-av1
|
svt-av1
|
||||||
x264
|
x264
|
||||||
x265
|
x265-hb
|
||||||
xz
|
xz
|
||||||
zimg
|
zimg
|
||||||
]
|
]
|
||||||
++ optional (!stdenv.isDarwin) numactl
|
++ optional (!stdenv.isDarwin) numactl
|
||||||
++ optionals useGtk [
|
++ optionals useGtk [
|
||||||
|
bzip2
|
||||||
dbus-glib
|
dbus-glib
|
||||||
glib
|
glib
|
||||||
gst_all_1.gst-plugins-base
|
gst_all_1.gst-plugins-base
|
||||||
|
@ -254,7 +276,6 @@ let
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--disable-df-fetch"
|
"--disable-df-fetch"
|
||||||
"--disable-df-verify"
|
"--disable-df-verify"
|
||||||
"--disable-gtk-update-checks"
|
|
||||||
]
|
]
|
||||||
++ optional (!useGtk) "--disable-gtk"
|
++ optional (!useGtk) "--disable-gtk"
|
||||||
++ optional useFdk "--enable-fdk-aac"
|
++ optional useFdk "--enable-fdk-aac"
|
||||||
|
@ -264,10 +285,19 @@ let
|
||||||
# NOTE: 2018-12-27: Check NixOS HandBrake test if changing
|
# NOTE: 2018-12-27: Check NixOS HandBrake test if changing
|
||||||
NIX_LDFLAGS = [ "-lx265" ];
|
NIX_LDFLAGS = [ "-lx265" ];
|
||||||
|
|
||||||
|
# meson/ninja are used only for the subprojects, not the toplevel
|
||||||
|
dontUseMesonConfigure = true;
|
||||||
|
dontUseMesonInstall = true;
|
||||||
|
dontUseNinjaBuild = true;
|
||||||
|
dontUseNinjaInstall = true;
|
||||||
|
|
||||||
makeFlags = [ "--directory=build" ];
|
makeFlags = [ "--directory=build" ];
|
||||||
|
|
||||||
passthru.tests = {
|
passthru = {
|
||||||
basic-conversion =
|
# for convenience
|
||||||
|
inherit ffmpeg-hb x265-hb;
|
||||||
|
|
||||||
|
tests.basic-conversion =
|
||||||
let
|
let
|
||||||
# Big Buck Bunny example, licensed under CC Attribution 3.0.
|
# Big Buck Bunny example, licensed under CC Attribution 3.0.
|
||||||
testMkv = fetchurl {
|
testMkv = fetchurl {
|
||||||
|
@ -283,7 +313,8 @@ let
|
||||||
HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
|
HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
|
||||||
test -e test.mkv
|
test -e test.mkv
|
||||||
'';
|
'';
|
||||||
version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; };
|
|
||||||
|
tests.version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -300,7 +331,7 @@ let
|
||||||
license = licenses.gpl2Only;
|
license = licenses.gpl2Only;
|
||||||
maintainers = with maintainers; [ Anton-Latukha wmertens ];
|
maintainers = with maintainers; [ Anton-Latukha wmertens ];
|
||||||
platforms = with platforms; unix;
|
platforms = with platforms; unix;
|
||||||
broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
|
broken = stdenv.isDarwin; # https://github.com/NixOS/nixpkgs/pull/297984#issuecomment-2016503434
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
buildKodiAddon rec {
|
buildKodiAddon rec {
|
||||||
pname = "trakt";
|
pname = "trakt";
|
||||||
namespace = "script.trakt";
|
namespace = "script.trakt";
|
||||||
version = "3.5.0";
|
version = "3.6.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "sha256-OyU6S5r/y3vqW6Wg6OP0+Zn4YchBy8x1i++hzCQHyx0=";
|
sha256 = "sha256-ZlBucYYRA1cL5c0H1jhXeKE1itReZe2gAJYFFxuUebo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -116,11 +116,11 @@ in stdenv.mkDerivation {
|
||||||
# we don't take any chances and only apply it if people actually want to use KVM support.
|
# we don't take any chances and only apply it if people actually want to use KVM support.
|
||||||
++ optional enableKvm (fetchpatch
|
++ optional enableKvm (fetchpatch
|
||||||
(let
|
(let
|
||||||
patchVersion = "20240226";
|
patchVersion = "20240325";
|
||||||
in {
|
in {
|
||||||
name = "virtualbox-${version}-kvm-dev-${patchVersion}.patch";
|
name = "virtualbox-${version}-kvm-dev-${patchVersion}.patch";
|
||||||
url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${patchVersion}/virtualbox-${version}-kvm-dev-${patchVersion}.patch";
|
url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${patchVersion}/kvm-backend-${version}-dev-${patchVersion}.patch";
|
||||||
hash = "sha256-3YT1ZN/TwoNWNb2eqOcPF8GTrVGfOPaPb8vpGoPNISY=";
|
hash = "sha256-D1ua8X5Iyw/I89PtskiGdnGr4NhdFtI93ThltiOcu8w=";
|
||||||
}))
|
}))
|
||||||
++ [
|
++ [
|
||||||
./qt-dependency-paths.patch
|
./qt-dependency-paths.patch
|
||||||
|
@ -281,7 +281,7 @@ in stdenv.mkDerivation {
|
||||||
];
|
];
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
homepage = "https://www.virtualbox.org/";
|
homepage = "https://www.virtualbox.org/";
|
||||||
maintainers = with maintainers; [ sander friedrichaltheide ];
|
maintainers = with maintainers; [ sander friedrichaltheide blitz ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
mainProgram = "VirtualBox";
|
mainProgram = "VirtualBox";
|
||||||
};
|
};
|
||||||
|
|
68
pkgs/by-name/af/affine/package.nix
Normal file
68
pkgs/by-name/af/affine/package.nix
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{ lib
|
||||||
|
, writeText
|
||||||
|
, fetchurl
|
||||||
|
, stdenvNoCC
|
||||||
|
, copyDesktopItems
|
||||||
|
, makeDesktopItem
|
||||||
|
, makeWrapper
|
||||||
|
, unzip
|
||||||
|
, bash
|
||||||
|
, electron
|
||||||
|
, commandLineArgs ? ""
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: let
|
||||||
|
icon = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/toeverything/AFFiNE/v${finalAttrs.version}/packages/frontend/core/public/favicon-192.png";
|
||||||
|
hash = "sha256-smZ5W7fy3TK3bvjwV4i71j2lVmKSZcyhMhcWfPxNnN4=";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
pname = "affine";
|
||||||
|
version = "0.13.1";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/toeverything/AFFiNE/releases/download/v${finalAttrs.version}/affine-${finalAttrs.version}-stable-linux-x64.zip";
|
||||||
|
hash = "sha256-2Du5g/I82iTr8Bwb+qkLzyfbk1OrOlXqx6FHImVoAoE=";
|
||||||
|
};
|
||||||
|
nativeBuildInputs = [
|
||||||
|
copyDesktopItems
|
||||||
|
makeWrapper
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cp -r ./resources/* -t $out/lib/
|
||||||
|
cp LICENSE* $out/
|
||||||
|
install -Dm644 ${icon} $out/share/pixmaps/affine.png
|
||||||
|
makeWrapper "${electron}/bin/electron" $out/bin/affine \
|
||||||
|
--inherit-argv0 \
|
||||||
|
--add-flags $out/lib/app.asar \
|
||||||
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
||||||
|
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||||
|
'';
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "affine";
|
||||||
|
desktopName = "AFFiNE";
|
||||||
|
exec = "affine %U";
|
||||||
|
terminal = false;
|
||||||
|
icon = "affine";
|
||||||
|
startupWMClass = "affine";
|
||||||
|
categories = ["Utility"];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A workspace with fully merged docs, whiteboards and databases";
|
||||||
|
longDescription = ''
|
||||||
|
AFFiNE is an open-source, all-in-one workspace and an operating
|
||||||
|
system for all the building blocks that assemble your knowledge
|
||||||
|
base and much more -- wiki, knowledge management, presentation
|
||||||
|
and digital assets
|
||||||
|
'';
|
||||||
|
homepage = "https://affine.pro/";
|
||||||
|
downloadPage = "https://affine.pro/download";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [richar];
|
||||||
|
mainProgram = "affine";
|
||||||
|
platforms = ["x86_64-linux"];
|
||||||
|
};
|
||||||
|
})
|
92
pkgs/by-name/ba/backgroundremover/package.nix
Normal file
92
pkgs/by-name/ba/backgroundremover/package.nix
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
{ python3
|
||||||
|
, lib
|
||||||
|
, runCommand
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchurl
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
p = python3.pkgs;
|
||||||
|
self = p.buildPythonApplication rec {
|
||||||
|
pname = "backgroundremover";
|
||||||
|
version = "0.2.6";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nadermx";
|
||||||
|
repo = "backgroundremover";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-dDOo7NPwvdfV+ae2oMUytCGC+2HF6xUI7dyKk2we23w=";
|
||||||
|
};
|
||||||
|
|
||||||
|
models = runCommand "background-remover-models" {} ''
|
||||||
|
mkdir $out
|
||||||
|
cat ${src}/models/u2a{a,b,c,d} > $out/u2net.pth
|
||||||
|
cat ${src}/models/u2ha{a,b,c,d} > $out/u2net_human_seg.pth
|
||||||
|
cp ${src}/models/u2netp.pth $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace backgroundremover/bg.py backgroundremover/u2net/detect.py \
|
||||||
|
--replace 'os.path.expanduser(os.path.join("~", ".u2net", model_name + ".pth"))' "os.path.join(\"$models\", model_name + \".pth\")"
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ p.setuptools p.wheel ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
p.certifi
|
||||||
|
p.charset-normalizer
|
||||||
|
p.ffmpeg-python
|
||||||
|
p.filelock
|
||||||
|
p.filetype
|
||||||
|
p.hsh
|
||||||
|
p.idna
|
||||||
|
p.more-itertools
|
||||||
|
p.moviepy
|
||||||
|
p.numpy
|
||||||
|
p.pillow
|
||||||
|
p.pymatting
|
||||||
|
p.pysocks
|
||||||
|
p.requests
|
||||||
|
p.scikit-image
|
||||||
|
p.scipy
|
||||||
|
p.six
|
||||||
|
p.torch
|
||||||
|
p.torchvision
|
||||||
|
p.tqdm
|
||||||
|
p.urllib3
|
||||||
|
p.waitress
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "backgroundremover" ];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit models;
|
||||||
|
tests = {
|
||||||
|
image = let
|
||||||
|
# random no copyright car image from the internet
|
||||||
|
demoImage = fetchurl {
|
||||||
|
url = "https://pics.craiyon.com/2023-07-16/38653769ac3b4e068181cb5ab1e542a1.webp";
|
||||||
|
hash = "sha256-Kvd06eZdibgDbabVVe0+cNTeS1rDnMXIZZpPlHIlfBo=";
|
||||||
|
};
|
||||||
|
in runCommand "backgroundremover-image-test.png" {
|
||||||
|
buildInputs = [ self ];
|
||||||
|
} ''
|
||||||
|
export NUMBA_CACHE_DIR=$(mktemp -d)
|
||||||
|
backgroundremover -i ${demoImage} -o $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
doCheck = false; # no tests
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
mainProgram = "backgroundremover";
|
||||||
|
description = "Command line tool to remove background from image and video, made by nadermx to power";
|
||||||
|
homepage = "https://BackgroundRemoverAI.com";
|
||||||
|
downloadPage = "https://github.com/nadermx/backgroundremover/releases";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.lucasew ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in self
|
20
pkgs/by-name/ba/backgroundremover/test-script.py
Normal file
20
pkgs/by-name/ba/backgroundremover/test-script.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
import backgroundremover.utilities as utilities
|
||||||
|
from backgroundremover import bg
|
||||||
|
|
||||||
|
parser = ArgumentParser()
|
||||||
|
|
||||||
|
parser.add_argument('input', type=Path)
|
||||||
|
parser.add_argument('output', type=Path)
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
input_bytes = args.input.read_bytes()
|
||||||
|
|
||||||
|
output_bytes = bg.remove(
|
||||||
|
input_bytes,
|
||||||
|
)
|
||||||
|
|
||||||
|
args.output.write_bytes(output_bytes)
|
|
@ -1,14 +1,18 @@
|
||||||
{ stdenv
|
{ lib
|
||||||
, lib
|
, stdenv
|
||||||
, openssl
|
, fetchFromGitHub
|
||||||
|
, makeWrapper
|
||||||
|
, rustPlatform
|
||||||
|
, testers
|
||||||
|
|
||||||
|
, cachix
|
||||||
, darwin
|
, darwin
|
||||||
, libgit2
|
, libgit2
|
||||||
, makeWrapper
|
|
||||||
, nix
|
, nix
|
||||||
|
, openssl
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, rustPlatform
|
|
||||||
, cachix
|
, devenv # required to run version test
|
||||||
, fetchFromGitHub
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -37,9 +41,7 @@ in rustPlatform.buildRustPackage {
|
||||||
hash = "sha256-JCxjmWr2+75KMPOoVybNZhy9zhhrg9BAKA8D+J6MNBc=";
|
hash = "sha256-JCxjmWr2+75KMPOoVybNZhy9zhhrg9BAKA8D+J6MNBc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoLock = {
|
cargoHash = "sha256-FGB8p9ClGokYDrV0b47PnjeSlOv7p+IgThNajve3yms=";
|
||||||
lockFile = ./Cargo.lock;
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper pkg-config ];
|
nativeBuildInputs = [ makeWrapper pkg-config ];
|
||||||
|
|
||||||
|
@ -51,6 +53,13 @@ in rustPlatform.buildRustPackage {
|
||||||
wrapProgram $out/bin/devenv --set DEVENV_NIX ${devenv_nix} --prefix PATH ":" "$out/bin:${cachix}/bin"
|
wrapProgram $out/bin/devenv --set DEVENV_NIX ${devenv_nix} --prefix PATH ":" "$out/bin:${cachix}/bin"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
version = testers.testVersion {
|
||||||
|
package = devenv;
|
||||||
|
command = "export XDG_DATA_HOME=$PWD; devenv version";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://github.com/cachix/devenv/releases/tag/v${version}";
|
changelog = "https://github.com/cachix/devenv/releases/tag/v${version}";
|
||||||
description = "Fast, Declarative, Reproducible, and Composable Developer Environments";
|
description = "Fast, Declarative, Reproducible, and Composable Developer Environments";
|
||||||
|
|
40
pkgs/by-name/ep/epub-thumbnailer/package.nix
Normal file
40
pkgs/by-name/ep/epub-thumbnailer/package.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ lib
|
||||||
|
, python3
|
||||||
|
, fetchFromGitHub
|
||||||
|
, unstableGitUpdater
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication {
|
||||||
|
pname = "epub-thumbnailer";
|
||||||
|
version = "0-unstable-2024-03-16";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "marianosimone";
|
||||||
|
repo = "epub-thumbnailer";
|
||||||
|
rev = "035c31e9269bcb30dcc20fed31b6dc54e9bfed63";
|
||||||
|
hash = "sha256-G/CeYmr+wgJidbavfvIuCbRLJGQzoxAnpo3t4YFJq0c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = with python3.pkgs; [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
pillow
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mv $out/bin/epub-thumbnailer.py $out/bin/epub-thumbnailer
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = unstableGitUpdater { };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Script to extract the cover of an epub book and create a thumbnail for it";
|
||||||
|
homepage = "https://github.com/marianosimone/epub-thumbnailer";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ GaetanLepage ];
|
||||||
|
mainProgram = "epub-thumbnailer";
|
||||||
|
};
|
||||||
|
}
|
File diff suppressed because it is too large
Load diff
133
pkgs/by-name/fi/firefoxpwa/package.nix
Normal file
133
pkgs/by-name/fi/firefoxpwa/package.nix
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
{ lib
|
||||||
|
, rustPlatform
|
||||||
|
, fetchFromGitHub
|
||||||
|
, makeWrapper
|
||||||
|
, pkg-config
|
||||||
|
, installShellFiles
|
||||||
|
, firefox-unwrapped
|
||||||
|
, openssl
|
||||||
|
, stdenv
|
||||||
|
, udev
|
||||||
|
, libva
|
||||||
|
, mesa
|
||||||
|
, libnotify
|
||||||
|
, xorg
|
||||||
|
, cups
|
||||||
|
, pciutils
|
||||||
|
, libcanberra-gtk3
|
||||||
|
, extraLibs ? [ ]
|
||||||
|
, nixosTests
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "firefoxpwa";
|
||||||
|
version = "2.11.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "filips123";
|
||||||
|
repo = "PWAsForFirefox";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-ZD/bTziVmHtQVKejzj+fUXVazCm2PaulS2NZjTribSk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
sourceRoot = "${src.name}/native";
|
||||||
|
buildFeatures = [ "immutable-runtime" ];
|
||||||
|
|
||||||
|
cargoLock = {
|
||||||
|
lockFile = ./Cargo.lock;
|
||||||
|
outputHashes = {
|
||||||
|
"mime-0.4.0-a.0" = "sha256-LjM7LH6rL3moCKxVsA+RUL9lfnvY31IrqHa9pDIAZNE=";
|
||||||
|
"web_app_manifest-0.0.0" = "sha256-G+kRN8AEmAY1TxykhLmgoX8TG8y2lrv7SCRJlNy0QzA=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
sed -i 's;version = "0.0.0";version = "${version}";' Cargo.toml
|
||||||
|
sed -zi 's;name = "firefoxpwa"\nversion = "0.0.0";name = "firefoxpwa"\nversion = "${version}";' Cargo.lock
|
||||||
|
sed -i $'s;DISTRIBUTION_VERSION = \'0.0.0\';DISTRIBUTION_VERSION = \'${version}\';' userchrome/profile/chrome/pwa/chrome.jsm
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper pkg-config installShellFiles ];
|
||||||
|
buildInputs = [ openssl ];
|
||||||
|
|
||||||
|
FFPWA_EXECUTABLES = ""; # .desktop entries generated without any store path references
|
||||||
|
FFPWA_SYSDATA = "${placeholder "out"}/share/firefoxpwa";
|
||||||
|
completions = "target/${stdenv.targetPlatform.config}/release/completions";
|
||||||
|
|
||||||
|
gtk_modules = map (x: x + x.gtkModule) [ libcanberra-gtk3 ];
|
||||||
|
libs = let libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ] ++ gtk_modules ++ extraLibs; in lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Runtime
|
||||||
|
mkdir -p $out/share/firefoxpwa
|
||||||
|
cp -Lr ${firefox-unwrapped}/lib/firefox $out/share/firefoxpwa/runtime
|
||||||
|
chmod -R +w $out/share/firefoxpwa
|
||||||
|
|
||||||
|
# UserChrome
|
||||||
|
cp -r userchrome $out/share/firefoxpwa
|
||||||
|
|
||||||
|
# Runtime patching
|
||||||
|
FFPWA_USERDATA=$out/share/firefoxpwa $out/bin/firefoxpwa runtime patch
|
||||||
|
|
||||||
|
# Manifest
|
||||||
|
sed -i "s!/usr/libexec!$out/bin!" manifests/linux.json
|
||||||
|
install -Dm644 manifests/linux.json $out/lib/mozilla/native-messaging-hosts/firefoxpwa.json
|
||||||
|
|
||||||
|
installShellCompletion --cmd firefoxpwa \
|
||||||
|
--bash $completions/firefoxpwa.bash \
|
||||||
|
--fish $completions/firefoxpwa.fish \
|
||||||
|
--zsh $completions/_firefoxpwa
|
||||||
|
|
||||||
|
# AppStream Metadata
|
||||||
|
install -Dm644 packages/appstream/si.filips.FirefoxPWA.metainfo.xml $out/share/metainfo/si.filips.FirefoxPWA.metainfo.xml
|
||||||
|
install -Dm644 packages/appstream/si.filips.FirefoxPWA.svg $out/share/icons/hicolor/scalable/apps/si.filips.FirefoxPWA.svg
|
||||||
|
|
||||||
|
wrapProgram $out/bin/firefoxpwa \
|
||||||
|
--prefix FFPWA_SYSDATA : "$out/share/firefoxpwa" \
|
||||||
|
--prefix LD_LIBRARY_PATH : "$libs" \
|
||||||
|
--suffix-each GTK_PATH : "$gtk_modules"
|
||||||
|
|
||||||
|
wrapProgram $out/bin/firefoxpwa-connector \
|
||||||
|
--prefix FFPWA_SYSDATA : "$out/share/firefoxpwa" \
|
||||||
|
--prefix LD_LIBRARY_PATH : "$libs" \
|
||||||
|
--suffix-each GTK_PATH : "$gtk_modules"
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.tests.firefoxpwa = nixosTests.firefoxpwa;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox (native component)";
|
||||||
|
longDescription = ''
|
||||||
|
Progressive Web Apps (PWAs) are web apps that use web APIs and features along
|
||||||
|
with progressive enhancement strategy to bring a native app-like user experience
|
||||||
|
to cross-platform web applications. Although Firefox supports many of Progressive
|
||||||
|
Web App APIs, it does not support functionality to install them as a standalone
|
||||||
|
system app with an app-like experience.
|
||||||
|
|
||||||
|
This project creates a custom modified Firefox runtime to allow websites to be
|
||||||
|
installed as standalone apps and provides a console tool and browser extension
|
||||||
|
to install, manage and use them.
|
||||||
|
|
||||||
|
This package contains only the native part of the PWAsForFirefox project. You
|
||||||
|
should also install the browser extension if you haven't already. You can download
|
||||||
|
it from the [Firefox Add-ons](https://addons.mozilla.org/firefox/addon/pwas-for-firefox/)
|
||||||
|
website.
|
||||||
|
|
||||||
|
To install the package on NixOS, you need to add the following options:
|
||||||
|
|
||||||
|
```
|
||||||
|
programs.firefox.nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
|
||||||
|
environment.systemPackages = [ pkgs.firefoxpwa ];
|
||||||
|
```
|
||||||
|
|
||||||
|
As it needs to be both in the `PATH` and in the `nativeMessagingHosts` to make it
|
||||||
|
possible for the extension to detect and use it.
|
||||||
|
'';
|
||||||
|
homepage = "https://pwasforfirefox.filips.si/";
|
||||||
|
changelog = "https://github.com/filips123/PWAsForFirefox/releases/tag/v${version}";
|
||||||
|
license = licenses.mpl20;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ camillemndn pasqui23 ];
|
||||||
|
mainProgram = "firefoxpwa";
|
||||||
|
};
|
||||||
|
}
|
51
pkgs/by-name/fo/forbidden/package.nix
Normal file
51
pkgs/by-name/fo/forbidden/package.nix
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python3
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "forbidden";
|
||||||
|
version = "10.8";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ivan-sincek";
|
||||||
|
repo = "forbidden";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
hash = "sha256-jitmgN+We6m5CTgRc1NYwZkg5GYvD6ZlJ8FKtTa+rAY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonRemoveDeps = [
|
||||||
|
# https://github.com/ivan-sincek/forbidden/pull/3
|
||||||
|
"argparse"
|
||||||
|
];
|
||||||
|
|
||||||
|
build-system = with python3.pkgs; [
|
||||||
|
pythonRelaxDepsHook
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = with python3.pkgs; [
|
||||||
|
colorama
|
||||||
|
datetime
|
||||||
|
pycurl
|
||||||
|
pyjwt
|
||||||
|
regex
|
||||||
|
requests
|
||||||
|
tabulate
|
||||||
|
termcolor
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"forbidden"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Tool to bypass 4xx HTTP response status code";
|
||||||
|
homepage = "https://github.com/ivan-sincek/forbidden";
|
||||||
|
changelog = "https://github.com/ivan-sincek/forbidden/releases/tag/v${version}";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
mainProgram = "forbidden";
|
||||||
|
};
|
||||||
|
}
|
|
@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
propagatedBuildInputs = selectedPlugins;
|
propagatedBuildInputs = selectedPlugins;
|
||||||
|
|
||||||
phases = [ "installPhase" "fixupPhase" ];
|
dontUnpack = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
|
48
pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix
Normal file
48
pkgs/by-name/gr/graphicsmagick/imagemagick-compat.nix
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
{ lib
|
||||||
|
, graphicsmagick
|
||||||
|
, stdenvNoCC
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation {
|
||||||
|
pname = "graphicsmagick-imagemagick-compat";
|
||||||
|
inherit (graphicsmagick) version;
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
# TODO: symlink libraries?
|
||||||
|
installPhase = let
|
||||||
|
utilities = [
|
||||||
|
"animate"
|
||||||
|
"composite"
|
||||||
|
"conjure"
|
||||||
|
"convert"
|
||||||
|
"display"
|
||||||
|
"identify"
|
||||||
|
"import"
|
||||||
|
"mogrify"
|
||||||
|
"montage"
|
||||||
|
];
|
||||||
|
linkUtilityBin = utility: ''
|
||||||
|
ln -s ${lib.getExe graphicsmagick} "$out/bin/${utility}"
|
||||||
|
'';
|
||||||
|
linkUtilityMan = utility: ''
|
||||||
|
ln -s ${lib.getMan graphicsmagick}/share/man/man1/gm.1.gz "$man/share/man/man1/${utility}.1.gz"
|
||||||
|
'';
|
||||||
|
in ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p "$out"/bin
|
||||||
|
${lib.concatStringsSep "\n" (map linkUtilityBin utilities)}
|
||||||
|
mkdir -p "$man"/share/man/man1
|
||||||
|
${lib.concatStringsSep "\n" (map linkUtilityMan utilities)}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = graphicsmagick.meta // {
|
||||||
|
description = "A repack of GraphicsMagick that provides compatibility with ImageMagick interfaces";
|
||||||
|
};
|
||||||
|
}
|
105
pkgs/by-name/gr/graphicsmagick/package.nix
Normal file
105
pkgs/by-name/gr/graphicsmagick/package.nix
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
{ lib
|
||||||
|
, bzip2
|
||||||
|
, callPackage
|
||||||
|
, coreutils
|
||||||
|
, fetchurl
|
||||||
|
, fixDarwinDylibNames
|
||||||
|
, freetype
|
||||||
|
, ghostscript
|
||||||
|
, graphviz
|
||||||
|
, libX11
|
||||||
|
, libjpeg
|
||||||
|
, libpng
|
||||||
|
, libtiff
|
||||||
|
, libtool
|
||||||
|
, libwebp
|
||||||
|
, libxml2
|
||||||
|
, nukeReferences
|
||||||
|
, quantumdepth ? 8
|
||||||
|
, runCommand
|
||||||
|
, stdenv
|
||||||
|
, xz
|
||||||
|
, zlib
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "graphicsmagick";
|
||||||
|
version = "1.3.43";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${finalAttrs.version}.tar.xz";
|
||||||
|
hash = "sha256-K4hYBzLNfkCdniLGEWI4vvSuBvzaEUUb8z0ln5y/OZ8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
bzip2
|
||||||
|
freetype
|
||||||
|
ghostscript
|
||||||
|
graphviz
|
||||||
|
libX11
|
||||||
|
libjpeg
|
||||||
|
libpng
|
||||||
|
libtiff
|
||||||
|
libtool
|
||||||
|
libwebp
|
||||||
|
libxml2
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
nukeReferences
|
||||||
|
xz
|
||||||
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
# specify delegates explicitly otherwise `gm` will invoke the build
|
||||||
|
# coreutils for filetypes it doesn't natively support.
|
||||||
|
"MVDelegate=${lib.getExe' coreutils "mv"}"
|
||||||
|
(lib.enableFeature true "shared")
|
||||||
|
(lib.withFeature true "frozenpaths")
|
||||||
|
(lib.withFeatureAs true "quantum-depth" (toString quantumdepth))
|
||||||
|
(lib.withFeatureAs true "gslib" "yes")
|
||||||
|
];
|
||||||
|
|
||||||
|
# Remove CFLAGS from the binaries to avoid closure bloat.
|
||||||
|
# In the past we have had -dev packages in the closure of the binaries soley
|
||||||
|
# due to the string references.
|
||||||
|
postConfigure = ''
|
||||||
|
nuke-refs -e $out ./magick/magick_config.h
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
imagemagick-compat = callPackage ./imagemagick-compat.nix {
|
||||||
|
graphicsmagick = finalAttrs.finalPackage;
|
||||||
|
};
|
||||||
|
tests = {
|
||||||
|
issue-157920 = runCommand "issue-157920-regression-test" {
|
||||||
|
buildInputs = [ finalAttrs.finalPackage ];
|
||||||
|
} ''
|
||||||
|
gm convert ${graphviz}/share/doc/graphviz/neatoguide.pdf jpg:$out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "http://www.graphicsmagick.org";
|
||||||
|
description = "Swiss army knife of image processing";
|
||||||
|
longDescription = ''
|
||||||
|
GraphicsMagick is the swiss army knife of image processing, providing a
|
||||||
|
robust and efficient collection of tools and libraries which support
|
||||||
|
reading, writing, and manipulating an image in over 92 major formats
|
||||||
|
including important formats like DPX, GIF, JPEG, JPEG-2000, JXL, PNG, PDF,
|
||||||
|
PNM, TIFF, and WebP.
|
||||||
|
'';
|
||||||
|
license = with lib.licenses; [ mit ];
|
||||||
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
|
mainProgram = "gm";
|
||||||
|
platforms = lib.platforms.all;
|
||||||
|
};
|
||||||
|
})
|
29
pkgs/by-name/in/incus/529.patch
Normal file
29
pkgs/by-name/in/incus/529.patch
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
From 32a4beecbf8098fdbb15ef5f36088956922630f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@stgraber.org>
|
||||||
|
Date: Fri, 23 Feb 2024 18:47:15 -0500
|
||||||
|
Subject: [PATCH] incusd/device/disk: Fix incorrect block volume usage
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
|
||||||
|
---
|
||||||
|
internal/server/device/disk.go | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/internal/server/device/disk.go b/internal/server/device/disk.go
|
||||||
|
index 0d19e21139..4f9a3e7c1b 100644
|
||||||
|
--- a/internal/server/device/disk.go
|
||||||
|
+++ b/internal/server/device/disk.go
|
||||||
|
@@ -339,6 +339,11 @@ func (d *disk) validateConfig(instConf instance.ConfigReader) error {
|
||||||
|
var usedBy []string
|
||||||
|
|
||||||
|
err = storagePools.VolumeUsedByInstanceDevices(d.state, d.pool.Name(), storageProjectName, &dbVolume.StorageVolume, true, func(inst db.InstanceArgs, project api.Project, usedByDevices []string) error {
|
||||||
|
+ // Don't count the current instance.
|
||||||
|
+ if d.inst != nil && d.inst.Project().Name == inst.Project && d.inst.Name() == inst.Name {
|
||||||
|
+ return nil
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
usedBy = append(usedBy, inst.Name)
|
||||||
|
|
||||||
|
return nil
|
|
@ -1,28 +1,28 @@
|
||||||
{
|
{
|
||||||
lts ? false,
|
lts ? false,
|
||||||
|
meta,
|
||||||
|
patches,
|
||||||
|
src,
|
||||||
|
vendorHash,
|
||||||
|
version,
|
||||||
|
|
||||||
lib,
|
lib,
|
||||||
buildGoModule,
|
buildGoModule,
|
||||||
fetchpatch,
|
|
||||||
fetchFromGitHub,
|
|
||||||
installShellFiles,
|
installShellFiles,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
releaseFile = if lts then ./lts.nix else ./latest.nix;
|
pname = "incus${lib.optionalString lts "-lts"}-client";
|
||||||
inherit (import releaseFile { inherit fetchpatch; }) version hash vendorHash;
|
|
||||||
in
|
in
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule {
|
||||||
pname = "incus-client";
|
inherit
|
||||||
|
meta
|
||||||
inherit vendorHash version;
|
patches
|
||||||
|
pname
|
||||||
src = fetchFromGitHub {
|
src
|
||||||
owner = "lxc";
|
vendorHash
|
||||||
repo = "incus";
|
version
|
||||||
rev = "refs/tags/v${version}";
|
;
|
||||||
inherit hash;
|
|
||||||
};
|
|
||||||
|
|
||||||
CGO_ENABLED = 0;
|
CGO_ENABLED = 0;
|
||||||
|
|
||||||
|
@ -41,14 +41,4 @@ buildGoModule rec {
|
||||||
|
|
||||||
# don't run the full incus test suite
|
# don't run the full incus test suite
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Powerful system container and virtual machine manager";
|
|
||||||
homepage = "https://linuxcontainers.org/incus";
|
|
||||||
changelog = "https://github.com/lxc/incus/releases/tag/v${version}";
|
|
||||||
license = lib.licenses.asl20;
|
|
||||||
maintainers = lib.teams.lxc.members;
|
|
||||||
platforms = lib.platforms.unix;
|
|
||||||
mainProgram = "incus";
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,18 @@
|
||||||
{
|
{
|
||||||
|
hash,
|
||||||
lts ? false,
|
lts ? false,
|
||||||
|
patches,
|
||||||
|
updateScriptArgs ? "",
|
||||||
|
vendorHash,
|
||||||
|
version,
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
callPackage,
|
||||||
lib,
|
lib,
|
||||||
buildGoModule,
|
buildGoModule,
|
||||||
fetchpatch,
|
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
writeScript,
|
||||||
writeShellScript,
|
writeShellScript,
|
||||||
acl,
|
acl,
|
||||||
cowsql,
|
cowsql,
|
||||||
|
@ -19,31 +27,28 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
releaseFile = if lts then ./lts.nix else ./latest.nix;
|
pname = "incus${lib.optionalString lts "-lts"}";
|
||||||
inherit (import releaseFile { inherit fetchpatch; })
|
|
||||||
version
|
|
||||||
hash
|
|
||||||
patches
|
|
||||||
vendorHash
|
|
||||||
;
|
|
||||||
name = "incus${lib.optionalString lts "-lts"}";
|
|
||||||
in
|
in
|
||||||
|
|
||||||
buildGoModule {
|
buildGoModule rec {
|
||||||
pname = "${name}-unwrapped";
|
inherit
|
||||||
|
patches
|
||||||
inherit patches vendorHash version;
|
pname
|
||||||
|
vendorHash
|
||||||
|
version
|
||||||
|
;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lxc";
|
owner = "lxc";
|
||||||
repo = "incus";
|
repo = "incus";
|
||||||
rev = "v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
inherit hash;
|
inherit hash;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# replace with env var > 0.6 https://github.com/lxc/incus/pull/610
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace internal/usbid/load.go \
|
substituteInPlace internal/usbid/load.go \
|
||||||
--replace "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids"
|
--replace-fail "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
excludedPackages = [
|
excludedPackages = [
|
||||||
|
@ -107,12 +112,23 @@ buildGoModule {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
tests.incus = nixosTests.incus;
|
client = callPackage ./client.nix {
|
||||||
|
inherit
|
||||||
|
lts
|
||||||
|
meta
|
||||||
|
patches
|
||||||
|
src
|
||||||
|
vendorHash
|
||||||
|
version
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
updateScript = writeShellScript "update-incus" ''
|
tests = nixosTests.incus;
|
||||||
nix-update ${name}.unwrapped -vr 'v(.*)' --override-filename pkgs/by-name/in/incus/${
|
|
||||||
if lts then "lts" else "latest"
|
ui = callPackage ./ui.nix { };
|
||||||
}.nix
|
|
||||||
|
updateScript = writeScript "ovs-update.nu" ''
|
||||||
|
${./update.nu} ${updateScriptArgs}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -123,5 +139,6 @@ buildGoModule {
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
maintainers = lib.teams.lxc.members;
|
maintainers = lib.teams.lxc.members;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
mainProgram = "incus";
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -1,12 +0,0 @@
|
||||||
{ fetchpatch }:
|
|
||||||
{
|
|
||||||
hash = "sha256-tGuAS0lZvoYb+TvmCklQ8TADZhbm4w/lhdI0ycS4/0o=";
|
|
||||||
version = "0.6.0";
|
|
||||||
vendorHash = "sha256-+WmgLOEBJ/7GF596iiTgyTPxn8l+hE6RVqjLKfCi5rs=";
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/lxc/incus/pull/529.patch";
|
|
||||||
hash = "sha256-2aaPrzW/LVJidWeom0rqYOGpT2gvuV1yHLJN/TwQ1fk=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,3 +1,3 @@
|
||||||
# this release doesn't exist yet, but satisfay the by-name checks
|
# this release doesn't exist yet, but satisfay the by-name checks
|
||||||
# will be added as incus-lts in all-packages.nix once ready
|
# will be added as incus-lts in all-packages.nix once ready
|
||||||
_: { }
|
import ./generic.nix { }
|
||||||
|
|
|
@ -1,157 +1,9 @@
|
||||||
{
|
import ./generic.nix {
|
||||||
lts ? false,
|
hash = "sha256-tGuAS0lZvoYb+TvmCklQ8TADZhbm4w/lhdI0ycS4/0o=";
|
||||||
|
version = "0.6.0";
|
||||||
lib,
|
vendorHash = "sha256-+WmgLOEBJ/7GF596iiTgyTPxn8l+hE6RVqjLKfCi5rs=";
|
||||||
callPackage,
|
patches = [
|
||||||
linkFarm,
|
# fix storage bug, fixed in > 0.6
|
||||||
makeWrapper,
|
./529.patch
|
||||||
stdenv,
|
|
||||||
symlinkJoin,
|
|
||||||
writeShellScriptBin,
|
|
||||||
acl,
|
|
||||||
apparmor-parser,
|
|
||||||
apparmor-profiles,
|
|
||||||
attr,
|
|
||||||
bash,
|
|
||||||
btrfs-progs,
|
|
||||||
cdrkit,
|
|
||||||
criu,
|
|
||||||
dnsmasq,
|
|
||||||
e2fsprogs,
|
|
||||||
getent,
|
|
||||||
gnutar,
|
|
||||||
gptfdisk,
|
|
||||||
gzip,
|
|
||||||
iproute2,
|
|
||||||
iptables,
|
|
||||||
kmod,
|
|
||||||
lvm2,
|
|
||||||
minio,
|
|
||||||
nftables,
|
|
||||||
OVMF,
|
|
||||||
qemu_kvm,
|
|
||||||
qemu-utils,
|
|
||||||
rsync,
|
|
||||||
spice-gtk,
|
|
||||||
squashfsTools,
|
|
||||||
thin-provisioning-tools,
|
|
||||||
util-linux,
|
|
||||||
virtiofsd,
|
|
||||||
xz,
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
unwrapped = callPackage ./unwrapped.nix { inherit lts; };
|
|
||||||
client = callPackage ./client.nix { inherit lts; };
|
|
||||||
name = "incus${lib.optionalString lts "-lts"}";
|
|
||||||
|
|
||||||
binPath = lib.makeBinPath [
|
|
||||||
acl
|
|
||||||
attr
|
|
||||||
bash
|
|
||||||
btrfs-progs
|
|
||||||
cdrkit
|
|
||||||
criu
|
|
||||||
dnsmasq
|
|
||||||
e2fsprogs
|
|
||||||
getent
|
|
||||||
gnutar
|
|
||||||
gptfdisk
|
|
||||||
gzip
|
|
||||||
iproute2
|
|
||||||
iptables
|
|
||||||
kmod
|
|
||||||
lvm2
|
|
||||||
minio
|
|
||||||
nftables
|
|
||||||
qemu_kvm
|
|
||||||
qemu-utils
|
|
||||||
rsync
|
|
||||||
squashfsTools
|
|
||||||
thin-provisioning-tools
|
|
||||||
util-linux
|
|
||||||
virtiofsd
|
|
||||||
xz
|
|
||||||
|
|
||||||
(writeShellScriptBin "apparmor_parser" ''
|
|
||||||
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
|
|
||||||
'')
|
|
||||||
];
|
];
|
||||||
|
|
||||||
clientBinPath = [ spice-gtk ];
|
|
||||||
|
|
||||||
ovmf-2mb = OVMF.override {
|
|
||||||
secureBoot = true;
|
|
||||||
fdSize2MB = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
ovmf-4mb = OVMF.override {
|
|
||||||
secureBoot = true;
|
|
||||||
fdSize4MB = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
ovmf-prefix = if stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF";
|
|
||||||
|
|
||||||
# mimic ovmf from https://github.com/canonical/incus-pkg-snap/blob/3abebe1dfeb20f9b7729556960c7e9fe6ad5e17c/snapcraft.yaml#L378
|
|
||||||
# also found in /snap/incus/current/share/qemu/ on a snap install
|
|
||||||
ovmf = linkFarm "incus-ovmf" [
|
|
||||||
{
|
|
||||||
name = "OVMF_CODE.2MB.fd";
|
|
||||||
path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "OVMF_CODE.4MB.fd";
|
|
||||||
path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_CODE.fd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "OVMF_CODE.fd";
|
|
||||||
path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_CODE.fd";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
name = "OVMF_VARS.2MB.fd";
|
|
||||||
path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "OVMF_VARS.2MB.ms.fd";
|
|
||||||
path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "OVMF_VARS.4MB.fd";
|
|
||||||
path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "OVMF_VARS.4MB.ms.fd";
|
|
||||||
path = "${ovmf-4mb.fd}/FV/${ovmf-prefix}_VARS.fd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "OVMF_VARS.fd";
|
|
||||||
path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "OVMF_VARS.ms.fd";
|
|
||||||
path = "${ovmf-2mb.fd}/FV/${ovmf-prefix}_VARS.fd";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
in
|
|
||||||
symlinkJoin {
|
|
||||||
name = "${name}-${unwrapped.version}";
|
|
||||||
|
|
||||||
paths = [ unwrapped ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
postBuild = ''
|
|
||||||
wrapProgram $out/bin/incusd --prefix PATH : ${lib.escapeShellArg binPath}:${qemu_kvm}/libexec:$out/bin --set INCUS_OVMF_PATH ${ovmf}
|
|
||||||
|
|
||||||
wrapProgram $out/bin/incus --prefix PATH : ${lib.makeBinPath clientBinPath}
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
inherit client unwrapped;
|
|
||||||
ui = callPackage ./ui.nix {};
|
|
||||||
|
|
||||||
inherit (unwrapped) tests;
|
|
||||||
};
|
|
||||||
|
|
||||||
inherit (unwrapped) meta pname version;
|
|
||||||
}
|
}
|
||||||
|
|
22
pkgs/by-name/in/incus/update.nu
Executable file
22
pkgs/by-name/in/incus/update.nu
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i nu -p nushell common-updater-scripts gnused
|
||||||
|
|
||||||
|
def main [--lts = false, --regex: string] {
|
||||||
|
let attr = $"incus(if $lts {"-lts"})"
|
||||||
|
let file = $"(pwd)/pkgs/by-name/in/incus/(if $lts { "lts" } else { "package" }).nix"
|
||||||
|
|
||||||
|
let tags = list-git-tags --url=https://github.com/lxc/incus | lines | sort --natural | str replace v ''
|
||||||
|
let latest_tag = if $regex == null { $tags } else { $tags | find --regex $regex } | last
|
||||||
|
let current_version = nix eval --raw -f default.nix $"($attr).version" | str trim
|
||||||
|
|
||||||
|
if $latest_tag != $current_version {
|
||||||
|
update-source-version $attr $latest_tag $"--file=($file)"
|
||||||
|
|
||||||
|
let oldVendorHash = nix-instantiate . --eval --strict -A $"($attr).goModules.drvAttrs.outputHash" --json | from json
|
||||||
|
let vendorHash = do { nix-build -A $"($attr).goModules" } | complete | get stderr | lines | str trim | find --regex 'got:[[:space:]]*sha256' | split row ' ' | last
|
||||||
|
open $file | str replace $oldVendorHash $vendorHash | save --force $file
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
{"lts?": $lts, before: $current_version, after: $latest_tag}
|
||||||
|
}
|
|
@ -1,22 +1,27 @@
|
||||||
{ lib
|
{ lib
|
||||||
, writeShellScript
|
, writeShellScript
|
||||||
, buildFHSEnvBubblewrap
|
, buildFHSEnv
|
||||||
, stdenvNoCC
|
, stdenvNoCC
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, autoPatchelfHook
|
, autoPatchelfHook
|
||||||
, dpkg
|
, dpkg
|
||||||
, nss
|
, nss
|
||||||
|
, cacert
|
||||||
|
, alsa-lib
|
||||||
, libvorbis
|
, libvorbis
|
||||||
, libdrm
|
, libdrm
|
||||||
, libGL
|
, libGL
|
||||||
, wayland
|
, wayland
|
||||||
, xkeyboard_config
|
, xkeyboard_config
|
||||||
, libthai
|
, libthai
|
||||||
|
, libsForQt5
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "insync";
|
pname = "insync";
|
||||||
version = "3.8.6.50504";
|
# Find a binary from https://www.insynchq.com/downloads/linux#ubuntu.
|
||||||
|
version = "3.8.7.50516";
|
||||||
|
ubuntu-dist = "mantic_amd64";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
platforms = ["x86_64-linux"];
|
platforms = ["x86_64-linux"];
|
||||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||||
|
@ -35,7 +40,6 @@ let
|
||||||
Known bug(s):
|
Known bug(s):
|
||||||
|
|
||||||
1) Currently the system try icon does not render correctly.
|
1) Currently the system try icon does not render correctly.
|
||||||
2) libqtvirtualkeyboardplugin does not have necessary Qt library shipped from vendor.
|
|
||||||
'';
|
'';
|
||||||
mainProgram = "insync";
|
mainProgram = "insync";
|
||||||
};
|
};
|
||||||
|
@ -45,22 +49,27 @@ let
|
||||||
inherit version meta;
|
inherit version meta;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
# Find a binary from https://www.insynchq.com/downloads/linux#ubuntu.
|
url = "https://cdn.insynchq.com/builds/linux/insync_${version}-${ubuntu-dist}.deb";
|
||||||
url = "https://cdn.insynchq.com/builds/linux/insync_${version}-lunar_amd64.deb";
|
sha256 = "sha256-U7BcgghbdR7r9WiZpEOka+BzXwnxrzL6p4imGESuB/k=";
|
||||||
sha256 = "sha256-BxTFtQ1rAsOuhKnH5vsl3zkM7WOd+vjA4LKZGxl4jk0=";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
dpkg
|
||||||
|
autoPatchelfHook
|
||||||
|
libsForQt5.qt5.wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
nss
|
nss
|
||||||
|
alsa-lib
|
||||||
libvorbis
|
libvorbis
|
||||||
libdrm
|
libdrm
|
||||||
libGL
|
libGL
|
||||||
wayland
|
wayland
|
||||||
libthai
|
libthai
|
||||||
|
libsForQt5.qt5.qtvirtualkeyboard
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook dpkg ];
|
|
||||||
|
|
||||||
unpackPhase = ''
|
unpackPhase = ''
|
||||||
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
|
dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner
|
||||||
'';
|
'';
|
||||||
|
@ -71,15 +80,6 @@ let
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -R usr/* $out/
|
cp -R usr/* $out/
|
||||||
|
|
||||||
# use system glibc
|
|
||||||
rm $out/lib/insync/{libgcc_s.so.1,libstdc++.so.6}
|
|
||||||
|
|
||||||
# remove badly packaged plugins
|
|
||||||
rm $out/lib/insync/PySide2/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
|
|
||||||
|
|
||||||
# remove the unused vendor wrapper
|
|
||||||
rm $out/bin/insync
|
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -87,29 +87,25 @@ let
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
in buildFHSEnvBubblewrap {
|
in buildFHSEnv {
|
||||||
name = pname;
|
name = pname;
|
||||||
inherit meta;
|
inherit meta;
|
||||||
|
|
||||||
targetPkgs = pkgs: with pkgs; [
|
targetPkgs = pkgs: with pkgs; [
|
||||||
insync-pkg
|
|
||||||
libudev0-shim
|
libudev0-shim
|
||||||
|
insync-pkg
|
||||||
];
|
];
|
||||||
|
|
||||||
runScript = writeShellScript "insync-wrapper.sh" ''
|
extraInstallCommands = ''
|
||||||
# QT_STYLE_OVERRIDE was used to suppress a QT warning, it should have no actual effect for this binary.
|
cp -rsHf "${insync-pkg}"/share $out
|
||||||
echo Unsetting QT_STYLE_OVERRIDE=$QT_STYLE_OVERRIDE
|
'';
|
||||||
echo Unsetting QT_QPA_PLATFORMTHEME=$QT_QPA_PLATFORMTHEME
|
|
||||||
unset QT_STYLE_OVERRIDE
|
|
||||||
unset QPA_PLATFORMTHEME
|
|
||||||
|
|
||||||
|
runScript = writeShellScript "insync-wrapper.sh" ''
|
||||||
# xkb configuration needed: https://github.com/NixOS/nixpkgs/issues/236365
|
# xkb configuration needed: https://github.com/NixOS/nixpkgs/issues/236365
|
||||||
export XKB_CONFIG_ROOT=${xkeyboard_config}/share/X11/xkb/
|
export XKB_CONFIG_ROOT=${xkeyboard_config}/share/X11/xkb/
|
||||||
echo XKB_CONFIG_ROOT=$XKB_CONFIG_ROOT
|
|
||||||
|
|
||||||
# For debuging:
|
# For debugging:
|
||||||
# export QT_DEBUG_PLUGINS=1
|
# export QT_DEBUG_PLUGINS=1
|
||||||
# find -L /usr/share -name "*insync*"
|
|
||||||
|
|
||||||
exec /usr/lib/insync/insync "$@"
|
exec /usr/lib/insync/insync "$@"
|
||||||
'';
|
'';
|
||||||
|
@ -121,6 +117,6 @@ in buildFHSEnvBubblewrap {
|
||||||
unshareNet = false;
|
unshareNet = false;
|
||||||
unshareUts = false;
|
unshareUts = false;
|
||||||
unshareCgroup = false;
|
unshareCgroup = false;
|
||||||
# Since "insync start" command starts a daemon, this daemon should die with it.
|
|
||||||
dieWithParent = false;
|
dieWithParent = true;
|
||||||
}
|
}
|
46
pkgs/by-name/li/libhttpserver/package.nix
Normal file
46
pkgs/by-name/li/libhttpserver/package.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, autoconf
|
||||||
|
, automake
|
||||||
|
, libtool
|
||||||
|
, gnutls
|
||||||
|
, libmicrohttpd
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "libhttpserver";
|
||||||
|
version = "0.19.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "etr";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-Pc3Fvd8D4Ymp7dG9YgU58mDceOqNfhWE1JtnpVaNx/Y=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoconf automake libtool ];
|
||||||
|
|
||||||
|
buildInputs = [ gnutls libmicrohttpd ];
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
patchShebangs ./bootstrap
|
||||||
|
'';
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
./bootstrap
|
||||||
|
'';
|
||||||
|
|
||||||
|
configureFlags = [ "--enable-same-directory-build" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "C++ library for creating an embedded Rest HTTP server (and more)";
|
||||||
|
homepage = "https://github.com/etr/libhttpserver";
|
||||||
|
license = licenses.lgpl21Plus;
|
||||||
|
maintainers = with maintainers; [ pongo1231 ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
broken = stdenv.isDarwin; # configure: error: cannot find required auxiliary files: ltmain.sh
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "minijinja";
|
pname = "minijinja";
|
||||||
version = "1.0.13";
|
version = "1.0.15";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mitsuhiko";
|
owner = "mitsuhiko";
|
||||||
repo = "minijinja";
|
repo = "minijinja";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-VVd90j8ZOubtHX15jMGAIA3LF4tg4SzFxO046QVwDjc=";
|
hash = "sha256-ync0MkLi+CV1g9eBDLcV1dnV101H5Gc6K0NrnVeh8Jw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-f9hXH0c8vVpexYyuQuS0D8jzEqJSrHOwp/FropTKTJg=";
|
cargoHash = "sha256-j8GLpMU7xwc3BWkjcFmGODiKieedNIB8VbHjJcrq8z4=";
|
||||||
|
|
||||||
# The tests relies on the presence of network connection
|
# The tests relies on the presence of network connection
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
42
pkgs/by-name/pu/puncia/package.nix
Normal file
42
pkgs/by-name/pu/puncia/package.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python3
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "puncia";
|
||||||
|
version = "0.15-unstable-2024-03-23";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ARPSyndicate";
|
||||||
|
repo = "puncia";
|
||||||
|
# https://github.com/ARPSyndicate/puncia/issues/5
|
||||||
|
rev = "c70ed93ea1e7e42e12dd9c14713cab71bb0e0fe9";
|
||||||
|
hash = "sha256-xGJk8y26tluHUPm9ikrBBiWGuzq6MKl778BF8wNDmps=";
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = with python3.pkgs; [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = with python3.pkgs; [
|
||||||
|
requests
|
||||||
|
];
|
||||||
|
|
||||||
|
# Project has no tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"puncia"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "CLI utility for Subdomain Center & Exploit Observer";
|
||||||
|
homepage = "https://github.com/ARPSyndicate/puncia";
|
||||||
|
# https://github.com/ARPSyndicate/puncia/issues/6
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
mainProgram = "puncia";
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,13 +13,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "ricochet-refresh";
|
pname = "ricochet-refresh";
|
||||||
version = "3.0.18";
|
version = "3.0.22";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "blueprint-freespeech";
|
owner = "blueprint-freespeech";
|
||||||
repo = "ricochet-refresh";
|
repo = "ricochet-refresh";
|
||||||
rev = "v${finalAttrs.version}-release";
|
rev = "v${finalAttrs.version}-release";
|
||||||
hash = "sha256-QN2cxcYWGoszPdrWv+4FoTGNjQViK/OwxbBC6uoDhfA=";
|
hash = "sha256-xPOAtH+K3WTPjbDw4ZhwpO2+wUYe5JdqKdtfNKQbgSM=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -75,6 +75,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
homepage = "https://www.ricochetrefresh.net/";
|
homepage = "https://www.ricochetrefresh.net/";
|
||||||
downloadPage = "https://github.com/blueprint-freespeech/ricochet-refresh/releases";
|
downloadPage = "https://github.com/blueprint-freespeech/ricochet-refresh/releases";
|
||||||
license = lib.licenses.bsd3;
|
license = lib.licenses.bsd3;
|
||||||
platforms = lib.platforms.unix;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
52
pkgs/by-name/tu/tunnelgraf/package.nix
Normal file
52
pkgs/by-name/tu/tunnelgraf/package.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, python3
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "tunnelgraf";
|
||||||
|
version = "0.6.1";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "denniswalker";
|
||||||
|
repo = "tunnelgraf";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
hash = "sha256-CsrbSpp1VszEAKpmHx8GbB7vfZCOvB+tDFNFwWKexEw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
"click"
|
||||||
|
"pydantic"
|
||||||
|
];
|
||||||
|
|
||||||
|
build-system = with python3.pkgs; [
|
||||||
|
hatchling
|
||||||
|
pythonRelaxDepsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = with python3.pkgs; [
|
||||||
|
click
|
||||||
|
deepmerge
|
||||||
|
paramiko
|
||||||
|
pydantic
|
||||||
|
python-hosts
|
||||||
|
pyyaml
|
||||||
|
sshtunnel
|
||||||
|
];
|
||||||
|
|
||||||
|
# Project has no tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"tunnelgraf"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Tool to manage SSH tunnel hops to many endpoints";
|
||||||
|
homepage = "https://github.com/denniswalker/tunnelgraf";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
mainProgram = "tunnelgraf";
|
||||||
|
};
|
||||||
|
}
|
750
pkgs/by-name/vi/vidmerger/Cargo.lock
generated
Normal file
750
pkgs/by-name/vi/vidmerger/Cargo.lock
generated
Normal file
|
@ -0,0 +1,750 @@
|
||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aho-corasick"
|
||||||
|
version = "1.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "anstyle"
|
||||||
|
version = "1.0.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "anyhow"
|
||||||
|
version = "1.0.81"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "assert_cmd"
|
||||||
|
version = "2.0.14"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8"
|
||||||
|
dependencies = [
|
||||||
|
"anstyle",
|
||||||
|
"bstr",
|
||||||
|
"doc-comment",
|
||||||
|
"predicates",
|
||||||
|
"predicates-core",
|
||||||
|
"predicates-tree",
|
||||||
|
"wait-timeout",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "atty"
|
||||||
|
version = "0.2.14"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
||||||
|
dependencies = [
|
||||||
|
"hermit-abi 0.1.19",
|
||||||
|
"libc",
|
||||||
|
"winapi 0.3.9",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "autocfg"
|
||||||
|
version = "1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bitflags"
|
||||||
|
version = "1.3.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bitflags"
|
||||||
|
version = "2.4.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bstr"
|
||||||
|
version = "1.9.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
"regex-automata",
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap"
|
||||||
|
version = "3.2.25"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
|
||||||
|
dependencies = [
|
||||||
|
"atty",
|
||||||
|
"bitflags 1.3.2",
|
||||||
|
"clap_derive",
|
||||||
|
"clap_lex",
|
||||||
|
"indexmap",
|
||||||
|
"once_cell",
|
||||||
|
"strsim",
|
||||||
|
"termcolor",
|
||||||
|
"textwrap",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap_derive"
|
||||||
|
version = "3.2.25"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008"
|
||||||
|
dependencies = [
|
||||||
|
"heck",
|
||||||
|
"proc-macro-error",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 1.0.109",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap_lex"
|
||||||
|
version = "0.2.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
|
||||||
|
dependencies = [
|
||||||
|
"os_str_bytes",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "colored"
|
||||||
|
version = "1.9.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355"
|
||||||
|
dependencies = [
|
||||||
|
"is-terminal",
|
||||||
|
"lazy_static",
|
||||||
|
"winapi 0.3.9",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ctor"
|
||||||
|
version = "0.1.26"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
|
||||||
|
dependencies = [
|
||||||
|
"quote",
|
||||||
|
"syn 1.0.109",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "diff"
|
||||||
|
version = "0.1.13"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "difflib"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "doc-comment"
|
||||||
|
version = "0.3.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "either"
|
||||||
|
version = "1.10.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "errno"
|
||||||
|
version = "0.3.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hashbrown"
|
||||||
|
version = "0.12.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "heck"
|
||||||
|
version = "0.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hermit-abi"
|
||||||
|
version = "0.1.19"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hermit-abi"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "home"
|
||||||
|
version = "0.5.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
|
||||||
|
dependencies = [
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "indexmap"
|
||||||
|
version = "1.9.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
|
||||||
|
dependencies = [
|
||||||
|
"autocfg",
|
||||||
|
"hashbrown",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "is-terminal"
|
||||||
|
version = "0.4.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
|
||||||
|
dependencies = [
|
||||||
|
"hermit-abi 0.3.9",
|
||||||
|
"libc",
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "k9"
|
||||||
|
version = "0.11.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "32ddb58b0079a063218472916af599f2753ccb40942cdaba9d1f3fefccef17a9"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"colored",
|
||||||
|
"diff",
|
||||||
|
"lazy_static",
|
||||||
|
"libc",
|
||||||
|
"proc-macro2",
|
||||||
|
"regex",
|
||||||
|
"syn 1.0.109",
|
||||||
|
"term_size",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "kernel32-sys"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
||||||
|
dependencies = [
|
||||||
|
"winapi 0.2.8",
|
||||||
|
"winapi-build",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lazy_static"
|
||||||
|
version = "1.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.153"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "linux-raw-sys"
|
||||||
|
version = "0.4.13"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.7.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nanoid"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "once_cell"
|
||||||
|
version = "1.19.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "os_str_bytes"
|
||||||
|
version = "6.6.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "path-slash"
|
||||||
|
version = "0.1.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "498a099351efa4becc6a19c72aa9270598e8fd274ca47052e37455241c88b696"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.17"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "predicates"
|
||||||
|
version = "3.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
|
||||||
|
dependencies = [
|
||||||
|
"anstyle",
|
||||||
|
"difflib",
|
||||||
|
"predicates-core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "predicates-core"
|
||||||
|
version = "1.0.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "predicates-tree"
|
||||||
|
version = "1.0.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
|
||||||
|
dependencies = [
|
||||||
|
"predicates-core",
|
||||||
|
"termtree",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro-error"
|
||||||
|
version = "1.0.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro-error-attr",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 1.0.109",
|
||||||
|
"version_check",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro-error-attr"
|
||||||
|
version = "1.0.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"version_check",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro2"
|
||||||
|
version = "1.0.79"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
|
||||||
|
dependencies = [
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "quote"
|
||||||
|
version = "1.0.35"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex"
|
||||||
|
version = "1.10.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-automata",
|
||||||
|
"regex-syntax",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-automata"
|
||||||
|
version = "0.4.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-syntax",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-syntax"
|
||||||
|
version = "0.8.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustix"
|
||||||
|
version = "0.38.31"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.4.2",
|
||||||
|
"errno",
|
||||||
|
"libc",
|
||||||
|
"linux-raw-sys",
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde"
|
||||||
|
version = "1.0.197"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
|
||||||
|
dependencies = [
|
||||||
|
"serde_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde_derive"
|
||||||
|
version = "1.0.197"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 2.0.53",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "stdext"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4a61b4ae487cb43d0479907e74d36f8813e9940bd3b1adcbecc69fe8a0cee3ec"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "strsim"
|
||||||
|
version = "0.10.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "syn"
|
||||||
|
version = "1.0.109"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "syn"
|
||||||
|
version = "2.0.53"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"unicode-ident",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "system_shutdown"
|
||||||
|
version = "3.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "035e081d603551d8d78db27d2232913269c749ea67648c369100049820406a14"
|
||||||
|
dependencies = [
|
||||||
|
"winapi 0.3.9",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "term"
|
||||||
|
version = "0.4.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fa63644f74ce96fbeb9b794f66aff2a52d601cbd5e80f4b97123e3899f4570f1"
|
||||||
|
dependencies = [
|
||||||
|
"kernel32-sys",
|
||||||
|
"winapi 0.2.8",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "term-painter"
|
||||||
|
version = "0.2.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dcaa948f0e3e38470cd8dc8dcfe561a75c9e43f28075bb183845be2b9b3c08cf"
|
||||||
|
dependencies = [
|
||||||
|
"term",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "term_size"
|
||||||
|
version = "0.3.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"winapi 0.3.9",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "termcolor"
|
||||||
|
version = "1.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
|
||||||
|
dependencies = [
|
||||||
|
"winapi-util",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "termtree"
|
||||||
|
version = "0.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "textwrap"
|
||||||
|
version = "0.16.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-ident"
|
||||||
|
version = "1.0.12"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "version_check"
|
||||||
|
version = "0.9.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "vidmerger"
|
||||||
|
version = "0.3.2"
|
||||||
|
dependencies = [
|
||||||
|
"assert_cmd",
|
||||||
|
"clap",
|
||||||
|
"ctor",
|
||||||
|
"k9",
|
||||||
|
"nanoid",
|
||||||
|
"path-slash",
|
||||||
|
"regex",
|
||||||
|
"stdext",
|
||||||
|
"system_shutdown",
|
||||||
|
"term-painter",
|
||||||
|
"which",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wait-timeout"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.11.0+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "which"
|
||||||
|
version = "4.4.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
"home",
|
||||||
|
"once_cell",
|
||||||
|
"rustix",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi"
|
||||||
|
version = "0.2.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||||
|
dependencies = [
|
||||||
|
"winapi-i686-pc-windows-gnu",
|
||||||
|
"winapi-x86_64-pc-windows-gnu",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-build"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-i686-pc-windows-gnu"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-util"
|
||||||
|
version = "0.1.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
|
||||||
|
dependencies = [
|
||||||
|
"winapi 0.3.9",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-x86_64-pc-windows-gnu"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-sys"
|
||||||
|
version = "0.52.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||||
|
dependencies = [
|
||||||
|
"windows-targets",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-targets"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
|
||||||
|
dependencies = [
|
||||||
|
"windows_aarch64_gnullvm",
|
||||||
|
"windows_aarch64_msvc",
|
||||||
|
"windows_i686_gnu",
|
||||||
|
"windows_i686_msvc",
|
||||||
|
"windows_x86_64_gnu",
|
||||||
|
"windows_x86_64_gnullvm",
|
||||||
|
"windows_x86_64_msvc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_aarch64_gnullvm"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_aarch64_msvc"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_gnu"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_msvc"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_gnu"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_gnullvm"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_msvc"
|
||||||
|
version = "0.52.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
|
40
pkgs/by-name/vi/vidmerger/package.nix
Normal file
40
pkgs/by-name/vi/vidmerger/package.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ lib
|
||||||
|
, ffmpeg
|
||||||
|
, rustPlatform
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "vidmerger";
|
||||||
|
version = "0.3.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "TGotwig";
|
||||||
|
repo = "vidmerger";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-E3Y1UaYXl6NdCMM7IepqFzWNuHaMGLCN5BvQ/lxjFoc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoLock = {
|
||||||
|
lockFile = ./Cargo.lock;
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
cp ${./Cargo.lock} Cargo.lock
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Running cargo test -- . fails because it expects to have two mp4 files so that it can test the video merging functionalities
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
ffmpeg
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Merge video & audio files via CLI ";
|
||||||
|
homepage = "https://github.com/TGotwig/vidmerger";
|
||||||
|
license = with licenses; [ mit commons-clause ];
|
||||||
|
maintainers = with maintainers; [ ByteSudoer ];
|
||||||
|
mainProgram = "vidmerger";
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,9 +1,8 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, SDL2
|
, SDL2
|
||||||
, SDL2_image
|
, SDL2_image
|
||||||
, copyDesktopItems
|
, copyDesktopItems
|
||||||
|
, fetchFromGitHub
|
||||||
, gettext
|
, gettext
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
|
@ -20,7 +19,8 @@
|
||||||
, openssl
|
, openssl
|
||||||
, perl
|
, perl
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, python3
|
, python3Packages
|
||||||
|
, stdenv
|
||||||
, vte
|
, vte
|
||||||
, which
|
, which
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
|
@ -34,8 +34,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
owner = "xemu-project";
|
owner = "xemu-project";
|
||||||
repo = "xemu";
|
repo = "xemu";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-FFxYp53LLDOPZ1Inr70oyQXhNjJO23G+gNmXd/lvrYs=";
|
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
|
hash = "sha256-FFxYp53LLDOPZ1Inr70oyQXhNjJO23G+gNmXd/lvrYs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -44,11 +44,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
ninja
|
ninja
|
||||||
perl
|
perl
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
|
||||||
python3.pkgs.pyyaml
|
|
||||||
which
|
which
|
||||||
wrapGAppsHook
|
wrapGAppsHook
|
||||||
];
|
] ++ (with python3Packages; [
|
||||||
|
python
|
||||||
|
pyyaml
|
||||||
|
]);
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
SDL2
|
SDL2
|
||||||
|
@ -91,13 +92,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
postPatch = ''
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls")
|
|
||||||
substituteInPlace ./scripts/xemu-version.sh \
|
substituteInPlace ./scripts/xemu-version.sh \
|
||||||
--replace 'date -u' "date -d @$SOURCE_DATE_EPOCH '+%Y-%m-%d %H:%M:%S'"
|
--replace 'date -u' "date -d @$SOURCE_DATE_EPOCH '+%Y-%m-%d %H:%M:%S'"
|
||||||
|
'';
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls")
|
||||||
|
'' +
|
||||||
# When the data below can't be obtained through git, the build process tries
|
# When the data below can't be obtained through git, the build process tries
|
||||||
# to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar)
|
# to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar)
|
||||||
|
''
|
||||||
echo '${finalAttrs.version}' > XEMU_VERSION
|
echo '${finalAttrs.version}' > XEMU_VERSION
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -106,18 +112,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
substituteInPlace ./build.ninja --replace /usr/bin/env $(which env)
|
substituteInPlace ./build.ninja --replace /usr/bin/env $(which env)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = let
|
||||||
|
installIcon = resolution: ''
|
||||||
|
install -Dm644 -T ../ui/icons/xemu_${resolution}.png \
|
||||||
|
$out/share/icons/hicolor/${resolution}/apps/xemu.png
|
||||||
|
'';
|
||||||
|
in ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
install -Dm755 -T qemu-system-i386 $out/bin/xemu
|
install -Dm755 -T qemu-system-i386 $out/bin/xemu
|
||||||
'' +
|
'' +
|
||||||
# Generate code to install the icons
|
(lib.concatMapStringsSep "\n" installIcon
|
||||||
(lib.concatMapStringsSep ";\n"
|
[ "16x16" "24x24" "32x32" "48x48" "128x128" "256x256" "512x512" ]) + "\n" +
|
||||||
(res:
|
|
||||||
"install -Dm644 -T ../ui/icons/xemu_${res}.png $out/share/icons/hicolor/${res}/apps/xemu.png")
|
|
||||||
[ "16x16" "24x24" "32x32" "48x48" "128x128" "256x256" "512x512" ]) +
|
|
||||||
''
|
''
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -131,8 +138,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
'';
|
'';
|
||||||
changelog = "https://github.com/xemu-project/xemu/releases/tag/v${finalAttrs.version}";
|
changelog = "https://github.com/xemu-project/xemu/releases/tag/v${finalAttrs.version}";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = with lib.maintainers; [ AndersonTorres genericnerdyusername ];
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
mainProgram = "xemu";
|
mainProgram = "xemu";
|
||||||
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
})
|
})
|
|
@ -97,6 +97,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
# The icon validator needs to access the gdk-pixbuf loaders in the Nix store
|
# The icon validator needs to access the gdk-pixbuf loaders in the Nix store
|
||||||
# and cannot bind FHS paths since those are not available on NixOS.
|
# and cannot bind FHS paths since those are not available on NixOS.
|
||||||
finalAttrs.passthru.icon-validator-patch
|
finalAttrs.passthru.icon-validator-patch
|
||||||
|
|
||||||
|
# Try mounting fonts and icons from NixOS locations if FHS locations don't exist.
|
||||||
|
# https://github.com/NixOS/nixpkgs/issues/119433
|
||||||
|
./fix-fonts-icons.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
87
pkgs/development/libraries/flatpak/fix-fonts-icons.patch
Normal file
87
pkgs/development/libraries/flatpak/fix-fonts-icons.patch
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
diff --git a/common/flatpak-run.c b/common/flatpak-run.c
|
||||||
|
index 94ad013..5c9f55e 100644
|
||||||
|
--- a/common/flatpak-run.c
|
||||||
|
+++ b/common/flatpak-run.c
|
||||||
|
@@ -871,6 +871,49 @@ out:
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+get_nix_closure (GHashTable *closure, const gchar *source_path)
|
||||||
|
+{
|
||||||
|
+ if (g_file_test (source_path, G_FILE_TEST_IS_SYMLINK))
|
||||||
|
+ {
|
||||||
|
+ g_autofree gchar *path = g_malloc(PATH_MAX);
|
||||||
|
+ realpath(source_path, path);
|
||||||
|
+ if (g_str_has_prefix(path, "/nix/store/"))
|
||||||
|
+ {
|
||||||
|
+ *strchr(path + strlen("/nix/store/"), '/') = 0;
|
||||||
|
+ g_hash_table_add(closure, g_steal_pointer (&path));
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else if (g_file_test (source_path, G_FILE_TEST_IS_DIR))
|
||||||
|
+ {
|
||||||
|
+ g_autoptr(GDir) dir = g_dir_open(source_path, 0, NULL);
|
||||||
|
+ const gchar *file_name;
|
||||||
|
+ while ((file_name = g_dir_read_name(dir)))
|
||||||
|
+ {
|
||||||
|
+ g_autofree gchar *path = g_build_filename (source_path, file_name, NULL);
|
||||||
|
+ get_nix_closure (closure, path);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+add_nix_store_symlink_targets (FlatpakBwrap *bwrap, const gchar *source_path)
|
||||||
|
+{
|
||||||
|
+ GHashTable *closure = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
|
||||||
|
+
|
||||||
|
+ get_nix_closure(closure, source_path);
|
||||||
|
+
|
||||||
|
+ GHashTableIter iter;
|
||||||
|
+ gpointer path;
|
||||||
|
+ g_hash_table_iter_init(&iter, closure);
|
||||||
|
+ while (g_hash_table_iter_next(&iter, &path, NULL))
|
||||||
|
+ {
|
||||||
|
+ flatpak_bwrap_add_args (bwrap, "--ro-bind", path, path, NULL);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_hash_table_destroy(closure);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
add_font_path_args (FlatpakBwrap *bwrap)
|
||||||
|
{
|
||||||
|
@@ -898,6 +946,18 @@ add_font_path_args (FlatpakBwrap *bwrap)
|
||||||
|
"\t<remap-dir as-path=\"%s\">/run/host/fonts</remap-dir>\n",
|
||||||
|
SYSTEM_FONTS_DIR);
|
||||||
|
}
|
||||||
|
+ else if (g_file_test ("/run/current-system/sw/share/X11/fonts", G_FILE_TEST_EXISTS))
|
||||||
|
+ {
|
||||||
|
+ add_nix_store_symlink_targets (bwrap, "/run/current-system/sw/share/X11/fonts");
|
||||||
|
+ flatpak_bwrap_add_args (bwrap,
|
||||||
|
+ "--ro-bind",
|
||||||
|
+ "/run/current-system/sw/share/X11/fonts",
|
||||||
|
+ "/run/host/fonts",
|
||||||
|
+ NULL);
|
||||||
|
+ g_string_append_printf (xml_snippet,
|
||||||
|
+ "\t<remap-dir as-path=\"%s\">/run/host/fonts</remap-dir>\n",
|
||||||
|
+ "/run/current-system/sw/share/X11/fonts");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (g_file_test ("/usr/local/share/fonts", G_FILE_TEST_EXISTS))
|
||||||
|
{
|
||||||
|
@@ -998,6 +1058,13 @@ add_icon_path_args (FlatpakBwrap *bwrap)
|
||||||
|
"--ro-bind", "/usr/share/icons", "/run/host/share/icons",
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
+ else if (g_file_test ("/run/current-system/sw/share/icons", G_FILE_TEST_IS_DIR))
|
||||||
|
+ {
|
||||||
|
+ add_nix_store_symlink_targets (bwrap, "/run/current-system/sw/share/icons");
|
||||||
|
+ flatpak_bwrap_add_args (bwrap,
|
||||||
|
+ "--ro-bind", "/run/current-system/sw/share/icons", "/run/host/share/icons",
|
||||||
|
+ NULL);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
user_icons_path = g_build_filename (g_get_user_data_dir (), "icons", NULL);
|
||||||
|
user_icons = g_file_new_for_path (user_icons_path);
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitiles, meson, ninja, pkg-config, python3
|
{ lib, stdenv, fetchFromGitiles, fetchpatch, meson, ninja, pkg-config, python3
|
||||||
, aemu, libdrm, libglvnd, vulkan-headers, vulkan-loader, xorg
|
, aemu, darwin, libdrm, libglvnd, vulkan-headers, vulkan-loader, xorg
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
|
@ -12,14 +12,45 @@ stdenv.mkDerivation {
|
||||||
hash = "sha256-IYXkaHZPEYIE9KW731GN6x6yRS+FYtP1zyHcaSofhIM=";
|
hash = "sha256-IYXkaHZPEYIE9KW731GN6x6yRS+FYtP1zyHcaSofhIM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Make libdrm an optional dependency, which is required to build on Darwin.
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://android.googlesource.com/platform/hardware/google/gfxstream/+/a8df2a3eb099b419a7b3638e68ea30b4cffb751b%5E%21/?format=TEXT";
|
||||||
|
decode = "base64 -d";
|
||||||
|
hash = "sha256-shjeNuxtQokscCGBKEUbOPKOWRELBAnHFNj3Y5w87Nw=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
# Ensure that meson can find an Objective-C compiler on Darwin.
|
||||||
|
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||||
|
substituteInPlace meson.build \
|
||||||
|
--replace-fail "project('gfxstream_backend', 'cpp', 'c'" "project('gfxstream_backend', 'cpp', 'c', 'objc'"
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkg-config python3 ];
|
nativeBuildInputs = [ meson ninja pkg-config python3 ];
|
||||||
buildInputs = [ aemu libglvnd vulkan-headers vulkan-loader xorg.libX11 ]
|
buildInputs = [ aemu libglvnd vulkan-headers vulkan-loader xorg.libX11 ]
|
||||||
++ lib.optional (lib.meta.availableOn stdenv.hostPlatform libdrm) libdrm;
|
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ libdrm ]
|
||||||
|
++ lib.optionals stdenv.isDarwin [
|
||||||
|
darwin.apple_sdk.frameworks.Cocoa
|
||||||
|
darwin.apple_sdk.frameworks.CoreGraphics
|
||||||
|
darwin.apple_sdk.frameworks.IOKit
|
||||||
|
darwin.apple_sdk.frameworks.IOSurface
|
||||||
|
darwin.apple_sdk.frameworks.OpenGL
|
||||||
|
darwin.apple_sdk.frameworks.QuartzCore
|
||||||
|
];
|
||||||
|
|
||||||
|
env = lib.optionalAttrs stdenv.isDarwin {
|
||||||
|
NIX_LDFLAGS = toString [
|
||||||
|
"-framework Cocoa"
|
||||||
|
"-framework IOKit"
|
||||||
|
"-framework IOSurface"
|
||||||
|
"-framework OpenGL"
|
||||||
|
"-framework QuartzCore"
|
||||||
|
"-needed-lvulkan"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# dlopens libvulkan.
|
# dlopens libvulkan.
|
||||||
#
|
|
||||||
# XXX: Unsure if this is required on Darwin. If it is, it probably
|
|
||||||
# needs to be done using install_name_tool.
|
|
||||||
preConfigure = lib.optionalString (!stdenv.isDarwin) ''
|
preConfigure = lib.optionalString (!stdenv.isDarwin) ''
|
||||||
mesonFlagsArray=(-Dcpp_link_args="-Wl,--push-state -Wl,--no-as-needed -lvulkan -Wl,--pop-state")
|
mesonFlagsArray=(-Dcpp_link_args="-Wl,--push-state -Wl,--no-as-needed -lvulkan -Wl,--pop-state")
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,40 +1,66 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, jdk, jre, ant, libffi, texinfo, pkg-config }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, ant
|
||||||
|
, jdk
|
||||||
|
, libffi
|
||||||
|
, pkg-config
|
||||||
|
, texinfo
|
||||||
|
, stripJavaArchivesHook
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "jffi";
|
pname = "jffi";
|
||||||
version = "1.3.13";
|
version = "1.3.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jnr";
|
owner = "jnr";
|
||||||
repo = "jffi";
|
repo = "jffi";
|
||||||
rev = "jffi-${version}";
|
rev = "jffi-${finalAttrs.version}";
|
||||||
sha256 = "sha256-aBQkkZyXZkaJc4sr/jHnIRaJYP116u4Jqsr9XXzfOBA=";
|
hash = "sha256-aBQkkZyXZkaJc4sr/jHnIRaJYP116u4Jqsr9XXzfOBA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ jdk ant texinfo pkg-config ];
|
nativeBuildInputs = [
|
||||||
|
ant
|
||||||
|
jdk
|
||||||
|
pkg-config
|
||||||
|
texinfo
|
||||||
|
stripJavaArchivesHook
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [ libffi ];
|
buildInputs = [ libffi ];
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
# The pkg-config script in the build.xml doesn't work propery
|
# The pkg-config script in the build.xml doesn't work propery
|
||||||
# set the lib path manually to work around this.
|
# set the lib path manually to work around this.
|
||||||
export LIBFFI_LIBS="${libffi}/lib/libffi.so"
|
env.LIBFFI_LIBS = "${libffi}/lib/libffi${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||||
|
env.ANT_ARGS = "-Duse.system.libffi=1";
|
||||||
|
|
||||||
ant -Duse.system.libffi=1 jar
|
buildPhase = ''
|
||||||
ant -Duse.system.libffi=1 archive-platform-jar
|
runHook preBuild
|
||||||
'';
|
ant jar
|
||||||
|
ant archive-platform-jar
|
||||||
installPhase = ''
|
runHook postBuild
|
||||||
mkdir -p $out/share/java
|
|
||||||
cp -r dist/* $out/share/java
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkPhase = ''
|
|
||||||
# The pkg-config script in the build.xml doesn't work propery
|
|
||||||
# set the lib path manually to work around this.
|
|
||||||
export LIBFFI_LIBS="${libffi}/lib/libffi.so"
|
|
||||||
|
|
||||||
ant -Duse.system.libffi=1 test
|
checkPhase = ''
|
||||||
|
runHook preCheck
|
||||||
|
ant test
|
||||||
|
runHook postCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
install -Dm644 dist/*.jar -t $out/share/java
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
# nix can't detect libffi as a dependency inside the jar file, so we create
|
||||||
|
# a dummy file with the path to libffi, to make sure that nix knows about it
|
||||||
|
postFixup = ''
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
echo ${libffi} > $out/nix-support/depends
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -45,4 +71,4 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ bachp ];
|
maintainers = with maintainers; [ bachp ];
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -25,13 +25,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "raylib";
|
pname = "raylib";
|
||||||
version = "4.5.0";
|
version = "5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "raysan5";
|
owner = "raysan5";
|
||||||
repo = "raylib";
|
repo = "raylib";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-Uqqzq5shDp0AgSBT5waHBNUkEu0LRj70SNOlR5R2yAM=";
|
hash = "sha256-gEstNs3huQ1uikVXOW4uoYnIDr5l8O9jgZRTX1mkRww=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
@ -56,20 +56,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
passthru.tests = [ raylib-games ];
|
passthru.tests = [ raylib-games ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Patch version in CMakeList to 4.5.0
|
# Patch version in CMakeLists.txt to 5.0.0
|
||||||
# Remove this when updating to a new revision
|
# The library author doesn't use cmake, so when updating this package please
|
||||||
|
# check that the resulting library extension matches the version
|
||||||
|
# and remove/update this patch (resulting library name should match
|
||||||
|
# libraylib.so.${finalAttrs.version}
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://github.com/raysan5/raylib/commit/0d4db7ad7f6fd442ed165ebf8ab8b3f4033b04e7.patch";
|
url = "https://github.com/raysan5/raylib/commit/032cc497ca5aaca862dc926a93c2a45ed8017737.patch";
|
||||||
hash = "sha256-RGokbQAwJAZm2FU2VNwraE3xko8E+RLLFjUfDRXeKhA=";
|
hash = "sha256-qsX5AwyQaGoRsbdszOO7tUF9dR+AkEFi4ebNkBVHNEY=";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
# fix libasound.so/libpulse.so not being found
|
|
||||||
preFixup = ''
|
|
||||||
${lib.optionalString alsaSupport "patchelf --add-needed ${alsa-lib}/lib/libasound.so $out/lib/libraylib.so.${finalAttrs.version}"}
|
|
||||||
${lib.optionalString pulseSupport "patchelf --add-needed ${libpulseaudio}/lib/libpulse.so $out/lib/libraylib.so.${finalAttrs.version}"}
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A simple and easy-to-use library to enjoy videogames programming";
|
description = "A simple and easy-to-use library to enjoy videogames programming";
|
||||||
homepage = "https://www.raylib.com/";
|
homepage = "https://www.raylib.com/";
|
||||||
|
|
31
pkgs/development/libraries/rutabaga_gfx/darwin-install.patch
Normal file
31
pkgs/development/libraries/rutabaga_gfx/darwin-install.patch
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
diff --git a/rutabaga_gfx/ffi/Makefile b/rutabaga_gfx/ffi/Makefile
|
||||||
|
index f8c7820bf..e88a6c308 100644
|
||||||
|
--- a/rutabaga_gfx/ffi/Makefile
|
||||||
|
+++ b/rutabaga_gfx/ffi/Makefile
|
||||||
|
@@ -47,24 +47,16 @@ build:
|
||||||
|
cargo build $(gfxstream_feature) $(release)
|
||||||
|
|
||||||
|
install: build
|
||||||
|
-ifeq ($(UNAME), Linux)
|
||||||
|
install -D -m 755 $(OUT)/$(LIB_NAME) $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION)
|
||||||
|
-endif
|
||||||
|
ifeq ($(UNAME), Darwin)
|
||||||
|
- install_name_tool -id $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME)
|
||||||
|
+ install_name_tool -id $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ln -sf $(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME).$(RUTABAGA_VERSION_MAJOR)
|
||||||
|
ln -sf $(LIB_NAME).$(RUTABAGA_VERSION) $(DESTDIR)$(libdir)/$(LIB_NAME)
|
||||||
|
|
||||||
|
-ifeq ($(UNAME), Linux)
|
||||||
|
install -D -m 0644 $(SRC)/share/rutabaga_gfx_ffi.pc $(DESTDIR)$(libdir)/pkgconfig/rutabaga_gfx_ffi.pc
|
||||||
|
install -D -m 0644 $(SRC)/include/rutabaga_gfx_ffi.h $(DESTDIR)$(includedir)/rutabaga_gfx_ffi.h
|
||||||
|
-endif
|
||||||
|
-ifeq ($(UNAME), Darwin)
|
||||||
|
- install -m 0644 $(SRC)/share/rutabaga_gfx_ffi.pc $(DESTDIR)$(libdir)/pkgconfig/rutabaga_gfx_ffi.pc
|
||||||
|
- install -m 0644 $(SRC)/include/rutabaga_gfx_ffi.h $(DESTDIR)$(includedir)/rutabaga_gfx_ffi.h
|
||||||
|
-endif
|
||||||
|
|
||||||
|
clean:
|
||||||
|
cargo clean $(release)
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
, aemu
|
, aemu
|
||||||
, gfxstream
|
, gfxstream
|
||||||
, libdrm
|
, libdrm
|
||||||
|
, libiconv
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
@ -29,10 +30,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
decode = "base64 -d";
|
decode = "base64 -d";
|
||||||
hash = "sha256-Ji1bK7jnRlg0OpDfCLcTHfPSiz3zYcdgsWL4n3EoIYI=";
|
hash = "sha256-Ji1bK7jnRlg0OpDfCLcTHfPSiz3zYcdgsWL4n3EoIYI=";
|
||||||
})
|
})
|
||||||
|
# Fix error in Makefile where it uses eight spaces instead of a tab
|
||||||
|
# https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4863380
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://chromium.googlesource.com/crosvm/crosvm/+/fc415bccc43d36f63a2fd4c28878591bb1053450%5E%21/?format=TEXT";
|
||||||
|
decode = "base64 -d";
|
||||||
|
hash = "sha256-SLzlZ4o1+R2bGTPvA0a5emq97hOIIIHrubFhcQjqYwg=";
|
||||||
|
})
|
||||||
|
# Install the dylib on Darwin.
|
||||||
|
./darwin-install.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cargo pkg-config rustPlatform.cargoSetupHook ];
|
nativeBuildInputs = [ cargo pkg-config rustPlatform.cargoSetupHook ];
|
||||||
buildInputs = lib.optionals (lib.meta.availableOn stdenv.hostPlatform gfxstream) ([
|
buildInputs = [ libiconv ] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gfxstream) ([
|
||||||
aemu
|
aemu
|
||||||
gfxstream
|
gfxstream
|
||||||
] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [
|
] ++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bc-detect-secrets";
|
pname = "bc-detect-secrets";
|
||||||
version = "1.5.4";
|
version = "1.5.5";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -25,14 +25,14 @@ buildPythonPackage rec {
|
||||||
owner = "bridgecrewio";
|
owner = "bridgecrewio";
|
||||||
repo = "detect-secrets";
|
repo = "detect-secrets";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-Gm8PYN9vqYkGaGKpLZkx0Ehd1P3G2d5LkSjWXxpPerI=";
|
hash = "sha256-05hxc34ecSoAp0GBVf9yq2BC928wxZOLZJHAbJ7cdtk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
setuptools
|
setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
pyyaml
|
pyyaml
|
||||||
requests
|
requests
|
||||||
unidiff
|
unidiff
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi }:
|
{ lib, buildPythonPackage, fetchPypi }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "CJKwrap";
|
pname = "cjkwrap";
|
||||||
version = "2.2";
|
version = "2.2";
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "CJKwrap";
|
||||||
|
inherit version;
|
||||||
sha256 = "1b603sg6c2gv9vmlxwr6r1qvhadqk3qp6vifmijris504zjx5ix2";
|
sha256 = "1b603sg6c2gv9vmlxwr6r1qvhadqk3qp6vifmijris504zjx5ix2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "clickhouse-connect";
|
pname = "clickhouse-connect";
|
||||||
version = "0.7.3";
|
version = "0.7.4";
|
||||||
|
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ buildPythonPackage rec {
|
||||||
repo = "clickhouse-connect";
|
repo = "clickhouse-connect";
|
||||||
owner = "ClickHouse";
|
owner = "ClickHouse";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-MA902Dyx3a8GTZ52LYY0UrWqNEFmibqIsdz6PFZIkIY=";
|
hash = "sha256-YEtcM9+GO8mYv2pyaBYmXdmWLXVuteKtQIJR4H+Xsd4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cython_3 ];
|
nativeBuildInputs = [ cython_3 ];
|
||||||
|
|
|
@ -5,11 +5,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "CppHeaderParser";
|
pname = "cppheaderparser";
|
||||||
version = "2.7.4";
|
version = "2.7.4";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "CppHeaderParser";
|
||||||
|
inherit version;
|
||||||
hash = "sha256-OCswQW2VsKXoUCshSBDcrCpWQykX4mUUR9Or4lPjzEI=";
|
hash = "sha256-OCswQW2VsKXoUCshSBDcrCpWQykX4mUUR9Or4lPjzEI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -9,12 +9,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "Delorean";
|
pname = "delorean";
|
||||||
version = "1.0.0";
|
version = "1.0.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "Delorean";
|
||||||
|
inherit version;
|
||||||
hash = "sha256-/md4bhIzhSOEi+xViKZYxNQl4S1T61HP74cL7I9XYTQ=";
|
hash = "sha256-/md4bhIzhSOEi+xViKZYxNQl4S1T61HP74cL7I9XYTQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "dnfile";
|
pname = "dnfile";
|
||||||
version = "0.14.1";
|
version = "0.15.0";
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
|
@ -18,15 +18,15 @@ buildPythonPackage rec {
|
||||||
owner = "malwarefrank";
|
owner = "malwarefrank";
|
||||||
repo = "dnfile";
|
repo = "dnfile";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-5xkoG7c9Piwrv+9qour7MZ+rabdngtd05b0T+AU8tSo=";
|
hash = "sha256-HzlMJ4utBHyLLhO+u0uiTfqtk8jX80pEyO75QvpJ3yg=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
setuptools
|
setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
pefile
|
pefile
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, fetchPypi, buildPythonPackage, isPy3k, future }:
|
{ lib, fetchPypi, buildPythonPackage, isPy3k, future }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ECPy";
|
pname = "ecpy";
|
||||||
version = "1.2.5";
|
version = "1.2.5";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "ECPy";
|
||||||
|
inherit version;
|
||||||
sha256 = "9635cffb9b6ecf7fd7f72aea1665829ac74a1d272006d0057d45a621aae20228";
|
sha256 = "9635cffb9b6ecf7fd7f72aea1665829ac74a1d272006d0057d45a621aae20228";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
47
pkgs/development/python-modules/enterpriseattack/default.nix
Normal file
47
pkgs/development/python-modules/enterpriseattack/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pythonOlder
|
||||||
|
, requests
|
||||||
|
, setuptools
|
||||||
|
, ujson
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "enterpriseattack";
|
||||||
|
version = "0.1.8";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xakepnz";
|
||||||
|
repo = "enterpriseattack";
|
||||||
|
rev = "refs/tags/v.${version}";
|
||||||
|
hash = "sha256-cxbGc9iQe94Th6MSUldI17oVCclFhUM78h1w+6KXzm4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
requests
|
||||||
|
ujson
|
||||||
|
];
|
||||||
|
|
||||||
|
# Tests require network access
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"enterpriseattack"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Module to interact with the Mitre Att&ck Enterprise dataset";
|
||||||
|
homepage = "https://github.com/xakepnz/enterpriseattack";
|
||||||
|
changelog = "https://github.com/xakepnz/enterpriseattack/releases/tag/v.${version}";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, isPy3k }:
|
{ lib, buildPythonPackage, fetchPypi, isPy3k }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "HeapDict";
|
pname = "heapdict";
|
||||||
version = "1.0.1";
|
version = "1.0.1";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "HeapDict";
|
||||||
|
inherit version;
|
||||||
sha256 = "8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6";
|
sha256 = "8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
42
pkgs/development/python-modules/hsh/default.nix
Normal file
42
pkgs/development/python-modules/hsh/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{ buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, lib
|
||||||
|
, commandlines
|
||||||
|
, unittestCheckHook
|
||||||
|
, pexpect
|
||||||
|
, naked
|
||||||
|
, nix-update-script
|
||||||
|
, setuptools
|
||||||
|
, wheel
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "hsh";
|
||||||
|
version = "1.1.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "chrissimpkins";
|
||||||
|
repo = "hsh";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-bAAytoidFHH2dSXqN9aqBd2H4p/rwTWXIZa1t5Djdz0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ commandlines ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ setuptools wheel ];
|
||||||
|
|
||||||
|
nativeCheckInputs = [ unittestCheckHook pexpect naked ];
|
||||||
|
|
||||||
|
preCheck = "cd tests";
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "hsh" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Cross-platform command line application that generates file hash digests and performs file integrity checks via file hash digest comparisons";
|
||||||
|
homepage = "https://github.com/chrissimpkins/hsh";
|
||||||
|
downloadPage = "https://github.com/chrissimpkins/hsh/releases";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.lucasew ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -38,7 +38,7 @@ buildPythonPackage rec {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "jax";
|
repo = "jax";
|
||||||
# google/jax contains tags for jax and jaxlib. Only use jax tags!
|
# google/jax contains tags for jax and jaxlib. Only use jax tags!
|
||||||
rev = "refs/tags/jaxlib-v${version}";
|
rev = "refs/tags/jax-v${version}";
|
||||||
hash = "sha256-poQQo2ZgEhPYzK3aCs+BjaHTNZbezJAECd+HOdY1Yok=";
|
hash = "sha256-poQQo2ZgEhPYzK3aCs+BjaHTNZbezJAECd+HOdY1Yok=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -144,6 +144,9 @@ buildPythonPackage rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# updater fails to pick the correct branch
|
||||||
|
passthru.skipBulkUpdate = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Differentiate, compile, and transform Numpy code";
|
description = "Differentiate, compile, and transform Numpy code";
|
||||||
homepage = "https://github.com/google/jax";
|
homepage = "https://github.com/google/jax";
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, numpy, h5py }:
|
{ lib, buildPythonPackage, fetchPypi, numpy, h5py }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "Keras_Applications";
|
pname = "keras-applications";
|
||||||
version = "1.0.8";
|
version = "1.0.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "Keras_Applications";
|
||||||
|
inherit version;
|
||||||
sha256 = "5579f9a12bcde9748f4a12233925a59b93b73ae6947409ff34aa2ba258189fe5";
|
sha256 = "5579f9a12bcde9748f4a12233925a59b93b73ae6947409ff34aa2ba258189fe5";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, numpy, six, scipy, pillow, pytest, keras }:
|
{ lib, buildPythonPackage, fetchPypi, numpy, six, scipy, pillow, pytest, keras }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "Keras_Preprocessing";
|
pname = "keras-preprocessing";
|
||||||
version = "1.1.2";
|
version = "1.1.2";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "Keras_Preprocessing";
|
||||||
|
inherit version;
|
||||||
sha256 = "add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3";
|
sha256 = "add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,50 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchPypi
|
||||||
, llama-index-core
|
, llama-index-core
|
||||||
, llama-index-embeddings-openai
|
, llama-index-embeddings-openai
|
||||||
, llama-index-llms-openai
|
, llama-index-llms-openai
|
||||||
, llama-index-vector-stores-chroma
|
, llama-index-vector-stores-chroma
|
||||||
, poetry-core
|
, poetry-core
|
||||||
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "llama-index-cli";
|
pname = "llama-index-cli";
|
||||||
|
version = "0.1.11";
|
||||||
inherit (llama-index-core) version src meta;
|
|
||||||
|
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
sourceRoot = "${src.name}/${pname}";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
src = fetchPypi {
|
||||||
|
pname = "llama_index_cli";
|
||||||
|
inherit version;
|
||||||
|
hash = "sha256-XecH4SWqh31wxh2nDMRP6nKp9623f0E7Ufc7He/911A=";
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = [
|
||||||
poetry-core
|
poetry-core
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
llama-index-core
|
llama-index-core
|
||||||
llama-index-embeddings-openai
|
llama-index-embeddings-openai
|
||||||
llama-index-llms-openai
|
llama-index-llms-openai
|
||||||
llama-index-vector-stores-chroma
|
llama-index-vector-stores-chroma
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Tests are only available in the mono repo
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"llama_index.cli"
|
"llama_index.cli"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "LlamaIndex CLI";
|
||||||
|
homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-cli";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,36 +1,52 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchPypi
|
||||||
, google-generativeai
|
, google-generativeai
|
||||||
, llama-index-core
|
, llama-index-core
|
||||||
, poetry-core
|
, poetry-core
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
|
, pythonRelaxDepsHook
|
||||||
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "llama-index-embeddings-gemini";
|
pname = "llama-index-embeddings-gemini";
|
||||||
version = "0.1.3";
|
version = "0.1.5";
|
||||||
|
|
||||||
inherit (llama-index-core) src meta;
|
|
||||||
|
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
sourceRoot = "${src.name}/llama-index-integrations/embeddings/${pname}";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
src = fetchPypi {
|
||||||
poetry-core
|
pname = "llama_index_embeddings_gemini";
|
||||||
|
inherit version;
|
||||||
|
hash = "sha256-FQzZ+MjuAApOImpxQhuaCFDIKdojzD5zqDOepo8fCNo=";
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
"google-generativeai"
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
build-system = [
|
||||||
|
poetry-core
|
||||||
|
pythonRelaxDepsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
google-generativeai
|
google-generativeai
|
||||||
llama-index-core
|
llama-index-core
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
# Tests are only available in the mono repo
|
||||||
pytestCheckHook
|
doCheck = false;
|
||||||
];
|
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"llama_index.embeddings.gemini"
|
"llama_index.embeddings.gemini"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "LlamaIndex Llms Integration for Gemini";
|
||||||
|
homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/embeddings/llama-index-embeddings-gemini";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +1,30 @@
|
||||||
{ lib
|
{ lib
|
||||||
, beautifulsoup4
|
, beautifulsoup4
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchPypi
|
||||||
, llama-index-core
|
, llama-index-core
|
||||||
, poetry-core
|
, poetry-core
|
||||||
, pymupdf
|
, pymupdf
|
||||||
, pypdf
|
, pypdf
|
||||||
, pytestCheckHook
|
, pythonOlder
|
||||||
, pythonRelaxDepsHook
|
, pythonRelaxDepsHook
|
||||||
|
, striprtf
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "llama-index-readers-file";
|
pname = "llama-index-readers-file";
|
||||||
version = "0.1.7";
|
version = "0.1.12";
|
||||||
|
|
||||||
inherit (llama-index-core) src meta;
|
|
||||||
|
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
pname = "llama_index_readers_file";
|
||||||
|
inherit version;
|
||||||
|
hash = "sha256-YGXL+AsPtdGJVYuLkK273JKsuGFH/KGS2I/MJwStKvM=";
|
||||||
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = [
|
pythonRelaxDeps = [
|
||||||
"beautifulsoup4"
|
|
||||||
"pymupdf"
|
"pymupdf"
|
||||||
"pypdf"
|
"pypdf"
|
||||||
];
|
];
|
||||||
|
@ -30,23 +33,30 @@ buildPythonPackage rec {
|
||||||
"bs4"
|
"bs4"
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
poetry-core
|
poetry-core
|
||||||
pythonRelaxDepsHook
|
pythonRelaxDepsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
llama-index-core
|
llama-index-core
|
||||||
pymupdf
|
pymupdf
|
||||||
pypdf
|
pypdf
|
||||||
|
striprtf
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
# Tests are only available in the mono repo
|
||||||
pytestCheckHook
|
doCheck = false;
|
||||||
];
|
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"llama_index.readers.file"
|
"llama_index.readers.file"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "LlamaIndex Readers Integration for files";
|
||||||
|
homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/readers/llama-index-readers-file";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,34 +1,43 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, fetchFromGitHub
|
, fetchPypi
|
||||||
, llama-index-core
|
, llama-index-core
|
||||||
, poetry-core
|
, poetry-core
|
||||||
, pytestCheckHook
|
, pythonOlder
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "llama-index-readers-json";
|
pname = "llama-index-readers-json";
|
||||||
version = "0.1.2";
|
version = "0.1.5";
|
||||||
|
|
||||||
inherit (llama-index-core) src meta;
|
|
||||||
|
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
sourceRoot = "${src.name}/llama-index-integrations/readers/${pname}";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
src = fetchPypi {
|
||||||
|
pname = "llama_index_readers_json";
|
||||||
|
inherit version;
|
||||||
|
hash = "sha256-H+CG+2FtoOF/DUG6EuAWzY2xe1upLX0pakVutJTZFE0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = [
|
||||||
poetry-core
|
poetry-core
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
llama-index-core
|
llama-index-core
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
# Tests are only available in the mono repo
|
||||||
pytestCheckHook
|
doCheck = false;
|
||||||
];
|
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"llama_index.readers.json"
|
"llama_index.readers.json"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "LlamaIndex Readers Integration for Json";
|
||||||
|
homepage = "https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/readers/llama-index-readers-json";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,26 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, cython
|
, cython_3
|
||||||
, fetchPypi
|
, fetchPypi
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, setuptools
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "lupa";
|
pname = "lupa";
|
||||||
version = "2.0";
|
version = "2.1";
|
||||||
format = "setuptools";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-rT/vSGvnrd3TSf6anDk3iQYTEs+Y68UztIm+NPSEy3k=";
|
hash = "sha256-dgAwcS1SczlvXpY92HMa77WsZdku/4v4/UEkwWMP6VA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
cython
|
cython_3
|
||||||
|
setuptools
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mkdocs-swagger-ui-tag";
|
pname = "mkdocs-swagger-ui-tag";
|
||||||
version = "0.6.8";
|
version = "0.6.9";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||||
owner = "Blueswen";
|
owner = "Blueswen";
|
||||||
repo = "mkdocs-swagger-ui-tag";
|
repo = "mkdocs-swagger-ui-tag";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-TV7V1PttzyLeVQ/Ag/tMV2aqtCys1mlYpj6i0x+ko/w=";
|
hash = "sha256-4cRElwF8AOvTLZJq1NF9Yqa7g44uiT96giyhqKZKp5M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -6,12 +6,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ModestMaps";
|
pname = "modestmaps";
|
||||||
version = "1.4.7";
|
version = "1.4.7";
|
||||||
disabled = !isPy27;
|
disabled = !isPy27;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "ModestMaps";
|
||||||
|
inherit version;
|
||||||
sha256 = "698442a170f02923f8ea55f18526b56c17178162e44304f896a8a5fd65ab4457";
|
sha256 = "698442a170f02923f8ea55f18526b56c17178162e44304f896a8a5fd65ab4457";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "MutatorMath";
|
pname = "mutatormath";
|
||||||
version = "3.0.1";
|
version = "3.0.1";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "MutatorMath";
|
||||||
|
inherit version;
|
||||||
sha256 = "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1";
|
sha256 = "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1";
|
||||||
extension = "zip";
|
extension = "zip";
|
||||||
};
|
};
|
||||||
|
|
103
pkgs/development/python-modules/naked/default.nix
Normal file
103
pkgs/development/python-modules/naked/default.nix
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
{ buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, lib
|
||||||
|
, requests
|
||||||
|
, pyyaml
|
||||||
|
, setuptools
|
||||||
|
, wheel
|
||||||
|
, nodejs
|
||||||
|
, ruby
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "naked";
|
||||||
|
version = "0.1.32";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "chrissimpkins";
|
||||||
|
repo = "naked";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-KhygnURFggvUTR9wwWtORtfQES8ANd5sIaCONvIhfRM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# fix hardcoded absolute paths
|
||||||
|
substituteInPlace **/*.* \
|
||||||
|
--replace /Users/ces/Desktop/code/naked /build/source
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ wheel setuptools ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
requests
|
||||||
|
pyyaml
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeCheckInputs = [ pytestCheckHook nodejs ruby ];
|
||||||
|
|
||||||
|
preCheck =''
|
||||||
|
cd tests
|
||||||
|
|
||||||
|
PATH=$PATH:$out/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
disabledTestPaths = [ "testfiles" ];
|
||||||
|
|
||||||
|
disabledTests = [
|
||||||
|
# test_NETWORK.py
|
||||||
|
"test_http_get"
|
||||||
|
"test_http_get_binary_file_absent"
|
||||||
|
"test_http_get_binary_file_exists"
|
||||||
|
"test_http_get_bin_type"
|
||||||
|
"test_http_get_follow_redirects"
|
||||||
|
"test_http_get_follow_redirects_false_content"
|
||||||
|
"test_http_get_follow_redirects_false_on_nofollow_arg"
|
||||||
|
"test_http_get_response_check_200"
|
||||||
|
"test_http_get_response_check_301"
|
||||||
|
"test_http_get_response_check_404"
|
||||||
|
"test_http_get_response_obj_present"
|
||||||
|
"test_http_get_ssl"
|
||||||
|
"test_http_get_status_check_true"
|
||||||
|
"test_http_get_status_ssl"
|
||||||
|
"test_http_get_status_ssl_redirect"
|
||||||
|
"test_http_get_text_absent"
|
||||||
|
"test_http_get_text_exists_request_overwrite"
|
||||||
|
"test_http_get_type"
|
||||||
|
"test_http_post"
|
||||||
|
"test_http_post_binary_file_absent"
|
||||||
|
"test_http_post_binary_file_present"
|
||||||
|
"test_http_post_binary_file_present_request_overwrite"
|
||||||
|
"test_http_post_reponse_status_200"
|
||||||
|
"test_http_post_response_status_200_ssl"
|
||||||
|
"test_http_post_ssl"
|
||||||
|
"test_http_post_status_check_true"
|
||||||
|
"test_http_post_text_file_absent"
|
||||||
|
"test_http_post_text_file_present_request_overwrite"
|
||||||
|
"test_http_post_type"
|
||||||
|
# test_SHELL.py
|
||||||
|
"test_muterun_missing_option_exitcode"
|
||||||
|
# test_SYSTEM.py
|
||||||
|
"test_sys_list_all_files"
|
||||||
|
"test_sys_list_all_files_cwd"
|
||||||
|
"test_sys_list_all_files_emptydir"
|
||||||
|
"test_sys_list_filter_files"
|
||||||
|
"test_sys_match_files"
|
||||||
|
"test_sys_match_files_fullpath"
|
||||||
|
"test_sys_meta_file_mod"
|
||||||
|
# test_TYPES.py
|
||||||
|
"test_xdict_key_random"
|
||||||
|
"test_xdict_key_random_sample"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "Naked" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A Python command line application framework";
|
||||||
|
homepage = "https://github.com/chrissimpkins/naked";
|
||||||
|
downloadPage = "https://github.com/chrissimpkins/naked/tags";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.lucasew ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -18,14 +18,15 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "netCDF4";
|
pname = "netcdf4";
|
||||||
version = "1.6.2";
|
version = "1.6.2";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = isPyPy;
|
disabled = isPyPy;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "netCDF4";
|
||||||
|
inherit version;
|
||||||
hash = "sha256-A4KwL/aiiEGfb/7IXexA9FH0G4dVVHFUxXXd2fD0rlM=";
|
hash = "sha256-A4KwL/aiiEGfb/7IXexA9FH0G4dVVHFUxXXd2fD0rlM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "niaclass";
|
pname = "niaclass";
|
||||||
version = "0.1.4";
|
version = "0.2.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||||
owner = "lukapecnik";
|
owner = "lukapecnik";
|
||||||
repo = "NiaClass";
|
repo = "NiaClass";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-md1e/cOIOQKoB760E5hjzjCsC5tS1CzgqAPTeVtrmuo=";
|
hash = "sha256-C3EF18lzheE+dXHJA6WJNFECAH4HfPiCDo7QxtHvOLI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = [
|
pythonRelaxDeps = [
|
||||||
|
|
|
@ -10,23 +10,23 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "oracledb";
|
pname = "oracledb";
|
||||||
version = "2.1.0";
|
version = "2.1.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-HJpEjJhD2zPxC3d9aSD7k5XqsLD9wX8WIPrHw+7NtXo=";
|
hash = "sha256-4ugXz6bf82xxMXNvNOKq7HXXJv040ZENgxgGGieCKPo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
cython_3
|
cython_3
|
||||||
setuptools
|
setuptools
|
||||||
wheel
|
wheel
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
cryptography
|
cryptography
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
}:
|
}:
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pinecone-client";
|
pname = "pinecone-client";
|
||||||
version = "3.1.0";
|
version = "3.2.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "pinecone_client";
|
pname = "pinecone_client";
|
||||||
inherit version;
|
inherit version;
|
||||||
hash = "sha256-RbggYBP5GpgrmU8fuqOefoyZ0w7zd4qfMZxDuMmS/EI=";
|
hash = "sha256-hWD/r7E7nEWpLrnrd6LbMtWh+nkDodsX969Y7hBYu2A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -6,12 +6,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyAudio";
|
pname = "pyaudio";
|
||||||
version = "0.2.14";
|
version = "0.2.14";
|
||||||
disabled = isPyPy;
|
disabled = isPyPy;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PyAudio";
|
||||||
|
inherit version;
|
||||||
hash = "sha256-eN//OHm0mU0fT8ZIVkald1XG7jwZZHpJH3kKCJW9L4c=";
|
hash = "sha256-eN//OHm0mU0fT8ZIVkald1XG7jwZZHpJH3kKCJW9L4c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,12 @@
|
||||||
, requests, mock }:
|
, requests, mock }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyBrowserID";
|
pname = "pybrowserid";
|
||||||
version = "0.14.0";
|
version = "0.14.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PyBrowserID";
|
||||||
|
inherit version;
|
||||||
sha256 = "1qvi79kfb8x9kxkm5lw2mp42hm82cpps1xknmsb5ghkwx1lpc8kc";
|
sha256 = "1qvi79kfb8x9kxkm5lw2mp42hm82cpps1xknmsb5ghkwx1lpc8kc";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -21,4 +22,3 @@ buildPythonPackage rec {
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, pytest }:
|
{ lib, buildPythonPackage, fetchPypi, pytest }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyMeeus";
|
pname = "pymeeus";
|
||||||
version = "0.5.12";
|
version = "0.5.12";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PyMeeus";
|
||||||
|
inherit version;
|
||||||
hash = "sha256-VI9xhr2LlsvAac9kmo6ON33OSax0SGcJhJ/mOpnK1oQ=";
|
hash = "sha256-VI9xhr2LlsvAac9kmo6ON33OSax0SGcJhJ/mOpnK1oQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,12 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
# PyMuPDF needs the C++ bindings generated
|
# PyMuPDF needs the C++ bindings generated
|
||||||
mupdf-cxx = mupdf.override { enableOcr = true; enableCxx = true; enablePython = true; python3 = python; };
|
mupdf-cxx = mupdf.override {
|
||||||
|
enableOcr = true;
|
||||||
|
enableCxx = true;
|
||||||
|
enablePython = true;
|
||||||
|
python3 = python;
|
||||||
|
};
|
||||||
in buildPythonPackage rec {
|
in buildPythonPackage rec {
|
||||||
pname = "pymupdf";
|
pname = "pymupdf";
|
||||||
version = "1.23.26";
|
version = "1.23.26";
|
||||||
|
@ -45,12 +50,12 @@ in buildPythonPackage rec {
|
||||||
hash = "sha256-m2zq04+PDnlzFuqeSt27UhdHXTHxpHdMPIg5RQl/5bQ=";
|
hash = "sha256-m2zq04+PDnlzFuqeSt27UhdHXTHxpHdMPIg5RQl/5bQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# swig is not wrapped as python package
|
# swig is not wrapped as Python package
|
||||||
# libclang calls itself just clang in wheel metadata
|
# libclang calls itself just clang in wheel metadata
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace pyproject.toml \
|
substituteInPlace pyproject.toml \
|
||||||
--replace '"swig",' "" \
|
--replace-fail '"swig",' "" \
|
||||||
--replace "libclang" "clang"
|
--replace-fail "libclang" "clang"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -95,16 +100,79 @@ in buildPythonPackage rec {
|
||||||
fonttools
|
fonttools
|
||||||
];
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export PATH="$PATH:$out/bin";
|
||||||
|
'';
|
||||||
|
|
||||||
disabledTests = [
|
disabledTests = [
|
||||||
# fails for indeterminate reasons
|
# fails for indeterminate reasons
|
||||||
"test_color_count"
|
|
||||||
"test_2753"
|
|
||||||
"test_2548"
|
"test_2548"
|
||||||
|
"test_2753"
|
||||||
|
"test_3020"
|
||||||
|
"test_3050"
|
||||||
|
"test_3058"
|
||||||
|
"test_3177"
|
||||||
|
"test_3186"
|
||||||
|
"test_color_count"
|
||||||
|
"test_pilsave"
|
||||||
|
"test_fz_write_pixmap_as_jpeg"
|
||||||
|
# NotImplementedError
|
||||||
|
"test_1824"
|
||||||
|
"test_2093"
|
||||||
|
"test_2093"
|
||||||
|
"test_2108"
|
||||||
|
"test_2182"
|
||||||
|
"test_2182"
|
||||||
|
"test_2246"
|
||||||
|
"test_2270"
|
||||||
|
"test_2270"
|
||||||
|
"test_2391"
|
||||||
|
"test_2788"
|
||||||
|
"test_2861"
|
||||||
|
"test_2871"
|
||||||
|
"test_2886"
|
||||||
|
"test_2904"
|
||||||
|
"test_2922"
|
||||||
|
"test_2934"
|
||||||
|
"test_2957"
|
||||||
|
"test_2969"
|
||||||
|
"test_3070"
|
||||||
|
"test_3131"
|
||||||
|
"test_3140"
|
||||||
|
"test_3209"
|
||||||
|
"test_3209"
|
||||||
|
"test_caret"
|
||||||
|
"test_deletion"
|
||||||
|
"test_file_info"
|
||||||
|
"test_line"
|
||||||
|
"test_page_links_generator"
|
||||||
|
"test_polyline"
|
||||||
|
"test_redact"
|
||||||
|
"test_techwriter_append"
|
||||||
|
"test_text2"
|
||||||
|
# Issue with FzArchive
|
||||||
|
"test_htmlbox"
|
||||||
|
"test_2246"
|
||||||
|
"test_3140"
|
||||||
|
"test_fit_springer"
|
||||||
|
"test_write_stabilized_with_links"
|
||||||
|
"test_textbox"
|
||||||
|
"test_delete_image"
|
||||||
|
# Fonts not available
|
||||||
|
"test_fontarchive"
|
||||||
|
"test_subset_fonts"
|
||||||
|
# Exclude lint tests
|
||||||
|
"test_flake8"
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
# darwin does not support OCR right now
|
# darwin does not support OCR right now
|
||||||
"test_tesseract"
|
"test_tesseract"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
disabledTestPaths = [
|
||||||
|
# Issue with FzArchive
|
||||||
|
"tests/test_docs_samples.py"
|
||||||
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [
|
pythonImportsCheck = [
|
||||||
"fitz"
|
"fitz"
|
||||||
"fitz_old"
|
"fitz_old"
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyNamecheap";
|
pname = "pynamecheap";
|
||||||
version = "0.0.3";
|
version = "0.0.3";
|
||||||
|
|
||||||
propagatedBuildInputs = [ requests ];
|
propagatedBuildInputs = [ requests ];
|
||||||
|
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Bemmu";
|
owner = "Bemmu";
|
||||||
repo = pname;
|
repo = "PyNamecheap";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1g1cd2yc6rpdsc5ax7s93y5nfkf91gcvbgcaqyl9ida6srd9hr97";
|
sha256 = "1g1cd2yc6rpdsc5ax7s93y5nfkf91gcvbgcaqyl9ida6srd9hr97";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ stdenv, lib, fetchPypi, buildPythonPackage, libvorbis, flac, libogg, libopus, opusfile, substituteAll }:
|
{ stdenv, lib, fetchPypi, buildPythonPackage, libvorbis, flac, libogg, libopus, opusfile, substituteAll }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyOgg";
|
pname = "pyogg";
|
||||||
version = "0.6.9a1";
|
version = "0.6.9a1";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PyOgg";
|
||||||
|
inherit version;
|
||||||
sha256 = "0xabqwyknpvfc53s7il5pq6b07fcaqvz5bi5vbs3pbaw8602qvim";
|
sha256 = "0xabqwyknpvfc53s7il5pq6b07fcaqvz5bi5vbs3pbaw8602qvim";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyoverkiz";
|
pname = "pyoverkiz";
|
||||||
version = "1.13.8";
|
version = "1.13.9";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||||
owner = "iMicknl";
|
owner = "iMicknl";
|
||||||
repo = "python-overkiz-api";
|
repo = "python-overkiz-api";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-tvS7aPfBTs75Rq1WGslWDMv1pOTVt7MtwpXPRJtqbuk=";
|
hash = "sha256-J1nsRB9KYg3yUuxQV79/Udjjkux+BE4YcawpRJcSYHI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -8,13 +8,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyPDF2";
|
pname = "pypdf2";
|
||||||
version = "3.0.1";
|
version = "3.0.1";
|
||||||
|
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PyPDF2";
|
||||||
|
inherit version;
|
||||||
hash = "sha256-p0QI9pumJx9xuTUu9O0D3FOjGqQE0ptdMfU7/s/uFEA=";
|
hash = "sha256-p0QI9pumJx9xuTUu9O0D3FOjGqQE0ptdMfU7/s/uFEA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyPlatec";
|
pname = "pyplatec";
|
||||||
version = "1.4.0";
|
version = "1.4.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PyPlatec";
|
||||||
|
inherit version;
|
||||||
sha256 = "0kqx33flcrrlipccmqs78d14pj5749bp85b6k5fgaq2c7yzz02jg";
|
sha256 = "0kqx33flcrrlipccmqs78d14pj5749bp85b6k5fgaq2c7yzz02jg";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
, pytest }:
|
, pytest }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PyPrind";
|
pname = "pyprind";
|
||||||
version = "2.11.3";
|
version = "2.11.3";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PyPrind";
|
||||||
|
inherit version;
|
||||||
sha256 = "e37dcab6e1a9c8e0a7f0fce65fde7a79e2deda1c75aa015910a49e2137b54cbf";
|
sha256 = "e37dcab6e1a9c8e0a7f0fce65fde7a79e2deda1c75aa015910a49e2137b54cbf";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyReaderWriterLock";
|
pname = "pyreaderwriterlock";
|
||||||
version = "1.0.9";
|
version = "1.0.9";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "elarivie";
|
owner = "elarivie";
|
||||||
repo = pname;
|
repo = "pyReaderWriterLock";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-8FC+4aDgGpF1BmOdlkFtMy7OfWdSmvn9fjKXSmmeJlg=";
|
hash = "sha256-8FC+4aDgGpF1BmOdlkFtMy7OfWdSmvn9fjKXSmmeJlg=";
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
pname = "PySC2";
|
pname = "pysc2";
|
||||||
version = "1.2";
|
version = "1.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyScss";
|
pname = "pyscss";
|
||||||
version = "1.4.0";
|
version = "1.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
|
@ -14,12 +14,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PySpice";
|
pname = "pyspice";
|
||||||
version = "1.5";
|
version = "1.5";
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PySpice";
|
||||||
|
inherit version;
|
||||||
sha256 = "d28448accad98959e0f5932af8736e90a1f3f9ff965121c6881d24cdfca23d22";
|
sha256 = "d28448accad98959e0f5932af8736e90a1f3f9ff965121c6881d24cdfca23d22";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, requests, requests-cache, beautifulsoup4 }:
|
{ lib, buildPythonPackage, fetchPypi, requests, requests-cache, beautifulsoup4 }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "PySychonaut";
|
pname = "pysychonaut";
|
||||||
version = "0.6.0";
|
version = "0.6.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
pname = "PySychonaut";
|
||||||
|
inherit version;
|
||||||
sha256 = "1wgk445gmi0x7xmd8qvnyxy1ka0n72fr6nrhzdm29q6687dqyi7h";
|
sha256 = "1wgk445gmi0x7xmd8qvnyxy1ka0n72fr6nrhzdm29q6687dqyi7h";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -9,11 +9,12 @@
|
||||||
, pontos
|
, pontos
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, typing-extensions
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "python-gvm";
|
pname = "python-gvm";
|
||||||
version = "24.1.0";
|
version = "24.3.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -22,17 +23,18 @@ buildPythonPackage rec {
|
||||||
owner = "greenbone";
|
owner = "greenbone";
|
||||||
repo = "python-gvm";
|
repo = "python-gvm";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-1MJajawm/QdioZM+/efnXOAFcuDOk/xJ1acPrxKp700=";
|
hash = "sha256-GIEsP8+RJMIehsBbZWpIRXCdqxm042lPbYTHY7/fknM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
build-system = [
|
||||||
poetry-core
|
poetry-core
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
dependencies = [
|
||||||
defusedxml
|
defusedxml
|
||||||
lxml
|
lxml
|
||||||
paramiko
|
paramiko
|
||||||
|
typing-extensions
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue