mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 01:13:05 +00:00
Merge master into staging-next
This commit is contained in:
commit
5a301eda67
@ -2621,6 +2621,12 @@
|
||||
githubId = 30630233;
|
||||
name = "Timo Triebensky";
|
||||
};
|
||||
birkb = {
|
||||
email = "birk@batchworks.de";
|
||||
github = "birkb";
|
||||
githubId = 10164833;
|
||||
name = "Birk Bohne";
|
||||
};
|
||||
bjornfor = {
|
||||
email = "bjorn.forsman@gmail.com";
|
||||
github = "bjornfor";
|
||||
@ -19615,6 +19621,12 @@
|
||||
githubId = 2389333;
|
||||
name = "Andy Tockman";
|
||||
};
|
||||
tcmal = {
|
||||
email = "me@aria.rip";
|
||||
github = "tcmal";
|
||||
githubId = 4183876;
|
||||
name = "Aria Shrimpton";
|
||||
};
|
||||
teatwig = {
|
||||
email = "nix@teatwig.net";
|
||||
name = "tea";
|
||||
@ -20626,6 +20638,12 @@
|
||||
githubId = 20206121;
|
||||
name = "umlx5h";
|
||||
};
|
||||
uncenter = {
|
||||
name = "uncenter";
|
||||
email = "uncenter@uncenter.dev";
|
||||
github = "uncenter";
|
||||
githubId = 47499684;
|
||||
};
|
||||
unclamped = {
|
||||
name = "Maru";
|
||||
email = "clear6860@tutanota.com";
|
||||
|
@ -122,10 +122,7 @@ class KDERepoMetadata:
|
||||
dep_graph={},
|
||||
)
|
||||
|
||||
dep_specs = [
|
||||
"dependency-data-common",
|
||||
"dependency-data-kf6-qt6"
|
||||
]
|
||||
dep_specs = ["dependency-data-stable-kf6-qt6"]
|
||||
dep_graph = collections.defaultdict(set)
|
||||
|
||||
for spec in dep_specs:
|
||||
|
@ -414,6 +414,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
- The `erlang_node_short_name`, `erlang_node_name`, `port` and `options` configuration parameters are gone, and have been replaced with an `environment` parameter.
|
||||
Use the appropriate [environment variables](https://hexdocs.pm/livebook/readme.html#environment-variables) inside `environment` to configure the service instead.
|
||||
|
||||
- `akkoma` now requires explicitly setting the base URL for uploaded media (`settings."Pleroma.Upload".base_url`), as well as for the media proxy if enabled (`settings."Media"`).
|
||||
This is recommended to be a separate (sub)domain to the one Akkoma is hosted at.
|
||||
See [here](https://meta.akkoma.dev/t/akkoma-stable-2024-03-securer-i-barely-know-her/681#explicit-upload-and-media-proxy-domains-5) for more details.
|
||||
|
||||
- The `crystal` package has been updated to 1.11.x, which has some breaking changes.
|
||||
Refer to crystal's changelog for more information. ([v1.10](https://github.com/crystal-lang/crystal/blob/master/CHANGELOG.md#1100-2023-10-09), [v1.11](https://github.com/crystal-lang/crystal/blob/master/CHANGELOG.md#1110-2024-01-08))
|
||||
|
||||
@ -578,6 +582,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
- QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
|
||||
The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
|
||||
|
||||
- The `drbd` out-of-tree Linux kernel driver has been added in version `9.2.7`. With it the DRBD 9.x features can be used instead of the 8.x features provided by the `8.4.11` in-tree driver.
|
||||
|
||||
- The oil shell's c++ version is now available as `oils-for-unix`. The python version is still available as `oil`
|
||||
|
||||
- `documentation.man.mandoc` now by default uses `MANPATH` to set the directories where mandoc will search for manual pages.
|
||||
|
@ -10,7 +10,8 @@ let
|
||||
|
||||
resolvconfOptions = cfg.extraOptions
|
||||
++ optional cfg.dnsSingleRequest "single-request"
|
||||
++ optional cfg.dnsExtensionMechanism "edns0";
|
||||
++ optional cfg.dnsExtensionMechanism "edns0"
|
||||
++ optional cfg.useLocalResolver "trust-ad";
|
||||
|
||||
configText =
|
||||
''
|
||||
@ -27,9 +28,7 @@ let
|
||||
resolv_conf_options='${concatStringsSep " " resolvconfOptions}'
|
||||
'' + optionalString cfg.useLocalResolver ''
|
||||
# This hosts runs a full-blown DNS resolver.
|
||||
name_servers='127.0.0.1'
|
||||
'' + optionalString (cfg.useLocalResolver && config.networking.enableIPv6) ''
|
||||
name_servers='::1'
|
||||
name_servers='127.0.0.1${optionalString config.networking.enableIPv6 " ::1"}'
|
||||
'' + cfg.extraConfig;
|
||||
|
||||
in
|
||||
|
@ -60,6 +60,9 @@ in
|
||||
# This prevents nixos-rebuild from killing greetd by activating getty again
|
||||
systemd.services."autovt@${tty}".enable = false;
|
||||
|
||||
# Enable desktop session data
|
||||
services.displayManager.enable = lib.mkDefault true;
|
||||
|
||||
systemd.services.greetd = {
|
||||
aliases = [ "display-manager.service" ];
|
||||
|
||||
|
@ -1,46 +1,52 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
toStr = value:
|
||||
if true == value then "yes"
|
||||
else if false == value then "no"
|
||||
else toString value;
|
||||
inherit (lib.attrsets) optionalAttrs;
|
||||
inherit (lib.generators) toINIWithGlobalSection;
|
||||
inherit (lib.lists) optional;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.strings) escape;
|
||||
inherit (lib.types) attrsOf bool int lines oneOf str submodule;
|
||||
|
||||
cfg = config.services.davfs2;
|
||||
format = pkgs.formats.toml { };
|
||||
configFile = let
|
||||
settings = mapAttrsToList (n: v: "${n} = ${toStr v}") cfg.settings;
|
||||
in pkgs.writeText "davfs2.conf" ''
|
||||
${concatStringsSep "\n" settings}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
escapeString = escape ["\"" "\\"];
|
||||
|
||||
formatValue = value:
|
||||
if true == value then "1"
|
||||
else if false == value then "0"
|
||||
else if builtins.isString value then "\"${escapeString value}\""
|
||||
else toString value;
|
||||
|
||||
configFile = pkgs.writeText "davfs2.conf" (
|
||||
if (cfg.settings != { }) then
|
||||
(toINIWithGlobalSection {
|
||||
mkSectionName = escapeString;
|
||||
mkKeyValue = k: v: "${k} ${formatValue v}";
|
||||
} cfg.settings)
|
||||
else
|
||||
cfg.extraConfig
|
||||
);
|
||||
in
|
||||
{
|
||||
|
||||
options.services.davfs2 = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable davfs2.
|
||||
'';
|
||||
};
|
||||
enable = mkEnableOption "davfs2";
|
||||
|
||||
davUser = mkOption {
|
||||
type = types.str;
|
||||
type = str;
|
||||
default = "davfs2";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
When invoked by root the mount.davfs daemon will run as this user.
|
||||
Value must be given as name, not as numerical id.
|
||||
'';
|
||||
};
|
||||
|
||||
davGroup = mkOption {
|
||||
type = types.str;
|
||||
type = str;
|
||||
default = "davfs2";
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
The group of the running mount.davfs daemon. Ordinary users must be
|
||||
member of this group in order to mount a davfs2 file system. Value must
|
||||
be given as name, not as numerical id.
|
||||
@ -48,14 +54,19 @@ in
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
type = lines;
|
||||
default = "";
|
||||
example = ''
|
||||
kernel_fs coda
|
||||
proxy foo.bar:8080
|
||||
use_locks 0
|
||||
|
||||
[/media/dav]
|
||||
use_locks 1
|
||||
|
||||
[/home/otto/mywebspace]
|
||||
gui_optimize 1
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Extra lines appended to the configuration of davfs2.
|
||||
See {manpage}`davfs2.conf(5)` for available settings.
|
||||
|
||||
@ -66,18 +77,30 @@ in
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = format.type;
|
||||
type = submodule {
|
||||
freeformType = let
|
||||
valueTypes = [ bool int str ];
|
||||
in
|
||||
attrsOf (attrsOf (oneOf (valueTypes ++ [ (attrsOf (oneOf valueTypes)) ] )));
|
||||
};
|
||||
default = {};
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
kernel_fs = "coda";
|
||||
proxy = "foo.bar:8080";
|
||||
use_locks = 0;
|
||||
globalSection = {
|
||||
proxy = "foo.bar:8080";
|
||||
use_locks = false;
|
||||
};
|
||||
sections = {
|
||||
"/media/dav" = {
|
||||
use_locks = true;
|
||||
};
|
||||
"/home/otto/mywebspace" = {
|
||||
gui_optimize = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
description = ''
|
||||
Extra settings appended to the configuration of davfs2.
|
||||
See {manpage}`davfs2.conf(5)` for available settings.
|
||||
'' ;
|
||||
@ -86,16 +109,29 @@ in
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
warnings = lib.optional (cfg.extraConfig != null) ''
|
||||
services.davfs2.extraConfig will be deprecated in future releases, please use the settings option now.
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.extraConfig != "" -> cfg.settings == { };
|
||||
message = ''
|
||||
services.davfs2.extraConfig and services.davfs2.settings cannot be used together.
|
||||
Please prefer using services.davfs2.settings.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
warnings = optional (cfg.extraConfig != "") ''
|
||||
services.davfs2.extraConfig will be deprecated in future releases;
|
||||
please use services.davfs2.settings instead.
|
||||
'';
|
||||
|
||||
environment.systemPackages = [ pkgs.davfs2 ];
|
||||
environment.etc."davfs2/davfs2.conf".source = configFile;
|
||||
|
||||
services.davfs2.settings = {
|
||||
dav_user = cfg.davUser;
|
||||
dav_group = cfg.davGroup;
|
||||
globalSection = {
|
||||
dav_user = cfg.davUser;
|
||||
dav_group = cfg.davGroup;
|
||||
};
|
||||
};
|
||||
|
||||
users.groups = optionalAttrs (cfg.davGroup == "davfs2") {
|
||||
|
@ -764,6 +764,21 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
"Pleroma.Upload" = let
|
||||
httpConf = cfg.config.":pleroma"."Pleroma.Web.Endpoint".url;
|
||||
in {
|
||||
base_url = mkOption {
|
||||
type = types.nonEmptyStr;
|
||||
default = if lib.versionOlder config.system.stateVersion "24.05"
|
||||
then "${httpConf.scheme}://${httpConf.host}:${builtins.toString httpConf.port}/media/"
|
||||
else null;
|
||||
description = mdDoc ''
|
||||
Base path which uploads will be stored at.
|
||||
Whilst this can just be set to a subdirectory of the main domain, it is now recommended to use a different subdomain.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
":frontends" = mkOption {
|
||||
type = elixirValue;
|
||||
default = mapAttrs
|
||||
@ -781,6 +796,30 @@ in {
|
||||
[{option}`config.services.akkoma.frontends`](#opt-services.akkoma.frontends).
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
":media_proxy" = let
|
||||
httpConf = cfg.config.":pleroma"."Pleroma.Web.Endpoint".url;
|
||||
in {
|
||||
enabled = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = mdDoc ''
|
||||
Whether to enable proxying of remote media through the instance's proxy.
|
||||
'';
|
||||
};
|
||||
base_url = mkOption {
|
||||
type = types.nullOr types.nonEmptyStr;
|
||||
default = if lib.versionOlder config.system.stateVersion "24.05"
|
||||
then "${httpConf.scheme}://${httpConf.host}:${builtins.toString httpConf.port}/media/"
|
||||
else null;
|
||||
description = mdDoc ''
|
||||
Base path for the media proxy.
|
||||
Whilst this can just be set to a subdirectory of the main domain, it is now recommended to use a different subdomain.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
":web_push_encryption" = mkOption {
|
||||
@ -904,6 +943,9 @@ in {
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
assertions = optionals (cfg.config.":pleroma".":media_proxy".enabled && cfg.config.":pleroma".":media_proxy".base_url == null) [''
|
||||
`services.akkoma.config.":pleroma".":media_proxy".base_url` must be set when the media proxy is enabled.
|
||||
''];
|
||||
warnings = optionals (with config.security; (!sudo.enable) && (!sudo-rs.enable)) [''
|
||||
The pleroma_ctl wrapper enabled by the installWrapper option relies on
|
||||
sudo, which appears to have been disabled through security.sudo.enable.
|
||||
@ -1083,6 +1125,6 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ mvs ];
|
||||
meta.maintainers = with maintainers; [ mvs tcmal ];
|
||||
meta.doc = ./akkoma.md;
|
||||
}
|
||||
|
@ -36,7 +36,8 @@ let
|
||||
${pkgs.toot}/bin/toot timeline -1 | grep -F -q "hello world Jamy here"
|
||||
|
||||
# Test file upload
|
||||
${pkgs.toot}/bin/toot upload <(dd if=/dev/zero bs=1024 count=1024 status=none)
|
||||
echo "y" | ${pkgs.toot}/bin/toot upload <(dd if=/dev/zero bs=1024 count=1024 status=none) \
|
||||
| grep -F -q "https://akkoma.nixos.test:443/media"
|
||||
'';
|
||||
|
||||
checkFe = pkgs.writers.writeBashBin "checkFe" ''
|
||||
@ -90,6 +91,9 @@ in
|
||||
"Pleroma.Web.Endpoint" = {
|
||||
url.host = "akkoma.nixos.test";
|
||||
};
|
||||
"Pleroma.Upload" = {
|
||||
base_url = "https://akkoma.nixos.test:443/media/";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -593,8 +593,8 @@ in {
|
||||
nimdow = handleTest ./nimdow.nix {};
|
||||
neo4j = handleTest ./neo4j.nix {};
|
||||
netdata = handleTest ./netdata.nix {};
|
||||
networking.networkd = handleTest ./networking.nix { networkd = true; };
|
||||
networking.scripted = handleTest ./networking.nix { networkd = false; };
|
||||
networking.scripted = handleTest ./networking/networkd-and-scripted.nix { networkd = false; };
|
||||
networking.networkd = handleTest ./networking/networkd-and-scripted.nix { networkd = true; };
|
||||
netbox_3_6 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_6; };
|
||||
netbox_3_7 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_7; };
|
||||
netbox-upgrade = handleTest ./web-apps/netbox-upgrade.nix {};
|
||||
|
@ -31,11 +31,11 @@ import ./make-test-python.nix (
|
||||
}
|
||||
|
||||
on drbd1 {
|
||||
address ${nodes.drbd1.config.networking.primaryIPAddress}:${toString drbdPort};
|
||||
address ${nodes.drbd1.networking.primaryIPAddress}:${toString drbdPort};
|
||||
}
|
||||
|
||||
on drbd2 {
|
||||
address ${nodes.drbd2.config.networking.primaryIPAddress}:${toString drbdPort};
|
||||
address ${nodes.drbd2.networking.primaryIPAddress}:${toString drbdPort};
|
||||
}
|
||||
}
|
||||
'';
|
||||
@ -45,7 +45,7 @@ import ./make-test-python.nix (
|
||||
{
|
||||
name = "drbd";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ ryantm astro ];
|
||||
maintainers = [ ryantm astro birkb ];
|
||||
};
|
||||
|
||||
nodes.drbd1 = drbdConfig;
|
||||
|
@ -4,98 +4,19 @@
|
||||
# bool: whether to use networkd in the tests
|
||||
, networkd }:
|
||||
|
||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||
with pkgs.lib;
|
||||
with import ../../lib/testing-python.nix { inherit system pkgs; };
|
||||
|
||||
let
|
||||
qemu-common = import ../lib/qemu-common.nix { inherit (pkgs) lib pkgs; };
|
||||
|
||||
router = { config, pkgs, lib, ... }:
|
||||
with pkgs.lib;
|
||||
let
|
||||
vlanIfs = range 1 (length config.virtualisation.vlans);
|
||||
in {
|
||||
environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules
|
||||
virtualisation.vlans = [ 1 2 3 ];
|
||||
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
|
||||
networking = {
|
||||
useDHCP = false;
|
||||
useNetworkd = networkd;
|
||||
firewall.checkReversePath = true;
|
||||
firewall.allowedUDPPorts = [ 547 ];
|
||||
interfaces = mkOverride 0 (listToAttrs (forEach vlanIfs (n:
|
||||
nameValuePair "eth${toString n}" {
|
||||
ipv4.addresses = [ { address = "192.168.${toString n}.1"; prefixLength = 24; } ];
|
||||
ipv6.addresses = [ { address = "fd00:1234:5678:${toString n}::1"; prefixLength = 64; } ];
|
||||
})));
|
||||
};
|
||||
services.kea = {
|
||||
dhcp4 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
interfaces-config = {
|
||||
interfaces = map (n: "eth${toString n}") vlanIfs;
|
||||
dhcp-socket-type = "raw";
|
||||
service-sockets-require-all = true;
|
||||
service-sockets-max-retries = 5;
|
||||
service-sockets-retry-wait-time = 2500;
|
||||
};
|
||||
subnet4 = map (n: {
|
||||
id = n;
|
||||
subnet = "192.168.${toString n}.0/24";
|
||||
pools = [{ pool = "192.168.${toString n}.3 - 192.168.${toString n}.254"; }];
|
||||
option-data = [{ name = "routers"; data = "192.168.${toString n}.1"; }];
|
||||
|
||||
reservations = [{
|
||||
hw-address = qemu-common.qemuNicMac n 1;
|
||||
hostname = "client${toString n}";
|
||||
ip-address = "192.168.${toString n}.2";
|
||||
}];
|
||||
}) vlanIfs;
|
||||
};
|
||||
};
|
||||
dhcp6 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
interfaces-config = {
|
||||
interfaces = map (n: "eth${toString n}") vlanIfs;
|
||||
service-sockets-require-all = true;
|
||||
service-sockets-max-retries = 5;
|
||||
service-sockets-retry-wait-time = 2500;
|
||||
};
|
||||
|
||||
subnet6 = map (n: {
|
||||
id = n;
|
||||
subnet = "fd00:1234:5678:${toString n}::/64";
|
||||
interface = "eth${toString n}";
|
||||
pools = [{ pool = "fd00:1234:5678:${toString n}::2-fd00:1234:5678:${toString n}::2"; }];
|
||||
}) vlanIfs;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.radvd = {
|
||||
enable = true;
|
||||
config = flip concatMapStrings vlanIfs (n: ''
|
||||
interface eth${toString n} {
|
||||
AdvSendAdvert on;
|
||||
AdvManagedFlag on;
|
||||
AdvOtherConfigFlag on;
|
||||
|
||||
prefix fd00:1234:5678:${toString n}::/64 {
|
||||
AdvAutonomous off;
|
||||
};
|
||||
};
|
||||
'');
|
||||
};
|
||||
};
|
||||
|
||||
lib = pkgs.lib;
|
||||
router = import ./router.nix { inherit networkd; };
|
||||
clientConfig = extraConfig: lib.recursiveUpdate {
|
||||
networking.useDHCP = false;
|
||||
networking.useNetworkd = networkd;
|
||||
} extraConfig;
|
||||
testCases = {
|
||||
loopback = {
|
||||
name = "Loopback";
|
||||
nodes.client = { pkgs, ... }: with pkgs.lib; {
|
||||
networking.useDHCP = false;
|
||||
networking.useNetworkd = networkd;
|
||||
};
|
||||
nodes.client = clientConfig {};
|
||||
testScript = ''
|
||||
start_all()
|
||||
client.wait_for_unit("network.target")
|
||||
@ -107,12 +28,10 @@ let
|
||||
static = {
|
||||
name = "Static";
|
||||
nodes.router = router;
|
||||
nodes.client = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.client = clientConfig {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
virtualisation.interfaces.enp2s0.vlan = 2;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
defaultGateway = { address = "192.168.1.1"; interface = "enp1s0"; };
|
||||
defaultGateway6 = { address = "fd00:1234:5678:1::1"; interface = "enp1s0"; };
|
||||
interfaces.enp1s0.ipv4.addresses = [
|
||||
@ -125,8 +44,7 @@ let
|
||||
];
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
client.wait_for_unit("network.target")
|
||||
@ -139,35 +57,23 @@ let
|
||||
|
||||
with subtest("Test vlan 1"):
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.1")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.2")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.3")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.10")
|
||||
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.1")
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.2")
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.3")
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.10")
|
||||
|
||||
with subtest("Test vlan 2"):
|
||||
client.wait_until_succeeds("ping -c 1 192.168.2.1")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.2.2")
|
||||
|
||||
router.wait_until_succeeds("ping -c 1 192.168.2.1")
|
||||
router.wait_until_succeeds("ping -c 1 192.168.2.2")
|
||||
|
||||
with subtest("Test default gateway"):
|
||||
router.wait_until_succeeds("ping -c 1 192.168.3.1")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.3.1")
|
||||
router.wait_until_succeeds("ping -c 1 fd00:1234:5678:3::1")
|
||||
client.wait_until_succeeds("ping -c 1 fd00:1234:5678:3::1")
|
||||
'';
|
||||
};
|
||||
routeType = {
|
||||
name = "RouteType";
|
||||
nodes.client = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.client = clientConfig {
|
||||
networking = {
|
||||
useDHCP = false;
|
||||
useNetworkd = networkd;
|
||||
interfaces.eth1.ipv4.routes = [{
|
||||
address = "192.168.1.127";
|
||||
prefixLength = 32;
|
||||
@ -184,7 +90,7 @@ let
|
||||
dhcpDefault = {
|
||||
name = "useDHCP-by-default";
|
||||
nodes.router = router;
|
||||
nodes.client = { lib, ... }: {
|
||||
nodes.client = {
|
||||
# Disable test driver default config
|
||||
networking.interfaces = lib.mkForce {
|
||||
# Make sure DHCP defaults correctly even when some unrelated config
|
||||
@ -198,28 +104,22 @@ let
|
||||
start_all()
|
||||
client.wait_for_unit("multi-user.target")
|
||||
client.wait_until_succeeds("ip addr show dev enp1s0 | grep '192.168.1'")
|
||||
client.shell_interact()
|
||||
client.succeed("ping -c 1 192.168.1.1")
|
||||
router.succeed("ping -c 1 192.168.1.1")
|
||||
router.succeed("ping -c 1 192.168.1.2")
|
||||
client.succeed("ping -c 1 192.168.1.2")
|
||||
'';
|
||||
};
|
||||
dhcpSimple = {
|
||||
name = "SimpleDHCP";
|
||||
nodes.router = router;
|
||||
nodes.client = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.client = clientConfig {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
virtualisation.interfaces.enp2s0.vlan = 2;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
interfaces.enp1s0.useDHCP = true;
|
||||
interfaces.enp2s0.useDHCP = true;
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
client.wait_for_unit("network.target")
|
||||
@ -234,44 +134,31 @@ let
|
||||
|
||||
with subtest("Test vlan 1"):
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.1")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.2")
|
||||
client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
|
||||
client.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2")
|
||||
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.1")
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.2")
|
||||
router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::1")
|
||||
router.wait_until_succeeds("ping -c 1 fd00:1234:5678:1::2")
|
||||
|
||||
with subtest("Test vlan 2"):
|
||||
client.wait_until_succeeds("ping -c 1 192.168.2.1")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.2.2")
|
||||
client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1")
|
||||
client.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2")
|
||||
|
||||
router.wait_until_succeeds("ping -c 1 192.168.2.1")
|
||||
router.wait_until_succeeds("ping -c 1 192.168.2.2")
|
||||
router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::1")
|
||||
router.wait_until_succeeds("ping -c 1 fd00:1234:5678:2::2")
|
||||
'';
|
||||
};
|
||||
dhcpOneIf = {
|
||||
name = "OneInterfaceDHCP";
|
||||
nodes.router = router;
|
||||
nodes.client = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.client = clientConfig {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
virtualisation.interfaces.enp2s0.vlan = 2;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
interfaces.enp1s0 = {
|
||||
mtu = 1343;
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Wait for networking to come up"):
|
||||
@ -286,9 +173,6 @@ let
|
||||
|
||||
with subtest("Test vlan 1"):
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.1")
|
||||
client.wait_until_succeeds("ping -c 1 192.168.1.2")
|
||||
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.1")
|
||||
router.wait_until_succeeds("ping -c 1 192.168.1.2")
|
||||
|
||||
with subtest("Test vlan 2"):
|
||||
@ -300,17 +184,15 @@ let
|
||||
'';
|
||||
};
|
||||
bond = let
|
||||
node = address: { pkgs, ... }: with pkgs.lib; {
|
||||
node = address: clientConfig {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
virtualisation.interfaces.enp2s0.vlan = 2;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
bonds.bond0 = {
|
||||
interfaces = [ "enp1s0" "enp2s0" ];
|
||||
driverOptions.mode = "802.3ad";
|
||||
};
|
||||
interfaces.bond0.ipv4.addresses = mkOverride 0
|
||||
interfaces.bond0.ipv4.addresses = lib.mkOverride 0
|
||||
[ { inherit address; prefixLength = 30; } ];
|
||||
};
|
||||
};
|
||||
@ -318,8 +200,7 @@ let
|
||||
name = "Bond";
|
||||
nodes.client1 = node "192.168.1.1";
|
||||
nodes.client2 = node "192.168.1.2";
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Wait for networking to come up"):
|
||||
@ -339,7 +220,7 @@ let
|
||||
'';
|
||||
};
|
||||
bridge = let
|
||||
node = { address, vlan }: { pkgs, ... }: with pkgs.lib; {
|
||||
node = { address, vlan }: { pkgs, ... }: {
|
||||
virtualisation.interfaces.enp1s0.vlan = vlan;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
@ -351,21 +232,20 @@ let
|
||||
name = "Bridge";
|
||||
nodes.client1 = node { address = "192.168.1.2"; vlan = 1; };
|
||||
nodes.client2 = node { address = "192.168.1.3"; vlan = 2; };
|
||||
nodes.router = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.router = {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
virtualisation.interfaces.enp2s0.vlan = 2;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
bridges.bridge.interfaces = [ "enp1s0" "enp2s0" ];
|
||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
|
||||
interfaces.eth2.ipv4.addresses = mkOverride 0 [ ];
|
||||
interfaces.bridge.ipv4.addresses = mkOverride 0
|
||||
interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ];
|
||||
interfaces.eth2.ipv4.addresses = lib.mkOverride 0 [ ];
|
||||
interfaces.bridge.ipv4.addresses = lib.mkOverride 0
|
||||
[ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Wait for networking to come up"):
|
||||
@ -389,7 +269,7 @@ let
|
||||
macvlan = {
|
||||
name = "MACVLAN";
|
||||
nodes.router = router;
|
||||
nodes.client = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.client = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
networking = {
|
||||
@ -404,8 +284,7 @@ let
|
||||
interfaces.macvlan.useDHCP = true;
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Wait for networking to come up"):
|
||||
@ -439,34 +318,31 @@ let
|
||||
};
|
||||
fou = {
|
||||
name = "foo-over-udp";
|
||||
nodes.machine = { ... }: {
|
||||
nodes.machine = clientConfig {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
interfaces.enp1s0.ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||
fooOverUDP = {
|
||||
fou1 = { port = 9001; };
|
||||
fou2 = { port = 9002; protocol = 41; };
|
||||
fou3 = mkIf (!networkd)
|
||||
fou3 = lib.mkIf (!networkd)
|
||||
{ port = 9003; local.address = "192.168.1.1"; };
|
||||
fou4 = mkIf (!networkd)
|
||||
fou4 = lib.mkIf (!networkd)
|
||||
{ port = 9004; local = { address = "192.168.1.1"; dev = "enp1s0"; }; };
|
||||
};
|
||||
};
|
||||
systemd.services = {
|
||||
fou3-fou-encap.after = optional (!networkd) "network-addresses-enp1s0.service";
|
||||
fou3-fou-encap.after = lib.optional (!networkd) "network-addresses-enp1s0.service";
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
machine.wait_for_unit("network.target")
|
||||
fous = json.loads(machine.succeed("ip -json fou show"))
|
||||
assert {"port": 9001, "gue": None, "family": "inet"} in fous, "fou1 exists"
|
||||
assert {"port": 9002, "ipproto": 41, "family": "inet"} in fous, "fou2 exists"
|
||||
'' + optionalString (!networkd) ''
|
||||
'' + lib.optionalString (!networkd) ''
|
||||
assert {
|
||||
"port": 9003,
|
||||
"gue": None,
|
||||
@ -483,7 +359,7 @@ let
|
||||
'';
|
||||
};
|
||||
sit = let
|
||||
node = { address4, remote, address6 }: { pkgs, ... }: with pkgs.lib; {
|
||||
node = { address4, remote, address6 }: { pkgs, ... }: {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
@ -493,9 +369,9 @@ let
|
||||
local = address4;
|
||||
dev = "enp1s0";
|
||||
};
|
||||
interfaces.enp1s0.ipv4.addresses = mkOverride 0
|
||||
interfaces.enp1s0.ipv4.addresses = lib.mkOverride 0
|
||||
[ { address = address4; prefixLength = 24; } ];
|
||||
interfaces.sit.ipv6.addresses = mkOverride 0
|
||||
interfaces.sit.ipv6.addresses = lib.mkOverride 0
|
||||
[ { address = address6; prefixLength = 64; } ];
|
||||
};
|
||||
};
|
||||
@ -506,7 +382,7 @@ let
|
||||
# client2 does the reverse, sending in proto-41 and accepting only UDP incoming.
|
||||
# that way we'll notice when either SIT itself or FOU breaks.
|
||||
nodes.client1 = args@{ pkgs, ... }:
|
||||
mkMerge [
|
||||
lib.mkMerge [
|
||||
(node { address4 = "192.168.1.1"; remote = "192.168.1.2"; address6 = "fc00::1"; } args)
|
||||
{
|
||||
networking = {
|
||||
@ -516,7 +392,7 @@ let
|
||||
}
|
||||
];
|
||||
nodes.client2 = args@{ pkgs, ... }:
|
||||
mkMerge [
|
||||
lib.mkMerge [
|
||||
(node { address4 = "192.168.1.2"; remote = "192.168.1.1"; address6 = "fc00::2"; } args)
|
||||
{
|
||||
networking = {
|
||||
@ -525,8 +401,7 @@ let
|
||||
};
|
||||
}
|
||||
];
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Wait for networking to be configured"):
|
||||
@ -546,7 +421,7 @@ let
|
||||
'';
|
||||
};
|
||||
gre = let
|
||||
node = { pkgs, ... }: with pkgs.lib; {
|
||||
node = { ... }: {
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
@ -556,7 +431,7 @@ let
|
||||
in {
|
||||
name = "GRE";
|
||||
nodes.client1 = args@{ pkgs, ... }:
|
||||
mkMerge [
|
||||
lib.mkMerge [
|
||||
(node args)
|
||||
{
|
||||
virtualisation.vlans = [ 1 2 4 ];
|
||||
@ -578,21 +453,21 @@ let
|
||||
};
|
||||
};
|
||||
bridges.bridge.interfaces = [ "greTunnel" "eth1" ];
|
||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [];
|
||||
interfaces.bridge.ipv4.addresses = mkOverride 0 [
|
||||
interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [];
|
||||
interfaces.bridge.ipv4.addresses = lib.mkOverride 0 [
|
||||
{ address = "192.168.1.1"; prefixLength = 24; }
|
||||
];
|
||||
interfaces.eth3.ipv6.addresses = [
|
||||
{ address = "fd00:1234:5678:4::1"; prefixLength = 64; }
|
||||
];
|
||||
interfaces.gre6Tunnel.ipv6.addresses = mkOverride 0 [
|
||||
interfaces.gre6Tunnel.ipv6.addresses = lib.mkOverride 0 [
|
||||
{ address = "fc00::1"; prefixLength = 64; }
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
nodes.client2 = args@{ pkgs, ... }:
|
||||
mkMerge [
|
||||
lib.mkMerge [
|
||||
(node args)
|
||||
{
|
||||
virtualisation.vlans = [ 2 3 4 ];
|
||||
@ -614,21 +489,20 @@ let
|
||||
};
|
||||
};
|
||||
bridges.bridge.interfaces = [ "greTunnel" "eth2" ];
|
||||
interfaces.eth2.ipv4.addresses = mkOverride 0 [];
|
||||
interfaces.bridge.ipv4.addresses = mkOverride 0 [
|
||||
interfaces.eth2.ipv4.addresses = lib.mkOverride 0 [];
|
||||
interfaces.bridge.ipv4.addresses = lib.mkOverride 0 [
|
||||
{ address = "192.168.1.2"; prefixLength = 24; }
|
||||
];
|
||||
interfaces.eth3.ipv6.addresses = [
|
||||
{ address = "fd00:1234:5678:4::2"; prefixLength = 64; }
|
||||
];
|
||||
interfaces.gre6Tunnel.ipv6.addresses = mkOverride 0 [
|
||||
interfaces.gre6Tunnel.ipv6.addresses = lib.mkOverride 0 [
|
||||
{ address = "fc00::2"; prefixLength = 64; }
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
import json
|
||||
start_all()
|
||||
|
||||
@ -658,8 +532,7 @@ let
|
||||
'';
|
||||
};
|
||||
vlan = let
|
||||
node = address: { pkgs, ... }: with pkgs.lib; {
|
||||
#virtualisation.vlans = [ 1 ];
|
||||
node = address: {
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
@ -667,9 +540,9 @@ let
|
||||
id = 1;
|
||||
interface = "eth0";
|
||||
};
|
||||
interfaces.eth0.ipv4.addresses = mkOverride 0 [ ];
|
||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
|
||||
interfaces.vlan.ipv4.addresses = mkOverride 0
|
||||
interfaces.eth0.ipv4.addresses = lib.mkOverride 0 [ ];
|
||||
interfaces.eth1.ipv4.addresses = lib.mkOverride 0 [ ];
|
||||
interfaces.vlan.ipv4.addresses = lib.mkOverride 0
|
||||
[ { inherit address; prefixLength = 24; } ];
|
||||
};
|
||||
};
|
||||
@ -677,8 +550,7 @@ let
|
||||
name = "vlan";
|
||||
nodes.client1 = node "192.168.1.1";
|
||||
nodes.client2 = node "192.168.1.2";
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Wait for networking to be configured"):
|
||||
@ -695,14 +567,14 @@ let
|
||||
vlanIP = number: "10.1.1.${number}";
|
||||
baseInterface = "enp1s0";
|
||||
vlanInterface = "vlan42";
|
||||
node = number: {pkgs, ... }: with pkgs.lib; {
|
||||
node = number: {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
networking = {
|
||||
#useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
vlans.${vlanInterface} = { id = 42; interface = baseInterface; };
|
||||
interfaces.${baseInterface}.ipv4.addresses = mkOverride 0 [{ address = baseIP number; prefixLength = 24; }];
|
||||
interfaces.${vlanInterface}.ipv4.addresses = mkOverride 0 [{ address = vlanIP number; prefixLength = 24; }];
|
||||
interfaces.${baseInterface}.ipv4.addresses = lib.mkOverride 0 [{ address = baseIP number; prefixLength = 24; }];
|
||||
interfaces.${vlanInterface}.ipv4.addresses = lib.mkOverride 0 [{ address = vlanIP number; prefixLength = 24; }];
|
||||
};
|
||||
};
|
||||
|
||||
@ -713,8 +585,7 @@ let
|
||||
name = "vlan-ping";
|
||||
nodes.server = node serverNodeNum;
|
||||
nodes.client = node clientNodeNum;
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
with subtest("Wait for networking to be configured"):
|
||||
@ -778,7 +649,7 @@ let
|
||||
machine.wait_until_succeeds("ip link show dev tun0 | grep 'mtu 1343'")
|
||||
assert "02:de:ad:be:ef:01" in machine.succeed("ip link show dev tap0")
|
||||
'' # network-addresses-* only exist in scripted networking
|
||||
+ optionalString (!networkd) ''
|
||||
+ lib.optionalString (!networkd) ''
|
||||
with subtest("Test interfaces clean up"):
|
||||
machine.succeed("systemctl stop network-addresses-tap0")
|
||||
machine.sleep(10)
|
||||
@ -792,13 +663,13 @@ let
|
||||
};
|
||||
privacy = {
|
||||
name = "Privacy";
|
||||
nodes.router = { ... }: {
|
||||
nodes.router = {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
interfaces.enp1s0.ipv6.addresses = singleton {
|
||||
interfaces.enp1s0.ipv6.addresses = lib.singleton {
|
||||
address = "fd00:1234:5678:1::1";
|
||||
prefixLength = 64;
|
||||
};
|
||||
@ -819,34 +690,33 @@ let
|
||||
'';
|
||||
};
|
||||
};
|
||||
nodes.client_with_privacy = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.client_with_privacy = {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
interfaces.enp1s0 = {
|
||||
tempAddress = "default";
|
||||
ipv4.addresses = mkOverride 0 [ ];
|
||||
ipv6.addresses = mkOverride 0 [ ];
|
||||
ipv4.addresses = lib.mkOverride 0 [ ];
|
||||
ipv6.addresses = lib.mkOverride 0 [ ];
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
nodes.client = { pkgs, ... }: with pkgs.lib; {
|
||||
nodes.client = {
|
||||
virtualisation.interfaces.enp1s0.vlan = 1;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
interfaces.enp1s0 = {
|
||||
tempAddress = "enabled";
|
||||
ipv4.addresses = mkOverride 0 [ ];
|
||||
ipv6.addresses = mkOverride 0 [ ];
|
||||
ipv4.addresses = lib.mkOverride 0 [ ];
|
||||
ipv6.addresses = lib.mkOverride 0 [ ];
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
''
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
client.wait_for_unit("network.target")
|
||||
@ -943,7 +813,7 @@ let
|
||||
ipv6Table, targetIPv6Table
|
||||
)
|
||||
|
||||
'' + optionalString (!networkd) ''
|
||||
'' + lib.optionalString (!networkd) ''
|
||||
with subtest("test clean-up of the tables"):
|
||||
machine.succeed("systemctl stop network-addresses-eth0")
|
||||
ipv4Residue = machine.succeed("ip -4 route list dev eth0 | head -n-3").strip()
|
||||
@ -958,7 +828,7 @@ let
|
||||
};
|
||||
rename = if networkd then {
|
||||
name = "RenameInterface";
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
nodes.machine = {
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
@ -982,7 +852,7 @@ let
|
||||
# (as it's handled by udev, not networkd)
|
||||
link = {
|
||||
name = "Link";
|
||||
nodes.client = { pkgs, ... }: {
|
||||
nodes.client = {
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
@ -1007,7 +877,7 @@ let
|
||||
testMac = "06:00:00:00:02:00";
|
||||
in {
|
||||
name = "WlanInterface";
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
nodes.machine = {
|
||||
boot.kernelModules = [ "mac80211_hwsim" ];
|
||||
networking.wlanInterfaces = {
|
||||
wlan0 = { device = "wlan0"; };
|
||||
@ -1033,10 +903,10 @@ let
|
||||
];
|
||||
in {
|
||||
name = "naughtyInterfaceNames";
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
nodes.machine = {
|
||||
networking.useNetworkd = networkd;
|
||||
networking.bridges = listToAttrs
|
||||
(flip map ifnames
|
||||
networking.bridges = lib.listToAttrs
|
||||
(lib.flip builtins.map ifnames
|
||||
(name: { inherit name; value.interfaces = []; }));
|
||||
};
|
||||
testScript = ''
|
||||
@ -1048,7 +918,7 @@ let
|
||||
};
|
||||
caseSensitiveRenaming = {
|
||||
name = "CaseSensitiveRenaming";
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
nodes.machine = {
|
||||
virtualisation.interfaces.enCustom.vlan = 11;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
@ -1063,6 +933,6 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
in mapAttrs (const (attrs: makeTest (attrs // {
|
||||
in lib.mapAttrs (lib.const (attrs: makeTest (attrs // {
|
||||
name = "${attrs.name}-Networking-${if networkd then "Networkd" else "Scripted"}";
|
||||
}))) testCases
|
82
nixos/tests/networking/router.nix
Normal file
82
nixos/tests/networking/router.nix
Normal file
@ -0,0 +1,82 @@
|
||||
{ networkd }: { config, pkgs, ... }:
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
qemu-common = import ../../lib/qemu-common.nix { inherit lib pkgs; };
|
||||
vlanIfs = lib.range 1 (lib.length config.virtualisation.vlans);
|
||||
in {
|
||||
environment.systemPackages = [ pkgs.iptables ]; # to debug firewall rules
|
||||
virtualisation.vlans = [ 1 2 3 ];
|
||||
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
|
||||
networking = {
|
||||
useDHCP = false;
|
||||
useNetworkd = networkd;
|
||||
firewall.checkReversePath = true;
|
||||
firewall.allowedUDPPorts = [ 547 ];
|
||||
interfaces = lib.mkOverride 0 (lib.listToAttrs (lib.forEach vlanIfs (n:
|
||||
lib.nameValuePair "eth${toString n}" {
|
||||
ipv4.addresses = [ { address = "192.168.${toString n}.1"; prefixLength = 24; } ];
|
||||
ipv6.addresses = [ { address = "fd00:1234:5678:${toString n}::1"; prefixLength = 64; } ];
|
||||
})));
|
||||
};
|
||||
services.kea = {
|
||||
dhcp4 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
interfaces-config = {
|
||||
interfaces = map (n: "eth${toString n}") vlanIfs;
|
||||
dhcp-socket-type = "raw";
|
||||
service-sockets-require-all = true;
|
||||
service-sockets-max-retries = 5;
|
||||
service-sockets-retry-wait-time = 2500;
|
||||
};
|
||||
subnet4 = map (n: {
|
||||
id = n;
|
||||
subnet = "192.168.${toString n}.0/24";
|
||||
pools = [{ pool = "192.168.${toString n}.3 - 192.168.${toString n}.254"; }];
|
||||
option-data = [
|
||||
{ data = "192.168.${toString n}.1"; name = "routers"; }
|
||||
{ data = "192.168.${toString n}.1"; name = "domain-name-servers"; }
|
||||
];
|
||||
|
||||
reservations = [{
|
||||
hw-address = qemu-common.qemuNicMac n 1;
|
||||
hostname = "client${toString n}";
|
||||
ip-address = "192.168.${toString n}.2";
|
||||
}];
|
||||
}) vlanIfs;
|
||||
};
|
||||
};
|
||||
dhcp6 = {
|
||||
enable = true;
|
||||
settings = {
|
||||
interfaces-config = {
|
||||
interfaces = map (n: "eth${toString n}") vlanIfs;
|
||||
service-sockets-require-all = true;
|
||||
service-sockets-max-retries = 5;
|
||||
service-sockets-retry-wait-time = 2500;
|
||||
};
|
||||
|
||||
subnet6 = map (n: {
|
||||
id = n;
|
||||
subnet = "fd00:1234:5678:${toString n}::/64";
|
||||
interface = "eth${toString n}";
|
||||
pools = [{ pool = "fd00:1234:5678:${toString n}::2-fd00:1234:5678:${toString n}::2"; }];
|
||||
}) vlanIfs;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.radvd = {
|
||||
enable = true;
|
||||
config = lib.flip lib.concatMapStrings vlanIfs (n: ''
|
||||
interface eth${toString n} {
|
||||
AdvSendAdvert on;
|
||||
AdvManagedFlag on;
|
||||
AdvOtherConfigFlag on;
|
||||
|
||||
prefix fd00:1234:5678:${toString n}::/64 {
|
||||
AdvAutonomous off;
|
||||
};
|
||||
};
|
||||
'');
|
||||
};
|
||||
}
|
@ -2,12 +2,12 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mopidy-jellyfin";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Jellyfin";
|
||||
sha256 = "ny0u6HdOlZCsmIzZuQ1rql+bvHU3xkh8IdwhJVHNH9c=";
|
||||
sha256 = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mopidy python3Packages.unidecode python3Packages.websocket-client ];
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "pyradio";
|
||||
version = "0.9.3.1";
|
||||
version = "0.9.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coderholic";
|
||||
repo = "pyradio";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-p3F4uN+hkxGp+216abUkFNM5uF/0e0sQHKk5WIpULso=";
|
||||
hash = "sha256-aIWU68bdPUsIh8QRNnF0NcK7FemmYyUHbJg9KcUALBk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vgmstream";
|
||||
version = "1896";
|
||||
version = "1917";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vgmstream";
|
||||
repo = "vgmstream";
|
||||
rev = "refs/tags/r${version}";
|
||||
sha256 = "sha256-1BWJgV631MxxzdUtK8f+XRb9cqfhjlwN2LgWI0VmIHE=";
|
||||
sha256 = "sha256-9HIa5/whdLouUWNFml7tPfXStIkO76dxUl5S4yiat64=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
|
@ -38,11 +38,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bisq-desktop";
|
||||
version = "1.9.14";
|
||||
version = "1.9.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bisq-network/bisq/releases/download/v${version}/Bisq-64bit-${version}.deb";
|
||||
sha256 = "0xbq94qbp59523xjp80bly38aisfwkfi0y9hmyhf8xlw084b82kz";
|
||||
sha256 = "0bz4yzfrzn9rwsmwwnsqdgxsqd42dyiz3vxi53qxj36h49nh8lzg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -20,13 +20,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gridcoin-research";
|
||||
version = "5.4.7.0";
|
||||
version = "5.4.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gridcoin-community";
|
||||
repo = "Gridcoin-Research";
|
||||
rev = "${version}";
|
||||
sha256 = "sha256-wdXah7QnWohGAtC98exPSkhg5F3BaBOiFs6bklFxD7E=";
|
||||
sha256 = "sha256-HZirzXkqM2aep+wq8k2UCFWHPtN0sBZXjamgt7RYPBo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "heimer";
|
||||
version = "4.3.0";
|
||||
version = "4.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "juzzlin";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-VIlNahpSRQNpfOKXnI/GQANuhZ+vnoXsudwHmRbHIjs=";
|
||||
hash = "sha256-47bQmT2bHcbWpeosuF/vpSJcws4SqTmalY/XFEf7cxQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -108,13 +108,13 @@ in {
|
||||
|
||||
application = mkSweetHome3D rec {
|
||||
pname = lib.toLower module + "-application";
|
||||
version = "7.2";
|
||||
version = "7.3";
|
||||
module = "SweetHome3D";
|
||||
description = "Design and visualize your future home";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
src = fetchzip {
|
||||
url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
|
||||
hash = "sha256-RVuwxL/YATqHoQuc25ZaYgZ+o2rMOqnzU8/LLxb5Ra4=";
|
||||
hash = "sha256-adMQzQE+xAZpMJyQFm01A+AfvcB5YHsJvk+533BUf1Q=";
|
||||
};
|
||||
desktopName = "Sweet Home 3D";
|
||||
icons = {
|
||||
|
@ -1,21 +1,24 @@
|
||||
# Expression generated by update.sh; do not edit it by hand!
|
||||
{ stdenv, callPackage }:
|
||||
{ stdenv, callPackage, ... }@args:
|
||||
|
||||
if stdenv.isAarch64 then
|
||||
callPackage ./make-brave.nix { } {
|
||||
pname = "brave";
|
||||
version = "1.64.116";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v1.64.116/brave-browser_1.64.116_arm64.deb";
|
||||
hash = "sha256-XC3GnutiTYdCOJPegj8MRYC5dRrBoKBg4k50ZFrlj4E=";
|
||||
platform = "aarch64-linux";
|
||||
}
|
||||
else if stdenv.isx86_64 then
|
||||
callPackage ./make-brave.nix { } {
|
||||
pname = "brave";
|
||||
version = "1.64.116";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v1.64.116/brave-browser_1.64.116_amd64.deb";
|
||||
hash = "sha256-mnvFPfZu44TZGdUb+AxaJbecQrXkIzJkYvB4GO55uv0=";
|
||||
platform = "x86_64-linux";
|
||||
}
|
||||
else
|
||||
throw "Unsupported platform."
|
||||
callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
|
||||
(
|
||||
if stdenv.isAarch64 then
|
||||
{
|
||||
pname = "brave";
|
||||
version = "1.64.122";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v1.64.122/brave-browser_1.64.122_arm64.deb";
|
||||
hash = "sha256-PBYiCTy/QaPfxvWAzUnXLEzBELISNSKX0kG/mYTDDEA=";
|
||||
platform = "aarch64-linux";
|
||||
}
|
||||
else if stdenv.isx86_64 then
|
||||
{
|
||||
pname = "brave";
|
||||
version = "1.64.122";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v1.64.122/brave-browser_1.64.122_amd64.deb";
|
||||
hash = "sha256-9tSoOn9XGbX/b8n9vD9Hmpi26jzmUVJomoCFdSJoaoU=";
|
||||
platform = "x86_64-linux";
|
||||
}
|
||||
else
|
||||
throw "Unsupported platform."
|
||||
)
|
||||
|
@ -19,24 +19,27 @@ hashAmd64="$(nix hash to-sri --type sha256 \
|
||||
|
||||
cat > $SCRIPT_DIR/default.nix << EOF
|
||||
# Expression generated by update.sh; do not edit it by hand!
|
||||
{ stdenv, callPackage }:
|
||||
{ stdenv, callPackage, ... }@args:
|
||||
|
||||
if stdenv.isAarch64 then
|
||||
callPackage ./make-brave.nix { } {
|
||||
pname = "brave";
|
||||
version = "${latestVersionAarch64}";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${latestVersionAarch64}/brave-browser_${latestVersionAarch64}_arm64.deb";
|
||||
hash = "${hashAarch64}";
|
||||
platform = "aarch64-linux";
|
||||
}
|
||||
else if stdenv.isx86_64 then
|
||||
callPackage ./make-brave.nix { } {
|
||||
pname = "brave";
|
||||
version = "${latestVersionAmd64}";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${latestVersionAmd64}/brave-browser_${latestVersionAmd64}_amd64.deb";
|
||||
hash = "${hashAmd64}";
|
||||
platform = "x86_64-linux";
|
||||
}
|
||||
else
|
||||
throw "Unsupported platform."
|
||||
callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ])
|
||||
(
|
||||
if stdenv.isAarch64 then
|
||||
{
|
||||
pname = "brave";
|
||||
version = "${latestVersionAarch64}";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${latestVersionAarch64}/brave-browser_${latestVersionAmd64}_arm64.deb";
|
||||
hash = "${hashAarch64}";
|
||||
platform = "aarch64-linux";
|
||||
}
|
||||
else if stdenv.isx86_64 then
|
||||
{
|
||||
pname = "brave";
|
||||
version = "${latestVersionAmd64}";
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${latestVersionAmd64}/brave-browser_${latestVersionAmd64}_amd64.deb";
|
||||
hash = "${hashAmd64}";
|
||||
platform = "x86_64-linux";
|
||||
}
|
||||
else
|
||||
throw "Unsupported platform."
|
||||
)
|
||||
EOF
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20240406";
|
||||
version = "20240412-2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-Yc6QlEtN73zy3onckxC80QOmSrW5MPn4+rnWE7WEPug=";
|
||||
hash = "sha256-e+QA8pqMz/XH+JpKErGYWKwsxHoFPTsFrSremfOaVbg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -20,18 +20,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "teams-for-linux";
|
||||
version = "1.4.17";
|
||||
version = "1.4.22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IsmaelMartinez";
|
||||
repo = "teams-for-linux";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-fpz3JzJ6RaSajCwc44Uavln572mT5ixLnIK8FFoKWMg=";
|
||||
hash = "sha256-eNd12p9QvuYpiy9FaGaMSfQ3qVYzmYyO2/v/rdV3nN8=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||
hash = "sha256-/8Jxly02EZxp5JZ3mVlv01aWX53V9eSy0pvVMfpb9I0=";
|
||||
hash = "sha256-jBwyIyiWeqNmOnxmVOr7c4oMWwHElEjM25sShhTMi78=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ yarn prefetch-yarn-deps nodejs copyDesktopItems makeWrapper ];
|
||||
|
@ -11,7 +11,7 @@
|
||||
, configText ? ""
|
||||
}:
|
||||
let
|
||||
version = "2312";
|
||||
version = "2312.1";
|
||||
|
||||
sysArch =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
|
||||
@ -36,8 +36,8 @@ let
|
||||
pname = "vmware-horizon-files";
|
||||
inherit version;
|
||||
src = fetchurl {
|
||||
url = "https://download3.vmware.com/software/CART24FQ4_LIN_2312_TARBALL/VMware-Horizon-Client-Linux-2312-8.12.0-23149323.tar.gz";
|
||||
sha256 = "15ca1d6028b9ca88e23fa363a2942fd76456c19e95ced4734595c3dc44db38d8";
|
||||
url = "https://download3.vmware.com/software/CART25FQ1_LIN_2312.1_TARBALL/VMware-Horizon-Client-Linux-2312.1-8.12.1-23543969.tar.gz";
|
||||
sha256 = "23d18be2955ba60ab3cca941a529fa3b804af97ebf1602d246ca6147cced8135";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
installPhase = ''
|
||||
|
@ -129,7 +129,7 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "mujoco";
|
||||
version = "3.1.3";
|
||||
version = "3.1.4";
|
||||
|
||||
# Bumping version? Make sure to look though the MuJoCo's commit
|
||||
# history for bumped dependency pins!
|
||||
@ -137,7 +137,7 @@ in stdenv.mkDerivation rec {
|
||||
owner = "google-deepmind";
|
||||
repo = "mujoco";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-22yH3zAD479TRNS3XSqy6PuuLqyWmjvwScUTVfKumzY=";
|
||||
hash = "sha256-VgD6ditMDpHki7l23Gjip2roA8Oi4MGpxl+4gSLTEFs=";
|
||||
};
|
||||
|
||||
patches = [ ./mujoco-system-deps-dont-fetch.patch ];
|
||||
|
@ -67,6 +67,7 @@ let
|
||||
chapterskip = callPackage ./chapterskip.nix { };
|
||||
convert = callPackage ./convert.nix { };
|
||||
cutter = callPackage ./cutter.nix { };
|
||||
dynamic-crop = callPackage ./dynamic-crop.nix { };
|
||||
inhibit-gnome = callPackage ./inhibit-gnome.nix { };
|
||||
modernx = callPackage ./modernx.nix { };
|
||||
modernx-zydezu = callPackage ./modernx-zydezu.nix { };
|
||||
|
26
pkgs/applications/video/mpv/scripts/dynamic-crop.nix
Normal file
26
pkgs/applications/video/mpv/scripts/dynamic-crop.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, unstableGitUpdater
|
||||
, buildLua
|
||||
}:
|
||||
buildLua {
|
||||
pname = "dynamic-crop";
|
||||
|
||||
version = "0-unstable-2023-12-22";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Ashyni";
|
||||
repo = "mpv-scripts";
|
||||
rev = "c79a46ba03631eb2a9b4f598aab0b723f03fc531";
|
||||
hash = "sha256-W4Dj2tyJHeHLqAndrzllKs4iwMe3Tu8rfzEGBHuke6s=";
|
||||
};
|
||||
passthru.scriptName = "dynamic-crop.lua";
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
description = ''Script to "cropping" dynamically, hard-coded black bars detected with lavfi-cropdetect filter for Ultra Wide Screen or any screen (Smartphone/Tablet).'';
|
||||
homepage = "https://github.com/Ashyni/mpv-scripts";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.iynaix ];
|
||||
};
|
||||
}
|
@ -294,9 +294,23 @@ rec {
|
||||
};
|
||||
|
||||
docker_25 = callPackage dockerGen rec {
|
||||
version = "25.0.3";
|
||||
version = "25.0.5";
|
||||
cliRev = "v${version}";
|
||||
cliHash = "sha256-Jvb0plV1O/UzrcpzN4zH5OulmTVF+p9UQQQ9xqkiObQ=";
|
||||
cliHash = "sha256-CACMi3bXUN6oGc2f/Z+lNQqMgQ4llRWPRKgijdpiPGg=";
|
||||
mobyRev = "v${version}";
|
||||
mobyHash = "sha256-4QGz22fXxyAD77pyUWb2lF3VKqxmPIrGqcJGoyrEHew=";
|
||||
runcRev = "v1.1.12";
|
||||
runcHash = "sha256-N77CU5XiGYIdwQNPFyluXjseTeaYuNJ//OsEUS0g/v0=";
|
||||
containerdRev = "v1.7.13";
|
||||
containerdHash = "sha256-y3CYDZbA2QjIn1vyq/p1F1pAVxQHi/0a6hGWZCRWzyk=";
|
||||
tiniRev = "v0.19.0";
|
||||
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
|
||||
};
|
||||
|
||||
docker_26 = callPackage dockerGen rec {
|
||||
version = "26.0.0";
|
||||
cliRev = "v${version}";
|
||||
cliHash = "sha256-jGg/AVnIzI8e+DdF0uKlSZApRxcwuOjCQpfnBaCY4fI=";
|
||||
mobyRev = "v${version}";
|
||||
mobyHash = "sha256-cDlRVdQNzH/X2SJUYHK1QLUHlKQtSyRYCVbz3wPx1ZM=";
|
||||
runcRev = "v1.1.12";
|
||||
@ -306,4 +320,5 @@ rec {
|
||||
tiniRev = "v0.19.0";
|
||||
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,57 @@
|
||||
From: Geoffrey McRae <geoff@hostfission.com>
|
||||
Date: Wed, 13 Mar 2024 11:17:25 +1100
|
||||
Subject: [PATCH] [client] cmake: move X11 config directives to
|
||||
`displayservers`
|
||||
|
||||
---
|
||||
client/CMakeLists.txt | 7 -------
|
||||
client/displayservers/CMakeLists.txt | 7 +++++++
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git client/CMakeLists.txt client/CMakeLists.txt
|
||||
index 3755adcf..eeeb3eb0 100644
|
||||
--- client/CMakeLists.txt
|
||||
+++ client/CMakeLists.txt
|
||||
@@ -42,19 +42,12 @@ add_feature_info(ENABLE_ASAN ENABLE_ASAN "AddressSanitizer support.")
|
||||
option(ENABLE_UBSAN "Build with UndefinedBehaviorSanitizer" OFF)
|
||||
add_feature_info(ENABLE_UBSAN ENABLE_UBSAN "UndefinedBehaviorSanitizer support.")
|
||||
|
||||
-option(ENABLE_X11 "Build with X11 support" ON)
|
||||
-add_feature_info(ENABLE_X11 ENABLE_X11 "X11 support.")
|
||||
-
|
||||
option(ENABLE_PIPEWIRE "Build with PipeWire audio output support" ON)
|
||||
add_feature_info(ENABLE_PIPEWIRE ENABLE_PIPEWIRE "PipeWire audio support.")
|
||||
|
||||
option(ENABLE_PULSEAUDIO "Build with PulseAudio audio output support" ON)
|
||||
add_feature_info(ENABLE_PULSEAUDIO ENABLE_PULSEAUDIO "PulseAudio audio support.")
|
||||
|
||||
-if (NOT ENABLE_X11 AND NOT ENABLE_WAYLAND)
|
||||
- message(FATAL_ERROR "Either ENABLE_X11 or ENABLE_WAYLAND must be on")
|
||||
-endif()
|
||||
-
|
||||
add_compile_options(
|
||||
"-Wall"
|
||||
"-Wextra"
|
||||
diff --git client/displayservers/CMakeLists.txt client/displayservers/CMakeLists.txt
|
||||
index 5b5f827a..e7c4b25a 100644
|
||||
--- client/displayservers/CMakeLists.txt
|
||||
+++ client/displayservers/CMakeLists.txt
|
||||
@@ -18,9 +18,16 @@ function(add_displayserver name)
|
||||
add_subdirectory(${name})
|
||||
endfunction()
|
||||
|
||||
+option(ENABLE_X11 "Build with X11 support" ON)
|
||||
+add_feature_info(ENABLE_X11 ENABLE_X11 "X11 support.")
|
||||
+
|
||||
option(ENABLE_WAYLAND "Build with Wayland support" ON)
|
||||
add_feature_info(ENABLE_WAYLAND ENABLE_WAYLAND "Wayland support.")
|
||||
|
||||
+if (NOT ENABLE_X11 AND NOT ENABLE_WAYLAND)
|
||||
+ message(FATAL_ERROR "Either ENABLE_X11 or ENABLE_WAYLAND must be on")
|
||||
+endif()
|
||||
+
|
||||
# Add/remove displayservers here!
|
||||
if (ENABLE_WAYLAND)
|
||||
add_displayserver(Wayland)
|
||||
--
|
||||
2.43.1
|
@ -22,6 +22,7 @@
|
||||
, libXinerama
|
||||
, libXcursor
|
||||
, libXpresent
|
||||
, libXdmcp
|
||||
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
@ -30,6 +31,7 @@
|
||||
, pulseaudio
|
||||
, libsamplerate
|
||||
|
||||
, openGLSupport ? true
|
||||
, xorgSupport ? true
|
||||
, waylandSupport ? true
|
||||
, pipewireSupport ? true
|
||||
@ -43,35 +45,39 @@ let
|
||||
type = "Application";
|
||||
exec = "looking-glass-client";
|
||||
icon = "lg-logo";
|
||||
terminal = true;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "looking-glass-client";
|
||||
version = "B6";
|
||||
version = "B7-rc1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnif";
|
||||
repo = "LookingGlass";
|
||||
rev = version;
|
||||
sha256 = "sha256-6vYbNmNJBCoU23nVculac24tHqH7F4AZVftIjL93WJU=";
|
||||
sha256 = "sha256-ne1Q+67+P8RHcTsqdiSSwkFf0g3pSNT91WN/lsSzssU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix failing cmake assertion when disabling X11 whithout explicitly enabling Wayland.
|
||||
./0001-client-cmake-move-X11-config-directives-to-displayse.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [ libGL libX11 freefont_ttf spice-protocol expat libbfd nettle fontconfig libffi ]
|
||||
++ lib.optionals xorgSupport [ libxkbcommon libXi libXScrnSaver libXinerama libXcursor libXpresent libXext libXrandr ]
|
||||
buildInputs = [ libX11 libGL freefont_ttf spice-protocol expat libbfd nettle fontconfig libffi ]
|
||||
++ lib.optionals xorgSupport [ libxkbcommon libXi libXScrnSaver libXinerama libXcursor libXpresent libXext libXrandr libXdmcp ]
|
||||
++ lib.optionals waylandSupport [ libxkbcommon wayland wayland-protocols ]
|
||||
++ lib.optionals pipewireSupport [ pipewire libsamplerate ]
|
||||
++ lib.optionals pulseSupport [ pulseaudio libsamplerate ];
|
||||
|
||||
cmakeFlags = [ "-DOPTIMIZE_FOR_NATIVE=OFF" ]
|
||||
++ lib.optional (!xorgSupport) "-DENABLE_X11=no"
|
||||
++ lib.optional (!waylandSupport) "-DENABLE_WAYLAND=no"
|
||||
++ lib.optional (!pulseSupport) "-DENABLE_PULSEAUDIO=no"
|
||||
++ lib.optional (!pipewireSupport) "-DENABLE_PIPEWIRE=no";
|
||||
|
||||
++ lib.optionals (!openGLSupport) [ "-DENABLE_OPENGL=no" ]
|
||||
++ lib.optionals (!xorgSupport) [ "-DENABLE_X11=no" ]
|
||||
++ lib.optionals (!waylandSupport) [ "-DENABLE_WAYLAND=no" ]
|
||||
++ lib.optionals (!pulseSupport) [ "-DENABLE_PULSEAUDIO=no" ]
|
||||
++ lib.optionals (!pipewireSupport) [ "-DENABLE_PIPEWIRE=no" ];
|
||||
|
||||
postUnpack = ''
|
||||
echo ${src.rev} > source/VERSION
|
||||
|
@ -20,12 +20,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "phosh-mobile-settings";
|
||||
version = "0.37.0";
|
||||
version = "0.38.0";
|
||||
|
||||
src = fetchurl {
|
||||
# This tarball includes the meson wrapped subproject 'gmobile'.
|
||||
url = "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-HW3wM/lb8pvr+eDoeqa0iHXiKhBQ8ybBIy0wwHPsrOg=";
|
||||
hash = "sha256-WDqgVsJx5y6IlWII9fRBsAeWn/tB8BaXRtlPvA0wmMk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -16,7 +16,6 @@
|
||||
, npm-lockfile-fix
|
||||
, overrideSDK
|
||||
, darwin
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
let
|
||||
@ -25,26 +24,18 @@ let
|
||||
buildNpmPackage.override {
|
||||
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
|
||||
};
|
||||
# update package-lock to fix build errors. this will be resolved in the
|
||||
# next patch version of Bruno at which point the patch can be removed entirely.
|
||||
# upstream PR: https://github.com/usebruno/bruno/pull/1894
|
||||
brunoLockfilePatch_1_12_2 = fetchpatch {
|
||||
url = "https://github.com/usebruno/bruno/pull/1894/commits/e3bab23446623315ee674283285a86e210778fe7.patch";
|
||||
hash = "sha256-8rYBvgu9ZLXjb9AFyk4yMBVjcyFPmlNi66YEaQGQaKw=";
|
||||
};
|
||||
in
|
||||
buildNpmPackage' rec {
|
||||
pname = "bruno";
|
||||
version = "1.12.2";
|
||||
version = "1.12.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "usebruno";
|
||||
repo = "bruno";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-C/WeEloUGF0PEfeanm6lHe/MgpcF+g/ZY2tnqXFl9LA=";
|
||||
hash = "sha256-ubvsTJ/MSEguVeJg91LvgARWte+p5MHdqhXIVqbyPhQ=";
|
||||
|
||||
postFetch = ''
|
||||
patch -d $out <${brunoLockfilePatch_1_12_2}
|
||||
${lib.getExe npm-lockfile-fix} $out/package-lock.json
|
||||
'';
|
||||
};
|
||||
|
24
pkgs/by-name/ca/cargo-shear/package.nix
Normal file
24
pkgs/by-name/ca/cargo-shear/package.nix
Normal file
@ -0,0 +1,24 @@
|
||||
{ fetchFromGitHub, lib, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-shear";
|
||||
version = "0.0.24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Boshen";
|
||||
repo = "cargo-shear";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-7eBFDmeFOXqZhNE4RDlIq991xEoCGL6XLMmUQuLJvrE=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-DQjLW6NtUPERT82zIlrGRk3FffU/EfLBMgAeFfFdDxE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Detect and remove unused dependencies from Cargo.toml";
|
||||
mainProgram = "cargo-shear";
|
||||
homepage = "https://github.com/Boshen/cargo-shear";
|
||||
changelog = "https://github.com/Boshen/cargo-shear/blob/${src.rev}/CHANGELOG.md";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ uncenter ];
|
||||
};
|
||||
}
|
@ -7,16 +7,16 @@
|
||||
}:
|
||||
|
||||
let
|
||||
openShiftVersion = "4.14.12";
|
||||
okdVersion = "4.14.0-0.okd-scos-2024-01-10-151818";
|
||||
microshiftVersion = "4.14.12";
|
||||
openShiftVersion = "4.15.3";
|
||||
okdVersion = "4.15.0-0.okd-2024-02-23-163410";
|
||||
microshiftVersion = "4.15.3";
|
||||
podmanVersion = "4.4.4";
|
||||
writeKey = "$(MODULEPATH)/pkg/crc/segment.WriteKey=cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp";
|
||||
gitCommit = "c43b172866bc039a2a23d6c88aeb398635dc16ef";
|
||||
gitHash = "sha256-DVsXxgywPrrdxfmXh3JR8YpFkv1/Y2LvDZ9/2nVbclc=";
|
||||
gitCommit = "b470b5f68269c93abee8d7139cbd3e3fe3419f93";
|
||||
gitHash = "sha256-80B6eGPnAAeUdKzk9/8VDHjv9tUh85rZSki9PSzqVvg=";
|
||||
in
|
||||
buildGoModule rec {
|
||||
version = "2.33.0";
|
||||
version = "2.34.1";
|
||||
pname = "crc";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
70
pkgs/by-name/de/devcontainer/package.nix
Normal file
70
pkgs/by-name/de/devcontainer/package.nix
Normal file
@ -0,0 +1,70 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchYarnDeps
|
||||
, fetchFromGitHub
|
||||
, prefetch-yarn-deps
|
||||
, nodejs
|
||||
, python3
|
||||
, makeWrapper
|
||||
, git
|
||||
, docker
|
||||
, yarn
|
||||
, docker-compose
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "devcontainer";
|
||||
version = "0.58.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "devcontainers";
|
||||
repo = "cli";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-pnhyyTJMSlTdMsSFzbmZ6SkGdbfr9qCIkrBxxSM42UE=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||
hash = "sha256-Wy0UP8QaQzZ1par7W5UhnRLc5DF2PAif0JIZJtRokBk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ yarn prefetch-yarn-deps python3 makeWrapper ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror ${finalAttrs.yarnOfflineCache}
|
||||
|
||||
# Without this, yarn will try to download the dependencies
|
||||
fixup-yarn-lock yarn.lock
|
||||
|
||||
# set nodedir to prevent node-gyp from downloading headers
|
||||
export npm_config_nodedir=${nodejs}
|
||||
|
||||
yarn --offline --frozen-lockfile
|
||||
yarn --offline --frozen-lockfile compile-prod
|
||||
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/libexec
|
||||
cp -r dist $out/libexec
|
||||
cp devcontainer.js $out/libexec/devcontainer.js
|
||||
cp -r node_modules $out/libexec/node_modules
|
||||
cp -r $src/scripts $out/libexec/scripts
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
makeWrapper "${nodejs}/bin/node" "$out/bin/devcontainer" \
|
||||
--add-flags "$out/libexec/devcontainer.js" \
|
||||
--prefix PATH : ${lib.makeBinPath [ git docker docker-compose ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Dev container CLI, run and manage your dev environments via a devcontainer.json";
|
||||
homepage = "https://containers.dev/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ rucadi ];
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "devcontainer";
|
||||
};
|
||||
})
|
@ -1,6 +1,6 @@
|
||||
{ version
|
||||
, dmdSha256
|
||||
, phobosSha256
|
||||
, dmdHash
|
||||
, phobosHash
|
||||
}:
|
||||
|
||||
{ stdenv
|
||||
@ -22,7 +22,7 @@
|
||||
, git
|
||||
, unzip
|
||||
, dmdBootstrap ? callPackage ./bootstrap.nix { }
|
||||
, dmd_bin ? "${dmdBootstrap}/bin"
|
||||
, dmdBin ? "${dmdBootstrap}/bin"
|
||||
}:
|
||||
|
||||
let
|
||||
@ -45,7 +45,7 @@ let
|
||||
pathToDmd = "\${NIX_BUILD_TOP}/dmd/generated/${osname}/release/${bits}/dmd";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dmd";
|
||||
inherit version;
|
||||
|
||||
@ -55,15 +55,15 @@ stdenv.mkDerivation rec {
|
||||
(fetchFromGitHub {
|
||||
owner = "dlang";
|
||||
repo = "dmd";
|
||||
rev = "v${version}";
|
||||
sha256 = dmdSha256;
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = dmdHash;
|
||||
name = "dmd";
|
||||
})
|
||||
(fetchFromGitHub {
|
||||
owner = "dlang";
|
||||
repo = "phobos";
|
||||
rev = "v${version}";
|
||||
sha256 = phobosSha256;
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = phobosHash;
|
||||
name = "phobos";
|
||||
})
|
||||
];
|
||||
@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
|
||||
url = "https://github.com/dlang/dmd/commit/c4d33e5eb46c123761ac501e8c52f33850483a8a.patch";
|
||||
stripLen = 1;
|
||||
extraPrefix = "dmd/";
|
||||
sha256 = "sha256-N21mAPfaTo+zGCip4njejasraV5IsWVqlGR5eOdFZZE=";
|
||||
hash = "sha256-N21mAPfaTo+zGCip4njejasraV5IsWVqlGR5eOdFZZE=";
|
||||
})
|
||||
];
|
||||
|
||||
@ -102,18 +102,14 @@ stdenv.mkDerivation rec {
|
||||
# https://issues.dlang.org/show_bug.cgi?id=23317
|
||||
rm dmd/compiler/test/runnable/cdvecfill.sh
|
||||
rm dmd/compiler/test/compilable/cdcmp.d
|
||||
''
|
||||
|
||||
+ lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") ''
|
||||
'' + lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") ''
|
||||
rm dmd/compiler/test/dshell/test6952.d
|
||||
'' + lib.optionalString (lib.versionAtLeast version "2.092.2") ''
|
||||
substituteInPlace dmd/compiler/test/dshell/test6952.d --replace "/usr/bin/env bash" "${bash}/bin/bash"
|
||||
''
|
||||
|
||||
+ lib.optionalString stdenv.isLinux ''
|
||||
substituteInPlace phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
|
||||
substituteInPlace dmd/compiler/test/dshell/test6952.d --replace-fail "/usr/bin/env bash" "${bash}/bin/bash"
|
||||
'' + lib.optionalString stdenv.isLinux ''
|
||||
substituteInPlace phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
|
||||
substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -148,24 +144,23 @@ stdenv.mkDerivation rec {
|
||||
runHook preBuild
|
||||
|
||||
export buildJobs=$NIX_BUILD_CORES
|
||||
if [ -z $enableParallelBuilding ]; then
|
||||
buildJobs=1
|
||||
fi
|
||||
[ -z "$enableParallelBuilding" ] && buildJobs=1
|
||||
|
||||
${dmd_bin}/rdmd dmd/compiler/src/build.d -j$buildJobs HOST_DMD=${dmd_bin}/dmd $buildFlags
|
||||
make -C dmd/druntime -f posix.mak DMD=${pathToDmd} $buildFlags -j$buildJobs
|
||||
${dmdBin}/rdmd dmd/compiler/src/build.d -j$buildJobs $buildFlags \
|
||||
HOST_DMD=${dmdBin}/dmd
|
||||
make -C dmd/druntime -j$buildJobs DMD=${pathToDmd} $buildFlags
|
||||
echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile
|
||||
echo ${lib.getLib curl}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > LibcurlPathFile
|
||||
make -C phobos -f posix.mak $buildFlags -j$buildJobs DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
|
||||
echo ${lib.getLib curl}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} \
|
||||
> LibcurlPathFile
|
||||
make -C phobos -j$buildJobs $buildFlags \
|
||||
DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkFlags = buildFlags;
|
||||
|
||||
# many tests are disbled because they are failing
|
||||
# many tests are disabled because they are failing
|
||||
|
||||
# NOTE: Purity check is disabled for checkPhase because it doesn't fare well
|
||||
# with the DMD linker. See https://github.com/NixOS/nixpkgs/issues/97420
|
||||
@ -173,15 +168,14 @@ stdenv.mkDerivation rec {
|
||||
runHook preCheck
|
||||
|
||||
export checkJobs=$NIX_BUILD_CORES
|
||||
if [ -z $enableParallelChecking ]; then
|
||||
checkJobs=1
|
||||
fi
|
||||
[ -z "$enableParallelChecking" ] && checkJobs=1
|
||||
|
||||
CC=$CXX HOST_DMD=${pathToDmd} NIX_ENFORCE_PURITY= \
|
||||
${dmdBin}/rdmd dmd/compiler/test/run.d -j$checkJobs
|
||||
|
||||
NIX_ENFORCE_PURITY= \
|
||||
make -C dmd/compiler/test $checkFlags CC=$CXX SHELL=$SHELL -j$checkJobs N=$checkJobs
|
||||
|
||||
NIX_ENFORCE_PURITY= \
|
||||
make -C phobos -f posix.mak unittest $checkFlags -j$checkJobs DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
|
||||
make -C phobos unittest -j$checkJobs $checkFlags \
|
||||
DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
@ -200,7 +194,7 @@ stdenv.mkDerivation rec {
|
||||
cp phobos/generated/${osname}/release/${bits}/libphobos2.* $out/lib/
|
||||
|
||||
wrapProgram $out/bin/dmd \
|
||||
--prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
|
||||
--prefix PATH : "${targetPackages.stdenv.cc}/bin" \
|
||||
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
|
||||
|
||||
substitute ${dmdConfFile} "$out/bin/dmd.conf" --subst-var out
|
||||
@ -209,19 +203,19 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
find $out/bin -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${dmd_bin}/dmd '{}' +
|
||||
find $out/bin -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${dmdBin}/dmd '{}' +
|
||||
'';
|
||||
|
||||
disallowedReferences = [ dmdBootstrap ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Official reference compiler for the D language";
|
||||
mainProgram = "dmd";
|
||||
homepage = "https://dlang.org/";
|
||||
# Everything is now Boost licensed, even the backend.
|
||||
# https://github.com/dlang/dmd/pull/6680
|
||||
license = licenses.boost;
|
||||
mainProgram = "dmd";
|
||||
maintainers = with maintainers; [ lionello dukc jtbx ];
|
||||
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
})
|
5
pkgs/by-name/dm/dmd/package.nix
Normal file
5
pkgs/by-name/dm/dmd/package.nix
Normal file
@ -0,0 +1,5 @@
|
||||
import ./generic.nix {
|
||||
version = "2.108.0";
|
||||
dmdHash = "sha256-tlWcFgKtXzfqMMkOq4ezhZHdYCXFckjN5+m6jO4VH0U=";
|
||||
phobosHash = "sha256-uU8S4rABOfhpKh+MvSbclkbdf0hrsuKF8SIpWMnPpfU=";
|
||||
}
|
@ -8,13 +8,13 @@ let
|
||||
|
||||
in buildDotnetModule rec {
|
||||
pname = "dotnet-outdated";
|
||||
version = "4.6.0";
|
||||
version = "4.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dotnet-outdated";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-U5qCM+Um8bRafrDpbI5TnSN1nQ8mQpZ5W8Jao2hdAPw=";
|
||||
hash = "sha256-cYEW++XKCBhB4fyGj4bDKOBuQ1CJwm9CfZfiZUiy7Sw=";
|
||||
};
|
||||
|
||||
inherit dotnet-sdk;
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doublecmd";
|
||||
version = "1.1.11";
|
||||
version = "1.1.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doublecmd";
|
||||
repo = "doublecmd";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-8kxaJp9mSJ6fHOgVD5iFjecUU0Kt10KCAVSYMQt+bSw=";
|
||||
hash = "sha256-8wwYyZ9Uq65jEmgA1yO001YSZuDLnXLrFjK6WIsppwU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
11
pkgs/by-name/dt/dtools/disabled-tests.diff
Normal file
11
pkgs/by-name/dt/dtools/disabled-tests.diff
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/rdmd_test.d
|
||||
+++ b/rdmd_test.d
|
||||
@@ -616,7 +616,7 @@ void runTests(string rdmdApp, string compiler, string model)
|
||||
enforce(res.status == 1, res.output);
|
||||
}
|
||||
|
||||
- version (Posix)
|
||||
+ version (none)
|
||||
{
|
||||
import std.conv : to;
|
||||
auto makeVersion = execute(["make", "--version"]).output.splitLines()[0];
|
102
pkgs/by-name/dt/dtools/fix-ldc-arm64.diff
Normal file
102
pkgs/by-name/dt/dtools/fix-ldc-arm64.diff
Normal file
@ -0,0 +1,102 @@
|
||||
Adapted from https://github.com/dlang/tools/commit/6c6a042d1b08e3ec1790bd07a7f69424625ee866.patch
|
||||
--- /dev/null
|
||||
+++ b/osmodel.mak
|
||||
@@ -0,0 +1,75 @@
|
||||
+# osmodel.mak
|
||||
+#
|
||||
+# Detects and sets the macros:
|
||||
+#
|
||||
+# OS = one of {osx,linux,freebsd,openbsd,netbsd,dragonflybsd,solaris}
|
||||
+# MODEL = one of { 32, 64 }
|
||||
+# MODEL_FLAG = one of { -m32, -m64 }
|
||||
+# ARCH = one of { x86, x86_64, aarch64 }
|
||||
+#
|
||||
+# Note:
|
||||
+# Keep this file in sync between druntime, phobos, and dmd repositories!
|
||||
+# Source: https://github.com/dlang/dmd/blob/master/src/osmodel.mak
|
||||
+
|
||||
+
|
||||
+ifeq (,$(OS))
|
||||
+ uname_S:=$(shell uname -s)
|
||||
+ ifeq (Darwin,$(uname_S))
|
||||
+ OS:=osx
|
||||
+ endif
|
||||
+ ifeq (Linux,$(uname_S))
|
||||
+ OS:=linux
|
||||
+ endif
|
||||
+ ifeq (FreeBSD,$(uname_S))
|
||||
+ OS:=freebsd
|
||||
+ endif
|
||||
+ ifeq (OpenBSD,$(uname_S))
|
||||
+ OS:=openbsd
|
||||
+ endif
|
||||
+ ifeq (NetBSD,$(uname_S))
|
||||
+ OS:=netbsd
|
||||
+ endif
|
||||
+ ifeq (DragonFly,$(uname_S))
|
||||
+ OS:=dragonflybsd
|
||||
+ endif
|
||||
+ ifeq (Solaris,$(uname_S))
|
||||
+ OS:=solaris
|
||||
+ endif
|
||||
+ ifeq (SunOS,$(uname_S))
|
||||
+ OS:=solaris
|
||||
+ endif
|
||||
+ ifeq (,$(OS))
|
||||
+ $(error Unrecognized or unsupported OS for uname: $(uname_S))
|
||||
+ endif
|
||||
+endif
|
||||
+
|
||||
+# When running make from XCode it may set environment var OS=MACOS.
|
||||
+# Adjust it here:
|
||||
+ifeq (MACOS,$(OS))
|
||||
+ OS:=osx
|
||||
+endif
|
||||
+
|
||||
+ifeq (,$(MODEL))
|
||||
+ ifeq ($(OS), solaris)
|
||||
+ uname_M:=$(shell isainfo -n)
|
||||
+ else
|
||||
+ uname_M:=$(shell uname -m)
|
||||
+ endif
|
||||
+ ifneq (,$(findstring $(uname_M),x86_64 amd64))
|
||||
+ MODEL:=64
|
||||
+ ARCH:=x86_64
|
||||
+ endif
|
||||
+ ifneq (,$(findstring $(uname_M),aarch64 arm64))
|
||||
+ MODEL:=64
|
||||
+ ARCH:=aarch64
|
||||
+ endif
|
||||
+ ifneq (,$(findstring $(uname_M),i386 i586 i686))
|
||||
+ MODEL:=32
|
||||
+ ARCH:=x86
|
||||
+ endif
|
||||
+ ifeq (,$(MODEL))
|
||||
+ $(error Cannot figure 32/64 model and arch from uname -m: $(uname_M))
|
||||
+ endif
|
||||
+endif
|
||||
+
|
||||
+MODEL_FLAG:=-m$(MODEL)
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -9,9 +9,8 @@ DUB=dub
|
||||
WITH_DOC = no
|
||||
DOC = ../dlang.org
|
||||
|
||||
-# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile from dmd
|
||||
-$(shell [ ! -d $(DMD_DIR) ] && git clone --depth=1 https://github.com/dlang/dmd $(DMD_DIR))
|
||||
-include $(DMD_DIR)/compiler/src/osmodel.mak
|
||||
+# Load operating system $(OS) (e.g. linux, osx, ...) and $(MODEL) (e.g. 32, 64) detection Makefile
|
||||
+include osmodel.mak
|
||||
|
||||
ifeq (windows,$(OS))
|
||||
DOTEXE:=.exe
|
||||
@@ -30,7 +29,7 @@ DFLAGS = $(MODEL_FLAG) $(if $(findstring windows,$(OS)),,-fPIC) -preview=dip1000
|
||||
DFLAGS += $(WARNINGS)
|
||||
|
||||
# Default DUB flags (DUB uses a different architecture format)
|
||||
-DUBFLAGS = --arch=$(subst 32,x86,$(subst 64,x86_64,$(MODEL)))
|
||||
+DUBFLAGS = --arch=$(ARCH)
|
||||
|
||||
TOOLS = \
|
||||
$(ROOT)/catdoc$(DOTEXE) \
|
49
pkgs/by-name/dt/dtools/package.nix
Normal file
49
pkgs/by-name/dt/dtools/package.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, ldc
|
||||
, curl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dtools";
|
||||
version = "2.108.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dlang";
|
||||
repo = "tools";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-YEBUgJPG/+WN4MnQUNAVftZM0ULxZZzpHoOozXua46U=";
|
||||
name = "dtools";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Disable failing tests
|
||||
./disabled-tests.diff
|
||||
# Fix LDC arm64 build
|
||||
./fix-ldc-arm64.diff
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ ldc ];
|
||||
buildInputs = [ curl ];
|
||||
|
||||
makeFlags = [
|
||||
"CC=${stdenv.cc}/bin/cc"
|
||||
"DMD=${ldc.out}/bin/ldmd2"
|
||||
"INSTALL_DIR=$(out)"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test_rdmd";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Ancillary tools for the D programming language";
|
||||
homepage = "https://github.com/dlang/tools";
|
||||
license = licenses.boost;
|
||||
maintainers = with maintainers; [ jtbx ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
})
|
@ -7,16 +7,16 @@
|
||||
let
|
||||
finalAttrs = {
|
||||
pname = "fm";
|
||||
version = "0.16.0";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mistakenelf";
|
||||
repo = "fm";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-wiACaszbkO9jBYmIfeQpcx984RY41Emyu911nkJxUFY=";
|
||||
hash = "sha256-j92xf75JTLBaVr8GjAwlqgrieZCifVaIBy9ZMoDIaEY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-AfRGoKiVZGVIbsDj5pV1zCkp2FpcfWKS0t+cTU51RRc=";
|
||||
vendorHash = "sha256-iDKDUpxaV/ZGKvTeNu4m5X/tqQA311Nb+2gvrehpdpw=";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/mistakenelf/fm";
|
||||
|
@ -1,17 +1,27 @@
|
||||
{ lib, buildNpmPackage, fetchFromGitHub }:
|
||||
{ lib, stdenv, buildNpmPackage, fetchFromGitHub, cacert }:
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "inshellisense";
|
||||
version = "0.0.1-rc.4";
|
||||
version = "0.0.1-rc.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-PYSonVyclGSH3ArbqJuKrBNGbJaQEp6XemwnHboVwPk=";
|
||||
hash = "sha256-dDjIKVV1dSCIa2Y2d1AQQAw9Rcflh0AnKlwsQSblIhs=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-sjr4Hy1/zWPAlVGsMkyQIQcBT86KLaN2/UAaAd7Mn6Q=";
|
||||
npmDepsHash = "sha256-uBsPaUvEiR5oCl8rZvpyNPXSB/Vlcx937lT4WqgekHI=";
|
||||
|
||||
# Needed for dependency `@homebridge/node-pty-prebuilt-multiarch`
|
||||
# On Darwin systems the build fails with,
|
||||
#
|
||||
# npm ERR! ../src/unix/pty.cc:413:13: error: use of undeclared identifier 'openpty'
|
||||
# npm ERR! int ret = openpty(&master, &slave, nullptr, NULL, static_cast<winsi ze*>(&winp));
|
||||
#
|
||||
# when `node-gyp` tries to build the dep. The below allows `npm` to download the prebuilt binary.
|
||||
makeCacheWritable = stdenv.isDarwin;
|
||||
nativeBuildInputs = lib.optional stdenv.isDarwin cacert;
|
||||
|
||||
meta = with lib; {
|
||||
description = "IDE style command line auto complete";
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec{
|
||||
pname = "makima";
|
||||
version = "0.4.3";
|
||||
version = "0.4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cyber-sushi";
|
||||
repo = "makima";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-uoUevsQo+BLKPwNGp7qC9wLAVTRMNiuo+wWDLRKECb0=";
|
||||
hash = "sha256-3S4J4fdCn/eqgT9g0WmS5kQHr7LysBn03RzHvagm5jg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-k7eelGCDnfYtyU6NAas22U3jlioIqQBZ4H63p30T+E0=";
|
||||
cargoHash = "sha256-YCs37IYiYxjh2uBZvHliDZRu68J4mXCCYpWlPHtw+0Q=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ udev ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "orchard";
|
||||
version = "0.16.0";
|
||||
version = "0.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cirruslabs";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-XLml3/PoDS4BN+iApoEsjt1VPjsPEKTGTZcM7V5ZQaY=";
|
||||
hash = "sha256-wuLlxyCyMgtKBW5MD7HJM3q+tsXOBTjGyNYuV9jDbEg=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
@ -26,13 +26,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "swayimg";
|
||||
version = "2.1";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "artemsen";
|
||||
repo = "swayimg";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-+ntunT1FbgGcxpKGTcs7G7FYmoAobu/p/8ATIoBzfKE=";
|
||||
hash = "sha256-CTl1hlRE4MnA6WdQaR4VG5G/wop/9xK7thRiCY7teYU=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -0,0 +1,5 @@
|
||||
# This file was automatically generated by passthru.fetch-deps.
|
||||
# Please dont edit it manually, your changes might get overwritten!
|
||||
|
||||
{ fetchNuGet }: [
|
||||
]
|
5
pkgs/by-name/te/technitium-dns-server/nuget-deps.nix
Normal file
5
pkgs/by-name/te/technitium-dns-server/nuget-deps.nix
Normal file
@ -0,0 +1,5 @@
|
||||
# This file was automatically generated by passthru.fetch-deps.
|
||||
# Please dont edit it manually, your changes might get overwritten!
|
||||
|
||||
{ fetchNuGet }: [
|
||||
]
|
@ -1,39 +1,60 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
makeWrapper,
|
||||
dotnet-sdk_8,
|
||||
buildDotnetModule,
|
||||
fetchFromGitHub,
|
||||
dotnetCorePackages,
|
||||
nixosTests,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
let
|
||||
technitium-library = buildDotnetModule rec {
|
||||
pname = "TechnitiumLibrary";
|
||||
version = "40a7bc7a52cf5d2c371215ea7f5f6fdf71dc1d9c";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TechnitiumSoftware";
|
||||
repo = "TechnitiumLibrary";
|
||||
rev = version;
|
||||
hash = "sha256-FNCZH8LZXYyrz5SRIV8P7MruN+t6Qvl96Aa73q3InMI=";
|
||||
name = "${pname}-${version}";
|
||||
};
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
|
||||
nugetDeps = ./library-nuget-deps.nix;
|
||||
|
||||
projectFile = [
|
||||
"TechnitiumLibrary.ByteTree/TechnitiumLibrary.ByteTree.csproj"
|
||||
"TechnitiumLibrary.Net/TechnitiumLibrary.Net.csproj"
|
||||
];
|
||||
};
|
||||
in
|
||||
buildDotnetModule rec {
|
||||
pname = "technitium-dns-server";
|
||||
version = "12.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.technitium.com/dns/archive/${version}/DnsServerPortable.tar.gz";
|
||||
hash = "sha256-G0M2xuYBZA3XXXaPs4pLrJmzAMbVJhiqISAvuCw3iZo=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "TechnitiumSoftware";
|
||||
repo = "DnsServer";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-TfVWGomvKV7QeJUyFMNDAnHKY3YTEwWPxTlW6RhmsR4=";
|
||||
name = "${pname}-${version}";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nugetDeps = ./nuget-deps.nix;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
projectFile = [ "DnsServerApp/DnsServerApp.csproj" ];
|
||||
|
||||
mkdir -p $out/{bin,share/${pname}-${version}}
|
||||
cp -r * $out/share/${pname}-${version}/.
|
||||
rm $out/share/${pname}-${version}/start.{sh,bat}
|
||||
rm $out/share/${pname}-${version}/DnsServerApp.exe
|
||||
rm $out/share/${pname}-${version}/env-vars
|
||||
# Remove systemd.service in favor of a separate module (including firewall configuration).
|
||||
rm $out/share/${pname}-${version}/systemd.service
|
||||
# move dependencies from TechnitiumLibrary to the expected directory
|
||||
preBuild = ''
|
||||
mkdir -p ../TechnitiumLibrary/bin
|
||||
cp -r ${technitium-library}/lib/TechnitiumLibrary/* ../TechnitiumLibrary/bin/
|
||||
'';
|
||||
|
||||
makeWrapper "${dotnet-sdk_8}/bin/dotnet" $out/bin/technitium-dns-server \
|
||||
--add-flags "$out/share/${pname}-${version}/DnsServerApp.dll"
|
||||
|
||||
runHook postInstall
|
||||
postFixup = ''
|
||||
mv $out/bin/DnsServerApp $out/bin/technitium-dns-server
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
@ -47,6 +68,6 @@ stdenvNoCC.mkDerivation rec {
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "technitium-dns-server";
|
||||
maintainers = with lib.maintainers; [ fabianrig ];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -15,22 +15,23 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tpnote";
|
||||
version = "1.24.0";
|
||||
version = "1.24.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getreu";
|
||||
repo = "tp-note";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VzBLstjOkaphkBpnhXXBwg48c2s20yZKBHUrQvnahlA=";
|
||||
hash = "sha256-uNW1gb4zmLjOZFtxaBBEQGRGc9C2M8cSARZBa3+FC2k=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-4oY1KOdMy9V9Y/sCiWx6160wvUItMvYwNp2TRZrgUZY=";
|
||||
cargoHash = "sha256-pOiIQU/5z/g4NbdwoYaDdxTfTkxEdddVsmuH54pCOBM=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
oniguruma
|
||||
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||
|
@ -27,11 +27,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unciv";
|
||||
version = "4.10.21";
|
||||
version = "4.11.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
|
||||
hash = "sha256-JnuJbmKGqtEdFiMnA5RvCfdox2WTABwxNI3Zdk6wNU8=";
|
||||
hash = "sha256-ZUDfJf+FgIX8gRoZYlYAJhpLwNWp3MCKEQOSQGQ88T8=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "uxn";
|
||||
version = "unstable-2024-03-30";
|
||||
version = "unstable-2024-04-05";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~rabbits";
|
||||
repo = "uxn";
|
||||
rev = "fc6ec0b387723940868133fade8854ad37648881";
|
||||
hash = "sha256-Ver8oI3IzxwF6KeZ85d3mmiCwARVoH+RZoFNCxhGFDc=";
|
||||
rev = "41567558bc1ec4721fee1cc316c3a3cdc627b102";
|
||||
hash = "sha256-Qvq9/kNZAKRHH3NIxiX5+67ibeX5QzK97EhuoplTBDQ=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "projects" ];
|
||||
|
471
pkgs/by-name/ze/zed-editor/Cargo.lock
generated
471
pkgs/by-name/ze/zed-editor/Cargo.lock
generated
@ -9,6 +9,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"auto_update",
|
||||
"editor",
|
||||
"extension",
|
||||
"futures 0.3.28",
|
||||
"gpui",
|
||||
"language",
|
||||
@ -87,9 +88,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "alacritty_terminal"
|
||||
version = "0.23.0-rc1"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc2c16faa5425a10be102dda76f73d76049b44746e18ddeefc44d78bbe76cbce"
|
||||
checksum = "f6d1ea4484c8676f295307a4892d478c70ac8da1dbd8c7c10830a504b7f1022f"
|
||||
dependencies = [
|
||||
"base64 0.22.0",
|
||||
"bitflags 2.4.2",
|
||||
@ -212,6 +213,24 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anthropic"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"futures 0.3.28",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"tokio",
|
||||
"util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "any_vec"
|
||||
version = "0.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e78f17bacc1bc7b91fef7b1885c10772eb2b9e4e989356f6f0f6a972240f97cd"
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.75"
|
||||
@ -285,9 +304,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ashpd"
|
||||
version = "0.7.0"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "01992ad7774250d5b7fe214e2676cb99bf92564436d8135ab44fe815e71769a9"
|
||||
checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093"
|
||||
dependencies = [
|
||||
"async-fs 2.1.1",
|
||||
"async-net 2.0.0",
|
||||
@ -298,7 +317,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_repr",
|
||||
"url",
|
||||
"zbus 3.15.1",
|
||||
"zbus",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -322,6 +341,7 @@ dependencies = [
|
||||
"ctor",
|
||||
"editor",
|
||||
"env_logger",
|
||||
"file_icons",
|
||||
"fs",
|
||||
"futures 0.3.28",
|
||||
"gpui",
|
||||
@ -351,16 +371,6 @@ dependencies = [
|
||||
"workspace",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-broadcast"
|
||||
version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b"
|
||||
dependencies = [
|
||||
"event-listener 2.5.3",
|
||||
"futures-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-broadcast"
|
||||
version = "0.7.0"
|
||||
@ -2166,6 +2176,7 @@ dependencies = [
|
||||
name = "collab"
|
||||
version = "0.44.0"
|
||||
dependencies = [
|
||||
"anthropic",
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
"async-tungstenite",
|
||||
@ -2218,6 +2229,7 @@ dependencies = [
|
||||
"rustc-demangle",
|
||||
"scrypt",
|
||||
"sea-orm",
|
||||
"semantic_version",
|
||||
"semver",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
@ -2565,19 +2577,21 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cosmic-text"
|
||||
version = "0.10.0"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75acbfb314aeb4f5210d379af45ed1ec2c98c7f1790bf57b8a4c562ac0c51b71"
|
||||
checksum = "c578f2b9abb4d5f3fbb12aba4008084d435dc6a8425c195cfe0b3594bfea0c25"
|
||||
dependencies = [
|
||||
"fontdb 0.15.0",
|
||||
"bitflags 2.4.2",
|
||||
"fontdb 0.16.2",
|
||||
"libm",
|
||||
"log",
|
||||
"rangemap",
|
||||
"rustc-hash",
|
||||
"rustybuzz 0.11.0",
|
||||
"rustybuzz 0.12.1",
|
||||
"self_cell",
|
||||
"swash",
|
||||
"sys-locale",
|
||||
"ttf-parser 0.20.0",
|
||||
"unicode-bidi",
|
||||
"unicode-linebreak",
|
||||
"unicode-script",
|
||||
@ -2799,7 +2813,7 @@ dependencies = [
|
||||
"autocfg",
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
"memoffset 0.9.0",
|
||||
"memoffset",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
@ -3254,6 +3268,8 @@ dependencies = [
|
||||
"sum_tree",
|
||||
"text",
|
||||
"theme",
|
||||
"time",
|
||||
"time_format",
|
||||
"tree-sitter-html",
|
||||
"tree-sitter-rust",
|
||||
"tree-sitter-typescript",
|
||||
@ -3491,6 +3507,7 @@ dependencies = [
|
||||
"fs",
|
||||
"futures 0.3.28",
|
||||
"gpui",
|
||||
"isahc",
|
||||
"language",
|
||||
"log",
|
||||
"lsp",
|
||||
@ -3498,6 +3515,7 @@ dependencies = [
|
||||
"parking_lot",
|
||||
"project",
|
||||
"schemars",
|
||||
"semantic_version",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_json_lenient",
|
||||
@ -3544,10 +3562,13 @@ dependencies = [
|
||||
"db",
|
||||
"editor",
|
||||
"extension",
|
||||
"fs",
|
||||
"fuzzy",
|
||||
"gpui",
|
||||
"language",
|
||||
"picker",
|
||||
"project",
|
||||
"semantic_version",
|
||||
"serde",
|
||||
"settings",
|
||||
"smallvec",
|
||||
@ -3677,6 +3698,18 @@ dependencies = [
|
||||
"workspace",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "file_icons"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"collections",
|
||||
"gpui",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
"util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "filetime"
|
||||
version = "0.2.22"
|
||||
@ -3793,16 +3826,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "fontdb"
|
||||
version = "0.15.0"
|
||||
version = "0.16.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "020e203f177c0fb250fb19455a252e838d2bbbce1f80f25ecc42402aafa8cd38"
|
||||
checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3"
|
||||
dependencies = [
|
||||
"fontconfig-parser",
|
||||
"log",
|
||||
"memmap2 0.8.0",
|
||||
"memmap2 0.9.4",
|
||||
"slotmap",
|
||||
"tinyvec",
|
||||
"ttf-parser 0.19.2",
|
||||
"ttf-parser 0.20.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3849,9 +3882,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
|
||||
|
||||
[[package]]
|
||||
name = "form_urlencoded"
|
||||
version = "1.2.0"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
|
||||
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
|
||||
dependencies = [
|
||||
"percent-encoding",
|
||||
]
|
||||
@ -3887,6 +3920,7 @@ dependencies = [
|
||||
"collections",
|
||||
"fsevent",
|
||||
"futures 0.3.28",
|
||||
"git",
|
||||
"git2",
|
||||
"gpui",
|
||||
"lazy_static",
|
||||
@ -4184,14 +4218,21 @@ dependencies = [
|
||||
name = "git"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clock",
|
||||
"collections",
|
||||
"git2",
|
||||
"lazy_static",
|
||||
"log",
|
||||
"pretty_assertions",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"smol",
|
||||
"sum_tree",
|
||||
"text",
|
||||
"time",
|
||||
"unindent",
|
||||
"url",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -4368,6 +4409,7 @@ dependencies = [
|
||||
"resvg",
|
||||
"schemars",
|
||||
"seahash",
|
||||
"semantic_version",
|
||||
"serde",
|
||||
"serde_derive",
|
||||
"serde_json",
|
||||
@ -4744,9 +4786,9 @@ checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
|
||||
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
|
||||
dependencies = [
|
||||
"unicode-bidi",
|
||||
"unicode-normalization",
|
||||
@ -5295,15 +5337,12 @@ dependencies = [
|
||||
"tree-sitter",
|
||||
"tree-sitter-bash",
|
||||
"tree-sitter-c",
|
||||
"tree-sitter-c-sharp",
|
||||
"tree-sitter-clojure",
|
||||
"tree-sitter-cpp",
|
||||
"tree-sitter-css",
|
||||
"tree-sitter-dart",
|
||||
"tree-sitter-elixir",
|
||||
"tree-sitter-elm",
|
||||
"tree-sitter-embedded-template",
|
||||
"tree-sitter-erlang",
|
||||
"tree-sitter-glsl",
|
||||
"tree-sitter-go",
|
||||
"tree-sitter-gomod",
|
||||
@ -5318,7 +5357,6 @@ dependencies = [
|
||||
"tree-sitter-nix",
|
||||
"tree-sitter-nu",
|
||||
"tree-sitter-ocaml",
|
||||
"tree-sitter-php",
|
||||
"tree-sitter-proto",
|
||||
"tree-sitter-python",
|
||||
"tree-sitter-racket",
|
||||
@ -5326,11 +5364,9 @@ dependencies = [
|
||||
"tree-sitter-ruby",
|
||||
"tree-sitter-rust",
|
||||
"tree-sitter-scheme",
|
||||
"tree-sitter-toml",
|
||||
"tree-sitter-typescript",
|
||||
"tree-sitter-vue",
|
||||
"tree-sitter-yaml",
|
||||
"tree-sitter-zig",
|
||||
"unindent",
|
||||
"util",
|
||||
"workspace",
|
||||
@ -5495,7 +5531,7 @@ name = "live_kit_client"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-broadcast 0.7.0",
|
||||
"async-broadcast",
|
||||
"async-trait",
|
||||
"collections",
|
||||
"core-foundation",
|
||||
@ -5570,6 +5606,7 @@ dependencies = [
|
||||
"serde_json",
|
||||
"smol",
|
||||
"util",
|
||||
"windows 0.53.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -5742,15 +5779,6 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.9.0"
|
||||
@ -5988,18 +6016,6 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.26.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"memoffset 0.7.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.27.1"
|
||||
@ -6009,7 +6025,7 @@ dependencies = [
|
||||
"bitflags 2.4.2",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"memoffset 0.9.0",
|
||||
"memoffset",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -6378,9 +6394,9 @@ dependencies = [
|
||||
"rand 0.8.5",
|
||||
"serde",
|
||||
"sha2 0.10.7",
|
||||
"zbus 4.0.1",
|
||||
"zbus",
|
||||
"zeroize",
|
||||
"zvariant 4.0.2",
|
||||
"zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -6391,9 +6407,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
||||
|
||||
[[package]]
|
||||
name = "open"
|
||||
version = "5.0.1"
|
||||
version = "5.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "90878fb664448b54c4e592455ad02831e23a3f7e157374a8b95654731aac7349"
|
||||
checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32"
|
||||
dependencies = [
|
||||
"is-wsl",
|
||||
"libc",
|
||||
@ -6715,9 +6731,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "percent-encoding"
|
||||
version = "2.3.0"
|
||||
version = "2.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
|
||||
checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
|
||||
|
||||
[[package]]
|
||||
name = "petgraph"
|
||||
@ -6757,6 +6773,7 @@ dependencies = [
|
||||
"env_logger",
|
||||
"gpui",
|
||||
"menu",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"ui",
|
||||
"workspace",
|
||||
@ -7066,6 +7083,7 @@ dependencies = [
|
||||
"fs",
|
||||
"futures 0.3.28",
|
||||
"fuzzy",
|
||||
"git",
|
||||
"git2",
|
||||
"globset",
|
||||
"gpui",
|
||||
@ -7107,6 +7125,7 @@ dependencies = [
|
||||
"collections",
|
||||
"db",
|
||||
"editor",
|
||||
"file_icons",
|
||||
"gpui",
|
||||
"language",
|
||||
"menu",
|
||||
@ -7447,11 +7466,9 @@ dependencies = [
|
||||
name = "recent_projects"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"collections",
|
||||
"editor",
|
||||
"fuzzy",
|
||||
"gpui",
|
||||
"itertools 0.11.0",
|
||||
"language",
|
||||
"menu",
|
||||
"ordered-float 2.10.0",
|
||||
@ -8046,11 +8063,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustybuzz"
|
||||
version = "0.11.0"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2ee8fe2a8461a0854a37101fe7a1b13998d0cfa987e43248e81d2a5f4570f6fa"
|
||||
checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"bitflags 2.4.2",
|
||||
"bytemuck",
|
||||
"libm",
|
||||
"smallvec",
|
||||
@ -8286,6 +8303,7 @@ dependencies = [
|
||||
name = "search"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"any_vec",
|
||||
"anyhow",
|
||||
"bitflags 2.4.2",
|
||||
"client",
|
||||
@ -8299,7 +8317,6 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
"settings",
|
||||
"smallvec",
|
||||
"smol",
|
||||
"theme",
|
||||
"ui",
|
||||
@ -8351,6 +8368,14 @@ version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
|
||||
|
||||
[[package]]
|
||||
name = "semantic_version"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "semver"
|
||||
version = "1.0.18"
|
||||
@ -9142,6 +9167,7 @@ dependencies = [
|
||||
"ctrlc",
|
||||
"dialoguer",
|
||||
"editor",
|
||||
"embed-manifest",
|
||||
"fuzzy",
|
||||
"gpui",
|
||||
"indoc",
|
||||
@ -9398,6 +9424,29 @@ dependencies = [
|
||||
"winx",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tab_switcher"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"collections",
|
||||
"ctor",
|
||||
"editor",
|
||||
"env_logger",
|
||||
"gpui",
|
||||
"language",
|
||||
"menu",
|
||||
"picker",
|
||||
"project",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"terminal_view",
|
||||
"theme",
|
||||
"ui",
|
||||
"util",
|
||||
"workspace",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "taffy"
|
||||
version = "0.3.11"
|
||||
@ -9451,6 +9500,7 @@ dependencies = [
|
||||
"editor",
|
||||
"fuzzy",
|
||||
"gpui",
|
||||
"itertools 0.11.0",
|
||||
"language",
|
||||
"menu",
|
||||
"picker",
|
||||
@ -9469,8 +9519,8 @@ dependencies = [
|
||||
name = "telemetry_events"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"semantic_version",
|
||||
"serde",
|
||||
"util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -10151,24 +10201,6 @@ dependencies = [
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-c-sharp"
|
||||
version = "0.20.0"
|
||||
source = "git+https://github.com/tree-sitter/tree-sitter-c-sharp?rev=dd5e59721a5f8dae34604060833902b882023aaf#dd5e59721a5f8dae34604060833902b882023aaf"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-clojure"
|
||||
version = "0.0.9"
|
||||
source = "git+https://github.com/prcastro/tree-sitter-clojure?branch=update-ts#38b4f8d264248b2fd09575fbce66f7c22e8929d5"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-cpp"
|
||||
version = "0.20.0"
|
||||
@ -10224,16 +10256,6 @@ dependencies = [
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-erlang"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93ced5145ebb17f83243bf055b74e108da7cc129e12faab4166df03f59b287f4"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-glsl"
|
||||
version = "0.1.4"
|
||||
@ -10372,16 +10394,6 @@ dependencies = [
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-php"
|
||||
version = "0.21.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0db3788e709a5adfb583683a4b686a084e41a0f9e5a2fcb9a8e358f11481036a"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-proto"
|
||||
version = "0.0.2"
|
||||
@ -10449,15 +10461,6 @@ dependencies = [
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-toml"
|
||||
version = "0.5.1"
|
||||
source = "git+https://github.com/tree-sitter/tree-sitter-toml?rev=342d9be207c2dba869b9967124c679b5e6fd0ebe#342d9be207c2dba869b9967124c679b5e6fd0ebe"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-typescript"
|
||||
version = "0.20.2"
|
||||
@ -10485,15 +10488,6 @@ dependencies = [
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-zig"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/maxxnino/tree-sitter-zig?rev=0d08703e4c3f426ec61695d7617415fff97029bd#0d08703e4c3f426ec61695d7617415fff97029bd"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "try-lock"
|
||||
version = "0.2.4"
|
||||
@ -10512,12 +10506,6 @@ version = "0.12.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6"
|
||||
|
||||
[[package]]
|
||||
name = "ttf-parser"
|
||||
version = "0.19.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1"
|
||||
|
||||
[[package]]
|
||||
name = "ttf-parser"
|
||||
version = "0.20.0"
|
||||
@ -10575,7 +10563,7 @@ version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
|
||||
dependencies = [
|
||||
"memoffset 0.9.0",
|
||||
"memoffset",
|
||||
"tempfile",
|
||||
"winapi",
|
||||
]
|
||||
@ -10712,9 +10700,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "2.4.1"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
|
||||
checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"idna",
|
||||
@ -10985,9 +10973,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.87"
|
||||
version = "0.2.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
|
||||
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"wasm-bindgen-macro",
|
||||
@ -10995,9 +10983,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.87"
|
||||
version = "0.2.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
|
||||
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
@ -11022,9 +11010,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.87"
|
||||
version = "0.2.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
|
||||
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
@ -11032,9 +11020,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.87"
|
||||
version = "0.2.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
|
||||
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -11045,9 +11033,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.87"
|
||||
version = "0.2.92"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
|
||||
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-encoder"
|
||||
@ -11295,7 +11283,7 @@ dependencies = [
|
||||
"log",
|
||||
"mach",
|
||||
"memfd",
|
||||
"memoffset 0.9.0",
|
||||
"memoffset",
|
||||
"paste",
|
||||
"psm",
|
||||
"rustix 0.38.32",
|
||||
@ -11531,9 +11519,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "weezl"
|
||||
version = "0.1.7"
|
||||
version = "0.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
|
||||
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
|
||||
|
||||
[[package]]
|
||||
name = "welcome"
|
||||
@ -12132,6 +12120,7 @@ dependencies = [
|
||||
name = "workspace"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"any_vec",
|
||||
"anyhow",
|
||||
"async-recursion 1.0.5",
|
||||
"bincode",
|
||||
@ -12325,54 +12314,13 @@ dependencies = [
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zbus"
|
||||
version = "3.15.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5acecd3f8422f198b1a2f954bcc812fe89f3fa4281646f3da1da7925db80085d"
|
||||
dependencies = [
|
||||
"async-broadcast 0.5.1",
|
||||
"async-executor",
|
||||
"async-fs 1.6.0",
|
||||
"async-io 1.13.0",
|
||||
"async-lock 2.8.0",
|
||||
"async-process 1.7.0",
|
||||
"async-recursion 1.0.5",
|
||||
"async-task",
|
||||
"async-trait",
|
||||
"blocking",
|
||||
"byteorder",
|
||||
"derivative",
|
||||
"enumflags2",
|
||||
"event-listener 2.5.3",
|
||||
"futures-core",
|
||||
"futures-sink",
|
||||
"futures-util",
|
||||
"hex",
|
||||
"nix 0.26.4",
|
||||
"once_cell",
|
||||
"ordered-stream",
|
||||
"rand 0.8.5",
|
||||
"serde",
|
||||
"serde_repr",
|
||||
"sha1",
|
||||
"static_assertions",
|
||||
"tracing",
|
||||
"uds_windows",
|
||||
"winapi",
|
||||
"xdg-home",
|
||||
"zbus_macros 3.15.1",
|
||||
"zbus_names 2.6.1",
|
||||
"zvariant 3.15.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zbus"
|
||||
version = "4.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030"
|
||||
dependencies = [
|
||||
"async-broadcast 0.7.0",
|
||||
"async-broadcast",
|
||||
"async-executor",
|
||||
"async-fs 2.1.1",
|
||||
"async-io 2.3.1",
|
||||
@ -12400,23 +12348,9 @@ dependencies = [
|
||||
"uds_windows",
|
||||
"windows-sys 0.52.0",
|
||||
"xdg-home",
|
||||
"zbus_macros 4.0.1",
|
||||
"zbus_names 3.0.0",
|
||||
"zvariant 4.0.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zbus_macros"
|
||||
version = "3.15.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2207eb71efebda17221a579ca78b45c4c5f116f074eb745c3a172e688ccf89f5"
|
||||
dependencies = [
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"regex",
|
||||
"syn 1.0.109",
|
||||
"zvariant_utils",
|
||||
"zbus_macros",
|
||||
"zbus_names",
|
||||
"zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -12433,17 +12367,6 @@ dependencies = [
|
||||
"zvariant_utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zbus_names"
|
||||
version = "2.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"static_assertions",
|
||||
"zvariant 3.15.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zbus_names"
|
||||
version = "3.0.0"
|
||||
@ -12452,12 +12375,12 @@ checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"static_assertions",
|
||||
"zvariant 4.0.2",
|
||||
"zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed"
|
||||
version = "0.129.2"
|
||||
version = "0.130.6"
|
||||
dependencies = [
|
||||
"activity_indicator",
|
||||
"anyhow",
|
||||
@ -12488,6 +12411,7 @@ dependencies = [
|
||||
"extensions_ui",
|
||||
"feedback",
|
||||
"file_finder",
|
||||
"file_icons",
|
||||
"fs",
|
||||
"futures 0.3.28",
|
||||
"go_to_line",
|
||||
@ -12522,6 +12446,7 @@ dependencies = [
|
||||
"settings",
|
||||
"simplelog",
|
||||
"smol",
|
||||
"tab_switcher",
|
||||
"task",
|
||||
"tasks_ui",
|
||||
"terminal_view",
|
||||
@ -12550,14 +12475,28 @@ dependencies = [
|
||||
name = "zed_astro"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_extension_api"
|
||||
version = "0.0.4"
|
||||
name = "zed_clojure"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"wit-bindgen",
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_csharp"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_erlang"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -12570,45 +12509,82 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_gleam"
|
||||
version = "0.0.1"
|
||||
name = "zed_extension_api"
|
||||
version = "0.0.5"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"wit-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_extension_api"
|
||||
version = "0.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a5f4ae4e302a80591635ef9a236b35fde6fcc26cfd060e66fde4ba9f9fd394a1"
|
||||
dependencies = [
|
||||
"wit-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_gleam"
|
||||
version = "0.0.2"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_haskell"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_php"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_prisma"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_purescript"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_svelte"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_toml"
|
||||
version = "0.0.2"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_uiua"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"zed_extension_api 0.0.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zed_zig"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"zed_extension_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -12687,21 +12663,6 @@ dependencies = [
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zvariant"
|
||||
version = "3.15.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c5b4fcf3660d30fc33ae5cd97e2017b23a96e85afd7a1dd014534cd0bf34ba67"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"enumflags2",
|
||||
"libc",
|
||||
"serde",
|
||||
"static_assertions",
|
||||
"url",
|
||||
"zvariant_derive 3.15.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zvariant"
|
||||
version = "4.0.2"
|
||||
@ -12712,20 +12673,8 @@ dependencies = [
|
||||
"enumflags2",
|
||||
"serde",
|
||||
"static_assertions",
|
||||
"zvariant_derive 4.0.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zvariant_derive"
|
||||
version = "3.15.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0277758a8a0afc0e573e80ed5bfd9d9c2b48bd3108ffe09384f9f738c83f4a55"
|
||||
dependencies = [
|
||||
"proc-macro-crate 1.3.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
"zvariant_utils",
|
||||
"url",
|
||||
"zvariant_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -27,13 +27,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "zed";
|
||||
version = "0.129.2";
|
||||
version = "0.130.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zed-industries";
|
||||
repo = "zed";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5VNPgZR1E/s5mpwU46zG640KucdyS+vnieveMzVdPNs=";
|
||||
hash = "sha256-ENlvjqoxPInTVpt7qpV+02AbAOCnfCrowfDTyyr4Y7A=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -50,8 +50,6 @@ rustPlatform.buildRustPackage rec {
|
||||
"taffy-0.3.11" = "sha256-0hXOEj6IjSW8e1t+rvxBFX6V9XRum3QO2Des1XlHJEw=";
|
||||
"tree-sitter-0.20.100" = "sha256-k8au4++UJyaOCNo0cqokaQ5Is3BmIiCBSxiUkbrzhFQ=";
|
||||
"tree-sitter-bash-0.20.4" = "sha256-VP7rJfE/k8KV1XN1w5f0YKjCnDMYU1go/up0zj1mabM=";
|
||||
"tree-sitter-c-sharp-0.20.0" = "sha256-DlnGIky33CuRKkVVS+tOTBLVOVzASXqdaUrZawh6LZc=";
|
||||
"tree-sitter-clojure-0.0.9" = "sha256-H0OEnsoJxcDqlJ32ac7KCS2stT02XKrZ/v4mGMoN2EI=";
|
||||
"tree-sitter-cpp-0.20.0" = "sha256-2QYEFkpwcRmh2kf4qEAL2a5lGSa316CetOhF73e7rEM=";
|
||||
"tree-sitter-css-0.19.0" = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU=";
|
||||
"tree-sitter-dart-0.0.1" = "sha256-FE6zXy0lAUWWayrM3urZFnQaEYBcnmaVANcUUnvw1q4=";
|
||||
@ -72,11 +70,9 @@ rustPlatform.buildRustPackage rec {
|
||||
"tree-sitter-proto-0.0.2" = "sha256-W0diP2ByAXYrc7Mu/sbqST6lgVIyHeSBmH7/y/X3NhU=";
|
||||
"tree-sitter-racket-0.0.1" = "sha256-ie64no94TtAWsSYaBXmic4oyRAA01fMl97+JWcFU1E8=";
|
||||
"tree-sitter-scheme-0.2.0" = "sha256-K3+zmykjq2DpCnk17Ko9LOyGQTBZb1/dgVXIVynCYd4=";
|
||||
"tree-sitter-toml-0.5.1" = "sha256-5nLNBxFeOGE+gzbwpcrTVnuL1jLUA0ZLBVw2QrOLsDQ=";
|
||||
"tree-sitter-typescript-0.20.2" = "sha256-cpOAtfvlffS57BrXaoa2xa9NUYw0AsHxVI8PrcpgZCQ=";
|
||||
"tree-sitter-vue-0.0.1" = "sha256-8v2e03A/Uj6zCJTH4j6TPwDQcNFeze1jepMADT6UVis=";
|
||||
"tree-sitter-yaml-0.0.1" = "sha256-S59jLlipBI2kwFuZDMmpv0TOZpGyXpbAizN3yC6wJ5I=";
|
||||
"tree-sitter-zig-0.0.1" = "sha256-a3W7eBUN4V3HD3YPr1+3tpuWQfIQy1Wu8qxCQx0hEnI=";
|
||||
};
|
||||
};
|
||||
|
||||
@ -144,6 +140,9 @@ rustPlatform.buildRustPackage rec {
|
||||
checkFlags = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
# Fails with "On 2823 Failed to find test1:A"
|
||||
"--skip=test_base_keymap"
|
||||
# Fails with "called `Result::unwrap()` on an `Err` value: Invalid keystroke `cmd-k`"
|
||||
# https://github.com/zed-industries/zed/issues/10427
|
||||
"--skip=test_disabled_keymap_binding"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
@ -203,5 +202,7 @@ rustPlatform.buildRustPackage rec {
|
||||
];
|
||||
mainProgram = "zed";
|
||||
platforms = platforms.all;
|
||||
# Currently broken on darwin: https://github.com/NixOS/nixpkgs/pull/303233#issuecomment-2048650618
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "Iosevka${toString set}";
|
||||
version = "29.0.5";
|
||||
version = "29.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "be5invis";
|
||||
repo = "iosevka";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Ir/HS9MFqOO7CDDLnqFX+6vCg06U5cYAcNKFyh5Ioc8=";
|
||||
hash = "sha256-LtbkumAAx77sG2Mw5gkjFK+wtwibKP6uVT2buEkERik=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-tzrMAZv1ATYwPVBUiDm4GPVj+TVAA3hMdc3MrdblOIw=";
|
||||
npmDepsHash = "sha256-hC5283V5olhZlwY8PgTywTrbx93acclc4N0YrZTaV7Y=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
remarshal
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-arcmenu";
|
||||
version = "52";
|
||||
version = "55";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "arcmenu";
|
||||
repo = "ArcMenu";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nZRdNkS4JfSwtqQsROKa1+eqcgwMQwVsqgeWVPpZIi0=";
|
||||
sha256 = "sha256-xLKvcrZkqcj7aHiv9JumLWSP5LbajITAyopCIwGqpkE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ fetchFromGitHub, lib, stdenv }:
|
||||
{ fetchFromGitHub, lib, stdenv, unstableGitUpdater }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "argos";
|
||||
version = "unstable-2023-09-26";
|
||||
version = "unstable-2024-04-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "p-e-w";
|
||||
repo = "argos";
|
||||
rev = "adfaa31e8c08f7b59e9492891a7e6f753c29b35e"; # https://github.com/p-e-w/argos/pull/150
|
||||
hash = "sha256-st8AeMRtkvM4M/Z70qopjw9Yx0t9l0DsUke4ClQtcBU=";
|
||||
rev = "0449229e11bc2bb5c66e6f1d8503635cdf276bcf";
|
||||
hash = "sha256-szBk3zW+HzfxTI34lLB1DFdnwZ3W+BgeVgDkwf0UzQU=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
|
||||
passthru = {
|
||||
extensionUuid = "argos@pew.worldwidemann.com";
|
||||
extensionPortalSlug = "argos";
|
||||
updateScript = unstableGitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -348,6 +348,24 @@
|
||||
"battery-time": [
|
||||
"batime@martin.zurowietz.de",
|
||||
"batterytime@typeof.pw"
|
||||
],
|
||||
"power-profile-indicator": [
|
||||
"power-profile-indicator@laux.wtf",
|
||||
"power-profile@fthx"
|
||||
]
|
||||
},
|
||||
"46": {
|
||||
"applications-menu": [
|
||||
"apps-menu@gnome-shell-extensions.gcampax.github.com",
|
||||
"Applications_Menu@rmy.pobox.com"
|
||||
],
|
||||
"persian-calendar": [
|
||||
"PersianCalendar@oxygenws.com",
|
||||
"persian-calendar@iamrezamousavi.gmail.com"
|
||||
],
|
||||
"power-profile-indicator": [
|
||||
"power-profile-indicator@laux.wtf",
|
||||
"power-profile@fthx"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -64,9 +64,10 @@ in rec {
|
||||
gnome43Extensions = mapUuidNames (produceExtensionsList "43");
|
||||
gnome44Extensions = mapUuidNames (produceExtensionsList "44");
|
||||
gnome45Extensions = mapUuidNames (produceExtensionsList "45");
|
||||
gnome46Extensions = mapUuidNames (produceExtensionsList "46");
|
||||
|
||||
# Keep the last three versions in here
|
||||
gnomeExtensions = lib.trivial.pipe (gnome43Extensions // gnome44Extensions // gnome45Extensions) [
|
||||
gnomeExtensions = lib.trivial.pipe (gnome44Extensions // gnome45Extensions // gnome46Extensions) [
|
||||
(v: builtins.removeAttrs v [ "__attrsFailEvaluation" ])
|
||||
# Apply some custom patches for automatically packaged extensions
|
||||
(callPackage ./extensionOverrides.nix {})
|
||||
|
@ -106,6 +106,14 @@ super: lib.trivial.pipe super [
|
||||
];
|
||||
}))
|
||||
|
||||
(patchExtension "mullvadindicator@pobega.github.com" (old: {
|
||||
patches = [
|
||||
# Patch from https://github.com/Pobega/gnome-shell-extension-mullvad-indicator/pull/36
|
||||
# tweaked to drop the Makefile changes to fix application
|
||||
./extensionOverridesPatches/mullvadindicator_at_pobega.github.com.patch
|
||||
];
|
||||
}))
|
||||
|
||||
(patchExtension "pano@elhan.io" (old: {
|
||||
patches = [
|
||||
(substituteAll {
|
||||
|
@ -0,0 +1,25 @@
|
||||
From ea472538fc73e9ab81e50183444dbb256d32ecc0 Mon Sep 17 00:00:00 2001
|
||||
From: Sergio Rubio <rubiojr@rbel.co>
|
||||
Date: Wed, 27 Mar 2024 20:43:38 +0100
|
||||
Subject: [PATCH] Bump GNOME desktop version
|
||||
|
||||
The extension is 46 compatible.
|
||||
|
||||
---
|
||||
metadata.json | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/metadata.json b/metadata.json
|
||||
index bc0e272..e647258 100644
|
||||
--- a/metadata.json
|
||||
+++ b/metadata.json
|
||||
@@ -3,7 +3,8 @@
|
||||
"description": "Mullvad connection status indicator",
|
||||
"uuid": "mullvadindicator@pobega.github.com",
|
||||
"shell-version": [
|
||||
- "45"
|
||||
+ "45",
|
||||
+ "46"
|
||||
],
|
||||
"url": "https://github.com/Pobega/gnome-shell-extension-mullvad-indicator",
|
||||
"settings-schema": "org.gnome.shell.extensions.MullvadIndicator",
|
File diff suppressed because one or more lines are too long
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-impatience";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "timbertson";
|
||||
repo = "gnome-shell-impatience";
|
||||
rev = "refs/tags/version-${version}";
|
||||
hash = "sha256-qvRPdRxAxlylR+MRp8RLzkxIMulzxPSWbhOQ2qNuyt4=";
|
||||
hash = "sha256-yBRnhdCDeA0bL+kkrmnIqyXAlhZzO2Vthc4Dnba80j4=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, lib, fetchFromGitHub, glib, gjs, typescript }:
|
||||
{ stdenv, lib, fetchFromGitHub, glib, gjs, typescript, unstableGitUpdater }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-pop-shell";
|
||||
version = "unstable-2023-11-10";
|
||||
version = "unstable-2024-04-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "shell";
|
||||
rev = "aafc9458a47a68c396933c637de00421f5198a2a";
|
||||
hash = "sha256-74lZbEYHj7fufRSbuI2SN9rqbB3gpRa0V96qjAFc01s=";
|
||||
rev = "cfa0c55e84b7ce339e5ce83832f76fee17e99d51";
|
||||
hash = "sha256-IQJtTMYCkKyjqDKoR35qsgQkvXIrGLq+qtMDOTkvy08=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ glib gjs typescript ];
|
||||
@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
|
||||
passthru = {
|
||||
extensionUuid = "pop-shell@system76.com";
|
||||
extensionPortalSlug = "pop-shell";
|
||||
updateScript = unstableGitUpdater { };
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -21,6 +21,7 @@ supported_versions = {
|
||||
"43": "43",
|
||||
"44": "44",
|
||||
"45": "45",
|
||||
"46": "46",
|
||||
}
|
||||
|
||||
# Some type alias to increase readability of complex compound types
|
||||
|
@ -1,5 +0,0 @@
|
||||
import ./generic.nix {
|
||||
version = "2.106.1";
|
||||
dmdSha256 = "sha256-vjYa/Pxrz7J2htXT+fa+xaeen/Vxne++lELbHTSXBK8=";
|
||||
phobosSha256 = "sha256-yRL9ub3u4mREG9PVxBvgQ/LDXD57RadPTZ2h08qyh/s=";
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
{ lowPrio, newScope, pkgs, lib, stdenv, cmake
|
||||
, preLibcCrossHeaders
|
||||
, fetchpatch
|
||||
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||
@ -114,7 +115,11 @@ let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
src = fetch "lld" "0qg3fgc7wj34hdkqn21y03zcmsdd01szhhm1hfki63iifrm3y2v9";
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
inherit (libraries) libunwind;
|
||||
};
|
||||
@ -258,13 +263,24 @@ let
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
src = fetch "libunwind" "192ww6n81lj2mb9pj4043z79jp3cf58a9c2qrxjwm5c3a64n1shb";
|
||||
patches = [
|
||||
./libunwind/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
inherit (buildLlvmTools) llvm;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
src = fetch "openmp" "14dh0r6h2xh747ffgnsl4z08h0ri04azi9vf79cbz7ma1r27kzk0";
|
||||
patches = [
|
||||
# Fix cross.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/5e2358c781b85a18d1463fd924d2741d4ae5e42e.patch";
|
||||
hash = "sha256-UxIlAifXnexF/MaraPW0Ut6q+sf3e7y1fMdEv1q103A=";
|
||||
})
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
@ -1,37 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta, version, fetch, libcxx, llvm, cmake
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libunwind";
|
||||
inherit version;
|
||||
|
||||
src = fetch pname "192ww6n81lj2mb9pj4043z79jp3cf58a9c2qrxjwm5c3a64n1shb";
|
||||
|
||||
postUnpack = ''
|
||||
ln -s ${libcxx.src}/libcxx .
|
||||
ln -s ${libcxx.src}/llvm .
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, fetch
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, llvm
|
||||
, targetLlvm
|
||||
, perl
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openmp";
|
||||
inherit version;
|
||||
|
||||
src = fetch pname "14dh0r6h2xh747ffgnsl4z08h0ri04azi9vf79cbz7ma1r27kzk0";
|
||||
|
||||
patches = [
|
||||
# Fix cross.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/5e2358c781b85a18d1463fd924d2741d4ae5e42e.patch";
|
||||
hash = "sha256-UxIlAifXnexF/MaraPW0Ut6q+sf3e7y1fMdEv1q103A=";
|
||||
})
|
||||
];
|
||||
|
||||
patchFlags = [ "-p2" ];
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
buildInputs = [
|
||||
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
|
||||
];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://openmp.llvm.org/";
|
||||
description = "Support for the OpenMP language";
|
||||
longDescription = ''
|
||||
The OpenMP subproject of LLVM contains the components required to build an
|
||||
executable OpenMP program that are outside the compiler itself.
|
||||
Contains the code for the runtime library against which code compiled by
|
||||
"clang -fopenmp" must be linked before it can run and the library that
|
||||
supports offload to target devices.
|
||||
'';
|
||||
# "All of the code is dual licensed under the MIT license and the UIUC
|
||||
# License (a BSD-like license)":
|
||||
license = with lib.licenses; [ mit ncsa ];
|
||||
};
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
{ lowPrio, newScope, pkgs, lib, stdenv, cmake
|
||||
, preLibcCrossHeaders
|
||||
, fetchpatch
|
||||
, libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith
|
||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||
@ -139,7 +140,10 @@ in let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
@ -296,12 +300,22 @@ in let
|
||||
monorepoSrc = src;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
patches = [
|
||||
./libunwind/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
patches = [
|
||||
# Fix cross.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/5e2358c781b85a18d1463fd924d2741d4ae5e42e.patch";
|
||||
hash = "sha256-UxIlAifXnexF/MaraPW0Ut6q+sf3e7y1fMdEv1q103A=";
|
||||
})
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
@ -1,33 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta, version, src, cmake
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libunwind";
|
||||
inherit version;
|
||||
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta
|
||||
, buildLlvmTools
|
||||
, src
|
||||
, cmake
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lld";
|
||||
inherit version;
|
||||
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
# On Darwin the llvm-config is perhaps not working fine as the
|
||||
# LLVM_MAIN_SRC_DIR is not getting set correctly, and the build fails as the
|
||||
# include path is not correct.
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace MachO/CMakeLists.txt --replace \
|
||||
'(''${LLVM_MAIN_SRC_DIR}/' '(../'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
];
|
||||
|
||||
# Musl's default stack size is too small for lld to be able to link Firefox.
|
||||
LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://lld.llvm.org/";
|
||||
description = "The LLVM linker (unwrapped)";
|
||||
longDescription = ''
|
||||
LLD is a linker from the LLVM project that is a drop-in replacement for
|
||||
system linkers and runs much faster than them. It also provides features
|
||||
that are useful for toolchain developers.
|
||||
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
|
||||
WebAssembly in descending order of completeness. Internally, LLD consists
|
||||
of several different linkers.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,53 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, src
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, llvm
|
||||
, targetLlvm
|
||||
, perl
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openmp";
|
||||
inherit version;
|
||||
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
# Fix cross.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/5e2358c781b85a18d1463fd924d2741d4ae5e42e.patch";
|
||||
hash = "sha256-UxIlAifXnexF/MaraPW0Ut6q+sf3e7y1fMdEv1q103A=";
|
||||
})
|
||||
];
|
||||
|
||||
patchFlags = [ "-p2" ];
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
buildInputs = [
|
||||
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" # Building the AMDGCN device RTL currently fails
|
||||
];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://openmp.llvm.org/";
|
||||
description = "Support for the OpenMP language";
|
||||
longDescription = ''
|
||||
The OpenMP subproject of LLVM contains the components required to build an
|
||||
executable OpenMP program that are outside the compiler itself.
|
||||
Contains the code for the runtime library against which code compiled by
|
||||
"clang -fopenmp" must be linked before it can run and the library that
|
||||
supports offload to target devices.
|
||||
'';
|
||||
# "All of the code is dual licensed under the MIT license and the UIUC
|
||||
# License (a BSD-like license)":
|
||||
license = with lib.licenses; [ mit ncsa ];
|
||||
};
|
||||
}
|
@ -136,7 +136,11 @@ in let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
./lld/fix-root-src-dir.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
@ -294,12 +298,19 @@ in let
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
patches = [
|
||||
./libunwind/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
patches = [
|
||||
./openmp/gnu-install-dirs.patch
|
||||
./openmp/run-lit-directly.patch
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
@ -1,47 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta, version
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libunwind";
|
||||
inherit version;
|
||||
|
||||
# I am not so comfortable giving libc++ and friends the whole monorepo as
|
||||
# requested, so I filter it to what is needed.
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx"
|
||||
mkdir -p "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta
|
||||
, buildLlvmTools
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lld";
|
||||
inherit version;
|
||||
|
||||
# Blank llvm dir just so relative path works
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libunwind"
|
||||
cp -r ${monorepoSrc}/libunwind/include "$out/libunwind"
|
||||
mkdir -p "$out/llvm"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
# On Darwin the llvm-config is perhaps not working fine as the
|
||||
# LLVM_MAIN_SRC_DIR is not getting set correctly, and the build fails as
|
||||
# the include path is not correct.
|
||||
./fix-root-src-dir.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
];
|
||||
|
||||
# Musl's default stack size is too small for lld to be able to link Firefox.
|
||||
LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://lld.llvm.org/";
|
||||
description = "The LLVM linker (unwrapped)";
|
||||
longDescription = ''
|
||||
LLD is a linker from the LLVM project that is a drop-in replacement for
|
||||
system linkers and runs much faster than them. It also provides features
|
||||
that are useful for toolchain developers.
|
||||
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
|
||||
WebAssembly in descending order of completeness. Internally, LLD consists
|
||||
of several different linkers.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,69 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, monorepoSrc
|
||||
, runCommand
|
||||
, cmake
|
||||
, llvm
|
||||
, targetLlvm
|
||||
, lit
|
||||
, clang-unwrapped
|
||||
, perl
|
||||
, pkg-config
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openmp";
|
||||
inherit version;
|
||||
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
./run-lit-directly.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake perl pkg-config lit ];
|
||||
buildInputs = [
|
||||
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
|
||||
];
|
||||
|
||||
# Unsup:Pass:XFail:Fail
|
||||
# 26:267:16:8
|
||||
doCheck = false;
|
||||
checkTarget = "check-openmp";
|
||||
|
||||
preCheck = ''
|
||||
patchShebangs ../tools/archer/tests/deflake.bash
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCLANG_TOOL=${clang-unwrapped}/bin/clang"
|
||||
"-DOPT_TOOL=${llvm}/bin/opt"
|
||||
"-DLINK_TOOL=${llvm}/bin/llvm-link"
|
||||
];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://openmp.llvm.org/";
|
||||
description = "Support for the OpenMP language";
|
||||
longDescription = ''
|
||||
The OpenMP subproject of LLVM contains the components required to build an
|
||||
executable OpenMP program that are outside the compiler itself.
|
||||
Contains the code for the runtime library against which code compiled by
|
||||
"clang -fopenmp" must be linked before it can run and the library that
|
||||
supports offload to target devices.
|
||||
'';
|
||||
# "All of the code is dual licensed under the MIT license and the UIUC
|
||||
# License (a BSD-like license)":
|
||||
license = with lib.licenses; [ mit ncsa ];
|
||||
};
|
||||
}
|
@ -141,7 +141,10 @@ in let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
@ -312,12 +315,20 @@ in let
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
patches = [
|
||||
./libunwind/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
patches = [
|
||||
./openmp/fix-find-tool.patch
|
||||
./openmp/gnu-install-dirs.patch
|
||||
./openmp/run-lit-directly.patch
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
@ -1,67 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta, version
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, python3
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libunwind";
|
||||
inherit version;
|
||||
|
||||
# I am not so comfortable giving libc++ and friends the whole monorepo as
|
||||
# requested, so I filter it to what is needed.
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx"
|
||||
mkdir -p "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
|
||||
cp -r ${monorepoSrc}/runtimes "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/runtimes";
|
||||
|
||||
prePatch = ''
|
||||
cd ../${pname}
|
||||
chmod -R u+w .
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cd ../runtimes
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) ''
|
||||
# libcxxabi wants to link to libunwind_shared.so (?).
|
||||
ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so
|
||||
'';
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLVM_ENABLE_RUNTIMES=libunwind"
|
||||
] ++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta
|
||||
, buildLlvmTools
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lld";
|
||||
inherit version;
|
||||
|
||||
# Blank llvm dir just so relative path works
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libunwind"
|
||||
cp -r ${monorepoSrc}/libunwind/include "$out/libunwind"
|
||||
mkdir -p "$out/llvm"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja ];
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
];
|
||||
|
||||
# Musl's default stack size is too small for lld to be able to link Firefox.
|
||||
LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://lld.llvm.org/";
|
||||
description = "The LLVM linker (unwrapped)";
|
||||
longDescription = ''
|
||||
LLD is a linker from the LLVM project that is a drop-in replacement for
|
||||
system linkers and runs much faster than them. It also provides features
|
||||
that are useful for toolchain developers.
|
||||
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
|
||||
WebAssembly in descending order of completeness. Internally, LLD consists
|
||||
of several different linkers.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,74 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, monorepoSrc
|
||||
, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, llvm
|
||||
, targetLlvm
|
||||
, lit
|
||||
, clang-unwrapped
|
||||
, perl
|
||||
, pkg-config
|
||||
, xcbuild
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openmp";
|
||||
inherit version;
|
||||
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./fix-find-tool.patch
|
||||
./gnu-install-dirs.patch
|
||||
./run-lit-directly.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja perl pkg-config lit ];
|
||||
buildInputs = [
|
||||
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
|
||||
];
|
||||
|
||||
nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild.xcrun;
|
||||
|
||||
# Unsup:Pass:XFail:Fail
|
||||
# 26:267:16:8
|
||||
doCheck = false;
|
||||
checkTarget = "check-openmp";
|
||||
|
||||
preCheck = ''
|
||||
patchShebangs ../tools/archer/tests/deflake.bash
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCLANG_TOOL=${clang-unwrapped}/bin/clang"
|
||||
"-DOPT_TOOL=${llvm}/bin/opt"
|
||||
"-DLINK_TOOL=${llvm}/bin/llvm-link"
|
||||
];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://openmp.llvm.org/";
|
||||
description = "Support for the OpenMP language";
|
||||
longDescription = ''
|
||||
The OpenMP subproject of LLVM contains the components required to build an
|
||||
executable OpenMP program that are outside the compiler itself.
|
||||
Contains the code for the runtime library against which code compiled by
|
||||
"clang -fopenmp" must be linked before it can run and the library that
|
||||
supports offload to target devices.
|
||||
'';
|
||||
# "All of the code is dual licensed under the MIT license and the UIUC
|
||||
# License (a BSD-like license)":
|
||||
license = with lib.licenses; [ mit ncsa ];
|
||||
};
|
||||
}
|
@ -141,7 +141,11 @@ in let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
./lld/add-table-base.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
@ -327,12 +331,20 @@ in let
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
patches = [
|
||||
./libunwind/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
patches = [
|
||||
./openmp/fix-find-tool.patch
|
||||
./openmp/gnu-install-dirs.patch
|
||||
./openmp/run-lit-directly.patch
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
@ -1,67 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta, version
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, python3
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libunwind";
|
||||
inherit version;
|
||||
|
||||
# I am not so comfortable giving libc++ and friends the whole monorepo as
|
||||
# requested, so I filter it to what is needed.
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx"
|
||||
mkdir -p "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
|
||||
cp -r ${monorepoSrc}/runtimes "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/runtimes";
|
||||
|
||||
prePatch = ''
|
||||
cd ../${pname}
|
||||
chmod -R u+w .
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cd ../runtimes
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) ''
|
||||
# libcxxabi wants to link to libunwind_shared.so (?).
|
||||
ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so
|
||||
'';
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLVM_ENABLE_RUNTIMES=libunwind"
|
||||
] ++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta
|
||||
, buildLlvmTools
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lld";
|
||||
inherit version;
|
||||
|
||||
# Blank llvm dir just so relative path works
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libunwind"
|
||||
cp -r ${monorepoSrc}/libunwind/include "$out/libunwind"
|
||||
mkdir -p "$out/llvm"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
./add-table-base.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja ];
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
];
|
||||
|
||||
# Musl's default stack size is too small for lld to be able to link Firefox.
|
||||
LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://lld.llvm.org/";
|
||||
description = "The LLVM linker (unwrapped)";
|
||||
longDescription = ''
|
||||
LLD is a linker from the LLVM project that is a drop-in replacement for
|
||||
system linkers and runs much faster than them. It also provides features
|
||||
that are useful for toolchain developers.
|
||||
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
|
||||
WebAssembly in descending order of completeness. Internally, LLD consists
|
||||
of several different linkers.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,74 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, monorepoSrc
|
||||
, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, llvm
|
||||
, targetLlvm
|
||||
, lit
|
||||
, clang-unwrapped
|
||||
, perl
|
||||
, pkg-config
|
||||
, xcbuild
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openmp";
|
||||
inherit version;
|
||||
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./fix-find-tool.patch
|
||||
./gnu-install-dirs.patch
|
||||
./run-lit-directly.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja perl pkg-config lit ];
|
||||
buildInputs = [
|
||||
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
|
||||
];
|
||||
|
||||
nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild.xcrun;
|
||||
|
||||
# Unsup:Pass:XFail:Fail
|
||||
# 26:267:16:8
|
||||
doCheck = false;
|
||||
checkTarget = "check-openmp";
|
||||
|
||||
preCheck = ''
|
||||
patchShebangs ../tools/archer/tests/deflake.bash
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCLANG_TOOL=${clang-unwrapped}/bin/clang"
|
||||
"-DOPT_TOOL=${llvm}/bin/opt"
|
||||
"-DLINK_TOOL=${llvm}/bin/llvm-link"
|
||||
];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://openmp.llvm.org/";
|
||||
description = "Support for the OpenMP language";
|
||||
longDescription = ''
|
||||
The OpenMP subproject of LLVM contains the components required to build an
|
||||
executable OpenMP program that are outside the compiler itself.
|
||||
Contains the code for the runtime library against which code compiled by
|
||||
"clang -fopenmp" must be linked before it can run and the library that
|
||||
supports offload to target devices.
|
||||
'';
|
||||
# "All of the code is dual licensed under the MIT license and the UIUC
|
||||
# License (a BSD-like license)":
|
||||
license = with lib.licenses; [ mit ncsa ];
|
||||
};
|
||||
}
|
@ -136,7 +136,11 @@ in let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
./lld/add-table-base.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
@ -312,12 +316,17 @@ in let
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
inherit llvm_meta;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
patches = [
|
||||
./openmp/fix-find-tool.patch
|
||||
./openmp/gnu-install-dirs.patch
|
||||
./openmp/run-lit-directly.patch
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
@ -1,63 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta, version
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, python3
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libunwind";
|
||||
inherit version;
|
||||
|
||||
# I am not so comfortable giving libc++ and friends the whole monorepo as
|
||||
# requested, so I filter it to what is needed.
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx"
|
||||
mkdir -p "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
|
||||
cp -r ${monorepoSrc}/runtimes "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/runtimes";
|
||||
|
||||
prePatch = ''
|
||||
cd ../${pname}
|
||||
chmod -R u+w .
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
cd ../runtimes
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) ''
|
||||
# libcxxabi wants to link to libunwind_shared.so (?).
|
||||
ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so
|
||||
'';
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLVM_ENABLE_RUNTIMES=libunwind"
|
||||
] ++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta
|
||||
, buildLlvmTools
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lld";
|
||||
inherit version;
|
||||
|
||||
# Blank llvm dir just so relative path works
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libunwind"
|
||||
cp -r ${monorepoSrc}/libunwind/include "$out/libunwind"
|
||||
mkdir -p "$out/llvm"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
./add-table-base.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja ];
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
];
|
||||
|
||||
# Musl's default stack size is too small for lld to be able to link Firefox.
|
||||
LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://lld.llvm.org/";
|
||||
description = "The LLVM linker (unwrapped)";
|
||||
longDescription = ''
|
||||
LLD is a linker from the LLVM project that is a drop-in replacement for
|
||||
system linkers and runs much faster than them. It also provides features
|
||||
that are useful for toolchain developers.
|
||||
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
|
||||
WebAssembly in descending order of completeness. Internally, LLD consists
|
||||
of several different linkers.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,74 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, monorepoSrc
|
||||
, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, llvm
|
||||
, targetLlvm
|
||||
, lit
|
||||
, clang-unwrapped
|
||||
, perl
|
||||
, pkg-config
|
||||
, xcbuild
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openmp";
|
||||
inherit version;
|
||||
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./fix-find-tool.patch
|
||||
./gnu-install-dirs.patch
|
||||
./run-lit-directly.patch
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja perl pkg-config lit ];
|
||||
buildInputs = [
|
||||
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
|
||||
];
|
||||
|
||||
nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild.xcrun;
|
||||
|
||||
# Unsup:Pass:XFail:Fail
|
||||
# 26:267:16:8
|
||||
doCheck = false;
|
||||
checkTarget = "check-openmp";
|
||||
|
||||
preCheck = ''
|
||||
patchShebangs ../tools/archer/tests/deflake.bash
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCLANG_TOOL=${clang-unwrapped}/bin/clang"
|
||||
"-DOPT_TOOL=${llvm}/bin/opt"
|
||||
"-DLINK_TOOL=${llvm}/bin/llvm-link"
|
||||
];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://openmp.llvm.org/";
|
||||
description = "Support for the OpenMP language";
|
||||
longDescription = ''
|
||||
The OpenMP subproject of LLVM contains the components required to build an
|
||||
executable OpenMP program that are outside the compiler itself.
|
||||
Contains the code for the runtime library against which code compiled by
|
||||
"clang -fopenmp" must be linked before it can run and the library that
|
||||
supports offload to target devices.
|
||||
'';
|
||||
# "All of the code is dual licensed under the MIT license and the UIUC
|
||||
# License (a BSD-like license)":
|
||||
license = with lib.licenses; [ mit ncsa ];
|
||||
};
|
||||
}
|
@ -136,7 +136,10 @@ in let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
@ -312,12 +315,16 @@ in let
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
inherit llvm_meta;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
patches = [
|
||||
./openmp/fix-find-tool.patch
|
||||
./openmp/run-lit-directly.patch
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
@ -1,54 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta, version
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, python3
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libunwind";
|
||||
inherit version;
|
||||
|
||||
# I am not so comfortable giving libc++ and friends the whole monorepo as
|
||||
# requested, so I filter it to what is needed.
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx"
|
||||
mkdir -p "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
|
||||
cp -r ${monorepoSrc}/runtimes "$out"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/runtimes";
|
||||
|
||||
postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) ''
|
||||
# libcxxabi wants to link to libunwind_shared.so (?).
|
||||
ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so
|
||||
'';
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja python3 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLVM_ENABLE_RUNTIMES=libunwind"
|
||||
] ++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
{ lib, stdenv, llvm_meta
|
||||
, buildLlvmTools
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lld";
|
||||
inherit version;
|
||||
|
||||
# Blank llvm dir just so relative path works
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libunwind"
|
||||
cp -r ${monorepoSrc}/libunwind/include "$out/libunwind"
|
||||
mkdir -p "$out/llvm"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
nativeBuildInputs = [ cmake ninja ];
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
];
|
||||
|
||||
# Musl's default stack size is too small for lld to be able to link Firefox.
|
||||
LDFLAGS = lib.optionalString stdenv.hostPlatform.isMusl "-Wl,-z,stack-size=2097152";
|
||||
|
||||
outputs = [ "out" "lib" "dev" ];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://lld.llvm.org/";
|
||||
description = "The LLVM linker (unwrapped)";
|
||||
longDescription = ''
|
||||
LLD is a linker from the LLVM project that is a drop-in replacement for
|
||||
system linkers and runs much faster than them. It also provides features
|
||||
that are useful for toolchain developers.
|
||||
The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and
|
||||
WebAssembly in descending order of completeness. Internally, LLD consists
|
||||
of several different linkers.
|
||||
'';
|
||||
};
|
||||
}
|
87
pkgs/development/compilers/llvm/common/libunwind/default.nix
Normal file
87
pkgs/development/compilers/llvm/common/libunwind/default.nix
Normal file
@ -0,0 +1,87 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, release_version
|
||||
, patches ? []
|
||||
, src ? null
|
||||
, llvm_meta
|
||||
, version
|
||||
, monorepoSrc ? null
|
||||
, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, python3
|
||||
, libcxx
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
let
|
||||
pname = "libunwind";
|
||||
src' = if monorepoSrc != null then
|
||||
runCommand "${pname}-src-${version}" {} (''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx"
|
||||
cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx"
|
||||
mkdir -p "$out/llvm"
|
||||
cp -r ${monorepoSrc}/llvm/cmake "$out/llvm"
|
||||
'' + lib.optionalString (lib.versionAtLeast release_version "15") ''
|
||||
cp -r ${monorepoSrc}/llvm/utils "$out/llvm"
|
||||
cp -r ${monorepoSrc}/runtimes "$out"
|
||||
'') else src;
|
||||
|
||||
hasPatches = builtins.length patches > 0;
|
||||
|
||||
postUnpack = lib.optionalString (lib.versions.major release_version == "12") ''
|
||||
ln -s ${libcxx.src}/libcxx .
|
||||
ln -s ${libcxx.src}/llvm .
|
||||
'';
|
||||
|
||||
prePatch = lib.optionalString (lib.versionAtLeast release_version "15" && (hasPatches || lib.versionOlder release_version "18")) ''
|
||||
cd ../${pname}
|
||||
chmod -R u+w .
|
||||
'';
|
||||
|
||||
postPatch = lib.optionalString (lib.versionAtLeast release_version "15" && (hasPatches || lib.versionOlder release_version "18")) ''
|
||||
cd ../runtimes
|
||||
'';
|
||||
|
||||
postInstall = lib.optionalString (enableShared && !stdenv.hostPlatform.isDarwin) ''
|
||||
# libcxxabi wants to link to libunwind_shared.so (?).
|
||||
ln -s $out/lib/libunwind.so $out/lib/libunwind_shared.so
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation (rec {
|
||||
inherit pname version patches;
|
||||
|
||||
src = src';
|
||||
|
||||
sourceRoot =
|
||||
if lib.versionOlder release_version "13" then null
|
||||
else if lib.versionAtLeast release_version "15" then "${src.name}/runtimes"
|
||||
else "${src.name}/${pname}";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ] ++ lib.optionals (lib.versionAtLeast release_version "15") [
|
||||
ninja python3
|
||||
];
|
||||
|
||||
cmakeFlags = lib.optional (lib.versionAtLeast release_version "15") "-DLLVM_ENABLE_RUNTIMES=libunwind"
|
||||
++ lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
|
||||
|
||||
meta = llvm_meta // {
|
||||
# Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst
|
||||
homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library";
|
||||
description = "LLVM's unwinder library";
|
||||
longDescription = ''
|
||||
The unwind library provides a family of _Unwind_* functions implementing
|
||||
the language-neutral stack unwinding portion of the Itanium C++ ABI (Level
|
||||
I). It is a dependency of the C++ ABI library, and sometimes is a
|
||||
dependency of other runtimes.
|
||||
'';
|
||||
};
|
||||
} // (if postUnpack != "" then { inherit postUnpack; } else {})
|
||||
// (if (lib.versionAtLeast release_version "15") then { inherit postInstall; } else {})
|
||||
// (if prePatch != "" then { inherit prePatch; } else {})
|
||||
// (if postPatch != "" then { inherit postPatch; } else {}))
|
@ -1,35 +1,58 @@
|
||||
{ lib, stdenv, llvm_meta
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, release_version
|
||||
, patches ? []
|
||||
, buildLlvmTools
|
||||
, fetch
|
||||
, libunwind
|
||||
, monorepoSrc ? null
|
||||
, src ? null
|
||||
, libunwind ? null
|
||||
, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
pname = "lld";
|
||||
inherit version;
|
||||
src' =
|
||||
if monorepoSrc != null then
|
||||
runCommand "lld-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
mkdir -p "$out/libunwind"
|
||||
cp -r ${monorepoSrc}/libunwind/include "$out/libunwind"
|
||||
mkdir -p "$out/llvm"
|
||||
'' else src;
|
||||
|
||||
src = fetch pname "0qg3fgc7wj34hdkqn21y03zcmsdd01szhhm1hfki63iifrm3y2v9";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
postPatch = lib.optionalString (lib.versions.major release_version == "12") ''
|
||||
substituteInPlace MachO/CMakeLists.txt --replace \
|
||||
'(''${LLVM_MAIN_SRC_DIR}/' '('
|
||||
mkdir -p libunwind/include
|
||||
tar -xf "${libunwind.src}" --wildcards -C libunwind/include --strip-components=2 "libunwind-*/include/"
|
||||
'' + lib.optionalString (lib.versions.major release_version == "13" && stdenv.isDarwin) ''
|
||||
substituteInPlace MachO/CMakeLists.txt --replace \
|
||||
'(''${LLVM_MAIN_SRC_DIR}/' '(../'
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation (rec {
|
||||
inherit pname version patches;
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
src = src';
|
||||
|
||||
sourceRoot =
|
||||
if lib.versionOlder release_version "13" then null
|
||||
else "${src.name}/${pname}";
|
||||
|
||||
nativeBuildInputs = [ cmake ] ++ lib.optional (lib.versionAtLeast release_version "15") ninja;
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
cmakeFlags = [
|
||||
cmakeFlags = lib.optionals (lib.versionOlder release_version "14") [
|
||||
"-DLLVM_CONFIG_PATH=${libllvm.dev}/bin/llvm-config${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) "-native"}"
|
||||
] ++ lib.optionals (lib.versionAtLeast release_version "15") [
|
||||
"-DLLD_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/lld"
|
||||
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
];
|
||||
@ -51,4 +74,4 @@ stdenv.mkDerivation rec {
|
||||
of several different linkers.
|
||||
'';
|
||||
};
|
||||
}
|
||||
} // (if (postPatch == "" && lib.versions.major release_version != "13") then {} else { inherit postPatch; }))
|
@ -1,7 +1,10 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, llvm_meta
|
||||
, monorepoSrc
|
||||
, release_version
|
||||
, patches ? []
|
||||
, monorepoSrc ? null
|
||||
, src ? null
|
||||
, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
@ -14,43 +17,47 @@
|
||||
, xcbuild
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
let
|
||||
pname = "openmp";
|
||||
inherit version;
|
||||
src' =
|
||||
if monorepoSrc != null then
|
||||
runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
'' else src;
|
||||
in
|
||||
stdenv.mkDerivation (rec {
|
||||
inherit pname version patches;
|
||||
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
'';
|
||||
src = src';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
sourceRoot =
|
||||
if lib.versionOlder release_version "13" then null
|
||||
else "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./fix-find-tool.patch
|
||||
./run-lit-directly.patch
|
||||
outputs = [ "out" ]
|
||||
++ lib.optionals (lib.versionAtLeast release_version "14") [ "dev" ];
|
||||
|
||||
patchFlags =
|
||||
if lib.versionOlder release_version "14" then [ "-p2" ]
|
||||
else null;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
] ++ lib.optionals (lib.versionAtLeast release_version "15") [
|
||||
ninja
|
||||
] ++ [ perl ] ++ lib.optionals (lib.versionAtLeast release_version "14") [
|
||||
pkg-config lit
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja perl pkg-config lit ];
|
||||
buildInputs = [
|
||||
(if stdenv.buildPlatform == stdenv.hostPlatform then llvm else targetLlvm)
|
||||
];
|
||||
|
||||
nativeCheckInputs = lib.optional stdenv.hostPlatform.isDarwin xcbuild.xcrun;
|
||||
|
||||
# Unsup:Pass:XFail:Fail
|
||||
# 26:267:16:8
|
||||
doCheck = false;
|
||||
checkTarget = "check-openmp";
|
||||
|
||||
preCheck = ''
|
||||
patchShebangs ../tools/archer/tests/deflake.bash
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
cmakeFlags = lib.optionals (lib.versions.major release_version == "13") [
|
||||
"-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" # Building the AMDGCN device RTL fails
|
||||
] ++ lib.optionals (lib.versionAtLeast release_version "14") [
|
||||
"-DCLANG_TOOL=${clang-unwrapped}/bin/clang"
|
||||
"-DOPT_TOOL=${llvm}/bin/opt"
|
||||
"-DLINK_TOOL=${llvm}/bin/llvm-link"
|
||||
@ -70,4 +77,10 @@ stdenv.mkDerivation rec {
|
||||
# License (a BSD-like license)":
|
||||
license = with lib.licenses; [ mit ncsa ];
|
||||
};
|
||||
}
|
||||
} // (lib.optionalAttrs (lib.versionAtLeast release_version "14") {
|
||||
doCheck = false;
|
||||
checkTarget = "check-openmp";
|
||||
preCheck = ''
|
||||
patchShebangs ../tools/archer/tests/deflake.bash
|
||||
'';
|
||||
}))
|
@ -81,6 +81,8 @@ stdenv.mkDerivation {
|
||||
# `COMPILER_RT_DEFAULT_TARGET_ONLY` does not apply to Darwin:
|
||||
# https://github.com/llvm/llvm-project/blob/27ef42bec80b6c010b7b3729ed0528619521a690/compiler-rt/cmake/base-config-ix.cmake#L153
|
||||
"-DCOMPILER_RT_ENABLE_IOS=OFF"
|
||||
] ++ lib.optionals (lib.versionAtLeast version "19" && stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13") [
|
||||
"-DSANITIZER_MIN_OSX_VERSION=10.10"
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
@ -19,9 +19,9 @@
|
||||
# LLVM release information; specify one of these but not both:
|
||||
, gitRelease ? {
|
||||
version = "19.0.0-git";
|
||||
rev = "65058a8d732c3c41664a4dad1a1ae2a504d5c98e";
|
||||
rev-version = "19.0.0-unstable-2024-03-16";
|
||||
sha256 = "sha256-xV33kx/8OZ2KLtaz25RmudDrlIX7nScauTykf87jyTE=";
|
||||
rev = "cebf77fb936a7270c7e3fa5c4a7e76216321d385";
|
||||
rev-version = "19.0.0-unstable-2024-04-07";
|
||||
sha256 = "sha256-616tscgsiFgHQcXW4KzK5srrudYizQFnJVM6K0qRf+I=";
|
||||
}
|
||||
# i.e.:
|
||||
# {
|
||||
@ -141,7 +141,10 @@ in let
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld {
|
||||
lld = callPackage ../common/lld {
|
||||
patches = [
|
||||
./lld/gnu-install-dirs.patch
|
||||
];
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
@ -317,12 +320,16 @@ in let
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
libunwind = callPackage ./libunwind {
|
||||
libunwind = callPackage ../common/libunwind {
|
||||
inherit llvm_meta;
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
|
||||
};
|
||||
|
||||
openmp = callPackage ./openmp {
|
||||
openmp = callPackage ../common/openmp {
|
||||
patches = [
|
||||
./openmp/fix-find-tool.patch
|
||||
./openmp/run-lit-directly.patch
|
||||
];
|
||||
inherit llvm_meta targetLlvm;
|
||||
};
|
||||
});
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user