Merge master into haskell-updates
This commit is contained in:
commit
9290456dd6
|
@ -759,6 +759,12 @@
|
||||||
github = "Alexnortung";
|
github = "Alexnortung";
|
||||||
githubId = 1552267;
|
githubId = 1552267;
|
||||||
};
|
};
|
||||||
|
alexoundos = {
|
||||||
|
email = "alexoundos@gmail.com";
|
||||||
|
github = "AleXoundOS";
|
||||||
|
githubId = 464913;
|
||||||
|
name = "Alexander Tomokhov";
|
||||||
|
};
|
||||||
alexshpilkin = {
|
alexshpilkin = {
|
||||||
email = "ashpilkin@gmail.com";
|
email = "ashpilkin@gmail.com";
|
||||||
github = "alexshpilkin";
|
github = "alexshpilkin";
|
||||||
|
@ -11409,6 +11415,12 @@
|
||||||
githubId = 43088426;
|
githubId = 43088426;
|
||||||
name = "Mihnea Stoian";
|
name = "Mihnea Stoian";
|
||||||
};
|
};
|
||||||
|
mikaelfangel = {
|
||||||
|
email = "nixpkgs.bottle597@passfwd.com";
|
||||||
|
github = "MikaelFangel";
|
||||||
|
githubId = 34864484;
|
||||||
|
name = "Mikael Fangel";
|
||||||
|
};
|
||||||
mikefaille = {
|
mikefaille = {
|
||||||
email = "michael@faille.io";
|
email = "michael@faille.io";
|
||||||
github = "mikefaille";
|
github = "mikefaille";
|
||||||
|
|
|
@ -41,6 +41,8 @@
|
||||||
|
|
||||||
- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable).
|
- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable).
|
||||||
|
|
||||||
|
- [Castopod](https://castopod.org/), an open-source hosting platform made for podcasters who want to engage and interact with their audience. Available as [services.castopod](#opt-services.castopod.enable).
|
||||||
|
|
||||||
- [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable).
|
- [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable).
|
||||||
|
|
||||||
* [NS-USBLoader](https://github.com/developersu/ns-usbloader/), an all-in-one tool for managing Nintendo Switch homebrew. Available as [programs.ns-usbloader](#opt-programs.ns-usbloader.enable).
|
* [NS-USBLoader](https://github.com/developersu/ns-usbloader/), an all-in-one tool for managing Nintendo Switch homebrew. Available as [programs.ns-usbloader](#opt-programs.ns-usbloader.enable).
|
||||||
|
|
|
@ -324,6 +324,7 @@
|
||||||
./services/amqp/rabbitmq.nix
|
./services/amqp/rabbitmq.nix
|
||||||
./services/audio/alsa.nix
|
./services/audio/alsa.nix
|
||||||
./services/audio/botamusique.nix
|
./services/audio/botamusique.nix
|
||||||
|
./services/audio/castopod.nix
|
||||||
./services/audio/gmediarender.nix
|
./services/audio/gmediarender.nix
|
||||||
./services/audio/gonic.nix
|
./services/audio/gonic.nix
|
||||||
./services/audio/goxlr-utility.nix
|
./services/audio/goxlr-utility.nix
|
||||||
|
|
22
nixos/modules/services/audio/castopod.md
Normal file
22
nixos/modules/services/audio/castopod.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Castopod {#module-services-castopod}
|
||||||
|
|
||||||
|
Castopod is an open-source hosting platform made for podcasters who want to engage and interact with their audience.
|
||||||
|
|
||||||
|
## Quickstart {#module-services-castopod-quickstart}
|
||||||
|
|
||||||
|
Use the following configuration to start a public instance of Castopod on `castopod.example.com` domain:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||||
|
services.castopod = {
|
||||||
|
enable = true;
|
||||||
|
database.createLocally = true;
|
||||||
|
nginx.virtualHost = {
|
||||||
|
serverName = "castopod.example.com";
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
Go to `https://castopod.example.com/cp-install` to create superadmin account after applying the above configuration.
|
287
nixos/modules/services/audio/castopod.nix
Normal file
287
nixos/modules/services/audio/castopod.nix
Normal file
|
@ -0,0 +1,287 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.services.castopod;
|
||||||
|
fpm = config.services.phpfpm.pools.castopod;
|
||||||
|
|
||||||
|
user = "castopod";
|
||||||
|
stateDirectory = "/var/lib/castopod";
|
||||||
|
|
||||||
|
# https://docs.castopod.org/getting-started/install.html#requirements
|
||||||
|
phpPackage = pkgs.php.withExtensions ({ enabled, all }: with all; [
|
||||||
|
intl
|
||||||
|
curl
|
||||||
|
mbstring
|
||||||
|
gd
|
||||||
|
exif
|
||||||
|
mysqlnd
|
||||||
|
] ++ enabled);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
meta.doc = ./castopod.md;
|
||||||
|
meta.maintainers = with lib.maintainers; [ alexoundos misuzu ];
|
||||||
|
|
||||||
|
options.services = {
|
||||||
|
castopod = {
|
||||||
|
enable = lib.mkEnableOption (lib.mdDoc "Castopod");
|
||||||
|
package = lib.mkOption {
|
||||||
|
type = lib.types.package;
|
||||||
|
default = pkgs.castopod;
|
||||||
|
defaultText = lib.literalMD "pkgs.castopod";
|
||||||
|
description = lib.mdDoc "Which Castopod package to use.";
|
||||||
|
};
|
||||||
|
database = {
|
||||||
|
createLocally = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Create the database and database user locally.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
hostname = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "localhost";
|
||||||
|
description = lib.mdDoc "Database hostname.";
|
||||||
|
};
|
||||||
|
name = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "castopod";
|
||||||
|
description = lib.mdDoc "Database name.";
|
||||||
|
};
|
||||||
|
user = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = user;
|
||||||
|
description = lib.mdDoc "Database user.";
|
||||||
|
};
|
||||||
|
passwordFile = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.path;
|
||||||
|
default = null;
|
||||||
|
example = "/run/keys/castopod-dbpassword";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
A file containing the password corresponding to
|
||||||
|
[](#opt-services.castopod.database.user).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = lib.mkOption {
|
||||||
|
type = with lib.types; attrsOf (oneOf [ str int bool ]);
|
||||||
|
default = { };
|
||||||
|
example = {
|
||||||
|
"email.protocol" = "smtp";
|
||||||
|
"email.SMTPHost" = "localhost";
|
||||||
|
"email.SMTPUser" = "myuser";
|
||||||
|
"email.fromEmail" = "castopod@example.com";
|
||||||
|
};
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Environment variables used for Castopod.
|
||||||
|
See [](https://code.castopod.org/adaures/castopod/-/blob/main/.env.example)
|
||||||
|
for available environment variables.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environmentFile = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.path;
|
||||||
|
default = null;
|
||||||
|
example = "/run/keys/castopod-env";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Environment file to inject e.g. secrets into the configuration.
|
||||||
|
See [](https://code.castopod.org/adaures/castopod/-/blob/main/.env.example)
|
||||||
|
for available environment variables.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
configureNginx = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = lib.mdDoc "Configure nginx as a reverse proxy for CastoPod.";
|
||||||
|
};
|
||||||
|
localDomain = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
example = "castopod.example.org";
|
||||||
|
description = lib.mdDoc "The domain serving your CastoPod instance.";
|
||||||
|
};
|
||||||
|
poolSettings = lib.mkOption {
|
||||||
|
type = with lib.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 = lib.mdDoc ''
|
||||||
|
Options for Castopod's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.castopod.settings =
|
||||||
|
let
|
||||||
|
sslEnabled = with config.services.nginx.virtualHosts.${cfg.localDomain}; addSSL || forceSSL || onlySSL || enableACME || useACMEHost != null;
|
||||||
|
baseURL = "http${lib.optionalString sslEnabled "s"}://${cfg.localDomain}";
|
||||||
|
in
|
||||||
|
lib.mapAttrs (name: lib.mkDefault) {
|
||||||
|
"app.forceGlobalSecureRequests" = sslEnabled;
|
||||||
|
"app.baseURL" = baseURL;
|
||||||
|
|
||||||
|
"media.baseURL" = "/";
|
||||||
|
"media.root" = "media";
|
||||||
|
"media.storage" = stateDirectory;
|
||||||
|
|
||||||
|
"admin.gateway" = "admin";
|
||||||
|
"auth.gateway" = "auth";
|
||||||
|
|
||||||
|
"database.default.hostname" = cfg.database.hostname;
|
||||||
|
"database.default.database" = cfg.database.name;
|
||||||
|
"database.default.username" = cfg.database.user;
|
||||||
|
"database.default.DBPrefix" = "cp_";
|
||||||
|
|
||||||
|
"cache.handler" = "file";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.phpfpm.pools.castopod = {
|
||||||
|
inherit user;
|
||||||
|
group = config.services.nginx.group;
|
||||||
|
phpPackage = phpPackage;
|
||||||
|
phpOptions = ''
|
||||||
|
# https://code.castopod.org/adaures/castopod/-/blob/main/docker/production/app/uploads.ini
|
||||||
|
file_uploads = On
|
||||||
|
memory_limit = 512M
|
||||||
|
upload_max_filesize = 500M
|
||||||
|
post_max_size = 512M
|
||||||
|
max_execution_time = 300
|
||||||
|
max_input_time = 300
|
||||||
|
'';
|
||||||
|
settings = {
|
||||||
|
"listen.owner" = config.services.nginx.user;
|
||||||
|
"listen.group" = config.services.nginx.group;
|
||||||
|
} // cfg.poolSettings;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.castopod-setup = {
|
||||||
|
after = lib.optional config.services.mysql.enable "mysql.service";
|
||||||
|
requires = lib.optional config.services.mysql.enable "mysql.service";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
path = [ pkgs.openssl phpPackage ];
|
||||||
|
script =
|
||||||
|
let
|
||||||
|
envFile = "${stateDirectory}/.env";
|
||||||
|
media = "${cfg.settings."media.storage"}/${cfg.settings."media.root"}";
|
||||||
|
in
|
||||||
|
''
|
||||||
|
mkdir -p ${stateDirectory}/writable/{cache,logs,session,temp,uploads}
|
||||||
|
|
||||||
|
if [ ! -d ${lib.escapeShellArg media} ]; then
|
||||||
|
cp --no-preserve=mode,ownership -r ${cfg.package}/share/castopod/public/media ${lib.escapeShellArg media}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f ${stateDirectory}/salt ]; then
|
||||||
|
openssl rand -base64 33 > ${stateDirectory}/salt
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<'EOF' > ${envFile}
|
||||||
|
${lib.generators.toKeyValue { } cfg.settings}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "analytics.salt=$(cat ${stateDirectory}/salt)" >> ${envFile}
|
||||||
|
|
||||||
|
${if (cfg.database.passwordFile != null) then ''
|
||||||
|
echo "database.default.password=$(cat ${lib.escapeShellArg cfg.database.passwordFile})" >> ${envFile}
|
||||||
|
'' else ''
|
||||||
|
echo "database.default.password=" >> ${envFile}
|
||||||
|
''}
|
||||||
|
|
||||||
|
${lib.optionalString (cfg.environmentFile != null) ''
|
||||||
|
cat ${lib.escapeShellArg cfg.environmentFile}) >> ${envFile}
|
||||||
|
''}
|
||||||
|
|
||||||
|
php spark castopod:database-update
|
||||||
|
'';
|
||||||
|
serviceConfig = {
|
||||||
|
StateDirectory = "castopod";
|
||||||
|
WorkingDirectory = "${cfg.package}/share/castopod";
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
User = user;
|
||||||
|
Group = config.services.nginx.group;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.castopod-scheduled = {
|
||||||
|
after = [ "castopod-setup.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
path = [ phpPackage ];
|
||||||
|
script = ''
|
||||||
|
php public/index.php scheduled-activities
|
||||||
|
php public/index.php scheduled-websub-publish
|
||||||
|
php public/index.php scheduled-video-clips
|
||||||
|
'';
|
||||||
|
serviceConfig = {
|
||||||
|
StateDirectory = "castopod";
|
||||||
|
WorkingDirectory = "${cfg.package}/share/castopod";
|
||||||
|
Type = "oneshot";
|
||||||
|
User = user;
|
||||||
|
Group = config.services.nginx.group;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers.castopod-scheduled = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnCalendar = "*-*-* *:*:00";
|
||||||
|
Unit = "castopod-scheduled.service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mysql = lib.mkIf cfg.database.createLocally {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkDefault pkgs.mariadb;
|
||||||
|
ensureDatabases = [ cfg.database.name ];
|
||||||
|
ensureUsers = [{
|
||||||
|
name = cfg.database.user;
|
||||||
|
ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx = lib.mkIf cfg.configureNginx {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts."${cfg.localDomain}" = {
|
||||||
|
root = lib.mkForce "${cfg.package}/share/castopod/public";
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
try_files $uri $uri/ /index.php?$args;
|
||||||
|
index index.php index.html;
|
||||||
|
'';
|
||||||
|
|
||||||
|
locations."^~ /${cfg.settings."media.root"}/" = {
|
||||||
|
root = cfg.settings."media.storage";
|
||||||
|
extraConfig = ''
|
||||||
|
add_header Access-Control-Allow-Origin "*";
|
||||||
|
expires max;
|
||||||
|
access_log off;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
locations."~ \.php$" = {
|
||||||
|
fastcgiParams = {
|
||||||
|
SERVER_NAME = "$host";
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
fastcgi_intercept_errors on;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_pass unix:${fpm.socket};
|
||||||
|
try_files $uri =404;
|
||||||
|
fastcgi_read_timeout 3600;
|
||||||
|
fastcgi_send_timeout 3600;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.${user} = lib.mapAttrs (name: lib.mkDefault) {
|
||||||
|
description = "Castopod user";
|
||||||
|
isSystemUser = true;
|
||||||
|
group = config.services.nginx.group;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -9,8 +9,14 @@ let
|
||||||
options = {
|
options = {
|
||||||
devices = mkOption {
|
devices = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
|
default = [ ];
|
||||||
example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ];
|
example = [ "/dev/input/by-id/usb-0000_0000-event-kbd" ];
|
||||||
description = mdDoc "Paths to keyboard devices.";
|
description = mdDoc ''
|
||||||
|
Paths to keyboard devices.
|
||||||
|
|
||||||
|
An empty list, the default value, lets kanata detect which
|
||||||
|
input devices are keyboards and intercept them all.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
config = mkOption {
|
config = mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
|
@ -162,6 +168,14 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
warnings =
|
||||||
|
let
|
||||||
|
keyboardsWithEmptyDevices = filterAttrs (name: keyboard: keyboard.devices == [ ]) cfg.keyboards;
|
||||||
|
existEmptyDevices = length (attrNames keyboardsWithEmptyDevices) > 0;
|
||||||
|
moreThanOneKeyboard = length (attrNames cfg.keyboards) > 1;
|
||||||
|
in
|
||||||
|
optional (existEmptyDevices && moreThanOneKeyboard) "One device can only be intercepted by one kanata instance. Setting services.kanata.keyboards.${head (attrNames keyboardsWithEmptyDevices)}.devices = [ ] and using more than one services.kanata.keyboards may cause a race condition.";
|
||||||
|
|
||||||
hardware.uinput.enable = true;
|
hardware.uinput.enable = true;
|
||||||
|
|
||||||
systemd.services = mapAttrs' mkService cfg.keyboards;
|
systemd.services = mapAttrs' mkService cfg.keyboards;
|
||||||
|
|
|
@ -164,6 +164,15 @@ let
|
||||||
of the wireguard network has to be adjusted as well.
|
of the wireguard network has to be adjusted as well.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
metric = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = with types; nullOr int;
|
||||||
|
example = 700;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Set the metric of routes related to this Wireguard interface.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -395,7 +404,7 @@ let
|
||||||
optionalString interfaceCfg.allowedIPsAsRoutes
|
optionalString interfaceCfg.allowedIPsAsRoutes
|
||||||
(concatMapStringsSep "\n"
|
(concatMapStringsSep "\n"
|
||||||
(allowedIP:
|
(allowedIP:
|
||||||
''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}"''
|
''${ip} route replace "${allowedIP}" dev "${interfaceName}" table "${interfaceCfg.table}" ${optionalString (interfaceCfg.metric != null) "metric ${toString interfaceCfg.metric}"}''
|
||||||
) peer.allowedIPs);
|
) peer.allowedIPs);
|
||||||
in ''
|
in ''
|
||||||
${wg_setup}
|
${wg_setup}
|
||||||
|
|
|
@ -2,40 +2,15 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.services.peering-manager;
|
cfg = config.services.peering-manager;
|
||||||
configFile = pkgs.writeTextFile {
|
|
||||||
name = "configuration.py";
|
|
||||||
text = ''
|
|
||||||
ALLOWED_HOSTS = ['*']
|
|
||||||
DATABASE = {
|
|
||||||
'NAME': 'peering-manager',
|
|
||||||
'USER': 'peering-manager',
|
|
||||||
'HOST': '/run/postgresql',
|
|
||||||
}
|
|
||||||
|
|
||||||
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate
|
pythonFmt = pkgs.formats.pythonVars {};
|
||||||
# configuration exists for each. Full connection details are required in both sections, and it is strongly recommended
|
settingsFile = pythonFmt.generate "peering-manager-settings.py" cfg.settings;
|
||||||
# to use two separate database IDs.
|
extraConfigFile = pkgs.writeTextFile {
|
||||||
REDIS = {
|
name = "peering-manager-extraConfig.py";
|
||||||
'tasks': {
|
text = cfg.extraConfig;
|
||||||
'UNIX_SOCKET_PATH': '${config.services.redis.servers.peering-manager.unixSocket}',
|
|
||||||
'DATABASE': 0,
|
|
||||||
},
|
|
||||||
'caching': {
|
|
||||||
'UNIX_SOCKET_PATH': '${config.services.redis.servers.peering-manager.unixSocket}',
|
|
||||||
'DATABASE': 1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
with open("${cfg.secretKeyFile}", "r") as file:
|
|
||||||
SECRET_KEY = file.readline()
|
|
||||||
'' + lib.optionalString (cfg.peeringdbApiKeyFile != null) ''
|
|
||||||
with open("${cfg.peeringdbApiKeyFile}", "r") as file:
|
|
||||||
PEERINGDB_API_KEY = file.readline()
|
|
||||||
'' + ''
|
|
||||||
|
|
||||||
${cfg.extraConfig}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
configFile = pkgs.concatText "configuration.py" [ settingsFile extraConfigFile ];
|
||||||
|
|
||||||
pkg = (pkgs.peering-manager.overrideAttrs (old: {
|
pkg = (pkgs.peering-manager.overrideAttrs (old: {
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
ln -s ${configFile} $out/opt/peering-manager/peering_manager/configuration.py
|
ln -s ${configFile} $out/opt/peering-manager/peering_manager/configuration.py
|
||||||
|
@ -106,6 +81,30 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Configuration options to set in `configuration.py`.
|
||||||
|
See the [documentation](https://peering-manager.readthedocs.io/en/stable/configuration/optional-settings/) for more possible options.
|
||||||
|
'';
|
||||||
|
|
||||||
|
default = { };
|
||||||
|
|
||||||
|
type = lib.types.submodule {
|
||||||
|
freeformType = pythonFmt.type;
|
||||||
|
|
||||||
|
options = {
|
||||||
|
ALLOWED_HOSTS = lib.mkOption {
|
||||||
|
type = with lib.types; listOf str;
|
||||||
|
default = ["*"];
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
A list of valid fully-qualified domain names (FQDNs) and/or IP
|
||||||
|
addresses that can be used to reach the peering manager service.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
default = "";
|
default = "";
|
||||||
|
@ -135,7 +134,39 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
services.peering-manager.plugins = lib.mkIf cfg.enableLdap (ps: [ ps.django-auth-ldap ]);
|
services.peering-manager = {
|
||||||
|
settings = {
|
||||||
|
DATABASE = {
|
||||||
|
NAME = "peering-manager";
|
||||||
|
USER = "peering-manager";
|
||||||
|
HOST = "/run/postgresql";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate
|
||||||
|
# configuration exists for each. Full connection details are required in both sections, and it is strongly recommended
|
||||||
|
# to use two separate database IDs.
|
||||||
|
REDIS = {
|
||||||
|
tasks = {
|
||||||
|
UNIX_SOCKET_PATH = config.services.redis.servers.peering-manager.unixSocket;
|
||||||
|
DATABASE = 0;
|
||||||
|
};
|
||||||
|
caching = {
|
||||||
|
UNIX_SOCKET_PATH = config.services.redis.servers.peering-manager.unixSocket;
|
||||||
|
DATABASE = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
with open("${cfg.secretKeyFile}", "r") as file:
|
||||||
|
SECRET_KEY = file.readline()
|
||||||
|
'' + lib.optionalString (cfg.peeringdbApiKeyFile != null) ''
|
||||||
|
with open("${cfg.peeringdbApiKeyFile}", "r") as file:
|
||||||
|
PEERINGDB_API_KEY = file.readline()
|
||||||
|
'';
|
||||||
|
|
||||||
|
plugins = lib.mkIf cfg.enableLdap (ps: [ ps.django-auth-ldap ]);
|
||||||
|
};
|
||||||
|
|
||||||
system.build.peeringManagerPkg = pkg;
|
system.build.peeringManagerPkg = pkg;
|
||||||
|
|
||||||
|
|
|
@ -158,6 +158,7 @@ in {
|
||||||
cagebreak = handleTest ./cagebreak.nix {};
|
cagebreak = handleTest ./cagebreak.nix {};
|
||||||
calibre-web = handleTest ./calibre-web.nix {};
|
calibre-web = handleTest ./calibre-web.nix {};
|
||||||
calibre-server = handleTest ./calibre-server.nix {};
|
calibre-server = handleTest ./calibre-server.nix {};
|
||||||
|
castopod = handleTest ./castopod.nix {};
|
||||||
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
|
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
|
||||||
cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
|
cassandra_3_11 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_11; };
|
||||||
cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; };
|
cassandra_4 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_4; };
|
||||||
|
|
87
nixos/tests/castopod.nix
Normal file
87
nixos/tests/castopod.nix
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
name = "castopod";
|
||||||
|
meta = with lib.maintainers; {
|
||||||
|
maintainers = [ alexoundos misuzu ];
|
||||||
|
};
|
||||||
|
nodes.castopod = { nodes, ... }: {
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
networking.extraHosts = ''
|
||||||
|
127.0.0.1 castopod.example.com
|
||||||
|
'';
|
||||||
|
services.castopod = {
|
||||||
|
enable = true;
|
||||||
|
database.createLocally = true;
|
||||||
|
localDomain = "castopod.example.com";
|
||||||
|
};
|
||||||
|
environment.systemPackages =
|
||||||
|
let
|
||||||
|
username = "admin";
|
||||||
|
email = "admin@castood.example.com";
|
||||||
|
password = "v82HmEp5";
|
||||||
|
testRunner = pkgs.writers.writePython3Bin "test-runner"
|
||||||
|
{
|
||||||
|
libraries = [ pkgs.python3Packages.selenium ];
|
||||||
|
flakeIgnore = [
|
||||||
|
"E501"
|
||||||
|
];
|
||||||
|
} ''
|
||||||
|
from selenium.webdriver.common.by import By
|
||||||
|
from selenium.webdriver import Firefox
|
||||||
|
from selenium.webdriver.firefox.options import Options
|
||||||
|
from selenium.webdriver.support.ui import WebDriverWait
|
||||||
|
from selenium.webdriver.support import expected_conditions as EC
|
||||||
|
|
||||||
|
options = Options()
|
||||||
|
options.add_argument('--headless')
|
||||||
|
driver = Firefox(options=options)
|
||||||
|
try:
|
||||||
|
driver.implicitly_wait(20)
|
||||||
|
driver.get('http://castopod.example.com/cp-install')
|
||||||
|
|
||||||
|
wait = WebDriverWait(driver, 10)
|
||||||
|
|
||||||
|
wait.until(EC.title_contains("installer"))
|
||||||
|
|
||||||
|
driver.find_element(By.CSS_SELECTOR, '#username').send_keys(
|
||||||
|
'${username}'
|
||||||
|
)
|
||||||
|
driver.find_element(By.CSS_SELECTOR, '#email').send_keys(
|
||||||
|
'${email}'
|
||||||
|
)
|
||||||
|
driver.find_element(By.CSS_SELECTOR, '#password').send_keys(
|
||||||
|
'${password}'
|
||||||
|
)
|
||||||
|
driver.find_element(By.XPATH, "//button[contains(., 'Finish install')]").click()
|
||||||
|
|
||||||
|
wait.until(EC.title_contains("Auth"))
|
||||||
|
|
||||||
|
driver.find_element(By.CSS_SELECTOR, '#email').send_keys(
|
||||||
|
'${email}'
|
||||||
|
)
|
||||||
|
driver.find_element(By.CSS_SELECTOR, '#password').send_keys(
|
||||||
|
'${password}'
|
||||||
|
)
|
||||||
|
driver.find_element(By.XPATH, "//button[contains(., 'Login')]").click()
|
||||||
|
|
||||||
|
wait.until(EC.title_contains("Admin dashboard"))
|
||||||
|
finally:
|
||||||
|
driver.close()
|
||||||
|
driver.quit()
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
[ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ];
|
||||||
|
};
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
castopod.wait_for_unit("castopod-setup.service")
|
||||||
|
castopod.wait_for_file("/run/phpfpm/castopod.sock")
|
||||||
|
castopod.wait_for_unit("nginx.service")
|
||||||
|
castopod.wait_for_open_port(80)
|
||||||
|
castopod.wait_until_succeeds("curl -sS -f http://castopod.example.com")
|
||||||
|
castopod.succeed("curl -s http://localhost/cp-install | grep 'Create your Super Admin account' > /dev/null")
|
||||||
|
|
||||||
|
with subtest("Create superadmin and log in"):
|
||||||
|
castopod.succeed("PYTHONUNBUFFERED=1 test-runner | systemd-cat -t test-runner")
|
||||||
|
'';
|
||||||
|
})
|
53
pkgs/applications/audio/castopod/default.nix
Normal file
53
pkgs/applications/audio/castopod/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{ stdenv
|
||||||
|
, fetchurl
|
||||||
|
, ffmpeg-headless
|
||||||
|
, lib
|
||||||
|
, nixosTests
|
||||||
|
, stateDirectory ? "/var/lib/castopod"
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "castopod";
|
||||||
|
version = "1.6.4";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://code.castopod.org/adaures/castopod/uploads/ce56d4f149242f12bedd20f9a2b0916d/castopod-1.6.4.tar.gz";
|
||||||
|
sha256 = "080jj91yxbn3xsbs0sywzwa2f5in9bp9qi2zwqcfqpaxlq9ga62v";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
dontFixup = true;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# not configurable at runtime unfortunately:
|
||||||
|
substituteInPlace app/Config/Paths.php \
|
||||||
|
--replace "__DIR__ . '/../../writable'" "'${stateDirectory}/writable'"
|
||||||
|
|
||||||
|
# configuration file must be writable, place it to ${stateDirectory}
|
||||||
|
substituteInPlace modules/Install/Controllers/InstallController.php \
|
||||||
|
--replace "ROOTPATH" "'${stateDirectory}/'"
|
||||||
|
substituteInPlace public/index.php spark \
|
||||||
|
--replace "DotEnv(ROOTPATH)" "DotEnv('${stateDirectory}')"
|
||||||
|
|
||||||
|
# ffmpeg is required for Video Clips feature
|
||||||
|
substituteInPlace modules/MediaClipper/VideoClipper.php \
|
||||||
|
--replace "ffmpeg" "${ffmpeg-headless}/bin/ffmpeg"
|
||||||
|
substituteInPlace modules/Admin/Controllers/VideoClipsController.php \
|
||||||
|
--replace "which ffmpeg" "echo ${ffmpeg-headless}/bin/ffmpeg"
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/castopod
|
||||||
|
cp -r . $out/share/castopod
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.tests.castopod = nixosTests.castopod;
|
||||||
|
passthru.updateScript = ./update.sh;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "An open-source hosting platform made for podcasters who want to engage and interact with their audience";
|
||||||
|
homepage = "https://castopod.org";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ alexoundos misuzu ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
89
pkgs/applications/audio/castopod/update.sh
Executable file
89
pkgs/applications/audio/castopod/update.sh
Executable file
|
@ -0,0 +1,89 @@
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p curl jq
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
nixpkgs="$(git rev-parse --show-toplevel)"
|
||||||
|
castopod_nix="$nixpkgs/pkgs/applications/audio/castopod/default.nix"
|
||||||
|
|
||||||
|
# https://www.meetup.com/api/guide/#p02-querying-section
|
||||||
|
query='
|
||||||
|
query allReleases($fullPath: ID!, $first: Int, $last: Int, $before: String, $after: String, $sort: ReleaseSort) {
|
||||||
|
project(fullPath: $fullPath) {
|
||||||
|
id
|
||||||
|
releases(
|
||||||
|
first: $first
|
||||||
|
last: $last
|
||||||
|
before: $before
|
||||||
|
after: $after
|
||||||
|
sort: $sort
|
||||||
|
) {
|
||||||
|
nodes {
|
||||||
|
...Release
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment Release on Release {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
tagName
|
||||||
|
releasedAt
|
||||||
|
createdAt
|
||||||
|
upcomingRelease
|
||||||
|
historicalRelease
|
||||||
|
assets {
|
||||||
|
links {
|
||||||
|
nodes {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
url
|
||||||
|
directAssetUrl
|
||||||
|
linkType
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
__typename
|
||||||
|
}
|
||||||
|
'
|
||||||
|
variables='{
|
||||||
|
"fullPath": "adaures/castopod",
|
||||||
|
"first": 1,
|
||||||
|
"sort": "RELEASED_AT_DESC"
|
||||||
|
}'
|
||||||
|
|
||||||
|
post=$(cat <<EOF
|
||||||
|
{"query": "$(echo $query)", "variables": $(echo $variables)}
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
json="$(curl -s -X POST https://code.castopod.org/api/graphql \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d "$post")"
|
||||||
|
|
||||||
|
echo "$json"
|
||||||
|
TAG=$(echo $json | jq -r '.data.project.releases.nodes[].tagName')
|
||||||
|
ASSET_URL=$(echo $json | jq -r '.data.project.releases.nodes[].assets.links.nodes[].url' | grep .tar.gz$)
|
||||||
|
|
||||||
|
CURRENT_VERSION=$(nix eval -f "$nixpkgs" --raw castopod.version)
|
||||||
|
VERSION=${TAG:1}
|
||||||
|
|
||||||
|
if [[ "$CURRENT_VERSION" == "$VERSION" ]]; then
|
||||||
|
echo "castopod is up-to-date: ${CURRENT_VERSION}"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
SHA256=$(nix-prefetch-url "$ASSET_URL")
|
||||||
|
|
||||||
|
URL=$(echo $ASSET_URL | sed -e 's/[\/&]/\\&/g')
|
||||||
|
|
||||||
|
sed -e "s/version =.*;/version = \"$VERSION\";/g" \
|
||||||
|
-e "s/url =.*;/url = \"$URL\";/g" \
|
||||||
|
-e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \
|
||||||
|
-i "$castopod_nix"
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "open-stage-control";
|
pname = "open-stage-control";
|
||||||
version = "1.25.3";
|
version = "1.25.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jean-emmanuel";
|
owner = "jean-emmanuel";
|
||||||
repo = "open-stage-control";
|
repo = "open-stage-control";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-drv+QNBmUjvlRul8PlFK4ZBIDw6BV4kJXVw287H6WT4=";
|
hash = "sha256-N0bL/kgw5tIVcD4fGYrahdola/w9ouct0+AUqw+dUOg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Remove some Electron stuff from package.json
|
# Remove some Electron stuff from package.json
|
||||||
|
@ -16,7 +16,7 @@ buildNpmPackage rec {
|
||||||
sed -i -e '/"electron"\|"electron-installer-debian"/d' package.json
|
sed -i -e '/"electron"\|"electron-installer-debian"/d' package.json
|
||||||
'';
|
'';
|
||||||
|
|
||||||
npmDepsHash = "sha256-M+6+zrxy8VpJQS0dG/xORMbflKEq8wO2DEOjGrA6OUw=";
|
npmDepsHash = "sha256-unjoBWVwmUqxAU3mDC37sXzoh7aEOdny4Asa70+sZnk=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
copyDesktopItems
|
copyDesktopItems
|
||||||
|
|
|
@ -9,16 +9,16 @@ let
|
||||||
|
|
||||||
in buildGoModule rec {
|
in buildGoModule rec {
|
||||||
pname = "go-ethereum";
|
pname = "go-ethereum";
|
||||||
version = "1.12.2";
|
version = "1.13.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ethereum";
|
owner = "ethereum";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-iCLOrf6/f0f7sD0YjmBtlcOcZRDIp9IZkBadTKj1Qjw=";
|
sha256 = "sha256-tomzF0jM1tcxnnBHLfNWcR1XGECxU8Q/SQAWQBRAFW8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-ChmQjhz4dQdwcY/269Hi5XAn8/+0z/AF7Kd9PJ8WqHg=";
|
vendorHash = "sha256-VX2S7yjdcconPd8wisV+Cl6FVuEUGU7smIBKfTxpUVY=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ lib
|
{ lib
|
||||||
, buildGoModule
|
, buildGoModule
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, installShellFiles
|
||||||
|
, stdenv
|
||||||
}:
|
}:
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "glow";
|
pname = "glow";
|
||||||
|
@ -19,6 +21,14 @@ buildGoModule rec {
|
||||||
|
|
||||||
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
|
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||||
|
installShellCompletion --cmd glow \
|
||||||
|
--bash <($out/bin/glow completion bash) \
|
||||||
|
--fish <($out/bin/glow completion fish) \
|
||||||
|
--zsh <($out/bin/glow completion zsh)
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Render markdown on the CLI, with pizzazz!";
|
description = "Render markdown on the CLI, with pizzazz!";
|
||||||
homepage = "https://github.com/charmbracelet/glow";
|
homepage = "https://github.com/charmbracelet/glow";
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "ldtk";
|
pname = "ldtk";
|
||||||
version = "1.3.4";
|
version = "1.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/deepnight/ldtk/releases/download/v${finalAttrs.version}/ubuntu-distribution.zip";
|
url = "https://github.com/deepnight/ldtk/releases/download/v${finalAttrs.version}/ubuntu-distribution.zip";
|
||||||
hash = "sha256-/EFmuzj8hYhQJegZpZhZb4fuSeMF9wdG1Be4duEvW54=";
|
hash = "sha256-WuKzhE9r/yMqlV2bf/0AuNVKfxq/SlecmN3rHt6RjXo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ];
|
nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ];
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "orbiton";
|
pname = "orbiton";
|
||||||
version = "2.64.3";
|
version = "2.65.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xyproto";
|
owner = "xyproto";
|
||||||
repo = "orbiton";
|
repo = "orbiton";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-mx6k6OXr3iTCD1FTC7J1fnz7Gs/GyggHXnVywuPo5BY=";
|
hash = "sha256-ul5E5xOtH5qh5tNE+S/VhUOr079wHwgtXF7ZIAwGzgU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
, Foundation
|
, Foundation
|
||||||
, testers
|
, testers
|
||||||
, imagemagick
|
, imagemagick
|
||||||
|
, perlPackages
|
||||||
, python3
|
, python3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -47,13 +48,13 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "imagemagick";
|
pname = "imagemagick";
|
||||||
version = "7.1.1-15";
|
version = "7.1.1-18";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ImageMagick";
|
owner = "ImageMagick";
|
||||||
repo = "ImageMagick";
|
repo = "ImageMagick";
|
||||||
rev = finalAttrs.version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-/fI/RrwcgvKX5loIrDAur60VF5O4FgyPYN7BbcPP/bU=";
|
hash = "sha256-DnmX4dxpOqDGHOFSnq7ms2fLGdB1nKdZbpd0Q9t+X6A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||||
|
@ -125,12 +126,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
version = testers.testVersion { package = finalAttrs.finalPackage; };
|
version = testers.testVersion { package = finalAttrs.finalPackage; };
|
||||||
|
inherit (perlPackages) ImageMagick;
|
||||||
inherit (python3.pkgs) img2pdf;
|
inherit (python3.pkgs) img2pdf;
|
||||||
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "http://www.imagemagick.org/";
|
homepage = "http://www.imagemagick.org/";
|
||||||
|
changelog = "https://github.com/ImageMagick/Website/blob/main/ChangeLog.md";
|
||||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||||
pkgConfigModules = [ "ImageMagick" "MagickWand" ];
|
pkgConfigModules = [ "ImageMagick" "MagickWand" ];
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
lib,
|
lib,
|
||||||
}: let
|
}: let
|
||||||
pname = "upscayl";
|
pname = "upscayl";
|
||||||
version = "2.8.1";
|
version = "2.8.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
|
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
|
||||||
hash = "sha256-gmFT6onuoaw9WDCUDImZM/AxuZECqPC73ZyNnp6WSGA=";
|
hash = "sha256-w5rjLqdlPOZWgdc2t0Y3tl24qZqpjBV6I9gruLaI+qc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extractType2 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
|
|
|
@ -18,14 +18,14 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qcad";
|
pname = "qcad";
|
||||||
version = "3.28.1.3";
|
version = "3.28.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
name = "qcad-${version}-src";
|
name = "qcad-${version}-src";
|
||||||
owner = "qcad";
|
owner = "qcad";
|
||||||
repo = "qcad";
|
repo = "qcad";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-4Kr/zKE2VqAblNvxT9dg1325V0OCMca3MPEiG3fTxT4=";
|
sha256 = "sha256-0iH+fuh7jurk7FmEdTig+Tfm7ts3b2Azqv6T5kUNpg4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "timewarrior";
|
pname = "timewarrior";
|
||||||
version = "1.5.0";
|
version = "1.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "GothenburgBitFactory";
|
owner = "GothenburgBitFactory";
|
||||||
repo = "timewarrior";
|
repo = "timewarrior";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-qD49NExR0OZ6hgt5ejGiltxF9xkmseJjhJNzEGofnhw=";
|
sha256 = "sha256-0obIMnPBvMO30o+qXqwtINNRobBR6cFO65B/xjVt+2w=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, cmake
|
, cmake
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
@ -26,6 +27,14 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
cargoHash = "sha256-AAub8UwAvX3zNX+SM/T9biyNxFTgfqUQG/MUGfwWuno=";
|
cargoHash = "sha256-AAub8UwAvX3zNX+SM/T9biyNxFTgfqUQG/MUGfwWuno=";
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "CVE-2023-40274.patch";
|
||||||
|
url = "https://github.com/getzola/zola/commit/fe1967fb0fe063b1cee1ad48820870ab2ecc0e5b.patch";
|
||||||
|
hash = "sha256-B/SVGhVX5hAbvMhBYO+mU5+xdZXU2JyS4uKmOj+aZuI=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
|
@ -91,11 +91,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "brave";
|
pname = "brave";
|
||||||
version = "1.58.124";
|
version = "1.58.129";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||||
sha256 = "sha256-Q/bdauGZR68ueeKxOKI8X7OAc7UmNgixxEJncDsYhH0=";
|
sha256 = "sha256-AJ287Ph6iGnodw3Xt2XMlryBlBLNnvEI8rwpuo5ubKc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
|
@ -29,9 +29,9 @@ rec {
|
||||||
sed -i '/MOZ_NORMANDY/ s/True/False/' browser/moz.configure
|
sed -i '/MOZ_NORMANDY/ s/True/False/' browser/moz.configure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
extraPrefsFiles = [ "${source}/submodules/settings/librewolf.cfg" ];
|
extraPrefsFiles = [ "${src.settings}/librewolf.cfg" ];
|
||||||
|
|
||||||
extraPoliciesFiles = [ "${source}/submodules/settings/distribution/policies.json" ];
|
extraPoliciesFiles = [ "${src.settings}/distribution/policies.json" ];
|
||||||
|
|
||||||
extraPassthru = {
|
extraPassthru = {
|
||||||
librewolf = { inherit src extraPatches; };
|
librewolf = { inherit src extraPatches; };
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
{
|
{
|
||||||
"packageVersion": "116.0.3-1",
|
"packageVersion": "117.0.1-1",
|
||||||
"source": {
|
"source": {
|
||||||
"rev": "116.0.3-1",
|
"rev": "117.0.1-1",
|
||||||
"sha256": "19l5nny96p89xm8c9f5m1435sglshn7izmjnj338c8qh217zxiyq"
|
"sha256": "06j85b6v54vxj99hgrlibpsg6f8w8cqj912vz7gwyfa17pawax9z"
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"rev": "9c862f06f970d69e00c1035e0d4774fb44fd84a6",
|
||||||
|
"sha256": "0ay58wrhfn0b56748phpn0ahz11ls9y8d2fd1z4zrj6dv398vlmb"
|
||||||
},
|
},
|
||||||
"firefox": {
|
"firefox": {
|
||||||
"version": "116.0.3",
|
"version": "117.0.1",
|
||||||
"sha512": "194c50e9ba5a918c37fbef8cd72ffb98e5e9f51955d8172b6666a758b5f20777ca0a7f79dff0328305fb6dafefb102ab002e326f47d0965a4dc6d3e9287c42b9"
|
"sha512": "1583b0ad3b3b17c59bfbfb3e416074766327d0b926ef4f6c6b1e3b2d7cf6a18dec592b7d17fab9493ba1506f3540a02277096d28616dd29b6e7b9e93905f2071"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, fetchurl, fetchFromGitLab }:
|
{ lib, fetchurl, fetchFromGitLab, fetchFromGitea }:
|
||||||
let src = lib.importJSON ./src.json;
|
let src = lib.importJSON ./src.json;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -9,6 +9,12 @@ in
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
inherit (src.source) rev sha256;
|
inherit (src.source) rev sha256;
|
||||||
};
|
};
|
||||||
|
settings = fetchFromGitea {
|
||||||
|
domain = "codeberg.org";
|
||||||
|
owner = "librewolf";
|
||||||
|
repo = "settings";
|
||||||
|
inherit (src.settings) rev sha256;
|
||||||
|
};
|
||||||
firefox = fetchurl {
|
firefox = fetchurl {
|
||||||
url =
|
url =
|
||||||
"mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz";
|
"mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz";
|
||||||
|
|
|
@ -57,9 +57,18 @@ writeScript "update-librewolf" ''
|
||||||
ffHash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
|
ffHash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
|
||||||
echo "ffHash=$ffHash"
|
echo "ffHash=$ffHash"
|
||||||
|
|
||||||
|
# upstream does not specify settings rev, so just get the latest. see https://github.com/NixOS/nixpkgs/issues/252276
|
||||||
|
settingsRev=$(curl 'https://codeberg.org/api/v1/repos/librewolf/settings/commits?sha=master&limit=1' | jq -r .[0].sha)
|
||||||
|
echo "settingsRev=$settingsRev"
|
||||||
|
repoUrl=https://codeberg.org/librewolf/settings
|
||||||
|
nix-prefetch-git $repoUrl --quiet --rev $settingsRev > $prefetchOut
|
||||||
|
settingsSha256=$(jq -r .sha256 < $prefetchOut)
|
||||||
|
|
||||||
jq ".source.rev = \"$latestTag\"" $srcJson | sponge $srcJson
|
jq ".source.rev = \"$latestTag\"" $srcJson | sponge $srcJson
|
||||||
jq ".source.sha256 = \"$srcHash\"" $srcJson | sponge $srcJson
|
jq ".source.sha256 = \"$srcHash\"" $srcJson | sponge $srcJson
|
||||||
jq ".firefox.version = \"$ffVersion\"" $srcJson | sponge $srcJson
|
jq ".firefox.version = \"$ffVersion\"" $srcJson | sponge $srcJson
|
||||||
jq ".firefox.sha512 = \"$ffHash\"" $srcJson | sponge $srcJson
|
jq ".firefox.sha512 = \"$ffHash\"" $srcJson | sponge $srcJson
|
||||||
jq ".packageVersion = \"$lwVersion\"" $srcJson | sponge $srcJson
|
jq ".packageVersion = \"$lwVersion\"" $srcJson | sponge $srcJson
|
||||||
|
jq ".settings.rev = \"$settingsRev\"" $srcJson | sponge $srcJson
|
||||||
|
jq ".settings.sha256 = \"$settingsSha256\"" $srcJson | sponge $srcJson
|
||||||
''
|
''
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "helm-secrets";
|
pname = "helm-secrets";
|
||||||
version = "4.4.2";
|
version = "4.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jkroepke";
|
owner = "jkroepke";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-GpPgjRqzH4fcnaHs9SWfdaCZimwBleXnxQLjqy8SArs=";
|
hash = "sha256-zytorArHhdwF7F9c2QkaX3KxLNlWySKieK2K1b5omFI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "rancher";
|
pname = "rancher";
|
||||||
version = "2.7.0";
|
version = "2.7.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rancher";
|
owner = "rancher";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-co4LVd5A0bJ4CIuCfv6WyV8XCMbPCFAAcV12WekYrw4=";
|
hash = "sha256-HgLV4iuZXkL6BOKtUul1pFuIWv09VnUSPbdrtFd6Khk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
|
@ -19,7 +19,7 @@ buildGoModule rec {
|
||||||
"-static"
|
"-static"
|
||||||
];
|
];
|
||||||
|
|
||||||
vendorHash = "sha256-oclMnt6uJa8SG2fNM0fi+HCVMMi4rkykx8VpK/tXilQ=";
|
vendorHash = "sha256-mXLZMnGJ1m5gFroJcSoE4SbVvsyuS73hfXFeWBRtUdI=";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv $out/bin/cli $out/bin/rancher
|
mv $out/bin/cli $out/bin/rancher
|
||||||
|
|
|
@ -43,6 +43,5 @@ in
|
||||||
|
|
||||||
meta = metaCommon // {
|
meta = metaCommon // {
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
mainProgram = "caprine";
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -30,6 +30,5 @@ stdenvNoCC.mkDerivation {
|
||||||
|
|
||||||
meta = metaCommon // {
|
meta = metaCommon // {
|
||||||
platforms = with lib.platforms; darwin;
|
platforms = with lib.platforms; darwin;
|
||||||
mainProgram = "caprine";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, callPackage, stdenvNoCC }:
|
{ lib, callPackage, stdenvNoCC }:
|
||||||
let
|
let
|
||||||
pname = "caprine";
|
pname = "caprine";
|
||||||
version = "2.58.0";
|
version = "2.58.3";
|
||||||
metaCommon = with lib; {
|
metaCommon = with lib; {
|
||||||
description = "An elegant Facebook Messenger desktop app";
|
description = "An elegant Facebook Messenger desktop app";
|
||||||
homepage = "https://sindresorhus.com/caprine";
|
homepage = "https://sindresorhus.com/caprine";
|
||||||
|
@ -10,11 +10,11 @@ let
|
||||||
};
|
};
|
||||||
x86_64-appimage = callPackage ./build-from-appimage.nix {
|
x86_64-appimage = callPackage ./build-from-appimage.nix {
|
||||||
inherit pname version metaCommon;
|
inherit pname version metaCommon;
|
||||||
sha256 = "7iK2RyA63okJLH2Xm97fFilJHzqFuP96xkUr2+ADbC4=";
|
sha256 = "sha256-w0nBQhHYzFLsNu0MxWhoju6fh4JpAKC7MWWVxwDkRYk=";
|
||||||
};
|
};
|
||||||
x86_64-dmg = callPackage ./build-from-dmg.nix {
|
x86_64-dmg = callPackage ./build-from-dmg.nix {
|
||||||
inherit pname version metaCommon;
|
inherit pname version metaCommon;
|
||||||
sha256 = "RqK+fJJAt9W+m7zg6ZYI6PEAOa3V1UxsptEpG1qjibg=";
|
sha256 = "sha256-6Mx2ZkT2hdnaSVt2hKMMV9xc7rYPFFbxcj6vb84ojYU=";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
(if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: {
|
(if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: {
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
|
(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
|
||||||
pname = "signalbackup-tools";
|
pname = "signalbackup-tools";
|
||||||
version = "20230925";
|
version = "20230926";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bepaald";
|
owner = "bepaald";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-j1iAFNG6A/u/2OY07At0kobXtlSqoy3jM2rBf96qhHQ=";
|
hash = "sha256-OU5jKalS8vbQPMT+/FgXbRjWrgL96oIp2I/eHsRa7Q8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -19,13 +19,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "teams-for-linux";
|
pname = "teams-for-linux";
|
||||||
version = "1.3.8";
|
version = "1.3.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "IsmaelMartinez";
|
owner = "IsmaelMartinez";
|
||||||
repo = "teams-for-linux";
|
repo = "teams-for-linux";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-G0UBzSXoZPLHBsM0nslPLNBZs0sUAQYJ403nPV+3Qu4=";
|
hash = "sha256-xSNjAao8pv3jGRK68bkwGy0vo3nm8KRZjTtCEge4kHs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
offlineCache = fetchYarnDeps {
|
offlineCache = fetchYarnDeps {
|
||||||
|
|
|
@ -30,11 +30,11 @@ in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "teamspeak-client";
|
pname = "teamspeak-client";
|
||||||
|
|
||||||
version = "3.6.1";
|
version = "3.6.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run";
|
url = "https://files.teamspeak-services.com/releases/client/${version}/TeamSpeak3-Client-linux_${arch}-${version}.run";
|
||||||
hash = "sha256-j4sgZ+tJpV6ST0yLmbLTLgBxQTcK1LZoEEfMe3TUAC4=";
|
hash = "sha256-WfEQQ4lxoj+QSnAOfdCoEc+Z1Oa5dbo6pFli1DsAZCI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# grab the plugin sdk for the desktop icon
|
# grab the plugin sdk for the desktop icon
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "pyrosimple";
|
pname = "pyrosimple";
|
||||||
version = "2.10.2";
|
version = "2.11.1";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kannibalox";
|
owner = "kannibalox";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-3ZsRJNGbcKGU6v2uYUintMpKY8Z/DyTIDDxTsDEV6lw=";
|
hash = "sha256-J3eRuQK53Tsh1vhIgEUYBv08c6v3fSMzgK2PIhA13Qw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = [
|
pythonRelaxDeps = [
|
||||||
|
|
|
@ -18,13 +18,6 @@ buildGoModule rec {
|
||||||
|
|
||||||
vendorHash = "sha256-iT/QMm6RM6kvw69Az+aLTtBuaCX7ELAiYlj5wXAtBd4=";
|
vendorHash = "sha256-iT/QMm6RM6kvw69Az+aLTtBuaCX7ELAiYlj5wXAtBd4=";
|
||||||
|
|
||||||
subPackages = [
|
|
||||||
"cmd/soju"
|
|
||||||
"cmd/sojuctl"
|
|
||||||
"contrib/migrate-db"
|
|
||||||
"contrib/znc-import"
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
installShellFiles
|
installShellFiles
|
||||||
scdoc
|
scdoc
|
||||||
|
@ -33,17 +26,14 @@ buildGoModule rec {
|
||||||
ldflags = [ "-s" "-w" ];
|
ldflags = [ "-s" "-w" ];
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
make doc/soju.1
|
make doc/soju.1 doc/sojuctl.1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
installManPage doc/soju.1
|
installManPage doc/soju.1 doc/sojuctl.1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
# Test all targets.
|
|
||||||
unset subPackages
|
|
||||||
|
|
||||||
# Disable a test that requires an additional service.
|
# Disable a test that requires an additional service.
|
||||||
rm database/postgres_test.go
|
rm database/postgres_test.go
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "appflowy";
|
pname = "appflowy";
|
||||||
version = "0.3.1";
|
version = "0.3.2";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy_x86_64-unknown-linux-gnu_ubuntu-20.04.tar.gz";
|
url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy_x86_64-unknown-linux-gnu_ubuntu-20.04.tar.gz";
|
||||||
hash = "sha256-jIekGA+MG9tvjEyHAI3dcD7lI1JL/qPqRpVO9gRhcTw=";
|
hash = "sha256-UmBXAfRIr9zOScqibKPHeKzr+UTx3gbGEm0tl7qn+oE=";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "super-productivity";
|
pname = "super-productivity";
|
||||||
version = "7.13.2";
|
version = "7.14.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
|
url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
|
||||||
sha256 = "sha256-HwRJUrNaoAnNuIcDWgXOYA+PxLjOE6NXRJqINIbVxOw=";
|
sha256 = "sha256-wW72T1+RfejaI9LxSxa/g0lvIRmAeFa2ZaEa8K9mRcw=";
|
||||||
name = "${pname}-${version}.AppImage";
|
name = "${pname}-${version}.AppImage";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -22,13 +22,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "stellarium";
|
pname = "stellarium";
|
||||||
version = "23.2";
|
version = "23.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Stellarium";
|
owner = "Stellarium";
|
||||||
repo = "stellarium";
|
repo = "stellarium";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-8Iheb/9wjf0u10ZQRkLMLNN2s7P++Fqcr26iatiKcTo=";
|
hash = "sha256-bYvGmYu9jMHk2IUICz2kCVh56Ymz8JHqurdWV+xEdJY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -92,6 +92,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://stellarium.org/";
|
homepage = "https://stellarium.org/";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ kilianar ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
ocamlPackages.buildDunePackage rec {
|
ocamlPackages.buildDunePackage rec {
|
||||||
pname = "beluga";
|
pname = "beluga";
|
||||||
version = "1.1";
|
version = "1.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Beluga-lang";
|
owner = "Beluga-lang";
|
||||||
repo = "Beluga";
|
repo = "Beluga";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-0E7rmiLmQPfOAQ1qKiqxeLdqviVl+Thkl6KfOWkGZRc=";
|
hash = "sha256-l/C77czLtlLnpadVx4d9ve9jv/e11jsOgzrbXt+Zo5s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
duneVersion = "3";
|
duneVersion = "3";
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "UHDM";
|
pname = "UHDM";
|
||||||
version = "1.73";
|
version = "1.74";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "chipsalliance";
|
owner = "chipsalliance";
|
||||||
repo = finalAttrs.pname;
|
repo = finalAttrs.pname;
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-VmRn51UrJTGEG4n2fi5kRv8khXakfGbqMtYPejsZCBI=";
|
hash = "sha256-DiwLo/3RcXY+wG2+7aDx4p6UuQm/eNX/kG35TJzIbe0=";
|
||||||
fetchSubmodules = false; # we use all dependencies from nix
|
fetchSubmodules = false; # we use all dependencies from nix
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "5.12.147";
|
version = "5.12.149";
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
pname = "git-mit";
|
pname = "git-mit";
|
||||||
|
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
|
||||||
owner = "PurpleBooth";
|
owner = "PurpleBooth";
|
||||||
repo = "git-mit";
|
repo = "git-mit";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-TaYuxyezegPZPWlkYcZk+YhmHqQ/P1nO5D5JC3LN8bo=";
|
hash = "sha256-8e7tuNXgYT4wkTbxEz+Sqp0zVody0QC+yK8gcjR3Pww=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-9oqw2rIAhdo5G2GsW7rwHMymgFASKE7OrVqO2ewfG2g=";
|
cargoHash = "sha256-V5c/UsNFWogCgyHSDwsOm2Nfsl/vBUClKQGmwzYqNz0=";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
|
|
@ -8,16 +8,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "gql";
|
pname = "gql";
|
||||||
version = "0.7.0";
|
version = "0.7.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AmrDeveloper";
|
owner = "AmrDeveloper";
|
||||||
repo = "GQL";
|
repo = "GQL";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-iM5a0uy+egPBMSDBo6ks8QNfRoKku2GmFpzoanSDm9M=";
|
hash = "sha256-qNLVbhVXITbMRI2x/0q5enJgjL3EAcXBwqWeH6MPfZs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-bpPrnguDSj1K22vmf/hEimd4tVS6ANmTiVtdsUuN1BM=";
|
cargoHash = "sha256-UrzJGEASGaDqKUrPiNcjldevCqCPaNXJXNYecbHodOc=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "anilibria-winmaclinux";
|
pname = "anilibria-winmaclinux";
|
||||||
version = "1.2.9";
|
version = "1.2.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "anilibria";
|
owner = "anilibria";
|
||||||
repo = "anilibria-winmaclinux";
|
repo = "anilibria-winmaclinux";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Fdj7i4jpKIDwaIBAch7SjIV/WnqMDnCfNYSiZLsamx8=";
|
sha256 = "sha256-mCDw8V/Uzewm32rj+mkkm5atS5nJAFJ3ry1boTn+gqI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/src";
|
sourceRoot = "source/src";
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "hypnotix";
|
pname = "hypnotix";
|
||||||
version = "3.6";
|
version = "3.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = "hypnotix";
|
repo = "hypnotix";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-hi3ppYDzFEp4FGZHlGgwEFqyOqzX+d0JK674EyibB/c=";
|
hash = "sha256-H8+KJ9+HLAorGIeljw8H3N8W3E2yYhAno1xy+jI54zM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, makeRustPlatform
|
|
||||||
, hostPlatform
|
, hostPlatform
|
||||||
, targetPlatform
|
, targetPlatform
|
||||||
|
, cargo
|
||||||
|
, rustc
|
||||||
, lld
|
, lld
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -24,7 +25,12 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit (cross) rustPlatform;
|
# inherit (cross) rustPlatform;
|
||||||
|
# ^ breaks because we are doing a no_std embedded build with a custom sysroot,
|
||||||
|
# but the fast_cross rustc wrapper already passes a sysroot argument
|
||||||
|
rustPlatform = cross.makeRustPlatform {
|
||||||
|
inherit rustc cargo;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, pkg-config
|
|
||||||
, lua, gettext, which, groff, xmessage, xterm
|
|
||||||
, readline, fontconfig, libX11, libXext, libSM
|
|
||||||
, libXinerama, libXrandr, libXft
|
|
||||||
, makeWrapper
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "notion";
|
|
||||||
version = "4.0.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "raboof";
|
|
||||||
repo = pname;
|
|
||||||
rev = version;
|
|
||||||
sha256 = "14swd0yqci8lxn259fkd9w92bgyf4rmjwgvgyqp78wlfix6ai4mv";
|
|
||||||
};
|
|
||||||
|
|
||||||
# error: 'PATH_MAX' undeclared
|
|
||||||
postPatch = ''
|
|
||||||
sed 1i'#include <linux/limits.h>' -i mod_notionflux/notionflux/notionflux.c
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config makeWrapper groff ];
|
|
||||||
buildInputs = [ lua gettext which readline fontconfig libX11 libXext libSM
|
|
||||||
libXinerama libXrandr libXft ];
|
|
||||||
|
|
||||||
buildFlags = [ "LUA_DIR=${lua}" "X11_PREFIX=/no-such-path" ];
|
|
||||||
|
|
||||||
makeFlags = [ "NOTION_RELEASE=${version}" "PREFIX=\${out}" ];
|
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
wrapProgram $out/bin/notion \
|
|
||||||
--prefix PATH ":" "${xmessage}/bin:${xterm}/bin" \
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Tiling tabbed window manager";
|
|
||||||
homepage = "https://notionwm.net";
|
|
||||||
license = licenses.lgpl21;
|
|
||||||
maintainers = with maintainers; [ jfb AndersonTorres raboof ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
{ lib, stdenv, fetchFromGitHub
|
|
||||||
, doxygen, graphviz, libX11, libXrandr }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
|
|
||||||
pname = "smallwm";
|
|
||||||
version = "2020-02-28";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "adamnew123456";
|
|
||||||
repo = "SmallWM";
|
|
||||||
rev = "c2dc72afa87241bcf7e646630f4aae216ce78613";
|
|
||||||
sha256 = "0cqhy81ymdcdyvgi55a401rr96h2akskcxi9ddzjbln4a71yjlz8";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ doxygen graphviz ];
|
|
||||||
buildInputs = [ libX11 libXrandr ];
|
|
||||||
|
|
||||||
dontConfigure = true;
|
|
||||||
|
|
||||||
makeFlags = [ "CC=${stdenv.cc}/bin/cc" "CXX=${stdenv.cc}/bin/c++" ];
|
|
||||||
|
|
||||||
buildFlags = [ "all" "doc" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
install -dm755 $out/bin $out/share/doc/${pname}-${version}
|
|
||||||
install -m755 bin/smallwm -t $out/bin
|
|
||||||
cp -r README.markdown doc/html doc/latex $out/share/doc/${pname}-${version}
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib;{
|
|
||||||
description = "A small X window manager, extended from tinywm";
|
|
||||||
homepage = "https://github.com/adamnew123456/SmallWM";
|
|
||||||
license = licenses.bsd2;
|
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -3,20 +3,21 @@
|
||||||
, moreutils
|
, moreutils
|
||||||
, makeBinaryWrapper
|
, makeBinaryWrapper
|
||||||
, php
|
, php
|
||||||
|
, cacert
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
composerRepositoryHook = makeSetupHook
|
composerRepositoryHook = makeSetupHook
|
||||||
{
|
{
|
||||||
name = "composer-repository-hook.sh";
|
name = "composer-repository-hook.sh";
|
||||||
propagatedBuildInputs = [ jq moreutils php ];
|
propagatedBuildInputs = [ jq moreutils php cacert ];
|
||||||
substitutions = { };
|
substitutions = { };
|
||||||
} ./composer-repository-hook.sh;
|
} ./composer-repository-hook.sh;
|
||||||
|
|
||||||
composerInstallHook = makeSetupHook
|
composerInstallHook = makeSetupHook
|
||||||
{
|
{
|
||||||
name = "composer-install-hook.sh";
|
name = "composer-install-hook.sh";
|
||||||
propagatedBuildInputs = [ jq makeBinaryWrapper moreutils php ];
|
propagatedBuildInputs = [ jq makeBinaryWrapper moreutils php cacert ];
|
||||||
substitutions = { };
|
substitutions = { };
|
||||||
} ./composer-install-hook.sh;
|
} ./composer-install-hook.sh;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,31 @@
|
||||||
{ lib, stdenv, fetchurl, pkg-config
|
{ lib
|
||||||
, libtiff
|
, stdenv
|
||||||
, fltk, gtk
|
, fetchFromGitHub
|
||||||
, libICE, libSM
|
|
||||||
, dbus
|
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
|
, dbus
|
||||||
|
, fltk13
|
||||||
|
, gtk2
|
||||||
|
, libICE
|
||||||
|
, libSM
|
||||||
|
, libtiff
|
||||||
|
, pkg-config
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
|
||||||
pname = "afterstep";
|
pname = "afterstep";
|
||||||
version = "2.2.12";
|
version = "2.2.12";
|
||||||
sourceName = "AfterStep-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
urls = [ "ftp://ftp.afterstep.org/stable/${sourceName}.tar.bz2" ];
|
owner = "afterstep";
|
||||||
sha256 = "1j7vkx1ig4kzwffdxnkqv3kld9qi3sam4w2nhq18waqjsi8xl5gz";
|
repo = "afterstep";
|
||||||
|
rev = finalAttrs.version;
|
||||||
|
hash = "sha256-j1ADTRZ3Mxv9VNZWhWCFMnM/CJfkphdrgbw9Ca3bBw0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://salsa.debian.org/debian/afterstep/raw/master/debian/patches/44-Fix-build-with-gcc-5.patch";
|
url = "https://salsa.debian.org/debian/afterstep/raw/master/debian/patches/44-Fix-build-with-gcc-5.patch";
|
||||||
sha256 = "1vipy2lzzd2gqrsqk85pwgcdhargy815fxlbn57hsm45zglc3lj4";
|
hash = "sha256-RNLB6PuFVA1PsYt2VwLyLyvY2OO3oIl1xk+0/6nwN+4=";
|
||||||
})
|
})
|
||||||
|
|
||||||
# Fix pending upstream inclusion for binutils-2.36 support:
|
# Fix pending upstream inclusion for binutils-2.36 support:
|
||||||
|
@ -28,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "binutils-2.36.patch";
|
name = "binutils-2.36.patch";
|
||||||
url = "https://github.com/afterstep/afterstep/commit/5e9e897cf8c455390dd6f5b27fec49707f6b9088.patch";
|
url = "https://github.com/afterstep/afterstep/commit/5e9e897cf8c455390dd6f5b27fec49707f6b9088.patch";
|
||||||
sha256 = "1kk97max05r2p1a71pvpaza79ff0klz32rggik342p7ki3516qv8";
|
hash = "sha256-aGMTyojzXEHGjO9lMT6dwLl01Fd333BUuCIX0FU9ac4=";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -40,8 +45,22 @@ stdenv.mkDerivation rec {
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [
|
||||||
buildInputs = [ libtiff fltk gtk libICE libSM dbus ];
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
dbus
|
||||||
|
fltk13
|
||||||
|
gtk2
|
||||||
|
libICE
|
||||||
|
libSM
|
||||||
|
libtiff
|
||||||
|
];
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
# A strange type of bug: dbus is not immediately found by pkg-config
|
# A strange type of bug: dbus is not immediately found by pkg-config
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -66,20 +85,19 @@ stdenv.mkDerivation rec {
|
||||||
# https://github.com/afterstep/afterstep/issues/8
|
# https://github.com/afterstep/afterstep/issues/8
|
||||||
enableParallelBuilding = false;
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
|
homepage = "http://www.afterstep.org/";
|
||||||
description = "A NEXTStep-inspired window manager";
|
description = "A NEXTStep-inspired window manager";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
AfterStep is a window manager for the Unix X Window
|
AfterStep is a window manager for the Unix X Window System. Originally
|
||||||
System. Originally based on the look and feel of the NeXTStep
|
based on the look and feel of the NeXTStep interface, it provides end
|
||||||
interface, it provides end users with a consistent, clean, and
|
users with a consistent, clean, and elegant desktop. The goal of AfterStep
|
||||||
elegant desktop. The goal of AfterStep development is to provide
|
development is to provide for flexibility of desktop configuration,
|
||||||
for flexibility of desktop configuration, improving aestetics,
|
improving aestetics, and efficient use of system resources.
|
||||||
and efficient use of system resources.
|
|
||||||
'';
|
'';
|
||||||
homepage = "http://www.afterstep.org/";
|
license = lib.licenses.gpl2Plus;
|
||||||
license = licenses.gpl2;
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
mainProgram = "afterstep";
|
||||||
platforms = platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
|
})
|
||||||
}
|
|
|
@ -13,14 +13,14 @@
|
||||||
, which
|
, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "berry";
|
pname = "berry";
|
||||||
version = "0.1.12";
|
version = "0.1.12";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "JLErvin";
|
owner = "JLErvin";
|
||||||
repo = pname;
|
repo = "berry";
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-xMJRiLNtwVRQf9HiCF3ClLKEmdDNxcY35IYxe+L7+Hk=";
|
hash = "sha256-xMJRiLNtwVRQf9HiCF3ClLKEmdDNxcY35IYxe+L7+Hk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -39,8 +39,12 @@ stdenv.mkDerivation rec {
|
||||||
freetype
|
freetype
|
||||||
];
|
];
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i --regexp-extended 's/(pkg_verstr=").*(")/\1${version}\2/' configure
|
sed -i --regexp-extended 's/(pkg_verstr=").*(")/\1${finalAttrs.version}\2/' configure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -49,16 +53,16 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
(makeDesktopItem {
|
(makeDesktopItem {
|
||||||
name = pname;
|
name = "berry";
|
||||||
exec = "berry";
|
exec = "berry";
|
||||||
comment = meta.description;
|
comment = "A healthy, bite-sized window manager";
|
||||||
desktopName = "Berry Window Manager";
|
desktopName = "Berry Window Manager";
|
||||||
genericName = "Berry Window Manager";
|
genericName = "Berry Window Manager";
|
||||||
categories = [ "Utility" ];
|
categories = [ "Utility" ];
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://berrywm.org/";
|
homepage = "https://berrywm.org/";
|
||||||
description = "A healthy, bite-sized window manager";
|
description = "A healthy, bite-sized window manager";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
@ -74,8 +78,9 @@ stdenv.mkDerivation rec {
|
||||||
- Intuitively place new windows in unoccupied spaces.
|
- Intuitively place new windows in unoccupied spaces.
|
||||||
- Virtual desktops.
|
- Virtual desktops.
|
||||||
'';
|
'';
|
||||||
license = licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
mainProgram = "berry";
|
||||||
platforms = platforms.linux;
|
maintainers = [ lib.maintainers.AndersonTorres ];
|
||||||
|
inherit (libX11.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
})
|
36
pkgs/by-name/ca/cargo-bump/package.nix
Normal file
36
pkgs/by-name/ca/cargo-bump/package.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ lib
|
||||||
|
, rustPlatform
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pkg-config
|
||||||
|
, stdenv
|
||||||
|
, darwin
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "cargo-bump";
|
||||||
|
version = "1.1.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "rustadopt";
|
||||||
|
repo = "cargo-bump";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-PhA7uC2gJcBnUQPWgZC51p/KTSxSGld3m+dd6BhW6q8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-mp2y5q0GYfSlB5aPC6MY9Go8a2JAiPKtVYL9SewfloI=";
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin [
|
||||||
|
darwin.apple_sdk.frameworks.Security
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Increments the version number of the current project.";
|
||||||
|
homepage = "https://github.com/wraithan/cargo-bump";
|
||||||
|
license = with licenses; [ isc ];
|
||||||
|
maintainers = with maintainers; [ cafkafk ];
|
||||||
|
};
|
||||||
|
}
|
86
pkgs/by-name/no/notion/package.nix
Normal file
86
pkgs/by-name/no/notion/package.nix
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fontconfig
|
||||||
|
, gettext
|
||||||
|
, groff
|
||||||
|
, libSM
|
||||||
|
, libX11
|
||||||
|
, libXext
|
||||||
|
, libXft
|
||||||
|
, libXinerama
|
||||||
|
, libXrandr
|
||||||
|
, lua
|
||||||
|
, makeWrapper
|
||||||
|
, pkg-config
|
||||||
|
, readline
|
||||||
|
, which
|
||||||
|
, xmessage
|
||||||
|
, xterm
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "notion";
|
||||||
|
version = "4.0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "raboof";
|
||||||
|
repo = "notion";
|
||||||
|
rev = finalAttrs.version;
|
||||||
|
hash = "sha256-u5KoTI+OcnQu9m8/Lmsmzr8lEk9tulSE7RRFhj1oXJM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# error: 'PATH_MAX' undeclared
|
||||||
|
postPatch = ''
|
||||||
|
sed 1i'#include <linux/limits.h>' -i mod_notionflux/notionflux/notionflux.c
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
gettext
|
||||||
|
groff
|
||||||
|
lua
|
||||||
|
makeWrapper
|
||||||
|
pkg-config
|
||||||
|
which
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
fontconfig
|
||||||
|
libSM
|
||||||
|
libX11
|
||||||
|
libXext
|
||||||
|
libXft
|
||||||
|
libXinerama
|
||||||
|
libXrandr
|
||||||
|
lua
|
||||||
|
readline
|
||||||
|
];
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
buildFlags = [
|
||||||
|
"LUA_DIR=${lua}"
|
||||||
|
"X11_PREFIX=/no-such-path"
|
||||||
|
];
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"NOTION_RELEASE=${finalAttrs.version}"
|
||||||
|
"PREFIX=${placeholder "out"}"
|
||||||
|
];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/notion \
|
||||||
|
--prefix PATH ":" "${lib.makeBinPath [ xmessage xterm ]}" \
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Tiling tabbed window manager";
|
||||||
|
homepage = "https://notionwm.net";
|
||||||
|
license = lib.licenses.lgpl21;
|
||||||
|
mainProgram = "notion";
|
||||||
|
maintainers = with lib.maintainers; [ jfb AndersonTorres raboof ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
})
|
|
@ -2,10 +2,8 @@
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, awk
|
, awk
|
||||||
, grep
|
|
||||||
, sed
|
|
||||||
, runtimeShell
|
|
||||||
, cmake
|
, cmake
|
||||||
|
, grep
|
||||||
, libXext
|
, libXext
|
||||||
, libXft
|
, libXft
|
||||||
, libXinerama
|
, libXinerama
|
||||||
|
@ -14,6 +12,8 @@
|
||||||
, libjpeg
|
, libjpeg
|
||||||
, libpng
|
, libpng
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
, runtimeShell
|
||||||
|
, sed
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
@ -32,13 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DAWK=${awk}/bin/awk"
|
|
||||||
"-DGREP=${grep}/bin/grep"
|
|
||||||
"-DSED=${sed}/bin/sed"
|
|
||||||
"-DSH=${runtimeShell}"
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libXext
|
libXext
|
||||||
libXft
|
libXft
|
||||||
|
@ -49,6 +42,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
libpng
|
libpng
|
||||||
];
|
];
|
||||||
|
|
||||||
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DAWK=${lib.getBin awk}/bin/awk"
|
||||||
|
"-DGREP=${lib.getBin grep}/bin/grep"
|
||||||
|
"-DSED=${lib.getBin sed}/bin/sed"
|
||||||
|
"-DSH=${runtimeShell}"
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://www.pekwm.se/";
|
homepage = "https://www.pekwm.se/";
|
||||||
description = "A lightweight window manager";
|
description = "A lightweight window manager";
|
||||||
|
@ -67,6 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
'';
|
'';
|
||||||
changelog = "https://raw.githubusercontent.com/pekwm/pekwm/release-${finalAttrs.version}/NEWS.md";
|
changelog = "https://raw.githubusercontent.com/pekwm/pekwm/release-${finalAttrs.version}/NEWS.md";
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
|
mainProgram = "pekwm";
|
||||||
maintainers = [ lib.maintainers.AndersonTorres ];
|
maintainers = [ lib.maintainers.AndersonTorres ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
52
pkgs/by-name/pe/pesign/package.nix
Normal file
52
pkgs/by-name/pe/pesign/package.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pkg-config
|
||||||
|
, nss
|
||||||
|
, efivar
|
||||||
|
, util-linux
|
||||||
|
, popt
|
||||||
|
, nspr
|
||||||
|
, mandoc
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "pesign";
|
||||||
|
version = "116";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "rhboot";
|
||||||
|
repo = "pesign";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-cuOSD/ZHkilgguDFJviIZCG8kceRWw2JgssQuWN02Do=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# nss-util is missing because it is already contained in nss
|
||||||
|
# Red Hat seems to be shipping a separate nss-util:
|
||||||
|
# https://centos.pkgs.org/7/centos-x86_64/nss-util-devel-3.44.0-4.el7_7.x86_64.rpm.html
|
||||||
|
# containing things we already have in `nss`.
|
||||||
|
# We can ignore all the errors pertaining to a missing
|
||||||
|
# nss-util.pc I suppose.
|
||||||
|
buildInputs = [ efivar util-linux nss popt nspr mandoc ];
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
makeFlags = [ "INSTALLROOT=$(out)" ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mv $out/usr/bin $out/bin
|
||||||
|
mv $out/usr/share $out/share
|
||||||
|
|
||||||
|
rm -rf $out/usr
|
||||||
|
rm -rf $out/etc
|
||||||
|
rm -rf $out/run
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Signing tools for PE-COFF binaries. Compliant with the PE and Authenticode specifications.";
|
||||||
|
homepage = "https://github.com/rhboot/pesign";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
maintainers = with maintainers; [ raitobezarius ];
|
||||||
|
# efivar is currently Linux-only.
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
43
pkgs/by-name/po/poethepoet/package.nix
Normal file
43
pkgs/by-name/po/poethepoet/package.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{ lib
|
||||||
|
, python3
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "poethepoet";
|
||||||
|
version = "0.23.0";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nat-n";
|
||||||
|
repo = "poethepoet";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-bT+lRPqR7mxfZSlOyhqCkpBE0etiLh0wkg62nyK751Q=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
python3.pkgs.poetry-core
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
pastel
|
||||||
|
tomli
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.optional-dependencies = with python3.pkgs; {
|
||||||
|
poetry_plugin = [
|
||||||
|
poetry
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "poethepoet" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A task runner that works well with poetry";
|
||||||
|
homepage = "https://github.com/nat-n/poethepoet";
|
||||||
|
changelog = "https://github.com/nat-n/poethepoet/releases/tag/${src.rev}";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ figsoda ];
|
||||||
|
mainProgram = "poe";
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,42 +1,71 @@
|
||||||
{ lib, stdenv, fetchurl, pkg-config, perl, autoconf, automake
|
{ lib
|
||||||
, libX11, xorgproto, libXt, libXpm, libXft, libXtst, libXi
|
, stdenv
|
||||||
, libXrandr, fontconfig, freetype, readline
|
, fetchurl
|
||||||
|
, autoreconfHook
|
||||||
|
, fontconfig
|
||||||
|
, freetype
|
||||||
|
, libX11
|
||||||
|
, libXft
|
||||||
|
, libXi
|
||||||
|
, libXpm
|
||||||
|
, libXrandr
|
||||||
|
, libXt
|
||||||
|
, libXtst
|
||||||
|
, perl
|
||||||
|
, pkg-config
|
||||||
|
, readline
|
||||||
|
, texinfo
|
||||||
|
, xorgproto
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "ratpoison";
|
pname = "ratpoison";
|
||||||
version = "1.4.9";
|
version = "1.4.9";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://savannah/ratpoison/${pname}-${version}.tar.xz";
|
url = "mirror://savannah/ratpoison/ratpoison-${finalAttrs.version}.tar.xz";
|
||||||
sha256 = "1wfir1gvh5h7izgvx2kd1pr2k7wlncd33zq7qi9s9k2y0aza93yr";
|
hash = "sha256-2Y+kvgJezKRTxAf/MRqzlJ8p8g1tir7fjwcWuF/I0fE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
pkg-config
|
||||||
|
texinfo
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
libX11
|
||||||
|
libXft
|
||||||
|
libXi
|
||||||
|
libXpm
|
||||||
|
libXrandr
|
||||||
|
libXt
|
||||||
|
libXtst
|
||||||
|
perl
|
||||||
|
readline
|
||||||
|
xorgproto
|
||||||
|
];
|
||||||
|
|
||||||
outputs = [ "out" "contrib" "man" "doc" "info" ];
|
outputs = [ "out" "contrib" "man" "doc" "info" ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
# >=1.4.9 requires this even with readline in inputs
|
# >=1.4.9 requires this even with readline in inputs
|
||||||
"--enable-history"
|
"--enable-history"
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config autoconf automake ];
|
|
||||||
|
|
||||||
buildInputs =
|
|
||||||
[ perl
|
|
||||||
libX11 xorgproto libXt libXpm libXft libXtst libXi libXrandr
|
|
||||||
fontconfig freetype readline ];
|
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $contrib/{bin,share}
|
mkdir -p $contrib/{bin,share}
|
||||||
mv $out/bin/rpws $contrib/bin
|
mv $out/bin/rpws $contrib/bin
|
||||||
mv $out/share/ratpoison $contrib/share
|
mv $out/share/ratpoison $contrib/share
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://www.nongnu.org/ratpoison/";
|
homepage = "https://www.nongnu.org/ratpoison/";
|
||||||
description = "Simple mouse-free tiling window manager";
|
description = "Simple mouse-free tiling window manager";
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
|
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Ratpoison is a simple window manager with no fat library
|
Ratpoison is a simple window manager with no fat library
|
||||||
dependencies, no fancy graphics, no window decorations, and no
|
dependencies, no fancy graphics, no window decorations, and no
|
||||||
|
@ -51,8 +80,9 @@ stdenv.mkDerivation rec {
|
||||||
Ratpoison has a prefix map to minimize the key clobbering that
|
Ratpoison has a prefix map to minimize the key clobbering that
|
||||||
cripples Emacs and other quality pieces of software.
|
cripples Emacs and other quality pieces of software.
|
||||||
'';
|
'';
|
||||||
|
license = lib.licenses.gpl2Plus;
|
||||||
platforms = platforms.unix;
|
mainProgram = "ratpoison";
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
|
inherit (libX11.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
})
|
46
pkgs/by-name/si/simplex-chat-desktop/package.nix
Normal file
46
pkgs/by-name/si/simplex-chat-desktop/package.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{ lib
|
||||||
|
, appimageTools
|
||||||
|
, fetchurl
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
pname = "simplex-chat-desktop";
|
||||||
|
version = "5.3.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
|
||||||
|
hash = "sha256-vykdi7SXKKsjYE/yixGrKQoWuUIOAjofLUn/fsdmLMc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
appimageContents = appimageTools.extract {
|
||||||
|
inherit pname version src;
|
||||||
|
};
|
||||||
|
in appimageTools.wrapType2 {
|
||||||
|
inherit pname version src;
|
||||||
|
|
||||||
|
extraPkgs = pkgs: with pkgs; [
|
||||||
|
makeWrapper
|
||||||
|
];
|
||||||
|
|
||||||
|
extraBwrapArgs = [
|
||||||
|
"--setenv _JAVA_AWT_WM_NONREPARENTING 1"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||||
|
|
||||||
|
install --mode=444 -D ${appimageContents}/chat.simplex.app.desktop --target-directory=$out/share/applications
|
||||||
|
substituteInPlace $out/share/applications/chat.simplex.app.desktop \
|
||||||
|
--replace 'Exec=simplex' 'Exec=${pname}'
|
||||||
|
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Desktop application for SimpleX Chat";
|
||||||
|
homepage = "https://simplex.chat";
|
||||||
|
changelog = "https://github.com/simplex-chat/simplex-chat/releases/tag/v${version}";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
maintainers = with maintainers; [ yuu ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
32
pkgs/by-name/sl/slurm-nm/package.nix
Normal file
32
pkgs/by-name/sl/slurm-nm/package.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pkg-config
|
||||||
|
, meson
|
||||||
|
, ncurses
|
||||||
|
, ninja
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "slurm";
|
||||||
|
version = "0.4.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mattthias";
|
||||||
|
repo = "slurm";
|
||||||
|
rev = "upstream/${version}";
|
||||||
|
hash = "sha256-w77SIXFctMwwNw9cQm0HQaEaMs/5NXQjn1LpvkpCCB8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkg-config meson ninja ];
|
||||||
|
buildInputs = [ ncurses ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A generic network load monitor";
|
||||||
|
homepage = "https://github.com/mattthias/slurm";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = with platforms; [ "x86_64-linux" ];
|
||||||
|
maintainers = with maintainers; [ mikaelfangel ];
|
||||||
|
mainProgram = "slurm";
|
||||||
|
};
|
||||||
|
}
|
60
pkgs/by-name/sm/smallwm/package.nix
Normal file
60
pkgs/by-name/sm/smallwm/package.nix
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, doxygen
|
||||||
|
, graphviz
|
||||||
|
, libX11
|
||||||
|
, libXrandr
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "smallwm";
|
||||||
|
version = "unstable-2020-02-28";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "adamnew123456";
|
||||||
|
repo = "SmallWM";
|
||||||
|
rev = "c2dc72afa87241bcf7e646630f4aae216ce78613";
|
||||||
|
hash = "sha256-6FPpw1HE0iV/ayl2NvVUApqUcwBElRLf9o216gPyEDM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
doxygen
|
||||||
|
graphviz
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libX11
|
||||||
|
libXrandr
|
||||||
|
];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"CC=${stdenv.cc.targetPrefix}cc"
|
||||||
|
"CXX=${stdenv.cc.targetPrefix}c++"
|
||||||
|
];
|
||||||
|
|
||||||
|
buildFlags = [ "all" "doc" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -dm755 $out/bin $out/share/doc/smallwm-${finalAttrs.version}
|
||||||
|
install -m755 bin/smallwm -t $out/bin
|
||||||
|
cp -r README.markdown doc/html doc/latex $out/share/doc/smallwm-${finalAttrs.version}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A small X window manager, extended from tinywm";
|
||||||
|
homepage = "https://github.com/adamnew123456/SmallWM";
|
||||||
|
license = lib.licenses.bsd2;
|
||||||
|
mainProgram = "smallwm";
|
||||||
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
|
inherit (libX11.meta) platforms;
|
||||||
|
};
|
||||||
|
})
|
|
@ -1,36 +1,49 @@
|
||||||
{ lib, stdenv, fetchFromGitHub
|
{ lib
|
||||||
, libX11 }:
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, libX11
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "tinywm";
|
pname = "tinywm";
|
||||||
version = "2014-04-22";
|
version = "1.1-unstable-2014-04-22";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mackstann";
|
owner = "mackstann";
|
||||||
repo = pname;
|
repo = "tinywm";
|
||||||
rev = "9d05612f41fdb8bc359f1fd9cc930bf16315abb1";
|
rev = "9d05612f41fdb8bc359f1fd9cc930bf16315abb1";
|
||||||
sha256 = "1s7r4f2d3lk1i8h089v2vyrr02hh0y9i3ihl9kqgk9s87hqw8q5b";
|
hash = "sha256-q2DEMTxIp/nwTBTGEZMHEAqQs99iJwQgimHS0YQj+eg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ libX11 ];
|
buildInputs = [ libX11 ];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
$CC -Wall -pedantic -I${libX11}/include tinywm.c -L${libX11}/lib -lX11 -o tinywm
|
$CC -Wall -pedantic -I${libX11}/include tinywm.c -L${libX11}/lib -lX11 -o tinywm
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
install -dm755 $out/bin $out/share/doc/${pname}-${version}
|
runHook preInstall
|
||||||
|
|
||||||
|
install -dm755 $out/bin $out/share/doc/tinywm-${finalAttrs.version}
|
||||||
install -m755 tinywm -t $out/bin/
|
install -m755 tinywm -t $out/bin/
|
||||||
# The annotated source code is a piece of documentation
|
# The annotated source code is a piece of documentation
|
||||||
install -m644 annotated.c README -t $out/share/doc/${pname}-${version}
|
install -m644 annotated.c README -t $out/share/doc/tinywm-${finalAttrs.version}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib;{
|
meta = {
|
||||||
|
homepage = "http://incise.org/tinywm.html";
|
||||||
description = "A tiny window manager for X11";
|
description = "A tiny window manager for X11";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
|
||||||
TinyWM is a tiny window manager that I created as an exercise in
|
TinyWM is a tiny window manager that I created as an exercise in
|
||||||
minimalism. It is also maybe helpful in learning some of the very basics
|
minimalism. It is also maybe helpful in learning some of the very basics
|
||||||
of creating a window manager. It is only around 50 lines of C. There is
|
of creating a window manager. It is only around 50 lines of C. There is
|
||||||
|
@ -44,9 +57,9 @@ stdenv.mkDerivation rec {
|
||||||
keybinding in there somewhere)
|
keybinding in there somewhere)
|
||||||
- Focus windows with the mouse pointer (X does this on its own)
|
- Focus windows with the mouse pointer (X does this on its own)
|
||||||
'';
|
'';
|
||||||
homepage = "http://incise.org/tinywm.html";
|
license = lib.licenses.publicDomain;
|
||||||
maintainers = with maintainers; [ AndersonTorres ];
|
mainProgram = "tinywm";
|
||||||
platforms = libX11.meta.platforms;
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
license = licenses.publicDomain;
|
inherit (libX11.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
})
|
|
@ -1,62 +1,65 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pkg-config
|
|
||||||
, meson
|
|
||||||
, cmake
|
, cmake
|
||||||
, ninja
|
|
||||||
, libxkbcommon
|
|
||||||
, wayland
|
|
||||||
, wayland-scanner
|
|
||||||
, wayland-protocols
|
|
||||||
, wlroots
|
|
||||||
, pixman
|
|
||||||
, udev
|
|
||||||
, libGL
|
, libGL
|
||||||
|
, libxkbcommon
|
||||||
, libxml2
|
, libxml2
|
||||||
, mesa
|
, mesa
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pixman
|
||||||
|
, pkg-config
|
||||||
|
, udev
|
||||||
|
, wayland
|
||||||
|
, wayland-protocols
|
||||||
|
, wayland-scanner
|
||||||
|
, wlroots
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "waybox";
|
pname = "waybox";
|
||||||
version = "0.2.0";
|
version = "0.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wizbright";
|
owner = "wizbright";
|
||||||
repo = pname;
|
repo = "waybox";
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-G8dRa4hgev3x58uqp5To5OzF3zcPSuT3NL9MPnWf2M8=";
|
hash = "sha256-G8dRa4hgev3x58uqp5To5OzF3zcPSuT3NL9MPnWf2M8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
|
||||||
meson
|
|
||||||
cmake
|
cmake
|
||||||
|
meson
|
||||||
ninja
|
ninja
|
||||||
|
pkg-config
|
||||||
wayland-scanner
|
wayland-scanner
|
||||||
];
|
];
|
||||||
|
|
||||||
dontUseCmakeConfigure = true;
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
libGL
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
libxml2
|
libxml2
|
||||||
|
mesa # for libEGL
|
||||||
|
pixman
|
||||||
|
udev
|
||||||
wayland
|
wayland
|
||||||
wayland-protocols
|
wayland-protocols
|
||||||
wlroots
|
wlroots
|
||||||
pixman
|
|
||||||
udev
|
|
||||||
libGL
|
|
||||||
mesa # for libEGL
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
|
||||||
passthru.providedSessions = [ "waybox" ];
|
passthru.providedSessions = [ "waybox" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://github.com/wizbright/waybox";
|
homepage = "https://github.com/wizbright/waybox";
|
||||||
description = "An openbox clone on Wayland";
|
description = "An openbox clone on Wayland";
|
||||||
license = licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with maintainers; [ AndersonTorres ];
|
mainProgram = "waybox";
|
||||||
platforms = platforms.linux;
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
|
inherit (wayland.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
})
|
|
@ -1,40 +1,63 @@
|
||||||
{ lib, stdenv, fetchurl
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, installShellFiles
|
||||||
, lesstif
|
, lesstif
|
||||||
, libX11, libXext, libXmu, libXinerama }:
|
, libX11
|
||||||
|
, libXext
|
||||||
stdenv.mkDerivation rec {
|
, libXinerama
|
||||||
|
, libXmu
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "yeahwm";
|
pname = "yeahwm";
|
||||||
version = "0.3.5";
|
version = "0.3.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://phrat.de/${pname}_${version}.tar.gz";
|
url = "http://phrat.de/yeahwm_${finalAttrs.version}.tar.gz";
|
||||||
sha256 = "01gfzjvb40n16m2ja4238nk08k4l203y6a61cydqvf68924fjb69";
|
hash = "sha256-ySzpiEjIuI2bZ8Eo4wcQlEwEpkVDECVFNcECsrb87gU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ lesstif libX11 libXext libXinerama libXmu ];
|
nativeBuildInputs = [
|
||||||
|
installShellFiles
|
||||||
|
];
|
||||||
|
|
||||||
dontConfigure = true;
|
buildInputs = [
|
||||||
|
lesstif
|
||||||
|
libX11
|
||||||
|
libXext
|
||||||
|
libXinerama
|
||||||
|
libXmu
|
||||||
|
];
|
||||||
|
|
||||||
preBuild = ''
|
strictDeps = true;
|
||||||
|
|
||||||
|
preBuild = let
|
||||||
|
includes = builtins.concatStringsSep " "
|
||||||
|
(builtins.map (l: "-I${lib.getDev l}/include")
|
||||||
|
finalAttrs.buildInputs);
|
||||||
|
ldpath = builtins.concatStringsSep " "
|
||||||
|
(builtins.map (l: "-L${lib.getLib l}/lib")
|
||||||
|
finalAttrs.buildInputs);
|
||||||
|
in ''
|
||||||
makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \
|
makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \
|
||||||
XROOT="${libX11}" \
|
XROOT="${libX11}" \
|
||||||
INCLUDES="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXinerama.dev}/include -I${libXmu.dev}/include" \
|
INCLUDES="${includes}" \
|
||||||
LDPATH="-L${libX11}/lib -L${libXext}/lib -L${libXinerama}/lib -L${libXmu}/lib" \
|
LDPATH="${ldpath}" \
|
||||||
prefix="${placeholder "out"}" )
|
prefix="${placeholder "out"}" )
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Workaround build failure on -fno-common toolchains like upstream
|
# Workaround build failure on -fno-common toolchains like upstream gcc-10.
|
||||||
# gcc-10. Otherwise build fails as:
|
# Otherwise build fails as:
|
||||||
# ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here
|
# ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here
|
||||||
env.NIX_CFLAGS_COMPILE = "-fcommon";
|
env.NIX_CFLAGS_COMPILE = "-fcommon";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
gzip -9 --stdout yeahwm.1 > yeahwm.1.gz
|
installManPage yeahwm.1
|
||||||
install -m644 yeahwm.1.gz ${placeholder "out"}/share/man/man1/
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib;{
|
meta = {
|
||||||
|
homepage = "http://phrat.de/index.html";
|
||||||
description = "An X window manager based on evilwm and aewm";
|
description = "An X window manager based on evilwm and aewm";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
YeahWM is a h* window manager for X based on evilwm and aewm.
|
YeahWM is a h* window manager for X based on evilwm and aewm.
|
||||||
|
@ -55,9 +78,10 @@ stdenv.mkDerivation rec {
|
||||||
- Little resource usage.
|
- Little resource usage.
|
||||||
- It's slick.
|
- It's slick.
|
||||||
'';
|
'';
|
||||||
homepage = "http://phrat.de/index.html";
|
changelog = "http://phrat.de/README";
|
||||||
license = licenses.isc;
|
license = lib.licenses.isc;
|
||||||
maintainers = [ maintainers.AndersonTorres ];
|
mainProgram = "yeahwm";
|
||||||
platforms = libX11.meta.platforms;
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||||
|
inherit (libX11.meta) platforms;
|
||||||
};
|
};
|
||||||
}
|
})
|
|
@ -89,7 +89,7 @@ in
|
||||||
then [
|
then [
|
||||||
./janestreet-0.15.patch
|
./janestreet-0.15.patch
|
||||||
]
|
]
|
||||||
else if version == "8.17.0+0.17.0"
|
else if version == "8.16.0+0.16.3" || version == "8.17.0+0.17.0"
|
||||||
then [
|
then [
|
||||||
./janestreet-0.16.patch
|
./janestreet-0.16.patch
|
||||||
]
|
]
|
||||||
|
|
|
@ -5,18 +5,18 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "cel-go";
|
pname = "cel-go";
|
||||||
version = "0.18.0";
|
version = "0.18.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "cel-go";
|
repo = "cel-go";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-+YGRcTlPKTdecMicW4UjupSnuuq5msfGKTP/bwOf7dw=";
|
hash = "sha256-eXltZkg5QjdCrL9sk2ngVtirSnjBBqk+OdNLY4QtVx4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
modRoot = "repl";
|
modRoot = "repl";
|
||||||
|
|
||||||
vendorHash = "sha256-RSCZOR++WBoGffCQp114Sa1Dbms2tBa0xceVQ3skwR4=";
|
vendorHash = "sha256-kalTHpyMYrKZHayxNKLc8vtogiDKyyQLExOQhqp1MUY=";
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# repl/go.mod and repl/go.sum are outdated
|
# repl/go.mod and repl/go.sum are outdated
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
|
|
||||||
--- a/modules/bindings/glibc/linux.lisp 2008-10-10 16:15:49.000000000 +0300
|
|
||||||
+++ b/modules/bindings/glibc/linux.lisp 2012-12-04 01:01:35.000000000 +0200
|
|
||||||
@@ -86,7 +86,7 @@
|
|
||||||
|
|
||||||
(def-c-type __key_t) ; int
|
|
||||||
|
|
||||||
-(c-lines "#include <bits/ipctypes.h>~%")
|
|
||||||
+(c-lines "#include <sys/ipc.h>~%")
|
|
||||||
(def-c-type __ipc_pid_t) ; ushort
|
|
||||||
|
|
||||||
; --------------------------- <sys/types.h> -----------------------------------
|
|
|
@ -3,10 +3,26 @@
|
||||||
# - base (default): contains readline and i18n, regexp and syscalls modules
|
# - base (default): contains readline and i18n, regexp and syscalls modules
|
||||||
# by default
|
# by default
|
||||||
# - full: contains base plus modules in withModules
|
# - full: contains base plus modules in withModules
|
||||||
{ lib, stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
|
{ lib
|
||||||
, libXau, libXt, pcre, zlib, libXpm, xorgproto, libXext
|
, stdenv
|
||||||
|
, fetchFromGitLab
|
||||||
|
, autoconf269
|
||||||
|
, automake
|
||||||
|
, libtool
|
||||||
|
, libsigsegv
|
||||||
|
, gettext
|
||||||
|
, ncurses
|
||||||
|
, pcre
|
||||||
|
, zlib
|
||||||
|
, readline
|
||||||
, libffi
|
, libffi
|
||||||
, libffcall
|
, libffcall
|
||||||
|
, libX11
|
||||||
|
, libXau
|
||||||
|
, libXt
|
||||||
|
, libXpm
|
||||||
|
, libXext
|
||||||
|
, xorgproto
|
||||||
, coreutils
|
, coreutils
|
||||||
# build options
|
# build options
|
||||||
, threadSupport ? stdenv.hostPlatform.isx86
|
, threadSupport ? stdenv.hostPlatform.isx86
|
||||||
|
@ -16,26 +32,30 @@
|
||||||
"pcre"
|
"pcre"
|
||||||
"rawsock"
|
"rawsock"
|
||||||
]
|
]
|
||||||
++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" "wildcard" ]
|
++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ]
|
||||||
++ lib.optional x11Support "clx/new-clx"
|
++ lib.optional x11Support "clx/new-clx"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert x11Support -> (libX11 != null && libXau != null && libXt != null
|
assert x11Support -> (libX11 != null && libXau != null && libXt != null
|
||||||
&& libXpm != null && xorgproto != null && libXext != null);
|
&& libXpm != null && xorgproto != null && libXext != null);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
let
|
||||||
version = "2.49";
|
ffcallAvailable = stdenv.isLinux && (libffcall != null);
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
version = "2.50pre20230112";
|
||||||
pname = "clisp";
|
pname = "clisp";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitLab {
|
||||||
url = "mirror://gnu/clisp/release/${version}/clisp-${version}.tar.bz2";
|
owner = "gnu-clisp";
|
||||||
sha256 = "8132ff353afaa70e6b19367a25ae3d5a43627279c25647c220641fed00f8e890";
|
repo = "clisp";
|
||||||
|
rev = "bf72805c4dace982a6d3399ff4e7f7d5e77ab99a";
|
||||||
|
hash = "sha256-sQoN2FUg9BPaCgvCF91lFsU/zLja1NrgWsEIr2cPiqo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit libsigsegv gettext coreutils;
|
strictDeps = true;
|
||||||
|
nativeBuildInputs = lib.optionals stdenv.isDarwin [ autoconf269 automake libtool ];
|
||||||
ffcallAvailable = stdenv.isLinux && (libffcall != null);
|
|
||||||
|
|
||||||
buildInputs = [libsigsegv]
|
buildInputs = [libsigsegv]
|
||||||
++ lib.optional (gettext != null) gettext
|
++ lib.optional (gettext != null) gettext
|
||||||
++ lib.optional (ncurses != null) ncurses
|
++ lib.optional (ncurses != null) ncurses
|
||||||
|
@ -49,24 +69,28 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./bits_ipctypes_to_sys_ipc.patch # from Gentoo
|
./gnulib_aarch64.patch
|
||||||
# The cfree alias no longer exists since glibc 2.26
|
|
||||||
./remove-cfree-binding.patch
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# First, replace port 9090 (rather low, can be used)
|
# First, replace port 9090 (rather low, can be used)
|
||||||
# with 64237 (much higher, IANA private area, not
|
# with 64237 (much higher, IANA private area, not
|
||||||
# anything rememberable).
|
# anything rememberable).
|
||||||
# Also remove reference to a type that disappeared from recent glibc
|
|
||||||
# (seems the correct thing to do, found no reference to any solution)
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -e 's@9090@64237@g' -i tests/socket.tst
|
sed -e 's@9090@64237@g' -i tests/socket.tst
|
||||||
sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
|
sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
|
||||||
find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
|
find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
|
||||||
|
|
||||||
substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preConfigure = lib.optionalString stdenv.isDarwin (''
|
||||||
|
cd src
|
||||||
|
autoreconf -f -i -I m4 -I glm4
|
||||||
|
cd -
|
||||||
|
'' + lib.concatMapStrings (x: ''
|
||||||
|
cd modules/${x}
|
||||||
|
autoreconf -f -i -I ../../src -I ../../src/m4 -I ../../src/glm4
|
||||||
|
cd -
|
||||||
|
'') withModules);
|
||||||
|
|
||||||
configureFlags = [ "builddir" ]
|
configureFlags = [ "builddir" ]
|
||||||
++ lib.optional (!dllSupport) "--without-dynamic-modules"
|
++ lib.optional (!dllSupport) "--without-dynamic-modules"
|
||||||
++ lib.optional (readline != null) "--with-readline"
|
++ lib.optional (readline != null) "--with-readline"
|
||||||
|
@ -74,35 +98,27 @@ stdenv.mkDerivation rec {
|
||||||
++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi"
|
++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi"
|
||||||
++ lib.optional ffcallAvailable "--with-ffcall"
|
++ lib.optional ffcallAvailable "--with-ffcall"
|
||||||
++ lib.optional (!ffcallAvailable) "--without-ffcall"
|
++ lib.optional (!ffcallAvailable) "--without-ffcall"
|
||||||
++ builtins.map (x: "--with-module=" + x) withModules
|
++ builtins.map (x: " --with-module=" + x) withModules
|
||||||
++ lib.optional threadSupport "--with-threads=POSIX_THREADS";
|
++ lib.optional threadSupport "--with-threads=POSIX_THREADS";
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
|
sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
|
||||||
|
sed -i -re '/ cfree /d' -i modules/bindings/glibc/linux.lisp
|
||||||
cd builddir
|
cd builddir
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Fails to build in parallel due to missing gnulib header dependency used in charstrg.d:
|
|
||||||
# ../src/charstrg.d:319:10: fatal error: uniwidth.h: No such file or directory
|
|
||||||
enableParallelBuilding = false;
|
|
||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
lib.optionalString (withModules != [])
|
lib.optionalString (withModules != [])
|
||||||
(''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full''
|
(''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full''
|
||||||
+ lib.concatMapStrings (x: " " + x) withModules);
|
+ lib.concatMapStrings (x: " " + x) withModules);
|
||||||
|
|
||||||
env.NIX_CFLAGS_COMPILE = "-O0 ${lib.optionalString (!stdenv.is64bit) "-falign-functions=4"}";
|
env.NIX_CFLAGS_COMPILE = "-O0 -falign-functions=${if stdenv.is64bit then "8" else "4"}";
|
||||||
|
|
||||||
# TODO : make mod-check fails
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "ANSI Common Lisp Implementation";
|
description = "ANSI Common Lisp Implementation";
|
||||||
homepage = "http://clisp.cons.org";
|
homepage = "http://clisp.org";
|
||||||
maintainers = lib.teams.lisp.members;
|
maintainers = lib.teams.lisp.members;
|
||||||
platforms = lib.platforms.unix;
|
license = lib.licenses.gpl2Plus;
|
||||||
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
|
platforms = with lib.platforms; linux ++ darwin;
|
||||||
broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64;
|
|
||||||
license = lib.licenses.gpl2;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
13
pkgs/development/interpreters/clisp/gnulib_aarch64.patch
Normal file
13
pkgs/development/interpreters/clisp/gnulib_aarch64.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/src/gllib/vma-iter.c b/src/gllib/vma-iter.c
|
||||||
|
index 6045f21d7..d50a3a398 100644
|
||||||
|
--- a/src/gllib/vma-iter.c
|
||||||
|
+++ b/src/gllib/vma-iter.c
|
||||||
|
@@ -1327,7 +1327,7 @@ vma_iterate (vma_iterate_callback_fn callback, void *data)
|
||||||
|
In 64-bit processes, we could use vm_region_64 or mach_vm_region.
|
||||||
|
I choose vm_region_64 because it uses the same types as vm_region,
|
||||||
|
resulting in less conditional code. */
|
||||||
|
-# if defined __ppc64__ || defined __x86_64__
|
||||||
|
+# if defined __aarch64__ || defined __ppc64__ || defined __x86_64__
|
||||||
|
struct vm_region_basic_info_64 info;
|
||||||
|
mach_msg_type_number_t info_count = VM_REGION_BASIC_INFO_COUNT_64;
|
||||||
|
|
|
@ -1,98 +0,0 @@
|
||||||
# there are the following linking sets:
|
|
||||||
# - boot (not installed): without modules, only used when building clisp
|
|
||||||
# - base (default): contains readline and i18n, regexp and syscalls modules
|
|
||||||
# by default
|
|
||||||
# - full: contains base plus modules in withModules
|
|
||||||
{ lib, stdenv, fetchhg, libsigsegv, gettext, ncurses, readline, libX11
|
|
||||||
, libXau, libXt, pcre, zlib, libXpm, xorgproto, libXext
|
|
||||||
, libffi, libffcall, automake
|
|
||||||
, coreutils
|
|
||||||
# build options
|
|
||||||
, threadSupport ? stdenv.hostPlatform.isx86
|
|
||||||
, x11Support ? stdenv.hostPlatform.isx86
|
|
||||||
, dllSupport ? true
|
|
||||||
, withModules ? [
|
|
||||||
"pcre"
|
|
||||||
"rawsock"
|
|
||||||
]
|
|
||||||
++ lib.optionals stdenv.isLinux [ "bindings/glibc" "zlib" ]
|
|
||||||
++ lib.optional x11Support "clx/new-clx"
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert x11Support -> (libX11 != null && libXau != null && libXt != null
|
|
||||||
&& libXpm != null && xorgproto != null && libXext != null);
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
version = "2.50pre20171114";
|
|
||||||
pname = "clisp";
|
|
||||||
|
|
||||||
src = fetchhg {
|
|
||||||
url = "http://hg.code.sf.net/p/clisp/clisp";
|
|
||||||
rev = "36df6dc59b8f";
|
|
||||||
sha256 = "1pidiv1m55lvc4ln8vx0ylnnhlj95y6hrfdq96nrj14f4v8fkvmr";
|
|
||||||
};
|
|
||||||
|
|
||||||
inherit libsigsegv gettext coreutils;
|
|
||||||
|
|
||||||
ffcallAvailable = stdenv.isLinux && (libffcall != null);
|
|
||||||
|
|
||||||
nativeBuildInputs = [ automake ]; # sometimes fails otherwise
|
|
||||||
buildInputs = [libsigsegv]
|
|
||||||
++ lib.optional (gettext != null) gettext
|
|
||||||
++ lib.optional (ncurses != null) ncurses
|
|
||||||
++ lib.optional (pcre != null) pcre
|
|
||||||
++ lib.optional (zlib != null) zlib
|
|
||||||
++ lib.optional (readline != null) readline
|
|
||||||
++ lib.optional (ffcallAvailable && (libffi != null)) libffi
|
|
||||||
++ lib.optional ffcallAvailable libffcall
|
|
||||||
++ lib.optionals x11Support [
|
|
||||||
libX11 libXau libXt libXpm xorgproto libXext
|
|
||||||
];
|
|
||||||
|
|
||||||
# First, replace port 9090 (rather low, can be used)
|
|
||||||
# with 64237 (much higher, IANA private area, not
|
|
||||||
# anything rememberable).
|
|
||||||
# Also remove reference to a type that disappeared from recent glibc
|
|
||||||
# (seems the correct thing to do, found no reference to any solution)
|
|
||||||
postPatch = ''
|
|
||||||
sed -e 's@9090@64237@g' -i tests/socket.tst
|
|
||||||
sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
|
|
||||||
find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
|
|
||||||
|
|
||||||
substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
|
|
||||||
'';
|
|
||||||
|
|
||||||
configureFlags = [ "builddir" ]
|
|
||||||
++ lib.optional (!dllSupport) "--without-dynamic-modules"
|
|
||||||
++ lib.optional (readline != null) "--with-readline"
|
|
||||||
# --with-dynamic-ffi can only exist with --with-ffcall - foreign.d does not compile otherwise
|
|
||||||
++ lib.optional (ffcallAvailable && (libffi != null)) "--with-dynamic-ffi"
|
|
||||||
++ lib.optional ffcallAvailable "--with-ffcall"
|
|
||||||
++ lib.optional (!ffcallAvailable) "--without-ffcall"
|
|
||||||
++ builtins.map (x: " --with-module=" + x) withModules
|
|
||||||
++ lib.optional threadSupport "--with-threads=POSIX_THREADS";
|
|
||||||
|
|
||||||
preBuild = ''
|
|
||||||
sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
|
|
||||||
sed -i -re '/ cfree /d' -i modules/bindings/glibc/linux.lisp
|
|
||||||
cd builddir
|
|
||||||
'';
|
|
||||||
|
|
||||||
postInstall =
|
|
||||||
lib.optionalString (withModules != [])
|
|
||||||
(''./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full''
|
|
||||||
+ lib.concatMapStrings (x: " " + x) withModules);
|
|
||||||
|
|
||||||
env.NIX_CFLAGS_COMPILE = "-O0 ${lib.optionalString (!stdenv.is64bit) "-falign-functions=4"}";
|
|
||||||
|
|
||||||
# TODO : make mod-check fails
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "ANSI Common Lisp Implementation";
|
|
||||||
homepage = "http://clisp.cons.org";
|
|
||||||
maintainers = lib.teams.lisp.members;
|
|
||||||
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
|
|
||||||
platforms = lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
|
|
||||||
index c40b4f8..1c8edca 100644
|
|
||||||
--- a/modules/bindings/glibc/linux.lisp
|
|
||||||
+++ b/modules/bindings/glibc/linux.lisp
|
|
||||||
@@ -648,7 +648,6 @@
|
|
||||||
(def-call-out calloc (:arguments (nmemb size_t) (size size_t))
|
|
||||||
(:return-type c-pointer))
|
|
||||||
(def-call-out free (:arguments (ptr c-pointer)) (:return-type nil))
|
|
||||||
-(def-call-out cfree (:arguments (ptr c-pointer)) (:return-type nil))
|
|
||||||
(def-call-out valloc (:arguments (size size_t)) (:return-type c-pointer))
|
|
||||||
|
|
||||||
(def-call-out abort (:arguments) (:return-type nil))
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "micropython";
|
pname = "micropython";
|
||||||
version = "1.19.1";
|
version = "1.20.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "micropython";
|
owner = "micropython";
|
||||||
repo = "micropython";
|
repo = "micropython";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-BoX3Z3Zr/AQqkgRrq+UVgdoDqNESDTNsY9AtrElpzfA=";
|
sha256 = "sha256-XTkw0M2an13xlRlDusyHYqwNeHqhq4mryRC5/pk+5Ko=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
skippedTests = ""
|
skippedTests = ""
|
||||||
+ lib.optionalString (stdenv.isDarwin) " -e uasyncio_basic -e uasyncio_heaplock -e uasyncio_wait_task"
|
|
||||||
+ lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) " -e ffi_callback"
|
+ lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) " -e ffi_callback"
|
||||||
+ lib.optionalString (stdenv.isLinux && stdenv.isAarch64) " -e float_parse"
|
+ lib.optionalString (stdenv.isLinux && stdenv.isAarch64) " -e float_parse"
|
||||||
;
|
;
|
||||||
|
@ -49,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
install -Dm755 ports/unix/micropython -t $out/bin
|
install -Dm755 ports/unix/build-standard/micropython -t $out/bin
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cyclonedds";
|
pname = "cyclonedds";
|
||||||
version = "0.10.3";
|
version = "0.10.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "eclipse-cyclonedds";
|
owner = "eclipse-cyclonedds";
|
||||||
repo = "cyclonedds";
|
repo = "cyclonedds";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Ie2l2TwEXqhMZWL3CmQD+c8LdQlclP6egsP7jnsOAlM=";
|
sha256 = "sha256-LSCfQPyd/QOsrnLNbKb0OlCvmHi/2aDDhi8VeXpYb1w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gtkmm";
|
pname = "gtkmm";
|
||||||
version = "3.24.7";
|
version = "3.24.8";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "HXo1r5xc7MrLJE7jwt65skVyDYUQrFx+b0tvmUfmeJw=";
|
sha256 = "0pQMZJIuW5WFVLI9TEHRg56p5D4NLls4Gc+0aCSgmMQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
|
@ -1,31 +1,39 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook }:
|
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, testers }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "libfyaml";
|
pname = "libfyaml";
|
||||||
version = "0.8";
|
version = "0.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pantoniou";
|
owner = "pantoniou";
|
||||||
repo = pname;
|
repo = "libfyaml";
|
||||||
rev = "v${version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-b/jRKe23NIVSydoczI+Ax2VjBJLfAEwF8SW61vIDTwA=";
|
hash = "sha256-Id5pdFzjA9q67okfESO3LZH8jIz93mVgIEEuBbPjuGI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" "man" ];
|
outputs = [ "bin" "dev" "out" "man" ];
|
||||||
|
|
||||||
|
configureFlags = [ "--disable-network" ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
patchShebangs test
|
patchShebangs test
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.tests.pkg-config = testers.hasPkgConfigModules {
|
||||||
|
package = finalAttrs.finalPackage;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/pantoniou/libfyaml";
|
|
||||||
description = "Fully feature complete YAML parser and emitter, supporting the latest YAML spec and passing the full YAML testsuite";
|
description = "Fully feature complete YAML parser and emitter, supporting the latest YAML spec and passing the full YAML testsuite";
|
||||||
|
homepage = "https://github.com/pantoniou/libfyaml";
|
||||||
|
changelog = "https://github.com/pantoniou/libfyaml/releases/tag/v${finalAttrs.version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.marsam ];
|
maintainers = [ maintainers.marsam ];
|
||||||
|
pkgConfigModules = [ "libfyaml" ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libite";
|
pname = "libite";
|
||||||
version = "2.5.3";
|
version = "2.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "troglobit";
|
owner = "troglobit";
|
||||||
repo = "libite";
|
repo = "libite";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-orxmd6yItB6XLj650RQb0CP/EnN9563v+P9xz9LEJkY=";
|
sha256 = "sha256-hdV8g/BFTI/QfEgVsf942SR0G5xdqP/+h+vnydt4kf0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "liblouis";
|
pname = "liblouis";
|
||||||
version = "3.26.0";
|
version = "3.27.0";
|
||||||
|
|
||||||
outputs = [ "out" "dev" "info" "doc" ]
|
outputs = [ "out" "dev" "info" "doc" ]
|
||||||
# configure: WARNING: cannot generate manual pages while cross compiling
|
# configure: WARNING: cannot generate manual pages while cross compiling
|
||||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
owner = "liblouis";
|
owner = "liblouis";
|
||||||
repo = "liblouis";
|
repo = "liblouis";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-Kko9qBWdNiZ61Wbb7lUYoSNU1hhRUexPcU3pADv0UHo=";
|
hash = "sha256-5umpIscs4Y8MSaoY7yKtBFmlIa8QDQtjBxoysZ+GTm8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
|
@ -16,14 +16,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.7.24";
|
version = "0.7.25";
|
||||||
pname = "libsolv";
|
pname = "libsolv";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "openSUSE";
|
owner = "openSUSE";
|
||||||
repo = "libsolv";
|
repo = "libsolv";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-UTVnGJO/9mQF9RwK75hh6IkoP1MwAlFaLCtdYU8uS34=";
|
sha256 = "sha256-OSYfv8dTyoa2f1T/zCEruKczickP5jS05xjYLQQiFaY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nghttp3";
|
pname = "nghttp3";
|
||||||
version = "0.14.0";
|
version = "0.15.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ngtcp2";
|
owner = "ngtcp2";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-DqqT8rgGlbV0upe0E37AR8bk3SIsoyCXt8xJzIkz9xc=";
|
hash = "sha256-ZnfwPgjBAI2elHrx7uzc3JX2MdeX/hsrFKj4TfMK2tI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" "doc" ];
|
outputs = [ "out" "dev" "doc" ];
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "opensubdiv";
|
pname = "opensubdiv";
|
||||||
version = "3.5.0";
|
version = "3.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PixarAnimationStudios";
|
owner = "PixarAnimationStudios";
|
||||||
repo = "OpenSubdiv";
|
repo = "OpenSubdiv";
|
||||||
rev = "v${lib.replaceStrings ["."] ["_"] version}";
|
rev = "v${lib.replaceStrings ["."] ["_"] version}";
|
||||||
sha256 = "sha256-pYD2HxAszE9Ux1xsSJ7s2R13U8ct5tDo3ZP7H0+F9Rc=";
|
sha256 = "sha256-uDKCT0Uoa5WQekMUFm2iZmzm+oWAZ6IWMwfpchkUZY0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
|
@ -1,23 +1,16 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, cmake, fetchpatch }:
|
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pe-parse";
|
pname = "pe-parse";
|
||||||
version = "2.0.0";
|
version = "2.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "trailofbits";
|
owner = "trailofbits";
|
||||||
repo = "pe-parse";
|
repo = "pe-parse";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-HwWlMRhpB/sa/JRyAZF7LZzkXCCyuxB+gtDAfHt7e6k=";
|
hash = "sha256-XegSZWRoQg6NEWuTSFI1RMvN3GbpLDrZrloPU2XdK2M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/trailofbits/pe-parse/commit/eecdb3d36eb44e306398a2e66e85490f9bdcc74c.patch";
|
|
||||||
hash = "sha256-pd6D/JMctiQqJxnJU9Nm/GDVf4/CaIGeXx1UfdcCupo=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
|
@ -28,6 +21,7 @@ stdenv.mkDerivation rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A principled, lightweight parser for Windows portable executable files";
|
description = "A principled, lightweight parser for Windows portable executable files";
|
||||||
homepage = "https://github.com/trailofbits/pe-parse";
|
homepage = "https://github.com/trailofbits/pe-parse";
|
||||||
|
changelog = "https://github.com/trailofbits/pe-parse/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ arturcygan ];
|
maintainers = with maintainers; [ arturcygan ];
|
||||||
mainProgram = "dump-pe";
|
mainProgram = "dump-pe";
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "stellarsolver";
|
pname = "stellarsolver";
|
||||||
version = "2.4";
|
version = "2.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rlancaste";
|
owner = "rlancaste";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-HYNkpgkiRtA1ZsiFkmYk3MT3fKgs2d2neSExVXBbsPc=";
|
sha256 = "sha256-0bFGHlkZnAZlnxlj8tY3s9yTWgkNtSsPFfudB3uvyOA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -103,6 +103,7 @@ mapAliases {
|
||||||
parcel-bundler = parcel; # added 2023-09-04
|
parcel-bundler = parcel; # added 2023-09-04
|
||||||
prettier_d_slim = pkgs.prettier-d-slim; # added 2023-09-14
|
prettier_d_slim = pkgs.prettier-d-slim; # added 2023-09-14
|
||||||
inherit (pkgs) quicktype; # added 2023-09-09
|
inherit (pkgs) quicktype; # added 2023-09-09
|
||||||
|
react-native-cli = throw "react-native-cli was removed because it was deprecated"; # added 2023-09-25
|
||||||
inherit (pkgs) react-static; # added 2023-08-21
|
inherit (pkgs) react-static; # added 2023-08-21
|
||||||
readability-cli = pkgs.readability-cli; # Added 2023-06-12
|
readability-cli = pkgs.readability-cli; # Added 2023-06-12
|
||||||
inherit (pkgs) redoc-cli; # added 2023-09-12
|
inherit (pkgs) redoc-cli; # added 2023-09-12
|
||||||
|
|
|
@ -52,7 +52,6 @@
|
||||||
prettier = "prettier";
|
prettier = "prettier";
|
||||||
purescript-psa = "psa";
|
purescript-psa = "psa";
|
||||||
purs-tidy = "purs-tidy";
|
purs-tidy = "purs-tidy";
|
||||||
react-native-cli = "react-native";
|
|
||||||
react-tools = "jsx";
|
react-tools = "jsx";
|
||||||
remod-cli = "remod";
|
remod-cli = "remod";
|
||||||
svelte-language-server = "svelteserver";
|
svelte-language-server = "svelteserver";
|
||||||
|
|
|
@ -191,6 +191,7 @@
|
||||||
, "patch-package"
|
, "patch-package"
|
||||||
, "peerflix"
|
, "peerflix"
|
||||||
, "peerflix-server"
|
, "peerflix-server"
|
||||||
|
, {"pgrok-build-deps": "../../tools/networking/pgrok/build-deps"}
|
||||||
, "pkg"
|
, "pkg"
|
||||||
, "pm2"
|
, "pm2"
|
||||||
, "pnpm"
|
, "pnpm"
|
||||||
|
@ -210,7 +211,6 @@
|
||||||
, "purty"
|
, "purty"
|
||||||
, "pxder"
|
, "pxder"
|
||||||
, "pyright"
|
, "pyright"
|
||||||
, "react-native-cli"
|
|
||||||
, "react-tools"
|
, "react-tools"
|
||||||
, "remod-cli"
|
, "remod-cli"
|
||||||
, "reveal.js"
|
, "reveal.js"
|
||||||
|
|
5981
pkgs/development/node-packages/node-packages.nix
generated
5981
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -2,16 +2,15 @@
|
||||||
|
|
||||||
buildDunePackage rec {
|
buildDunePackage rec {
|
||||||
pname = "qcheck-core";
|
pname = "qcheck-core";
|
||||||
version = "0.20";
|
version = "0.21.2";
|
||||||
|
|
||||||
minimalOCamlVersion = "4.08";
|
minimalOCamlVersion = "4.08";
|
||||||
duneVersion = "3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "c-cube";
|
owner = "c-cube";
|
||||||
repo = "qcheck";
|
repo = "qcheck";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-d3gleiaPEDJTbHtieL4oAq1NlA/0NtzdW9SA1sItFeQ=";
|
hash = "sha256-a+sjpvpQZbXjQgyx69hhVAmRCfDMMhFlg965dK5UN6Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./bytes.patch ];
|
patches = [ ./bytes.patch ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildPecl rec {
|
buildPecl rec {
|
||||||
pname = "phalcon";
|
pname = "phalcon";
|
||||||
version = "5.3.0";
|
version = "5.3.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "phalcon";
|
owner = "phalcon";
|
||||||
repo = "cphalcon";
|
repo = "cphalcon";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-82DJ+Qx0OYhw9Nv6FkAoyBec8WWfAiqNfBU9Ll/8RfA=";
|
hash = "sha256-FxGibpGlbNLqWDplCv4T4yUPg5US020niLfC7tHfkCU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
internalDeps = [ php.extensions.session php.extensions.pdo ];
|
internalDeps = [ php.extensions.session php.extensions.pdo ];
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "aliyun-python-sdk-iot";
|
pname = "aliyun-python-sdk-iot";
|
||||||
version = "8.56.0";
|
version = "8.57.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-8d77P522c6gV8LhKErixzE2DvGmjr9bms+2eHYirgwg=";
|
hash = "sha256-Ea0IUn2mlu0c7QYJZkUrBUrtjUuTHoTeuvZHw/il+4A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "app-model";
|
pname = "app-model";
|
||||||
version = "0.2.1";
|
version = "0.2.2";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||||
owner = "pyapp-kit";
|
owner = "pyapp-kit";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-1LldqihVCCgFdnsod751zWAAqkaaIH2qMpfsPYjWzgs=";
|
hash = "sha256-vo10BHUzvYlldAqTw/1LxgvSXgTM3LAls9jQIeB5LcU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "async-tkinter-loop";
|
pname = "async-tkinter-loop";
|
||||||
version = "0.8.1";
|
version = "0.9.1";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "async_tkinter_loop";
|
pname = "async_tkinter_loop";
|
||||||
hash = "sha256-+9AvnYIZMWCbpCEKdbIadyU8zgyUlW/fRYYyDOxAzeg=";
|
hash = "sha256-Phxx9RovjU5JOonMt7Zhum0/BGRS5OLRAkLTl4L/BW4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -48,7 +48,7 @@ buildPythonPackage rec {
|
||||||
homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
|
homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
|
||||||
changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
|
changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
|
||||||
description = "Fully compliant, native Python implementation of the AWS Encryption SDK.";
|
description = "Fully compliant, native Python implementation of the AWS Encryption SDK.";
|
||||||
license = licenses.apsl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ anthonyroussel ];
|
maintainers = with maintainers; [ anthonyroussel ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||||
homepage = "https://base64io-python.readthedocs.io/";
|
homepage = "https://base64io-python.readthedocs.io/";
|
||||||
changelog = "https://github.com/aws/base64io-python/blob/${version}/CHANGELOG.rst";
|
changelog = "https://github.com/aws/base64io-python/blob/${version}/CHANGELOG.rst";
|
||||||
description = "Python stream implementation for base64 encoding/decoding";
|
description = "Python stream implementation for base64 encoding/decoding";
|
||||||
license = licenses.apsl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ anthonyroussel ];
|
maintainers = with maintainers; [ anthonyroussel ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "bluetooth-data-tools";
|
pname = "bluetooth-data-tools";
|
||||||
version = "1.11.0";
|
version = "1.12.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||||
owner = "Bluetooth-Devices";
|
owner = "Bluetooth-Devices";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-iyfk0OOJezNCNyqRCbR2cTTTdgdYQM6hExTngd/3CtA=";
|
hash = "sha256-zdMqjZ7CEwDnvVvIe1breQ+/4ZwzdLk2CtI+GCY+3uk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# The project can build both an optimized cython version and an unoptimized
|
# The project can build both an optimized cython version and an unoptimized
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "clarifai-grpc";
|
pname = "clarifai-grpc";
|
||||||
version = "9.8.0";
|
version = "9.8.4";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-hUx+dUx0Lkz6sEZizHqH8ONk2r19D9MIVuefhBmjEiQ=";
|
hash = "sha256-j+dtcNInkTcgcLt6IOjqVeI/qSczRNs9PhS9iPoUF+c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "dbus-fast";
|
pname = "dbus-fast";
|
||||||
version = "2.9.0";
|
version = "2.10.0";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||||
owner = "Bluetooth-Devices";
|
owner = "Bluetooth-Devices";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-0+uWnm0gygDL4sc2b+3dekgZfgAQZKfmJRMSDgyeMjk=";
|
hash = "sha256-GWRtk3MF6QdSOWmKWcdhTitutLkRoMsU+l+LGEefBEo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# The project can build both an optimized cython version and an unoptimized
|
# The project can build both an optimized cython version and an unoptimized
|
||||||
|
|
|
@ -1,18 +1,23 @@
|
||||||
{ lib
|
{ stdenv
|
||||||
|
, lib
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, django
|
, django
|
||||||
, netaddr
|
, netaddr
|
||||||
, six
|
, six
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
|
, djangorestframework
|
||||||
# required for tests
|
# required for tests
|
||||||
#, djangorestframework
|
, postgresql
|
||||||
#, psycopg2
|
, postgresqlTestHook
|
||||||
|
, psycopg2
|
||||||
|
, pytestCheckHook
|
||||||
|
, pytest-django
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "django-postgresql-netfields";
|
pname = "django-postgresql-netfields";
|
||||||
version = "1.3.0";
|
version = "1.3.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -21,7 +26,7 @@ buildPythonPackage rec {
|
||||||
owner = "jimfunk";
|
owner = "jimfunk";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-I+X4yfadtiiZlW7QhfwVbK1qyWn/khH9fWXszCo9uro=";
|
hash = "sha256-76vGvxxfNZQBCCsTkkSgQZ8PpFspWxJQDj/xq9iOSTU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -30,23 +35,19 @@ buildPythonPackage rec {
|
||||||
six
|
six
|
||||||
];
|
];
|
||||||
|
|
||||||
# tests need a postgres database
|
doCheck = !stdenv.isDarwin; # could not create shared memory segment: Operation not permitted
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
# keeping the dependencies below as comment for reference
|
nativeCheckInputs = [
|
||||||
# checkPhase = ''
|
djangorestframework
|
||||||
# python manage.py test
|
postgresql
|
||||||
# '';
|
postgresqlTestHook
|
||||||
|
psycopg2
|
||||||
|
pytestCheckHook
|
||||||
|
pytest-django
|
||||||
|
];
|
||||||
|
|
||||||
# buildInputs = [
|
postgresqlTestUserOptions = "LOGIN SUPERUSER";
|
||||||
# djangorestframework
|
env.DJANGO_SETTINGS_MODULE = "testsettings";
|
||||||
# psycopg2
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# Requires psycopg2
|
|
||||||
# pythonImportsCheck = [
|
|
||||||
# "netfields"
|
|
||||||
# ];
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Django PostgreSQL netfields implementation";
|
description = "Django PostgreSQL netfields implementation";
|
||||||
|
|
|
@ -9,14 +9,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "django-treebeard";
|
pname = "django-treebeard";
|
||||||
version = "4.6.1";
|
version = "4.7";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-hKs1BAJ31STrd5OeI1VoychWy1I8yWVXk7Zv6aPvRos=";
|
hash = "sha256-x1Gj+SQVjCiP6omvwlpxUZefrwG/Ef3HvjuFgJnfpW0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "drf-spectacular-sidecar";
|
pname = "drf-spectacular-sidecar";
|
||||||
version = "2023.3.1";
|
version = "2023.9.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tfranzel";
|
owner = "tfranzel";
|
||||||
repo = "drf-spectacular-sidecar";
|
repo = "drf-spectacular-sidecar";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-UTH6t/znN4nYnqDhtFFxXoBXX8Zo19pJE9iDsvw7bGE=";
|
hash = "sha256-EoQKbxzXEuKC50/W1/tBB2wASJZmNNwg9r1qhIB4Ws8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "garth";
|
pname = "garth";
|
||||||
version = "0.4.26";
|
version = "0.4.27";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.9";
|
disabled = pythonOlder "3.9";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-Ezq9lZE6HTtuW396sKZ32mDvNjrkz6UHQGvLhXUjfnI=";
|
hash = "sha256-GOpYR1fudDKHbnxwAMCXrk95xYe0Pdi7pYebHua+IjM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue