Merge master into staging-next
This commit is contained in:
commit
38df468246
@ -197,6 +197,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
|
||||
- [your_spotify](https://github.com/Yooooomi/your_spotify), a self hosted Spotify tracking dashboard. Available as [services.your_spotify](#opt-services.your_spotify.enable)
|
||||
|
||||
- [FileSender](https://filesender.org/), a file sharing software. Available as [services.filesender](#opt-services.filesender.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -47,7 +47,7 @@ python3Packages.buildPythonApplication {
|
||||
echo -e "\x1b[32m## run mypy\x1b[0m"
|
||||
mypy test_driver extract-docstrings.py
|
||||
echo -e "\x1b[32m## run ruff\x1b[0m"
|
||||
ruff .
|
||||
ruff check .
|
||||
echo -e "\x1b[32m## run black\x1b[0m"
|
||||
black --check --diff .
|
||||
'';
|
||||
|
@ -19,8 +19,8 @@ test_driver = ["py.typed"]
|
||||
[tool.ruff]
|
||||
line-length = 88
|
||||
|
||||
select = ["E", "F", "I", "U", "N"]
|
||||
ignore = ["E501"]
|
||||
lint.select = ["E", "F", "I", "U", "N"]
|
||||
lint.ignore = ["E501"]
|
||||
|
||||
# xxx: we can import https://pypi.org/project/types-colorama/ here
|
||||
[[tool.mypy.overrides]]
|
||||
|
@ -1353,6 +1353,7 @@
|
||||
./services/web-apps/dolibarr.nix
|
||||
./services/web-apps/engelsystem.nix
|
||||
./services/web-apps/ethercalc.nix
|
||||
./services/web-apps/filesender.nix
|
||||
./services/web-apps/firefly-iii.nix
|
||||
./services/web-apps/flarum.nix
|
||||
./services/web-apps/fluidd.nix
|
||||
|
@ -60,10 +60,8 @@ in {
|
||||
qt.enable = true;
|
||||
environment.systemPackages = with kdePackages; let
|
||||
requiredPackages = [
|
||||
# Hack? To make everything run on Wayland
|
||||
qtwayland
|
||||
# Needed to render SVG icons
|
||||
qtsvg
|
||||
qtwayland # Hack? To make everything run on Wayland
|
||||
qtsvg # Needed to render SVG icons
|
||||
|
||||
# Frameworks with globally loadable bits
|
||||
frameworkintegration # provides Qt plugin
|
||||
@ -75,6 +73,9 @@ in {
|
||||
kiconthemes # provides Qt plugins
|
||||
kimageformats # provides Qt plugins
|
||||
kio # provides helper service + a bunch of other stuff
|
||||
kio-admin # managing files as admin
|
||||
kio-extras # stuff for MTP, AFC, etc
|
||||
kio-fuse # fuse interface for KIO
|
||||
kpackage # provides kpackagetool tool
|
||||
kservice # provides kbuildsycoca6 tool
|
||||
kwallet # provides helper service
|
||||
@ -87,30 +88,26 @@ in {
|
||||
# Core Plasma parts
|
||||
kwin
|
||||
pkgs.xwayland
|
||||
|
||||
kscreen
|
||||
libkscreen
|
||||
|
||||
kscreenlocker
|
||||
|
||||
kactivitymanagerd
|
||||
kde-cli-tools
|
||||
kglobalacceld
|
||||
kglobalacceld # keyboard shortcut daemon
|
||||
kwrited # wall message proxy, not to be confused with kwrite
|
||||
|
||||
milou
|
||||
polkit-kde-agent-1
|
||||
|
||||
baloo # system indexer
|
||||
milou # search engine atop baloo
|
||||
kdegraphics-thumbnailers # pdf etc thumbnailer
|
||||
polkit-kde-agent-1 # polkit auth ui
|
||||
plasma-desktop
|
||||
plasma-workspace
|
||||
|
||||
# Crash handler
|
||||
drkonqi
|
||||
drkonqi # crash handler
|
||||
kde-inotify-survey # warns the user on low inotifywatch limits
|
||||
|
||||
# Application integration
|
||||
libplasma # provides Kirigami platform theme
|
||||
plasma-integration # provides Qt platform theme
|
||||
kde-gtk-config
|
||||
kde-gtk-config # syncs KDE settings to GTK
|
||||
|
||||
# Artwork + themes
|
||||
breeze
|
||||
@ -124,37 +121,21 @@ in {
|
||||
|
||||
# misc Plasma extras
|
||||
kdeplasma-addons
|
||||
|
||||
pkgs.xdg-user-dirs # recommended upstream
|
||||
|
||||
# Plasma utilities
|
||||
kmenuedit
|
||||
|
||||
kinfocenter
|
||||
plasma-systemmonitor
|
||||
ksystemstats
|
||||
libksysguard
|
||||
|
||||
spectacle
|
||||
systemsettings
|
||||
kcmutils
|
||||
|
||||
# Gear
|
||||
baloo
|
||||
dolphin
|
||||
dolphin-plugins
|
||||
ffmpegthumbs
|
||||
kdegraphics-thumbnailers
|
||||
kde-inotify-survey
|
||||
kio-admin
|
||||
kio-extras
|
||||
kio-fuse
|
||||
];
|
||||
optionalPackages = [
|
||||
plasma-browser-integration
|
||||
konsole
|
||||
(lib.getBin qttools) # Expose qdbus in PATH
|
||||
|
||||
ark
|
||||
elisa
|
||||
gwenview
|
||||
@ -162,6 +143,10 @@ in {
|
||||
kate
|
||||
khelpcenter
|
||||
print-manager
|
||||
dolphin
|
||||
dolphin-plugins
|
||||
spectacle
|
||||
ffmpegthumbs
|
||||
];
|
||||
in
|
||||
requiredPackages
|
||||
|
49
nixos/modules/services/web-apps/filesender.md
Normal file
49
nixos/modules/services/web-apps/filesender.md
Normal file
@ -0,0 +1,49 @@
|
||||
# FileSender {#module-services-filesender}
|
||||
|
||||
[FileSender](https://filesender.org/software/) is a software that makes it easy to send and receive big files.
|
||||
|
||||
## Quickstart {#module-services-filesender-quickstart}
|
||||
|
||||
FileSender uses [SimpleSAMLphp](https://simplesamlphp.org/) for authentication, which needs to be configured separately.
|
||||
|
||||
Minimal working instance of FileSender that uses password-authentication would look like this:
|
||||
|
||||
```nix
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||
services.filesender = {
|
||||
enable = true;
|
||||
localDomain = "filesender.example.com";
|
||||
configureNginx = true;
|
||||
database.createLocally = true;
|
||||
|
||||
settings = {
|
||||
auth_sp_saml_authentication_source = "default";
|
||||
auth_sp_saml_uid_attribute = "uid";
|
||||
storage_filesystem_path = "<STORAGE PATH FOR UPLOADED FILES>";
|
||||
admin = "admin";
|
||||
admin_email = "admin@example.com";
|
||||
email_reply_to = "noreply@example.com";
|
||||
};
|
||||
};
|
||||
services.simplesamlphp.filesender = {
|
||||
settings = {
|
||||
"module.enable".exampleauth = true;
|
||||
};
|
||||
authSources = {
|
||||
admin = [ "core:AdminPassword" ];
|
||||
default = format.lib.mkMixedArray [ "exampleauth:UserPass" ] {
|
||||
"admin:admin123" = {
|
||||
uid = [ "admin" ];
|
||||
cn = [ "admin" ];
|
||||
mail = [ "admin@example.com" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
::: {.warning}
|
||||
Example above uses hardcoded clear-text password, in production you should use other authentication method like LDAP. You can check supported authentication methods [in SimpleSAMLphp documentation](https://simplesamlphp.org/docs/stable/simplesamlphp-idp.html).
|
||||
:::
|
253
nixos/modules/services/web-apps/filesender.nix
Normal file
253
nixos/modules/services/web-apps/filesender.nix
Normal file
@ -0,0 +1,253 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
format = pkgs.formats.php { finalVariable = "config"; };
|
||||
|
||||
cfg = config.services.filesender;
|
||||
simpleSamlCfg = config.services.simplesamlphp.filesender;
|
||||
fpm = config.services.phpfpm.pools.filesender;
|
||||
|
||||
filesenderConfigDirectory = pkgs.runCommand "filesender-config" { } ''
|
||||
mkdir $out
|
||||
cp ${format.generate "config.php" cfg.settings} $out/config.php
|
||||
'';
|
||||
in
|
||||
{
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ nhnn ];
|
||||
doc = ./filesender.md;
|
||||
};
|
||||
|
||||
options.services.filesender = with lib; {
|
||||
enable = mkEnableOption "FileSender";
|
||||
package = mkPackageOption pkgs "filesender" { };
|
||||
user = mkOption {
|
||||
description = "User under which filesender runs.";
|
||||
type = types.str;
|
||||
default = "filesender";
|
||||
};
|
||||
database = {
|
||||
createLocally = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Create the PostgreSQL database and database user locally.
|
||||
'';
|
||||
};
|
||||
hostname = mkOption {
|
||||
type = types.str;
|
||||
default = "/run/postgresql";
|
||||
description = "Database hostname.";
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 5432;
|
||||
description = "Database port.";
|
||||
};
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
default = "filesender";
|
||||
description = "Database name.";
|
||||
};
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "filesender";
|
||||
description = "Database user.";
|
||||
};
|
||||
passwordFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = "/run/keys/filesender-dbpassword";
|
||||
description = ''
|
||||
A file containing the password corresponding to
|
||||
[](#opt-services.filesender.database.user).
|
||||
'';
|
||||
};
|
||||
};
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
site_url = mkOption {
|
||||
type = types.str;
|
||||
description = "Site URL. Used in emails, to build URLs for logging in, logging out, build URL for upload endpoint for web workers, to include scripts etc.";
|
||||
};
|
||||
admin = mkOption {
|
||||
type = types.commas;
|
||||
description = ''
|
||||
UIDs (as per the configured saml_uid_attribute) of FileSender administrators.
|
||||
Accounts with these UIDs can access the Admin page through the web UI.
|
||||
'';
|
||||
};
|
||||
admin_email = mkOption {
|
||||
type = types.commas;
|
||||
description = ''
|
||||
Email address of FileSender administrator(s).
|
||||
Emails regarding disk full etc. are sent here.
|
||||
You should use a role-address here.
|
||||
'';
|
||||
};
|
||||
storage_filesystem_path = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
description = "When using storage type filesystem this is the absolute path to the file system where uploaded files are stored until they expire. Your FileSender storage root.";
|
||||
};
|
||||
log_facilities = mkOption {
|
||||
type = format.type;
|
||||
default = [ { type = "error_log"; } ];
|
||||
description = "Defines where FileSender logging is sent. You can sent logging to a file, to syslog or to the default PHP log facility (as configured through your webserver's PHP module). The directive takes an array of one or more logging targets. Logging can be sent to multiple targets simultaneously. Each logging target is a list containing the name of the logging target and a number of attributes which vary per log target. See below for the exact definiation of each log target.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration options used by FileSender.
|
||||
See [](https://docs.filesender.org/filesender/v2.0/admin/configuration/)
|
||||
for available options.
|
||||
'';
|
||||
};
|
||||
configureNginx = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Configure nginx as a reverse proxy for FileSender.";
|
||||
};
|
||||
localDomain = mkOption {
|
||||
type = types.str;
|
||||
example = "filesender.example.org";
|
||||
description = "The domain serving your FileSender instance.";
|
||||
};
|
||||
poolSettings = mkOption {
|
||||
type =
|
||||
with types;
|
||||
attrsOf (oneOf [
|
||||
str
|
||||
int
|
||||
bool
|
||||
]);
|
||||
default = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = "32";
|
||||
"pm.start_servers" = "2";
|
||||
"pm.min_spare_servers" = "2";
|
||||
"pm.max_spare_servers" = "4";
|
||||
"pm.max_requests" = "500";
|
||||
};
|
||||
description = ''
|
||||
Options for FileSender's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.
|
||||
'';
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.simplesamlphp.filesender = {
|
||||
phpfpmPool = "filesender";
|
||||
localDomain = cfg.localDomain;
|
||||
settings.baseurlpath = lib.mkDefault "https://${cfg.localDomain}/saml";
|
||||
};
|
||||
|
||||
services.phpfpm = {
|
||||
pools.filesender = {
|
||||
user = cfg.user;
|
||||
group = config.services.nginx.group;
|
||||
phpEnv = {
|
||||
FILESENDER_CONFIG_DIR = toString filesenderConfigDirectory;
|
||||
SIMPLESAMLPHP_CONFIG_DIR = toString simpleSamlCfg.configDir;
|
||||
};
|
||||
settings = {
|
||||
"listen.owner" = config.services.nginx.user;
|
||||
"listen.group" = config.services.nginx.group;
|
||||
} // cfg.poolSettings;
|
||||
};
|
||||
};
|
||||
|
||||
services.nginx = lib.mkIf cfg.configureNginx {
|
||||
enable = true;
|
||||
virtualHosts.${cfg.localDomain} = {
|
||||
root = "${cfg.package}/www";
|
||||
extraConfig = ''
|
||||
index index.php;
|
||||
'';
|
||||
locations = {
|
||||
"/".extraConfig = ''
|
||||
try_files $uri $uri/ /index.php?args;
|
||||
'';
|
||||
"~ [^/]\\.php(/|$)" = {
|
||||
extraConfig = ''
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:${fpm.socket};
|
||||
include ${pkgs.nginx}/conf/fastcgi.conf;
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
'';
|
||||
};
|
||||
"~ /\\.".extraConfig = "deny all;";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql = lib.mkIf cfg.database.createLocally {
|
||||
enable = true;
|
||||
ensureDatabases = [ cfg.database.name ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = cfg.database.user;
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.filesender.settings = lib.mkMerge [
|
||||
(lib.mkIf cfg.database.createLocally {
|
||||
db_host = "/run/postgresql";
|
||||
db_port = "5432";
|
||||
db_password = "."; # FileSender requires it even when on UNIX socket auth.
|
||||
})
|
||||
(lib.mkIf (!cfg.database.createLocally) {
|
||||
db_host = cfg.database.hostname;
|
||||
db_port = toString cfg.database.port;
|
||||
db_password = format.lib.mkRaw "file_get_contents('${cfg.database.passwordFile}')";
|
||||
})
|
||||
{
|
||||
site_url = lib.mkDefault "https://${cfg.localDomain}";
|
||||
db_type = "pgsql";
|
||||
db_username = cfg.database.user;
|
||||
db_database = cfg.database.name;
|
||||
"auth_sp_saml_simplesamlphp_url" = "/saml";
|
||||
"auth_sp_saml_simplesamlphp_location" = "${simpleSamlCfg.libDir}";
|
||||
}
|
||||
];
|
||||
|
||||
systemd.services.filesender-initdb = {
|
||||
description = "Init filesender DB";
|
||||
|
||||
wantedBy = [
|
||||
"multi-user.target"
|
||||
"phpfpm-filesender.service"
|
||||
];
|
||||
after = [ "postgresql.service" ];
|
||||
|
||||
restartIfChanged = true;
|
||||
|
||||
serviceConfig = {
|
||||
Environment = [
|
||||
"FILESENDER_CONFIG_DIR=${toString filesenderConfigDirectory}"
|
||||
"SIMPLESAMLPHP_CONFIG_DIR=${toString simpleSamlCfg.configDir}"
|
||||
];
|
||||
Type = "oneshot";
|
||||
Group = config.services.nginx.group;
|
||||
User = "filesender";
|
||||
ExecStart = "${fpm.phpPackage}/bin/php ${cfg.package}/scripts/upgrade/database.php";
|
||||
};
|
||||
};
|
||||
|
||||
users.extraUsers.filesender = lib.mkIf (cfg.user == "filesender") {
|
||||
home = "/var/lib/filesender";
|
||||
group = config.services.nginx.group;
|
||||
createHome = true;
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -49,8 +49,15 @@ in
|
||||
|
||||
data_dir = mkOption {
|
||||
default = "/var/lib/garage/data";
|
||||
type = types.path;
|
||||
description = "The main data storage, put this on your large storage (e.g. high capacity HDD)";
|
||||
example = [ {
|
||||
path = "/var/lib/garage/data";
|
||||
capacity = "2T";
|
||||
} ];
|
||||
type = with types; either path (listOf attrs);
|
||||
description = ''
|
||||
The directory in which Garage will store the data blocks of objects. This folder can be placed on an HDD.
|
||||
Since v0.9.0, Garage supports multiple data directories, refer to https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#data_dir for the exact format.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -312,6 +312,7 @@ in {
|
||||
fenics = handleTest ./fenics.nix {};
|
||||
ferm = handleTest ./ferm.nix {};
|
||||
ferretdb = handleTest ./ferretdb.nix {};
|
||||
filesender = handleTest ./filesender.nix {};
|
||||
filesystems-overlayfs = runTest ./filesystems-overlayfs.nix;
|
||||
firefly-iii = handleTest ./firefly-iii.nix {};
|
||||
firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
|
||||
|
137
nixos/tests/filesender.nix
Normal file
137
nixos/tests/filesender.nix
Normal file
@ -0,0 +1,137 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "filesender";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ nhnn ];
|
||||
broken = pkgs.stdenv.isAarch64; # selenium.common.exceptions.WebDriverException: Message: Unsupported platform/architecture combination: linux/aarch64
|
||||
};
|
||||
|
||||
nodes.filesender = { ... }: let
|
||||
format = pkgs.formats.php { };
|
||||
in {
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
services.filesender.enable = true;
|
||||
services.filesender.localDomain = "filesender";
|
||||
services.filesender.settings = {
|
||||
auth_sp_saml_authentication_source = "default";
|
||||
auth_sp_saml_uid_attribute = "uid";
|
||||
storage_filesystem_path = "/tmp";
|
||||
site_url = "http://filesender";
|
||||
force_ssl = false;
|
||||
admin = "";
|
||||
admin_email = "admin@localhost";
|
||||
email_reply_to = "noreply@localhost";
|
||||
};
|
||||
services.simplesamlphp.filesender = {
|
||||
settings = {
|
||||
baseurlpath = "http://filesender/saml";
|
||||
"module.enable".exampleauth = true;
|
||||
};
|
||||
authSources = {
|
||||
admin = [ "core:AdminPassword" ];
|
||||
default = format.lib.mkMixedArray [ "exampleauth:UserPass" ] {
|
||||
"user:password" = {
|
||||
uid = [ "user" ];
|
||||
cn = [ "user" ];
|
||||
mail = [ "user@nixos.org" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nodes.client =
|
||||
{ pkgs
|
||||
, nodes
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
filesenderIP = (builtins.head (nodes.filesender.networking.interfaces.eth1.ipv4.addresses)).address;
|
||||
in
|
||||
{
|
||||
networking.hosts.${filesenderIP} = [ "filesender" ];
|
||||
|
||||
environment.systemPackages =
|
||||
let
|
||||
username = "user";
|
||||
password = "password";
|
||||
browser-test =
|
||||
pkgs.writers.writePython3Bin "browser-test"
|
||||
{
|
||||
libraries = [ pkgs.python3Packages.selenium ];
|
||||
flakeIgnore = [ "E124" "E501" ];
|
||||
} ''
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver import Firefox
|
||||
from selenium.webdriver.firefox.options import Options
|
||||
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
|
||||
from selenium.webdriver.firefox.service import Service
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from subprocess import STDOUT
|
||||
import string
|
||||
import random
|
||||
import logging
|
||||
import time
|
||||
selenium_logger = logging.getLogger("selenium")
|
||||
selenium_logger.setLevel(logging.DEBUG)
|
||||
selenium_logger.addHandler(logging.StreamHandler())
|
||||
profile = FirefoxProfile()
|
||||
profile.set_preference("browser.download.folderList", 2)
|
||||
profile.set_preference("browser.download.manager.showWhenStarting", False)
|
||||
profile.set_preference("browser.download.dir", "/tmp/firefox")
|
||||
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain;text/txt")
|
||||
options = Options()
|
||||
options.profile = profile
|
||||
options.add_argument('--headless')
|
||||
service = Service(log_output=STDOUT)
|
||||
driver = Firefox(options=options)
|
||||
driver.set_window_size(1024, 768)
|
||||
driver.implicitly_wait(30)
|
||||
driver.get('http://filesender/')
|
||||
wait = WebDriverWait(driver, 20)
|
||||
wait.until(EC.title_contains("FileSender"))
|
||||
driver.find_element(By.ID, "btn_logon").click()
|
||||
wait.until(EC.title_contains("Enter your username and password"))
|
||||
driver.find_element(By.ID, 'username').send_keys(
|
||||
'${username}'
|
||||
)
|
||||
driver.find_element(By.ID, 'password').send_keys(
|
||||
'${password}'
|
||||
)
|
||||
driver.find_element(By.ID, "submit_button").click()
|
||||
wait.until(EC.title_contains("FileSender"))
|
||||
wait.until(EC.presence_of_element_located((By.ID, "topmenu_logoff")))
|
||||
test_string = "".join(random.choices(string.ascii_uppercase + string.digits, k=20))
|
||||
with open("/tmp/test_file.txt", "w") as file:
|
||||
file.write(test_string)
|
||||
driver.find_element(By.ID, "files").send_keys("/tmp/test_file.txt")
|
||||
time.sleep(2)
|
||||
driver.find_element(By.CSS_SELECTOR, '.start').click()
|
||||
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".download_link")))
|
||||
download_link = driver.find_element(By.CSS_SELECTOR, '.download_link > textarea').get_attribute('value').strip()
|
||||
driver.get(download_link)
|
||||
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".download")))
|
||||
driver.find_element(By.CSS_SELECTOR, '.download').click()
|
||||
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".ui-dialog-buttonset > button:nth-child(2)")))
|
||||
driver.find_element(By.CSS_SELECTOR, ".ui-dialog-buttonset > button:nth-child(2)").click()
|
||||
driver.close()
|
||||
driver.quit()
|
||||
'';
|
||||
in
|
||||
[
|
||||
pkgs.firefox-unwrapped
|
||||
pkgs.geckodriver
|
||||
browser-test
|
||||
];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
filesender.wait_for_file("/run/phpfpm/filesender.sock")
|
||||
filesender.wait_for_open_port(80)
|
||||
if "If you have received an invitation to access this site as a guest" not in client.wait_until_succeeds("curl -sS -f http://filesender"):
|
||||
raise Exception("filesender returned invalid html")
|
||||
client.succeed("browser-test")
|
||||
'';
|
||||
})
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snd";
|
||||
version = "24.3";
|
||||
version = "24.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
|
||||
sha256 = "sha256-riy8WrL6jbD4aYnFf9x5DVeYabmty0OCb53jP3iVD9I=";
|
||||
sha256 = "sha256-nP4ngNUQvveSQBEqXlzYdaqD0SGzTDPwIiWhSabRu+8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dcrwallet";
|
||||
version = "1.8.1";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "decred";
|
||||
repo = "dcrwallet";
|
||||
rev = "release-v${version}";
|
||||
hash = "sha256-Pz25jExqbvy8fgiZy9vaYuVp8kuE6deGLlBEjxTnYGQ=";
|
||||
hash = "sha256-KBmEMYNVHGkkFXE99nI0uCGGDpkC0MvSFWFPEQwvx+o=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-lvN7OcDoEzb9LyH9C5q8pd0BOnF2VKuh4O82U+tQ6fI=";
|
||||
vendorHash = "sha256-66S1evvX/SEKFXB00dyI9IEuV8dmqM+k1wuhTtgVpBs=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -15,10 +15,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-atari800",
|
||||
"rev": "410d7bf0c215f3444793a9cec51c129e7b67c400",
|
||||
"hash": "sha256-mUhAraZrmElB6rxQziQG6I2sCdkiX5wYBJhkZgpMSa0="
|
||||
"rev": "8bfa3b80f6a2db365dfd1e8a6c06b7b0844327cf",
|
||||
"hash": "sha256-sUv1NT5aOwULOCC9vCrlRXcvVdlfZk9dmPMZg2NGAPg="
|
||||
},
|
||||
"version": "unstable-2023-11-14"
|
||||
"version": "unstable-2024-05-18"
|
||||
},
|
||||
"beetle-gba": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -95,10 +95,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-saturn-libretro",
|
||||
"rev": "8192ecca34d44f8f85175fa7b7fab6ec2ffb31c2",
|
||||
"hash": "sha256-2YDfyIEoCj9dM+d3+UOTFVNA56OnBNO5HgJAjoV7Xik="
|
||||
"rev": "7a8f808a1d447fcb8fa9547d9f163eb3600d3086",
|
||||
"hash": "sha256-Yp1HuhbsQGicrFeIbnJP6Rd6hVK4BRclUnPKZlYC7pM="
|
||||
},
|
||||
"version": "unstable-2024-02-25"
|
||||
"version": "unstable-2024-05-19"
|
||||
},
|
||||
"beetle-supafaust": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -155,10 +155,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "bluemsx-libretro",
|
||||
"rev": "0dcb73adef9601ca70d94b3f4e3ba1b3b54edbc0",
|
||||
"hash": "sha256-jjo9vUMRZjHwhnh5OiC1JuNc/diJWoa/GcHwHnLIFqw="
|
||||
"rev": "df29d437204af0a5158b6ecb2d6b68296f8d979a",
|
||||
"hash": "sha256-ULDnLHbEQ1+VR3axfbVaH4Kkuq/UDBA9JGuW9beraZ4="
|
||||
},
|
||||
"version": "unstable-2024-05-17"
|
||||
"version": "unstable-2024-05-20"
|
||||
},
|
||||
"bsnes": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -246,10 +246,10 @@
|
||||
"src": {
|
||||
"owner": "schellingb",
|
||||
"repo": "dosbox-pure",
|
||||
"rev": "640452c18bbe15bfea4763883bcbc277317f1b6f",
|
||||
"hash": "sha256-d1iyJNnq+ZbwAiRNOpmk+fDMnO/yg8EkvOuuHoyIyVw="
|
||||
"rev": "1c7ad4fafc5204e3aff83e2caa6020cb2fe43a2d",
|
||||
"hash": "sha256-cOamfnwLilAz2I8CKA18JvauadbObuAq4JabNcdw7EQ="
|
||||
},
|
||||
"version": "unstable-2024-05-15"
|
||||
"version": "unstable-2024-05-20"
|
||||
},
|
||||
"easyrpg": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -287,10 +287,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbneo",
|
||||
"rev": "d64b24ca2eaf5dcdc0e9e5a8ada95af736ec80d7",
|
||||
"hash": "sha256-3arvKLXFXr7+s08IF4Qv215qfvi6uOk3afpo8zT4d3I="
|
||||
"rev": "312473be86f25e1a0456d4bb9d12462d90d59131",
|
||||
"hash": "sha256-QU+ZG1onr3BtXZAUT9o5LypFozZsAF6biTj05sKtV+s="
|
||||
},
|
||||
"version": "unstable-2024-05-15"
|
||||
"version": "unstable-2024-05-20"
|
||||
},
|
||||
"fceumm": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -307,11 +307,11 @@
|
||||
"src": {
|
||||
"owner": "flyinghead",
|
||||
"repo": "flycast",
|
||||
"rev": "88f23958ace20840fb2666ccc42750a6f9b20d19",
|
||||
"hash": "sha256-foLCf8E8HNT2DgSM5sUN4fkvJqBrlvOU6XBK4NgZzEU=",
|
||||
"rev": "0fa3e9a37b37d2ab200a910ff2a5736ca8c57a1b",
|
||||
"hash": "sha256-c2cDQ2MSsP/rUrX89Mj5Gplb0WS2EjjOBCNd5QFbuHw=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-17"
|
||||
"version": "unstable-2024-05-21"
|
||||
},
|
||||
"fmsx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -408,11 +408,11 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame",
|
||||
"rev": "1c6d288bf15705ab93c66a11af40eaf9d2a515a2",
|
||||
"hash": "sha256-h5hMfCwoECTyH/VU7IheQg5Jx9skpYrZlA9Xh+4lotQ=",
|
||||
"rev": "4ee35952a8fdb1332e970fa14c3e79c8c968050c",
|
||||
"hash": "sha256-UIAMq8AIdLKX8SIF2V0+Vc6kHPJ0rmdx4BeqoSrCfFE=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-09"
|
||||
"version": "unstable-2024-05-21"
|
||||
},
|
||||
"mame2000": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -429,20 +429,20 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-libretro",
|
||||
"rev": "aed807fce1acd4fbc70f7ced8fa52548220082ac",
|
||||
"hash": "sha256-48C2vJIFfna2LcbcLVTTVmJzvV87DZBa+6UQz/LfaVU="
|
||||
"rev": "cb2c76b2185c6600d1985b041eae001c674ffc08",
|
||||
"hash": "sha256-HBDJsYEC4G/wELYe8IGfq+9Hv2Sx+v52YxYfLQRZ+ns="
|
||||
},
|
||||
"version": "unstable-2024-05-17"
|
||||
"version": "unstable-2024-05-21"
|
||||
},
|
||||
"mame2003-plus": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-plus-libretro",
|
||||
"rev": "f0135f7f610c43496f376dfddbc60fc0ed24a736",
|
||||
"hash": "sha256-jHilxNFL+n8QesjgD6lt8HQSVwA4uiLMsNa1JkkCIuA="
|
||||
"rev": "97dfe652dba01872bc5dd5d13a0dfb6588286adf",
|
||||
"hash": "sha256-BQoc8y0eJkK8PpPqHjQ8qKp8/xrjl789bxNy+RdU3Sc="
|
||||
},
|
||||
"version": "unstable-2024-05-17"
|
||||
"version": "unstable-2024-05-21"
|
||||
},
|
||||
"mame2010": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -529,21 +529,21 @@
|
||||
"src": {
|
||||
"owner": "Javanaise",
|
||||
"repo": "mrboom-libretro",
|
||||
"rev": "d9695504924344eb681b526d0cc3bb5e3884a32b",
|
||||
"hash": "sha256-incaTU5pFv5K4jeiWx09Cp50+4Ewf13tT83zr7Zidmo=",
|
||||
"rev": "a7af125dc9ef65c9a1b43136a75374bbac5458ee",
|
||||
"hash": "sha256-hPJ8MpJOPGkckB0rj1uQ9BmY+0//Lj9jfNA9hfpdu3o=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-17"
|
||||
"version": "unstable-2024-05-19"
|
||||
},
|
||||
"mupen64plus": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mupen64plus-libretro-nx",
|
||||
"rev": "3f794eec4dc4af2f22ecce507f2da324381d3d92",
|
||||
"hash": "sha256-xO01TAjW8otnoU8fzmK69BufoQn3eY9BPamc3ISqBn8="
|
||||
"rev": "5d2ac21adb784ad72d6101290117702eef0411dd",
|
||||
"hash": "sha256-PKjnoTioAvCYv2JBiPMXR4QZUgPeSQ3V4cB7mp2fqeI="
|
||||
},
|
||||
"version": "unstable-2024-03-07"
|
||||
"version": "unstable-2024-05-21"
|
||||
},
|
||||
"neocd": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -631,10 +631,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "pcsx_rearmed",
|
||||
"rev": "db02598e737b8d50cd347fe2ef13cb85ade051dd",
|
||||
"hash": "sha256-BgqwKbmRXKIMfv8xPBH38wTMSVWvkFKOJCb0emZkx5Y="
|
||||
"rev": "87f07621f8f864204d15e5514b7dcda7ed458fd4",
|
||||
"hash": "sha256-J9HzZzzeih/Hv/hi+JmGloPMTgtRSdAubnipMDUOpIM="
|
||||
},
|
||||
"version": "unstable-2024-05-17"
|
||||
"version": "unstable-2024-05-20"
|
||||
},
|
||||
"picodrive": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -663,11 +663,11 @@
|
||||
"src": {
|
||||
"owner": "hrydgard",
|
||||
"repo": "ppsspp",
|
||||
"rev": "dbcac0e48c769e4874028496c6d6f6ecc418e16f",
|
||||
"hash": "sha256-Nn1kRh2xgKZWrrWRIuYkm4U7sJ5U9tMBRMZFTA4pcEE=",
|
||||
"rev": "1a01e4fd2e1ad1a6c5a7a1511ddeb495f525ae9e",
|
||||
"hash": "sha256-MWXfHbWQXi/UflOV4zchrBVdh+Nt04HnvoTbpLNyq/Q=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-14"
|
||||
"version": "unstable-2024-05-21"
|
||||
},
|
||||
"prboom": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -694,10 +694,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "libretro-uae",
|
||||
"rev": "106b98d50dab4b5648067096f0ba54acbf713fd3",
|
||||
"hash": "sha256-UtZETlFrK59P6IK2i9Kt8qxRV8aEDMqxH7Oigm5sc1g="
|
||||
"rev": "3432007d28ef173707e2b32bd931932e5b74085d",
|
||||
"hash": "sha256-spkl8A4mijM4uSpFojAFiYZl7tetWpCBKCDMUM8byUU="
|
||||
},
|
||||
"version": "unstable-2024-05-04"
|
||||
"version": "unstable-2024-05-20"
|
||||
},
|
||||
"quicknes": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -754,10 +754,10 @@
|
||||
"src": {
|
||||
"owner": "snes9xgit",
|
||||
"repo": "snes9x",
|
||||
"rev": "8f41776532c407744c41e5d08444cb2dbd492c14",
|
||||
"hash": "sha256-w8RWXqTjAUVrg3U0aMdaZ5mOlZYhgARzOAgyc57AhGQ="
|
||||
"rev": "738e53989e29c912eba3be4656df18cecc76e69b",
|
||||
"hash": "sha256-riz4WBK/Qrw6QuIyi6ylNdDBxYOq1SsltC7/GAunZbM="
|
||||
},
|
||||
"version": "unstable-2024-05-13"
|
||||
"version": "unstable-2024-05-19"
|
||||
},
|
||||
"snes9x2002": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -804,20 +804,20 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "stella2014-libretro",
|
||||
"rev": "8ab051edd4816f33a5631d230d54059eeed52c5f",
|
||||
"hash": "sha256-wqssB8WXXF2Lu9heII8nWLLOvI38cIfHSMA7OOd6jx0="
|
||||
"rev": "db6bee857f73138ae02755bf09e392b31fef4540",
|
||||
"hash": "sha256-NH9ZsYPG1X5wLKpIvcqDkMUyI/eDLVITY/IaY5djt/8="
|
||||
},
|
||||
"version": "unstable-2023-02-20"
|
||||
"version": "unstable-2024-05-20"
|
||||
},
|
||||
"swanstation": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "swanstation",
|
||||
"rev": "929958a1acaa075e32e108118b550e0449540cb6",
|
||||
"hash": "sha256-UofVxdi+e1Y9d0ML/8lGahJCx5xnW5j9oDssRKrxYLU="
|
||||
"rev": "6a0cc4a1cf3b8a89150160f631f477c36dc6e559",
|
||||
"hash": "sha256-YciqQW5Q9NYbzdsWeYc92CDWBaXT3HZmDsd3WkqPYzo="
|
||||
},
|
||||
"version": "unstable-2024-05-06"
|
||||
"version": "unstable-2024-05-21"
|
||||
},
|
||||
"tgbdual": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ticker";
|
||||
version = "4.5.14";
|
||||
version = "4.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "achannarasappa";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-WpU0fxkdNqr8zF6eGOlbaV9dp6sZyNZ1J7Uq+yGBnUs=";
|
||||
hash = "sha256-bNqwQwYuaWThpVVlZji0uiNKf8Ynxs00bAD+iSnbtm8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-c7wU9LLRlS9kOhE4yAiKAs/npQe8lvSwPcd+/D8o9rk=";
|
||||
vendorHash = "sha256-cTJa170oFFPRQSg3njZk26XvzsRRdJqcsFokKUWJr6Q=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -62,8 +62,8 @@ rec {
|
||||
};
|
||||
|
||||
kops_1_28 = mkKops rec {
|
||||
version = "1.28.4";
|
||||
sha256 = "sha256-nknsrLdV7tQKLOir5RM3LRhTS+dyiAc1GjbByJzjwCo=";
|
||||
version = "1.29.0";
|
||||
sha256 = "sha256-YneB9pc4IR+tYPRFE5CS+4JK/kPOHMo5/70A3k1x1tg=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
}
|
||||
|
@ -2,18 +2,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pv-migrate";
|
||||
version = "1.8.0";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "utkuozdemir";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HeK8/IZTqkrJxfmNIYOm8/jY3Fbof8t7/emdHONvMZo=";
|
||||
sha256 = "sha256-QD/yacQOII1AS9VHB/2cTgoxLioyKYoROSizkHooX9w=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/pv-migrate" ];
|
||||
|
||||
vendorHash = "sha256-q8/Rb26ZY/Rn3FnESnAvPr+LrIvFFlSJnN6c0k8+sHg=";
|
||||
vendorHash = "sha256-NXL7LaGSfiJW9lQrZyh5Iw1QvQ9T8omfafADm4PlGik=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "talosctl";
|
||||
version = "1.7.1";
|
||||
version = "1.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "siderolabs";
|
||||
repo = "talos";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1UDPpavDjWoM5kSfyaT4H5y5ax/vVlfqpzN9U2sTVuk=";
|
||||
hash = "sha256-hYfh/faOQtN1MTnaCHsdogzBU3Xf6BY4apK+VuVCh6E=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-52RaQOJ2KTuc8wdk7vv5XsynKdMOwZ1LaqiPdB+jXPw=";
|
||||
vendorHash = "sha256-5Dxtwu+PM0TbznIPTl8QxgOvNsQZUDMGY2kf+PSfCqo=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
@ -19,13 +19,17 @@ nodePackages.n8n.override {
|
||||
pkgs.postgresql
|
||||
];
|
||||
|
||||
# Oracle's official package on npm is binary only (WHY?!) and doesn't provide binaries for aarch64.
|
||||
# This can supposedly be fixed by building a custom copy of the module from source, but that's way
|
||||
# too much complexity for a setup no one would ever actually run.
|
||||
#
|
||||
# NB: If you _are_ actually running n8n on Oracle on aarch64, feel free to submit a patch.
|
||||
preRebuild = lib.optionalString stdenv.isAarch64 ''
|
||||
# Oracle's official package on npm is binary only (WHY?!) and doesn't provide binaries for aarch64.
|
||||
# This can supposedly be fixed by building a custom copy of the module from source, but that's way
|
||||
# too much complexity for a setup no one would ever actually run.
|
||||
#
|
||||
# NB: If you _are_ actually running n8n on Oracle on aarch64, feel free to submit a patch.
|
||||
rm -rf node_modules/oracledb
|
||||
|
||||
# This package tries to load a prebuilt binary for a different arch, and it doesn't provide the binary for aarch64.
|
||||
# It is marked as an optional dependency in pnpm-lock.yaml and there are no other references to it n8n.
|
||||
rm -rf node_modules/@sap/hana-client
|
||||
'';
|
||||
|
||||
# makes libmongocrypt bindings not look for static libraries in completely wrong places
|
||||
|
@ -54,6 +54,9 @@ let
|
||||
# Deleting the bundled library is the simplest way to force it to use our version.
|
||||
rm "$out/lib/vmware/gcc/libstdc++.so.6"
|
||||
|
||||
# This bundled version of libpng causes browser issues, and would prevent web-based sign-on.
|
||||
rm "$out/lib/vmware/libpng16.so.16"
|
||||
|
||||
# This opensc library is required to support smartcard authentication during the
|
||||
# initial connection to Horizon.
|
||||
mkdir $out/lib/vmware/view/pkcs11
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
@ -31,5 +32,6 @@ buildGoModule rec {
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "aeacus";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,90 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, autoPatchelfHook
|
||||
, fetchzip
|
||||
, curl
|
||||
, systemd
|
||||
, zlib
|
||||
, writeText
|
||||
, withUpdater ? true
|
||||
, ...
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.10.5";
|
||||
# Upstream has a udev.sh script asking for mode and group, but with uaccess we
|
||||
# don't need any of that and can make it entirely static.
|
||||
# For any rule adding the uaccess tag to be effective, the name of the file it
|
||||
# is defined in has to lexically precede 73-seat-late.rules.
|
||||
udevRule = writeText "60-brainstem.rules" ''
|
||||
# Acroname Brainstem control devices
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="24ff", TAG+="uaccess"
|
||||
|
||||
# Acroname recovery devices (pb82, pb242, pb167)
|
||||
SUBSYSTEM=="tty", ATTRS{idVendor}=="0424", ATTRS{idProduct}=="274e", TAG+="uaccess"
|
||||
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", TAG+="uaccess"
|
||||
KERNEL=="hidraw*", ATTRS{idVendor}=="1fc9", ATTRS{idProduct}=="0130", TAG+="uaccess"
|
||||
'';
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://acroname.com/sites/default/files/software/brainstem_sdk/${version}/brainstem_sdk_${version}_Ubuntu_LTS_22.04_x86_64.tgz";
|
||||
hash = "sha256-S6u9goxTMCI12sffP/WKUF7bv0pLeNmNog7Hle+vpR4=";
|
||||
# There's no "brainstem" parent directory in the archive.
|
||||
stripRoot = false;
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "brainstem";
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
buildInputs = [
|
||||
# libudev
|
||||
(lib.getLib systemd)
|
||||
# libstdc++.so libgcc_s.so
|
||||
stdenv.cc.cc.lib
|
||||
] ++ lib.optionals withUpdater [
|
||||
# libcurl.so.4
|
||||
curl
|
||||
# libz.so.1
|
||||
zlib
|
||||
];
|
||||
|
||||
# Unpack the CLI tools, documentation, library and C headers.
|
||||
# There's also a python .whl, containing more libraries, which might be used
|
||||
# to support more architectures, too, but let's only do that if we need it.
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install -m744 cli/AcronameHubCLI $out/bin
|
||||
install -m744 cli/Updater $out/bin/AcronameHubUpdater
|
||||
|
||||
mkdir -p $out/lib/udev/rules.d
|
||||
cp ${udevRule} $out/lib/udev/rules.d/60-brainstem.rules
|
||||
|
||||
mkdir -p $doc
|
||||
cp docs/* $doc/
|
||||
cp {license,version}.txt $doc/
|
||||
|
||||
mkdir -p $lib/lib
|
||||
cp api/lib/libBrainStem2.* $lib/lib
|
||||
|
||||
mkdir -p $dev/include
|
||||
cp -R api/lib/BrainStem2 $dev/include/
|
||||
'';
|
||||
|
||||
outputs = [ "out" "lib" "dev" "doc" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "BrainStem Software Development Kit";
|
||||
longDescription = ''
|
||||
The BrainStem SDK provides a library to access and control Acroname smart
|
||||
USB switches, as well as a CLI interface, and a firmware updater.
|
||||
'';
|
||||
homepage = "https://acroname.com/software/brainstem-development-kit";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ flokli ];
|
||||
mainProgram = "AcronameHubCLI";
|
||||
};
|
||||
}
|
@ -7,16 +7,16 @@
|
||||
}:
|
||||
|
||||
let
|
||||
openShiftVersion = "4.15.3";
|
||||
openShiftVersion = "4.15.12";
|
||||
okdVersion = "4.15.0-0.okd-2024-02-23-163410";
|
||||
microshiftVersion = "4.15.3";
|
||||
microshiftVersion = "4.15.12";
|
||||
podmanVersion = "4.4.4";
|
||||
writeKey = "$(MODULEPATH)/pkg/crc/segment.WriteKey=cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp";
|
||||
gitCommit = "b470b5f68269c93abee8d7139cbd3e3fe3419f93";
|
||||
gitHash = "sha256-80B6eGPnAAeUdKzk9/8VDHjv9tUh85rZSki9PSzqVvg=";
|
||||
gitCommit = "27c493c19b7f396931c3b94cc3367f572e6af04a";
|
||||
gitHash = "sha256-uxp3DVYbbjKf1Cjj7GCf9QBxFq3K136k51eymD0U018=";
|
||||
in
|
||||
buildGoModule rec {
|
||||
version = "2.34.1";
|
||||
version = "2.36.0";
|
||||
pname = "crc";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
107
pkgs/by-name/cr/crunchy-cli/Cargo.lock
generated
107
pkgs/by-name/cr/crunchy-cli/Cargo.lock
generated
@ -92,9 +92,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.83"
|
||||
version = "1.0.86"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3"
|
||||
checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
|
||||
|
||||
[[package]]
|
||||
name = "async-speed-limit"
|
||||
@ -119,6 +119,12 @@ dependencies = [
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atomic-waker"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.3.0"
|
||||
@ -188,9 +194,9 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.97"
|
||||
version = "1.0.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4"
|
||||
checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
@ -238,7 +244,7 @@ dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
"clap_lex",
|
||||
"strsim 0.11.1",
|
||||
"strsim",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -343,7 +349,7 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
|
||||
|
||||
[[package]]
|
||||
name = "crunchy-cli"
|
||||
version = "3.6.2"
|
||||
version = "3.6.4"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap",
|
||||
@ -356,7 +362,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "crunchy-cli-core"
|
||||
version = "3.6.2"
|
||||
version = "3.6.4"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-speed-limit",
|
||||
@ -441,9 +447,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "darling"
|
||||
version = "0.20.8"
|
||||
version = "0.20.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391"
|
||||
checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"darling_macro",
|
||||
@ -451,23 +457,23 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "darling_core"
|
||||
version = "0.20.8"
|
||||
version = "0.20.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f"
|
||||
checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120"
|
||||
dependencies = [
|
||||
"fnv",
|
||||
"ident_case",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"strsim 0.10.0",
|
||||
"strsim",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling_macro"
|
||||
version = "0.20.8"
|
||||
version = "0.20.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
|
||||
checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"quote",
|
||||
@ -476,9 +482,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dash-mpd"
|
||||
version = "0.16.2"
|
||||
version = "0.16.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "876a00c22923799ac46365eb528c10134f979bf58ced5e3113de5b98d9835290"
|
||||
checksum = "4618a5e165bf47b084963611bcf1d568c681f52d8a237e8862a0cd8c546ba255"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"base64-serde",
|
||||
@ -555,9 +561,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.11.0"
|
||||
version = "1.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
|
||||
checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
|
||||
|
||||
[[package]]
|
||||
name = "encode_unicode"
|
||||
@ -733,15 +739,15 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
|
||||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
version = "0.4.4"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069"
|
||||
checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab"
|
||||
dependencies = [
|
||||
"atomic-waker",
|
||||
"bytes",
|
||||
"fnv",
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
"futures-util",
|
||||
"http",
|
||||
"indexmap 2.2.6",
|
||||
"slab",
|
||||
@ -979,9 +985,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "instant"
|
||||
version = "0.1.12"
|
||||
version = "0.1.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
||||
checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
@ -1043,9 +1049,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.154"
|
||||
version = "0.2.155"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
|
||||
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
||||
|
||||
[[package]]
|
||||
name = "libredox"
|
||||
@ -1059,9 +1065,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.13"
|
||||
version = "0.4.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
|
||||
checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
@ -1099,9 +1105,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.2"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
|
||||
checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
|
||||
dependencies = [
|
||||
"adler",
|
||||
]
|
||||
@ -1120,7 +1126,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "native-tls"
|
||||
version = "0.2.11"
|
||||
source = "git+https://github.com/crunchy-labs/rust-not-so-native-tls.git?rev=fdba246#fdba246a79986607cbdf573733445498bb6da2a9"
|
||||
source = "git+https://github.com/crunchy-labs/rust-not-so-native-tls.git?rev=b7969a8#b7969a88210096e0570e29d42fb13533baf62aa6"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"log",
|
||||
@ -1253,9 +1259,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
|
||||
|
||||
[[package]]
|
||||
name = "openssl-src"
|
||||
version = "300.2.3+3.2.1"
|
||||
version = "300.3.0+3.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843"
|
||||
checksum = "eba8804a1c5765b18c4b3f907e6897ebabeedebc9830e1a0046c4a4cf44663e1"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
@ -1346,9 +1352,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.82"
|
||||
version = "1.0.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b"
|
||||
checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@ -1514,8 +1520,7 @@ checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
|
||||
[[package]]
|
||||
name = "rsubs-lib"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f43e1a7f184bc76407dbaa67bd2aeea8a15430d7e1e498070963336d03ebedee"
|
||||
source = "git+https://github.com/crunchy-labs/rsubs-lib.git?rev=1c51f60#1c51f60b8c48f1a8f7b261372b237d89bdc17dd4"
|
||||
dependencies = [
|
||||
"regex",
|
||||
"serde",
|
||||
@ -1613,9 +1618,9 @@ checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.102.3"
|
||||
version = "0.102.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
|
||||
checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
@ -1672,18 +1677,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.201"
|
||||
version = "1.0.202"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c"
|
||||
checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.201"
|
||||
version = "1.0.202"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865"
|
||||
checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1822,12 +1827,6 @@ version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82"
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.11.1"
|
||||
@ -1842,9 +1841,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.63"
|
||||
version = "2.0.65"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf5be731623ca1a1fb7d8be6f261a3be6d3e2337b8a1f97be944d020c8fcb704"
|
||||
checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -1901,18 +1900,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.60"
|
||||
version = "1.0.61"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18"
|
||||
checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.60"
|
||||
version = "1.0.61"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524"
|
||||
checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -10,19 +10,20 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "crunchy-cli";
|
||||
version = "3.6.2";
|
||||
version = "3.6.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crunchy-labs";
|
||||
repo = "crunchy-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gBkM+bcYfQNadFdC0lelaZmHi73zZvoq5HbgndMhbHk=";
|
||||
hash = "sha256-ujR/ZTQoNdxVuGd8fie7JwVINqcjwAwyou+iCihYOY0=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"native-tls-0.2.11" = "sha256-+NeXsxuThKNOzVLBItKcuTAM/0zR/BzJGMKkuq99gBM=";
|
||||
"native-tls-0.2.11" = "sha256-r+uvpwf1qgOVYuh+3xYOOsDWyCJnyG4Qc8i7RV2nzy4=";
|
||||
"rsubs-lib-0.3.0" = "sha256-hn0/KxUHgmC3hs8sAMkJKxR7WIjc8YGq9DJU2SriO1A=";
|
||||
};
|
||||
};
|
||||
|
||||
|
30
pkgs/by-name/db/dbd/package.nix
Normal file
30
pkgs/by-name/db/dbd/package.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "dbd";
|
||||
version = "1.50-unstable-2016-01-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gitdurandal";
|
||||
repo = "dbd";
|
||||
rev = "8cf5350781b6753fcdd863148a5dcc6976e693ca";
|
||||
hash = "sha256-b2yBZ2/Ab+SviKNlyZgdfiZ7GGZ1sonZnblD0i+vuFw=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
] ++ lib.optionals stdenv.isDarwin [ "darwin" ] ++ lib.optionals (stdenv.hostPlatform.isUnix && !stdenv.isDarwin) [ "unix" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Netcat-clone, designed to be portable and offer strong encryption";
|
||||
mainProgram = "dbd";
|
||||
homepage = "https://github.com/gitdurandal/dbd";
|
||||
maintainers = with maintainers; [ d3vil0p3r ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl2Plus;
|
||||
};
|
||||
}
|
43
pkgs/by-name/fi/filesender/package.nix
Normal file
43
pkgs/by-name/fi/filesender/package.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
nixosTests,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "filesender";
|
||||
version = "2.48";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "filesender";
|
||||
repo = "filesender";
|
||||
rev = "filesender-${finalAttrs.version}";
|
||||
hash = "sha256-lXA9XZ5gbfut2EQ5bF2w8rhAEM++8rQseWviKwfRWGk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# /nix/store is read-only, but filesender searches config and logs inside of installation directory.
|
||||
# This patch changes search directories to FILESENDER_CONFIG_DIR and FILESENDER_LOG_DIR environment variables.
|
||||
./separate_mutable_paths.patch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/
|
||||
cp -R . $out/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) filesender;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Web application for sending large files to other users";
|
||||
homepage = "https://filesender.org/";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ nhnn ];
|
||||
};
|
||||
})
|
122
pkgs/by-name/fi/filesender/separate_mutable_paths.patch
Normal file
122
pkgs/by-name/fi/filesender/separate_mutable_paths.patch
Normal file
@ -0,0 +1,122 @@
|
||||
diff --git a/classes/utils/Config.class.php b/classes/utils/Config.class.php
|
||||
index a4d819bc..318defdf 100644
|
||||
--- a/classes/utils/Config.class.php
|
||||
+++ b/classes/utils/Config.class.php
|
||||
@@ -30,7 +30,7 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
-if (!defined('FILESENDER_BASE')) { // Require environment (fatal)
|
||||
+if (!defined('FILESENDER_BASE') || !defined("FILESENDER_CONFIG_DIR")) { // Require environment (fatal)
|
||||
die('Missing environment');
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ class Config
|
||||
}
|
||||
|
||||
// Check if main config exists
|
||||
- $main_config_file = FILESENDER_BASE.'/config/config.php';
|
||||
+ $main_config_file = FILESENDER_CONFIG_DIR.'/config.php';
|
||||
if (!file_exists($main_config_file)) {
|
||||
throw new ConfigFileMissingException($main_config_file);
|
||||
}
|
||||
@@ -136,7 +136,7 @@ class Config
|
||||
|
||||
|
||||
// load password file if it is there
|
||||
- $pass_config_file = FILESENDER_BASE.'/config/config-passwords.php';
|
||||
+ $pass_config_file = FILESENDER_CONFIG_DIR.'/config-passwords.php';
|
||||
if (file_exists($pass_config_file)) {
|
||||
$config = array();
|
||||
include_once($pass_config_file);
|
||||
@@ -153,7 +153,7 @@ class Config
|
||||
throw new ConfigBadParameterException('virtualhost');
|
||||
}
|
||||
|
||||
- $config_file = FILESENDER_BASE.'/config/'.$virtualhost.'/config.php';
|
||||
+ $config_file = FILESENDER_CONFIG_DIR.$virtualhost.'/config.php';
|
||||
if (!file_exists($config_file)) {
|
||||
throw new ConfigFileMissingException($config_file);
|
||||
} // Should exist even if empty
|
||||
@@ -175,7 +175,7 @@ class Config
|
||||
}
|
||||
foreach ($regex_and_configs as $regex => $extra_config_name) {
|
||||
if (preg_match('`'.$regex.'`', $auth_attrs[$attr])) {
|
||||
- $extra_config_file = FILESENDER_BASE.'/config/config-' . $extra_config_name . '.php';
|
||||
+ $extra_config_file = FILESENDER_CONFIG_DIR.'/config-' . $extra_config_name . '.php';
|
||||
if (file_exists($extra_config_file)) {
|
||||
$config = array();
|
||||
include_once($extra_config_file);
|
||||
@@ -204,7 +204,7 @@ class Config
|
||||
// Load config overrides if any
|
||||
$overrides_cfg = self::get('config_overrides');
|
||||
if ($overrides_cfg) {
|
||||
- $overrides_file = FILESENDER_BASE.'/config/'.($virtualhost ? $virtualhost.'/' : '').'config_overrides.json';
|
||||
+ $overrides_file = FILESENDER_CONFIG_DIR.($virtualhost ? $virtualhost.'/' : '').'config_overrides.json';
|
||||
|
||||
$overrides = file_exists($overrides_file) ? json_decode(trim(file_get_contents($overrides_file))) : new StdClass();
|
||||
|
||||
@@ -431,7 +431,7 @@ class Config
|
||||
public static function getVirtualhosts()
|
||||
{
|
||||
$virtualhosts = array();
|
||||
- foreach (scandir(FILESENDER_BASE.'/config') as $item) {
|
||||
+ foreach (scandir(FILESENDER_CONFIG_DIR) as $item) {
|
||||
if (!preg_match('`^(.+)\.conf\.php$`', $item, $match)) {
|
||||
continue;
|
||||
}
|
||||
diff --git a/config/csrf-protector-config.php b/config/csrf-protector-config.php
|
||||
index 83759ca4..ea4a3173 100755
|
||||
--- a/config/csrf-protector-config.php
|
||||
+++ b/config/csrf-protector-config.php
|
||||
@@ -40,7 +40,7 @@ return array(
|
||||
// The following should be set correctly from your config.php
|
||||
// information
|
||||
"jsUrl" => $config['site_url'] . "/js/csrfprotector.js",
|
||||
- "logDirectory" => FILESENDER_BASE.'/log/',
|
||||
+ "logDirectory" => FILESENDER_LOG_DIR,
|
||||
|
||||
// I found that leaving this with the _ as default
|
||||
// caused the implicit token to be stripped
|
||||
diff --git a/includes/ConfigDefaults.php b/includes/ConfigDefaults.php
|
||||
index 733550e7..8d99b5f0 100644
|
||||
--- a/includes/ConfigDefaults.php
|
||||
+++ b/includes/ConfigDefaults.php
|
||||
@@ -224,7 +224,7 @@ $default = array(
|
||||
'log_facilities' => array(
|
||||
array(
|
||||
'type' => 'file',
|
||||
- 'path' => FILESENDER_BASE.'/log/',
|
||||
+ 'path' => FILESENDER_LOG_DIR,
|
||||
'rotate' => 'hourly'
|
||||
)
|
||||
),
|
||||
diff --git a/includes/ConfigValidation.php b/includes/ConfigValidation.php
|
||||
index 5c1e7f61..b1fb57e4 100644
|
||||
--- a/includes/ConfigValidation.php
|
||||
+++ b/includes/ConfigValidation.php
|
||||
@@ -31,9 +31,9 @@
|
||||
*/
|
||||
|
||||
// Require environment (fatal)
|
||||
-if(!defined('FILESENDER_BASE')) die('Missing environment');
|
||||
+if(!defined('FILESENDER_BASE') || !defined("FILESENDER_CONFIG_DIR")) die('Missing environment');
|
||||
|
||||
-if(!file_exists(FILESENDER_BASE.'/config/config.php'))
|
||||
+if(!file_exists(FILESENDER_CONFIG_DIR.'/config.php'))
|
||||
die('Configuration file not found');
|
||||
|
||||
ConfigValidator::addCheck('site_url', 'string');
|
||||
diff --git a/includes/init.php b/includes/init.php
|
||||
index ba7fa82f..31812c54 100644
|
||||
--- a/includes/init.php
|
||||
+++ b/includes/init.php
|
||||
@@ -35,6 +35,8 @@ if(PHP_INT_SIZE !== 8) {
|
||||
}
|
||||
|
||||
define('FILESENDER_BASE', dirname( __DIR__ ));
|
||||
+define('FILESENDER_CONFIG_DIR', getenv('FILESENDER_CONFIG_DIR', true) ?: (FILESENDER_BASE.'/config'));
|
||||
+define('FILESENDER_LOG_DIR', getenv('FILESENDER_LOG_DIR', true) ?: (FILESENDER_BASE.'/log'));
|
||||
|
||||
// Include classes autoloader
|
||||
require_once(FILESENDER_BASE.'/classes/autoload.php');
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gatus";
|
||||
version = "5.10.0";
|
||||
version = "5.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TwiN";
|
||||
repo = "gatus";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gZSK3ebBBJGHRdylCl18AYifGknYbOz7+xaCJjU9ZlY=";
|
||||
hash = "sha256-x9agE3ZctH9fudUA0uTVUiCUxiEEn/I4Lz47oIyUee0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-sZ6IPYitNnnw7+UQVAWFEe9/ObDhAiou1GzDDqnGXb8=";
|
||||
vendorHash = "sha256-Cb9G24SinU+ln9iVSHLsD0TNt2sIfYsHGmQI/vZekPI=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -20,14 +20,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "htcondor";
|
||||
version = "23.4.0";
|
||||
version = "23.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "htcondor";
|
||||
repo = "htcondor";
|
||||
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+WfNVxP7qsEpn8zPretLnOEAnPq0GylyxCbcQI8o0L0=";
|
||||
hash = "sha256-U0IeZlDd21RYR9XNoIGPpuwhEL1MfQ9+DDyeX8sLgWM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -1,7 +1,8 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, libgcrypt
|
||||
, python3
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
libgcrypt,
|
||||
python3,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
@ -16,29 +17,25 @@ python3.pkgs.buildPythonApplication rec {
|
||||
hash = "sha256-WM0Z6sd8S71F8FfhhoUq3MSD/2uvRTY/FsBP7VGGtb0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
setuptools
|
||||
];
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
||||
buildInputs = with python3.pkgs; [
|
||||
libgcrypt
|
||||
];
|
||||
buildInputs = with python3.pkgs; [ libgcrypt ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3.pkgs; [
|
||||
pyserial
|
||||
pyusb
|
||||
rangeparser
|
||||
scapy
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"killerbee"
|
||||
];
|
||||
pythonImportsCheck = [ "killerbee" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "IEEE 802.15.4/ZigBee Security Research Toolkit";
|
||||
homepage = "https://github.com/riverloopsec/killerbee";
|
||||
changelog = "https://github.com/riverloopsec/killerbee/releases/tag/${version}";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mollysocket";
|
||||
version = "1.3.0";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mollyim";
|
||||
repo = "mollysocket";
|
||||
rev = version;
|
||||
hash = "sha256-eFvRjGUQ1AU+kXUp6YALm1lqhTMY2DxvFuf+MHCL38c=";
|
||||
hash = "sha256-wZIP4mmIrg8D70C8jLjPC/+TlOT+gP7YOkM1Ey44Tvk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-3UwvnbHH6v1fJyivdU55GmJ2/+RSqXfBKIcOARASWbE=";
|
||||
cargoHash = "sha256-3yTbwbgOIm69Nf8stPMMhgR6g0sfenycx07by8AM01M=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -33,5 +33,6 @@ buildGoModule rec {
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "nray";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -33,11 +33,11 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plasticity";
|
||||
version = "1.4.20";
|
||||
version = "24.1.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm";
|
||||
hash = "sha256-i2n35UmRSEtkaPvJDPC2imYqgIx+qKu4bOaarYl9qQQ=";
|
||||
hash = "sha256-1oneFWWgMYsh12knn+Atp8ttSnTdaV+5TWwp2htZsvE=";
|
||||
};
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
35
pkgs/by-name/pr/prometheus-frr-exporter/package.nix
Normal file
35
pkgs/by-name/pr/prometheus-frr-exporter/package.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
version = "1.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tynany";
|
||||
repo = "frr_exporter";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-sjC6ee7VMbr5zlahAA/i4wrZIu8CBUF+LYaq6uEvukk=";
|
||||
};
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "prometheus-frr-exporter";
|
||||
vendorHash = "sha256-xckGN/FKN2bwFPll6IRDBOGGUm2JTzoZDwKC6ZkoD/Y=";
|
||||
inherit src version;
|
||||
|
||||
ldflags = [
|
||||
"-X github.com/prometheus/common/version.Version=${version}"
|
||||
"-X github.com/prometheus/common/version.Revision=${src.rev}"
|
||||
"-X github.com/prometheus/common/version.Branch=unknown"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Prometheus exporter for FRR version 3.0+";
|
||||
longDescription = ''
|
||||
Prometheus exporter for FRR version 3.0+ that collects metrics from the
|
||||
FRR Unix sockets and exposes them via HTTP, ready for collecting by
|
||||
Prometheus.
|
||||
'';
|
||||
homepage = "https://github.com/tynany/frr_exporter";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ javaes ];
|
||||
mainProgram = "frr_exporter";
|
||||
};
|
||||
}
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "promptfoo";
|
||||
version = "0.55.0";
|
||||
version = "0.57.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "promptfoo";
|
||||
repo = "promptfoo";
|
||||
rev = "${version}";
|
||||
hash = "sha256-XQnsOr+L2MCKPzZeIKzx4XjWF6B18gBVDU0j31CgjUc=";
|
||||
hash = "sha256-YjVnQmDfc6KBykAHPcRoM88Njlb6odhKWR0ZgFQSkVs=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-f7tlRZHjdeIk17hQhzmIbhMwUkoca3J+F65cr0dvSmU=";
|
||||
npmDepsHash = "sha256-sgcMtWPsikAuMCZ1h5IV4Ly+lO3/OKkTzGm8iFx3HiM=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "scotch";
|
||||
version = "6.1.1";
|
||||
version = "7.0.4";
|
||||
|
||||
buildInputs = [
|
||||
bison
|
||||
@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "scotch";
|
||||
repo = "scotch";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-GUV6s+P56OAJq9AMe+LZOMPICQO/RuIi+hJAecmO5Wc=";
|
||||
hash = "sha256-uaox4Q9pTF1r2BZjvnU2LE6XkZw3x9mGSKLdRVUobGU=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "sqlmc";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "malvads";
|
||||
repo = "sqlmc";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-VJSOOCFqDPTh7PoumAQqt+tdR05uGe/xTwxcJAAe//k=";
|
||||
hash = "sha256-8p+9A1j+J3WItc1u8kG7LHY086kcwMGhEMENym2p/Fo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [ setuptools ];
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchPypi
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchPypi,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
@ -14,9 +15,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
hash = "sha256-RX4tc6JaUVaNx8nidn8eMcbsmbcSY+VZbup6c6P7oOs=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
setuptools
|
||||
];
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
requests
|
||||
@ -27,9 +26,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
mv $out/bin/WebSecProbe $out/bin/$pname
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"WebSecProbe"
|
||||
];
|
||||
pythonImportsCheck = [ "WebSecProbe" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Web Security Assessment Tool";
|
||||
@ -38,5 +35,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "websecprobe";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
57
pkgs/by-name/wl/wl-kbptr/package.nix
Normal file
57
pkgs/by-name/wl/wl-kbptr/package.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
gitUpdater,
|
||||
gtk3,
|
||||
libxkbcommon,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
}:
|
||||
let
|
||||
pname = "wl-kbptr";
|
||||
version = "0.2.1";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
src = fetchFromGitHub {
|
||||
owner = "moverest";
|
||||
repo = "wl-kbptr";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-bA4PbWJNM4qWDF5KfNEgeQ5Z/r/Aw3wL8YUMSnzUo0w=";
|
||||
};
|
||||
|
||||
depsBuildBuild = [ pkg-config ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
libxkbcommon
|
||||
wayland
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/moverest/wl-kbptr";
|
||||
description = "Control the mouse pointer with the keyboard on Wayland";
|
||||
changelog = "https://github.com/moverest/wl-kbptr/releases/tag/v${version}";
|
||||
license = lib.licenses.gpl3;
|
||||
mainProgram = "wl-kbptr";
|
||||
maintainers = [ lib.maintainers.luftmensch-luftmensch ];
|
||||
inherit (wayland.meta) platforms;
|
||||
};
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
@ -16,9 +17,7 @@ buildGoModule rec {
|
||||
|
||||
vendorHash = "sha256-9zDzwiVEVsfgVzSrouNtLYpjumoWGlfSDpGWbj+zCGQ=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/xeol/"
|
||||
];
|
||||
subPackages = [ "cmd/xeol/" ];
|
||||
|
||||
ldflags = [
|
||||
"-w"
|
||||
@ -36,5 +35,6 @@ buildGoModule rec {
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "xeol";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
44
pkgs/by-name/ya/yara-x/package.nix
Normal file
44
pkgs/by-name/ya/yara-x/package.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, cmake
|
||||
, installShellFiles
|
||||
, testers
|
||||
, yara-x
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "yara-x";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "VirusTotal";
|
||||
repo = "yara-x";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-AFRKsBNDgjIsLnr61ME4WvDj+DsvIhFUnDmOGn3So8o=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-cZ/bWaTNnX9+o8D5lMu72snc4CLpjqcwjintbw59OXA=";
|
||||
|
||||
nativeBuildInputs = [ cmake installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd yr \
|
||||
--bash <($out/bin/yr completion bash) \
|
||||
--fish <($out/bin/yr completion fish) \
|
||||
--zsh <($out/bin/yr completion zsh)
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = yara-x;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tool to do pattern matching for malware research";
|
||||
homepage = "https://virustotal.github.io/yara-x/";
|
||||
changelog = "https://github.com/VirusTotal/yara-x/releases/tag/v${version}";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ fab lesuisse ];
|
||||
mainProgram = "yr";
|
||||
};
|
||||
}
|
@ -24,10 +24,10 @@ rustPlatform.buildRustPackage rec {
|
||||
RUSTC_BOOTSTRAP = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A pure functional compile target that is lazy, non-garbage-collected, and parallel";
|
||||
description = "A massively parallel, optimal functional runtime in Rust";
|
||||
mainProgram = "hvm";
|
||||
homepage = "https://github.com/higherorderco/hvm";
|
||||
license = licenses.mit;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
};
|
||||
}
|
||||
|
@ -22,13 +22,13 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "catboost";
|
||||
version = "1.2.3";
|
||||
version = "1.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "catboost";
|
||||
repo = "catboost";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-wn9STnpqX3zmdxPmMYAz9JPdg13Goux76CMaCiqohk8=";
|
||||
hash = "sha256-2dfCCCa0LheytkLRbYuBd25M320f1kbhBWKIVjslor0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -12,11 +12,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libnbd";
|
||||
version = "1.18.2";
|
||||
version = "1.20.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.libguestfs.org/libnbd/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-OYtNHAIGgwJuapoJNEMVkurUK9bQ7KO+V223bGC0TFI=";
|
||||
hash = "sha256-AoTfX6Ov9Trj9a9i+K+NYCwxhQ9C5YYqx/15RBtgJYw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -39,6 +39,8 @@ qtModule {
|
||||
|
||||
patches = [
|
||||
../patches/fix-qtgui-include-incorrect-case.patch
|
||||
# Remove new constants since macOS 12+, since we build Qt with the macOS 11 SDK
|
||||
../patches/qtmultimedia-darwin-revert-replace-deprecated-constant.patch
|
||||
] ++ lib.optionals stdenv.hostPlatform.isMinGW [
|
||||
../patches/qtmultimedia-windows-no-uppercase-libs.patch
|
||||
../patches/qtmultimedia-windows-resolve-function-name.patch
|
||||
|
@ -0,0 +1,50 @@
|
||||
diff --git a/src/multimedia/darwin/qdarwinmediadevices.mm b/src/multimedia/darwin/qdarwinmediadevices.mm
|
||||
index b0a108935..881066928 100644
|
||||
--- a/src/multimedia/darwin/qdarwinmediadevices.mm
|
||||
+++ b/src/multimedia/darwin/qdarwinmediadevices.mm
|
||||
@@ -42,7 +42,7 @@ static AudioDeviceID defaultAudioDevice(QAudioDevice::Mode mode)
|
||||
const AudioObjectPropertyAddress propertyAddress = {
|
||||
selector,
|
||||
kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain,
|
||||
+ kAudioObjectPropertyElementMaster,
|
||||
};
|
||||
|
||||
if (auto audioDevice = getAudioObject<AudioDeviceID>(kAudioObjectSystemObject, propertyAddress,
|
||||
@@ -77,7 +77,7 @@ static QList<QAudioDevice> availableAudioDevices(QAudioDevice::Mode mode)
|
||||
|
||||
const AudioObjectPropertyAddress audioDevicesPropertyAddress = {
|
||||
kAudioHardwarePropertyDevices, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain
|
||||
+ kAudioObjectPropertyElementMaster
|
||||
};
|
||||
|
||||
if (auto audioDevices = getAudioData<AudioDeviceID>(
|
||||
@@ -130,11 +130,11 @@ static OSStatus audioDeviceChangeListener(AudioObjectID id, UInt32,
|
||||
|
||||
static constexpr AudioObjectPropertyAddress listenerAddresses[] = {
|
||||
{ kAudioHardwarePropertyDefaultInputDevice, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain },
|
||||
+ kAudioObjectPropertyElementMaster },
|
||||
{ kAudioHardwarePropertyDefaultOutputDevice, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain },
|
||||
+ kAudioObjectPropertyElementMaster },
|
||||
{ kAudioHardwarePropertyDevices, kAudioObjectPropertyScopeGlobal,
|
||||
- kAudioObjectPropertyElementMain }
|
||||
+ kAudioObjectPropertyElementMaster }
|
||||
};
|
||||
|
||||
static void setAudioListeners(QDarwinMediaDevices &instance)
|
||||
diff --git a/src/multimedia/darwin/qmacosaudiodatautils_p.h b/src/multimedia/darwin/qmacosaudiodatautils_p.h
|
||||
index 8cc2f8440..5cd6fced2 100644
|
||||
--- a/src/multimedia/darwin/qmacosaudiodatautils_p.h
|
||||
+++ b/src/multimedia/darwin/qmacosaudiodatautils_p.h
|
||||
@@ -44,7 +44,7 @@ void printUnableToReadWarning(const char *logName, AudioObjectID objectID, const
|
||||
|
||||
inline static AudioObjectPropertyAddress
|
||||
makePropertyAddress(AudioObjectPropertySelector selector, QAudioDevice::Mode mode,
|
||||
- AudioObjectPropertyElement element = kAudioObjectPropertyElementMain)
|
||||
+ AudioObjectPropertyElement element = kAudioObjectPropertyElementMaster)
|
||||
{
|
||||
return { selector,
|
||||
mode == QAudioDevice::Input ? kAudioDevicePropertyScopeInput
|
@ -2,7 +2,7 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "tdlib";
|
||||
version = "1.8.27";
|
||||
version = "1.8.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tdlib";
|
||||
@ -11,8 +11,8 @@ stdenv.mkDerivation {
|
||||
# The tdlib authors do not set tags for minor versions, but
|
||||
# external programs depending on tdlib constrain the minor
|
||||
# version, hence we set a specific commit with a known version.
|
||||
rev = "efc6bd553b61dea0ae8c0436695e8d2539bf03f9";
|
||||
hash = "sha256-AHfuT+bLkc8Lm1B96E/kwUx1ZKStQbv/skH8woRITRk=";
|
||||
rev = "38d31da77a72619cf7ec5d479338a48274cc7446";
|
||||
hash = "sha256-y6Gt8gDfvIBJd/2O4vTs38DzAPyL9pAZBbrf2qcv9cY=";
|
||||
};
|
||||
|
||||
buildInputs = [ gperf openssl readline zlib ];
|
||||
|
@ -69,7 +69,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "webkitgtk";
|
||||
version = "2.44.1";
|
||||
version = "2.44.2";
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}+abi=${if lib.versionAtLeast gtk3.version "4.0" then "6.0" else "4.${if lib.versions.major libsoup.version == "2" then "0" else "1"}"}";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
@ -80,7 +80,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-QlsUWbDwTQYAx40au15+36PAYKQg+LIx6aai1dKcVWE=";
|
||||
hash = "sha256-Uj9CyP8kgyrdF2Mfbqr+j5MDr+MW7xp+GES5Uqf3Uhs=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isLinux [
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioshelly";
|
||||
version = "9.0.0";
|
||||
version = "10.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "home-assistant-libs";
|
||||
repo = "aioshelly";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-yVjQlP4vIs3Nk94ZcafpLzxVMIJfLsPGee5G5IdnCRs=";
|
||||
hash = "sha256-HHFp1n0oTZznByGMH2DD/LnK8mSuAe7ex2dA951MtpY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -1,27 +1,34 @@
|
||||
{ lib
|
||||
, aiohttp
|
||||
, aioresponses
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pandas
|
||||
, pytestCheckHook
|
||||
, requests
|
||||
, requests-mock
|
||||
{
|
||||
lib,
|
||||
aiohttp,
|
||||
aioresponses,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pandas,
|
||||
pytestCheckHook,
|
||||
requests,
|
||||
requests-mock,
|
||||
setuptools,
|
||||
pythonOlder,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "alpha-vantage";
|
||||
version = "2.3.1";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "RomelTorres";
|
||||
repo = "alpha_vantage";
|
||||
rev = version;
|
||||
sha256 = "0cyw6zw7c7r076rmhnmg905ihwb9r7g511n6gdlph06v74pdls8d";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-DWnaLjnbAHhpe8aGUN7JaXEYC0ivWlizOSAfdvg33DM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
aiohttp
|
||||
requests
|
||||
];
|
||||
@ -33,18 +40,16 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Tests require network access
|
||||
"test_alpha_vantage/test_integration_alphavantage.py"
|
||||
"test_alpha_vantage/test_integration_alphavantage_async.py"
|
||||
];
|
||||
# https://github.com/RomelTorres/alpha_vantage/issues/344
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "alpha_vantage" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python module for the Alpha Vantage API";
|
||||
homepage = "https://github.com/RomelTorres/alpha_vantage";
|
||||
license = with licenses; [ mit ];
|
||||
changelog = "https://github.com/RomelTorres/alpha_vantage/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
||||
|
@ -1,17 +1,32 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, pytest, cffi }:
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
cffi,
|
||||
fetchPypi,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "atomiclong";
|
||||
version = "0.1.1";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1gjbc9lvpkgg8vj7dspif1gz9aq4flkhxia16qj6yvb7rp27h4yb";
|
||||
hash = "sha256-yxN4xM1nbW8kNkHFDid1BKv0X3Dx6nbkRu/Nu2liS74=";
|
||||
};
|
||||
|
||||
buildInputs = [ pytest ];
|
||||
propagatedBuildInputs = [ cffi ];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
dependencies = [ cffi ];
|
||||
|
||||
pythonImportsCheck = [ "atomiclong" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Long data type with atomic operations using CFFI";
|
||||
|
@ -1,17 +1,19 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, packaging
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, pythonRelaxDepsHook
|
||||
, scapy
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
packaging,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
pythonRelaxDepsHook,
|
||||
scapy,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "boiboite-opener-framework";
|
||||
version = "1.2.1";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
@ -27,18 +29,16 @@ buildPythonPackage rec {
|
||||
--replace "scapy==2.5.0rc1" "scapy"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
packaging
|
||||
scapy
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"bof"
|
||||
];
|
||||
pythonImportsCheck = [ "bof" ];
|
||||
|
||||
disabledTests = [
|
||||
# Tests are using netcat and cat to do UDP connections
|
||||
@ -75,5 +75,6 @@ buildPythonPackage rec {
|
||||
changelog = "https://github.com/Orange-Cyberdefense/bof/releases/tag/${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -366,7 +366,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "boto3-stubs";
|
||||
version = "1.34.109";
|
||||
version = "1.34.110";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -374,7 +374,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "boto3_stubs";
|
||||
inherit version;
|
||||
hash = "sha256-h/soM0T7nH4jMl82FCy4C15aJJCdP6Bvf2doGYt+sWg=";
|
||||
hash = "sha256-S1Xvok7jS1T/5QaJnwvfqMqEMfbUuSItY0fdkOabpzU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -1,19 +1,34 @@
|
||||
{ lib, buildPythonPackage, fetchPypi }:
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
pythonOlder,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "crc16";
|
||||
version = "0.1.1";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "15nkx0pa4lskwin84flpk8fsw3jqg6wic6v3s83syjqg76h6my61";
|
||||
hash = "sha256-wfhqoDkPS68H0mMbFrl5WA6uHZqXOoJs5FNToi7o05Y=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
# Tests are outdated
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "crc16" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://code.google.com/archive/p/pycrc16/";
|
||||
description = "Python library for calculating CRC16";
|
||||
license = licenses.lgpl3;
|
||||
homepage = "https://code.google.com/archive/p/pycrc16/";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "holidays";
|
||||
version = "0.48";
|
||||
version = "0.49";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "vacanza";
|
||||
repo = "python-holidays";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-PKa4knEUkULeGbwjEViF2J3QyUOOvKHYxy0ChmRQf6A=";
|
||||
hash = "sha256-pO2365FS8Axo+dBSHmlnHtnXIExzSI86BVGD0DCN2KU=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
45
pkgs/development/python-modules/model-checker/default.nix
Normal file
45
pkgs/development/python-modules/model-checker/default.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
pythonOlder,
|
||||
z3-solver,
|
||||
pythonRelaxDepsHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "model-checker";
|
||||
version = "0.3.13";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "model_checker";
|
||||
inherit version;
|
||||
hash = "sha256-3LVes+orRl8tNhhbUUDa1VM/tFf8Y1pAzKknmrjA6e4=";
|
||||
};
|
||||
|
||||
# z3 does not provide a dist-info, so python-runtime-deps-check will fail
|
||||
pythonRemoveDeps = [ "z3-solver" ];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||
|
||||
dependencies = [ z3-solver ];
|
||||
|
||||
# Tests have multiple issues, ImportError, TypeError, etc.
|
||||
# Check with the next release > 0.3.13
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "model_checker" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A hyperintensional theorem prover for counterfactual conditionals and modal operators";
|
||||
homepage = "https://pypi.org/project/model-checker/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
@ -1,25 +1,43 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, requests }:
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
pythonOlder,
|
||||
requests,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nanoleaf";
|
||||
version = "0.4.1";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "17dmxibfjmwnrs6ng5cmvfis3cv6iw267xb8n1pijy15y9dz0s8s";
|
||||
hash = "sha256-GmnwW/IleBlvsGj1YwSPZrOho9uVlWeNzpZX6VbstZ0=";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
sed -i '/^gitVersion =/d' setup.py
|
||||
substituteInPlace setup.py --replace 'gitVersion' '"${version}"'
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail 'gitVersion' '"${version}"'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ requests ];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ requests ];
|
||||
|
||||
# Module has no test
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "nanoleaf" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A python interface for Nanoleaf Aurora lighting";
|
||||
description = "Module for interacting with Nanoleaf Aurora lighting";
|
||||
homepage = "https://github.com/software-2/nanoleaf";
|
||||
changelog = "https://github.com/software-2/nanoleaf/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
|
@ -1,27 +1,29 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, parver
|
||||
, pulumi
|
||||
, pythonOlder
|
||||
, semver
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
parver,
|
||||
pulumi,
|
||||
pythonOlder,
|
||||
semver,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pulumi-aws";
|
||||
# Version is independant of pulumi's.
|
||||
version = "6.25.0";
|
||||
format = "setuptools";
|
||||
version = "6.37.0";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
pyproject = true;
|
||||
build-system = [ setuptools ];
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pulumi";
|
||||
repo = "pulumi-aws";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-RtJIl90rTMFv4mLrDd2SxLYYLf0yKS//7+sxVBdNX8g=";
|
||||
hash = "sha256-jThsT+OBBl3RQKLTxobXqgSlcyxYo5ZYsm+VaEwAJAk=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/sdk/python";
|
||||
@ -35,9 +37,7 @@ buildPythonPackage rec {
|
||||
# Checks require cloud resources
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pulumi_aws"
|
||||
];
|
||||
pythonImportsCheck = [ "pulumi_aws" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Pulumi python amazon web services provider";
|
||||
|
@ -1,14 +1,16 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, crc16
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
crc16,
|
||||
fetchPypi,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyoppleio";
|
||||
version = "1.0.7";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
@ -17,22 +19,20 @@ buildPythonPackage rec {
|
||||
hash = "sha256-S1w3pPqhX903kkXUq9ALz0+zRvNGOimLughRRVKjV8E=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
crc16
|
||||
];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ crc16 ];
|
||||
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyoppleio"
|
||||
];
|
||||
pythonImportsCheck = [ "pyoppleio" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library for interacting with OPPLE lights";
|
||||
mainProgram = "oppleio";
|
||||
homepage = "https://github.com/jedmeng/python-oppleio";
|
||||
license = with licenses; [ asl20 ];
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "oppleio";
|
||||
};
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyrainbird";
|
||||
version = "6.0.1";
|
||||
version = "6.0.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@ -33,7 +33,7 @@ buildPythonPackage rec {
|
||||
owner = "allenporter";
|
||||
repo = "pyrainbird";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-kRPRyEt31SJpNRXcTshGByKAfPzEj+CDNpEQp4Klgks=";
|
||||
hash = "sha256-CcoZZ60PItqy0bCc36WfyNF9Fc28aHwQ6hhnY41lBNg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tencentcloud-sdk-python";
|
||||
version = "3.0.1151";
|
||||
version = "3.0.1152";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "TencentCloud";
|
||||
repo = "tencentcloud-sdk-python";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-JxxTfpb+03rBv/RIZgRpASq+WEjsAzDhtNL78FqU/Oc=";
|
||||
hash = "sha256-pmmZnTvZwpVD/ECjKzA6LQ2c7McYznJMlKabcYwh3LY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -1,10 +1,12 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, setuptools-scm
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
setuptools-scm,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -21,33 +23,25 @@ buildPythonPackage rec {
|
||||
hash = "sha256-TxWKV2nrnCxZmj6+wBDMSdJRvKV+MsPFbOyIlUJYJ3Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools-scm
|
||||
];
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
preCheck = ''
|
||||
export PATH="$PATH:$out/bin";
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
# Test requires network access
|
||||
"test_discovery"
|
||||
];
|
||||
pythonImportsCheck = [ "tololib" ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"tololib"
|
||||
];
|
||||
# Network discovery doesn't work in the sandbox for darwin
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python Library for Controlling TOLO Sauna/Steam Bath Devices";
|
||||
mainProgram = "tolo-cli";
|
||||
homepage = "https://gitlab.com/MatthiasLohr/tololib";
|
||||
changelog = "https://gitlab.com/MatthiasLohr/tololib/-/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "tolo-cli";
|
||||
};
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "weaviate-client";
|
||||
version = "4.6.2";
|
||||
version = "4.6.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
owner = "weaviate";
|
||||
repo = "weaviate-python-client";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-BegAiAOhVafH7NWVgayRbdLKBYjWmD5zC6P7tU11XKM=";
|
||||
hash = "sha256-v8I0ovH99q5uYlnbZsQYgL9mg3n9i59W2n6/d9IiKyQ=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -1,14 +1,15 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, packaging
|
||||
, pybrowsers
|
||||
, pytestCheckHook
|
||||
, python-dotenv
|
||||
, pythonOlder
|
||||
, requests
|
||||
, selenium
|
||||
, setuptools
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
packaging,
|
||||
pybrowsers,
|
||||
pytestCheckHook,
|
||||
python-dotenv,
|
||||
pythonOlder,
|
||||
requests,
|
||||
selenium,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -25,11 +26,11 @@ buildPythonPackage rec {
|
||||
hash = "sha256-PdUlloJ4DncnktKQHofn/OLVrgSVyWhaeEEhl3Hgjek=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
packaging
|
||||
python-dotenv
|
||||
requests
|
||||
@ -41,9 +42,7 @@ buildPythonPackage rec {
|
||||
selenium
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"webdriver_manager"
|
||||
];
|
||||
pythonImportsCheck = [ "webdriver_manager" ];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Tests require network access and browsers available
|
||||
@ -69,5 +68,6 @@ buildPythonPackage rec {
|
||||
changelog = "https://github.com/SergeyPirogov/webdriver_manager/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,17 +1,19 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, paho-mqtt
|
||||
, python-dateutil
|
||||
, weconnect
|
||||
, setuptools
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
paho-mqtt,
|
||||
pytestCheckHook,
|
||||
python-dateutil,
|
||||
pythonOlder,
|
||||
pythonRelaxDepsHook,
|
||||
setuptools,
|
||||
weconnect,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "weconnect-mqtt";
|
||||
version = "0.49.0";
|
||||
version = "0.48.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -20,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "tillsteinbach";
|
||||
repo = "WeConnect-mqtt";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-V96fdy6h012SbP3tyOMniAwLf/1+iKzTc9WnevAVwTI=";
|
||||
hash = "sha256-Yv6CAGTDi4P9pImLxVk2QkZ014iqQ8UMBUeiyZWnYiQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -33,30 +35,28 @@ buildPythonPackage rec {
|
||||
--replace-fail "pytest-cov" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
pythonRelaxDeps = [ "python-dateutil" ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeBuildInputs = [ pythonRelaxDepsHook ];
|
||||
|
||||
dependencies = [
|
||||
paho-mqtt
|
||||
python-dateutil
|
||||
weconnect
|
||||
] ++ weconnect.optional-dependencies.Images;
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"weconnect_mqtt"
|
||||
];
|
||||
pythonImportsCheck = [ "weconnect_mqtt" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python client that publishes data from Volkswagen WeConnect";
|
||||
mainProgram = "weconnect-mqtt";
|
||||
homepage = "https://github.com/tillsteinbach/WeConnect-mqtt";
|
||||
changelog = "https://github.com/tillsteinbach/WeConnect-mqtt/releases/tag/v${version}";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "weconnect-mqtt";
|
||||
};
|
||||
}
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "fblog";
|
||||
version = "4.9.0";
|
||||
version = "4.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "brocode";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9v8bn68anWB0vkRIixa6YvNl54z6X8u+MyYs38Zgc5A=";
|
||||
hash = "sha256-4Yg7gWVBG9GI1ailEbbcslM+XR8L7yjjjvf4dQq/87I=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tXBXI0tlCdfxKscR4Vfw4okJw+jW3EqPz4Rp6xeCdIQ=";
|
||||
cargoHash = "sha256-8rnQllCne1q1uDpeJkqAdzNKSkEgVp+v9drXL8TaQmM=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A small command-line JSON log viewer";
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "firebase-tools";
|
||||
version = "13.9.0";
|
||||
version = "13.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firebase";
|
||||
repo = "firebase-tools";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-a/rtEDodVL0QCqxEhklDwiTSMFI1hKPrkbtsJH0Au64=";
|
||||
hash = "sha256-g6VmfVBGAjMH2a+oQpS3fVJm9rRNrYFaVfZ/GeqLSus=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-z7h+Jh3KuMkxn5gUDHYlU1+UyABHdLh2IFJiu6wFkhU=";
|
||||
npmDepsHash = "sha256-W+XiuYTFmPgcS03U579/J3HsdPkX9WIHMR33DzWQlr8=";
|
||||
|
||||
postPatch = ''
|
||||
ln -s npm-shrinkwrap.json package-lock.json
|
||||
|
@ -2,15 +2,15 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ginkgo";
|
||||
version = "2.17.3";
|
||||
version = "2.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "onsi";
|
||||
repo = "ginkgo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JIKEuYhzX/gTO2YYI3u1I9YBbXGkdmoQ3kiSfTwu/Qg=";
|
||||
sha256 = "sha256-e8XL79Qj38I+oYJdBut1VL0DlU/tE1q7v1N8JmWjrfA=";
|
||||
};
|
||||
vendorHash = "sha256-qLyqG7A4TEsZSF8olXWc2BIYZukQx/xHsnbYTfC/w4A=";
|
||||
vendorHash = "sha256-ccqhuUL99dtIeiEM4hRdi0479I0cyf8pxSZz0G6Vm+w=";
|
||||
|
||||
# integration tests expect more file changes
|
||||
# types tests are missing CodeLocation
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"bluedevil": {
|
||||
"version": "6.0.5",
|
||||
"url": "mirror://kde/stable/plasma/6.0.5/bluedevil-6.0.5.tar.xz",
|
||||
"hash": "sha256-mJHTxteC62ofaevsRO0PSG8sfrkKIUOU0rbMbq/1psc="
|
||||
"version": "6.0.5.1",
|
||||
"url": "mirror://kde/stable/plasma/6.0.5/bluedevil-6.0.5.1.tar.xz",
|
||||
"hash": "sha256-Zvzi1J9qxxa1UeMDD47T9xvuwEKNofma9+lZvJD1POI="
|
||||
},
|
||||
"breeze": {
|
||||
"version": "6.0.5",
|
||||
|
@ -1,21 +1,9 @@
|
||||
{
|
||||
mkKdeDerivation,
|
||||
fetchFromGitLab,
|
||||
sources,
|
||||
shared-mime-info,
|
||||
}:
|
||||
mkKdeDerivation rec {
|
||||
mkKdeDerivation {
|
||||
pname = "bluedevil";
|
||||
|
||||
# Upstream tarball is broken, so fetch from Invent temporarily.
|
||||
# FIXME: remove in next release.
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "plasma";
|
||||
repo = "bluedevil";
|
||||
rev = "v${sources.${pname}.version}";
|
||||
hash = "sha256-3scHXPZ6dSWa2yea89R1u4jbkr6IFP6jvTLEC4O5uYY=";
|
||||
};
|
||||
|
||||
extraNativeBuildInputs = [shared-mime-info];
|
||||
}
|
||||
|
@ -33,6 +33,12 @@ mkKdeDerivation {
|
||||
patchShebangs src/plugins/strip-effect-metadata.py
|
||||
'';
|
||||
|
||||
# TZDIR may be unset when running through the kwin_wayland wrapper,
|
||||
# but we need it for the lockscreen clock to render
|
||||
qtWrapperArgs = [
|
||||
"--set-default TZDIR /etc/zoneinfo"
|
||||
];
|
||||
|
||||
extraNativeBuildInputs = [pkg-config python3];
|
||||
extraBuildInputs = [
|
||||
qtquick3d
|
||||
|
@ -142,10 +142,10 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
pjproject_2_13_1 = fetchurl
|
||||
pjproject_2_14_1 = fetchurl
|
||||
{
|
||||
url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.13.1/pjproject-2.13.1.tar.bz2";
|
||||
hash = "sha256-cOBRvO+B9fGt4UVYAHQQwBsc2cUF7Pu1GRsjAF7BE1g=";
|
||||
url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.14.1/pjproject-2.14.1.tar.bz2";
|
||||
hash = "sha256-MtsK8bOc0fT/H/pUydqK/ahMIVg8yiRDt3TSM1uhUFQ=";
|
||||
} // {
|
||||
pjsip_patches = [ ];
|
||||
};
|
||||
@ -168,7 +168,7 @@ let
|
||||
versions = lib.mapAttrs
|
||||
(_: { version, sha256 }:
|
||||
let
|
||||
pjsip = pjproject_2_13_1;
|
||||
pjsip = pjproject_2_14_1;
|
||||
in
|
||||
common {
|
||||
inherit version sha256;
|
||||
|
@ -1,14 +1,14 @@
|
||||
{
|
||||
"asterisk_18": {
|
||||
"sha256": "31e1b544ece2bb75be93621e358e6765fc095f4b65e061d488d517177aeb9208",
|
||||
"version": "18.21.0"
|
||||
"sha256": "a46a85f676ea820f9c3c550c7caa8d9515e7754512740768a1336a82e8cf6162",
|
||||
"version": "18.23.1"
|
||||
},
|
||||
"asterisk_20": {
|
||||
"sha256": "d70109e9b4c52fba6d0080b20cadc0aaee4060a0ad28bff4e376bf8b393e9400",
|
||||
"version": "20.6.0"
|
||||
"sha256": "fa498b6224e8c262de6840a67e00e3747e178fcefd9fb2595885d402ca3248f5",
|
||||
"version": "20.8.1"
|
||||
},
|
||||
"asterisk_21": {
|
||||
"sha256": "488100fe1d5648f629e22b52c87d9133892bf556f0c544eea659185cea6e8a69",
|
||||
"version": "21.1.0"
|
||||
"sha256": "cf59196b94851fbfdbcc63d1d6a8d2b83a4ae093c89c3d37b5d460b3a3d20f15",
|
||||
"version": "21.3.1"
|
||||
}
|
||||
}
|
||||
|
@ -18,14 +18,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opensmtpd";
|
||||
version = "7.4.0p0";
|
||||
version = "7.5.0p0";
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook autoconf-archive pkgconf libtool bison ];
|
||||
buildInputs = [ libevent zlib libressl db pam libxcrypt ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.opensmtpd.org/archives/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-wYHMw0NKEeWDYZ4AAoUg1Ff+Bi403AO+6jWAeCIM43Q=";
|
||||
hash = "sha256-hPXBOTwMG+zHLO6pceCr1wdbLKfk4fiQm4Pt/Y3gw5w=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -5,14 +5,14 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "node_exporter";
|
||||
version = "1.8.0";
|
||||
version = "1.8.1";
|
||||
rev = "v${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "prometheus";
|
||||
repo = "node_exporter";
|
||||
hash = "sha256-TC7F/LQnn6OIhvWLy75MQyVGS7DlgJLbbaAUZUZTvEo=";
|
||||
hash = "sha256-dg4JSJx5xXEOLLb5xEgrNeDmh/En9G6qKA9G+3v9PH0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-sly8AJk+jNZG8ijTBF1Pd5AOOUJJxIG8jHwBUdlt8fM=";
|
||||
|
@ -8,18 +8,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "opentelemetry-collector-contrib";
|
||||
version = "0.100.0";
|
||||
version = "0.101.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-telemetry";
|
||||
repo = "opentelemetry-collector-contrib";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QmWl3XhCmOxJPn/haBsWVCPI970sTQpmVpJwCCpBbH4=";
|
||||
sha256 = "sha256-WdMQnAYAdyvS0uyRzvLnhi1HeoWqmUQSIq6MdcP7NfY=";
|
||||
};
|
||||
|
||||
# proxy vendor to avoid hash missmatches between linux and macOS
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-62G+wQeZK/7iO10ZgXXY3gT8LwUnqDY9Pr8HkAqkVik=";
|
||||
vendorHash = "sha256-LM9Co4XpmyIOTVllhiiON4R8OYTO5OjY9Wn+LrU6PIM=";
|
||||
|
||||
# there is a nested go.mod
|
||||
sourceRoot = "${src.name}/cmd/otelcontribcol";
|
||||
|
@ -8,17 +8,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "opentelemetry-collector";
|
||||
version = "0.100.0";
|
||||
version = "0.101.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-telemetry";
|
||||
repo = "opentelemetry-collector";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GDRxOfuAlztJhuYXZKmDpQ6M4ZW3+bNevMjqCHRuyVY=";
|
||||
hash = "sha256-BRZxeTFw4v4LLXPPzIzcjtR/RTckpolGGcB6jyq+ZOA=";
|
||||
};
|
||||
# there is a nested go.mod
|
||||
sourceRoot = "${src.name}/cmd/otelcorecol";
|
||||
vendorHash = "sha256-wVJyu4+dYXLSkopfSLkKPkwnUCGyUeagQtOjuvNxF6A=";
|
||||
vendorHash = "sha256-dO0j26AlpibsmbOqozz9+xMAJS/ZZHT6Z857AblYFHA=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -40,13 +40,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rpm-ostree";
|
||||
version = "2024.5";
|
||||
version = "2024.6";
|
||||
|
||||
outputs = [ "out" "dev" "man" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-lwgEOnV82/EHRem3owngq4ALcjIWj7V1J552JsNCrBw=";
|
||||
hash = "sha256-8jHT4ZQ8vcZ4S3qBNMhCPKSHbFIJCCXNWZVmgsLWxSs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -42,8 +42,8 @@ buildGoModule rec {
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/xray \
|
||||
--suffix V2RAY_LOCATION_ASSET : $assetsDrv/share/v2ray \
|
||||
--suffix XRAY_LOCATION_ASSET : $assetsDrv/share/v2ray
|
||||
--set-default V2RAY_LOCATION_ASSET $assetsDrv/share/v2ray \
|
||||
--set-default XRAY_LOCATION_ASSET $assetsDrv/share/v2ray
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -6,18 +6,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cnspec";
|
||||
version = "11.4.3";
|
||||
version = "11.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mondoohq";
|
||||
repo = "cnspec";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-vLkGysRhcSzSu++p71hZLbA0RNCDcukC3HqPrUugd/s=";
|
||||
hash = "sha256-MQrWZ3nFE/gEU7/AoSIr91LMteo/+68MDwiJBxiosvM=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
vendorHash = "sha256-wL0cXNfJ8qyonUQRE7w2cRoqGLa6NGhv3EPFie/9/Z4=";
|
||||
vendorHash = "sha256-1ytyebfUyeAQcx1HPxn6X0p4t5VlB4uflZJF1f+HhPU=";
|
||||
|
||||
subPackages = [ "apps/cnspec" ];
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
@ -20,13 +21,9 @@ python3.pkgs.buildPythonApplication rec {
|
||||
"python-gnupg"
|
||||
];
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
poetry-core
|
||||
];
|
||||
build-system = with python3.pkgs; [ poetry-core ];
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
nativeBuildInputs = with python3.pkgs; [ pythonRelaxDepsHook ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
defusedxml
|
||||
@ -40,13 +37,9 @@ python3.pkgs.buildPythonApplication rec {
|
||||
sentry-sdk
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
];
|
||||
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ospd_openvas"
|
||||
];
|
||||
pythonImportsCheck = [ "ospd_openvas" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "OSP server implementation to allow GVM to remotely control an OpenVAS Scanner";
|
||||
@ -54,5 +47,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
changelog = "https://github.com/greenbone/ospd-openvas/releases/tag/v${version}";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, python3Packages
|
||||
, gnupg
|
||||
@ -8,30 +8,23 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "pass-import";
|
||||
version = "3.2";
|
||||
version = "3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "roddhjav";
|
||||
repo = "pass-import";
|
||||
rev = "v${version}";
|
||||
sha256 = "0hrpg7yiv50xmbajfy0zdilsyhbj5iv0qnlrgkfv99q1dvd5qy56";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/roddhjav/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-+wrff3OxPkAGu1Mn4Kl0KN4FmvIAb+MnaERcD5ScDNc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "support-for-pykeepass-4.0.3.patch";
|
||||
url = "https://github.com/roddhjav/pass-import/commit/f1b167578916d971ee4f99be99ba0e86ef49015e.patch";
|
||||
hash = "sha256-u6bJbV3/QTfRaPauKSyCWNodpy6CKsreMXUZWKRbee0=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
cryptography
|
||||
defusedxml
|
||||
jsonpath-ng
|
||||
pyaml
|
||||
pykeepass
|
||||
python-magic # similar API to "file-magic", but already in nixpkgs.
|
||||
requests
|
||||
secretstorage
|
||||
zxcvbn
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
@ -46,12 +39,12 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib/password-store/extensions
|
||||
cp ${src}/import.bash $out/lib/password-store/extensions/import.bash
|
||||
cp import.bash $out/lib/password-store/extensions/import.bash
|
||||
wrapProgram $out/lib/password-store/extensions/import.bash \
|
||||
--prefix PATH : "${python3Packages.python.withPackages (_: propagatedBuildInputs)}/bin" \
|
||||
--prefix PYTHONPATH : "$out/${python3Packages.python.sitePackages}" \
|
||||
--run "export PREFIX"
|
||||
cp -r ${src}/share $out/
|
||||
cp -r share $out/
|
||||
'';
|
||||
|
||||
postCheck = ''
|
||||
|
@ -1,9 +1,9 @@
|
||||
{ lib }:
|
||||
|
||||
rec {
|
||||
version = "1.72.0";
|
||||
version = "1.73.0";
|
||||
|
||||
srcHash = "sha256-Rfu4ymNQ9AXuj5nkx01eUtIVMXDmunNTvUH/2Y7VaXM=";
|
||||
srcHash = "sha256-INgc1rTN5K5mcV3u4Jktn7cqu87Z5sLnn70CxuZlbPA=";
|
||||
|
||||
# submodule dependencies
|
||||
# these are fetched so we:
|
||||
@ -13,8 +13,8 @@ rec {
|
||||
"cli/src/semgrep/semgrep_interfaces" = {
|
||||
owner = "semgrep";
|
||||
repo = "semgrep-interfaces";
|
||||
rev = "75abf193687b84ab341d8267d865ad68d81a89c9";
|
||||
hash = "sha256-pS95f9oZLtzCEOQrjJP6aGm6lrltumG4ZjSTaUcRDpU=";
|
||||
rev = "9f38254957c50c68ea402eebae0f7aa40dd01cbf";
|
||||
hash = "sha256-/P8b7nSwNZSrm7dUFkehDaGz+r+bofrlFfuIo4U7tJM=";
|
||||
};
|
||||
};
|
||||
|
||||
@ -25,19 +25,19 @@ rec {
|
||||
core = {
|
||||
x86_64-linux = {
|
||||
platform = "any";
|
||||
hash = "sha256-/XZzzDbsW6pw8LC8DgofZ1Gr7eeQyH719NzJDCoXhpk=";
|
||||
hash = "sha256-NSleztCh9+VEsezypbIS74Ll+KP/Nb/zqAWum7tdoMc=";
|
||||
};
|
||||
aarch64-linux = {
|
||||
platform = "musllinux_1_0_aarch64.manylinux2014_aarch64";
|
||||
hash = "sha256-7zCy2IbxsNO1Jl/efu9dwSyvv6a0HYvqEBzxVpTzqAM=";
|
||||
hash = "sha256-tySsh+CLciJRXpr4oJa/h6Zh0Fw8c+EDdSNNRwOfKpg=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
platform = "macosx_10_14_x86_64";
|
||||
hash = "sha256-jykFOXOCtEtlTxN6z17m8E2g2Wpb7qdXx6w4L6w+DbY=";
|
||||
hash = "sha256-jO8H0wSjW34ynx+WN0oP8mpuAsfMva7H86gg72WrsBY=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
platform = "macosx_11_0_arm64";
|
||||
hash = "sha256-0dBki3y9tMdjRRfYbxtl0fVTDXO8tLpx76EPISxtCy4=";
|
||||
hash = "sha256-EizxrTI7b4qSp8nLwXCnvJqKwZje7+WXyw5z+Yk6bvQ=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,17 +1,22 @@
|
||||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, autoreconfHook
|
||||
, pcre
|
||||
, pkg-config
|
||||
, protobufc
|
||||
, withCrypto ? true, openssl
|
||||
, enableCuckoo ? true, jansson
|
||||
, enableDex ? true
|
||||
, enableDotNet ? true
|
||||
, enableMacho ? true
|
||||
, enableMagic ? true, file
|
||||
, enableStatic ? false
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
autoreconfHook,
|
||||
pcre,
|
||||
pkg-config,
|
||||
protobufc,
|
||||
withCrypto ? true,
|
||||
openssl,
|
||||
enableCuckoo ? true,
|
||||
jansson,
|
||||
enableDex ? true,
|
||||
enableDotNet ? true,
|
||||
enableMacho ? true,
|
||||
enableMagic ? true,
|
||||
file,
|
||||
enableStatic ? false,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -20,8 +25,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "VirusTotal";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
repo = "yara";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-AecHsUBtBleUkWuYMQ4Tx/PY8cs9j7JwqncBziJD0hA=";
|
||||
};
|
||||
|
||||
@ -38,16 +43,14 @@ stdenv.mkDerivation rec {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pcre
|
||||
protobufc
|
||||
] ++ lib.optionals withCrypto [
|
||||
openssl
|
||||
] ++ lib.optionals enableMagic [
|
||||
file
|
||||
] ++ lib.optionals enableCuckoo [
|
||||
jansson
|
||||
];
|
||||
buildInputs =
|
||||
[
|
||||
pcre
|
||||
protobufc
|
||||
]
|
||||
++ lib.optionals withCrypto [ openssl ]
|
||||
++ lib.optionals enableMagic [ file ]
|
||||
++ lib.optionals enableCuckoo [ jansson ];
|
||||
|
||||
preConfigure = "./bootstrap.sh";
|
||||
|
||||
@ -64,10 +67,12 @@ stdenv.mkDerivation rec {
|
||||
doCheck = enableStatic;
|
||||
|
||||
meta = with lib; {
|
||||
description = "The pattern matching swiss knife for malware researchers";
|
||||
description = "Tool to perform pattern matching for malware-related tasks";
|
||||
homepage = "http://Virustotal.github.io/yara/";
|
||||
changelog = "https://github.com/VirusTotal/yara/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "yara";
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -2,26 +2,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gptfdisk";
|
||||
version = "1.0.9";
|
||||
version = "1.0.10";
|
||||
|
||||
src = fetchurl {
|
||||
# https://www.rodsbooks.com/gdisk/${name}.tar.gz also works, but the home
|
||||
# page clearly implies a preference for using SourceForge's bandwidth:
|
||||
url = "mirror://sourceforge/gptfdisk/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-2v6tJpP6646Ll4MrI0B/btWzIZvBeE9ILdhVd04tUMI=";
|
||||
sha256 = "sha256-Kr7WG8bSuexJiXPARAuLgEt6ctcUQGm1qSCbKtaTooI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# issues with popt 1.19 (from upstream but not yet released):
|
||||
# https://github.com/rpm-software-management/popt/issues/80
|
||||
./popt-1-19.patch
|
||||
|
||||
# fix UUID generation (from upstream but not yet released):
|
||||
# https://sourceforge.net/p/gptfdisk/code/ci/6a8416cbd12d55f882bb751993b94f72d338d96f/
|
||||
# https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1853985.html
|
||||
./uuid.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs gdisk_test.sh
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
|
@ -1,84 +0,0 @@
|
||||
commit 5d5e76d369a412bfb3d2cebb5fc0a7509cef878d
|
||||
Author: Rod Smith <rodsmith@rodsbooks.com>
|
||||
Date: Fri Apr 15 18:10:14 2022 -0400
|
||||
|
||||
Fix failure & crash of sgdisk when compiled with latest popt (commit 740; presumably eventually release 1.19)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index c7add56..9e153fd 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -1,3 +1,11 @@
|
||||
+1.0.10 (?/??/2022):
|
||||
+-------------------
|
||||
+
|
||||
+- Fixed problem that caused sgdisk to crash with errors about being unable
|
||||
+ to read the disk's partition table when compiled with the latest popt
|
||||
+ (commit 740, which is pre-release as I type; presumably version 1.19 and
|
||||
+ later once released).
|
||||
+
|
||||
1.0.9 (4/14/2022):
|
||||
------------------
|
||||
|
||||
diff --git a/gptcl.cc b/gptcl.cc
|
||||
index 34c9421..0d578eb 100644
|
||||
--- a/gptcl.cc
|
||||
+++ b/gptcl.cc
|
||||
@@ -155,7 +155,7 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
|
||||
} // while
|
||||
|
||||
// Assume first non-option argument is the device filename....
|
||||
- device = (char*) poptGetArg(poptCon);
|
||||
+ device = strdup((char*) poptGetArg(poptCon));
|
||||
poptResetContext(poptCon);
|
||||
|
||||
if (device != NULL) {
|
||||
diff --git a/support.h b/support.h
|
||||
index 8ba9ad1..f91f1bc 100644
|
||||
--- a/support.h
|
||||
+++ b/support.h
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string>
|
||||
|
||||
-#define GPTFDISK_VERSION "1.0.9"
|
||||
+#define GPTFDISK_VERSION "1.0.9.1"
|
||||
|
||||
#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || defined (__APPLE__)
|
||||
// Darwin (Mac OS) & FreeBSD: disk IOCTLs are different, and there is no lseek64
|
||||
|
||||
commit f5de3401b974ce103ffd93af8f9d43505a04aaf9
|
||||
Author: Damian Kurek <starfire24680@gmail.com>
|
||||
Date: Thu Jul 7 03:39:16 2022 +0000
|
||||
|
||||
Fix NULL dereference when duplicating string argument
|
||||
|
||||
poptGetArg can return NULL if there are no additional arguments, which
|
||||
makes strdup dereference NULL on strlen
|
||||
|
||||
diff --git a/gptcl.cc b/gptcl.cc
|
||||
index 0d578eb..ab95239 100644
|
||||
--- a/gptcl.cc
|
||||
+++ b/gptcl.cc
|
||||
@@ -155,10 +155,11 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
|
||||
} // while
|
||||
|
||||
// Assume first non-option argument is the device filename....
|
||||
- device = strdup((char*) poptGetArg(poptCon));
|
||||
- poptResetContext(poptCon);
|
||||
+ device = (char*) poptGetArg(poptCon);
|
||||
|
||||
if (device != NULL) {
|
||||
+ device = strdup(device);
|
||||
+ poptResetContext(poptCon);
|
||||
JustLooking(); // reset as necessary
|
||||
BeQuiet(); // Tell called functions to be less verbose & interactive
|
||||
if (LoadPartitions((string) device)) {
|
||||
@@ -498,6 +499,7 @@ int GPTDataCL::DoOptions(int argc, char* argv[]) {
|
||||
cerr << "Error encountered; not saving changes.\n";
|
||||
retval = 4;
|
||||
} // if
|
||||
+ free(device);
|
||||
} // if (device != NULL)
|
||||
poptFreeContext(poptCon);
|
||||
return retval;
|
@ -1,11 +0,0 @@
|
||||
--- a/guid.cc
|
||||
+++ b/guid.cc
|
||||
@@ -141,7 +141,7 @@ void GUIDData::Zero(void) {
|
||||
void GUIDData::Randomize(void) {
|
||||
int i, uuidGenerated = 0;
|
||||
|
||||
-#ifdef _UUID_UUID_H
|
||||
+#if defined (_UUID_UUID_H) || defined (_UL_LIBUUID_UUID_H)
|
||||
uuid_generate(uuidData);
|
||||
ReverseBytes(&uuidData[0], 4);
|
||||
ReverseBytes(&uuidData[4], 2);
|
@ -2,21 +2,21 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "percollate";
|
||||
version = "4.0.5";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danburzo";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-St9a22Af2QV3gOR80LmDMeq0x9tf/ZJz9Z4IgeeM80I=";
|
||||
hash = "sha256-AmvdigxLZA3lgT48Z9EVEWOC92kWNA2ve37RMJTR0UA=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-WHOv5N893G35bMC03aGb2m7rQz5xIRd9hPldbRku+RY=";
|
||||
npmDepsHash = "sha256-21Q47puHZ8/jXIlLFrro87hOYahBjov8Pbg/Z2wgt+g=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
# Dev dependencies include an unnecessary Java dependency (epubchecker)
|
||||
# https://github.com/danburzo/percollate/blob/v4.0.5/package.json#L40
|
||||
# https://github.com/danburzo/percollate/blob/v4.2.0/package.json#L40
|
||||
npmInstallFlags = [ "--omit=dev" ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -7616,6 +7616,8 @@ self: super: with self; {
|
||||
|
||||
model-bakery = callPackage ../development/python-modules/model-bakery { };
|
||||
|
||||
model-checker = callPackage ../development/python-modules/model-checker { };
|
||||
|
||||
modelcif = callPackage ../development/python-modules/modelcif { };
|
||||
|
||||
modeled = callPackage ../development/python-modules/modeled { };
|
||||
|
Loading…
Reference in New Issue
Block a user