Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-01-10 00:13:04 +00:00 committed by GitHub
commit 27a26dea51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
311 changed files with 9183 additions and 1888 deletions

View File

@ -2,35 +2,38 @@
`pkgs.checkpointBuildTools` provides a way to build derivations incrementally. It consists of two functions to make checkpoint builds using Nix possible.
For hermeticity, Nix derivations do not allow any state to carry over between builds, making a transparent incremental build within a derivation impossible.
For hermeticity, Nix derivations do not allow any state to be carried over between builds, making a transparent incremental build within a derivation impossible.
However, we can tell Nix explicitly what the previous build state was, by representing that previous state as a derivation output. This allows the passed build state to be used for an incremental build.
To change a normal derivation to a checkpoint based build, these steps must be taken:
- apply `prepareCheckpointBuild` on the desired derivation
e.g.:
- apply `prepareCheckpointBuild` on the desired derivation, e.g.
```nix
checkpointArtifacts = (pkgs.checkpointBuildTools.prepareCheckpointBuild pkgs.virtualbox);
```
- change something you want in the sources of the package. (e.g. using a source override)
- change something you want in the sources of the package, e.g. use a source override:
```nix
changedVBox = pkgs.virtualbox.overrideAttrs (old: {
src = path/to/vbox/sources;
}
});
```
- use `mkCheckpointedBuild changedVBox buildOutput`
- use `mkCheckpointBuild changedVBox checkpointArtifacts`
- enjoy shorter build times
## Example {#sec-checkpoint-build-example}
```nix
{ pkgs ? import <nixpkgs> {} }: with (pkgs) checkpointBuildTools;
{ pkgs ? import <nixpkgs> {} }:
let
helloCheckpoint = checkpointBuildTools.prepareCheckpointBuild pkgs.hello;
inherit (pkgs.checkpointBuildTools)
prepareCheckpointBuild
mkCheckpointBuild
;
helloCheckpoint = prepareCheckpointBuild pkgs.hello;
changedHello = pkgs.hello.overrideAttrs (_: {
doCheck = false;
patchPhase = ''
sed -i 's/Hello, world!/Hello, Nix!/g' src/hello.c
'';
});
in checkpointBuildTools.mkCheckpointBuild changedHello helloCheckpoint
in mkCheckpointBuild changedHello helloCheckpoint
```

View File

@ -563,6 +563,12 @@
githubId = 732652;
name = "Andreas Herrmann";
};
ahirner = {
email = "a.hirner+nixpkgs@gmail.com";
github = "ahirner";
githubId = 6055037;
name = "Alexander Hirner";
};
ahoneybun = {
email = "aaron@system76.com";
github = "ahoneybun";
@ -3858,6 +3864,12 @@
githubId = 6821729;
github = "criyle";
};
crschnick = {
email = "crschnick@xpipe.io";
name = "Christopher Schnick";
github = "crschnick";
githubId = 72509152;
};
CRTified = {
email = "carl.schneider+nixos@rub.de";
matrix = "@schnecfk:ruhr-uni-bochum.de";
@ -19114,6 +19126,12 @@
github = "uakci";
githubId = 6961268;
};
uartman = {
name = "Anton Gusev";
email = "uartman@mail.ru";
github = "UARTman";
githubId = 21099202;
};
udono = {
email = "udono@virtual-things.biz";
github = "udono";
@ -19606,7 +19624,15 @@
githubId = 13259982;
name = "Vanessa McHale";
};
vncsb = {
email = "viniciusbernardino1@hotmail.com";
github = "vncsb";
githubId = 19562240;
name = "Vinicius Bernardino";
keys = [{
fingerprint = "F0D3 920C 722A 541F 0CCD 66E3 A7BA BA05 3D78 E7CA";
}];
};
voidless = {
email = "julius.schmitt@yahoo.de";
github = "voidIess";

View File

@ -65,12 +65,10 @@ hardware.opengl.extraPackages = [
[Intel Gen8 and later
GPUs](https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units#Gen8)
are supported by the Intel NEO OpenCL runtime that is provided by the
intel-compute-runtime package. For Gen7 GPUs, the deprecated Beignet
runtime can be used, which is provided by the beignet package. The
proprietary Intel OpenCL runtime, in the intel-ocl package, is an
alternative for Gen7 GPUs.
intel-compute-runtime package. The proprietary Intel OpenCL runtime, in
the intel-ocl package, is an alternative for Gen7 GPUs.
The intel-compute-runtime, beignet, or intel-ocl package can be added to
The intel-compute-runtime or intel-ocl package can be added to
[](#opt-hardware.opengl.extraPackages)
to enable OpenCL support. For example, for Gen8 and later GPUs, the following
configuration can be used:

View File

@ -45,6 +45,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `himalaya` was updated to v1.0.0-beta, which introduces breaking changes. Check out the [release note](https://github.com/soywod/himalaya/releases/tag/v1.0.0-beta) for details.
- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
- `k9s` was updated to v0.30. There have been various breaking changes in the config file format,

View File

@ -35,6 +35,7 @@ with lib;
# dep of graphviz, libXpm is optional for Xpm support
gd = super.gd.override { withXorg = false; };
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
gpsd = super.gpsd.override { guiSupport = false; };
graphviz = super.graphviz-nox;

View File

@ -273,6 +273,7 @@
./programs/virt-manager.nix
./programs/wavemon.nix
./programs/wayland/cardboard.nix
./programs/wayland/labwc.nix
./programs/wayland/river.nix
./programs/wayland/sway.nix
./programs/wayland/waybar.nix
@ -833,6 +834,7 @@
./services/monitoring/riemann.nix
./services/monitoring/scollector.nix
./services/monitoring/smartd.nix
./services/monitoring/snmpd.nix
./services/monitoring/statsd.nix
./services/monitoring/sysstat.nix
./services/monitoring/teamviewer.nix

View File

@ -0,0 +1,25 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.labwc;
in
{
meta.maintainers = with lib.maintainers; [ AndersonTorres ];
options.programs.labwc = {
enable = lib.mkEnableOption (lib.mdDoc "labwc");
package = lib.mkPackageOption pkgs "labwc" { };
};
config = lib.mkIf cfg.enable (lib.mkMerge [
{
environment.systemPackages = [ cfg.package ];
xdg.portal.config.wlroots.default = lib.mkDefault [ "wlr" "gtk" ];
# To make a labwc session available for certain DMs like SDDM
services.xserver.displayManager.sessionPackages = [ cfg.package ];
}
(import ./wayland-session.nix { inherit lib pkgs; })
]);
}

View File

@ -0,0 +1,83 @@
{ pkgs, config, lib, ... }:
let
cfg = config.services.snmpd;
configFile = if cfg.configText != "" then
pkgs.writeText "snmpd.cfg" ''
${cfg.configText}
'' else null;
in {
options.services.snmpd = {
enable = lib.mkEnableOption "snmpd";
package = lib.mkPackageOption pkgs "net-snmp" {};
listenAddress = lib.mkOption {
type = lib.types.str;
default = "0.0.0.0";
description = lib.mdDoc ''
The address to listen on for SNMP and AgentX messages.
'';
example = "127.0.0.1";
};
port = lib.mkOption {
type = lib.types.port;
default = 161;
description = lib.mdDoc ''
The port to listen on for SNMP and AgentX messages.
'';
};
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc ''
Open port in firewall for snmpd.
'';
};
configText = lib.mkOption {
type = lib.types.lines;
default = "";
description = lib.mdDoc ''
The contents of the snmpd.conf. If the {option}`configFile` option
is set, this value will be ignored.
Note that the contents of this option will be added to the Nix
store as world-readable plain text, {option}`configFile` can be used in
addition to a secret management tool to protect sensitive data.
'';
};
configFile = lib.mkOption {
type = lib.types.path;
default = configFile;
defaultText = lib.literalMD "The value of {option}`configText`.";
description = lib.mdDoc ''
Path to the snmpd.conf file. By default, if {option}`configText` is set,
a config file will be automatically generated.
'';
};
};
config = lib.mkIf cfg.enable {
systemd.services."snmpd" = {
description = "Simple Network Management Protocol (SNMP) daemon.";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${lib.getExe' cfg.package "snmpd"} -f -Lo -c ${cfg.configFile} ${cfg.listenAddress}:${toString cfg.port}";
};
};
networking.firewall.allowedUDPPorts = lib.mkIf cfg.openFirewall [
cfg.port
];
};
meta.maintainers = [ lib.maintainers.eliandoran ];
}

View File

@ -4,9 +4,10 @@ with lib;
let
inherit (pkgs) cups cups-pk-helper cups-filters xdg-utils;
inherit (pkgs) cups-pk-helper cups-filters xdg-utils;
cfg = config.services.printing;
cups = cfg.package;
avahiEnabled = config.services.avahi.enable;
polkitEnabled = config.security.polkit.enable;
@ -140,6 +141,8 @@ in
'';
};
package = lib.mkPackageOption pkgs "cups" {};
stateless = mkOption {
type = types.bool;
default = false;

View File

@ -33,21 +33,11 @@ in {
'';
};
package = lib.mkOption {
type = lib.types.package;
default = pkgs.lxd;
defaultText = lib.literalExpression "pkgs.lxd";
description = lib.mdDoc ''
The LXD package to use.
'';
};
package = lib.mkPackageOption pkgs "lxd" { };
lxcPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.lxc;
defaultText = lib.literalExpression "pkgs.lxc";
description = lib.mdDoc ''
The LXC package to use with LXD (required for AppArmor profiles).
lxcPackage = lib.mkPackageOption pkgs "lxc" {
extraDescription = ''
Required for AppArmor profiles.
'';
};
@ -149,7 +139,7 @@ in {
ui = {
enable = lib.mkEnableOption (lib.mdDoc "(experimental) LXD UI");
package = lib.mkPackageOption pkgs.lxd-unwrapped "ui" { };
package = lib.mkPackageOption pkgs [ "lxd-unwrapped" "ui" ] { };
};
};
};

View File

@ -773,6 +773,7 @@ in {
sing-box = handleTest ./sing-box.nix {};
slimserver = handleTest ./slimserver.nix {};
slurm = handleTest ./slurm.nix {};
snmpd = handleTest ./snmpd.nix {};
smokeping = handleTest ./smokeping.nix {};
snapcast = handleTest ./snapcast.nix {};
snapper = handleTest ./snapper.nix {};
@ -861,6 +862,7 @@ in {
systemd-misc = handleTest ./systemd-misc.nix {};
systemd-userdbd = handleTest ./systemd-userdbd.nix {};
systemd-homed = handleTest ./systemd-homed.nix {};
systemtap = handleTest ./systemtap.nix {};
tandoor-recipes = handleTest ./tandoor-recipes.nix {};
tang = handleTest ./tang.nix {};
taskserver = handleTest ./taskserver.nix {};

View File

@ -21,7 +21,7 @@ import ./make-test-python.nix ({ lib, ... }: {
}
];
};
services.paperless.extraConfig = {
services.paperless.settings = {
PAPERLESS_DBHOST = "/run/postgresql";
};
};

23
nixos/tests/snmpd.nix Normal file
View File

@ -0,0 +1,23 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "snmpd";
nodes.snmpd = {
environment.systemPackages = with pkgs; [
net-snmp
];
services.snmpd = {
enable = true;
configText = ''
rocommunity public
'';
};
};
testScript = ''
start_all();
machine.wait_for_unit("snmpd.service")
machine.succeed("snmpwalk -v 2c -c public localhost | grep SNMPv2-MIB::sysName.0");
'';
})

50
nixos/tests/systemtap.nix Normal file
View File

@ -0,0 +1,50 @@
{ system ? builtins.currentSystem
, config ? { }
, pkgs ? import ../.. { inherit system config; }
}@args:
with pkgs.lib;
let
stapScript = pkgs.writeText "test.stp" ''
probe kernel.function("do_sys_poll") {
println("kernel function probe & println work")
exit()
}
'';
## TODO shared infra with ../kernel-generic.nix
testsForLinuxPackages = linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
name = "kernel-${linuxPackages.kernel.version}";
meta = with pkgs.lib.maintainers; {
maintainers = [ bendlas ];
};
nodes.machine = { ... }:
{
boot.kernelPackages = linuxPackages;
programs.systemtap.enable = true;
};
testScript =
''
with subtest("Capture stap ouput"):
output = machine.succeed("stap ${stapScript} 2>&1")
with subtest("Ensure that expected output from stap script is there"):
assert "kernel function probe & println work\n" == output, "kernel function probe & println work\n != " + output
'';
}) args);
## TODO shared infra with ../kernel-generic.nix
kernels = {
inherit (pkgs.linuxKernel.packageAliases) linux_default linux_latest;
};
in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // {
passthru = {
inherit testsForLinuxPackages;
testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
};
}

View File

@ -23,13 +23,13 @@ with lib.strings;
let
version = "2.69.3";
version = "2.70.3";
src = fetchFromGitHub {
owner = "grame-cncm";
repo = "faust";
rev = version;
sha256 = "sha256-V2oDP17omIU9Waz5zrOyEHnWrVIfdDRM4KxHb01eyd8=";
sha256 = "sha256-z6fW/T7wJZxugmvABlpvyMXvR4WkmC16INOKyyfKx8k=";
fetchSubmodules = true;
};

View File

@ -6,6 +6,7 @@
, fetchgit
, runCommand
, gn
, neovim
, ninja
, makeWrapper
, pkg-config
@ -67,11 +68,7 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
removeReferencesTo
] ++ lib.optionals stdenv.isDarwin [ xcbuild ];
# All tests passes but at the end cargo prints for unknown reason:
# error: test failed, to rerun pass '--bin neovide'
# Increasing the loglevel did not help. In a nix-shell environment
# the failure do not occure.
doCheck = false;
nativeCheckInputs = [ neovim ];
buildInputs = [
SDL2
@ -81,6 +78,11 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
darwin.apple_sdk.frameworks.AppKit
];
env = lib.optionalAttrs stdenv.isDarwin {
# Work around https://github.com/NixOS/nixpkgs/issues/166205
NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}";
};
postFixup = let
libPath = lib.makeLibraryPath ([
libglvnd
@ -117,6 +119,5 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
license = with licenses; [ mit ];
maintainers = with maintainers; [ ck3d multisn8 ];
platforms = platforms.all;
badPlatforms = platforms.darwin;
};
}

View File

@ -14,13 +14,13 @@
buildDotnetModule rec {
pname = "denaro";
version = "2023.11.0";
version = "2024.1.0";
src = fetchFromGitHub {
owner = "NickvisionApps";
repo = "Denaro";
rev = version;
hash = "sha256-buMoB6ZTmzGjjSCOfdUvKbJ7xJmK/zHH8sz5iO3SJXo=";
hash = "sha256-1LGcJmNucLmP5JbtZcLGuIE0UTmeUxLl9j31Oe0k93s=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;

View File

@ -3,7 +3,7 @@
{ fetchNuGet }: [
(fetchNuGet { pname = "Ace4896.DBus.Services.Secrets"; version = "1.2.0"; sha256 = "1i1rwv8z2dx0mjib7vair2w7ylngmrcpbd012sdlpvdjpx0af0bn"; })
(fetchNuGet { pname = "Cake.Tool"; version = "3.2.0"; sha256 = "0jvf3r0rr15q650182c3y6a4c21k84rzl2f0nida878j6fhmk6v7"; })
(fetchNuGet { pname = "Cake.Tool"; version = "4.0.0"; sha256 = "11vc5fimi6w465081sqxs4zhw7grr6v8ga7nl1mscdl43wv33ql2"; })
(fetchNuGet { pname = "Docnet.Core"; version = "2.6.0"; sha256 = "1b1nj984ly4zgj28fri1a6ych9sdiacxkms8pvzsclvyxkf0ri8m"; })
(fetchNuGet { pname = "FuzzySharp"; version = "2.0.2"; sha256 = "1xq3q4s9d5p1yn4j91a90hawk9wcrz1bl6zj9866y01yx9aamr8s"; })
(fetchNuGet { pname = "GetText.NET"; version = "1.9.14"; sha256 = "18z4cf0dldcf41z8xgj3gdlvj9w5a9ikgj72623r0i740ndnl094"; })
@ -36,11 +36,11 @@
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
(fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; sha256 = "05392f41ijgn17y8pbjcx535l1k09krnq3xdp60kyq568sn6xk2i"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
(fetchNuGet { pname = "Nickvision.Aura"; version = "2023.11.3"; sha256 = "06g63k1p8maskg8hicjbi00fyyxh95fkykvv205p9vr0803bjqrd"; })
(fetchNuGet { pname = "Nickvision.Aura"; version = "2023.11.4"; sha256 = "0gasyglp1pgi0s6zqzmbm603j3j36vvr68grv6g93fdj2vjlmkxs"; })
(fetchNuGet { pname = "Octokit"; version = "9.0.0"; sha256 = "0kw49w1hxk4d2x9598012z9q1yr3ml5rm06fy1jnmhy44s3d3jp5"; })
(fetchNuGet { pname = "OfxSharp.NetStandard"; version = "1.0.0"; sha256 = "1v7yw2glyywb4s0y5fw306bzh2vw175bswrhi5crvd92wf93makj"; })
(fetchNuGet { pname = "PdfSharpCore"; version = "1.3.62"; sha256 = "1wxm642fx0pgiidd5x35iifayq7nicykycpwpvs0814xfjm0zw63"; })
(fetchNuGet { pname = "QuestPDF"; version = "2023.10.2"; sha256 = "08jy42k8nxbkbdc2z013vk28r5ckmg7lpzvnah0shrjmwfq34v4j"; })
(fetchNuGet { pname = "QuestPDF"; version = "2023.12.2"; sha256 = "16h6k15h5wxccyrsakkpn3jsk7fcgs1pfidisg772k78hizvagdf"; })
(fetchNuGet { pname = "ReadSharp.Ports.SgmlReader.Core"; version = "1.0.0"; sha256 = "0pcvlh0gq513vw6y12lfn90a0br56a6f26lvppcj4qb839zmh3id"; })
(fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
(fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
@ -60,16 +60,20 @@
(fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
(fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; })
(fetchNuGet { pname = "SixLabors.Fonts"; version = "1.0.0-beta17"; sha256 = "1qm8q82wzj54nbv63kx3ybln51k47sl18hia3jnzk1zrb6wdsw9a"; })
(fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.0.2"; sha256 = "1r654m3ga9al9q4qjr1104rp6lk7j9blmf4j0104zq8893hhq727"; })
(fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.2"; sha256 = "0bc0753aczgw9mi9bcgly2x71w4adlr35krgf023vppc36809yhg"; })
(fetchNuGet { pname = "SkiaSharp"; version = "2.88.6"; sha256 = "0xs11zjw9ha68maw3l825kfwlrid43qwy0mswljxhpjh0y1k6k6b"; })
(fetchNuGet { pname = "SkiaSharp.HarfBuzz"; version = "2.88.6"; sha256 = "1h61vk9ibavwwrxqgclzsxmchighvfaqlcqrj0dpi2fzw57f54c2"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Linux"; version = "2.88.6"; sha256 = "0cg38xgddww1y93xrnbfn40sin63yl39j5zm7gm5pdgp5si0cf2n"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.macOS"; version = "2.88.6"; sha256 = "1fp9h8c8k6sbsh48b69dc6461isd4dajq7yw5i7j6fhkas78q4zf"; })
(fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; sha256 = "1w2mwcwkqvrg4x4ybc4674xnkqwh1n2ihg520gqgpnqfc11ghc4n"; })
(fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlcipher"; version = "2.1.6"; sha256 = "15v2x7y4k7cl47a9jccbvgbwngwi5dz6qhv0cxpcasx4v5i9aila"; })
(fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlcipher"; version = "2.1.7"; sha256 = "18s6b6im9rwhnilsznbgvhily40sb5rc4p9z02nqn0ahncb2i52w"; })
(fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; })
(fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.7"; sha256 = "1y3jl4c76g2i13xss72nfvx5qr6mzsbjvjc5f9arybh53a0wavd6"; })
(fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlcipher"; version = "2.1.6"; sha256 = "0dl5an15whs4yl5hm2wibzbfigzck0flah8a07k99y1bhbmv080z"; })
(fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlcipher"; version = "2.1.7"; sha256 = "0wgxqw1nc9asxxj04l8qfjgkshnlp92c3clx7ymjf43jr3g4pxs0"; })
(fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlcipher"; version = "2.1.6"; sha256 = "1jx8d4dq5w2951b7w722gnxbfgdklwazc48kcbdzylkglwkrqgrq"; })
(fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlcipher"; version = "2.1.7"; sha256 = "1paj54r7552vpjzdj8mv4gdxshbd10xyc8fa6qs12pspa58wivjn"; })
(fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })

View File

@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
homepage = "https://gitlab.com/postmarketOS/megapixels";
changelog = "https://gitlab.com/postmarketOS/megapixels/-/tags/${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ OPNA2608 dotlambda ];
maintainers = with maintainers; [ dotlambda ];
platforms = platforms.linux;
};
}

View File

@ -1,14 +1,14 @@
{ lib, fetchFromGitHub, makeDesktopItem, bambu-studio }:
let
orca-slicer = bambu-studio.overrideAttrs (finalAttrs: previousAttrs: {
version = "1.8.1";
version = "1.9.0";
pname = "orca-slicer";
src = fetchFromGitHub {
owner = "SoftFever";
repo = "OrcaSlicer";
rev = "v${finalAttrs.version}";
hash = "sha256-3aIVi7Wsit4vpFrGdqe7DUEC6HieWAXCdAADVtB5HKc=";
hash = "sha256-v6REKDlFhyW6kEEfpcm8Sjezkh6uLaBusMuVk8n3Ts0=";
};
meta = with lib; {

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "clipcat";
version = "0.16.0";
version = "0.16.1";
src = fetchFromGitHub {
owner = "xrelkd";
repo = pname;
rev = "v${version}";
hash = "sha256-9BilasXc/3FFPcKAgPvc0hIHP7NbOqRD8ZwIMRc/Y3M=";
hash = "sha256-SqA8UjKTBtkE1IkWGeshI8KBHr86V9r/+YvFZNJ6Oq8=";
};
cargoHash = "sha256-zkeKhi0DiYqA5+KiU77ZJXRyhLUKVDmHvF7TG1URzo4=";
cargoHash = "sha256-KU3kXqy9zL7GQdSsCNW7jcsxdTuRXjJyDtBpmgoXi6E=";
nativeBuildInputs = [
protobuf

View File

@ -26,13 +26,13 @@
mkDerivation rec {
pname = "input-leap";
version = "unstable-2023-05-24";
version = "unstable-2023-12-27";
src = fetchFromGitHub {
owner = "input-leap";
repo = "input-leap";
rev = "5e2f37bf9ec17627ae33558d99f90b7608ace422";
hash = "sha256-55RqdRu/Hi2OTiLjAFJ6Gdgg9iO5NIIJCsOkUQjR9hk=";
rev = "ecf1fb6645af7b79e6ea984d3c9698ca0ab6f391";
hash = "sha256-TEv1xR1wUG3wXNATLLIZKOtW05X96wsPNOlE77OQK54=";
fetchSubmodules = true;
};
@ -55,7 +55,7 @@ mkDerivation rec {
'';
postFixup = ''
substituteInPlace $out/share/applications/input-leap.desktop \
substituteInPlace $out/share/applications/io.github.input_leap.InputLeap.desktop \
--replace "Exec=input-leap" "Exec=$out/bin/input-leap"
'';

View File

@ -25,13 +25,13 @@
stdenv.mkDerivation rec {
pname = "minder";
version = "1.15.6";
version = "1.16.0";
src = fetchFromGitHub {
owner = "phase1geo";
repo = pname;
rev = version;
sha256 = "sha256-vxUZo68QdeuFlQxLldWplmeGtyX2NHo3AJZmt+JLCF4=";
sha256 = "sha256-1yFRwVjHLgjDxflFoSmB5254J7dRJ4Ymv3fAWZxb9is=";
};
nativeBuildInputs = [

View File

@ -5,7 +5,7 @@
# python deps
, python, buildPythonPackage
, alembic, beautifulsoup4, chardet, lxml, mako, pyenchant
, pyqt5_with_qtwebkit, pyxdg, sip_4, sqlalchemy, sqlalchemy-migrate
, pyqt5-webkit, pyxdg, sip_4, sqlalchemy, sqlalchemy-migrate
}:
buildPythonPackage rec {
@ -39,7 +39,7 @@ buildPythonPackage rec {
lxml
mako
pyenchant
pyqt5_with_qtwebkit
pyqt5-webkit
pyxdg
sip_4
sqlalchemy

File diff suppressed because it is too large Load Diff

View File

@ -12,20 +12,17 @@
rustPlatform.buildRustPackage rec {
pname = "owmods-cli";
version = "0.11.3";
version = "0.12.0";
src = fetchFromGitHub {
owner = "ow-mods";
repo = "ow-mod-man";
rev = "cli_v${version}";
hash = "sha256-CobGF3ZQEdRRoMGL9l37alGQArIuRxiFbihQoRdnAsc=";
hash = "sha256-k9Jn8LiqDyVmtjKnmpoVePNW2x5UyFfcXAPyvEgUaCU=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"tauri-plugin-window-state-0.1.0" = "sha256-M6uGcf4UWAU+494wAK/r2ta1c3IZ07iaURLwJJR9F3U=";
};
};
nativeBuildInputs = [

View File

@ -1,60 +1,80 @@
{ lib
, stdenv
, fetchFromGitHub
, jdk
, ant
, jdk
, makeWrapper
, wrapGAppsHook
, makeDesktopItem
, copyDesktopItems
, glib
, wrapGAppsHook
, canonicalize-jars-hook
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "pattypan";
version = "22.03";
src = fetchFromGitHub {
owner = "yarl";
repo = "pattypan";
rev = "v${version}";
sha256 = "0qmvlcqhqw5k500v2xdakk340ymgv5amhbfqxib5s4db1w32pi60";
rev = "v${finalAttrs.version}";
hash = "sha256-wMQrBg+rEV1W7NgtWFXZr3pAxpyqdbEBKLNwDDGju2I=";
};
nativeBuildInputs = [ copyDesktopItems jdk ant makeWrapper wrapGAppsHook ];
buildInputs = [ glib jdk ];
nativeBuildInputs = [
ant
jdk
makeWrapper
wrapGAppsHook
copyDesktopItems
canonicalize-jars-hook
];
dontWrapGApps = true;
env.JAVA_TOOL_OPTIONS = "-Dfile.encoding=UTF8"; # needed for jdk versions below jdk19
buildPhase = ''
runHook preBuild
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
ant
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/java
cp pattypan.jar $out/share/java/pattypan.jar
makeWrapper ${jdk}/bin/java $out/bin/pattypan \
--add-flags "-cp $out/share/java/pattypan.jar pattypan.Launcher"
install -Dm644 pattypan.jar -t $out/share/pattypan
install -Dm644 src/pattypan/resources/logo.png $out/share/pixmaps/pattypan.png
runHook postInstall
'';
# gappsWrapperArgs is set in preFixup
postFixup = ''
makeWrapper ${jdk}/bin/java $out/bin/pattypan \
''${gappsWrapperArgs[@]} \
--add-flags "-jar $out/share/pattypan/pattypan.jar"
'';
desktopItems = [
(makeDesktopItem {
name = "pattypan";
exec = "pattypan";
icon = "pattypan";
desktopName = "Pattypan";
genericName = "An uploader for Wikimedia Commons";
categories = [ "Utility" ];
exec = "pattypan";
name = "pattypan";
})
];
meta = with lib; {
homepage = "https://commons.wikimedia.org/wiki/Commons:Pattypan";
description = "An uploader for Wikimedia Commons";
homepage = "https://commons.wikimedia.org/wiki/Commons:Pattypan";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
mainProgram = "pattypan";
maintainers = with maintainers; [ fee1-dead ];
platforms = platforms.all;
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
};
}
})

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "stern";
version = "1.27.0";
version = "1.28.0";
src = fetchFromGitHub {
owner = "stern";
repo = "stern";
rev = "v${version}";
sha256 = "sha256-W8jGUs63R6QpwuTgzK5yVLhKGXypvKOyCWHT2xdb6eM=";
sha256 = "sha256-Lx5f2dqjdhgMXky1Pv2ik9i56ugsQmZK/ag4veC9Dac=";
};
vendorHash = "sha256-LLVd9WB8ixH78CHYe0sS4sCDCD+6SQ7PxWr2MHiAOxI=";
vendorHash = "sha256-6jI/I7Nw/vJwKNvgH/35uHYu51SBX+WFH5s0WKfCqBo=";
subPackages = [ "." ];

View File

@ -11,7 +11,7 @@ python3Packages.buildPythonPackage rec {
sha256 = "1ffdy74igll74fwpmnn3brvcxbk4iianqscdzz18sx1pfqpw16cl";
};
propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit dbus-python jsmin ];
propagatedBuildInputs = with python3Packages; [ pyqt5-webkit dbus-python jsmin ];
meta = with lib; {
description = "Non-official desktop client for Slack";

View File

@ -64,14 +64,14 @@ let
in
stdenv.mkDerivation rec {
pname = "telegram-desktop";
version = "4.14.3";
version = "4.14.4";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-xFbS8nhtWzIu+b/Hlnvtp925cf8UuBDywNnq5spMQ5Q=";
hash = "sha256-kApiPJN9hdOv9WLRiqIO94Pd3Stuv+wrV4RM6x8Ak9M=";
};
patches = [

View File

@ -5,11 +5,11 @@
let
pname = "zulip";
version = "5.10.3";
version = "5.10.4";
src = fetchurl {
url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
hash = "sha256-AnaW/zH2Vng8lpzv6LHlzCUnNWJoLpsSpmD0iZfteFg=";
hash = "sha256-M4h+kV4JjZ91K6OpxKc10XVohzKJEVxw8cYcVALibXA=";
name="${pname}-${version}.AppImage";
};
@ -37,5 +37,6 @@ in appimageTools.wrapType2 {
license = licenses.asl20;
maintainers = with maintainers; [ andersk jonafato ];
platforms = [ "x86_64-linux" ];
mainProgram = "zulip";
};
}

View File

@ -2,37 +2,53 @@
, rustPlatform
, fetchFromGitHub
, stdenv
, pkg-config
, installShellFiles
, installShellCompletions ? stdenv.hostPlatform == stdenv.buildPlatform
, installManPages ? stdenv.hostPlatform == stdenv.buildPlatform
, notmuch
, withImapBackend ? true
, withNotmuchBackend ? false
, withSmtpSender ? true
, gpgme
, withMaildir ? true
, withImap ? true
, withNotmuch ? false
, withSendmail ? true
, withSmtp ? true
, withPgpCommands ? false
, withPgpGpg ? false
, withPgpNative ? false
}:
rustPlatform.buildRustPackage rec {
pname = "himalaya";
version = "0.8.4";
version = "1.0.0-beta";
src = fetchFromGitHub {
owner = "soywod";
repo = pname;
rev = "v${version}";
hash = "sha256-AImLYRRCL6IvoSeMFH2mbkNOvUmLwIvhWB3cOoqDljk=";
hash = "sha256-39XYtxmo/12hkCS7zVIQi3UbLzaIKH1OwfdDB/ghU98=";
};
cargoSha256 = "deJZPaZW6rb7A6wOL3vcphBXu0F7EXc1xRwSDY/v8l4=";
cargoSha256 = "HIDmBPrcOcK2coTaD4v8ntIZrv2SwTa8vUTG8Ky4RhM=";
nativeBuildInputs = lib.optional (installManPages || installShellCompletions) installShellFiles;
nativeBuildInputs = [ ]
++ lib.optional withPgpGpg pkg-config
++ lib.optional (installManPages || installShellCompletions) installShellFiles;
buildInputs = lib.optional withNotmuchBackend notmuch;
buildInputs = [ ]
++ lib.optional withNotmuch notmuch
++ lib.optional withPgpGpg gpgme;
buildNoDefaultFeatures = true;
buildFeatures = [ ]
++ lib.optional withImapBackend "imap-backend"
++ lib.optional withNotmuchBackend "notmuch-backend"
++ lib.optional withSmtpSender "smtp-sender";
++ lib.optional withMaildir "maildir"
++ lib.optional withImap "imap"
++ lib.optional withNotmuch "notmuch"
++ lib.optional withSmtp "smtp"
++ lib.optional withSendmail "sendmail"
++ lib.optional withPgpCommands "pgp-commands"
++ lib.optional withPgpGpg "pgp-gpg"
++ lib.optional withPgpNative "pgp-native";
postInstall = lib.optionalString installManPages ''
mkdir -p $out/man
@ -46,8 +62,8 @@ rustPlatform.buildRustPackage rec {
'';
meta = with lib; {
description = "CLI to manage your emails.";
homepage = "https://pimalaya.org/himalaya/";
description = "CLI to manage emails";
homepage = "https://pimalaya.org/himalaya/cli/latest/";
changelog = "https://github.com/soywod/himalaya/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ soywod toastal yanganto ];

View File

@ -1,25 +0,0 @@
{ lib, stdenv, fetchurl, fetchpatch, ncurses, zlib, bzip2, sqlite, pkg-config
, glib, gnutls, perl, libmaxminddb }:
stdenv.mkDerivation rec {
pname = "ncdc";
version = "1.23.1";
src = fetchurl {
url = "https://dev.yorhel.nl/download/ncdc-${version}.tar.gz";
hash = "sha256-lYgSFAd6Wzwk+7rwIK2g0ITuO1lqfDzB4OaKqsTJteY=";
};
nativeBuildInputs = [ perl pkg-config ];
buildInputs = [ ncurses zlib bzip2 sqlite glib gnutls libmaxminddb ];
configureFlags = [ "--with-geoip" ];
meta = with lib; {
description = "Modern and lightweight direct connect client with a friendly ncurses interface";
homepage = "https://dev.yorhel.nl/ncdc";
license = licenses.mit;
platforms = platforms.linux; # arbitrary
maintainers = with maintainers; [ ehmry ];
};
}

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tremotesf";
version = "2.5.0";
version = "2.6.0";
src = fetchFromGitHub {
owner = "equeim";
repo = "tremotesf2";
rev = finalAttrs.version;
hash = "sha256-mxk2BRUuet3XSNaKt2Dnnxe5dliazd1ArRSnKyoAp1s=";
hash = "sha256-9iV4UsKZWaIxhqtRZXTFHgjOKVFJE2bCJOD2O/qL+DY=";
# We need this for src/libtremotesf
fetchSubmodules = true;
};

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "rclone";
version = "1.65.0";
version = "1.65.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-hlkX8JrBz/hFwQj0xCZfuBt2t3CP3Xa1JkNDH0zomxg=";
hash = "sha256-wRksCRQR6JZjYtXgq3iARCoYck76O17Kd2Ht1XpA9KE=";
};
vendorHash = "sha256-qKRIT2HqNDpEtZBNHZMXp4Yhh5fCkQSTPU5MQ7FmCHI=";
vendorHash = "sha256-kWaMo6ALieuwf53H05UdoI7xtH1LAnsD6Ak9bJTa6jc=";
subPackages = [ "." ];

View File

@ -0,0 +1,132 @@
{ stdenvNoCC
, lib
, fetchzip
, makeDesktopItem
, autoPatchelfHook
, zlib
, fontconfig
, udev
, gtk3
, freetype
, alsa-lib
, makeShellWrapper
, libX11
, libXext
, libXdamage
, libXfixes
, libxcb
, libXcomposite
, libXcursor
, libXi
, libXrender
, libXtst
, libXxf86vm
}:
let
inherit (stdenvNoCC.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
arch = {
x86_64-linux = "x86_64";
aarch64-linux = "arm64";
}.${system} or throwSystem;
hash = {
x86_64-linux = "sha256-/cumOKaWPdAruMLZP2GMUdocIhsbo59dc4Q3ngc/JOc=";
aarch64-linux = "sha256-xMV+9etnuFwRGIHdaXNViKd4FMOuVtugGDS1xyMwEnM=";
}.${system} or throwSystem;
displayname = "XPipe";
in stdenvNoCC.mkDerivation rec {
pname = "xpipe";
version = "1.7.3";
src = fetchzip {
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
inherit hash;
};
nativeBuildInputs = [
autoPatchelfHook
makeShellWrapper
];
# Ignore libavformat dependencies as we don't need them
autoPatchelfIgnoreMissingDeps = true;
buildInputs = [
fontconfig
zlib
udev
freetype
gtk3
alsa-lib
libX11
libX11
libXext
libXdamage
libXfixes
libxcb
libXcomposite
libXcursor
libXi
libXrender
libXtst
libXxf86vm
];
desktopItem = makeDesktopItem {
categories = [ "Network" ];
comment = "Your entire server infrastructure at your fingertips";
desktopName = displayname;
exec = "/opt/${pname}/cli/bin/xpipe open %U";
genericName = "Shell connection hub";
icon = "/opt/${pname}/logo.png";
name = displayname;
};
installPhase = ''
runHook preInstall
pkg="${pname}"
mkdir -p $out/opt/$pkg
cp -r ./ $out/opt/$pkg
mkdir -p "$out/bin"
ln -s "$out/opt/$pkg/cli/bin/xpipe" "$out/bin/$pkg"
mkdir -p "$out/share/applications"
cp -r "${desktopItem}/share/applications/" "$out/share/"
mkdir -p "$out/etc/bash_completion.d"
ln -s "$out/opt/$pkg/cli/xpipe_completion" "$out/etc/bash_completion.d/$pkg"
substituteInPlace $out/share/applications/${displayname}.desktop --replace "Exec=" "Exec=$out"
substituteInPlace $out/share/applications/${displayname}.desktop --replace "Icon=" "Icon=$out"
mv "$out/opt/xpipe/app/bin/xpiped" "$out/opt/xpipe/app/bin/xpiped_raw"
mv "$out/opt/xpipe/app/lib/app/xpiped.cfg" "$out/opt/xpipe/app/lib/app/xpiped_raw.cfg"
mv "$out/opt/xpipe/app/scripts/xpiped_debug.sh" "$out/opt/xpipe/app/scripts/xpiped_debug_raw.sh"
makeShellWrapper "$out/opt/xpipe/app/bin/xpiped_raw" "$out/opt/xpipe/app/bin/xpiped" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ fontconfig gtk3 udev ]}"
makeShellWrapper "$out/opt/xpipe/app/scripts/xpiped_debug_raw.sh" "$out/opt/xpipe/app/scripts/xpiped_debug.sh" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ fontconfig gtk3 udev ]}"
runHook postInstall
'';
meta = with lib; {
description = "A cross-platform shell connection hub and remote file manager";
homepage = "https://github.com/xpipe-io/${pname}";
downloadPage = "https://github.com/xpipe-io/${pname}/releases/latest";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
changelog = "https://github.com/xpipe-io/${pname}/releases/tag/${version}";
license = [ licenses.asl20 licenses.unfree ];
maintainers = with maintainers; [ crschnick ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = pname;
};
}

View File

@ -27,11 +27,11 @@ let
in
stdenv.mkDerivation rec {
pname = "PortfolioPerformance";
version = "0.67.0";
version = "0.67.1";
src = fetchurl {
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
hash = "sha256-bm38t8wgLEYZVDsMnOv3Wj6TgKu2s36wo8q0Sj7pPNI=";
hash = "sha256-Bx1Q7eXJuu/Vh6UuZYlkUlvw6FXTObYAynHV+60cNVY=";
};
nativeBuildInputs = [

View File

@ -33,11 +33,11 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "scribus";
version = "1.6.0";
version = "1.6.1";
src = fetchurl {
url = "mirror://sourceforge/scribus/scribus-devel/scribus-${finalAttrs.version}.tar.xz";
hash = "sha256-lLl0kOzhcoaNxPBMeqLulQtBtfL/QoXfN9YV8ETQOOU=";
hash = "sha256-4J3Xjm22HQG5MhEI/t7bzNbsCrNS3Vuv24sEHw73npk=";
};
nativeBuildInputs = [

View File

@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
version = "2.5.2";
version = "2.6.2";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
hash = "sha256-0l4/isk2DKZ0HBxeuUN+RqB3o/3fWdhFSFCnQ2OiO6Y=";
hash = "sha256-1V3btXYozgT22KiihZgUiZIktV2Y7IXJgoq7bn16ikk=";
};
postPatch = ''

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, cmake, fftw, hamlib, libpulseaudio, libGL, libX11, liquid-dsp,
pkg-config, soapysdr-with-plugins, wxGTK32, enableDigitalLab ? false,
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, fftw, hamlib, libpulseaudio, libGL, libX11,
liquid-dsp, pkg-config, soapysdr-with-plugins, wxGTK32, enableDigitalLab ? false,
Cocoa, WebKit }:
stdenv.mkDerivation rec {
@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
sha256 = "0cyv1vk97x4i3h3hhh7dx8mv6d1ad0fypdbx5fl26bz661sr8j2n";
};
patches = [
# Fix for liquid-dsp v1.50
(fetchpatch {
url = "https://github.com/cjcliffe/CubicSDR/commit/0e3a785bd2af56d18ff06b56579197b3e89b34ab.patch";
sha256 = "sha256-mPfNZcV3FnEtGVX4sCMSs+Qc3VeSBIRkpCyx24TKkcU=";
})
];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ fftw hamlib liquid-dsp soapysdr-with-plugins wxGTK32 ]

View File

@ -38,13 +38,11 @@
then "rocm"
else "none"
)
# gpuVersion needs to be set for both CUDA as well as ROCM hardware.
# gpuArch is only required for the ROCM stack.
# Change to a value suitable for your target GPU.
# For AMD values see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2v-rocmhip-support-for-amd-gpu
# and for Nvidia see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2i-cuda-optional-improved-performance-on-gpu-systems
, gpuVersion ? "Mi100"
, gpuArch ? "gfx908"
, gpuVersion ? ( if gpuBackend == "cuda" then "A100" else "Mi100" )
, gpuArch ? ( if gpuBackend == "cuda" then "sm_80" else "gfx908" )
}:
assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ];
@ -56,17 +54,19 @@ let
in
stdenv.mkDerivation rec {
pname = "cp2k";
version = "2023.2";
version = "2024.1";
src = fetchFromGitHub {
owner = "cp2k";
repo = "cp2k";
rev = "v${version}";
hash = "sha256-1TJorIjajWFO7i9vqSBDTAIukBdyvxbr5dargt4QB8M=";
hash = "sha256-6PB6wjdTOa55dXV7QIsjxI77hhc95WFEjNePfupBUJQ=";
fetchSubmodules = true;
};
nativeBuildInputs = [ python3 which openssh makeWrapper pkg-config ];
nativeBuildInputs = [ python3 which openssh makeWrapper pkg-config ]
++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc;
buildInputs = [
gfortran
fftw
@ -88,8 +88,11 @@ stdenv.mkDerivation rec {
libvdwxc
]
++ lib.optional enableElpa elpa
++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
++ lib.optional (gpuBackend == "rocm") [
++ lib.optionals (gpuBackend == "cuda") [
cudaPackages.cuda_cudart
cudaPackages.libcublas
cudaPackages.cuda_nvrtc
] ++ lib.optionals (gpuBackend == "rocm") [
rocmPackages.clr
rocmPackages.rocm-core
rocmPackages.hipblas
@ -126,7 +129,7 @@ stdenv.mkDerivation rec {
AR = ar -r
${lib.strings.optionalString (gpuBackend == "cuda") ''
OFFLOAD_CC = nvcc
OFFLOAD_FLAGS = -O3 -g -w --std=c++11
OFFLOAD_FLAGS = -O3 -g -w --std=c++11 -arch ${gpuArch}
OFFLOAD_TARGET = cuda
GPUVER = ${gpuVersion}
CXX = mpicxx
@ -144,7 +147,7 @@ stdenv.mkDerivation rec {
-D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \
-D__MAX_CONTR=4 -D__LIBVORI ${lib.optionalString enableElpa "-D__ELPA"} \
-D__PLUMED2 -D__HDF5 -D__GSL -D__SIRIUS -D__LIBVDWXC -D__SPFFT -D__SPLA \
${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__DBCSR_ACC"} \
${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__ACC -D__DBCSR_ACC -D__NO_OFFLOAD_PW"} \
${lib.strings.optionalString (gpuBackend == "rocm") "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW"}
CFLAGS = -fopenmp -I${lib.getDev hdf5-fortran}/include -I${lib.getDev gsl}/include
FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \
@ -154,6 +157,7 @@ stdenv.mkDerivation rec {
-I${lib.getDev libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \
-I${lib.getDev sirius}/include/sirius \
-I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include \
-I${lib.getDev hdf5-fortran}/include \
-fallow-argument-mismatch
LIBS = -lfftw3 -lfftw3_threads \
-lscalapack -lblas -llapack \
@ -163,7 +167,11 @@ stdenv.mkDerivation rec {
-fopenmp ${lib.optionalString enableElpa "$(pkg-config --libs elpa)"} \
-lz -ldl ${lib.optionalString (mpi.pname == "openmpi") "$(mpicxx --showme:link)"} \
-lplumed -lhdf5_fortran -lhdf5_hl -lhdf5 -lgsl -lsirius -lspla -lspfft -lvdwxc \
${lib.strings.optionalString (gpuBackend == "cuda") "-lcudart -lnvrtc -lcuda -lcublas"} \
${lib.strings.optionalString (gpuBackend == "cuda") ''
-L${cudaPackages.cuda_cudart}/lib/stubs/ \
-lcudart -lnvrtc -lcuda -lcublas
''
} \
${lib.strings.optionalString (gpuBackend == "rocm") "-lamdhip64 -lhipfft -lhipblas -lrocblas"}
LDFLAGS = \$(FCFLAGS) \$(LIBS)
include ${plumed}/lib/plumed/src/lib/Plumed.inc

View File

@ -43,6 +43,7 @@
, valgrind
, stable
, testing
, baseName
, kicadSrc
, kicadVersion
@ -56,6 +57,8 @@
assert lib.assertMsg (!(sanitizeAddress && sanitizeThreads))
"'sanitizeAddress' and 'sanitizeThreads' are mutually exclusive, use one.";
assert testing -> !stable
-> throw "testing implies stable and cannot be used with stable = false";
let
inherit (lib) optional optionals optionalString;
@ -74,9 +77,9 @@ stdenv.mkDerivation rec {
];
# tagged releases don't have "unknown"
# kicad nightlies use git describe --dirty
# kicad testing and nightlies use git describe --dirty
# nix removes .git, so its approximated here
postPatch = lib.optionalString (!stable) ''
postPatch = lib.optionalString (!stable || testing) ''
substituteInPlace cmake/KiCadVersion.cmake \
--replace "unknown" "${builtins.substring 0 10 src.rev}"
@ -92,7 +95,7 @@ stdenv.mkDerivation rec {
]
++ optionals (stable) [
# https://gitlab.com/kicad/code/kicad/-/issues/12491
# should be resolved in the next release
# should be resolved in the next major? release
"-DCMAKE_CTEST_ARGUMENTS='--exclude-regex;qa_eeschema'"
]
++ optional (stable && !withNgspice) "-DKICAD_SPICE=OFF"

View File

@ -2,22 +2,26 @@
, runCommand
, newScope
, fetchFromGitLab
, gnome
, dconf
, wxGTK32
, gtk3
, makeWrapper
, gsettings-desktop-schemas
, hicolor-icon-theme
, symlinkJoin
, callPackage
, callPackages
, gnome
, dconf
, gtk3
, wxGTK32
, librsvg
, cups
, gsettings-desktop-schemas
, hicolor-icon-theme
, unzip
, jq
, pname ? "kicad"
, stable ? true
, testing ? false
, withNgspice ? !stdenv.isDarwin
, libngspice
, withScripting ? true
@ -29,7 +33,6 @@
, with3d ? true
, withI18n ? true
, srcs ? { }
, symlinkJoin
}:
# `addons`: https://dev-docs.kicad.org/en/addons/
@ -75,7 +78,9 @@
# }
let
baseName = if (stable) then "kicad" else "kicad-unstable";
baseName = if (testing) then "kicad-testing"
else if (stable) then "kicad"
else "kicad-unstable";
versionsImport = import ./versions.nix;
# versions.nix does not provide us with version, src and rev. We
@ -154,7 +159,7 @@ stdenv.mkDerivation rec {
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
passthru.callPackage = newScope { inherit addonPath python3; };
base = callPackage ./base.nix {
inherit stable baseName;
inherit stable testing baseName;
inherit kicadSrc kicadVersion;
inherit wxGTK python wxPython;
inherit withNgspice withScripting withI18n;
@ -262,17 +267,16 @@ stdenv.mkDerivation rec {
ln -s ${base}/share/metainfo $out/share/metainfo
'';
# can't run this for each pname
# stable and unstable are in the same versions.nix
# and kicad-small reuses stable
# with "all" it updates both, run it manually if you don't want that
# and can't git commit if this could be running in parallel with other scripts
passthru.updateScript = [ ./update.sh "all" ];
passthru.updateScript = {
command = [ ./update.sh "${pname}" ];
supportedFeatures = [ "commit" ];
};
meta = rec {
description = (if (stable)
then "Open Source Electronics Design Automation suite"
else "Open Source EDA suite, development build")
else if (testing) then "Open Source EDA suite, latest on stable branch"
else "Open Source EDA suite, latest on master branch")
+ (lib.optionalString (!with3d) ", without 3D models");
homepage = "https://www.kicad.org/";
longDescription = ''

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p coreutils git nix curl
#!nix-shell -i bash -p coreutils git nix curl jq
# shellcheck shell=bash enable=all
set -e
@ -25,38 +25,63 @@ export TMPDIR=/tmp
# if there is, default to commiting?
# won't work when running in parallel?
# remove items left in /nix/store?
# reuse hashes of already checked revs (to avoid redownloading testing's packages3d)
# nixpkgs' update.nix passes in UPDATE_NIX_PNAME to indicate which package is being updated
# assigning a default value to that as shellcheck doesn't like the use of unassigned variables
: "${UPDATE_NIX_PNAME:=""}"
# update.nix can also parse JSON output of this script to formulate a commit
# this requires we collect the version string in the old versions.nix for the updated package
old_version=""
new_version=""
# get the latest tag that isn't an RC or *.99
latest_tags="$(git ls-remote --tags --sort -version:refname https://gitlab.com/kicad/code/kicad.git)"
# using a scratch variable to ensure command failures get caught (SC2312)
scratch="$(grep -o 'refs/tags/[0-9]*\.[0-9]*\.[0-9]*$' <<< "${latest_tags}")"
scratch="$(grep -ve '\.99' -e '\.9\.9' <<< "${scratch}")"
scratch="$(head -n 1 <<< "${scratch}")"
scratch="$(sed -n '1p' <<< "${scratch}")"
latest_tag="$(cut -d '/' -f 3 <<< "${scratch}")"
all_versions=( "${latest_tag}" master )
# get the latest branch name for testing
branches="$(git ls-remote --heads --sort -version:refname https://gitlab.com/kicad/code/kicad.git)"
scratch="$(grep -o 'refs/heads/[0-9]*\.[0-9]*$' <<< "${branches}")"
scratch="$(sed -n '1p' <<< "${scratch}")"
testing_branch="$(cut -d '/' -f 3 <<< "${scratch}")"
# "latest_tag" and "master" directly refer to what we want
# "testing" uses "testing_branch" found above
all_versions=( "${latest_tag}" testing master )
prefetch="nix-prefetch-url --unpack --quiet"
clean=""
check_stable=""
check_testing=1
check_unstable=1
commit=""
for arg in "$@"; do
for arg in "$@" "${UPDATE_NIX_PNAME}"; do
case "${arg}" in
help|-h|--help) echo "Read me!" >&2; exit 1; ;;
kicad|release|tag|stable|*small|5*|6*) check_stable=1; check_unstable="" ;;
all|both|full) check_stable=1; check_unstable=1 ;;
kicad|kicad-small|release|tag|stable|5*|6*|7*|8*) check_stable=1; check_testing=""; check_unstable="" ;;
*testing|kicad-testing-small) check_testing=1; check_unstable="" ;;
*unstable|*unstable-small|master|main) check_unstable=1; check_testing="" ;;
latest|now|today) check_unstable=1; check_testing=1 ;;
all|both|full) check_stable=1; check_testing=1; check_unstable=1 ;;
clean|fix|*fuck) check_stable=1; check_testing=1; check_unstable=1; clean=1 ;;
commit) commit=1 ;;
clean|fix|*fuck) check_stable=1; check_unstable=1; clean=1 ;;
master|*unstable|latest|now|today) check_unstable=1 ;;
*) ;;
esac
done
here="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
now=$(date --iso-8601 --utc)
commit_date() {
gitlab_json="$(curl -s https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad/repository/commits/"$1")"
commit_created="$(jq .created_at --raw-output <<< "${gitlab_json}")"
date --date="${commit_created}" --iso-8601 --utc
}
file="${here}/versions.nix"
# just in case this runs in parallel
@ -65,11 +90,7 @@ tmp="${here}/,versions.nix.${RANDOM}"
libs=( symbols templates footprints packages3d )
get_rev() {
if [[ ${version} == "master" ]]; then
git ls-remote --heads "$@"
else
git ls-remote --tags "$@"
fi
git ls-remote "$@"
}
gitlab="https://gitlab.com/kicad"
@ -78,13 +99,14 @@ src_pre="https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad/repository/arch
lib_pre="https://gitlab.com/api/v4/projects/kicad%2Flibraries%2Fkicad-"
lib_mid="/repository/archive.tar.gz?sha="
# number of items updated
count=0
printf "Latest tag is\t%s\n" "${latest_tag}" >&2
printf "Latest tag is %s\n" "${latest_tag}" >&2
if [[ ! -f ${file} ]]; then
echo "No existing file, generating from scratch" >&2
check_stable=1; check_unstable=1; clean=1
check_stable=1; check_testing=1; check_unstable=1; clean=1
fi
printf "Writing %s\n" "${tmp}" >&2
@ -97,32 +119,58 @@ printf "{\n"
for version in "${all_versions[@]}"; do
src_version=${version};
lib_version=${version};
# testing is the stable branch on the main repo
# but the libraries don't have such a branch
# only the latest release tag and a master branch
if [[ ${version} == "testing" ]]; then
src_version=${testing_branch};
lib_version=${latest_tag};
fi
if [[ ${version} == "master" ]]; then
pname="kicad-unstable"
today="${now}"
elif [[ ${version} == "testing" ]]; then
pname="kicad-testing"
else
pname="kicad"
today="${version}"
fi
# skip a version if we don't want to check it
if [[ (${version} != "master" && -n ${check_stable}) \
|| (${version} == "master" && -n ${check_unstable}) ]]; then
if [[ (-n ${check_stable} && ${version} != "master" && ${version} != "testing") \
|| (-n ${check_testing} && ${version} == "testing") \
|| (-n ${check_unstable} && ${version} == "master" ) ]]; then
now=$(commit_date "${src_version}")
if [[ ${version} == "master" ]]; then
pname="kicad-unstable"
new_version="${now}"
elif [[ ${version} == "testing" ]]; then
pname="kicad-testing"
new_version="${testing_branch}-${now}"
else
pname="kicad"
new_version="${version}"
fi
printf "\nChecking %s\n" "${pname}" >&2
printf "%2s\"%s\" = {\n" "" "${pname}"
printf "%4skicadVersion = {\n" ""
printf "%6sversion =\t\t\t\"%s\";\n" "" "${today}"
printf "%6sversion =\t\t\t\"%s\";\n" "" "${new_version}"
printf "%6ssrc = {\n" ""
echo "Checking src" >&2
scratch="$(get_rev "${gitlab}"/code/kicad.git "${version}")"
scratch="$(get_rev "${gitlab}"/code/kicad.git "${src_version}")"
src_rev="$(cut -f1 <<< "${scratch}")"
has_rev="$(grep -sm 1 "\"${pname}\"" -A 4 "${file}" | grep -sm 1 "${src_rev}" || true)"
has_hash="$(grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "sha256" || true)"
old_version="$(grep -sm 1 "\"${pname}\"" -A 3 "${file}" | grep -sm 1 "version" | awk -F "\"" '{print $2}' || true)"
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
echo "Reusing old ${pname}.src.sha256, already latest .rev" >&2
echo "Reusing old ${pname}.src.sha256, already latest .rev at ${old_version}" >&2
scratch=$(grep -sm 1 "\"${pname}\"" -A 5 "${file}")
grep -sm 1 "rev" -A 1 <<< "${scratch}"
else
@ -135,19 +183,19 @@ for version in "${all_versions[@]}"; do
printf "%4s};\n" ""
printf "%4slibVersion = {\n" ""
printf "%6sversion =\t\t\t\"%s\";\n" "" "${today}"
printf "%6sversion =\t\t\t\"%s\";\n" "" "${new_version}"
printf "%6slibSources = {\n" ""
for lib in "${libs[@]}"; do
echo "Checking ${lib}" >&2
url="${gitlab}/libraries/kicad-${lib}.git"
scratch="$(get_rev "${url}" "${version}")"
scratch="$(get_rev "${url}" "${lib_version}")"
scratch="$(cut -f1 <<< "${scratch}")"
lib_rev="$(tail -n1 <<< "${scratch}")"
has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)"
has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)"
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
echo "Reusing old kicad-${lib}-${today}.src.sha256, already latest .rev" >&2
echo "Reusing old kicad-${lib}-${new_version}.src.sha256, already latest .rev" >&2
scratch="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}")"
grep -sm 1 "${lib}" -A 1 <<< "${scratch}"
else
@ -191,3 +239,22 @@ if [[ ${count} -gt 0 ]]; then
else
echo "No changes, those checked are up to date" >&2
fi
# using UPDATE_NIX_ATTR_PATH to detect if this is being called from update.nix
# and output JSON to describe the changes
if [[ -n ${UPDATE_NIX_ATTR_PATH} ]]; then
if [[ ${count} -eq 0 ]]; then echo "[{}]"; exit 0; fi
jq -n \
--arg attrpath "${UPDATE_NIX_PNAME}" \
--arg oldversion "${old_version}" \
--arg newversion "${new_version}" \
--arg file "${file}" \
'[{
"attrPath": $attrpath,
"oldVersion": $oldversion,
"newVersion": $newversion,
"files": [ $file ]
}]'
fi

View File

@ -23,6 +23,28 @@
};
};
};
"kicad-testing" = {
kicadVersion = {
version = "7.0-2024-01-07";
src = {
rev = "ace6439758f8d211001235f36f02a60488337e41";
sha256 = "0z4p2srz9rld7mq6k2y5fipz8mgsdhh2506wam4388nklzzkrccr";
};
};
libVersion = {
version = "7.0-2024-01-07";
libSources = {
symbols.rev = "eedf6c9ddac2816023e817d4dc91032f9d7390b9";
symbols.sha256 = "0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v";
templates.rev = "9ce98cc45f3778e05c404edebf0f98de5c247ffe";
templates.sha256 = "0mykfwwik7472i4r0isc5szj3dnmvd0538p0vlmzh4rcgj3pj3vm";
footprints.rev = "7061fc9847ecc1b838e60dc6826db534028494f6";
footprints.sha256 = "1az6fzh1lma71mj12bc4bblnmzjayrxhkb8w9rjvlhvvgv33cdmy";
packages3d.rev = "d7345b34daaa23acf0d4506ed937fb424b5b18cd";
packages3d.sha256 = "0xzyi4mgyifwc6dppdzh6jq294mkj0a71cwkqw2ymz1kfbksw626";
};
};
};
"kicad-unstable" = {
kicadVersion = {
version = "2023-08-15";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
version = "2.40.1";
version = "2.41.0";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
hash = "sha256-KdJZHouMTbbD/8k2VGFvRits7grbbVNUmCM6dSiJXBc=";
hash = "sha256-GkrEirunY17WgAv4XOreG+JwPQn7cRTmr7hJ3/2tSrY=";
};
vendorHash = "sha256-jM9nwTMOTh+eXztLvHIwwH4qu3ZIMOtBrPEtByB9Ry8=";
vendorHash = "sha256-XBoC1sHfxInkamSHNm7Vb3AKCgIch6uYx0jJWqN7PN8=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -1,27 +1,38 @@
{ lib, stdenv, fetchurl
, pkg-config, openssl, libbsd, libevent, libuuid, libossp_uuid, libmd, zlib, ncurses, bison
{ lib
, stdenv
, fetchurl
, pkg-config
, openssl
, libbsd
, libevent
, libuuid
, libossp_uuid
, libmd
, zlib
, ncurses
, bison
, autoPatchelfHook
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "got";
version = "0.94";
version = "0.95";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
hash = "sha256-hG0/a+sk6uZCxR908YfZCW44qx/SIwwGO9mUaxxHZ3k=";
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
hash = "sha256-5on9ff76OAFmoaKTwVM0hUCGLiAZGJzt6+jCx2Nygg4=";
};
nativeBuildInputs = [ pkg-config bison ]
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
buildInputs = [ openssl libbsd libevent libuuid libmd zlib ncurses ]
++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
configureFlags = [ "--enable-gotd" ];
preConfigure = lib.optionalString stdenv.isDarwin ''
# The configure script assumes dependencies on Darwin are install via
# The configure script assumes dependencies on Darwin are installed via
# Homebrew or MacPorts and hardcodes assumptions about the paths of
# dependencies which fails the nixpkgs configurePhase.
substituteInPlace configure --replace 'xdarwin' 'xhomebrew'
@ -38,7 +49,7 @@ stdenv.mkDerivation rec {
installCheckPhase = ''
runHook preInstallCheck
test "$($out/bin/got --version)" = '${pname} ${version}'
test "$($out/bin/got --version)" = "${finalAttrs.pname} ${finalAttrs.version}"
runHook postInstallCheck
'';
@ -59,4 +70,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ abbe afh ];
};
}
})

View File

@ -3,11 +3,11 @@
buildKodiAddon rec {
pname = "arteplussept";
namespace = "plugin.video.arteplussept";
version = "1.4.1";
version = "1.4.2";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
hash = "sha256-4lPJIFBF4zXr1bEyv9tVUPXw9JFt2by/tcOwihib6aQ=";
hash = "sha256-dqxGKaOnEYOI33Aw76zbjma5z7MqOUh367dFsV87olU=";
};
propagatedBuildInputs = [

View File

@ -48,21 +48,24 @@
, asio
, decklinkSupport ? false
, blackmagic-desktop-video
, libdatachannel
, libvpl
, qrcodegencpp
}:
let
inherit (lib) optional optionals;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "obs-studio";
version = "29.1.3";
version = "30.0.2";
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = version;
sha256 = "sha256-D0DPueMtopwz5rLgM8QcPT7DgTKcJKQHnst69EY9V6Q=";
repo = finalAttrs.pname;
rev = finalAttrs.version;
sha256 = "sha256-8pX1kqibrtDIaE1+/Pey1A5bu6MwFTXLrBOah4rsF+4=";
fetchSubmodules = true;
};
@ -108,6 +111,9 @@ stdenv.mkDerivation rec {
nlohmann_json
websocketpp
asio
libdatachannel
libvpl
qrcodegencpp
]
++ optionals scriptingSupport [ luajit python3 ]
++ optional alsaSupport alsa-lib
@ -127,7 +133,7 @@ stdenv.mkDerivation rec {
'';
cmakeFlags = [
"-DOBS_VERSION_OVERRIDE=${version}"
"-DOBS_VERSION_OVERRIDE=${finalAttrs.version}"
"-Wno-dev" # kill dev warnings that are useless for packaging
# Add support for browser source
"-DBUILD_BROWSER=ON"
@ -159,7 +165,7 @@ stdenv.mkDerivation rec {
addOpenGLRunpath $out/lib/obs-plugins/*.so
# Link libcef again after patchelfing other libs
ln -s ${libcef}/lib/libcef.so $out/lib/obs-plugins/libcef.so
ln -s ${libcef}/lib/* $out/lib/obs-plugins/
'';
meta = with lib; {
@ -170,9 +176,9 @@ stdenv.mkDerivation rec {
video content, efficiently
'';
homepage = "https://obsproject.com";
maintainers = with maintainers; [ jb55 MP2E materus ];
maintainers = with maintainers; [ jb55 MP2E materus fpletz ];
license = licenses.gpl2Plus;
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
mainProgram = "obs";
};
}
})

View File

@ -33,6 +33,5 @@ stdenv.mkDerivation rec {
license = licenses.mit;
maintainers = with maintainers; [ algram ];
platforms = [ "x86_64-linux" ];
broken = true; # Not compatible with qt6 yet but required by OBS28
};
}

View File

@ -27,10 +27,6 @@ stdenv.mkDerivation rec {
"-Wno-dev"
];
preConfigure = ''
cp ${obs-studio.src}/cmake/external/ObsPluginHelpers.cmake cmake/FindLibObs.cmake
'';
meta = with lib; {
description = "Audio device and application capture for OBS Studio using PipeWire";
homepage = "https://github.com/dimtpap/obs-pipewire-audio-capture";

View File

@ -28,6 +28,9 @@ stdenv.mkDerivation (finalAttrs: {
fetchSubmodules = true;
};
# obs_frontend_add_dock() deprecated in obs 30
env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
patches = [
# fix build with qt 6.6.0
# treewide: replace deprecated qAsConst with std::as_const()
@ -36,6 +39,11 @@ stdenv.mkDerivation (finalAttrs: {
url = "https://github.com/univrsal/tuna/commit/0d570e771f8d8e6ae7c85bd2b86bbf59c264789e.patch";
hash = "sha256-A5idhMiM9funqhTm5XMIBqwy+FO1SaNPtgZjo+Vws6k=";
})
# fix build with obs 30
(fetchpatch2 {
url = "https://github.com/univrsal/tuna/commit/723bd3c7b4e257cf0997611426e555068de77ae7.patch";
hash = "sha256-MF5vghGYknL6q+A8BJ1yrQcEKIu9I+PWk+RZNYg3fRU=";
})
];
postInstall = ''

View File

@ -1,72 +0,0 @@
{ lib
, cni-plugins
, buildGoModule
, firecracker
, containerd
, runc
, makeWrapper
, fetchFromGitHub
, git
}:
buildGoModule rec{
pname = "ignite";
version = "0.10.0";
src = fetchFromGitHub {
owner = "weaveworks";
repo = "ignite";
rev = "v${version}";
sha256 = "sha256-WCgNh+iLtxLslzcHuIwVLZpUEhvBJFe1Y84PaPtbtcY=";
leaveDotGit = true;
};
vendorHash = null;
doCheck = false;
postPatch = ''
# ignite tries to run cni-plugins programs from /opt/cni/bin
substituteInPlace pkg/constants/dependencies.go \
--replace "/opt/cni/bin/loopback" ${cni-plugins}/bin/loopback \
--replace "/opt/cni/bin/bridge" ${cni-plugins}/bin/bridge
# ignite tries to run cni-plugins programs from /opt/cni/bin
substituteInPlace pkg/network/cni/cni.go \
--replace "/opt/cni/bin" ${cni-plugins}/bin
# fetchgit doesn't fetch tags from git repository so it's necessary to force IGNITE_GIT_VERSION to be ${version}
# also forcing git state to be clean because if it's dirty ignite will try to fetch the image weaveworks/ignite:dev
# which is not in docker.io, we want it to fetch the image weaveworks/ignite:v${version}
substituteInPlace hack/ldflags.sh \
--replace '$(git describe --tags --abbrev=14 "''${IGNITE_GIT_COMMIT}^{commit}" 2>/dev/null)' "v${version}" \
--replace 'IGNITE_GIT_TREE_STATE="dirty"' 'IGNITE_GIT_TREE_STATE="clean"'
'';
nativeBuildInputs = [
git
makeWrapper
];
buildInputs = [
firecracker
];
preBuild = ''
patchShebangs ./hack/ldflags.sh
export buildFlagsArray+=("-ldflags=$(./hack/ldflags.sh)")
'';
postInstall = ''
for prog in hack ignite ignited ignite-spawn; do
wrapProgram "$out/bin/$prog" --prefix PATH : ${lib.makeBinPath [ cni-plugins firecracker containerd runc ]}
done
'';
meta = with lib; {
description = "Ignite a Firecracker microVM";
homepage = "https://github.com/weaveworks/ignite";
license = licenses.asl20;
maintainers = with maintainers; [ tfmoraes ];
};
}

View File

@ -23,6 +23,7 @@
, cephSupport ? false, ceph
, glusterfsSupport ? false, glusterfs, libuuid
, openGLSupport ? sdlSupport, mesa, libepoxy, libdrm
, rutabagaSupport ? openGLSupport && !toolsOnly, rutabaga_gfx
, virglSupport ? openGLSupport, virglrenderer
, libiscsiSupport ? !toolsOnly, libiscsi
, smbdSupport ? false, samba
@ -98,6 +99,7 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals cephSupport [ ceph ]
++ lib.optionals glusterfsSupport [ glusterfs libuuid ]
++ lib.optionals openGLSupport [ mesa libepoxy libdrm ]
++ lib.optionals rutabagaSupport [ rutabaga_gfx ]
++ lib.optionals virglSupport [ virglrenderer ]
++ lib.optionals libiscsiSupport [ libiscsi ]
++ lib.optionals smbdSupport [ samba ]
@ -133,6 +135,11 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "sha256-oC+bRjEHixv1QEFO9XAm4HHOwoiT+NkhknKGPydnZ5E=";
revert = true;
})
# Fix display issues when using virtio-gpu on 8.2.0 https://gitlab.com/qemu-project/qemu/-/issues/2051
(fetchpatch {
url = "https://gitlab.com/qemu-project/qemu/-/commit/9d5b42beb6978dc6219d5dc029c9d453c6b8d503.diff";
sha256 = "sha256-NknkH/gFTsMcdq8/ArwM4+qrpU+ZHd+xVMFUuMJTtf0=";
})
]
++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;

View File

@ -20,6 +20,7 @@
, pango
, pciutils
, systemd
, tomlplusplus
, udis86
, wayland
, wayland-protocols
@ -42,13 +43,13 @@ assert lib.assertMsg (!enableNvidiaPatches) "The option `enableNvidiaPatches` ha
assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland";
stdenv.mkDerivation (finalAttrs: {
pname = "hyprland" + lib.optionalString debug "-debug";
version = "0.33.1";
version = "0.34.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-p7el5oQZPy9l1zyIrlHu6nA4BAu59eLoSqBjhkw2jaw=";
hash = "sha256-WSrjBI3k2dM/kGF20At0E6NlrJSB4+pE+WGJ6dFzWEs=";
};
patches = [
@ -66,6 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
--replace "@HASH@" '${finalAttrs.src.rev}' \
--replace "@BRANCH@" "" \
--replace "@MESSAGE@" "" \
--replace "@DATE@" "2024-01-01" \
--replace "@TAG@" "" \
--replace "@DIRTY@" ""
'';
@ -100,6 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
wayland-protocols
pango
pciutils
tomlplusplus
wlroots
]
++ lib.optionals stdenv.hostPlatform.isMusl [ libexecinfo ]

View File

@ -80,7 +80,7 @@ stdenv.mkDerivation {
cp -L "$libblas" $out/lib/libblas${canonicalExtension}
chmod +w $out/lib/libblas${canonicalExtension}
'' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
'' + (if stdenv.hostPlatform.isElf then ''
patchelf --set-soname libblas${canonicalExtension} $out/lib/libblas${canonicalExtension}
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libblas${canonicalExtension}
'' else lib.optionalString (stdenv.hostPlatform.isDarwin) ''
@ -112,7 +112,7 @@ EOF
cp -L "$libcblas" $out/lib/libcblas${canonicalExtension}
chmod +w $out/lib/libcblas${canonicalExtension}
'' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
'' + (if stdenv.hostPlatform.isElf then ''
patchelf --set-soname libcblas${canonicalExtension} $out/lib/libcblas${canonicalExtension}
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider'}/lib" $out/lib/libcblas${canonicalExtension}
'' else lib.optionalString stdenv.hostPlatform.isDarwin ''

View File

@ -57,7 +57,7 @@ stdenv.mkDerivation {
cp -L "$liblapack" $out/lib/liblapack${canonicalExtension}
chmod +w $out/lib/liblapack${canonicalExtension}
'' + (lib.optionalString (stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf") ''
'' + (lib.optionalString stdenv.hostPlatform.isElf ''
patchelf --set-soname liblapack${canonicalExtension} $out/lib/liblapack${canonicalExtension}
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider'}/lib" $out/lib/liblapack${canonicalExtension}
'') + ''
@ -86,7 +86,7 @@ EOF
cp -L "$liblapacke" $out/lib/liblapacke${canonicalExtension}
chmod +w $out/lib/liblapacke${canonicalExtension}
'' + (lib.optionalString (stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf") ''
'' + (lib.optionalString stdenv.hostPlatform.isElf ''
patchelf --set-soname liblapacke${canonicalExtension} $out/lib/liblapacke${canonicalExtension}
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider'}/lib" $out/lib/liblapacke${canonicalExtension}
'') + ''

View File

@ -191,7 +191,21 @@ let
# sddm places XAUTHORITY in /tmp
if [[ "$XAUTHORITY" == /tmp/* ]]; then
x11_args+=(--ro-bind-try "$XAUTHORITY" "$XAUTHORITY")
fi''}
fi
# dbus-run-session puts the socket in /tmp
IFS=";" read -ra addrs <<<"$DBUS_SESSION_BUS_ADDRESS"
for addr in "''${addrs[@]}"; do
[[ "$addr" == unix:* ]] || continue
IFS="," read -ra parts <<<"''${addr#unix:}"
for part in "''${parts[@]}"; do
printf -v part '%s' "''${part//\\/\\\\}"
printf -v part '%b' "''${part//%/\\x}"
[[ "$part" == path=/tmp/* ]] || continue
x11_args+=(--ro-bind-try "''${part#path=}" "''${part#path=}")
done
done
''}
cmd=(
${bubblewrap}/bin/bwrap

View File

@ -1,40 +1,53 @@
{ pkgs }:
{ lib
, buildPackages
}:
let
# rudimentary support for cross-compiling
# see: https://github.com/NixOS/nixpkgs/pull/279487#discussion_r1444449726
inherit (buildPackages)
mktemp
rsync
;
in
rec {
/* Prepare a derivation for local builds.
*
* This function prepares checkpoint builds by provinding,
* containing the build output and the sources for cross checking.
* This function prepares checkpoint builds by storing
* the build output and the sources for cross checking.
* The build output can be used later to allow checkpoint builds
* by passing the derivation output to the `mkCheckpointBuild` function.
*
* To build a project with checkpoints follow these steps:
* - run prepareIncrementalBuild on the desired derivation
* e.G `incrementalBuildArtifacts = (pkgs.checkpointBuildTools.prepareCheckpointBuild pkgs.virtualbox);`
* - change something you want in the sources of the package( e.G using source override)
* changedVBox = pkgs.virtuabox.overrideAttrs (old: {
* src = path/to/vbox/sources;
* }
* - use `mkCheckpointedBuild changedVBox buildOutput`
* To build a project with checkpoints, follow these steps:
* - run `prepareCheckpointBuild` on the desired derivation, e.g.
* checkpointArtifacts = prepareCheckpointBuild virtualbox;
* - change something you want in the sources of the package,
* e.g. using source override:
* changedVBox = pkgs.virtuabox.overrideAttrs (old: {
* src = path/to/vbox/sources;
* };
* - use `mkCheckpointBuild changedVBox checkpointArtifacts`
* - enjoy shorter build times
*/
prepareCheckpointBuild = drv: drv.overrideAttrs (old: {
outputs = [ "out" ];
name = drv.name + "-checkpointArtifacts";
# To determine differences between the state of the build directory
# from an earlier build and a later one we store the state of the build
# from an earlier build and a later one we store the state of the build
# directory before build, but after patch phases.
# This way, the same derivation can be used multiple times and only changes are detected.
# Additionally Removed files are handled correctly in later builds.
# Additionally, removed files are handled correctly in later builds.
preBuild = (old.preBuild or "") + ''
mkdir -p $out/sources
cp -r ./* $out/sources/
'';
# After the build the build directory is copied again
# After the build, the build directory is copied again
# to get the output files.
# We copy the complete build folder, to take care for
# Build tools, building in the source directory, instead of
# having a build root directory, e.G the Linux kernel.
# We copy the complete build folder, to take care of
# build tools that build in the source directory, instead of
# having a separate build directory such as the Linux kernel.
installPhase = ''
runHook preCheckpointInstall
mkdir -p $out/outputs
@ -44,26 +57,34 @@ rec {
});
/* Build a derivation based on the checkpoint output generated by
* the `prepareCheckpointBuild function.
* the `prepareCheckpointBuild` function.
*
* Usage:
* let
* checkpointArtifacts = prepareCheckpointBuild drv
* in mkCheckpointedBuild drv checkpointArtifacts
* checkpointArtifacts = prepareCheckpointBuild drv;
* in mkCheckpointBuild drv checkpointArtifacts
*/
mkCheckpointedBuild = drv: previousBuildArtifacts: drv.overrideAttrs (old: {
mkCheckpointBuild = drv: checkpointArtifacts: drv.overrideAttrs (old: {
# The actual checkpoint build phase.
# We compare the changed sources from a previous build with the current and create a patch
# Afterwards we clean the build directory to copy the previous output files (Including the sources)
# The source difference patch is applied to get the latest changes again to allow short build times.
# We compare the changed sources from a previous build with the current and create a patch.
# Afterwards we clean the build directory and copy the previous output files (including the sources).
# The source difference patch is then applied to get the latest changes again to allow short build times.
preBuild = (old.preBuild or "") + ''
set +e
diff -ur ${previousBuildArtifacts}/sources ./ > sourceDifference.patch
sourceDifferencePatchFile=$(${mktemp}/bin/mktemp)
diff -ur ${checkpointArtifacts}/sources ./ > "$sourceDifferencePatchFile"
set -e
shopt -s extglob dotglob
rm -r !("sourceDifference.patch")
${pkgs.rsync}/bin/rsync -cutU --chown=$USER:$USER --chmod=+w -r ${previousBuildArtifacts}/outputs/* .
patch -p 1 -i sourceDifference.patch
shopt -s dotglob
rm -r *
${rsync}/bin/rsync \
--checksum --times --atimes --chown=$USER:$USER --chmod=+w \
-r ${checkpointArtifacts}/outputs/ .
patch -p 1 -i "$sourceDifferencePatchFile"
rm "$sourceDifferencePatchFile"
'';
});
mkCheckpointedBuild = lib.warn
"`mkCheckpointedBuild` is deprecated, use `mkCheckpointBuild` instead!"
mkCheckpointBuild;
}

View File

@ -14,16 +14,16 @@ let
in
buildGoModule rec {
pname = "centrifugo";
version = "5.1.2";
version = "5.2.0";
src = fetchFromGitHub {
owner = "centrifugal";
repo = "centrifugo";
rev = "v${version}";
hash = "sha256-p0OUzbI5ldl0XBU80nrgK1rfYc11Sij2S2ibfp9xmZ4=";
hash = "sha256-lD7hUCXHH1nUN58rbn/p8BnVahEwF/jKrAtjwuXB4PM=";
};
vendorHash = "sha256-/uWFkLk2RTtGK4CWKZF52jgRHrh5mZLSUoVoe4cUhgk=";
vendorHash = "sha256-s92P4PoYN2/L7pwGT0d/0E/KUNR1GT9DUhtHjAncNf4=";
ldflags = [
"-s"

View File

@ -7,6 +7,7 @@
, SDL2_net
, alsa-lib
, copyDesktopItems
, darwin
, fluidsynth
, glib
, gtest
@ -57,6 +58,39 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-WtTVSWWSlfXrdPVsnlDe4P5K/Fnj4QsOzx3Wo/Kusmg=";
includes = [ "src/gui/meson.build" ];
})
]
# Pagesize detection via syscall; remove when next stable version arrives
++ [
(fetchpatch {
# Added as a parent commit of 7e20f6e
# Fix ppc64le backend and 64K page size support (#2828)
name = "meson-add-ppc64.patch";
url = "https://github.com/dosbox-staging/dosbox-staging/commit/765bcc2b1d87050a4ea366bf22e1db075ad5660b.patch";
hash = "sha256-RtkidyF7w6RrPmCKK4Bd+3FtAn/+/38xk2cl32+yzxw=";
includes = [ "meson.build" ];
})
(fetchpatch {
# Added as a parent commit of 7e20f6e
# Account for debian powerpc prefix (instead of ppc)
name = "meson-powerpc64le.patch";
url = "https://github.com/dosbox-staging/dosbox-staging/commit/d44aa7441cd871ffac08974f22af7a735a839288.patch";
hash = "sha256-oMZtfmB1CRlDWyXwEWc3XzC+XxKazXDgo+jUiNBoJDw=";
includes = [ "meson.build" ];
})
(fetchpatch {
# Added as a parent commit of 7e20f6e
# Restore the PowerPC dynrec core to working order
name = "meson-option-write-or-execute.patch";
url = "https://github.com/dosbox-staging/dosbox-staging/commit/ef86642de390839afc77b2b591a6ea9ac43909b3.patch";
hash = "sha256-htOKEaXRRy28XNMX/t6uFTBLCkTr7YPtfmI9UyIBiz4=";
includes = [ "meson_options.txt" ];
})
(fetchpatch {
# Use a system call to detect the page size
name = "meson-detect-pagesize-by-syscall.patch";
url = "https://github.com/dosbox-staging/dosbox-staging/commit/7e20f6e401956a7a308f1b3462294d7ac9fa5db8.patch";
hash = "sha256-QW9lpHWCYSlQFgTqX/UxHAAWisz4wfPrdjLqROn/wR0=";
})
];
nativeBuildInputs = [
@ -69,7 +103,6 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
alsa-lib
fluidsynth
glib
iir1
@ -87,7 +120,13 @@ stdenv.mkDerivation (finalAttrs: {
SDL2_image
SDL2_net
speexdsp
];
] ++ lib.optionals stdenv.isLinux [
alsa-lib
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
AudioUnit
Carbon
Cocoa
]);
desktopItems = [
(makeDesktopItem {

View File

@ -0,0 +1,13 @@
diff --git a/eduvpn/utils.py b/eduvpn/utils.py
index db0bf0c..76fc52a 100644
--- a/eduvpn/utils.py
+++ b/eduvpn/utils.py
@@ -69,7 +69,7 @@ def get_prefix() -> str:
"""
target = "share/eduvpn/builder/mainwindow.ui"
local = path.dirname(path.dirname(path.abspath(__file__)))
- options = [local, path.expanduser("~/.local"), "/usr/local", prefix]
+ options = ["@out@"]
for option in options:
logger.debug(f"looking for '{target}' in '{option}'")
if path.isfile(path.join(option, target)):

View File

@ -0,0 +1,60 @@
{ lib
, fetchurl
, gdk-pixbuf
, gobject-introspection
, gtk3
, libnotify
, libsecret
, networkmanager
, python3Packages
, wrapGAppsHook
}:
python3Packages.buildPythonApplication rec {
pname = "eduvpn-client";
version = "4.2.0";
src = fetchurl {
url = "https://github.com/eduvpn/python-${pname}/releases/download/${version}/python-${pname}-${version}.tar.xz";
hash = "sha256-W5z0ykrwWANZmW+lQt6m+BmYPI0cutsamx8V2JrpeHA=";
};
nativeBuildInputs = [
gdk-pixbuf
gobject-introspection
wrapGAppsHook
];
buildInputs = [
gtk3
libnotify
libsecret
networkmanager
];
propagatedBuildInputs = with python3Packages; [
eduvpn-common
pygobject3
setuptools
];
patches = [ ./nix-python-prefix.patch ];
postPatch = ''
substituteInPlace eduvpn/utils.py --subst-var-by out $out
'';
checkInputs = with python3Packages; [
pytestCheckHook
];
meta = with lib; {
changelog = "https://raw.githubusercontent.com/eduvpn/python-eduvpn-client/${version}/CHANGES.md";
description = "Linux client for eduVPN";
homepage = "https://github.com/eduvpn/python-eduvpn-client";
license = licenses.gpl3Plus;
mainProgram = "eduvpn-gui";
maintainers = with maintainers; [ benneti jwijenbergh ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,24 @@
{ lib
, python3Packages
, fetchFromGitHub
}:
python3Packages.buildPythonApplication {
pname = "fileinfo";
version = "unstable-2022-09-16";
src = fetchFromGitHub {
owner = "sdushantha";
repo = "fileinfo";
rev = "503f26189ad5043bad3fe71333dd5ba3ffbce485";
hash = "sha256-tEmCsR3LmTxeDZAbMvbIwqp/6uaGNUhgGlm18gdsnOw=";
};
propagatedBuildInputs = with python3Packages; [ requests ];
meta = with lib; {
homepage = "https://github.com/sdushantha/fileinfo";
description = "A file extension metadata lookup tool";
license = licenses.mit;
maintainers = with maintainers; [ h7x4 ];
mainProgram = "fileinfo";
};
}

View File

@ -0,0 +1,51 @@
{ lib
, stdenv
, fetchFromGitHub
, meson
, cmake
, ninja
, pkg-config
, gtk2
, gtk3
, gtk4
}:
let
distorm-src = fetchFromGitHub {
owner = "gdabah";
repo = "distorm";
rev = "3.5.2b";
hash = "sha256-2ftEV3TMS3HT7f96k+Pwt3Mm31fVEXcHpcbbz05jycU=";
};
pname = "gtkclipblock";
version = "0.2.2";
src = fetchFromGitHub {
owner = "notpeelz";
repo = "gtkclipblock";
rev = "v${version}";
hash = "sha256-ok/D7M0KekN8zf8AzhcOLtedbYVRHHv3m9zEHsJfcPM=";
fetchSubmodules = true;
};
in
stdenv.mkDerivation {
inherit pname version src;
nativeBuildInputs = [ meson cmake ninja pkg-config ];
buildInputs = [ gtk2 gtk3 gtk4 ];
postPatch = ''
substituteInPlace subprojects/funchook-helper/subprojects/funchook/CMakeLists.txt \
--replace "GIT_REPOSITORY https://github.com/gdabah/distorm.git" "SOURCE_DIR ${distorm-src}"
'';
dontUseCmakeConfigure = true;
meta = with lib; {
description = "A LD_PRELOAD hack to prevent GTK programs from interacting with the primary clipboard";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ uartman ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -4,25 +4,26 @@
, cmake
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "iir1";
version = "1.9.4";
src = fetchFromGitHub {
owner = "berndporr";
repo = "iir1";
rev = version;
rev = finalAttrs.version;
hash = "sha256-T8gl51IkZIGq+6D5ge4Kb3wm5aw7Rhphmnf6TTGwHbs=";
};
nativeBuildInputs = [ cmake ];
meta = {
homepage = "https://berndporr.github.io/iir1/";
description = "A DSP IIR realtime filter library written in C++";
downloadPage = "https://github.com/berndporr/iir1";
homepage = "http://berndporr.github.io/iir1/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.AndersonTorres ];
changelog = "https://github.com/berndporr/iir1/releases/tag/${finalAttrs.src.rev}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
}
})

View File

@ -0,0 +1,29 @@
{ lib, fetchFromGitHub, python3, testers, kas }:
python3.pkgs.buildPythonApplication rec {
pname = "kas";
version = "4.1";
src = fetchFromGitHub {
owner = "siemens";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-EYz9V45b7fSKoI8w9X0LcSTojErpJHfzxcdE4I4qD2k=";
};
propagatedBuildInputs = with python3.pkgs; [ setuptools kconfiglib jsonschema distro pyyaml ];
# Tests require network as they try to clone repos
doCheck = false;
passthru.tests.version = testers.testVersion {
package = kas;
command = "${pname} --version";
};
meta = with lib; {
homepage = "https://github.com/siemens/kas";
description = "Setup tool for bitbake based projects";
license = licenses.mit;
maintainers = with maintainers; [ bachp ];
};
}

View File

@ -70,6 +70,10 @@ stdenv.mkDerivation (finalAttrs: {
(lib.mesonEnable "xwayland" true)
];
passthru = {
providedSessions = [ "labwc" ];
};
meta = {
homepage = "https://github.com/labwc/labwc";
description = "A Wayland stacking compositor, inspired by Openbox";

View File

@ -0,0 +1,37 @@
{ lib
, buildGoModule
, fetchurl
}:
buildGoModule rec {
pname = "libeduvpn-common";
version = "1.2.0";
src = fetchurl {
url = "https://github.com/eduvpn/eduvpn-common/releases/download/${version}/eduvpn-common-${version}.tar.xz";
hash = "sha256-CqpOgvGGD6pW03fvKUzgoeCz6YgnzuYK2u5Zbw+/Ks4=";
};
vendorHash = null;
buildPhase = ''
runHook preBuild
go build -o ${pname}-${version}.so -buildmode=c-shared -tags=release ./exports
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dt $out/lib ${pname}-${version}.so
runHook postInstall
'';
meta = with lib; {
changelog = "https://raw.githubusercontent.com/eduvpn/eduvpn-common/${version}/CHANGES.md";
description = "Code to be shared between eduVPN clients";
homepage = "https://github.com/eduvpn/eduvpn-common";
maintainers = with maintainers; [ benneti jwijenbergh ];
license = licenses.mit;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,41 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, pkg-config
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libvpl";
version = "2.10.1";
src = fetchFromGitHub {
owner = "intel";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-2yfJo4iwI/h0CJ+mJJ3cAyG5S7KksUibwJHebF3MR+E=";
};
nativeBuildInputs = [
cmake
pkg-config
];
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DENABLE_DRI3=ON"
"-DENABLE_DRM=ON"
"-DENABLE_VA=ON"
"-DENABLE_WAYLAND=ON"
"-DENABLE_X11=ON"
"-DINSTALL_EXAMPLE_CODE=OFF"
"-DBUILD_TOOLS=OFF"
];
meta = with lib; {
description = "Intel Video Processing Library";
homepage = "https://intel.github.io/libvpl/";
license = licenses.mit;
platforms = platforms.linux;
};
})

View File

@ -0,0 +1,37 @@
{ lib
, stdenv
, fetchurl
, ncurses
, zlib
, bzip2
, sqlite
, pkg-config
, glib
, gnutls
, perl
, libmaxminddb
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ncdc";
version = "1.24";
src = fetchurl {
url = "https://dev.yorhel.nl/download/ncdc-${finalAttrs.version}.tar.gz";
hash = "sha256-IzUQ1TVfxy/a01eOvIqzXR2pWyHSd0mQ86E1a3ES2h4=";
};
nativeBuildInputs = [ perl pkg-config ];
buildInputs = [ ncurses zlib bzip2 sqlite glib gnutls libmaxminddb ];
configureFlags = [ "--with-geoip" ];
meta = {
changelog = "https://dev.yorhel.nl/ncdc/changes";
description = "Modern and lightweight direct connect client with a friendly ncurses interface";
homepage = "https://dev.yorhel.nl/ncdc";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ehmry ];
mainProgram = "ncdc";
};
})

View File

@ -0,0 +1,32 @@
{ lib
, stdenv
, qrcodegen
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qrcodegencpp";
version = qrcodegen.version;
src = qrcodegen.src;
sourceRoot = "${finalAttrs.src.name}/cpp";
nativeBuildInputs = lib.optionals stdenv.cc.isClang [
stdenv.cc.cc.libllvm.out
];
makeFlags = lib.optionals stdenv.cc.isClang [ "AR=llvm-ar" ];
installPhase = ''
runHook preInstall
install -Dt $out/lib/ libqrcodegencpp.a
install -Dt $out/include/qrcodegen/ qrcodegen.hpp
runHook postInstall
'';
meta = {
inherit (qrcodegen.meta) description homepage license maintainers platforms;
};
})

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication {
pname = "renode-dts2repl";
version = "unstable-2024-01-06";
version = "unstable-2024-01-09";
pyproject = true;
src = fetchFromGitHub {
owner = "antmicro";
repo = "dts2repl";
rev = "0813251eb3c016fc7688c1e81981213d980fc5ab";
hash = "sha256-2EePYirk3IKFaJSiWVebB9Moz6FYBEwymo32NYIyMtE=";
rev = "429ebc65e0bcbd967ccfe1f9a970abd5b5b6258f";
hash = "sha256-/62KAVIMCM6VNhW4rDqnKXOFrAO0cHpybGS3lconCqY=";
};
nativeBuildInputs = [

View File

@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
cmake
gfortran
pkg-config
];
] ++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc;
buildInputs = [
blas
@ -72,8 +72,12 @@ stdenv.mkDerivation rec {
eigen
libvdwxc
]
++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
++ lib.optionals (gpuBackend == "rocm") [
++ lib.optionals (gpuBackend == "cuda") [
cudaPackages.cuda_cudart
cudaPackages.cuda_profiler_api
cudaPackages.cudatoolkit
cudaPackages.libcublas
] ++ lib.optionals (gpuBackend == "rocm") [
rocmPackages.clr
rocmPackages.rocblas
] ++ lib.optional stdenv.isDarwin llvmPackages.openmp

View File

@ -34,13 +34,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
cmake
gfortran
];
] ++ lib.optional (gpuBackend == "cuda") cudaPackages.cuda_nvcc;
buildInputs = [
fftw
]
++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit
++ lib.optionals (gpuBackend == "rocm") [
] ++ lib.optionals (gpuBackend == "cuda") [
cudaPackages.libcufft
cudaPackages.cuda_cudart
] ++ lib.optionals (gpuBackend == "rocm") [
rocmPackages.clr
rocmPackages.rocfft
rocmPackages.hipfft

View File

@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation rec {
pname = "sx";
version = "2.1.7";
version = "3.0";
src = fetchFromGitHub {
owner = "earnestly";
repo = pname;
rev = version;
sha256 = "0xv15m30nhcknasqiybj5wwf7l91q4a4jf6xind8x5x00c6br6nl";
hash = "sha256-hKoz7Kuus8Yp7D0F05wCOQs6BvV0NkRM9uUXTntLJxQ=";
};
makeFlags = [ "PREFIX=$(out)" ];
@ -33,8 +33,8 @@ stdenvNoCC.mkDerivation rec {
description = "Simple alternative to both xinit and startx for starting a Xorg server";
homepage = "https://github.com/earnestly/sx";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ figsoda thiagokokada ];
mainProgram = "sx";
maintainers = with maintainers; [ figsoda thiagokokada ];
platforms = platforms.linux;
};
}

4910
pkgs/by-name/tr/treedome/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,68 @@
{
"name": "treedome",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"tauri": "tauri",
"clean": "rm -rf node_modules",
"prettier-format": "prettier --config .prettierrc 'src/**/*.ts*' --write"
},
"resolutions": {
"@types/react": "^17.0.1",
"@types/react-dom": "^17.0.1"
},
"dependencies": {
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
"@fontsource/noto-sans": "^5.0.8",
"@fontsource/noto-sans-mono": "^5.0.8",
"@leeoniya/ufuzzy": "^1.0.8",
"@mantine/core": "^6.0.16",
"@mantine/form": "^6.0.16",
"@mantine/hooks": "^6.0.16",
"@mantine/modals": "^6.0.16",
"@mantine/notifications": "^6.0.16",
"@mantine/spotlight": "^6.0.17",
"@mantine/tiptap": "^6.0.16",
"@minoru/react-dnd-treeview": "^3.4.4",
"@mui/icons-material": "^5.14.0",
"@mui/material": "^5.14.0",
"@tabler/icons-react": "^2.28.0",
"@tauri-apps/api": "^1.4.0",
"@tiptap/extension-code-block-lowlight": "^2.0.4",
"@tiptap/extension-highlight": "^2.0.4",
"@tiptap/extension-image": "^2.0.4",
"@tiptap/extension-link": "^2.0.4",
"@tiptap/extension-placeholder": "^2.0.4",
"@tiptap/extension-subscript": "^2.0.4",
"@tiptap/extension-superscript": "^2.0.4",
"@tiptap/extension-text-align": "^2.0.4",
"@tiptap/extension-underline": "^2.0.4",
"@tiptap/pm": "^2.0.4",
"@tiptap/react": "^2.0.4",
"@tiptap/starter-kit": "^2.0.4",
"@types/lodash": "^4.14.195",
"jotai": "^2.2.2",
"lodash": "^4.17.21",
"lowlight": "^2.9.0",
"rc-tree": "^5.7.8",
"react": "^18.2.0",
"react-dnd": "^16.0.1",
"react-dom": "^18.2.0",
"wouter": "^2.11.0"
},
"devDependencies": {
"@tauri-apps/cli": "^1.4.0",
"@types/node": "^20.4.4",
"@types/react": "^18.2.15",
"@types/react-dom": "^18.2.7",
"@vitejs/plugin-react": "^4.0.3",
"prettier": "^3.0.0",
"typescript": "^5.1.6",
"vite": "^4.4.6"
}
}

View File

@ -0,0 +1,144 @@
{ lib
, cargo-tauri
, cmake
, dbus
, fetchFromGitea
, fetchYarnDeps
, freetype
, gsettings-desktop-schemas
, gtk3
, libsoup
, mkYarnPackage
, openssl
, pkg-config
, rustPlatform
, webkitgtk
, wrapGAppsHook
, sqlite
}:
let
pname = "treedome";
version = "0.3.3";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "solver-orgz";
repo = "treedome";
rev = version;
sha256 = "sha256-492EAKCXyc4s9FvkpqppZ/GllYuYe0YsXgbRl/oQBgE=";
};
frontend-build = mkYarnPackage {
inherit version src;
pname = "treedome-ui";
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
sha256 = "sha256-rV5jKKnbMutaG5o8gRKgs/uoKwbIkxAPIcx6VWG7mm4=";
};
packageJSON = ./package.json;
configurePhase = ''
ln -s $node_modules node_modules
'';
buildPhase = ''
runHook preBuild
export HOME=$(mktemp -d)
yarn --offline run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/dist
cp -r dist/** $out/dist
runHook postInstall
'';
doDist = false;
};
in
rustPlatform.buildRustPackage {
inherit version pname src;
sourceRoot = "${src.name}/src-tauri";
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"fix-path-env-0.0.0" = "sha256-ewE3CwqLC8dvi94UrQsWbp0mjmrzEJIGPDYtdmQ/sGs=";
};
};
preConfigure = ''
mkdir -p dist
cp -R ${frontend-build}/dist/** dist
'';
# copy the frontend static resources to final build directory
# Also modify tauri.conf.json so that it expects the resources at the new location
postPatch = ''
substituteInPlace ./tauri.conf.json \
--replace '"distDir": "../dist",' '"distDir": "dist",' \
--replace '"beforeBuildCommand": "yarn run build",' '"beforeBuildCommand": "",'
'';
nativeBuildInputs = [
cmake
pkg-config
cargo-tauri
wrapGAppsHook
];
buildInputs = [
dbus
openssl
freetype
libsoup
gtk3
webkitgtk
gsettings-desktop-schemas
sqlite
];
buildPhase = ''
runHook preBuild
cargo tauri build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin/
mkdir -p $out/share/
cp target/release/bundle/deb/treedome_0.0.0_amd64/data/usr/bin/treedome $out/bin/treedome
cp -R target/release/bundle/deb/treedome_0.0.0_amd64/data/usr/share/** $out/share/
runHook postInstall
'';
# WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079
postFixup = ''
wrapProgram "$out/bin/treedome" \
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
'';
meta = with lib; {
description = "A local-first, encrypted, note taking application with tree-like structures, all written and saved in markdown";
homepage = " https://codeberg.org/solver-orgz/treedome";
license = licenses.gpl3Plus;
platforms = [ "x86_64-linux" ];
mainProgram = "treedome";
maintainers = with maintainers; [ tengkuizdihar ];
};
}

View File

@ -0,0 +1,80 @@
{ lib
, stdenv
, fetchzip
, jre
, copyDesktopItems
, makeDesktopItem
}:
let
throwSystem = throw "Unsupported system: ${stdenv.system}";
platform = {
"x86_64-linux" = "linux-x86-64";
}.${stdenv.system} or throwSystem;
in stdenv.mkDerivation rec {
pname = "weasis";
version = "4.2.1";
# Their build instructions indicate to use the packaging script
src = fetchzip {
url = "https://github.com/nroduit/Weasis/releases/download/v${version}/weasis-native.zip";
hash = "sha256-HDlylpe8cHZRaIXndfGh6XmUn8o2PQB1Av7hLCp679U=";
stripRoot = false;
};
nativeBuildInputs = [
copyDesktopItems
];
desktopItems = [
(makeDesktopItem {
name = "DICOMizer";
exec = "Dicomizer";
icon = "Dicomizer";
desktopName = "DICOMizer";
comment = "Convert standard images into DICOM";
})
(makeDesktopItem {
name = "Weasis";
exec = "Weasis";
icon = "Weasis";
desktopName = "Weasis";
comment = meta.description;
})
];
postPatch = ''
patchShebangs ./build/script/package-weasis.sh
'';
buildPhase = ''
runHook preBuild
./build/script/package-weasis.sh --no-installer --jdk ${jre}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/{applications,pixmaps}
mv weasis-${platform}-jdk${lib.versions.major jre.version}-${version}/Weasis/* $out/
mv $out/lib/*.png $out/share/pixmaps/
runHook postInstall
'';
meta = {
description = "Multipurpose standalone and web-based DICOM viewer with a highly modular architecture";
homepage = "https://weasis.org";
# Using changelog from releases as it is more accurate
changelog = "https://github.com/nroduit/Weasis/releases/tag/v${version}";
license = with lib.licenses; [ asl20 epl20 ];
maintainers = [ lib.maintainers.wolfangaukang ];
platforms = [ "x86_64-linux" ];
mainProgram = "Weasis";
};
}

View File

@ -1,14 +1,18 @@
{ lib, fetchFromGitHub, stdenvNoCC }:
{ lib
, fetchFromGitHub
, stdenvNoCC
, nix-update-script
}:
stdenvNoCC.mkDerivation rec {
pname = "material-design-icons";
version = "7.3.67";
version = "7.4.47";
src = fetchFromGitHub {
owner = "Templarian";
repo = "MaterialDesign-Webfont";
rev = "v${version}";
sha256 = "sha256-gQT+5MqYo1qUiLJTzlhF5dB5BZMtr34JWn9rMa9MJvQ=";
sha256 = "sha256-7t3i3nPJZ/tRslLBfY+9kXH8TR145GC2hPFYJeMHRL8=";
sparseCheckout = [ "fonts" ];
};
@ -24,6 +28,8 @@ stdenvNoCC.mkDerivation rec {
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "7000+ Material Design Icons from the Community";
longDescription = ''

View File

@ -1,31 +1,49 @@
{ lib, stdenv
{ lib
, stdenv
, fetchurl
, unzip
, jdk8
, ant
, jdk8
, makeWrapper
, canonicalize-jars-hook
, callPackage
}:
let jre = jdk8.jre; jdk = jdk8; in
stdenv.mkDerivation rec {
let
jdk = jdk8;
jre = jdk8.jre;
in stdenv.mkDerivation (finalAttrs: {
pname = "jasmin";
version = "2.4";
src = fetchurl {
url = "mirror://sourceforge/jasmin/jasmin-${version}/jasmin-${version}.zip";
sha256 = "17a41vr96glcdrdbk88805wwvv1r6w8wg7if23yhd0n6rrl0r8ga";
url = "mirror://sourceforge/jasmin/jasmin-${finalAttrs.version}.zip";
hash = "sha256-6qEMaM7Gggb9EC6exxE3OezNeQEIoblabow+k/IORJ0=";
};
nativeBuildInputs = [ unzip jdk ant makeWrapper ];
nativeBuildInputs = [
unzip
ant
jdk
makeWrapper
canonicalize-jars-hook
];
buildPhase = ''
runHook preBuild
ant all
runHook postBuild
'';
installPhase = ''
runHook preInstall
buildPhase = "ant all";
installPhase =
''
install -Dm644 jasmin.jar $out/share/java/jasmin.jar
mkdir -p $out/bin
makeWrapper ${jre}/bin/java $out/bin/jasmin \
--add-flags "-jar $out/share/java/jasmin.jar"
runHook postInstall
'';
passthru.tests = {
@ -34,11 +52,11 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "An assembler for the Java Virtual Machine";
homepage = "https://jasmin.sourceforge.net/";
downloadPage = "https://sourceforge.net/projects/jasmin/files/latest/download";
homepage = "https://jasmin.sourceforge.net/";
license = licenses.bsd3;
mainProgram = "jasmin";
maintainers = with maintainers; [ fgaz ];
platforms = platforms.all;
};
}
})

View File

@ -98,8 +98,7 @@ rustPlatform.buildRustPackage.override {
# Disable check phase as there are failures (4 tests fail)
doCheck = false;
doInstallCheck = !stdenv.hostPlatform.isStatic &&
stdenv.hostPlatform.parsed.kernel.execFormat == lib.systems.parse.execFormats.elf;
doInstallCheck = !stdenv.hostPlatform.isStatic && stdenv.hostPlatform.isElf;
installCheckPhase = ''
runHook preInstallCheck
readelf -a $out/bin/.cargo-wrapped | grep -F 'Shared library: [libcurl.so'

View File

@ -34,7 +34,7 @@
}:
let
version = "9.1.10";
version = "9.1.21";
packInstall = swiplPath: pack:
''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/pack\"), silent(true), interactive(false)])." -t "halt."
'';
@ -47,7 +47,7 @@ stdenv.mkDerivation {
owner = "SWI-Prolog";
repo = "swipl-devel";
rev = "V${version}";
sha256 = "sha256-hr9cI0Ww6RfZs99iM1hFVw4sOYZFZWr8Vzv6dognCTQ=";
hash = "sha256-c4OSntnwIzo6lGhpyNVtNM4el5FGrn8kcz8WkDRfQhU=";
fetchSubmodules = true;
};

View File

@ -10,7 +10,7 @@ elfHasDynamicSection() {
autoAddCudaCompatRunpathPhase() (
local outputPaths
mapfile -t outputPaths < <(for o in $(getAllOutputNames); do echo "${!o}"; done)
find "${outputPaths[@]}" -type f -executable -print0 | while IFS= read -rd "" f; do
find "${outputPaths[@]}" -type f -print0 | while IFS= read -rd "" f; do
if isELF "$f"; then
# patchelf returns an error on statically linked ELF files
if elfHasDynamicSection "$f" ; then

View File

@ -9,7 +9,7 @@ elfHasDynamicSection() {
autoAddOpenGLRunpathPhase() (
local outputPaths
mapfile -t outputPaths < <(for o in $(getAllOutputNames); do echo "${!o}"; done)
find "${outputPaths[@]}" -type f -executable -print0 | while IFS= read -rd "" f; do
find "${outputPaths[@]}" -type f -print0 | while IFS= read -rd "" f; do
if isELF "$f"; then
# patchelf returns an error on statically linked ELF files
if elfHasDynamicSection "$f" ; then

View File

@ -229,11 +229,7 @@ self: super: builtins.intersectAttrs super {
# hledger* overrides
inherit (
let
# Copy hledger man pages from the source tarball into the proper place.
# It always contains the relevant man page(s) at the top level. For
# hledger it additionally has all the other man pages in embeddedfiles/
# which we ignore.
installHledgerManPages = overrideCabal (drv: {
installHledgerExtraFiles = overrideCabal (drv: {
buildTools = drv.buildTools or [] ++ [
pkgs.buildPackages.installShellFiles
];
@ -243,6 +239,10 @@ self: super: builtins.intersectAttrs super {
done
install -v -Dm644 *.info* -t "$out/share/info/"
if [ -e shell-completion/hledger-completion.bash ]; then
installShellCompletion --name hledger shell-completion/hledger-completion.bash
fi
'';
});
@ -254,15 +254,15 @@ self: super: builtins.intersectAttrs super {
});
in
{
hledger = installHledgerManPages super.hledger;
hledger-web = installHledgerManPages (hledgerWebTestFix super.hledger-web);
hledger-ui = installHledgerManPages super.hledger-ui;
hledger = installHledgerExtraFiles super.hledger;
hledger-web = installHledgerExtraFiles (hledgerWebTestFix super.hledger-web);
hledger-ui = installHledgerExtraFiles super.hledger-ui;
hledger_1_30_1 = installHledgerManPages
hledger_1_30_1 = installHledgerExtraFiles
(doDistribute (super.hledger_1_30_1.override {
hledger-lib = self.hledger-lib_1_30;
}));
hledger-web_1_30 = installHledgerManPages (hledgerWebTestFix
hledger-web_1_30 = installHledgerExtraFiles (hledgerWebTestFix
(doDistribute (super.hledger-web_1_30.override {
hledger = self.hledger_1_30_1;
hledger-lib = self.hledger-lib_1_30;

View File

@ -125,6 +125,9 @@ let
extension = self: super: {
foobar = super.numpy;
};
# `pythonInterpreters.pypy39_prebuilt` does not expose an attribute
# name (is not present in top-level `pkgs`).
is_prebuilt = python: python.pythonAttr == null;
in lib.optionalAttrs (python.isPy3k) ({
test-packageOverrides = let
myPython = let
@ -138,7 +141,10 @@ let
# test-overrideScope = let
# myPackages = python.pkgs.overrideScope extension;
# in assert myPackages.foobar == myPackages.numpy; myPackages.python.withPackages(ps: with ps; [ foobar ]);
} // lib.optionalAttrs (python ? pythonAttr) {
#
# Have to skip prebuilt python as it's not present in top-level
# `pkgs` as an attribute.
} // lib.optionalAttrs (python ? pythonAttr && !is_prebuilt python) {
# Test applying overrides using pythonPackagesOverlays.
test-pythonPackagesExtensions = let
pkgs_ = pkgs.extend(final: prev: {

View File

@ -0,0 +1,33 @@
{ lib, stdenv, fetchFromGitiles, cmake, darwin }:
stdenv.mkDerivation {
pname = "aemu";
version = "0.1.2";
src = fetchFromGitiles {
url = "https://android.googlesource.com/platform/hardware/google/aemu";
rev = "07ccc3ded3357e67e39104f18f35feaf8b3b6a0e";
hash = "sha256-H3IU9aTFSzUAqYgrtHd4F18hbhZsbOJGC4K5JwMQOOw=";
};
nativeBuildInputs = [ cmake ];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Cocoa
];
cmakeFlags = [
"-DAEMU_COMMON_GEN_PKGCONFIG=ON"
"-DAEMU_COMMON_BUILD_CONFIG=gfxstream"
# "-DENABLE_VKCEREAL_TESTS=OFF"
];
meta = with lib; {
homepage = "https://android.googlesource.com/platform/hardware/google/aemu";
description = "Android emulation utilities library";
maintainers = with maintainers; [ qyliss ];
# The BSD license comes from host-common/VpxFrameParser.cpp, which
# incorporates some code from libvpx, which uses the 3-clause BSD license.
license = with licenses; [ asl20 mit bsd3 ];
platforms = platforms.darwin ++ platforms.linux;
};
}

View File

@ -1,49 +0,0 @@
diff --git a/./CMake/FindLLVM.cmake b/../Beignet-1.1.2-Source_new/CMake/FindLLVM.cmake
index a148321..96cafb8 100644
--- a/./CMake/FindLLVM.cmake
+++ b/../Beignet-1.1.2-Source_new/CMake/FindLLVM.cmake
@@ -22,6 +22,7 @@ if (LLVM_CONFIG_EXECUTABLE)
else (LLVM_CONFIG_EXECUTABLE)
message(FATAL_ERROR "Could NOT find LLVM executable, please add -DLLVM_INSTALL_DIR=/path/to/llvm-config/ in cmake command")
endif (LLVM_CONFIG_EXECUTABLE)
+
execute_process(
COMMAND ${LLVM_CONFIG_EXECUTABLE} --version
OUTPUT_VARIABLE LLVM_VERSION
@@ -44,10 +45,16 @@ if (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR)
endif (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT)
endif (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR)
-if (LLVM_INSTALL_DIR)
+if (CLANG_INSTALL_DIR)
find_program(CLANG_EXECUTABLE
NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang
- PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
+ PATHS ${CLANG_INSTALL_DIR} NO_DEFAULT_PATH)
+else (CLANG_INSTALL_DIR)
+ find_program(CLANG_EXECUTABLE
+ NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang)
+endif (CLANG_INSTALL_DIR)
+
+if (LLVM_INSTALL_DIR)
find_program(LLVM_AS_EXECUTABLE
NAMES llvm-as-${LLVM_VERSION_NODOT} llvm-as-${LLVM_VERSION_NOPATCH} llvm-as
PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
@@ -55,8 +62,6 @@ if (LLVM_INSTALL_DIR)
NAMES llvm-link-${LLVM_VERSION_NODOT} llvm-link-${LLVM_VERSION_NOPATCH} llvm-link
PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
else (LLVM_INSTALL_DIR)
- find_program(CLANG_EXECUTABLE
- NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang)
find_program(LLVM_AS_EXECUTABLE
NAMES llvm-as-${LLVM_VERSION_NODOT} llvm-as-${LLVM_VERSION_NOPATCH} llvm-as)
find_program(LLVM_LINK_EXECUTABLE
@@ -105,7 +110,7 @@ endif (LLVM_VERSION_NODOT VERSION_GREATER 34)
macro(add_one_lib name)
FIND_LIBRARY(CLANG_LIB
NAMES ${name}
- PATHS ${LLVM_LIBRARY_DIR} NO_DEFAULT_PATH)
+ PATHS ${CLANG_LIBRARY_DIR} NO_DEFAULT_PATH)
set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_LIB})
unset(CLANG_LIB CACHE)
endmacro()

View File

@ -1,112 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, libclang
, libllvm
, libdrm
, libX11
, libpthreadstubs
, libXdmcp
, libXdamage
, libXext
, python3
, ocl-icd
, libGL
, makeWrapper
, beignet
}:
stdenv.mkDerivation rec {
pname = "beignet";
version = "unstable-2018.08.20";
src = fetchFromGitHub {
owner = "intel";
repo = "beignet";
rev = "fc5f430cb7b7a8f694d86acbb038bd5b38ec389c";
sha256 = "1z64v69w7f52jrskh1jfyh1x46mzfhjrqxj9hhgzh3xxv9yla32h";
};
patches = [ ./clang_llvm.patch ];
postPatch = ''
substituteInPlace CMakeLists.txt --replace /etc/OpenCL/vendors "\''${CMAKE_INSTALL_PREFIX}/etc/OpenCL/vendors"
patchShebangs src/git_sha1.sh
'';
cmakeFlags = [ "-DCLANG_LIBRARY_DIR=${libclang.lib}/lib" ];
buildInputs = [
libllvm
libclang
libX11
libXext
libpthreadstubs
libdrm
libXdmcp
libXdamage
ocl-icd
libGL
];
nativeBuildInputs = [
cmake
pkg-config
python3
];
passthru.utests = stdenv.mkDerivation {
pname = "beignet-utests";
inherit version src;
preConfigure = ''
cd utests
'';
nativeBuildInputs = [
cmake
python3
pkg-config
makeWrapper
];
buildInputs = [
ocl-icd
];
installPhase = ''
wrapBin() {
install -Dm755 "$1" "$out/bin/$(basename "$1")"
wrapProgram "$out/bin/$(basename "$1")" \
--set OCL_BITCODE_LIB_PATH ${beignet}/lib/beignet/beignet.bc \
--set OCL_HEADER_FILE_DIR "${beignet}/lib/beignet/include" \
--set OCL_PCH_PATH "${beignet}/lib/beignet/beignet.pch" \
--set OCL_GBE_PATH "${beignet}/lib/beignet/libgbe.so" \
--set OCL_INTERP_PATH "${beignet}/lib/beignet/libgbeinterp.so" \
--set OCL_KERNEL_PATH "$out/lib/beignet/kernels" \
--set OCL_IGNORE_SELF_TEST 1
}
install -Dm755 libutests.so $out/lib/libutests.so
wrapBin utest_run
wrapBin flat_address_space
mkdir $out/lib/beignet
cp -r ../../kernels $out/lib/beignet
'';
};
meta = with lib; {
homepage = "https://cgit.freedesktop.org/beignet/";
description = "OpenCL Library for Intel Ivy Bridge and newer GPUs";
longDescription = ''
The package provides an open source implementation of the OpenCL specification for Intel GPUs.
It supports the Intel OpenCL runtime library and compiler.
'';
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ artuuge zimbatm ];
platforms = platforms.linux;
# Requires libdrm_intel
badPlatforms = [ "aarch64-linux" ];
};
}

View File

@ -73,8 +73,7 @@ let
else if stdenv.hostPlatform.parsed.cpu.name == "s390x" then "s390x"
else toString stdenv.hostPlatform.parsed.cpu.family}"
# env in host triplet for Mach-O is "macho", but boost binary format for Mach-O is "mach-o"
"binary-format=${if stdenv.hostPlatform.parsed.kernel.execFormat == lib.systems.parse.execFormats.macho
then "mach-o"
"binary-format=${if stdenv.hostPlatform.isMacho then "mach-o"
else toString stdenv.hostPlatform.parsed.kernel.execFormat.name}"
"target-os=${toString stdenv.hostPlatform.parsed.kernel.name}"

View File

@ -24,13 +24,13 @@ let
in
stdenv.mkDerivation rec {
pname = "ctranslate2";
version = "3.23.0";
version = "3.24.0";
src = fetchFromGitHub {
owner = "OpenNMT";
repo = "CTranslate2";
rev = "v${version}";
hash = "sha256-jqeLNKOGdGtAVx7ExGGDxxgi5zDmQgmJ6bxIuguaM3k=";
hash = "sha256-RK5GQymtaYOM6HK2eRK5Rbz6NZva3Jt7lTPTUbSQXxI=";
fetchSubmodules = true;
};

View File

@ -0,0 +1,34 @@
{ lib, stdenv, fetchFromGitiles, meson, ninja, pkg-config, python3
, aemu, libdrm, libglvnd, vulkan-headers, vulkan-loader, xorg
}:
stdenv.mkDerivation {
pname = "gfxstream";
version = "0.1.2";
src = fetchFromGitiles {
url = "https://android.googlesource.com/platform/hardware/google/gfxstream";
rev = "a29282666c0e2fdbb2c98cfe68a7c0677163ef91";
hash = "sha256-IYXkaHZPEYIE9KW731GN6x6yRS+FYtP1zyHcaSofhIM=";
};
nativeBuildInputs = [ meson ninja pkg-config python3 ];
buildInputs = [ aemu libglvnd vulkan-headers vulkan-loader xorg.libX11 ]
++ lib.optional (lib.meta.availableOn stdenv.hostPlatform libdrm) libdrm;
# dlopens libvulkan.
#
# XXX: Unsure if this is required on Darwin. If it is, it probably
# needs to be done using install_name_tool.
preConfigure = lib.optionalString (!stdenv.isDarwin) ''
mesonFlagsArray=(-Dcpp_link_args="-Wl,--push-state -Wl,--no-as-needed -lvulkan -Wl,--pop-state")
'';
meta = with lib; {
homepage = "https://android.googlesource.com/platform/hardware/google/gfxstream";
description = "Graphics Streaming Kit";
license = licenses.free; # https://android.googlesource.com/platform/hardware/google/gfxstream/+/refs/heads/main/LICENSE
maintainers = with maintainers; [ qyliss ];
platforms = platforms.darwin ++ platforms.linux;
};
}

View File

@ -23,20 +23,21 @@
, which
, xvfb-run
, nixosTests
, installTests ? true
}:
let
testDeps = [
gtk3 atk pango.out gdk-pixbuf harfbuzz
];
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "gjs";
version = "1.78.0";
outputs = [ "out" "dev" "installedTests" ];
src = fetchurl {
url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor finalAttrs.version}/gjs-${finalAttrs.version}.tar.xz";
sha256 = "sha256-+6og4JF2aIMIAPkpUWiPn8CPASlq/9XNtLNfdQvifck=";
};
@ -107,12 +108,12 @@ in stdenv.mkDerivation rec {
postInstall = ''
# TODO: make the glib setup hook handle moving the schemas in other outputs.
installedTestsSchemaDatadir="$installedTests/share/gsettings-schemas/${pname}-${version}"
installedTestsSchemaDatadir="$installedTests/share/gsettings-schemas/gjs-${finalAttrs.version}"
mkdir -p "$installedTestsSchemaDatadir"
mv "$installedTests/share/glib-2.0" "$installedTestsSchemaDatadir"
'';
postFixup = ''
postFixup = lib.optionalString installTests ''
wrapProgram "$installedTests/libexec/installed-tests/gjs/minijasmine" \
--prefix XDG_DATA_DIRS : "$installedTestsSchemaDatadir" \
--prefix GI_TYPELIB_PATH : "${lib.makeSearchPath "lib/girepository-1.0" testDeps}"
@ -145,4 +146,4 @@ in stdenv.mkDerivation rec {
maintainers = teams.gnome.members;
platforms = platforms.unix;
};
}
})

View File

@ -234,7 +234,7 @@ stdenv.mkDerivation rec {
'';
doInstallCheck = (lib.elem "webp" selectedPlugins) && !stdenv.hostPlatform.isStatic &&
stdenv.hostPlatform.parsed.kernel.execFormat == lib.systems.parse.execFormats.elf;
stdenv.hostPlatform.isElf;
installCheckPhase = ''
runHook preInstallCheck
readelf -a $out/lib/gstreamer-1.0/libgstrswebp.so | grep -F 'Shared library: [libwebpdemux.so'

View File

@ -30,6 +30,10 @@
}:
let
gl_rpath = lib.makeLibraryPath [
stdenv.cc.cc.lib
];
rpath = lib.makeLibraryPath [
glib
nss
@ -92,7 +96,11 @@ stdenv.mkDerivation rec {
mkdir -p $out/lib/ $out/share/cef/
cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/
cp ../Release/libcef.so $out/lib/
cp ../Release/libEGL.so $out/lib/
cp ../Release/libGLESv2.so $out/lib/
patchelf --set-rpath "${rpath}" $out/lib/libcef.so
patchelf --set-rpath "${gl_rpath}" $out/lib/libEGL.so
patchelf --set-rpath "${gl_rpath}" $out/lib/libGLESv2.so
cp ../Release/*.bin $out/share/cef/
cp -r ../Resources/* $out/share/cef/
cp -r ../include $out/

View File

@ -93,7 +93,7 @@ let
else if stdenv.hostPlatform.isBSD
then if stdenv.hostPlatform.isx86_64 then "./Configure BSD-x86_64"
else if stdenv.hostPlatform.isx86_32
then "./Configure BSD-x86" + lib.optionalString (stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf") "-elf"
then "./Configure BSD-x86" + lib.optionalString stdenv.hostPlatform.isElf "-elf"
else "./Configure BSD-generic${toString stdenv.hostPlatform.parsed.cpu.bits}"
else if stdenv.hostPlatform.isMinGW
then "./Configure mingw${lib.optionalString

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "fastjet-contrib";
version = "1.052";
version = "1.053";
src = fetchurl {
url = "https://fastjet.hepforge.org/contrib/downloads/fjcontrib-${version}.tar.gz";
sha256 = "sha256-veY8KMvfmSvt6k3e38PNUsn+wkGnZ8xFXdStEOghDDk=";
sha256 = "sha256-sSokjgsUOTTJnjt8jdgyZRIvbGwJUzwqA99E9e/x5vo=";
};
buildInputs = [ fastjet ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "herwig";
version = "7.2.3";
version = "7.3.0";
src = fetchurl {
url = "https://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
hash = "sha256-VZmJk3mwGwnjMaJCbXjTm39uwSbbJUPp00Cu/mqlD4Q=";
hash = "sha256-JiSBnS3/EFupUuobXPEutvSSbUlRd0pBkHaZ4vVnaGw=";
};
nativeBuildInputs = [ autoconf automake libtool gfortran ];

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