Merge staging-next into staging
This commit is contained in:
commit
3a79190750
@ -6,6 +6,7 @@ basexx,https://github.com/teto/basexx.git,,,,,
|
||||
binaryheap,https://github.com/Tieske/binaryheap.lua,,,,,vcunat
|
||||
busted,,,,,,
|
||||
cassowary,,,,,,marsam alerque
|
||||
cldr,,,,,,alerque
|
||||
compat53,,,,0.7-1,,vcunat
|
||||
cosmo,,,,,,marsam
|
||||
coxpcall,,,,1.17.0-1,,
|
||||
@ -14,6 +15,7 @@ cyrussasl,https://github.com/JorjBauer/lua-cyrussasl.git,,,,,
|
||||
digestif,https://github.com/astoff/digestif.git,,,0.2-1,lua5_3,
|
||||
dkjson,,,,,,
|
||||
fifo,,,,,,
|
||||
fluent,,,,,,alerque
|
||||
gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,lua5_1,
|
||||
http,,,,0.3-0,,vcunat
|
||||
inspect,,,,,,
|
||||
@ -24,6 +26,7 @@ linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,,
|
||||
ljsyscall,,,,,lua5_1,lblasc
|
||||
lmathx,,,,,lua5_3,alexshpilkin
|
||||
lmpfrlib,,,,,lua5_3,alexshpilkin
|
||||
loadkit,,,,,,alerque
|
||||
lpeg,,,,,,vyp
|
||||
lpeg_patterns,,,,,,
|
||||
lpeglabel,,,,,,
|
||||
@ -86,4 +89,5 @@ say,https://github.com/Olivine-Labs/say.git,,,,,
|
||||
std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
|
||||
std.normalize,https://github.com/lua-stdlib/normalize.git,,,,,
|
||||
stdlib,,,,41.2.2,,vyp
|
||||
tl,,,,,,mephistophiles
|
||||
vstruct,https://github.com/ToxicFrog/vstruct.git,,,,,
|
||||
|
Can't render this file because it has a wrong number of fields in line 72.
|
@ -238,6 +238,14 @@
|
||||
<link xlink:href="options.html#opt-services.ergochat.enable">services.ergochat</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://snipeitapp.com">Snipe-IT</link>, a
|
||||
free open source IT asset/license management system. Available
|
||||
as
|
||||
<link xlink:href="options.html#opt-services.snipe-it.enable">services.snipe-it</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/ngoduykhanh/PowerDNS-Admin">PowerDNS-Admin</link>,
|
||||
@ -1446,6 +1454,16 @@
|
||||
has been removed.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>pkgs.minetestclient_4</literal> and
|
||||
<literal>pkgs.minetestserver_4</literal> have been removed, as
|
||||
the last 4.x release was in 2018.
|
||||
<literal>pkgs.minetestclient</literal> (equivalent to
|
||||
<literal>pkgs.minetest</literal> ) and
|
||||
<literal>pkgs.minetestserver</literal> can be used instead.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>pkgs.noto-fonts-cjk</literal> is now deprecated in
|
||||
|
@ -77,6 +77,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- [ergochat](https://ergo.chat), a modern IRC with IRCv3 features. Available as [services.ergochat](options.html#opt-services.ergochat.enable).
|
||||
|
||||
- [Snipe-IT](https://snipeitapp.com), a free open source IT asset/license management system. Available as [services.snipe-it](options.html#opt-services.snipe-it.enable).
|
||||
|
||||
- [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable).
|
||||
|
||||
- [pgadmin4](https://github.com/postgres/pgadmin4), an admin interface for the PostgreSQL database. Available at [services.pgadmin](options.html#opt-services.pgadmin.enable).
|
||||
@ -571,6 +573,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
- `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. `pgadmin3` has been removed.
|
||||
|
||||
- `pkgs.minetestclient_4` and `pkgs.minetestserver_4` have been removed, as the last 4.x release was in 2018. `pkgs.minetestclient` (equivalent to `pkgs.minetest` ) and `pkgs.minetestserver` can be used instead.
|
||||
|
||||
- `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
|
||||
and `pkgs.noto-fonts-cjk-serif` because they each have different release
|
||||
schedules. To maintain compatibility with prior releases of Nixpkgs,
|
||||
|
@ -1079,6 +1079,7 @@
|
||||
./services/web-apps/trilium.nix
|
||||
./services/web-apps/selfoss.nix
|
||||
./services/web-apps/shiori.nix
|
||||
./services/web-apps/snipe-it.nix
|
||||
./services/web-apps/vikunja.nix
|
||||
./services/web-apps/virtlyst.nix
|
||||
./services/web-apps/wiki-js.nix
|
||||
|
493
nixos/modules/services/web-apps/snipe-it.nix
Normal file
493
nixos/modules/services/web-apps/snipe-it.nix
Normal file
@ -0,0 +1,493 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.snipe-it;
|
||||
snipe-it = pkgs.snipe-it.override {
|
||||
dataDir = cfg.dataDir;
|
||||
};
|
||||
db = cfg.database;
|
||||
mail = cfg.mail;
|
||||
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
|
||||
tlsEnabled = cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME;
|
||||
|
||||
# shell script for local administration
|
||||
artisan = pkgs.writeScriptBin "snipe-it" ''
|
||||
#! ${pkgs.runtimeShell}
|
||||
cd ${snipe-it}
|
||||
sudo=exec
|
||||
if [[ "$USER" != ${user} ]]; then
|
||||
sudo='exec /run/wrappers/bin/sudo -u ${user}'
|
||||
fi
|
||||
$sudo ${pkgs.php}/bin/php artisan $*
|
||||
'';
|
||||
in {
|
||||
options.services.snipe-it = {
|
||||
|
||||
enable = mkEnableOption "A free open source IT asset/license management system";
|
||||
|
||||
user = mkOption {
|
||||
default = "snipeit";
|
||||
description = "User snipe-it runs as.";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
default = "snipeit";
|
||||
description = "Group snipe-it runs as.";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
appKeyFile = mkOption {
|
||||
description = ''
|
||||
A file containing the Laravel APP_KEY - a 32 character long,
|
||||
base64 encoded key used for encryption where needed. Can be
|
||||
generated with <code>head -c 32 /dev/urandom | base64</code>.
|
||||
'';
|
||||
example = "/run/keys/snipe-it/appkey";
|
||||
type = types.path;
|
||||
};
|
||||
|
||||
hostName = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = if config.networking.domain != null then
|
||||
config.networking.fqdn
|
||||
else
|
||||
config.networking.hostName;
|
||||
defaultText = lib.literalExpression "config.networking.fqdn";
|
||||
example = "snipe-it.example.com";
|
||||
description = ''
|
||||
The hostname to serve Snipe-IT on.
|
||||
'';
|
||||
};
|
||||
|
||||
appURL = mkOption {
|
||||
description = ''
|
||||
The root URL that you want to host Snipe-IT on. All URLs in Snipe-IT will be generated using this value.
|
||||
If you change this in the future you may need to run a command to update stored URLs in the database.
|
||||
Command example: <code>snipe-it snipe-it:update-url https://old.example.com https://new.example.com</code>
|
||||
'';
|
||||
default = "http${lib.optionalString tlsEnabled "s"}://${cfg.hostName}";
|
||||
defaultText = ''
|
||||
http''${lib.optionalString tlsEnabled "s"}://''${cfg.hostName}
|
||||
'';
|
||||
example = "https://example.com";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
dataDir = mkOption {
|
||||
description = "snipe-it data directory";
|
||||
default = "/var/lib/snipe-it";
|
||||
type = types.path;
|
||||
};
|
||||
|
||||
database = {
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = "Database host address.";
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 3306;
|
||||
description = "Database host port.";
|
||||
};
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
default = "snipeit";
|
||||
description = "Database name.";
|
||||
};
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = user;
|
||||
defaultText = literalExpression "user";
|
||||
description = "Database username.";
|
||||
};
|
||||
passwordFile = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
example = "/run/keys/snipe-it/dbpassword";
|
||||
description = ''
|
||||
A file containing the password corresponding to
|
||||
<option>database.user</option>.
|
||||
'';
|
||||
};
|
||||
createLocally = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Create the database and database user locally.";
|
||||
};
|
||||
};
|
||||
|
||||
mail = {
|
||||
driver = mkOption {
|
||||
type = types.enum [ "smtp" "sendmail" ];
|
||||
default = "smtp";
|
||||
description = "Mail driver to use.";
|
||||
};
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = "Mail host address.";
|
||||
};
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 1025;
|
||||
description = "Mail host port.";
|
||||
};
|
||||
encryption = mkOption {
|
||||
type = with types; nullOr (enum [ "tls" "ssl" ]);
|
||||
default = null;
|
||||
description = "SMTP encryption mechanism to use.";
|
||||
};
|
||||
user = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
example = "snipeit";
|
||||
description = "Mail username.";
|
||||
};
|
||||
passwordFile = mkOption {
|
||||
type = with types; nullOr path;
|
||||
default = null;
|
||||
example = "/run/keys/snipe-it/mailpassword";
|
||||
description = ''
|
||||
A file containing the password corresponding to
|
||||
<option>mail.user</option>.
|
||||
'';
|
||||
};
|
||||
backupNotificationAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "backup@example.com";
|
||||
description = "Email Address to send Backup Notifications to.";
|
||||
};
|
||||
from = {
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
default = "Snipe-IT Asset Management";
|
||||
description = "Mail \"from\" name.";
|
||||
};
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "mail@example.com";
|
||||
description = "Mail \"from\" address.";
|
||||
};
|
||||
};
|
||||
replyTo = {
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
default = "Snipe-IT Asset Management";
|
||||
description = "Mail \"reply-to\" name.";
|
||||
};
|
||||
address = mkOption {
|
||||
type = types.str;
|
||||
default = "mail@example.com";
|
||||
description = "Mail \"reply-to\" address.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
maxUploadSize = mkOption {
|
||||
type = types.str;
|
||||
default = "18M";
|
||||
example = "1G";
|
||||
description = "The maximum size for uploads (e.g. images).";
|
||||
};
|
||||
|
||||
poolConfig = mkOption {
|
||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
||||
default = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 32;
|
||||
"pm.start_servers" = 2;
|
||||
"pm.min_spare_servers" = 2;
|
||||
"pm.max_spare_servers" = 4;
|
||||
"pm.max_requests" = 500;
|
||||
};
|
||||
description = ''
|
||||
Options for the snipe-it PHP pool. See the documentation on <literal>php-fpm.conf</literal>
|
||||
for details on configuration directives.
|
||||
'';
|
||||
};
|
||||
|
||||
nginx = mkOption {
|
||||
type = types.submodule (
|
||||
recursiveUpdate
|
||||
(import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {}
|
||||
);
|
||||
default = {};
|
||||
example = literalExpression ''
|
||||
{
|
||||
serverAliases = [
|
||||
"snipe-it.''${config.networking.domain}"
|
||||
];
|
||||
# To enable encryption and let let's encrypt take care of certificate
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
With this option, you can customize the nginx virtualHost settings.
|
||||
'';
|
||||
};
|
||||
|
||||
config = mkOption {
|
||||
type = with types;
|
||||
attrsOf
|
||||
(nullOr
|
||||
(either
|
||||
(oneOf [
|
||||
bool
|
||||
int
|
||||
port
|
||||
path
|
||||
str
|
||||
])
|
||||
(submodule {
|
||||
options = {
|
||||
_secret = mkOption {
|
||||
type = nullOr (oneOf [ str path ]);
|
||||
description = ''
|
||||
The path to a file containing the value the
|
||||
option should be set to in the final
|
||||
configuration file.
|
||||
'';
|
||||
};
|
||||
};
|
||||
})));
|
||||
default = {};
|
||||
example = literalExpression ''
|
||||
{
|
||||
ALLOWED_IFRAME_HOSTS = "https://example.com";
|
||||
WKHTMLTOPDF = "''${pkgs.wkhtmltopdf}/bin/wkhtmltopdf";
|
||||
AUTH_METHOD = "oidc";
|
||||
OIDC_NAME = "MyLogin";
|
||||
OIDC_DISPLAY_NAME_CLAIMS = "name";
|
||||
OIDC_CLIENT_ID = "snipe-it";
|
||||
OIDC_CLIENT_SECRET = {_secret = "/run/keys/oidc_secret"};
|
||||
OIDC_ISSUER = "https://keycloak.example.com/auth/realms/My%20Realm";
|
||||
OIDC_ISSUER_DISCOVER = true;
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Snipe-IT configuration options to set in the
|
||||
<filename>.env</filename> file.
|
||||
Refer to <link xlink:href="https://snipe-it.readme.io/docs/configuration"/>
|
||||
for details on supported values.
|
||||
|
||||
Settings containing secret data should be set to an attribute
|
||||
set containing the attribute <literal>_secret</literal> - a
|
||||
string pointing to a file containing the value the option
|
||||
should be set to. See the example to get a better picture of
|
||||
this: in the resulting <filename>.env</filename> file, the
|
||||
<literal>OIDC_CLIENT_SECRET</literal> key will be set to the
|
||||
contents of the <filename>/run/keys/oidc_secret</filename>
|
||||
file.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
assertions = [
|
||||
{ assertion = db.createLocally -> db.user == user;
|
||||
message = "services.snipe-it.database.user must be set to ${user} if services.snipe-it.database.createLocally is set true.";
|
||||
}
|
||||
{ assertion = db.createLocally -> db.passwordFile == null;
|
||||
message = "services.snipe-it.database.passwordFile cannot be specified if services.snipe-it.database.createLocally is set to true.";
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ artisan ];
|
||||
|
||||
services.snipe-it.config = {
|
||||
APP_ENV = "production";
|
||||
APP_KEY._secret = cfg.appKeyFile;
|
||||
APP_URL = cfg.appURL;
|
||||
DB_HOST = db.host;
|
||||
DB_PORT = db.port;
|
||||
DB_DATABASE = db.name;
|
||||
DB_USERNAME = db.user;
|
||||
DB_PASSWORD._secret = db.passwordFile;
|
||||
MAIL_DRIVER = mail.driver;
|
||||
MAIL_FROM_NAME = mail.from.name;
|
||||
MAIL_FROM_ADDR = mail.from.address;
|
||||
MAIL_REPLYTO_NAME = mail.from.name;
|
||||
MAIL_REPLYTO_ADDR = mail.from.address;
|
||||
MAIL_BACKUP_NOTIFICATION_ADDRESS = mail.backupNotificationAddress;
|
||||
MAIL_HOST = mail.host;
|
||||
MAIL_PORT = mail.port;
|
||||
MAIL_USERNAME = mail.user;
|
||||
MAIL_ENCRYPTION = mail.encryption;
|
||||
MAIL_PASSWORD._secret = mail.passwordFile;
|
||||
APP_SERVICES_CACHE = "/run/snipe-it/cache/services.php";
|
||||
APP_PACKAGES_CACHE = "/run/snipe-it/cache/packages.php";
|
||||
APP_CONFIG_CACHE = "/run/snipe-it/cache/config.php";
|
||||
APP_ROUTES_CACHE = "/run/snipe-it/cache/routes-v7.php";
|
||||
APP_EVENTS_CACHE = "/run/snipe-it/cache/events.php";
|
||||
SESSION_SECURE_COOKIE = tlsEnabled;
|
||||
};
|
||||
|
||||
services.mysql = mkIf db.createLocally {
|
||||
enable = true;
|
||||
package = mkDefault pkgs.mariadb;
|
||||
ensureDatabases = [ db.name ];
|
||||
ensureUsers = [
|
||||
{ name = db.user;
|
||||
ensurePermissions = { "${db.name}.*" = "ALL PRIVILEGES"; };
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.phpfpm.pools.snipe-it = {
|
||||
inherit user group;
|
||||
phpPackage = pkgs.php74;
|
||||
phpOptions = ''
|
||||
post_max_size = ${cfg.maxUploadSize}
|
||||
upload_max_filesize = ${cfg.maxUploadSize}
|
||||
'';
|
||||
settings = {
|
||||
"listen.mode" = "0660";
|
||||
"listen.owner" = user;
|
||||
"listen.group" = group;
|
||||
} // cfg.poolConfig;
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
enable = mkDefault true;
|
||||
virtualHosts."${cfg.hostName}" = mkMerge [ cfg.nginx {
|
||||
root = mkForce "${snipe-it}/public";
|
||||
extraConfig = optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;";
|
||||
locations = {
|
||||
"/" = {
|
||||
index = "index.php";
|
||||
extraConfig = ''try_files $uri $uri/ /index.php?$query_string;'';
|
||||
};
|
||||
"~ \.php$" = {
|
||||
extraConfig = ''
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
include ${config.services.nginx.package}/conf/fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param REDIRECT_STATUS 200;
|
||||
fastcgi_pass unix:${config.services.phpfpm.pools."snipe-it".socket};
|
||||
${optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;"}
|
||||
'';
|
||||
};
|
||||
"~ \.(js|css|gif|png|ico|jpg|jpeg)$" = {
|
||||
extraConfig = "expires 365d;";
|
||||
};
|
||||
};
|
||||
}];
|
||||
};
|
||||
|
||||
systemd.services.snipe-it-setup = {
|
||||
description = "Preperation tasks for snipe-it";
|
||||
before = [ "phpfpm-snipe-it.service" ];
|
||||
after = optional db.createLocally "mysql.service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
User = user;
|
||||
WorkingDirectory = snipe-it;
|
||||
RuntimeDirectory = "snipe-it/cache";
|
||||
RuntimeDirectoryMode = 0700;
|
||||
};
|
||||
path = [ pkgs.replace-secret ];
|
||||
script =
|
||||
let
|
||||
isSecret = v: isAttrs v && v ? _secret && (isString v._secret || builtins.isPath v._secret);
|
||||
snipeITEnvVars = lib.generators.toKeyValue {
|
||||
mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" {
|
||||
mkValueString = v: with builtins;
|
||||
if isInt v then toString v
|
||||
else if isString v then "\"${v}\""
|
||||
else if true == v then "true"
|
||||
else if false == v then "false"
|
||||
else if isSecret v then
|
||||
if (isString v._secret) then
|
||||
hashString "sha256" v._secret
|
||||
else
|
||||
hashString "sha256" (builtins.readFile v._secret)
|
||||
else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}";
|
||||
};
|
||||
};
|
||||
secretPaths = lib.mapAttrsToList (_: v: v._secret) (lib.filterAttrs (_: isSecret) cfg.config);
|
||||
mkSecretReplacement = file: ''
|
||||
replace-secret ${escapeShellArgs [
|
||||
(
|
||||
if (isString file) then
|
||||
builtins.hashString "sha256" file
|
||||
else
|
||||
builtins.hashString "sha256" (builtins.readFile file)
|
||||
)
|
||||
file
|
||||
"${cfg.dataDir}/.env"
|
||||
]}
|
||||
'';
|
||||
secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths;
|
||||
filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ {} null ])) cfg.config;
|
||||
snipeITEnv = pkgs.writeText "snipeIT.env" (snipeITEnvVars filteredConfig);
|
||||
in ''
|
||||
# error handling
|
||||
set -euo pipefail
|
||||
|
||||
# set permissions
|
||||
umask 077
|
||||
|
||||
# create .env file
|
||||
install -T -m 0600 -o ${user} ${snipeITEnv} "${cfg.dataDir}/.env"
|
||||
|
||||
# replace secrets
|
||||
${secretReplacements}
|
||||
|
||||
# prepend `base64:` if it does not exist in APP_KEY
|
||||
if ! grep 'APP_KEY=base64:' "${cfg.dataDir}/.env" >/dev/null; then
|
||||
sed -i 's/APP_KEY=/APP_KEY=base64:/' "${cfg.dataDir}/.env"
|
||||
fi
|
||||
|
||||
# purge cache
|
||||
rm "${cfg.dataDir}"/bootstrap/cache/*.php || true
|
||||
|
||||
# migrate db
|
||||
${pkgs.php}/bin/php artisan migrate --force
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${cfg.dataDir} 0710 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/bootstrap 0750 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/bootstrap/cache 0750 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/public 0750 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/public/uploads 0750 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/app 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/fonts 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/framework 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/framework/cache 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/framework/sessions 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/framework/views 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/logs 0700 ${user} ${group} - -"
|
||||
"d ${cfg.dataDir}/storage/uploads 0700 ${user} ${group} - -"
|
||||
];
|
||||
|
||||
users = {
|
||||
users = mkIf (user == "snipeit") {
|
||||
snipeit = {
|
||||
inherit group;
|
||||
isSystemUser = true;
|
||||
};
|
||||
"${config.services.nginx.user}".extraGroups = [ group ];
|
||||
};
|
||||
groups = mkIf (group == "snipeit") {
|
||||
snipeit = {};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ yayayayaka ];
|
||||
}
|
@ -3,13 +3,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dsf2flac";
|
||||
version = "unstable-2018-01-02";
|
||||
version = "unstable-2021-07-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hank";
|
||||
repo = pname;
|
||||
rev = "b0cf5aa6ddc60df9bbfeed25548e443c99f5cb16";
|
||||
sha256 = "15j5f82v7lgs0fkgyyynl82cb1rsxyr9vw3bpzra63nacbi9g8lc";
|
||||
rev = "6b109cd276ec7c7901f96455c77cf2d2ebfbb181";
|
||||
sha256 = "sha256-VlXfywgYhI2QuGQvpD33BspTTgT0jOKUV3gENq4HiBU=";
|
||||
};
|
||||
|
||||
buildInputs = [ boost flac id3lib taglib zlib ];
|
||||
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A DSD to FLAC transcoding tool";
|
||||
homepage = "https://github.com/hank/dsf2flac";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ dmrauh ];
|
||||
platforms = with platforms; linux;
|
||||
maintainers = with maintainers; [ artemist ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
@ -37,14 +37,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "surge-XT";
|
||||
version = "unstable-2021-12-11";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "surge-synthesizer";
|
||||
repo = "surge";
|
||||
rev = "320f68543d0279c11cea8dc7f5170399cccc9602";
|
||||
rev = "release_xt_${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-Jcs5FpX5AZl72aKYNbRcfYqb2PRt0r1pQXk957xk0aM=";
|
||||
sha256 = "sha256-u7jXNCDFRzq9oFaxovfTEipQsN+e4+whLexJrSJdXWw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||
preFixup = ''
|
||||
makeWrapper ${jdk}/bin/java $out/bin/bluej \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp \"$out/share/bluej/bluej.jar\" bluej.Boot"
|
||||
--add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp $out/share/bluej/bluej.jar bluej.Boot"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
56
pkgs/applications/editors/maui-nota/default.nix
Normal file
56
pkgs/applications/editors/maui-nota/default.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitLab
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, applet-window-buttons
|
||||
, karchive
|
||||
, kcoreaddons
|
||||
, ki18n
|
||||
, kio
|
||||
, kirigami2
|
||||
, mauikit
|
||||
, mauikit-filebrowsing
|
||||
, mauikit-texteditor
|
||||
, qtmultimedia
|
||||
, qtquickcontrols2
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "nota";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "maui";
|
||||
repo = "nota";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Sgpm5njhQDe9ohAVFcN5iPNC6v9+QZnGRPYxuLvUno8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
applet-window-buttons
|
||||
karchive
|
||||
kcoreaddons
|
||||
ki18n
|
||||
kio
|
||||
kirigami2
|
||||
mauikit
|
||||
mauikit-filebrowsing
|
||||
mauikit-texteditor
|
||||
qtmultimedia
|
||||
qtquickcontrols2
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multi-platform text editor";
|
||||
homepage = "https://invent.kde.org/maui/nota";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ onny ];
|
||||
};
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, lib, makeDesktopItem
|
||||
, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook
|
||||
, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook, makeWrapper
|
||||
, atomEnv, at-spi2-atk, autoPatchelfHook
|
||||
, systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap
|
||||
, writeShellScriptBin
|
||||
@ -68,7 +68,12 @@ let
|
||||
|
||||
runtimeDependencies = lib.optional stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu ];
|
||||
|
||||
nativeBuildInputs = [ unzip ] ++ lib.optionals stdenv.isLinux [ autoPatchelfHook nodePackages.asar wrapGAppsHook ];
|
||||
nativeBuildInputs = [ unzip ]
|
||||
++ lib.optionals stdenv.isLinux [
|
||||
autoPatchelfHook
|
||||
nodePackages.asar
|
||||
(wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--add-flags "--datapath \"$out/share\"");
|
||||
gappsWrapperArgs+=(--add-flags "--datapath $out/share");
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
@ -1,59 +0,0 @@
|
||||
{ lib, fetchFromGitHub, fetchurl, python2Packages, curl }:
|
||||
|
||||
let
|
||||
getmodel = name: sha256: {
|
||||
inherit name;
|
||||
src = fetchurl {
|
||||
url = "http://www.tmbdev.net/ocropy/${name}";
|
||||
inherit sha256;
|
||||
};
|
||||
};
|
||||
|
||||
models = [
|
||||
(getmodel "en-default.pyrnn.gz"
|
||||
"1xyi3k3p81mfw0491gb1haisazfyi2i18f1wjs1m34ak39qfqjdp")
|
||||
(getmodel "fraktur.pyrnn.gz"
|
||||
"1wlwvxn91ilgmlri1hj81arl3mbzxc24ycdnkf5icq4hdi4c6y8b")
|
||||
];
|
||||
|
||||
in
|
||||
python2Packages.buildPythonApplication rec {
|
||||
pname = "ocropus";
|
||||
version = "1.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "02p1334mic5cfhvpfphfrbim4036yfd8s2zzpwm0xmm829z71nr7";
|
||||
rev = "v${version}";
|
||||
repo = "ocropy";
|
||||
owner = "tmbdev";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python2Packages; [ curl numpy scipy pillow
|
||||
matplotlib beautifulsoup4 pygtk lxml ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = with lib; ''
|
||||
${concatStrings (map (x: "cp -R ${x.src} models/`basename ${x.name}`;")
|
||||
models)}
|
||||
|
||||
substituteInPlace ocrolib/common.py --replace /usr/local $out
|
||||
substituteInPlace ocrolib/default.py --replace /usr/local $out
|
||||
'';
|
||||
|
||||
doCheck = false; # fails
|
||||
checkPhase = ''
|
||||
patchShebangs .
|
||||
substituteInPlace ./run-test \
|
||||
--replace 'ocropus-rpred' 'ocropus-rpred -Q $NIX_BUILD_CORES'
|
||||
PATH=".:$PATH" ./run-test
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open source document analysis and OCR system";
|
||||
license = licenses.asl20;
|
||||
homepage = "https://github.com/tmbdev/ocropy/";
|
||||
maintainers = with maintainers; [ domenkozar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, wrapGAppsHook
|
||||
{ lib, stdenv, fetchurl, wrapGAppsHook, makeWrapper
|
||||
, dpkg
|
||||
, alsa-lib
|
||||
, at-spi2-atk
|
||||
@ -102,7 +102,10 @@ stdenv.mkDerivation rec {
|
||||
dontPatchELF = true;
|
||||
doInstallCheck = true;
|
||||
|
||||
nativeBuildInputs = [ dpkg wrapGAppsHook ];
|
||||
nativeBuildInputs = [
|
||||
dpkg
|
||||
(wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# needed for GSETTINGS_SCHEMAS_PATH
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "terragrunt";
|
||||
version = "0.36.10";
|
||||
version = "0.36.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-C7VUDwgxE5VlHamgJk9dDhaBCOLXLDg0TFEhH2jV4oc=";
|
||||
sha256 = "sha256-kXa3iG94WTH6KpQksl2r0yXyr4KuLY2AZdZtZ6zWYUA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ZI2ETgxpRk10WMxb/v1j/LumL2xtE3QBcARs7spYMOk=";
|
||||
vendorSha256 = "sha256-7SUf4r+6r6dkBoBZFg2AUK114QEl0+1lwRA4ymYArFs=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ pname, version, src, meta, binaryName, desktopName, autoPatchelfHook
|
||||
, makeDesktopItem, lib, stdenv, wrapGAppsHook, alsa-lib, at-spi2-atk
|
||||
, makeDesktopItem, lib, stdenv, wrapGAppsHook, makeWrapper, alsa-lib, at-spi2-atk
|
||||
, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf
|
||||
, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11
|
||||
, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
|
||||
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
libxshmfence
|
||||
mesa
|
||||
nss
|
||||
wrapGAppsHook
|
||||
(wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, nixosTests
|
||||
{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, makeWrapper, nixosTests
|
||||
, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
|
||||
, dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
|
||||
, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsa-lib
|
||||
@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
wrapGAppsHook
|
||||
(wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -6,11 +6,11 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "teamviewer";
|
||||
version = "15.26.4";
|
||||
version = "15.29.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
|
||||
sha256 = "sha256-2CprtdKHHTLxS8jA4bRVoHvj/8zyVUV0aGPzU7mNxM8=";
|
||||
sha256 = "sha256-jkFqOtU+D62S7QmNPvz58Z8wJ79lkN11pWQrtNdD+Uk=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
@ -30,7 +30,7 @@ mkDerivation rec {
|
||||
$out/share/teamviewer/config \
|
||||
$out/share/teamviewer/tv_bin/RTlib \
|
||||
$out/share/teamviewer/tv_bin/xdg-utils \
|
||||
$out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh}
|
||||
$out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,tv-delayed-start.sh}
|
||||
|
||||
ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin
|
||||
ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin
|
||||
|
@ -19,7 +19,11 @@ stdenv.mkDerivation rec {
|
||||
--replace '-I/usr/X11R6/include' "" \
|
||||
--replace '/usr/local/' $out/ \
|
||||
--replace 'sudo' "" \
|
||||
--replace '-C surf depend' '-C surf'
|
||||
--replace '-C surf depend' '-C surf' \
|
||||
--replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch'
|
||||
|
||||
substituteInPlace ambfor/makefile --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch'
|
||||
|
||||
sed -in '/^# DO NOT DELETE THIS LINE/q;' surf/Makefile
|
||||
'';
|
||||
|
||||
|
@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0lz8rfl5xwdj17zn7a30ipi7cgjwqki21a7wg9rdg7iwx27bpnmg";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Src/siesta_init.F --replace '/bin/rm' 'rm'
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit mpi;
|
||||
};
|
||||
|
@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ gtk3 ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
(wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
||||
version = "1.04";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://invisible-island.net/datafiles/release/rcshist.tar.gz";
|
||||
url = "https://web.archive.org/web/20220508220019/https://invisible-island.net/datafiles/release/rcshist.tar.gz";
|
||||
sha256 = "01ab3xwgm934lxr8bm758am3vxwx4hxx7cc9prbgqj5nh30vdg1n";
|
||||
};
|
||||
|
||||
|
59
pkgs/applications/video/vvave/default.nix
Normal file
59
pkgs/applications/video/vvave/default.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitLab
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, applet-window-buttons
|
||||
, karchive
|
||||
, kcoreaddons
|
||||
, ki18n
|
||||
, kio
|
||||
, kirigami2
|
||||
, mauikit
|
||||
, mauikit-accounts
|
||||
, mauikit-filebrowsing
|
||||
, qtmultimedia
|
||||
, qtquickcontrols2
|
||||
, taglib
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "vvave";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "maui";
|
||||
repo = "vvave";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ykX1kd3106KTDTJQIGk6miSgbj+oROiXQl/nkCjTphE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
applet-window-buttons
|
||||
karchive
|
||||
kcoreaddons
|
||||
ki18n
|
||||
kio
|
||||
kirigami2
|
||||
mauikit
|
||||
mauikit-accounts
|
||||
mauikit-filebrowsing
|
||||
qtmultimedia
|
||||
qtquickcontrols2
|
||||
taglib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multi-platform media player";
|
||||
homepage = "https://invent.kde.org/maui/vvave";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ onny ];
|
||||
};
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"commit": "08ae12813ead00810e00ffe9dae284fcafe6a08a",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/08ae12813ead00810e00ffe9dae284fcafe6a08a.tar.gz",
|
||||
"sha256": "00jc08pifnp791s1scscdhgwlf75v9682a7vjis1djnhj3y5s3ny",
|
||||
"msg": "Update from Hackage at 2022-05-01T06:09:30Z"
|
||||
"commit": "78324aa49909392e169c86bbfd204694523907e8",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/78324aa49909392e169c86bbfd204694523907e8.tar.gz",
|
||||
"sha256": "15k5ag36asswwv8yazq53lkj9blnz4hzlq23cznvvk5pkjpdm0ni",
|
||||
"msg": "Update from Hackage at 2022-05-05T15:07:55Z"
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ which perl jdk openssl coreutils zlib ncurses
|
||||
makeWrapper gcc binutils gnumake nodejs
|
||||
] ++ (with ocamlPackages; [
|
||||
ocaml findlib ssl cryptokit camlzip ulex ocamlgraph camlp4
|
||||
ocaml findlib ssl camlzip ulex ocamlgraph camlp4
|
||||
]);
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
|
||||
|
@ -8,10 +8,10 @@
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "cabal2nix";
|
||||
version = "unstable-2021-10-23";
|
||||
version = "unstable-2022-04-27";
|
||||
src = fetchzip {
|
||||
url = "https://github.com/NixOS/cabal2nix/archive/8aeef87436468a416e5908b48ec82ac3f15eb885.tar.gz";
|
||||
sha256 = "1w6wabp0v2fii5i28nsp0ss6dsz222p94mmxrrns3q0df82s2cm1";
|
||||
url = "https://github.com/NixOS/cabal2nix/archive/40823c793b4b8588fcfedc8fb147c1a92cfa577d.tar.gz";
|
||||
sha256 = "0gr8hafa282m4qw5y5wrqiwm1a3fl3b7xicnzixss6nlmxmi2skp";
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
|
@ -105,12 +105,9 @@ self: super: {
|
||||
# We disable profiling on aarch64, so tests naturally fail
|
||||
ghc-prof = dontCheck super.ghc-prof;
|
||||
|
||||
} // lib.optionalAttrs (pkgs.stdenv.hostPlatform.isAarch64 && builtins.compareVersions super.ghc.version "9.2" < 0) {
|
||||
# Some aarch64 issues have been fixed since 9.2
|
||||
|
||||
# Similar RTS issue in test suite:
|
||||
# rts/linker/elf_reloc_aarch64.c:98: encodeAddendAarch64: Assertion `isInt64(21+12, addend)' failed.
|
||||
# Fixed since 9.2
|
||||
# These still fail sporadically on ghc 9.2
|
||||
hls-ormolu-plugin = dontCheck super.hls-ormolu-plugin;
|
||||
hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
|
||||
hls-rename-plugin = dontCheck super.hls-rename-plugin;
|
||||
|
@ -99,7 +99,7 @@ self: super: {
|
||||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "066gs2lkkiz9z9n6rjg33wmgi04qmn6xpnx86j0x3d56r1110id4";
|
||||
sha256 = "sha256-NYe34bsq2v0rlmcSMgYvU9ec94meXFFJoWo0sIjX/bY=";
|
||||
# delete android and Android directories which cause issues on
|
||||
# darwin (case insensitive directory). Since we don't need them
|
||||
# during the build process, we can delete it to prevent a hash
|
||||
|
@ -117,6 +117,7 @@ broken-packages:
|
||||
- alerta
|
||||
- alex-prelude
|
||||
- alfred
|
||||
- alfred-margaret
|
||||
- alga
|
||||
- algebra-dag
|
||||
- algebraic-classes
|
||||
@ -1013,6 +1014,7 @@ broken-packages:
|
||||
- dbf
|
||||
- DBlimited
|
||||
- dbm
|
||||
- dbmigrations
|
||||
- dbmigrations-mysql
|
||||
- dbmigrations-postgresql
|
||||
- dbmigrations-sqlite
|
||||
@ -1914,6 +1916,7 @@ broken-packages:
|
||||
- HandlerSocketClient
|
||||
- handsy
|
||||
- Hangman
|
||||
- HangmanAscii
|
||||
- hannahci
|
||||
- hans
|
||||
- hanspell
|
||||
@ -2905,6 +2908,7 @@ broken-packages:
|
||||
- layers
|
||||
- layout
|
||||
- layout-bootstrap
|
||||
- layout-rules
|
||||
- lazify
|
||||
- lazyarray
|
||||
- lazyboy
|
||||
@ -3913,6 +3917,7 @@ broken-packages:
|
||||
- plzwrk
|
||||
- pngload-fixed
|
||||
- pocket
|
||||
- podenv
|
||||
- pointedalternative
|
||||
- pointfree-fancy
|
||||
- pointful
|
||||
@ -4628,6 +4633,7 @@ broken-packages:
|
||||
- simple-templates
|
||||
- simple-ui
|
||||
- simple-units
|
||||
- simple-vec3
|
||||
- simplexmq
|
||||
- simple-zipper
|
||||
- simplistic-generics
|
||||
|
@ -83,7 +83,7 @@ default-package-overrides:
|
||||
- hnix < 0.15
|
||||
# needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
|
||||
- http-client-restricted < 0.0.5
|
||||
# Needs dhall 1.41.*, Stackage Nightly has 1.40
|
||||
# Needs dhall 1.41.*, Stackage LTS 19 has 1.40
|
||||
- dhall-nix < 1.1.24
|
||||
|
||||
extra-packages:
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Stackage LTS 19.5
|
||||
# Stackage LTS 19.6
|
||||
# This file is auto-generated by
|
||||
# maintainers/scripts/haskell/update-stackage.sh
|
||||
default-package-overrides:
|
||||
@ -56,7 +56,7 @@ default-package-overrides:
|
||||
- amqp ==0.22.1
|
||||
- amqp-utils ==0.6.3.2
|
||||
- annotated-wl-pprint ==0.7.0
|
||||
- ansi-terminal ==0.11.1
|
||||
- ansi-terminal ==0.11.3
|
||||
- ansi-terminal-game ==1.8.0.0
|
||||
- ansi-wl-pprint ==0.6.9
|
||||
- ANum ==0.2.0.2
|
||||
@ -427,10 +427,9 @@ default-package-overrides:
|
||||
- convertible ==1.1.1.0
|
||||
- cookie ==0.4.5
|
||||
- copr-api ==0.1.0
|
||||
- core-data ==0.3.2.1
|
||||
- core-program ==0.4.5.1
|
||||
- core-telemetry ==0.1.9.3
|
||||
- core-text ==0.3.5.0
|
||||
- core-data ==0.3.2.2
|
||||
- core-program ==0.4.6.1
|
||||
- core-text ==0.3.7.1
|
||||
- countable ==1.0
|
||||
- covariance ==0.1.0.6
|
||||
- cpphs ==1.20.9.1
|
||||
@ -700,7 +699,7 @@ default-package-overrides:
|
||||
- every ==0.0.1
|
||||
- evm-opcodes ==0.1.1
|
||||
- exact-combinatorics ==0.2.0.11
|
||||
- exact-pi ==0.5.0.1
|
||||
- exact-pi ==0.5.0.2
|
||||
- exception-hierarchy ==0.1.0.6
|
||||
- exception-mtl ==0.4.0.1
|
||||
- exception-transformers ==0.4.0.11
|
||||
@ -1012,7 +1011,7 @@ default-package-overrides:
|
||||
- hasql-optparse-applicative ==0.3.0.8
|
||||
- hasql-pool ==0.5.2.2
|
||||
- hasql-queue ==1.2.0.2
|
||||
- hasql-th ==0.4.0.12
|
||||
- hasql-th ==0.4.0.14
|
||||
- hasql-transaction ==1.0.1.1
|
||||
- has-transformers ==0.1.0.4
|
||||
- hasty-hamiltonian ==1.3.4
|
||||
@ -1883,7 +1882,7 @@ default-package-overrides:
|
||||
- postgresql-schema ==0.1.14
|
||||
- postgresql-simple ==0.6.4
|
||||
- postgresql-simple-url ==0.2.1.0
|
||||
- postgresql-syntax ==0.4.0.2
|
||||
- postgresql-syntax ==0.4.1
|
||||
- postgresql-typed ==0.6.2.1
|
||||
- post-mess-age ==0.2.1.0
|
||||
- pptable ==0.3.0.0
|
||||
@ -1948,7 +1947,7 @@ default-package-overrides:
|
||||
- psql-helpers ==0.1.0.0
|
||||
- psqueues ==0.2.7.3
|
||||
- pthread ==0.2.1
|
||||
- ptr-poker ==0.1.2.5
|
||||
- ptr-poker ==0.1.2.8
|
||||
- pulse-simple ==0.1.14
|
||||
- pureMD5 ==2.1.4
|
||||
- purescript-bridge ==0.14.0.0
|
||||
@ -2079,7 +2078,7 @@ default-package-overrides:
|
||||
- rhine ==0.7.1
|
||||
- rhine-gloss ==0.7.1
|
||||
- riak-protobuf ==0.25.0.0
|
||||
- rio ==0.1.21.0
|
||||
- rio ==0.1.22.0
|
||||
- rio-orphans ==0.1.2.0
|
||||
- rio-prettyprint ==0.1.1.0
|
||||
- rng-utils ==0.3.1
|
||||
@ -2212,7 +2211,7 @@ default-package-overrides:
|
||||
- shake ==0.19.6
|
||||
- shake-language-c ==0.12.0
|
||||
- shake-plus ==0.3.4.0
|
||||
- shakespeare ==2.0.26
|
||||
- shakespeare ==2.0.27
|
||||
- shared-memory ==0.2.0.0
|
||||
- ShellCheck ==0.8.0
|
||||
- shell-conduit ==5.0.0
|
||||
@ -2229,7 +2228,7 @@ default-package-overrides:
|
||||
- silently ==1.2.5.2
|
||||
- simple-affine-space ==0.1.1
|
||||
- simple-cabal ==0.1.3
|
||||
- simple-cmd ==0.2.4
|
||||
- simple-cmd ==0.2.5
|
||||
- simple-cmd-args ==0.1.7
|
||||
- simple-log ==0.9.12
|
||||
- simple-media-timestamp ==0.2.0.0
|
||||
@ -2259,8 +2258,8 @@ default-package-overrides:
|
||||
- slist ==0.2.0.0
|
||||
- slynx ==0.6.1.1
|
||||
- smallcheck ==1.2.1
|
||||
- smash ==0.1.2
|
||||
- smash-microlens ==0.1.0.0
|
||||
- smash ==0.1.3
|
||||
- smash-microlens ==0.1.0.2
|
||||
- smtp-mail ==0.3.0.0
|
||||
- snap-blaze ==0.2.1.5
|
||||
- snap-core ==1.0.5.0
|
||||
@ -2338,7 +2337,7 @@ default-package-overrides:
|
||||
- storable-record ==0.0.6
|
||||
- storable-tuple ==0.0.3.3
|
||||
- storablevector ==0.2.13.1
|
||||
- store ==0.7.14
|
||||
- store ==0.7.15
|
||||
- store-core ==0.4.4.4
|
||||
- store-streaming ==0.2.0.3
|
||||
- Stream ==0.4.7.2
|
||||
@ -2639,7 +2638,7 @@ default-package-overrides:
|
||||
- unix-bytestring ==0.3.7.6
|
||||
- unix-compat ==0.5.4
|
||||
- unix-time ==0.4.7
|
||||
- unliftio ==0.2.21.0
|
||||
- unliftio ==0.2.22.0
|
||||
- unliftio-core ==0.2.0.1
|
||||
- unliftio-path ==0.0.2.0
|
||||
- unliftio-pool ==0.2.1.1
|
||||
@ -2664,14 +2663,14 @@ default-package-overrides:
|
||||
- valida-base ==0.2.0
|
||||
- validate-input ==0.5.0.0
|
||||
- validation ==1.1.2
|
||||
- validity ==0.12.0.0
|
||||
- validity ==0.12.0.1
|
||||
- validity-bytestring ==0.4.1.1
|
||||
- validity-containers ==0.5.0.4
|
||||
- validity-path ==0.4.0.1
|
||||
- validity-persistent ==0.0.0.0
|
||||
- validity-primitive ==0.0.0.1
|
||||
- validity-scientific ==0.2.0.3
|
||||
- validity-text ==0.3.1.2
|
||||
- validity-text ==0.3.1.3
|
||||
- validity-time ==0.5.0.0
|
||||
- validity-unordered-containers ==0.2.0.3
|
||||
- validity-uuid ==0.1.0.3
|
||||
@ -2841,7 +2840,7 @@ default-package-overrides:
|
||||
- yesod-auth-hashdb ==1.7.1.7
|
||||
- yesod-auth-oauth2 ==0.7.0.1
|
||||
- yesod-bin ==1.6.2.1
|
||||
- yesod-core ==1.6.23
|
||||
- yesod-core ==1.6.23.1
|
||||
- yesod-eventsource ==1.6.0.1
|
||||
- yesod-form ==1.7.0
|
||||
- yesod-form-bootstrap4 ==3.0.1
|
||||
|
@ -666,7 +666,7 @@ dont-distribute-packages:
|
||||
- ascii
|
||||
- ascii-cows
|
||||
- ascii-table
|
||||
- ascii_1_2_2_0
|
||||
- ascii_1_2_3_0
|
||||
- asic
|
||||
- asif
|
||||
- assert4hs-hspec
|
||||
|
1063
pkgs/development/haskell-modules/hackage-packages.nix
generated
1063
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -19,6 +19,7 @@
|
||||
, grpc
|
||||
, gtest
|
||||
, jemalloc
|
||||
, libbacktrace
|
||||
, lz4
|
||||
, minio
|
||||
, ninja
|
||||
@ -69,21 +70,20 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "arrow-cpp";
|
||||
version = "7.0.0";
|
||||
version = "8.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
|
||||
hash = "sha256-6PSbFJoV7O9OQPz6sbh8ETxrHuGGAFwWnlzfldMamd4=";
|
||||
url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
|
||||
hash = "sha256-rZoFcFEXyYnBFrrprHBJL+AVBQ4bgPsOOP3ktdhjqqM=";
|
||||
};
|
||||
sourceRoot = "apache-arrow-${version}/cpp";
|
||||
|
||||
${if enableJemalloc then "ARROW_JEMALLOC_URL" else null} = jemalloc.src;
|
||||
|
||||
# versions are all taken from
|
||||
# https://github.com/apache/arrow/blob/apache-arrow-8.0.0/cpp/thirdparty/versions.txt
|
||||
|
||||
ARROW_MIMALLOC_URL = fetchFromGitHub {
|
||||
# From
|
||||
# ./cpp/cmake_modules/ThirdpartyToolchain.cmake
|
||||
# ./cpp/thirdparty/versions.txt
|
||||
owner = "microsoft";
|
||||
repo = "mimalloc";
|
||||
rev = "v1.7.3";
|
||||
@ -93,8 +93,15 @@ stdenv.mkDerivation rec {
|
||||
ARROW_XSIMD_URL = fetchFromGitHub {
|
||||
owner = "xtensor-stack";
|
||||
repo = "xsimd";
|
||||
rev = "aeec9c872c8b475dedd7781336710f2dd2666cb2";
|
||||
hash = "sha256-vWKdJkieKhaxyAJhijXUmD7NmNvMWd79PskQojulA1w=";
|
||||
rev = "7d1778c3b38d63db7cec7145d939f40bc5d859d1";
|
||||
hash = "sha256-89AysBUVnTdWyMPazeJegnQ6WEH90Ns7qQInZLMSXY4=";
|
||||
};
|
||||
|
||||
ARROW_SUBSTRAIT_URL = fetchFromGitHub {
|
||||
owner = "substrait-io";
|
||||
repo = "substrait";
|
||||
rev = "e1b4c04a1b518912f4c4065b16a1b2c0ac8e14cf";
|
||||
hash = "sha256-56FSjDngsROSHLjMv+OYAIYqphEu3GzgIMHbgh/ZQw0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -115,7 +122,10 @@ stdenv.mkDerivation rec {
|
||||
gflags
|
||||
glog
|
||||
gtest
|
||||
libbacktrace
|
||||
lz4
|
||||
nlohmann_json # alternative JSON parser to rapidjson
|
||||
protobuf # substrait requires protobuf
|
||||
rapidjson
|
||||
re2
|
||||
snappy
|
||||
@ -150,6 +160,9 @@ stdenv.mkDerivation rec {
|
||||
"-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
|
||||
"-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
|
||||
"-DARROW_BUILD_TESTS=ON"
|
||||
"-DARROW_BUILD_INTEGRATION=ON"
|
||||
"-DARROW_BUILD_UTILITIES=ON"
|
||||
"-DARROW_EXTRA_ERROR_CONTEXT=ON"
|
||||
"-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
|
||||
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
|
||||
"-DThrift_SOURCE=AUTO" # search for Thrift using pkg-config (ThriftConfig.cmake requires OpenSSL and libevent)
|
||||
@ -168,8 +181,10 @@ stdenv.mkDerivation rec {
|
||||
# Disable Python for static mode because openblas is currently broken there.
|
||||
"-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
|
||||
"-DARROW_USE_GLOG=ON"
|
||||
"-DARROW_WITH_BACKTRACE=ON"
|
||||
"-DARROW_WITH_BROTLI=ON"
|
||||
"-DARROW_WITH_LZ4=ON"
|
||||
"-DARROW_WITH_NLOHMANN_JSON=ON"
|
||||
"-DARROW_WITH_SNAPPY=ON"
|
||||
"-DARROW_WITH_UTF8PROC=ON"
|
||||
"-DARROW_WITH_ZLIB=ON"
|
||||
@ -177,8 +192,10 @@ stdenv.mkDerivation rec {
|
||||
"-DARROW_MIMALLOC=ON"
|
||||
# Parquet options:
|
||||
"-DARROW_PARQUET=ON"
|
||||
"-DARROW_SUBSTRAIT=ON"
|
||||
"-DPARQUET_BUILD_EXECUTABLES=ON"
|
||||
"-DARROW_FLIGHT=${if enableFlight then "ON" else "OFF"}"
|
||||
"-DARROW_FLIGHT_TESTING=${if enableFlight then "ON" else "OFF"}"
|
||||
"-DARROW_S3=${if enableS3 then "ON" else "OFF"}"
|
||||
"-DARROW_GCS=${if enableGcs then "ON" else "OFF"}"
|
||||
] ++ lib.optionals (!enableShared) [
|
||||
|
@ -9,6 +9,15 @@
|
||||
# https://github.com/NixOS/nixpkgs/pull/166452#issuecomment-1090725613
|
||||
, svgSupport ? !stdenv.isDarwin
|
||||
, heifSupport ? !stdenv.isDarwin
|
||||
|
||||
# for passthru.tests
|
||||
, libcaca
|
||||
, diffoscopeMinimal
|
||||
, feh
|
||||
, icewm
|
||||
, openbox
|
||||
, fluxbox
|
||||
, enlightenment
|
||||
}:
|
||||
|
||||
let
|
||||
@ -43,6 +52,17 @@ stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "bin" "out" "dev" ];
|
||||
|
||||
passthru.tests = {
|
||||
inherit
|
||||
libcaca
|
||||
diffoscopeMinimal
|
||||
feh
|
||||
icewm
|
||||
openbox
|
||||
fluxbox
|
||||
enlightenment;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Image manipulation library";
|
||||
|
||||
|
61
pkgs/development/libraries/irrlichtmt/default.nix
Normal file
61
pkgs/development/libraries/irrlichtmt/default.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, zlib
|
||||
, libpng
|
||||
, libjpeg
|
||||
, libGL
|
||||
, libX11
|
||||
, libXxf86vm
|
||||
, withTouchSupport ? false
|
||||
, libXi
|
||||
, libXext
|
||||
, Cocoa
|
||||
, Kernel
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "irrlichtmt";
|
||||
version = "1.9.0mt4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "minetest";
|
||||
repo = "irrlicht";
|
||||
rev = version;
|
||||
sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
# https://github.com/minetest/minetest/pull/10729
|
||||
postPatch = lib.optionalString withTouchSupport ''
|
||||
substituteInPlace include/IrrCompileConfig.h \
|
||||
--replace '//#define _IRR_LINUX_X11_XINPUT2_' '#define _IRR_LINUX_X11_XINPUT2_'
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
zlib
|
||||
libpng
|
||||
libjpeg
|
||||
libGL
|
||||
libX11
|
||||
libXxf86vm
|
||||
] ++ lib.optionals withTouchSupport [
|
||||
libXi
|
||||
libXext
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Cocoa
|
||||
Kernel
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/minetest/irrlicht";
|
||||
license = lib.licenses.zlib;
|
||||
maintainers = with lib.maintainers; [ DeeUnderscore ];
|
||||
description = "Minetest project's fork of Irrlicht, a realtime 3D engine written in C++";
|
||||
};
|
||||
}
|
@ -26,7 +26,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wireplumber";
|
||||
version = "0.4.9";
|
||||
version = "0.4.10";
|
||||
|
||||
outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
|
||||
|
||||
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "pipewire";
|
||||
repo = "wireplumber";
|
||||
rev = version;
|
||||
sha256 = "sha256-U92ozuEUFJA416qKnalVowJuBjLRdORHfhmznGf1IFU=";
|
||||
sha256 = "sha256-Z5Uqjw05SdEU9bGLuhdS+hDv7Fgqx4oW92k4AG1p3Ug=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -182,17 +182,17 @@ cassowary = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "cassowary";
|
||||
version = "2.3.1-2";
|
||||
version = "2.3.2-1";
|
||||
knownRockspec = (fetchurl {
|
||||
url = "https://luafr.org/luarocks/cassowary-2.3.1-2.rockspec";
|
||||
sha256 = "04y882f9ai1jhk0zwla2g0fvl56a75rwnxhsl9r3m0qa5i0ia1i5";
|
||||
url = "https://luarocks.org/cassowary-2.3.2-1.rockspec";
|
||||
sha256 = "0c6sflm8zpgbcdj47s3rd34h69h3nqcciaaqd1wdx5m0lwc3mii0";
|
||||
}).outPath;
|
||||
src = fetchgit ( removeAttrs (builtins.fromJSON ''{
|
||||
"url": "https://github.com/sile-typesetter/cassowary.lua",
|
||||
"rev": "c022a120dee86979d18e4c4613e55e721c632d80",
|
||||
"date": "2021-07-19T14:37:34+03:00",
|
||||
"path": "/nix/store/rzsbr6gqg8vhchl24ma3p1h4slhk0xp7-cassowary.lua",
|
||||
"sha256": "1r668qcvd2a1rx17xp7ajp5wjhyvh2fwn0c60xmw0mnarjb5w1pq",
|
||||
"rev": "e33195f08438c15d725d283979165fda7c6c3321",
|
||||
"date": "2022-04-22T11:23:46+03:00",
|
||||
"path": "/nix/store/51mb376xh9pnh2krk08ljmy01zhr9y3z-cassowary.lua",
|
||||
"sha256": "1lvl40dhzmbqqjrqpjgqlg2kl993fpdy1mpc6d1610zpa9znx1f0",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": true,
|
||||
"deepClone": false,
|
||||
@ -211,6 +211,40 @@ buildLuarocksPackage {
|
||||
};
|
||||
}) {};
|
||||
|
||||
cldr = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchgit, lua, penlight
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "cldr";
|
||||
version = "0.2.0-0";
|
||||
knownRockspec = (fetchurl {
|
||||
url = "https://luarocks.org/cldr-0.2.0-0.rockspec";
|
||||
sha256 = "1vjwrlrdy10bacn0324fvs4sx85xryyg7npw2mp1k9kmasfr8r1s";
|
||||
}).outPath;
|
||||
src = fetchgit ( removeAttrs (builtins.fromJSON ''{
|
||||
"url": "https://github.com/alerque/cldr-lua.git",
|
||||
"rev": "51e4760838c0a83ef1a76d0a0fb2e9f964069a50",
|
||||
"date": "2022-04-16T14:46:14+03:00",
|
||||
"path": "/nix/store/7jziz15bjm27zw9i3arrxprglakz8n4d-cldr-lua",
|
||||
"sha256": "1i22mcs50z99850j47gkgwyf0ahl4yh1732b4x3davjwy2fwak1x",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": true,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
||||
'') ["date" "path"]) ;
|
||||
|
||||
disabled = with lua; (luaOlder "5.1");
|
||||
propagatedBuildInputs = [ lua penlight ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/alerque/cldr-lua";
|
||||
description = "Lua interface to Unicode CLDR data";
|
||||
maintainers = with lib.maintainers; [ alerque ];
|
||||
license.fullName = "MIT/ICU";
|
||||
};
|
||||
}) {};
|
||||
|
||||
compat53 = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchurl, lua
|
||||
}:
|
||||
@ -435,6 +469,40 @@ buildLuarocksPackage {
|
||||
};
|
||||
}) {};
|
||||
|
||||
fluent = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchgit, lua, cldr, luaepnf, penlight
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "fluent";
|
||||
version = "0.2.0-0";
|
||||
knownRockspec = (fetchurl {
|
||||
url = "https://luarocks.org/fluent-0.2.0-0.rockspec";
|
||||
sha256 = "1x3nk8xdf923rvdijr0jx8v6w3wxxfch7ri3kxca0pw80b5bc2fa";
|
||||
}).outPath;
|
||||
src = fetchgit ( removeAttrs (builtins.fromJSON ''{
|
||||
"url": "https://github.com/alerque/fluent-lua.git",
|
||||
"rev": "e1cd4130e460bcd52f9118b7d9f9a72d2e8b902c",
|
||||
"date": "2022-04-16T23:08:20+03:00",
|
||||
"path": "/nix/store/flxlnrzg6rx75qikiggmy494npx59p0b-fluent-lua",
|
||||
"sha256": "12js8l4hcxhziza0sry0f01kfm8f8m6kx843dmcky36z1y2mccmq",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": true,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
||||
'') ["date" "path"]) ;
|
||||
|
||||
disabled = with lua; (luaOlder "5.1");
|
||||
propagatedBuildInputs = [ lua cldr luaepnf penlight ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/alerque/fluent-lua";
|
||||
description = "Lua implementation of Project Fluent";
|
||||
maintainers = with lib.maintainers; [ alerque ];
|
||||
license.fullName = "MIT";
|
||||
};
|
||||
}) {};
|
||||
|
||||
gitsigns-nvim = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchgit, lua, plenary-nvim
|
||||
}:
|
||||
@ -710,6 +778,40 @@ buildLuarocksPackage {
|
||||
};
|
||||
}) {};
|
||||
|
||||
loadkit = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchgit, lua
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "loadkit";
|
||||
version = "1.1.0-1";
|
||||
knownRockspec = (fetchurl {
|
||||
url = "https://luarocks.org/loadkit-1.1.0-1.rockspec";
|
||||
sha256 = "08fx0xh90r2zvjlfjkyrnw2p95xk1a0qgvlnq4siwdb2mm6fq12l";
|
||||
}).outPath;
|
||||
src = fetchgit ( removeAttrs (builtins.fromJSON ''{
|
||||
"url": "https://github.com/leafo/loadkit.git",
|
||||
"rev": "c6c712dab45f6c568821f9ed7b49c790a44d12e7",
|
||||
"date": "2021-01-07T14:41:10-08:00",
|
||||
"path": "/nix/store/xvwq7b2za8ciww1gjw7vnspg9183xmfa-loadkit",
|
||||
"sha256": "15znriijs7izf9f6vmhr6dnvw3pzr0yr0mh6ah41fmdwjqi7jzcz",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": true,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
||||
'') ["date" "path"]) ;
|
||||
|
||||
disabled = with lua; (luaOlder "5.1");
|
||||
propagatedBuildInputs = [ lua ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/leafo/loadkit";
|
||||
description = "Loadkit allows you to load arbitrary files within the Lua package path";
|
||||
maintainers = with lib.maintainers; [ alerque ];
|
||||
license.fullName = "MIT";
|
||||
};
|
||||
}) {};
|
||||
|
||||
lpeg = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchurl, lua
|
||||
}:
|
||||
@ -2530,6 +2632,39 @@ buildLuarocksPackage {
|
||||
};
|
||||
}) {};
|
||||
|
||||
tl = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchgit, compat53, argparse, luafilesystem
|
||||
}:
|
||||
buildLuarocksPackage {
|
||||
pname = "tl";
|
||||
version = "0.13.2-1";
|
||||
knownRockspec = (fetchurl {
|
||||
url = "https://luarocks.org/tl-0.13.2-1.rockspec";
|
||||
sha256 = "0a9nr03q6w1689drd0r2y8m7qbyxm8n6bkgjplwkr6c6abvbis3f";
|
||||
}).outPath;
|
||||
src = fetchgit ( removeAttrs (builtins.fromJSON ''{
|
||||
"url": "https://github.com/teal-language/tl",
|
||||
"rev": "473fef59f21e836e1337a0e3da3c759a1e3556bd",
|
||||
"date": "2021-07-30T21:02:34-03:00",
|
||||
"path": "/nix/store/29dm1abr2cc9zqs9n9lymg92gaxqh09g-tl",
|
||||
"sha256": "1cj7ihw1kz1n1jkha6q0mq0qmlw1vi04i6pcbw3w1cdf2i4fcglh",
|
||||
"fetchLFS": false,
|
||||
"fetchSubmodules": true,
|
||||
"deepClone": false,
|
||||
"leaveDotGit": false
|
||||
}
|
||||
'') ["date" "path"]) ;
|
||||
|
||||
propagatedBuildInputs = [ compat53 argparse luafilesystem ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/teal-language/tl";
|
||||
description = "Teal, a typed dialect of Lua";
|
||||
maintainers = with lib.maintainers; [ mephistophiles ];
|
||||
license.fullName = "MIT";
|
||||
};
|
||||
}) {};
|
||||
|
||||
vstruct = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
|
||||
, fetchgit, lua
|
||||
}:
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ lib, buildDunePackage, fetchFromGitHub, zlib, dune-configurator, zarith, ncurses }:
|
||||
{ lib, buildDunePackage, fetchFromGitHub, zlib, dune-configurator, zarith }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "cryptokit";
|
||||
version = "1.16.1";
|
||||
version = "1.17";
|
||||
|
||||
useDune2 = true;
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xavierleroy";
|
||||
repo = "cryptokit";
|
||||
rev = "release${lib.replaceStrings ["."] [""] version}";
|
||||
sha256 = "sha256-eDIzi16Al/mXCNos/lVqjZWCtdP9SllXnRfm4GBWMfA=";
|
||||
sha256 = "sha256:1xi7kcigxkfridjas2zwldsfc21wi31cgln071sbmv4agh3dqbyw";
|
||||
};
|
||||
|
||||
# dont do autotools configuration, but do trigger findlib's preConfigure hook
|
||||
@ -19,7 +19,7 @@ buildDunePackage rec {
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildInputs = [ dune-configurator ncurses ];
|
||||
buildInputs = [ dune-configurator ];
|
||||
propagatedBuildInputs = [ zarith zlib ];
|
||||
|
||||
doCheck = true;
|
||||
|
@ -12,12 +12,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ansible-compat";
|
||||
version = "2.0.2";
|
||||
version = "2.0.3";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-xlGZXcMj7xRbq4V/7mVA/ryIH7cbf+r+gWPUnicxY6U=";
|
||||
sha256 = "sha256-oRV+QFneQYefP2XV7WK/ND/lvUUoYQHi0pcf/lfjqKU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,6 +5,7 @@
|
||||
, dill
|
||||
, fastavro
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, freezegun
|
||||
, grpcio
|
||||
, grpcio-tools
|
||||
@ -51,6 +52,15 @@ buildPythonPackage rec {
|
||||
sha256 = "sha256-FmfTxRLqXUHhhAZIxCRx2+phX0bmU5rIHaftBU4yBJY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# patch in the pyarrow.Table.to_batches(max_chunksize=...) argument fix
|
||||
(fetchpatch {
|
||||
url = "https://github.com/apache/beam/commit/2418a14ee99ff490d1c82944043f97f37ec97a85.patch";
|
||||
sha256 = "sha256-G8ARBBf7nmF46P2ncnlteGFnPWq5iCqZDfuaosre9jY=";
|
||||
stripLen = 2;
|
||||
})
|
||||
];
|
||||
|
||||
# See https://github.com/NixOS/nixpkgs/issues/156957.
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, numpy
|
||||
, packaging
|
||||
, pandas
|
||||
@ -12,11 +13,20 @@ buildPythonPackage rec {
|
||||
pname = "db-dtypes";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "3070d1a8d86ff0b5d9b16f15c5fab9c18893c6b3d5723cd95ee397b169049454";
|
||||
src = fetchFromGitHub {
|
||||
owner = "googleapis";
|
||||
repo = "python-db-dtypes-pandas";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7u/E0ICiz7LQfuplm/mkGlWrgGEPqeMwM3CUhfH6868=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/googleapis/python-db-dtypes-pandas/commit/fb30adfd427d3df9919df00b096210ba1eb1b91d.patch";
|
||||
sha256 = "sha256-39kZtYGbn3U1WXiDTczki5EM6SjUlSRXz8UMcdTU20g=";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
packaging
|
||||
|
@ -16,18 +16,24 @@
|
||||
, proto-plus
|
||||
, psutil
|
||||
, pyarrow
|
||||
, pytest-xdist
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-bigquery";
|
||||
version = "3.0.1";
|
||||
version = "3.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-UmW6BEV44Ucdg/hUGSQk/kyDnB+Hsyx4q3AXTQe89hI=";
|
||||
sha256 = "sha256-0tbK940cEz5//ZsLfi198fmy9wPeN3SXuW2adM/o7AI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace 'pyarrow >= 3.0.0, < 8.0dev' 'pyarrow >= 3.0.0, < 9.0dev'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
google-cloud-core
|
||||
google-cloud-bigquery-storage
|
||||
@ -47,6 +53,7 @@ buildPythonPackage rec {
|
||||
google-cloud-datacatalog
|
||||
google-cloud-storage
|
||||
pytestCheckHook
|
||||
pytest-xdist
|
||||
];
|
||||
|
||||
# prevent google directory from shadowing google imports
|
||||
|
@ -47,8 +47,10 @@ buildPythonPackage rec {
|
||||
|
||||
PYARROW_WITH_DATASET = zero_or_one true;
|
||||
PYARROW_WITH_FLIGHT = zero_or_one _arrow-cpp.enableFlight;
|
||||
PYARROW_WITH_PARQUET = zero_or_one true;
|
||||
PYARROW_WITH_HDFS = zero_or_one true;
|
||||
PYARROW_WITH_PARQUET = zero_or_one true;
|
||||
PYARROW_WITH_PLASMA = zero_or_one (!stdenv.isDarwin);
|
||||
PYARROW_WITH_S3 = zero_or_one _arrow-cpp.enableS3;
|
||||
|
||||
PYARROW_CMAKE_OPTIONS = [
|
||||
"-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
|
||||
@ -73,6 +75,11 @@ buildPythonPackage rec {
|
||||
# enabled in nixpkgs.
|
||||
# Upstream Issue: https://issues.apache.org/jira/browse/ARROW-11393
|
||||
"--deselect=pyarrow/tests/test_memory.py::test_env_var"
|
||||
# these tests require access to s3 via the internet
|
||||
"--deselect=pyarrow/tests/test_fs.py::test_resolve_s3_region"
|
||||
"--deselect=pyarrow/tests/test_fs.py::test_s3_real_aws"
|
||||
"--deselect=pyarrow/tests/test_fs.py::test_s3_real_aws_region_selection"
|
||||
"--deselect=pyarrow/tests/test_fs.py::test_s3_options"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# Requires loopback networking
|
||||
"--deselect=pyarrow/tests/test_ipc.py::test_socket_"
|
||||
@ -84,16 +91,17 @@ buildPythonPackage rec {
|
||||
rm -r pyarrow/!(tests)
|
||||
'';
|
||||
|
||||
pythonImportsCheck = map (module: "pyarrow.${module}") [
|
||||
pythonImportsCheck = [ "pyarrow" ] ++ map (module: "pyarrow.${module}") ([
|
||||
"compute"
|
||||
"csv"
|
||||
"dataset"
|
||||
"feather"
|
||||
"flight"
|
||||
"fs"
|
||||
"hdfs"
|
||||
"json"
|
||||
"parquet"
|
||||
];
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [ "plasma" ]);
|
||||
|
||||
meta = with lib; {
|
||||
description = "A cross-language development platform for in-memory data";
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pychromecast";
|
||||
version = "12.1.1";
|
||||
version = "12.1.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = !isPy3k;
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "PyChromecast";
|
||||
inherit version;
|
||||
sha256 = "sha256-lUWiKs2tyWYD9214eMbqF7rxMoJgz1YMiHyMEqrUyCw=";
|
||||
sha256 = "sha256-a+Ym5bovb/rvvBPdzthOi2Cp7xsBL3EDn8D3oLy0vaY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchpatch
|
||||
, fetchPypi
|
||||
, isPy3k
|
||||
, pytestCheckHook
|
||||
@ -19,6 +20,15 @@ buildPythonPackage rec {
|
||||
sha256 = "sha256-Hi9d5IF09QXeAlp9HnzwG73ZQiyoq5RReCvwDuF4YCw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix tests for Ghostscript 9.56
|
||||
# Remove after v0.1.3 has been released
|
||||
(fetchpatch {
|
||||
url = "https://github.com/CourtBouillon/pydyf/commit/d4c34823f1d15368753c9c26f7acc7a24fc2d979.patch";
|
||||
sha256 = "sha256-2hHZW/q5CbStbpSJYbm3b23qKXANEb5jbPGQ83uHC+Q=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace "--isort --flake8 --cov --no-cov-on-fail" ""
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zope.lifecycleevent";
|
||||
version = "4.3";
|
||||
version = "4.4";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "7ec39087cc1524e55557e7d9dc6295eb1b95b09b125e293c0e2dd068574f0aee";
|
||||
sha256 = "sha256-9ahU6J/5fe6ke/vqN4u77yeJ0uDMkKHB2lfZChzmfLU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ zope_event zope_component ];
|
||||
|
@ -36,7 +36,7 @@ let
|
||||
CatalystPluginSessionStateCookie
|
||||
CatalystPluginSessionStoreFastMmap
|
||||
CatalystPluginStackTrace
|
||||
CatalystPluginUnicodeEncoding
|
||||
CatalystRuntime
|
||||
CatalystTraitForRequestProxyBase
|
||||
CatalystViewDownload
|
||||
CatalystViewJSON
|
||||
|
@ -1,9 +1,8 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, irrlichtmt, libpng, bzip2, curl, libogg, jsoncpp
|
||||
, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
|
||||
, freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex
|
||||
, leveldb, postgresql, hiredis, libiconv, zlib, libXrandr, libX11, ninja, prometheus-cpp
|
||||
, OpenGL, OpenAL ? openal, Carbon, Cocoa
|
||||
, Kernel
|
||||
, OpenGL, OpenAL ? openal, Carbon, Cocoa, withTouchSupport ? false
|
||||
}:
|
||||
|
||||
with lib;
|
||||
@ -11,21 +10,7 @@ with lib;
|
||||
let
|
||||
boolToCMake = b: if b then "ON" else "OFF";
|
||||
|
||||
irrlichtMt = stdenv.mkDerivation rec {
|
||||
pname = "irrlichtMt";
|
||||
version = "1.9.0mt4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "minetest";
|
||||
repo = "irrlicht";
|
||||
rev = version;
|
||||
sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw=";
|
||||
};
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ zlib libjpeg libpng libGLU libGL libXrandr libX11 libXxf86vm ]
|
||||
++ lib.optionals stdenv.isDarwin [ Cocoa Kernel ];
|
||||
outputs = [ "out" "dev" ];
|
||||
meta = irrlicht.meta;
|
||||
};
|
||||
irrlichtmtInput = irrlichtmt.override { inherit withTouchSupport; };
|
||||
|
||||
generic = { version, rev ? version, sha256, dataRev ? version, dataSha256, buildClient ? true, buildServer ? false }: let
|
||||
sources = {
|
||||
@ -54,7 +39,7 @@ let
|
||||
"-DENABLE_GETTEXT=1"
|
||||
"-DENABLE_SPATIAL=1"
|
||||
"-DENABLE_SYSTEM_JSONCPP=1"
|
||||
"-DIRRLICHT_INCLUDE_DIR=${irrlichtMt.dev}/include/irrlicht"
|
||||
"-DIRRLICHT_INCLUDE_DIR=${irrlichtmtInput.dev}/include/irrlichtmt"
|
||||
|
||||
# Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed
|
||||
"-DCMAKE_INSTALL_BINDIR=bin"
|
||||
@ -68,6 +53,8 @@ let
|
||||
"-DOpenGL_GL_PREFERENCE=GLVND"
|
||||
] ++ optionals buildServer [
|
||||
"-DENABLE_PROMETHEUS=1"
|
||||
] ++ optionals withTouchSupport [
|
||||
"-DENABLE_TOUCH=TRUE"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
|
||||
@ -75,7 +62,7 @@ let
|
||||
nativeBuildInputs = [ cmake doxygen graphviz ninja ];
|
||||
|
||||
buildInputs = [
|
||||
irrlichtMt luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
|
||||
irrlichtmtInput luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
|
||||
gmp libspatialindex
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
libiconv OpenGL OpenAL Carbon Cocoa
|
||||
|
@ -2,10 +2,10 @@
|
||||
, dpdk, libbpf, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
|
||||
}: let
|
||||
dpdk_19_11 = dpdk.overrideAttrs (old: rec {
|
||||
version = "19.11";
|
||||
version = "19.11.12";
|
||||
src = fetchurl {
|
||||
url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
|
||||
sha256 = "sha256-RnEzlohDZ3uxwna7dKNFiqfAAswh4pXFHjvWVJexEqs=";
|
||||
sha256 = "sha256-F9m2+MZi3n0psPIwjWwhiIbbNkoGlxqtru2OlV7TbzQ=";
|
||||
};
|
||||
mesonFlags = old.mesonFlags ++ [
|
||||
"-Denable_docs=false"
|
||||
@ -14,11 +14,11 @@
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "odp-dpdk";
|
||||
version = "1.30.1.0_DPDK_19.11";
|
||||
version = "1.35.0.0_DPDK_19.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-R3PsqQiHlHPzIYYWTVEC7Ikg3KR5I0jWGgftDA9Jj1o=";
|
||||
sha256 = "sha256-R4cRfz0uUDbeQmJfFSIAmq3KfD6CE9hIW2yvFqL+b0M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
|
||||
description = "Open Data Plane optimized for DPDK";
|
||||
homepage = "https://www.opendataplane.org";
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.abuibrahim ];
|
||||
};
|
||||
}
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "haste-server";
|
||||
version = "72863858338a57d54eb9dee55530e90ebbc22453";
|
||||
version = "68f6fe2b96ad02e21645480448113954bc87e1f5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "toptal";
|
||||
repo = "haste-server";
|
||||
rev = version;
|
||||
hash = "sha256-MoEqpfihI3ZqSTHOxFbGziDv8khgq2Nd44YuKYDGflc=";
|
||||
hash = "sha256-9IPGqIca6GC/dQhGBC4hxWhNRgXR1ik0ONRBU2MGhL0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,4 +1,4 @@
|
||||
# This file has been generated by node2nix 1.9.0. Do not edit!
|
||||
# This file has been generated by node2nix 1.11.1. Do not edit!
|
||||
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
|
@ -1,4 +1,4 @@
|
||||
# This file has been generated by node2nix 1.9.0. Do not edit!
|
||||
# This file has been generated by node2nix 1.11.1. Do not edit!
|
||||
|
||||
{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
|
||||
|
||||
@ -67,13 +67,13 @@ let
|
||||
sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
|
||||
};
|
||||
};
|
||||
"async-1.0.0" = {
|
||||
"async-3.2.3" = {
|
||||
name = "async";
|
||||
packageName = "async";
|
||||
version = "1.0.0";
|
||||
version = "3.2.3";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/async/-/async-1.0.0.tgz";
|
||||
sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
|
||||
url = "https://registry.npmjs.org/async/-/async-3.2.3.tgz";
|
||||
sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
|
||||
};
|
||||
};
|
||||
"async-cache-1.1.0" = {
|
||||
@ -1237,13 +1237,13 @@ let
|
||||
sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
|
||||
};
|
||||
};
|
||||
"winston-2.4.5" = {
|
||||
"winston-2.4.6" = {
|
||||
name = "winston";
|
||||
packageName = "winston";
|
||||
version = "2.4.5";
|
||||
version = "2.4.6";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz";
|
||||
sha512 = "TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==";
|
||||
url = "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz";
|
||||
sha512 = "J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==";
|
||||
};
|
||||
};
|
||||
"workerpool-6.1.0" = {
|
||||
@ -1341,7 +1341,7 @@ let
|
||||
name = "haste";
|
||||
packageName = "haste";
|
||||
version = "0.1.0";
|
||||
src = ../../../../../../../../../nix/store/jmii2np1kr78g0pnyf2y8wvj09nc1pr0-source;
|
||||
src = ../../../../../../../../../nix/store/6mkl6xr6y74v0ib122gjx8jvd6xig4dc-source;
|
||||
dependencies = [
|
||||
sources."@ungap/promise-all-settled-1.1.2"
|
||||
sources."ansi-colors-4.1.1"
|
||||
@ -1349,7 +1349,7 @@ let
|
||||
sources."ansi-styles-4.3.0"
|
||||
sources."anymatch-3.1.2"
|
||||
sources."argparse-2.0.1"
|
||||
sources."async-1.0.0"
|
||||
sources."async-3.2.3"
|
||||
sources."async-cache-1.1.0"
|
||||
sources."balanced-match-1.0.2"
|
||||
sources."base64-js-1.5.1"
|
||||
@ -1495,7 +1495,7 @@ let
|
||||
sources."utils-merge-1.0.1"
|
||||
sources."which-2.0.2"
|
||||
sources."wide-align-1.1.3"
|
||||
sources."winston-2.4.5"
|
||||
sources."winston-2.4.6"
|
||||
sources."workerpool-6.1.0"
|
||||
(sources."wrap-ansi-7.0.0" // {
|
||||
dependencies = [
|
||||
|
@ -98,7 +98,7 @@ let
|
||||
''
|
||||
+ (lib.concatMapStrings (dependency:
|
||||
''
|
||||
if [ ! -e "${dependency.name}" ]; then
|
||||
if [ ! -e "${dependency.packageName}" ]; then
|
||||
${composePackage dependency}
|
||||
fi
|
||||
''
|
||||
@ -257,8 +257,8 @@ let
|
||||
var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
|
||||
|
||||
if(![1, 2].includes(packageLock.lockfileVersion)) {
|
||||
process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
|
||||
process.exit(1);
|
||||
process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if(packageLock.dependencies !== undefined) {
|
||||
@ -390,7 +390,7 @@ let
|
||||
buildNodePackage =
|
||||
{ name
|
||||
, packageName
|
||||
, version
|
||||
, version ? null
|
||||
, dependencies ? []
|
||||
, buildInputs ? []
|
||||
, production ? true
|
||||
@ -409,7 +409,7 @@ let
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
name = "${name}-${version}";
|
||||
name = "${name}${if version == null then "" else "-${version}"}";
|
||||
buildInputs = [ tarWrapper python nodejs ]
|
||||
++ lib.optional (stdenv.isLinux) utillinux
|
||||
++ lib.optional (stdenv.isDarwin) libtool
|
||||
@ -441,6 +441,14 @@ let
|
||||
if [ -d "$out/lib/node_modules/.bin" ]
|
||||
then
|
||||
ln -s $out/lib/node_modules/.bin $out/bin
|
||||
|
||||
# Patch the shebang lines of all the executables
|
||||
ls $out/bin/* | while read i
|
||||
do
|
||||
file="$(readlink -f "$i")"
|
||||
chmod u+rwx "$file"
|
||||
patchShebangs "$file"
|
||||
done
|
||||
fi
|
||||
|
||||
# Create symlinks to the deployed manual page folders, if applicable
|
||||
@ -471,7 +479,7 @@ let
|
||||
buildNodeDependencies =
|
||||
{ name
|
||||
, packageName
|
||||
, version
|
||||
, version ? null
|
||||
, src
|
||||
, dependencies ? []
|
||||
, buildInputs ? []
|
||||
@ -489,7 +497,7 @@ let
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
name = "node-dependencies-${name}-${version}";
|
||||
name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
|
||||
|
||||
buildInputs = [ tarWrapper python nodejs ]
|
||||
++ lib.optional (stdenv.isLinux) utillinux
|
||||
@ -519,6 +527,7 @@ let
|
||||
if [ -f ${src}/package-lock.json ]
|
||||
then
|
||||
cp ${src}/package-lock.json .
|
||||
chmod 644 package-lock.json
|
||||
fi
|
||||
''}
|
||||
|
||||
@ -541,7 +550,7 @@ let
|
||||
buildNodeShell =
|
||||
{ name
|
||||
, packageName
|
||||
, version
|
||||
, version ? null
|
||||
, src
|
||||
, dependencies ? []
|
||||
, buildInputs ? []
|
||||
@ -557,9 +566,10 @@ let
|
||||
|
||||
let
|
||||
nodeDependencies = buildNodeDependencies args;
|
||||
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "node-shell-${name}-${version}";
|
||||
stdenv.mkDerivation ({
|
||||
name = "node-shell-${name}${if version == null then "" else "-${version}"}";
|
||||
|
||||
buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
|
||||
buildCommand = ''
|
||||
@ -578,7 +588,7 @@ let
|
||||
export NODE_PATH=${nodeDependencies}/lib/node_modules
|
||||
export PATH="${nodeDependencies}/bin:$PATH"
|
||||
'';
|
||||
};
|
||||
} // extraArgs);
|
||||
in
|
||||
{
|
||||
buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
|
||||
|
@ -85,8 +85,8 @@ buildBazelPackage rec {
|
||||
|
||||
fetchAttrs = {
|
||||
sha256 = {
|
||||
x86_64-linux = "0k2cna0vjzc8z7jvxdlcw741vacil8daczppv32bslw17af65vq6";
|
||||
aarch64-linux = "1ijv4arw67nprykn2wkn4ji8fbr284mc7p74zxfsky772s42yy9j";
|
||||
x86_64-linux = "sha256-23Z6SbKnbah/NCrdMrXhrNFFASd/8xRH3fSyIE++heA=";
|
||||
aarch64-linux = "sha256-dMOu0HYUIUJ+XEtctjaZZ1jGGQq+cHbay8+KwR5XqP0=";
|
||||
}.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
|
||||
dontUseCmakeConfigure = true;
|
||||
dontUseGnConfigure = true;
|
||||
|
244
pkgs/servers/web-apps/snipe-it/composer-env.nix
Normal file
244
pkgs/servers/web-apps/snipe-it/composer-env.nix
Normal file
@ -0,0 +1,244 @@
|
||||
# This file originates from composer2nix
|
||||
|
||||
{ stdenv, lib, writeTextFile, fetchurl, php, unzip, phpPackages }:
|
||||
|
||||
let
|
||||
inherit (phpPackages) composer;
|
||||
|
||||
filterSrc = src:
|
||||
builtins.filterSource (path: type: type != "directory" || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn")) src;
|
||||
|
||||
buildZipPackage = { name, src }:
|
||||
stdenv.mkDerivation {
|
||||
inherit name src;
|
||||
nativeBuildInputs = [ unzip ];
|
||||
buildCommand = ''
|
||||
shopt -s dotglob
|
||||
unzip $src
|
||||
baseDir=$(find . -type d -mindepth 1 -maxdepth 1)
|
||||
cd $baseDir
|
||||
mkdir -p $out
|
||||
mv * $out
|
||||
'';
|
||||
};
|
||||
|
||||
buildPackage =
|
||||
{ name
|
||||
, src
|
||||
, packages ? {}
|
||||
, devPackages ? {}
|
||||
, buildInputs ? []
|
||||
, symlinkDependencies ? false
|
||||
, executable ? false
|
||||
, removeComposerArtifacts ? false
|
||||
, postInstall ? ""
|
||||
, noDev ? false
|
||||
, composerExtraArgs ? ""
|
||||
, unpackPhase ? "true"
|
||||
, buildPhase ? "true"
|
||||
, ...}@args:
|
||||
|
||||
let
|
||||
reconstructInstalled = writeTextFile {
|
||||
name = "reconstructinstalled.php";
|
||||
executable = true;
|
||||
text = ''
|
||||
#! ${php}/bin/php
|
||||
<?php
|
||||
if(file_exists($argv[1]))
|
||||
{
|
||||
$composerLockStr = file_get_contents($argv[1]);
|
||||
|
||||
if($composerLockStr === false)
|
||||
{
|
||||
fwrite(STDERR, "Cannot open composer.lock contents\n");
|
||||
exit(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$config = json_decode($composerLockStr, true);
|
||||
|
||||
if(array_key_exists("packages", $config))
|
||||
$allPackages = $config["packages"];
|
||||
else
|
||||
$allPackages = array();
|
||||
|
||||
${lib.optionalString (!noDev) ''
|
||||
if(array_key_exists("packages-dev", $config))
|
||||
$allPackages = array_merge($allPackages, $config["packages-dev"]);
|
||||
''}
|
||||
|
||||
$packagesStr = json_encode($allPackages, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
|
||||
print($packagesStr);
|
||||
}
|
||||
}
|
||||
else
|
||||
print("[]");
|
||||
?>
|
||||
'';
|
||||
};
|
||||
|
||||
constructBin = writeTextFile {
|
||||
name = "constructbin.php";
|
||||
executable = true;
|
||||
text = ''
|
||||
#! ${php}/bin/php
|
||||
<?php
|
||||
$composerJSONStr = file_get_contents($argv[1]);
|
||||
|
||||
if($composerJSONStr === false)
|
||||
{
|
||||
fwrite(STDERR, "Cannot open composer.json contents\n");
|
||||
exit(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$config = json_decode($composerJSONStr, true);
|
||||
|
||||
if(array_key_exists("bin-dir", $config))
|
||||
$binDir = $config["bin-dir"];
|
||||
else
|
||||
$binDir = "bin";
|
||||
|
||||
if(array_key_exists("bin", $config))
|
||||
{
|
||||
if(!file_exists("vendor/".$binDir))
|
||||
mkdir("vendor/".$binDir);
|
||||
|
||||
foreach($config["bin"] as $bin)
|
||||
symlink("../../".$bin, "vendor/".$binDir."/".basename($bin));
|
||||
}
|
||||
}
|
||||
?>
|
||||
'';
|
||||
};
|
||||
|
||||
bundleDependencies = dependencies:
|
||||
lib.concatMapStrings (dependencyName:
|
||||
let
|
||||
dependency = dependencies.${dependencyName};
|
||||
in
|
||||
''
|
||||
${if dependency.targetDir == "" then ''
|
||||
vendorDir="$(dirname ${dependencyName})"
|
||||
mkdir -p "$vendorDir"
|
||||
${if symlinkDependencies then
|
||||
''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
|
||||
else
|
||||
''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
|
||||
}
|
||||
'' else ''
|
||||
namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")"
|
||||
mkdir -p "$namespaceDir"
|
||||
${if symlinkDependencies then
|
||||
''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
|
||||
else
|
||||
''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
|
||||
}
|
||||
''}
|
||||
'') (builtins.attrNames dependencies);
|
||||
|
||||
extraArgs = removeAttrs args [ "packages" "devPackages" "buildInputs" ];
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
buildInputs = [ php composer ] ++ buildInputs;
|
||||
|
||||
inherit unpackPhase buildPhase;
|
||||
|
||||
installPhase = ''
|
||||
${if executable then ''
|
||||
mkdir -p $out/share/php
|
||||
cp -av $src $out/share/php/$name
|
||||
chmod -R u+w $out/share/php/$name
|
||||
cd $out/share/php/$name
|
||||
'' else ''
|
||||
cp -av $src $out
|
||||
chmod -R u+w $out
|
||||
cd $out
|
||||
''}
|
||||
|
||||
# Remove unwanted files
|
||||
rm -f *.nix
|
||||
|
||||
export HOME=$TMPDIR
|
||||
|
||||
# Remove the provided vendor folder if it exists
|
||||
rm -Rf vendor
|
||||
|
||||
# If there is no composer.lock file, compose a dummy file.
|
||||
# Otherwise, composer attempts to download the package.json file from
|
||||
# the registry which we do not want.
|
||||
if [ ! -f composer.lock ]
|
||||
then
|
||||
cat > composer.lock <<EOF
|
||||
{
|
||||
"packages": []
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Reconstruct the installed.json file from the lock file
|
||||
mkdir -p vendor/composer
|
||||
${php}/bin/php ${reconstructInstalled} composer.lock > vendor/composer/installed.json
|
||||
|
||||
# Copy or symlink the provided dependencies
|
||||
cd vendor
|
||||
${bundleDependencies packages}
|
||||
${lib.optionalString (!noDev) (bundleDependencies devPackages)}
|
||||
cd ..
|
||||
|
||||
# Reconstruct autoload scripts
|
||||
# We use the optimize feature because Nix packages cannot change after they have been built
|
||||
# Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload.
|
||||
composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
|
||||
|
||||
# Run the install step as a validation to confirm that everything works out as expected
|
||||
composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
|
||||
|
||||
${lib.optionalString executable ''
|
||||
# Reconstruct the bin/ folder if we deploy an executable project
|
||||
${php}/bin/php ${constructBin} composer.json
|
||||
ln -s $(pwd)/vendor/bin $out/bin
|
||||
''}
|
||||
|
||||
${lib.optionalString (!symlinkDependencies) ''
|
||||
# Patch the shebangs if possible
|
||||
if [ -d $(pwd)/vendor/bin ]
|
||||
then
|
||||
# Look for all executables in bin/
|
||||
for i in $(pwd)/vendor/bin/*
|
||||
do
|
||||
# Look for their location
|
||||
realFile=$(readlink -f "$i")
|
||||
|
||||
# Restore write permissions
|
||||
chmod u+wx "$(dirname "$realFile")"
|
||||
chmod u+w "$realFile"
|
||||
|
||||
# Patch shebang
|
||||
sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \
|
||||
-e "s|#!/usr/bin/env php|#!${php}/bin/php|" \
|
||||
"$realFile" > tmp
|
||||
mv tmp "$realFile"
|
||||
chmod u+x "$realFile"
|
||||
done
|
||||
fi
|
||||
''}
|
||||
|
||||
if [ "$removeComposerArtifacts" = "1" ]
|
||||
then
|
||||
# Remove composer stuff
|
||||
rm -f composer.json composer.lock
|
||||
fi
|
||||
|
||||
# Execute post install hook
|
||||
runHook postInstall
|
||||
'';
|
||||
} // extraArgs);
|
||||
in
|
||||
{
|
||||
inherit filterSrc;
|
||||
composer = lib.makeOverridable composer;
|
||||
buildZipPackage = lib.makeOverridable buildZipPackage;
|
||||
buildPackage = lib.makeOverridable buildPackage;
|
||||
}
|
15
pkgs/servers/web-apps/snipe-it/composition.nix
Normal file
15
pkgs/servers/web-apps/snipe-it/composition.nix
Normal file
@ -0,0 +1,15 @@
|
||||
{pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
}, system ? builtins.currentSystem, noDev ? false, php ? pkgs.php, phpPackages ? pkgs.phpPackages}:
|
||||
|
||||
let
|
||||
composerEnv = import ./composer-env.nix {
|
||||
inherit (pkgs) stdenv lib writeTextFile fetchurl unzip;
|
||||
inherit php phpPackages;
|
||||
};
|
||||
in
|
||||
import ./php-packages.nix {
|
||||
inherit composerEnv noDev;
|
||||
inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
|
||||
}
|
||||
|
47
pkgs/servers/web-apps/snipe-it/default.nix
Normal file
47
pkgs/servers/web-apps/snipe-it/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ pkgs, stdenv, lib, fetchFromGitHub, dataDir ? "/var/lib/snipe-it" }:
|
||||
|
||||
let
|
||||
package = (import ./composition.nix {
|
||||
inherit pkgs;
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
noDev = true; # Disable development dependencies
|
||||
# Requires PHP >= 7.4 and PHP < 8.0 as of v5.4.3
|
||||
# https://snipe-it.readme.io/docs/requirements
|
||||
php = pkgs.php74;
|
||||
phpPackages = pkgs.php74Packages;
|
||||
}).overrideAttrs (attrs : {
|
||||
installPhase = attrs.installPhase + ''
|
||||
rm -R $out/storage $out/public/uploads $out/bootstrap/cache
|
||||
ln -s ${dataDir}/.env $out/.env
|
||||
ln -s ${dataDir}/storage $out/
|
||||
ln -s ${dataDir}/public/uploads $out/public/uploads
|
||||
ln -s ${dataDir}/bootstrap/cache $out/bootstrap/cache
|
||||
chmod +x $out/artisan
|
||||
'';
|
||||
});
|
||||
|
||||
in package.override rec {
|
||||
pname = "snipe-it";
|
||||
version = "5.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snipe";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "053cm5vb0806sj61g0zf0xqqzlchgkdj8zwkry07mhjdbp1k8k7n";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free open source IT asset/license management system ";
|
||||
longDescription = ''
|
||||
Snipe-IT was made for IT asset management, to enable IT departments to track
|
||||
who has which laptop, when it was purchased, which software licenses and accessories
|
||||
are available, and so on.
|
||||
Details for snipe-it can be found on the official website at https://snipeitapp.com/.
|
||||
'';
|
||||
homepage = "https://snipeitapp.com/";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ yayayayaka ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
1348
pkgs/servers/web-apps/snipe-it/php-packages.nix
Normal file
1348
pkgs/servers/web-apps/snipe-it/php-packages.nix
Normal file
File diff suppressed because it is too large
Load Diff
50
pkgs/servers/web-apps/snipe-it/update.sh
Executable file
50
pkgs/servers/web-apps/snipe-it/update.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p nix curl jq nix-update
|
||||
|
||||
# check if composer2nix is installed
|
||||
if ! command -v composer2nix &> /dev/null; then
|
||||
echo "Please install composer2nix (https://github.com/svanderburg/composer2nix) to run this script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CURRENT_VERSION=$(nix eval --raw '(with import ../../../.. {}; snipe-it.version)')
|
||||
TARGET_VERSION_REMOTE=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} https://api.github.com/repos/snipe/snipe-it/releases/latest | jq -r ".tag_name")
|
||||
TARGET_VERSION=${TARGET_VERSION_REMOTE:1}
|
||||
SNIPE_IT=https://github.com/snipe/snipe-it/raw/$TARGET_VERSION_REMOTE
|
||||
SHA256=$(nix-prefetch-url --unpack "https://github.com/snipe/snipe-it/archive/v$TARGET_VERSION/snipe-it.tar.gz")
|
||||
|
||||
if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
|
||||
echo "snipe-it is up-to-date: ${CURRENT_VERSION}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
curl -LO "$SNIPE_IT/composer.json"
|
||||
curl -LO "$SNIPE_IT/composer.lock"
|
||||
|
||||
composer2nix --name "snipe-it" \
|
||||
--composition=composition.nix \
|
||||
--no-dev
|
||||
rm composer.json composer.lock
|
||||
|
||||
# change version number
|
||||
sed -e "s/version =.*;/version = \"$TARGET_VERSION\";/g" \
|
||||
-e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \
|
||||
-i ./default.nix
|
||||
|
||||
# fix composer-env.nix
|
||||
sed -e "s/stdenv\.lib/lib/g" \
|
||||
-e '3s/stdenv, writeTextFile/stdenv, lib, writeTextFile/' \
|
||||
-i ./composer-env.nix
|
||||
|
||||
# fix composition.nix
|
||||
sed -e '7s/stdenv writeTextFile/stdenv lib writeTextFile/' \
|
||||
-i composition.nix
|
||||
|
||||
# fix missing newline
|
||||
echo "" >> composition.nix
|
||||
echo "" >> php-packages.nix
|
||||
|
||||
cd ../../../..
|
||||
nix-build -A snipe-it
|
||||
|
||||
exit $?
|
67
pkgs/tools/misc/communicator/default.nix
Normal file
67
pkgs/tools/misc/communicator/default.nix
Normal file
@ -0,0 +1,67 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitLab
|
||||
, cmake
|
||||
, extra-cmake-modules
|
||||
, applet-window-buttons
|
||||
, karchive
|
||||
, kcoreaddons
|
||||
, ki18n
|
||||
, kio
|
||||
, kirigami2
|
||||
, mauikit
|
||||
, mauikit-accounts
|
||||
, mauikit-filebrowsing
|
||||
, mauikit-texteditor
|
||||
, qtmultimedia
|
||||
, qtquickcontrols2
|
||||
, kpeople
|
||||
, kcontacts
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "communicator";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "maui";
|
||||
repo = "communicator";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-tHuFQgssZ6bohELx8tHrd4vvnrWixTyqCqK8WKJEdRE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace "/usr/share/maui-accounts/manifests" "$out/usr/share/maui-accounts/manifests"
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
applet-window-buttons
|
||||
karchive
|
||||
kcoreaddons
|
||||
ki18n
|
||||
kio
|
||||
kirigami2
|
||||
mauikit
|
||||
mauikit-accounts
|
||||
mauikit-filebrowsing
|
||||
mauikit-texteditor
|
||||
qtmultimedia
|
||||
qtquickcontrols2
|
||||
kpeople
|
||||
kcontacts
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Contacts and dialer application";
|
||||
homepage = "https://invent.kde.org/maui/communicator";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ onny ];
|
||||
};
|
||||
}
|
@ -5,13 +5,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "getmail6";
|
||||
version = "6.18.7";
|
||||
version = "6.18.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JghiV0zC9xtOGuGcf0lY5e73/04n6Bat/xOGgXyDWJk=";
|
||||
hash = "sha256-MIK5++3SaGm1BMpU8G4X7n/SCBw+N39U44cyX65tPcQ=";
|
||||
};
|
||||
|
||||
# needs a Docker setup
|
||||
|
@ -98,7 +98,13 @@ in stdenv.mkDerivation rec {
|
||||
cp ${src}/dist/linux/common/application-vnd.cryptomator.vault.xml $out/share/mime/packages/application-vnd.cryptomator.vault.xml
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook maven makeWrapper wrapGAppsHook jdk ];
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
maven
|
||||
makeWrapper
|
||||
(wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
|
||||
jdk
|
||||
];
|
||||
buildInputs = [ fuse jre glib jffi ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -806,6 +806,8 @@ mapAliases ({
|
||||
mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2"; # Added 2022-01-01
|
||||
minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
|
||||
minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
|
||||
minetestclient_4 = throw "minetestclient_4 has been removed from Nixpkgs; current version is available at minetest or minetestclient"; # added 2022-02-01
|
||||
minetestserver_4 = throw "minetestserver_4 has been removed from Nixpkgs; current version is available at minetestserver"; # added 2022-02-01
|
||||
minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # Added 2021-10-14
|
||||
mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # Added 2020-08-15
|
||||
mlt-qt5 = throw "'mlt-qt5' has been renamed to/replaced by 'libsForQt5.mlt'"; # Converted to throw 2022-02-22
|
||||
@ -896,6 +898,7 @@ mapAliases ({
|
||||
OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # Added 2021-10-16
|
||||
OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # Added 2021-10-16
|
||||
oauth2_proxy = oauth2-proxy; # Added 2021-04-18
|
||||
ocropus = throw "ocropus has been removed: abandoned by upstream"; # Added 2022-04-24
|
||||
octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set"; # Added 2021-01-24
|
||||
ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12
|
||||
odpdown = throw "odpdown has been removed because it lacks python3 support"; # Added 2022-04-25
|
||||
|
@ -14334,8 +14334,6 @@ with pkgs;
|
||||
|
||||
octavePackages = recurseIntoAttrs octave.pkgs;
|
||||
|
||||
ocropus = callPackage ../applications/misc/ocropus { };
|
||||
|
||||
pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
|
||||
|
||||
|
||||
@ -17975,6 +17973,10 @@ with pkgs;
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL IOKit;
|
||||
};
|
||||
|
||||
irrlichtmt = callPackage ../development/libraries/irrlichtmt {
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa Kernel;
|
||||
};
|
||||
|
||||
isocodes = callPackage ../development/libraries/iso-codes { };
|
||||
|
||||
iso-flags = callPackage ../data/icons/iso-flags { };
|
||||
@ -22567,6 +22569,8 @@ with pkgs;
|
||||
|
||||
smcroute = callPackage ../servers/smcroute { };
|
||||
|
||||
snipe-it = callPackage ../servers/web-apps/snipe-it { };
|
||||
|
||||
sogo = callPackage ../servers/web-apps/sogo { };
|
||||
|
||||
spacecookie =
|
||||
@ -25606,6 +25610,8 @@ with pkgs;
|
||||
|
||||
communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
|
||||
|
||||
communicator = libsForQt5.callPackage ../tools/misc/communicator { };
|
||||
|
||||
complete-alias = callPackage ../tools/misc/complete-alias { };
|
||||
|
||||
confclerk = callPackage ../applications/misc/confclerk { };
|
||||
@ -28217,6 +28223,8 @@ with pkgs;
|
||||
|
||||
ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
|
||||
|
||||
maui-nota = libsForQt5.callPackage ../applications/editors/maui-nota { };
|
||||
|
||||
pragha = libsForQt5.callPackage ../applications/audio/pragha { };
|
||||
|
||||
rofi-mpd = callPackage ../applications/audio/rofi-mpd { };
|
||||
@ -30420,6 +30428,8 @@ with pkgs;
|
||||
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
|
||||
};
|
||||
|
||||
vvave = libsForQt5.callPackage ../applications/video/vvave { };
|
||||
|
||||
vwm = callPackage ../applications/window-managers/vwm { };
|
||||
|
||||
yeahwm = callPackage ../applications/window-managers/yeahwm { };
|
||||
@ -31889,7 +31899,7 @@ with pkgs;
|
||||
|
||||
inherit (callPackages ../games/minetest {
|
||||
inherit (darwin) libiconv;
|
||||
inherit (darwin.apple_sdk.frameworks) OpenGL OpenAL Carbon Cocoa Kernel;
|
||||
inherit (darwin.apple_sdk.frameworks) OpenGL OpenAL Carbon Cocoa;
|
||||
})
|
||||
minetestclient_5 minetestserver_5;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user