Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2022-07-23 00:15:21 +00:00
committed by GitHub
125 changed files with 1763 additions and 769 deletions
+6
View File
@@ -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";
+18 -2
View File
@@ -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;
};
}
+5 -11
View File
@@ -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";
}
+1
View File
@@ -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;
+1
View File
@@ -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
-1
View File
@@ -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: {
+30 -5
View File
@@ -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 = {
+1 -1
View File
@@ -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 = { };
};
}
+1 -1
View File
@@ -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)
+16 -12
View File
@@ -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 [
+59 -8
View File
@@ -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 -3
View File
@@ -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 ];
};
}
+12 -2
View File
@@ -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;
};
}
+2 -2
View File
@@ -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 -2
View File
@@ -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 -2
View File
@@ -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=";
+2 -2
View File
@@ -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 ];
+4 -6
View File
@@ -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" ];
+48 -24
View File
@@ -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";
+28 -6
View File
@@ -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 ];
};
}
+48
View File
@@ -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 -2
View File
@@ -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 -2
View File
@@ -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" ];
+2 -2
View File
@@ -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 doesnt 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 = [
+18 -2
View File
@@ -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 -2
View File
@@ -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=";
+4 -9
View File
@@ -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 -2
View File
@@ -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=";
+4 -4
View File
@@ -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 ];
};
}
+3 -3
View File
@@ -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";
+11 -3
View File
@@ -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/";
})
];
}
+2 -2
View File
@@ -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 = [
+19 -4
View File
@@ -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
+86 -93
View File
@@ -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"
}
}
+2 -2
View File
@@ -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 {}))
+2 -2
View File
@@ -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 {}))
+2 -2
View File
@@ -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 {}))
+2 -2
View File
@@ -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 {}))
+2 -2
View File
@@ -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 { }))
+2 -2
View File
@@ -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 { }))
+2 -2
View File
@@ -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
+10 -3
View File
@@ -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