Merge master into haskell-updates

main
github-actions[bot] 2 years ago committed by GitHub
commit 130c469a35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      lib/licenses.nix
  2. 10
      maintainers/maintainer-list.nix
  3. 4
      maintainers/scripts/luarocks-packages.csv
  4. 18
      nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
  5. 4
      nixos/doc/manual/release-notes/rl-2205.section.md
  6. 1
      nixos/modules/module-list.nix
  7. 493
      nixos/modules/services/web-apps/snipe-it.nix
  8. 20
      pkgs/applications/audio/csound/default.nix
  9. 63
      pkgs/applications/audio/deadbeef/default.nix
  10. 10
      pkgs/applications/audio/dsf2flac/default.nix
  11. 6
      pkgs/applications/audio/surge-XT/default.nix
  12. 6
      pkgs/applications/blockchains/polkadot/default.nix
  13. 2
      pkgs/applications/editors/bluej/default.nix
  14. 270
      pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
  15. 81
      pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
  16. 4807
      pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
  17. 56
      pkgs/applications/editors/maui-nota/default.nix
  18. 9
      pkgs/applications/editors/vscode/generic.nix
  19. 4
      pkgs/applications/emulators/emulationstation/default.nix
  20. 16
      pkgs/applications/graphics/apngasm/default.nix
  21. 34
      pkgs/applications/graphics/image_optim/default.nix
  22. 2
      pkgs/applications/misc/gmtp/default.nix
  23. 59
      pkgs/applications/misc/ocropus/default.nix
  24. 8
      pkgs/applications/misc/whalebird/default.nix
  25. 7
      pkgs/applications/networking/browsers/brave/default.nix
  26. 8
      pkgs/applications/networking/browsers/firefox/common.nix
  27. 6
      pkgs/applications/networking/browsers/firefox/wrapper.nix
  28. 6
      pkgs/applications/networking/cluster/driftctl/default.nix
  29. 200
      pkgs/applications/networking/cluster/terraform-providers/providers.json
  30. 6
      pkgs/applications/networking/cluster/terragrunt/default.nix
  31. 4
      pkgs/applications/networking/instant-messengers/alfaview/default.nix
  32. 4
      pkgs/applications/networking/instant-messengers/discord/linux.nix
  33. 17
      pkgs/applications/networking/instant-messengers/profanity/default.nix
  34. 4
      pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
  35. 13
      pkgs/applications/networking/instant-messengers/teams/default.nix
  36. 4
      pkgs/applications/networking/irc/srain/default.nix
  37. 38
      pkgs/applications/networking/newsreaders/raven-reader/default.nix
  38. 6
      pkgs/applications/networking/remote/teamviewer/default.nix
  39. 6
      pkgs/applications/networking/shellhub-agent/default.nix
  40. 4
      pkgs/applications/networking/sync/backintime/common.nix
  41. 40
      pkgs/applications/science/chemistry/gwyddion/default.nix
  42. 6
      pkgs/applications/science/chemistry/molden/default.nix
  43. 4
      pkgs/applications/science/chemistry/siesta/default.nix
  44. 2
      pkgs/applications/science/electronics/fritzing/default.nix
  45. 4
      pkgs/applications/science/logic/ott/default.nix
  46. 5
      pkgs/applications/science/logic/tlaplus/toolbox.nix
  47. 4
      pkgs/applications/science/math/gurobi/default.nix
  48. 2
      pkgs/applications/version-management/rcshist/default.nix
  49. 58
      pkgs/applications/video/clip/default.nix
  50. 79
      pkgs/applications/video/mplayer/default.nix
  51. 59
      pkgs/applications/video/vvave/default.nix
  52. 16
      pkgs/applications/window-managers/sway/lock-effects.nix
  53. 14
      pkgs/desktops/gnome/misc/pomodoro/default.nix
  54. 306
      pkgs/development/compilers/gcc/12/Added-mcf-thread-model-support-from-mcfgthread.patch
  55. 294
      pkgs/development/compilers/gcc/12/default.nix
  56. 20
      pkgs/development/compilers/gcc/gcc-12-gfortran-driving.patch
  57. 26
      pkgs/development/compilers/gcc/gcc-12-no-sys-dirs.patch
  58. 2
      pkgs/development/compilers/opa/default.nix
  59. 32
      pkgs/development/compilers/vyper/default.nix
  60. 287
      pkgs/development/interpreters/clojurescript/lumo/default.nix
  61. 12
      pkgs/development/interpreters/clojurescript/lumo/deps.edn
  62. 392
      pkgs/development/interpreters/clojurescript/lumo/deps.nix
  63. 20
      pkgs/development/interpreters/clojurescript/lumo/mkdir_promise.patch
  64. 13
      pkgs/development/interpreters/clojurescript/lumo/no_mangle.patch
  65. 51
      pkgs/development/interpreters/clojurescript/lumo/package.json
  66. 8
      pkgs/development/interpreters/supercollider/default.nix
  67. 19
      pkgs/development/libraries/aravis/default.nix
  68. 35
      pkgs/development/libraries/arrow-cpp/default.nix
  69. 24
      pkgs/development/libraries/curlcpp/default.nix
  70. 10
      pkgs/development/libraries/gloox/default.nix
  71. 20
      pkgs/development/libraries/imlib2/default.nix
  72. 61
      pkgs/development/libraries/irrlichtmt/default.nix
  73. 13
      pkgs/development/libraries/lame/default.nix
  74. 16
      pkgs/development/libraries/libbluray/default.nix
  75. 16
      pkgs/development/libraries/libwebp/default.nix
  76. 38
      pkgs/development/libraries/nghttp2/default.nix
  77. 2
      pkgs/development/libraries/pico-sdk/default.nix
  78. 4
      pkgs/development/libraries/pipewire/wireplumber.nix
  79. 1
      pkgs/development/libraries/science/math/itpp/default.nix
  80. 10
      pkgs/development/libraries/tachyon/default.nix
  81. 28
      pkgs/development/libraries/waylandpp/default.nix
  82. 31
      pkgs/development/libraries/zeroc-ice/default.nix
  83. 149
      pkgs/development/lua-modules/generated-packages.nix
  84. 39
      pkgs/development/ocaml-modules/biniou/1.0.nix
  85. 10
      pkgs/development/ocaml-modules/cryptokit/default.nix
  86. 21
      pkgs/development/ocaml-modules/easy-format/default.nix
  87. 4
      pkgs/development/python-modules/ansible-compat/default.nix
  88. 10
      pkgs/development/python-modules/apache-beam/default.nix
  89. 4
      pkgs/development/python-modules/aws-lambda-builders/default.nix
  90. 43
      pkgs/development/python-modules/datapoint/default.nix
  91. 18
      pkgs/development/python-modules/db-dtypes/default.nix
  92. 51
      pkgs/development/python-modules/dbf/default.nix
  93. 2
      pkgs/development/python-modules/eventlet/default.nix
  94. 4
      pkgs/development/python-modules/extractcode/default.nix
  95. 11
      pkgs/development/python-modules/google-cloud-bigquery/default.nix
  96. 13
      pkgs/development/python-modules/hvplot/default.nix
  97. 54
      pkgs/development/python-modules/ibis-framework/default.nix
  98. 4
      pkgs/development/python-modules/ipwhl/default.nix
  99. 4
      pkgs/development/python-modules/nbclient/default.nix
  100. 2
      pkgs/development/python-modules/nutils/default.nix
  101. Some files were not shown because too many files have changed in this diff Show More

@ -285,6 +285,11 @@ in mkLicense lset) ({
fullName = "DOC License";
};
drl10 = {
spdxId = "DRL-1.0";
fullName = "Detection Rule License 1.0";
};
eapl = {
fullName = "EPSON AVASYS PUBLIC LICENSE";
url = "https://avasys.jp/hp/menu000000700/hpg000000603.htm";

@ -5726,7 +5726,7 @@
githubId = 35612334;
};
jceb = {
name = "jceb";
name = "Jan Christoph Ebersbach";
email = "jceb@e-jc.de";
github = "jceb";
githubId = 101593;
@ -8799,10 +8799,10 @@
githubId = 5047140;
name = "Victor Collod";
};
musfay = {
email = "musfay@protonmail.com";
github = "musfay";
githubId = 33374965;
muscaln = {
email = "muscaln@protonmail.com";
github = "muscaln";
githubId = 96225281;
name = "Mustafa Çalışkan";
};
mupdt = {

@ -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

@ -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 ];
}

@ -1,4 +1,8 @@
{ lib, stdenv, fetchFromGitHub, cmake, libsndfile, libsamplerate, flex, bison, boost, gettext
, Accelerate
, AudioUnit
, CoreAudio
, CoreMIDI
, alsa-lib ? null
, libpulseaudio ? null
, libjack2 ? null
@ -26,21 +30,29 @@ stdenv.mkDerivation rec {
};
cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
++ lib.optional stdenv.isDarwin "-DCS_FRAMEWORK_DEST=${placeholder "out"}/lib"
++ lib.optional (libjack2 != null) "-DJACK_HEADER=${libjack2}/include/jack/jack.h";
nativeBuildInputs = [ cmake flex bison gettext ];
buildInputs = [ libsndfile libsamplerate boost ]
++ builtins.filter (optional: optional != null) [
++ lib.optionals stdenv.isDarwin [
Accelerate AudioUnit CoreAudio CoreMIDI
] ++ lib.optionals stdenv.isLinux (builtins.filter (optional: optional != null) [
alsa-lib libpulseaudio libjack2
liblo ladspa-sdk fluidsynth eigen
curl tcltk fltk ];
curl tcltk fltk
]);
postInstall = lib.optional stdenv.isDarwin ''
mkdir -p $out/Library/Frameworks
ln -s $out/lib/CsoundLib64.framework $out/Library/Frameworks
'';
meta = with lib; {
description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
homepage = "https://csound.com/";
license = licenses.lgpl21Plus;
maintainers = [maintainers.marcweber];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

@ -6,56 +6,35 @@
, pkg-config
, jansson
# deadbeef can use either gtk2 or gtk3
, gtk2Support ? false, gtk2 ? null
, gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null
, gtk2Support ? false, gtk2
, gtk3Support ? true, gtk3, gsettings-desktop-schemas, wrapGAppsHook
# input plugins
, vorbisSupport ? true, libvorbis ? null
, mp123Support ? true, libmad ? null
, flacSupport ? true, flac ? null
, wavSupport ? true, libsndfile ? null
, cdaSupport ? true, libcdio ? null, libcddb ? null
, aacSupport ? true, faad2 ? null
, opusSupport ? true, opusfile ? null
, wavpackSupport ? false, wavpack ? null
, ffmpegSupport ? false, ffmpeg ? null
, apeSupport ? true, yasm ? null
, vorbisSupport ? true, libvorbis
, mp123Support ? true, libmad
, flacSupport ? true, flac
, wavSupport ? true, libsndfile
, cdaSupport ? true, libcdio, libcddb
, aacSupport ? true, faad2
, opusSupport ? true, opusfile
, wavpackSupport ? false, wavpack
, ffmpegSupport ? false, ffmpeg
, apeSupport ? true, yasm
# misc plugins
, zipSupport ? true, libzip ? null
, artworkSupport ? true, imlib2 ? null
, hotkeysSupport ? true, libX11 ? null
, osdSupport ? true, dbus ? null
, zipSupport ? true, libzip
, artworkSupport ? true, imlib2
, hotkeysSupport ? true, libX11
, osdSupport ? true, dbus
# output plugins
, alsaSupport ? true, alsa-lib ? null
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, alsaSupport ? true, alsa-lib
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
# effect plugins
, resamplerSupport ? true, libsamplerate ? null
, overloadSupport ? true, zlib ? null
, resamplerSupport ? true, libsamplerate
, overloadSupport ? true, zlib
# transports
, remoteSupport ? true, curl ? null
, remoteSupport ? true, curl
}:
assert gtk2Support || gtk3Support;
assert gtk2Support -> gtk2 != null;
assert gtk3Support -> gtk3 != null && gsettings-desktop-schemas != null && wrapGAppsHook != null;
assert vorbisSupport -> libvorbis != null;
assert mp123Support -> libmad != null;
assert flacSupport -> flac != null;
assert wavSupport -> libsndfile != null;
assert cdaSupport -> (libcdio != null && libcddb != null);
assert aacSupport -> faad2 != null;
assert opusSupport -> opusfile != null;
assert zipSupport -> libzip != null;
assert ffmpegSupport -> ffmpeg != null;
assert apeSupport -> yasm != null;
assert artworkSupport -> imlib2 != null;
assert hotkeysSupport -> libX11 != null;
assert osdSupport -> dbus != null;
assert alsaSupport -> alsa-lib != null;
assert pulseSupport -> libpulseaudio != null;
assert resamplerSupport -> libsamplerate != null;
assert overloadSupport -> zlib != null;
assert wavpackSupport -> wavpack != null;
assert remoteSupport -> curl != null;
stdenv.mkDerivation rec {
pname = "deadbeef";

@ -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 = [

@ -10,13 +10,13 @@
}:
rustPlatform.buildRustPackage rec {
pname = "polkadot";
version = "0.9.18";
version = "0.9.21";
src = fetchFromGitHub {
owner = "paritytech";
repo = "polkadot";
rev = "v${version}";
sha256 = "sha256-pjHSiVspBV15jKUFv+Uf2l3tah40l55Pv8vwDuwgwjc=";
sha256 = "HCj5WwfKa4QsfO+1u4ciukDg6Rzv/uvc8h+V/Duhksg=";
# the build process of polkadot requires a .git folder in order to determine
# the git commit hash that is being built and add it to the version string.
@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
'';
};
cargoSha256 = "sha256-Gc5WbayQUlsl7Fk8NyLPh2Zg2yrLl3WJqKorNZMLi94=";
cargoSha256 = "tHU8KygIhJDgID/tGGssYTnY8raI5qTdLEDwOKox3No=";
buildInputs = lib.optional stdenv.isDarwin [ Security ];

@ -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; {

@ -114,10 +114,10 @@
elpaBuild {
pname = "aggressive-completion";
ename = "aggressive-completion";
version = "1.6";
version = "1.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/aggressive-completion-1.6.tar";
sha256 = "0i7kcxd7pbdw57gczbxddr2n4j778x2ccfpkgjhdlpdsyidfh2bq";
url = "https://elpa.gnu.org/packages/aggressive-completion-1.7.tar";
sha256 = "1rpy53kh19ljjr2xgna716jynajjpgkkjgcl3gzryxsmky8mwbfl";
};
packageRequires = [ emacs ];
meta = {
@ -234,10 +234,10 @@
elpaBuild {
pname = "auctex";
ename = "auctex";
version = "13.1.2";
version = "13.1.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-13.1.2.tar";
sha256 = "0j79y7iz0g3i36w5l91l2dljs8b4sx42f7q25z2963mvhfvrbp10";
url = "https://elpa.gnu.org/packages/auctex-13.1.3.tar";
sha256 = "0v9rxwz6ngnwrgvzgdki861s136gq30lqhy2gcd9q0a36gb6zhwk";
};
packageRequires = [ emacs ];
meta = {
@ -309,10 +309,10 @@
elpaBuild {
pname = "bbdb";
ename = "bbdb";
version = "3.2.2.1";
version = "3.2.2.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/bbdb-3.2.2.1.tar";
sha256 = "060nd6vhwwh56jc1mvmyj6mn6kx7zgmbhrkfv9sqdx7h96bcrsbh";
url = "https://elpa.gnu.org/packages/bbdb-3.2.2.2.tar";
sha256 = "0bf20r5xhxln6z4qp8zrlln0303dkci2ydsr74pxcj08aqgk5xxf";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -354,10 +354,10 @@
elpaBuild {
pname = "bluetooth";
ename = "bluetooth";
version = "0.3";
version = "0.3.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/bluetooth-0.3.tar";
sha256 = "1q27hk4j7k0q9vqgn9nq7q0vhn9jdqbygs7d9lv5gwfhdzdnl4az";
url = "https://elpa.gnu.org/packages/bluetooth-0.3.1.tar";
sha256 = "1p10kcim5wqnbj2kiqv6hgjkzznaa48qysnnf8ym90mylsczr70z";
};
packageRequires = [ dash emacs ];
meta = {
@ -756,10 +756,10 @@
elpaBuild {
pname = "compat";
ename = "compat";
version = "28.1.0.3";
version = "28.1.1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/compat-28.1.0.3.tar";
sha256 = "12h06ab57hhjq434cf39g69ain6dpqq8a0h9xc91kvjsiz9chqhd";
url = "https://elpa.gnu.org/packages/compat-28.1.1.1.tar";
sha256 = "13ksa6q3m525gd6sdixmak6brfch2rhz8dzzmhvvdh1y04hcnam8";
};
packageRequires = [ emacs nadvice ];
meta = {
@ -771,10 +771,10 @@
elpaBuild {
pname = "consult";
ename = "consult";
version = "0.16";
version = "0.17";
src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-0.16.tar";
sha256 = "172w4d9hbzj98j1gyfhzw2zz4fpw90ak8ccg35fngwjlk9mjdrzk";
url = "https://elpa.gnu.org/packages/consult-0.17.tar";
sha256 = "16yrp6scxg93anxrp5nww08ixxqk8ra9dn9zm8w5dry997kmkasa";
};
packageRequires = [ emacs ];
meta = {
@ -801,10 +801,10 @@
elpaBuild {
pname = "corfu";
ename = "corfu";
version = "0.21";
version = "0.23";
src = fetchurl {
url = "https://elpa.gnu.org/packages/corfu-0.21.tar";
sha256 = "1jabx61ajiysd3yqkraanlx9gnkz1qs6d94wjc5a2ran58iyknyr";
url = "https://elpa.gnu.org/packages/corfu-0.23.tar";
sha256 = "1l988jmvn3x1x77sc89pg5ivwl9i4r2v4k74ymkplgcc9wpffm1v";
};
packageRequires = [ emacs ];
meta = {
@ -857,6 +857,21 @@
license = lib.licenses.free;
};
}) {};
cpupower = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "cpupower";
ename = "cpupower";
version = "1.0.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cpupower-1.0.4.tar";
sha256 = "12910d3qbkapr4bvqv88lr85fz6rkim0zrc24nxnvkhkh3yi8qvd";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/cpupower.html";
license = lib.licenses.free;
};
}) {};
crdt = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "crdt";
@ -917,6 +932,21 @@
license = lib.licenses.free;
};
}) {};
cursory = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "cursory";
ename = "cursory";
version = "0.1.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cursory-0.1.4.tar";
sha256 = "0yjwn6kpxl7b3m8si4sqmdkhr8imcgbvwhwki2sxgybs75lxdg97";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/cursory.html";
license = lib.licenses.free;
};
}) {};
cycle-quotes = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "cycle-quotes";
@ -1146,10 +1176,10 @@
elpaBuild {
pname = "djvu";
ename = "djvu";
version = "1.1.1";
version = "1.1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/djvu-1.1.1.el";
sha256 = "0z2qk1v4qkvcwl27ycqfb8vyszq5v6b8ci29b4la00yaki16p04i";
url = "https://elpa.gnu.org/packages/djvu-1.1.2.tar";
sha256 = "0i7xwgg2fxndy81lnng6fh9iknals8xvx4f1nmxq7c099bzwb57c";
};
packageRequires = [];
meta = {
@ -1176,10 +1206,10 @@
elpaBuild {
pname = "dtache";
ename = "dtache";
version = "0.5";
version = "0.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/dtache-0.5.tar";
sha256 = "10gcnkajpw7szd41l6ykkysv00yp93y1z9ajhcmk4wzni93w21z2";
url = "https://elpa.gnu.org/packages/dtache-0.6.tar";
sha256 = "1nv5hzn4rnm8pzfr5i209djaafj4ymg5j886yq2j19zkjadc8yx3";
};
packageRequires = [ emacs ];
meta = {
@ -1221,10 +1251,10 @@
elpaBuild {
pname = "easy-kill";
ename = "easy-kill";
version = "0.9.4";
version = "0.9.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/easy-kill-0.9.4.tar";
sha256 = "1pqqv4dhfm00wqch4wy3n2illsvxlz9r6r64925cvq3i7wq4la1x";
url = "https://elpa.gnu.org/packages/easy-kill-0.9.5.tar";
sha256 = "0h8rzd23sgkj3vxnyhis9iyq8n3xqp9x1mvxlm61s6wwj9j398j6";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -1296,10 +1326,10 @@
elpaBuild {
pname = "eev";
ename = "eev";
version = "20220324";
version = "20220416";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eev-20220324.tar";
sha256 = "0x1fhjj7g96xmp8pnj3k23xi61nfzaj04bzx050qjc1dvdg8gpfa";
url = "https://elpa.gnu.org/packages/eev-20220416.tar";
sha256 = "174hwb3cyiqimzcsl62yhq51hb4gxmj5wni6w5ng4m24bfkx87nc";
};
packageRequires = [ emacs ];
meta = {
@ -1469,10 +1499,10 @@
elpaBuild {
pname = "engrave-faces";
ename = "engrave-faces";
version = "0.2.0";
version = "0.3.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/engrave-faces-0.2.0.tar";
sha256 = "1d0hsfg3wvwbs82gjyvfjvy1sszcm7qa50bch1b6jy05kbc543ip";
url = "https://elpa.gnu.org/packages/engrave-faces-0.3.0.tar";
sha256 = "0l59fci16m6li52bqwbqglsi9gavgsfkxlxm9y1ny3ma0w1rnp9d";
};
packageRequires = [ emacs ];
meta = {
@ -1680,6 +1710,21 @@
license = lib.licenses.free;
};
}) {};
fontaine = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "fontaine";
ename = "fontaine";
version = "0.1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/fontaine-0.1.1.tar";
sha256 = "1jyb6s2sqr9fmy6f4i9vijaswb8f9vn2br98d4w2afzhmf4d0bdc";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/fontaine.html";
license = lib.licenses.free;
};
}) {};
frame-tabs = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "frame-tabs";
@ -1942,6 +1987,21 @@
license = lib.licenses.free;
};
}) {};
gtags-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "gtags-mode";
ename = "gtags-mode";
version = "1.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/gtags-mode-1.0.tar";
sha256 = "0nyzsr3fnds931ihw2dp5xlgv151kzph7qv1n751r1cajimzlp7n";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/gtags-mode.html";
license = lib.licenses.free;
};
}) {};
guess-language = callPackage ({ cl-lib ? null
, elpaBuild
, emacs
@ -2058,10 +2118,10 @@
elpaBuild {
pname = "hyperbole";
ename = "hyperbole";
version = "7.1.3";
version = "8.0.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/hyperbole-7.1.3.tar";
sha256 = "0bizibn4qgxqp89fyik6p47s9hss1g932mg8k7pznn3kkhj5c8rh";
url = "https://elpa.gnu.org/packages/hyperbole-8.0.0.tar";
sha256 = "171x7jad62xd0n3xgs32dksyhn5abxj1kna0qgm65mm0v73hrv8d";
};
packageRequires = [ emacs ];
meta = {
@ -2408,10 +2468,10 @@
elpaBuild {
pname = "lin";
ename = "lin";
version = "0.3.0";
version = "0.3.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/lin-0.3.0.tar";
sha256 = "08h7rh8gidn9mn031mg8lvhxswv1hxn4i0ffk2vxygfbp9jxfi61";
url = "https://elpa.gnu.org/packages/lin-0.3.1.tar";
sha256 = "1blk9vc9fyw6djqh0465bayv2s5s0ap7fps383ihmazmmii6mp2a";
};
packageRequires = [ emacs ];
meta = {
@ -2498,10 +2558,10 @@
elpaBuild {
pname = "logos";
ename = "logos";
version = "0.3.1";
version = "0.3.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/logos-0.3.1.tar";
sha256 = "0wwvp47bmc7w3jvh480vc31agf0s39mvgk0h550z6a1wzlrfzyh9";
url = "https://elpa.gnu.org/packages/logos-0.3.2.tar";
sha256 = "1qpbp9f9lz7yrky42cq8b4k295593s7l892zsrdyifnqcgs50bfd";
};
packageRequires = [ emacs ];
meta = {
@ -2886,10 +2946,10 @@
elpaBuild {
pname = "nano-theme";
ename = "nano-theme";
version = "0.3.0";
version = "0.3.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/nano-theme-0.3.0.tar";
sha256 = "1nq5x46467vnsfg3fzb0qyg97xpnwsvbqg8frdjil5zq5fhsgmrz";
url = "https://elpa.gnu.org/packages/nano-theme-0.3.1.tar";
sha256 = "003jhzh52iqrqlxh1gpv3y2wjlxx4ng3al5zcpm5q42kix8cjpd1";
};
packageRequires = [ emacs ];
meta = {
@ -3070,10 +3130,10 @@
elpaBuild {
pname = "org";
ename = "org";
version = "9.5.2";
version = "9.5.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/org-9.5.2.tar";
sha256 = "12pvr47b11pq5rncpb3x8y11fhnakk5bi73j9l9w4d4ss3swcrnh";
url = "https://elpa.gnu.org/packages/org-9.5.3.tar";
sha256 = "0i8lx7gsdz79qv0h3qdbwqd0m91z6ky33wjmkcbify75giixiv25";
};
packageRequires = [ emacs ];
meta = {
@ -3205,10 +3265,10 @@
elpaBuild {
pname = "osm";
ename = "osm";
version = "0.6";
version = "0.7";
src = fetchurl {
url = "https://elpa.gnu.org/packages/osm-0.6.tar";
sha256 = "0p19qyx4gw1rn2f5hlxa7gx1sph2z5vjw7cnxwpjhbbr0430zzwb";
url = "https://elpa.gnu.org/packages/osm-0.7.tar";
sha256 = "0k2phmh2sl50vx88cgndghcjfz0i20mjs2hg4mlh4hb5q9yjpcj4";
};
packageRequires = [ emacs ];
meta = {
@ -3445,10 +3505,10 @@
elpaBuild {
pname = "pulsar";
ename = "pulsar";
version = "0.3.0";
version = "0.3.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/pulsar-0.3.0.tar";
sha256 = "0dbfj7789qp4l25y8qazmx5kqgjgqjsnk24rwcf6qann4cq6wgnq";
url = "https://elpa.gnu.org/packages/pulsar-0.3.1.tar";
sha256 = "0v3bdw0sgic98b7xj19g37hw1vinanagsbhyf5qpajx3gm2im9wx";
};
packageRequires = [ emacs ];
meta = {
@ -3460,10 +3520,10 @@
elpaBuild {
pname = "pyim";
ename = "pyim";
version = "4.1.0";
version = "4.2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/pyim-4.1.0.tar";
sha256 = "1q4b3y72gbkl5z31brlnjqjl30lgqm2d1zlqrbkqnnfy5hjgazk9";
url = "https://elpa.gnu.org/packages/pyim-4.2.0.tar";
sha256 = "1yb6yv92987kq0ls38d0fqwbj5jrf4cg3jvdbwjzr61gg3izf414";
};
packageRequires = [ async emacs xr ];
meta = {
@ -3535,10 +3595,10 @@
elpaBuild {
pname = "rainbow-mode";
ename = "rainbow-mode";
version = "1.0.5";
version = "1.0.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.5.el";
sha256 = "159fps843k5pap9k04a7ll1k3gw6d9c6w08lq4bbc3lqg78aa2l9";
url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.6.tar";
sha256 = "04v73cm1cap19vwc8lqsw0rmfr9v7r3swc4wgxnk9dnzxi9j2527";
};
packageRequires = [];
meta = {
@ -3830,10 +3890,10 @@
elpaBuild {
pname = "rt-liberation";
ename = "rt-liberation";
version = "4";
version = "5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/rt-liberation-4.tar";
sha256 = "15vs982cxpc3g8cq2gj3a6dfn9i2r9b44x38ydvcmiy2brkd3psj";
url = "https://elpa.gnu.org/packages/rt-liberation-5.tar";
sha256 = "1gjj38rag3hh42xkf7qlvwn0qj45i8v30h5wgs3w2a2ccs46bpy4";
};
packageRequires = [];
meta = {
@ -4196,6 +4256,21 @@
license = lib.licenses.free;
};
}) {};
sql-cassandra = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "sql-cassandra";
ename = "sql-cassandra";
version = "0.2.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/sql-cassandra-0.2.1.tar";
sha256 = "1w9jhh4gf5nnjq8p2zfdli81yqvnfjri4qlwxiwb913ah48vyi2l";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/sql-cassandra.html";
license = lib.licenses.free;
};
}) {};
sql-indent = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "sql-indent";
@ -4459,14 +4534,44 @@
license = lib.licenses.free;
};
}) {};
tmr = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "tmr";
ename = "tmr";
version = "0.2.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tmr-0.2.3.tar";
sha256 = "0lys6g96cvfyhwr7z0yv9cx2ykzyixjppv5fh29qzq3h3dywx5wb";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/tmr.html";
license = lib.licenses.free;
};
}) {};
tomelr = callPackage ({ elpaBuild, emacs, fetchurl, lib, map, seq }:
elpaBuild {
pname = "tomelr";
ename = "tomelr";
version = "0.3.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tomelr-0.3.0.tar";
sha256 = "0jnnyvbmhqn8wkg3y13iy19nck6dphay8jdy2nimp28a1jvs7z6g";
};
packageRequires = [ emacs map seq ];
meta = {
homepage = "https://elpa.gnu.org/packages/tomelr.html";
license = lib.licenses.free;
};
}) {};
tramp = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "tramp";
ename = "tramp";
version = "2.5.2.3";
version = "2.5.2.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.5.2.3.tar";
sha256 = "1nv603jrvql03z2pfg74yq0hp7963gagg27fksc456mpmz4p7ajq";
url = "https://elpa.gnu.org/packages/tramp-2.5.2.4.tar";
sha256 = "0ap1d34p1akrrm8z1r7ln6mj13xg2nrvjln2v3g8plhhp354jldz";
};
packageRequires = [ emacs ];
meta = {
@ -4774,10 +4879,10 @@
elpaBuild {
pname = "vertico";
ename = "vertico";
version = "0.22";
version = "0.23";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-0.22.tar";
sha256 = "1m8r2iqyyvym7a47awh00aq7hld54dklrx4ibwvnmhpxl0fzh7g8";
url = "https://elpa.gnu.org/packages/vertico-0.23.tar";
sha256 = "1d2r2y1bhvipn4xqzla5rv09cdpg7f19m9hrnv1pqypjvbgqv1m2";
};
packageRequires = [ emacs ];
meta = {
@ -4794,10 +4899,10 @@
elpaBuild {
pname = "vertico-posframe";
ename = "vertico-posframe";
version = "0.5.3";
version = "0.5.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.3.tar";
sha256 = "12jcb4im1ys2s0wbv9nfmgpcrz037zagd677qjm8hz8fn29xdh6n";
url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.4.tar";
sha256 = "19lx6p06wkwfivxgswdljdsh9bgcd1b9zkzx426w3pwicdk0cvgg";
};
packageRequires = [ emacs posframe vertico ];
meta = {
@ -4868,6 +4973,21 @@
license = lib.licenses.free;
};
}) {};
vundo = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "vundo";
ename = "vundo";
version = "2.0.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vundo-2.0.0.tar";
sha256 = "032aqcqq2xhh12qcpp8p3qldv0r9cnqr2y11jk1m5cvgal1cbb68";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/vundo.html";
license = lib.licenses.free;
};
}) {};
wcheck-mode = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "wcheck-mode";

@ -49,10 +49,10 @@
elpaBuild {
pname = "annotate";
ename = "annotate";
version = "1.5.3";
version = "1.5.4";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/annotate-1.5.3.tar";
sha256 = "0d5lqaj1bqckvjpwxqglzrhk8fm03n19lxwm74jxfl1lkxq4dw3x";
url = "https://elpa.nongnu.org/nongnu/annotate-1.5.4.tar";
sha256 = "1d11q4ddc2rw7n8jrxdddc5h42hf16sbc1l4v6zmmsriahxhgfdd";
};
packageRequires = [];
meta = {
@ -258,10 +258,10 @@
elpaBuild {
pname = "cider";
ename = "cider";
version = "1.3.0";
version = "1.4.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/cider-1.3.0.tar";
sha256 = "10kg30s0gb09l0z17v2hqxy9v5pscnpqp5dng62cjh0x3hdi4i7x";
url = "https://elpa.nongnu.org/nongnu/cider-1.4.0.tar";
sha256 = "11a3ysvrywp79pp1yivpsgi8azgzbg7ayiai94p1dyd3viy29qn0";
};
packageRequires = [
clojure-mode
@ -469,10 +469,10 @@
elpaBuild {
pname = "elpher";
ename = "elpher";
version = "3.3.3";
version = "3.4.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/elpher-3.3.3.tar";
sha256 = "0yaf6g424g6dngg0acbhlhd24k77bl5h82wiw98f3731xdad174r";
url = "https://elpa.nongnu.org/nongnu/elpher-3.4.1.tar";
sha256 = "1vayhcamdp8nn6hrgffd0yx9k9q3mckbcsfwclhyyfc0x1hcwf92";
};
packageRequires = [ emacs ];
meta = {
@ -484,10 +484,10 @@
elpaBuild {
pname = "evil";
ename = "evil";
version = "1.14.0";
version = "1.15.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/evil-1.14.0.tar";
sha256 = "11hzx3ya1119kr8dwlg264biixiqgvi7zwxxksql0a9hqp57rdpx";
url = "https://elpa.nongnu.org/nongnu/evil-1.15.0.tar";
sha256 = "0xp31w5mr6sprimd2rwy7mpa3kca5ivwf57jmaqyzpd96gh66pg1";
};
packageRequires = [];
meta = {
@ -602,10 +602,10 @@
elpaBuild {
pname = "evil-matchit";
ename = "evil-matchit";
version = "2.4.3";
version = "2.4.4";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/evil-matchit-2.4.3.tar";
sha256 = "079qbx6f4clh5ngnrga016h0q2vf7afx9irsa06pishfs94pl4qn";
url = "https://elpa.nongnu.org/nongnu/evil-matchit-2.4.4.tar";
sha256 = "1p8xsi0068wabsfn3jwhyinkk2684xp9hlapcbj6y58wkpzqj0f6";
};
packageRequires = [ emacs evil ];
meta = {
@ -712,10 +712,10 @@
elpaBuild {
pname = "geiser";
ename = "geiser";
version = "0.23.2";
version = "0.24";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-0.23.2.tar";
sha256 = "1rdz13rjfp8j2ik3vbw1jvacjri3abghlq6aqfvkd7vwm21h30ih";
url = "https://elpa.nongnu.org/nongnu/geiser-0.24.tar";
sha256 = "14qnni8ridrg3afh1wy9nvchbk0drn0h7ww5xgc6s03ivvmy7a71";
};
packageRequires = [ emacs project transient ];
meta = {
@ -909,6 +909,21 @@
license = lib.licenses.free;
};
}) {};
gnu-apl-mode = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "gnu-apl-mode";
ename = "gnu-apl-mode";
version = "1.5.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/gnu-apl-mode-1.5.1.tar";
sha256 = "0almjbh35d0myyjaavmqi7yzk3jpqdcqrhsb2x6vcp6pb199g7z8";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/gnu-apl-mode.html";
license = lib.licenses.free;
};
}) {};
gnuplot = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "gnuplot";
@ -1903,10 +1918,10 @@
elpaBuild {
pname = "shellcop";
ename = "shellcop";
version = "0.0.8";
version = "0.0.9";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/shellcop-0.0.8.tar";
sha256 = "00kj1zadrqnikvwrxd6ma0c8r1jf70c1zaqr03s0g49h4lz6m2da";
url = "https://elpa.nongnu.org/nongnu/shellcop-0.0.9.tar";
sha256 = "0rv98s3w3pd2l477100d8kn2kqx21xn3axzcfbxbkgl8bc78mvci";
};
packageRequires = [ emacs ];
meta = {
@ -2023,10 +2038,10 @@
elpaBuild {
pname = "subed";
ename = "subed";
version = "1.0.3";
version = "1.0.5";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/subed-1.0.3.tar";
sha256 = "0wibakmp1lhfyr6sifb7f3jcqp2s5sy0z37ad9n1n9rhj5q8yhzg";
url = "https://elpa.nongnu.org/nongnu/subed-1.0.5.tar";
sha256 = "1wpkwab6scmc9d3bzp5161d8agmcjacpijs8xqb1mpbyvl1jvavc";
};
packageRequires = [ emacs ];
meta = {
@ -2315,6 +2330,24 @@
license = lib.licenses.free;
};
}) {};
xah-fly-keys = callPackage ({ elpaBuild
, emacs
, fetchurl
, lib }:
elpaBuild {
pname = "xah-fly-keys";
ename = "xah-fly-keys";
version = "17.7.20220429090059";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.7.20220429090059.tar";
sha256 = "006lqjx88b0g0szxai82qdn3bv8qajp2x281arpmp3rpb7faggvq";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/xah-fly-keys.html";
license = lib.licenses.free;
};
}) {};
xml-rpc = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "xml-rpc";

@ -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;

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, curl, boost, eigen
{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, curl, boost169, eigen
, freeimage, freetype, libGLU, libGL, SDL2, alsa-lib, libarchive
, fetchpatch }:
@ -21,7 +21,7 @@ stdenv.mkDerivation {
];
nativeBuildInputs = [ pkg-config cmake ];
buildInputs = [ alsa-lib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
buildInputs = [ alsa-lib boost169 curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
installPhase = ''
install -D ../emulationstation $out/bin/emulationstation

@ -1,16 +1,24 @@
{ lib, stdenv, fetchFromGitHub, cmake, boost, libpng, zlib }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, libpng, zlib }:
stdenv.mkDerivation rec {
pname = "apngasm";
version = "3.1.9";
version = "3.1.10";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "d50bfb0cf14c376f4cfb94eb91c61d795a76b715"; # not tagged, but in debian/changelog
sha256 = "0pk0r8x1950pm6j3d5wgryvy3ldm7a9gl59jmnwnjmg1sf9mzf97";
rev = "f105b2d6024ef3113bb407d68e27e476a17fa998";
sha256 = "sha256-lTk2sTllKHRUaWPPEkC4qU5K10oRaLrdWBgN4MUGKeo=";
};
patches = [
# Fix parallel build and avoid static linking of binary.
(fetchpatch {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/apngasm/files/apngasm-3.1.10-static.patch?id=45fd0cde71ca2ae0e7e38ab67400d84b86b593d7";
sha256 = "sha256-eKthgInWxXEqN5PupvVf9wVQDElxsPYRFXT7pMc6vIU=";
})
];
nativeBuildInputs = [ cmake ];
buildInputs = [ boost libpng zlib ];

@ -1,29 +1,17 @@
{ lib, bundlerApp, bundlerUpdateScript, makeWrapper,
withPngcrush ? true, pngcrush ? null,
withPngout ? true, pngout ? null,
withAdvpng ? true, advancecomp ? null,
withOptipng ? true, optipng ? null,
withPngquant ? true, pngquant ? null,
withJhead ? true, jhead ? null,
withJpegoptim ? true, jpegoptim ? null,
withJpegrecompress ? true, jpeg-archive ? null,
withJpegtran ? true, libjpeg ? null,
withGifsicle ? true, gifsicle ? null,
withSvgo ? true, svgo ? null
withPngcrush ? true, pngcrush,
withPngout ? true, pngout,
withAdvpng ? true, advancecomp,
withOptipng ? true, optipng,
withPngquant ? true, pngquant,
withJhead ? true, jhead,
withJpegoptim ? true, jpegoptim,
withJpegrecompress ? true, jpeg-archive,
withJpegtran ? true, libjpeg,
withGifsicle ? true, gifsicle,
withSvgo ? true, svgo
}:
assert withPngcrush -> pngcrush != null;
assert withPngout -> pngout != null;
assert withAdvpng -> advancecomp != null;
assert withOptipng -> optipng != null;
assert withPngquant -> pngquant != null;
assert withJhead -> jhead != null;
assert withJpegoptim -> jpegoptim != null;
assert withJpegrecompress -> jpeg-archive != null;
assert withJpegtran -> libjpeg != null;
assert withGifsicle -> gifsicle != null;
assert withSvgo -> svgo != null;
with lib;
let

@ -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,13 +1,13 @@
{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
, nodePackages, alsa-lib, gtk3, libxshmfence, mesa, nss }:
, nodePackages, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss }:
stdenv.mkDerivation rec {
pname = "whalebird";
version = "4.5.2";
version = "4.5.4";
src = fetchurl {
url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb";
sha256 = "sha256-4ksKXVeUGICHfx014s5g9mapS751dbexBjzyqNvk02M=";
sha256 = "048c2hpnlzjli8r1lcm7hd32qfsq4p9vkimrgc049yw9f15ndjpr";
};
nativeBuildInputs = [
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
nodePackages.asar
];
buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
buildInputs = [ alsa-lib gtk3 libdbusmenu libxshmfence mesa nss ];
dontConfigure = true;

@ -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

@ -80,11 +80,13 @@
, alsaSupport ? stdenv.isLinux, alsa-lib
, ffmpegSupport ? true
, gssSupport ? true, libkrb5
, jackSupport ? stdenv.isLinux, libjack2
, jemallocSupport ? true, jemalloc
, ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages
, pgoSupport ? (stdenv.isLinux && stdenv.isx86_64 && stdenv.hostPlatform == stdenv.buildPlatform), xvfb-run
, pipewireSupport ? waylandSupport && webrtcSupport
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
, sndioSupport ? stdenv.isLinux, sndio
, waylandSupport ? true, libxkbcommon, libdrm
## privacy-related options
@ -303,7 +305,9 @@ buildStdenv.mkDerivation ({
++ lib.optional (lib.versionAtLeast version "95") "--with-wasi-sysroot=${wasiSysRoot}"
++ flag alsaSupport "alsa"
++ flag jackSupport "jack"
++ flag pulseaudioSupport "pulseaudio"
++ lib.optional (lib.versionAtLeast version "100") (flag sndioSupport "sndio")
++ flag ffmpegSupport "ffmpeg"
++ flag jemallocSupport "jemalloc"
++ flag geolocationSupport "necko-wifi"
@ -363,7 +367,9 @@ buildStdenv.mkDerivation ({
]
++ [ (if (lib.versionAtLeast version "92") then nss_latest else nss_esr) ]
++ lib.optional alsaSupport alsa-lib
++ lib.optional jackSupport libjack2
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
++ lib.optional (sndioSupport && lib.versionAtLeast version "100") sndio
++ lib.optional gssSupport libkrb5
++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
++ lib.optional jemallocSupport jemalloc
@ -464,7 +470,9 @@ buildStdenv.mkDerivation ({
inherit version;
inherit alsaSupport;
inherit binaryName;
inherit jackSupport;
inherit pipewireSupport;
inherit sndioSupport;
inherit nspr;
inherit ffmpegSupport;
inherit gssSupport;

@ -13,6 +13,8 @@
, mesa # firefox wants gbm for drm+dmabuf
, cups
, pciutils
, sndio
, libjack2
}:
## configurability of the wrapper itself
@ -53,6 +55,8 @@ let
gssSupport = browser.gssSupport or false;
alsaSupport = browser.alsaSupport or false;
pipewireSupport = browser.pipewireSupport or false;
sndioSupport = browser.sndioSupport or false;
jackSupport = browser.jackSupport or false;
# PCSC-Lite daemon (services.pcscd) also must be enabled for firefox to access smartcards
smartcardSupport = cfg.smartcardSupport or false;
@ -76,6 +80,8 @@ let
(with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsa-lib zlib ])
++ lib.optional (config.pulseaudio or true) libpulseaudio
++ lib.optional alsaSupport alsa-lib
++ lib.optional sndioSupport sndio
++ lib.optional jackSupport libjack2
++ lib.optional smartcardSupport opensc
++ pkcs11Modules;
gtk_modules = [ libcanberra-gtk3 ];

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "driftctl";
version = "0.28.1";
version = "0.29.0";
src = fetchFromGitHub {
owner = "snyk";
repo = "driftctl";
rev = "v${version}";
sha256 = "sha256-v6NtnCwIAqzlbtvwmWr39wauPxT0I/m5HOykQfmAexQ=";
sha256 = "sha256-cn0PhumDaOhTm1vZCj0h9XehnQCDc+mXtne7QQNSbBk=";
};
vendorSha256 = "sha256-2mAPOUAv0ORRCMxesmcwZZh9SCa12k94y/iiN/rzUbs=";
vendorSha256 = "sha256-bsIPEjD/kCUvkRKP85CjW3JJf1Hyx9b2pMY9S4HlKrA=";
nativeBuildInputs = [ installShellFiles ];

@ -30,10 +30,10 @@
"owner": "aiven",
"provider-source-address": "registry.terraform.io/aiven/aiven",
"repo": "terraform-provider-aiven",
"rev": "v2.7.2",
"sha256": "sha256-1Y3m431KlWU+0cgZsU644WEO1i/9Gp1HomXvuCesVNU=",
"rev": "v2.7.3",
"sha256": "sha256-ZAYnP2XEa2eJ0YZkqXQedRysmQI31RQ1osg/TqCqthE=",
"vendorSha256": "sha256-nBVLgOrtINrDziQLdqo5rFWfeY/cOdBW/XVDjtNaNhE=",
"version": "2.7.2"
"version": "2.7.3"
},
"akamai": {
"owner": "akamai",
@ -49,10 +49,10 @@
"owner": "aliyun",
"provider-source-address": "registry.terraform.io/aliyun/alicloud",
"repo": "terraform-provider-alicloud",
"rev": "v1.165.0",
"sha256": "sha256-Mq0Ob6U2v3onn5wIvAzXhbSBzjUCP4kF6irbwREdGFI=",
"vendorSha256": "sha256-xxq+VOG6FkX1perAcXOiFtL/bjsHl9IWIJb5dfaIkpY=",
"version": "1.165.0"
"rev": "v1.166.0",
"sha256": "sha256-+aRRsN3ALTmQOnDciHjoVFKV/W+/gjtdZeg3eyJ+0fY=",
"vendorSha256": "sha256-2w8o0Fc61ayyUyE4RVcmV4A0heuaIXnOZX040l2ws/Y=",
"version": "1.166.0"
},
"ansible": {
"owner": "nbering",
@ -103,10 +103,10 @@
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/aws",
"repo": "terraform-provider-aws",
"rev": "v4.12.1",
"sha256": "sha256-z19DTiio6dXIgTmOxehOjIno6XhSUIS/YFtXKocq2Kk=",
"vendorSha256": "sha256-zxOiLStuGuylsKTJteR/9Xs/XcVgDlihCBmnMNLTTd4=",
"version": "4.12.1"
"rev": "v4.13.0",
"sha256": "sha256-KEu+7hKMWsrpS1WYxj3El7M43Chy9HTBjePhWO6bXMo=",
"vendorSha256": "sha256-Ez6uCriNm1OJ2EyMAyjXihzJ/Pzf2p/oAvJ3HN6fDnA=",
"version": "4.13.0"
},
"azuread": {
"owner": "hashicorp",
@ -121,10 +121,10 @@
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/azurerm",
"repo": "terraform-provider-azurerm",
"rev": "v3.4.0",
"sha256": "sha256-hfjwlW7tbs/b7mvtbmFnNXr82b2exCRC4WxfCdZ6bbw=",
"rev": "v3.5.0",
"sha256": "sha256-LF2Mqj/w1AtoYVGkZJsFpz81cfoUR80PURIsYoIYfsI=",
"vendorSha256": null,
"version": "3.4.0"
"version": "3.5.0"
},
"azurestack": {
"owner": "hashicorp",
@ -175,10 +175,10 @@
"owner": "buildkite",
"provider-source-address": "registry.terraform.io/buildkite/buildkite",
"repo": "terraform-provider-buildkite",
"rev": "v0.8.0",
"sha256": "1v4kzsvzkzf0bb6vpyjh0n2kbcfrqa193idvm4jgbcrdb0y3xzn5",
"vendorSha256": "12kqjpyy80pfrasicmdi1f43mr846rad3c6xaa4dvzn7hq640q5j",
"version": "0.8.0"
"rev": "v0.9.0",
"sha256": "sha256-k7caRT/9YA198I6K3Qv3UcyQiULpOvJ3Smc816sKHkQ=",
"vendorSha256": "sha256-smBADIbH/t2IUt2w0VQ2BOU6iAuxVRa1yu4C5P2VeIo=",
"version": "0.9.0"
},
"checkly": {
"owner": "checkly",
@ -208,14 +208,23 @@
"vendorSha256": null,
"version": "1.3.0"
},
"cloudamqp": {
"owner": "cloudamqp",
"provider-source-address": "registry.terraform.io/cloudamqp/cloudamqp",
"repo": "terraform-provider-cloudamqp",
"rev": "v1.16.0",
"sha256": "sha256-swE4Nr1cQzNQOq8q6o0nZhhYRtgAwTfx6Epm76Jjjqg=",
"vendorSha256": "sha256-oPeldPn30uS5Yl6IfXVPy2R7/wsAdZsEbbhVnVHQVwk=",
"version": "1.16.0"
},
"cloudflare": {
"owner": "cloudflare",
"provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
"repo": "terraform-provider-cloudflare",
"rev": "v3.13.0",
"sha256": "sha256-ZG8F6cbJOmQdtudkVUGjKsq2Hs4uYlb/pxrF6Fkk4w0=",
"vendorSha256": "sha256-4usFr3aseHGGUa/bseSRAjE1NTZxh8UXPd66HG3hwOM=",
"version": "3.13.0"
"rev": "v3.14.0",
"sha256": "sha256-WjtAqL4gzr7NdRLf7mr6OULee35kyyZpr5crR514Mak=",
"vendorSha256": "sha256-xqjhSu1bUSpQ1A2Ga2IS2fdyIXcnt/nbQNXhcxVi22Q=",
"version": "3.14.0"
},
"cloudfoundry": {
"owner": "cloudfoundry-community",
@ -339,10 +348,10 @@
"owner": "dome9",
"provider-source-address": "registry.terraform.io/dome9/dome9",
"repo": "terraform-provider-dome9",
"rev": "v1.25.3",
"sha256": "sha256-0Pde+xVToBP5gavr0ckEIUmgCmRBbqSP5C0YkMthQGQ=",
"rev": "v1.25.4",
"sha256": "sha256-s/wglGsk/Lm45PWmqNHiVjj6sfQzXue+GnjEALp5yDc=",
"vendorSha256": null,
"version": "1.25.3"
"version": "1.25.4"
},
"elasticsearch": {
"owner": "phillbaker",
@ -411,39 +420,48 @@
"owner": "integrations",
"provider-source-address": "registry.terraform.io/integrations/github",
"repo": "terraform-provider-github",
"rev": "v4.24.1",
"sha256": "sha256-1fwHMN2HIVl+8ZL7OtP1U5ORc41e7Tm3qEpMqIgWL20=",
"rev": "v4.25.0-alpha",
"sha256": "sha256-9BE19VywtNIeDfjBKzle5nGFPmpS8lHV60w0h2xTztU=",
"vendorSha256": null,
"version": "4.24.1"
"version": "4.25.0-alpha"
},
"gitlab": {
"owner": "gitlabhq",
"provider-source-address": "registry.terraform.io/gitlabhq/gitlab",
"repo": "terraform-provider-gitlab",
"rev": "v3.13.0",
"sha256": "sha256-Rm7j290Pr65F6JqSNpjK8bR1EhXev/74MpUa7SRNf3o=",
"vendorSha256": "sha256-hlcJn54paYJ1nlmqirOvC3Z4y8cMqv6etlDdihV9+R4=",
"version": "3.13.0"
"rev": "v3.14.0",
"sha256": "sha256-KUlFEVeST/ujerpkjHYzdROwkFD4ASx0juHOKWKM14o=",
"vendorSha256": "sha256-M03+MK7YB3IPHA/w+yrO6YohPzknCmhguO5b25qzDzw=",
"version": "3.14.0"
},
"google": {
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google",
"proxyVendor": true,
"repo": "terraform-provider-google",
"rev": "v4.19.0",
"sha256": "sha256-b6oEKiz8REeJIDFLDI80+kA4f32KRjZy/GhKg0qeN24=",
"rev": "v4.20.0",
"sha256": "sha256-eZNa6V3aVtEgTZgTNgB4EUK3S6iKfk9qI7OnAQ5Mbp4=",
"vendorSha256": "sha256-l2OviwplP/Sg2ShaEA88pMwVTkREnLkFAzterjr2kvU=",
"version": "4.19.0"
"version": "4.20.0"
},
"google-beta": {
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google-beta",
"proxyVendor": true,
"repo": "terraform-provider-google-beta",
"rev": "v4.19.0",
"sha256": "sha256-MPB/ca0GIIs7yEfIyqeOkzK2mkEdkE/DkEbaSqpaF0U=",
"rev": "v4.20.0",
"sha256": "sha256-Dr3G7KskfL+4WNOPL3SZCKf+Lo6wP3XS1JrlC6Mv3O8=",
"vendorSha256": "sha256-l2OviwplP/Sg2ShaEA88pMwVTkREnLkFAzterjr2kvU=",
"version": "4.19.0"
"version": "4.20.0"
},
"googleworkspace": {
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/googleworkspace",
"repo": "terraform-provider-googleworkspace",
"rev": "v0.6.0",
"sha256": "06cbwkrqrsshnv8ccsnl424l2sq0shi18kxwvrnwg88xvm8qpcfi",
"vendorSha256": "1zid2f8c9yfl6zwqiacngaf2rvvgs4w9phqjamgzibz41ijk6655",
"version": "0.6.0"
},
"grafana": {
"owner": "grafana",
@ -494,10 +512,10 @@
"owner": "loafoe",
"provider-source-address": "registry.terraform.io/loafoe/htpasswd",
"repo": "terraform-provider-htpasswd",
"rev": "v1.0.1",
"sha256": "sha256-RUkPIsKVMooGy2hYsNFkctMFdJ8MEbtbMB9Qak6HJgQ=",
"vendorSha256": "sha256-4P3IX7KGDqcWVYRiD6tXoEjF/phI89rz5QdR09xtnAo=",
"version": "1.0.1"
"rev": "v1.0.2",
"sha256": "sha256-U8rArNTOmiB06Vrvet6PnkIuylRzswJvVptijvcuVFQ=",
"vendorSha256": "sha256-rotGWkaNbsU+9tGENvkNkR7C3d6334hfPNcvJaZDSKw=",
"version": "1.0.2"
},
"http": {
"owner": "hashicorp",
@ -539,10 +557,10 @@
"owner": "IBM-Cloud",
"provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
"repo": "terraform-provider-ibm",
"rev": "v1.41.0-beta0",
"sha256": "sha256-0SANOw6mSXnH/bLRZRjG2R9aPTsp8jZvqYNNtNsiYPw=",
"rev": "v1.41.0",
"sha256": "sha256-5kHoTmQlEzTSjDnAJPdEN2y+DF9gB2BHJFHEYLh6h48=",
"vendorSha256": "sha256-8s32A0qgODZZy3rSrHnnBkQyKLBj0fcCBJ9ja9gXc5Q=",
"version": "1.41.0-beta0"
"version": "1.41.0"
},
"icinga2": {
"owner": "Icinga",
@ -584,10 +602,10 @@
"owner": "mrparkers",
"provider-source-address": "registry.terraform.io/mrparkers/keycloak",
"repo": "terraform-provider-keycloak",
"rev": "v3.7.0",
"sha256": "1qzdm0jgk6f0zyjbv5qaq24h9a37bgb4ghym61vg763lqra69als",
"vendorSha256": "1q5z54rz5lqgdv9gfl20gfnzi4in0d65jkfxnmmsx6fjcb9ih4p6",
"version": "3.7.0"
"rev": "v3.8.0",
"sha256": "sha256-TVSP0oORtiVkPGjgiHHJAsaWDhlN5lnpC3eJ4Ogf2Ss=",
"vendorSha256": "sha256-8x0MlwAzeA2O6wXXHSk++K0ePmzE9/2lfo2ID83LzRM=",
"version": "3.8.0"
},
"ksyun": {
"owner": "kingsoftcloud",
@ -620,10 +638,10 @@
"owner": "launchdarkly",
"provider-source-address": "registry.terraform.io/launchdarkly/launchdarkly",
"repo": "terraform-provider-launchdarkly",
"rev": "v2.6.1",
"sha256": "sha256-pdANr7W4d6+8WdAxcqSTpyEIshd6FVYy0+25wfDt4d8=",
"rev": "v2.7.0",
"sha256": "sha256-V7osiBlNDzJbmVUUhpRUi9tnoY1HccdZ5ub83ciSvbY=",
"vendorSha256": "sha256-HKea86ck97uc/Gv6geJm9TTRfG6bnpB+q8cuU/jubI8=",
"version": "2.6.1"
"version": "2.7.0"
},
"libvirt": {
"owner": "dmacvicar",
@ -638,10 +656,10 @@
"owner": "linode",
"provider-source-address": "registry.terraform.io/linode/linode",
"repo": "terraform-provider-linode",
"rev": "v1.27.0",
"sha256": "sha256-m2dD/BP5oNRUge3SXhSIptrQhj3Sez4O3hIdrJn45Y4=",
"rev": "v1.27.1",
"sha256": "sha256-rEXGKytKdlHO3RcZT+3e85cGfQ6b7mhdcFK+unw44ug=",
"vendorSha256": "sha256-ZJQAZk4TaKT+hLM46gtV1XmBCtwuKwtoom9tPGaOWhc=",
"version": "1.27.0"
"version": "1.27.1"
},
"linuxbox": {
"owner": "numtide",
@ -674,10 +692,10 @@
"owner": "terraform-lxd",
"provider-source-address": "registry.terraform.io/terraform-lxd/lxd",
"repo": "terraform-provider-lxd",
"rev": "v1.7.1",
"sha256": "0r1d0d6fp3rihxhfsxlay0dqp5rmnja9s369msra8jylqyharnrh",
"vendorSha256": "11x12jxh4q99hinpljqfchysgkhch93sgv0mz065ws20y0dxzfvs",
"version": "1.7.1"
"rev": "v1.7.2",
"sha256": "sha256-rNqlPyKpBNaIRtiNHB8U8jowWhqdQtDIMxreZ5Dfm3E=",
"vendorSha256": "sha256-ervfG/BAaF4M+BXsp0eCDM6nPWQOS3pthClhArsUoYc=",
"version": "1.7.2"
},
"mailgun": {
"owner": "wgebis",
@ -737,10 +755,10 @@
"owner": "NaverCloudPlatform",
"provider-source-address": "registry.terraform.io/NaverCloudPlatform/ncloud",
"repo": "terraform-provider-ncloud",
"rev": "v2.2.6",
"sha256": "sha256-Sw3Z6hi+nm/e+lMQQkk8KIa2AK2+q+0gBUe091GnQq0=",
"rev": "v2.2.7",
"sha256": "sha256-5WZOZBFZkJtPdWmxznv/ML6d+UTr+qw+SbBuaG+bGS8=",
"vendorSha256": "sha256-ovHg4GcbMzjEi+qJBpdqhR0YUakZCdnpc10SCu8FP8I=",
"version": "2.2.6"
"version": "2.2.7"
},
"netlify": {
"owner": "AegirHealth",
@ -755,10 +773,10 @@
"owner": "newrelic",
"provider-source-address": "registry.terraform.io/newrelic/newrelic",
"repo": "terraform-provider-newrelic",
"rev": "v2.43.4",
"sha256": "sha256-7ckPPU5ieVEZogW7lWd5vMHyXSlTuSqXj1suxKfEyis=",
"vendorSha256": "sha256-HhjTcdw8LbwMJ7P5LcZtgtEojLsqnsiBDrRIp62EZhQ=",
"version": "2.43.4"
"rev": "v2.44.0",
"sha256": "sha256-CR1GPm8K/9ZOFYvgKqMW63sbnRx0HyAYYESC/ZnBNYI=",
"vendorSha256": "sha256-2m5T6+GJTUDS345GDOW7Yf8X+JpxvtdYvInBjNvNXlg=",
"version": "2.44.0"
},
"nomad": {
"owner": "hashicorp",
@ -801,28 +819,28 @@
"owner": "nutanix",
"provider-source-address": "registry.terraform.io/nutanix/nutanix",
"repo": "terraform-provider-nutanix",
"rev": "v1.5.0-beta.2",
"sha256": "sha256-eC42HXh8Tk3TXWtdeVbv4UGMss3lh4vYyGPypB353X0=",
"rev": "v1.5.0",
"sha256": "sha256-H8wLMLBB4pSbiilmP9C0WPn62fCYHgPhy8OlvtrUYro=",
"vendorSha256": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI=",
"version": "1.5.0-beta.2"
"version": "1.5.0"
},
"oci": {
"owner": "oracle",
"provider-source-address": "registry.terraform.io/oracle/oci",
"repo": "terraform-provider-oci",
"rev": "v4.73.0",
"sha256": "sha256-duONflOa+ZmWNAOZTcjLJUaeIUSiDR3VC4+SC4UXBBg=",
"rev": "v4.74.0",
"sha256": "sha256-hZpEhhI2pqOPLQm6XnVGIccyC1kVmLusUzF3KRbAHys=",
"vendorSha256": null,
"version": "4.73.0"
"version": "4.74.0"
},
"okta": {
"owner": "okta",
"provider-source-address": "registry.terraform.io/okta/okta",
"repo": "terraform-provider-okta",
"rev": "v3.25.1",
"sha256": "sha256-+XCpk/vfAD8TWxMdi/WqXxDEh6cEZ684Zr+vkHnNMsI=",
"rev": "v3.26.0",
"sha256": "sha256-Mnc3JZtKNOB9VpsjXq8WiZz0+zmTmFRfOY23F186tw4=",
"vendorSha256": "sha256-LHiOQNFkMajqytrv387yIhAyCQCaG2Kw5OCI8Xe7u2k=",
"version": "3.25.1"
"version": "3.26.0"
},
"oktaasa": {
"owner": "oktadeveloper",
@ -927,10 +945,10 @@
"owner": "cyrilgdn",
"provider-source-address": "registry.terraform.io/cyrilgdn/postgresql",
"repo": "terraform-provider-postgresql",
"rev": "v1.15.0",
"sha256": "04gm7y5qyvipg0a0glgyx257vjrkk4k5pjrvzik6adyrjyidixw1",
"vendorSha256": "0pp9c76zdpfyq57jcwv258gipvmy6hjqi933xdi155hkx45cnixr",
"version": "1.15.0"
"rev": "v1.16.0",
"sha256": "sha256-nueqs2SJZxGNzm/gv/mBo8geXI8nZqmDFQ0e539oV2M=",
"vendorSha256": "sha256-o2+Uuz0dStf33WZuTFLkJX5rg4G7sJ23/+q+xtQ4mhE=",
"version": "1.16.0"
},
"powerdns": {
"owner": "pan-net",
@ -999,10 +1017,10 @@
"owner": "selectel",
"provider-source-address": "registry.terraform.io/selectel/selectel",
"repo": "terraform-provider-selectel",
"rev": "v3.8.1",
"sha256": "sha256-542fWLMJ9nO3Pu/QpUFZtu2eQoQOaAjaaK3aqtyoJPQ=",
"rev": "v3.8.2",
"sha256": "sha256-Lp2ptLuN/+/fcqeSbIMmL4dmOCoplyZeA10wAsCnYlg=",
"vendorSha256": "sha256-kmsO9jFoR/93PkOeIo0pkS/OjE+m3QbIspobAv/9+KI=",
"version": "3.8.1"
"version": "3.8.2"
},
"sentry": {
"owner": "jianyuan",
@ -1026,10 +1044,10 @@
"owner": "splunk-terraform",
"provider-source-address": "registry.terraform.io/splunk-terraform/signalfx",
"repo": "terraform-provider-signalfx",
"rev": "v6.13.0",
"sha256": "sha256-te5+WjbvU7RV22o22iWu8rGEnBfPkZNzkigziOlxMQg=",
"rev": "v6.13.1",
"sha256": "sha256-OtWJgLObTaWCGOjxN8nlkmfW+D6EMS0esht/OkJaioM=",
"vendorSha256": "sha256-yWqUsObvABwmA6V9ecz8SFtk1Bhdq2/dUpnNLKQtuNM=",
"version": "6.13.0"
"version": "6.13.1"
},
"skytap": {
"owner": "skytap",
@ -1044,10 +1062,10 @@
"owner": "chanzuckerberg",
"provider-source-address": "registry.terraform.io/chanzuckerberg/snowflake",
"repo": "terraform-provider-snowflake",
"rev": "v0.32.0",
"sha256": "sha256-Y4apbAQ4Up1VoQxB9w/4EYwhFX9sqYNLLBVxyOqmffE=",
"rev": "v0.33.1",
"sha256": "sha256-xFtk1WbMe2/UFGB/ej6QEL07+dZTsWFmqvyVCa2YBw8=",
"vendorSha256": "sha256-l++IzY3/W4qsdFJY7ik0xF6tZWluLb4EcW5KQtBVY5s=",
"version": "0.32.0"
"version": "0.33.1"
},
"sops": {
"owner": "carlpett",
@ -1107,10 +1125,10 @@
"owner": "tencentcloudstack",
"provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
"repo": "terraform-provider-tencentcloud",
"rev": "v1.71.0",
"sha256": "sha256-syj6fOBmErKsPQXYQ0U9bFC3butI06FJVLkD6RvWbFE=",
"rev": "v1.72.1",
"sha256": "sha256-vCCIHp8tpAn7PIIBMVXRSI9G420E1ijfYow9bfC3RKs=",
"vendorSha256": null,
"version": "1.71.0"
"version": "1.72.1"
},
"tfe": {
"owner": "hashicorp",

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.36.6";
version = "0.36.11";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
sha256 = "sha256-WSvdv4E/m6mJZdo3s9FHMETKaYNB7mltWrQlTHTFJ/E=";
sha256 = "sha256-kXa3iG94WTH6KpQksl2r0yXyr4KuLY2AZdZtZ6zWYUA=";
};
vendorSha256 = "sha256-tNgEepKqwiqXhmoRCIEg7VJw7Y0TGt+R+6dZzd8aECg=";
vendorSha256 = "sha256-7SUf4r+6r6dkBoBZFg2AUK114QEl0+1lwRA4ymYArFs=";
doCheck = false;

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "alfaview";
version = "8.43.0";
version = "8.44.0";
src = fetchurl {
url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
sha256 = "sha256-Rm1U3gxrToNCigL5AomftSUED7X3i7a6enmFnEzWV4c=";
sha256 = "sha256-6BhhUfULtCUO5jZFF+HxGuFCg0XojQ0NJUXHxMtnwN4=";
};
nativeBuildInputs = [

@ -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;

@ -18,21 +18,14 @@
, pkg-config
, readline
, sqlite
, autoAwaySupport ? true, libXScrnSaver ? null, libX11
, autoAwaySupport ? true, libXScrnSaver, libX11
, notifySupport ? true, libnotify, gdk-pixbuf
, omemoSupport ? true, libsignal-protocol-c, libgcrypt
, pgpSupport ? true, gpgme
, pythonPluginSupport ? true, python
, traySupport ? true, gtk
, pythonPluginSupport ? true, python3
, traySupport ? true, gtk3
}:
assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
assert notifySupport -> libnotify != null && gdk-pixbuf != null;
assert traySupport -> gtk != null;
assert pgpSupport -> gpgme != null;
assert pythonPluginSupport -> python != null;
assert omemoSupport -> libsignal-protocol-c != null && libgcrypt != null;
stdenv.mkDerivation rec {
pname = "profanity";
version = "0.12.0";
@ -75,8 +68,8 @@ stdenv.mkDerivation rec {
++ lib.optionals notifySupport [ libnotify gdk-pixbuf ]
++ lib.optionals omemoSupport [ libsignal-protocol-c libgcrypt ]
++ lib.optionals pgpSupport [ gpgme ]
++ lib.optionals pythonPluginSupport [ python ]
++ lib.optionals traySupport [ gtk ];
++ lib.optionals pythonPluginSupport [ python3 ]
++ lib.optionals traySupport [ gtk3 ];
# Enable feature flags, so that build fail if libs are missing
configureFlags = [

@ -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 = [

@ -1,5 +1,6 @@
{ lib
, stdenv
, runtimeShell
, fetchurl
, autoPatchelfHook
, wrapGAppsHook
@ -57,8 +58,6 @@ let
preFixup = ''
gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
gappsWrapperArgs+=(--add-flags --disable-namespace-sandbox)
gappsWrapperArgs+=(--add-flags --disable-setuid-sandbox)
'';
@ -121,9 +120,13 @@ let
done;
# fix for https://docs.microsoft.com/en-us/answers/questions/298724/open-teams-meeting-link-on-linux-doens39t-work.html?childToView=309406#comment-309406
# while we create the wrapper ourselves, gappsWrapperArgs leads to the same issue
# another option would be to introduce gappsWrapperAppendedArgs, to allow control of positioning
substituteInPlace "$out/bin/teams" --replace '.teams-wrapped" --disable-namespace-sandbox --disable-setuid-sandbox "$@"' '.teams-wrapped" "$@" --disable-namespace-sandbox --disable-setuid-sandbox'
wrapped=$out/bin/.teams-old
mv "$out/bin/teams" "$wrapped"
cat > "$out/bin/teams" << EOF
#! ${runtimeShell}
exec $wrapped "\$@" --disable-namespace-sandbox --disable-setuid-sandbox
EOF
chmod +x "$out/bin/teams"
'';
};

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "srain";
version = "1.3.2";
version = "1.4.0";
src = fetchFromGitHub {
owner = "SrainApp";
repo = "srain";
rev = version;
sha256 = "sha256-JsXReGmdBtzMXhrT1cFlkBbw8j/SxzgXSeHcHlns2po=";
sha256 = "sha256-oeC0zyDyh0lW1IMIJ9bjqryqz3Km4JJzRUxkO6LadoQ=";
};
nativeBuildInputs = [

@ -0,0 +1,38 @@
{ lib, fetchurl, appimageTools }:
let
pname = "raven-reader";
version = "1.0.72";
src = fetchurl {
url = "https://github.com/hello-efficiency-inc/raven-reader/releases/download/v${version}/Raven-Reader-${version}.AppImage";
sha256 = "sha256-Sx02VMAgmncT9f5Hvs0LugzhD6Z8cWXHx4kn8IG9seU=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
mkdir -p $out/share/${pname}
cp -a ${appimageContents}/locales $out/share/${pname}
cp -a ${appimageContents}/resources $out/share/${pname}
install -m 444 -D ${appimageContents}/raven-reader.desktop -t $out/share/applications
cp -a ${appimageContents}/usr/share/icons $out/share/
substituteInPlace $out/share/applications/raven-reader.desktop \
--replace 'Exec=AppRun' 'Exec=raven-reader'
'';
meta = with lib; {
description = "Open source desktop news reader with flexible settings to optimize your experience";
homepage = "https://ravenreader.app/";
license = licenses.mit;
maintainers = with maintainers; [ wolfangaukang ];
platforms = [ "x86_64-linux" ];
};
}

@ -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

@ -8,18 +8,18 @@
buildGoModule rec {
pname = "shellhub-agent";
version = "0.9.1";
version = "0.9.2";
src = fetchFromGitHub {
owner = "shellhub-io";
repo = "shellhub";
rev = "v${version}";
sha256 = "E1TX3GBVKn0tXloNhyiXOtDwSlO7mwXJ6zaOSHKZEFc=";
sha256 = "clLSkby7bmjScUpSZkVvHt5nSIoQOaYrxsoLqiuQZik=";
};
modRoot = "./agent";
vendorSha256 = "sha256-sPb49tRUHhwow7+IKiN33sgWYAa3lTpOD1vh8e5Wy68=";
vendorSha256 = "sha256-XVLsmU4EfOTFVpF5he+FCyDr/NuApUBC9R00nO1HJrg=";
ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];

@ -7,13 +7,13 @@ let
apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
in stdenv.mkDerivation rec {
pname = "backintime-common";
version = "1.2.1";
version = "1.3.2";
src = fetchFromGitHub {
owner = "bit-team";
repo = "backintime";
rev = "v${version}";
sha256 = "mBjheLY7DHs995heZmxVnDdvABkAROCjRJ4a/uJmJcg=";
sha256 = "sha256-7iTQZ7SiESsKK8F8BpLrRNkj8JhHo64kliaOvMvYGvw=";
};
nativeBuildInputs = [ makeWrapper gettext ];

@ -1,36 +1,22 @@
{ lib, stdenv, fetchurl, gtk2, pkg-config, fftw, file,
pythonSupport ? false, pythonPackages ? null,
gnome2 ? null,
openexrSupport ? true, openexr ? null,
libzipSupport ? true, libzip ? null,
libxml2Support ? true, libxml2 ? null,
libwebpSupport ? true, libwebp ? null,
pythonSupport ? false, python2Packages,
gnome2,
openexrSupport ? true, openexr,
libzipSupport ? true, libzip,
libxml2Support ? true, libxml2,
libwebpSupport ? true, libwebp,
# libXmu is not used if libunique is.
libXmuSupport ? false, xorg ? null,
libxsltSupport ? true, libxslt ? null,
fitsSupport ? true, cfitsio ? null,
zlibSupport ? true, zlib ? null,
libuniqueSupport ? true, libunique ? null,
libpngSupport ? true, libpng ? null,
libXmuSupport ? false, xorg,
libxsltSupport ? true, libxslt,
fitsSupport ? true, cfitsio,
zlibSupport ? true, zlib,
libuniqueSupport ? true, libunique,
libpngSupport ? true, libpng,
openglSupport ? !stdenv.isDarwin
}:
assert openexrSupport -> openexr != null;
assert libzipSupport -> libzip != null;
assert libxml2Support -> libxml2 != null;
assert libwebpSupport -> libwebp != null;
assert libXmuSupport -> xorg != null;
assert libxsltSupport -> libxslt != null;
assert fitsSupport -> cfitsio != null;
assert zlibSupport -> zlib != null;
assert libuniqueSupport -> libunique != null;
assert libpngSupport -> libpng != null;
assert openglSupport -> gnome2 != null;
assert pythonSupport -> (pythonPackages != null && gnome2 != null);
let
inherit (pythonPackages) pygtk pygobject2 python;
inherit (python2Packages) pygtk pygobject2 python;
in
stdenv.mkDerivation rec {

@ -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;
};

@ -78,7 +78,7 @@ mkDerivation rec {
description = "An open source prototyping tool for Arduino-based projects";
homepage = "https://fritzing.org/";
license = with licenses; [ gpl3 cc-by-sa-30 ];
maintainers = with maintainers; [ robberer musfay ];
maintainers = with maintainers; [ robberer muscaln ];
platforms = platforms.linux;
};
}

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "ott";
version = "0.31";
version = "0.32";
src = fetchFromGitHub {
owner = "ott-lang";
repo = "ott";
rev = version;
sha256 = "0l81126i2qkz11fs5yrjdgymnqgjcs5avb7f951h61yh1s68jpnn";
sha256 = "sha256-vdDsfsIi1gRW1Sowf29VyQ4C5UKyQZaVgS2uTb8VeW4=";
};
nativeBuildInputs = [ pkg-config opaline ];

@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
buildInputs = [ gtk3 ];
nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
nativeBuildInputs = [
makeWrapper
(wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
];
dontWrapGApps = true;

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "gurobi";
version = "9.5.0";
version = "9.5.1";
src = fetchurl {
url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
sha256 = "sha256-u1QuWl0WhfbjZOrwXqbFVySF/8N6IkUWnPPLQCiLwp4=";
sha256 = "sha256-+oKFnTPwj7iuudpmsPvZFxjtVzxTT1capSNyyd64kdo=";
};
sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";

@ -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";
};

@ -0,0 +1,58 @@
{ lib
, mkDerivation
, fetchFromGitLab
, cmake
, extra-cmake-modules
, applet-window-buttons
, karchive
, kcoreaddons
, ki18n
, kio
, kirigami2
, mauikit
, mauikit-filebrowsing
, qtmultimedia
, qtquickcontrols2
, taglib
, ffmpeg
}:
mkDerivation rec {
pname = "clip";
version = "2.1.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "maui";
repo = "clip";
rev = "v${version}";
sha256 = "sha256-vW3A0PKJSC2QNs+QVZ9w0g4aVmcndhahrpkd4wWoUko=";
};
nativeBuildInputs = [
cmake
extra-cmake-modules
];
buildInputs = [
applet-window-buttons
karchive
kcoreaddons
ki18n
kio
kirigami2
mauikit
mauikit-filebrowsing
qtmultimedia
qtquickcontrols2
taglib
ffmpeg
];
meta = with lib; {
description = "Video player and video collection manager";
homepage = "https://invent.kde.org/maui/clip";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ onny ];
};
}

@ -1,60 +1,37 @@
{ config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg
, aalibSupport ? true, aalib ? null
, fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
, fribidiSupport ? true, fribidi ? null
, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null
, xineramaSupport ? true, libXinerama ? null
, xvSupport ? true, libXv ? null
, alsaSupport ? stdenv.isLinux, alsa-lib ? null
, screenSaverSupport ? true, libXScrnSaver ? null
, vdpauSupport ? false, libvdpau ? null
, cddaSupport ? !stdenv.isDarwin, cdparanoia ? null
, dvdnavSupport ? !stdenv.isDarwin, libdvdnav ? null
, dvdreadSupport ? true, libdvdread ? null
, bluraySupport ? true, libbluray ? null
, amrSupport ? false, amrnb ? null, amrwb ? null
, cacaSupport ? true, libcaca ? null
, lameSupport ? true, lame ? null
, speexSupport ? true, speex ? null
, theoraSupport ? true, libtheora ? null
, x264Support ? false, x264 ? null
, jackaudioSupport ? false, libjack2 ? null
, pulseSupport ? config.pulseaudio or false, libpulseaudio ? null
, bs2bSupport ? false, libbs2b ? null
, v4lSupport ? false, libv4l ? null
, aalibSupport ? true, aalib
, fontconfigSupport ? true, fontconfig, freefont_ttf
, fribidiSupport ? true, fribidi
, x11Support ? true, libX11, libXext, libGLU, libGL
, xineramaSupport ? true, libXinerama
, xvSupport ? true, libXv
, alsaSupport ? stdenv.isLinux, alsa-lib
, screenSaverSupport ? true, libXScrnSaver
, vdpauSupport ? false, libvdpau
, cddaSupport ? !stdenv.isDarwin, cdparanoia
, dvdnavSupport ? !stdenv.isDarwin, libdvdnav
, dvdreadSupport ? true, libdvdread
, bluraySupport ? true, libbluray
, amrSupport ? false, amrnb, amrwb
, cacaSupport ? true, libcaca
, lameSupport ? true, lame
, speexSupport ? true, speex
, theoraSupport ? true, libtheora
, x264Support ? false, x264
, jackaudioSupport ? false, libjack2
, pulseSupport ? config.pulseaudio or false, libpulseaudio
, bs2bSupport ? false, libbs2b
, v4lSupport ? false, libv4l
# For screenshots
, libpngSupport ? true, libpng ? null
, libjpegSupport ? true, libjpeg ? null
, libpngSupport ? true, libpng
, libjpegSupport ? true, libjpeg
, useUnfreeCodecs ? false
, darwin ? null
, darwin
, buildPackages
}:
assert fontconfigSupport -> (fontconfig != null);
assert (!fontconfigSupport) -> (freefont_ttf != null);
assert fribidiSupport -> (fribidi != null);
assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null);
assert xineramaSupport -> (libXinerama != null && x11Support);
assert xvSupport -> (libXv != null && x11Support);
assert alsaSupport -> alsa-lib != null;
assert screenSaverSupport -> libXScrnSaver != null;
assert vdpauSupport -> libvdpau != null;
assert cddaSupport -> cdparanoia != null;
assert dvdnavSupport -> libdvdnav != null;
assert dvdreadSupport -> libdvdread != null;
assert bluraySupport -> libbluray != null;
assert amrSupport -> (amrnb != null && amrwb != null);
assert cacaSupport -> libcaca != null;
assert lameSupport -> lame != null;
assert speexSupport -> speex != null;
assert theoraSupport -> libtheora != null;
assert x264Support -> x264 != null;
assert jackaudioSupport -> libjack2 != null;
assert pulseSupport -> libpulseaudio != null;
assert bs2bSupport -> libbs2b != null;
assert libpngSupport -> libpng != null;
assert libjpegSupport -> libjpeg != null;
assert v4lSupport -> libv4l != null;
assert xineramaSupport -> x11Support;
assert xvSupport -> x11Support;
let

@ -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,7 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, meson
, ninja
, pkg-config
@ -17,22 +16,15 @@
stdenv.mkDerivation rec {
pname = "swaylock-effects";
version = "1.6-3";
version = "unstable-2021-10-21";
src = fetchFromGitHub {
owner = "mortie";
repo = "swaylock-effects";
rev = "v${version}";
sha256 = "sha256-71IX0fC4xCPP6pK63KtvDMb3KoP1rw/Iz3S7BgiLSpg=";
rev = "a8fc557b86e70f2f7a30ca9ff9b3124f89e7f204";
sha256 = "sha256-GN+cxzC11Dk1nN9wVWIyv+rCrg4yaHnCePRYS1c4JTk=";
};
patches = [
(fetchpatch {
url = "https://github.com/mortie/swaylock-effects/commit/dfff235b09b475e79d75a040a0307a359974d360.patch";
sha256 = "t8Xz2wRSBlwGtkpWZyIGWX7V/y0P1r/50P8MfauMh4c=";
})
];
postPatch = ''
sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build
'';
@ -55,6 +47,6 @@ stdenv.mkDerivation rec {
inherit (src.meta) homepage;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ gnxlxnxx ];
maintainers = with maintainers; [ gnxlxnxx ma27 ];
};
}

@ -2,7 +2,6 @@
, stdenv
, fetchFromGitHub
, substituteAll
, fetchpatch
, meson
, ninja
, pkg-config
@ -17,6 +16,7 @@
, libxml2
, glib
, gobject-introspection
, json-glib
, libpeas
, gsettings-desktop-schemas
, gettext
@ -24,13 +24,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-pomodoro";
version = "0.20.0";
version = "0.21.1";
src = fetchFromGitHub {
owner = "gnome-pomodoro";
repo = "gnome-pomodoro";
rev = version;
sha256 = "sha256-USzLHoBM0QbBPtbTzJJY02cOSDtmlxPGYhMj7M1FJic=";
sha256 = "sha256-47gZsL1Hg30wtq6NeZdi8gbLHUZJ34KLzxvIg5DqyUk=";
};
patches = [
@ -40,13 +40,6 @@ stdenv.mkDerivation rec {
src = ./fix-schema-path.patch;
inherit pname version;
})
# Fix error reporting code.
# https://github.com/gnome-pomodoro/gnome-pomodoro/pull/591
(fetchpatch {
url = "https://github.com/gnome-pomodoro/gnome-pomodoro/commit/133bd62f15653856d9705b66188b42c20d81719e.patch";
sha256 = "A20K+57A6/lYH2Buri2+wrCQgz6EGBdYg2xQbHPSkYc=";
})
];
nativeBuildInputs = [
@ -69,6 +62,7 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
gtk3
json-glib
libcanberra
libpeas
sqlite

@ -0,0 +1,306 @@
From 86f2f767ddffd9f7c6f1470b987ae7b0d251b988 Mon Sep 17 00:00:00 2001
From: Liu Hao <lh_mouse@126.com>
Date: Wed, 25 Apr 2018 21:54:19 +0800
Subject: [PATCH] Added 'mcf' thread model support from mcfgthread.
Signed-off-by: Liu Hao <lh_mouse@126.com>
---
config/gthr.m4 | 1 +
gcc/config.gcc | 3 +++
gcc/config/i386/mingw-mcfgthread.h | 1 +
gcc/config/i386/mingw-w64.h | 2 +-
gcc/config/i386/mingw32.h | 11 ++++++++++-
gcc/configure | 2 +-
gcc/configure.ac | 2 +-
libatomic/configure.tgt | 2 +-
libgcc/config.host | 6 ++++++
libgcc/config/i386/gthr-mcf.h | 1 +
libgcc/config/i386/t-mingw-mcfgthread | 2 ++
libgcc/configure | 1 +
libstdc++-v3/configure | 1 +
libstdc++-v3/libsupc++/atexit_thread.cc | 18 ++++++++++++++++++
libstdc++-v3/libsupc++/guard.cc | 23 +++++++++++++++++++++++
libstdc++-v3/src/c++11/thread.cc | 9 +++++++++
16 files changed, 80 insertions(+), 5 deletions(-)
create mode 100644 gcc/config/i386/mingw-mcfgthread.h
create mode 100644 libgcc/config/i386/gthr-mcf.h
create mode 100644 libgcc/config/i386/t-mingw-mcfgthread
diff --git a/config/gthr.m4 b/config/gthr.m4
index 7b29f1f3327..82e21fe1709 100644
--- a/config/gthr.m4
+++ b/config/gthr.m4
@@ -21,6 +21,7 @@ case $1 in
tpf) thread_header=config/s390/gthr-tpf.h ;;
vxworks) thread_header=config/gthr-vxworks.h ;;
win32) thread_header=config/i386/gthr-win32.h ;;
+ mcf) thread_header=config/i386/gthr-mcf.h ;;
esac
AC_SUBST(thread_header)
])
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 46a9029acec..112c24e95a3 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1758,6 +1758,9 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
if test x$enable_threads = xposix ; then
tm_file="${tm_file} i386/mingw-pthread.h"
fi
+ if test x$enable_threads = xmcf ; then
+ tm_file="${tm_file} i386/mingw-mcfgthread.h"
+ fi
tm_file="${tm_file} i386/mingw32.h"
# This makes the logic if mingw's or the w64 feature set has to be used
case ${target} in
diff --git a/gcc/config/i386/mingw-mcfgthread.h b/gcc/config/i386/mingw-mcfgthread.h
new file mode 100644
index 00000000000..ec381a7798f
--- /dev/null
+++ b/gcc/config/i386/mingw-mcfgthread.h
@@ -0,0 +1 @@
+#define TARGET_USE_MCFGTHREAD 1
diff --git a/gcc/config/i386/mingw-w64.h b/gcc/config/i386/mingw-w64.h
index 484dc7a9e9f..a15bbeea500 100644
--- a/gcc/config/i386/mingw-w64.h
+++ b/gcc/config/i386/mingw-w64.h
@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3. If not see
"%{mwindows:-lgdi32 -lcomdlg32} " \
"%{fvtable-verify=preinit:-lvtv -lpsapi; \
fvtable-verify=std:-lvtv -lpsapi} " \
- "-ladvapi32 -lshell32 -luser32 -lkernel32"
+ LIB_MCFGTHREAD "-ladvapi32 -lshell32 -luser32 -lkernel32"
#undef SPEC_32
#undef SPEC_64
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index 0612b87199a..76cea94f3b7 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -32,6 +32,14 @@ along with GCC; see the file COPYING3. If not see
| MASK_STACK_PROBE | MASK_ALIGN_DOUBLE \
| MASK_MS_BITFIELD_LAYOUT)
+#ifndef TARGET_USE_MCFGTHREAD
+#define CPP_MCFGTHREAD() ((void)0)
+#define LIB_MCFGTHREAD ""
+#else
+#define CPP_MCFGTHREAD() (builtin_define("__USING_MCFGTHREAD__"))
+#define LIB_MCFGTHREAD " -lmcfgthread "
+#endif
+
/* See i386/crtdll.h for an alternative definition. _INTEGRAL_MAX_BITS
is for compatibility with native compiler. */
#define EXTRA_OS_CPP_BUILTINS() \
@@ -50,6 +58,7 @@ along with GCC; see the file COPYING3. If not see
builtin_define_std ("WIN64"); \
builtin_define ("_WIN64"); \
} \
+ CPP_MCFGTHREAD(); \
} \
while (0)
@@ -93,7 +102,7 @@ along with GCC; see the file COPYING3. If not see
"%{mwindows:-lgdi32 -lcomdlg32} " \
"%{fvtable-verify=preinit:-lvtv -lpsapi; \
fvtable-verify=std:-lvtv -lpsapi} " \
- "-ladvapi32 -lshell32 -luser32 -lkernel32"
+ LIB_MCFGTHREAD "-ladvapi32 -lshell32 -luser32 -lkernel32"
/* Weak symbols do not get resolved if using a Windows dll import lib.
Make the unwind registration references strong undefs. */
diff --git a/gcc/configure b/gcc/configure
index 6121e163259..52f0e00efe6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -11693,7 +11693,7 @@ case ${enable_threads} in
target_thread_file='single'
;;
aix | dce | lynx | mipssde | posix | rtems | \
- single | tpf | vxworks | win32)
+ single | tpf | vxworks | win32 | mcf)
target_thread_file=${enable_threads}
;;
*)
diff --git a/gcc/configure.ac b/gcc/configure.ac
index b066cc609e1..4ecdba88de7 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1612,7 +1612,7 @@ case ${enable_threads} in
target_thread_file='single'
;;
aix | dce | lynx | mipssde | posix | rtems | \
- single | tpf | vxworks | win32)
+ single | tpf | vxworks | win32 | mcf)
target_thread_file=${enable_threads}
;;
*)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index ea8c34f8c71..23134ad7363 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -145,7 +145,7 @@ case "${target}" in
*-*-mingw*)
# OS support for atomic primitives.
case ${target_thread_file} in
- win32)
+ win32 | mcf)
config_path="${config_path} mingw"
;;
posix)
diff --git a/libgcc/config.host b/libgcc/config.host
index 11b4acaff55..9fbd38650bd 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -737,6 +737,9 @@ i[34567]86-*-mingw*)
posix)
tmake_file="i386/t-mingw-pthread $tmake_file"
;;
+ mcf)
+ tmake_file="i386/t-mingw-mcfgthread $tmake_file"
+ ;;
esac
# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
if test x$ac_cv_sjlj_exceptions = xyes; then
@@ -761,6 +764,9 @@ x86_64-*-mingw*)
posix)
tmake_file="i386/t-mingw-pthread $tmake_file"
;;
+ mcf)
+ tmake_file="i386/t-mingw-mcfgthread $tmake_file"
+ ;;
esac
# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
if test x$ac_cv_sjlj_exceptions = xyes; then
diff --git a/libgcc/config/i386/gthr-mcf.h b/libgcc/config/i386/gthr-mcf.h
new file mode 100644
index 00000000000..5ea2908361f
--- /dev/null
+++ b/libgcc/config/i386/gthr-mcf.h
@@ -0,0 +1 @@
+#include <mcfgthread/gthread.h>
diff --git a/libgcc/config/i386/t-mingw-mcfgthread b/libgcc/config/i386/t-mingw-mcfgthread
new file mode 100644
index 00000000000..4b9b10e32d6
--- /dev/null
+++ b/libgcc/config/i386/t-mingw-mcfgthread
@@ -0,0 +1,2 @@
+SHLIB_PTHREAD_CFLAG =
+SHLIB_PTHREAD_LDFLAG = -lmcfgthread
diff --git a/libgcc/configure b/libgcc/configure
index b2f3f870844..eff889dc3b3 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -5451,6 +5451,7 @@ case $target_thread_file in
tpf) thread_header=config/s390/gthr-tpf.h ;;
vxworks) thread_header=config/gthr-vxworks.h ;;
win32) thread_header=config/i386/gthr-win32.h ;;
+ mcf) thread_header=config/i386/gthr-mcf.h ;;
esac
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index ba094be6f15..979a5ab9ace 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -15187,6 +15187,7 @@ case $target_thread_file in
tpf) thread_header=config/s390/gthr-tpf.h ;;
vxworks) thread_header=config/gthr-vxworks.h ;;
win32) thread_header=config/i386/gthr-win32.h ;;
+ mcf) thread_header=config/i386/gthr-mcf.h ;;
esac
diff --git a/libstdc++-v3/libsupc++/atexit_thread.cc b/libstdc++-v3/libsupc++/atexit_thread.cc
index de920d714c6..665fb74bd6b 100644
--- a/libstdc++-v3/libsupc++/atexit_thread.cc
+++ b/libstdc++-v3/libsupc++/atexit_thread.cc
@@ -25,6 +25,22 @@
#include <cstdlib>
#include <new>
#include "bits/gthr.h"
+
+#ifdef __USING_MCFGTHREAD__
+
+#include <mcfgthread/gthread.h>
+namespace __cxxabiv1 {
+extern "C" int
+__cxa_thread_atexit (void (_GLIBCXX_CDTOR_CALLABI *dtor)(void *),
+ void *obj, void *dso_handle)
+ _GLIBCXX_NOTHROW
+{
+ return ::_MCFCRT_AtThreadExit((void (*)(_MCFCRT_STD intptr_t))dtor, (_MCFCRT_STD intptr_t)obj) ? 0 : -1;
+ (void)dso_handle;
+}
+}
+#else // __USING_MCFGTHREAD__
+
#ifdef _GLIBCXX_THREAD_ATEXIT_WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
@@ -167,3 +183,5 @@ __cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *), void *obj, void */*dso_ha
}
#endif /* _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL */
+
+#endif // __USING_MCFGTHREAD__
diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc
index 3a2ec3ad0d6..8b4cc96199b 100644
--- a/libstdc++-v3/libsupc++/guard.cc
+++ b/libstdc++-v3/libsupc++/guard.cc
@@ -28,6 +28,27 @@
#include <cxxabi.h>
#include <exception>
#include <new>
+
+#ifdef __USING_MCFGTHREAD__
+
+#include <mcfgthread/gthread.h>
+
+namespace __cxxabiv1 {
+
+extern "C" int __cxa_guard_acquire(__guard *g){
+ return ::_MCFCRT_WaitForOnceFlagForever((::_MCFCRT_OnceFlag *)g) == ::_MCFCRT_kOnceResultInitial;
+}
+extern "C" void __cxa_guard_abort(__guard *g) throw() {
+ ::_MCFCRT_SignalOnceFlagAsAborted((::_MCFCRT_OnceFlag *)g);
+}
+extern "C" void __cxa_guard_release(__guard *g) throw() {
+ ::_MCFCRT_SignalOnceFlagAsFinished((::_MCFCRT_OnceFlag *)g);
+}
+
+}
+
+#else // __USING_MCFGTHREAD__
+
#include <ext/atomicity.h>
#include <ext/concurrence.h>
#include <bits/atomic_lockfree_defines.h>
@@ -425,3 +446,5 @@ namespace __cxxabiv1
#endif
}
}
+
+#endif
diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc
index 8238817c2e9..0c6a1f85f6f 100644
--- a/libstdc++-v3/src/c++11/thread.cc
+++ b/libstdc++-v3/src/c++11/thread.cc
@@ -55,6 +55,15 @@ static inline int get_nprocs()
#elif defined(_GLIBCXX_USE_SC_NPROC_ONLN)
# include <unistd.h>
# define _GLIBCXX_NPROCS sysconf(_SC_NPROC_ONLN)
+#elif defined(_WIN32)
+# include <windows.h>
+static inline int get_nprocs()
+{
+ SYSTEM_INFO sysinfo;
+ GetSystemInfo(&sysinfo);
+ return (int)sysinfo.dwNumberOfProcessors;
+}
+# define _GLIBCXX_NPROCS get_nprocs()
#else
# define _GLIBCXX_NPROCS 0
#endif
--
2.17.0

@ -0,0 +1,294 @@
{ lib, stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
, langC ? true, langCC ? true, langFortran ? false
, langAda ? false
, langObjC ? stdenv.targetPlatform.isDarwin
, langObjCpp ? stdenv.targetPlatform.isDarwin
, langGo ? false
, reproducibleBuild ? true
, profiledCompiler ? false
, langJit ? false
, staticCompiler ? false
, enableShared ? !stdenv.targetPlatform.isStatic
, enableLTO ? !stdenv.hostPlatform.isStatic
, texinfo ? null
, perl ? null # optional, for texi2pod (then pod2man)
, gmp, mpfr, libmpc, gettext, which, patchelf
, libelf # optional, for link-time optimizations (LTO)
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null
, gnatboot ? null
, enableMultilib ? false
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
, name ? "gcc"
, libcCross ? null
, threadsCross ? null # for MinGW
, crossStageStatic ? false
, # Strip kills static libs of other archs (hence no cross)
stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
&& stdenv.targetPlatform.system == stdenv.hostPlatform.system
, gnused ? null
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
, buildPackages
}:
# LTO needs libelf and zlib.
assert libelf != null -> zlib != null;
# Make sure we get GNU sed.
assert stdenv.hostPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert langAda -> gnatboot != null;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
# profiledCompiler builds inject non-determinism in one of the compilation stages.
# If turned on, we can't provide reproducible builds anymore
assert reproducibleBuild -> profiledCompiler == false;
with lib;
with builtins;
let majorVersion = "12";
version = "${majorVersion}.1.0";
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional noSysDirs ../gcc-12-no-sys-dirs.patch
++ optional noSysDirs ../no-sys-dirs-riscv.patch
++ [
../gnat-cflags-11.patch
../gcc-12-gfortran-driving.patch
../ppc-musl.patch
] ++ optional (stdenv.isDarwin && stdenv.isAarch64) (fetchpatch {
url = "https://github.com/fxcoudert/gcc/compare/releases/gcc-11.1.0...gcc-11.1.0-arm-20210504.diff";
sha256 = "sha256-JqCGJAfbOxSmkNyq49aFHteK/RFsCSLQrL9mzUCnaD0=";
})
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
in
stdenv.mkDerivation ({
pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
inherit version;
builder = ../builder.sh;
src = fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
sha256 = "sha256-Yv1jSInzHAK2SvLEaPBktHrRynhBHEWr5qxLX43RnHs=";
};
inherit patches;
outputs = [ "out" "man" "info" ] ++ lib.optional (!langJit) "lib";
setOutputFlags = false;
NIX_NO_SELF_RPATH = true;
libc_dev = stdenv.cc.libc_dev;
hardeningDisable = [ "format" "pie" ];
postPatch = ''
configureScripts=$(find . -name configure)
for configureScript in $configureScripts; do
patchShebangs $configureScript
done
''
# This should kill all the stdinc frameworks that gcc and friends like to
# insert into default search paths.
+ lib.optionalString hostPlatform.isDarwin ''
substituteInPlace gcc/config/darwin-c.c \
--replace 'if (stdinc)' 'if (0)'
substituteInPlace libgcc/config/t-slibgcc-darwin \
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name ''${!outputLib}/lib/\$(SHLIB_INSTALL_NAME)"
substituteInPlace libgfortran/configure \
--replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname"
''
+ (
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
libc = if libcCross != null then libcCross else stdenv.cc.libc;
in
(
'' echo "fixing the \`GLIBC_DYNAMIC_LINKER', \`UCLIBC_DYNAMIC_LINKER', and \`MUSL_DYNAMIC_LINKER' macros..."
for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
do
grep -q _DYNAMIC_LINKER "$header" || continue
echo " fixing \`$header'..."
sed -i "$header" \
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \
-e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
done
''
+ lib.optionalString (targetPlatform.libc == "musl")
''
sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
''
)
else "")
+ lib.optionalString targetPlatform.isAvr ''
makeFlagsArray+=(
'-s' # workaround for hitting hydra log limit
'LIMITS_H_TEST=false'
)
'';
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ texinfo which gettext ]
++ (optional (perl != null) perl)
++ (optional langAda gnatboot)
;
# For building runtime libs
depsBuildTarget =
(
if hostPlatform == buildPlatform then [
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
] else assert targetPlatform == hostPlatform; [ # build != host == target
stdenv.cc
]
)
++ optional targetPlatform.isLinux patchelf;
buildInputs = [
gmp mpfr libmpc libelf
targetPackages.stdenv.cc.bintools # For linking code at run-time
] ++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
preConfigure = import ../common/pre-configure.nix {
inherit lib;
inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit;
};
dontDisableStatic = true;
configurePlatforms = [ "build" "host" "target" ];
configureFlags = import ../common/configure-flags.nix {
inherit
lib
stdenv
targetPackages
crossStageStatic libcCross
version
gmp mpfr libmpc libelf isl
enableLTO
enableMultilib
enablePlugin
enableShared
langC
langCC
langFortran
langAda
langGo
langObjC
langObjCpp
langJit
;
};
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
buildFlags = optional
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
dontStrip = !stripped;
installTargets = optional stripped "install-strip";
# https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# library headers and binaries, regarless of the language being compiled.
#
# Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
inherit
(import ../common/extra-target-flags.nix {
inherit lib stdenv crossStageStatic libcCross threadsCross;
})
EXTRA_FLAGS_FOR_TARGET
EXTRA_LDFLAGS_FOR_TARGET
;
passthru = {
inherit langC langCC langObjC langObjCpp langAda langFortran langGo version;
isGNU = true;
};
enableParallelBuilding = true;
inherit enableShared enableMultilib;
inherit (stdenv) is64bit;
meta = {
homepage = "https://gcc.gnu.org/";
license = lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
description = "GNU Compiler Collection, version ${version}"
+ (if stripped then "" else " (with debugging info)");
longDescription = ''
The GNU Compiler Collection includes compiler front ends for C, C++,
Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
libraries for these languages (libstdc++, libgomp,...).
GCC development is a part of the GNU Project, aiming to improve the
compiler used in the GNU system including the GNU/Linux variant.
'';
maintainers = lib.teams.gcc.members;
platforms = lib.platforms.unix;
};
}
// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
makeFlags = [ "all-gcc" "all-target-libgcc" ];
installTargets = "install-gcc install-target-libgcc";
}
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
)

@ -0,0 +1,20 @@
This patch fixes interaction with Libtool.
See <http://thread.gmane.org/gmane.comp.gcc.patches/258777>, for details.
--- a/gcc/fortran/gfortranspec.cc
+++ b/gcc/fortran/gfortranspec.cc
@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n"));
{
fprintf (stderr, _("Driving:"));
for (i = 0; i < g77_newargc; i++)
+ {
+ if (g77_new_decoded_options[i].opt_index == OPT_l)
+ /* Make sure no white space is inserted after `-l'. */
+ fprintf (stderr, " -l%s",
+ g77_new_decoded_options[i].canonical_option[1]);
+ else
fprintf (stderr, " %s",
g77_new_decoded_options[i].orig_option_with_args_text);
+ }
fprintf (stderr, "\n");
}

@ -0,0 +1,26 @@
--- a/gcc/cppdefault.cc 2013-01-10 21:38:27.000000000 +0100
+++ b/gcc/cppdefault.cc 2014-08-18 16:20:32.893944536 +0200
@@ -35,6 +35,8 @@
# undef CROSS_INCLUDE_DIR
#endif
+#undef LOCAL_INCLUDE_DIR
+
const struct default_include cpp_include_defaults[]
#ifdef INCLUDE_DEFAULTS
= INCLUDE_DEFAULTS;
--- a/gcc/gcc.cc 2014-03-23 12:30:57.000000000 +0100
+++ b/gcc/gcc.cc 2014-08-18 13:19:32.689201690 +0200
@@ -1162,10 +1162,10 @@
/* Default prefixes to attach to command names. */
#ifndef STANDARD_STARTFILE_PREFIX_1
-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
+#define STANDARD_STARTFILE_PREFIX_1 ""
#endif
#ifndef STANDARD_STARTFILE_PREFIX_2
-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
+#define STANDARD_STARTFILE_PREFIX_2 ""
#endif
#ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */

@ -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";

@ -1,6 +1,19 @@
{ lib, buildPythonPackage, fetchPypi, writeText, asttokens
, pycryptodome, pytest-xdist, pytest-cov, recommonmark, semantic-version, sphinx
, sphinx_rtd_theme, pytest-runner, setuptools-scm }:
{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, pythonAtLeast
, pythonRelaxDepsHook
, writeText
, asttokens
, pycryptodome
, recommonmark
, semantic-version
, sphinx
, sphinx_rtd_theme
, pytest-runner
, setuptools-scm
}:
let
sample-contract = writeText "example.vy" ''
@ -10,18 +23,27 @@ let
def __init__(foo: address):
self.count = 1
'';
in
in
buildPythonPackage rec {
pname = "vyper";
version = "0.3.1";
format = "setuptools";
disabled = pythonOlder "3.7" || pythonAtLeast "3.10";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fXug5v3zstz19uexMWokHBVsfcl2ZCdIOIXKeLVyh/Q=";
};
nativeBuildInputs = [ pytest-runner setuptools-scm ];
nativeBuildInputs = [
pythonRelaxDepsHook
pytest-runner
setuptools-scm
];
pythonRelaxDeps = [ "semantic-version" ];
propagatedBuildInputs = [
asttokens

@ -1,287 +0,0 @@
{ stdenv
, lib
, fetchurl
, clojure
, gnutar
, nodejs
, jre
, unzip
, nodePackages
, xcbuild
, python2
, openssl
, pkgs
, fetchgit
, darwin
}:
let
version = "1.10.1";
nodeVersion = "11.13.0";
nodeSources = fetchurl {
url = "https://nodejs.org/dist/v${nodeVersion}/node-v${nodeVersion}.tar.gz";
sha256 = "1cjzjbshxnysxkvbf41p3m8298cnhs9kfvdczgvvvlp6w16x4aac";
};
lumo-internal-classpath = "LUMO__INTERNAL__CLASSPATH";
# as found in cljs/snapshot/lumo/repl.cljs
requireDeps = '' \
cljs.analyzer \
cljs.compiler \
cljs.env \
cljs.js \
cljs.reader \
cljs.repl \
cljs.source-map \
cljs.source-map.base64 \
cljs.source-map.base64-vlq \
cljs.spec.alpha \
cljs.spec.gen.alpha \
cljs.tagged-literals \
cljs.tools.reader \
cljs.tools.reader.reader-types \
cljs.tools.reader.impl.commons \
cljs.tools.reader.impl.utils \
clojure.core.rrb-vector \
clojure.core.rrb-vector.interop \
clojure.core.rrb-vector.nodes \
clojure.core.rrb-vector.protocols \
clojure.core.rrb-vector.rrbt \
clojure.core.rrb-vector.transients \
clojure.core.rrb-vector.trees \
clojure.string \
clojure.set \
clojure.walk \
cognitect.transit \
fipp.visit \
fipp.engine \
fipp.deque \
lazy-map.core \
lumo.pprint.data \
lumo.repl \
lumo.repl-resources \
lumo.js-deps \
lumo.common '';
compileClojurescript = (simple: ''
(require '[cljs.build.api :as cljs])
(cljs/build \"src/cljs/snapshot\"
{:optimizations ${if simple then ":simple" else ":none"}
:main 'lumo.core
:cache-analysis true
:source-map false
:dump-core false
:static-fns true
:optimize-constants false
:npm-deps false
:verbose true
:closure-defines {'cljs.core/*target* \"nodejs\"
'lumo.core/*lumo-version* \"${version}\"}
:compiler-stats true
:process-shim false
:fn-invoke-direct true
:parallel-build false
:browser-repl false
:target :nodejs
:hashbang false
;; :libs [ \"src/cljs/bundled\" \"src/js\" ]
:output-dir ${if simple
then ''\"cljstmp\"''
else ''\"target\"''}
:output-to ${if simple
then ''\"cljstmp/main.js\"''
else ''\"target/deleteme.js\"'' }})
''
);
cacheToJsons = ''
(import [java.io ByteArrayOutputStream FileInputStream])
(require '[cognitect.transit :as transit]
'[clojure.edn :as edn]
'[clojure.string :as str])
(defn write-transit-json [cache]
(let [out (ByteArrayOutputStream. 1000000)
writer (transit/writer out :json)]
(transit/write writer cache)
(.toString out)))
(defn process-caches []
(let [cache-aot-path \"target/cljs/core.cljs.cache.aot.edn\"
cache-aot-edn (edn/read-string (slurp cache-aot-path))
cache-macros-path \"target/cljs/core\$macros.cljc.cache.json\"
cache-macros-stream (FileInputStream. cache-macros-path)
cache-macros-edn (transit/read (transit/reader cache-macros-stream :json))
caches [[cache-aot-path cache-aot-edn]
[cache-macros-path cache-macros-edn]]]
(doseq [[path cache-edn] caches]
(doseq [key (keys cache-edn)]
(let [out-path (str/replace path #\"(\.json|\.edn)\$\"
(str \".\" (munge key) \".json\"))
tr-json (write-transit-json (key cache-edn))]
(spit out-path tr-json))))))
(process-caches)
'';
trimMainJsEnd = ''
(let [string (slurp \"target/main.js\")]
(spit \"target/main.js\"
(subs string 0 (.indexOf string \"cljs.nodejs={};\"))))
'';
cljdeps = import ./deps.nix { inherit pkgs; };
classp = cljdeps.makeClasspaths {
extraClasspaths = [ "src/js" "src/cljs/bundled" "src/cljs/snapshot" ];
};
getJarPath = jarName: (lib.findFirst (p: p.name == jarName) null cljdeps.packages).path.jar;
in
stdenv.mkDerivation {
inherit version;
pname = "lumo";
src = fetchgit {
url = "https://github.com/anmonteiro/lumo.git";
rev = version;
sha256 = "12agi6bacqic2wq6q3l28283badzamspajmajzqm7fbdl2aq1a4p";
};
nativeBuildInputs = [ unzip ];
buildInputs = [
nodejs
clojure
jre
python2
openssl
gnutar
nodePackages."lumo-build-deps-../interpreters/clojurescript/lumo"
]
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
ApplicationServices
xcbuild
]
);
patches = [ ./no_mangle.patch ./mkdir_promise.patch ];
postPatch = ''
substituteInPlace $NIX_BUILD_TOP/lumo/vendor/nexe/exe.js \
--replace 'glob.sync(dir + "/*")' 'glob.sync(dir + "/../*")'
'';
buildPhase = ''
# Copy over lumo-build-deps environment
rm yarn.lock
cp -rf ${nodePackages."lumo-build-deps-../interpreters/clojurescript/lumo"}/lib/node_modules/lumo-build-deps/* ./
# configure clojure-cli
mkdir ./.cpcache
export CLJ_CONFIG=`pwd`
export CLJ_CACHE=`pwd`/.cpcache
# require more namespaces for cljs-bundle
sed -i "s!ns lumo.core! \
ns lumo.core \
(:require ${requireDeps}) \
(:require-macros [clojure.template :as temp] \
[cljs.test :as test])!g" \
./src/cljs/snapshot/lumo/core.cljs
# Step 1: compile clojurescript with :none and :simple
${clojure}/bin/clojure -Scp ${classp} -e "${compileClojurescript true}"
${clojure}/bin/clojure -Scp ${classp} -e "${compileClojurescript false}"
cp -f cljstmp/main.js target/main.js
${clojure}/bin/clojure -Scp ${classp} -e "${trimMainJsEnd}"
# Step 2: sift files
unzip -o ${getJarPath "org.clojure/clojurescript"} -d ./target
unzip -j ${getJarPath "org.clojure/clojure"} "clojure/template.clj" -d ./target/clojure
unzip -o ${getJarPath "org.clojure/google-closure-library"} -d ./target
unzip -o ${getJarPath "org.clojure/google-closure-library-third-party"} -d ./target
unzip -o ${getJarPath "org.clojure/tools.reader"} -d ./target
unzip -o ${getJarPath "org.clojure/test.check"} -d ./target
cp -rf ./src/cljs/bundled/lumo/* ./target/lumo/
cp -rf ./src/cljs/snapshot/lumo/repl.clj ./target/lumo/
# cleanup
mv ./target/main.js ./target/main
rm ./target/*\.js
mv ./target/main ./target/main.js
rm ./target/AUTHORS
rm ./target/LICENSE
rm ./target/*.edn
rm ./target/*.md
rm -rf ./target/css
rm -rf ./target/META-INF
rm -rf ./target/com
rm -rf ./target/cljs/build
rm -rf ./target/cljs/repl
rm ./target/cljs/core\.cljs\.cache.aot\.json
rm ./target/cljs/source_map\.clj
rm ./target/cljs/repl\.cljc
rm ./target/cljs/externs\.clj
rm ./target/cljs/closure\.clj
rm ./target/cljs/util\.cljc
rm ./target/cljs/js_deps\.cljc
rm ./target/cljs/analyzer/utils\.clj
rm ./target/cljs/core/macros\.clj
rm ./target/cljs/compiler/api.clj
rm ./target/goog/test_module*
rm ./target/goog/transpile\.js
rm ./target/goog/base_*
find ./target -type f -name '*.class' -delete
find ./target -type d -empty -delete
# Step 3: generate munged cache jsons
${clojure}/bin/clojure -Scp ${classp} -e "${cacheToJsons}"
rm ./target/cljs/core\$macros\.cljc\.cache\.json
# Step 4: Bunde javascript
NODE_ENV=production node scripts/bundle.js
node scripts/bundleForeign.js
# Step 5: Backup resources
cp -R target resources_bak
# Step 6: Package executeable 1st time
# fetch node sources and copy to palce that nexe will find
mkdir -p tmp/node/${nodeVersion}
cp ${nodeSources} tmp/node/${nodeVersion}/node-${nodeVersion}.tar.gz
tar -C ./tmp/node/${nodeVersion} -xf ${nodeSources} --warning=no-unknown-keyword
mv ./tmp/node/${nodeVersion}/node-v${nodeVersion}/* ./tmp/node/${nodeVersion}/
rm -rf ${lumo-internal-classpath}
cp -rf target ${lumo-internal-classpath}
node scripts/package.js ${nodeVersion}
rm -rf target
mv ${lumo-internal-classpath} target
# Step 7: AOT Macros
sh scripts/aot-bundle-macros.sh
# Step 8: Package executeable 2nd time
node scripts/package.js ${nodeVersion}
'';
dontStrip = true;
installPhase = ''
mkdir -p $out/bin
cp build/lumo $out/bin
'';
meta = {
description = "Fast, cross-platform, standalone ClojureScript environment";
longDescription = ''
Lumo is a fast, standalone ClojureScript REPL that runs on Node.js and V8.
Thanks to V8's custom startup snapshots, Lumo starts up instantaneously,
making it the fastest Clojure REPL in existence.
'';
homepage = "https://github.com/anmonteiro/lumo";
license = lib.licenses.epl10;
maintainers = [ lib.maintainers.hlolli ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
}

@ -1,12 +0,0 @@
{:deps
{org.clojure/clojure {:mvn/version "1.10.1"}
org.clojure/clojurescript {:mvn/version "1.10.520"}
org.clojure/test.check {:mvn/version "0.10.0-alpha4"}
org.clojure/tools.reader {:mvn/version "1.3.2"
:exclusions [org.clojure/clojure org.clojure/clojurescript]}
com.cognitect/transit-cljs {:mvn/version "0.8.256"
:exclusions [org.clojure/clojure org.clojure/clojurescript]}
malabarba/lazy-map {:mvn/version "1.3"
:exclusions [org.clojure/clojure org.clojure/clojurescript]}
fipp {:mvn/version "0.6.17"
:exclusions [org.clojure/clojure org.clojure/clojurescript]}}}

@ -1,392 +0,0 @@
# generated by clj2nix-1.0.4
{ pkgs }:
let repos = [
"https://repo.clojars.org/"
"https://repo1.maven.org/"
"https://oss.sonatype.org/content/repositories/releases/"
"https://oss.sonatype.org/content/repositories/public/"
"https://repo.typesafe.com/typesafe/releases/"
];
in rec {
makePaths = {extraClasspaths ? []}: (builtins.map (dep: if builtins.hasAttr "jar" dep.path then dep.path.jar else dep.path) packages) ++ extraClasspaths;
makeClasspaths = {extraClasspaths ? []}: builtins.concatStringsSep ":" (makePaths {inherit extraClasspaths;});
packages = [
{
name = "com.cognitect/transit-java";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "transit-java";
groupId = "com.cognitect";
sha512 = "80365a4f244e052b6c4fdfd2fd3b91288835599cb4dd88e0e0dae19883dcda39afee83966810ed81beff342111c3a45a66f5601c443f3ad49904908c43631708";
version = "0.8.332";
};
}
{
name = "org.clojure/data.json";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "data.json";
groupId = "org.clojure";
sha512 = "ce526bef01bedd31b772954d921a61832ae60af06121f29080853f7932326438b33d183240a9cffbe57e00dc3744700220753948da26b8973ee21c30e84227a6";
version = "0.2.6";
};
}
{
name = "org.clojure/clojure";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "clojure";
groupId = "org.clojure";
sha512 = "f28178179483531862afae13e246386f8fda081afa523d3c4ea3a083ab607d23575d38ecb9ec0ee7f4d65cbe39a119f680e6de4669bc9cf593aa92be0c61562b";
version = "1.10.1";
};
}
{
name = "commons-codec/commons-codec";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "commons-codec";
groupId = "commons-codec";
sha512 = "8edecc0faf38e8620460909d8191837f34e2bb2ce853677c486c5e79bb79e88d043c3aed69c11f1365c4884827052ee4e1c18ca56e38d1a5bc0ce15c57daeee3";
version = "1.10";
};
}
{
name = "com.google.errorprone/error_prone_annotations";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "error_prone_annotations";
groupId = "com.google.errorprone";
sha512 = "bd2135cc9eb2c652658a2814ec9c565fa3e071d4cff590cbe17b853885c78c9f84c1b7b24ba736f4f30ed8cec60a6af983827fcbed61ff142f27ac808e97fc6b";
version = "2.1.3";
};
}
{
name = "org.clojure/core.specs.alpha";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "core.specs.alpha";
groupId = "org.clojure";
sha512 = "348c0ea0911bc0dcb08655e61b97ba040649b4b46c32a62aa84d0c29c245a8af5c16d44a4fa5455d6ab076f4bb5bbbe1ad3064a7befe583f13aeb9e32a169bf4";
version = "0.2.44";
};
}
{
name = "org.clojure/spec.alpha";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "spec.alpha";
groupId = "org.clojure";
sha512 = "18c97fb2b74c0bc2ff4f6dc722a3edec539f882ee85d0addf22bbf7e6fe02605d63f40c2b8a2905868ccd6f96cfc36a65f5fb70ddac31c6ec93da228a456edbd";
version = "0.2.176";
};
}
{
name = "org.codehaus.mojo/animal-sniffer-annotations";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "animal-sniffer-annotations";
groupId = "org.codehaus.mojo";
sha512 = "9e5e3ea9e06e0ac9463869fd0e08ed38f7042784995a7b50c9bfd7f692a53f0e1430b9e1367dc772d0d4eafe5fd2beabbcc60da5008bd792f9e7ec8436c0f136";
version = "1.14";
};
}
{
name = "com.googlecode.json-simple/json-simple";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "json-simple";
groupId = "com.googlecode.json-simple";
sha512 = "f8798bfbcc8ab8001baf90ce47ec2264234dc1da2d4aa97fdcdc0990472a6b5a5a32f828e776140777d598a99d8a0c0f51c6d0767ae1a829690ab9200ae35742";
version = "1.1.1";
};
}
{
name = "com.cognitect/transit-cljs";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "transit-cljs";
groupId = "com.cognitect";
sha512 = "318b98ddd63629f37b334bb90e625bc31ab6abcf0b1fa80d8e097551658f2d9219b5ee35869a31f2976d7d385da83bea0c07b0d097babcae241ecbd0fe8a7ecd";
version = "0.8.256";
};
}
{
name = "org.clojure/google-closure-library";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "google-closure-library";
groupId = "org.clojure";
sha512 = "75631182ef12f21723fe3eba1003d8cf9b8348a51512961e4e1b87bc24d8f3abb14a70c856f08cdaa5588a2d7c2b1b0c03aeaa3c4c5f2ed745a85f59ceeab83a";
version = "0.0-20170809-b9c14c6b";
};
}
{
name = "fipp";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "fipp";
groupId = "fipp";
sha512 = "d844ab63d28cb5e31657cc38e574bbc7072a78419c997f25445ac6ea4a719904a4f4844b37e3f664a8d2e49bd38ff1006a9e8c6e63fb4e2f0a2322d6c2638275";
version = "0.6.17";
};
}
{
name = "org.clojure/clojurescript";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "clojurescript";
groupId = "org.clojure";
sha512 = "b241959d6bd2ab659920965d301508226e26b3edcee469e4cd516cd4ed014b1a6b132c17ee7d96a8e66fe27fd01a74813ac8b85958d260f9fdbbeb4348d57ff1";
version = "1.10.520";
};
}
{
name = "com.google.jsinterop/jsinterop-annotations";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "jsinterop-annotations";
groupId = "com.google.jsinterop";
sha512 = "b6fd98a9167d031f6bff571567d4658fda62c132dc74d47ca85e02c9bb3ce8812b1012c67f4c81501ab0cbd9ccd9cda5dcf32d306e04368ace7a173cecae975d";
version = "1.0.0";
};
}
{
name = "com.fasterxml.jackson.core/jackson-core";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "jackson-core";
groupId = "com.fasterxml.jackson.core";
sha512 = "a1bd6c264b9ab07aad3d0f26b65757e35ff47904ab895bb7f997e3e1fd063129c177ad6f69876907b04ff8a43c6b1770a26f53a811633a29e66a5dce57194f64";
version = "2.8.7";
};
}
{
name = "malabarba/lazy-map";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "lazy-map";
groupId = "malabarba";
sha512 = "ce56d6f03ac344579e15f062cdd4c477c0323da716d4d4106c4edb746959699e0b294b25aacf8ecf1579a6bdd5556a60f4bcb1648d22832984c069a0431c840f";
version = "1.3";
};
}
{
name = "com.cognitect/transit-js";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "transit-js";
groupId = "com.cognitect";
sha512 = "6ca0978e633e41b45ff5a76df79099ba7c4900a8ca9f6acd2a903e4ab10a1ec0c83d4127009df9dac1337debaba01f7ff1d5cced1c2159c05ef94845f73f0623";
version = "0.8.846";
};
}
{
name = "org.mozilla/rhino";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "rhino";
groupId = "org.mozilla";
sha512 = "466e7a76303ea191802b5e7adb3dff64c1d6283a25ce87447296b693b87b166f4cdd191ef7dc130a5739bfa0e4a81b08550f607c84eec167406d9be2225562dc";
version = "1.7R5";
};
}
{
name = "org.clojure/google-closure-library-third-party";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "google-closure-library-third-party";
groupId = "org.clojure";
sha512 = "57fa84fbbca3eb9e612d2842e4476b74f64d13dd076ffca6c9d9e15c4ca8a2f2c56cc19307bcad0ab5b4f9cb0c3e7900ccc845bd570ebc92e2633885ab621f35";
version = "0.0-20170809-b9c14c6b";
};
}
{
name = "com.google.javascript/closure-compiler-externs";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "closure-compiler-externs";
groupId = "com.google.javascript";
sha512 = "1a47c8559144095c0b23a8e40acd7185625cea5a4c103eb75fbacd32d5809d087bfb60aaf57066329649c6017ec5f993756024e767a5b8f84926371ba6183a82";
version = "v20180805";
};
}
{
name = "org.javassist/javassist";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "javassist";
groupId = "org.javassist";
sha512 = "ad65ee383ed83bedecc2073118cb3780b68b18d5fb79a1b2b665ff8529df02446ad11e68f9faaf4f2e980065f5946761a59ada379312cbb22d002625abed6a4f";
version = "3.18.1-GA";
};
}
{
name = "com.google.guava/guava";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "guava";
groupId = "com.google.guava";
sha512 = "429ceeec0350ba98e2b089b8b70ded2ec570c3a684894a7545d10592c1c7be42dacd1fad8b2cb9123aa3612575ce1b56e1bb54923443fc293f8e9adeac2762ee";
version = "25.1-jre";
};
}
{
name = "org.msgpack/msgpack";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "msgpack";
groupId = "org.msgpack";
sha512 = "a2741bed01f9c37ba3dbe6a7ab9ce936d36d4da97c35e215250ac89ac0851fc5948d83975ea6257d5dce1d43b6b5147254ecfb4b33f9bbdc489500b3ff060449";
version = "0.6.12";
};
}
{
name = "com.google.j2objc/j2objc-annotations";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "j2objc-annotations";
groupId = "com.google.j2objc";
sha512 = "a4a0b58ffc2d9f9b516f571bcd0ac14e4d3eec15aacd6320a4a1a12045acce8c6081e8ce922c4e882221cedb2cc266399ab468487ae9a08124d65edc07ae30f0";
version = "1.1";
};
}
{
name = "com.cognitect/transit-clj";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "transit-clj";
groupId = "com.cognitect";
sha512 = "ad838d9e5688c8cebe54972ad0c9a6db428ec1cece8c8b078e8e8d4b0c7870b328239d2bc9dd8fcbedcba56ca0de9afb5a0a843ff5f630dc039118de7eb45eba";
version = "0.8.309";
};
}
{
name = "args4j/args4j";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "args4j";
groupId = "args4j";
sha512 = "5f0651234c8f8b130fddb39fa832c6da47d3e21bc3434307554314c47e672c28d005c64e9effe85d552190cfc27966b1f005740ffd40b4e1bec2cb257d7feedb";
version = "2.0.26";
};
}
{
name = "org.clojure/core.rrb-vector";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "core.rrb-vector";
groupId = "org.clojure";
sha512 = "4e410c4a90a869e98d5d69a8a6dd6427e9d77b70e1a2b54cf24baf23389f22e7a208375783c2fdc5c1a5acfb8511a5c5ed57ad1a946d5bffd203f453d90a6155";
version = "0.0.14";
};
}
{
name = "org.checkerframework/checker-qual";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "checker-qual";
groupId = "org.checkerframework";
sha512 = "3c38b0b9e0bde464268cff5fdb1894a048240b039093ee3abe5b32976a22737d26b355f8793f630a7f0b319fdb019a6fcd9ee1d5219676f0f10c0b0f496b61b7";
version = "2.0.0";
};
}
{
name = "org.clojure/tools.reader";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "tools.reader";
groupId = "org.clojure";
sha512 = "290a2d98b2eec08a8affc2952006f43c0459c7e5467dc454f5fb5670ea7934fa974e6be19f7e7c91dadcfed62082d0fbcc7788455b7446a2c9c5af02f7fc52b6";
version = "1.3.2";
};
}
{
name = "com.google.javascript/closure-compiler-unshaded";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "closure-compiler-unshaded";
groupId = "com.google.javascript";
sha512 = "4fa7029aabd9ff84255d56004707486726db9c770f43cb10dc44fb53a3254d588a0f47f937f55401d7f319267ec2362c87f5ea709bcfa06f12a66fe22cb8c53d";
version = "v20180805";
};
}
{
name = "org.clojure/test.check";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "test.check";
groupId = "org.clojure";
sha512 = "60fa3bd38c32cf193c573f1bd47c6abd7e7a5bb2fc7f7f9f97aa9dcd54d5e2eab9e351f5f83b01bb96b32811a9f2f5ab384c6b7b7ebbb6c86d1ad4f2789351bf";
version = "0.10.0-alpha4";
};
}
{
name = "com.google.protobuf/protobuf-java";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "protobuf-java";
groupId = "com.google.protobuf";
sha512 = "230fc4360b8b2ee10eb73d756c58478b6c779433aa4ca91938404bbfd0ada516d3215664dbe953c96649e33bbef293958e4ad4616671f0c246883196ece92998";
version = "3.0.2";
};
}
{
name = "com.google.code.findbugs/jsr305";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "jsr305";
groupId = "com.google.code.findbugs";
sha512 = "bb09db62919a50fa5b55906013be6ca4fc7acb2e87455fac5eaf9ede2e41ce8bbafc0e5a385a561264ea4cd71bbbd3ef5a45e02d63277a201d06a0ae1636f804";
version = "3.0.2";
};
}
{
name = "com.google.code.gson/gson";
path = pkgs.fetchMavenArtifact {
inherit repos;
artifactId = "gson";
groupId = "com.google.code.gson";
sha512 = "c3cdaf66a99e6336abc80ff23374f6b62ac95ab2ae874c9075805e91d849b18e3f620cc202b4978fc92b73d98de96089c8714b1dd096b2ae1958cfa085715f7a";
version = "2.7";
};
}
];
}

@ -1,20 +0,0 @@
diff --git a/vendor/nexe/exe.js b/vendor/nexe/exe.js
index 21e78bb..ecbfca4 100644
--- a/vendor/nexe/exe.js
+++ b/vendor/nexe/exe.js
@@ -254,9 +254,7 @@ return initModule._compile(${JSON.stringify(source)}, process.execPath);
*/
function makeOutputDirectory(next) {
- mkdirp(path.dirname(options.output), function() {
- next();
- });
+ mkdirp(path.dirname(options.output)).then(() => next());
},
/**
@@ -1107,4 +1105,3 @@ exports.package = function(path, options) {
return obj;
}
-

@ -1,13 +0,0 @@
diff --git a/scripts/bundle.js b/scripts/bundle.js
index 16425a4..0d510fc 100644
--- a/scripts/bundle.js
+++ b/scripts/bundle.js
@@ -73,6 +73,8 @@ const plugins = [
if (!isDevBuild) {
plugins.push(
babelMinify({
+ evaluate: false,
+ mangle: false,
comments: false,
removeConsole: true,
removeDebugger: true,

@ -1,51 +0,0 @@
{
"name": "lumo-build-deps",
"version": "1.10.1",
"dependencies": {
"@babel/core": "^7.1.5",
"@babel/plugin-external-helpers": "7.8.3",
"@babel/plugin-proposal-class-properties": "^7.1.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.1.0",
"@babel/preset-env": "^7.1.5",
"@babel/preset-stage-2": "7.8.3",
"@babel/runtime": "^7.1.5",
"async": "^3.1.1",
"async-retry": "^1.2.3",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "10.0.3",
"babel-jest": "^25.1.0",
"babel-loader": "^8.0.4",
"babel-plugin-transform-flow-strip-types": "6.22.0",
"browserify": "^16.2.3",
"chalk": "^3.0.0",
"colors": "^1.3.3",
"cross-env": "7.0.0",
"death": "^1.1.0",
"flow-bin": "0.118.0",
"google-closure-compiler-js": "20170910.0.1",
"glob": "^7.1.3",
"gunzip-maybe": "^1.4.1",
"insert-module-globals": "^7.2.0",
"jszip": "2.x",
"mkdirp": "^1.0.3",
"ncp": "^2.0.0",
"node-fetch": "^2.2.1",
"paredit.js": "0.3.6",
"posix-getopt": "github:anmonteiro/node-getopt#master",
"prettier": "1.19.1",
"progress": "^2.0.0",
"read-pkg": "^5.2.0",
"request": "^2.88.0",
"rollup": "^1.9.0",
"rollup-plugin-babel": "^4.3.2",
"rollup-plugin-babel-minify": "^9.1.1",
"rollup-plugin-commonjs": "^10.0.0",
"rollup-plugin-node-resolve": "^5.0.0",
"rollup-plugin-replace": "^2.1.1",
"tar-stream": "^2.0.1",
"webpack": "^4.25.1",
"webpack-cli": "^3.2.3",
"which-promise": "^1.0.0"
}
}

@ -1,4 +1,4 @@
{ lib, stdenv, mkDerivation, fetchurl, cmake
{ lib, stdenv, mkDerivation, fetchurl, fetchpatch, cmake
, pkg-config, alsa-lib, libjack2, libsndfile, fftw
, curl, gcc, libXt, qtbase, qttools, qtwebengine
, readline, qtwebsockets, useSCEL ? false, emacs
@ -18,6 +18,12 @@ mkDerivation rec {
patches = [
# add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values
./supercollider-3.12.0-env-dirs.patch
# fix issue with libsndfile >=1.1.0
(fetchpatch {
url = "https://github.com/supercollider/supercollider/commit/b9dd70c4c8d61c93d7a70645e0bd18fa76e6834e.patch";
hash = "sha256-6FhEHyY0rnE6d7wC+v0U9K+L0aun5LkTqaEFhr3eQNw=";
})
];
nativeBuildInputs = [ cmake pkg-config qttools ];

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk-doc, intltool
, audit, glib, libusb1, libxml2
, wrapGAppsHook
, gstreamer ? null
, gst-plugins-base ? null
, gst-plugins-good ? null
, gst-plugins-bad ? null
, libnotify ? null
, gnome ? null
, gtk3 ? null
, gstreamer
, gst-plugins-base
, gst-plugins-good
, gst-plugins-bad
, libnotify
, gnome
, gtk3
, enableUsb ? true
, enablePacketSocket ? true
, enableViewer ? true
@ -23,11 +23,7 @@ let
(pkg: pkg != null && lib.versionAtLeast (lib.getVersion pkg) "1.0")
[ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ];
in
assert enableGstPlugin -> lib.all (pkg: pkg != null) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ];
assert enableViewer -> enableGstPlugin;
assert enableViewer -> libnotify != null;
assert enableViewer -> gnome != null;
assert enableViewer -> gtk3 != null;
assert enableViewer -> gstreamerAtLeastVersion1;
stdenv.mkDerivation rec {
@ -87,4 +83,3 @@ in
platforms = lib.platforms.unix;
};
}

@ -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) [

@ -1,24 +0,0 @@
{ lib, stdenv, fetchFromGitHub, cmake, curl }:
stdenv.mkDerivation rec {
pname = "curlcpp";
version = "1.4";
src = fetchFromGitHub {
owner = "JosephP91";
repo = "curlcpp";
rev = version;
sha256 = "1zx76jcddqk4zkcdb6p7rsmkjbbjm2cj6drj0c8hdd61ms1d0f3n";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ curl ];
meta = with lib; {
homepage = "https://josephp91.github.io/curlcpp/";
description = "Object oriented C++ wrapper for CURL";
platforms = platforms.unix;
license = licenses.mit;
maintainers = with maintainers; [ rszibele ];
};
}

@ -1,13 +1,9 @@
{ lib, stdenv, fetchurl
, zlibSupport ? true, zlib ? null
, sslSupport ? true, openssl ? null
, idnSupport ? true, libidn ? null
, zlibSupport ? true, zlib
, sslSupport ? true, openssl
, idnSupport ? true, libidn
}:
assert zlibSupport -> zlib != null;
assert sslSupport -> openssl != null;
assert idnSupport -> libidn != null;
with lib;
stdenv.mkDerivation rec{

@ -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";

@ -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++";
};
}

@ -1,21 +1,16 @@
{ lib, stdenv, fetchurl
, nasmSupport ? true, nasm ? null # Assembly optimizations
, nasmSupport ? true, nasm # Assembly optimizations
, cpmlSupport ? true # Compaq's fast math library
#, efenceSupport ? false, libefence ? null # Use ElectricFence for malloc debugging
, sndfileFileIOSupport ? false, libsndfile ? null # Use libsndfile, instead of lame's internal routines
#, efenceSupport ? false, libefence # Use ElectricFence for malloc debugging
, sndfileFileIOSupport ? false, libsndfile # Use libsndfile, instead of lame's internal routines
, analyzerHooksSupport ? true # Use analyzer hooks
, decoderSupport ? true # mpg123 decoder
, frontendSupport ? true # Build the lame executable
#, mp3xSupport ? false, gtk1 ? null # Build GTK frame analyzer
#, mp3xSupport ? false, gtk1 # Build GTK frame analyzer
, mp3rtpSupport ? false # Build mp3rtp
, debugSupport ? false # Debugging (disables optimizations)
}:
assert nasmSupport -> (nasm != null);
#assert efenceSupport -> (libefence != null);
assert sndfileFileIOSupport -> (libsndfile != null);
#assert mp3xSupport -> (analyzerHooksSupport && (gtk1 != null));
let
mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
in

@ -1,19 +1,13 @@
{ lib, stdenv, fetchurl, pkg-config, fontconfig, autoreconfHook, DiskArbitration
, withJava ? false, jdk ? null, ant ? null
, withAACS ? false, libaacs ? null
, withBDplus ? false, libbdplus ? null
, withMetadata ? true, libxml2 ? null
, withFonts ? true, freetype ? null
, withJava ? false, jdk, ant
, withAACS ? false, libaacs
, withBDplus ? false, libbdplus
, withMetadata ? true, libxml2
, withFonts ? true, freetype
}:
with lib;
assert withJava -> jdk != null && ant != null;
assert withAACS -> libaacs != null;
assert withBDplus -> libbdplus != null;
assert withMetadata -> libxml2 != null;
assert withFonts -> freetype != null;
# Info on how to use:
# https://wiki.archlinux.org/index.php/BluRay

@ -1,10 +1,10 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, libtool
, threadingSupport ? true # multi-threading
, openglSupport ? false, freeglut ? null, libGL ? null, libGLU ? null # OpenGL (required for vwebp)
, pngSupport ? true, libpng ? null # PNG image format
, jpegSupport ? true, libjpeg ? null # JPEG image format
, tiffSupport ? true, libtiff ? null # TIFF image format
, gifSupport ? true, giflib ? null # GIF image format
, openglSupport ? false, freeglut, libGL, libGLU # OpenGL (required for vwebp)
, pngSupport ? true, libpng # PNG image format
, jpegSupport ? true, libjpeg # JPEG image format
, tiffSupport ? true, libtiff # TIFF image format
, gifSupport ? true, giflib # GIF image format
#, wicSupport ? true # Windows Imaging Component
, alignedSupport ? false # Force aligned memory operations
, swap16bitcspSupport ? false # Byte swap for 16bit color spaces
@ -14,12 +14,6 @@
, libwebpdecoderSupport ? true # Build libwebpdecoder
}:
assert openglSupport -> freeglut != null && libGL != null && libGLU != null;
assert pngSupport -> (libpng != null);
assert jpegSupport -> (libjpeg != null);
assert tiffSupport -> (libtiff != null);
assert gifSupport -> (giflib != null);
let
mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
in

@ -6,15 +6,15 @@
# Optional dependencies
, enableApp ? with stdenv.hostPlatform; !isWindows && !isStatic
, c-ares ? null, libev ? null, openssl ? null, zlib ? null
, enableAsioLib ? false, boost ? null
, enableGetAssets ? false, libxml2 ? null
, enableHpack ? false, jansson ? null
, enableJemalloc ? false, jemalloc ? null
, enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null
, c-ares, libev, openssl, zlib
, enableAsioLib ? false, boost
, enableGetAssets ? false, libxml2
, enableHpack ? false, jansson
, enableJemalloc ? false, jemalloc
, enablePython ? false, python3Packages, ncurses
# Unit tests ; we have to set TZDIR, which is a GNUism.
, enableTests ? stdenv.hostPlatform.isGnu, cunit ? null, tzdata ? null
, enableTests ? stdenv.hostPlatform.isGnu, cunit, tzdata
# downstream dependencies, for testing
, curl
@ -25,13 +25,9 @@
# All mutable patches (generated by GitHub or cgit) that are needed here
# should be included directly in Nixpkgs as files.
assert enableApp -> c-ares != null && libev != null && openssl != null && zlib != null;
assert enableAsioLib -> boost != null;
assert enableGetAssets -> enableApp == true && libxml2 != null;
assert enableHpack -> enableApp == true && jansson != null;
assert enableJemalloc -> enableApp == true && jemalloc != null;
assert enablePython -> python != null && cython != null && ncurses != null && setuptools != null;
assert enableTests -> cunit != null && tzdata != null;
assert enableGetAssets -> enableApp;
assert enableHpack -> enableApp;
assert enableJemalloc -> enableApp;
stdenv.mkDerivation rec {
pname = "nghttp2";
@ -47,14 +43,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ]
++ lib.optionals (enableApp) [ installShellFiles ]
++ lib.optionals (enablePython) [ cython ];
++ lib.optionals (enablePython) [ python3Packages.cython ];
buildInputs = lib.optionals enableApp [ c-ares libev openssl zlib ]
++ lib.optionals (enableAsioLib) [ boost ]
++ lib.optionals (enableGetAssets) [ libxml2 ]
++ lib.optionals (enableHpack) [ jansson ]
++ lib.optionals (enableJemalloc) [ jemalloc ]
++ lib.optionals (enablePython) [ python ncurses setuptools ];
++ lib.optionals (enablePython) [ python3Packages.python ncurses python3Packages.setuptools ];
enableParallelBuilding = true;
@ -62,7 +58,7 @@ stdenv.mkDerivation rec {
"--disable-examples"
(lib.enableFeature enableApp "app")
] ++ lib.optionals (enableAsioLib) [ "--enable-asio-lib" "--with-boost-libdir=${boost}/lib" ]
++ lib.optionals (enablePython) [ "--with-cython=${cython}/bin/cython" ];
++ lib.optionals (enablePython) [ "--with-cython=${python3Packages.cython}/bin/cython" ];
# Unit tests require CUnit and setting TZDIR environment variable
doCheck = enableTests;
@ -72,13 +68,13 @@ stdenv.mkDerivation rec {
'';
preInstall = lib.optionalString (enablePython) ''
mkdir -p $out/${python.sitePackages}
mkdir -p $out/${python3Packages.python.sitePackages}
# convince installer it's ok to install here
export PYTHONPATH="$PYTHONPATH:$out/${python.sitePackages}"
export PYTHONPATH="$PYTHONPATH:$out/${python3Packages.python.sitePackages}"
'';
postInstall = lib.optionalString (enablePython) ''
mkdir -p $python/${python.sitePackages}
mv $out/${python.sitePackages}/* $python/${python.sitePackages}
mkdir -p $python/${python3Packages.python.sitePackages}
mv $out/${python3Packages.python.sitePackages}/* $python/${python3Packages.python.sitePackages}
rm -r $out/lib
'' + lib.optionalString (enableApp) ''
installShellCompletion --bash doc/bash_completion/{h2load,nghttp,nghttpd,nghttpx}

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/raspberrypi/picotool";
description = "SDK provides the headers, libraries and build system necessary to write programs for the RP2040-based devices";
license = licenses.bsd3;
maintainers = with maintainers; [ musfay ];
maintainers = with maintainers; [ muscaln ];
platforms = platforms.unix;
};
}

@ -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 = [

@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
];
cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DBLAS_FOUND:BOOL=TRUE"
"-DBLAS_LIBRARIES:STRING=${blas}/lib/libblas.so"
"-DLAPACK_FOUND:BOOL=TRUE"

@ -1,16 +1,12 @@
{ lib, stdenv
, fetchurl
, Carbon ? null
, libjpeg ? null
, libpng ? null
, Carbon
, libjpeg
, libpng
, withJpegSupport ? true # support jpeg output
, withPngSupport ? true # support png output
}:
assert withJpegSupport -> libjpeg != null;
assert withPngSupport -> libpng != null;
assert stdenv.isDarwin -> Carbon != null;
stdenv.mkDerivation rec {
pname = "tachyon";
version = "0.99.4";

@ -1,6 +1,7 @@
{ lib, stdenv
, fetchFromGitHub
, cmake
, makeFontsConf
, pkg-config
, pugixml
, wayland
@ -8,22 +9,19 @@
, libffi
, buildPackages
, docSupport ? true
, doxygen ? null
, graphviz ? null
, doxygen
, graphviz
}:
assert docSupport -> doxygen != null;
with lib;
stdenv.mkDerivation rec {
pname = "waylandpp";
version = "0.2.10";
version = "1.0.0";
src = fetchFromGitHub {
owner = "NilsBrause";
repo = pname;
rev = version;
sha256 = "sha256-5/u6tp7/E4tjSfX+QJFmcUYdnyOgl9rB79PDE/SJH1o=";
hash = "sha256-Dw2RnLLyhykikHps1in+euHksO+ERbATbfmbUFOJklg=";
};
cmakeFlags = [
@ -32,15 +30,23 @@ stdenv.mkDerivation rec {
"-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++"
];
nativeBuildInputs = [ cmake pkg-config ] ++ optionals docSupport [ doxygen graphviz ];
# Complains about not being able to find the fontconfig config file otherwise
FONTCONFIG_FILE = lib.optional docSupport (makeFontsConf { fontDirectories = [ ]; });
nativeBuildInputs = [ cmake pkg-config ] ++ lib.optionals docSupport [ doxygen graphviz ];
buildInputs = [ pugixml wayland libGL libffi ];
outputs = [ "bin" "dev" "lib" "out" ] ++ optionals docSupport [ "doc" "devman" ];
outputs = [ "bin" "dev" "lib" "out" ] ++ lib.optionals docSupport [ "doc" "devman" ];
# Resolves the warning "Fontconfig error: No writable cache directories"
preBuild = ''
export XDG_CACHE_HOME="$(mktemp -d)"
'';
meta = with lib; {
description = "Wayland C++ binding";
homepage = "https://github.com/NilsBrause/waylandpp/";
license = with licenses; [ bsd2 hpnd ];
maintainers = with maintainers; [ minijackson ];
license = with lib.licenses; [ bsd2 hpnd ];
maintainers = with lib.maintainers; [ minijackson ];
};
}

@ -1,9 +1,7 @@
{ stdenv, lib, fetchFromGitHub
, bzip2, expat, libedit, lmdb, openssl
, darwin, libiconv, Security
, python3 # for tests only
, cpp11 ? false
, fetchpatch
}:
let
@ -24,36 +22,16 @@ let
in stdenv.mkDerivation rec {
pname = "zeroc-ice";
version = "3.7.6";
version = "3.7.7";
src = fetchFromGitHub {
owner = "zeroc-ice";
repo = "ice";
rev = "v${version}";
sha256 = "0zc8gmlzl2f38m1fj6pv2vm8ka7fkszd6hx2lb8gfv65vn3m4sk4";
sha256 = "sha256-h455isEmnRyoasXhh1UaA5PICcEEM8/C3IJf5yHRl5g=";
};
patches = [
# Fixes for openssl 3.0 / glibc-2.34.
(fetchpatch {
url = "https://github.com/zeroc-ice/ice/commit/7204b31a082a10cd481c1f31dbb6184ec699160d.patch";
sha256 = "sha256-RN8kQrvWRu1oXB7UV7DkYbZ8A0VyJYGArx6ikovwefo=";
})
(fetchpatch {
url = "https://github.com/zeroc-ice/ice/commit/358e7fea00383d55d1c19d38a3bbb64aca803aeb.patch";
sha256 = "sha256-ntrTO6qHB7dw398BRdAyJQUfVYW3iEfzUaBYoWWOEDs=";
})
];
buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ]
++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
NIX_CFLAGS_COMPILE = "-Wno-error=class-memaccess -Wno-error=deprecated-copy";
prePatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace Make.rules.Darwin \
--replace xcrun ""
'';
buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ];
preBuild = ''
makeFlagsArray+=(
@ -97,7 +75,6 @@ in stdenv.mkDerivation rec {
license = licenses.gpl2Only;
platforms = platforms.unix;
maintainers = with maintainers; [ abbradar ];
# no match for 'operator!='
broken = true;
broken = stdenv.isDarwin;
};
}

@ -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,39 +0,0 @@
{lib, stdenv, fetchurl, ocaml, findlib, easy-format}:
let
pname = "biniou";
version = "1.0.9";
webpage = "http://mjambon.com/${pname}.html";
in
assert lib.versionAtLeast (lib.getVersion ocaml) "3.11";
stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
sha256 = "14j3hrhbjqxbizr1pr8fcig9dmfzhbjjwzwyc99fcsdic67w8izb";
};
nativeBuildInputs = [ ocaml findlib ];
buildInputs = [ easy-format ];
strictDeps = true;
createFindlibDestdir = true;
makeFlags = [ "PREFIX=$(out)" ];
preBuild = ''
mkdir -p $out/bin
'';
meta = with lib; {
description = "A binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
homepage = webpage;
license = licenses.bsd3;
maintainers = [ maintainers.vbgl ];
platforms = ocaml.meta.platforms or [];
};
}

@ -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;

@ -1,24 +1,15 @@
{ lib, stdenv, fetchFromGitHub, ocaml, findlib }:
stdenv.mkDerivation rec {
{ lib, fetchurl, buildDunePackage }:
buildDunePackage rec {
pname = "easy-format";
version = "1.2.0";
version = "1.3.2";
src = fetchFromGitHub {
owner = "mjambon";
repo = "easy-format";
rev = "v${version}";
sha256 = "sha256-qf73+T9a+eDy78iZgpA08TjIo+lvjftfSkwyT3M96gE=";
src = fetchurl {
url = "https://github.com/ocaml-community/easy-format/releases/download/${version}/easy-format-${version}.tbz";
sha256 = "sha256:09hrikx310pac2sb6jzaa7k6fmiznnmhdsqij1gawdymhawc4h1l";
};
nativeBuildInputs = [ ocaml findlib ];
strictDeps = true;
createFindlibDestdir = true;
doCheck = true;
checkTarget = "test";
meta = with lib; {
description = "A high-level and functional interface to the Format module of the OCaml standard library";

@ -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 \

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "aws-lambda-builders";
version = "1.15.0";
version = "1.16.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "awslabs";
repo = "aws-lambda-builders";
rev = "refs/tags/v${version}";
sha256 = "sha256-kXglpj82e+LzUI6SW86wyfG2lGVnL/PsrTNsseg4VYk=";
sha256 = "sha256-XJDukyYTtnAHiHACi5gEJ9VPjqv8Y4V7oe4q3l5fpMA=";
};
propagatedBuildInputs = [

@ -0,0 +1,43 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, appdirs
, pytz
, requests
, pytestCheckHook
, requests-mock
}:
buildPythonPackage rec {
pname = "datapoint";
version = "0.9.8";
src = fetchFromGitHub {
owner = "ejep";
repo = "datapoint-python";
rev = "v${version}";
hash = "sha256-YC8KFTv6lnCqMfDw1LSova7XBgmKbR3TpPDAAbH9imw=";
};
propagatedBuildInputs = [
appdirs
pytz
requests
];
checkInputs = [
pytestCheckHook
requests-mock
];
pytestFlagsArray = [ "tests/unit" ];
pythonImportsCheck = [ "datapoint" ];
meta = {
description = "Python interface to the Met Office's Datapoint API";
homepage = "https://github.com/ejep/datapoint-python";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

@ -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

@ -1,28 +1,39 @@
{ lib, fetchPypi, buildPythonPackage, aenum, isPy3k, pythonOlder, enum34, python }:
{ lib
, fetchPypi
, buildPythonPackage
, aenum
, pythonOlder
, python
}:
buildPythonPackage rec {
pname = "dbf";
version = "0.99.1";
pname = "dbf";
version = "0.99.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "4ed598a3866dfe7761b8099cf53ab44cb6ed5e4a7dbffb0da8c67a4af8d62fc5";
};
disabled = pythonOlder "3.7";
propagatedBuildInputs = [ aenum ] ++ lib.optional (pythonOlder "3.4") enum34;
src = fetchPypi {
inherit pname version;
hash = "sha256-aeutAP2y+bUmUOZ39TpXULP+egeBcjyDmtoCheGzw+0=";
};
doCheck = !isPy3k;
# tests are not yet ported.
# https://groups.google.com/forum/#!topic/python-dbase/96rx2xmCG4w
propagatedBuildInputs = [
aenum
];
checkPhase = ''
${python.interpreter} dbf/test.py
'';
checkPhase = ''
${python.interpreter} dbf/test.py
'';
meta = with lib; {
description = "Pure python package for reading/writing dBase, FoxPro, and Visual FoxPro .dbf files";
homepage = "https://pypi.python.org/pypi/dbf";
license = licenses.bsd2;
maintainers = with maintainers; [ vrthra ];
};
pythonImportsCheck = [
"dbf"
];
meta = with lib; {
description = "Module for reading/writing dBase, FoxPro, and Visual FoxPro .dbf files";
homepage = "https://github.com/ethanfurman/dbf";
license = licenses.bsd2;
maintainers = with maintainers; [ vrthra ];
};
}

@ -59,6 +59,8 @@ buildPythonPackage rec {
"test_patcher_existing_locks_locked"
# broken with pyopenssl 22.0.0
"test_sendall_timeout"
] ++ lib.optionals stdenv.isAarch64 [
"test_fork_after_monkey_patch"
];
disabledTestPaths = [

@ -12,11 +12,11 @@
buildPythonPackage rec {
pname = "extractcode";
version = "30.0.0";
version = "31.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "5a660d1b9e3bae4aa87828e6947dc3b31dc2fa6705acb28a514874602b40bc90";
sha256 = "sha256-gIGTkum8+BKfdNiQT+ipjA3+0ngjVoQnNygsAoMRPYg=";
};
dontConfigure = true;

@ -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

@ -5,22 +5,21 @@
, fetchPypi
, holoviews
, pandas
, pythonImportsCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "hvplot";
version = "0.7.3";
version = "0.8.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "74b269c6e118dd6f7d2a4039e91f16a193638f4119b4358dc6dbd58a2e71e432";
sha256 = "sha256-hjDbo0lpsQXiZ8vhQjfi1W2ZacgBmArl5RkLwYsnktY=";
};
nativeBuildInputs = [
pythonImportsCheckHook
];
propagatedBuildInputs = [
bokeh
colorcet

@ -5,37 +5,45 @@
, pytestCheckHook
, atpublic
, cached-property
, clickhouse-driver
, click
, clickhouse-cityhash
, clickhouse-driver
, dask
, datafusion
, duckdb
, duckdb-engine
, graphviz
, geoalchemy2
, geopandas
, graphviz-nox
, importlib-metadata
, lz4
, multipledispatch
, numpy
, packaging
, pandas
, parsy
, poetry-core
, poetry-dynamic-versioning
, psycopg2
, pyarrow
, pydantic
, pymysql
, pyspark
, pytest-benchmark
, pytest-randomly
, pytest-mock
, pytest-xdist
, python
, pytz
, regex
, requests
, shapely
, sqlalchemy
, sqlite
, tabulate
, toolz
}:
let
# ignore tests for which dependencies are not available
backends = [
testBackends = [
"dask"
"datafusion"
"duckdb"
@ -70,24 +78,16 @@ buildPythonPackage rec {
propagatedBuildInputs = [
atpublic
cached-property
clickhouse-driver
dask
datafusion
duckdb
duckdb-engine
graphviz
importlib-metadata
multipledispatch
numpy
packaging
pandas
parsy
poetry-dynamic-versioning
pyarrow
pydantic
pytz
regex
requests
sqlalchemy
tabulate
toolz
];
@ -97,9 +97,9 @@ buildPythonPackage rec {
click
pytest-benchmark
pytest-mock
pytest-randomly
pytest-xdist
sqlite
];
] ++ lib.concatMap (name: passthru.extras-require.${name}) testBackends;
preBuild = ''
# setup.py exists only for developer convenience and is automatically generated
@ -109,7 +109,7 @@ buildPythonPackage rec {
pytestFlagsArray = [
"--dist=loadgroup"
"-m"
"'${lib.concatStringsSep " or " backends} or core'"
"'${lib.concatStringsSep " or " testBackends} or core'"
];
preCheck = ''
@ -125,7 +125,7 @@ buildPythonPackage rec {
find "$IBIS_TEST_DATA_DIRECTORY" -type f -exec chmod u+rw {} +
# load data
for backend in ${lib.concatStringsSep " " backends}; do
for backend in ${lib.concatStringsSep " " testBackends}; do
${python.interpreter} ci/datamgr.py load "$backend"
done
'';
@ -136,7 +136,23 @@ buildPythonPackage rec {
pythonImportsCheck = [
"ibis"
] ++ (map (backend: "ibis.backends.${backend}") backends);
] ++ map (backend: "ibis.backends.${backend}") testBackends;
passthru = {
extras-require = {
clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 ];
dask = [ dask pyarrow ];
datafusion = [ datafusion ];
duckdb = [ duckdb duckdb-engine sqlalchemy ];
geospatial = [ geoalchemy2 geopandas shapely ];
mysql = [ pymysql sqlalchemy ];
pandas = [ ];
postgres = [ psycopg2 sqlalchemy ];
pyspark = [ pyarrow pyspark ];
sqlite = [ sqlalchemy sqlite ];
visualization = [ graphviz-nox ];
};
};
meta = with lib; {
description = "Productivity-centric Python Big Data Framework";

@ -3,7 +3,7 @@
buildPythonPackage rec {
pname = "ipwhl";
version = "1.0.0";
version = "1.1.0";
format = "flit";
disabled = pythonOlder "3.6";
@ -11,7 +11,7 @@ buildPythonPackage rec {
owner = "~cnx";
repo = "ipwhl-utils";
rev = version;
sha256 = "sha256-KstwdmHpn4ypBNpX56NeStqdzy5RElMTW1oR2hCtJ7c=";
sha256 = "sha256-YaIYcoUnbiv9wUOFIzGj2sWGbh7NsqRQcqOR2X6+QZA=";
};
buildInputs = [ ipfs ];

@ -15,14 +15,14 @@
let nbclient = buildPythonPackage rec {
pname = "nbclient";
version = "0.6.2";
version = "0.6.3";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-i0dVPxztB3zXxFN/1dcB1G92gfJLKCdeXMHTR+fJtGs=";
hash = "sha256-uAcm/B+4mg6Pi+HnfijQAmsejtkLwUPIoMdiLk+M3Z4=";
};
propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ];

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, numpy
@ -45,6 +46,7 @@ buildPythonPackage rec {
description = "Numerical Utilities for Finite Element Analysis";
homepage = "https://www.nutils.org/";
license = licenses.mit;
broken = stdenv.hostPlatform.isAarch64;
maintainers = with maintainers; [ Scriptkiddi ];
};
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save