mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-30 22:21:26 +00:00
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:
|
||||
```
|
||||
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
|
||||
haskell.compiler.ghc8101 ghc-8.10.0.20191210
|
||||
haskell.compiler.integer-simple.ghc8101 ghc-8.10.0.20191210
|
||||
haskell.compiler.ghcHEAD ghc-8.10.20191119
|
||||
haskell.compiler.integer-simple.ghcHEAD ghc-8.10.20191119
|
||||
haskell.compiler.ghc8101 ghc-8.10.1
|
||||
haskell.compiler.integer-simple.ghc8101 ghc-8.10.1
|
||||
haskell.compiler.ghcHEAD ghc-8.11.20200403
|
||||
haskell.compiler.integer-simple.ghcHEAD ghc-8.11.20200403
|
||||
haskell.compiler.ghc822Binary ghc-8.2.2-binary
|
||||
haskell.compiler.ghc844 ghc-8.4.4
|
||||
haskell.compiler.ghc863Binary ghc-8.6.3-binary
|
||||
|
@ -4225,6 +4225,12 @@
|
||||
githubId = 32152;
|
||||
name = "Luka Blaskovic";
|
||||
};
|
||||
lbpdt = {
|
||||
email = "nix@pdtpartners.com";
|
||||
github = "lbpdt";
|
||||
githubId = 45168934;
|
||||
name = "Louis Blin";
|
||||
};
|
||||
ldelelis = {
|
||||
email = "ldelelis@est.frba.utn.edu.ar";
|
||||
github = "ldelelis";
|
||||
@ -8121,6 +8127,12 @@
|
||||
githubId = 3889405;
|
||||
name = "vyp";
|
||||
};
|
||||
wamserma = {
|
||||
name = "Markus S. Wamser";
|
||||
email = "github-dev@mail2013.wamser.eu";
|
||||
github = "wamserma";
|
||||
githubId = 60148;
|
||||
};
|
||||
waynr = {
|
||||
name = "Wayne Warren";
|
||||
email = "wayne.warren.s@gmail.com";
|
||||
@ -8431,6 +8443,12 @@
|
||||
githubId = 250877;
|
||||
name = "Elmar Athmer";
|
||||
};
|
||||
zakkor = {
|
||||
email = "edward.dalbon@gmail.com";
|
||||
github = "zakkor";
|
||||
githubId = 6191421;
|
||||
name = "Edward d'Albon";
|
||||
};
|
||||
zef = {
|
||||
email = "zef@zef.me";
|
||||
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>.
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
@ -246,7 +255,6 @@ environment.systemPackages = [
|
||||
# sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test
|
||||
</programlisting>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
|
@ -238,6 +238,7 @@
|
||||
./services/backup/zfs-replication.nix
|
||||
./services/backup/znapzend.nix
|
||||
./services/cluster/hadoop/default.nix
|
||||
./services/cluster/k3s/default.nix
|
||||
./services/cluster/kubernetes/addons/dns.nix
|
||||
./services/cluster/kubernetes/addons/dashboard.nix
|
||||
./services/cluster/kubernetes/addon-manager.nix
|
||||
|
@ -321,12 +321,6 @@ in
|
||||
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
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;
|
||||
Group = data.group;
|
||||
PrivateTmp = true;
|
||||
|
@ -13,11 +13,11 @@ let
|
||||
mopidyEnv = buildEnv {
|
||||
name = "mopidy-with-extensions-${mopidy.version}";
|
||||
paths = closePropagation cfg.extensionPackages;
|
||||
pathsToLink = [ "/${python3.sitePackages}" ];
|
||||
pathsToLink = [ "/${mopidyPackages.python.sitePackages}" ];
|
||||
buildInputs = [ makeWrapper ];
|
||||
postBuild = ''
|
||||
makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \
|
||||
--prefix PYTHONPATH : $out/${python3.sitePackages}
|
||||
--prefix PYTHONPATH : $out/${mopidyPackages.python.sitePackages}
|
||||
'';
|
||||
};
|
||||
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">
|
||||
installation instructions of Synapse </link>.
|
||||
<programlisting>
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
fqdn =
|
||||
let
|
||||
@ -46,7 +47,7 @@ in {
|
||||
<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.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 DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
|
||||
TEMPLATE template0
|
||||
|
@ -5,6 +5,7 @@ with lib;
|
||||
let
|
||||
cfg = config.services.deluge;
|
||||
cfg_web = config.services.deluge.web;
|
||||
isDeluge1 = versionOlder cfg.package.version "2.0.0";
|
||||
|
||||
openFilesLimit = 4096;
|
||||
listenPortsDefault = [ 6881 6889 ];
|
||||
@ -18,11 +19,11 @@ let
|
||||
preStart = if cfg.declarative then ''
|
||||
if [ -e ${declarativeLockFile} ]; then
|
||||
# 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
|
||||
else
|
||||
# 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
|
||||
echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \
|
||||
> ${declarativeLockFile}
|
||||
@ -144,6 +145,14 @@ in {
|
||||
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 = {
|
||||
@ -170,6 +179,13 @@ in {
|
||||
|
||||
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`.
|
||||
services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ];
|
||||
|
||||
@ -189,10 +205,10 @@ in {
|
||||
after = [ "network.target" ];
|
||||
description = "Deluge BitTorrent Daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.deluge ] ++ cfg.extraPackages;
|
||||
path = [ cfg.package ] ++ cfg.extraPackages;
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.deluge}/bin/deluged \
|
||||
${cfg.package}/bin/deluged \
|
||||
--do-not-daemonize \
|
||||
--config ${configDir}
|
||||
'';
|
||||
@ -212,10 +228,11 @@ in {
|
||||
requires = [ "deluged.service" ];
|
||||
description = "Deluge BitTorrent WebUI";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.deluge ];
|
||||
path = [ cfg.package ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.deluge}/bin/deluge-web \
|
||||
${cfg.package}/bin/deluge-web \
|
||||
${optionalString (!isDeluge1) "--do-not-daemonize"} \
|
||||
--config ${configDir} \
|
||||
--port ${toString cfg.web.port}
|
||||
'';
|
||||
@ -234,7 +251,7 @@ in {
|
||||
})
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.deluge ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
users.users = mkIf (cfg.user == "deluge") {
|
||||
deluge = {
|
||||
|
@ -55,7 +55,7 @@ in
|
||||
|
||||
<screen>
|
||||
<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>
|
||||
|
||||
<warning>
|
||||
|
@ -137,6 +137,8 @@ let
|
||||
''}
|
||||
|
||||
# Copy secrets if needed.
|
||||
#
|
||||
# TODO: move out to a separate script; see #85000.
|
||||
${optionalString (!config.boot.loader.supportsInitrdSecrets)
|
||||
(concatStringsSep "\n" (mapAttrsToList (dest: source:
|
||||
let source' = if source == null then dest else source; in
|
||||
@ -579,6 +581,25 @@ in
|
||||
message = "boot.resumeDevice has to be an absolute path."
|
||||
+ " 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 =
|
||||
|
@ -146,6 +146,7 @@ in
|
||||
jellyfin = handleTest ./jellyfin.nix {};
|
||||
jenkins = handleTest ./jenkins.nix {};
|
||||
jirafeau = handleTest ./jirafeau.nix {};
|
||||
k3s = handleTest ./k3s.nix {};
|
||||
kafka = handleTest ./kafka.nix {};
|
||||
keepalived = handleTest ./keepalived.nix {};
|
||||
kerberos = handleTest ./kerberos/default.nix {};
|
||||
|
@ -5,9 +5,10 @@ import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
};
|
||||
|
||||
nodes = {
|
||||
simple = {
|
||||
simple1 = {
|
||||
services.deluge = {
|
||||
enable = true;
|
||||
package = pkgs.deluge-1_x;
|
||||
web = {
|
||||
enable = 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
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
{
|
||||
services.deluge = {
|
||||
simple2 = {
|
||||
services.deluge = {
|
||||
enable = true;
|
||||
package = pkgs.deluge-2_x;
|
||||
web = {
|
||||
enable = 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 = ''
|
||||
start_all()
|
||||
|
||||
simple.wait_for_unit("deluged")
|
||||
simple.wait_for_unit("delugeweb")
|
||||
simple.wait_for_open_port("8112")
|
||||
declarative.wait_for_unit("network.target")
|
||||
declarative.wait_until_succeeds("curl --fail http://simple:8112")
|
||||
simple1.wait_for_unit("deluged")
|
||||
simple2.wait_for_unit("deluged")
|
||||
simple1.wait_for_unit("delugeweb")
|
||||
simple2.wait_for_unit("delugeweb")
|
||||
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")
|
||||
declarative.wait_for_unit("delugeweb")
|
||||
declarative.wait_until_succeeds("curl --fail http://declarative:3142")
|
||||
declarative.succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'")
|
||||
declarative.succeed(
|
||||
"deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'"
|
||||
declarative1.wait_for_unit("deluged")
|
||||
declarative2.wait_for_unit("deluged")
|
||||
declarative1.wait_for_unit("delugeweb")
|
||||
declarative2.wait_for_unit("delugeweb")
|
||||
declarative1.wait_until_succeeds("curl --fail http://declarative1:3142")
|
||||
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
|
||||
|
||||
{ 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";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ ma27 ];
|
||||
@ -82,5 +88,5 @@ let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
||||
|
||||
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
|
||||
, gst_all_1, glib-networking, gobject-introspection
|
||||
}:
|
||||
{ newScope, python }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mopidy";
|
||||
version = "3.0.2";
|
||||
# Create a custom scope so we are consistent in which python version is used
|
||||
|
||||
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 ];
|
||||
|
||||
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 = [];
|
||||
};
|
||||
}
|
||||
in self
|
||||
|
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";
|
||||
version = "4.0.1";
|
||||
|
||||
@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
|
||||
sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mopidy python3Packages.pyspotify ];
|
||||
propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ 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, ... }:
|
||||
|
||||
{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
|
||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
fontconfig freetype glib gsettings-desktop-schemas gtk3 jdk libX11
|
||||
fontconfig freetype glib gsettings-desktop-schemas gtk jdk libX11
|
||||
libXrender libXtst makeWrapper zlib
|
||||
] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
|
||||
|
||||
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
||||
--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" \
|
||||
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
|
||||
, 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
|
||||
, buildEnv, runCommand
|
||||
, callPackage
|
||||
@ -17,11 +17,12 @@ let
|
||||
year = "2020";
|
||||
month = "03";
|
||||
timestamp = "${year}${month}050155";
|
||||
gtk = gtk3;
|
||||
in rec {
|
||||
|
||||
buildEclipse = import ./build-eclipse.nix {
|
||||
buildEclipse = callPackage ./build-eclipse.nix {
|
||||
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;
|
||||
};
|
||||
|
||||
@ -63,19 +64,14 @@ in rec {
|
||||
|
||||
### Eclipse Scala SDK
|
||||
|
||||
eclipse-scala-sdk = buildEclipse {
|
||||
name = "eclipse-scala-sdk-4.4.1";
|
||||
description = "Eclipse IDE for Scala Developers";
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl { # tested
|
||||
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";
|
||||
sha256 = "4c2d1ac68384e12a11a851cf0fc7757aea087eba69329b21d539382a65340d27";
|
||||
}
|
||||
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";
|
||||
eclipse-scala-sdk =
|
||||
buildEclipse.override { jdk = jdk8; gtk = gtk2; } {
|
||||
name = "eclipse-scala-sdk-4.7.0";
|
||||
description = "Eclipse IDE for Scala Developers";
|
||||
src =
|
||||
fetchurl {
|
||||
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 = "1n5w2a7mh9ajv6fxcas1gpgwb04pdxbr9v5dzr67gsz5bhahq4ya";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -13,6 +13,6 @@ trivialBuild rec {
|
||||
description = "Major mode for editing .pod-files";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ qyliss ];
|
||||
platform = platforms.all;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -17,6 +17,6 @@ trivialBuild {
|
||||
homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
|
||||
platforms = platforms.all;
|
||||
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";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "0q1fk5a4ymndnyxzps8960y1rl657q95i2rydbqyjl37y79wmllx";
|
||||
x86_64-darwin = "02ybgp6v1ray4a867hihp2fvc872ilqla6z52qv90dfjx69g77ib";
|
||||
x86_64-linux = "15jg39hmlnicq0zrz77yar1bmn5y6gp2670dya2qm5klhva9hd0f";
|
||||
x86_64-darwin = "1ghqhn46jpbj3is8q5zcj0biyc7gwinhiz3qdpcnf88ga2blcsz8";
|
||||
}.${system};
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
@ -21,7 +21,7 @@ in
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.44.0";
|
||||
version = "1.44.1";
|
||||
pname = "vscode";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
|
@ -11,8 +11,8 @@ let
|
||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1prv4rzr5z905s6jnmkmd97zr5kz8nn4m9bil483bnx4wqr2k10g";
|
||||
x86_64-darwin = "1p0a94i80s7fq6ars01bvr41qxiq35s0r6crfv857ma01g9ia7k3";
|
||||
x86_64-linux = "16qwhnxpwarnwvlxwvy13g687g1cnfzysq16qkykkhqig0cnalmb";
|
||||
x86_64-darwin = "1p9qkbj59bfc0kn9fzg99gqxbzwxq297qxivxcjflsapd712s4vm";
|
||||
}.${system};
|
||||
|
||||
sourceRoot = {
|
||||
@ -27,7 +27,7 @@ in
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.44.0";
|
||||
version = "1.44.1";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ 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";
|
||||
|
||||
src = fetchurl {
|
||||
@ -20,13 +20,9 @@ stdenv.mkDerivation rec {
|
||||
libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
postFixup = ''
|
||||
for prog in $out/bin/*; do
|
||||
wrapProgram "$prog" --prefix PATH : "${texlive}/bin"
|
||||
done
|
||||
'';
|
||||
qtWrapperArgs = [ ''--prefix PATH : ${texlive}/bin'' ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -17,6 +17,9 @@ mkDerivation rec {
|
||||
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 ];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
inherit patches;
|
||||
|
||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
||||
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
||||
prePatch = optionalString (conf != null) ''
|
||||
cp ${writeText "config.def.h" conf} config.def.h
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ncurses ];
|
||||
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
|
||||
llvmPackages = if channel == "dev"
|
||||
llvmPackages = if channel != "stable"
|
||||
then llvmPackages_10
|
||||
else llvmPackages_9;
|
||||
stdenv = llvmPackages.stdenv;
|
||||
@ -35,7 +35,7 @@ let
|
||||
mkChromiumDerivation = callPackage ./common.nix ({
|
||||
inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone;
|
||||
gnChromium = gn;
|
||||
} // lib.optionalAttrs (channel == "dev") {
|
||||
} // lib.optionalAttrs (channel != "stable") {
|
||||
# TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
|
||||
gnChromium = gn.overrideAttrs (oldAttrs: {
|
||||
version = "2020-03-23";
|
||||
|
@ -1,18 +1,18 @@
|
||||
# This file is autogenerated from update.sh in the same directory.
|
||||
{
|
||||
beta = {
|
||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
||||
sha256bin64 = "1y70kmfz9nv507b0zdda7zfk2ac9qh9m2gq00aphdmzd0al7skj8";
|
||||
version = "81.0.4044.92";
|
||||
sha256 = "1s16wl101yabq0l7w0q50lxkr2gn090pcaj6l5sj6g5xvi9lhgbf";
|
||||
sha256bin64 = "0k6fsqlpiwp9vds83hb3cg9xf74hqgbfdm3ijyad2rmwc5rqk0ax";
|
||||
version = "83.0.4103.14";
|
||||
};
|
||||
dev = {
|
||||
sha256 = "1rydvjmv62zj95sf0fgsyipqz2hphbxm60y8q0813wq9ym35d4yy";
|
||||
sha256bin64 = "1m6740lw7xjjp1lplwp9ii4d3l7dfa9jrv5bysm4ar5pb9kywrai";
|
||||
version = "83.0.4100.3";
|
||||
sha256 = "0djppzwzpfyyfjb1mhy5wws2379m3wpzyk2x3kw5nd0mdz35hbny";
|
||||
sha256bin64 = "1wg55qhfvd5zvigjl6496za81mh9b2c5da53zy07bk8wj91ly8pf";
|
||||
version = "84.0.4115.5";
|
||||
};
|
||||
stable = {
|
||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
||||
sha256bin64 = "1ig899cpahw1xfhdff5xj6w4k8jja5smxvrcbw6b0jcjmawdrf72";
|
||||
version = "81.0.4044.92";
|
||||
sha256 = "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17";
|
||||
sha256bin64 = "0ap7flrw3h885454fa2r7psa4sh8567ql7v7x96q11gh9gjrdvp3";
|
||||
version = "81.0.4044.113";
|
||||
};
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ stdenv.mkDerivation ({
|
||||
$(< ${stdenv.cc}/nix-support/cc-cflags) \
|
||||
${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.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"
|
||||
|
||||
echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
|
||||
|
@ -2,10 +2,8 @@
|
||||
|
||||
## various stuff that can be plugged in
|
||||
, flashplayer, hal-flash
|
||||
, MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
|
||||
, jrePlugin, adoptopenjdk-icedtea-web
|
||||
, bluejeans, djview4, adobe-reader
|
||||
, google_talk_plugin, fribid, gnome3/*.gnome-shell*/
|
||||
, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
|
||||
, gnome3/*.gnome-shell*/
|
||||
, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
|
||||
, tridactyl-native
|
||||
, fx_cast_bridge
|
||||
@ -26,7 +24,6 @@ let
|
||||
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
|
||||
, nameSuffix ? ""
|
||||
, icon ? browserName
|
||||
, extraPlugins ? []
|
||||
, extraNativeMessagingHosts ? []
|
||||
, gdkWayland ? false
|
||||
, cfg ? config.${browserName} or {}
|
||||
@ -38,32 +35,25 @@ let
|
||||
enableAdobeFlash = cfg.enableAdobeFlash or false;
|
||||
ffmpegSupport = browser.ffmpegSupport 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 =
|
||||
assert !(jre && icedtea);
|
||||
if builtins.hasAttr "enableVLC" cfg
|
||||
then throw "The option \"${browserName}.enableVLC\" has been removed since Firefox no longer supports npapi plugins"
|
||||
else
|
||||
([ ]
|
||||
++ lib.optional enableAdobeFlash flashplayer
|
||||
++ lib.optional (cfg.enableDjvu or false) (djview4)
|
||||
++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
|
||||
++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
|
||||
++ lib.optional icedtea adoptopenjdk-icedtea-web
|
||||
++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
|
||||
++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
|
||||
++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome-shell
|
||||
++ lib.optional (cfg.enableBluejeans or false) bluejeans
|
||||
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
|
||||
++ extraPlugins
|
||||
);
|
||||
let
|
||||
removed = lib.filter (a: builtins.hasAttr a cfg) [
|
||||
"enableVLC"
|
||||
"enableDjvu"
|
||||
"enableMPlayer"
|
||||
"jre"
|
||||
"icedtea"
|
||||
"enableGoogleTalkPlugin"
|
||||
"enableFriBIDPlugin"
|
||||
"enableGnomeExtensions"
|
||||
"enableBluejeans"
|
||||
"enableAdobeReader"
|
||||
];
|
||||
in if removed != []
|
||||
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)."
|
||||
else lib.optional enableAdobeFlash flashplayer;
|
||||
|
||||
nativeMessagingHosts =
|
||||
([ ]
|
||||
++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass)
|
||||
|
@ -108,7 +108,7 @@ in stdenv.mkDerivation {
|
||||
--replace /opt/google/$appname/google-$appname $exe
|
||||
substituteInPlace $out/share/menu/google-$appname.menu \
|
||||
--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
|
||||
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 {
|
||||
pname = "kubernetes";
|
||||
version = "1.18.0";
|
||||
version = "1.18.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes";
|
||||
repo = "kubernetes";
|
||||
rev = "v${version}";
|
||||
sha256 = "1jp54aahwpx9w73byfyadgffrig9fy6x8xzw27xv0anj2v9bm1fw";
|
||||
sha256 = "1z109h0jqqfxvgyhmxsiggf6fb9kdrwvmv9wdi1n58n4yk65hvl6";
|
||||
};
|
||||
|
||||
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 {
|
||||
pname = "jitsi-meet-electron";
|
||||
version = "2.0.0";
|
||||
version = "2.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
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";
|
||||
};
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pidgin-carbons";
|
||||
version = "0.1.3";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gkdr";
|
||||
repo = "carbons";
|
||||
rev = "v${version}";
|
||||
sha256 = "05hcqvsirb7gnpfcszsrgal5q7dajl2wdi2dy7c41zgl377syavw";
|
||||
sha256 = "1aq9bwgpmbwrigq6ywf0pjkngqcm0qxncygaj1fi57npjhcjs6ln";
|
||||
};
|
||||
|
||||
makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ];
|
||||
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||
description = "XEP-0280: Message Carbons plugin for libpurple";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ jb55 ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ let
|
||||
else "");
|
||||
in stdenv.mkDerivation rec {
|
||||
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.
|
||||
# When releases "expire" the application becomes unusable until an update is
|
||||
# applied. The expiration date for the current release can be extracted with:
|
||||
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
sha256 = "0s403243cm8x3daj4p7cpp5z0hwmsnk21cq42zcfls2q5d30p6wz";
|
||||
sha256 = "0p9ak0cmk9b77dzbw4y2xmxqg211y62n7ckggwf7bcg48wzj0jy7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,19 +1,29 @@
|
||||
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
|
||||
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
||||
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20200320";
|
||||
version = "20200417";
|
||||
pname = "neomutt";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "neomutt";
|
||||
repo = "neomutt";
|
||||
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 = [
|
||||
cyrus_sasl gss gpgme kerberos libidn ncurses
|
||||
notmuch openssl perl lmdb
|
||||
@ -75,7 +85,20 @@ stdenv.mkDerivation rec {
|
||||
|
||||
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";
|
||||
postCheck = "unset NEOMUTT_TEST_DIR";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A small but very powerful text-based mail client";
|
||||
|
@ -191,7 +191,7 @@ stdenv.mkDerivation rec {
|
||||
lib.getVersion stdenv.cc.cc
|
||||
} -isystem ${stdenv.cc.cc}/include/c++/${
|
||||
lib.getVersion stdenv.cc.cc
|
||||
}/$(cc -dumpmachine)"
|
||||
}/${stdenv.hostPlatform.config}"
|
||||
} \
|
||||
$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 = [
|
||||
# Poppler patches from
|
||||
# https://github.com/scribusproject/scribus/commits/master/scribus/plugins/import/pdf
|
||||
|
||||
# fix build with Poppler 0.82
|
||||
(
|
||||
fetchpatch {
|
||||
url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
|
||||
sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
|
||||
}
|
||||
)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
|
||||
sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
|
||||
})
|
||||
# fix build with Poppler 0.83
|
||||
(
|
||||
fetchpatch {
|
||||
url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
|
||||
sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
|
||||
}
|
||||
)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
|
||||
sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
|
||||
})
|
||||
# fix build with Poppler 0.84
|
||||
# TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
|
||||
(
|
||||
fetchpatch {
|
||||
url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
|
||||
sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
|
||||
}
|
||||
)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
|
||||
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;
|
||||
|
@ -12,7 +12,7 @@
|
||||
, pythonPackages
|
||||
, uhd
|
||||
, log4cpp
|
||||
, openblas
|
||||
, blas, lapack
|
||||
, matio
|
||||
, pugixml
|
||||
, protobuf
|
||||
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||
# nothing to be gained by leaving it out.
|
||||
uhd
|
||||
log4cpp
|
||||
openblas
|
||||
blas lapack
|
||||
matio
|
||||
pugixml
|
||||
protobuf
|
||||
@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
|
||||
# armadillo is built using both, so skip checking for them.
|
||||
"-DBLAS=YES"
|
||||
"-DLAPACK=YES"
|
||||
"-DBLAS_LIBRARIES=-lopenblas"
|
||||
"-DLAPACK_LIBRARIES=-lopenblas"
|
||||
"-DBLAS_LIBRARIES=-lblas"
|
||||
"-DLAPACK_LIBRARIES=-llapack"
|
||||
|
||||
# Similarly, it doesn't actually use gfortran despite checking for
|
||||
# its presence.
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, zlib, openblas, darwin}:
|
||||
{ stdenv, fetchFromGitHub, zlib, blas, lapack, darwin}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "plink-ng";
|
||||
@ -11,14 +11,20 @@ stdenv.mkDerivation rec {
|
||||
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
|
||||
${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 = ''
|
||||
mkdir -p $out/bin
|
||||
cp plink $out/bin
|
||||
@ -31,4 +37,3 @@ stdenv.mkDerivation rec {
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,9 @@
|
||||
{ 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 {
|
||||
pname = "octopus";
|
||||
version = "9.2";
|
||||
@ -14,12 +16,12 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl procps autoreconfHook ];
|
||||
buildInputs = [ libyaml gfortran libxc openblas gsl fftw netcdf arpack ];
|
||||
buildInputs = [ libyaml gfortran libxc blas lapack gsl fftw netcdf arpack ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-yaml-prefix=${libyaml}"
|
||||
"--with-blas=-lopenblas"
|
||||
"--with-lapack=-lopenblas"
|
||||
"--with-blas=-lblas"
|
||||
"--with-lapack=-llapack"
|
||||
"--with-fftw-prefix=${fftw.dev}"
|
||||
"--with-gsl-prefix=${gsl}"
|
||||
"--with-libxc-prefix=${libxc}"
|
||||
|
@ -1,9 +1,11 @@
|
||||
{ stdenv, fetchFromGitLab, cmake, gfortran, perl
|
||||
, openblas, hdf5-cpp, python3, texlive
|
||||
, openblas, blas, lapack, hdf5-cpp, python3, texlive
|
||||
, armadillo, openmpi, globalarrays, openssh
|
||||
, makeWrapper, fetchpatch
|
||||
} :
|
||||
|
||||
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||
|
||||
let
|
||||
version = "19.11";
|
||||
gitLabRev = "v${version}";
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl
|
||||
, gfortran, fftw, openblas
|
||||
, gfortran, fftw, blas, lapack
|
||||
, mpi ? null
|
||||
}:
|
||||
|
||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
patchShebangs configure
|
||||
'';
|
||||
|
||||
buildInputs = [ fftw openblas gfortran ]
|
||||
buildInputs = [ fftw blas lapack gfortran ]
|
||||
++ (stdenv.lib.optionals (mpi != null) [ mpi ]);
|
||||
|
||||
configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl
|
||||
, gfortran, openblas
|
||||
, gfortran, blas, lapack
|
||||
, mpi ? null, scalapack
|
||||
}:
|
||||
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
||||
inherit mpi;
|
||||
};
|
||||
|
||||
buildInputs = [ openblas gfortran ]
|
||||
buildInputs = [ blas lapack gfortran ]
|
||||
++ (stdenv.lib.optionals (mpi != null) [ mpi scalapack ]);
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -33,11 +33,11 @@ stdenv.mkDerivation {
|
||||
makeFlagsArray=(
|
||||
CC="mpicc" FC="mpifort"
|
||||
FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="."
|
||||
COMP_LIBS="" LIBS="-lopenblas -lscalapack"
|
||||
COMP_LIBS="" LIBS="-lblas -llapack -lscalapack"
|
||||
);
|
||||
'' else ''
|
||||
makeFlagsArray=(
|
||||
COMP_LIBS="" LIBS="-lopenblas"
|
||||
COMP_LIBS="" LIBS="-lblas -llapack"
|
||||
);
|
||||
'';
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
# data, compression
|
||||
, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
|
||||
# maths
|
||||
, openblasCompat, eigen, nlopt, lp_solve, colpack, liblapack, glpk
|
||||
, blas, lapack, eigen, nlopt, lp_solve, colpack, glpk
|
||||
# libraries
|
||||
, libarchive, libxml2
|
||||
# extra support
|
||||
@ -13,6 +13,8 @@
|
||||
assert pythonSupport -> pythonPackages != null;
|
||||
assert opencvSupport -> opencv != null;
|
||||
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
let
|
||||
pname = "shogun";
|
||||
version = "6.1.4";
|
||||
@ -64,8 +66,8 @@ stdenv.mkDerivation rec {
|
||||
CCACHE_DIR=".ccache";
|
||||
|
||||
buildInputs = with lib; [
|
||||
openblasCompat bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
|
||||
protobuf nlopt snappy swig (libarchive.dev) libxml2 liblapack glpk
|
||||
blas lapack bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
|
||||
protobuf nlopt snappy swig (libarchive.dev) libxml2 lapack glpk
|
||||
]
|
||||
++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
|
||||
++ optional (opencvSupport) opencv;
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
||||
, 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
|
||||
, withRecommendedPackages ? true
|
||||
, enableStrictBarrier ? false
|
||||
@ -9,6 +9,8 @@
|
||||
, static ? false
|
||||
}:
|
||||
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "R-3.6.3";
|
||||
|
||||
@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
|
||||
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 ];
|
||||
|
||||
patches = [
|
||||
@ -43,8 +45,8 @@ stdenv.mkDerivation rec {
|
||||
configureFlagsArray=(
|
||||
--disable-lto
|
||||
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
|
||||
--with-blas="-L${openblas}/lib -lopenblas"
|
||||
--with-lapack="-L${openblas}/lib -lopenblas"
|
||||
--with-blas="-L${blas}/lib -lblas"
|
||||
--with-lapack="-L${lapack}/lib -llapack"
|
||||
--with-readline
|
||||
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
|
||||
--with-cairo
|
||||
|
@ -9,7 +9,7 @@
|
||||
, opencv3
|
||||
, protobuf
|
||||
, doxygen
|
||||
, openblas
|
||||
, blas
|
||||
, Accelerate, CoreGraphics, CoreVideo
|
||||
, lmdbSupport ? true, lmdb
|
||||
, leveldbSupport ? true, leveldb, snappy
|
||||
@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
|
||||
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
|
||||
++ ["-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 cudnnSupport cudnn
|
||||
++ lib.optional lmdbSupport lmdb
|
||||
|
@ -15,7 +15,7 @@ index 9cab2fc..6e977b8 100755
|
||||
OCCXMAIN = $(SCCXMAIN:.c=.o)
|
||||
|
||||
-DIR=../../../SPOOLES.2.2
|
||||
+LIBS = -lpthread -lm -lc -lspooles -larpack -lopenblas
|
||||
+LIBS = -lpthread -lm -lc -lspooles -larpack -lblas -llapack
|
||||
|
||||
-LIBS = \
|
||||
- $(DIR)/spooles.a \
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, gfortran, arpack, spooles, openblas }:
|
||||
{ stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "calculix";
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ gfortran ];
|
||||
|
||||
buildInputs = [ arpack spooles openblas ];
|
||||
buildInputs = [ arpack spooles blas lapack ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";
|
||||
|
||||
|
@ -1,11 +1,12 @@
|
||||
{ lib, stdenv, fetchgit, fetchFromGitHub, cmake
|
||||
, openblas, opencv3, libzip, boost, protobuf, openmpi
|
||||
, openblas, blas, lapack, opencv3, libzip, boost, protobuf, openmpi
|
||||
, onebitSGDSupport ? false
|
||||
, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11
|
||||
, cudnnSupport ? cudaSupport, cudnn
|
||||
}:
|
||||
|
||||
assert cudnnSupport -> cudaSupport;
|
||||
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||
|
||||
let
|
||||
# Old specific version required for CNTK.
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, blas, gfortran, liblapack }:
|
||||
{ lib, stdenv, fetchurl, blas, gfortran, lapack }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "csdp-6.1.1";
|
||||
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05";
|
||||
};
|
||||
|
||||
buildInputs = [ blas gfortran.cc.lib liblapack ];
|
||||
buildInputs = [ blas gfortran.cc.lib lapack ];
|
||||
|
||||
postPatch = ''
|
||||
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 {
|
||||
name = "getdp-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake gfortran ];
|
||||
buildInputs = [ openblas openmpi petsc python3 ];
|
||||
buildInputs = [ blas lapack openmpi petsc python3 ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A General Environment for the Treatment of Discrete Problems";
|
||||
|
@ -1,10 +1,11 @@
|
||||
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, liblapack
|
||||
, gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty
|
||||
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, lapack, blas
|
||||
, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
|
||||
, readline, gettext, libpng, libao, gfortran, perl
|
||||
, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
|
||||
}:
|
||||
|
||||
assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
|
||||
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||
# gfortran.cc default output contains static libraries compiled without -fPIC
|
||||
# we want libgfortran.so.3 instead
|
||||
(stdenv.lib.getLib gfortran.cc)
|
||||
liblapack
|
||||
lapack blas
|
||||
] ++ stdenv.lib.optionals enableGUI [
|
||||
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 }:
|
||||
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gmsh";
|
||||
version = "4.5.6";
|
||||
@ -10,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
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
|
||||
xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
|
||||
opencascade-occt
|
||||
|
@ -1,4 +1,4 @@
|
||||
{stdenv, fetchurl, gfortran, openblas}:
|
||||
{stdenv, fetchurl, gfortran, blas, lapack}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "JAGS-4.3.0";
|
||||
@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
|
||||
url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
|
||||
sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
|
||||
};
|
||||
buildInputs = [gfortran openblas];
|
||||
configureFlags = [ "--with-blas=-lopenblas" "--with-lapack=-lopenblas" ];
|
||||
buildInputs = [gfortran blas lapack];
|
||||
configureFlags = [ "--with-blas=-lblas" "--with-lapack=-llapack" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Just Another Gibbs Sampler";
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ config, stdenv, lib, fetchurl, bash, cmake
|
||||
, opencv3, gtest, openblas, liblapack, perl
|
||||
, opencv3, gtest, blas, perl
|
||||
, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
|
||||
, cudnnSupport ? cudaSupport, cudnn
|
||||
}:
|
||||
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
|
||||
buildInputs = [ opencv3 gtest openblas liblapack ]
|
||||
buildInputs = [ opencv3 gtest blas ]
|
||||
++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ]
|
||||
++ lib.optional cudnnSupport cudnn;
|
||||
|
||||
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \
|
||||
--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
|
||||
rm -rf 3rdparty/openmp
|
||||
'';
|
||||
|
@ -41,7 +41,8 @@
|
||||
, lcalc
|
||||
, rubiks
|
||||
, flintqs
|
||||
, openblasCompat
|
||||
, blas
|
||||
, lapack
|
||||
, flint
|
||||
, gmp
|
||||
, mpfr
|
||||
@ -53,6 +54,8 @@
|
||||
, less
|
||||
}:
|
||||
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
# 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
|
||||
# dependencies.
|
||||
@ -114,7 +117,7 @@ writeTextFile rec {
|
||||
# testsuite instead, but since all the packages are also runtime
|
||||
# dependencies it doesn't really hurt to include them here.
|
||||
singular
|
||||
openblasCompat
|
||||
blas lapack
|
||||
fflas-ffpack givaro
|
||||
gd
|
||||
libpng zlib
|
||||
|
@ -2,7 +2,8 @@
|
||||
, lib
|
||||
, makeWrapper
|
||||
, sage-env
|
||||
, openblasCompat
|
||||
, blas
|
||||
, lapack
|
||||
, pkg-config
|
||||
, three
|
||||
, singular
|
||||
@ -21,6 +22,9 @@
|
||||
, pythonEnv
|
||||
}:
|
||||
|
||||
# lots of segfaults with (64 bit) blas
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
# Wrapper that combined `sagelib` with `sage-env` to produce an actually
|
||||
# executable sage. No tests are run yet and no documentation is built.
|
||||
|
||||
@ -29,7 +33,7 @@ let
|
||||
pythonEnv # for patchShebangs
|
||||
makeWrapper
|
||||
pkg-config
|
||||
openblasCompat # lots of segfaults with regular (64 bit) openblas
|
||||
blas lapack
|
||||
singular
|
||||
three
|
||||
pynac
|
||||
|
@ -3,7 +3,8 @@
|
||||
, perl
|
||||
, buildPythonPackage
|
||||
, arb
|
||||
, openblasCompat
|
||||
, blas
|
||||
, lapack
|
||||
, brial
|
||||
, cliquer
|
||||
, cypari2
|
||||
@ -52,6 +53,8 @@
|
||||
, pplpy
|
||||
}:
|
||||
|
||||
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||
|
||||
# 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
|
||||
# find many of its dependencies without `sage-env`, will not be tested without
|
||||
@ -103,7 +106,8 @@ buildPythonPackage rec {
|
||||
m4rie
|
||||
mpfi
|
||||
ntl
|
||||
openblasCompat
|
||||
blas
|
||||
lapack
|
||||
pari
|
||||
planarity
|
||||
ppl
|
||||
|
@ -1,5 +1,5 @@
|
||||
{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,
|
||||
doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
|
||||
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
||||
src = fetchgit (import ./src-main.nix);
|
||||
|
||||
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
|
||||
doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
|
||||
git gtk2 makeWrapper];
|
||||
@ -40,7 +40,7 @@ stdenv.mkDerivation {
|
||||
for e in $(cd $out/bin && ls); do
|
||||
wrapProgram $out/bin/$e \
|
||||
--prefix PATH : "${gnumake}/bin" \
|
||||
--prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ liblapack blas ]}"
|
||||
--prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ lapack blas ]}"
|
||||
done
|
||||
'';
|
||||
|
||||
@ -53,5 +53,3 @@ stdenv.mkDerivation {
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub
|
||||
, libpng, gzip, fftw, openblas
|
||||
, libpng, gzip, fftw, blas, lapack
|
||||
, mpi ? null
|
||||
}:
|
||||
let packages = [
|
||||
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
inherit packages;
|
||||
};
|
||||
|
||||
buildInputs = [ fftw libpng openblas gzip ]
|
||||
buildInputs = [ fftw libpng blas lapack gzip ]
|
||||
++ (stdenv.lib.optionals withMPI [ mpi ]);
|
||||
|
||||
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 {
|
||||
pname = "xfitter";
|
||||
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ gfortran which ];
|
||||
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
|
||||
++ stdenv.lib.optional (!stdenv.isDarwin) libyaml
|
||||
;
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "git-repo";
|
||||
version = "2.5";
|
||||
version = "2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "android";
|
||||
repo = "tools_repo";
|
||||
rev = "v${version}";
|
||||
sha256 = "0y37s0v37gygv0dm8y9sjc4jr7ml8irix5rwmbk6smzwa74n0x8a";
|
||||
sha256 = "16c30nwlgm0xcma9q34ygjsk6m33izmfgn7a0mzhfzyakymdi45g";
|
||||
};
|
||||
|
||||
patches = [ ./import-ssl-module.patch ];
|
||||
|
@ -4,14 +4,14 @@
|
||||
, srht, redis, celery, pyyaml, markdown }:
|
||||
|
||||
let
|
||||
version = "0.52.5";
|
||||
version = "0.56.13";
|
||||
|
||||
buildWorker = src: buildGoModule {
|
||||
inherit src version;
|
||||
pname = "builds-sr-ht-worker";
|
||||
goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker";
|
||||
|
||||
modSha256 = "1dwp87zsbh4a48q0pacssy329kchrd4sa47c5a1k8smbqn078424";
|
||||
modSha256 = "10is7siscids9qz6jh9m1i17749dafqqkg4b3sslmxaxyn16yj97";
|
||||
};
|
||||
in buildPythonPackage rec {
|
||||
inherit version;
|
||||
@ -20,7 +20,7 @@ in buildPythonPackage rec {
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "142aycnary6yfi0y1i3zgpyndi0756fingavcz2dnqi36pkajaaj";
|
||||
sha256 = "uFoS9xaVXsZZf4neZQcUyTqKo2RshOQeifD27kaKSVE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,18 +1,18 @@
|
||||
{ stdenv, fetchgit, fetchNodeModules, buildPythonPackage
|
||||
, pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests
|
||||
, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, celery, alembic
|
||||
, importlib-metadata
|
||||
, pgpy, flask, bleach, misaka, humanize, html5lib, markdown, psycopg2, pygments
|
||||
, requests, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, prometheus_client
|
||||
, celery, alembic, importlib-metadata
|
||||
, sassc, nodejs
|
||||
, writeText }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "srht";
|
||||
version = "0.57.2";
|
||||
version = "0.59.13";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "11rfpb0wf1xzrhcnpahaghmi5626snzph0vsbxlmmqx75wf0p6mf";
|
||||
sha256 = "5jc6MtG/cBry05Sq51UAFzSBvKKkdNTA67UIDvJt9uU=";
|
||||
};
|
||||
|
||||
node_modules = fetchNodeModules {
|
||||
@ -36,6 +36,7 @@ buildPythonPackage rec {
|
||||
bleach
|
||||
misaka
|
||||
humanize
|
||||
html5lib
|
||||
markdown
|
||||
psycopg2
|
||||
pygments
|
||||
@ -44,6 +45,7 @@ buildPythonPackage rec {
|
||||
cryptography
|
||||
beautifulsoup4
|
||||
sqlalchemy-utils
|
||||
prometheus_client
|
||||
|
||||
# Unofficial runtime dependencies?
|
||||
celery
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dispatchsrht";
|
||||
version = "0.13.3";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "08asayfwpzafscpli5grx1p0y1ryz7pqkznf5bd9j8ir2iyhbc10";
|
||||
sha256 = "eJ+oHs9m74Q8V6fUBLOA1ksUiwdaR1/Bxlf3jcexdkA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ stdenv, fetchgit, buildPythonPackage
|
||||
, python
|
||||
, buildGoModule
|
||||
, srht, pygit2, scmsrht }:
|
||||
, srht, minio, pygit2, scmsrht }:
|
||||
|
||||
let
|
||||
version = "0.43.3";
|
||||
version = "0.50.3";
|
||||
|
||||
buildShell = src: buildGoModule {
|
||||
inherit src version;
|
||||
@ -44,7 +44,7 @@ in buildPythonPackage rec {
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/git.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "1f9wfyri85bq4zi9xkbfcfb69q4abh0hz7p3lghj460hh9zxc57w";
|
||||
sha256 = "dmcTee3hp6ZkwwunG4ouEVmCxQ1a9LfQ7oWpHxnKumc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -55,6 +55,7 @@ in buildPythonPackage rec {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
srht
|
||||
minio
|
||||
pygit2
|
||||
scmsrht
|
||||
];
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hgsrht";
|
||||
version = "0.21.1";
|
||||
version = "0.26.0";
|
||||
|
||||
src = fetchhg {
|
||||
url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "19r8zcy4xf9imqifqw3b7ylxd46i025ncns69kn5xp11damilz66";
|
||||
sha256 = "kX0KZSEzYQ/hxL2vKh+mpaRuG16qbBKN2Xwp+e9pTxs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "listssrht";
|
||||
version = "0.40.3";
|
||||
version = "0.41.8";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "1s736i5wm04pqa5k7455bdjdi7vjgvq32q1v6mdsp1w7jhgy1ags";
|
||||
sha256 = "Gmt6ttupyhZhpyH/IASEt8SZGrlQmEEtV5bE11yIiXQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mansrht";
|
||||
version = "0.14.1";
|
||||
version = "0.14.7";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/man.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "13yar0sa24jyiq0l4p4bgq6p5crj148f26sxwyi37g76jqba4rfi";
|
||||
sha256 = "CKXWVXr2P1D6Nz9/S5rOkuOi9piy66RreQv2RQ0KSfs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ stdenv, fetchgit, buildPythonPackage
|
||||
, python
|
||||
, pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache
|
||||
, sshpubkeys, weasyprint, prometheus_client }:
|
||||
, sshpubkeys, weasyprint }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "metasrht";
|
||||
version = "0.41.10";
|
||||
version = "0.42.13";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "1srzrajgwq85kjryxykj708m2c98r6a84x4k4a5grwznqw3mwm6p";
|
||||
sha256 = "p7WgnfOsX09YxJJclHwdIky/jYkTOxibbYmXwcmE2S4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = srht.nativeBuildInputs;
|
||||
@ -27,7 +27,6 @@ buildPythonPackage rec {
|
||||
pystache
|
||||
sshpubkeys
|
||||
weasyprint
|
||||
prometheus_client
|
||||
];
|
||||
|
||||
patches = [
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pastesrht";
|
||||
version = "0.9.2";
|
||||
version = "0.10.3";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "0hiv607a7446dba524kblmpswlcz0z4i1jr49ng7g90nhpsk8dy4";
|
||||
sha256 = "i1M4L5NG152zkIEFj2vDHa9lr5aE1ioToDVPpkIqemk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -4,12 +4,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "scmsrht";
|
||||
version = "0.18.1";
|
||||
version = "0.19.11";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "1f0h8vbbqx34v1rgzqjkgbf0z7jhnp8hdlzmrxwhs74kj6zjb134";
|
||||
sha256 = "a0JIZcO/3op409t+jq4/fImuppuGqfGxBPgBh67DGHM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = srht.nativeBuildInputs;
|
||||
|
@ -5,12 +5,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "todosrht";
|
||||
version = "0.55.3";
|
||||
version = "0.57.14";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.sr.ht/~sircmpwn/todo.sr.ht";
|
||||
rev = version;
|
||||
sha256 = "1j82yxdnag0q6rp0rpiq3ccn5maa1k58j2f1ilcsxf1gr13pycf5";
|
||||
sha256 = "nlTf7KV6vjqqVEXZ6OOZ5dAj1iHTDPYj4DnAD2hGp5c=";
|
||||
};
|
||||
|
||||
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";
|
||||
version = "18.08";
|
||||
version = "2019-06-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cmdrkotori";
|
||||
src = fetchFromGitLab {
|
||||
owner = "mpc-qt";
|
||||
repo = "mpc-qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "1rxlkg3vsrapazdlb1i6c5a1vvf2114bsqwzcm3n2wc5c93yqsna";
|
||||
rev = "2abe6e7fc643068d50522468fe75d614861555ad";
|
||||
sha256 = "1cis8dl9pm91mpnp696zvwsfp96gkwr8jgs45anbwd7ldw78w4x5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig qmake qttools ];
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Media Player Classic Qute Theater";
|
||||
homepage = "https://github.com/cmdrkotori/mpc-qt";
|
||||
homepage = "https://gitlab.com/mpc-qt/mpc-qt";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
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;
|
||||
|
||||
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
|
||||
"-isystem ${libcxx}/include/c++/v1"
|
||||
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…
Reference in New Issue
Block a user