Merge remote-tracking branch 'origin/staging-next' into staging

Conflicts:
	pkgs/top-level/linux-kernels.nix
This commit is contained in:
Alyssa Ross 2023-10-07 19:52:18 +00:00
commit 182718fecc
No known key found for this signature in database
GPG Key ID: F9DBED4859B271C0
225 changed files with 20929 additions and 999 deletions

View File

@ -6071,6 +6071,15 @@
githubId = 12715461;
name = "Anders Bo Rasmussen";
};
fwam = {
name = "Legion Orsetti";
email = "fwam@queereen.dev";
github = "fwam";
githubId = 113541944;
keys = [{
fingerprint = "3822 20B8 57ED 0602 3786 8A7A 18E1 AE22 D704 B4FC";
}];
};
fwc = {
github = "fwc";
githubId = 29337229;

View File

@ -424,3 +424,6 @@ The module update takes care of the new config syntax and the data itself (user
`virtualisation.fileSystems = lib.mkForce { };`.
- The `electron` packages now places its application files in `$out/libexec/electron` instead of `$out/lib/electron`. Packages using electron-builder will fail to build and need to be adjusted by changing `lib` to `libexec`.
- `teleport` has been upgraded from major version 12 to major version 14. Please see upstream [upgrade instructions](https://goteleport.com/docs/management/operations/upgrading/) and release notes for versions [13](https://goteleport.com/docs/changelog/#1300-050823) and [14](https://goteleport.com/docs/changelog/#1400-092023). Note that Teleport does not officially support upgrades across more than one major version at a time. If you're running Teleport server components, it is recommended to first upgrade to an intermediate 13.x version by setting `services.teleport.package = pkgs.teleport_13`. Afterwards, this option can be removed to upgrade to the default version (14).

View File

@ -28,15 +28,17 @@ let
{
virtualisation.qemu.package = testModuleArgs.config.qemu.package;
})
(optionalAttrs (!config.node.pkgsReadOnly) {
({ options, ... }: {
key = "nodes.nix-pkgs";
config = {
# Ensure we do not use aliases. Ideally this is only set
# when the test framework is used by Nixpkgs NixOS tests.
nixpkgs.config.allowAliases = false;
# TODO: switch to nixpkgs.hostPlatform and make sure containers-imperative test still evaluates.
nixpkgs.system = hostPkgs.stdenv.hostPlatform.system;
};
config = optionalAttrs (!config.node.pkgsReadOnly) (
mkIf (!options.nixpkgs.pkgs.isDefined) {
# Ensure we do not use aliases. Ideally this is only set
# when the test framework is used by Nixpkgs NixOS tests.
nixpkgs.config.allowAliases = false;
# TODO: switch to nixpkgs.hostPlatform and make sure containers-imperative test still evaluates.
nixpkgs.system = hostPkgs.stdenv.hostPlatform.system;
}
);
})
testModuleArgs.config.extraBaseModules
];

View File

@ -449,6 +449,8 @@ let
gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.groups) "gid";
sdInitrdUidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) config.boot.initrd.systemd.users) "uid";
sdInitrdGidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) config.boot.initrd.systemd.groups) "gid";
groupNames = lib.mapAttrsToList (n: g: g.name) cfg.groups;
usersWithoutExistingGroup = lib.filterAttrs (n: u: !lib.elem u.group groupNames) cfg.users;
spec = pkgs.writeText "users-groups.json" (builtins.toJSON {
inherit (cfg) mutableUsers;
@ -750,6 +752,18 @@ in {
{ assertion = !cfg.enforceIdUniqueness || (sdInitrdUidsAreUnique && sdInitrdGidsAreUnique);
message = "systemd initrd UIDs and GIDs must be unique!";
}
{ assertion = usersWithoutExistingGroup == {};
message =
let
errUsers = lib.attrNames usersWithoutExistingGroup;
missingGroups = lib.unique (lib.mapAttrsToList (n: u: u.group) usersWithoutExistingGroup);
mkConfigHint = group: "users.groups.${group} = {};";
in ''
The following users have a primary group that is undefined: ${lib.concatStringsSep " " errUsers}
Hint: Add this to your NixOS configuration:
${lib.concatStringsSep "\n " (map mkConfigHint missingGroups)}
'';
}
{ # If mutableUsers is false, to prevent users creating a
# configuration that locks them out of the system, ensure that
# there is at least one "privileged" account that has a

View File

@ -66,36 +66,32 @@ let
};
filterDTBs = src: if cfg.filter == null
then "${src}/dtbs"
then src
else
pkgs.runCommand "dtbs-filtered" {} ''
mkdir -p $out
cd ${src}/dtbs
cd ${src}
find . -type f -name '${cfg.filter}' -print0 \
| xargs -0 cp -v --no-preserve=mode --target-directory $out --parents
'';
filteredDTBs = filterDTBs cfg.kernelPackage;
# Compile single Device Tree overlay source
# file (.dts) into its compiled variant (.dtbo)
compileDTS = name: f: pkgs.callPackage({ stdenv, dtc }: stdenv.mkDerivation {
name = "${name}-dtbo";
nativeBuildInputs = [ dtc ];
buildCommand = ''
$CC -E -nostdinc -I${getDev cfg.kernelPackage}/lib/modules/${cfg.kernelPackage.modDirVersion}/source/scripts/dtc/include-prefixes -undef -D__DTS__ -x assembler-with-cpp ${f} | \
dtc -I dts -O dtb -@ -o $out
'';
}) {};
filteredDTBs = filterDTBs cfg.dtbSource;
# Fill in `dtboFile` for each overlay if not set already.
# Existence of one of these is guarded by assertion below
withDTBOs = xs: flip map xs (o: o // { dtboFile =
let
includePaths = ["${getDev cfg.kernelPackage}/lib/modules/${cfg.kernelPackage.modDirVersion}/source/scripts/dtc/include-prefixes"] ++ cfg.dtboBuildExtraIncludePaths;
extraPreprocessorFlags = cfg.dtboBuildExtraPreprocessorFlags;
in
if o.dtboFile == null then
if o.dtsFile != null then compileDTS o.name o.dtsFile
else compileDTS o.name (pkgs.writeText "dts" o.dtsText)
let
dtsFile = if o.dtsFile == null then (pkgs.writeText "dts" o.dtsText) else o.dtsFile;
in
pkgs.deviceTree.compileDTS {
name = "${o.name}-dtbo";
inherit includePaths extraPreprocessorFlags dtsFile;
}
else o.dtboFile; } );
in
@ -121,7 +117,39 @@ in
example = literalExpression "pkgs.linux_latest";
type = types.path;
description = lib.mdDoc ''
Kernel package containing the base device-tree (.dtb) to boot. Uses
Kernel package where device tree include directory is from. Also used as default source of dtb package to apply overlays to
'';
};
dtboBuildExtraPreprocessorFlags = mkOption {
default = [];
example = literalExpression "[ \"-DMY_DTB_DEFINE\" ]";
type = types.listOf types.str;
description = lib.mdDoc ''
Additional flags to pass to the preprocessor during dtbo compilations
'';
};
dtboBuildExtraIncludePaths = mkOption {
default = [];
example = literalExpression ''
[
./my_custom_include_dir_1
./custom_include_dir_2
]
'';
type = types.listOf types.path;
description = lib.mdDoc ''
Additional include paths that will be passed to the preprocessor when creating the final .dts to compile into .dtbo
'';
};
dtbSource = mkOption {
default = "${cfg.kernelPackage}/dtbs";
defaultText = literalExpression "\${cfg.kernelPackage}/dtbs";
type = types.path;
description = lib.mdDoc ''
Path to dtb directory that overlays and other processing will be applied to. Uses
device trees bundled with the Linux kernel by default.
'';
};

View File

@ -1286,6 +1286,7 @@
./services/web-apps/powerdns-admin.nix
./services/web-apps/prosody-filer.nix
./services/web-apps/restya-board.nix
./services/web-apps/rimgo.nix
./services/web-apps/sftpgo.nix
./services/web-apps/rss-bridge.nix
./services/web-apps/selfoss.nix

View File

@ -187,7 +187,7 @@ in {
serviceConfig = {
User = pgmanage;
Group = pgmanage;
ExecStart = "${pkgs.pgmanage}/sbin/pgmanage -c ${confFile}" +
ExecStart = "${cfg.package}/sbin/pgmanage -c ${confFile}" +
optionalString cfg.localOnly " --local-only=true";
};
};

View File

@ -154,5 +154,5 @@ in
};
};
meta.maintainers = with lib.maintainers; [ erictapen bbenno joscha ];
meta.maintainers = with lib.maintainers; [ erictapen bbenno ];
}

View File

@ -92,6 +92,16 @@ in {
'';
};
extraArgs = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "-r" "-s" "19200" ];
description = lib.mdDoc ''
A list of extra command line arguments to pass to gpsd.
Check gpsd(8) mangpage for possible arguments.
'';
};
};
};
@ -117,12 +127,14 @@ in {
Type = "forking";
ExecStart = let
devices = utils.escapeSystemdExecArgs cfg.devices;
extraArgs = utils.escapeSystemdExecArgs cfg.extraArgs;
in ''
${pkgs.gpsd}/sbin/gpsd -D "${toString cfg.debugLevel}" \
-S "${toString cfg.port}" \
${optionalString cfg.readonly "-b"} \
${optionalString cfg.nowait "-n"} \
${optionalString cfg.listenany "-G"} \
${extraArgs} \
${devices}
'';
};

View File

@ -58,6 +58,7 @@ let
"nut"
"openldap"
"openvpn"
"pgbouncer"
"php-fpm"
"pihole"
"postfix"
@ -312,6 +313,25 @@ in
Please specify either 'services.prometheus.exporters.nextcloud.passwordFile' or
'services.prometheus.exporters.nextcloud.tokenFile'
'';
} {
assertion = cfg.pgbouncer.enable -> (
(cfg.pgbouncer.connectionStringFile != null || cfg.pgbouncer.connectionString != "")
);
message = ''
PgBouncer exporter needs either connectionStringFile or connectionString configured"
'';
} {
assertion = cfg.pgbouncer.enable -> (
config.services.pgbouncer.ignoreStartupParameters != null && builtins.match ".*extra_float_digits.*" config.services.pgbouncer.ignoreStartupParameters != null
);
message = ''
Prometheus PgBouncer exporter requires including `extra_float_digits` in services.pgbouncer.ignoreStartupParameters
Example:
services.pgbouncer.ignoreStartupParameters = extra_float_digits;
See https://github.com/prometheus-community/pgbouncer_exporter#pgbouncer-configuration
'';
} {
assertion = cfg.sql.enable -> (
(cfg.sql.configFile == null) != (cfg.sql.configuration == null)
@ -350,12 +370,24 @@ in
`openFirewall' is set to `true'!
'';
})) ++ config.services.prometheus.exporters.assertions;
warnings = [(mkIf (config.services.prometheus.exporters.idrac.enable && config.services.prometheus.exporters.idrac.configurationPath != null) ''
Configuration file in `services.prometheus.exporters.idrac.configurationPath` may override
`services.prometheus.exporters.idrac.listenAddress` and/or `services.prometheus.exporters.idrac.port`.
Consider using `services.prometheus.exporters.idrac.configuration` instead.
''
)] ++ config.services.prometheus.exporters.warnings;
warnings = [
(mkIf (config.services.prometheus.exporters.idrac.enable && config.services.prometheus.exporters.idrac.configurationPath != null) ''
Configuration file in `services.prometheus.exporters.idrac.configurationPath` may override
`services.prometheus.exporters.idrac.listenAddress` and/or `services.prometheus.exporters.idrac.port`.
Consider using `services.prometheus.exporters.idrac.configuration` instead.
''
)
(mkIf
(cfg.pgbouncer.enable && cfg.pgbouncer.connectionString != "") ''
config.services.prometheus.exporters.pgbouncer.connectionString is insecure. Use connectionStringFile instead.
''
)
(mkIf
(cfg.pgbouncer.enable && config.services.pgbouncer.authType != "any") ''
Admin user (with password or passwordless) MUST exist in the services.pgbouncer.authFile if authType other than any is used.
''
)
] ++ config.services.prometheus.exporters.warnings;
}] ++ [(mkIf config.services.minio.enable {
services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000";
services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;

View File

@ -0,0 +1,145 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.pgbouncer;
in
{
port = 9127;
extraOpts = {
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
connectionString = mkOption {
type = types.str;
default = "";
example = "postgres://admin:@localhost:6432/pgbouncer?sslmode=require";
description = lib.mdDoc ''
Connection string for accessing pgBouncer.
NOTE: You MUST keep pgbouncer as database name (special internal db)!!!
NOTE: Admin user (with password or passwordless) MUST exist
in the services.pgbouncer.authFile if authType other than any is used.
WARNING: this secret is stored in the world-readable Nix store!
Use {option}`connectionStringFile` instead.
'';
};
connectionStringFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/pgBouncer-connection-string";
description = lib.mdDoc ''
File that contains pgBouncer connection string in format:
postgres://admin:@localhost:6432/pgbouncer?sslmode=require
NOTE: You MUST keep pgbouncer as database name (special internal db)!!!
NOTE: Admin user (with password or passwordless) MUST exist
in the services.pgbouncer.authFile if authType other than any is used.
{option}`connectionStringFile` takes precedence over {option}`connectionString`
'';
};
pidFile = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc ''
Path to PgBouncer pid file.
If provided, the standard process metrics get exported for the PgBouncer
process, prefixed with 'pgbouncer_process_...'. The pgbouncer_process exporter
needs to have read access to files owned by the PgBouncer process. Depends on
the availability of /proc.
https://prometheus.io/docs/instrumenting/writing_clientlibs/#process-metrics.
'';
};
webSystemdSocket = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Use systemd socket activation listeners instead of port listeners (Linux only).
'';
};
logLevel = mkOption {
type = types.enum ["debug" "info" "warn" "error" ];
default = "info";
description = lib.mdDoc ''
Only log messages with the given severity or above.
'';
};
logFormat = mkOption {
type = types.enum ["logfmt" "json"];
default = "logfmt";
description = lib.mdDoc ''
Output format of log messages. One of: [logfmt, json]
'';
};
webConfigFile = mkOption {
type = types.nullOr types.path;
default = null;
description = lib.mdDoc ''
Path to configuration file that can enable TLS or authentication.
'';
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [ ];
description = lib.mdDoc ''
Extra commandline options when launching Prometheus.
'';
};
};
serviceOpts = {
after = [ "pgbouncer.service" ];
serviceConfig = let
startScript = pkgs.writeShellScriptBin "pgbouncer-start" "${concatStringsSep " " ([
"${pkgs.prometheus-pgbouncer-exporter}/bin/pgbouncer_exporter"
"--web.listen-address ${cfg.listenAddress}:${toString cfg.port}"
"--pgBouncer.connectionString ${if cfg.connectionStringFile != null then
"$(head -n1 ${cfg.connectionStringFile})" else "${escapeShellArg cfg.connectionString}"}"
]
++ optionals (cfg.telemetryPath != null) [
"--web.telemetry-path ${escapeShellArg cfg.telemetryPath}"
]
++ optionals (cfg.pidFile != null) [
"--pgBouncer.pid-file= ${escapeShellArg cfg.pidFile}"
]
++ optionals (cfg.logLevel != null) [
"--log.level ${escapeShellArg cfg.logLevel}"
]
++ optionals (cfg.logFormat != null) [
"--log.format ${escapeShellArg cfg.logFormat}"
]
++ optionals (cfg.webSystemdSocket != false) [
"--web.systemd-socket ${escapeShellArg cfg.webSystemdSocket}"
]
++ optionals (cfg.webConfigFile != null) [
"--web.config.file ${escapeShellArg cfg.webConfigFile}"
]
++ cfg.extraFlags)}";
in
{
ExecStart = "${startScript}/bin/pgbouncer-start";
};
};
}

View File

@ -192,7 +192,7 @@ in {
# orangefs daemon will run as user
users.users.orangefs = {
isSystemUser = true;
group = "orangfs";
group = "orangefs";
};
users.groups.orangefs = {};

View File

@ -29,6 +29,13 @@ in {
type = types.package;
description = lib.mdDoc "Coredns package to use.";
};
extraArgs = mkOption {
default = [];
example = [ "-dns.port=53" ];
type = types.listOf types.str;
description = lib.mdDoc "Extra arguments to pass to coredns.";
};
};
config = mkIf cfg.enable {
@ -44,7 +51,7 @@ in {
AmbientCapabilities = "cap_net_bind_service";
NoNewPrivileges = true;
DynamicUser = true;
ExecStart = "${getBin cfg.package}/bin/coredns -conf=${configFile}";
ExecStart = "${getBin cfg.package}/bin/coredns -conf=${configFile} ${lib.escapeShellArgs cfg.extraArgs}";
ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR1 $MAINPID";
Restart = "on-failure";
};

View File

@ -121,6 +121,13 @@ in
restarted. Keys are stored at ${keysPath}.
'');
extraArgs = mkOption {
type = listOf str;
default = [ ];
example = [ "-loglevel" "info" ];
description = lib.mdDoc "Extra command line arguments.";
};
};
};
@ -181,7 +188,7 @@ in
"${binYggdrasil} -genconf") + " > /run/yggdrasil/yggdrasil.conf"}
# start yggdrasil
${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf
${binYggdrasil} -useconffile /run/yggdrasil/yggdrasil.conf ${lib.strings.escapeShellArgs cfg.extraArgs}
'';
serviceConfig = {

View File

@ -0,0 +1,107 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.rimgo;
inherit (lib)
mkOption
mkEnableOption
mkPackageOption
mkDefault
mkIf
types
literalExpression
optionalString
getExe
mapAttrs
;
in
{
options.services.rimgo = {
enable = mkEnableOption "rimgo";
package = mkPackageOption pkgs "rimgo" { };
settings = mkOption {
type = types.submodule {
freeformType = with types; attrsOf str;
options = {
PORT = mkOption {
type = types.port;
default = 3000;
example = 69420;
description = "The port to use.";
};
ADDRESS = mkOption {
type = types.str;
default = "127.0.0.1";
example = "1.1.1.1";
description = "The address to listen on.";
};
};
};
example = literalExpression ''
{
PORT = 69420;
FORCE_WEBP = "1";
}
'';
description = ''
Settings for rimgo, see [the official documentation](https://rimgo.codeberg.page/docs/usage/configuration/) for supported options.
'';
};
};
config = mkIf cfg.enable {
systemd.services.rimgo = {
description = "Rimgo";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = mapAttrs (_: toString) cfg.settings;
serviceConfig = {
ExecStart = getExe cfg.package;
AmbientCapabilities = mkIf (cfg.settings.PORT < 1024) [
"CAP_NET_BIND_SERVICE"
];
DynamicUser = true;
Restart = "on-failure";
RestartSec = "5s";
CapabilityBoundingSet = [
(optionalString (cfg.settings.PORT < 1024) "CAP_NET_BIND_SERVICE")
];
DeviceAllow = [ "" ];
LockPersonality = true;
MemoryDenyWriteExecute = true;
PrivateDevices = true;
PrivateUsers = cfg.settings.PORT >= 1024;
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@privileged"
];
UMask = "0077";
};
};
};
meta = {
maintainers = with lib.maintainers; [ quantenzitrone ];
};
}

View File

@ -1340,6 +1340,11 @@ in
nginx.gid = config.ids.gids.nginx;
};
# do not delete the default temp directories created upon nginx startup
systemd.tmpfiles.rules = [
"X /tmp/systemd-private-%b-nginx.service-*/tmp/nginx_*"
];
services.logrotate.settings.nginx = mapAttrs (_: mkDefault) {
files = "/var/log/nginx/*.log";
frequency = "weekly";

View File

@ -28,7 +28,6 @@ let
# TODO: warn the user that any address configured on those interfaces will be useless
++ concatMap (i: attrNames (filterAttrs (_: config: config.type != "internal") i.interfaces)) (attrValues cfg.vswitches);
domains = cfg.search ++ (optional (cfg.domain != null) cfg.domain);
genericNetwork = override:
let gateway = optional (cfg.defaultGateway != null && (cfg.defaultGateway.address or "") != "") cfg.defaultGateway.address
++ optional (cfg.defaultGateway6 != null && (cfg.defaultGateway6.address or "") != "") cfg.defaultGateway6.address;
@ -40,8 +39,6 @@ let
};
in optionalAttrs (gateway != [ ]) {
routes = override (map makeGateway gateway);
} // optionalAttrs (domains != [ ]) {
domains = override domains;
};
genericDhcpNetworks = initrd: mkIf cfg.useDHCP {

View File

@ -331,7 +331,6 @@ in {
graylog = handleTest ./graylog.nix {};
grocy = handleTest ./grocy.nix {};
grub = handleTest ./grub.nix {};
guacamole-client = handleTest ./guacamole-client.nix {};
guacamole-server = handleTest ./guacamole-server.nix {};
gvisor = handleTest ./gvisor.nix {};
hadoop = import ./hadoop { inherit handleTestOn; package=pkgs.hadoop; };
@ -555,6 +554,7 @@ in {
nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
nginx-sso = handleTest ./nginx-sso.nix {};
nginx-status-page = handleTest ./nginx-status-page.nix {};
nginx-tmpdir = handleTest ./nginx-tmpdir.nix {};
nginx-variants = handleTest ./nginx-variants.nix {};
nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {};
nitter = handleTest ./nitter.nix {};

View File

@ -14,8 +14,8 @@ import ./make-test-python.nix
profiles.user.databases = [
{
settings = {
"test/not/locked" = mkInt32 1;
"test/is/locked" = "locked";
"test/not".locked = mkInt32 1;
"test/is".locked = "locked";
};
locks = [
"/test/is/locked"

View File

@ -28,7 +28,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
};
};
boot.extraModulePackages =
optional (versionOlder config.boot.kernelPackages.kernel.version "5.6")
pkgs.lib.optional (pkgs.lib.versionOlder config.boot.kernelPackages.kernel.version "5.6")
config.boot.kernelPackages.wireguard;
boot.kernelModules = [ "wireguard" ];
};

View File

@ -31,7 +31,6 @@ let
linux_5_10_hardened
linux_5_15_hardened
linux_6_1_hardened
linux_6_4_hardened
linux_6_5_hardened
linux_rt_5_4
linux_rt_5_10

View File

@ -8,7 +8,7 @@ in
meta.maintainers = [ lib.maintainers.ratsclub ];
nodes = {
server = { config, pkgs }: {
server = { config, pkgs, ... }: {
services.legit = {
enable = true;
settings = {

View File

@ -44,14 +44,22 @@ import ./make-test-python.nix ({ pkgs, ...} : {
};
services.grafana = {
enable = true;
security = {
adminUser = "admin";
adminPassword = "admin";
};
addr = "localhost";
port = 3000;
extraOptions = {
DATABASE_URL = "sqlite3:///var/lib/grafana/data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL";
settings = {
security = {
admin_user = "admin";
admin_password = "admin";
};
server = {
http_addr = "localhost";
http_port = 3000;
};
database = {
type = "sqlite3";
path = "/var/lib/grafana/data/grafana.db";
wal = true;
};
};
};
users.users.foo = {

View File

@ -8,8 +8,8 @@ let
};
};
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.stdenv.hostPlatform.system};
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.stdenv.hostPlatform.system};
lxd-image-metadata = lxd-image.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
lxd-image-rootfs = lxd-image.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
in {
name = "lxd-image-server";

View File

@ -27,7 +27,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
in {
name = "mongodb";
meta = with pkgs.lib.maintainers; {
maintainers = [ bluescreen303 offline cstrahan rvl phile314 ];
maintainers = [ bluescreen303 offline rvl phile314 ];
};
nodes = {

View File

@ -0,0 +1,60 @@
let
dst-dir = "/run/nginx-test-tmpdir-uploads";
in
import ./make-test-python.nix {
name = "nginx-tmpdir";
nodes.machine = { pkgs, ... }: {
environment.etc."tmpfiles.d/nginx-uploads.conf".text = "d ${dst-dir} 0755 nginx nginx 1d";
# overwrite the tmp.conf with a short age, there will be a duplicate line info from systemd-tmpfiles in the log
systemd.tmpfiles.rules = [
"q /tmp 1777 root root 1min"
];
services.nginx.enable = true;
# simple upload service using the nginx client body temp path
services.nginx.virtualHosts = {
localhost = {
locations."~ ^/upload/([0-9a-zA-Z-.]*)$" = {
extraConfig = ''
alias ${dst-dir}/$1;
client_body_in_file_only clean;
dav_methods PUT;
create_full_put_path on;
dav_access group:rw all:r;
'';
};
};
};
};
testScript = ''
machine.wait_for_unit("nginx")
machine.wait_for_open_port(80)
with subtest("Needed prerequisite --http-client-body-temp-path=/tmp/nginx_client_body and private temp"):
machine.succeed("touch /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body")
with subtest("Working upload of test setup"):
machine.succeed("curl -X PUT http://localhost/upload/test1 --fail --data-raw 'Raw data 1'")
machine.succeed('test "$(cat ${dst-dir}/test1)" = "Raw data 1"')
# let the tmpfiles clean service do its job
machine.succeed("touch /tmp/touched")
machine.wait_until_succeeds(
"sleep 15 && systemctl start systemd-tmpfiles-clean.service && [ ! -f /tmp/touched ]",
timeout=150
)
with subtest("Working upload after cleaning"):
machine.succeed("curl -X PUT http://localhost/upload/test2 --fail --data-raw 'Raw data 2'")
machine.succeed('test "$(cat ${dst-dir}/test2)" = "Raw data 2"')
# manually remove the nginx temp dir
machine.succeed("rm -r --interactive=never /tmp/systemd-private-*-nginx.service-*/tmp/nginx_client_body")
with subtest("Broken upload after manual temp dir removal"):
machine.fail("curl -X PUT http://localhost/upload/test3 --fail --data-raw 'Raw data 3'")
'';
}

View File

@ -36,7 +36,7 @@ in
machine.succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | tee /dev/console | grep -q '127.0.0.1'")
# osquery binaries respect configuration from the Nix config option.
machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"utc\";' | osqueryi | tee /dev/console | grep -q ${boolToString utc}")
machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"utc\";' | osqueryi | tee /dev/console | grep -q ${lib.boolToString utc}")
# osquery binaries respect configuration from the Nix flags option.
machine.succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"config_refresh\";' | osqueryi | tee /dev/console | grep -q ${config_refresh}")

View File

@ -966,6 +966,36 @@ let
'';
};
pgbouncer = {
exporterConfig = {
enable = true;
connectionString = "postgres://admin:@localhost:6432/pgbouncer?sslmode=disable";
};
metricProvider = {
services.postgresql.enable = true;
services.pgbouncer = {
# https://github.com/prometheus-community/pgbouncer_exporter#pgbouncer-configuration
ignoreStartupParameters = "extra_float_digits";
enable = true;
listenAddress = "*";
databases = { postgres = "host=/run/postgresql/ port=5432 auth_user=postgres dbname=postgres"; };
authType = "any";
maxClientConn = 99;
};
};
exporterTest = ''
wait_for_unit("postgresql.service")
wait_for_unit("pgbouncer.service")
wait_for_unit("prometheus-pgbouncer-exporter.service")
wait_for_open_port(9127)
succeed("curl -sSf http://localhost:9127/metrics | grep 'pgbouncer_up 1'")
succeed(
"curl -sSf http://localhost:9127/metrics | grep 'pgbouncer_config_max_client_connections 99'"
)
'';
};
php-fpm = {
nodeName = "php_fpm";
exporterConfig = {

View File

@ -17,7 +17,7 @@ let
# Returns an attributeset of users who are not system users.
normalUsers = config:
filterAttrs (name: user: user.isNormalUser) config.users.users;
lib.filterAttrs (name: user: user.isNormalUser) config.users.users;
# Returns true if a user is a member of the given group
isMemberOf =
@ -26,7 +26,7 @@ let
groupName:
# users.users attrset
user:
any (x: x == user.name) config.users.groups.${groupName}.members;
lib.any (x: x == user.name) config.users.groups.${groupName}.members;
# Generates a valid SFTPGo user configuration for a given user
# Will be converted to JSON and loaded on application startup.
@ -52,7 +52,7 @@ let
# inside the dataprovider they will be automatically created.
# You have to create the folder on the filesystem yourself
virtual_folders =
lib.optional (lib.isMemberOf config sharedFolderName user) {
lib.optional (isMemberOf config sharedFolderName user) {
name = sharedFolderName;
mapped_path = "${config.services.sftpgo.dataDir}/${sharedFolderName}";
virtual_path = "/${sharedFolderName}";
@ -63,7 +63,7 @@ let
lib.recursiveUpdate {
"/" = [ "list" ]; # read-only top level directory
"/private" = [ "*" ]; # private subdirectory, not shared with others
} (lib.optionalAttrs (lib.isMemberOf config "shared" user) {
} (lib.optionalAttrs (isMemberOf config "shared" user) {
"/shared" = [ "*" ];
});
@ -89,7 +89,7 @@ let
# of users and folders to import to SFTPGo.
loadDataJson = config: pkgs.writeText "users-and-folders.json" (builtins.toJSON {
users =
lib.mapAttrsToList (name: user: lib.generateUserAttrSet config user) (normalUsers config);
lib.mapAttrsToList (name: user: generateUserAttrSet config user) (normalUsers config);
folders = [
{
@ -144,7 +144,7 @@ in
{
name = "sftpgo";
meta.maintainers = with maintainers; [ yayayayaka ];
meta.maintainers = with lib.maintainers; [ yayayayaka ];
nodes = {
server = { nodes, ... }: {
@ -228,7 +228,7 @@ in
# Created shared folder directories
"d ${statePath}/${sharedFolderName} 2770 ${sftpgoUser} ${sharedFolderName} -"
]
++ mapAttrsToList (name: user:
++ lib.mapAttrsToList (name: user:
# Create private user directories
''
d ${statePath}/users/${user.name} 0700 ${sftpgoUser} ${sftpgoGroup} -
@ -273,12 +273,12 @@ in
networking.firewall.allowedTCPPorts = [ 22 80 ];
services.sftpgo = {
settings = {
sftpd.bindings = mkForce [{
sftpd.bindings = lib.mkForce [{
address = "";
port = 22;
}];
httpd.bindings = mkForce [{
httpd.bindings = lib.mkForce [{
address = "";
port = 80;
}];

View File

@ -43,6 +43,10 @@ import ./make-test-python.nix ({ pkgs, ... }: {
mv $GOPATH/tracee-integration $out/bin/
'';
doInstallCheck = false;
meta = oa.meta // {
outputsToInstall = [];
};
}))
];
};

View File

@ -116,6 +116,7 @@ in import ./make-test-python.nix ({ pkgs, ...} : {
networking.firewall.allowedTCPPorts = [ 43210 ];
services.yggdrasil = {
enable = true;
extraArgs = [ "-loglevel" "error" ];
denyDhcpcdInterfaces = [ "ygg0" ];
settings = {
IfTAPMode = true;

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "lnd";
version = "0.16.3-beta";
version = "0.17.0-beta";
src = fetchFromGitHub {
owner = "lightningnetwork";
repo = "lnd";
rev = "v${version}";
hash = "sha256-/seSpWnlQmeU4vQtlHMOSedPXP9HJp1GyxcB1LqHayA=";
hash = "sha256-HndO7vp/sia352hs23xAgrpyJ/CfbRxYAAhLZ4q94Pc=";
};
vendorHash = "sha256-obrSVMqTwHe7231wa0OuoT6ANBqkQbkHIy93J2f68Zk=";
vendorHash = "sha256-4n81AZLKCTEV4+p4kRhZbzYsdRGIztzh6EKPin8W1Z0=";
subPackages = [ "cmd/lncli" "cmd/lnd" ];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ldtk";
version = "1.4.0";
version = "1.4.1";
src = fetchurl {
url = "https://github.com/deepnight/ldtk/releases/download/v${finalAttrs.version}/ubuntu-distribution.zip";
hash = "sha256-WuKzhE9r/yMqlV2bf/0AuNVKfxq/SlecmN3rHt6RjXo=";
hash = "sha256-Qt6ADyIbhuxFGh7IP1WwcsvMtjOUZoTd99GeWt5s4UM=";
};
nativeBuildInputs = [ unzip makeWrapper copyDesktopItems appimage-run ];

View File

@ -4,13 +4,13 @@
buildGoModule rec {
pname = "orbiton";
version = "2.65.0";
version = "2.65.1";
src = fetchFromGitHub {
owner = "xyproto";
repo = "orbiton";
rev = "v${version}";
hash = "sha256-ul5E5xOtH5qh5tNE+S/VhUOr079wHwgtXF7ZIAwGzgU=";
hash = "sha256-ebtzhir6nBnIawkJJq+BgXv/5CbXtbhujXkMBzQEsNY=";
};
vendorHash = null;

View File

@ -33,13 +33,13 @@
let
pname = "pulsar";
version = "1.108.0";
version = "1.109.0";
sourcesPath = {
x86_64-linux.tarname = "Linux.${pname}-${version}.tar.gz";
x86_64-linux.hash = "sha256-9wxMKekowNkFX+m3h2ZeTXu/uMLyPi6IIbseJ16shG4=";
x86_64-linux.hash = "sha256-pIm3mI1YdfapxXgIciSHtI4LeqMw5RdYTnH+eHUQ4Yo=";
aarch64-linux.tarname = "ARM.Linux.${pname}-${version}-arm64.tar.gz";
aarch64-linux.hash = "sha256-GdPnmhMZR3Y2WB2j98JEWomdKFZuTgxN8oga/tBwA4U=";
aarch64-linux.hash = "sha256-KIY/qzfl7CU0YwIgQlNHoAMhLfrTbQe7ZZvzdkUVw+M=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
newLibpath = lib.makeLibraryPath [

View File

@ -30,21 +30,21 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0i6zk4zkwcw5lnzhg7vvnsw17nar97bbq3iishag9cpjqs9jpq4z";
x86_64-darwin = "1sy0ir4mhw9j5ifiv6d2928gcs8wfksxlsp312r9nsmc2h0i11g6";
aarch64-linux = "13lsycmia9yj6s7zf441vg8c0pipxpxdrnrj7v4rhjlvixjb8f8k";
aarch64-darwin = "1qwmwx0q05lzhsb8810kjk1lcw4wm7cr0zn7pkyjlsda0vkcc5g8";
armv7l-linux = "1hlnd9w141phrd3mzkhgiskbcnxqb05396frrv38pns007xhj103";
x86_64-linux = "1ayb0fj3dfcvwmfc749aihn1mm2h4nin914kvalchkm9q0xvc2y9";
x86_64-darwin = "0yvcm1m1dlklacc0rir4ja2bqiwlwmrmx3qwxf3ik40m1dfwhh53";
aarch64-linux = "0vj7q6b82n9509dph0p4d6n7b9gwz5b3wkg4wysm4w4xflqlx9al";
aarch64-darwin = "144fxkxg6c5216ds32wdx7qf5hnvlq4a429z90wz62iynslaggl4";
armv7l-linux = "1819dg30dy8hd8gi84b1992ii1bxcfcvhx9yf4q8wdf62hw5nkpq";
}.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.82.2";
version = "1.83.0";
pname = "vscode" + lib.optionalString isInsiders "-insiders";
# This is used for VS Code - Remote SSH test
rev = "abd2f3db4bdb28f9e95536dfa84d8479f1eb312d";
rev = "e7e037083ff4455cf320e344325dacb480062c3c";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@ -68,7 +68,7 @@ in
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
sha256 = "1d1ypmasr7zj4csinb5nj531ckj7a1pgn36469fdzwn0xjrgkg16";
sha256 = "11lf24hsbc4xbi08lrzxw4bn0jqp7rbhz120y9i3ffq25kni989l";
};
};

View File

@ -6,116 +6,23 @@
, perl
, libpng
, giflib
, libjpeg
, alsa-lib
, readline
, libGLU
, libGL
, libXaw
, pkg-config
, gtk2
, gtk3
, glew
, SDL
, SDL_image
, autoreconfHook
, makeDesktopItem
, dos2unix
, runtimeShell
, xa
, file
, wrapGAppsHook
, xdg-utils
}:
let
desktopItems = [
(makeDesktopItem {
name = "x128";
exec = "x128";
comment = "VICE: C128 Emulator";
desktopName = "VICE: C128 Emulator";
genericName = "Commodore 128 emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "x64dtv";
exec = "x64dtv";
comment = "VICE: C64 DTV Emulator";
desktopName = "VICE: C64 DTV Emulator";
genericName = "Commodore 64 DTV emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "x64sc";
exec = "x64sc";
comment = "VICE: C64 Emulator";
desktopName = "VICE: C64 Emulator";
genericName = "Commodore 64 SC emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "xcbm2";
exec = "xcbm2";
comment = "VICE: CBM-II B-Model Emulator";
desktopName = "VICE: CBM-II B-Model Emulator";
genericName = "CBM-II B-Model Emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "xcbm5x0";
exec = "xcbm5x0";
comment = "VICE: CBM-II P-Model Emulator";
desktopName = "VICE: CBM-II P-Model Emulator";
genericName = "CBM-II P-Model Emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "xpet";
exec = "xpet";
comment = "VICE: PET Emulator";
desktopName = "VICE: PET Emulator";
genericName = "Commodore PET Emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "xplus4";
exec = "xplus4";
comment = "VICE: PLUS4 Emulator";
desktopName = "VICE: PLUS4 Emulator";
genericName = "Commodore PLUS4 Emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "xscpu64";
exec = "xscpu64";
comment = "VICE: SCPU64 Emulator";
desktopName = "VICE: SCPU64 Emulator";
genericName = "Commodore SCPU64 Emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "xvic";
exec = "xvic";
comment = "VICE: VIC-20 Emulator";
desktopName = "VICE: VIC-20 Emulator";
genericName = "Commodore VIC-20 Emulator";
categories = [ "System" ];
})
(makeDesktopItem {
name = "vsid";
exec = "vsid";
comment = "VSID: The SID Emulator";
desktopName = "VSID: The SID Emulator";
genericName = "SID Emulator";
categories = [ "System" ];
})
];
in
stdenv.mkDerivation rec {
pname = "vice";
version = "3.7.1";
@ -126,46 +33,41 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [
autoreconfHook
bison
dos2unix
file
flex
pkg-config
wrapGAppsHook
];
buildInputs = [
alsa-lib
giflib
gtk2
gtk3
glew
libGL
libGLU
libXaw
libjpeg
libpng
perl
readline
SDL
SDL_image
xa
xdg-utils
];
dontDisableStatic = true;
configureFlags = [ "--enable-fullscreen" "--enable-gnomeui" "--disable-pdf-docs" ];
configureFlags = [ "--enable-sdl2ui" "--enable-gtk3ui" "--enable-desktop-files" "--disable-pdf-docs" "--with-gif" ];
LIBS = "-lGL";
preBuild = ''
for i in src/resid src/resid-dtv
do
mkdir -pv $i/src
ln -sv ../../wrap-u-ar.sh $i/src
done
sed -i -e 's|#!/usr/bin/env bash|${runtimeShell}/bin/bash|' src/arch/gtk3/novte/box_drawing_generate.sh
'';
postInstall = ''
for app in ${toString desktopItems}
do
mkdir -p $out/share/applications
cp $app/share/applications/* $out/share/applications
done
mkdir -p $out/share/applications
cp src/arch/gtk3/data/unix/vice-org-*.desktop $out/share/applications
'';
meta = {

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd";
version = "1.1.1";
version = "1.1.2";
src = fetchFromGitHub {
owner = "doublecmd";
repo = "doublecmd";
rev = "v${finalAttrs.version}";
hash = "sha256-IccM7AwPiOtGHjAzvjQ99mrLFh8iZu8G7Rf71LJHB/g=";
hash = "sha256-hRBF0Xl1SSoW+vbp9c1iCuFBVIzLtueNJaqoFMF8lJ4=";
};
nativeBuildInputs = [

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "fig2dev";
version = "3.2.8b";
version = "3.2.9";
src = fetchurl {
url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
sha256 = "1jv8rg71dsy00lpg434r5zqs5qrg8mxqvv2gpcjjvmzsm551d2j1";
hash = "sha256-FeJGyNE8xy3iXggxQDitUM59Le+pzxr8Fy/X9ZMgkLE=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "meme-image-generator";
version = "1.0.1";
version = "1.0.2";
src = fetchFromGitHub {
owner = "nomad-software";
repo = "meme";
rev = "v${version}";
hash = "sha256-MzSPJCszVEZkBvSbRzXR7AaDQOOjDQ2stKKJr8oGOSE=";
hash = "sha256-L+JpNg9X3RSNXTozv2H1n2JiQx75i9gFGaQmDFaMIf0=";
};
vendorHash = null;

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, desktop-file-utils, gtk2, libpng, exiv2, lcms
{ lib, stdenv, fetchFromGitHub, fetchpatch, meson, ninja, pkg-config, desktop-file-utils, gtk2, libpng, exiv2, lcms
, intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl}:
stdenv.mkDerivation rec {
@ -9,9 +9,22 @@ stdenv.mkDerivation rec {
owner = "hellosiyan";
repo = "Viewnior";
rev = "${pname}-${version}";
sha256 = "sha256-LTahMmcAqgqviUxR624kTozJGTniAAGWKo1ZqXjoG5M=";
hash = "sha256-LTahMmcAqgqviUxR624kTozJGTniAAGWKo1ZqXjoG5M=";
};
patches = [
(fetchpatch {
name = "viewnior-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/viewnior/files/viewnior-1.8-change-exiv2-AutoPtr-to-unique_ptr.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0";
hash = "sha256-O3/d7qMiOsYJmz7ekoLM6oaHcuYjEbAfPFuDUWSybfE=";
})
(fetchpatch {
name = "viewnior-1.8-add-support-for-exiv-0.28.0-errors.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/viewnior/files/viewnior-1.8-add-support-for-exiv-0.28.0-errors.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0";
hash = "sha256-Zjc4CIlelAkbyvX2F1yo/qJjUajtAgF4+FoHWFEIPWY=";
})
];
nativeBuildInputs = [
meson
ninja

View File

@ -9,16 +9,17 @@
, libXp
, Xaw3d
, libXaw
, libXft
, fig2dev
}:
stdenv.mkDerivation rec {
pname = "xfig";
version = "3.2.8b";
version = "3.2.9";
src = fetchurl {
url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
sha256 = "0fndgbm1mkqb1sn2v2kj3nx9mxj70jbp31y2bjvzcmmkry0q3k5j";
hash = "sha256-E+2dBNG7wt7AnafvSc7sJ4OC0pD2zZJkdMLy0Bb+wvc=";
};
nativeBuildInputs = [ imagemagick makeWrapper ];
@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
libXp
Xaw3d
libXaw
libXft
];
postPatch = ''
@ -57,6 +59,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with lib; {
changelog = "https://sourceforge.net/p/mcj/xfig/ci/${version}/tree/CHANGES";
description = "An interactive drawing tool for X11";
longDescription = ''
Note that you need to have the <literal>netpbm</literal> tools

View File

@ -17,6 +17,7 @@
, libxkbcommon
, wlroots
, xorg
, nixosTests
}:
let
@ -70,6 +71,8 @@ in stdenv.mkDerivation rec {
patchShebangs build-aux/post_install.py
'';
passthru.tests.phosh = nixosTests.phosh;
meta = with lib; {
description = "Wayland compositor for mobile phones like the Librem 5";
homepage = "https://gitlab.gnome.org/World/Phosh/phoc";

View File

@ -2,17 +2,17 @@
, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups
, gtk3, nss, glib, dbus, nspr, gdk-pixbuf, libdrm, mesa
, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, pango
, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, pango
, gcc-unwrapped, udev
}:
stdenv.mkDerivation rec {
pname = "snapmaker-luban";
version = "4.8.0";
version = "4.9.1";
src = fetchurl {
url = "https://github.com/Snapmaker/Luban/releases/download/v${version}/snapmaker-luban-${version}-linux-x64.tar.gz";
sha256 = "sha256-uY8MlLIZrbds5/QdYZFTLSSis0BwRU19XfLiBX+2VCY=";
sha256 = "sha256-qLeF1trBrp53xkiAhybPTHUKuXYHQYfZ3tsmPPJlvUM=";
};
nativeBuildInputs = [
@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
libXScrnSaver
libXtst
libxcb
libxshmfence
mesa # Required for libgbm
nspr
nss
@ -42,7 +43,7 @@ stdenv.mkDerivation rec {
libPath = lib.makeLibraryPath [
stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups
gdk-pixbuf glib gtk3 libX11 libXcomposite
gdk-pixbuf glib gtk3 libX11 libXcomposite libxshmfence
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
libXtst nspr nss libxcb pango libXScrnSaver udev
];
@ -93,5 +94,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3;
maintainers = [ maintainers.simonkampe ];
platforms = [ "x86_64-linux" ];
knownVulnerabilities = [ "CVE-2023-5217" ];
};
}

View File

@ -92,11 +92,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.58.135";
version = "1.58.137";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "sha256-tJfpBIZvBr0diympUmImXYELPERJIzCSuOB0aovhodI=";
sha256 = "sha256-6vsdQU9NbEKFp/1A0bNQvutF4I+vI0zfrx70QvU1KV4=";
};
dontConfigure = true;

View File

@ -84,7 +84,7 @@ let
++ lib.optional sndioSupport sndio
++ lib.optional jackSupport libjack2
++ lib.optional smartcardSupport opensc
++ lib.optional (cfg.speechSynthesisSupport or false) speechd
++ lib.optional (cfg.speechSynthesisSupport or true) speechd
++ pkcs11Modules
++ gtk_modules;
gtk_modules = [ libcanberra-gtk3 ];

View File

@ -14,12 +14,11 @@
, makeDesktopItem
, wrapGAppsHook
, testers
, palemoon-bin
}:
stdenv.mkDerivation (finalAttrs: {
pname = "palemoon-bin";
version = "32.4.0.1";
version = "32.4.1";
src = fetchzip {
urls = [
@ -27,9 +26,9 @@ stdenv.mkDerivation (finalAttrs: {
"https://rm-us.palemoon.org/release/palemoon-${finalAttrs.version}.linux-x86_64-gtk${if withGTK3 then "3" else "2"}.tar.xz"
];
hash = if withGTK3 then
"sha256-kGt3pIgCjVeSD6UXRvj5w9opWrMx3q3B/Y0S55kKS08="
"sha256-c/rfnMpiLWqlNZppqPRNWXsgAQ1FofAdel5EFnK+mrY="
else
"sha256-kNvUC/ir7TKjvKXYFoEDOPAY75CEgeixmEV1tuB/WIM=";
"sha256-27njFdqq2DUctlz/UOtH5tlOduQNpoapuCYS+48K9dk=";
};
preferLocalBuild = true;
@ -155,7 +154,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru.tests.version = testers.testVersion {
package = palemoon-bin;
package = finalAttrs.finalPackage;
};
meta = with lib; {

View File

@ -1,36 +1,45 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
}:
buildGoModule rec {
pname = "glooctl";
version = "1.15.4";
version = "1.15.7";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-dQvvWlfCCc9QZFdOryX0bvLVdoBlhVMeP8MqQAYKua4=";
hash = "sha256-sGJfQ9sALQPxne+Q1Rf8PhCHBHupbWrIShk1dqFEPhk=";
};
vendorHash = "sha256-KaBq1VCGWv3K50DDelS0hOQkXnK1ufBiXBtbPQFzwMY=";
subPackages = [ "projects/gloo/cli/cmd" ];
vendorHash = "sha256-FU8Siea+oH4xtSVwGk/dcivS6eNpIkWZiZqQ3EX9dwI=";
nativeBuildInputs = [ installShellFiles ];
strictDeps = true;
ldflags = [
"-s"
"-w"
"-X github.com/solo-io/gloo/pkg/version.Version=${version}"
];
postInstall = ''
mv $out/bin/cmd $out/bin/glooctl
export HOME=$TMP
installShellCompletion --cmd glooctl \
--bash <($out/bin/glooctl completion bash) \
--zsh <($out/bin/glooctl completion zsh)
'';
ldflags = [ "-s" "-w" "-X github.com/solo-io/gloo/pkg/version.Version=${version}" ];
meta = with lib; {
meta = {
description = "glooctl is the unified CLI for Gloo";
homepage = "https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl/";
license = licenses.asl20;
maintainers = with maintainers; [ nelsonjeppesen ];
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ];
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubelogin";
version = "0.0.31";
version = "0.0.32";
src = fetchFromGitHub {
owner = "Azure";
repo = pname;
rev = "v${version}";
sha256 = "sha256-yIRiIZKq+Q10Uo/9qEToeMHMipA5rApkxIRr/IJ0yfY=";
sha256 = "sha256-pMen6ZL1S0xr5+h7gVBMG4XjlZUifIiqHvjKgg8AY5c=";
};
vendorHash = "sha256-XHSVLATWKklg1jWL4Lnaey7hCkYHAk/cNyUgQZ6WIq0=";
vendorHash = "sha256-pNOCagxOcxhELSWO1GfbxGmopYXIgKD00XdZdVgawrc=";
ldflags = [
"-X main.version=${version}"

View File

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "tf-summarize";
version = "0.3.2";
version = "0.3.3";
src = fetchFromGitHub {
owner = "dineshba";
repo = "tf-summarize";
rev = "v${version}";
hash = "sha256-d8DIVPQkuEvDCO0wKl+aK1jSu6MJCpTxQrgKYcFnzjA=";
hash = "sha256-1sYWOvSWxoS0R6M1HxJ6yyBSa/LY3b9G8mF3NMofFhM=";
};
vendorHash = "sha256-cnybdZth7qlP2BHK8uvLCoqJtggMIkvaL2+YugiUZRE=";
vendorHash = "sha256-YdfZt8SHBJHk5VUC8Em97EzX79EV4hxvo0B05npBA2U=";
ldflags = [
"-s"

View File

@ -8,13 +8,13 @@ buildGoModule rec {
/* Do not use "dev" as a version. If you do, Tilt will consider itself
running in development environment and try to serve assets from the
source tree, which is not there once build completes. */
version = "0.33.5";
version = "0.33.6";
src = fetchFromGitHub {
owner = "tilt-dev";
repo = "tilt";
rev = "v${version}";
hash = "sha256-o78PoIKj+0FvZRpm0AqtUq3N9a9/LDYc7DIPZgSZe4s=";
hash = "sha256-WtE8ExUKFRtdYeg0+My/DB+L/qT+J1EaKHKChNjC5oI=";
};
vendorHash = null;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "deck";
version = "1.27.0";
version = "1.27.1";
src = fetchFromGitHub {
owner = "Kong";
repo = "deck";
rev = "v${version}";
hash = "sha256-QP267H1vfsIo1EhV9vAWt03ewGufPHT8sZWcj/AHuxw=";
hash = "sha256-9eMcbmRCr92ebJsPTyDFnwGn3gsRpR7aAkzV6Qfntgo=";
};
nativeBuildInputs = [ installShellFiles ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "signal-cli";
version = "0.12.1";
version = "0.12.2";
# Building from source would be preferred, but is much more involved.
src = fetchurl {
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}-Linux.tar.gz";
hash = "sha256-pxDSAVh/zg3hCuTlSuilgD4VKe1CPSG/ZLl0TF1nc1I=";
hash = "sha256-XhLTovymqjbc19X717WyNIi4jdpwnyttXGqkkHBFwQA=";
};
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];

View File

@ -45,14 +45,14 @@ let
pname = "slack";
x86_64-darwin-version = "4.34.119";
x86_64-darwin-sha256 = "17ssha6a8iyvan3k7mbg2cdyy1y7gmlwrh4dlkgcc63bqqxsavy1";
x86_64-darwin-version = "4.34.121";
x86_64-darwin-sha256 = "0j04rj8v6aq4kjlkkc6yf466zq821jg3qy6qppmvyg5z0f08cyar";
x86_64-linux-version = "4.34.120";
x86_64-linux-sha256 = "0wldnj6hyzqxyc9p365gb46pyqq0im1ayl12mrc8xkrikx9phb7y";
x86_64-linux-version = "4.34.121";
x86_64-linux-sha256 = "11199dsp7phmz0bxlk5al61xp2g6yzgj17nwz0zrx1g7ak0qdvz5";
aarch64-darwin-version = "4.34.119";
aarch64-darwin-sha256 = "0xa39l4ynjmzq6811vprxxz8znwckmxcss9aa7v68cja8vj033vj";
aarch64-darwin-version = "4.34.121";
aarch64-darwin-sha256 = "0pvlf9h8433fi31398g4rkii14gk77a684sln8n95xg5p3lxkydy";
version = {
x86_64-darwin = x86_64-darwin-version;

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "juju";
version = "3.2.2";
version = "3.2.3";
src = fetchFromGitHub {
owner = "juju";
repo = "juju";
rev = "juju-${version}";
sha256 = "sha256-ZmMOQCKQWtzB2O6CNZTRhhj7gkpRRXY9ILN2KdSQoWk=";
sha256 = "sha256-sUlM4bLy/kluZmGOzMACz92GG46XYKicNPP5k2FPSGA=";
};
vendorHash = "sha256-rqf5nAXwcW6lm7sidEcxMqatT4KPju4Seo1/Awse5Zs=";
vendorHash = "sha256-mPEixXVuxAqgkBoNqIYnZaFJynHJsnmamaHqyh/svwQ=";
# Disable tests because it attempts to use a mongodb instance
doCheck = false;

View File

@ -12,19 +12,17 @@
buildGoModule rec {
pname = "aerc";
version = "0.15.2";
version = "0.16.0";
src = fetchFromSourcehut {
owner = "~rjarry";
repo = "aerc";
rev = version;
hash = "sha256-OQDA4AHDcAdDzpwNSi8rW1FKjfYaFktOwiM0FEHPd70=";
hash = "sha256-vmr2U0bz6A7aMZZBtOitA5gKQpXKuNhYxRCmholHYa8=";
};
proxyVendor = true;
vendorHash = "sha256-NWOySC0czNgNOakpxFguZLtmEI7AvjJQKXDE2vFWeZg=";
doCheck = false;
vendorHash = "sha256-j/wTmlVcyVI4gnjbi7KLzk5rdnZtZLrdSNbihtQJxRY=";
nativeBuildInputs = [
scdoc
@ -74,6 +72,7 @@ buildGoModule rec {
description = "An email client for your terminal";
homepage = "https://aerc-mail.org/";
maintainers = with maintainers; [ tadeokondrak ];
mainProgram = "aerc";
license = licenses.mit;
platforms = platforms.unix;
};

View File

@ -21,7 +21,7 @@
, dht
, libnatpmp
, libiconv
, darwin
, Foundation
# Build options
, enableGTK3 ? false
, gtkmm3
@ -37,14 +37,14 @@
, apparmorRulesFromClosure
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "transmission";
version = "4.0.4";
src = fetchFromGitHub {
owner = "transmission";
repo = "transmission";
rev = version;
rev = finalAttrs.version;
hash = "sha256-Sz3+5VvfOgET1aiormEnBOrF+yN79tiSQvjLAoGqTLw=";
fetchSubmodules = true;
};
@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
++ lib.optionals enableGTK3 [ gtkmm3 xorg.libpthreadstubs ]
++ lib.optionals enableSystemd [ systemd ]
++ lib.optionals stdenv.isLinux [ inotify-tools ]
++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Foundation ];
++ lib.optionals stdenv.isDarwin [ libiconv Foundation ];
postInstall = ''
mkdir $apparmor
@ -164,7 +164,5 @@ stdenv.mkDerivation rec {
license = with lib.licenses; [ gpl2Plus mit ];
maintainers = with lib.maintainers; [ astsmtl ];
platforms = lib.platforms.unix;
# Needs macOS >= 10.14.6
broken = stdenv.isDarwin && stdenv.isx86_64;
};
}
})

View File

@ -32,17 +32,14 @@
, apparmorRulesFromClosure
}:
let
version = "3.00";
in stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "transmission";
inherit version;
version = "3.00";
src = fetchFromGitHub {
owner = "transmission";
repo = "transmission";
rev = version;
rev = finalAttrs.version;
sha256 = "0ccg0km54f700x9p0jsnncnwvfnxfnxf7kcm7pcx1cj0vw78924z";
fetchSubmodules = true;
};
@ -147,4 +144,4 @@ in stdenv.mkDerivation {
platforms = lib.platforms.unix;
};
}
})

View File

@ -27,13 +27,13 @@ assert !(pulseaudioSupport && portaudioSupport);
gnuradioMinimal.pkgs.mkDerivation rec {
pname = "gqrx";
version = "2.16";
version = "2.17";
src = fetchFromGitHub {
owner = "gqrx-sdr";
repo = "gqrx";
rev = "v${version}";
hash = "sha256-14MVimOxM7upq6vpEhvVRnrverBuFToE2ktNhG59LKE=";
hash = "sha256-QnwkiH8KqoHa2Q3knh0OAyGBySAArEtdpO+lTzqJ4j0=";
};
nativeBuildInputs = [

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "delly";
version = "1.1.6";
version = "1.1.7";
src = fetchFromGitHub {
owner = "dellytools";
repo = "delly";
rev = "v${finalAttrs.version}";
hash = "sha256-/I//7MhsC/CcBeIJblzbjXp/yOSBm83KWJsrYpl6UJk=";
hash = "sha256-oBIY8s/ippf+Xw+3QzMwP0Esc/QpiT6yWeAnqpMix6s=";
};
buildInputs = [

View File

@ -1,6 +1,5 @@
{ lib
, fetchFromGitHub
, fetchpatch
, python3Packages
, runtimeShell
, bcftools
@ -16,37 +15,28 @@ let
};
in python3Packages.buildPythonApplication rec {
pname = "truvari";
version = "4.0.0";
version = "4.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ACEnglish";
repo = "truvari";
rev = "v${version}";
hash = "sha256-UJNMKEV5m2jFqnWvkVAtymkcE2TjPIXp7JqRZpMSqsE=";
hash = "sha256-HFVAv1TTL/nMjr62tQKhMdwh25P/y4nBGzSbxoJxMmo=";
};
patches = [
(fetchpatch {
name = "fix-anno-trf-on-darwin.patch";
url = "https://github.com/ACEnglish/truvari/commit/f9f36305e8eaa88f951562210e3672a4d4f71265.patch";
hash = "sha256-7O9jTQDCC2b8hUBm0qJQCYMzTC9NFtn/E0dTHSfJALU=";
})
(fetchpatch {
name = "fix-anno-grm-on-darwin.patch";
url = "https://github.com/ACEnglish/truvari/commit/31416552008a506204ed4e2add55474f10392357.patch";
hash = "sha256-42u0ewZU38GCoSfff+XQFv9hEFeO3WlJufTHcl6vkN4=";
})
];
postPatch = ''
substituteInPlace setup.py \
--replace "rich==" "rich>="
substituteInPlace truvari/utils.py \
--replace "/bin/bash" "${runtimeShell}"
patchShebangs repo_utils/test_files
'';
nativeBuildInputs = [
python3Packages.setuptools
];
propagatedBuildInputs = with python3Packages; [
pywfa
rich
edlib
pysam
@ -83,6 +73,7 @@ in python3Packages.buildPythonApplication rec {
meta = with lib; {
description = "Structural variant comparison tool for VCFs";
homepage = "https://github.com/ACEnglish/truvari";
changelog = "https://github.com/ACEnglish/truvari/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = with maintainers; [ natsukium scalavision ];
longDescription = ''

View File

@ -11,11 +11,11 @@
stdenvNoCC.mkDerivation rec {
pname = "iterm2";
version = "3.4.20";
version = "3.4.21";
src = fetchzip {
url = "https://iterm2.com/downloads/stable/iTerm2-${lib.replaceStrings ["."] ["_"] version}.zip";
hash = "sha256-RXBv3RXd2Kq8k7rbOE3HPEf6vI64VZCo1IX03gDy7l0=";
hash = "sha256-hx2d08U4AeRCLtSV3QBcnRu1QS0RblLx/LUH6HHdQvw=";
};
dontFixup = true;

View File

@ -39,14 +39,14 @@ let
in
buildGoModule rec {
pname = "forgejo";
version = "1.20.4-1";
version = "1.20.5-0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "forgejo";
repo = "forgejo";
rev = "v${version}";
hash = "sha256-Fxlj+ckw1LSgiQDex3ZizHakIKd52U6JcdTurJj8YWg=";
hash = "sha256-tuwMvSWaMUc/GghmrbGLtyjixwOwiapWEOMD9QmMLic=";
};
vendorHash = "sha256-dgtZjsLBwblhdge3BvdbK/mN/TeZKps9K5dJbqomtjo=";

View File

@ -6,7 +6,7 @@
let
pname = "lefthook";
version = "1.4.8";
version = "1.5.1";
in
buildGoModule rec {
inherit pname version;
@ -15,7 +15,7 @@ buildGoModule rec {
owner = "evilmartians";
repo = "lefthook";
rev = "v${version}";
hash = "sha256-lK2JGENCqfNXXzZBHirEoOB5+ktea38ypb2VD7GWxhg=";
hash = "sha256-v6COZt4ylhpPfPNQLSN0XDpjVk8E2ZUDIP4TU+Uzk5A=";
};
vendorHash = "sha256-/VLS7+nPERjIU7V2CzqXH69Z3/y+GKZbAFn+KcRKRuA=";

View File

@ -39,6 +39,10 @@ in mkDerivation {
sourceRoot = "makemkv-oss-${version}";
patches = [ ./r13y.patch ];
enableParallelBuilding = true;
nativeBuildInputs = [ autoPatchelfHook pkg-config ];
buildInputs = [ ffmpeg openssl qtbase zlib ];
@ -80,7 +84,7 @@ in mkDerivation {
expiration date.
'';
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
license = [ licenses.unfree licenses.lgpl21 ];
homepage = "http://makemkv.com";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ titanous ];

View File

@ -0,0 +1,13 @@
diff --git a/Makefile.in b/Makefile.in
index 61c47fc..e08ffac 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -27,7 +27,7 @@ INSTALL=@INSTALL@
OBJCOPY=@OBJCOPY@
LD=@LD@
BUILDINFO_ARCH_NAME=$(shell $(GCC) -dumpmachine)
-BUILDINFO_BUILD_DATE=$(shell date)
+BUILDINFO_BUILD_DATE=$(shell date -d @${SOURCE_DATE_EPOCH})
top_srcdir ?= .
INCF=-I$(top_srcdir)/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
{ lib, stdenv, fetchFromGitHub, rust, rustPlatform
, cargo, just, pkg-config, util-linuxMinimal
, dbus, glib, libxkbcommon, pulseaudio, wayland
}:
rustPlatform.buildRustPackage {
pname = "cosmic-applets";
version = "unstable-2023-10-04";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-applets";
rev = "fefaea9b63548b1baa5e64521b860234ee46339a";
hash = "sha256-I+18NCKLH/3QajYpZRPYmCUxkbptAjuEHfKtnZVOlH4=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"accesskit-0.11.0" = "sha256-/6KUCH1CwMHd5YEMOpAdVeAxpjl9JvrzDA4Xnbd1D9k=";
"cosmic-client-toolkit-0.1.0" = "sha256-pVWK+dODQxNej5jWyb5wX/insoiXkX8NFBDkDEejVV0=";
"cosmic-config-0.1.0" = "sha256-pUDuRHX46fbcPw19s5DEsPyJdb/Bem/lJg+3NEO/WX0=";
"cosmic-dbus-networkmanager-0.1.0" = "sha256-eWqB+zRCfJYdrcPE8Ey+WgzPBJltN0zRiutzgdtWsDA=";
"cosmic-notifications-config-0.1.0" = "sha256-KnPQdrMpzA05v4bt0Fz9fbcKdC0cSU60Hv7wqrthIaw=";
"cosmic-panel-config-0.1.0" = "sha256-H3QuiP7Og69wm9yCX/uoSG0aQ3B/61q9Sdj+rW4KZMU=";
"cosmic-time-0.3.0" = "sha256-JiTwbJSml8azelBr6b3cBvJsuAL1hmHtuHx2TJupEzE=";
"smithay-client-toolkit-0.17.0" = "sha256-v3FxzDypxSfbEU50+oDoqrGWPm+S+kDZQq//3Q4DDRU=";
"softbuffer-0.2.0" = "sha256-VD2GmxC58z7Qfu/L+sfENE+T8L40mvUKKSfgLmCTmjY=";
"xdg-shell-wrapper-config-0.1.0" = "sha256-Otxp8D5dNZl70K1ZIBswGj6K5soGVbVim7gutUHkBvw=";
};
};
postPatch = ''
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
'';
nativeBuildInputs = [ just pkg-config util-linuxMinimal ];
buildInputs = [ dbus glib libxkbcommon pulseaudio wayland ];
dontUseJustBuild = true;
justFlags = [
"--set" "prefix" (placeholder "out")
"--set" "target" "${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release"
];
# Force linking to libwayland-client, which is always dlopen()ed.
"CARGO_TARGET_${rust.toRustTargetForUseInEnvVars stdenv.hostPlatform}_RUSTFLAGS" =
map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lwayland-client"
"-Wl,--pop-state"
];
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-applets";
description = "Applets for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss ];
platforms = platforms.linux;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,61 @@
{ lib, rustPlatform, fetchFromGitHub, makeBinaryWrapper, pkg-config
, libinput, libglvnd, libxkbcommon, mesa, seatd, udev, wayland, xorg
}:
rustPlatform.buildRustPackage {
pname = "cosmic-comp";
version = "unstable-2023-10-04";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-comp";
rev = "a3ac6c42b6913193b76e481d9a60f775f67aa858";
hash = "sha256-nPQx3Pkd9WAq9ooLs8K8UI1rCHYwJlu88SP2PbC/avU=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"calloop-0.12.2" = "sha256-d/LB65l1DEC/5Kk8yvenTQYfIFBs99XqXn4tAM2mfHI=";
"cosmic-config-0.1.0" = "sha256-0HKv0/UHZMpSGF54aCip9PbwfWiWMSMHZpiipM6Qrf0=";
"cosmic-protocols-0.1.0" = "sha256-oBE/69A4haCN6Etih6B8SlbSnKg1bEocI6Rvf9IegLE=";
"id_tree-1.8.0" = "sha256-uKdKHRfPGt3vagOjhnri3aYY5ar7O3rp2/ivTfM2jT0=";
"smithay-0.3.0" = "sha256-7oOVAoEl+X09e0+V1eR5GviodntMbineEO8Igk2+BM0=";
"smithay-egui-0.1.0" = "sha256-FcSoKCwYk3okwQURiQlDUcfk9m/Ne6pSblGAzHDaVHg=";
"softbuffer-0.2.0" = "sha256-VD2GmxC58z7Qfu/L+sfENE+T8L40mvUKKSfgLmCTmjY=";
"taffy-0.3.11" = "sha256-Py9D8+L9G+sBkHPtlenOdugH5nQKTXa+XdKArOg5+qU=";
};
};
separateDebugInfo = true;
nativeBuildInputs = [ makeBinaryWrapper pkg-config ];
buildInputs = [ libglvnd libinput libxkbcommon mesa seatd udev wayland ];
# Force linking to libEGL, which is always dlopen()ed, and to
# libwayland-client, which is always dlopen()ed except by the
# obscure winit backend.
RUSTFLAGS = map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lEGL"
"-lwayland-client"
"-Wl,--pop-state"
];
# These libraries are only used by the X11 backend, which will not
# be the common case, so just make them available, don't link them.
postInstall = ''
wrapProgram $out/bin/cosmic-comp \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr
]}
'';
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-comp";
description = "Compositor for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss ];
platforms = platforms.linux;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,54 @@
{ lib, stdenv, fetchFromGitHub, cargo, just, pkg-config, rust, rustPlatform
, libglvnd, libxkbcommon, wayland
}:
rustPlatform.buildRustPackage {
pname = "cosmic-panel";
version = "unstable-2023-09-22";
src = fetchFromGitHub {
owner = "pop-os";
repo = "cosmic-panel";
rev = "df55f44f504c1cee9377cb331c1fb9d95ca83967";
hash = "sha256-qf1ITvP6PPATZ6jvlc0UuCes1UYMseY4Wr57/5xRZPE=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"cosmic-client-toolkit-0.1.0" = "sha256-pVWK+dODQxNej5jWyb5wX/insoiXkX8NFBDkDEejVV0=";
"cosmic-config-0.1.0" = "sha256-XsFfQzR1gn8Je5lbd6PmSgz/T7XAFTVnR1G6pUY+eX4=";
"cosmic-notifications-util-0.1.0" = "sha256-wRUPovWJucsrKGhjHXku/4UoZf9ih9+Wpbs0sLN+oCI=";
"launch-pad-0.1.0" = "sha256-gFtUtrD/cUVpLxPvg6iLxxAK97LTlvI4uLxo06UYIU4=";
"smithay-0.3.0" = "sha256-hulj6zr4h8A9RElQyrJBy3lvYMd7COe3uDaFMMaWNrM=";
"smithay-client-toolkit-0.17.0" = "sha256-13fXDYqO/701tzoOk8ujHtzgzzz1N6GGbcHUrsNhQ0U=";
"xdg-shell-wrapper-0.1.0" = "sha256-VCiDjvcCsb02LMo7UpEROV6lzX2DYf4Ix9zfEDO2pUg=";
};
};
nativeBuildInputs = [ just pkg-config ];
buildInputs = [ libglvnd libxkbcommon wayland ];
dontUseJustBuild = true;
justFlags = [
"--set" "prefix" (placeholder "out")
"--set" "bin-src" "target/${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release/cosmic-panel"
];
# Force linking to libEGL, which is always dlopen()ed.
"CARGO_TARGET_${rust.toRustTargetForUseInEnvVars stdenv.hostPlatform}_RUSTFLAGS" =
map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lEGL"
"-Wl,--pop-state"
];
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-panel";
description = "Panel for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ qyliss ];
platforms = platforms.linux;
};
}

View File

@ -223,6 +223,7 @@ let
bin = writeShellScript "${name}-bwrap" (bwrapCmd { initArgs = ''"$@"''; });
in runCommandLocal name {
inherit pname version;
inherit meta;
passthru = passthru // {

View File

@ -1,7 +1,9 @@
{ callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }:
{ php, callPackage, stdenvNoCC, lib, fetchFromGitHub, makeBinaryWrapper }:
let
composer = callPackage ./composer-phar.nix { };
composer = callPackage ./composer-phar.nix {
inherit (php.packages.composer) version pharHash;
};
composerKeys = stdenvNoCC.mkDerivation (finalComposerKeysAttrs: {
pname = "composer-keys";

View File

@ -10,15 +10,17 @@
, stdenvNoCC
, unzip
, xz
, version
, pharHash
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "composer-phar";
version = "2.6.4";
inherit version;
src = fetchurl {
url = "https://github.com/composer/composer/releases/download/${finalAttrs.version}/composer.phar";
hash = "sha256-Wjnz4s5bo5HuP+yyJ/ryE5D1t+1cVvFMq54cMEi8+Lg=";
hash = pharHash;
};
dontUnpack = true;

View File

@ -5,14 +5,14 @@
, libvterm-neovim
}:
stdenv.mkDerivation rec {
pname = "a4term";
stdenv.mkDerivation (finalAttrs: {
pname = "a4";
version = "0.2.3";
src = fetchFromGitHub {
owner = "rpmohn";
repo = "a4";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-AX5psz9+bLdFFeDR55TIrAWDAkhDygw6289OgIfOJTg=";
};
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
libvterm-neovim
];
makeFlags = [ "PREFIX=$(out)" ];
installFlags = [ "PREFIX=${placeholder "out"}" ];
meta = {
description = "A dynamic terminal window manager";
@ -31,4 +31,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
mainProgram = "a4";
};
}
})

View File

@ -0,0 +1,23 @@
{ lib, stdenv, fetchFromGitHub, cmake } :
stdenv.mkDerivation rec {
pname = "aocl-utils";
version = "4.1";
src = fetchFromGitHub {
owner = "amd";
repo = "aocl-utils";
rev = version;
hash = "sha256-7Vc3kE+YfqIt6VfvSamsVQRemolzs1sNJUVUZFKk/O8=";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "Interface to all AMD AOCL libraries to access CPU features";
homepage = "https://github.com/amd/aocl-utils";
license = licenses.bsd3;
platforms = [ "x86_64-linux" ];
maintainers = [ maintainers.markuskowa ];
};
}

View File

@ -0,0 +1,40 @@
{
lib,
fetchFromGitea,
buildGoModule,
tailwindcss,
}:
buildGoModule rec {
pname = "rimgo";
version = "1.2.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "rimgo";
repo = "rimgo";
rev = "v${version}";
hash = "sha256-C878ABs978viVtIuv3fPn2F2anOg2GB/+f5jaCO13tc=";
};
vendorHash = "sha256-u5N7aI9RIQ3EmiyHv0qhMcKkvmpp+5G7xbzdQcbhybs=";
nativeBuildInputs = [ tailwindcss ];
preBuild = ''
tailwindcss -i static/tailwind.css -o static/app.css -m
'';
ldflags = [
"-s"
"-w"
"-X codeberg.org/rimgo/rimgo/pages.VersionInfo=${version}"
];
meta = with lib; {
description = "An alternative frontend for Imgur";
homepage = "https://codeberg.org/rimgo/rimgo";
license = licenses.agpl3Only;
mainProgram = "rimgo";
maintainers = with maintainers; [ quantenzitrone ];
};
}

View File

@ -6,20 +6,20 @@
stdenv.mkDerivation (finalAttrs: {
pname = "scdoc";
version = "1.11.2";
version = "1.11.2-unstable-2023-03-08";
src = fetchFromSourcehut {
owner = "~sircmpwn";
repo = "scdoc";
rev = finalAttrs.version;
hash = "sha256-2NVC+1in1Yt6/XGcHXP+V4AAz8xW/hSq9ctF/Frdgh0=";
rev = "afeda241f3f9b2c27e461f32d9c2a704ab82ef61";
hash = "sha256-jIYygjUXP/6o5d9drlZjdr25KjEQx8oy4TaQwQEu8fM=";
};
outputs = [ "out" "man" "dev" ];
postPatch = ''
substituteInPlace Makefile \
--replace "-static" ""
--replace "LDFLAGS+=-static" "LDFLAGS+="
'';
makeFlags = [
@ -33,10 +33,10 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
description = "A simple man page generator written in C99 for POSIX systems";
homepage = "https://git.sr.ht/~sircmpwn/scdoc";
changelog = "https://git.sr.ht/~sircmpwn/scdoc/refs/${finalAttrs.version}";
changelog = "https://git.sr.ht/~sircmpwn/scdoc/refs/${finalAttrs.src.rev}";
license = lib.licenses.mit;
mainProgram = "scdoc";
maintainers = with lib.maintainers; [ primeos AndersonTorres ];
platforms = lib.platforms.unix;
mainProgram = "scdoc";
};
})

View File

@ -0,0 +1,73 @@
{ lib
, buildGoModule
, fetchFromGitHub
, makeDesktopItem
, copyDesktopItems
, pkg-config
, xorg
, libglvnd
, mpv
, glfw3
, waylandSupport ? false
}:
buildGoModule rec {
pname = "supersonic" + lib.optionalString waylandSupport "-wayland";
version = "0.5.2";
src = fetchFromGitHub {
owner = "dweymouth";
repo = "supersonic";
rev = "v${version}";
hash = "sha256-4SLAUqLMoUxTSi4I/QeHqudO62Gmhpm1XbCGf+3rPlc=";
};
vendorHash = "sha256-6Yp5OoybFpoBuIKodbwnyX3crLCl8hJ2r4plzo0plsY=";
nativeBuildInputs = [
copyDesktopItems
pkg-config
];
# go-glfw doesn't support both X11 and Wayland in single build
tags = lib.optionals waylandSupport [ "wayland" ];
buildInputs = [
libglvnd
mpv
xorg.libXxf86vm
xorg.libX11
] ++ (glfw3.override { inherit waylandSupport; }).buildInputs;
postInstall = ''
for dimension in 128 256 512;do
dimensions=''${dimension}x''${dimension}
mkdir -p $out/share/icons/hicolor/$dimensions/apps
cp res/appicon-$dimension.png $out/share/icons/hicolor/$dimensions/apps/${meta.mainProgram}.png
done
'' + lib.optionalString waylandSupport ''
mv $out/bin/supersonic $out/bin/${meta.mainProgram}
'';
desktopItems = [
(makeDesktopItem {
name = meta.mainProgram;
exec = meta.mainProgram;
icon = meta.mainProgram;
desktopName = "Supersonic" + lib.optionalString waylandSupport " (Wayland)";
genericName = "Subsonic Client";
comment = meta.description;
type = "Application";
categories = [ "Audio" "AudioVideo" ];
})
];
meta = with lib; {
mainProgram = "supersonic" + lib.optionalString waylandSupport "-wayland";
description = "A lightweight cross-platform desktop client for Subsonic music servers";
homepage = "https://github.com/dweymouth/supersonic";
platforms = platforms.linux;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ zane sochotnicky ];
};
}

View File

@ -1,25 +1,25 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
audioSupport ? true,
darwin,
alsa-lib,
pkg-config
{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
, pkg-config
, audioSupport ? true
, darwin
, alsa-lib
}:
rustPlatform.buildRustPackage {
rustPlatform.buildRustPackage rec {
pname = "uiua";
version = "unstable-2023-09-28";
version = "0.0.16";
src = fetchFromGitHub {
owner = "uiua-lang";
repo = "uiua";
rev = "9b8c65332396f521f170b0ed3ce104b7a8bcf7c0";
hash = "sha256-+pleCEEwgRj+p+k9oKIvbsGUWC49qByV/juv76ZdBcc=";
rev = "refs/tags/${version}";
hash = "sha256-CMuCl4idoO5qIpXdkXBbglsZQBWVT8w9azbn2rRxviA=";
};
cargoHash = "sha256-L8TCMe6eHS3QRy6HuTc1WvMfzsDhKx9YYupAkNeBwpk=";
cargoHash = "sha256-BLP9OGTnksM9NscfhtVWxE0/CqZgkqqlIMgRclCzEzs=";
nativeBuildInputs = lib.optionals stdenv.isDarwin [
rustPlatform.bindgenHook
@ -37,8 +37,6 @@ rustPlatform.buildRustPackage {
buildFeatures = lib.optional audioSupport "audio";
doCheck = true;
meta = with lib; {
description = "A stack-oriented array programming language with a focus on simplicity, beauty, and tacit code";
longDescription = ''
@ -49,6 +47,6 @@ rustPlatform.buildRustPackage {
homepage = "https://www.uiua.org/";
license = licenses.mit;
mainProgram = "uiua";
maintainers = with maintainers; [ cafkafk ];
maintainers = with maintainers; [ cafkafk tomasajt ];
};
}

View File

@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sketchybar-app-font";
version = "1.0.14";
version = "1.0.16";
src = fetchurl {
url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
hash = "sha256-GPxNMlG6a7newSXorh2RULZ5XHYFmQbcB46C0RytTTU=";
hash = "sha256-58gRCEJix9pnZEcoo6bm2zWduP0xXl3WWC6mt36SGuo=";
};
dontUnpack = true;

View File

@ -5,7 +5,7 @@
}:
let
makePackage =
makeSuperOTC =
{ family
, description
, rev
@ -13,9 +13,10 @@ let
, zip ? ""
, prefix ? ""
}:
let Family =
lib.toUpper (lib.substring 0 1 family) +
lib.substring 1 (lib.stringLength family) family;
let
Family =
lib.toUpper (lib.substring 0 1 family) +
lib.substring 1 (lib.stringLength family) family;
in
stdenvNoCC.mkDerivation rec {
pname = "source-han-${family}";
@ -49,9 +50,36 @@ let
maintainers = with lib.maintainers; [ taku0 emily ];
};
};
makeVariable =
{ family
, version
, hash
, format
}:
let
Family =
lib.toUpper (lib.substring 0 1 family) +
lib.substring 1 (lib.stringLength family) family;
in
fetchurl {
pname = "source-han-${family}-vf-${format}";
inherit version hash;
url = "https://raw.githubusercontent.com/adobe-fonts/source-han-${family}/${version}R/Variable/OTC/SourceHan${Family}-VF.${format}.ttc";
recursiveHash = true;
downloadToTemp = true;
postFetch = "install -Dm444 $downloadedFile $out/share/fonts/variable/SourceHan${Family}-VF.${format}.ttc";
meta = {
description = "An open source Pan-CJK ${Family} typeface";
homepage = "https://github.com/adobe-fonts/source-han-${family}";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ taku0 emily ];
};
};
in
{
sans = makePackage {
sans = makeSuperOTC {
family = "sans";
description = "sans-serif";
rev = "2.004R";
@ -59,7 +87,7 @@ in
zip = ".zip";
};
serif = makePackage {
serif = makeSuperOTC {
family = "serif";
description = "serif";
rev = "2.001R";
@ -68,10 +96,38 @@ in
prefix = "01_";
};
mono = makePackage {
mono = makeSuperOTC {
family = "mono";
description = "monospaced";
rev = "1.002";
hash = "sha256-DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME=";
};
sans-vf-otf = makeVariable {
family = "sans";
version = "2.004";
hash = "sha256-V7PE09c7h4RDS8Ij4PSI36Gy+LM+PVDi73Rcs+4DfHo=";
format = "otf";
};
sans-vf-ttf = makeVariable {
family = "sans";
version = "2.004";
hash = "sha256-mXTG/d30gUxzxkJpaH4vOawRXMSxxTXlHCvHEsfGqbc=";
format = "ttf";
};
serif-vf-otf = makeVariable {
family = "serif";
version = "2.002";
hash = "sha256-8sD4bU6w7HBm4vBuPAjcjpxN2rtEJugAw+X0bAOcmjA=";
format = "otf";
};
serif-vf-ttf = makeVariable {
family = "serif";
version = "2.002";
hash = "sha256-dmTZFRsD55WCOg2+sqd8bkmTSnSNn5xUYf0PgzIvzww=";
format = "ttf";
};
}

View File

@ -1,4 +1,5 @@
{ fetchurl
, fetchpatch
, lib
, stdenv
, substituteAll
@ -47,6 +48,12 @@ stdenv.mkDerivation rec {
dbusLaunch = "${dbus.lib}/bin/dbus-launch";
bash = "${bash}/bin/bash";
})
# See #226355. Can be removed on update to v45.
(fetchpatch {
name = "fix-gnome-boxes-crash.patch";
url = "https://gitlab.gnome.org/GNOME/gnome-session/commit/fab1a3b91677035d541de2c141f8073c4057342c.patch";
hash = "sha256-2xeoNgV8UDexkufXDqimAplX0GC99tUWUqjw3kfN+5Q=";
})
];
nativeBuildInputs = [

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, nix-update-script
, meson
, ninja
@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-j4K8qYwfu6/s4qnTSzwv6KRsk9f+Qr/l1bhLywKMHMU=";
};
patches = [
# Add pantheon-portals.conf
# https://github.com/elementary/default-settings/pull/293
(fetchpatch {
url = "https://github.com/elementary/default-settings/commit/8201eeb6a356e6059b505756ef7a556a6848ad3b.patch";
sha256 = "sha256-qhGj7WQTAWJTC1kouUZhBWKqyO4hQWJghEhLVl8QVUM=";
})
];
nativeBuildInputs = [
accountsservice
dbus

View File

@ -1,30 +1,34 @@
{ lib
, mkXfceDerivation
, exo
, glib
, gtk3
, libxfce4ui
, xfconf
, libwnck
, libX11
, libXmu
}:
mkXfceDerivation {
category = "apps";
pname = "xfce4-taskmanager";
version = "1.5.5";
version = "1.5.6";
odd-unstable = false;
sha256 = "sha256-worHYB9qibRxMaCYQ0+nHA9CSTColewgahyrXiPOnQA=";
sha256 = "sha256-2NkjaK6xXsrMimriO2/gTOZowt9KTX4MrWJpPXM0w68=";
nativeBuildInputs = [
exo
];
buildInputs = [
glib
gtk3
libxfce4ui
xfconf
libwnck
libX11
libXmu
];

View File

@ -1,4 +1,5 @@
{ mkXfceDerivation
, fetchpatch
, lib
, docbook_xsl
, exo
@ -25,6 +26,15 @@ let unwrapped = mkXfceDerivation {
sha256 = "sha256-pxIblhC40X0wdE6+uvmV5ypp4sOZtzn/evcS33PlNpU=";
patches = [
# Fix log spam with new GLib
# https://gitlab.xfce.org/xfce/thunar/-/issues/1204
(fetchpatch {
url = "https://gitlab.xfce.org/xfce/thunar/-/commit/2f06fcdbedbc59d9f90ccd3df07fce417cea391d.patch";
sha256 = "sha256-nvYakT4GJkQYmubgZF8GJIA/m7+6ZPbmD0HSgMcCh10=";
})
];
nativeBuildInputs = [
docbook_xsl
gobject-introspection

View File

@ -1,5 +1,6 @@
{ lib
, mkXfceDerivation
, fetchpatch
, polkit
, exo
, libxfce4util
@ -19,6 +20,15 @@ mkXfceDerivation {
sha256 = "sha256-qCkE3aVYVwphoO1ZAyzpL1ZtsLaP6XT1H1rlFoBI3yg=";
patches = [
# Add minimal xdg-desktop-portal conf file
# https://gitlab.xfce.org/xfce/xfce4-session/-/issues/181
(fetchpatch {
url = "https://gitlab.xfce.org/xfce/xfce4-session/-/commit/6451c8b21085631d8861e07ff4e1b2ef64a64ad3.patch";
sha256 = "sha256-t3opom0iv7QsKoivzk+nXbxI5uFhNmB8/Qwb4QHvcCQ=";
})
];
buildInputs = [
exo
gtk3

View File

@ -17,8 +17,8 @@
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-pulseaudio-plugin";
version = "0.4.7";
sha256 = "sha256-9fumaX4M6NTXHM1gGa4wB/Uq+CZIUnvm9kC+pJNbWXU=";
version = "0.4.8";
sha256 = "sha256-7vcjARm0O+/hVNFzOpxcgAnqD+wRNg5/eqXLcq4t/iU=";
nativeBuildInputs = [
automakeAddFlags

View File

@ -89,9 +89,9 @@ let
in
{
# features : Attr Set (String PackageFeatureAttrs)
features = processManifest ./manifests/redistrib_features_${fullCudaVersion}.json;
features = processManifest (./manifests + "/redistrib_features_${fullCudaVersion}.json");
# manifest : Attr Set (String PackageAttrs)
manifest = processManifest ./manifests/redistrib_${fullCudaVersion}.json;
manifest = processManifest (./manifests + "/redistrib_${fullCudaVersion}.json");
};
# Function to build a single redist package

View File

@ -46,11 +46,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "go";
version = "1.20.8";
version = "1.20.9";
src = fetchurl {
url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz";
hash = "sha256-ONcXFPpSeflyQEUZVtjkfjwbal3ny4QTeUnWK13TGC4=";
hash = "sha256-SSOSA4HNcdaLUndhr++lI+oYxYMbR5UDTIJ+GLaFzc8=";
};
strictDeps = true;

View File

@ -0,0 +1,54 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, fetchpatch
, jdk_headless
, gtest
}:
stdenv.mkDerivation rec {
pname = "fbjni";
version = "0.5.1";
src = fetchFromGitHub {
owner = "facebookincubator";
repo = pname;
rev = "v${version}";
sha256 = "sha256-97KqfFWtR3VJe2s0D60L3dsIDm4kMa0hpkKoZSAEoVY=";
};
patches = [
# Part of https://github.com/facebookincubator/fbjni/pull/76
# fix cmake file installation directory
(fetchpatch {
url = "https://github.com/facebookincubator/fbjni/commit/ab02e60b5da28647bfcc864b0bb1b9a90504cdb1.patch";
sha256 = "sha256-/h6kosulRH/ZAU2u0zRSaNDK39jsnFt9TaSxyBllZqM=";
})
# install headers
(fetchpatch {
url = "https://github.com/facebookincubator/fbjni/commit/74e125caa9a815244f1e6bd08eaba57d015378b4.patch";
sha256 = "sha256-hQS35D69GD3ewV4zzPG+LO7jk7ncCj2CYDbLJ6SnpqE=";
})
];
nativeBuildInputs = [
cmake
jdk_headless
];
buildInputs = [
gtest
];
cmakeFlags = [
"-DJAVA_HOME=${jdk_headless.passthru.home}"
];
meta = with lib; {
description = "A library designed to simplify the usage of the Java Native Interface";
homepage = "https://github.com/facebookincubator/fbjni";
license = licenses.asl20;
maintainers = with maintainers; [ jonringer ];
};
}

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "graphene-hardened-malloc";
version = "11";
version = "12";
src = fetchFromGitHub {
owner = "GrapheneOS";
repo = "hardened_malloc";
rev = finalAttrs.version;
sha256 = "sha256-BbjL0W12QXFmGCzFrFYY6CZZeFbUt0elCGhM+mbL/IU=";
sha256 = "sha256-ujwzr4njNsf/VTyEq7zKHWxoivU3feavSTx+MLIj1ZM=";
};
doCheck = true;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "inih";
version = "56";
version = "57";
src = fetchFromGitHub {
owner = "benhoyt";
repo = pname;
rev = "r${version}";
sha256 = "sha256-7k3i3pElihastUDrdf9DyRZMe2UNFckfLUFGb4rbWLo=";
hash = "sha256-a4nvhJSmZGqu2sdZSPNPjdnkzZ9dSKocL/XG2aDyFw4=";
};
nativeBuildInputs = [ meson ninja ];

View File

@ -64,6 +64,7 @@ stdenv.mkDerivation rec {
updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "odd-unstable";
freeze = true;
};
};

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
packageName = pname;
attrPath = "libsigcxx";
versionPolicy = "odd-unstable";
freeze = true;
freeze = "2.99.1";
};
};

View File

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, cmake, check, subunit }:
stdenv.mkDerivation rec {
pname = "orcania";
version = "2.3.2";
version = "2.3.3";
src = fetchFromGitHub {
owner = "babelouest";
repo = pname;
rev = "v${version}";
sha256 = "sha256-xF6QIXfsI+6WqshcG74/J98MgjSkYjRkTW64zeH6DDY=";
sha256 = "sha256-Cz3IE5UrfoWjMxQ/+iR1bLsYxf5DVN+7aJqLBcPjduA=";
};
nativeBuildInputs = [ cmake ];

View File

@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
packageName = pname;
versionPolicy = "odd-unstable";
# 1.90 is alpha for API 2.
freeze = true;
freeze = "1.90.0";
};
};

View File

@ -6,10 +6,10 @@
# Enable BLAS interface with 64-bit integer width.
, blas64 ? false
# Target architecture. "amd64" compiles kernels for all Zen
# Target architecture. "amdzen" compiles kernels for all Zen
# generations. To build kernels for specific Zen generations,
# use "zen", "zen2", or "zen3".
, withArchitecture ? "amd64"
# use "zen", "zen2", "zen3", or "zen4".
, withArchitecture ? "amdzen"
# Enable OpenMP-based threading.
, withOpenMP ? true
@ -18,15 +18,16 @@
let
threadingSuffix = lib.optionalString withOpenMP "-mt";
blasIntSize = if blas64 then "64" else "32";
in stdenv.mkDerivation rec {
pname = "amd-blis";
version = "3.0";
version = "4.1";
src = fetchFromGitHub {
owner = "amd";
repo = "blis";
rev = version;
hash = "sha256-bbbeo1yOKse9pzbsB6lQ7pULKdzu3G7zJzTUgPXiMZY=";
hash = "sha256-1vd4uBg/+Vufqsr+MnAWSUW/THkribHNSMeq1/is8K4=";
};
inherit blas64;
@ -54,8 +55,9 @@ in stdenv.mkDerivation rec {
'';
postInstall = ''
ln -s $out/lib/libblis${threadingSuffix}.so.3 $out/lib/libblas.so.3
ln -s $out/lib/libblis${threadingSuffix}.so.3 $out/lib/libcblas.so.3
ls $out/lib
ln -s $out/lib/libblis${threadingSuffix}.so $out/lib/libblas.so.3
ln -s $out/lib/libblis${threadingSuffix}.so $out/lib/libcblas.so.3
ln -s $out/lib/libblas.so.3 $out/lib/libblas.so
ln -s $out/lib/libcblas.so.3 $out/lib/libcblas.so
'';

View File

@ -1,34 +0,0 @@
diff --git a/Makefile b/Makefile
index 5549ce30..ac2ee51e 100644
--- a/Makefile
+++ b/Makefile
@@ -583,14 +583,14 @@ endif
# --- Shared library linker rules ---
-$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS)
+$(LIBFLAME_SO_PATH): $(MK_ALL_FLAMEC_OBJS) $(LAPACKE_A_PATH)
ifeq ($(ENABLE_VERBOSE),yes)
ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes)
$(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A)
ifeq ($(OS_NAME),Darwin)
- $(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS)
+ $(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS)
else
- $(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS)
+ $(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH)--no-whole-archive $(LDFLAGS)
endif
else
# NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in
@@ -602,9 +602,9 @@ else
ifeq ($(FLA_ENABLE_MAX_ARG_LIST_HACK),yes)
@$(CAT) $(AR_OBJ_LIST_FILE) | xargs -n$(AR_CHUNK_SIZE) $(AR) $(ARFLAGS) $(LIBFLAME_A)
ifeq ($(OS_NAME),Darwin)
- @$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A) $(LDFLAGS)
+ @$(LINKER) $(SOFLAGS) -o $@ -Wl,-force_load,$(LIBFLAME_A),$(LAPACKE_A_PATH) $(LDFLAGS)
else
- @$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),--no-whole-archive $(LDFLAGS)
+ @$(LINKER) $(SOFLAGS) -o $@ -Wl,--whole-archive,$(LIBFLAME_A),$(LAPACKE_A_PATH),--no-whole-archive $(LDFLAGS)
endif
else
# NOTE: Can't use $^ automatic variable as long as $(AR_OBJ_LIST_FILE) is in

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