Merge master into haskell-updates
This commit is contained in:
@@ -55,6 +55,7 @@ let
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
escapeNixString
|
||||
hasInfix
|
||||
isCoercibleToString
|
||||
;
|
||||
inherit (lib.trivial)
|
||||
@@ -360,6 +361,11 @@ rec {
|
||||
deprecationMessage = "See https://github.com/NixOS/nixpkgs/pull/66346 for better alternative types.";
|
||||
};
|
||||
|
||||
passwdEntry = entryType: addCheck entryType (str: !(hasInfix ":" str || hasInfix "\n" str)) // {
|
||||
name = "passwdEntry ${entryType.name}";
|
||||
description = "${entryType.description}, not containing newlines or colons";
|
||||
};
|
||||
|
||||
attrs = mkOptionType {
|
||||
name = "attrs";
|
||||
description = "attribute set";
|
||||
|
||||
@@ -845,6 +845,16 @@
|
||||
githubId = 11699655;
|
||||
name = "Stanislas Lange";
|
||||
};
|
||||
AngryAnt = {
|
||||
name = "Emil Johansen";
|
||||
email = "git@eej.dk";
|
||||
matrix = "@angryant:envs.net";
|
||||
github = "AngryAnt";
|
||||
githubId = 102513;
|
||||
keys = [{
|
||||
fingerprint = "B7B7 582E 564E 789B FCB8 71AB 0C6D FE2F B234 534A";
|
||||
}];
|
||||
};
|
||||
anhdle14 = {
|
||||
name = "Le Anh Duc";
|
||||
email = "anhdle14@icloud.com";
|
||||
@@ -5412,10 +5422,10 @@
|
||||
githubId = 40234257;
|
||||
name = "ilkecan bozdogan";
|
||||
};
|
||||
ihatethefrench = {
|
||||
not-my-segfault = {
|
||||
email = "michal@tar.black";
|
||||
matrix = "@michal:tar.black";
|
||||
github = "ihatethefrench";
|
||||
github = "not-my-segfault";
|
||||
githubId = 30374463;
|
||||
name = "Michal S.";
|
||||
};
|
||||
@@ -14720,4 +14730,10 @@
|
||||
github = "dfithian";
|
||||
githubId = 8409320;
|
||||
};
|
||||
nikstur = {
|
||||
email = "nikstur@outlook.com";
|
||||
name = "nikstur";
|
||||
github = "nikstur";
|
||||
githubId = 61635709;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,12 +6,6 @@ let
|
||||
ids = config.ids;
|
||||
cfg = config.users;
|
||||
|
||||
isPasswdCompatible = str: !(hasInfix ":" str || hasInfix "\n" str);
|
||||
passwdEntry = type: lib.types.addCheck type isPasswdCompatible // {
|
||||
name = "passwdEntry ${type.name}";
|
||||
description = "${type.description}, not containing newlines or colons";
|
||||
};
|
||||
|
||||
# Check whether a password hash will allow login.
|
||||
allowsLogin = hash:
|
||||
hash == "" # login without password
|
||||
@@ -60,7 +54,7 @@ let
|
||||
options = {
|
||||
|
||||
name = mkOption {
|
||||
type = passwdEntry types.str;
|
||||
type = types.passwdEntry types.str;
|
||||
apply = x: assert (builtins.stringLength x < 32 || abort "Username '${x}' is longer than 31 characters which is not allowed!"); x;
|
||||
description = ''
|
||||
The name of the user account. If undefined, the name of the
|
||||
@@ -69,7 +63,7 @@ let
|
||||
};
|
||||
|
||||
description = mkOption {
|
||||
type = passwdEntry types.str;
|
||||
type = types.passwdEntry types.str;
|
||||
default = "";
|
||||
example = "Alice Q. User";
|
||||
description = ''
|
||||
@@ -134,7 +128,7 @@ let
|
||||
};
|
||||
|
||||
home = mkOption {
|
||||
type = passwdEntry types.path;
|
||||
type = types.passwdEntry types.path;
|
||||
default = "/var/empty";
|
||||
description = "The user's home directory.";
|
||||
};
|
||||
@@ -169,7 +163,7 @@ let
|
||||
};
|
||||
|
||||
shell = mkOption {
|
||||
type = types.nullOr (types.either types.shellPackage (passwdEntry types.path));
|
||||
type = types.nullOr (types.either types.shellPackage (types.passwdEntry types.path));
|
||||
default = pkgs.shadow;
|
||||
defaultText = literalExpression "pkgs.shadow";
|
||||
example = literalExpression "pkgs.bashInteractive";
|
||||
@@ -349,7 +343,7 @@ let
|
||||
options = {
|
||||
|
||||
name = mkOption {
|
||||
type = passwdEntry types.str;
|
||||
type = types.passwdEntry types.str;
|
||||
description = ''
|
||||
The name of the group. If undefined, the name of the attribute set
|
||||
will be used.
|
||||
|
||||
@@ -85,7 +85,7 @@ sub debug {
|
||||
|
||||
|
||||
# nixpkgs.system
|
||||
my ($status, @systemLines) = runCommand("nix-instantiate --impure --eval --expr builtins.currentSystem");
|
||||
my ($status, @systemLines) = runCommand("@nixInstantiate@ --impure --eval --expr builtins.currentSystem");
|
||||
if ($status != 0 || join("", @systemLines) =~ /error/) {
|
||||
die "Failed to retrieve current system type from nix.\n";
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ let
|
||||
name = "nixos-generate-config";
|
||||
src = ./nixos-generate-config.pl;
|
||||
perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl";
|
||||
nixInstantiate = "${pkgs.nix}/bin/nix-instantiate";
|
||||
detectvirt = "${config.systemd.package}/bin/systemd-detect-virt";
|
||||
btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
|
||||
inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
|
||||
|
||||
@@ -1088,6 +1088,7 @@
|
||||
./services/web-apps/nifi.nix
|
||||
./services/web-apps/node-red.nix
|
||||
./services/web-apps/phylactery.nix
|
||||
./services/web-apps/onlyoffice.nix
|
||||
./services/web-apps/pict-rs.nix
|
||||
./services/web-apps/peertube.nix
|
||||
./services/web-apps/plantuml-server.nix
|
||||
|
||||
@@ -611,7 +611,6 @@ let
|
||||
session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so
|
||||
'' +
|
||||
optionalString cfg.pamMount ''
|
||||
session [success=1 default=ignore] ${pkgs.pam}/lib/security/pam_succeed_if.so service = systemd-user quiet
|
||||
session optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive
|
||||
'' +
|
||||
optionalString use_ldap ''
|
||||
|
||||
@@ -245,7 +245,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ mic92 kwohlfahrt ];
|
||||
meta.maintainers = with lib.maintainers; [ kwohlfahrt ];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = map (opt: {
|
||||
|
||||
@@ -44,7 +44,13 @@ let
|
||||
transport_file_type: hash
|
||||
'';
|
||||
|
||||
mailmanCfg = lib.generators.toINI {} cfg.settings;
|
||||
mailmanCfg = lib.generators.toINI {}
|
||||
(recursiveUpdate cfg.settings
|
||||
((optionalAttrs (cfg.restApiPassFile != null) {
|
||||
webservice.admin_pass = "#NIXOS_MAILMAN_REST_API_PASS_SECRET#";
|
||||
})));
|
||||
|
||||
mailmanCfgFile = pkgs.writeText "mailman-raw.cfg" mailmanCfg;
|
||||
|
||||
mailmanHyperkittyCfg = pkgs.writeText "mailman-hyperkitty.cfg" ''
|
||||
[general]
|
||||
@@ -247,6 +253,14 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
restApiPassFile = mkOption {
|
||||
default = null;
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
Path to the file containing the value for <literal>MAILMAN_REST_API_PASS</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
serve = {
|
||||
enable = mkEnableOption "Automatic nginx and uwsgi setup for mailman-web";
|
||||
};
|
||||
@@ -363,8 +377,6 @@ in {
|
||||
};
|
||||
users.groups.mailman = {};
|
||||
|
||||
environment.etc."mailman.cfg".text = mailmanCfg;
|
||||
|
||||
environment.etc."mailman3/settings.py".text = ''
|
||||
import os
|
||||
|
||||
@@ -383,6 +395,11 @@ in {
|
||||
with open('/var/lib/mailman-web/settings_local.json') as f:
|
||||
globals().update(json.load(f))
|
||||
|
||||
${optionalString (cfg.restApiPassFile != null) ''
|
||||
with open('${cfg.restApiPassFile}') as f:
|
||||
MAILMAN_REST_API_PASS = f.read().rstrip('\n')
|
||||
''}
|
||||
|
||||
${optionalString (cfg.ldap.enable) ''
|
||||
import ldap
|
||||
from django_auth_ldap.config import LDAPSearch, ${cfg.ldap.groupSearch.type}
|
||||
@@ -456,7 +473,7 @@ in {
|
||||
after = [ "network.target" ]
|
||||
++ lib.optional cfg.enablePostfix "postfix-setup.service"
|
||||
++ lib.optional withPostgresql "postgresql.service";
|
||||
restartTriggers = [ config.environment.etc."mailman.cfg".source ];
|
||||
restartTriggers = [ mailmanCfgFile ];
|
||||
requires = optional withPostgresql "postgresql.service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
@@ -480,6 +497,14 @@ in {
|
||||
requires = optional withPostgresql "postgresql.service";
|
||||
serviceConfig.Type = "oneshot";
|
||||
script = ''
|
||||
install -m0750 -o mailman -g mailman ${mailmanCfgFile} /etc/mailman.cfg
|
||||
${optionalString (cfg.restApiPassFile != null) ''
|
||||
${pkgs.replace-secret}/bin/replace-secret \
|
||||
'#NIXOS_MAILMAN_REST_API_PASS_SECRET#' \
|
||||
${cfg.restApiPassFile} \
|
||||
/etc/mailman.cfg
|
||||
''}
|
||||
|
||||
mailmanDir=/var/lib/mailman
|
||||
mailmanWebDir=/var/lib/mailman-web
|
||||
|
||||
@@ -560,7 +585,7 @@ in {
|
||||
mailman-daily = {
|
||||
description = "Trigger daily Mailman events";
|
||||
startAt = "daily";
|
||||
restartTriggers = [ config.environment.etc."mailman.cfg".source ];
|
||||
restartTriggers = [ mailmanCfgFile ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${mailmanEnv}/bin/mailman digests --send";
|
||||
User = "mailman";
|
||||
|
||||
@@ -8,21 +8,22 @@ let
|
||||
|
||||
pkg = cfg.package.override (optionalAttrs cfg.sso.enable {
|
||||
enableSSO = cfg.sso.enable;
|
||||
crowdProperties = ''
|
||||
application.name ${cfg.sso.applicationName}
|
||||
application.password ${cfg.sso.applicationPassword}
|
||||
application.login.url ${cfg.sso.crowd}/console/
|
||||
|
||||
crowd.server.url ${cfg.sso.crowd}/services/
|
||||
crowd.base.url ${cfg.sso.crowd}/
|
||||
|
||||
session.isauthenticated session.isauthenticated
|
||||
session.tokenkey session.tokenkey
|
||||
session.validationinterval ${toString cfg.sso.validationInterval}
|
||||
session.lastvalidation session.lastvalidation
|
||||
'';
|
||||
});
|
||||
|
||||
crowdProperties = pkgs.writeText "crowd.properties" ''
|
||||
application.name ${cfg.sso.applicationName}
|
||||
application.password ${if cfg.sso.applicationPassword != null then cfg.sso.applicationPassword else "@NIXOS_CONFLUENCE_CROWD_SSO_PWD@"}
|
||||
application.login.url ${cfg.sso.crowd}/console/
|
||||
|
||||
crowd.server.url ${cfg.sso.crowd}/services/
|
||||
crowd.base.url ${cfg.sso.crowd}/
|
||||
|
||||
session.isauthenticated session.isauthenticated
|
||||
session.tokenkey session.tokenkey
|
||||
session.validationinterval ${toString cfg.sso.validationInterval}
|
||||
session.lastvalidation session.lastvalidation
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
@@ -107,10 +108,17 @@ in
|
||||
};
|
||||
|
||||
applicationPassword = mkOption {
|
||||
type = types.str;
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Application password of this Confluence instance in Crowd";
|
||||
};
|
||||
|
||||
applicationPasswordFile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Path to the application password for Crowd of Confluence.";
|
||||
};
|
||||
|
||||
validationInterval = mkOption {
|
||||
type = types.int;
|
||||
default = 2;
|
||||
@@ -147,6 +155,16 @@ in
|
||||
group = cfg.group;
|
||||
};
|
||||
|
||||
assertions = [
|
||||
{ assertion = cfg.sso.enable -> ((cfg.sso.applicationPassword == null) != (cfg.sso.applicationPasswordFile));
|
||||
message = "Please set either applicationPassword or applicationPasswordFile";
|
||||
}
|
||||
];
|
||||
|
||||
warnings = mkIf (cfg.sso.enable && cfg.sso.applicationPassword != null) [
|
||||
"Using `services.confluence.sso.applicationPassword` is deprecated! Use `applicationPasswordFile` instead!"
|
||||
];
|
||||
|
||||
users.groups.${cfg.group} = {};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
@@ -173,6 +191,7 @@ in
|
||||
CONF_USER = cfg.user;
|
||||
JAVA_HOME = "${cfg.jrePackage}";
|
||||
CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions;
|
||||
JAVA_OPTS = mkIf cfg.sso.enable "-Dcrowd.properties=${cfg.home}/crowd.properties";
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
@@ -183,6 +202,16 @@ in
|
||||
-e 's,protocol="org.apache.coyote.http11.Http11NioProtocol",protocol="org.apache.coyote.http11.Http11NioProtocol" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}",' \
|
||||
'') + ''
|
||||
${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml
|
||||
|
||||
${optionalString cfg.sso.enable ''
|
||||
install -m660 ${crowdProperties} ${cfg.home}/crowd.properties
|
||||
${optionalString (cfg.sso.applicationPasswordFile != null) ''
|
||||
${pkgs.replace-secret}/bin/replace-secret \
|
||||
'@NIXOS_CONFLUENCE_CROWD_SSO_PWD@' \
|
||||
${cfg.sso.applicationPasswordFile} \
|
||||
${cfg.home}/crowd.properties
|
||||
''}
|
||||
''}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
|
||||
@@ -164,7 +164,7 @@ in
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
after = [ "pict-rs.service " ] ++ lib.optionals cfg.settings.database.createLocally [ "lemmy-postgresql.service" ];
|
||||
after = [ "pict-rs.service" ] ++ lib.optionals cfg.settings.database.createLocally [ "lemmy-postgresql.service" ];
|
||||
|
||||
requires = lib.optionals cfg.settings.database.createLocally [ "lemmy-postgresql.service" ];
|
||||
|
||||
|
||||
@@ -0,0 +1,288 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.onlyoffice;
|
||||
in
|
||||
{
|
||||
options.services.onlyoffice = {
|
||||
enable = mkEnableOption "OnlyOffice DocumentServer";
|
||||
|
||||
enableExampleServer = mkEnableOption "OnlyOffice example server";
|
||||
|
||||
hostname = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = "FQDN for the onlyoffice instance.";
|
||||
};
|
||||
|
||||
jwtSecretFile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Path to a file that contains the secret to sign web requests using JSON Web Tokens.
|
||||
If left at the default value null signing is disabled.
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.onlyoffice-documentserver;
|
||||
defaultText = "pkgs.onlyoffice-documentserver";
|
||||
description = "Which package to use for the OnlyOffice instance.";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8000;
|
||||
description = "Port the OnlyOffice DocumentServer should listens on.";
|
||||
};
|
||||
|
||||
examplePort = mkOption {
|
||||
type = types.port;
|
||||
default = null;
|
||||
description = "Port the OnlyOffice Example server should listens on.";
|
||||
};
|
||||
|
||||
postgresHost = mkOption {
|
||||
type = types.str;
|
||||
default = "/run/postgresql";
|
||||
description = "The Postgresql hostname or socket path OnlyOffice should connect to.";
|
||||
};
|
||||
|
||||
postgresName = mkOption {
|
||||
type = types.str;
|
||||
default = "onlyoffice";
|
||||
description = "The name of databse OnlyOffice should user.";
|
||||
};
|
||||
|
||||
postgresPasswordFile = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
Path to a file that contains the password OnlyOffice should use to connect to Postgresql.
|
||||
Unused when using socket authentication.
|
||||
'';
|
||||
};
|
||||
|
||||
postgresUser = mkOption {
|
||||
type = types.str;
|
||||
default = "onlyoffice";
|
||||
description = ''
|
||||
The username OnlyOffice should use to connect to Postgresql.
|
||||
Unused when using socket authentication.
|
||||
'';
|
||||
};
|
||||
|
||||
rabbitmqUrl = mkOption {
|
||||
type = types.str;
|
||||
default = "amqp://guest:guest@localhost:5672";
|
||||
description = "The Rabbitmq in amqp URI style OnlyOffice should connect to.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services = {
|
||||
nginx = {
|
||||
enable = mkDefault true;
|
||||
# misses text/csv, font/ttf, application/x-font-ttf, application/rtf, application/wasm
|
||||
recommendedGzipSettings = mkDefault true;
|
||||
recommendedProxySettings = mkDefault true;
|
||||
|
||||
upstreams = {
|
||||
# /etc/nginx/includes/http-common.conf
|
||||
onlyoffice-docservice = {
|
||||
servers = { "localhost:${toString cfg.port}" = { }; };
|
||||
};
|
||||
onlyoffice-example = lib.mkIf cfg.enableExampleServer {
|
||||
servers = { "localhost:${toString cfg.examplePort}" = { }; };
|
||||
};
|
||||
};
|
||||
|
||||
virtualHosts.${cfg.hostname} = {
|
||||
locations = {
|
||||
# /etc/nginx/includes/ds-docservice.conf
|
||||
"~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps\/apps\/api\/documents\/api\.js)$".extraConfig = ''
|
||||
expires -1;
|
||||
alias ${cfg.package}/var/www/onlyoffice/documentserver/$2;
|
||||
'';
|
||||
"~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps)(\/.*\.json)$".extraConfig = ''
|
||||
expires 365d;
|
||||
error_log /dev/null crit;
|
||||
alias ${cfg.package}/var/www/onlyoffice/documentserver/$2$3;
|
||||
'';
|
||||
"~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(sdkjs-plugins)(\/.*\.json)$".extraConfig = ''
|
||||
expires 365d;
|
||||
error_log /dev/null crit;
|
||||
alias ${cfg.package}/var/www/onlyoffice/documentserver/$2$3;
|
||||
'';
|
||||
"~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(web-apps|sdkjs|sdkjs-plugins|fonts)(\/.*)$".extraConfig = ''
|
||||
expires 365d;
|
||||
alias ${cfg.package}/var/www/onlyoffice/documentserver/$2$3;
|
||||
'';
|
||||
"~* ^(\/cache\/files.*)(\/.*)".extraConfig = ''
|
||||
alias /var/lib/onlyoffice/documentserver/App_Data$1;
|
||||
add_header Content-Disposition "attachment; filename*=UTF-8''$arg_filename";
|
||||
|
||||
set $secret_string verysecretstring;
|
||||
secure_link $arg_md5,$arg_expires;
|
||||
secure_link_md5 "$secure_link_expires$uri$secret_string";
|
||||
|
||||
if ($secure_link = "") {
|
||||
return 403;
|
||||
}
|
||||
|
||||
if ($secure_link = "0") {
|
||||
return 410;
|
||||
}
|
||||
'';
|
||||
"~* ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(internal)(\/.*)$".extraConfig = ''
|
||||
allow 127.0.0.1;
|
||||
deny all;
|
||||
proxy_pass http://onlyoffice-docservice/$2$3;
|
||||
'';
|
||||
"~* ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(info)(\/.*)$".extraConfig = ''
|
||||
allow 127.0.0.1;
|
||||
deny all;
|
||||
proxy_pass http://onlyoffice-docservice/$2$3;
|
||||
'';
|
||||
"/".extraConfig = ''
|
||||
proxy_pass http://onlyoffice-docservice;
|
||||
'';
|
||||
"~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?(\/doc\/.*)".extraConfig = ''
|
||||
proxy_pass http://onlyoffice-docservice$2;
|
||||
proxy_http_version 1.1;
|
||||
'';
|
||||
"/${cfg.package.version}/".extraConfig = ''
|
||||
proxy_pass http://onlyoffice-docservice/;
|
||||
'';
|
||||
"~ ^(\/[\d]+\.[\d]+\.[\d]+[\.|-][\d]+)?\/(dictionaries)(\/.*)$".extraConfig = ''
|
||||
expires 365d;
|
||||
alias ${cfg.package}/var/www/onlyoffice/documentserver/$2$3;
|
||||
'';
|
||||
# /etc/nginx/includes/ds-example.conf
|
||||
"~ ^(\/welcome\/.*)$".extraConfig = ''
|
||||
expires 365d;
|
||||
alias ${cfg.package}/var/www/onlyoffice/documentserver-example$1;
|
||||
index docker.html;
|
||||
'';
|
||||
"/example/".extraConfig = lib.mkIf cfg.enableExampleServer ''
|
||||
proxy_pass http://onlyoffice-example/;
|
||||
proxy_set_header X-Forwarded-Path /example;
|
||||
'';
|
||||
};
|
||||
extraConfig = ''
|
||||
rewrite ^/$ /welcome/ redirect;
|
||||
rewrite ^\/OfficeWeb(\/apps\/.*)$ /${cfg.package.version}/web-apps$1 redirect;
|
||||
rewrite ^(\/web-apps\/apps\/(?!api\/).*)$ /${cfg.package.version}$1 redirect;
|
||||
|
||||
# based on https://github.com/ONLYOFFICE/document-server-package/blob/master/common/documentserver/nginx/includes/http-common.conf.m4#L29-L34
|
||||
# without variable indirection and correct variable names
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# required for CSP to take effect
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
# required for websocket
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
rabbitmq.enable = lib.mkDefault true;
|
||||
|
||||
postgresql = {
|
||||
enable = lib.mkDefault true;
|
||||
ensureDatabases = [ "onlyoffice" ];
|
||||
ensureUsers = [{
|
||||
name = "onlyoffice";
|
||||
ensurePermissions = { "DATABASE \"onlyoffice\"" = "ALL PRIVILEGES"; };
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
onlyoffice-converter = {
|
||||
description = "onlyoffice converter";
|
||||
after = [ "network.target" "onlyoffice-docservice.service" "postgresql.service" ];
|
||||
requires = [ "network.target" "onlyoffice-docservice.service" "postgresql.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper FileConverter/converter /run/onlyoffice/config";
|
||||
Group = "onlyoffice";
|
||||
Restart = "always";
|
||||
RuntimeDirectory = "onlyoffice";
|
||||
StateDirectory = "onlyoffice";
|
||||
Type = "simple";
|
||||
User = "onlyoffice";
|
||||
};
|
||||
};
|
||||
|
||||
onlyoffice-docservice =
|
||||
let
|
||||
onlyoffice-prestart = pkgs.writeShellScript "onlyoffice-prestart" ''
|
||||
PATH=$PATH:${lib.makeBinPath (with pkgs; [ jq moreutils config.services.postgresql.package ])}
|
||||
umask 077
|
||||
mkdir -p /run/onlyoffice/config/ /var/lib/onlyoffice/documentserver/sdkjs/{slide/themes,common}/ /var/lib/onlyoffice/documentserver/{fonts,server/FileConverter/bin}/
|
||||
cp -r ${cfg.package}/etc/onlyoffice/documentserver/* /run/onlyoffice/config/
|
||||
chmod u+w /run/onlyoffice/config/default.json
|
||||
|
||||
cp /run/onlyoffice/config/default.json{,.orig}
|
||||
|
||||
# for a mapping of environment variables from the docker container to json options see
|
||||
# https://github.com/ONLYOFFICE/Docker-DocumentServer/blob/master/run-document-server.sh
|
||||
jq '
|
||||
.services.CoAuthoring.server.port = ${toString cfg.port} |
|
||||
.services.CoAuthoring.sql.dbHost = "${cfg.postgresHost}" |
|
||||
.services.CoAuthoring.sql.dbName = "${cfg.postgresName}" |
|
||||
${lib.optionalString (cfg.postgresPasswordFile != null) ''
|
||||
.services.CoAuthoring.sql.dbPass = "'"$(cat ${cfg.postgresPasswordFile})"'" |
|
||||
''}
|
||||
.services.CoAuthoring.sql.dbUser = "${cfg.postgresUser}" |
|
||||
${lib.optionalString (cfg.jwtSecretFile != null) ''
|
||||
.services.CoAuthoring.token.enable.browser = true |
|
||||
.services.CoAuthoring.token.enable.request.inbox = true |
|
||||
.services.CoAuthoring.token.enable.request.outbox = true |
|
||||
.services.CoAuthoring.secret.inbox.string = "'"$(cat ${cfg.jwtSecretFile})"'" |
|
||||
.services.CoAuthoring.secret.outbox.string = "'"$(cat ${cfg.jwtSecretFile})"'" |
|
||||
.services.CoAuthoring.secret.session.string = "'"$(cat ${cfg.jwtSecretFile})"'" |
|
||||
''}
|
||||
.rabbitmq.url = "${cfg.rabbitmqUrl}"
|
||||
' /run/onlyoffice/config/default.json | sponge /run/onlyoffice/config/default.json
|
||||
|
||||
if ! psql -d onlyoffice -c "SELECT 'task_result'::regclass;" >/dev/null; then
|
||||
psql -f ${cfg.package}/var/www/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
|
||||
fi
|
||||
'';
|
||||
in
|
||||
{
|
||||
description = "onlyoffice documentserver";
|
||||
after = [ "network.target" "postgresql.service" ];
|
||||
requires = [ "postgresql.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package.fhs}/bin/onlyoffice-wrapper DocService/docservice /run/onlyoffice/config";
|
||||
ExecStartPre = onlyoffice-prestart;
|
||||
Group = "onlyoffice";
|
||||
Restart = "always";
|
||||
RuntimeDirectory = "onlyoffice";
|
||||
StateDirectory = "onlyoffice";
|
||||
Type = "simple";
|
||||
User = "onlyoffice";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.users = {
|
||||
onlyoffice = {
|
||||
description = "OnlyOffice Service";
|
||||
group = "onlyoffice";
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.groups.onlyoffice = { };
|
||||
};
|
||||
}
|
||||
@@ -192,7 +192,7 @@ in {
|
||||
};
|
||||
|
||||
emergencyAccess = mkOption {
|
||||
type = with types; oneOf [ bool singleLineStr ];
|
||||
type = with types; oneOf [ bool (nullOr (passwdEntry str)) ];
|
||||
visible = false;
|
||||
description = ''
|
||||
Set to true for unauthenticated emergency access, and false for
|
||||
|
||||
@@ -145,6 +145,10 @@ in {
|
||||
{ # Ensure that pam_systemd gets included. This is special-cased
|
||||
# in systemd to provide XDG_RUNTIME_DIR.
|
||||
startSession = true;
|
||||
# Disable pam_mount in systemd-user to prevent it from being called
|
||||
# multiple times during login, because it will prevent pam_mount from
|
||||
# unmounting the previously mounted volumes.
|
||||
pamMount = false;
|
||||
};
|
||||
|
||||
# Some overrides to upstream units.
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
diff --git a/src/musikcube/CMakeLists.txt b/src/musikcube/CMakeLists.txt
|
||||
index f42748aa..ae339946 100644
|
||||
--- a/src/musikcube/CMakeLists.txt
|
||||
+++ b/src/musikcube/CMakeLists.txt
|
||||
@@ -98,9 +98,6 @@ else()
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
- message(STATUS "[ncurses] detected Darwin, linking statically")
|
||||
- set(CURSES_LIBRARY_NAME "lib${CURSES_LIBRARY_NAME}.a")
|
||||
- set(PANEL_LIBRARY_NAME "lib${PANEL_LIBRARY_NAME}.a")
|
||||
else()
|
||||
message(STATUS "[ncurses] not Darwin! will attempt to link against libtinfo")
|
||||
find_library(LIBTINFO NAMES tinfo)
|
||||
@@ -9,6 +9,8 @@
|
||||
, lame
|
||||
, libev
|
||||
, libmicrohttpd
|
||||
, libopenmpt
|
||||
, mpg123
|
||||
, ncurses
|
||||
, lib
|
||||
, stdenv
|
||||
@@ -25,25 +27,25 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "musikcube";
|
||||
version = "0.97.0";
|
||||
version = "0.98.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "clangen";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-W9Ng1kqai5qhaDs5KWg/1sOTIAalBXLng1MG8sl/ZOg=";
|
||||
sha256 = "sha256-bnwOxEcvRXWPuqtkv8YlpclvH/6ZtQvyvHy4mqJCwik=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix pending upstream inclusion for ncurses-6.3 support:
|
||||
# https://github.com/clangen/musikcube/pull/474
|
||||
(fetchpatch {
|
||||
name = "ncurses-6.3.patch";
|
||||
url = "https://github.com/clangen/musikcube/commit/1240720e27232fdb199a4da93ca6705864442026.patch";
|
||||
sha256 = "0bhjgwnj6d24wb1m9xz1vi1k9xk27arba1absjbcimggn54pinid";
|
||||
})
|
||||
./0001-apple-cmake.patch
|
||||
];
|
||||
patches = []
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
# Fix pending upstream inclusion for Darwin nixpkgs builds:
|
||||
# https://github.com/clangen/musikcube/pull/531
|
||||
(fetchpatch {
|
||||
name = "darwin-build.patch";
|
||||
url = "https://github.com/clangen/musikcube/commit/9077bb9fa6ddfe93ebb14bb8feebc8a0ef9b7ee4.patch";
|
||||
sha256 = "sha256-Am9AGKDGMN5z+JJFJKdsBLrHf2neHFovgF/8I5EXLDA=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
@@ -58,6 +60,8 @@ stdenv.mkDerivation rec {
|
||||
lame
|
||||
libev
|
||||
libmicrohttpd
|
||||
libopenmpt
|
||||
mpg123
|
||||
ncurses
|
||||
taglib
|
||||
] ++ lib.optionals systemdSupport [
|
||||
|
||||
@@ -1,6 +1,22 @@
|
||||
{ stdenv, lib, fetchurl, fetchFromGitHub, cmake, git, pkg-config, python3
|
||||
, cairo, libsndfile, libxcb, libxkbcommon, xcbutil, xcbutilcursor, xcbutilkeysyms, zenity
|
||||
, curl, rsync
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, git
|
||||
, pkg-config
|
||||
, python3
|
||||
, cairo
|
||||
, libsndfile
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, xcbutil
|
||||
, xcbutilcursor
|
||||
, xcbutilkeysyms
|
||||
, zenity
|
||||
, curl
|
||||
, rsync
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -21,12 +37,43 @@ stdenv.mkDerivation rec {
|
||||
rev = "afc591cc06d9adc3dc8dc515a55c66873fa10296";
|
||||
sha256 = "1wqv86l70nwlrb10n47rib80f47a96j9qqg8w5dv46ys1sq2nz7z";
|
||||
};
|
||||
nativeBuildInputs = [ cmake git pkg-config python3 ];
|
||||
buildInputs = [ cairo libsndfile libxcb libxkbcommon xcbutil xcbutilcursor xcbutilkeysyms zenity curl rsync ];
|
||||
|
||||
patches = [
|
||||
# Fix build error due to newer glibc version by upgrading lib "catch 2"
|
||||
# Issue: https://github.com/surge-synthesizer/surge/pull/4843
|
||||
# Patch: https://github.com/surge-synthesizer/surge/pull/4845
|
||||
(fetchpatch {
|
||||
url = "https://github.com/surge-synthesizer/surge/commit/7a552038bab4b000d188ae425aa97963dc91db17.patch";
|
||||
sha256 = "sha256-5Flf0uJqEK6e+sadB+vr6phdvvdZYXcFFfm4ywhAeW0=";
|
||||
name = "glibc_build_fix.patch";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
git
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
libsndfile
|
||||
libxcb
|
||||
libxkbcommon
|
||||
xcbutil
|
||||
xcbutilcursor
|
||||
xcbutilkeysyms
|
||||
zenity
|
||||
curl
|
||||
rsync
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/common/SurgeStorage.cpp --replace "/usr/share/Surge" "$out/share/surge"
|
||||
substituteInPlace src/linux/UserInteractionsLinux.cpp --replace '"zenity' '"${zenity}/bin/zenity'
|
||||
substituteInPlace src/common/SurgeStorage.cpp \
|
||||
--replace "/usr/share/Surge" "$out/share/surge"
|
||||
substituteInPlace src/linux/UserInteractionsLinux.cpp \
|
||||
--replace '"zenity' '"${zenity}/bin/zenity'
|
||||
patchShebangs scripts/linux/
|
||||
cp -r $extraContent/Skins/ resources/data/skins
|
||||
'';
|
||||
@@ -38,6 +85,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
export HOME=$(mktemp -d)
|
||||
export SURGE_DISABLE_NETWORK_TESTS=TRUE
|
||||
@@ -45,7 +93,10 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "LV2 & VST3 synthesizer plug-in (previously released as Vember Audio Surge)";
|
||||
description = ''
|
||||
LV2 & VST3 synthesizer plug-in (previously released as Vember Audio
|
||||
Surge)
|
||||
'';
|
||||
homepage = "https://surge-synthesizer.github.io";
|
||||
license = licenses.gpl3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
let
|
||||
pname = "framesh";
|
||||
version = "0.5.0-beta.20";
|
||||
version = "0.5.0-beta.21";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/floating/frame/releases/download/v${version}/Frame-${version}.AppImage";
|
||||
sha256 = "sha256-4PU3f5e9NJYnP49nVtCjbGXxWJDCJIArzuaLsWB3Cx0=";
|
||||
sha256 = "sha256-rWZ7oC74qrylNPIfBzHnNMcsYjccGL2zeXFab9OwBNA=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lightning-loop";
|
||||
version = "0.19.1-beta";
|
||||
version = "0.20.0-beta";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightninglabs";
|
||||
repo = "loop";
|
||||
rev = "v${version}";
|
||||
sha256 = "08jn1ybh9l9qy4j9b3psvgk7b869aaabpxh73v81980qflb9snnc";
|
||||
sha256 = "1nx7i4i96982z756r79655hjf0yyz5l9lqjkvyvb62pbzqgm6my8";
|
||||
};
|
||||
|
||||
vendorSha256 = "0wirlf43jl888bh2qxis1ihsr1g2lp2rx7p100dsb3imqbm25q3b";
|
||||
vendorSha256 = "0gp89fw6g8mz2ifn9wcbj84dgm736cspfxj2x34b524l2d8wz3lb";
|
||||
|
||||
subPackages = [ "cmd/loop" "cmd/loopd" ];
|
||||
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
let
|
||||
pythonPackages = python3Packages;
|
||||
in pythonPackages.buildPythonApplication rec {
|
||||
version = "2.1.0";
|
||||
version = "2.2.0";
|
||||
pname = "nvpy";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cpbotha";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "02njvybd8yaqdnc5ghwrm8225z57gg4w7rhmx3w5jqzh16ld4mhh";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-eWvD1k0wbzo0G46/LEOlHl1wLvc4JHLL1fg6wuCHiQY=";
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -4286,7 +4286,7 @@ final: prev:
|
||||
pname = "marks.nvim";
|
||||
version = "2022-05-13";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chentau";
|
||||
owner = "chentoast";
|
||||
repo = "marks.nvim";
|
||||
rev = "56cfa45f9c20373ed90bc4271eae17ee0d452bae";
|
||||
sha256 = "0qc452ikyrrx28by0awm9jggv05zcph95kygjya1085g9win87l4";
|
||||
|
||||
@@ -358,7 +358,7 @@ https://github.com/alvarosevilla95/luatab.nvim/,,
|
||||
https://github.com/rktjmp/lush.nvim/,,
|
||||
https://github.com/mkasa/lushtags/,,
|
||||
https://github.com/iamcco/markdown-preview.nvim/,,
|
||||
https://github.com/chentau/marks.nvim/,,
|
||||
https://github.com/chentoast/marks.nvim/,,
|
||||
https://github.com/vim-scripts/matchit.zip/,,
|
||||
https://github.com/marko-cerovac/material.nvim/,,
|
||||
https://github.com/vim-scripts/mayansmoke/,,
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "hydrus";
|
||||
version = "491";
|
||||
version = "492";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-ceKawn2jyfZPP4HzhkB1jIQoStCPRO/Ni/+Ys1R2FJQ=";
|
||||
sha256 = "sha256-KtuHPKVwk6nRQ5lqHxRgm7k7DfcGeRAzR/kkHVMizDM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
{ lib, stdenv, fetchurl, libjpeg }:
|
||||
{ lib, stdenv, fetchFromGitHub, libjpeg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.4.6";
|
||||
version = "1.4.7";
|
||||
pname = "jpegoptim";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz";
|
||||
sha256 = "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tjko";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qae3OEG4CC/OGkmNdHrXFUv9CkoaB1ZJnFHX3RFoxhk=";
|
||||
};
|
||||
|
||||
# There are no checks, it seems.
|
||||
@@ -17,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "Optimize JPEG files";
|
||||
homepage = "https://www.kokkonen.net/tjko/projects.html";
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.aristid ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchzip
|
||||
, unzip
|
||||
, autoPatchelfHook
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, lttng-ust
|
||||
, libkrb5
|
||||
, zlib
|
||||
, fontconfig
|
||||
, openssl_1_1
|
||||
, libX11
|
||||
, libICE
|
||||
, libSM
|
||||
, icu
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "avalonia-ilspy";
|
||||
version = "7.2-rc";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/icsharpcode/AvaloniaILSpy/releases/download/v${version}/Linux.x64.Release.zip";
|
||||
sha256 = "1crf0ng4l6x70wjlz3r6qw8l166gd52ys11j7ilb4nyy3mkjxk11";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
unzip
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc.lib
|
||||
lttng-ust
|
||||
libkrb5
|
||||
zlib
|
||||
fontconfig
|
||||
];
|
||||
|
||||
libraryPath = lib.makeLibraryPath [
|
||||
openssl_1_1
|
||||
libX11
|
||||
libICE
|
||||
libSM
|
||||
icu
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
unzip -qq $src/ILSpy-linux-x64-Release.zip
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/lib $out/share/icons/hicolor/scalable/apps
|
||||
cp -r artifacts/linux-x64/* $out/lib
|
||||
ln -s $out/lib/Images/ILSpy.png $out/share/icons/hicolor/scalable/apps/ILSpy.png
|
||||
|
||||
chmod +x $out/lib/ILSpy
|
||||
wrapProgram $out/lib/ILSpy --prefix LD_LIBRARY_PATH : ${libraryPath}
|
||||
mv $out/lib/ILSpy $out/bin
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# dotnet runtime requirements
|
||||
preFixup = ''
|
||||
patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so
|
||||
'';
|
||||
dontStrip = true;
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "ILSpy";
|
||||
desktopName = "ILSpy";
|
||||
exec = "ILSpy";
|
||||
icon = "ILSpy";
|
||||
comment = ".NET assembly browser and decompiler";
|
||||
categories = [
|
||||
"Development"
|
||||
];
|
||||
keywords = [
|
||||
".net"
|
||||
"il"
|
||||
"assembly"
|
||||
];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = ".NET assembly browser and decompiler";
|
||||
homepage = "https://github.com/icsharpcode/AvaloniaILSpy";
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with lib.maintainers; [ AngryAnt ];
|
||||
};
|
||||
}
|
||||
@@ -3,6 +3,13 @@
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, AppKit
|
||||
, CoreFoundation
|
||||
, CoreGraphics
|
||||
, CoreVideo
|
||||
, Foundation
|
||||
, Metal
|
||||
, QuartzCore
|
||||
, xorg
|
||||
, vulkan-loader
|
||||
}:
|
||||
@@ -24,7 +31,11 @@ rustPlatform.buildRustPackage rec {
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
AppKit CoreFoundation CoreGraphics CoreVideo Foundation Metal QuartzCore
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString (!stdenv.isDarwin) ''
|
||||
wrapProgram $out/bin/binocle \
|
||||
--suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath (with xorg; [ libX11 libXcursor libXi libXrandr ] ++ [ vulkan-loader ])}
|
||||
'';
|
||||
@@ -34,6 +45,5 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://github.com/sharkdp/binocle";
|
||||
license = with licenses; [ asl20 /* or */ mit ];
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "dialect";
|
||||
version = "2.0.1";
|
||||
version = "2.0.2";
|
||||
|
||||
format = "other";
|
||||
|
||||
@@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Ke23QnvKpmyuaqkiBQL1cUa0T7lSfYPLFi6wa9G8LYk=";
|
||||
hash = "sha256-55vqxS0ySV8lItxLl1J+wLvPtmR87HzGfAiOKuhigFA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "logseq";
|
||||
version = "0.7.7";
|
||||
version = "0.7.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
|
||||
sha256 = "sha256-FRhtB7l40nNy8YTocXShbvhGudFWOrzpXsfe4yFY4us=";
|
||||
sha256 = "sha256-5NEx4OEISa7q0tp6v4AWK9eMn58dje7non653iJhipE=";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
};
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tut";
|
||||
version = "1.0.13";
|
||||
version = "1.0.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "RasmusLindroth";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-EORvIqA2bsmNUY1euUBmEYNMU02nW0doRDmTQjt15Os=";
|
||||
sha256 = "sha256-2zlCO73UBT2E94+AvDdqACotWFna6G1P+Q9VrOKxK+c=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ilq1sfFY6WuNACryDGjkpF5eUTan8Y6Yt26vot9XR54=";
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
}:
|
||||
buildPythonApplication rec {
|
||||
pname = "visidata";
|
||||
version = "2.8";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "saulpw";
|
||||
repo = "visidata";
|
||||
rev = "v${version}";
|
||||
sha256 = "1lcx444yrzmcvix977cgaf18lfrf9yrn2r14ln7knx8ghc15vkqb";
|
||||
hash = "sha256-PKj+imTSAGMpF1tkN0WmE3l/4FmWkm/ktIDzF2ku48s=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -90,11 +90,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "brave";
|
||||
version = "1.41.96";
|
||||
version = "1.41.99";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
sha256 = "sha256-sPIzQkaa6PGxwLkCHYz2GdSDns5x/Q2YwWcXBWBx+Fo=";
|
||||
sha256 = "sha256-SGh2yp6sYtamIZc5YvBwkoAQxYw0Y9KZyVLI/EGS0dg=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -32,9 +32,9 @@
|
||||
}
|
||||
},
|
||||
"dev": {
|
||||
"version": "105.0.5176.3",
|
||||
"sha256": "11zdihvy1n7d3vfl88477ppbfjd3mmkdsj4pfmfqm4mpw7zgi7fy",
|
||||
"sha256bin64": "08rhg2am01dbb15djh7200wsg0wb48na09i706035wnnf0d8z313",
|
||||
"version": "105.0.5191.2",
|
||||
"sha256": "1vfgazay1h125qjiy9fnymmdskw06l8lhvllkbbpvz08zf9jfmaj",
|
||||
"sha256bin64": "06l9ypr945dic3kj5m12dr9x098lfh208blp8gax6rxvdj8br4wh",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-07-11",
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
url_hint = callPackage ./url_hint { };
|
||||
|
||||
weechat-grep = callPackage ./weechat-grep { };
|
||||
|
||||
weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
|
||||
inherit (luaPackages) cjson luaffi;
|
||||
};
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "weechat-autosort";
|
||||
version = "3.8";
|
||||
version = "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "de-vri-es";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0a2gc8nhklvlivradhqy2pkymsqyy01pvzrmwg60cln8snmcqpd5";
|
||||
rev = "d62fa8633015ebc2676060fcdae88c402977be46";
|
||||
sha256 = "sha256-doYDRIWiuHam2i3r3J3BZuWEhopoN4jms/xPXGyypok=";
|
||||
};
|
||||
|
||||
passthru.scripts = [ "autosort.py" ];
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "Autosort is a weechat script to automatically or manually keep your buffers sorted";
|
||||
homepage = "https://github.com/de-vri-es/weechat-autosort";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ emily ];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ emily flokli ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "weechat-grep";
|
||||
version = "0.8.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/weechat/scripts/raw/5ee93d56f371c829d2798a5446a14292c180f70b/python/grep.py";
|
||||
sha256 = "sha256-EVcoxjTTjXOYD8DppD+IULxpKerEdolmlgphrulFGC0=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share
|
||||
cp $src $out/share/grep.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
scripts = [ "grep.py" ];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Search in Weechat buffers and logs (for Weechat 0.3.*)";
|
||||
homepage = "https://github.com/weechat/scripts/blob/master/python/grep.py";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ flokli ];
|
||||
};
|
||||
}
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "onedrive";
|
||||
version = "2.4.19";
|
||||
version = "2.4.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abraunegg";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7kX7gC/1jSZGgV3ZhfebMIn/Y5gXkz22GDP2zpiwUZ4=";
|
||||
hash = "sha256-2sDs4AhiyccVpnfCGPBL+QifQGStbrzSUIL547kh2ko=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
|
||||
|
||||
@@ -2,26 +2,24 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "zk";
|
||||
version = "0.9.0";
|
||||
version = "0.11.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mickael-menu";
|
||||
repo = "zk";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-AXKIi70evf581lMwfbfxm8hFCzsnhKRQgnIEZQFS75A=";
|
||||
sha256 = "sha256-30Vw6RGREg/ULS+eNExulHNOsOssMjXE+/tuRBQ17kI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-m7QGv8Vx776TsN7QHXtO+yl3U1D573UMZVyg1B4UeIk=";
|
||||
vendorSha256 = "sha256-11GzI3aEhKKTiULoWq9uIc66E3YCrW/HJQUYXRhCaek=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
buildInputs = [ icu ];
|
||||
|
||||
CGO_ENABLED = 1;
|
||||
|
||||
ldflags = [ "-s" "-w" "-X=main.Build=${version}" ];
|
||||
|
||||
tags = [ "fts5" "icu" ];
|
||||
tags = [ "fts5" ];
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = with maintainers; [ pinpox ];
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
, git
|
||||
, python3
|
||||
, swig4
|
||||
, boost172
|
||||
, boost17x
|
||||
, cimg
|
||||
, eigen
|
||||
, lcov
|
||||
@@ -27,14 +27,14 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "openroad";
|
||||
version = "2.0";
|
||||
version = "unstable-2022-07-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "The-OpenROAD-Project";
|
||||
repo = "OpenROAD";
|
||||
rev = "v${version}";
|
||||
rev = "2610b3953ef62651825d89fb96917cf5d20af0f1";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "1p677xh16wskfj06jnplhpc3glibhdaqxmk0j09832chqlryzwyx";
|
||||
sha256 = "sha256-BP0JSnxl1XyqHzDY4eITaGHevqd+rbjWZy/LAfDfELs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -47,7 +47,7 @@ mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost172
|
||||
boost17x
|
||||
cimg
|
||||
eigen
|
||||
lcov
|
||||
@@ -70,7 +70,11 @@ mkDerivation rec {
|
||||
'';
|
||||
|
||||
# Enable output images from the placer.
|
||||
cmakeFlags = [ "-DUSE_CIMG_LIB=ON" ];
|
||||
cmakeFlags = [
|
||||
"-DUSE_SYSTEM_BOOST=ON"
|
||||
"-DUSE_CIMG_LIB=ON"
|
||||
"-DOPENROAD_VERSION=${src.rev}"
|
||||
];
|
||||
|
||||
# Resynthesis needs access to the Yosys binaries.
|
||||
qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ yosys ]}" ];
|
||||
@@ -84,6 +88,12 @@ mkDerivation rec {
|
||||
test/regression
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/openroad -version
|
||||
$out/bin/sta -version
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenROAD's unified application implementing an RTL-to-GDS flow";
|
||||
homepage = "https://theopenroadproject.org";
|
||||
|
||||
@@ -1,47 +1,65 @@
|
||||
{ lib, buildGoPackage, fetchFromGitHub, git, groff, installShellFiles, unixtools, nixosTests }:
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, git
|
||||
, groff
|
||||
, installShellFiles
|
||||
, makeWrapper
|
||||
, unixtools
|
||||
, nixosTests
|
||||
}:
|
||||
|
||||
buildGoPackage rec {
|
||||
buildGoModule rec {
|
||||
pname = "hub";
|
||||
version = "2.14.2";
|
||||
|
||||
goPackagePath = "github.com/github/hub";
|
||||
|
||||
# Only needed to build the man-pages
|
||||
excludedPackages = [ "github.com/github/hub/md2roff-bin" ];
|
||||
version = "unstable-2022-04-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "github";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1qjab3dpia1jdlszz3xxix76lqrm4zbmqzd9ymld7h06awzsg2vh";
|
||||
rev = "363513a0f822a8bde5b620e5de183702280d4ace";
|
||||
sha256 = "sha256-jipZHmGtPTsztTeVZofaMReU4AEU9k6mdw9YC4KKB1Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ groff installShellFiles unixtools.col ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
substituteInPlace git/git.go --replace "cmd.New(\"git\")" "cmd.New(\"${git}/bin/git\")"
|
||||
substituteInPlace commands/args.go --replace "Executable: \"git\"" "Executable: \"${git}/bin/git\""
|
||||
patchShebangs script/
|
||||
'';
|
||||
|
||||
vendorSha256 = "sha256-wQH8V9jRgh45JGs4IfYS1GtmCIYdo93JG1UjJ0BGxXk=";
|
||||
|
||||
# Only needed to build the man-pages
|
||||
excludedPackages = [ "github.com/github/hub/md2roff-bin" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
groff
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
unixtools.col
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
cd go/src/${goPackagePath}
|
||||
installShellCompletion --zsh --name _hub etc/hub.zsh_completion
|
||||
installShellCompletion --bash --name hub etc/hub.bash_completion.sh
|
||||
installShellCompletion --fish --name hub.fish etc/hub.fish_completion
|
||||
installShellCompletion --cmd hub \
|
||||
--bash etc/hub.bash_completion.sh \
|
||||
--fish etc/hub.fish_completion \
|
||||
--zsh etc/hub.zsh_completion
|
||||
|
||||
LC_ALL=C.UTF8 \
|
||||
make man-pages
|
||||
LC_ALL=C.UTF8 make man-pages
|
||||
installManPage share/man/man[1-9]/*.[1-9]
|
||||
|
||||
wrapProgram $out/bin/hub \
|
||||
--suffix PATH : ${lib.makeBinPath [ git ]}
|
||||
'';
|
||||
|
||||
checkInputs = [
|
||||
git
|
||||
];
|
||||
|
||||
passthru.tests = { inherit (nixosTests) hub; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command-line wrapper for git that makes you better at GitHub";
|
||||
license = licenses.mit;
|
||||
homepage = "https://hub.github.com/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ globin ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "docker-compose";
|
||||
version = "2.6.1";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "docker";
|
||||
repo = "compose";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-D3+qDWxg3e5/3UIMz8FZDuxmQHmTv0NJVT/otGYedtw=";
|
||||
sha256 = "sha256-cx2Qn5NHQgs2iJ1SDyTdptHSyPUhx4SpCTfvjUwldfI=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-WxLQfu65Gr+ao/pM8B2uiS88sNT72Klhz7ZIrEadW5g=";
|
||||
vendorSha256 = "sha256-8CvtqnXSKoK/SA0tc/0Duv3pmYT69/3a/HFvAr4KNJo=";
|
||||
|
||||
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
|
||||
|
||||
|
||||
@@ -1,29 +1,26 @@
|
||||
{ lib, stdenv, fetchurl, cabextract }:
|
||||
|
||||
let
|
||||
|
||||
fonts = [
|
||||
{name = "andale"; sha256 = "0w7927hlwayqf3vvanf8f3qp2g1i404jzqvhp1z3mp0sjm1gw905";}
|
||||
{name = "arial"; sha256 = "1xkqyivbyb3z9dcalzidf8m4npzfpls2g0kldyn8g73f2i6plac5";}
|
||||
{name = "arialb"; sha256 = "1a60zqrg63kjnykh5hz7dbpzvx7lyivn3vbrp7jyv9d1nvzz09d4";}
|
||||
{name = "comic"; sha256 = "0ki0rljjc1pxkbsxg515fwx15yc95bdyaksa3pjd89nyxzzg6vcw";}
|
||||
{name = "courie"; sha256 = "111k3waxki9yyxpjwl2qrdkswvsd2dmvhbjmmrwyipam2s31sldv";}
|
||||
{name = "georgi"; sha256 = "0083jcpd837j2c06kp1q8glfjn9k7z6vg3wi137savk0lv6psb1c";}
|
||||
{name = "impact"; sha256 = "1yyc5z7zmm3s418hmrkmc8znc55afsrz5dgxblpn9n81fhxyyqb0";}
|
||||
{name = "times"; sha256 = "1aq7z3l46vwgqljvq9zfgkii6aivy00z1529qbjkspggqrg5jmnv";}
|
||||
{name = "trebuc"; sha256 = "1jfsgz80pvyqvpfpaiz5pd8zwlcn67rg2jgynjwf22sip2dhssas";}
|
||||
{name = "webdin"; sha256 = "0nnp2znmnmx87ijq9zma0vl0hd46npx38p0cc6lgp00hpid5nnb4";}
|
||||
{name = "verdan"; sha256 = "15mdbbfqbyp25a6ynik3rck3m3mg44plwrj79rwncc9nbqjn3jy1";}
|
||||
{name = "wd97vwr"; sha256 = "1lmkh3zb6xv47k0z2mcwk3vk8jff9m845c9igxm14bbvs6k2c4gn";}
|
||||
{ name = "andale"; sha256 = "0w7927hlwayqf3vvanf8f3qp2g1i404jzqvhp1z3mp0sjm1gw905"; }
|
||||
{ name = "arial"; sha256 = "1xkqyivbyb3z9dcalzidf8m4npzfpls2g0kldyn8g73f2i6plac5"; }
|
||||
{ name = "arialb"; sha256 = "1a60zqrg63kjnykh5hz7dbpzvx7lyivn3vbrp7jyv9d1nvzz09d4"; }
|
||||
{ name = "comic"; sha256 = "0ki0rljjc1pxkbsxg515fwx15yc95bdyaksa3pjd89nyxzzg6vcw"; }
|
||||
{ name = "courie"; sha256 = "111k3waxki9yyxpjwl2qrdkswvsd2dmvhbjmmrwyipam2s31sldv"; }
|
||||
{ name = "georgi"; sha256 = "0083jcpd837j2c06kp1q8glfjn9k7z6vg3wi137savk0lv6psb1c"; }
|
||||
{ name = "impact"; sha256 = "1yyc5z7zmm3s418hmrkmc8znc55afsrz5dgxblpn9n81fhxyyqb0"; }
|
||||
{ name = "times"; sha256 = "1aq7z3l46vwgqljvq9zfgkii6aivy00z1529qbjkspggqrg5jmnv"; }
|
||||
{ name = "trebuc"; sha256 = "1jfsgz80pvyqvpfpaiz5pd8zwlcn67rg2jgynjwf22sip2dhssas"; }
|
||||
{ name = "webdin"; sha256 = "0nnp2znmnmx87ijq9zma0vl0hd46npx38p0cc6lgp00hpid5nnb4"; }
|
||||
{ name = "verdan"; sha256 = "15mdbbfqbyp25a6ynik3rck3m3mg44plwrj79rwncc9nbqjn3jy1"; }
|
||||
{ name = "wd97vwr"; sha256 = "1lmkh3zb6xv47k0z2mcwk3vk8jff9m845c9igxm14bbvs6k2c4gn"; }
|
||||
];
|
||||
|
||||
eula = fetchurl {
|
||||
url = "http://corefonts.sourceforge.net/eula.htm";
|
||||
sha256 = "1aqbcnl032g2hd7iy56cs022g47scb0jxxp3mm206x1yqc90vs1c";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "corefonts";
|
||||
version = "1";
|
||||
@@ -33,22 +30,53 @@ stdenv.mkDerivation {
|
||||
inherit sha256;
|
||||
}) fonts;
|
||||
|
||||
nativeBuildInputs = [cabextract];
|
||||
nativeBuildInputs = [ cabextract ];
|
||||
|
||||
buildCommand = ''
|
||||
for i in $exes; do
|
||||
cabextract --lowercase $i
|
||||
cabextract --lowercase $i
|
||||
done
|
||||
|
||||
cabextract --lowercase viewer1.cab
|
||||
|
||||
# rename to more standard names
|
||||
mv andalemo.ttf Andale_Mono.ttf
|
||||
mv ariblk.ttf Arial_Black.ttf
|
||||
mv arial.ttf Arial.ttf
|
||||
mv arialbd.ttf Arial_Bold.ttf
|
||||
mv arialbi.ttf Arial_Bold_Italic.ttf
|
||||
mv ariali.ttf Arial_Italic.ttf
|
||||
mv comic.ttf Comic_Sans_MS.ttf
|
||||
mv comicbd.ttf Comic_Sans_MS_Bold.ttf
|
||||
mv cour.ttf Courier_New.ttf
|
||||
mv courbd.ttf Courier_New_Bold.ttf
|
||||
mv couri.ttf Courier_New_Italic.ttf
|
||||
mv courbi.ttf Courier_New_Bold_Italic.ttf
|
||||
mv georgia.ttf Georgia.ttf
|
||||
mv georgiab.ttf Georgia_Bold.ttf
|
||||
mv georgiai.ttf Georgia_Italic.ttf
|
||||
mv georgiaz.ttf Georgia_Bold_Italic.ttf
|
||||
mv impact.ttf Impact.ttf
|
||||
mv tahoma.ttf Tahoma.ttf
|
||||
mv times.ttf Times_New_Roman.ttf
|
||||
mv timesbd.ttf Times_New_Roman_Bold.ttf
|
||||
mv timesbi.ttf Times_New_Roman_Bold_Italic.ttf
|
||||
mv timesi.ttf Times_New_Roman_Italic.ttf
|
||||
mv trebuc.ttf Trebuchet_MS.ttf
|
||||
mv trebucbd.ttf Trebuchet_MS_Bold.ttf
|
||||
mv trebucit.ttf Trebuchet_MS_Italic.ttf
|
||||
mv trebucbi.ttf Trebuchet_MS_Italic.ttf
|
||||
mv verdana.ttf Verdana.ttf
|
||||
mv verdanab.ttf Verdana_Bold.ttf
|
||||
mv verdanai.ttf Verdana_Italic.ttf
|
||||
mv verdanaz.ttf Verdana_Bold_Italic.ttf
|
||||
mv webdings.ttf Webdings.ttf
|
||||
|
||||
install -m444 -Dt $out/share/fonts/truetype *.ttf
|
||||
|
||||
# Also put the EULA there to be on the safe side.
|
||||
cp ${eula} $out/share/fonts/truetype/eula.html
|
||||
|
||||
# Set up no-op font configs to override any aliases set up by
|
||||
# other packages.
|
||||
# Set up no-op font configs to override any aliases set up by other packages.
|
||||
mkdir -p $out/etc/fonts/conf.d
|
||||
for name in Andale-Mono Arial-Black Arial Comic-Sans-MS \
|
||||
Courier-New Georgia Impact Times-New-Roman \
|
||||
@@ -58,10 +86,6 @@ stdenv.mkDerivation {
|
||||
done
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "089d2m9bvaacj36qdq77pcazji0sbbr796shic3k52cpxkjnzbwh";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://corefonts.sourceforge.net/";
|
||||
description = "Microsoft's TrueType core fonts for the Web";
|
||||
|
||||
@@ -1,20 +1,30 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, gitUpdater
|
||||
, gtk3
|
||||
, hicolor-icon-theme
|
||||
, jdupes
|
||||
, colorVariants ? [] # default is all
|
||||
, themeVariants ? [] # default is all
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
let
|
||||
pname = "qogir-icon-theme";
|
||||
version = "2022-01-12";
|
||||
|
||||
in
|
||||
lib.checkListOfEnum "${pname}: color variants" [ "default" "dark" "all" ] colorVariants
|
||||
lib.checkListOfEnum "${pname}: theme variants" [ "default" "manjaro" "ubuntu" "all" ] themeVariants
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "2022-07-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1daayxsqh7di3bvfnl39h1arsj1fypd3ba30mas6dl1d0qy17z1p";
|
||||
sha256 = "sha256-I+eojCTR3fXcp7v5Bdie9vstmJja9HB71aQSF5jLDD4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 jdupes ];
|
||||
@@ -27,15 +37,27 @@ stdenvNoCC.mkDerivation rec {
|
||||
dontPatchELF = true;
|
||||
dontRewriteSymlinks = true;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs install.sh
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
patchShebangs install.sh
|
||||
|
||||
mkdir -p $out/share/icons
|
||||
name= ./install.sh -d $out/share/icons
|
||||
jdupes -L -r $out/share/icons
|
||||
|
||||
name= ./install.sh \
|
||||
${lib.optionalString (themeVariants != []) ("--theme " + builtins.toString themeVariants)} \
|
||||
${lib.optionalString (colorVariants != []) ("--color " + builtins.toString colorVariants)} \
|
||||
--dest $out/share/icons
|
||||
|
||||
jdupes --quiet --link-soft --recurse $out/share
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater { inherit pname version; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Flat colorful design icon theme";
|
||||
homepage = "https://github.com/vinceliuice/Qogir-icon-theme";
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, gitUpdater
|
||||
, gnome-themes-extra
|
||||
, gtk-engine-murrine
|
||||
, jdupes
|
||||
, sassc
|
||||
, themeVariants ? [] # default: blue
|
||||
, colorVariants ? [] # default: all
|
||||
, sizeVariants ? [] # default: standard
|
||||
, tweaks ? []
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "colloid-gtk-theme";
|
||||
|
||||
in
|
||||
lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ] themeVariants
|
||||
lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants
|
||||
lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants
|
||||
lib.checkListOfEnum "${pname}: tweaks" [ "nord" "black" "dracula" "rimless" "normal" ] tweaks
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "2022-07-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-dWYRTwfQRMBdg+htxpWatF325rToaovF/43LxX6I1GI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
jdupes
|
||||
sassc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome-themes-extra
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
gtk-engine-murrine
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs install.sh clean-old-theme.sh
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
name= HOME="$TMPDIR" ./install.sh \
|
||||
${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \
|
||||
${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \
|
||||
${lib.optionalString (sizeVariants != []) "--size " + builtins.toString sizeVariants} \
|
||||
${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \
|
||||
--dest $out/share/themes
|
||||
|
||||
jdupes --link-soft --recurse $out/share
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater { inherit pname version; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern and clean Gtk theme";
|
||||
homepage = "https://github.com/vinceliuice/Colloid-gtk-theme";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, gitUpdater
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "qogir-kde";
|
||||
version = "unstable-2022-07-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = "f240eae10978c7fee518f7a8be1c41a21a9d5c2e";
|
||||
hash = "sha256-AV60IQWwgvLwDO3ylILwx1DkKadwo4isn3JX3WpKoxQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs install.sh
|
||||
|
||||
substituteInPlace install.sh \
|
||||
--replace '$HOME/.local' $out \
|
||||
--replace '$HOME/.config' $out/share
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/plasma/plasmoids
|
||||
|
||||
name= HOME="$TMPDIR" ./install.sh --dest $out/share/themes
|
||||
|
||||
mkdir -p $out/share/sddm/themes
|
||||
cp -a sddm/Qogir $out/share/sddm/themes/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater { inherit pname version; };
|
||||
|
||||
meta = with lib; {
|
||||
description = "A flat Design theme for KDE Plasma desktop";
|
||||
homepage = "https://github.com/vinceliuice/Qogir-kde";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
@@ -1,15 +1,29 @@
|
||||
{ lib, fetchurl, file, which, intltool, gobject-introspection,
|
||||
findutils, xdg-utils, dconf, gtk3, python3Packages, xfconf,
|
||||
wrapGAppsHook
|
||||
{ lib
|
||||
, fetchFromGitLab
|
||||
, gitUpdater
|
||||
, file
|
||||
, which
|
||||
, intltool
|
||||
, gobject-introspection
|
||||
, findutils
|
||||
, xdg-utils
|
||||
, dconf
|
||||
, gtk3
|
||||
, python3Packages
|
||||
, xfconf
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "catfish";
|
||||
version = "4.16.3";
|
||||
version = "4.16.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "sha256-6amaYtEJgTkVCN1D88v6LVCmm9a30e7vfTC6TGc9z9o=";
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.xfce.org";
|
||||
owner = "apps";
|
||||
repo = pname;
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "sha256-hdrEFdBa/4i/PF7VyEI7ObiJXLIRW+RFSe8yGnUpqRc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -51,6 +65,11 @@ python3Packages.buildPythonApplication rec {
|
||||
# Disable check because there is no test in the source distribution
|
||||
doCheck = false;
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
inherit pname version;
|
||||
rev-prefix = "${pname}-";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://docs.xfce.org/apps/catfish/start";
|
||||
description = "Handy file search tool";
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kaitai-struct-compiler";
|
||||
version = "0.9";
|
||||
version = "0.10";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/kaitai-io/kaitai_struct_compiler/releases/download/${version}/kaitai-struct-compiler-${version}.zip";
|
||||
sha256 = "sha256-2HSasigpJDuWNejNVklnpQwaA4MC030S9taF/7YvzgY=";
|
||||
sha256 = "sha256-oY1OiEq619kLmQPMRQ4sjuBnTXgJ2WfvsEj1JrxUGPA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
, lib
|
||||
, fetchurl
|
||||
, unzip
|
||||
, version ? "2.17.0"
|
||||
, version ? "2.17.3"
|
||||
, sources ? let
|
||||
base = "https://storage.googleapis.com/dart-archive/channels";
|
||||
x86_64 = "x64";
|
||||
@@ -10,28 +10,28 @@
|
||||
aarch64 = "arm64";
|
||||
# Make sure that if the user overrides version parameter they're
|
||||
# also need to override sources, to avoid mistakes
|
||||
version = "2.17.0";
|
||||
version = "2.17.3";
|
||||
in
|
||||
{
|
||||
"${version}-aarch64-darwin" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${aarch64}-release.zip";
|
||||
sha256 = "sha256-WXf0SdSEHMaJRfVFgKzb9SY4LBjf1xO5Oki/dzKMEMY=";
|
||||
sha256 = "sha256-NjkqC9DaaFGN47Qe46xUlsEx2O2bQrKhb1eJyxfr7Vg=";
|
||||
};
|
||||
"${version}-x86_64-darwin" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip";
|
||||
sha256 = "sha256-PwaxUQHIUhRWCOy3IVdGtRyP9LtscqoUJPOZfevN7xs=";
|
||||
sha256 = "sha256-+6y4lOGS8VyWrZCMSgLFun0E/WOCGlHEE8J5cQiVpUY=";
|
||||
};
|
||||
"${version}-x86_64-linux" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip";
|
||||
sha256 = "sha256-V7j9lk5HyB1GeuuVsJmmcKt+j1ShzXTUW80f3HeRPYY=";
|
||||
sha256 = "sha256-aPmgmsYaqxwTWtLmSjm/rAiJANQ5lB3uJ12OqMhUG5U=";
|
||||
};
|
||||
"${version}-i686-linux" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${i686}-release.zip";
|
||||
sha256 = "sha256-YWxFwbcGvssOSL4S5O4jqLzxdUHvbVd9i4cLNyFn/cs=";
|
||||
sha256 = "sha256-BFIN36OURaWIgBUiO35GkMkhCBHnqtKYPJVetdJ5cZI=";
|
||||
};
|
||||
"${version}-aarch64-linux" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip";
|
||||
sha256 = "sha256-BaHbD9hFhYd9YYCFg0bXxTx++JQzZn2zuF8/Ll+nA2s=";
|
||||
sha256 = "sha256-yZMke1raq0Mvu01LFE1aUsTEARZWMS0rAI727FHq6ts=";
|
||||
};
|
||||
}
|
||||
}:
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atkmm";
|
||||
version = "2.36.1";
|
||||
version = "2.36.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-4RMkv+0bbjMKAtslzswUXcoD+w3/R/BxDIXjF2h9pFg=";
|
||||
sha256 = "sha256-b2LdmfdGmF5XNgWTdXfM/JRDaPYGpxykY0LXDhza4Hk=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atkmm";
|
||||
version = "2.28.2";
|
||||
version = "2.28.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-oLtJdlzszCk6ssZzW6EAQxgH04T/oUwuvTDgeZP9L6Q=";
|
||||
sha256 = "sha256-fCCItIapCb6NorGDBOVsX5CITRNDyNpzZ+pc0yWLmWk=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@@ -48,7 +48,7 @@ in
|
||||
};
|
||||
|
||||
fmt_8 = generic {
|
||||
version = "8.0.1";
|
||||
sha256 = "1mnvxqsan034d2jiqnw2yvkljl7lwvhakmj5bscwp1fpkn655bbw";
|
||||
version = "8.1.1";
|
||||
sha256 = "sha256-leb2800CwdZMJRWF5b1Y9ocK0jXpOX/nwo95icDf308=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,13 +1,22 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPackages
|
||||
, gobject-introspection-unwrapped
|
||||
, targetPackages
|
||||
}:
|
||||
, gobject-introspection-unwrapped
|
||||
, ...
|
||||
}@_args:
|
||||
|
||||
# to build, run
|
||||
# `nix build ".#pkgsCross.aarch64-multiplatform.buildPackages.gobject-introspection"`
|
||||
gobject-introspection-unwrapped.overrideAttrs (_previousAttrs: {
|
||||
# 'nix build ".#pkgsCross.aarch64-multiplatform.buildPackages.gobject-introspection"'
|
||||
|
||||
let
|
||||
# ensure that `.override` works when gobject-introspection == gobject-introspection-wrapped
|
||||
args = builtins.removeAttrs _args [ "buildPackages" "targetPackages" "gobject-introspection-unwrapped" ];
|
||||
# passing this stdenv to `targetPackages...` breaks due to splicing not working in `.override``
|
||||
argsForTarget = builtins.removeAttrs args [ "stdenv" ];
|
||||
in
|
||||
|
||||
(gobject-introspection-unwrapped.override args).overrideAttrs (_previousAttrs: {
|
||||
pname = "gobject-introspection-wrapped";
|
||||
postFixup = ''
|
||||
mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped
|
||||
@@ -18,7 +27,7 @@ gobject-introspection-unwrapped.overrideAttrs (_previousAttrs: {
|
||||
export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
|
||||
export buildprelink="${buildPackages.prelink}/bin/prelink-rtld"
|
||||
|
||||
export targetgir="${lib.getDev targetPackages.gobject-introspection-unwrapped}"
|
||||
export targetgir="${lib.getDev (targetPackages.gobject-introspection-unwrapped.override argsForTarget)}"
|
||||
|
||||
substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler"
|
||||
substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner"
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "intel-gmmlib";
|
||||
version = "22.1.5";
|
||||
version = "22.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "gmmlib";
|
||||
rev = "intel-gmmlib-${version}";
|
||||
sha256 = "sha256-A7XZXkYBsFa8NMQA7EBnvEReSTorAGgoow08bMZ+WkQ=";
|
||||
sha256 = "sha256-HRN4SSjP8h8nnCisysDM9V17012ECLz2GgdUok1AV24=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -2,26 +2,14 @@
|
||||
, xercesc, xml-security-c, pkg-config, xsd, zlib, xalanc, xxd }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.14.8";
|
||||
version = "3.14.10";
|
||||
pname = "libdigidocpp";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
|
||||
sha256 = "sha256-U5i5IAyJF4359q6M6mQemEuG7+inPYIXqLy8GHv4dkg=";
|
||||
hash = "sha256-n/+R4ho1Qcft3YSKE12oxZjbFHAsUDwoLFNuk5GXf5c=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# fix runtime crashes when signing with OpenSSL>1.1.1l
|
||||
# https://github.com/open-eid/libdigidocpp/issues/474 asks for a new release
|
||||
url = "https://github.com/open-eid/libdigidocpp/commit/42a8cfd834c10bdd206fe784a13217df222b1c8e.patch";
|
||||
sha256 = "sha256-o3ZT0dXhIu79C5ZR+2HPdLMZ3YwPG1v3vly5bseuxtU=";
|
||||
excludes = [
|
||||
".github/workflows/build.yml" # failed hunk
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config xxd ];
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -50,6 +50,8 @@ stdenv.mkDerivation rec {
|
||||
"-Dvulkan-registry=${vulkan-headers}/share/vulkan/registry/vk.xml"
|
||||
"-Ddemos=false" # Don't build and install the demo programs
|
||||
"-Dd3d11=disabled" # Disable the Direct3D 11 based renderer
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"-Dunwind=disabled" # libplacebo doesn’t build with `darwin.libunwind`
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "herwig";
|
||||
version = "7.2.2";
|
||||
version = "7.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
|
||||
sha256 = "10y3fb33zsinr0z3hzap9rsbcqhy1yjqnv4b4vz21g7mdlw6pq2k";
|
||||
hash = "sha256-VZmJk3mwGwnjMaJCbXjTm39uwSbbJUPp00Cu/mqlD4Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf automake libtool gfortran ];
|
||||
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs ./
|
||||
|
||||
# Fix failing "make install" being unable to find HwEvtGenInterface.so
|
||||
substituteInPlace src/defaults/decayers.in.in \
|
||||
--replace "read EvtGenDecayer.in" ""
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "thepeg";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
|
||||
sha256 = "0gif4vb9lw2px2qdywqm7x0frbv0h5gq9lq36c50f2hv77a5bgwp";
|
||||
hash = "sha256-8hRzGXp2H8MpF7CKjSTSv6+T/1fzRB/WBdqZrJ3l1Qs=";
|
||||
};
|
||||
|
||||
buildInputs = [ boost fastjet gsl hepmc2 lhapdf rivet zlib ];
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "afsapi";
|
||||
version = "0.2.6";
|
||||
version = "0.2.7";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
owner = "wlcrs";
|
||||
repo = "python-afsapi";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-SPHED/zbrjULtJFz1x+0kq+lDrLeuol+1rOH2/xWEnI=";
|
||||
hash = "sha256-TTZk/8mfG5lBr8SyMbqSaYDskWKnUlMkAUp94DXPCKo=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, substituteAll
|
||||
, fetchpatch
|
||||
, gdb
|
||||
, django
|
||||
, flask
|
||||
@@ -12,20 +14,20 @@
|
||||
, pytest-xdist
|
||||
, pytestCheckHook
|
||||
, requests
|
||||
, isPy3k
|
||||
, pythonAtLeast
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "debugpy";
|
||||
version = "1.6.0";
|
||||
version = "1.6.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Microsoft";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-WfZz2SimOTpG8CWNUic8NSp4Qd2JTXk+7JSUEPhuQ6Q=";
|
||||
sha256 = "sha256-jcokiAZ2WwyIvsXNIUzvMIrRttR76RwDSE7gk0xHExc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -50,6 +52,13 @@ buildPythonPackage rec {
|
||||
# To avoid this issue, debugpy should be installed using python.withPackages:
|
||||
# python.withPackages (ps: with ps; [ debugpy ])
|
||||
./fix-test-pythonpath.patch
|
||||
|
||||
# Fix compiling attach library from source
|
||||
# https://github.com/microsoft/debugpy/pull/978
|
||||
(fetchpatch {
|
||||
url = "https://github.com/microsoft/debugpy/commit/08b3b13cba9035f4ab3308153aef26e3cc9275f9.patch";
|
||||
sha256 = "sha256-8E+Y40mYQou9T1ozWslEK2XNQtuy5+MBvPvDLt4eQak=";
|
||||
})
|
||||
];
|
||||
|
||||
# Remove pre-compiled "attach" libraries and recompile for host platform
|
||||
@@ -59,17 +68,15 @@ buildPythonPackage rec {
|
||||
cd src/debugpy/_vendored/pydevd/pydevd_attach_to_process
|
||||
rm *.so *.dylib *.dll *.exe *.pdb
|
||||
${stdenv.cc}/bin/c++ linux_and_mac/attach.cpp -Ilinux_and_mac -fPIC -nostartfiles ${{
|
||||
"x86_64-linux" = "-shared -m64 -o attach_linux_amd64.so";
|
||||
"i686-linux" = "-shared -m32 -o attach_linux_x86.so";
|
||||
"x86_64-linux" = "-shared -o attach_linux_amd64.so";
|
||||
"i686-linux" = "-shared -o attach_linux_x86.so";
|
||||
"aarch64-linux" = "-shared -o attach_linux_arm64.so";
|
||||
"x86_64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch x86_64 -o attach_x86_64.dylib";
|
||||
"i686-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch i386 -o attach_x86.dylib";
|
||||
"aarch64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch arm64 -o attach_arm64.dylib";
|
||||
"x86_64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -o attach_x86_64.dylib";
|
||||
"i686-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -o attach_x86.dylib";
|
||||
"aarch64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -o attach_arm64.dylib";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")}
|
||||
)'';
|
||||
|
||||
doCheck = isPy3k;
|
||||
|
||||
checkInputs = [
|
||||
django
|
||||
flask
|
||||
@@ -86,16 +93,8 @@ buildPythonPackage rec {
|
||||
"--timeout=0"
|
||||
];
|
||||
|
||||
disabledTests = lib.optionals (pythonAtLeast "3.10") [
|
||||
"test_flask_breakpoint_multiproc"
|
||||
"test_subprocess[program-launch-None]"
|
||||
"test_systemexit[0-zero-uncaught-raised-launch(integratedTerminal)-module]"
|
||||
"test_systemexit[0-zero-uncaught--attach_pid-program]"
|
||||
"test_success_exitcodes[-break_on_system_exit_zero-0-attach_listen(cli)-module]"
|
||||
"test_success_exitcodes[--0-attach_connect(api)-program]"
|
||||
"test_run[code-attach_connect(api)]"
|
||||
"test_subprocess[program-launch-None]"
|
||||
];
|
||||
# Fixes hanging tests on Darwin
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"debugpy"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/tests/debug/session.py b/tests/debug/session.py
|
||||
index 101492fc..4ee7cfbe 100644
|
||||
index af242877..30b21a1e 100644
|
||||
--- a/tests/debug/session.py
|
||||
+++ b/tests/debug/session.py
|
||||
@@ -630,6 +630,7 @@ class Session(object):
|
||||
@@ -622,6 +622,7 @@ class Session(object):
|
||||
if "PYTHONPATH" in self.config.env:
|
||||
# If specified, launcher will use it in lieu of PYTHONPATH it inherited
|
||||
# from the adapter when spawning debuggee, so we need to adjust again.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py
|
||||
index 3c0e1b94..e995a20f 100644
|
||||
index 462feae9..eb2aa945 100644
|
||||
--- a/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py
|
||||
+++ b/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py
|
||||
@@ -399,7 +399,7 @@ def run_python_code_linux(pid, python_code, connect_debugger_tracing=False, show
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index e7487100..10d36520 100644
|
||||
index 5fc40070..775a08ec 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -12,7 +12,6 @@ import sys
|
||||
@@ -26,24 +26,22 @@ index e7487100..10d36520 100644
|
||||
description="An implementation of the Debug Adapter Protocol for Python", # noqa
|
||||
long_description=long_description,
|
||||
long_description_content_type="text/markdown",
|
||||
diff --git a/src/debugpy/__init__.py b/src/debugpy/__init__.py
|
||||
index baa5a7c5..53553272 100644
|
||||
--- a/src/debugpy/__init__.py
|
||||
+++ b/src/debugpy/__init__.py
|
||||
@@ -27,7 +27,6 @@ __all__ = [
|
||||
import codecs
|
||||
import os
|
||||
diff --git a/src/debugpy/public_api.py b/src/debugpy/public_api.py
|
||||
index 3c800898..27743245 100644
|
||||
--- a/src/debugpy/public_api.py
|
||||
+++ b/src/debugpy/public_api.py
|
||||
@@ -7,8 +7,6 @@ from __future__ import annotations
|
||||
import functools
|
||||
import typing
|
||||
|
||||
-from debugpy import _version
|
||||
from debugpy.common import compat
|
||||
-
|
||||
|
||||
# Expose debugpy.server API from subpackage, but do not actually import it unless
|
||||
# and until a member is invoked - we don't want the server package loaded in the
|
||||
@@ -182,4 +180,4 @@ def trace_this_thread(__should_trace: bool):
|
||||
"""
|
||||
|
||||
|
||||
@@ -204,7 +203,7 @@ def trace_this_thread(should_trace):
|
||||
return api.trace_this_thread(should_trace)
|
||||
|
||||
|
||||
-__version__ = _version.get_versions()["version"]
|
||||
+__version__ = "@version@"
|
||||
|
||||
# Force absolute path on Python 2.
|
||||
__file__ = os.path.abspath(__file__)
|
||||
-__version__: str = _version.get_versions()["version"]
|
||||
+__version__: str = "@version@"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "griffe";
|
||||
version = "0.21.0";
|
||||
version = "0.22.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@@ -20,7 +20,7 @@ buildPythonApplication rec {
|
||||
owner = "mkdocstrings";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-yhhEcPwh1AjMtDlPZVDR69WX/728wuKqdJdc+yv/o4c=";
|
||||
hash = "sha256-GqPXVi+SsfO0ufUJzEZ5eUzwJmM/wylLA1KMv+WaIsU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jupyterlab";
|
||||
version = "3.4.3";
|
||||
version = "3.4.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-4tzEDpQ2bd5d5LGejEPuEzzwQbhS0Bo2JafPKVMtpJ0=";
|
||||
sha256 = "sha256-WioP3SK9hiitRbYY41IDh8MqSBjjrxEtutH2STBN/CA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, brotli
|
||||
, lz4
|
||||
}:
|
||||
|
||||
@@ -9,25 +10,26 @@ let
|
||||
kaitai_compress = fetchFromGitHub {
|
||||
owner = "kaitai-io";
|
||||
repo = "kaitai_compress";
|
||||
rev = "434fb42220ff58778bb9fbadb6152cad7e4f5dd0";
|
||||
sha256 = "zVnkVl3amUDOB+pnw5SkMGSrVL/dTQ82E8IWfJvKC4Q=";
|
||||
rev = "12f4cffb45d95b17033ee4f6679987656c6719cc";
|
||||
sha256 = "sha256-l3rGbblUgxO6Y7grlsMEiT3nRIgUZV1VqTyjIgIDtyA=";
|
||||
};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "kaitaistruct";
|
||||
version = "0.9";
|
||||
version = "0.10";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "3d5845817ec8a4d5504379cc11bd570b038850ee49c4580bc0998c8fb1d327ad";
|
||||
sha256 = "sha256-oETe4pFz1q+6zye8rDna+JtlTdQYz6AJq4LZF4qa5So=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
ln -s ${kaitai_compress}/python/kaitai kaitai
|
||||
sed '28ipackages = kaitai/compress' -i setup.cfg
|
||||
sed '32ipackages = kaitai/compress' -i setup.cfg
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
brotli
|
||||
lz4
|
||||
];
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{ buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
# Runtime dependencies
|
||||
, httplib2
|
||||
, six
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
pname = "plantuml";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dougn";
|
||||
repo = "python-plantuml";
|
||||
rev = "93e1aac25b17d896b0d05d0a1aa352c7bd11dd31";
|
||||
sha256 = "sha256-aPXPqoKlu8VLi0Jn84brG7v3qM9L18Ut4sabYYGb3qQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
httplib2
|
||||
six
|
||||
];
|
||||
|
||||
# Project does not contain a test suite
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "plantuml" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python interface to a plantuml web service instead of having to run java locally";
|
||||
homepage = "https://github.com/dougn/python-plantuml";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ nikstur ];
|
||||
};
|
||||
}
|
||||
@@ -23,14 +23,12 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "python-manilaclient";
|
||||
version = "3.4.0";
|
||||
version = "4.0.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-F41/k7NJigwFNw2946sj3dZDKDH+PkgOjkml9t3Mgtw=";
|
||||
hash = "sha256-TEGzUNgYTkb2VrvW2E3lurD6N1XcIhH2tjmPlsJ/5MI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "snowflake-sqlalchemy";
|
||||
version = "1.3.4";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-nXTPnWChj/rIMmPoVZr1AhY7tHVRygmpNmh1oGR6W4A=";
|
||||
sha256 = "sha256-9IooTfzXRmOE22huBSduM4kX8ltI6F50nvkUnXRkAFo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
{ lib, stdenv, buildGoModule, fetchFromGitHub, pkg-config, btrfs-progs, gpgme, lvm2 }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, btrfs-progs
|
||||
, gpgme
|
||||
, lvm2
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dive";
|
||||
@@ -11,7 +20,14 @@ buildGoModule rec {
|
||||
sha256 = "sha256-1pmw8pUlek5FlI1oAuvLSqDow7hw5rw86DRDZ7pFAmA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-0gJ3dAPoilh3IWkuesy8geNsuI1T0DN64XvInc9LvlM=";
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/wagoodman/dive/commit/fe9411c414418d839a8638bb9a12ccfc892b5845.patch";
|
||||
sha256 = "sha256-c0TcUQ87CeOiXHoTQ3z/04i72aDr403DL7fIbXTJ9cY=";
|
||||
})
|
||||
];
|
||||
|
||||
vendorSha256 = "sha256-YPkEei7d7mXP+5FhooNoMDARQLosH2fdSaLXGZ5C27o=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ijq";
|
||||
version = "0.3.8";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~gpanders";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-N4wrm0nUmQ0NTsLkomJrcSiYJWgFUEh1/yn3pagM9vI=";
|
||||
sha256 = "sha256-EQfCEdQIrjg38JjjePNDNWKi0cFezjYvIGVJajbf9jw=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-DX8m5FsqMZnzk1wgJA/ESZl0QeDv3p9huF4h1HY9DIA=";
|
||||
|
||||
@@ -1,22 +1,17 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub, rustfmt }:
|
||||
{ lib, rustPlatform, fetchFromGitHub }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "millet";
|
||||
version = "0.2.5";
|
||||
version = "0.2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "azdavis";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HnVvq6Tb0yDvoa0KxZHZG0Tm0CWYWsn9unj0v0zYuTw=";
|
||||
sha256 = "sha256-+4lMRd4pzbkRDct5kz17MB9drN6sEtYLk29d6TlubLk=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-cbp4eAcqKuUKKqmlS2Azo5NRHDy+F4LNwcrwbFj+Z5g=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
# Required for `syntax-gen` crate https://github.com/azdavis/language-util/blob/8ec2dc509c88951102ad3e751820443059a363af/crates/syntax-gen/src/util.rs#L37
|
||||
rustfmt
|
||||
];
|
||||
cargoSha256 = "sha256-MoXKNUgNeg2AG7G78wnZvLXADhCsK/WB5WiT5lTSmIQ=";
|
||||
|
||||
cargoBuildFlags = [ "--package" "lang-srv" ];
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "drush";
|
||||
version = "8.4.10";
|
||||
version = "8.4.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/drush-ops/drush/releases/download/${version}/drush.phar";
|
||||
sha256 = "sha256-yXSoTDFLsjDiYkRfrIxv2WTVdHzgxZRvtn3Pht5XF4k=";
|
||||
sha256 = "sha256-4DD16PQHGZzAGwmm/WNeZ/dDKnlQslcb35AkpiJs5tQ=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -30,7 +30,9 @@ let
|
||||
hardeningDisable = [ "strictoverflow" ];
|
||||
|
||||
preConfigure = ''
|
||||
export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
|
||||
dotnetVersion="$(${dotnet-sdk}/bin/dotnet --list-runtimes | grep -Po '^Microsoft.NETCore.App \K.*?(?= )')"
|
||||
|
||||
cmakeFlagsArray+=(
|
||||
"-DDBGSHIM_RUNTIME_DIR=${dotnet-sdk}/shared/Microsoft.NETCore.App/$dotnetVersion"
|
||||
)
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "polylith";
|
||||
version = "0.2.13-alpha";
|
||||
version = "0.2.14-alpha";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/polyfy/polylith/releases/download/v${version}/poly-${version}.jar";
|
||||
sha256 = "sha256-iLN92qurc8+D0pt7Hwag+TFGoeFl9DvEeS67sKmmoSI=";
|
||||
sha256 = "sha256-0yJLSveKd49nBnCtBVfwcACXfIH43ZgqTLoo2aLPE2g=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "okteto";
|
||||
version = "2.4.0";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "okteto";
|
||||
repo = "okteto";
|
||||
rev = version;
|
||||
sha256 = "sha256-+shhY7/chtq4xPwYSlcVgL/RGMNA0ahTCqT9pVQqpG4=";
|
||||
sha256 = "sha256-jcGnkLut8MlMqdWQxj/M6vQgIf3e7qFv8dJ1j6bEqj8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-W1/QBMnMdZWokWSFmHhPqmOu827bpGXS8+GFp5Iu9Ig=";
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "sshs";
|
||||
version = "3.2.0";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quantumsheep";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "D9doNVb2sTnzM8tF8cSJbIoaIYjGurkUHEyhcE3OqQg=";
|
||||
sha256 = "OTyk3EGlpr5k6QSwGmHFoF3cAJKQEEkWJuV53Wi8ook=";
|
||||
};
|
||||
|
||||
vendorSha256 = "QWFz85bOrTnPGum5atccB5hKeATlZvDAt32by+DO/Fo=";
|
||||
vendorSha256 = "wClgX08UbItCpWOkWLgmsy7Ad5LlpvXrStN3JHujVww=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/quantumsheep/sshs/cmd.Version=${version}" ];
|
||||
|
||||
@@ -27,6 +27,6 @@ buildGoModule rec {
|
||||
description = "Terminal user interface for SSH";
|
||||
homepage = "https://github.com/quantumsheep/sshs";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ ihatethefrench ];
|
||||
maintainers = with maintainers; [ not-my-segfault ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "stylua";
|
||||
version = "0.14.0";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johnnymorganz";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-G7fCLkvpO5GHqWCfy2m3GxSgDSHCcYOaXyPDtdmdSY0=";
|
||||
sha256 = "sha256-SoO5xujSPe+6TOBvPt09sm77cRUU4s9nYjR1EOpcTBY=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-MqRoGuRMEgOYvL2VI324EXZjrPVCbCE/c7aVEXr0xmw=";
|
||||
cargoSha256 = "sha256-L8nGAT7HoI67kxX+vf++iQ0NzY4hNW/H32LL6WZSJM4=";
|
||||
|
||||
buildFeatures = lib.optional lua52Support "lua52"
|
||||
++ lib.optional luauSupport "luau";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ callPackage, openssl, python3, enableNpm ? true }:
|
||||
{ callPackage, openssl, python3, fetchpatch, enableNpm ? true }:
|
||||
|
||||
let
|
||||
buildNodejs = callPackage ./nodejs.nix {
|
||||
@@ -8,9 +8,17 @@ let
|
||||
in
|
||||
buildNodejs {
|
||||
inherit enableNpm;
|
||||
version = "16.15.0"; # Do not upgrade until #176127 is solved
|
||||
sha256 = "sha256-oPgS78Q/eDIeygiVeWCkj15r+XAE1QWMjdOwPGRupPc=";
|
||||
version = "16.16.0";
|
||||
sha256 = "sha256-FFFR7/Oyql6+czhACcUicag3QK5oepPJjGKM19UnNus=";
|
||||
patches = [
|
||||
./disable-darwin-v8-system-instrumentation.patch
|
||||
# Fix npm silently fail without a HOME directory https://github.com/npm/cli/issues/4996
|
||||
(fetchpatch {
|
||||
url = "https://github.com/npm/cli/commit/9905d0e24c162c3f6cc006fa86b4c9d0205a4c6f.patch";
|
||||
sha256 = "sha256-RlabXWtjzTZ5OgrGf4pFkolonvTDIPlzPY1QcYDd28E=";
|
||||
includes = [ "deps/npm/lib/npm.js" "deps/npm/lib/utils/log-file.js" ];
|
||||
stripLen = 1;
|
||||
extraPrefix = "deps/npm/";
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oh-my-git";
|
||||
version = "0.6.4";
|
||||
version = "0.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-learning-game";
|
||||
repo = "oh-my-git";
|
||||
rev = version;
|
||||
sha256 = "sha256-GQLHyBUXF+yqEZ/LYutAn6TBCXFX8ViOaERQEm2J6CY=";
|
||||
sha256 = "sha256-XqxliMVU55D5JSt7Yo5btvZnnTlagSukyhXv6Akgklo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
stdenv.mkDerivation {
|
||||
pname = "cnijfilter2";
|
||||
|
||||
version = "6.10";
|
||||
version = "6.40";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://gdlp01.c-wss.com/gds/1/0100010921/01/cnijfilter2-source-6.10-1.tar.gz";
|
||||
sha256 = "0w121issdjxdv5i9ksa5m23if6pz1r9ql8p894f1pqn16w0kw1ix";
|
||||
url = "https://gdlp01.c-wss.com/gds/1/0100011381/01/cnijfilter2-source-6.40-1.tar.gz";
|
||||
sha256 = "3RoG83jLOsdTEmvUkkxb7wa8oBrJA4v1mGtxTGwSowU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ automake autoconf ];
|
||||
@@ -16,6 +16,10 @@ stdenv.mkDerivation {
|
||||
cups glib libxml2 libusb1 libtool
|
||||
];
|
||||
|
||||
patches = [
|
||||
./patches/get_protocol.patch
|
||||
];
|
||||
|
||||
# lgmon3's --enable-libdir flag is used soley for specifying in which
|
||||
# directory the cnnnet.ini cache file should reside.
|
||||
# NixOS uses /var/cache/cups, and given the name, it seems like a reasonable
|
||||
@@ -25,7 +29,7 @@ stdenv.mkDerivation {
|
||||
# $out/lib/cups/filter/libcnbpcnclapicom2.so
|
||||
buildPhase = ''
|
||||
mkdir -p $out/lib
|
||||
cp com/libs_bin64/* $out/lib
|
||||
cp com/libs_bin_x86_64/* $out/lib
|
||||
mkdir -p $out/lib/cups/filter
|
||||
ln -s $out/lib/libcnbpcnclapicom2.so $out/lib/cups/filter
|
||||
|
||||
@@ -51,6 +55,12 @@ stdenv.mkDerivation {
|
||||
make
|
||||
)
|
||||
|
||||
(
|
||||
cd cmdtocanonij3
|
||||
./autogen.sh --prefix=$out
|
||||
make
|
||||
)
|
||||
|
||||
(
|
||||
cd cnijbe2
|
||||
substituteInPlace src/Makefile.am \
|
||||
@@ -90,6 +100,11 @@ stdenv.mkDerivation {
|
||||
make install
|
||||
)
|
||||
|
||||
(
|
||||
cd cmdtocanonij3
|
||||
make install
|
||||
)
|
||||
|
||||
(
|
||||
cd cnijbe2
|
||||
make install
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# Resolves the compilation issue reported at https://github.com/NixOS/nixpkgs/pull/180681#issuecomment-1192304711
|
||||
# An identical issue was previously reported in Gentoo: https://bugs.gentoo.org/723186
|
||||
# This patch is taken from the solution of Alfredo Tupone (https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24688d64544b43f2c14be54531ad8764419dde09)
|
||||
--- a/lgmon3/src/cnijlgmon3.c 2022-07-22 12:44:32.194641628 +0100
|
||||
+++ b/lgmon3/src/cnijlgmon3.c 2022-07-22 12:43:53.954817724 +0100
|
||||
@@ -55,7 +55,7 @@
|
||||
int (*GET_STATUS)(char *, int, int *, int * , char *);
|
||||
int (*GET_STATUS2)(char *, int, char *, int *, int * , char *, char *);
|
||||
int (*GET_STATUS2_MAINTENANCE)(char *, int, char *, int *, int * , char *, char *);
|
||||
-int (*GET_PROTOCOL)(char *, size_t);
|
||||
+static int (*GET_PROTOCOL)(char *, size_t);
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
@@ -86,61 +86,3 @@ index c23afce4..12ac12f4 100644
|
||||
/* Begin XCBuildConfiguration section */
|
||||
2FEA0AB824902F9F00EEF3AD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
@@ -1586,11 +1544,12 @@
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
GENERATE_MASTER_OBJECT_FILE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
- "\"$(SRCROOT)/include\"",
|
||||
- "\"$(SRCROOT)/../MoltenVKShaderConverter\"",
|
||||
- "\"$(SRCROOT)/../MoltenVKShaderConverter/SPIRV-Cross\"",
|
||||
- "\"$(SRCROOT)/../External/cereal/include\"",
|
||||
- "\"${BUILT_PRODUCTS_DIR}\"",
|
||||
+ "@@sourceRoot@@/outputs/include",
|
||||
+ "@@sourceRoot@@/outputs/include/simd_workaround",
|
||||
+ "@@sourceRoot@@/MoltenVKShaderConverter",
|
||||
+ "@@cereal@@/include",
|
||||
+ "@@spirv-cross@@/include/spirv_cross",
|
||||
+ "@@vulkan-headers@@/include",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
MACH_O_TYPE = staticlib;
|
||||
@@ -1600,6 +1559,10 @@
|
||||
MVK_SKIP_DYLIB = "";
|
||||
"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
|
||||
"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
|
||||
+ OTHER_CFLAGS = (
|
||||
+ "-isystem",
|
||||
+ "@@libcxx@@/include/c++/v1",
|
||||
+ );
|
||||
PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
|
||||
PRODUCT_NAME = MoltenVK;
|
||||
SKIP_INSTALL = YES;
|
||||
@@ -1658,11 +1621,12 @@
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
GENERATE_MASTER_OBJECT_FILE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
- "\"$(SRCROOT)/include\"",
|
||||
- "\"$(SRCROOT)/../MoltenVKShaderConverter\"",
|
||||
- "\"$(SRCROOT)/../MoltenVKShaderConverter/SPIRV-Cross\"",
|
||||
- "\"$(SRCROOT)/../External/cereal/include\"",
|
||||
- "\"${BUILT_PRODUCTS_DIR}\"",
|
||||
+ "@@sourceRoot@@/outputs/include",
|
||||
+ "@@sourceRoot@@/outputs/include/simd_workaround",
|
||||
+ "@@sourceRoot@@/MoltenVKShaderConverter",
|
||||
+ "@@cereal@@/include",
|
||||
+ "@@spirv-cross@@/include/spirv_cross",
|
||||
+ "@@vulkan-headers@@/include",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
MACH_O_TYPE = staticlib;
|
||||
@@ -1672,6 +1636,10 @@
|
||||
MVK_SKIP_DYLIB = "";
|
||||
"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
|
||||
"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
|
||||
+ OTHER_CFLAGS = (
|
||||
+ "-isystem",
|
||||
+ "@@libcxx@@/include/c++/v1",
|
||||
+ );
|
||||
PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
|
||||
PRODUCT_NAME = MoltenVK;
|
||||
SKIP_INSTALL = YES;
|
||||
|
||||
@@ -82,99 +82,3 @@ index c7842b63..d55f73ed 100644
|
||||
productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
@@ -536,6 +518,17 @@
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
"-w",
|
||||
+ "-lMachineIndependent",
|
||||
+ "-lGenericCodeGen",
|
||||
+ "-lOGLCompiler",
|
||||
+ "-lglslang",
|
||||
+ "-lOSDependent",
|
||||
+ "-lSPIRV",
|
||||
+ "-lSPIRV-Tools",
|
||||
+ "-lSPIRV-Tools-opt",
|
||||
+ "-lspirv-cross-msl",
|
||||
+ "-lspirv-cross-core",
|
||||
+ "-lspirv-cross-glsl",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
@@ -548,6 +541,17 @@
|
||||
OTHER_LDFLAGS = (
|
||||
"-ObjC",
|
||||
"-w",
|
||||
+ "-lMachineIndependent",
|
||||
+ "-lGenericCodeGen",
|
||||
+ "-lOGLCompiler",
|
||||
+ "-lglslang",
|
||||
+ "-lOSDependent",
|
||||
+ "-lSPIRV",
|
||||
+ "-lSPIRV-Tools",
|
||||
+ "-lSPIRV-Tools-opt",
|
||||
+ "-lspirv-cross-msl",
|
||||
+ "-lspirv-cross-core",
|
||||
+ "-lspirv-cross-glsl",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
@@ -624,15 +628,24 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
- "$(inherited)",
|
||||
- "\"$(SRCROOT)\"",
|
||||
- "\"$(SRCROOT)/SPIRV-Cross\"",
|
||||
- "\"$(SRCROOT)/glslang\"",
|
||||
- "\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
|
||||
+ "@@sourceRoot@@/Common",
|
||||
+ "@@glslang@@/include",
|
||||
+ "@@spirv-cross@@/include/spirv_cross",
|
||||
+ "@@spirv-tools@@/include",
|
||||
+ "@@spirv-headers@@/include/spirv/unified1/",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
+ LIBRARY_SEARCH_PATHS = (
|
||||
+ "@@glslang@@/lib",
|
||||
+ "@@spirv-cross@@/lib",
|
||||
+ "@@spirv-tools@@/lib",
|
||||
+ );
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
+ OTHER_CFLAGS = (
|
||||
+ "-isystem",
|
||||
+ "@@libcxx@@/include/c++/v1",
|
||||
+ );
|
||||
PRODUCT_NAME = MoltenVKShaderConverter;
|
||||
SKIP_INSTALL = YES;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
@@ -683,15 +696,24 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
- "$(inherited)",
|
||||
- "\"$(SRCROOT)\"",
|
||||
- "\"$(SRCROOT)/SPIRV-Cross\"",
|
||||
- "\"$(SRCROOT)/glslang\"",
|
||||
- "\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
|
||||
+ "@@sourceRoot@@/Common",
|
||||
+ "@@glslang@@/include",
|
||||
+ "@@spirv-cross@@/include/spirv_cross",
|
||||
+ "@@spirv-tools@@/include",
|
||||
+ "@@spirv-headers@@/include/spirv/unified1/",
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
+ LIBRARY_SEARCH_PATHS = (
|
||||
+ "@@glslang@@/lib",
|
||||
+ "@@spirv-cross@@/lib",
|
||||
+ "@@spirv-tools@@/lib",
|
||||
+ );
|
||||
MACH_O_TYPE = staticlib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
+ OTHER_CFLAGS = (
|
||||
+ "-isystem",
|
||||
+ "@@libcxx@@/include/c++/v1",
|
||||
+ );
|
||||
PRODUCT_NAME = MoltenVKShaderConverter;
|
||||
SKIP_INSTALL = YES;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/Scripts/create_dylib.sh b/Scripts/create_dylib.sh
|
||||
index 5ba75f67..a0405067 100755
|
||||
--- a/Scripts/create_dylib.sh
|
||||
+++ b/Scripts/create_dylib.sh
|
||||
@@ -57,6 +57,8 @@ ${MVK_SAN} \
|
||||
-framework Metal ${MVK_IOSURFACE_FWK} -framework ${MVK_UX_FWK} -framework QuartzCore -framework CoreGraphics ${MVK_IOKIT_FWK} -framework Foundation \
|
||||
--library-directory ${MVK_USR_LIB_DIR} \
|
||||
-o "${MVK_BUILT_PROD_DIR}/dynamic/${MVK_DYLIB_NAME}" \
|
||||
+-L@@sourceRoot@@/outputs/lib -L@@glslang@@/lib -L@@spirv-tools@@/lib -L@@spirv-cross@@/lib \
|
||||
+-lobjc -lMoltenVKShaderConverter -lGenericCodeGen -lMachineIndependent -lOGLCompiler -lOSDependent -lSPIRV -lSPIRV-Tools -lSPIRV-Tools-opt -lspirv-cross-core -lspirv-cross-glsl -lspirv-cross-msl -lspirv-cross-reflect \
|
||||
-force_load "${MVK_BUILT_PROD_DIR}/lib${PRODUCT_NAME}.a"
|
||||
|
||||
if test "$CONFIGURATION" = Debug; then
|
||||
@@ -1,42 +1,34 @@
|
||||
{ lib
|
||||
, overrideCC
|
||||
, stdenv
|
||||
, stdenvNoCC
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, cctools
|
||||
, sigtool
|
||||
, cereal
|
||||
, libcxx
|
||||
, glslang
|
||||
, spirv-cross
|
||||
, spirv-headers
|
||||
, spirv-tools
|
||||
, vulkan-headers
|
||||
, xcbuild
|
||||
, AppKit
|
||||
, Foundation
|
||||
, Libsystem
|
||||
, MacOSX-SDK
|
||||
, Metal
|
||||
, QuartzCore
|
||||
}:
|
||||
|
||||
# Even though the derivation is currently impure, it is written to build successfully using
|
||||
# `xcbuild`. Once the SDK on x86_64-darwin is updated, it should be possible to switch from being
|
||||
# an impure derivation.
|
||||
#
|
||||
# The `sandboxProfile` was copied from the iTerm2 derivation. In order to build you at least need
|
||||
# the `sandbox` option set to `relaxed` or `false`. Xcode should be available in the default
|
||||
# location.
|
||||
let
|
||||
libcxx.dev = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr";
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "MoltenVK";
|
||||
version = "1.1.9";
|
||||
version = "1.1.10";
|
||||
|
||||
buildInputs = [
|
||||
AppKit
|
||||
Foundation
|
||||
Metal
|
||||
QuartzCore
|
||||
];
|
||||
buildInputs = [ AppKit Foundation Metal QuartzCore cereal ]
|
||||
++ lib.attrValues finalAttrs.passthru;
|
||||
|
||||
nativeBuildInputs = [ cctools sigtool xcbuild ];
|
||||
|
||||
outputs = [ "out" "bin" "dev" ];
|
||||
|
||||
@@ -47,47 +39,42 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "glslang";
|
||||
rev = "9bb8cfffb0eed010e07132282c41d73064a7a609";
|
||||
hash = "sha256-YLn/Mxuk6mXPGtBBgfwky5Nl1TCAW6i2g+AZLzqVz+A=";
|
||||
rev = "adbf0d3106b26daa237b10b9bf72b1af7c31092d";
|
||||
hash = "sha256-sjidkiPtRADhyOEKDb2cHCBXnFjLwk2F5Lppv5/fwNQ=";
|
||||
};
|
||||
})).override {
|
||||
inherit (finalAttrs.passthru) spirv-headers spirv-tools;
|
||||
};
|
||||
})).override { inherit (finalAttrs.passthru) spirv-headers spirv-tools; };
|
||||
spirv-cross = spirv-cross.overrideAttrs (old: {
|
||||
cmakeFlags = (old.cmakeFlags or [ ]) ++ [
|
||||
"-DSPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross"
|
||||
];
|
||||
cmakeFlags = (old.cmakeFlags or [ ])
|
||||
++ [ "-DSPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross" ];
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "SPIRV-Cross";
|
||||
rev = "0d4ce028bf8b8a94d325dc1e1c20446153ba19c4";
|
||||
hash = "sha256-OluTxOEfDIGMdrXhvIifjpMgZBvyh9ofLKxKt0dX5ZU=";
|
||||
rev = "50b4d5389b6a06f86fb63a2848e1a7da6d9755ca";
|
||||
hash = "sha256-SsupPHJ3VHxJhEAUl3EeQwN4texYhdDjxTnGD+bkNAw=";
|
||||
};
|
||||
});
|
||||
spirv-headers = spirv-headers.overrideAttrs (_: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "spirv-headers";
|
||||
rev = "4995a2f2723c401eb0ea3e10c81298906bf1422b";
|
||||
hash = "sha256-LkIrTFWYvZffLVJJW3152um5LTEsMJEDEsIhBAdhBlk=";
|
||||
rev = "5a121866927a16ab9d49bed4788b532c7fcea766";
|
||||
hash = "sha256-X4GuFesX015mrzutguhZLrIGlllCgAZ+DUBGSADt8xU=";
|
||||
};
|
||||
});
|
||||
spirv-tools = (spirv-tools.overrideAttrs (old: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "spirv-tools";
|
||||
rev = "eed5c76a57bb965f2e1b56d1dc40b50910b5ec1d";
|
||||
hash = "sha256-2Mr3HbhRslLpRfwHascl7e/UoPijhrij9Bjg3aCiqBM=";
|
||||
rev = "b930e734ea198b7aabbbf04ee1562cf6f57962f0";
|
||||
hash = "sha256-NWpFSRoxtYWi+hLUt9gpw0YScM3shcUwv9yUmbivRb0=";
|
||||
};
|
||||
})).override {
|
||||
inherit (finalAttrs.passthru) spirv-headers;
|
||||
};
|
||||
})).override { inherit (finalAttrs.passthru) spirv-headers; };
|
||||
vulkan-headers = vulkan-headers.overrideAttrs (old: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "Vulkan-Headers";
|
||||
rev = "76f00ef6cbb1886eb1162d1fa39bee8b51e22ee8";
|
||||
hash = "sha256-FqrcFHsUS8e4ZgZpxVc8nNZWdNltniFmMjyyWVoNc7w=";
|
||||
rev = "3ef4c97fd6ea001d75a8e9da408ee473c180e456";
|
||||
hash = "sha256-jHzW3m9smuzEGbZrSyBI74K9rFozxiG3M5Xql/WOw7U=";
|
||||
};
|
||||
});
|
||||
};
|
||||
@@ -96,92 +83,99 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
owner = "KhronosGroup";
|
||||
repo = "MoltenVK";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5ie1IGzZqaYbciFnrBJ1/9V0LEuz7JsEOFXXkG3hJzg=";
|
||||
hash = "sha256-LZvCCP2yelTaWcNt+WvG+RZnVLHRgMDTlNWwRIey7ZM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Specify the libraries to link directly since XCFrameworks are not being used.
|
||||
./createDylib.patch
|
||||
# Move `mvkGitRevDerived.h` to a stable location
|
||||
./gitRevHeaderStability.patch
|
||||
# Fix the Xcode projects to play nicely with `xcbuild`.
|
||||
./MoltenVKShaderConverter.xcodeproj.patch
|
||||
./MoltenVK.xcodeproj.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj \
|
||||
--replace @@sourceRoot@@ $(pwd) \
|
||||
--replace @@libcxx@@ "${libcxx.dev}" \
|
||||
--replace @@glslang@@ "${finalAttrs.passthru.glslang}" \
|
||||
--replace @@spirv-cross@@ "${finalAttrs.passthru.spirv-cross}" \
|
||||
--replace @@spirv-tools@@ "${finalAttrs.passthru.glslang.spirv-tools}" \
|
||||
--replace @@spirv-headers@@ "${finalAttrs.passthru.glslang.spirv-headers}"
|
||||
substituteInPlace MoltenVK/MoltenVK.xcodeproj/project.pbxproj \
|
||||
--replace @@sourceRoot@@ $(pwd) \
|
||||
--replace @@libcxx@@ "${libcxx.dev}" \
|
||||
--replace @@cereal@@ "${cereal}" \
|
||||
--replace @@spirv-cross@@ "${finalAttrs.passthru.spirv-cross}" \
|
||||
--replace @@vulkan-headers@@ "${finalAttrs.passthru.vulkan-headers}"
|
||||
substituteInPlace Scripts/create_dylib.sh \
|
||||
--replace @@sourceRoot@@ $(pwd) \
|
||||
--replace @@glslang@@ "${finalAttrs.passthru.glslang}" \
|
||||
--replace @@spirv-tools@@ "${finalAttrs.passthru.glslang.spirv-tools}" \
|
||||
--replace @@spirv-cross@@ "${finalAttrs.passthru.spirv-cross}"
|
||||
# Move `mvkGitRevDerived.h` to a stable location
|
||||
substituteInPlace Scripts/gen_moltenvk_rev_hdr.sh \
|
||||
--replace @@sourceRoot@@ $(pwd) \
|
||||
--replace '$'''{BUILT_PRODUCTS_DIR}' "$NIX_BUILD_TOP/$sourceRoot/build/include" \
|
||||
--replace '$(git rev-parse HEAD)' ${finalAttrs.src.rev}
|
||||
# Adding all of `usr/include` from the SDK results in header conflicts with `libcxx.dev`.
|
||||
# Work around it by symlinking just the SIMD stuff needed by MoltenVK.
|
||||
mkdir -p build/include
|
||||
ln -s "${MacOSX-SDK}/usr/include/simd" "build/include"
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-isystem ${lib.getDev libcxx}/include/c++/v1"
|
||||
"-I${finalAttrs.passthru.spirv-cross}/include/spirv_cross"
|
||||
"-I${finalAttrs.passthru.spirv-headers}/include/spirv/unified1/"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
NIX_CFLAGS_COMPILE+=" \
|
||||
-I$NIX_BUILD_TOP/$sourceRoot/build/include \
|
||||
-I$NIX_BUILD_TOP/$sourceRoot/Common"
|
||||
NIX_LDFLAGS+=" -L$NIX_BUILD_TOP/$sourceRoot/build/lib"
|
||||
|
||||
# Build each project on its own because `xcbuild` fails to build `MoltenVKPackaging.xcodeproj`.
|
||||
derived_data_path=$(pwd)/DerivedData
|
||||
build=$NIX_BUILD_TOP/$sourceRoot/build
|
||||
mkdir -p "$build/bin" "$build/lib"
|
||||
|
||||
NIX_LDFLAGS+=" \
|
||||
-lMachineIndependent \
|
||||
-lGenericCodeGen \
|
||||
-lOGLCompiler \
|
||||
-lglslang \
|
||||
-lOSDependent \
|
||||
-lSPIRV \
|
||||
-lSPIRV-Tools \
|
||||
-lSPIRV-Tools-opt \
|
||||
-lspirv-cross-msl \
|
||||
-lspirv-cross-core \
|
||||
-lspirv-cross-glsl"
|
||||
|
||||
pushd MoltenVKShaderConverter
|
||||
/usr/bin/xcodebuild build \
|
||||
-jobs $NIX_BUILD_CORES \
|
||||
-derivedDataPath "$derived_data_path" \
|
||||
-configuration Release \
|
||||
-project MoltenVKShaderConverter.xcodeproj \
|
||||
-scheme MoltenVKShaderConverter \
|
||||
-arch ${stdenv.targetPlatform.darwinArch}
|
||||
popd
|
||||
mkdir -p outputs/bin outputs/lib
|
||||
declare -A outputs=( [MoltenVKShaderConverter]=bin [libMoltenVKShaderConverter.a]=lib )
|
||||
for output in "''${!outputs[@]}"; do
|
||||
cp DerivedData/Build/Products/Release/$output "outputs/''${outputs[$output]}/$output"
|
||||
xcodebuild build \
|
||||
-jobs $NIX_BUILD_CORES \
|
||||
-configuration Release \
|
||||
-project MoltenVKShaderConverter.xcodeproj \
|
||||
-scheme MoltenVKShaderConverter \
|
||||
-arch ${stdenv.targetPlatform.darwinArch}
|
||||
declare -A products=( [MoltenVKShaderConverter]=bin [libMoltenVKShaderConverter.a]=lib )
|
||||
for product in "''${!products[@]}"; do
|
||||
cp MoltenVKShaderConverter-*/Build/Products/Release/$product "$build/''${products[$product]}/$product"
|
||||
done
|
||||
popd
|
||||
|
||||
NIX_LDFLAGS+=" \
|
||||
-lobjc \
|
||||
-lMoltenVKShaderConverter \
|
||||
-lspirv-cross-reflect"
|
||||
|
||||
pushd MoltenVK
|
||||
/usr/bin/xcodebuild build \
|
||||
-jobs $NIX_BUILD_CORES \
|
||||
-derivedDataPath "$derived_data_path" \
|
||||
-configuration Release \
|
||||
-project MoltenVK.xcodeproj \
|
||||
-scheme MoltenVK-macOS \
|
||||
-arch ${stdenv.targetPlatform.darwinArch}
|
||||
xcodebuild build \
|
||||
-jobs $NIX_BUILD_CORES \
|
||||
-configuration Release \
|
||||
-project MoltenVK.xcodeproj \
|
||||
-scheme MoltenVK-macOS \
|
||||
-arch ${stdenv.targetPlatform.darwinArch}
|
||||
cp MoltenVK-*/Build/Products/Release/dynamic/libMoltenVK.dylib "$build/lib/libMoltenVK.dylib"
|
||||
popd
|
||||
cp DerivedData/Build/Products/Release/dynamic/libMoltenVK.dylib outputs/lib/libMoltenVK.dylib
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p "$out/lib" "$out/share/vulkan/icd.d" "$bin/bin" "$dev/include/MoltenVK"
|
||||
cp outputs/bin/MoltenVKShaderConverter "$bin/bin/"
|
||||
cp outputs/lib/libMoltenVK.dylib "$out/lib/"
|
||||
cp build/bin/MoltenVKShaderConverter "$bin/bin/"
|
||||
cp build/lib/libMoltenVK.dylib "$out/lib/"
|
||||
cp MoltenVK/MoltenVK/API/* "$dev/include/MoltenVK"
|
||||
${cctools}/bin/install_name_tool -id "$out/lib/libMoltenVK.dylib" "$out/lib/libMoltenVK.dylib"
|
||||
# FIXME: https://github.com/NixOS/nixpkgs/issues/148189
|
||||
/usr/bin/codesign -s - -f "$out/lib/libMoltenVK.dylib"
|
||||
install -m644 MoltenVK/icd/MoltenVK_icd.json "$out/share/vulkan/icd.d/MoltenVK_icd.json"
|
||||
substituteInPlace $out/share/vulkan/icd.d/MoltenVK_icd.json \
|
||||
--replace ./libMoltenVK.dylib "$out/lib/libMoltenVK.dylib"
|
||||
'';
|
||||
|
||||
sandboxProfile = ''
|
||||
(allow file-read* file-write* process-exec mach-lookup)
|
||||
; block homebrew dependencies
|
||||
(deny file-read* file-write* process-exec mach-lookup (subpath "/usr/local") (with no-log))
|
||||
postFixup = ''
|
||||
install_name_tool -id "$out/lib/libMoltenVK.dylib" "$out/lib/libMoltenVK.dylib"
|
||||
codesign -s - -f "$out/lib/libMoltenVK.dylib"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
@@ -189,7 +183,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
homepage = "https://github.com/KhronosGroup/MoltenVK";
|
||||
changelog = "https://github.com/KhronosGroup/MoltenVK/releases";
|
||||
maintainers = [ lib.maintainers.reckenrode ];
|
||||
hydraPlatforms = [ ]; # Prevent building on Hydra until MoltenVK no longer requires Xcode.
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.darwin;
|
||||
};
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
diff --git a/Scripts/gen_moltenvk_rev_hdr.sh b/Scripts/gen_moltenvk_rev_hdr.sh
|
||||
index c49ea4e6..9b7d13d1 100755
|
||||
--- a/Scripts/gen_moltenvk_rev_hdr.sh
|
||||
+++ b/Scripts/gen_moltenvk_rev_hdr.sh
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Record the MoltenVK GIT revision as a derived header file suitable for including in a build
|
||||
MVK_GIT_REV=$(git rev-parse HEAD)
|
||||
-MVK_HDR_FILE="${BUILT_PRODUCTS_DIR}/mvkGitRevDerived.h"
|
||||
+MVK_HDR_FILE="@@sourceRoot@@/outputs/include/mvkGitRevDerived.h"
|
||||
+mkdir -p $(dirname ${MVK_HDR_FILE})
|
||||
echo "// Auto-generated by MoltenVK" > "${MVK_HDR_FILE}"
|
||||
echo "static const char* mvkRevString = \"${MVK_GIT_REV}\";" >> "${MVK_HDR_FILE}"
|
||||
-
|
||||
@@ -22,41 +22,41 @@
|
||||
"5.10": {
|
||||
"patch": {
|
||||
"extra": "-hardened1",
|
||||
"name": "linux-hardened-5.10.130-hardened1.patch",
|
||||
"sha256": "13wf4khc1nqljrvmc283145j6wxcd22qvqg8gwrjndqxlb5qb5bl",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.130-hardened1/linux-hardened-5.10.130-hardened1.patch"
|
||||
"name": "linux-hardened-5.10.131-hardened1.patch",
|
||||
"sha256": "00px04xyr8hz73rm0adc0x9fifwcyh2bh0rg0vqc1yjva4kl639d",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.131-hardened1/linux-hardened-5.10.131-hardened1.patch"
|
||||
},
|
||||
"sha256": "0b4nm96yvkb9r5rkwlq9vsmllzqvvffdnpyl8dvrgqm8a7caci71",
|
||||
"version": "5.10.130"
|
||||
"sha256": "1ki11mvl3dky7iih90znr47vr66dxnlwrqwg2jkk1hqn5i243i4b",
|
||||
"version": "5.10.131"
|
||||
},
|
||||
"5.15": {
|
||||
"patch": {
|
||||
"extra": "-hardened1",
|
||||
"name": "linux-hardened-5.15.54-hardened1.patch",
|
||||
"sha256": "1zk6lgm9hg4m7pp16l8dhdv4pf0c1x94sfaah1ppjlq8i64704hd",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.54-hardened1/linux-hardened-5.15.54-hardened1.patch"
|
||||
"name": "linux-hardened-5.15.55-hardened1.patch",
|
||||
"sha256": "1nqf97la1sryis600pac0hnivahbhzq1k5q73wg9nmzrc0qjz5w0",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.55-hardened1/linux-hardened-5.15.55-hardened1.patch"
|
||||
},
|
||||
"sha256": "0kffavh9mbycqljacmvjd04nfrl4r4v8i0zgvq49qgm7n25m8ksr",
|
||||
"version": "5.15.54"
|
||||
"sha256": "1k7x7fp675wglfd357n7hjidnm3j8zj3gcymyazg6fkcid8bvxhy",
|
||||
"version": "5.15.55"
|
||||
},
|
||||
"5.18": {
|
||||
"patch": {
|
||||
"extra": "-hardened1",
|
||||
"name": "linux-hardened-5.18.11-hardened1.patch",
|
||||
"sha256": "19g8w933srq3p3zsi38j26cda5a43lzkhhla4pcbd54kmvwjyyjl",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.18.11-hardened1/linux-hardened-5.18.11-hardened1.patch"
|
||||
"name": "linux-hardened-5.18.12-hardened1.patch",
|
||||
"sha256": "07wap8qjjn21pxd04ll88kw6cq681ila46ji7i4jbad2dp3p5pcl",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.18.12-hardened1/linux-hardened-5.18.12-hardened1.patch"
|
||||
},
|
||||
"sha256": "1bqm32nqas1dvcx5b0qh3cshh3gcmpl8wbkn4adhgxw2lxa8w3g2",
|
||||
"version": "5.18.11"
|
||||
"sha256": "09wmgfrnv1df6jg9v3svwhvnxl0j6h4f240p903xlmgj884lvds0",
|
||||
"version": "5.18.12"
|
||||
},
|
||||
"5.4": {
|
||||
"patch": {
|
||||
"extra": "-hardened1",
|
||||
"name": "linux-hardened-5.4.205-hardened1.patch",
|
||||
"sha256": "074jyvxmk8fhskndxhc80ibprnh1h2f5z16i7b2pp3723dlm5p5l",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.205-hardened1/linux-hardened-5.4.205-hardened1.patch"
|
||||
"name": "linux-hardened-5.4.206-hardened1.patch",
|
||||
"sha256": "0m4jcyvjqfki0asxapn4q9qgyfxw8k6yqcyw899zss8584zqa6i2",
|
||||
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.206-hardened1/linux-hardened-5.4.206-hardened1.patch"
|
||||
},
|
||||
"sha256": "1m8ms5nizw3iimhw61kr11a09b6h8cfi8az3wwg4mcpb0k58lqrp",
|
||||
"version": "5.4.205"
|
||||
"sha256": "1asvc7y1f938icspxx39n6y6r0w9mp0k9vik84rsx1hzzv0db41c",
|
||||
"version": "5.4.206"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.14.288";
|
||||
version = "4.14.289";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
|
||||
@@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "0yyzxyz66mfngx3ll3pl43413xb67iyxddzh3lpzqcfg7d0rxfwz";
|
||||
sha256 = "1v24mv49skgijcbafgai0glrzwiv2j1hndkz7v6ygc18jxh5fqg6";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.19.252";
|
||||
version = "4.19.253";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
|
||||
@@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "0ac7k6x9h8gqi37n8d4fyi52h4cmzyy8f5vfv1aiihww4kvzca7v";
|
||||
sha256 = "1jc2j0wskgr1bdzpz6sn2bvafpviiin6mwr93yykcczzfjijr8yz";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.9.323";
|
||||
version = "4.9.324";
|
||||
extraMeta.branch = "4.9";
|
||||
extraMeta.broken = stdenv.isAarch64;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1h96ai9w5q2axhliw85aymdsg8py9y6gl8big5r2gwkbls6h7pa3";
|
||||
sha256 = "0g51vfp0g3py82l3q66p7nvl03h6l1nlny18gangji75a3c39yh4";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.10.131";
|
||||
version = "5.10.132";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
|
||||
@@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "1ki11mvl3dky7iih90znr47vr66dxnlwrqwg2jkk1hqn5i243i4b";
|
||||
sha256 = "0aps3kglzw480ps9agw1k3zn8ipibwkrx13kzijfl7g0xqqsj1bx";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.15.55";
|
||||
version = "5.15.56";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
|
||||
@@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "1k7x7fp675wglfd357n7hjidnm3j8zj3gcymyazg6fkcid8bvxhy";
|
||||
sha256 = "08w2kgc0v0ld7nxbary7d9fr2vxrsmqby7l4fhf7njgi6wsbp9p9";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.18.12";
|
||||
version = "5.18.13";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
|
||||
@@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "09wmgfrnv1df6jg9v3svwhvnxl0j6h4f240p903xlmgj884lvds0";
|
||||
sha256 = "1nkb4wl2v2pflqnfgmas1pmkr8wm14lm1c8py9sa5k1gwvzil3j3";
|
||||
};
|
||||
} // (args.argsOverride or { }))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.4.206";
|
||||
version = "5.4.207";
|
||||
|
||||
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
|
||||
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
|
||||
@@ -13,6 +13,6 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
|
||||
sha256 = "1asvc7y1f938icspxx39n6y6r0w9mp0k9vik84rsx1hzzv0db41c";
|
||||
sha256 = "1wwpd26qhv6i00p0yxjisns6qiz9bfrxvn1xb4ylwr8ls7zyx78v";
|
||||
};
|
||||
} // (args.argsOverride or {}))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with lib;
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "5.15-rc6";
|
||||
version = "5.19-rc5";
|
||||
extraMeta.branch = lib.versions.majorMinor version;
|
||||
|
||||
# modDirVersion needs to be x.y.z, will always add .0
|
||||
@@ -11,7 +11,7 @@ buildLinux (args // rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
||||
sha256 = "1lp3jqwsbd97k3bx4crs8rc2wssyaf0v8x4kl4zv7g7ww2kkg2ii";
|
||||
sha256 = "sha256-eqBbQBZaqexgx6m3jAoU/0HWAdHbAuT3slZWMZhrht0=";
|
||||
};
|
||||
|
||||
# Should the testing kernels ever be built on Hydra?
|
||||
|
||||
@@ -114,7 +114,8 @@ let
|
||||
patches =
|
||||
map (p: p.patch) kernelPatches
|
||||
# Required for deterministic builds along with some postPatch magic.
|
||||
++ optional (lib.versionAtLeast version "4.13") ./randstruct-provide-seed.patch
|
||||
++ optional (lib.versionAtLeast version "4.13" && lib.versionOlder version "5.19") ./randstruct-provide-seed.patch
|
||||
++ optional (lib.versionAtLeast version "5.19") ./randstruct-provide-seed-5.19.patch
|
||||
# Fixes determinism by normalizing metadata for the archive of kheaders
|
||||
++ optional (lib.versionAtLeast version "5.2" && lib.versionOlder version "5.4") ./gen-kheaders-metadata.patch;
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
diff --git a/scripts/gen-randstruct-seed.sh b/scripts/gen-randstruct-seed.sh
|
||||
index 61017b36c464..7bb494dd2e18 100755
|
||||
--- a/scripts/gen-randstruct-seed.sh
|
||||
+++ b/scripts/gen-randstruct-seed.sh
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
-SEED=$(od -A n -t x8 -N 32 /dev/urandom | tr -d ' \n')
|
||||
+SEED="NIXOS_RANDSTRUCT_SEED"
|
||||
echo "$SEED" > "$1"
|
||||
HASH=$(echo -n "$SEED" | sha256sum | cut -d" " -f1)
|
||||
echo "#define RANDSTRUCT_HASHED_SEED \"$HASH\"" > "$2"
|
||||
@@ -1,19 +1,23 @@
|
||||
{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args:
|
||||
|
||||
let
|
||||
stableVariant = {
|
||||
version = "5.15.53";
|
||||
suffix = "xanmod1";
|
||||
hash = "sha256-mLgzaXG6QaJ0hfzfNlLbAEldxHK6iHuMVUv6p8zqRBo=";
|
||||
ltsVariant = {
|
||||
version = "5.15.54";
|
||||
hash = "sha256-0Odo+ZrQok3MMPl/512F8kIQ31mGZH6e9FyVVpXrYf0=";
|
||||
};
|
||||
|
||||
edgeVariant = {
|
||||
version = "5.18.10";
|
||||
suffix = "xanmod1";
|
||||
hash = "sha256-RtvrJujd854bKf1YPiPavTh9oplpFN9ykr624K17vKE=";
|
||||
version = "5.18.11";
|
||||
hash = "sha256-UPLwaEWhBu1yriCUJu9L/B8yy+1zxnTQzHaKlT507UY=";
|
||||
};
|
||||
|
||||
xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec {
|
||||
ttVariant = {
|
||||
version = "5.15.54";
|
||||
suffix = "xanmod1-tt";
|
||||
hash = "sha256-4ck9PAFuIt/TxA/U+moGlVfCudJnzSuAw7ooFG3OJis=";
|
||||
};
|
||||
|
||||
xanmodKernelFor = { version, suffix ? "xanmod1", hash }: buildLinux (args // rec {
|
||||
inherit version;
|
||||
modDirVersion = "${version}-${suffix}";
|
||||
|
||||
@@ -24,51 +28,45 @@ let
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
structuredExtraConfig =
|
||||
with lib.kernel;
|
||||
with (lib.kernel.whenHelpers version);
|
||||
{
|
||||
# TODO: remove this once https://github.com/NixOS/nixpkgs/pull/175433 is in master
|
||||
WERROR = no;
|
||||
structuredExtraConfig = with lib.kernel; {
|
||||
# removed options
|
||||
CFS_BANDWIDTH = lib.mkForce (option no);
|
||||
RT_GROUP_SCHED = lib.mkForce (option no);
|
||||
SCHED_AUTOGROUP = lib.mkForce (option no);
|
||||
|
||||
# removed options
|
||||
CFS_BANDWIDTH = lib.mkForce (option no);
|
||||
RT_GROUP_SCHED = lib.mkForce (option no);
|
||||
SCHED_AUTOGROUP = lib.mkForce (option no);
|
||||
# AMD P-state driver
|
||||
X86_AMD_PSTATE = yes;
|
||||
|
||||
# AMD P-state driver
|
||||
X86_AMD_PSTATE = yes;
|
||||
# Paragon's NTFS3 driver
|
||||
NTFS3_FS = module;
|
||||
NTFS3_LZX_XPRESS = yes;
|
||||
NTFS3_FS_POSIX_ACL = yes;
|
||||
|
||||
# Paragon's NTFS3 driver
|
||||
NTFS3_FS = module;
|
||||
NTFS3_LZX_XPRESS = yes;
|
||||
NTFS3_FS_POSIX_ACL = yes;
|
||||
# Preemptive Full Tickless Kernel at 500Hz
|
||||
SCHED_CORE = lib.mkForce (option no);
|
||||
PREEMPT_VOLUNTARY = lib.mkForce no;
|
||||
PREEMPT = lib.mkForce yes;
|
||||
NO_HZ_FULL = yes;
|
||||
HZ_500 = yes;
|
||||
|
||||
# Preemptive Full Tickless Kernel at 500Hz
|
||||
SCHED_CORE = lib.mkForce (option no);
|
||||
PREEMPT_VOLUNTARY = lib.mkForce no;
|
||||
PREEMPT = lib.mkForce yes;
|
||||
NO_HZ_FULL = yes;
|
||||
HZ_500 = yes;
|
||||
# Google's BBRv2 TCP congestion Control
|
||||
TCP_CONG_BBR2 = yes;
|
||||
DEFAULT_BBR2 = yes;
|
||||
|
||||
# Google's BBRv2 TCP congestion Control
|
||||
TCP_CONG_BBR2 = yes;
|
||||
DEFAULT_BBR2 = yes;
|
||||
# FQ-PIE Packet Scheduling
|
||||
NET_SCH_DEFAULT = yes;
|
||||
DEFAULT_FQ_PIE = yes;
|
||||
|
||||
# FQ-PIE Packet Scheduling
|
||||
NET_SCH_DEFAULT = yes;
|
||||
DEFAULT_FQ_PIE = yes;
|
||||
# Graysky's additional CPU optimizations
|
||||
CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes;
|
||||
|
||||
# Graysky's additional CPU optimizations
|
||||
CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes;
|
||||
# Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
|
||||
FUTEX = yes;
|
||||
FUTEX_PI = yes;
|
||||
|
||||
# Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
|
||||
FUTEX = yes;
|
||||
FUTEX_PI = yes;
|
||||
|
||||
# WineSync driver for fast kernel-backed Wine
|
||||
WINESYNC = module;
|
||||
};
|
||||
# WineSync driver for fast kernel-backed Wine
|
||||
WINESYNC = module;
|
||||
};
|
||||
|
||||
extraMeta = {
|
||||
branch = lib.versions.majorMinor version;
|
||||
@@ -79,6 +77,7 @@ let
|
||||
} // (args.argsOverride or { }));
|
||||
in
|
||||
{
|
||||
stable = xanmodKernelFor stableVariant;
|
||||
lts = xanmodKernelFor ltsVariant;
|
||||
edge = xanmodKernelFor edgeVariant;
|
||||
tt = xanmodKernelFor ttVariant;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ nixBuild() {
|
||||
|
||||
nixFlakeBuild() {
|
||||
logVerbose "Building in flake mode."
|
||||
if [[ -z "$buildHost" && -z "$targetHost" && "$action" != switch && "$action" != boot ]]
|
||||
if [[ -z "$buildHost" && -z "$targetHost" && "$action" != switch && "$action" != boot && "$action" != test && "$action" != dry-activate ]]
|
||||
then
|
||||
runCmd nix "${flakeFlags[@]}" build "$@"
|
||||
readlink -f ./result
|
||||
|
||||
@@ -6,7 +6,14 @@
|
||||
|
||||
assert withMysql -> (mysql_jdbc != null);
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
let
|
||||
optionalWarning = cond: msg:
|
||||
if cond then lib.warn msg
|
||||
else lib.id;
|
||||
in
|
||||
|
||||
optionalWarning (crowdProperties != null) "Using `crowdProperties` is deprecated!"
|
||||
(stdenvNoCC.mkDerivation rec {
|
||||
pname = "atlassian-confluence";
|
||||
version = "7.18.1";
|
||||
|
||||
@@ -45,6 +52,6 @@ stdenvNoCC.mkDerivation rec {
|
||||
homepage = "https://www.atlassian.com/software/confluence";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ fpletz globin willibutz ciil techknowlogick ];
|
||||
maintainers = with maintainers; [ fpletz globin willibutz ciil techknowlogick ma27 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildFHSUserEnvBubblewrap
|
||||
, corefonts
|
||||
, dejavu_fonts
|
||||
, dpkg
|
||||
, fetchurl
|
||||
, gcc-unwrapped
|
||||
, liberation_ttf_v1
|
||||
, writeScript
|
||||
, xorg
|
||||
}:
|
||||
|
||||
let
|
||||
# var/www/onlyoffice/documentserver/server/DocService/docservice
|
||||
onlyoffice-documentserver = stdenv.mkDerivation rec {
|
||||
pname = "onlyoffice-documentserver";
|
||||
version = "7.1.1-23";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ONLYOFFICE/DocumentServer/releases/download/v${lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version))}/onlyoffice-documentserver_amd64.deb";
|
||||
sha256 = "sha256-hmQx8htSjFszdSAzJgiU7Lo6ebF7TVRfK8rJbJDhX5Q=";
|
||||
};
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
unpackCmd = "dpkg -x $curSrc source";
|
||||
|
||||
nativeBuildInputs = [
|
||||
dpkg
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
# replace dangling symlinks which are not copied into fhs with actually files
|
||||
rm lib/*.so*
|
||||
for file in var/www/onlyoffice/documentserver/server/FileConverter/bin/*.so* ; do
|
||||
ln -rs "$file" lib/$(basename "$file")
|
||||
done
|
||||
|
||||
# NixOS uses systemd, not supervisor
|
||||
rm -rf etc/supervisor
|
||||
|
||||
install -Dm755 usr/bin/documentserver-prepare4shutdown.sh -t $out/bin
|
||||
# maintainer scripts which expect supervisorctl, try to write into the nix store or are handled by nixos modules
|
||||
rm -rf usr/bin
|
||||
|
||||
# .deb default documentation
|
||||
rm -rf usr/share
|
||||
|
||||
# required for bwrap --bind
|
||||
mkdir -p var/lib/onlyoffice/ var/www/onlyoffice/documentserver/fonts/
|
||||
|
||||
mv * $out/
|
||||
'';
|
||||
|
||||
# stripping self extracting javascript binaries likely breaks them
|
||||
dontStrip = true;
|
||||
|
||||
passthru = {
|
||||
fhs = buildFHSUserEnvBubblewrap {
|
||||
name = "onlyoffice-wrapper";
|
||||
|
||||
targetPkgs = pkgs: [
|
||||
gcc-unwrapped.lib
|
||||
onlyoffice-documentserver
|
||||
|
||||
# fonts
|
||||
corefonts
|
||||
dejavu_fonts
|
||||
liberation_ttf_v1
|
||||
];
|
||||
|
||||
extraBwrapArgs = [
|
||||
"--bind var/lib/onlyoffice/ var/lib/onlyoffice/"
|
||||
"--bind var/lib/onlyoffice/documentserver/sdkjs/common/ var/www/onlyoffice/documentserver/sdkjs/common/"
|
||||
"--bind var/lib/onlyoffice/documentserver/sdkjs/slide/themes/ var/www/onlyoffice/documentserver/sdkjs/slide/themes/"
|
||||
"--bind var/lib/onlyoffice/documentserver/fonts/ var/www/onlyoffice/documentserver/fonts/"
|
||||
"--bind var/lib/onlyoffice/documentserver/server/FileConverter/bin/ var/www/onlyoffice/documentserver/server/FileConverter/bin/"
|
||||
];
|
||||
|
||||
runScript = writeScript "onlyoffice-documentserver-run-script" ''
|
||||
export NODE_CONFIG_DIR=$2
|
||||
export NODE_DISABLE_COLORS=1
|
||||
export NODE_ENV=production-linux
|
||||
|
||||
if [[ $1 == DocService/docservice ]]; then
|
||||
mkdir -p var/www/onlyoffice/documentserver/sdkjs/slide/themes/
|
||||
# symlinking themes/src breaks discovery in allfontsgen
|
||||
rm -rf var/www/onlyoffice/documentserver/sdkjs/slide/themes/src
|
||||
cp -r ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/sdkjs/slide/themes/src var/www/onlyoffice/documentserver/sdkjs/slide/themes/
|
||||
chmod -R u+w var/www/onlyoffice/documentserver/sdkjs/slide/themes/
|
||||
|
||||
# onlyoffice places generated files in those directores
|
||||
rm -rf var/www/onlyoffice/documentserver/sdkjs/common/*
|
||||
${xorg.lndir}/bin/lndir -silent ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/sdkjs/common/ var/www/onlyoffice/documentserver/sdkjs/common/
|
||||
rm -rf var/www/onlyoffice/documentserver/server/FileConverter/bin/*
|
||||
${xorg.lndir}/bin/lndir -silent ${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/server/FileConverter/bin/ var/www/onlyoffice/documentserver/server/FileConverter/bin/
|
||||
|
||||
# https://github.com/ONLYOFFICE/document-server-package/blob/master/common/documentserver/bin/documentserver-generate-allfonts.sh.m4
|
||||
echo -n Generating AllFonts.js, please wait...
|
||||
"var/www/onlyoffice/documentserver/server/tools/allfontsgen"\
|
||||
--input="${onlyoffice-documentserver}/var/www/onlyoffice/documentserver/core-fonts"\
|
||||
--allfonts-web="var/www/onlyoffice/documentserver/sdkjs/common/AllFonts.js"\
|
||||
--allfonts="var/www/onlyoffice/documentserver/server/FileConverter/bin/AllFonts.js"\
|
||||
--images="var/www/onlyoffice/documentserver/sdkjs/common/Images"\
|
||||
--selection="var/www/onlyoffice/documentserver/server/FileConverter/bin/font_selection.bin"\
|
||||
--output-web="var/www/onlyoffice/documentserver/fonts"\
|
||||
--use-system="true"
|
||||
echo Done
|
||||
|
||||
echo -n Generating presentation themes, please wait...
|
||||
"var/www/onlyoffice/documentserver/server/tools/allthemesgen"\
|
||||
--converter-dir="var/www/onlyoffice/documentserver/server/FileConverter/bin"\
|
||||
--src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\
|
||||
--output="var/www/onlyoffice/documentserver/sdkjs/common/Images"
|
||||
|
||||
"var/www/onlyoffice/documentserver/server/tools/allthemesgen"\
|
||||
--converter-dir="var/www/onlyoffice/documentserver/server/FileConverter/bin"\
|
||||
--src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\
|
||||
--output="var/www/onlyoffice/documentserver/sdkjs/common/Images"\
|
||||
--postfix="ios"\
|
||||
--params="280,224"
|
||||
|
||||
"var/www/onlyoffice/documentserver/server/tools/allthemesgen"\
|
||||
--converter-dir="var/www/onlyoffice/documentserver/server/FileConverter/bin"\
|
||||
--src="var/www/onlyoffice/documentserver/sdkjs/slide/themes"\
|
||||
--output="var/www/onlyoffice/documentserver/sdkjs/common/Images"\
|
||||
--postfix="android"\
|
||||
--params="280,224"
|
||||
echo Done
|
||||
fi
|
||||
|
||||
exec var/www/onlyoffice/documentserver/server/$1
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "ONLYOFFICE Document Server is an online office suite comprising viewers and editors";
|
||||
longDescription = ''
|
||||
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations,
|
||||
fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
|
||||
'';
|
||||
homepage = "ONLYOFFICE Document Server is an online office suite comprising viewers and editors";
|
||||
license = licenses.agpl3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = sourceTypes.binaryNativeCode;
|
||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||
};
|
||||
};
|
||||
in
|
||||
onlyoffice-documentserver
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user