mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-28 10:50:15 +00:00
Merge master into haskell-updates
This commit is contained in:
5
.github/workflows/no-channel.yml
vendored
5
.github/workflows/no-channel.yml
vendored
@@ -6,8 +6,13 @@ on:
|
||||
- 'nixos-**'
|
||||
- 'nixpkgs-**'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
fail:
|
||||
permissions:
|
||||
contents: none
|
||||
name: "This PR is is targeting a channel branch"
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
4
.github/workflows/periodic-merge-24h.yml
vendored
4
.github/workflows/periodic-merge-24h.yml
vendored
@@ -28,10 +28,6 @@ jobs:
|
||||
pairs:
|
||||
- from: master
|
||||
into: haskell-updates
|
||||
- from: release-21.11
|
||||
into: staging-next-21.11
|
||||
- from: staging-next-21.11
|
||||
into: staging-21.11
|
||||
- from: release-22.05
|
||||
into: staging-next-22.05
|
||||
- from: staging-next-22.05
|
||||
|
||||
@@ -5,8 +5,15 @@ on:
|
||||
- cron: "14 3 * * 1"
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
tf-providers:
|
||||
permissions:
|
||||
contents: write # for peter-evans/create-pull-request to create branch
|
||||
issues: write # for peter-evans/create-or-update-comment to create or update comment
|
||||
pull-requests: write # for peter-evans/create-pull-request to create a PR
|
||||
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
@@ -81,7 +81,7 @@ with lib;
|
||||
|
||||
|
||||
# Create the initrd
|
||||
system.build.netbootRamdisk = pkgs.makeInitrd {
|
||||
system.build.netbootRamdisk = pkgs.makeInitrdNG {
|
||||
inherit (config.boot.initrd) compressor;
|
||||
prepend = [ "${config.system.build.initialRamdisk}/initrd" ];
|
||||
|
||||
|
||||
@@ -33,21 +33,26 @@
|
||||
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
|
||||
installation instructions of Synapse </link>.
|
||||
<programlisting>
|
||||
{ pkgs, lib, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
fqdn =
|
||||
let
|
||||
join = hostName: domain: hostName + lib.optionalString (domain != null) ".${domain}";
|
||||
in join config.networking.hostName config.networking.domain;
|
||||
in {
|
||||
networking = {
|
||||
<link linkend="opt-networking.hostName">hostName</link> = "myhostname";
|
||||
<link linkend="opt-networking.domain">domain</link> = "example.org";
|
||||
fqdn = "${config.networking.hostName}.${config.networking.domain}";
|
||||
clientConfig = {
|
||||
"m.homeserver".base_url = "https://${fqdn}";
|
||||
"m.identity_server" = {};
|
||||
};
|
||||
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
|
||||
serverConfig."m.server" = "${config.services.matrix-synapse.settings.server_name}:443";
|
||||
mkWellKnown = data: ''
|
||||
add_header Content-Type application/json;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
return 200 '${builtins.toJSON data}';
|
||||
'';
|
||||
in {
|
||||
<xref linkend="opt-networking.hostName" /> = "myhostname";
|
||||
<xref linkend="opt-networking.domain" /> = "example.org";
|
||||
<xref linkend="opt-networking.firewall.allowedTCPPorts" /> = [ 80 443 ];
|
||||
|
||||
<link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true;
|
||||
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = pkgs.writeText "synapse-init.sql" ''
|
||||
<xref linkend="opt-services.postgresql.enable" /> = true;
|
||||
<xref linkend="opt-services.postgresql.initialScript" /> = pkgs.writeText "synapse-init.sql" ''
|
||||
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
|
||||
CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
|
||||
TEMPLATE template0
|
||||
@@ -57,78 +62,41 @@ in {
|
||||
|
||||
services.nginx = {
|
||||
<link linkend="opt-services.nginx.enable">enable</link> = true;
|
||||
# only recommendedProxySettings and recommendedGzipSettings are strictly required,
|
||||
# but the rest make sense as well
|
||||
<link linkend="opt-services.nginx.recommendedTlsSettings">recommendedTlsSettings</link> = true;
|
||||
<link linkend="opt-services.nginx.recommendedOptimisation">recommendedOptimisation</link> = true;
|
||||
<link linkend="opt-services.nginx.recommendedGzipSettings">recommendedGzipSettings</link> = true;
|
||||
<link linkend="opt-services.nginx.recommendedProxySettings">recommendedProxySettings</link> = true;
|
||||
|
||||
<link linkend="opt-services.nginx.virtualHosts">virtualHosts</link> = {
|
||||
# This host section can be placed on a different host than the rest,
|
||||
# i.e. to delegate from the host being accessible as ${config.networking.domain}
|
||||
# to another host actually running the Matrix homeserver.
|
||||
"${config.networking.domain}" = {
|
||||
"${config.networking.domain}" = { <co xml:id='ex-matrix-synapse-dns' />
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.forceSSL">forceSSL</link> = true;
|
||||
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."= /.well-known/matrix/server".extraConfig</link> =
|
||||
let
|
||||
# use 443 instead of the default 8448 port to unite
|
||||
# the client-server and server-server port for simplicity
|
||||
server = { "m.server" = "${fqdn}:443"; };
|
||||
in ''
|
||||
add_header Content-Type application/json;
|
||||
return 200 '${builtins.toJSON server}';
|
||||
'';
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."= /.well-known/matrix/client".extraConfig</link> =
|
||||
let
|
||||
client = {
|
||||
"m.homeserver" = { "base_url" = "https://${fqdn}"; };
|
||||
"m.identity_server" = { "base_url" = "https://vector.im"; };
|
||||
};
|
||||
# ACAO required to allow element-web on any URL to request this json file
|
||||
in ''
|
||||
add_header Content-Type application/json;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
return 200 '${builtins.toJSON client}';
|
||||
'';
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."= /.well-known/matrix/server".extraConfig</link> = mkWellKnown serverConfig; <co xml:id='ex-matrix-synapse-well-known-server' />
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."= /.well-known/matrix/client".extraConfig</link> = mkWellKnown clientConfig; <co xml:id='ex-matrix-synapse-well-known-client' />
|
||||
};
|
||||
|
||||
# Reverse proxy for Matrix client-server and server-server communication
|
||||
${fqdn} = {
|
||||
"${fqdn}" = {
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.forceSSL">forceSSL</link> = true;
|
||||
|
||||
# Or do a redirect instead of the 404, or whatever is appropriate for you.
|
||||
# But do not put a Matrix Web client here! See the Element web section below.
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."/".extraConfig</link> = ''
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."/".extraConfig</link> = '' <co xml:id='ex-matrix-synapse-rev-default' />
|
||||
return 404;
|
||||
'';
|
||||
|
||||
# forward all Matrix API calls to the synapse Matrix homeserver
|
||||
locations."/_matrix" = {
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.proxyPass">proxyPass</link> = "http://[::1]:8008"; # without a trailing /
|
||||
};
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.proxyPass">locations."/_matrix".proxyPass</link> = "http://[::1]:8008"; <co xml:id='ex-matrix-synapse-rev-proxy-pass' />
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.proxyPass">locations."/_synapse/client".proxyPass</link> = "http://[::1]:8008"; <co xml:id='ex-matrix-synapse-rev-client' />
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.matrix-synapse = {
|
||||
<link linkend="opt-services.matrix-synapse.enable">enable</link> = true;
|
||||
<link linkend="opt-services.matrix-synapse.settings.server_name">server_name</link> = config.networking.domain;
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners">listeners</link> = [
|
||||
{
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.port">port</link> = 8008;
|
||||
<link linkend="opt-services.matrix-synapse.settings.server_name">settings.server_name</link> = config.networking.domain;
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners">settings.listeners</link> = [
|
||||
{ <link linkend="opt-services.matrix-synapse.settings.listeners._.port">port</link> = 8008;
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.bind_addresses">bind_addresses</link> = [ "::1" ];
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.type">type</link> = "http";
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.tls">tls</link> = false;
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.x_forwarded">x_forwarded</link> = true;
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.resources">resources</link> = [ {
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.resources._.names">names</link> = [ "client" ];
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.resources._.names">names</link> = [ "client" "federation" ];
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.resources._.compress">compress</link> = true;
|
||||
} {
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.resources._.names">names</link> = [ "federation" ];
|
||||
<link linkend="opt-services.matrix-synapse.settings.listeners._.resources._.compress">compress</link> = false;
|
||||
} ];
|
||||
}
|
||||
];
|
||||
@@ -136,20 +104,59 @@ in {
|
||||
}
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If the <code>A</code> and <code>AAAA</code> DNS records on
|
||||
<literal>example.org</literal> do not point on the same host as the records
|
||||
for <code>myhostname.example.org</code>, you can easily move the
|
||||
<code>/.well-known</code> virtualHost section of the code to the host that
|
||||
is serving <literal>example.org</literal>, while the rest stays on
|
||||
<literal>myhostname.example.org</literal> with no other changes required.
|
||||
This pattern also allows to seamlessly move the homeserver from
|
||||
<literal>myhostname.example.org</literal> to
|
||||
<literal>myotherhost.example.org</literal> by only changing the
|
||||
<code>/.well-known</code> redirection target.
|
||||
</para>
|
||||
|
||||
<calloutlist>
|
||||
<callout arearefs='ex-matrix-synapse-dns'>
|
||||
<para>
|
||||
If the <code>A</code> and <code>AAAA</code> DNS records on
|
||||
<literal>example.org</literal> do not point on the same host as the records
|
||||
for <code>myhostname.example.org</code>, you can easily move the
|
||||
<code>/.well-known</code> virtualHost section of the code to the host that
|
||||
is serving <literal>example.org</literal>, while the rest stays on
|
||||
<literal>myhostname.example.org</literal> with no other changes required.
|
||||
This pattern also allows to seamlessly move the homeserver from
|
||||
<literal>myhostname.example.org</literal> to
|
||||
<literal>myotherhost.example.org</literal> by only changing the
|
||||
<code>/.well-known</code> redirection target.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-matrix-synapse-well-known-server'>
|
||||
<para>
|
||||
This section is not needed if the <link linkend="opt-services.matrix-synapse.settings.server_name">server_name</link>
|
||||
of <package>matrix-synapse</package> is equal to the domain (i.e.
|
||||
<literal>example.org</literal> from <literal>@foo:example.org</literal>)
|
||||
and the federation port is 8448.
|
||||
Further reference can be found in the <link xlink:href="https://matrix-org.github.io/synapse/latest/delegate.html">docs
|
||||
about delegation</link>.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-matrix-synapse-well-known-client'>
|
||||
<para>
|
||||
This is usually needed for homeserver discovery (from e.g. other Matrix clients).
|
||||
Further reference can be found in the <link xlink:href="https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient">upstream docs</link>
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-matrix-synapse-rev-default'>
|
||||
<para>
|
||||
It's also possible to do a redirect here or something else, this vhost is not
|
||||
needed for Matrix. It's recommended though to <emphasis>not put</emphasis> element
|
||||
here, see also the <link linkend='ex-matrix-synapse-rev-default'>section about Element</link>.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-matrix-synapse-rev-proxy-pass'>
|
||||
<para>
|
||||
Forward all Matrix API calls to the synapse Matrix homeserver. A trailing slash
|
||||
<emphasis>must not</emphasis> be used here.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-matrix-synapse-rev-client'>
|
||||
<para>
|
||||
Forward requests for e.g. SSO and password-resets.
|
||||
</para>
|
||||
</callout>
|
||||
</calloutlist>
|
||||
</section>
|
||||
<section xml:id="module-services-matrix-register-users">
|
||||
<title>Registering Matrix users</title>
|
||||
<para>
|
||||
If you want to run a server with public registration by anybody, you can
|
||||
then enable <literal><link linkend="opt-services.matrix-synapse.settings.enable_registration">services.matrix-synapse.settings.enable_registration</link> =
|
||||
@@ -159,7 +166,7 @@ in {
|
||||
To create a new user or admin, run the following after you have set the secret
|
||||
and have rebuilt NixOS:
|
||||
<screen>
|
||||
<prompt>$ </prompt>nix run nixpkgs.matrix-synapse
|
||||
<prompt>$ </prompt>nix-shell -p matrix-synapse
|
||||
<prompt>$ </prompt>register_new_matrix_user -k <replaceable>your-registration-shared-secret</replaceable> http://localhost:8008
|
||||
<prompt>New user localpart: </prompt><replaceable>your-username</replaceable>
|
||||
<prompt>Password:</prompt>
|
||||
@@ -168,12 +175,51 @@ in {
|
||||
Success!
|
||||
</screen>
|
||||
In the example, this would create a user with the Matrix Identifier
|
||||
<literal>@your-username:example.org</literal>. Note that the registration
|
||||
secret ends up in the nix store and therefore is world-readable by any user
|
||||
on your machine, so it makes sense to only temporarily activate the
|
||||
<link linkend="opt-services.matrix-synapse.settings.registration_shared_secret">registration_shared_secret</link>
|
||||
option until a better solution for NixOS is in place.
|
||||
<literal>@your-username:example.org</literal>.
|
||||
<warning>
|
||||
<para>
|
||||
When using <xref linkend="opt-services.matrix-synapse.settings.registration_shared_secret" />, the secret
|
||||
will end up in the world-readable store. Instead it's recommended to deploy the secret
|
||||
in an additional file like this:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Create a file with the following contents:
|
||||
<programlisting>registration_shared_secret: your-very-secret-secret</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Deploy the file with a secret-manager such as <link xlink:href="https://nixops.readthedocs.io/en/latest/overview.html#managing-keys"><option>deployment.keys</option></link>
|
||||
from <citerefentry><refentrytitle>nixops</refentrytitle><manvolnum>1</manvolnum></citerefentry>
|
||||
or <link xlink:href="https://github.com/Mic92/sops-nix/">sops-nix</link> to
|
||||
e.g. <filename>/run/secrets/matrix-shared-secret</filename> and ensure that it's readable
|
||||
by <package>matrix-synapse</package>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Include the file like this in your configuration:
|
||||
<programlisting>
|
||||
{
|
||||
<xref linkend="opt-services.matrix-synapse.extraConfigFiles" /> = [
|
||||
"/run/secrets/matrix-shared-secret"
|
||||
];
|
||||
}
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</warning>
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
It's also possible to user alternative authentication mechanism such as
|
||||
<link xlink:href="https://github.com/matrix-org/matrix-synapse-ldap3">LDAP (via <literal>matrix-synapse-ldap3</literal>)</link>
|
||||
or <link xlink:href="https://matrix-org.github.io/synapse/latest/openid.html">OpenID</link>.
|
||||
</para>
|
||||
</note>
|
||||
</section>
|
||||
<section xml:id="module-services-matrix-element-web">
|
||||
<title>Element (formerly known as Riot) Web Client</title>
|
||||
@@ -206,10 +252,7 @@ Success!
|
||||
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.root">root</link> = pkgs.element-web.override {
|
||||
conf = {
|
||||
default_server_config."m.homeserver" = {
|
||||
"base_url" = "https://${fqdn}";
|
||||
"server_name" = "${fqdn}";
|
||||
};
|
||||
default_server_config = clientConfig; # see `clientConfig` from the snippet above.
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -217,15 +260,17 @@ Success!
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Note that the Element developers do not recommend running Element and your Matrix
|
||||
homeserver on the same fully-qualified domain name for security reasons. In
|
||||
the example, this means that you should not reuse the
|
||||
<literal>myhostname.example.org</literal> virtualHost to also serve Element,
|
||||
but instead serve it on a different subdomain, like
|
||||
<literal>element.example.org</literal> in the example. See the
|
||||
<link xlink:href="https://github.com/vector-im/riot-web#important-security-note">Element
|
||||
Important Security Notes</link> for more information on this subject.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
The Element developers do not recommend running Element and your Matrix
|
||||
homeserver on the same fully-qualified domain name for security reasons. In
|
||||
the example, this means that you should not reuse the
|
||||
<literal>myhostname.example.org</literal> virtualHost to also serve Element,
|
||||
but instead serve it on a different subdomain, like
|
||||
<literal>element.example.org</literal> in the example. See the
|
||||
<link xlink:href="https://github.com/vector-im/element-web/tree/v1.10.0#important-security-notes">Element
|
||||
Important Security Notes</link> for more information on this subject.
|
||||
</para>
|
||||
</note>
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
@@ -1063,7 +1063,7 @@ in {
|
||||
chown ${cfg.user}:${cfg.group} ${cfg.registry.certFile}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
unitConfig = {
|
||||
ConditionPathExists = "!${cfg.registry.certFile}";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -684,6 +684,21 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
virtualisation.useDefaultFilesystems =
|
||||
mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description =
|
||||
''
|
||||
If enabled, the boot disk of the virtual machine will be
|
||||
formatted and mounted with the default filesystems for
|
||||
testing. Swap devices and LUKS will be disabled.
|
||||
|
||||
If disabled, a root filesystem has to be specified and
|
||||
formatted (for example in the initial ramdisk).
|
||||
'';
|
||||
};
|
||||
|
||||
virtualisation.efiVars =
|
||||
mkOption {
|
||||
type = types.str;
|
||||
@@ -754,13 +769,13 @@ in
|
||||
);
|
||||
boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}";
|
||||
|
||||
boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
|
||||
boot.initrd.extraUtilsCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable)
|
||||
''
|
||||
# We need mke2fs in the initrd.
|
||||
copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs
|
||||
'';
|
||||
|
||||
boot.initrd.postDeviceCommands = lib.mkIf (!config.boot.initrd.systemd.enable)
|
||||
boot.initrd.postDeviceCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable)
|
||||
''
|
||||
# If the disk image appears to be empty, run mke2fs to
|
||||
# initialise.
|
||||
@@ -930,38 +945,41 @@ in
|
||||
};
|
||||
in
|
||||
mkVMOverride (cfg.fileSystems //
|
||||
{
|
||||
optionalAttrs cfg.useDefaultFilesystems {
|
||||
"/".device = cfg.bootDevice;
|
||||
"/".fsType = "ext4";
|
||||
"/".autoFormat = true;
|
||||
|
||||
"/tmp" = mkIf config.boot.tmpOnTmpfs
|
||||
{ device = "tmpfs";
|
||||
fsType = "tmpfs";
|
||||
neededForBoot = true;
|
||||
# Sync with systemd's tmp.mount;
|
||||
options = [ "mode=1777" "strictatime" "nosuid" "nodev" "size=${toString config.boot.tmpOnTmpfsSize}" ];
|
||||
};
|
||||
|
||||
"/nix/${if cfg.writableStore then ".ro-store" else "store"}" =
|
||||
mkIf cfg.useNixStoreImage
|
||||
{ device = "${lookupDriveDeviceName "nix-store" cfg.qemu.drives}";
|
||||
neededForBoot = true;
|
||||
options = [ "ro" ];
|
||||
};
|
||||
|
||||
"/nix/.rw-store" = mkIf (cfg.writableStore && cfg.writableStoreUseTmpfs)
|
||||
{ fsType = "tmpfs";
|
||||
options = [ "mode=0755" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
|
||||
"/boot" = mkIf cfg.useBootLoader
|
||||
# see note [Disk layout with `useBootLoader`]
|
||||
{ device = "${lookupDriveDeviceName "boot" cfg.qemu.drives}2"; # 2 for e.g. `vdb2`, as created in `bootDisk`
|
||||
fsType = "vfat";
|
||||
noCheck = true; # fsck fails on a r/o filesystem
|
||||
};
|
||||
} //
|
||||
optionalAttrs config.boot.tmpOnTmpfs {
|
||||
"/tmp" = {
|
||||
device = "tmpfs";
|
||||
fsType = "tmpfs";
|
||||
neededForBoot = true;
|
||||
# Sync with systemd's tmp.mount;
|
||||
options = [ "mode=1777" "strictatime" "nosuid" "nodev" "size=${toString config.boot.tmpOnTmpfsSize}" ];
|
||||
};
|
||||
} //
|
||||
optionalAttrs cfg.useNixStoreImage {
|
||||
"/nix/${if cfg.writableStore then ".ro-store" else "store"}" = {
|
||||
device = "${lookupDriveDeviceName "nix-store" cfg.qemu.drives}";
|
||||
neededForBoot = true;
|
||||
options = [ "ro" ];
|
||||
};
|
||||
} //
|
||||
optionalAttrs (cfg.writableStore && cfg.writableStoreUseTmpfs) {
|
||||
"/nix/.rw-store" = {
|
||||
fsType = "tmpfs";
|
||||
options = [ "mode=0755" ];
|
||||
neededForBoot = true;
|
||||
};
|
||||
} //
|
||||
optionalAttrs cfg.useBootLoader {
|
||||
# see note [Disk layout with `useBootLoader`]
|
||||
"/boot" = {
|
||||
device = "${lookupDriveDeviceName "boot" cfg.qemu.drives}2"; # 2 for e.g. `vdb2`, as created in `bootDisk`
|
||||
fsType = "vfat";
|
||||
noCheck = true; # fsck fails on a r/o filesystem
|
||||
};
|
||||
} // lib.mapAttrs' mkSharedDir cfg.sharedDirectories);
|
||||
|
||||
boot.initrd.systemd = lib.mkIf (config.boot.initrd.systemd.enable && cfg.writableStore) {
|
||||
@@ -986,8 +1004,8 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices = mkVMOverride [ ];
|
||||
boot.initrd.luks.devices = mkVMOverride {};
|
||||
swapDevices = (if cfg.useDefaultFilesystems then mkVMOverride else mkDefault) [ ];
|
||||
boot.initrd.luks.devices = (if cfg.useDefaultFilesystems then mkVMOverride else mkDefault) {};
|
||||
|
||||
# Don't run ntpd in the guest. It should get the correct time from KVM.
|
||||
services.timesyncd.enable = false;
|
||||
|
||||
@@ -384,6 +384,7 @@ in {
|
||||
nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; };
|
||||
node-red = handleTest ./node-red.nix {};
|
||||
nomad = handleTest ./nomad.nix {};
|
||||
non-default-filesystems = handleTest ./non-default-filesystems.nix {};
|
||||
noto-fonts = handleTest ./noto-fonts.nix {};
|
||||
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
||||
nsd = handleTest ./nsd.nix {};
|
||||
@@ -519,6 +520,7 @@ in {
|
||||
step-ca = handleTestOn ["x86_64-linux"] ./step-ca.nix {};
|
||||
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
|
||||
sudo = handleTest ./sudo.nix {};
|
||||
swap-partition = handleTest ./swap-partition.nix {};
|
||||
sway = handleTest ./sway.nix {};
|
||||
switchTest = handleTest ./switch-test.nix {};
|
||||
sympa = handleTest ./sympa.nix {};
|
||||
|
||||
54
nixos/tests/non-default-filesystems.nix
Normal file
54
nixos/tests/non-default-filesystems.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
import ./make-test-python.nix ({ lib, pkgs, ... }:
|
||||
{
|
||||
name = "non-default-filesystems";
|
||||
|
||||
nodes.machine =
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
disk = config.virtualisation.bootDevice;
|
||||
in
|
||||
{
|
||||
virtualisation.useDefaultFilesystems = false;
|
||||
|
||||
boot.initrd.availableKernelModules = [ "btrfs" ];
|
||||
boot.supportedFilesystems = [ "btrfs" ];
|
||||
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
FSTYPE=$(blkid -o value -s TYPE ${disk} || true)
|
||||
if test -z "$FSTYPE"; then
|
||||
modprobe btrfs
|
||||
${pkgs.btrfs-progs}/bin/mkfs.btrfs ${disk}
|
||||
|
||||
mkdir /nixos
|
||||
mount -t btrfs ${disk} /nixos
|
||||
|
||||
${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/root
|
||||
${pkgs.btrfs-progs}/bin/btrfs subvolume create /nixos/home
|
||||
|
||||
umount /nixos
|
||||
fi
|
||||
'';
|
||||
|
||||
virtualisation.fileSystems = {
|
||||
"/" = {
|
||||
device = disk;
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=/root" ];
|
||||
};
|
||||
|
||||
"/home" = {
|
||||
device = disk;
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=/home" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
with subtest("BTRFS filesystems are mounted correctly"):
|
||||
machine.succeed("grep -E '/dev/vda / btrfs rw,relatime,space_cache=v2,subvolid=[0-9]+,subvol=/root 0 0' /proc/mounts")
|
||||
machine.succeed("grep -E '/dev/vda /home btrfs rw,relatime,space_cache=v2,subvolid=[0-9]+,subvol=/home 0 0' /proc/mounts")
|
||||
'';
|
||||
})
|
||||
48
nixos/tests/swap-partition.nix
Normal file
48
nixos/tests/swap-partition.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
import ./make-test-python.nix ({ lib, pkgs, ... }:
|
||||
{
|
||||
name = "swap-partition";
|
||||
|
||||
nodes.machine =
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
virtualisation.useDefaultFilesystems = false;
|
||||
|
||||
virtualisation.bootDevice = "/dev/vda1";
|
||||
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
if ! test -b /dev/vda1; then
|
||||
${pkgs.parted}/bin/parted --script /dev/vda -- mklabel msdos
|
||||
${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary 1MiB -250MiB
|
||||
${pkgs.parted}/bin/parted --script /dev/vda -- mkpart primary -250MiB 100%
|
||||
sync
|
||||
fi
|
||||
|
||||
FSTYPE=$(blkid -o value -s TYPE /dev/vda1 || true)
|
||||
if test -z "$FSTYPE"; then
|
||||
${pkgs.e2fsprogs}/bin/mke2fs -t ext4 -L root /dev/vda1
|
||||
${pkgs.util-linux}/bin/mkswap --label swap /dev/vda2
|
||||
fi
|
||||
'';
|
||||
|
||||
virtualisation.fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/root";
|
||||
fsType = "ext4";
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/dev/disk/by-label/swap";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
with subtest("Swap is active"):
|
||||
# Doesn't matter if the numbers reported by `free` are slightly off due to unit conversions.
|
||||
machine.succeed("free -h | grep -E 'Swap:\s+2[45][0-9]Mi'")
|
||||
'';
|
||||
})
|
||||
@@ -3,13 +3,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "neovim-qt-unwrapped";
|
||||
version = "0.2.16.1";
|
||||
version = "0.2.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "equalsraf";
|
||||
repo = "neovim-qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "0x5brrim3f21bzdmh6wyrhrislwpx1248wbx56csvic6v78hzqny";
|
||||
sha256 = "sha256-UJXaHENqau5EEe5c94pJuNxZU5rutJs642w9Cof8Sa4=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
|
||||
@@ -471,11 +471,11 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-tailwindcss";
|
||||
publisher = "bradlc";
|
||||
version = "0.6.13";
|
||||
sha256 = "098vrm28b7jpzk0c2d0cgxvdw4jsswzf18cx1m9jwsm1j40fp5f4";
|
||||
version = "0.8.6";
|
||||
sha256 = "sha256-v15KuD3eYFCsrworCJ1SZAMkyZKztAwWKmfwmbirleI=";
|
||||
};
|
||||
meta = with lib; {
|
||||
license = licenses.mpl20;
|
||||
license = licenses.mit;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2426,8 +2426,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vim";
|
||||
publisher = "vscodevim";
|
||||
version = "1.22.2";
|
||||
sha256 = "sha256-dtIlgODzRdoMKnG9050ZcCX3w15A/R3FaMc+ZylvBbU=";
|
||||
version = "1.23.1";
|
||||
sha256 = "sha256-k3z3n+29vqvC/FqjrHUBnYIVcKuJpiT+nITbqVm0Low=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "your-editor";
|
||||
version = "1400";
|
||||
version = "1403";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "your-editor";
|
||||
repo = "yed";
|
||||
rev = version;
|
||||
sha256 = "sha256-qF+fMFHfY1fdWPAFEoCxcKHB++sFNwOaHeaMv+6gakg=";
|
||||
sha256 = "sha256-hG0ZRAxWOdFtDgKcDysu89LOdULZmJHLi7grfVjAbwM=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "moolticute";
|
||||
version = "0.53.7";
|
||||
version = "0.55.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mooltipass";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1hVvpfrfL/+DIeiPW5iVBEnoc8dy8vVWim4JjhsBlzM=";
|
||||
sha256 = "sha256-up78503+YqUB2fR9B6W6plYksTJzTj5pkmFJ5eL/mLY=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "udev" ];
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"packageVersion": "101.0.1-1",
|
||||
"packageVersion": "102.0-2",
|
||||
"source": {
|
||||
"rev": "101.0.1-1",
|
||||
"sha256": "1b4zrfi5ig2aywsrfblxznds894ib8gx66yjm8n4hxmpsinmqfp9"
|
||||
"rev": "102.0-2",
|
||||
"sha256": "1gr17sk9ans6f2w3y6zr2cy5pz84br2b0kfi9pqz58yjz94q7jm2"
|
||||
},
|
||||
"firefox": {
|
||||
"version": "101.0.1",
|
||||
"sha512": "435a7f6013582933e75c41e554a45beda30b5affd7d3ed7d2876026609ba7f17b2c20b507d9d0c9ce2379e335ec09b021257ba30ac55fabf02dca54b03ea70b4"
|
||||
"version": "102.0",
|
||||
"sha512": "c7dd6d8d74c46573b16d097a5e5d230669e5778cd680b3b6f30510e989d21543138ced3bb013998b76614aa380b28efd8542450c591d8b724e03bd163d012057"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ let
|
||||
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
|
||||
|
||||
# Upstream source
|
||||
version = "11.0.14";
|
||||
version = "11.0.15";
|
||||
|
||||
lang = "en-US";
|
||||
|
||||
@@ -98,7 +98,7 @@ let
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "19lsxdxbdismjrv2kmvm10cmr1x5klc2khlmrybycdw2vx7r41mn";
|
||||
sha256 = "1gv44bi3gfg5z46fvs9wy46fgvfshad5kbxl43x3x4r70ps1nc3l";
|
||||
};
|
||||
|
||||
i686-linux = fetchurl {
|
||||
@@ -107,7 +107,7 @@ let
|
||||
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
|
||||
];
|
||||
sha256 = "0hkj4vn5jk3z32mdgzzwmhj5xa4mv5p1nnwqhlsbc3g5b5q8bc7q";
|
||||
sha256 = "109291wwcy63k8hs23kx8vffpj4zvywdpy8srwaq367l0ffvfqn2";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "clusterctl";
|
||||
version = "1.1.4";
|
||||
version = "1.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "cluster-api";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0hQ+FicY74I5Fpl4FQsYMtQyBgzRnUeXl/vsNQ6GHZw=";
|
||||
sha256 = "sha256-Nnfy8KOMJqg2sXrNDZlrcrpWfc70sXL1tNlXSgg5ZZg=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-PLUN9d+oo7vHUUpiIBUgU1snPlsHOMt+8q+jQZzZC+8=";
|
||||
vendorSha256 = "sha256-zRdtd/mE9AQtqw9Z/Tatd9vEx9l/XSFge8sOLbS/Wrs=";
|
||||
|
||||
subPackages = [ "cmd/clusterctl" ];
|
||||
|
||||
|
||||
@@ -46,10 +46,10 @@ with lib;
|
||||
# Those pieces of software we entirely ignore upstream's handling of, and just
|
||||
# make sure they're in the path if desired.
|
||||
let
|
||||
k3sVersion = "1.24.1+k3s1"; # k3s git tag
|
||||
k3sCommit = "0581808f5c160b0c0cafec5b8f20430835f34f44"; # k3s git commit at the above version
|
||||
k3sRepoSha256 = "0zh60nav50s0viiaqxdaajhywh28zqckjnpyazlk2fdb077dyi65";
|
||||
k3sVendorSha256 = "sha256-7cJ728vV9GA4/MDUBsnrR12gGf3DXzka3czrdHjsNIM=";
|
||||
k3sVersion = "1.24.2+k3s1"; # k3s git tag
|
||||
k3sCommit = "b0ed13485588651b1eba3cb0ba423c500325a28f"; # k3s git commit at the above version
|
||||
k3sRepoSha256 = "1hjp9wfp39ymvz7cal474df94s2b91gc4pg8lwz9c63xli2qnb4k";
|
||||
k3sVendorSha256 = "sha256-m7jEVp7xoQHMeZcMU+DrVY23e8Ri9wEb0tWiDjEDsnw=";
|
||||
|
||||
# taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
|
||||
# The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
|
||||
|
||||
@@ -73,6 +73,7 @@ let
|
||||
# and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
|
||||
libvirt = automated-providers.libvirt.overrideAttrs (_: { propagatedBuildInputs = [ cdrtools ]; });
|
||||
linode = automated-providers.linode.override { mkProviderGoModule = buildGo118Module; };
|
||||
utils = automated-providers.utils.override { mkProviderGoModule = buildGo118Module; };
|
||||
};
|
||||
|
||||
# Put all the providers we not longer support in this list.
|
||||
|
||||
@@ -30,29 +30,29 @@
|
||||
"owner": "aiven",
|
||||
"provider-source-address": "registry.terraform.io/aiven/aiven",
|
||||
"repo": "terraform-provider-aiven",
|
||||
"rev": "v3.2.0",
|
||||
"sha256": "sha256-kKKln180j3b1AkuXdjSwboa3T5nLQeZtbOn6jB7i4nw=",
|
||||
"rev": "v3.2.1",
|
||||
"sha256": "sha256-XEosTsTMrJM4WYizjbT5Rv8dkrOssnxXNV1K92OpmEk=",
|
||||
"vendorSha256": "sha256-k6pKet1YdQYCyFICw67nKI3RGNZ4b+zA+T9jpa2ZLFM=",
|
||||
"version": "3.2.0"
|
||||
"version": "3.2.1"
|
||||
},
|
||||
"akamai": {
|
||||
"owner": "akamai",
|
||||
"provider-source-address": "registry.terraform.io/akamai/akamai",
|
||||
"repo": "terraform-provider-akamai",
|
||||
"rev": "v2.1.1",
|
||||
"sha256": "sha256-bS7VUpNs7W5atWWfEWf7rqlc5WD90R7fDNuiqMw+rlI=",
|
||||
"vendorSha256": "sha256-/ADWK5h6zgxQ8R8uvZwGywnU8NoSqkrjLEh5fjbx43c=",
|
||||
"version": "2.1.1"
|
||||
"rev": "v2.2.0",
|
||||
"sha256": "sha256-OhHzFRxOmJR2NW1UX38+ep/VmmZ9xfPqwUo/37/hGyU=",
|
||||
"vendorSha256": "sha256-rhA0Mm+Uu+F8zyRLj4fRED+pJ0TpZvVSFKvmm0OAhPY=",
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"alicloud": {
|
||||
"deleteVendor": true,
|
||||
"owner": "aliyun",
|
||||
"provider-source-address": "registry.terraform.io/aliyun/alicloud",
|
||||
"repo": "terraform-provider-alicloud",
|
||||
"rev": "v1.173.0",
|
||||
"sha256": "sha256-jLjliUWCpxoawwCl61qHXNzareuF7qCkjSdeQgj6IsE=",
|
||||
"rev": "v1.174.0",
|
||||
"sha256": "sha256-sdfdc2QOuEmfB0f7A15GZAGY82L9e54DqDXZ7FM6Avg=",
|
||||
"vendorSha256": "sha256-6FiVXy/q3WImYDbwvj9e3ns9gilaL6GBW5qCpaUNCW0=",
|
||||
"version": "1.173.0"
|
||||
"version": "1.174.0"
|
||||
},
|
||||
"ansible": {
|
||||
"owner": "nbering",
|
||||
@@ -103,10 +103,10 @@
|
||||
"owner": "hashicorp",
|
||||
"provider-source-address": "registry.terraform.io/hashicorp/aws",
|
||||
"repo": "terraform-provider-aws",
|
||||
"rev": "v4.20.1",
|
||||
"sha256": "sha256-k6JcwtTUfmZrfiFfacEPTXdtCbnjBrivNQp1dDzXFfM=",
|
||||
"vendorSha256": "sha256-pKCIL1GD+oA+DVx24Xr07dFnhUcxT/TdASx0sCPWWIQ=",
|
||||
"version": "4.20.1"
|
||||
"rev": "v4.21.0",
|
||||
"sha256": "sha256-XqUJGcKQh2QfKjiIcJ02ZUZ+pKUZAaYErIdVRCKLAKM=",
|
||||
"vendorSha256": "sha256-KimkmnSGgynmxS3VcmNP4d+B6j1xy4+OZXkoG2iIS/w=",
|
||||
"version": "4.21.0"
|
||||
},
|
||||
"azuread": {
|
||||
"owner": "hashicorp",
|
||||
@@ -121,10 +121,10 @@
|
||||
"owner": "hashicorp",
|
||||
"provider-source-address": "registry.terraform.io/hashicorp/azurerm",
|
||||
"repo": "terraform-provider-azurerm",
|
||||
"rev": "v3.11.0",
|
||||
"sha256": "sha256-81Z+z9h1X8OPkLSZlVwQqhy2gkdYc0DfXs5k8W7wO+k=",
|
||||
"rev": "v3.12.0",
|
||||
"sha256": "sha256-P/KFdDGDUJofsOEnPUJ3rAdZHoJw8YF3ReQFdSsMUj4=",
|
||||
"vendorSha256": null,
|
||||
"version": "3.11.0"
|
||||
"version": "3.12.0"
|
||||
},
|
||||
"azurestack": {
|
||||
"owner": "hashicorp",
|
||||
@@ -140,10 +140,10 @@
|
||||
"owner": "baidubce",
|
||||
"provider-source-address": "registry.terraform.io/baidubce/baiducloud",
|
||||
"repo": "terraform-provider-baiducloud",
|
||||
"rev": "v1.12.6",
|
||||
"sha256": "sha256-0/CwWrS6tTl2ZzkzYezgyU/Avi+TwJ+nm2GsxgXH/lo=",
|
||||
"rev": "v1.12.9",
|
||||
"sha256": "sha256-RKkTKRipmTqAfCGWzibrIsTrckwvEKCQmPhNjCXmFR4=",
|
||||
"vendorSha256": "sha256-pA2dAC8AasWLTlC+SddS4kWT16FqcyBrtdVMV9k/FtE=",
|
||||
"version": "1.12.6"
|
||||
"version": "1.12.9"
|
||||
},
|
||||
"bigip": {
|
||||
"owner": "F5Networks",
|
||||
@@ -213,19 +213,19 @@
|
||||
"owner": "cloudamqp",
|
||||
"provider-source-address": "registry.terraform.io/cloudamqp/cloudamqp",
|
||||
"repo": "terraform-provider-cloudamqp",
|
||||
"rev": "v1.18.0",
|
||||
"sha256": "sha256-mtrJUlN8flPttli9Q4ZBAM/yPDolYMjEP8u22B6TZL4=",
|
||||
"vendorSha256": "sha256-cDf2nSTrX8T+vfRVthoBV7m+HtLo9cYt32uSirWor48=",
|
||||
"version": "1.18.0"
|
||||
"rev": "v1.19.0",
|
||||
"sha256": "sha256-RwgqJl+W5L/2Qz5Wd0dBPUNhX5Q+7J/y7RfLprOBa3k=",
|
||||
"vendorSha256": "sha256-OnkSfHEbbcnSs+pI5wphObRyIXGtNlpeTe/RqxF/pr4=",
|
||||
"version": "1.19.0"
|
||||
},
|
||||
"cloudflare": {
|
||||
"owner": "cloudflare",
|
||||
"provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
|
||||
"repo": "terraform-provider-cloudflare",
|
||||
"rev": "v3.17.0",
|
||||
"sha256": "sha256-DggessI7mQgfO/s++2LQfTwodqWIps6gqUFSutle/UY=",
|
||||
"vendorSha256": "sha256-2rlhl/VqvXPJxknizd28N3A+vYFXWajFLjCLH0RdnEQ=",
|
||||
"version": "3.17.0"
|
||||
"rev": "v3.18.0",
|
||||
"sha256": "sha256-xmAy4xYpgn1hOIX1qNXIBQUGgeoaGVU8SOC8wos93kQ=",
|
||||
"vendorSha256": "sha256-uvgghtPjFrzGGlrJod8VZb4DylPZT0P1BIiD5SFBifc=",
|
||||
"version": "3.18.0"
|
||||
},
|
||||
"cloudfoundry": {
|
||||
"owner": "cloudfoundry-community",
|
||||
@@ -394,19 +394,19 @@
|
||||
"owner": "fastly",
|
||||
"provider-source-address": "registry.terraform.io/fastly/fastly",
|
||||
"repo": "terraform-provider-fastly",
|
||||
"rev": "v2.0.0",
|
||||
"sha256": "sha256-sk146gyBgMWV+EJUrQuC6XY3rRCegezYLympPqqkI2s=",
|
||||
"rev": "v2.1.0",
|
||||
"sha256": "sha256-d6hi8b8KdCBHvb3pRR5UB+jC81aVYnj1RgzOI6wO6jA=",
|
||||
"vendorSha256": null,
|
||||
"version": "2.0.0"
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"flexibleengine": {
|
||||
"owner": "FlexibleEngineCloud",
|
||||
"provider-source-address": "registry.terraform.io/FlexibleEngineCloud/flexibleengine",
|
||||
"repo": "terraform-provider-flexibleengine",
|
||||
"rev": "v1.30.0",
|
||||
"sha256": "sha256-pkuoE0nX07chW4YMCHFAfLlw5qPRhuqv2S9WtFiL4pI=",
|
||||
"vendorSha256": "sha256-bhufd2koz9pNHrWCBWngylqdJFD0poqvWy68GlWvDNc=",
|
||||
"version": "1.30.0"
|
||||
"rev": "v1.31.0",
|
||||
"sha256": "sha256-Vu6XRRtN+04Hg1OhZ42QaqFiVbov0Zg5v6Rbyeyz410=",
|
||||
"vendorSha256": "sha256-P2/yK6aLNdmC8g5dMKK0hpAdj76KtewzVVHQsVgr3J4=",
|
||||
"version": "1.31.0"
|
||||
},
|
||||
"fortios": {
|
||||
"owner": "fortinetdev",
|
||||
@@ -449,20 +449,20 @@
|
||||
"provider-source-address": "registry.terraform.io/hashicorp/google",
|
||||
"proxyVendor": true,
|
||||
"repo": "terraform-provider-google",
|
||||
"rev": "v4.26.0",
|
||||
"sha256": "sha256-iCHhOuHEvynBUFKrKapzg7Jc673TiczG6zttgrABUEs=",
|
||||
"vendorSha256": "sha256-uwyl79TGrnFOxJLBTJ5LaAZLZdb/VbS7IW4jQ2A5xQM=",
|
||||
"version": "4.26.0"
|
||||
"rev": "v4.27.0",
|
||||
"sha256": "sha256-YI6lMHKuREzMf1gkFuBbllSjZcpi0oxZSRoXN7IgkDQ=",
|
||||
"vendorSha256": "sha256-c836amEF3krq1ERNZGTUgQ6nzPUKg8GiJ2RkDmcVPNk=",
|
||||
"version": "4.27.0"
|
||||
},
|
||||
"google-beta": {
|
||||
"owner": "hashicorp",
|
||||
"provider-source-address": "registry.terraform.io/hashicorp/google-beta",
|
||||
"proxyVendor": true,
|
||||
"repo": "terraform-provider-google-beta",
|
||||
"rev": "v4.26.0",
|
||||
"sha256": "sha256-udk+LtpMe4M4SoMpac06knOY6t5hFFa1yze9THTa5hQ=",
|
||||
"vendorSha256": "sha256-uwyl79TGrnFOxJLBTJ5LaAZLZdb/VbS7IW4jQ2A5xQM=",
|
||||
"version": "4.26.0"
|
||||
"rev": "v4.27.0",
|
||||
"sha256": "sha256-vntZXROQUgiUYUxiDi/WFDNoUPCTw02fKQzF9bcx5cM=",
|
||||
"vendorSha256": "sha256-c836amEF3krq1ERNZGTUgQ6nzPUKg8GiJ2RkDmcVPNk=",
|
||||
"version": "4.27.0"
|
||||
},
|
||||
"googleworkspace": {
|
||||
"owner": "hashicorp",
|
||||
@@ -495,10 +495,10 @@
|
||||
"owner": "hetznercloud",
|
||||
"provider-source-address": "registry.terraform.io/hetznercloud/hcloud",
|
||||
"repo": "terraform-provider-hcloud",
|
||||
"rev": "v1.33.2",
|
||||
"sha256": "sha256-kERpOIEy6UsT2BEY9kkINuWbncDXJuwWjR/Kzua97m8=",
|
||||
"vendorSha256": "sha256-p+NFt9QjbR12bGnCrhUTJzwtBagjXn5w1UcQFMQpY+I=",
|
||||
"version": "1.33.2"
|
||||
"rev": "v1.34.1",
|
||||
"sha256": "sha256-+Duv9D4yG2bS9xGJIfA86nSpPk6TFuGjk8CZp5dUigU=",
|
||||
"vendorSha256": "sha256-fFQte/gp/PY/cdTS6ehoqgNYvCqRj88cOLGzf5bxn+U=",
|
||||
"version": "1.34.1"
|
||||
},
|
||||
"helm": {
|
||||
"owner": "hashicorp",
|
||||
@@ -549,10 +549,10 @@
|
||||
"owner": "huaweicloud",
|
||||
"provider-source-address": "registry.terraform.io/huaweicloud/huaweicloud",
|
||||
"repo": "terraform-provider-huaweicloud",
|
||||
"rev": "v1.37.1",
|
||||
"sha256": "sha256-VVhSyUYLFgIb0ZXNWQFjJnXd9LpWCEOTsBmy7z5Fx+0=",
|
||||
"rev": "v1.38.0",
|
||||
"sha256": "sha256-kLjuZY9PoGjt2e3jBX0O1VTis2P8++pHWJXLnwltk1I=",
|
||||
"vendorSha256": null,
|
||||
"version": "1.37.1"
|
||||
"version": "1.38.0"
|
||||
},
|
||||
"huaweicloudstack": {
|
||||
"owner": "huaweicloud",
|
||||
@@ -576,10 +576,10 @@
|
||||
"owner": "IBM-Cloud",
|
||||
"provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
|
||||
"repo": "terraform-provider-ibm",
|
||||
"rev": "v1.42.0",
|
||||
"sha256": "sha256-xcE6v1c9c0co+hcBn/MWQBzxgl0a47mvuLtW0iswZ88=",
|
||||
"vendorSha256": "sha256-q4uuZrXUG3XV4cxL/HCjG/x/giHc/hr+8VENQyXIO1E=",
|
||||
"version": "1.42.0"
|
||||
"rev": "v1.43.0",
|
||||
"sha256": "sha256-5oQqWr8s4wMiR58JITDH4e5iMPktmlItPjWwScbYSqo=",
|
||||
"vendorSha256": "sha256-b1aKgB3iB9+7vCgEYuaaEcxgF8ptZOPOrZcpj+SscvA=",
|
||||
"version": "1.43.0"
|
||||
},
|
||||
"icinga2": {
|
||||
"owner": "Icinga",
|
||||
@@ -648,10 +648,10 @@
|
||||
"owner": "hashicorp",
|
||||
"provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
|
||||
"repo": "terraform-provider-kubernetes",
|
||||
"rev": "v2.11.0",
|
||||
"sha256": "sha256-qrADveCJUvYcseTUmqQzmRKn4Whb/KfJjwz2+6V7yZc=",
|
||||
"rev": "v2.12.0",
|
||||
"sha256": "sha256-MmXJutHh1M/KLJvF8h8hFrihiTOUDxwuXPtxeUvUgAw=",
|
||||
"vendorSha256": null,
|
||||
"version": "2.11.0"
|
||||
"version": "2.12.0"
|
||||
},
|
||||
"launchdarkly": {
|
||||
"owner": "launchdarkly",
|
||||
@@ -792,10 +792,10 @@
|
||||
"owner": "newrelic",
|
||||
"provider-source-address": "registry.terraform.io/newrelic/newrelic",
|
||||
"repo": "terraform-provider-newrelic",
|
||||
"rev": "v2.48.0",
|
||||
"sha256": "sha256-p1y09f/apsqCn9d5Hrh3L09zya8ebAsy+KCojfsW43w=",
|
||||
"vendorSha256": "sha256-/BWmesMF5zzzMi+7IJviMbXOhAfpn9HDg9i+9tLs2ds=",
|
||||
"version": "2.48.0"
|
||||
"rev": "v2.48.1",
|
||||
"sha256": "sha256-MySfZw6Og1gJs11u9r88uF1gcJbgsnPzduJZmr+06Jg=",
|
||||
"vendorSha256": "sha256-/hkQ9SIsJhTfG0YEhTa+RGlZD4wHl5grFggbkgvHFGI=",
|
||||
"version": "2.48.1"
|
||||
},
|
||||
"nomad": {
|
||||
"owner": "hashicorp",
|
||||
@@ -847,19 +847,19 @@
|
||||
"owner": "oracle",
|
||||
"provider-source-address": "registry.terraform.io/oracle/oci",
|
||||
"repo": "terraform-provider-oci",
|
||||
"rev": "v4.81.0",
|
||||
"sha256": "sha256-KuEF4VAMKd1IbtUbyDSIzKhk0qTSp/pJiGE5lBI/TFE=",
|
||||
"rev": "v4.82.0",
|
||||
"sha256": "sha256-S/UraZfbirBkUjLQQO+6imvNVGRu+lzENIWKlobHdGw=",
|
||||
"vendorSha256": null,
|
||||
"version": "4.81.0"
|
||||
"version": "4.82.0"
|
||||
},
|
||||
"okta": {
|
||||
"owner": "okta",
|
||||
"provider-source-address": "registry.terraform.io/okta/okta",
|
||||
"repo": "terraform-provider-okta",
|
||||
"rev": "v3.29.0",
|
||||
"sha256": "sha256-mv9dgefqAiemaKb3eqyh1L/vGyqwNUV7h+JfjwDnpeI=",
|
||||
"vendorSha256": "sha256-TJbzfyzyDb2oi65CJwYRSzYY40ljQfRaxAKrxazuhns=",
|
||||
"version": "3.29.0"
|
||||
"rev": "v3.30.0",
|
||||
"sha256": "sha256-iE+lLWnVwb5jUt4EsNc3jZqQ4HEtjE8GB2RniKGegy0=",
|
||||
"vendorSha256": "sha256-9Qz3uGI2x40XL8JAB9l3Lsw6OQ47sHEBFVJNgsbVt/c=",
|
||||
"version": "3.30.0"
|
||||
},
|
||||
"oktaasa": {
|
||||
"owner": "oktadeveloper",
|
||||
@@ -892,10 +892,10 @@
|
||||
"owner": "opentelekomcloud",
|
||||
"provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
|
||||
"repo": "terraform-provider-opentelekomcloud",
|
||||
"rev": "v1.29.7",
|
||||
"sha256": "sha256-ZdxK143tjtE+pfuy0TxurdblZ2PO7jsYPyrQ1yJeClE=",
|
||||
"rev": "v1.29.8",
|
||||
"sha256": "sha256-oIJ+ygunt8ilW3IfnR0sAvwLOxknt7BN5Ks63tJMbQ4=",
|
||||
"vendorSha256": "sha256-1z5SaH6AoYkrMZVnNurZLmtvVRDNwTBwmQMX0KngKpA=",
|
||||
"version": "1.29.7"
|
||||
"version": "1.29.8"
|
||||
},
|
||||
"opsgenie": {
|
||||
"owner": "opsgenie",
|
||||
@@ -1018,10 +1018,10 @@
|
||||
"owner": "numtide",
|
||||
"provider-source-address": "registry.terraform.io/numtide/secret",
|
||||
"repo": "terraform-provider-secret",
|
||||
"rev": "v1.2.0",
|
||||
"sha256": "sha256-mDtb1jQVgBmKyCRaEwLlg1ANYBEcsqG+VJQC0NjeIYg=",
|
||||
"rev": "v1.2.1",
|
||||
"sha256": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
|
||||
"vendorSha256": null,
|
||||
"version": "1.2.0"
|
||||
"version": "1.2.1"
|
||||
},
|
||||
"selectel": {
|
||||
"owner": "selectel",
|
||||
@@ -1036,10 +1036,10 @@
|
||||
"owner": "jianyuan",
|
||||
"provider-source-address": "registry.terraform.io/jianyuan/sentry",
|
||||
"repo": "terraform-provider-sentry",
|
||||
"rev": "v0.9.0",
|
||||
"sha256": "sha256-n+ca1+YKObcdq5h4Sn9tBLg1vpBooBB/pGJxaW4l3k0=",
|
||||
"vendorSha256": "sha256-hYoLGMI8NGpHW3tsNt6EO1nJrmfeFLuDQ79bkXf7DmQ=",
|
||||
"version": "0.9.0"
|
||||
"rev": "v0.9.2",
|
||||
"sha256": "sha256-/Am4v+s7l3hDCbvIV34aG9C+dMEtPS6qB97FywcZcho=",
|
||||
"vendorSha256": "sha256-A8VxxoMYd8Z4DRFmBLh/uSzjWxIyLQGtV4kGbuDfv8I=",
|
||||
"version": "0.9.2"
|
||||
},
|
||||
"shell": {
|
||||
"owner": "scottwinkler",
|
||||
@@ -1072,10 +1072,10 @@
|
||||
"owner": "Snowflake-Labs",
|
||||
"provider-source-address": "registry.terraform.io/Snowflake-Labs/snowflake",
|
||||
"repo": "terraform-provider-snowflake",
|
||||
"rev": "v0.36.0",
|
||||
"sha256": "sha256-OrQARzrraaXvwGyv4L/IVLFxgOk+JqMQAY3pXO7GTHM=",
|
||||
"rev": "v0.37.1",
|
||||
"sha256": "sha256-2nCl//1s1M/XmoJLMyZJXgUr1ilE0V9RyEGfQuw/h6g=",
|
||||
"vendorSha256": "sha256-I0d7Nm8h7vBHxvcyTousg7Uc+QuYu8FCPabPNMw8rGM=",
|
||||
"version": "0.36.0"
|
||||
"version": "0.37.1"
|
||||
},
|
||||
"sops": {
|
||||
"owner": "carlpett",
|
||||
@@ -1090,10 +1090,10 @@
|
||||
"owner": "spotinst",
|
||||
"provider-source-address": "registry.terraform.io/spotinst/spotinst",
|
||||
"repo": "terraform-provider-spotinst",
|
||||
"rev": "v1.77.0",
|
||||
"sha256": "sha256-qP6Hjo4ekEk105nQVwGLHR3LiQzUtEd68y45hppdoyY=",
|
||||
"vendorSha256": "sha256-JaWR7TiU5J7HGWExENqo5lHysCzg4Q6XvpCYfekuAg8=",
|
||||
"version": "1.77.0"
|
||||
"rev": "v1.78.0",
|
||||
"sha256": "sha256-Irbjqp4Yoa8+nNxCLdXvFTCQZhRWUcXK9WfqayIIiPU=",
|
||||
"vendorSha256": "sha256-uXRatEtZMP6V1yJQHSjbWNXKf/DGLTvkCZM7LhbbElU=",
|
||||
"version": "1.78.0"
|
||||
},
|
||||
"stackpath": {
|
||||
"owner": "stackpath",
|
||||
@@ -1126,10 +1126,10 @@
|
||||
"owner": "tencentcloudstack",
|
||||
"provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
|
||||
"repo": "terraform-provider-tencentcloud",
|
||||
"rev": "v1.74.3",
|
||||
"sha256": "sha256-iZrM4TJYqJQddpOrqx836O9Y4yA+VsY4iAA7K29CNNU=",
|
||||
"rev": "v1.75.5",
|
||||
"sha256": "sha256-tDdNkDtUuwtOrbvdR/NPUXpsyrRsES4MtreOKD7/PYc=",
|
||||
"vendorSha256": null,
|
||||
"version": "1.74.3"
|
||||
"version": "1.75.5"
|
||||
},
|
||||
"tfe": {
|
||||
"owner": "hashicorp",
|
||||
@@ -1199,10 +1199,10 @@
|
||||
"owner": "cloudposse",
|
||||
"provider-source-address": "registry.terraform.io/cloudposse/utils",
|
||||
"repo": "terraform-provider-utils",
|
||||
"rev": "0.17.25",
|
||||
"sha256": "sha256-RH0GBE4uYnjva8ehf+kCnxDk7F012SUQ+iWePkwG62I=",
|
||||
"vendorSha256": "sha256-tKbl234qJ/Y3tSFMOV45KtINGIvsV4XwBgVToNunyAc=",
|
||||
"version": "0.17.25"
|
||||
"rev": "0.17.26",
|
||||
"sha256": "sha256-Lfl5BIFJNR8tDHjGJvA8AzteE+XcjkVRqTqmcDGZJCw=",
|
||||
"vendorSha256": "sha256-BZNWM1ICaMl3q98WyTYs5JHxBBMj5TVpa5w5lH06XPg=",
|
||||
"version": "0.17.26"
|
||||
},
|
||||
"vault": {
|
||||
"owner": "hashicorp",
|
||||
@@ -1289,9 +1289,9 @@
|
||||
"owner": "yandex-cloud",
|
||||
"provider-source-address": "registry.terraform.io/yandex-cloud/yandex",
|
||||
"repo": "terraform-provider-yandex",
|
||||
"rev": "v0.75.0",
|
||||
"sha256": "sha256-j/OKAj5KrOecdpoyc8x+9D57mWkGYuIlHgGPGJxn+oc=",
|
||||
"rev": "v0.76.0",
|
||||
"sha256": "sha256-QMeZjJ9Lm1ncB6xPd6NYJXVTOYvAUQfu7y/y30BvVB4=",
|
||||
"vendorSha256": "sha256-E6keFmYkxAMSNWqPF9ghFKX1GjwalVx3RyYpUqdk/xE=",
|
||||
"version": "0.75.0"
|
||||
"version": "0.76.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace auto.def --replace /usr/sbin/sendmail sendmail
|
||||
substituteInPlace contrib/smime_keys \
|
||||
--replace /usr/bin/openssl ${openssl}/bin/openssl
|
||||
|
||||
@@ -60,8 +61,6 @@ stdenv.mkDerivation rec {
|
||||
# To make it not reference .dev outputs. See:
|
||||
# https://github.com/neomutt/neomutt/pull/2367
|
||||
"--disable-include-path-in-cflags"
|
||||
# Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail
|
||||
"ac_cv_path_SENDMAIL=sendmail"
|
||||
"--zlib"
|
||||
];
|
||||
|
||||
|
||||
@@ -1,29 +1,36 @@
|
||||
{ stdenv, lib, fetchFromGitHub, python3Packages, gettext, gdk-pixbuf
|
||||
, gobject-introspection, gtk3, wrapGAppsHook }:
|
||||
|
||||
with lib;
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, wrapGAppsHook
|
||||
, gdk-pixbuf
|
||||
, gettext
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "nicotine-plus";
|
||||
version = "3.2.1";
|
||||
version = "3.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Nicotine-Plus";
|
||||
owner = "nicotine-plus";
|
||||
repo = "nicotine-plus";
|
||||
rev = version;
|
||||
hash = "sha256-3NXlNd3Zy++efnvcnfIOUP83mdJ5h8BmE4a2uWn5CPQ=";
|
||||
sha256 = "sha256-aD5LQ0l6bet/iQKiu1mta4fUeijfip9IdzbGnTkCNdQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext wrapGAppsHook ];
|
||||
|
||||
propagatedBuildInputs = [ gtk3 gdk-pixbuf gobject-introspection ]
|
||||
++ (with python3Packages; [ pygobject3 ]);
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gdk-pixbuf
|
||||
gobject-introspection
|
||||
gtk3
|
||||
python3Packages.pygobject3
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ln -s $out/bin/nicotine $out/bin/nicotine-plus
|
||||
test -e $out/share/applications/org.nicotine_plus.Nicotine.desktop && exit 1
|
||||
install -D data/org.nicotine_plus.Nicotine.desktop -t $out/share/applications
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
@@ -34,12 +41,16 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
meta = with lib; {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "A graphical client for the SoulSeek peer-to-peer system";
|
||||
longDescription = ''
|
||||
Nicotine+ aims to be a pleasant, free and open source (FOSS) alternative
|
||||
to the official Soulseek client, providing additional functionality while
|
||||
keeping current with the Soulseek protocol.
|
||||
'';
|
||||
homepage = "https://www.nicotine-plus.org";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ehmry klntsky ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl }:
|
||||
{ lib, stdenv, fetchurl, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "archimedes";
|
||||
@@ -9,6 +9,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0jfpnd3pns5wxcxbiw49v5sgpmm5b4v8s4q1a5292hxxk2hzmb3z";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull patch pending upstream inclusion to support c99 toolchains:
|
||||
# https://savannah.gnu.org/bugs/index.php?62703
|
||||
(fetchpatch {
|
||||
name = "c99.patch";
|
||||
url = "https://savannah.gnu.org/bugs/download.php?file_id=53393";
|
||||
sha256 = "1xmy1w4ln1gynldk3srdi2h0fxpx465dsa1yxc3rzrrjpxh6087f";
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "GNU package for semiconductor device simulations";
|
||||
homepage = "https://www.gnu.org/software/archimedes";
|
||||
|
||||
@@ -4,7 +4,7 @@ sqlite, gtk2, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
|
||||
|
||||
let
|
||||
majorVersion = "7.20";
|
||||
minorVersion = "0";
|
||||
minorVersion = "1";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "BOINC";
|
||||
repo = "boinc";
|
||||
rev = "client_release/${majorVersion}/${version}";
|
||||
sha256 = "sha256-W8+ALVO2OHxxBi80ZFgc8RxXneGINCHYNeMXimp9TIw=";
|
||||
sha256 = "sha256-FRU5s/nvT3VKU78AXYlbzeru7XQwNSqDNMGrdQ3jd1w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ libtool automake autoconf m4 pkg-config ];
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "snakemake";
|
||||
version = "7.8.3";
|
||||
version = "7.8.5";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snakemake";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-fYrsum056PCRRp4P5xO6yLfog3WrE/JR1ID7+iV85fc=";
|
||||
hash = "sha256-y1rjBp5O0aiVeFlCIw7IK4A3ehOhzy+NKa9/abhFrFo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
||||
@@ -8,14 +8,46 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "gitqlient";
|
||||
version = "1.4.3";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "francescmm";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "018jz6b28zwr205jmgw13ddlfvlhxqf0cw1pfjiwsi6i8gay7w6s";
|
||||
};
|
||||
srcs = [
|
||||
(fetchFromGitHub {
|
||||
owner = "francescmm";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Mq29HbmPABrRIJjWC5AAKIOKbGngeJdkZkWeJw8BFuw=";
|
||||
})
|
||||
(fetchFromGitHub rec {
|
||||
owner = "francescmm";
|
||||
repo = "AuxiliarCustomWidgets";
|
||||
rev = "835f538b4a79e4d6bb70eef37a32103e7b2a1fd1";
|
||||
sha256 = "sha256-b1gb/7UcLS6lI92dBfTenGXA064t4dZufs3S9lu/lQA=";
|
||||
name = repo;
|
||||
})
|
||||
(fetchFromGitHub rec {
|
||||
owner = "francescmm";
|
||||
repo = "QLogger";
|
||||
rev = "d1ed24e080521a239d5d5e2c2347fe211f0f3e4f";
|
||||
sha256 = "sha256-NVlFYmm7IIkf8LhQrAYXil9kH6DFq1XjOEHQiIWmER4=";
|
||||
name = repo;
|
||||
})
|
||||
(fetchFromGitHub rec {
|
||||
owner = "francescmm";
|
||||
repo = "QPinnableTabWidget";
|
||||
rev = "cc937794e910d0452f0c07b4961c6014a7358831";
|
||||
sha256 = "sha256-2KzzBv/s2t665axeBxWrn8aCMQQArQLlUBOAlVhU+wE=";
|
||||
name = repo;
|
||||
})
|
||||
(fetchFromGitHub rec {
|
||||
owner = "francescmm";
|
||||
repo = "git";
|
||||
rev = "b62750f4da4b133faff49e6f53950d659b18c948";
|
||||
sha256 = "sha256-4FqA+kkHd0TqD6ZuB4CbJ+IhOtQG9uWN+qhSAT0dXGs=";
|
||||
name = repo;
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = "source";
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
@@ -25,11 +57,21 @@ mkDerivation rec {
|
||||
qtwebengine
|
||||
];
|
||||
|
||||
postUnpack = ''
|
||||
for dep in AuxiliarCustomWidgets QPinnableTabWidget QLogger git; do
|
||||
rmdir "source/src/$dep"
|
||||
ln -sf "../../$dep" "source/src/$dep"
|
||||
done
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"GitQlient.pro"
|
||||
];
|
||||
|
||||
passthru.updateScript = gitUpdater { inherit pname version; };
|
||||
passthru.updateScript = gitUpdater {
|
||||
inherit pname version;
|
||||
rev-prefix = "v";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/francescmm/GitQlient";
|
||||
|
||||
@@ -1,43 +1,47 @@
|
||||
{ lib
|
||||
, buildGo118Module
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, lima
|
||||
, makeWrapper
|
||||
, qemu
|
||||
, testers
|
||||
, colima
|
||||
}:
|
||||
|
||||
buildGo118Module rec {
|
||||
buildGoModule rec {
|
||||
pname = "colima";
|
||||
version = "0.4.2";
|
||||
version = "0.4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abiosoft";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-66nKH5jxTzLB9bg2lH1E8Cc0GZ6C/N/+yPYhCVEKOBY=";
|
||||
|
||||
sha256 = "bSBaSS+rVkFqTSdyegdE/F0X5u7yvF/nHslAO3xgD6I=";
|
||||
# We need the git revision
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
git -C $out rev-parse HEAD > $out/.git-revision
|
||||
git -C $out rev-parse --short HEAD > $out/.git-revision
|
||||
rm -rf $out/.git
|
||||
'';
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||
|
||||
vendorSha256 = "sha256-91Ex3RPWxOHyZcR3Bo+bRdDAFw2mEGiC/uNKjdX2kuw=";
|
||||
vendorSha256 = "sha256-jDzDwK7qA9lKP8CfkKzfooPDrHuHI4OpiLXmX9vOpOg=";
|
||||
|
||||
doCheck = false;
|
||||
CGO_ENABLED = 1;
|
||||
|
||||
preConfigure = ''
|
||||
ldflags="-X github.com/abiosoft/colima/config.appVersion=${version}
|
||||
-X github.com/abiosoft/colima/config.revision=$(cat .git-revision)"
|
||||
ldflags="-s -w -X github.com/abiosoft/colima/config.appVersion=${version} \
|
||||
-X github.com/abiosoft/colima/config.revision=$(cat .git-revision)"
|
||||
'';
|
||||
|
||||
subPackages = [ "cmd/colima" ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/colima \
|
||||
--prefix PATH : ${lib.makeBinPath [ lima ]}
|
||||
--prefix PATH : ${lib.makeBinPath [ lima qemu ]}
|
||||
|
||||
installShellCompletion --cmd colima \
|
||||
--bash <($out/bin/colima completion bash) \
|
||||
@@ -45,10 +49,15 @@ buildGo118Module rec {
|
||||
--zsh <($out/bin/colima completion zsh)
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = colima;
|
||||
command = "HOME=$(mktemp -d) colima version";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Container runtimes on MacOS with minimal setup";
|
||||
description = "Container runtimes with minimal setup";
|
||||
homepage = "https://github.com/abiosoft/colima";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ aaschmid ];
|
||||
maintainers = with maintainers; [ aaschmid tricktron ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland-scanner, python3
|
||||
{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, pkg-config, wayland-scanner, python3
|
||||
, wayland, libGL, mesa, libxkbcommon, cairo, libxcb
|
||||
, libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev
|
||||
, colord, lcms2, pipewire ? null
|
||||
@@ -17,6 +17,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1bj7wnadr7ssn6xw7k8ki0wpj6np3kjd2pcysfz3h0mr290rc8sw";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix race condition in build system
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.freedesktop.org/wayland/weston/-/commit/0d3e438d080433ed5d203c876e7de6c7f8a14f98.patch";
|
||||
sha256 = "sha256-d9NG1vUIuL4jpXqCo0myz/97JuFYesH+8kJnegQXeMU=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config wayland-scanner python3 ];
|
||||
buildInputs = [
|
||||
wayland libGL mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
version = "0.114";
|
||||
version = "0.117";
|
||||
|
||||
in fetchzip rec {
|
||||
name = "Amiri-${version}";
|
||||
|
||||
url = "https://github.com/alif-type/amiri/releases/download/${version}/${name}.zip";
|
||||
|
||||
sha256 = "sha256-6FA46j1shP0R8iEi/Xop2kXS0OKW1jaGUEOthT3Z5b4=";
|
||||
sha256 = "sha256-TCdL4Am+mT7E9fHEagcR7i9kBziyJuO3r1kM+ekfvbU=";
|
||||
|
||||
postFetch = ''
|
||||
unzip $downloadedFile
|
||||
install -m444 -Dt $out/share/fonts/truetype ${name}/*.ttf
|
||||
install -m444 -Dt $out/share/doc/${name} ${name}/{*.txt,*.pdf}
|
||||
rm -rf $out/otf
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
mv $out/*.ttf $out/share/fonts/truetype/
|
||||
mkdir -p $out/share/doc/${name}
|
||||
mv $out/{*.html,*.txt,*.md} $out/share/doc/${name}/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sierra-breeze-enhanced";
|
||||
version = "1.0.3";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kupiqu";
|
||||
repo = "SierraBreezeEnhanced";
|
||||
rev = "V${version}";
|
||||
sha256 = "0kqbfn1jqsbii3hqcqlb93x8cg8dyh5mf66i9r237w41knks5mnw";
|
||||
sha256 = "sha256-G1Ra7ld34AMPLZM0+3iEJHRFRMHVewZKTTXfmiu7PAk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ];
|
||||
|
||||
@@ -28,11 +28,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-remote-desktop";
|
||||
version = "42.2";
|
||||
version = "42.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-wcy82MpwN+9ttz9r8rXdOKM2t9gKKpyY32/4g4eP+dU=";
|
||||
hash = "sha256-opatWPizvawOLg2H2xKpOV5ydwqWDnh/vMG+PwBotkI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, nix-update-script
|
||||
, meson
|
||||
, ninja
|
||||
@@ -19,24 +18,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "switchboard-plug-wacom";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1n2yfq4s9xpnfqjikchjp4z2nk8cmfz4g0p18cplzh5w1lvz17lm";
|
||||
sha256 = "sha256-+E+MTIi2Dvv7TvzYEzudeIqlDcP8VP61eBh/PQz9SWI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream code not respecting our localedir
|
||||
# https://github.com/elementary/switchboard-plug-wacom/pull/29
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/switchboard-plug-wacom/commit/2a7dee180d73ffb3521d806efb7028f5a71cb511.patch";
|
||||
sha256 = "06ra5c0f14brmj2mmsqscpc4d1114i4qazgnsazzh2hrp04ilnva";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
|
||||
@@ -46,6 +46,13 @@ stdenv.mkDerivation rec {
|
||||
url = "https://github.com/elementary/gala/commit/1f94db16c627f73af5dc69714611815e4691b5e8.patch";
|
||||
sha256 = "sha256-PLNbAXyOG0TMn1y2QIBnL6BOQVqBA+DBgPOVJo4nDr8=";
|
||||
})
|
||||
|
||||
# WindowSwitcher: fix initial alt-tab switcher indicator visibility
|
||||
# https://github.com/elementary/gala/pull/1417
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/gala/commit/e0095415cdbfc369e6482e84b8aaffc6a04cafe7.patch";
|
||||
sha256 = "sha256-n/BJPIrUaCQtBgDotOLq/bCAAccdbL6OwciXY115HsM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-indicator-notifications";
|
||||
version = "6.0.4";
|
||||
version = "6.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-tIpR/WIhE0Mmt2EploNNDVlAX4OUNI3VnEflTLVkfSo=";
|
||||
sha256 = "sha256-Y/oDD/AsA9ZiKsfEV3/jnT3tmQYAIIToAZjMRVriK98=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, nix-update-script
|
||||
, python3
|
||||
, meson
|
||||
@@ -29,6 +30,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-fuyjQDH3C8qRYuAfQDDeW3aSWVTLtGzMAjcuAHCB1Zw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# MessageDialog: Fix large height bug
|
||||
# https://github.com/elementary/granite/pull/616
|
||||
(fetchpatch {
|
||||
url = "https://github.com/elementary/granite/commit/28e9b60fc8257b2d8e76412518e96a7e03efc6e4.patch";
|
||||
sha256 = "sha256-3VH5bhX8tuNR3Iabz3JjkLfVVyO5eSnYacFgdqurU0A=";
|
||||
excludes = [ "data/granite.appdata.xml.in" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
gobject-introspection
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "janet";
|
||||
version = "1.22.0";
|
||||
version = "1.23.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "janet-lang";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FOs8ZfO61A1amovLy4EDSZiZ6XlwVNXf1TiPvNo6BnQ=";
|
||||
sha256 = "sha256-FQZ9I9ROC1gWGfMCxsNMN3g/arenRtC6LHsOIAKGyuE=";
|
||||
};
|
||||
|
||||
# This release fails the test suite on darwin, remove when debugged.
|
||||
@@ -26,6 +26,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
doCheck = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
$out/bin/janet --help
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Janet programming language";
|
||||
homepage = "https://janet-lang.org/";
|
||||
|
||||
@@ -13,13 +13,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jpm";
|
||||
version = "0.0.2";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "janet-lang";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-nv+vkDjEY711L+C5ibw48DUSNqq2UJiFC2i5LntuBNM=";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lPB4jew6RkJlDp8xOQ4YA9MkgLBImaBHcvv4WF/sLRc=";
|
||||
};
|
||||
|
||||
# `auto-shebangs true` gives us a shebang line that points to janet inside the
|
||||
|
||||
@@ -260,6 +260,9 @@ let
|
||||
) args; in self;
|
||||
|
||||
in {
|
||||
mkRubyVersion = rubyVersion;
|
||||
mkRuby = generic;
|
||||
|
||||
ruby_2_7 = generic {
|
||||
version = rubyVersion "2" "7" "6" "";
|
||||
sha256 = "042xrdk7hsv4072bayz3f8ffqh61i8zlhvck10nfshllq063n877";
|
||||
|
||||
@@ -19,11 +19,13 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ gmp mpfr mpfi libxml2 fplll ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool environment for safe floating-point code development";
|
||||
homepage = "https://www.sollya.org/";
|
||||
license = licenses.cecill-c;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ wegank ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "129cs5bqw23i76h3nmc29c9mqkm9460iwc8vkl7hs4xr07h8mip9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ intltool gtk2 ];
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ pkg-config intltool ];
|
||||
buildInputs = [ gtk2 ];
|
||||
|
||||
meta = {
|
||||
description = "A very flexible theme engine";
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
|
||||
{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja, asciidoc
|
||||
, zlib, jansson, openssl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jose";
|
||||
version = "10";
|
||||
version = "11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "latchset";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "15ac8a656m66rd9qg4dj53smykwaagqv606h18w7fiqn0ykxl4vi";
|
||||
hash = "sha256-TKcXswF50B8MS+XHSEvqHaFSAct7VdsnZ0RtZCF04Lc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
nativeBuildInputs = [ meson pkg-config ninja asciidoc ];
|
||||
buildInputs = [ zlib jansson openssl ];
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, atdgen-codec-runtime, menhir, easy-format, buildDunePackage, which, re, nixosTests }:
|
||||
{ lib, atdgen-codec-runtime, menhir, easy-format, buildDunePackage, re, yojson, nixosTests }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "atd";
|
||||
@@ -6,9 +6,8 @@ buildDunePackage rec {
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
nativeBuildInputs = [ which menhir ];
|
||||
buildInputs = [ re ];
|
||||
propagatedBuildInputs = [ easy-format ];
|
||||
nativeBuildInputs = [ menhir ];
|
||||
propagatedBuildInputs = [ easy-format re yojson ];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "atdgen-codec-runtime";
|
||||
version = "2.4.1";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ahrefs/atd/releases/download/${version}/atdgen-codec-runtime-${version}.tbz";
|
||||
sha256 = "sha256:16888rnvhgh5yxxsnzsj10g5pzs1l4dn27n23kk2f4641dn26s3a";
|
||||
url = "https://github.com/ahrefs/atd/releases/download/${version}/atdts-${version}.tbz";
|
||||
sha256 = "sha256-OdwaUR0Ix0Oz8NDm36nIyvIRzF+r/pKgiej1fhcOmuQ=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{ buildDunePackage, alcotest, atd, atdgen-codec-runtime, atdgen-runtime, biniou, re, yojson }:
|
||||
{ buildDunePackage, alcotest, atd, atdgen-codec-runtime, atdgen-runtime, biniou, re, yojson
|
||||
, python3
|
||||
}:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "atdgen";
|
||||
@@ -9,7 +11,9 @@ buildDunePackage {
|
||||
propagatedBuildInputs = [ atdgen-runtime ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ alcotest atdgen-codec-runtime ];
|
||||
checkInputs = [ alcotest atdgen-codec-runtime
|
||||
(python3.withPackages (ps: [ ps.jsonschema ]))
|
||||
];
|
||||
|
||||
meta = (builtins.removeAttrs atd.meta [ "mainProgram" ]) // {
|
||||
description = "Generates efficient JSON serializers, deserializers and validators";
|
||||
|
||||
@@ -8,13 +8,13 @@ else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-batteries";
|
||||
version = "3.4.0";
|
||||
version = "3.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml-batteries-team";
|
||||
repo = "batteries-included";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256:1cd7475n1mxhq482aidmhh27mq5p2vmb8d9fkb1mlza9pz5z66yq";
|
||||
sha256 = "sha256-lLlpsg1v7mYFJ61rTdLV2v8/McK1R4HDTTuyka48aBw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
{ lib, ocaml, fetchurl, buildDunePackage
|
||||
, pkg-config, which
|
||||
, bigarray-compat, eqaf, stdlib-shims
|
||||
, eqaf
|
||||
, alcotest, astring, bos, findlib, fpath
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "digestif";
|
||||
version = "1.1.0";
|
||||
version = "1.1.2";
|
||||
|
||||
useDune2 = true;
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/digestif/releases/download/v${version}/digestif-v${version}.tbz";
|
||||
sha256 = "01gwkbrznci4xdcbww4ysgsciz2qs0r8jsmhp0siwbcgcrf1jjv5";
|
||||
url = "https://github.com/mirage/digestif/releases/download/v${version}/digestif-${version}.tbz";
|
||||
sha256 = "sha256-edNM5ROxFIV+OAqr328UcyGPGwXdflHQOJB3ntAbRmY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ findlib which ];
|
||||
buildInputs = [ ocaml ];
|
||||
|
||||
propagatedBuildInputs = [ bigarray-compat eqaf stdlib-shims ];
|
||||
|
||||
strictDeps = !doCheck;
|
||||
propagatedBuildInputs = [ eqaf ];
|
||||
|
||||
checkInputs = [ alcotest astring bos fpath ];
|
||||
doCheck = lib.versionAtLeast ocaml.version "4.05";
|
||||
doCheck = true;
|
||||
|
||||
postCheck = ''
|
||||
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ test/test_runes.ml
|
||||
|
||||
@@ -5,12 +5,12 @@ then throw "fmt is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.9.0";
|
||||
version = "0.8.9";
|
||||
pname = "ocaml${ocaml.version}-fmt";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://erratique.ch/software/fmt/releases/fmt-${version}.tbz";
|
||||
sha256 = "sha256-8fsggFoi3XWhN9cnBKNw53ic9r32OUjmgX0cImwUEmE=";
|
||||
sha256 = "0gkkkj4x678vxdda4xaw2dd44qjacavsvn5nx8gydfwah6pjbkxk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "io-page";
|
||||
version = "2.3.0";
|
||||
version = "3.0.0";
|
||||
|
||||
useDune2 = true;
|
||||
minimumOCamlVersion = "4.02.3";
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
|
||||
sha256 = "1hx27pwf419hrhwaw9cphbnl8akz8yy73hqj49l15g2k7shah1cn";
|
||||
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-${version}.tbz";
|
||||
sha256 = "sha256-DjbKdNkFa6YQgJDLmLsuvyrweb4/TNvqAiggcj/3hu4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cstruct bigarray-compat ];
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
{ lib, buildDunePackage, io-page, cstruct, ounit }:
|
||||
|
||||
buildDunePackage {
|
||||
pname = "io-page-unix";
|
||||
|
||||
inherit (io-page) version src useDune2 minimumOCamlVersion;
|
||||
|
||||
propagatedBuildInputs = [ cstruct io-page ];
|
||||
checkInputs = [ ounit ];
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
inherit (io-page.meta) homepage license;
|
||||
description = "Support for efficient handling of I/O memory pages on Unix";
|
||||
maintainers = [ maintainers.sternenseemann ];
|
||||
};
|
||||
}
|
||||
@@ -1,29 +1,20 @@
|
||||
{ lib, fetchurl, buildDunePackage, io-page, io-page-unix, mirage-block, alcotest
|
||||
, mirage-block-combinators }:
|
||||
{ lib, fetchurl, buildDunePackage, io-page, mirage-block }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "mirage-block-ramdisk";
|
||||
version = "0.5";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/mirage/mirage-block-ramdisk/releases/download/${version}/mirage-block-ramdisk-${version}.tbz";
|
||||
sha256 = "cc0e814fd54efe7a5b7a8c5eb1c04e2dece751b7d8dee2d95908a0768896e8af";
|
||||
};
|
||||
|
||||
# Make tests compatible with alcotest 1.4.0
|
||||
postPatch = ''
|
||||
substituteInPlace test/tests.ml --replace 'Fmt.kstrf Alcotest.fail' 'Fmt.kstrf (fun s -> Alcotest.fail s)'
|
||||
'';
|
||||
|
||||
minimumOCamlVersion = "4.06";
|
||||
minimalOCamlVersion = "4.06";
|
||||
|
||||
propagatedBuildInputs = [ io-page mirage-block ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ alcotest io-page-unix mirage-block-combinators ];
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "In-memory BLOCK device for MirageOS";
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
{ lib, fetchurl, buildDunePackage, cstruct-lwt, diet, io-page-unix, logs
|
||||
, mirage-block, ounit, rresult, uri }:
|
||||
{ lib, fetchurl, buildDunePackage, cstruct-lwt, diet, io-page, logs
|
||||
, mirage-block, ounit2, rresult, uri }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "mirage-block-unix";
|
||||
version = "2.12.1";
|
||||
|
||||
useDune2 = true;
|
||||
version = "2.14.1";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/mirage/mirage-block-unix/releases/download/v${version}/mirage-block-unix-v${version}.tbz";
|
||||
sha256 = "4fc0ccea3c06c654e149c0f0e1c2a6f19be4e3fe1afd293c6a0dba1b56b3b8c4";
|
||||
"https://github.com/mirage/mirage-block-unix/releases/download/v${version}/mirage-block-unix-${version}.tbz";
|
||||
sha256 = "sha256-FcUhbjHKT11ePDXaAVzUdV/WOHoxMoXyZKG5ikKpBNU=";
|
||||
};
|
||||
|
||||
minimumOCamlVersion = "4.06";
|
||||
minimalOCamlVersion = "4.06";
|
||||
|
||||
propagatedBuildInputs = [ cstruct-lwt logs mirage-block rresult uri ];
|
||||
propagatedBuildInputs = [ cstruct-lwt io-page logs mirage-block rresult uri ];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ diet io-page-unix ounit ];
|
||||
checkInputs = [ diet ounit2 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "MirageOS disk block driver for Unix";
|
||||
|
||||
@@ -1,16 +1,8 @@
|
||||
{ buildDunePackage, fetchpatch, mirage-block, io-page, logs }:
|
||||
{ buildDunePackage, mirage-block, io-page, logs }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "mirage-block-combinators";
|
||||
inherit (mirage-block) version src useDune2;
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "cstruct-6.0.0-compat.patch";
|
||||
url = "https://github.com/mirage/mirage-block/pull/49/commits/ff54105b21fb32d0d6977b419db0776e6c2ea166.patch";
|
||||
sha256 = "0bwgypnsyn4d9b46q6r7kh5qfcy58db7krs6z5zw83hc7y20y2sd";
|
||||
})
|
||||
];
|
||||
inherit (mirage-block) version src;
|
||||
|
||||
propagatedBuildInputs = [ mirage-block io-page logs ];
|
||||
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
{ lib, fetchurl, buildDunePackage
|
||||
, cstruct, lwt, mirage-device
|
||||
, cstruct, lwt, fmt
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "mirage-block";
|
||||
version = "2.0.1";
|
||||
|
||||
useDune2 = true;
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/mirage-block/releases/download/v${version}/mirage-block-v${version}.tbz";
|
||||
sha256 = "1wp8wmixaz9i2sbvq6nkx903lbnpdgb2w404pz1wk8kcg9p3ilcc";
|
||||
sha256 = "sha256-NB5nJpppMtdi0HDjKcCAqRjO4vIbAMfnP934P+SnzmU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cstruct lwt mirage-device ];
|
||||
propagatedBuildInputs = [ cstruct lwt fmt ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Block signatures and implementations for MirageOS";
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
{ lib, buildDunePackage, fetchurl, ocaml_lwt, duration, mirage-runtime, io-page-unix }:
|
||||
{ lib, buildDunePackage, fetchurl, lwt, duration, mirage-runtime, io-page }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "mirage-unix";
|
||||
version = "4.0.0";
|
||||
|
||||
useDune2 = true;
|
||||
version = "4.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/${pname}/releases/download/v${version}/${pname}-v${version}.tbz";
|
||||
sha256 = "0kyd83bkpjhn382b4mw3a4325xr8vms78znxqvifpcyfvfnlx7hj";
|
||||
sha256 = "sha256-9ymVBb3dkhb+MN97/sXe/oQ36CVx0kruj3sd19LiFZ4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ocaml_lwt duration mirage-runtime io-page-unix ];
|
||||
propagatedBuildInputs = [ lwt duration mirage-runtime io-page ];
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -11,16 +11,14 @@
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "secp256k1-internal";
|
||||
version = "0.2";
|
||||
version = "0.3";
|
||||
src = fetchFromGitLab {
|
||||
owner = "nomadic-labs";
|
||||
repo = "ocaml-secp256k1-internal";
|
||||
rev = "v${version}";
|
||||
sha256 = "1g9fyi78nmmm19l2cggwj14m4n80rz7gmnh1gq376zids71s6qxv";
|
||||
rev = version;
|
||||
sha256 = "sha256-1wvQ4RW7avcGsIc0qgDzhGrwOBY0KHrtNVHCj2cgNzo=";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
{ lib, buildDunePackage, fetchurl
|
||||
, ppx_cstruct, ppx_sexp_conv, ounit, io-page-unix
|
||||
, ppx_cstruct, ppx_sexp_conv, ounit
|
||||
, lwt, cstruct, io-page, mirage-flow, xenstore, xenstore_transport
|
||||
, sexplib, cmdliner
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "vchan";
|
||||
version = "6.0.0";
|
||||
version = "6.0.1";
|
||||
|
||||
useDune2 = true;
|
||||
minimumOCamlVersion = "4.08";
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/ocaml-vchan/releases/download/v${version}/vchan-v${version}.tbz";
|
||||
sha256 = "7a6cc89ff8ba7144d6cef3f36722f40deedb3cefff0f7be1b2f3b7b2a2b41747";
|
||||
url = "https://github.com/mirage/ocaml-vchan/releases/download/v${version}/vchan-${version}.tbz";
|
||||
sha256 = "sha256-5E7dITMVirYoxUkp8ZamRAolyhA6avXGJNAioxeBuV0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -34,7 +33,6 @@ buildDunePackage rec {
|
||||
doCheck = true;
|
||||
checkInputs = [
|
||||
cmdliner
|
||||
io-page-unix
|
||||
ounit
|
||||
];
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, buildDunePackage, io-page-unix, irmin-chunk, irmin-git, irmin-unix
|
||||
{ lib, buildDunePackage, irmin-chunk, irmin-git, irmin-unix
|
||||
, mirage-block-ramdisk, mirage-block-unix, wodan }:
|
||||
|
||||
buildDunePackage rec {
|
||||
@@ -6,7 +6,7 @@ buildDunePackage rec {
|
||||
inherit (wodan) version src useDune2;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
io-page-unix
|
||||
/* io-page-unix */ # No longer available in nixpkgs
|
||||
irmin-chunk
|
||||
irmin-git
|
||||
irmin-unix
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ lib, buildDunePackage, base64, benchmark, csv, cmdliner, wodan, afl-persistent
|
||||
, io-page-unix, mirage-block-ramdisk, mirage-block-unix }:
|
||||
, mirage-block-ramdisk, mirage-block-unix }:
|
||||
|
||||
buildDunePackage rec {
|
||||
outputs = [ "bin" "out" ];
|
||||
@@ -12,7 +12,7 @@ buildDunePackage rec {
|
||||
benchmark
|
||||
cmdliner
|
||||
csv
|
||||
io-page-unix
|
||||
/* io-page-unix */
|
||||
mirage-block-ramdisk
|
||||
mirage-block-unix
|
||||
wodan
|
||||
@@ -23,6 +23,7 @@ buildDunePackage rec {
|
||||
'';
|
||||
|
||||
meta = wodan.meta // {
|
||||
broken = true; # io-page-unix is no longer available
|
||||
description = "Wodan clients with Unix integration";
|
||||
mainProgram = "wodanc";
|
||||
};
|
||||
|
||||
59
pkgs/development/python-modules/deepwave/default.nix
Normal file
59
pkgs/development/python-modules/deepwave/default.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytorch
|
||||
, ninja
|
||||
, scipy
|
||||
, which
|
||||
, pybind11
|
||||
, pytest-xdist
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "deepwave";
|
||||
version = "0.0.11";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ar4";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-d4EahmzHACHaeKoNZy63OKwWZdlHbUydrbr4fD43X8s=";
|
||||
};
|
||||
|
||||
# unable to find ninja although it is available, most likely because it looks for its pip version
|
||||
postPatch = ''
|
||||
substituteInPlace setup.cfg --replace "ninja" ""
|
||||
'';
|
||||
|
||||
# The source files are compiled at runtime and cached at the
|
||||
# $HOME/.cache folder, so for the check phase it is needed to
|
||||
# have a temporary home. This is also the reason ninja is not
|
||||
# needed at the nativeBuildInputs, since it will only be used
|
||||
# at runtime. The user will have to add it to its nix-shell
|
||||
# along with deepwave
|
||||
preBuild = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ pytorch pybind11 ];
|
||||
|
||||
checkInputs = [
|
||||
ninja
|
||||
which
|
||||
scipy
|
||||
pytest-xdist
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "deepwave" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wave propagation modules for PyTorch";
|
||||
homepage = "https://github.com/ar4/deepwave";
|
||||
license = licenses.mit;
|
||||
platforms = intersectLists platforms.x86_64 platforms.linux;
|
||||
maintainers = with maintainers; [ atila ];
|
||||
};
|
||||
}
|
||||
@@ -13,7 +13,6 @@
|
||||
, pytest-localserver
|
||||
, responses
|
||||
, rsa
|
||||
, pyopenssl
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@@ -29,7 +28,6 @@ buildPythonPackage rec {
|
||||
cachetools
|
||||
pyasn1-modules
|
||||
rsa
|
||||
pyopenssl
|
||||
pyu2f
|
||||
];
|
||||
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "iminuit";
|
||||
version = "2.12.0";
|
||||
version = "2.12.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-zQ48t1EwLAZphOqzBhLF0kGaVDF/6+UbUL4fohr8Uak=";
|
||||
hash = "sha256-+le1b3wpze7QL5U1p7ZYB6zWoZfyCIUQlIIiLxoCPt4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "peaqevcore";
|
||||
version = "3.0.6";
|
||||
version = "3.0.7";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-/wiVyIiyNl7pqujjROgWdrQH253Li6QZzFZisUm5jlM=";
|
||||
hash = "sha256-yjcO5fRYR4v5334eh9Sen2VKk59zVT1WB/1iXKDd0rA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pecan";
|
||||
version = "1.4.1";
|
||||
version = "1.4.2";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-LL0O7btXR8BM3xjEquTxxunZUPOvcK8lRLB09+16BIA=";
|
||||
sha256 = "sha256-SbJV5wHD8UYWBfWw6PVPDCGSLXhF1BTCTdZAn+aV1VA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
||||
@@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||
repo = "uap-python";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-CwwVaToy5se5dZ4m1EHn8qgvprK82/Sgpos4lHedIUc=";
|
||||
hash = "sha256-TtOj1ZL8+4T95AgF9ErvI+0W35WQ23snFhCyCbuRjxM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
diff --git a/unittest2/compatibility.py b/unittest2/compatibility.py
|
||||
index 9e5f1a5..473957c 100644
|
||||
--- a/unittest2/compatibility.py
|
||||
+++ b/unittest2/compatibility.py
|
||||
@@ -1,4 +1,5 @@
|
||||
import collections
|
||||
+import collections.abc
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -140,7 +141,7 @@ except ImportError:
|
||||
### ChainMap (helper for configparser and string.Template)
|
||||
########################################################################
|
||||
|
||||
-class ChainMap(collections.MutableMapping):
|
||||
+class ChainMap(collections.abc.MutableMapping):
|
||||
''' A ChainMap groups multiple dicts (or other mappings) together
|
||||
to create a single, updateable view.
|
||||
|
||||
@@ -15,6 +15,10 @@ buildPythonPackage rec {
|
||||
sha256 = "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212";
|
||||
};
|
||||
|
||||
patches = lib.optionals (pythonAtLeast "3.7") [
|
||||
./collections-compat.patch
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ six traceback2 ];
|
||||
|
||||
# 1.0.0 and up create a circle dependency with traceback2/pbr
|
||||
@@ -34,7 +38,5 @@ buildPythonPackage rec {
|
||||
description = "A backport of the new features added to the unittest testing framework";
|
||||
homepage = "https://pypi.org/project/unittest2/";
|
||||
license = licenses.bsd0;
|
||||
# AttributeError: module 'collections' has no attribute 'MutableMapping'
|
||||
broken = pythonAtLeast "3.10";
|
||||
};
|
||||
}
|
||||
|
||||
41
pkgs/development/tools/check-jsonschema/default.nix
Normal file
41
pkgs/development/tools/check-jsonschema/default.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{ lib, fetchFromGitHub, python3 }:
|
||||
|
||||
with python3.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "check-jsonschema";
|
||||
version = "0.16.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "python-jsonschema";
|
||||
repo = "check-jsonschema";
|
||||
rev = version;
|
||||
sha256 = "sha256-rPjXua5kITr+I+jqeAO2iGUFVhjkLnQkXlUzRvkXduA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ruamel-yaml
|
||||
jsonschema
|
||||
identify
|
||||
requests
|
||||
click
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
pytest-xdist
|
||||
responses
|
||||
];
|
||||
|
||||
preCheck = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
|
||||
# https://github.com/python/cpython/issues/74570#issuecomment-1093748531
|
||||
export no_proxy='*';
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A jsonschema CLI and pre-commit hook";
|
||||
homepage = "https://github.com/python-jsonschema/check-jsonschema";
|
||||
license = licenses.apsl20;
|
||||
maintainers = with maintainers; [ sudosubin ];
|
||||
};
|
||||
}
|
||||
@@ -11,13 +11,13 @@ assert enableWasmEval && stdenv.isDarwin -> builtins.throw "building with wasm o
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "open-policy-agent";
|
||||
version = "0.41.0";
|
||||
version = "0.42.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-policy-agent";
|
||||
repo = "opa";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mvTaVKNE+XSBhJkodKSkLHoxJPOInPCycsoeeEJXABQ=";
|
||||
sha256 = "sha256-Sn0vtC6skQE/IxXj3cjrq5iXYjM1wi17d4eavPKhk+g=";
|
||||
};
|
||||
vendorSha256 = null;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec {
|
||||
postPatch = ''
|
||||
# upstream uses lld on aarch64-darwin for faster builds
|
||||
# within nix lld looks for CoreFoundation rather than CoreFoundation.tbd and fails
|
||||
substituteInPlace .cargo/config --replace '"-C", "link-arg=-fuse-ld=lld"' ""
|
||||
substituteInPlace .cargo/config.toml --replace '"-C", "link-arg=-fuse-ld=lld"' ""
|
||||
'';
|
||||
|
||||
# Install completions post-install
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "epson-inkjet-printer-escpr2";
|
||||
version = "1.1.46";
|
||||
version = "1.1.48";
|
||||
|
||||
src = fetchurl {
|
||||
# To find new versions, visit
|
||||
# http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for
|
||||
# some printer like for instance "WF-7210" to get to the most recent
|
||||
# version.
|
||||
url = "https://download3.ebz.epson.net/dsc/f/03/00/13/43/83/99e36ae2747bfae54a5dd32dacaf189a073278aa/epson-inkjet-printer-escpr2-1.1.46-1lsb3.2.src.rpm";
|
||||
sha256 = "sha256-7AeDULD/BB+swLBOwijilcM+yJi5slOMw2lEtquLyYw=";
|
||||
url = "https://download3.ebz.epson.net/dsc/f/03/00/13/52/26/977f2b2c13cc185981479fbd225b802c35c92beb/epson-inkjet-printer-escpr2-1.1.48-1lsb3.2.src.rpm";
|
||||
sha256 = "sha256-E+ZZLt7hdXojQkKr0qgdL+UuSZXAESWW9AHIfAX1jK0=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "atlassian-jira";
|
||||
version = "8.22.2";
|
||||
version = "8.22.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
|
||||
sha256 = "sha256-j9JUIK4GOdY9rMLPZcWbjWUh/s2ZkoVEQBNAIqHhdYI=";
|
||||
sha256 = "sha256-Zog0m8tsx8mDLU1rsW5zhhHgyRmi4JGWuy9DV8yp9nY=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
(fetchNuGet { pname = "Humanizer.Core"; version = "2.8.26"; sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm"; })
|
||||
(fetchNuGet { pname = "Jellyfin.XmlTv"; version = "10.8.0"; sha256 = "0fv923y58z9l97zhlrifmki0x1m7r52avglhrl2h1jjv1x1wkvzx"; })
|
||||
(fetchNuGet { pname = "libse"; version = "3.6.5"; sha256 = "1h0rm8jbwjp0qgayal48zdzgsqr7c7v9lnc4v8x0r0pxrb4f0x1k"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.6"; sha256 = "1fv3xvqc98l3ma4s8f2g4fklifbj1i24fngcvlhfm4j6s295xjj1"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.6"; sha256 = "1z50gqg0jimk98yd0zr2vxn087h3h1qn08fdcqbaxfgpcw30yi87"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0ndah9cqkgswhi60wrnni10j1d2hdg8jljij83lk1wbfqbng86jm"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.Authorization"; version = "6.0.6"; sha256 = "027ffl755kl1ffc190xq3g30nxzwy3zz0v9f85405lgj5ikh9cr9"; })
|
||||
(fetchNuGet { pname = "Microsoft.AspNetCore.Metadata"; version = "6.0.6"; sha256 = "17hwh9yh72wmqn1zbx6fbinqxln89yx2sryksk7xsgypzs2dcf5n"; })
|
||||
@@ -82,6 +84,10 @@
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.9"; sha256 = "0538fvjz9c27nvc6kv83b0912qvc71wz2w60svl0mscj86ds49wc"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
|
||||
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.6"; sha256 = "0kygwac98rxq89g83lyzn21kslvgdkcqfd1dnba2ssw7q056fbgy"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.6"; sha256 = "0hlxq0k60ras0wj7d7q94dxd8nzjcry0kixxs6z1hyrbm4q0y3ls"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.6"; sha256 = "088ggz1ac5z4ir707xmxiw4dlcaacfgmyvvlgwvsxhnv3fngf8b6"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.6"; sha256 = "117rz4gm7ihns5jlc2x05h7kdcgrl0ic4v67dzfbbr9kpra1bmcw"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0fjbjh7yxqc9h47ix37y963xi9f9y99jvl26cw3x3kvjlb8x0bgj"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
|
||||
|
||||
@@ -29,7 +29,11 @@ chmod -R +w "$src"
|
||||
pushd "$src"
|
||||
|
||||
mkdir ./nuget_tmp.packages
|
||||
|
||||
dotnet restore Jellyfin.Server --packages ./nuget_tmp.packages --runtime linux-x86
|
||||
dotnet restore Jellyfin.Server --packages ./nuget_tmp.packages --runtime linux-x64
|
||||
dotnet restore Jellyfin.Server --packages ./nuget_tmp.packages --runtime linux-arm
|
||||
dotnet restore Jellyfin.Server --packages ./nuget_tmp.packages --runtime linux-arm64
|
||||
|
||||
nuget-to-nix ./nuget_tmp.packages > "$nugetDepsFile"
|
||||
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "check_ssl_cert";
|
||||
version = "2.32.0";
|
||||
version = "2.33.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matteocorti";
|
||||
repo = "check_ssl_cert";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-CoWoV9Vv9j0VmkRw7bQFArkKZA2Qq+7ae3ujogsUWso=";
|
||||
hash = "sha256-LNs7v56Gk8pLM+vUwQKx85cTvcCZxfpuceOXih9t6kE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "phylactery";
|
||||
version = "0.1.1";
|
||||
version = "0.1.2";
|
||||
|
||||
goPackagePath = "git.sr.ht/~cnx/phylactery";
|
||||
|
||||
@@ -10,7 +10,7 @@ buildGoPackage rec {
|
||||
owner = "~cnx";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-HcpdPQ1WOMFNdfsZb//GvUVBCbmS3jARbcXjchlv2oE=";
|
||||
sha256 = "sha256-HQN6wJ/4YeuQaDcNgdHj0RgYnn2NxXGRfxybmv60EdQ=";
|
||||
};
|
||||
|
||||
# Upstream repo doesn't provide any test.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ cmake, cudatoolkit, fetchFromGitHub, gfortran, lib, llvmPackages, pythonPackages, stdenv, targetPlatform
|
||||
{ cmake, cudatoolkit, fetchFromGitHub, gfortran, lib, llvmPackages, python3Packages, stdenv, targetPlatform
|
||||
, enableCfp ? true
|
||||
, enableCuda ? false
|
||||
, enableExamples ? true
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = lib.optional enableCuda cudatoolkit
|
||||
++ lib.optional enableFortran gfortran
|
||||
++ lib.optional enableOpenMP llvmPackages.openmp
|
||||
++ lib.optionals enablePython [ pythonPackages.cython pythonPackages.numpy pythonPackages.python ];
|
||||
++ lib.optionals enablePython (with python3Packages; [ cython numpy python ]);
|
||||
|
||||
cmakeFlags = [
|
||||
# More tests not enabled by default
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "flameshot";
|
||||
version = "12.0.0";
|
||||
version = "12.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flameshot-org";
|
||||
repo = "flameshot";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ByW+XYTaeBTTbOaxNeF367nqgnBM+EC8jm+PmwHcVGQ=";
|
||||
sha256 = "sha256-omyMN8d+g1uYsEw41KmpJCwOmVWLokEfbW19vIvG79w=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "panoply";
|
||||
version = "5.0.6";
|
||||
version = "5.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
|
||||
sha256 = "0nbr22sxfmk48ngk9gb1vcwv3fkd5m0v208xx6vl00nlnbh4kms4";
|
||||
sha256 = "08wh9i0pk7qq2az0nd8g8gqlzwril49qffi0zcrmn7r0nx44cdjm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "pls";
|
||||
version = "5.1.2";
|
||||
version = "5.2.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dhruvkb";
|
||||
repo = "pls";
|
||||
rev = version;
|
||||
sha256 = "sha256-xJvAAlRVKQHEOz8wbErHCUTcb8Y1otcPEUwTw2lgddo=";
|
||||
sha256 = "sha256-nmADeOVS5qdWsun36eKmeT4kYml0sTXYNa+YUiyNGQY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3.pkgs.poetry-core ];
|
||||
|
||||
24
pkgs/tools/misc/vimv-rs/default.nix
Normal file
24
pkgs/tools/misc/vimv-rs/default.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ lib, rustPlatform, fetchCrate, stdenv, Foundation }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "vimv-rs";
|
||||
version = "1.7.5";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit version;
|
||||
crateName = "vimv";
|
||||
sha256 = "sha256-VOHQLdwJ6c8KB/IjMDZe9/pNHmLuouNggIK8uJPu+NQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qXT44h4f4Zw1bi/gblczxehA6hqLLjQBpSwVpYd0PE4=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line utility for batch-renaming files";
|
||||
homepage = "https://www.dmulholl.com/dev/vimv.html";
|
||||
license = licenses.bsd0;
|
||||
mainProgram = "vimv";
|
||||
maintainers = with maintainers; [ zowoq ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
diff --git a/src/portable/install.rs b/src/portable/install.rs
|
||||
index dc0d932..5394fc1 100644
|
||||
--- a/src/portable/install.rs
|
||||
+++ b/src/portable/install.rs
|
||||
@@ -133,8 +133,16 @@ fn unpack_package(cache_file: &Path, target_dir: &Path)
|
||||
for entry in arch.entries()? {
|
||||
let mut entry = entry?;
|
||||
let path = entry.path()?;
|
||||
+ let is_inside_bin = {
|
||||
+ let mut path_iter = path.iter();
|
||||
+ path_iter.next(); // discards first folder
|
||||
+ path_iter.as_path().starts_with("bin")
|
||||
+ };
|
||||
if let Some(path) = build_path(&target_dir, &*path)? {
|
||||
- entry.unpack(path)?;
|
||||
+ entry.unpack(&path)?;
|
||||
+ if is_inside_bin {
|
||||
+ nix_patchelf_if_needed(&path);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
bar.finish_and_clear();
|
||||
@@ -203,3 +211,11 @@ pub fn package(pkg_info: &PackageInfo) -> anyhow::Result<InstallInfo> {
|
||||
|
||||
Ok(info)
|
||||
}
|
||||
+
|
||||
+fn nix_patchelf_if_needed(dest_path: &Path) {
|
||||
+ let _ = ::std::process::Command::new("@patchelf@/bin/patchelf")
|
||||
+ .arg("--set-interpreter")
|
||||
+ .arg("@dynamicLinker@")
|
||||
+ .arg(dest_path)
|
||||
+ .output();
|
||||
+}
|
||||
55
pkgs/tools/networking/edgedb/default.nix
Normal file
55
pkgs/tools/networking/edgedb/default.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, runCommand
|
||||
, patchelf
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, curl
|
||||
, Security
|
||||
, CoreServices
|
||||
, libiconv
|
||||
, xz
|
||||
, perl
|
||||
, substituteAll
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "edgedb";
|
||||
version = "unstable-2022-06-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "edgedb";
|
||||
repo = "edgedb-cli";
|
||||
rev = "3c65c8bf0a09988356ad477d0ae234182f809b0a";
|
||||
sha256 = "sha256-UqoRa5ZbPJEHo9wyyygrN1ssorgY3cLw/mMrCDXr4gw=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-6HJkkem44+dat5bmVEM+7GSJFjCz1dYZeRIPEoEwNlI=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper pkg-config perl ];
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
] ++ lib.optionals stdenv.isDarwin [ CoreServices Security libiconv xz ];
|
||||
|
||||
checkFeatures = [ ];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./0001-dynamically-patchelf-binaries.patch;
|
||||
inherit patchelf;
|
||||
dynamicLinker = stdenv.cc.bintools.dynamicLinker;
|
||||
})
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "EdgeDB cli";
|
||||
homepage = "https://www.edgedb.com/docs/cli/index";
|
||||
license = with licenses; [ asl20 /* or */ mit ];
|
||||
maintainers = [ maintainers.ranfdev ];
|
||||
};
|
||||
}
|
||||
@@ -5,14 +5,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "vopono";
|
||||
version = "0.9.2";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-Z9eAbGq4ePbLyp6SWSbgLy4ogo2EFMps2HT8JUQFuR4=";
|
||||
sha256 = "sha256-89Mzn2knClBJwVlCglR5BOOo5dXRP1Gqp/mmwHvwM3c=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-aeukVOn6uBZlsPl35erJNlKxp929czuFCzllswYOWhM=";
|
||||
cargoHash = "sha256-8m/zlmeYcYCxycP9W6eweRJ2Vf/8+GSYf+NNz3NtnIw=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Run applications through VPN connections in network namespaces";
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "commix";
|
||||
version = "3.4";
|
||||
version = "3.5";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "commixproject";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JM4NE77LpgsdWhzPe/8K0sQhOSpzDu9usuH7pfQ6dR0=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-3UCHTgIW7ArXQD0Kj5XwE1I5VszsueXDJ68QWdQrAho=";
|
||||
};
|
||||
|
||||
# Project has no tests
|
||||
|
||||
@@ -3,18 +3,17 @@
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kdigger";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quarkslab";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-j4HIwfRIUpV25DmbQ+9go8aJMEYaFDPxrdr/zGWBeVU=";
|
||||
sha256 = "sha256-xNOfxJJa0KbrxP1YRDEhnJEmKmpWzXchJWZ/2StR2O0=";
|
||||
# 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,17 +25,11 @@ buildGoModule rec {
|
||||
};
|
||||
vendorSha256 = "sha256-3vn3MsE/4lBw89wgYgzm0RuJJ5RQTkgS6O74PpfFcUk=";
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "simplify-ldflags.patch";
|
||||
url = "https://github.com/quarkslab/kdigger/pull/2.patch";
|
||||
sha256 = "sha256-d/NdoAdnheVgdqr2EF2rNn3gJvbjRZtOKFw2DqWR8TY=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
# static to be easily copied into containers since it's an in-pod pen-testing tool
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
@@ -76,7 +69,6 @@ buildGoModule rec {
|
||||
'';
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ jk ];
|
||||
# aarch64-linux support progress - https://github.com/quarkslab/kdigger/issues/3
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vaultwarden-vault";
|
||||
version = "2.27.0";
|
||||
version = "2022.5.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
|
||||
sha256 = "sha256-r4z45gjVB+RMZM0IE/ec0yf+rt4YDz5IpZEz5FlQSds=";
|
||||
sha256 = "sha256-clsiEC9nwfrGMIBwT95G3tR3KLxMvMM553s8it/3JtM=";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl
|
||||
{ lib, stdenv, fetchurl, fetchpatch
|
||||
, texlive
|
||||
, zlib, libiconv, libpng, libX11
|
||||
, freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
|
||||
@@ -25,6 +25,15 @@ let
|
||||
];
|
||||
sha256 = "0jsq1p66l46k2qq0gbqmx25flj2nprsz4wrd1ybn286p11kdkvvs";
|
||||
};
|
||||
patches = [
|
||||
# Pull upstream fix for -fno-common toolchains.
|
||||
(fetchpatch {
|
||||
name = "fno-common.patch";
|
||||
url = "https://github.com/TeX-Live/texlive-source/commit/7748582aeda70ffa02105f6e3e2fc2476e76aac6.patch";
|
||||
sha256 = "1y59cwa41kbg0i071g488jhi9qg0h8l7hqd69brhx2yj95za8c40";
|
||||
excludes = [ "texk/xdvik/ChangeLog" ];
|
||||
})
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
for i in texk/kpathsea/mktex*; do
|
||||
@@ -406,7 +415,7 @@ xdvi = stdenv.mkDerivation {
|
||||
pname = "texlive-xdvi.bin";
|
||||
inherit version;
|
||||
|
||||
inherit (common) src;
|
||||
inherit (common) src patches;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ core/*kpathsea*/ freetype ghostscript ]
|
||||
|
||||
@@ -406,6 +406,10 @@ with pkgs;
|
||||
|
||||
eclipse-mat = callPackage ../development/tools/eclipse-mat { };
|
||||
|
||||
edgedb = callPackage ../tools/networking/edgedb {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreServices Security;
|
||||
};
|
||||
|
||||
efficient-compression-tool = callPackage ../tools/compression/efficient-compression-tool { };
|
||||
|
||||
evans = callPackage ../development/tools/evans { };
|
||||
@@ -14772,6 +14776,8 @@ with pkgs;
|
||||
|
||||
pythonDocs = recurseIntoAttrs (callPackage ../development/interpreters/python/cpython/docs {});
|
||||
|
||||
check-jsonschema = callPackage ../development/tools/check-jsonschema {};
|
||||
|
||||
pypi2nix = callPackage ../development/tools/pypi2nix {};
|
||||
|
||||
pypi-mirror = callPackage ../development/tools/pypi-mirror {};
|
||||
@@ -14870,6 +14876,8 @@ with pkgs;
|
||||
inherit (darwin) libiconv libobjc libunwind;
|
||||
inherit (darwin.apple_sdk.frameworks) Foundation;
|
||||
})
|
||||
mkRubyVersion
|
||||
mkRuby
|
||||
ruby_2_7
|
||||
ruby_3_0
|
||||
ruby_3_1;
|
||||
@@ -30710,6 +30718,10 @@ with pkgs;
|
||||
|
||||
vimv = callPackage ../tools/misc/vimv { };
|
||||
|
||||
vimv-rs = callPackage ../tools/misc/vimv-rs {
|
||||
inherit (darwin.apple_sdk.frameworks) Foundation;
|
||||
};
|
||||
|
||||
qpdfview = libsForQt5.callPackage ../applications/misc/qpdfview {};
|
||||
|
||||
qtile = callPackage ../applications/window-managers/qtile { };
|
||||
@@ -33158,9 +33170,7 @@ with pkgs;
|
||||
|
||||
astral = callPackage ../applications/science/biology/astral { };
|
||||
|
||||
archimedes = callPackage ../applications/science/electronics/archimedes {
|
||||
stdenv = gcc6Stdenv;
|
||||
};
|
||||
archimedes = callPackage ../applications/science/electronics/archimedes { };
|
||||
|
||||
bayescan = callPackage ../applications/science/biology/bayescan { };
|
||||
|
||||
@@ -34521,7 +34531,7 @@ with pkgs;
|
||||
|
||||
idsk = callPackage ../tools/filesystems/idsk { stdenv = gcc10StdenvCompat; };
|
||||
|
||||
colima = callPackage ../applications/virtualization/colima { };
|
||||
colima = callPackage ../applications/virtualization/colima { buildGoModule = buildGo118Module; };
|
||||
|
||||
lima = callPackage ../applications/virtualization/lima { };
|
||||
|
||||
|
||||
@@ -529,8 +529,6 @@ let
|
||||
|
||||
io-page = callPackage ../development/ocaml-modules/io-page { };
|
||||
|
||||
io-page-unix = callPackage ../development/ocaml-modules/io-page/unix.nix { };
|
||||
|
||||
ipaddr = callPackage ../development/ocaml-modules/ipaddr { };
|
||||
|
||||
ipaddr-cstruct = callPackage ../development/ocaml-modules/ipaddr/cstruct.nix { };
|
||||
|
||||
@@ -2204,6 +2204,8 @@ in {
|
||||
|
||||
deeptoolsintervals = callPackage ../development/python-modules/deeptoolsintervals { };
|
||||
|
||||
deepwave = callPackage ../development/python-modules/deepwave { };
|
||||
|
||||
deep-translator = callPackage ../development/python-modules/deep-translator { };
|
||||
|
||||
deezer-py = callPackage ../development/python-modules/deezer-py { };
|
||||
|
||||
Reference in New Issue
Block a user