Merge branch 'master' into staging-next
Hydra nixpkgs: ?compare=1582510
This commit is contained in:
commit
d96487b9ca
@ -101,10 +101,10 @@ to compile your Haskell packages with any GHC version you please. The following
|
|||||||
command displays the complete list of available compilers:
|
command displays the complete list of available compilers:
|
||||||
```
|
```
|
||||||
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
|
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
|
||||||
haskell.compiler.ghc8101 ghc-8.10.0.20191210
|
haskell.compiler.ghc8101 ghc-8.10.1
|
||||||
haskell.compiler.integer-simple.ghc8101 ghc-8.10.0.20191210
|
haskell.compiler.integer-simple.ghc8101 ghc-8.10.1
|
||||||
haskell.compiler.ghcHEAD ghc-8.10.20191119
|
haskell.compiler.ghcHEAD ghc-8.11.20200403
|
||||||
haskell.compiler.integer-simple.ghcHEAD ghc-8.10.20191119
|
haskell.compiler.integer-simple.ghcHEAD ghc-8.11.20200403
|
||||||
haskell.compiler.ghc822Binary ghc-8.2.2-binary
|
haskell.compiler.ghc822Binary ghc-8.2.2-binary
|
||||||
haskell.compiler.ghc844 ghc-8.4.4
|
haskell.compiler.ghc844 ghc-8.4.4
|
||||||
haskell.compiler.ghc863Binary ghc-8.6.3-binary
|
haskell.compiler.ghc863Binary ghc-8.6.3-binary
|
||||||
|
@ -4225,6 +4225,12 @@
|
|||||||
githubId = 32152;
|
githubId = 32152;
|
||||||
name = "Luka Blaskovic";
|
name = "Luka Blaskovic";
|
||||||
};
|
};
|
||||||
|
lbpdt = {
|
||||||
|
email = "nix@pdtpartners.com";
|
||||||
|
github = "lbpdt";
|
||||||
|
githubId = 45168934;
|
||||||
|
name = "Louis Blin";
|
||||||
|
};
|
||||||
ldelelis = {
|
ldelelis = {
|
||||||
email = "ldelelis@est.frba.utn.edu.ar";
|
email = "ldelelis@est.frba.utn.edu.ar";
|
||||||
github = "ldelelis";
|
github = "ldelelis";
|
||||||
@ -8121,6 +8127,12 @@
|
|||||||
githubId = 3889405;
|
githubId = 3889405;
|
||||||
name = "vyp";
|
name = "vyp";
|
||||||
};
|
};
|
||||||
|
wamserma = {
|
||||||
|
name = "Markus S. Wamser";
|
||||||
|
email = "github-dev@mail2013.wamser.eu";
|
||||||
|
github = "wamserma";
|
||||||
|
githubId = 60148;
|
||||||
|
};
|
||||||
waynr = {
|
waynr = {
|
||||||
name = "Wayne Warren";
|
name = "Wayne Warren";
|
||||||
email = "wayne.warren.s@gmail.com";
|
email = "wayne.warren.s@gmail.com";
|
||||||
@ -8431,6 +8443,12 @@
|
|||||||
githubId = 250877;
|
githubId = 250877;
|
||||||
name = "Elmar Athmer";
|
name = "Elmar Athmer";
|
||||||
};
|
};
|
||||||
|
zakkor = {
|
||||||
|
email = "edward.dalbon@gmail.com";
|
||||||
|
github = "zakkor";
|
||||||
|
githubId = 6191421;
|
||||||
|
name = "Edward d'Albon";
|
||||||
|
};
|
||||||
zef = {
|
zef = {
|
||||||
email = "zef@zef.me";
|
email = "zef@zef.me";
|
||||||
name = "Zef Hemel";
|
name = "Zef Hemel";
|
||||||
|
@ -203,6 +203,15 @@ environment.systemPackages = [
|
|||||||
<link xlink:href="https://github.com/gollum/gollum/wiki/5.0-release-notes#migrating-your-wiki">here</link>.
|
<link xlink:href="https://github.com/gollum/gollum/wiki/5.0-release-notes#migrating-your-wiki">here</link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Deluge 2.x was added and is used as default for new NixOS
|
||||||
|
installations where stateVersion is >= 20.09. If you are upgrading from a previous
|
||||||
|
NixOS version, you can set <literal>service.deluge.package = pkgs.deluge-2_x</literal>
|
||||||
|
to upgrade to Deluge 2.x and migrate the state to the new format.
|
||||||
|
Be aware that backwards state migrations are not supported by Deluge.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
@ -246,7 +255,6 @@ environment.systemPackages = [
|
|||||||
# sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test
|
# sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -238,6 +238,7 @@
|
|||||||
./services/backup/zfs-replication.nix
|
./services/backup/zfs-replication.nix
|
||||||
./services/backup/znapzend.nix
|
./services/backup/znapzend.nix
|
||||||
./services/cluster/hadoop/default.nix
|
./services/cluster/hadoop/default.nix
|
||||||
|
./services/cluster/k3s/default.nix
|
||||||
./services/cluster/kubernetes/addons/dns.nix
|
./services/cluster/kubernetes/addons/dns.nix
|
||||||
./services/cluster/kubernetes/addons/dashboard.nix
|
./services/cluster/kubernetes/addons/dashboard.nix
|
||||||
./services/cluster/kubernetes/addon-manager.nix
|
./services/cluster/kubernetes/addon-manager.nix
|
||||||
|
@ -321,12 +321,6 @@ in
|
|||||||
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
|
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
# With RemainAfterExit the service is considered active even
|
|
||||||
# after the main process having exited, which means when it
|
|
||||||
# gets changed, the activation phase restarts it, meaning
|
|
||||||
# the permissions of the StateDirectory get adjusted
|
|
||||||
# according to the specified group
|
|
||||||
RemainAfterExit = true;
|
|
||||||
User = data.user;
|
User = data.user;
|
||||||
Group = data.group;
|
Group = data.group;
|
||||||
PrivateTmp = true;
|
PrivateTmp = true;
|
||||||
|
@ -13,11 +13,11 @@ let
|
|||||||
mopidyEnv = buildEnv {
|
mopidyEnv = buildEnv {
|
||||||
name = "mopidy-with-extensions-${mopidy.version}";
|
name = "mopidy-with-extensions-${mopidy.version}";
|
||||||
paths = closePropagation cfg.extensionPackages;
|
paths = closePropagation cfg.extensionPackages;
|
||||||
pathsToLink = [ "/${python3.sitePackages}" ];
|
pathsToLink = [ "/${mopidyPackages.python.sitePackages}" ];
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \
|
makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \
|
||||||
--prefix PYTHONPATH : $out/${python3.sitePackages}
|
--prefix PYTHONPATH : $out/${mopidyPackages.python.sitePackages}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
101
nixos/modules/services/cluster/k3s/default.nix
Normal file
101
nixos/modules/services/cluster/k3s/default.nix
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.k3s;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# interface
|
||||||
|
options.services.k3s = {
|
||||||
|
enable = mkEnableOption "k3s";
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.k3s;
|
||||||
|
defaultText = "pkgs.k3s";
|
||||||
|
example = literalExample "pkgs.k3s";
|
||||||
|
description = "Package that should be used for k3s";
|
||||||
|
};
|
||||||
|
|
||||||
|
role = mkOption {
|
||||||
|
description = ''
|
||||||
|
Whether k3s should run as a server or agent.
|
||||||
|
Note that the server, by default, also runs as an agent.
|
||||||
|
'';
|
||||||
|
default = "server";
|
||||||
|
type = types.enum [ "server" "agent" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
serverAddr = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The k3s server to connect to. This option only makes sense for an agent.";
|
||||||
|
example = "https://10.0.0.10:6443";
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
token = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The k3s token to use when connecting to the server. This option only makes sense for an agent.";
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
docker = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Use docker to run containers rather than the built-in containerd.";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraFlags = mkOption {
|
||||||
|
description = "Extra flags to pass to the k3s command.";
|
||||||
|
default = "";
|
||||||
|
example = "--no-deploy traefik --cluster-cidr 10.24.0.0/16";
|
||||||
|
};
|
||||||
|
|
||||||
|
disableAgent = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Only run the server. This option only makes sense for a server.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# implementation
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.role == "agent" -> cfg.serverAddr != "";
|
||||||
|
message = "serverAddr should be set if role is 'agent'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.role == "agent" -> cfg.token != "";
|
||||||
|
message = "token should be set if role is 'agent'";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation.docker = mkIf cfg.docker {
|
||||||
|
enable = mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.k3s = {
|
||||||
|
description = "k3s service";
|
||||||
|
after = mkIf cfg.docker [ "docker.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
# Taken from https://github.com/rancher/k3s/blob/v1.17.4+k3s1/contrib/ansible/roles/k3s/node/templates/k3s.service.j2
|
||||||
|
Type = "notify";
|
||||||
|
KillMode = "process";
|
||||||
|
Delegate = "yes";
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = "5s";
|
||||||
|
ExecStart = concatStringsSep " \\\n " (
|
||||||
|
[
|
||||||
|
"${cfg.package}/bin/k3s ${cfg.role}"
|
||||||
|
] ++ (optional cfg.docker "--docker")
|
||||||
|
++ (optional cfg.disableAgent "--disable-agent")
|
||||||
|
++ (optional (cfg.role == "agent") "--server ${cfg.serverAddr} --token ${cfg.token}")
|
||||||
|
++ [ cfg.extraFlags ]
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -33,6 +33,7 @@
|
|||||||
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
|
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
|
||||||
installation instructions of Synapse </link>.
|
installation instructions of Synapse </link>.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
fqdn =
|
fqdn =
|
||||||
let
|
let
|
||||||
@ -46,7 +47,7 @@ in {
|
|||||||
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
|
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
|
||||||
|
|
||||||
<link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true;
|
<link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true;
|
||||||
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = ''
|
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = pkgs.writeText "synapse-init.sql" ''
|
||||||
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
|
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
|
||||||
CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
|
CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
|
||||||
TEMPLATE template0
|
TEMPLATE template0
|
||||||
|
@ -5,6 +5,7 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.services.deluge;
|
cfg = config.services.deluge;
|
||||||
cfg_web = config.services.deluge.web;
|
cfg_web = config.services.deluge.web;
|
||||||
|
isDeluge1 = versionOlder cfg.package.version "2.0.0";
|
||||||
|
|
||||||
openFilesLimit = 4096;
|
openFilesLimit = 4096;
|
||||||
listenPortsDefault = [ 6881 6889 ];
|
listenPortsDefault = [ 6881 6889 ];
|
||||||
@ -18,11 +19,11 @@ let
|
|||||||
preStart = if cfg.declarative then ''
|
preStart = if cfg.declarative then ''
|
||||||
if [ -e ${declarativeLockFile} ]; then
|
if [ -e ${declarativeLockFile} ]; then
|
||||||
# Was declarative before, no need to back up anything
|
# Was declarative before, no need to back up anything
|
||||||
ln -sf ${configFile} ${configDir}/core.conf
|
${if isDeluge1 then "ln -sf" else "cp"} ${configFile} ${configDir}/core.conf
|
||||||
ln -sf ${cfg.authFile} ${configDir}/auth
|
ln -sf ${cfg.authFile} ${configDir}/auth
|
||||||
else
|
else
|
||||||
# Declarative for the first time, backup stateful files
|
# Declarative for the first time, backup stateful files
|
||||||
ln -sb --suffix=.stateful ${configFile} ${configDir}/core.conf
|
${if isDeluge1 then "ln -s" else "cp"} -b --suffix=.stateful ${configFile} ${configDir}/core.conf
|
||||||
ln -sb --suffix=.stateful ${cfg.authFile} ${configDir}/auth
|
ln -sb --suffix=.stateful ${cfg.authFile} ${configDir}/auth
|
||||||
echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \
|
echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \
|
||||||
> ${declarativeLockFile}
|
> ${declarativeLockFile}
|
||||||
@ -144,6 +145,14 @@ in {
|
|||||||
This always contains unzip, gnutar, xz, p7zip and bzip2.
|
This always contains unzip, gnutar, xz, p7zip and bzip2.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
example = literalExample "pkgs.deluge-1_x";
|
||||||
|
description = ''
|
||||||
|
Deluge package to use.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
deluge.web = {
|
deluge.web = {
|
||||||
@ -170,6 +179,13 @@ in {
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
services.deluge.package = mkDefault (
|
||||||
|
if versionAtLeast config.system.stateVersion "20.09" then
|
||||||
|
pkgs.deluge-2_x
|
||||||
|
else
|
||||||
|
pkgs.deluge-1_x
|
||||||
|
);
|
||||||
|
|
||||||
# Provide a default set of `extraPackages`.
|
# Provide a default set of `extraPackages`.
|
||||||
services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ];
|
services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ];
|
||||||
|
|
||||||
@ -189,10 +205,10 @@ in {
|
|||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
description = "Deluge BitTorrent Daemon";
|
description = "Deluge BitTorrent Daemon";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
path = [ pkgs.deluge ] ++ cfg.extraPackages;
|
path = [ cfg.package ] ++ cfg.extraPackages;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
${pkgs.deluge}/bin/deluged \
|
${cfg.package}/bin/deluged \
|
||||||
--do-not-daemonize \
|
--do-not-daemonize \
|
||||||
--config ${configDir}
|
--config ${configDir}
|
||||||
'';
|
'';
|
||||||
@ -212,10 +228,11 @@ in {
|
|||||||
requires = [ "deluged.service" ];
|
requires = [ "deluged.service" ];
|
||||||
description = "Deluge BitTorrent WebUI";
|
description = "Deluge BitTorrent WebUI";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
path = [ pkgs.deluge ];
|
path = [ cfg.package ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
${pkgs.deluge}/bin/deluge-web \
|
${cfg.package}/bin/deluge-web \
|
||||||
|
${optionalString (!isDeluge1) "--do-not-daemonize"} \
|
||||||
--config ${configDir} \
|
--config ${configDir} \
|
||||||
--port ${toString cfg.web.port}
|
--port ${toString cfg.web.port}
|
||||||
'';
|
'';
|
||||||
@ -234,7 +251,7 @@ in {
|
|||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = [ pkgs.deluge ];
|
environment.systemPackages = [ cfg.package ];
|
||||||
|
|
||||||
users.users = mkIf (cfg.user == "deluge") {
|
users.users = mkIf (cfg.user == "deluge") {
|
||||||
deluge = {
|
deluge = {
|
||||||
|
@ -55,7 +55,7 @@ in
|
|||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
<prompt># </prompt>ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
|
<prompt># </prompt>ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
|
||||||
<prompt># </prompt>ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed_25519_key
|
<prompt># </prompt>ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
<warning>
|
<warning>
|
||||||
|
@ -137,6 +137,8 @@ let
|
|||||||
''}
|
''}
|
||||||
|
|
||||||
# Copy secrets if needed.
|
# Copy secrets if needed.
|
||||||
|
#
|
||||||
|
# TODO: move out to a separate script; see #85000.
|
||||||
${optionalString (!config.boot.loader.supportsInitrdSecrets)
|
${optionalString (!config.boot.loader.supportsInitrdSecrets)
|
||||||
(concatStringsSep "\n" (mapAttrsToList (dest: source:
|
(concatStringsSep "\n" (mapAttrsToList (dest: source:
|
||||||
let source' = if source == null then dest else source; in
|
let source' = if source == null then dest else source; in
|
||||||
@ -579,6 +581,25 @@ in
|
|||||||
message = "boot.resumeDevice has to be an absolute path."
|
message = "boot.resumeDevice has to be an absolute path."
|
||||||
+ " Old \"x:y\" style is no longer supported.";
|
+ " Old \"x:y\" style is no longer supported.";
|
||||||
}
|
}
|
||||||
|
# TODO: remove when #85000 is fixed
|
||||||
|
{ assertion = !config.boot.loader.supportsInitrdSecrets ->
|
||||||
|
all (source:
|
||||||
|
builtins.isPath source ||
|
||||||
|
(builtins.isString source && hasPrefix source builtins.storeDir))
|
||||||
|
(attrValues config.boot.initrd.secrets);
|
||||||
|
message = ''
|
||||||
|
boot.loader.initrd.secrets values must be unquoted paths when
|
||||||
|
using a bootloader that doesn't natively support initrd
|
||||||
|
secrets, e.g.:
|
||||||
|
|
||||||
|
boot.initrd.secrets = {
|
||||||
|
"/etc/secret" = /path/to/secret;
|
||||||
|
};
|
||||||
|
|
||||||
|
Note that this will result in all secrets being stored
|
||||||
|
world-readable in the Nix store!
|
||||||
|
'';
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
system.build =
|
system.build =
|
||||||
|
@ -146,6 +146,7 @@ in
|
|||||||
jellyfin = handleTest ./jellyfin.nix {};
|
jellyfin = handleTest ./jellyfin.nix {};
|
||||||
jenkins = handleTest ./jenkins.nix {};
|
jenkins = handleTest ./jenkins.nix {};
|
||||||
jirafeau = handleTest ./jirafeau.nix {};
|
jirafeau = handleTest ./jirafeau.nix {};
|
||||||
|
k3s = handleTest ./k3s.nix {};
|
||||||
kafka = handleTest ./kafka.nix {};
|
kafka = handleTest ./kafka.nix {};
|
||||||
keepalived = handleTest ./keepalived.nix {};
|
keepalived = handleTest ./keepalived.nix {};
|
||||||
kerberos = handleTest ./kerberos/default.nix {};
|
kerberos = handleTest ./kerberos/default.nix {};
|
||||||
|
@ -5,9 +5,10 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
simple = {
|
simple1 = {
|
||||||
services.deluge = {
|
services.deluge = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.deluge-1_x;
|
||||||
web = {
|
web = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
@ -15,50 +16,92 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
declarative =
|
declarative1 = {
|
||||||
{ ... }:
|
services.deluge = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.deluge-1_x;
|
||||||
|
openFirewall = true;
|
||||||
|
declarative = true;
|
||||||
|
config = {
|
||||||
|
allow_remote = true;
|
||||||
|
download_location = "/var/lib/deluge/my-download";
|
||||||
|
daemon_port = 58846;
|
||||||
|
listen_ports = [ 6881 6889 ];
|
||||||
|
};
|
||||||
|
web = {
|
||||||
|
enable = true;
|
||||||
|
port = 3142;
|
||||||
|
};
|
||||||
|
authFile = pkgs.writeText "deluge-auth" ''
|
||||||
|
localclient:a7bef72a890:10
|
||||||
|
andrew:password:10
|
||||||
|
user3:anotherpass:5
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
{
|
simple2 = {
|
||||||
services.deluge = {
|
services.deluge = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.deluge-2_x;
|
||||||
|
web = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
declarative = true;
|
|
||||||
config = {
|
|
||||||
allow_remote = true;
|
|
||||||
download_location = "/var/lib/deluge/my-download";
|
|
||||||
daemon_port = 58846;
|
|
||||||
listen_ports = [ 6881 6889 ];
|
|
||||||
};
|
|
||||||
web = {
|
|
||||||
enable = true;
|
|
||||||
port = 3142;
|
|
||||||
};
|
|
||||||
authFile = pkgs.writeText "deluge-auth" ''
|
|
||||||
localclient:a7bef72a890:10
|
|
||||||
andrew:password:10
|
|
||||||
user3:anotherpass:5
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
environment.systemPackages = [ pkgs.deluge ];
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
declarative2 = {
|
||||||
|
services.deluge = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.deluge-2_x;
|
||||||
|
openFirewall = true;
|
||||||
|
declarative = true;
|
||||||
|
config = {
|
||||||
|
allow_remote = true;
|
||||||
|
download_location = "/var/lib/deluge/my-download";
|
||||||
|
daemon_port = 58846;
|
||||||
|
listen_ports = [ 6881 6889 ];
|
||||||
|
};
|
||||||
|
web = {
|
||||||
|
enable = true;
|
||||||
|
port = 3142;
|
||||||
|
};
|
||||||
|
authFile = pkgs.writeText "deluge-auth" ''
|
||||||
|
localclient:a7bef72a890:10
|
||||||
|
andrew:password:10
|
||||||
|
user3:anotherpass:5
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
start_all()
|
start_all()
|
||||||
|
|
||||||
simple.wait_for_unit("deluged")
|
simple1.wait_for_unit("deluged")
|
||||||
simple.wait_for_unit("delugeweb")
|
simple2.wait_for_unit("deluged")
|
||||||
simple.wait_for_open_port("8112")
|
simple1.wait_for_unit("delugeweb")
|
||||||
declarative.wait_for_unit("network.target")
|
simple2.wait_for_unit("delugeweb")
|
||||||
declarative.wait_until_succeeds("curl --fail http://simple:8112")
|
simple1.wait_for_open_port("8112")
|
||||||
|
simple2.wait_for_open_port("8112")
|
||||||
|
declarative1.wait_for_unit("network.target")
|
||||||
|
declarative2.wait_for_unit("network.target")
|
||||||
|
declarative1.wait_until_succeeds("curl --fail http://simple1:8112")
|
||||||
|
declarative2.wait_until_succeeds("curl --fail http://simple2:8112")
|
||||||
|
|
||||||
declarative.wait_for_unit("deluged")
|
declarative1.wait_for_unit("deluged")
|
||||||
declarative.wait_for_unit("delugeweb")
|
declarative2.wait_for_unit("deluged")
|
||||||
declarative.wait_until_succeeds("curl --fail http://declarative:3142")
|
declarative1.wait_for_unit("delugeweb")
|
||||||
declarative.succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'")
|
declarative2.wait_for_unit("delugeweb")
|
||||||
declarative.succeed(
|
declarative1.wait_until_succeeds("curl --fail http://declarative1:3142")
|
||||||
"deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'"
|
declarative2.wait_until_succeeds("curl --fail http://declarative2:3142")
|
||||||
|
declarative1.succeed(
|
||||||
|
"deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'"
|
||||||
|
)
|
||||||
|
declarative2.succeed(
|
||||||
|
"deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'"
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
{ system ? builtins.currentSystem, ... }:
|
{ system ? builtins.currentSystem
|
||||||
|
, pkgs ? import ../../.. { inherit system; }
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
||||||
|
|
||||||
{ mig = import ../make-test-python.nix ({ pkgs, lib, ... }: {
|
with import ../../lib/testing-python.nix { inherit system pkgs; };
|
||||||
|
with pkgs.lib;
|
||||||
|
|
||||||
|
{ mig = makeTest {
|
||||||
name = "hydra-db-migration";
|
name = "hydra-db-migration";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ ma27 ];
|
maintainers = [ ma27 ];
|
||||||
@ -82,5 +88,5 @@ let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
|||||||
|
|
||||||
original.shutdown()
|
original.shutdown()
|
||||||
'';
|
'';
|
||||||
});
|
};
|
||||||
}
|
}
|
||||||
|
78
nixos/tests/k3s.nix
Normal file
78
nixos/tests/k3s.nix
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# A suitable k3s pause image, also used for the test pod
|
||||||
|
pauseImage = pkgs.dockerTools.buildImage {
|
||||||
|
name = "test.local/pause";
|
||||||
|
tag = "local";
|
||||||
|
contents = with pkgs; [ tini coreutils busybox ];
|
||||||
|
config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ];
|
||||||
|
};
|
||||||
|
testPodYaml = pkgs.writeText "test.yml" ''
|
||||||
|
# Don't use the default service account because there's a race where it may
|
||||||
|
# not be created yet; make our own instead.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: test
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: test
|
||||||
|
spec:
|
||||||
|
serviceAccountName: test
|
||||||
|
containers:
|
||||||
|
- name: test
|
||||||
|
image: test.local/pause:local
|
||||||
|
imagePullPolicy: Never
|
||||||
|
command: ["sh", "-c", "sleep inf"]
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "k3s";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ euank ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
k3s =
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.k3s pkgs.gzip ];
|
||||||
|
|
||||||
|
# k3s uses enough resources the default vm fails.
|
||||||
|
virtualisation.memorySize = pkgs.lib.mkDefault 1536;
|
||||||
|
virtualisation.diskSize = pkgs.lib.mkDefault 4096;
|
||||||
|
|
||||||
|
services.k3s.enable = true;
|
||||||
|
services.k3s.role = "server";
|
||||||
|
services.k3s.package = pkgs.k3s;
|
||||||
|
# Slightly reduce resource usage
|
||||||
|
services.k3s.extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local";
|
||||||
|
|
||||||
|
users.users = {
|
||||||
|
noprivs = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Can't access k3s by default";
|
||||||
|
password = "*";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
|
||||||
|
k3s.wait_for_unit("k3s")
|
||||||
|
k3s.succeed("k3s kubectl cluster-info")
|
||||||
|
k3s.fail("sudo -u noprivs k3s kubectl cluster-info")
|
||||||
|
# k3s.succeed("k3s check-config") # fails with the current nixos kernel config, uncomment once this passes
|
||||||
|
|
||||||
|
k3s.succeed(
|
||||||
|
"zcat ${pauseImage} | k3s ctr image import -"
|
||||||
|
)
|
||||||
|
|
||||||
|
k3s.succeed("k3s kubectl apply -f ${testPodYaml}")
|
||||||
|
k3s.succeed("k3s kubectl wait --for 'condition=Ready' pod/test")
|
||||||
|
'';
|
||||||
|
})
|
@ -1,44 +1,41 @@
|
|||||||
{ stdenv, fetchFromGitHub, python3Packages, wrapGAppsHook
|
{ newScope, python }:
|
||||||
, gst_all_1, glib-networking, gobject-introspection
|
|
||||||
}:
|
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
# Create a custom scope so we are consistent in which python version is used
|
||||||
pname = "mopidy";
|
|
||||||
version = "3.0.2";
|
let
|
||||||
|
callPackage = newScope self;
|
||||||
|
|
||||||
|
self = {
|
||||||
|
|
||||||
|
inherit python;
|
||||||
|
pythonPackages = python.pkgs;
|
||||||
|
|
||||||
|
mopidy = callPackage ./mopidy.nix { };
|
||||||
|
|
||||||
|
mopidy-gmusic = callPackage ./gmusic.nix { };
|
||||||
|
|
||||||
|
mopidy-local-images = callPackage ./local-images.nix { };
|
||||||
|
|
||||||
|
mopidy-local-sqlite = callPackage ./local-sqlite.nix { };
|
||||||
|
|
||||||
|
mopidy-spotify = callPackage ./spotify.nix { };
|
||||||
|
|
||||||
|
mopidy-moped = callPackage ./moped.nix { };
|
||||||
|
|
||||||
|
mopidy-mopify = callPackage ./mopify.nix { };
|
||||||
|
|
||||||
|
mopidy-mpd = callPackage ./mpd.nix { };
|
||||||
|
|
||||||
|
mopidy-spotify-tunigo = callPackage ./spotify-tunigo.nix { };
|
||||||
|
|
||||||
|
mopidy-youtube = callPackage ./youtube.nix { };
|
||||||
|
|
||||||
|
mopidy-soundcloud = callPackage ./soundcloud.nix { };
|
||||||
|
|
||||||
|
mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
|
||||||
|
|
||||||
|
mopidy-iris = callPackage ./iris.nix { };
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "mopidy";
|
|
||||||
repo = "mopidy";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook ];
|
in self
|
||||||
|
|
||||||
buildInputs = with gst_all_1; [
|
|
||||||
gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
|
|
||||||
glib-networking gobject-introspection
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
|
||||||
gst-python pygobject3 pykka tornado_4 requests setuptools
|
|
||||||
] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python;
|
|
||||||
|
|
||||||
# There are no tests
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
preFixup = ''
|
|
||||||
gappsWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH")
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = "https://www.mopidy.com/";
|
|
||||||
description = ''
|
|
||||||
An extensible music server that plays music from local disk, Spotify,
|
|
||||||
SoundCloud, Google Play Music, and more
|
|
||||||
'';
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = [ maintainers.fpletz ];
|
|
||||||
hydraPlatforms = [];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
44
pkgs/applications/audio/mopidy/mopidy.nix
Normal file
44
pkgs/applications/audio/mopidy/mopidy.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, pythonPackages, wrapGAppsHook
|
||||||
|
, gst_all_1, glib-networking, gobject-introspection
|
||||||
|
}:
|
||||||
|
|
||||||
|
pythonPackages.buildPythonApplication rec {
|
||||||
|
pname = "mopidy";
|
||||||
|
version = "3.0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mopidy";
|
||||||
|
repo = "mopidy";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ wrapGAppsHook ];
|
||||||
|
|
||||||
|
buildInputs = with gst_all_1; [
|
||||||
|
gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
|
||||||
|
glib-networking gobject-introspection
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with pythonPackages; [
|
||||||
|
gst-python pygobject3 pykka tornado_4 requests setuptools
|
||||||
|
] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python;
|
||||||
|
|
||||||
|
# There are no tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
gappsWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH")
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://www.mopidy.com/";
|
||||||
|
description = ''
|
||||||
|
An extensible music server that plays music from local disk, Spotify,
|
||||||
|
SoundCloud, Google Play Music, and more
|
||||||
|
'';
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.fpletz ];
|
||||||
|
hydraPlatforms = [];
|
||||||
|
};
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, python3Packages, mopidy }:
|
{ stdenv, fetchurl, pythonPackages, mopidy }:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
pname = "mopidy-spotify";
|
pname = "mopidy-spotify";
|
||||||
version = "4.0.1";
|
version = "4.0.1";
|
||||||
|
|
||||||
@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
|
|||||||
sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
|
sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ mopidy python3Packages.pyspotify ];
|
propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
|
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
|
||||||
, zlib, jdk, glib, gtk3, libXtst, gsettings-desktop-schemas, webkitgtk
|
, zlib, jdk, glib, gtk, libXtst, gsettings-desktop-schemas, webkitgtk
|
||||||
, makeWrapper, ... }:
|
, makeWrapper, ... }:
|
||||||
|
|
||||||
{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
|
{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
|
||||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
fontconfig freetype glib gsettings-desktop-schemas gtk3 jdk libX11
|
fontconfig freetype glib gsettings-desktop-schemas gtk jdk libX11
|
||||||
libXrender libXtst makeWrapper zlib
|
libXrender libXtst makeWrapper zlib
|
||||||
] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
|
] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
||||||
--prefix PATH : ${jdk}/bin \
|
--prefix PATH : ${jdk}/bin \
|
||||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
|
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
|
||||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
|
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
|
||||||
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
|
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
|
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
|
||||||
, freetype, fontconfig, libX11, libXrender, zlib
|
, freetype, fontconfig, libX11, libXrender, zlib
|
||||||
, glib, gtk3, libXtst, jdk, gsettings-desktop-schemas
|
, glib, gtk3, gtk2, libXtst, jdk, jdk8, gsettings-desktop-schemas
|
||||||
, webkitgtk ? null # for internal web browser
|
, webkitgtk ? null # for internal web browser
|
||||||
, buildEnv, runCommand
|
, buildEnv, runCommand
|
||||||
, callPackage
|
, callPackage
|
||||||
@ -17,11 +17,12 @@ let
|
|||||||
year = "2020";
|
year = "2020";
|
||||||
month = "03";
|
month = "03";
|
||||||
timestamp = "${year}${month}050155";
|
timestamp = "${year}${month}050155";
|
||||||
|
gtk = gtk3;
|
||||||
in rec {
|
in rec {
|
||||||
|
|
||||||
buildEclipse = import ./build-eclipse.nix {
|
buildEclipse = callPackage ./build-eclipse.nix {
|
||||||
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
|
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
|
||||||
jdk glib gtk3 libXtst gsettings-desktop-schemas webkitgtk
|
jdk glib gtk libXtst gsettings-desktop-schemas webkitgtk
|
||||||
makeWrapper;
|
makeWrapper;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -63,19 +64,14 @@ in rec {
|
|||||||
|
|
||||||
### Eclipse Scala SDK
|
### Eclipse Scala SDK
|
||||||
|
|
||||||
eclipse-scala-sdk = buildEclipse {
|
eclipse-scala-sdk =
|
||||||
name = "eclipse-scala-sdk-4.4.1";
|
buildEclipse.override { jdk = jdk8; gtk = gtk2; } {
|
||||||
description = "Eclipse IDE for Scala Developers";
|
name = "eclipse-scala-sdk-4.7.0";
|
||||||
src =
|
description = "Eclipse IDE for Scala Developers";
|
||||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
src =
|
||||||
fetchurl { # tested
|
fetchurl {
|
||||||
url = "https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86_64.tar.gz";
|
url = "https://downloads.typesafe.com/scalaide-pack/4.7.0-vfinal-oxygen-212-20170929/scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz";
|
||||||
sha256 = "4c2d1ac68384e12a11a851cf0fc7757aea087eba69329b21d539382a65340d27";
|
sha256 = "1n5w2a7mh9ajv6fxcas1gpgwb04pdxbr9v5dzr67gsz5bhahq4ya";
|
||||||
}
|
|
||||||
else
|
|
||||||
fetchurl { # untested
|
|
||||||
url = "https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86.tar.gz";
|
|
||||||
sha256 = "35383cb09567187e14a30c15de9fd9aa0eef99e4bbb342396ce3acd11fb5cbac";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,6 +13,6 @@ trivialBuild rec {
|
|||||||
description = "Major mode for editing .pod-files";
|
description = "Major mode for editing .pod-files";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ qyliss ];
|
maintainers = with maintainers; [ qyliss ];
|
||||||
platform = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,6 @@ trivialBuild {
|
|||||||
homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
|
homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = [ maintainer.rycee ];
|
maintainers = [ maintainers.rycee ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,8 @@ let
|
|||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "0q1fk5a4ymndnyxzps8960y1rl657q95i2rydbqyjl37y79wmllx";
|
x86_64-linux = "15jg39hmlnicq0zrz77yar1bmn5y6gp2670dya2qm5klhva9hd0f";
|
||||||
x86_64-darwin = "02ybgp6v1ray4a867hihp2fvc872ilqla6z52qv90dfjx69g77ib";
|
x86_64-darwin = "1ghqhn46jpbj3is8q5zcj0biyc7gwinhiz3qdpcnf88ga2blcsz8";
|
||||||
}.${system};
|
}.${system};
|
||||||
in
|
in
|
||||||
callPackage ./generic.nix rec {
|
callPackage ./generic.nix rec {
|
||||||
@ -21,7 +21,7 @@ in
|
|||||||
|
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.44.0";
|
version = "1.44.1";
|
||||||
pname = "vscode";
|
pname = "vscode";
|
||||||
|
|
||||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||||
|
@ -11,8 +11,8 @@ let
|
|||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "1prv4rzr5z905s6jnmkmd97zr5kz8nn4m9bil483bnx4wqr2k10g";
|
x86_64-linux = "16qwhnxpwarnwvlxwvy13g687g1cnfzysq16qkykkhqig0cnalmb";
|
||||||
x86_64-darwin = "1p0a94i80s7fq6ars01bvr41qxiq35s0r6crfv857ma01g9ia7k3";
|
x86_64-darwin = "1p9qkbj59bfc0kn9fzg99gqxbzwxq297qxivxcjflsapd712s4vm";
|
||||||
}.${system};
|
}.${system};
|
||||||
|
|
||||||
sourceRoot = {
|
sourceRoot = {
|
||||||
@ -27,7 +27,7 @@ in
|
|||||||
|
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.44.0";
|
version = "1.44.1";
|
||||||
pname = "vscodium";
|
pname = "vscodium";
|
||||||
|
|
||||||
executableName = "codium";
|
executableName = "codium";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript
|
{ stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript
|
||||||
, libjpeg, libpng, qtbase
|
, libjpeg, libpng, qtbase, mkDerivation
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
name = "ipe-7.2.13";
|
name = "ipe-7.2.13";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
@ -20,13 +20,9 @@ stdenv.mkDerivation rec {
|
|||||||
libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript
|
libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
postFixup = ''
|
qtWrapperArgs = [ ''--prefix PATH : ${texlive}/bin'' ];
|
||||||
for prog in $out/bin/*; do
|
|
||||||
wrapProgram "$prog" --prefix PATH : "${texlive}/bin"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
@ -17,6 +17,9 @@ mkDerivation rec {
|
|||||||
sha256 = "1sx4j4brk71bas3cpqzk4bd8bknyl3x4fdg5pv4r7pcfd3vpq2vy";
|
sha256 = "1sx4j4brk71bas3cpqzk4bd8bknyl3x4fdg5pv4r7pcfd3vpq2vy";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# *somtimes* fails with can't find ui_manager.h, also see https://github.com/NixOS/nixpkgs/issues/35359
|
||||||
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
|
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
inherit patches;
|
inherit patches;
|
||||||
|
|
||||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
prePatch = optionalString (conf != null) ''
|
||||||
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
cp ${writeText "config.def.h" conf} config.def.h
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ncurses ];
|
nativeBuildInputs = [ pkgconfig ncurses ];
|
||||||
buildInputs = [ libX11 libXft ] ++ extraLibs;
|
buildInputs = [ libX11 libXft ] ++ extraLibs;
|
||||||
|
51
pkgs/applications/misc/termpdf.py/default.nix
Normal file
51
pkgs/applications/misc/termpdf.py/default.nix
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ stdenv
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchPypi
|
||||||
|
, bibtool
|
||||||
|
, pybtex
|
||||||
|
, pymupdf
|
||||||
|
, pynvim
|
||||||
|
, pyperclip
|
||||||
|
, roman
|
||||||
|
, pdfrw
|
||||||
|
, pagelabels
|
||||||
|
, setuptools
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication {
|
||||||
|
pname = "termpdf.py";
|
||||||
|
version = "2019-10-03";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "dsanson";
|
||||||
|
repo = "termpdf.py";
|
||||||
|
rev = "4f3bdf4b5a00801631f2498f2c38c81e0a588ae2";
|
||||||
|
sha256 = "05gbj2fqzqndq1mx6g9asa7i6z8a9jdjrvilfwx8lg23cs356m6m";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
bibtool
|
||||||
|
pybtex
|
||||||
|
pymupdf
|
||||||
|
pyperclip
|
||||||
|
roman
|
||||||
|
pagelabels
|
||||||
|
pdfrw
|
||||||
|
pynvim
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
# upstream doesn't contain tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = ''
|
||||||
|
A graphical pdf (and epub, cbz, ...) reader that works
|
||||||
|
inside the kitty terminal.
|
||||||
|
'';
|
||||||
|
homepage = https://github.com/dsanson/termpdf.py;
|
||||||
|
maintainers = with maintainers; [ teto ];
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
55
pkgs/applications/misc/upwork/default.nix
Normal file
55
pkgs/applications/misc/upwork/default.nix
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{ stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook, writeShellScript
|
||||||
|
, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
|
||||||
|
, gdk-pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
|
||||||
|
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
|
||||||
|
, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "upwork";
|
||||||
|
version = "5.3.3-883";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://updates-desktopapp.upwork.com/binaries/v5_3_3_883_1f817bc1fefd44e7/upwork_5.3.3.883_amd64.deb";
|
||||||
|
sha256 = "072zns79w4h46bvbj23rvr8i12sf2l378ry0z3hchwcimkrph9wx";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontWrapGApps = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
dpkg
|
||||||
|
wrapGAppsHook
|
||||||
|
autoPatchelfHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libcxx systemd libpulseaudio
|
||||||
|
stdenv.cc.cc alsaLib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
|
||||||
|
gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
|
||||||
|
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
|
||||||
|
libXtst nspr nss libxcb pango systemd libXScrnSaver
|
||||||
|
];
|
||||||
|
|
||||||
|
libPath = stdenv.lib.makeLibraryPath buildInputs;
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
dpkg-deb -x ${src} ./
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mv usr $out
|
||||||
|
mv opt $out
|
||||||
|
sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
|
||||||
|
|
||||||
|
makeWrapper $out/opt/Upwork/upwork \
|
||||||
|
$out/bin/upwork \
|
||||||
|
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${libPath}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Online freelancing platform desktop application for time tracking";
|
||||||
|
homepage = "https://www.upwork.com/ab/downloads/";
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = with maintainers; [ zakkor ];
|
||||||
|
};
|
||||||
|
}
|
@ -20,7 +20,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
llvmPackages = if channel == "dev"
|
llvmPackages = if channel != "stable"
|
||||||
then llvmPackages_10
|
then llvmPackages_10
|
||||||
else llvmPackages_9;
|
else llvmPackages_9;
|
||||||
stdenv = llvmPackages.stdenv;
|
stdenv = llvmPackages.stdenv;
|
||||||
@ -35,7 +35,7 @@ let
|
|||||||
mkChromiumDerivation = callPackage ./common.nix ({
|
mkChromiumDerivation = callPackage ./common.nix ({
|
||||||
inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone;
|
inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone;
|
||||||
gnChromium = gn;
|
gnChromium = gn;
|
||||||
} // lib.optionalAttrs (channel == "dev") {
|
} // lib.optionalAttrs (channel != "stable") {
|
||||||
# TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
|
# TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
|
||||||
gnChromium = gn.overrideAttrs (oldAttrs: {
|
gnChromium = gn.overrideAttrs (oldAttrs: {
|
||||||
version = "2020-03-23";
|
version = "2020-03-23";
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
sha256 = "1s16wl101yabq0l7w0q50lxkr2gn090pcaj6l5sj6g5xvi9lhgbf";
|
||||||
sha256bin64 = "1y70kmfz9nv507b0zdda7zfk2ac9qh9m2gq00aphdmzd0al7skj8";
|
sha256bin64 = "0k6fsqlpiwp9vds83hb3cg9xf74hqgbfdm3ijyad2rmwc5rqk0ax";
|
||||||
version = "81.0.4044.92";
|
version = "83.0.4103.14";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "1rydvjmv62zj95sf0fgsyipqz2hphbxm60y8q0813wq9ym35d4yy";
|
sha256 = "0djppzwzpfyyfjb1mhy5wws2379m3wpzyk2x3kw5nd0mdz35hbny";
|
||||||
sha256bin64 = "1m6740lw7xjjp1lplwp9ii4d3l7dfa9jrv5bysm4ar5pb9kywrai";
|
sha256bin64 = "1wg55qhfvd5zvigjl6496za81mh9b2c5da53zy07bk8wj91ly8pf";
|
||||||
version = "83.0.4100.3";
|
version = "84.0.4115.5";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
sha256 = "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17";
|
||||||
sha256bin64 = "1ig899cpahw1xfhdff5xj6w4k8jja5smxvrcbw6b0jcjmawdrf72";
|
sha256bin64 = "0ap7flrw3h885454fa2r7psa4sh8567ql7v7x96q11gh9gjrdvp3";
|
||||||
version = "81.0.4044.92";
|
version = "81.0.4044.113";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ stdenv.mkDerivation ({
|
|||||||
$(< ${stdenv.cc}/nix-support/cc-cflags) \
|
$(< ${stdenv.cc}/nix-support/cc-cflags) \
|
||||||
${stdenv.cc.default_cxx_stdlib_compile} \
|
${stdenv.cc.default_cxx_stdlib_compile} \
|
||||||
${lib.optionalString stdenv.cc.isClang "-idirafter ${stdenv.cc.cc}/lib/clang/${lib.getVersion stdenv.cc.cc}/include"} \
|
${lib.optionalString stdenv.cc.isClang "-idirafter ${stdenv.cc.cc}/lib/clang/${lib.getVersion stdenv.cc.cc}/include"} \
|
||||||
${lib.optionalString stdenv.cc.isGNU "-isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc} -isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/$(cc -dumpmachine)"} \
|
${lib.optionalString stdenv.cc.isGNU "-isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc} -isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/${stdenv.hostPlatform.config}"} \
|
||||||
$NIX_CFLAGS_COMPILE"
|
$NIX_CFLAGS_COMPILE"
|
||||||
|
|
||||||
echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
|
echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
|
||||||
|
@ -2,10 +2,8 @@
|
|||||||
|
|
||||||
## various stuff that can be plugged in
|
## various stuff that can be plugged in
|
||||||
, flashplayer, hal-flash
|
, flashplayer, hal-flash
|
||||||
, MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
|
, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
|
||||||
, jrePlugin, adoptopenjdk-icedtea-web
|
, gnome3/*.gnome-shell*/
|
||||||
, bluejeans, djview4, adobe-reader
|
|
||||||
, google_talk_plugin, fribid, gnome3/*.gnome-shell*/
|
|
||||||
, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
|
, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
|
||||||
, tridactyl-native
|
, tridactyl-native
|
||||||
, fx_cast_bridge
|
, fx_cast_bridge
|
||||||
@ -26,7 +24,6 @@ let
|
|||||||
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
|
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
|
||||||
, nameSuffix ? ""
|
, nameSuffix ? ""
|
||||||
, icon ? browserName
|
, icon ? browserName
|
||||||
, extraPlugins ? []
|
|
||||||
, extraNativeMessagingHosts ? []
|
, extraNativeMessagingHosts ? []
|
||||||
, gdkWayland ? false
|
, gdkWayland ? false
|
||||||
, cfg ? config.${browserName} or {}
|
, cfg ? config.${browserName} or {}
|
||||||
@ -38,32 +35,25 @@ let
|
|||||||
enableAdobeFlash = cfg.enableAdobeFlash or false;
|
enableAdobeFlash = cfg.enableAdobeFlash or false;
|
||||||
ffmpegSupport = browser.ffmpegSupport or false;
|
ffmpegSupport = browser.ffmpegSupport or false;
|
||||||
gssSupport = browser.gssSupport or false;
|
gssSupport = browser.gssSupport or false;
|
||||||
jre = cfg.jre or false;
|
|
||||||
icedtea = cfg.icedtea or false;
|
|
||||||
supportsJDK =
|
|
||||||
stdenv.hostPlatform.system == "i686-linux" ||
|
|
||||||
stdenv.hostPlatform.system == "x86_64-linux" ||
|
|
||||||
stdenv.hostPlatform.system == "armv7l-linux" ||
|
|
||||||
stdenv.hostPlatform.system == "aarch64-linux";
|
|
||||||
|
|
||||||
plugins =
|
plugins =
|
||||||
assert !(jre && icedtea);
|
let
|
||||||
if builtins.hasAttr "enableVLC" cfg
|
removed = lib.filter (a: builtins.hasAttr a cfg) [
|
||||||
then throw "The option \"${browserName}.enableVLC\" has been removed since Firefox no longer supports npapi plugins"
|
"enableVLC"
|
||||||
else
|
"enableDjvu"
|
||||||
([ ]
|
"enableMPlayer"
|
||||||
++ lib.optional enableAdobeFlash flashplayer
|
"jre"
|
||||||
++ lib.optional (cfg.enableDjvu or false) (djview4)
|
"icedtea"
|
||||||
++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
|
"enableGoogleTalkPlugin"
|
||||||
++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
|
"enableFriBIDPlugin"
|
||||||
++ lib.optional icedtea adoptopenjdk-icedtea-web
|
"enableGnomeExtensions"
|
||||||
++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
|
"enableBluejeans"
|
||||||
++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
|
"enableAdobeReader"
|
||||||
++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome-shell
|
];
|
||||||
++ lib.optional (cfg.enableBluejeans or false) bluejeans
|
in if removed != []
|
||||||
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
|
then throw "Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) removed}. All plugin related options, except for the adobe flash player, have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins)."
|
||||||
++ extraPlugins
|
else lib.optional enableAdobeFlash flashplayer;
|
||||||
);
|
|
||||||
nativeMessagingHosts =
|
nativeMessagingHosts =
|
||||||
([ ]
|
([ ]
|
||||||
++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass)
|
++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass)
|
||||||
|
@ -108,7 +108,7 @@ in stdenv.mkDerivation {
|
|||||||
--replace /opt/google/$appname/google-$appname $exe
|
--replace /opt/google/$appname/google-$appname $exe
|
||||||
substituteInPlace $out/share/menu/google-$appname.menu \
|
substituteInPlace $out/share/menu/google-$appname.menu \
|
||||||
--replace /opt $out/share \
|
--replace /opt $out/share \
|
||||||
--replace $out/share/google/chrome/google-$appname $exe
|
--replace $out/share/google/$appname/google-$appname $exe
|
||||||
|
|
||||||
for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
|
for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
|
||||||
num_and_suffix="''${icon_file##*logo_}"
|
num_and_suffix="''${icon_file##*logo_}"
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
{ stdenv, fetchurl, xorg, gtk2, glib, gdk-pixbuf, dpkg, libXext, libXfixes
|
|
||||||
, libXrender, libuuid, libXrandr, libXcomposite, libpulseaudio
|
|
||||||
}:
|
|
||||||
|
|
||||||
with stdenv.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
rpathInstaller = makeLibraryPath
|
|
||||||
[gtk2 glib stdenv.cc.cc];
|
|
||||||
|
|
||||||
rpathPlugin = makeLibraryPath
|
|
||||||
([ stdenv.cc.cc gtk2 glib xorg.libX11 gdk-pixbuf libXext libXfixes libXrender libXrandr libXcomposite libpulseaudio ] ++ optional (libuuid != null) libuuid);
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "bluejeans";
|
|
||||||
|
|
||||||
version = "2.180.71.8";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://swdl.bluejeans.com/skinny/bjnplugin_${version}-1_amd64.deb";
|
|
||||||
sha256 = "1fgjgzss0ghk734xpfidazyknfdn11pmyw77pc3wigl83dvx4nb2";
|
|
||||||
};
|
|
||||||
|
|
||||||
unpackPhase = "${dpkg}/bin/dpkg-deb -x $src .";
|
|
||||||
|
|
||||||
installPhase =
|
|
||||||
''
|
|
||||||
mkdir -p $out
|
|
||||||
cp -R usr/lib $out/
|
|
||||||
|
|
||||||
plugins=$out/lib/mozilla/plugins
|
|
||||||
patchelf \
|
|
||||||
--set-rpath "${rpathPlugin}" \
|
|
||||||
$plugins/npbjnplugin_${version}.so
|
|
||||||
|
|
||||||
patchelf \
|
|
||||||
--set-rpath "${rpathInstaller}" \
|
|
||||||
$plugins/npbjninstallplugin_${version}.so
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontStrip = true;
|
|
||||||
dontPatchELF = true;
|
|
||||||
|
|
||||||
passthru.mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "http://bluejeans.com";
|
|
||||||
license = stdenv.lib.licenses.unfree;
|
|
||||||
maintainers = with maintainers; [ ocharles kamilchm ];
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
source $stdenv/setup
|
|
||||||
export PREFIX=$out
|
|
||||||
configureFlags="--plugin-path=$out/lib/mozilla/plugins"
|
|
||||||
genericBuild
|
|
@ -1,38 +0,0 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk2, gettext, intltool }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "fribid";
|
|
||||||
version = "1.0.4";
|
|
||||||
builder = ./builder.sh;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://fribid.se/releases/source/${pname}-${version}.tar.bz2";
|
|
||||||
sha256 = "a679f3a0534d5f05fac10b16b49630a898c0b721cfa24d2c827fa45485476649";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
|
||||||
buildInputs = [ openssl libX11 gtk2 glib gettext intltool ];
|
|
||||||
patches = [
|
|
||||||
./translation-xgettext-to-intltool.patch
|
|
||||||
./plugin-linkfix.patch
|
|
||||||
./ipc-lazytrace.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = "substituteInPlace plugin/pluginutil.c --replace strndup strndup_";
|
|
||||||
|
|
||||||
passthru.mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A browser plugin to manage Swedish BankID:s";
|
|
||||||
longDescription = ''
|
|
||||||
FriBID is an open source software for the Swedish e-id system
|
|
||||||
called BankID. FriBID also supports processor architectures and
|
|
||||||
Linux/BSD distributions that the official software doesn't
|
|
||||||
support.
|
|
||||||
'';
|
|
||||||
homepage = "http://fribid.se";
|
|
||||||
license = with licenses; [ gpl2 mpl10 ];
|
|
||||||
maintainers = [ maintainers.edwtjo ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
--- a/plugin/ipc.c 2012-11-14 18:02:43.000000000 +0100
|
|
||||||
+++ b/plugin/ipc.c 2013-09-21 08:55:39.960265058 +0200
|
|
||||||
@@ -74,6 +74,7 @@
|
|
||||||
//close(pipeOut[PIPE_READ_END]);
|
|
||||||
|
|
||||||
execvp(mainBinary, (char *const *)argv);
|
|
||||||
+ fprintf(stderr, "Wanted signing executable\t<%s>\n", mainBinary);
|
|
||||||
perror(BINNAME ": Failed to execute main binary");
|
|
||||||
exit(1);
|
|
||||||
} else {
|
|
@ -1,11 +0,0 @@
|
|||||||
--- a/plugin/Makefile 2013-09-18 13:55:11.091652553 +0200
|
|
||||||
+++ b/plugin/Makefile 2013-09-18 13:58:27.513618750 +0200
|
|
||||||
@@ -60,7 +60,7 @@
|
|
||||||
for path in $(NPAPI_PLUGIN_PATHS); do \
|
|
||||||
(../configure --internal--remove-link $(DESTDIR)$$path/libfribidplugin.so $(NPAPI_PLUGIN_LIB) || exit 1) && \
|
|
||||||
install -d $(DESTDIR)$$path && \
|
|
||||||
- ln -sf $(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \
|
|
||||||
+ ln -sf $(DESTDIR)$(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \
|
|
||||||
done
|
|
||||||
|
|
||||||
uninstall:
|
|
@ -1,16 +0,0 @@
|
|||||||
--- a/translations/Makefile 2013-09-18 07:25:16.503800613 +0200
|
|
||||||
+++ b/translations/Makefile 2013-09-18 07:25:29.495869405 +0200
|
|
||||||
@@ -38,7 +38,7 @@
|
|
||||||
all: template.pot $(MOFILES)
|
|
||||||
|
|
||||||
template.pot: $(POTFILES) $(DEFINES)
|
|
||||||
- xgettext -k_ -ktranslatable -d $(DOMAIN) --package-name=$(PACKAGENAME) --package-version=$(PACKAGEVERSION) --copyright-holder='YOUR NAME' -o $@ $(POTFILES)
|
|
||||||
+ intltool-update --gettext-package=$(PACKAGENAME) -o $@ sv
|
|
||||||
|
|
||||||
.po.mo:
|
|
||||||
msgfmt $< -o $@
|
|
||||||
--- a/translations/POTFILES.in 2013-09-16 20:28:56.766106014 +0200
|
|
||||||
+++ b/translations/POTFILES.in 2013-09-18 13:15:05.252689648 +0200
|
|
||||||
@@ -0,0 +1,2 @@
|
|
||||||
+client/gtk.c
|
|
||||||
+client/gtk/sign.glade
|
|
@ -1,117 +0,0 @@
|
|||||||
{ stdenv, fetchurl, libGL, xorg, cairo
|
|
||||||
, libpng, gtk2, glib, gdk-pixbuf, fontconfig, freetype, curl
|
|
||||||
, dbus-glib, alsaLib, libpulseaudio, systemd, pango
|
|
||||||
}:
|
|
||||||
|
|
||||||
with stdenv.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
baseURL = "http://dl.google.com/linux/talkplugin/deb/pool/main/g/google-talkplugin";
|
|
||||||
|
|
||||||
rpathPlugin = makeLibraryPath
|
|
||||||
[ libGL
|
|
||||||
xorg.libXt
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXrender
|
|
||||||
cairo
|
|
||||||
libpng
|
|
||||||
gtk2
|
|
||||||
glib
|
|
||||||
fontconfig
|
|
||||||
freetype
|
|
||||||
curl
|
|
||||||
];
|
|
||||||
|
|
||||||
rpathProgram = makeLibraryPath
|
|
||||||
[ gdk-pixbuf
|
|
||||||
glib
|
|
||||||
gtk2
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXrandr
|
|
||||||
xorg.libXext
|
|
||||||
stdenv.cc.cc
|
|
||||||
alsaLib
|
|
||||||
libpulseaudio
|
|
||||||
dbus-glib
|
|
||||||
systemd
|
|
||||||
curl
|
|
||||||
pango
|
|
||||||
cairo
|
|
||||||
];
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "google-talk-plugin";
|
|
||||||
|
|
||||||
# You can get the upstream version and SHA-256 hash from the following URLs:
|
|
||||||
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA256'
|
|
||||||
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages | grep -E 'Version|SHA256'
|
|
||||||
version = "5.41.3.0";
|
|
||||||
|
|
||||||
src =
|
|
||||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
|
||||||
fetchurl {
|
|
||||||
url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
|
|
||||||
sha256 = "af7e23d2b6215afc547f96615b99f04e0561557cc58c0c9302364b5a3840d97d";
|
|
||||||
}
|
|
||||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
|
||||||
fetchurl {
|
|
||||||
url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
|
|
||||||
sha256 = "4c46d2b7f2018640288cd7ac49adc47e309d0beadfd979eb03030e672016b4a7";
|
|
||||||
}
|
|
||||||
else throw "Google Talk does not support your platform.";
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
ar p "$src" data.tar.gz | tar xz
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase =
|
|
||||||
''
|
|
||||||
plugins=$out/lib/mozilla/plugins
|
|
||||||
mkdir -p $plugins
|
|
||||||
cp opt/google/talkplugin/*.so $plugins
|
|
||||||
|
|
||||||
for i in libnpgoogletalk.so libppgoogletalk.so libppo1d.so; do
|
|
||||||
patchelf --set-rpath "${makeLibraryPath [ stdenv.cc.cc xorg.libX11 ]}:${stdenv.cc.cc.lib}/lib64" $plugins/$i
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in libgoogletalkremoting.so libnpo1d.so; do
|
|
||||||
patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.cc.cc.lib}/lib64" $plugins/$i
|
|
||||||
done
|
|
||||||
|
|
||||||
mkdir -p $out/libexec/google/talkplugin
|
|
||||||
cp -prd opt/google/talkplugin/{data,GoogleTalkPlugin,locale,remoting24x24.png,windowpicker.glade} $out/libexec/google/talkplugin/
|
|
||||||
|
|
||||||
patchelf \
|
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
|
||||||
--set-rpath "${rpathProgram}:${stdenv.cc.cc.lib}/lib64" \
|
|
||||||
$out/libexec/google/talkplugin/GoogleTalkPlugin
|
|
||||||
|
|
||||||
# Generate an LD_PRELOAD wrapper to redirect execvp() calls to
|
|
||||||
# /opt/../GoogleTalkPlugin.
|
|
||||||
preload=$out/libexec/google/talkplugin/libpreload.so
|
|
||||||
mkdir -p $(dirname $preload)
|
|
||||||
gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
|
|
||||||
echo $preload > $plugins/extra-ld-preload
|
|
||||||
|
|
||||||
# Prevent a dependency on gcc.
|
|
||||||
strip -S $preload
|
|
||||||
patchELF $preload
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontStrip = true;
|
|
||||||
dontPatchELF = true;
|
|
||||||
|
|
||||||
passthru.mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "http://www.google.com/chat/video/";
|
|
||||||
license = stdenv.lib.licenses.unfree;
|
|
||||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
/* Google Talk Plugin executes a helper program in /opt. This
|
|
||||||
LD_PRELOAD library intercepts execvp() calls to redirect them to
|
|
||||||
the corresponding location in $out. */
|
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
char origDir [] = "/opt/google/talkplugin";
|
|
||||||
char realDir [] = OUT "/libexec/google/talkplugin";
|
|
||||||
|
|
||||||
const char * rewrite(const char * path, char * buf)
|
|
||||||
{
|
|
||||||
if (strncmp(path, origDir, sizeof(origDir) - 1) != 0) return path;
|
|
||||||
if (snprintf(buf, PATH_MAX, "%s%s", realDir, path + sizeof(origDir) - 1) >= PATH_MAX)
|
|
||||||
abort();
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
int execvp(const char * path, char * const argv[])
|
|
||||||
{
|
|
||||||
int (*_execvp) (const char *, char * const argv[]) = dlsym(RTLD_NEXT, "execvp");
|
|
||||||
char buf[PATH_MAX];
|
|
||||||
return _execvp(rewrite(path, buf), argv);
|
|
||||||
}
|
|
||||||
|
|
||||||
int open(const char *path, int flags, ...)
|
|
||||||
{
|
|
||||||
char buf[PATH_MAX];
|
|
||||||
int (*_open) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
|
|
||||||
mode_t mode = 0;
|
|
||||||
if (flags & O_CREAT) {
|
|
||||||
va_list ap;
|
|
||||||
va_start(ap, flags);
|
|
||||||
mode = va_arg(ap, mode_t);
|
|
||||||
va_end(ap);
|
|
||||||
}
|
|
||||||
return _open(rewrite(path, buf), flags, mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
int open64(const char *path, int flags, ...)
|
|
||||||
{
|
|
||||||
char buf[PATH_MAX];
|
|
||||||
int (*_open64) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
|
|
||||||
mode_t mode = 0;
|
|
||||||
if (flags & O_CREAT) {
|
|
||||||
va_list ap;
|
|
||||||
va_start(ap, flags);
|
|
||||||
mode = va_arg(ap, mode_t);
|
|
||||||
va_end(ap);
|
|
||||||
}
|
|
||||||
return _open64(rewrite(path, buf), flags, mode);
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
{ stdenv, fetchurl, firefox, libX11, xorgproto }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "mozplugger";
|
|
||||||
version = "2.1.6";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://mozplugger.mozdev.org/files/mozplugger-${version}.tar.gz";
|
|
||||||
sha256 = "1vszkq4kdbaxsrqr2xn9rq6ipza9fngdri79gvjqk3bvsdmg0k19";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ firefox libX11 xorgproto ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p "$out/etc" "$out/bin" "$out/lib/mozilla/plugins" "$out/share/man/man7"
|
|
||||||
cp mozpluggerrc "$out/etc"
|
|
||||||
cp mozplugger-{helper,controller,linker,update} "$out/bin"
|
|
||||||
cp mozplugger.so "$out/lib/mozilla/plugins"
|
|
||||||
cp mozplugger.7 "$out/share/man/man7"
|
|
||||||
|
|
||||||
mkdir -p "$out/share/${pname}-${version}/plugin"
|
|
||||||
ln -s "$out/lib/mozilla/plugins/mozplugger.so" "$out/share/${pname}-${version}/plugin"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Mozilla plugin for launching external program for handling in-page objects";
|
|
||||||
homepage = "http://mozplugger.mozdev.org/";
|
|
||||||
license = stdenv.lib.licenses.gpl2Plus;
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,37 +0,0 @@
|
|||||||
{stdenv, fetchurl, pkgconfig, browser, libXpm, gettext}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "mplayerplug-in-3.55";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/mplayerplug-in/${name}.tar.gz";
|
|
||||||
sha256 = "0zkvqrzibrbljiccvz3rhbmgifxadlrfjylqpz48jnjx9kggynms";
|
|
||||||
};
|
|
||||||
|
|
||||||
postConfigure =
|
|
||||||
(if browser ? isFirefox3Like then ''
|
|
||||||
# Cause a rebuild of these file from the IDL file, needed for GNU IceCat 3
|
|
||||||
# and Mozilla Firefox 3.
|
|
||||||
# See, e.g., http://article.gmane.org/gmane.comp.mozilla.mplayerplug-in/2104 .
|
|
||||||
rm -f Source/nsIScriptableMplayerPlugin.h
|
|
||||||
''
|
|
||||||
else "");
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
|
||||||
buildInputs = [ browser (browser.gtk) libXpm gettext ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib/mozilla/plugins
|
|
||||||
cp -p mplayerplug-in*.so mplayerplug-in*.xpt $out/lib/mozilla/plugins
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A browser plugin that uses mplayer to play digital media from websites";
|
|
||||||
homepage = "http://mplayerplug-in.sourceforge.net/";
|
|
||||||
license = with licenses; [ gpl2Plus lgpl2Plus "MPLv1+" ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl, libXt}:
|
|
||||||
let
|
|
||||||
srcData = # Generated upstream information
|
|
||||||
rec {
|
|
||||||
baseName="nspluginwrapper";
|
|
||||||
version="1.4.4";
|
|
||||||
name="${baseName}-${version}";
|
|
||||||
hash="1fxjz9ifhw0drm12havlsl4jpsq1nv930gqa005kgddv5pa99vgj";
|
|
||||||
url="http://nspluginwrapper.org/download/nspluginwrapper-1.4.4.tar.gz";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
inherit (srcData) name version;
|
|
||||||
|
|
||||||
src = fetchurl{
|
|
||||||
inherit (srcData) url;
|
|
||||||
sha256 = srcData.hash;
|
|
||||||
};
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
sed -e 's@/usr/bin/@@g' -i configure
|
|
||||||
sed -e '/gthread[.]h/d' -i src/npw-player.c
|
|
||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lgthread-2.0"
|
|
||||||
export configureFlags="$configureFlags --target-cpu=$(uname -m)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
|
||||||
buildInputs = [which file glib gtk2 gtk3 curl libXt];
|
|
||||||
|
|
||||||
preferLocalBuild = true;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = ''A wrapper to run browser plugins out-of-process'';
|
|
||||||
homepage = "http://nspluginwrapper.org/";
|
|
||||||
license = stdenv.lib.licenses.gpl2;
|
|
||||||
platforms = [ "x64_64-linux" "i686-linux" ];
|
|
||||||
maintainers = [ stdenv.lib.maintainers.raskin ];
|
|
||||||
inherit (srcData) version;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,4 +0,0 @@
|
|||||||
name nspluginwrapper
|
|
||||||
target default.nix
|
|
||||||
url http://nspluginwrapper.org/download/
|
|
||||||
version_link /nspluginwrapper-[0-9]+
|
|
@ -15,13 +15,13 @@ with lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kubernetes";
|
pname = "kubernetes";
|
||||||
version = "1.18.0";
|
version = "1.18.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kubernetes";
|
repo = "kubernetes";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1jp54aahwpx9w73byfyadgffrig9fy6x8xzw27xv0anj2v9bm1fw";
|
sha256 = "1z109h0jqqfxvgyhmxsiggf6fb9kdrwvmv9wdi1n58n4yk65hvl6";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
||||||
|
@ -0,0 +1,50 @@
|
|||||||
|
{ stdenv, buildGoModule, fetchFromGitHub, systemd }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "node-problem-detector";
|
||||||
|
version = "0.8.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kubernetes";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "02avknglmkr9k933a64hkw0rjfxvyh4sc3x70p41b8q2g6vzv2gs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Project upstream recommends building through vendoring
|
||||||
|
overrideModAttrs = (_: {
|
||||||
|
buildCommand = ''
|
||||||
|
echo "Skipping go.mod, using vendoring instead." && touch $out
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
modSha256 = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p";
|
||||||
|
|
||||||
|
# Optionally, a log counter binary can be created to parse journald logs.
|
||||||
|
# The binary is dynamically linked against systemd libraries, making it a
|
||||||
|
# Linux-only feature. See 'ENABLE_JOURNALD' upstream:
|
||||||
|
# https://github.com/kubernetes/node-problem-detector/blob/master/Makefile
|
||||||
|
subPackages = [ "cmd/nodeproblemdetector" ] ++
|
||||||
|
stdenv.lib.optionals stdenv.isLinux [ "cmd/logcounter" ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
export CGO_ENABLED=${if stdenv.isLinux then "1" else "0"}
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = stdenv.lib.optionals stdenv.isLinux [ systemd ];
|
||||||
|
|
||||||
|
buildFlags = "-mod vendor" +
|
||||||
|
stdenv.lib.optionalString stdenv.isLinux " -tags journald";
|
||||||
|
|
||||||
|
buildFlagsArray = [
|
||||||
|
"-ldflags="
|
||||||
|
"-X k8s.io/${pname}/pkg/version.version=v${version}"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Various problem detectors running on the Kubernetes nodes";
|
||||||
|
homepage = "https://github.com/kubernetes/node-problem-detector";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ lbpdt ];
|
||||||
|
};
|
||||||
|
}
|
@ -7,11 +7,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jitsi-meet-electron";
|
pname = "jitsi-meet-electron";
|
||||||
version = "2.0.0";
|
version = "2.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
||||||
sha256 = "11ci9dqhy8hkb4fwykjvcvai20ahqhjil825n1y1xf663ch8by93";
|
sha256 = "04y3qn2clvsfiyp9s6ib09mfxspv3kpr9248sda8s09n1cm0jpps";
|
||||||
name="${pname}-${version}.AppImage";
|
name="${pname}-${version}.AppImage";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pidgin-carbons";
|
pname = "pidgin-carbons";
|
||||||
version = "0.1.3";
|
version = "0.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gkdr";
|
owner = "gkdr";
|
||||||
repo = "carbons";
|
repo = "carbons";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "05hcqvsirb7gnpfcszsrgal5q7dajl2wdi2dy7c41zgl377syavw";
|
sha256 = "1aq9bwgpmbwrigq6ywf0pjkngqcm0qxncygaj1fi57npjhcjs6ln";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ];
|
makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ];
|
||||||
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "XEP-0280: Message Carbons plugin for libpurple";
|
description = "XEP-0280: Message Carbons plugin for libpurple";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ jb55 ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ let
|
|||||||
else "");
|
else "");
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "signal-desktop";
|
pname = "signal-desktop";
|
||||||
version = "1.33.0"; # Please backport all updates to the stable channel.
|
version = "1.33.1"; # Please backport all updates to the stable channel.
|
||||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||||
# When releases "expire" the application becomes unusable until an update is
|
# When releases "expire" the application becomes unusable until an update is
|
||||||
# applied. The expiration date for the current release can be extracted with:
|
# applied. The expiration date for the current release can be extracted with:
|
||||||
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "0s403243cm8x3daj4p7cpp5z0hwmsnk21cq42zcfls2q5d30p6wz";
|
sha256 = "0p9ak0cmk9b77dzbw4y2xmxqg211y62n7ckggwf7bcg48wzj0jy7";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -1,19 +1,29 @@
|
|||||||
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
|
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
|
||||||
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
||||||
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib
|
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib
|
||||||
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20200320";
|
version = "20200417";
|
||||||
pname = "neomutt";
|
pname = "neomutt";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neomutt";
|
owner = "neomutt";
|
||||||
repo = "neomutt";
|
repo = "neomutt";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "06xcl9pr8dna4kqjaqm7ss50gdy185425bwl31i0xs3l11cyjap4";
|
sha256 = "0s7943r2s14kavyjf7i70vca252l626539i09a9vk0i9sfi35vx5";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Remove on next release. Fixes the `change-folder`
|
||||||
|
# macro (https://github.com/neomutt/neomutt/issues/2268)
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/neomutt/neomutt/commit/9e7537caddb9c6adc720bb3322a7512cf51ab025.patch";
|
||||||
|
sha256 = "1vmlvgnhx1ra3rnyjkpkv6lrqw8xfh2kkmqp43fqn9lnk3pkjxvv";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cyrus_sasl gss gpgme kerberos libidn ncurses
|
cyrus_sasl gss gpgme kerberos libidn ncurses
|
||||||
notmuch openssl perl lmdb
|
notmuch openssl perl lmdb
|
||||||
@ -75,7 +85,20 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
cp -r ${fetchFromGitHub {
|
||||||
|
owner = "neomutt";
|
||||||
|
repo = "neomutt-test-files";
|
||||||
|
rev = "1ee274e9ae1330fb901eb7b8275b3079d7869222";
|
||||||
|
sha256 = "0dhilz4rr7616jh8jcvh50a3rr09in43nsv72mm6f3vfklcqincp";
|
||||||
|
}} $(pwd)/test-files
|
||||||
|
(cd test-files && ./setup.sh)
|
||||||
|
|
||||||
|
export NEOMUTT_TEST_DIR=$(pwd)/test-files
|
||||||
|
'';
|
||||||
|
|
||||||
checkTarget = "test";
|
checkTarget = "test";
|
||||||
|
postCheck = "unset NEOMUTT_TEST_DIR";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A small but very powerful text-based mail client";
|
description = "A small but very powerful text-based mail client";
|
||||||
|
@ -191,7 +191,7 @@ stdenv.mkDerivation rec {
|
|||||||
lib.getVersion stdenv.cc.cc
|
lib.getVersion stdenv.cc.cc
|
||||||
} -isystem ${stdenv.cc.cc}/include/c++/${
|
} -isystem ${stdenv.cc.cc}/include/c++/${
|
||||||
lib.getVersion stdenv.cc.cc
|
lib.getVersion stdenv.cc.cc
|
||||||
}/$(cc -dumpmachine)"
|
}/${stdenv.hostPlatform.config}"
|
||||||
} \
|
} \
|
||||||
$NIX_CFLAGS_COMPILE"
|
$NIX_CFLAGS_COMPILE"
|
||||||
|
|
||||||
|
44
pkgs/applications/networking/p2p/deluge/2/default.nix
Normal file
44
pkgs/applications/networking/p2p/deluge/2/default.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{ stdenv, fetchurl, intltool, libtorrentRasterbar, pythonPackages
|
||||||
|
, gtk3, gobject-introspection, librsvg, wrapGAppsHook }:
|
||||||
|
|
||||||
|
pythonPackages.buildPythonPackage rec {
|
||||||
|
pname = "deluge";
|
||||||
|
version = "2.0.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://download.deluge-torrent.org/source/2.0/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "14d8kn2pvr1qv8mwqrxmj85jycr73vwfqz12hzag0ararbkfhyky";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = with pythonPackages; [
|
||||||
|
twisted Mako chardet pyxdg pyopenssl service-identity
|
||||||
|
libtorrentRasterbar.dev libtorrentRasterbar.python setuptools
|
||||||
|
setproctitle pillow rencode six zope_interface
|
||||||
|
dbus-python pygobject3 pycairo
|
||||||
|
gtk3 gobject-introspection librsvg
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ intltool wrapGAppsHook ];
|
||||||
|
|
||||||
|
checkInputs = with pythonPackages; [
|
||||||
|
pytest /* pytest-twisted */ pytestcov mock
|
||||||
|
mccabe pylint
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = false; # until pytest-twisted is packaged
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share/applications
|
||||||
|
cp -R deluge/ui/data/pixmaps $out/share/
|
||||||
|
cp -R deluge/ui/data/icons $out/share/
|
||||||
|
cp deluge/ui/data/share/applications/deluge.desktop $out/share/applications
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://deluge-torrent.org";
|
||||||
|
description = "Torrent client";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ domenkozar ebzzry ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -44,28 +44,40 @@ mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
# Poppler patches from
|
||||||
|
# https://github.com/scribusproject/scribus/commits/master/scribus/plugins/import/pdf
|
||||||
|
|
||||||
# fix build with Poppler 0.82
|
# fix build with Poppler 0.82
|
||||||
(
|
(fetchpatch {
|
||||||
fetchpatch {
|
url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
|
||||||
url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
|
sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
|
||||||
sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
|
})
|
||||||
}
|
|
||||||
)
|
|
||||||
# fix build with Poppler 0.83
|
# fix build with Poppler 0.83
|
||||||
(
|
(fetchpatch {
|
||||||
fetchpatch {
|
url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
|
||||||
url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
|
sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
|
||||||
sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
|
})
|
||||||
}
|
|
||||||
)
|
|
||||||
# fix build with Poppler 0.84
|
# fix build with Poppler 0.84
|
||||||
# TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
|
# TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
|
||||||
(
|
(fetchpatch {
|
||||||
fetchpatch {
|
url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
|
||||||
url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
|
sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
|
||||||
sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
|
})
|
||||||
}
|
# Formating changes needed for the Poppler 0.86 patch to apply
|
||||||
)
|
(fetchpatch {
|
||||||
|
url = "https://github.com/scribusproject/scribus/commit/58613b5ce44335f202a55ab15ed303d97fe274cb.patch";
|
||||||
|
sha256 = "qwmVAZVYCijLNMVGwnOLJE8223vcRwPWfEvNKiDjw5o=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/scribusproject/scribus/commit/24aba508aac3f672f5f8cd629744a3b71e58ec37.patch";
|
||||||
|
sha256 = "sha256-OY+EIiGBTg2aIAmZOnkI8DPZVZYqFZAKnD7ychge1Dw=";
|
||||||
|
includes = [ "scribus/plugins/import/pdf/*" ];
|
||||||
|
})
|
||||||
|
# fix build with Poppler 0.86
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/scribusproject/scribus/commit/67f8771aaff2f55d61b8246f420e762f4b526944.patch";
|
||||||
|
sha256 = "51z+BYKhbH8a9dFph8X60NGpiogSb+5tOhW2d+m/X9M=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
, pythonPackages
|
, pythonPackages
|
||||||
, uhd
|
, uhd
|
||||||
, log4cpp
|
, log4cpp
|
||||||
, openblas
|
, blas, lapack
|
||||||
, matio
|
, matio
|
||||||
, pugixml
|
, pugixml
|
||||||
, protobuf
|
, protobuf
|
||||||
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
|||||||
# nothing to be gained by leaving it out.
|
# nothing to be gained by leaving it out.
|
||||||
uhd
|
uhd
|
||||||
log4cpp
|
log4cpp
|
||||||
openblas
|
blas lapack
|
||||||
matio
|
matio
|
||||||
pugixml
|
pugixml
|
||||||
protobuf
|
protobuf
|
||||||
@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
|
|||||||
# armadillo is built using both, so skip checking for them.
|
# armadillo is built using both, so skip checking for them.
|
||||||
"-DBLAS=YES"
|
"-DBLAS=YES"
|
||||||
"-DLAPACK=YES"
|
"-DLAPACK=YES"
|
||||||
"-DBLAS_LIBRARIES=-lopenblas"
|
"-DBLAS_LIBRARIES=-lblas"
|
||||||
"-DLAPACK_LIBRARIES=-lopenblas"
|
"-DLAPACK_LIBRARIES=-llapack"
|
||||||
|
|
||||||
# Similarly, it doesn't actually use gfortran despite checking for
|
# Similarly, it doesn't actually use gfortran despite checking for
|
||||||
# its presence.
|
# its presence.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchFromGitHub, zlib, openblas, darwin}:
|
{ stdenv, fetchFromGitHub, zlib, blas, lapack, darwin}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "plink-ng";
|
pname = "plink-ng";
|
||||||
@ -11,14 +11,20 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq";
|
sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ zlib ] ++ (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ openblas ]) ;
|
buildInputs = [ zlib ] ++ (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ blas lapack ]) ;
|
||||||
|
|
||||||
buildPhase = ''
|
preBuild = ''
|
||||||
sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h
|
sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h
|
||||||
${if stdenv.cc.isClang then "sed -i 's|g++|clang++|g' Makefile.std" else ""}
|
${if stdenv.cc.isClang then "sed -i 's|g++|clang++|g' Makefile.std" else ""}
|
||||||
make ZLIB=-lz ${if stdenv.isDarwin then "" else "BLASFLAGS=-lopenblas"} -f Makefile.std
|
|
||||||
|
makeFlagsArray+=(
|
||||||
|
ZLIB=-lz
|
||||||
|
BLASFLAGS="-lblas -lcblas -llapack"
|
||||||
|
);
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
makefile = "Makefile.std";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp plink $out/bin
|
cp plink $out/bin
|
||||||
@ -31,4 +37,3 @@ stdenv.mkDerivation rec {
|
|||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps
|
{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps
|
||||||
, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack, autoreconfHook
|
, libyaml, libxc, fftw, blas, lapack, gsl, netcdf, arpack, autoreconfHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "octopus";
|
pname = "octopus";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
@ -14,12 +16,12 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ perl procps autoreconfHook ];
|
nativeBuildInputs = [ perl procps autoreconfHook ];
|
||||||
buildInputs = [ libyaml gfortran libxc openblas gsl fftw netcdf arpack ];
|
buildInputs = [ libyaml gfortran libxc blas lapack gsl fftw netcdf arpack ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-yaml-prefix=${libyaml}"
|
"--with-yaml-prefix=${libyaml}"
|
||||||
"--with-blas=-lopenblas"
|
"--with-blas=-lblas"
|
||||||
"--with-lapack=-lopenblas"
|
"--with-lapack=-llapack"
|
||||||
"--with-fftw-prefix=${fftw.dev}"
|
"--with-fftw-prefix=${fftw.dev}"
|
||||||
"--with-gsl-prefix=${gsl}"
|
"--with-gsl-prefix=${gsl}"
|
||||||
"--with-libxc-prefix=${libxc}"
|
"--with-libxc-prefix=${libxc}"
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
{ stdenv, fetchFromGitLab, cmake, gfortran, perl
|
{ stdenv, fetchFromGitLab, cmake, gfortran, perl
|
||||||
, openblas, hdf5-cpp, python3, texlive
|
, openblas, blas, lapack, hdf5-cpp, python3, texlive
|
||||||
, armadillo, openmpi, globalarrays, openssh
|
, armadillo, openmpi, globalarrays, openssh
|
||||||
, makeWrapper, fetchpatch
|
, makeWrapper, fetchpatch
|
||||||
} :
|
} :
|
||||||
|
|
||||||
|
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "19.11";
|
version = "19.11";
|
||||||
gitLabRev = "v${version}";
|
gitLabRev = "v${version}";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, gfortran, fftw, openblas
|
, gfortran, fftw, blas, lapack
|
||||||
, mpi ? null
|
, mpi ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
|||||||
patchShebangs configure
|
patchShebangs configure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ fftw openblas gfortran ]
|
buildInputs = [ fftw blas lapack gfortran ]
|
||||||
++ (stdenv.lib.optionals (mpi != null) [ mpi ]);
|
++ (stdenv.lib.optionals (mpi != null) [ mpi ]);
|
||||||
|
|
||||||
configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ];
|
configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, gfortran, openblas
|
, gfortran, blas, lapack
|
||||||
, mpi ? null, scalapack
|
, mpi ? null, scalapack
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
|||||||
inherit mpi;
|
inherit mpi;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openblas gfortran ]
|
buildInputs = [ blas lapack gfortran ]
|
||||||
++ (stdenv.lib.optionals (mpi != null) [ mpi scalapack ]);
|
++ (stdenv.lib.optionals (mpi != null) [ mpi scalapack ]);
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -33,11 +33,11 @@ stdenv.mkDerivation {
|
|||||||
makeFlagsArray=(
|
makeFlagsArray=(
|
||||||
CC="mpicc" FC="mpifort"
|
CC="mpicc" FC="mpifort"
|
||||||
FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="."
|
FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="."
|
||||||
COMP_LIBS="" LIBS="-lopenblas -lscalapack"
|
COMP_LIBS="" LIBS="-lblas -llapack -lscalapack"
|
||||||
);
|
);
|
||||||
'' else ''
|
'' else ''
|
||||||
makeFlagsArray=(
|
makeFlagsArray=(
|
||||||
COMP_LIBS="" LIBS="-lopenblas"
|
COMP_LIBS="" LIBS="-lblas -llapack"
|
||||||
);
|
);
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# data, compression
|
# data, compression
|
||||||
, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
|
, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
|
||||||
# maths
|
# maths
|
||||||
, openblasCompat, eigen, nlopt, lp_solve, colpack, liblapack, glpk
|
, blas, lapack, eigen, nlopt, lp_solve, colpack, glpk
|
||||||
# libraries
|
# libraries
|
||||||
, libarchive, libxml2
|
, libarchive, libxml2
|
||||||
# extra support
|
# extra support
|
||||||
@ -13,6 +13,8 @@
|
|||||||
assert pythonSupport -> pythonPackages != null;
|
assert pythonSupport -> pythonPackages != null;
|
||||||
assert opencvSupport -> opencv != null;
|
assert opencvSupport -> opencv != null;
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "shogun";
|
pname = "shogun";
|
||||||
version = "6.1.4";
|
version = "6.1.4";
|
||||||
@ -64,8 +66,8 @@ stdenv.mkDerivation rec {
|
|||||||
CCACHE_DIR=".ccache";
|
CCACHE_DIR=".ccache";
|
||||||
|
|
||||||
buildInputs = with lib; [
|
buildInputs = with lib; [
|
||||||
openblasCompat bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
|
blas lapack bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
|
||||||
protobuf nlopt snappy swig (libarchive.dev) libxml2 liblapack glpk
|
protobuf nlopt snappy swig (libarchive.dev) libxml2 lapack glpk
|
||||||
]
|
]
|
||||||
++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
|
++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
|
||||||
++ optional (opencvSupport) opencv;
|
++ optional (opencvSupport) opencv;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
||||||
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
||||||
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
|
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, blas, lapack
|
||||||
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
|
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
|
||||||
, withRecommendedPackages ? true
|
, withRecommendedPackages ? true
|
||||||
, enableStrictBarrier ? false
|
, enableStrictBarrier ? false
|
||||||
@ -9,6 +9,8 @@
|
|||||||
, static ? false
|
, static ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "R-3.6.3";
|
name = "R-3.6.3";
|
||||||
|
|
||||||
@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
|
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
|
||||||
pango pcre perl readline texLive xz zlib less texinfo graphviz icu
|
pango pcre perl readline texLive xz zlib less texinfo graphviz icu
|
||||||
pkgconfig bison imake which openblas curl tcl tk jdk
|
pkgconfig bison imake which blas lapack curl tcl tk jdk
|
||||||
] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ];
|
] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -43,8 +45,8 @@ stdenv.mkDerivation rec {
|
|||||||
configureFlagsArray=(
|
configureFlagsArray=(
|
||||||
--disable-lto
|
--disable-lto
|
||||||
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
|
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
|
||||||
--with-blas="-L${openblas}/lib -lopenblas"
|
--with-blas="-L${blas}/lib -lblas"
|
||||||
--with-lapack="-L${openblas}/lib -lopenblas"
|
--with-lapack="-L${lapack}/lib -llapack"
|
||||||
--with-readline
|
--with-readline
|
||||||
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
|
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
|
||||||
--with-cairo
|
--with-cairo
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
, opencv3
|
, opencv3
|
||||||
, protobuf
|
, protobuf
|
||||||
, doxygen
|
, doxygen
|
||||||
, openblas
|
, blas
|
||||||
, Accelerate, CoreGraphics, CoreVideo
|
, Accelerate, CoreGraphics, CoreVideo
|
||||||
, lmdbSupport ? true, lmdb
|
, lmdbSupport ? true, lmdb
|
||||||
, leveldbSupport ? true, leveldb, snappy
|
, leveldbSupport ? true, leveldb, snappy
|
||||||
@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
|
|||||||
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
|
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
|
||||||
++ ["-DUSE_LMDB=${toggle lmdbSupport}"];
|
++ ["-DUSE_LMDB=${toggle lmdbSupport}"];
|
||||||
|
|
||||||
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 openblas ]
|
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 blas ]
|
||||||
++ lib.optional cudaSupport cudatoolkit
|
++ lib.optional cudaSupport cudatoolkit
|
||||||
++ lib.optional cudnnSupport cudnn
|
++ lib.optional cudnnSupport cudnn
|
||||||
++ lib.optional lmdbSupport lmdb
|
++ lib.optional lmdbSupport lmdb
|
||||||
|
@ -15,7 +15,7 @@ index 9cab2fc..6e977b8 100755
|
|||||||
OCCXMAIN = $(SCCXMAIN:.c=.o)
|
OCCXMAIN = $(SCCXMAIN:.c=.o)
|
||||||
|
|
||||||
-DIR=../../../SPOOLES.2.2
|
-DIR=../../../SPOOLES.2.2
|
||||||
+LIBS = -lpthread -lm -lc -lspooles -larpack -lopenblas
|
+LIBS = -lpthread -lm -lc -lspooles -larpack -lblas -llapack
|
||||||
|
|
||||||
-LIBS = \
|
-LIBS = \
|
||||||
- $(DIR)/spooles.a \
|
- $(DIR)/spooles.a \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, gfortran, arpack, spooles, openblas }:
|
{ stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "calculix";
|
pname = "calculix";
|
||||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ gfortran ];
|
nativeBuildInputs = [ gfortran ];
|
||||||
|
|
||||||
buildInputs = [ arpack spooles openblas ];
|
buildInputs = [ arpack spooles blas lapack ];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";
|
NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
{ lib, stdenv, fetchgit, fetchFromGitHub, cmake
|
{ lib, stdenv, fetchgit, fetchFromGitHub, cmake
|
||||||
, openblas, opencv3, libzip, boost, protobuf, openmpi
|
, openblas, blas, lapack, opencv3, libzip, boost, protobuf, openmpi
|
||||||
, onebitSGDSupport ? false
|
, onebitSGDSupport ? false
|
||||||
, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11
|
, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11
|
||||||
, cudnnSupport ? cudaSupport, cudnn
|
, cudnnSupport ? cudaSupport, cudnn
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert cudnnSupport -> cudaSupport;
|
assert cudnnSupport -> cudaSupport;
|
||||||
|
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||||
|
|
||||||
let
|
let
|
||||||
# Old specific version required for CNTK.
|
# Old specific version required for CNTK.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchurl, blas, gfortran, liblapack }:
|
{ lib, stdenv, fetchurl, blas, gfortran, lapack }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "csdp-6.1.1";
|
name = "csdp-6.1.1";
|
||||||
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05";
|
sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ blas gfortran.cc.lib liblapack ];
|
buildInputs = [ blas gfortran.cc.lib lapack ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace Makefile --replace /usr/local/bin $out/bin
|
substituteInPlace Makefile --replace /usr/local/bin $out/bin
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, cmake, gfortran, openblas, openmpi, petsc, python3 }:
|
{ stdenv, fetchurl, cmake, gfortran, blas, lapack, openmpi, petsc, python3 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "getdp-${version}";
|
name = "getdp-${version}";
|
||||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake gfortran ];
|
nativeBuildInputs = [ cmake gfortran ];
|
||||||
buildInputs = [ openblas openmpi petsc python3 ];
|
buildInputs = [ blas lapack openmpi petsc python3 ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A General Environment for the Treatment of Discrete Problems";
|
description = "A General Environment for the Treatment of Discrete Problems";
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, liblapack
|
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, lapack, blas
|
||||||
, gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty
|
, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
|
||||||
, readline, gettext, libpng, libao, gfortran, perl
|
, readline, gettext, libpng, libao, gfortran, perl
|
||||||
, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
|
, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
|
assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
|
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
|
||||||
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
|
|||||||
# gfortran.cc default output contains static libraries compiled without -fPIC
|
# gfortran.cc default output contains static libraries compiled without -fPIC
|
||||||
# we want libgfortran.so.3 instead
|
# we want libgfortran.so.3 instead
|
||||||
(stdenv.lib.getLib gfortran.cc)
|
(stdenv.lib.getLib gfortran.cc)
|
||||||
liblapack
|
lapack blas
|
||||||
] ++ stdenv.lib.optionals enableGUI [
|
] ++ stdenv.lib.optionals enableGUI [
|
||||||
libGL libGLU fltk xorg.libX11
|
libGL libGLU fltk xorg.libX11
|
||||||
];
|
];
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
|
{ stdenv, fetchurl, cmake, blas, lapack, gfortran, gmm, fltk, libjpeg
|
||||||
, zlib, libGL, libGLU, xorg, opencascade-occt }:
|
, zlib, libGL, libGLU, xorg, opencascade-occt }:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gmsh";
|
pname = "gmsh";
|
||||||
version = "4.5.6";
|
version = "4.5.6";
|
||||||
@ -10,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6";
|
sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL
|
buildInputs = [ blas lapack gmm fltk libjpeg zlib libGLU libGL
|
||||||
libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
|
libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
|
||||||
xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
|
xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
|
||||||
opencascade-occt
|
opencascade-occt
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{stdenv, fetchurl, gfortran, openblas}:
|
{stdenv, fetchurl, gfortran, blas, lapack}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "JAGS-4.3.0";
|
name = "JAGS-4.3.0";
|
||||||
@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
|
|||||||
url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
|
url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
|
||||||
sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
|
sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
|
||||||
};
|
};
|
||||||
buildInputs = [gfortran openblas];
|
buildInputs = [gfortran blas lapack];
|
||||||
configureFlags = [ "--with-blas=-lopenblas" "--with-lapack=-lopenblas" ];
|
configureFlags = [ "--with-blas=-lblas" "--with-lapack=-llapack" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Just Another Gibbs Sampler";
|
description = "Just Another Gibbs Sampler";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ config, stdenv, lib, fetchurl, bash, cmake
|
{ config, stdenv, lib, fetchurl, bash, cmake
|
||||||
, opencv3, gtest, openblas, liblapack, perl
|
, opencv3, gtest, blas, perl
|
||||||
, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
|
, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
|
||||||
, cudnnSupport ? cudaSupport, cudnn
|
, cudnnSupport ? cudaSupport, cudnn
|
||||||
}:
|
}:
|
||||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ cmake perl ];
|
nativeBuildInputs = [ cmake perl ];
|
||||||
|
|
||||||
buildInputs = [ opencv3 gtest openblas liblapack ]
|
buildInputs = [ opencv3 gtest blas ]
|
||||||
++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ]
|
++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ]
|
||||||
++ lib.optional cudnnSupport cudnn;
|
++ lib.optional cudnnSupport cudnn;
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
|||||||
substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \
|
substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \
|
||||||
--replace "/bin/bash" "${bash}/bin/bash"
|
--replace "/bin/bash" "${bash}/bin/bash"
|
||||||
|
|
||||||
# Build against the system version of OpenMP.
|
# Build against the system version of OpenMP.
|
||||||
# https://github.com/apache/incubator-mxnet/pull/12160
|
# https://github.com/apache/incubator-mxnet/pull/12160
|
||||||
rm -rf 3rdparty/openmp
|
rm -rf 3rdparty/openmp
|
||||||
'';
|
'';
|
||||||
|
@ -41,7 +41,8 @@
|
|||||||
, lcalc
|
, lcalc
|
||||||
, rubiks
|
, rubiks
|
||||||
, flintqs
|
, flintqs
|
||||||
, openblasCompat
|
, blas
|
||||||
|
, lapack
|
||||||
, flint
|
, flint
|
||||||
, gmp
|
, gmp
|
||||||
, mpfr
|
, mpfr
|
||||||
@ -53,6 +54,8 @@
|
|||||||
, less
|
, less
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
# This generates a `sage-env` shell file that will be sourced by sage on startup.
|
# This generates a `sage-env` shell file that will be sourced by sage on startup.
|
||||||
# It sets up various environment variables, telling sage where to find its
|
# It sets up various environment variables, telling sage where to find its
|
||||||
# dependencies.
|
# dependencies.
|
||||||
@ -114,7 +117,7 @@ writeTextFile rec {
|
|||||||
# testsuite instead, but since all the packages are also runtime
|
# testsuite instead, but since all the packages are also runtime
|
||||||
# dependencies it doesn't really hurt to include them here.
|
# dependencies it doesn't really hurt to include them here.
|
||||||
singular
|
singular
|
||||||
openblasCompat
|
blas lapack
|
||||||
fflas-ffpack givaro
|
fflas-ffpack givaro
|
||||||
gd
|
gd
|
||||||
libpng zlib
|
libpng zlib
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
, lib
|
, lib
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, sage-env
|
, sage-env
|
||||||
, openblasCompat
|
, blas
|
||||||
|
, lapack
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, three
|
, three
|
||||||
, singular
|
, singular
|
||||||
@ -21,6 +22,9 @@
|
|||||||
, pythonEnv
|
, pythonEnv
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
# lots of segfaults with (64 bit) blas
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
# Wrapper that combined `sagelib` with `sage-env` to produce an actually
|
# Wrapper that combined `sagelib` with `sage-env` to produce an actually
|
||||||
# executable sage. No tests are run yet and no documentation is built.
|
# executable sage. No tests are run yet and no documentation is built.
|
||||||
|
|
||||||
@ -29,7 +33,7 @@ let
|
|||||||
pythonEnv # for patchShebangs
|
pythonEnv # for patchShebangs
|
||||||
makeWrapper
|
makeWrapper
|
||||||
pkg-config
|
pkg-config
|
||||||
openblasCompat # lots of segfaults with regular (64 bit) openblas
|
blas lapack
|
||||||
singular
|
singular
|
||||||
three
|
three
|
||||||
pynac
|
pynac
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
, perl
|
, perl
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, arb
|
, arb
|
||||||
, openblasCompat
|
, blas
|
||||||
|
, lapack
|
||||||
, brial
|
, brial
|
||||||
, cliquer
|
, cliquer
|
||||||
, cypari2
|
, cypari2
|
||||||
@ -52,6 +53,8 @@
|
|||||||
, pplpy
|
, pplpy
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
# This is the core sage python package. Everything else is just wrappers gluing
|
# This is the core sage python package. Everything else is just wrappers gluing
|
||||||
# stuff together. It is not very useful on its own though, since it will not
|
# stuff together. It is not very useful on its own though, since it will not
|
||||||
# find many of its dependencies without `sage-env`, will not be tested without
|
# find many of its dependencies without `sage-env`, will not be tested without
|
||||||
@ -103,7 +106,8 @@ buildPythonPackage rec {
|
|||||||
m4rie
|
m4rie
|
||||||
mpfi
|
mpfi
|
||||||
ntl
|
ntl
|
||||||
openblasCompat
|
blas
|
||||||
|
lapack
|
||||||
pari
|
pari
|
||||||
planarity
|
planarity
|
||||||
ppl
|
ppl
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
|
{stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
|
||||||
hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
|
hwloc, jre, lapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
|
||||||
lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
|
lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
|
||||||
doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
|
doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
|||||||
src = fetchgit (import ./src-main.nix);
|
src = fetchgit (import ./src-main.nix);
|
||||||
|
|
||||||
buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
|
buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
|
||||||
hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkitgtk which
|
hwloc jre lapack blas hdf5 expat ncurses readline qt4 webkitgtk which
|
||||||
lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
|
lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
|
||||||
doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
|
doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
|
||||||
git gtk2 makeWrapper];
|
git gtk2 makeWrapper];
|
||||||
@ -40,7 +40,7 @@ stdenv.mkDerivation {
|
|||||||
for e in $(cd $out/bin && ls); do
|
for e in $(cd $out/bin && ls); do
|
||||||
wrapProgram $out/bin/$e \
|
wrapProgram $out/bin/$e \
|
||||||
--prefix PATH : "${gnumake}/bin" \
|
--prefix PATH : "${gnumake}/bin" \
|
||||||
--prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ liblapack blas ]}"
|
--prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ lapack blas ]}"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@ -53,5 +53,3 @@ stdenv.mkDerivation {
|
|||||||
broken = true;
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchFromGitHub
|
{ stdenv, fetchFromGitHub
|
||||||
, libpng, gzip, fftw, openblas
|
, libpng, gzip, fftw, blas, lapack
|
||||||
, mpi ? null
|
, mpi ? null
|
||||||
}:
|
}:
|
||||||
let packages = [
|
let packages = [
|
||||||
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||||||
inherit packages;
|
inherit packages;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ fftw libpng openblas gzip ]
|
buildInputs = [ fftw libpng blas lapack gzip ]
|
||||||
++ (stdenv.lib.optionals withMPI [ mpi ]);
|
++ (stdenv.lib.optionals withMPI [ mpi ]);
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, liblapack, libyaml, lynx, mela, root5, qcdnum, which }:
|
{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, lapack, libyaml, lynx, mela, root5, qcdnum, which }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xfitter";
|
pname = "xfitter";
|
||||||
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ gfortran which ];
|
nativeBuildInputs = [ gfortran which ];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ apfel apfelgrid applgrid blas lhapdf liblapack mela root5 qcdnum ]
|
[ apfel apfelgrid applgrid blas lhapdf lapack mela root5 qcdnum ]
|
||||||
# pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin
|
# pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin
|
||||||
++ stdenv.lib.optional (!stdenv.isDarwin) libyaml
|
++ stdenv.lib.optional (!stdenv.isDarwin) libyaml
|
||||||
;
|
;
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "git-repo";
|
pname = "git-repo";
|
||||||
version = "2.5";
|
version = "2.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "android";
|
owner = "android";
|
||||||
repo = "tools_repo";
|
repo = "tools_repo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0y37s0v37gygv0dm8y9sjc4jr7ml8irix5rwmbk6smzwa74n0x8a";
|
sha256 = "16c30nwlgm0xcma9q34ygjsk6m33izmfgn7a0mzhfzyakymdi45g";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./import-ssl-module.patch ];
|
patches = [ ./import-ssl-module.patch ];
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
, srht, redis, celery, pyyaml, markdown }:
|
, srht, redis, celery, pyyaml, markdown }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.52.5";
|
version = "0.56.13";
|
||||||
|
|
||||||
buildWorker = src: buildGoModule {
|
buildWorker = src: buildGoModule {
|
||||||
inherit src version;
|
inherit src version;
|
||||||
pname = "builds-sr-ht-worker";
|
pname = "builds-sr-ht-worker";
|
||||||
goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker";
|
goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker";
|
||||||
|
|
||||||
modSha256 = "1dwp87zsbh4a48q0pacssy329kchrd4sa47c5a1k8smbqn078424";
|
modSha256 = "10is7siscids9qz6jh9m1i17749dafqqkg4b3sslmxaxyn16yj97";
|
||||||
};
|
};
|
||||||
in buildPythonPackage rec {
|
in buildPythonPackage rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -20,7 +20,7 @@ in buildPythonPackage rec {
|
|||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "142aycnary6yfi0y1i3zgpyndi0756fingavcz2dnqi36pkajaaj";
|
sha256 = "uFoS9xaVXsZZf4neZQcUyTqKo2RshOQeifD27kaKSVE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
{ stdenv, fetchgit, fetchNodeModules, buildPythonPackage
|
{ stdenv, fetchgit, fetchNodeModules, buildPythonPackage
|
||||||
, pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests
|
, pgpy, flask, bleach, misaka, humanize, html5lib, markdown, psycopg2, pygments
|
||||||
, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, celery, alembic
|
, requests, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, prometheus_client
|
||||||
, importlib-metadata
|
, celery, alembic, importlib-metadata
|
||||||
, sassc, nodejs
|
, sassc, nodejs
|
||||||
, writeText }:
|
, writeText }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "srht";
|
pname = "srht";
|
||||||
version = "0.57.2";
|
version = "0.59.13";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "11rfpb0wf1xzrhcnpahaghmi5626snzph0vsbxlmmqx75wf0p6mf";
|
sha256 = "5jc6MtG/cBry05Sq51UAFzSBvKKkdNTA67UIDvJt9uU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
node_modules = fetchNodeModules {
|
node_modules = fetchNodeModules {
|
||||||
@ -36,6 +36,7 @@ buildPythonPackage rec {
|
|||||||
bleach
|
bleach
|
||||||
misaka
|
misaka
|
||||||
humanize
|
humanize
|
||||||
|
html5lib
|
||||||
markdown
|
markdown
|
||||||
psycopg2
|
psycopg2
|
||||||
pygments
|
pygments
|
||||||
@ -44,6 +45,7 @@ buildPythonPackage rec {
|
|||||||
cryptography
|
cryptography
|
||||||
beautifulsoup4
|
beautifulsoup4
|
||||||
sqlalchemy-utils
|
sqlalchemy-utils
|
||||||
|
prometheus_client
|
||||||
|
|
||||||
# Unofficial runtime dependencies?
|
# Unofficial runtime dependencies?
|
||||||
celery
|
celery
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "dispatchsrht";
|
pname = "dispatchsrht";
|
||||||
version = "0.13.3";
|
version = "0.14.1";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "08asayfwpzafscpli5grx1p0y1ryz7pqkznf5bd9j8ir2iyhbc10";
|
sha256 = "eJ+oHs9m74Q8V6fUBLOA1ksUiwdaR1/Bxlf3jcexdkA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ stdenv, fetchgit, buildPythonPackage
|
{ stdenv, fetchgit, buildPythonPackage
|
||||||
, python
|
, python
|
||||||
, buildGoModule
|
, buildGoModule
|
||||||
, srht, pygit2, scmsrht }:
|
, srht, minio, pygit2, scmsrht }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.43.3";
|
version = "0.50.3";
|
||||||
|
|
||||||
buildShell = src: buildGoModule {
|
buildShell = src: buildGoModule {
|
||||||
inherit src version;
|
inherit src version;
|
||||||
@ -44,7 +44,7 @@ in buildPythonPackage rec {
|
|||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/git.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/git.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1f9wfyri85bq4zi9xkbfcfb69q4abh0hz7p3lghj460hh9zxc57w";
|
sha256 = "dmcTee3hp6ZkwwunG4ouEVmCxQ1a9LfQ7oWpHxnKumc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@ -55,6 +55,7 @@ in buildPythonPackage rec {
|
|||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
srht
|
srht
|
||||||
|
minio
|
||||||
pygit2
|
pygit2
|
||||||
scmsrht
|
scmsrht
|
||||||
];
|
];
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "hgsrht";
|
pname = "hgsrht";
|
||||||
version = "0.21.1";
|
version = "0.26.0";
|
||||||
|
|
||||||
src = fetchhg {
|
src = fetchhg {
|
||||||
url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
|
url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "19r8zcy4xf9imqifqw3b7ylxd46i025ncns69kn5xp11damilz66";
|
sha256 = "kX0KZSEzYQ/hxL2vKh+mpaRuG16qbBKN2Xwp+e9pTxs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "listssrht";
|
pname = "listssrht";
|
||||||
version = "0.40.3";
|
version = "0.41.8";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1s736i5wm04pqa5k7455bdjdi7vjgvq32q1v6mdsp1w7jhgy1ags";
|
sha256 = "Gmt6ttupyhZhpyH/IASEt8SZGrlQmEEtV5bE11yIiXQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mansrht";
|
pname = "mansrht";
|
||||||
version = "0.14.1";
|
version = "0.14.7";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/man.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/man.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "13yar0sa24jyiq0l4p4bgq6p5crj148f26sxwyi37g76jqba4rfi";
|
sha256 = "CKXWVXr2P1D6Nz9/S5rOkuOi9piy66RreQv2RQ0KSfs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
{ stdenv, fetchgit, buildPythonPackage
|
{ stdenv, fetchgit, buildPythonPackage
|
||||||
, python
|
, python
|
||||||
, pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache
|
, pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache
|
||||||
, sshpubkeys, weasyprint, prometheus_client }:
|
, sshpubkeys, weasyprint }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "metasrht";
|
pname = "metasrht";
|
||||||
version = "0.41.10";
|
version = "0.42.13";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1srzrajgwq85kjryxykj708m2c98r6a84x4k4a5grwznqw3mwm6p";
|
sha256 = "p7WgnfOsX09YxJJclHwdIky/jYkTOxibbYmXwcmE2S4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = srht.nativeBuildInputs;
|
nativeBuildInputs = srht.nativeBuildInputs;
|
||||||
@ -27,7 +27,6 @@ buildPythonPackage rec {
|
|||||||
pystache
|
pystache
|
||||||
sshpubkeys
|
sshpubkeys
|
||||||
weasyprint
|
weasyprint
|
||||||
prometheus_client
|
|
||||||
];
|
];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pastesrht";
|
pname = "pastesrht";
|
||||||
version = "0.9.2";
|
version = "0.10.3";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0hiv607a7446dba524kblmpswlcz0z4i1jr49ng7g90nhpsk8dy4";
|
sha256 = "i1M4L5NG152zkIEFj2vDHa9lr5aE1ioToDVPpkIqemk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "scmsrht";
|
pname = "scmsrht";
|
||||||
version = "0.18.1";
|
version = "0.19.11";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1f0h8vbbqx34v1rgzqjkgbf0z7jhnp8hdlzmrxwhs74kj6zjb134";
|
sha256 = "a0JIZcO/3op409t+jq4/fImuppuGqfGxBPgBh67DGHM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = srht.nativeBuildInputs;
|
nativeBuildInputs = srht.nativeBuildInputs;
|
||||||
|
@ -5,12 +5,12 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "todosrht";
|
pname = "todosrht";
|
||||||
version = "0.55.3";
|
version = "0.57.14";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.sr.ht/~sircmpwn/todo.sr.ht";
|
url = "https://git.sr.ht/~sircmpwn/todo.sr.ht";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1j82yxdnag0q6rp0rpiq3ccn5maa1k58j2f1ilcsxf1gr13pycf5";
|
sha256 = "nlTf7KV6vjqqVEXZ6OOZ5dAj1iHTDPYj4DnAD2hGp5c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, qttools, mpv }:
|
{ stdenv, mkDerivation, fetchFromGitLab, pkgconfig, qmake, qtx11extras, qttools, mpv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "mpc-qt";
|
pname = "mpc-qt";
|
||||||
version = "18.08";
|
version = "2019-06-09";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitLab {
|
||||||
owner = "cmdrkotori";
|
owner = "mpc-qt";
|
||||||
repo = "mpc-qt";
|
repo = "mpc-qt";
|
||||||
rev = "v${version}";
|
rev = "2abe6e7fc643068d50522468fe75d614861555ad";
|
||||||
sha256 = "1rxlkg3vsrapazdlb1i6c5a1vvf2114bsqwzcm3n2wc5c93yqsna";
|
sha256 = "1cis8dl9pm91mpnp696zvwsfp96gkwr8jgs45anbwd7ldw78w4x5";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig qmake qttools ];
|
nativeBuildInputs = [ pkgconfig qmake qttools ];
|
||||||
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Media Player Classic Qute Theater";
|
description = "Media Player Classic Qute Theater";
|
||||||
homepage = "https://github.com/cmdrkotori/mpc-qt";
|
homepage = "https://gitlab.com/mpc-qt/mpc-qt";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ romildo ];
|
maintainers = with maintainers; [ romildo ];
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
From 5798a2691467604e89fd9fb1cd5289ebd1b1d7b8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Graham Christensen <graham@grahamc.com>
|
||||||
|
Date: Fri, 20 Mar 2020 22:32:02 -0400
|
||||||
|
Subject: [PATCH] find ObsPluginHelpers.cmake in the obs src
|
||||||
|
|
||||||
|
---
|
||||||
|
external/FindLibObs.cmake | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/external/FindLibObs.cmake b/external/FindLibObs.cmake
|
||||||
|
index ab0a3de..53a46b8 100644
|
||||||
|
--- a/external/FindLibObs.cmake
|
||||||
|
+++ b/external/FindLibObs.cmake
|
||||||
|
@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
|
||||||
|
|
||||||
|
set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
|
||||||
|
set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
|
||||||
|
- include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
|
||||||
|
+ include(${OBS_SRC}/cmake/external/ObsPluginHelpers.cmake)
|
||||||
|
|
||||||
|
# allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
|
||||||
|
if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
|
||||||
|
--
|
||||||
|
2.25.0
|
||||||
|
|
42
pkgs/applications/video/obs-studio/v4l2sink.nix
Normal file
42
pkgs/applications/video/obs-studio/v4l2sink.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{ stdenv, fetchFromGitHub
|
||||||
|
, cmake, pkgconfig, wrapQtAppsHook
|
||||||
|
, obs-studio }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "obs-v4l2sink-unstable";
|
||||||
|
version = "20181012";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "CatxFish";
|
||||||
|
repo = "obs-v4l2sink";
|
||||||
|
rev = "1ec3c8ada0e1040d867ce567f177be55cd278378";
|
||||||
|
sha256 = "03ah91cm1qz26k90mfx51l0d598i9bcmw39lkikjs1msm4c9dfxx";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
|
||||||
|
buildInputs = [ obs-studio ];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./0001-find-ObsPluginHelpers.cmake-in-the-obs-src.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
|
||||||
|
"-DLIBOBS_LIBRARIES=${obs-studio}/lib"
|
||||||
|
"-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
|
||||||
|
"-DOBS_SRC=${obs-studio.src}"
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/obs/obs-plugins/v4l2sink/bin/64bit
|
||||||
|
cp ./v4l2sink.so $out/share/obs/obs-plugins/v4l2sink/bin/64bit/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "obs studio output plugin for Video4Linux2 device";
|
||||||
|
homepage = "https://github.com/CatxFish/obs-v4l2sink";
|
||||||
|
maintainers = with maintainers; [ colemickens ];
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
137
pkgs/build-support/alternatives/blas/default.nix
Normal file
137
pkgs/build-support/alternatives/blas/default.nix
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
{ lib, stdenv
|
||||||
|
, lapack-reference, openblasCompat, openblas
|
||||||
|
, is64bit ? false
|
||||||
|
, blasProvider ? if is64bit then openblas else openblasCompat }:
|
||||||
|
|
||||||
|
let
|
||||||
|
blasFortranSymbols = [
|
||||||
|
"caxpy" "ccopy" "cdotc" "cdotu" "cgbmv" "cgemm" "cgemv" "cgerc" "cgeru"
|
||||||
|
"chbmv" "chemm" "chemv" "cher" "cher2" "cher2k" "cherk" "chpmv" "chpr"
|
||||||
|
"chpr2" "crotg" "cscal" "csrot" "csscal" "cswap" "csymm" "csyr2k" "csyrk"
|
||||||
|
"ctbmv" "ctbsv" "ctpmv" "ctpsv" "ctrmm" "ctrmv" "ctrsm" "ctrsv" "dasum"
|
||||||
|
"daxpy" "dcabs1" "dcopy" "ddot" "dgbmv" "dgemm" "dgemv" "dger" "dnrm2"
|
||||||
|
"drot" "drotg" "drotm" "drotmg" "dsbmv" "dscal" "dsdot" "dspmv" "dspr"
|
||||||
|
"dspr2" "dswap" "dsymm" "dsymv" "dsyr" "dsyr2" "dsyr2k" "dsyrk" "dtbmv"
|
||||||
|
"dtbsv" "dtpmv" "dtpsv" "dtrmm" "dtrmv" "dtrsm" "dtrsv" "dzasum" "dznrm2"
|
||||||
|
"icamax" "idamax" "isamax" "izamax" "lsame" "sasum" "saxpy" "scabs1"
|
||||||
|
"scasum" "scnrm2" "scopy" "sdot" "sdsdot" "sgbmv" "sgemm" "sgemv"
|
||||||
|
"sger" "snrm2" "srot" "srotg" "srotm" "srotmg" "ssbmv" "sscal" "sspmv"
|
||||||
|
"sspr" "sspr2" "sswap" "ssymm" "ssymv" "ssyr" "ssyr2" "ssyr2k" "ssyrk"
|
||||||
|
"stbmv" "stbsv" "stpmv" "stpsv" "strmm" "strmv" "strsm" "strsv" "xerbla"
|
||||||
|
"xerbla_array" "zaxpy" "zcopy" "zdotc" "zdotu" "zdrot" "zdscal" "zgbmv"
|
||||||
|
"zgemm" "zgemv" "zgerc" "zgeru" "zhbmv" "zhemm" "zhemv" "zher" "zher2"
|
||||||
|
"zher2k" "zherk" "zhpmv" "zhpr" "zhpr2" "zrotg" "zscal" "zswap" "zsymm"
|
||||||
|
"zsyr2k" "zsyrk" "ztbmv" "ztbsv" "ztpmv" "ztpsv" "ztrmm" "ztrmv" "ztrsm"
|
||||||
|
"ztrsv"
|
||||||
|
];
|
||||||
|
|
||||||
|
version = "3";
|
||||||
|
canonicalExtension = if stdenv.hostPlatform.isLinux
|
||||||
|
then "${stdenv.hostPlatform.extensions.sharedLibrary}.${version}"
|
||||||
|
else stdenv.hostPlatform.extensions.sharedLibrary;
|
||||||
|
|
||||||
|
|
||||||
|
is64bit = blasProvider.blas64 or false;
|
||||||
|
blasImplementation = lib.getName blasProvider;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
assert is64bit -> (blasImplementation == "openblas" && blasProvider.blas64) || blasImplementation == "mkl";
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "blas";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
meta = (blasProvider.meta or {}) // {
|
||||||
|
description = "${lib.getName blasProvider} with just the BLAS C and FORTRAN ABI";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit is64bit;
|
||||||
|
provider = blasProvider;
|
||||||
|
implementation = blasImplementation;
|
||||||
|
};
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
unpackPhase = "src=$PWD";
|
||||||
|
|
||||||
|
installPhase = (''
|
||||||
|
mkdir -p $out/lib $dev/include $dev/lib/pkgconfig
|
||||||
|
|
||||||
|
libblas="${lib.getLib blasProvider}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
|
|
||||||
|
if ! [ -e "$libblas" ]; then
|
||||||
|
echo "$libblas does not exist, ${blasProvider.name} does not provide libblas."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
nm -an "$libblas" | cut -f3 -d' ' > symbols
|
||||||
|
for symbol in ${toString blasFortranSymbols}; do
|
||||||
|
grep "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; }
|
||||||
|
done
|
||||||
|
|
||||||
|
cp -L "$libblas" $out/lib/libblas${canonicalExtension}
|
||||||
|
chmod +w $out/lib/libblas${canonicalExtension}
|
||||||
|
|
||||||
|
'' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
|
||||||
|
patchelf --set-soname libblas${canonicalExtension} $out/lib/libblas${canonicalExtension}
|
||||||
|
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libblas${canonicalExtension}):${lib.getLib blasProvider}/lib" $out/lib/libblas${canonicalExtension}
|
||||||
|
'' else if stdenv.hostPlatform.isDarwin then ''
|
||||||
|
install_name_tool \
|
||||||
|
-id libblas${canonicalExtension}
|
||||||
|
-add_rpath ${lib.getLib blasProvider}/lib \
|
||||||
|
$out/lib/libblas${canonicalExtension}
|
||||||
|
'' else "") + ''
|
||||||
|
|
||||||
|
if [ "$out/lib/libblas${canonicalExtension}" != "$out/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then
|
||||||
|
ln -s $out/lib/libblas${canonicalExtension} "$out/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<EOF > $dev/lib/pkgconfig/blas.pc
|
||||||
|
Name: blas
|
||||||
|
Version: ${version}
|
||||||
|
Description: BLAS FORTRAN implementation
|
||||||
|
Libs: -L$out/lib -lblas
|
||||||
|
Cflags: -I$dev/include
|
||||||
|
EOF
|
||||||
|
|
||||||
|
libcblas="${lib.getLib blasProvider}/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
|
|
||||||
|
if ! [ -e "$libcblas" ]; then
|
||||||
|
echo "$libcblas does not exist, ${blasProvider.name} does not provide libcblas."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -L "$libcblas" $out/lib/libcblas${canonicalExtension}
|
||||||
|
chmod +w $out/lib/libcblas${canonicalExtension}
|
||||||
|
|
||||||
|
'' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
|
||||||
|
patchelf --set-soname libcblas${canonicalExtension} $out/lib/libcblas${canonicalExtension}
|
||||||
|
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/libcblas${canonicalExtension}):${lib.getLib blasProvider}/lib" $out/lib/libcblas${canonicalExtension}
|
||||||
|
'' else if stdenv.hostPlatform.isDarwin then ''
|
||||||
|
install_name_tool \
|
||||||
|
-id libcblas${canonicalExtension} \
|
||||||
|
-add_rpath ${lib.getLib blasProvider}/lib \
|
||||||
|
$out/lib/libcblas${canonicalExtension}
|
||||||
|
'' else "") + ''
|
||||||
|
if [ "$out/lib/libcblas${canonicalExtension}" != "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then
|
||||||
|
ln -s $out/lib/libcblas${canonicalExtension} "$out/lib/libcblas${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp ${lib.getDev lapack-reference}/include/cblas{,_mangling}.h $dev/include
|
||||||
|
|
||||||
|
cat <<EOF > $dev/lib/pkgconfig/cblas.pc
|
||||||
|
Name: cblas
|
||||||
|
Version: ${version}
|
||||||
|
Description: BLAS C implementation
|
||||||
|
Cflags: -I$dev/include
|
||||||
|
Libs: -L$out/lib -lcblas
|
||||||
|
EOF
|
||||||
|
'' + stdenv.lib.optionalString (blasImplementation == "mkl") ''
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
echo 'export MKL_INTERFACE_LAYER=${lib.optionalString is64bit "I"}LP64,GNU' > $out/nix-support/setup-hook
|
||||||
|
'');
|
||||||
|
}
|
111
pkgs/build-support/alternatives/lapack/default.nix
Normal file
111
pkgs/build-support/alternatives/lapack/default.nix
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
{ lib, stdenv
|
||||||
|
, lapack-reference, openblasCompat, openblas
|
||||||
|
, is64bit ? false
|
||||||
|
, lapackProvider ? if is64bit then openblas else openblasCompat }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
version = "3";
|
||||||
|
canonicalExtension = if stdenv.hostPlatform.isLinux
|
||||||
|
then "${stdenv.hostPlatform.extensions.sharedLibrary}.${version}"
|
||||||
|
else stdenv.hostPlatform.extensions.sharedLibrary;
|
||||||
|
|
||||||
|
lapackImplementation = lib.getName lapackProvider;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
assert is64bit -> (lapackImplementation == "openblas" && lapackProvider.blas64) || lapackImplementation == "mkl";
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "lapack";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
meta = (lapackProvider.meta or {}) // {
|
||||||
|
description = "${lib.getName lapackProvider} with just the LAPACK C and FORTRAN ABI";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit is64bit;
|
||||||
|
provider = lapackProvider;
|
||||||
|
implementation = lapackImplementation;
|
||||||
|
};
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
unpackPhase = "src=$PWD";
|
||||||
|
|
||||||
|
installPhase = (''
|
||||||
|
mkdir -p $out/lib $dev/include $dev/lib/pkgconfig
|
||||||
|
|
||||||
|
liblapack="${lib.getLib lapackProvider}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
|
|
||||||
|
if ! [ -e "$liblapack" ]; then
|
||||||
|
echo "$liblapack does not exist, ${lapackProvider.name} does not provide liblapack."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -L "$liblapack" $out/lib/liblapack${canonicalExtension}
|
||||||
|
chmod +w $out/lib/liblapack${canonicalExtension}
|
||||||
|
|
||||||
|
'' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
|
||||||
|
patchelf --set-soname liblapack${canonicalExtension} $out/lib/liblapack${canonicalExtension}
|
||||||
|
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapack${canonicalExtension}):${lapackProvider}/lib" $out/lib/liblapack${canonicalExtension}
|
||||||
|
'' else if stdenv.hostPlatform.isDarwin then ''
|
||||||
|
install_name_tool -id liblapack${canonicalExtension} \
|
||||||
|
-add_rpath ${lib.getLib lapackProvider}/lib \
|
||||||
|
$out/lib/liblapack${canonicalExtension}
|
||||||
|
'' else "") + ''
|
||||||
|
|
||||||
|
if [ "$out/lib/liblapack${canonicalExtension}" != "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ]; then
|
||||||
|
ln -s $out/lib/liblapack${canonicalExtension} "$out/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
install -D ${lib.getDev lapack-reference}/include/lapack.h $dev/include/lapack.h
|
||||||
|
|
||||||
|
cat <<EOF > $dev/lib/pkgconfig/lapack.pc
|
||||||
|
Name: lapack
|
||||||
|
Version: ${version}
|
||||||
|
Description: LAPACK FORTRAN implementation
|
||||||
|
Cflags: -I$dev/include
|
||||||
|
Libs: -L$out/lib -llapack
|
||||||
|
EOF
|
||||||
|
|
||||||
|
liblapacke="${lib.getLib lapackProvider}/lib/liblapacke${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
|
|
||||||
|
if ! [ -e "$liblapacke" ]; then
|
||||||
|
echo "$liblapacke does not exist, ${lapackProvider.name} does not provide liblapacke."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -L "$liblapacke" $out/lib/liblapacke${canonicalExtension}
|
||||||
|
chmod +w $out/lib/liblapacke${canonicalExtension}
|
||||||
|
|
||||||
|
'' + (if stdenv.hostPlatform.parsed.kernel.execFormat.name == "elf" then ''
|
||||||
|
patchelf --set-soname liblapacke${canonicalExtension} $out/lib/liblapacke${canonicalExtension}
|
||||||
|
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/liblapacke${canonicalExtension}):${lib.getLib lapackProvider}/lib" $out/lib/liblapacke${canonicalExtension}
|
||||||
|
'' else if stdenv.hostPlatform.isDarwin then ''
|
||||||
|
install_name_tool -id liblapacke${canonicalExtension} \
|
||||||
|
-add_rpath ${lib.getLib lapackProvider}/lib \
|
||||||
|
$out/lib/liblapacke${canonicalExtension}
|
||||||
|
'' else "") + ''
|
||||||
|
|
||||||
|
if [ -f "$out/lib/liblapacke.so.3" ]; then
|
||||||
|
ln -s $out/lib/liblapacke.so.3 $out/lib/liblapacke.so
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp ${lib.getDev lapack-reference}/include/lapacke{,_mangling,_config}.h $dev/include
|
||||||
|
|
||||||
|
cat <<EOF > $dev/lib/pkgconfig/lapacke.pc
|
||||||
|
Name: lapacke
|
||||||
|
Version: ${version}
|
||||||
|
Description: LAPACK C implementation
|
||||||
|
Cflags: -I$dev/include
|
||||||
|
Libs: -L$out/lib -llapacke
|
||||||
|
EOF
|
||||||
|
'' + stdenv.lib.optionalString (lapackImplementation == "mkl") ''
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
echo 'export MKL_INTERFACE_LAYER=${lib.optionalString is64bit "I"}LP64,GNU' > $out/nix-support/setup-hook
|
||||||
|
'');
|
||||||
|
}
|
@ -48,7 +48,7 @@ let
|
|||||||
coreutils_bin = if nativeTools then "" else getBin coreutils;
|
coreutils_bin = if nativeTools then "" else getBin coreutils;
|
||||||
|
|
||||||
default_cxx_stdlib_compile = if (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc) && !(targetPlatform.useLLVM or false) then
|
default_cxx_stdlib_compile = if (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc) && !(targetPlatform.useLLVM or false) then
|
||||||
"-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)"
|
"-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/${targetPlatform.config}"
|
||||||
else if targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false) && !(targetPlatform.useLLVM or false) then
|
else if targetPlatform.isDarwin && (libcxx != null) && (cc.isClang or false) && !(targetPlatform.useLLVM or false) then
|
||||||
"-isystem ${libcxx}/include/c++/v1"
|
"-isystem ${libcxx}/include/c++/v1"
|
||||||
else "";
|
else "";
|
||||||
|
37
pkgs/build-support/setup-hooks/audit-blas.sh
Normal file
37
pkgs/build-support/setup-hooks/audit-blas.sh
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Ensure that we are always linking against “libblas.so.3” and
|
||||||
|
# “liblapack.so.3”.
|
||||||
|
|
||||||
|
auditBlas() {
|
||||||
|
local dir="$prefix"
|
||||||
|
[ -e "$dir" ] || return 0
|
||||||
|
|
||||||
|
local i
|
||||||
|
while IFS= read -r -d $'\0' i; do
|
||||||
|
if ! isELF "$i"; then continue; fi
|
||||||
|
|
||||||
|
if $OBJDUMP -p "$i" | grep 'NEEDED' | awk '{ print $2; }' | grep -q '\(libmkl_rt.so\|libopenblas.so.0\)'; then
|
||||||
|
echo "$i refers to a specific implementation of BLAS or LAPACK."
|
||||||
|
echo "This prevents users from switching BLAS/LAPACK implementations."
|
||||||
|
echo "Add \`blas' or \`lapack' to buildInputs instead of \`mkl' or \`openblas'."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
(IFS=:
|
||||||
|
for dir in "$(patchelf --print-rpath "$i")"; do
|
||||||
|
if [ -f "$dir/libblas.so.3" ] || [ -f "$dir/libblas.so" ]; then
|
||||||
|
if [ "$dir" != "@blas@/lib" ]; then
|
||||||
|
echo "$dir is not allowed to contain a library named libblas.so.3"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ -f "$dir/liblapack.so.3" ] || [ -f "$dir/liblapack.so" ]; then
|
||||||
|
if [ "$dir" != "@lapack@/lib" ]; then
|
||||||
|
echo "$dir is not allowed to contain a library named liblapack.so.3"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done)
|
||||||
|
done < <(find "$dir" -type f -print0)
|
||||||
|
}
|
||||||
|
|
||||||
|
fixupOutputHooks+=(auditBlas)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user