Merge remote-tracking branch 'upstream/master' into staging
This commit is contained in:
commit
33c2a76c5e
|
@ -101,10 +101,10 @@ to compile your Haskell packages with any GHC version you please. The following
|
||||||
command displays the complete list of available compilers:
|
command displays the complete list of available compilers:
|
||||||
```
|
```
|
||||||
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
|
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
|
||||||
haskell.compiler.ghc8101 ghc-8.10.0.20191210
|
haskell.compiler.ghc8101 ghc-8.10.1
|
||||||
haskell.compiler.integer-simple.ghc8101 ghc-8.10.0.20191210
|
haskell.compiler.integer-simple.ghc8101 ghc-8.10.1
|
||||||
haskell.compiler.ghcHEAD ghc-8.10.20191119
|
haskell.compiler.ghcHEAD ghc-8.11.20200403
|
||||||
haskell.compiler.integer-simple.ghcHEAD ghc-8.10.20191119
|
haskell.compiler.integer-simple.ghcHEAD ghc-8.11.20200403
|
||||||
haskell.compiler.ghc822Binary ghc-8.2.2-binary
|
haskell.compiler.ghc822Binary ghc-8.2.2-binary
|
||||||
haskell.compiler.ghc844 ghc-8.4.4
|
haskell.compiler.ghc844 ghc-8.4.4
|
||||||
haskell.compiler.ghc863Binary ghc-8.6.3-binary
|
haskell.compiler.ghc863Binary ghc-8.6.3-binary
|
||||||
|
|
|
@ -4225,6 +4225,12 @@
|
||||||
githubId = 32152;
|
githubId = 32152;
|
||||||
name = "Luka Blaskovic";
|
name = "Luka Blaskovic";
|
||||||
};
|
};
|
||||||
|
lbpdt = {
|
||||||
|
email = "nix@pdtpartners.com";
|
||||||
|
github = "lbpdt";
|
||||||
|
githubId = 45168934;
|
||||||
|
name = "Louis Blin";
|
||||||
|
};
|
||||||
ldelelis = {
|
ldelelis = {
|
||||||
email = "ldelelis@est.frba.utn.edu.ar";
|
email = "ldelelis@est.frba.utn.edu.ar";
|
||||||
github = "ldelelis";
|
github = "ldelelis";
|
||||||
|
@ -8431,6 +8437,12 @@
|
||||||
githubId = 250877;
|
githubId = 250877;
|
||||||
name = "Elmar Athmer";
|
name = "Elmar Athmer";
|
||||||
};
|
};
|
||||||
|
zakkor = {
|
||||||
|
email = "edward.dalbon@gmail.com";
|
||||||
|
github = "zakkor";
|
||||||
|
githubId = 6191421;
|
||||||
|
name = "Edward d'Albon";
|
||||||
|
};
|
||||||
zef = {
|
zef = {
|
||||||
email = "zef@zef.me";
|
email = "zef@zef.me";
|
||||||
name = "Zef Hemel";
|
name = "Zef Hemel";
|
||||||
|
|
|
@ -238,6 +238,7 @@
|
||||||
./services/backup/zfs-replication.nix
|
./services/backup/zfs-replication.nix
|
||||||
./services/backup/znapzend.nix
|
./services/backup/znapzend.nix
|
||||||
./services/cluster/hadoop/default.nix
|
./services/cluster/hadoop/default.nix
|
||||||
|
./services/cluster/k3s/default.nix
|
||||||
./services/cluster/kubernetes/addons/dns.nix
|
./services/cluster/kubernetes/addons/dns.nix
|
||||||
./services/cluster/kubernetes/addons/dashboard.nix
|
./services/cluster/kubernetes/addons/dashboard.nix
|
||||||
./services/cluster/kubernetes/addon-manager.nix
|
./services/cluster/kubernetes/addon-manager.nix
|
||||||
|
|
|
@ -321,12 +321,6 @@ in
|
||||||
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
|
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
# With RemainAfterExit the service is considered active even
|
|
||||||
# after the main process having exited, which means when it
|
|
||||||
# gets changed, the activation phase restarts it, meaning
|
|
||||||
# the permissions of the StateDirectory get adjusted
|
|
||||||
# according to the specified group
|
|
||||||
RemainAfterExit = true;
|
|
||||||
User = data.user;
|
User = data.user;
|
||||||
Group = data.group;
|
Group = data.group;
|
||||||
PrivateTmp = true;
|
PrivateTmp = true;
|
||||||
|
|
|
@ -13,11 +13,11 @@ let
|
||||||
mopidyEnv = buildEnv {
|
mopidyEnv = buildEnv {
|
||||||
name = "mopidy-with-extensions-${mopidy.version}";
|
name = "mopidy-with-extensions-${mopidy.version}";
|
||||||
paths = closePropagation cfg.extensionPackages;
|
paths = closePropagation cfg.extensionPackages;
|
||||||
pathsToLink = [ "/${python3.sitePackages}" ];
|
pathsToLink = [ "/${mopidyPackages.python.sitePackages}" ];
|
||||||
buildInputs = [ makeWrapper ];
|
buildInputs = [ makeWrapper ];
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \
|
makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \
|
||||||
--prefix PYTHONPATH : $out/${python3.sitePackages}
|
--prefix PYTHONPATH : $out/${mopidyPackages.python.sitePackages}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|
101
nixos/modules/services/cluster/k3s/default.nix
Normal file
101
nixos/modules/services/cluster/k3s/default.nix
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.k3s;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# interface
|
||||||
|
options.services.k3s = {
|
||||||
|
enable = mkEnableOption "k3s";
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.k3s;
|
||||||
|
defaultText = "pkgs.k3s";
|
||||||
|
example = literalExample "pkgs.k3s";
|
||||||
|
description = "Package that should be used for k3s";
|
||||||
|
};
|
||||||
|
|
||||||
|
role = mkOption {
|
||||||
|
description = ''
|
||||||
|
Whether k3s should run as a server or agent.
|
||||||
|
Note that the server, by default, also runs as an agent.
|
||||||
|
'';
|
||||||
|
default = "server";
|
||||||
|
type = types.enum [ "server" "agent" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
serverAddr = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The k3s server to connect to. This option only makes sense for an agent.";
|
||||||
|
example = "https://10.0.0.10:6443";
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
token = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The k3s token to use when connecting to the server. This option only makes sense for an agent.";
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
docker = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Use docker to run containers rather than the built-in containerd.";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraFlags = mkOption {
|
||||||
|
description = "Extra flags to pass to the k3s command.";
|
||||||
|
default = "";
|
||||||
|
example = "--no-deploy traefik --cluster-cidr 10.24.0.0/16";
|
||||||
|
};
|
||||||
|
|
||||||
|
disableAgent = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Only run the server. This option only makes sense for a server.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# implementation
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.role == "agent" -> cfg.serverAddr != "";
|
||||||
|
message = "serverAddr should be set if role is 'agent'";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.role == "agent" -> cfg.token != "";
|
||||||
|
message = "token should be set if role is 'agent'";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation.docker = mkIf cfg.docker {
|
||||||
|
enable = mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.k3s = {
|
||||||
|
description = "k3s service";
|
||||||
|
after = mkIf cfg.docker [ "docker.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
# Taken from https://github.com/rancher/k3s/blob/v1.17.4+k3s1/contrib/ansible/roles/k3s/node/templates/k3s.service.j2
|
||||||
|
Type = "notify";
|
||||||
|
KillMode = "process";
|
||||||
|
Delegate = "yes";
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = "5s";
|
||||||
|
ExecStart = concatStringsSep " \\\n " (
|
||||||
|
[
|
||||||
|
"${cfg.package}/bin/k3s ${cfg.role}"
|
||||||
|
] ++ (optional cfg.docker "--docker")
|
||||||
|
++ (optional cfg.disableAgent "--disable-agent")
|
||||||
|
++ (optional (cfg.role == "agent") "--server ${cfg.serverAddr} --token ${cfg.token}")
|
||||||
|
++ [ cfg.extraFlags ]
|
||||||
|
);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -33,6 +33,7 @@
|
||||||
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
|
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
|
||||||
installation instructions of Synapse </link>.
|
installation instructions of Synapse </link>.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
fqdn =
|
fqdn =
|
||||||
let
|
let
|
||||||
|
@ -46,7 +47,7 @@ in {
|
||||||
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
|
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
|
||||||
|
|
||||||
<link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true;
|
<link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true;
|
||||||
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = ''
|
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = pkgs.writeText "synapse-init.sql" ''
|
||||||
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
|
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
|
||||||
CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
|
CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
|
||||||
TEMPLATE template0
|
TEMPLATE template0
|
||||||
|
|
|
@ -55,7 +55,7 @@ in
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
<prompt># </prompt>ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
|
<prompt># </prompt>ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
|
||||||
<prompt># </prompt>ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed_25519_key
|
<prompt># </prompt>ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key
|
||||||
</screen>
|
</screen>
|
||||||
|
|
||||||
<warning>
|
<warning>
|
||||||
|
|
|
@ -137,6 +137,8 @@ let
|
||||||
''}
|
''}
|
||||||
|
|
||||||
# Copy secrets if needed.
|
# Copy secrets if needed.
|
||||||
|
#
|
||||||
|
# TODO: move out to a separate script; see #85000.
|
||||||
${optionalString (!config.boot.loader.supportsInitrdSecrets)
|
${optionalString (!config.boot.loader.supportsInitrdSecrets)
|
||||||
(concatStringsSep "\n" (mapAttrsToList (dest: source:
|
(concatStringsSep "\n" (mapAttrsToList (dest: source:
|
||||||
let source' = if source == null then dest else source; in
|
let source' = if source == null then dest else source; in
|
||||||
|
@ -579,6 +581,25 @@ in
|
||||||
message = "boot.resumeDevice has to be an absolute path."
|
message = "boot.resumeDevice has to be an absolute path."
|
||||||
+ " Old \"x:y\" style is no longer supported.";
|
+ " Old \"x:y\" style is no longer supported.";
|
||||||
}
|
}
|
||||||
|
# TODO: remove when #85000 is fixed
|
||||||
|
{ assertion = !config.boot.loader.supportsInitrdSecrets ->
|
||||||
|
all (source:
|
||||||
|
builtins.isPath source ||
|
||||||
|
(builtins.isString source && hasPrefix source builtins.storeDir))
|
||||||
|
(attrValues config.boot.initrd.secrets);
|
||||||
|
message = ''
|
||||||
|
boot.loader.initrd.secrets values must be unquoted paths when
|
||||||
|
using a bootloader that doesn't natively support initrd
|
||||||
|
secrets, e.g.:
|
||||||
|
|
||||||
|
boot.initrd.secrets = {
|
||||||
|
"/etc/secret" = /path/to/secret;
|
||||||
|
};
|
||||||
|
|
||||||
|
Note that this will result in all secrets being stored
|
||||||
|
world-readable in the Nix store!
|
||||||
|
'';
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
system.build =
|
system.build =
|
||||||
|
|
|
@ -146,6 +146,7 @@ in
|
||||||
jellyfin = handleTest ./jellyfin.nix {};
|
jellyfin = handleTest ./jellyfin.nix {};
|
||||||
jenkins = handleTest ./jenkins.nix {};
|
jenkins = handleTest ./jenkins.nix {};
|
||||||
jirafeau = handleTest ./jirafeau.nix {};
|
jirafeau = handleTest ./jirafeau.nix {};
|
||||||
|
k3s = handleTest ./k3s.nix {};
|
||||||
kafka = handleTest ./kafka.nix {};
|
kafka = handleTest ./kafka.nix {};
|
||||||
keepalived = handleTest ./keepalived.nix {};
|
keepalived = handleTest ./keepalived.nix {};
|
||||||
kerberos = handleTest ./kerberos/default.nix {};
|
kerberos = handleTest ./kerberos/default.nix {};
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
{ system ? builtins.currentSystem, ... }:
|
{ system ? builtins.currentSystem
|
||||||
|
, pkgs ? import ../../.. { inherit system; }
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
||||||
|
|
||||||
{ mig = import ../make-test-python.nix ({ pkgs, lib, ... }: {
|
with import ../../lib/testing-python.nix { inherit system pkgs; };
|
||||||
|
with pkgs.lib;
|
||||||
|
|
||||||
|
{ mig = makeTest {
|
||||||
name = "hydra-db-migration";
|
name = "hydra-db-migration";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; {
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
maintainers = [ ma27 ];
|
maintainers = [ ma27 ];
|
||||||
|
@ -82,5 +88,5 @@ let inherit (import ./common.nix { inherit system; }) baseConfig; in
|
||||||
|
|
||||||
original.shutdown()
|
original.shutdown()
|
||||||
'';
|
'';
|
||||||
});
|
};
|
||||||
}
|
}
|
||||||
|
|
78
nixos/tests/k3s.nix
Normal file
78
nixos/tests/k3s.nix
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# A suitable k3s pause image, also used for the test pod
|
||||||
|
pauseImage = pkgs.dockerTools.buildImage {
|
||||||
|
name = "test.local/pause";
|
||||||
|
tag = "local";
|
||||||
|
contents = with pkgs; [ tini coreutils busybox ];
|
||||||
|
config.Entrypoint = [ "/bin/tini" "--" "/bin/sleep" "inf" ];
|
||||||
|
};
|
||||||
|
testPodYaml = pkgs.writeText "test.yml" ''
|
||||||
|
# Don't use the default service account because there's a race where it may
|
||||||
|
# not be created yet; make our own instead.
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: test
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: test
|
||||||
|
spec:
|
||||||
|
serviceAccountName: test
|
||||||
|
containers:
|
||||||
|
- name: test
|
||||||
|
image: test.local/pause:local
|
||||||
|
imagePullPolicy: Never
|
||||||
|
command: ["sh", "-c", "sleep inf"]
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "k3s";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ euank ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
k3s =
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.k3s pkgs.gzip ];
|
||||||
|
|
||||||
|
# k3s uses enough resources the default vm fails.
|
||||||
|
virtualisation.memorySize = pkgs.lib.mkDefault 1536;
|
||||||
|
virtualisation.diskSize = pkgs.lib.mkDefault 4096;
|
||||||
|
|
||||||
|
services.k3s.enable = true;
|
||||||
|
services.k3s.role = "server";
|
||||||
|
services.k3s.package = pkgs.k3s;
|
||||||
|
# Slightly reduce resource usage
|
||||||
|
services.k3s.extraFlags = "--no-deploy coredns,servicelb,traefik,local-storage,metrics-server --pause-image test.local/pause:local";
|
||||||
|
|
||||||
|
users.users = {
|
||||||
|
noprivs = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Can't access k3s by default";
|
||||||
|
password = "*";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
|
||||||
|
k3s.wait_for_unit("k3s")
|
||||||
|
k3s.succeed("k3s kubectl cluster-info")
|
||||||
|
k3s.fail("sudo -u noprivs k3s kubectl cluster-info")
|
||||||
|
# k3s.succeed("k3s check-config") # fails with the current nixos kernel config, uncomment once this passes
|
||||||
|
|
||||||
|
k3s.succeed(
|
||||||
|
"zcat ${pauseImage} | k3s ctr image import -"
|
||||||
|
)
|
||||||
|
|
||||||
|
k3s.succeed("k3s kubectl apply -f ${testPodYaml}")
|
||||||
|
k3s.succeed("k3s kubectl wait --for 'condition=Ready' pod/test")
|
||||||
|
'';
|
||||||
|
})
|
|
@ -1,44 +1,41 @@
|
||||||
{ stdenv, fetchFromGitHub, python3Packages, wrapGAppsHook
|
{ newScope, python }:
|
||||||
, gst_all_1, glib-networking, gobject-introspection
|
|
||||||
}:
|
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
# Create a custom scope so we are consistent in which python version is used
|
||||||
pname = "mopidy";
|
|
||||||
version = "3.0.2";
|
let
|
||||||
|
callPackage = newScope self;
|
||||||
|
|
||||||
|
self = {
|
||||||
|
|
||||||
|
inherit python;
|
||||||
|
pythonPackages = python.pkgs;
|
||||||
|
|
||||||
|
mopidy = callPackage ./mopidy.nix { };
|
||||||
|
|
||||||
|
mopidy-gmusic = callPackage ./gmusic.nix { };
|
||||||
|
|
||||||
|
mopidy-local-images = callPackage ./local-images.nix { };
|
||||||
|
|
||||||
|
mopidy-local-sqlite = callPackage ./local-sqlite.nix { };
|
||||||
|
|
||||||
|
mopidy-spotify = callPackage ./spotify.nix { };
|
||||||
|
|
||||||
|
mopidy-moped = callPackage ./moped.nix { };
|
||||||
|
|
||||||
|
mopidy-mopify = callPackage ./mopify.nix { };
|
||||||
|
|
||||||
|
mopidy-mpd = callPackage ./mpd.nix { };
|
||||||
|
|
||||||
|
mopidy-spotify-tunigo = callPackage ./spotify-tunigo.nix { };
|
||||||
|
|
||||||
|
mopidy-youtube = callPackage ./youtube.nix { };
|
||||||
|
|
||||||
|
mopidy-soundcloud = callPackage ./soundcloud.nix { };
|
||||||
|
|
||||||
|
mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
|
||||||
|
|
||||||
|
mopidy-iris = callPackage ./iris.nix { };
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "mopidy";
|
|
||||||
repo = "mopidy";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook ];
|
in self
|
||||||
|
|
||||||
buildInputs = with gst_all_1; [
|
|
||||||
gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
|
|
||||||
glib-networking gobject-introspection
|
|
||||||
];
|
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
|
||||||
gst-python pygobject3 pykka tornado_4 requests setuptools
|
|
||||||
] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python;
|
|
||||||
|
|
||||||
# There are no tests
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
preFixup = ''
|
|
||||||
gappsWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH")
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
homepage = "https://www.mopidy.com/";
|
|
||||||
description = ''
|
|
||||||
An extensible music server that plays music from local disk, Spotify,
|
|
||||||
SoundCloud, Google Play Music, and more
|
|
||||||
'';
|
|
||||||
license = licenses.asl20;
|
|
||||||
maintainers = [ maintainers.fpletz ];
|
|
||||||
hydraPlatforms = [];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
44
pkgs/applications/audio/mopidy/mopidy.nix
Normal file
44
pkgs/applications/audio/mopidy/mopidy.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{ stdenv, fetchFromGitHub, pythonPackages, wrapGAppsHook
|
||||||
|
, gst_all_1, glib-networking, gobject-introspection
|
||||||
|
}:
|
||||||
|
|
||||||
|
pythonPackages.buildPythonApplication rec {
|
||||||
|
pname = "mopidy";
|
||||||
|
version = "3.0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mopidy";
|
||||||
|
repo = "mopidy";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ wrapGAppsHook ];
|
||||||
|
|
||||||
|
buildInputs = with gst_all_1; [
|
||||||
|
gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
|
||||||
|
glib-networking gobject-introspection
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with pythonPackages; [
|
||||||
|
gst-python pygobject3 pykka tornado_4 requests setuptools
|
||||||
|
] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python;
|
||||||
|
|
||||||
|
# There are no tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
gappsWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH")
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "https://www.mopidy.com/";
|
||||||
|
description = ''
|
||||||
|
An extensible music server that plays music from local disk, Spotify,
|
||||||
|
SoundCloud, Google Play Music, and more
|
||||||
|
'';
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.fpletz ];
|
||||||
|
hydraPlatforms = [];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, fetchurl, python3Packages, mopidy }:
|
{ stdenv, fetchurl, pythonPackages, mopidy }:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
pythonPackages.buildPythonApplication rec {
|
||||||
pname = "mopidy-spotify";
|
pname = "mopidy-spotify";
|
||||||
version = "4.0.1";
|
version = "4.0.1";
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
|
sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ mopidy python3Packages.pyspotify ];
|
propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
|
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
|
||||||
, zlib, jdk, glib, gtk3, libXtst, gsettings-desktop-schemas, webkitgtk
|
, zlib, jdk, glib, gtk, libXtst, gsettings-desktop-schemas, webkitgtk
|
||||||
, makeWrapper, ... }:
|
, makeWrapper, ... }:
|
||||||
|
|
||||||
{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
|
{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
|
||||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
fontconfig freetype glib gsettings-desktop-schemas gtk3 jdk libX11
|
fontconfig freetype glib gsettings-desktop-schemas gtk jdk libX11
|
||||||
libXrender libXtst makeWrapper zlib
|
libXrender libXtst makeWrapper zlib
|
||||||
] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
|
] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
|
||||||
--prefix PATH : ${jdk}/bin \
|
--prefix PATH : ${jdk}/bin \
|
||||||
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
|
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
|
||||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
|
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
|
||||||
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
|
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
|
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
|
||||||
, freetype, fontconfig, libX11, libXrender, zlib
|
, freetype, fontconfig, libX11, libXrender, zlib
|
||||||
, glib, gtk3, libXtst, jdk, gsettings-desktop-schemas
|
, glib, gtk3, gtk2, libXtst, jdk, jdk8, gsettings-desktop-schemas
|
||||||
, webkitgtk ? null # for internal web browser
|
, webkitgtk ? null # for internal web browser
|
||||||
, buildEnv, runCommand
|
, buildEnv, runCommand
|
||||||
, callPackage
|
, callPackage
|
||||||
|
@ -17,11 +17,12 @@ let
|
||||||
year = "2020";
|
year = "2020";
|
||||||
month = "03";
|
month = "03";
|
||||||
timestamp = "${year}${month}050155";
|
timestamp = "${year}${month}050155";
|
||||||
|
gtk = gtk3;
|
||||||
in rec {
|
in rec {
|
||||||
|
|
||||||
buildEclipse = import ./build-eclipse.nix {
|
buildEclipse = callPackage ./build-eclipse.nix {
|
||||||
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
|
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
|
||||||
jdk glib gtk3 libXtst gsettings-desktop-schemas webkitgtk
|
jdk glib gtk libXtst gsettings-desktop-schemas webkitgtk
|
||||||
makeWrapper;
|
makeWrapper;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -63,19 +64,14 @@ in rec {
|
||||||
|
|
||||||
### Eclipse Scala SDK
|
### Eclipse Scala SDK
|
||||||
|
|
||||||
eclipse-scala-sdk = buildEclipse {
|
eclipse-scala-sdk =
|
||||||
name = "eclipse-scala-sdk-4.4.1";
|
buildEclipse.override { jdk = jdk8; gtk = gtk2; } {
|
||||||
description = "Eclipse IDE for Scala Developers";
|
name = "eclipse-scala-sdk-4.7.0";
|
||||||
src =
|
description = "Eclipse IDE for Scala Developers";
|
||||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
src =
|
||||||
fetchurl { # tested
|
fetchurl {
|
||||||
url = "https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86_64.tar.gz";
|
url = "https://downloads.typesafe.com/scalaide-pack/4.7.0-vfinal-oxygen-212-20170929/scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz";
|
||||||
sha256 = "4c2d1ac68384e12a11a851cf0fc7757aea087eba69329b21d539382a65340d27";
|
sha256 = "1n5w2a7mh9ajv6fxcas1gpgwb04pdxbr9v5dzr67gsz5bhahq4ya";
|
||||||
}
|
|
||||||
else
|
|
||||||
fetchurl { # untested
|
|
||||||
url = "https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86.tar.gz";
|
|
||||||
sha256 = "35383cb09567187e14a30c15de9fd9aa0eef99e4bbb342396ce3acd11fb5cbac";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,6 @@ trivialBuild rec {
|
||||||
description = "Major mode for editing .pod-files";
|
description = "Major mode for editing .pod-files";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ qyliss ];
|
maintainers = with maintainers; [ qyliss ];
|
||||||
platform = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,6 @@ trivialBuild {
|
||||||
homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
|
homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = [ maintainer.rycee ];
|
maintainers = [ maintainers.rycee ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,8 +11,8 @@ let
|
||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "0q1fk5a4ymndnyxzps8960y1rl657q95i2rydbqyjl37y79wmllx";
|
x86_64-linux = "15jg39hmlnicq0zrz77yar1bmn5y6gp2670dya2qm5klhva9hd0f";
|
||||||
x86_64-darwin = "02ybgp6v1ray4a867hihp2fvc872ilqla6z52qv90dfjx69g77ib";
|
x86_64-darwin = "1ghqhn46jpbj3is8q5zcj0biyc7gwinhiz3qdpcnf88ga2blcsz8";
|
||||||
}.${system};
|
}.${system};
|
||||||
in
|
in
|
||||||
callPackage ./generic.nix rec {
|
callPackage ./generic.nix rec {
|
||||||
|
@ -21,7 +21,7 @@ in
|
||||||
|
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.44.0";
|
version = "1.44.1";
|
||||||
pname = "vscode";
|
pname = "vscode";
|
||||||
|
|
||||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||||
|
|
|
@ -11,8 +11,8 @@ let
|
||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "1prv4rzr5z905s6jnmkmd97zr5kz8nn4m9bil483bnx4wqr2k10g";
|
x86_64-linux = "16qwhnxpwarnwvlxwvy13g687g1cnfzysq16qkykkhqig0cnalmb";
|
||||||
x86_64-darwin = "1p0a94i80s7fq6ars01bvr41qxiq35s0r6crfv857ma01g9ia7k3";
|
x86_64-darwin = "1p9qkbj59bfc0kn9fzg99gqxbzwxq297qxivxcjflsapd712s4vm";
|
||||||
}.${system};
|
}.${system};
|
||||||
|
|
||||||
sourceRoot = {
|
sourceRoot = {
|
||||||
|
@ -27,7 +27,7 @@ in
|
||||||
|
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.44.0";
|
version = "1.44.1";
|
||||||
pname = "vscodium";
|
pname = "vscodium";
|
||||||
|
|
||||||
executableName = "codium";
|
executableName = "codium";
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{ stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript
|
{ stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript
|
||||||
, libjpeg, libpng, qtbase
|
, libjpeg, libpng, qtbase, mkDerivation
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
name = "ipe-7.2.13";
|
name = "ipe-7.2.13";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
@ -20,13 +20,9 @@ stdenv.mkDerivation rec {
|
||||||
libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript
|
libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
||||||
postFixup = ''
|
qtWrapperArgs = [ ''--prefix PATH : ${texlive}/bin'' ];
|
||||||
for prog in $out/bin/*; do
|
|
||||||
wrapProgram "$prog" --prefix PATH : "${texlive}/bin"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,9 @@ mkDerivation rec {
|
||||||
sha256 = "1sx4j4brk71bas3cpqzk4bd8bknyl3x4fdg5pv4r7pcfd3vpq2vy";
|
sha256 = "1sx4j4brk71bas3cpqzk4bd8bknyl3x4fdg5pv4r7pcfd3vpq2vy";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# *somtimes* fails with can't find ui_manager.h, also see https://github.com/NixOS/nixpkgs/issues/35359
|
||||||
|
enableParallelBuilding = false;
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
|
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
inherit patches;
|
inherit patches;
|
||||||
|
|
||||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
prePatch = optionalString (conf != null) ''
|
||||||
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
cp ${writeText "config.def.h" conf} config.def.h
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ncurses ];
|
nativeBuildInputs = [ pkgconfig ncurses ];
|
||||||
buildInputs = [ libX11 libXft ] ++ extraLibs;
|
buildInputs = [ libX11 libXft ] ++ extraLibs;
|
||||||
|
|
51
pkgs/applications/misc/termpdf.py/default.nix
Normal file
51
pkgs/applications/misc/termpdf.py/default.nix
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{ stdenv
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchPypi
|
||||||
|
, bibtool
|
||||||
|
, pybtex
|
||||||
|
, pymupdf
|
||||||
|
, pynvim
|
||||||
|
, pyperclip
|
||||||
|
, roman
|
||||||
|
, pdfrw
|
||||||
|
, pagelabels
|
||||||
|
, setuptools
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication {
|
||||||
|
pname = "termpdf.py";
|
||||||
|
version = "2019-10-03";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "dsanson";
|
||||||
|
repo = "termpdf.py";
|
||||||
|
rev = "4f3bdf4b5a00801631f2498f2c38c81e0a588ae2";
|
||||||
|
sha256 = "05gbj2fqzqndq1mx6g9asa7i6z8a9jdjrvilfwx8lg23cs356m6m";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
bibtool
|
||||||
|
pybtex
|
||||||
|
pymupdf
|
||||||
|
pyperclip
|
||||||
|
roman
|
||||||
|
pagelabels
|
||||||
|
pdfrw
|
||||||
|
pynvim
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
# upstream doesn't contain tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = ''
|
||||||
|
A graphical pdf (and epub, cbz, ...) reader that works
|
||||||
|
inside the kitty terminal.
|
||||||
|
'';
|
||||||
|
homepage = https://github.com/dsanson/termpdf.py;
|
||||||
|
maintainers = with maintainers; [ teto ];
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
55
pkgs/applications/misc/upwork/default.nix
Normal file
55
pkgs/applications/misc/upwork/default.nix
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
{ stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook, writeShellScript
|
||||||
|
, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
|
||||||
|
, gdk-pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
|
||||||
|
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
|
||||||
|
, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "upwork";
|
||||||
|
version = "5.3.3-883";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://updates-desktopapp.upwork.com/binaries/v5_3_3_883_1f817bc1fefd44e7/upwork_5.3.3.883_amd64.deb";
|
||||||
|
sha256 = "072zns79w4h46bvbj23rvr8i12sf2l378ry0z3hchwcimkrph9wx";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontWrapGApps = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
dpkg
|
||||||
|
wrapGAppsHook
|
||||||
|
autoPatchelfHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libcxx systemd libpulseaudio
|
||||||
|
stdenv.cc.cc alsaLib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
|
||||||
|
gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
|
||||||
|
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
|
||||||
|
libXtst nspr nss libxcb pango systemd libXScrnSaver
|
||||||
|
];
|
||||||
|
|
||||||
|
libPath = stdenv.lib.makeLibraryPath buildInputs;
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
dpkg-deb -x ${src} ./
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mv usr $out
|
||||||
|
mv opt $out
|
||||||
|
sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
|
||||||
|
|
||||||
|
makeWrapper $out/opt/Upwork/upwork \
|
||||||
|
$out/bin/upwork \
|
||||||
|
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${libPath}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Online freelancing platform desktop application for time tracking";
|
||||||
|
homepage = "https://www.upwork.com/ab/downloads/";
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = with maintainers; [ zakkor ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -20,7 +20,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
llvmPackages = if channel == "dev"
|
llvmPackages = if channel != "stable"
|
||||||
then llvmPackages_10
|
then llvmPackages_10
|
||||||
else llvmPackages_9;
|
else llvmPackages_9;
|
||||||
stdenv = llvmPackages.stdenv;
|
stdenv = llvmPackages.stdenv;
|
||||||
|
@ -35,7 +35,7 @@ let
|
||||||
mkChromiumDerivation = callPackage ./common.nix ({
|
mkChromiumDerivation = callPackage ./common.nix ({
|
||||||
inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone;
|
inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone;
|
||||||
gnChromium = gn;
|
gnChromium = gn;
|
||||||
} // lib.optionalAttrs (channel == "dev") {
|
} // lib.optionalAttrs (channel != "stable") {
|
||||||
# TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
|
# TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
|
||||||
gnChromium = gn.overrideAttrs (oldAttrs: {
|
gnChromium = gn.overrideAttrs (oldAttrs: {
|
||||||
version = "2020-03-23";
|
version = "2020-03-23";
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
sha256 = "1s16wl101yabq0l7w0q50lxkr2gn090pcaj6l5sj6g5xvi9lhgbf";
|
||||||
sha256bin64 = "1y70kmfz9nv507b0zdda7zfk2ac9qh9m2gq00aphdmzd0al7skj8";
|
sha256bin64 = "0k6fsqlpiwp9vds83hb3cg9xf74hqgbfdm3ijyad2rmwc5rqk0ax";
|
||||||
version = "81.0.4044.92";
|
version = "83.0.4103.14";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "1rydvjmv62zj95sf0fgsyipqz2hphbxm60y8q0813wq9ym35d4yy";
|
sha256 = "0djppzwzpfyyfjb1mhy5wws2379m3wpzyk2x3kw5nd0mdz35hbny";
|
||||||
sha256bin64 = "1m6740lw7xjjp1lplwp9ii4d3l7dfa9jrv5bysm4ar5pb9kywrai";
|
sha256bin64 = "1wg55qhfvd5zvigjl6496za81mh9b2c5da53zy07bk8wj91ly8pf";
|
||||||
version = "83.0.4100.3";
|
version = "84.0.4115.5";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2";
|
sha256 = "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17";
|
||||||
sha256bin64 = "1ig899cpahw1xfhdff5xj6w4k8jja5smxvrcbw6b0jcjmawdrf72";
|
sha256bin64 = "0ap7flrw3h885454fa2r7psa4sh8567ql7v7x96q11gh9gjrdvp3";
|
||||||
version = "81.0.4044.92";
|
version = "81.0.4044.113";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,8 @@
|
||||||
|
|
||||||
## various stuff that can be plugged in
|
## various stuff that can be plugged in
|
||||||
, flashplayer, hal-flash
|
, flashplayer, hal-flash
|
||||||
, MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
|
, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
|
||||||
, jrePlugin, adoptopenjdk-icedtea-web
|
, gnome3/*.gnome-shell*/
|
||||||
, bluejeans, djview4, adobe-reader
|
|
||||||
, google_talk_plugin, fribid, gnome3/*.gnome-shell*/
|
|
||||||
, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
|
, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
|
||||||
, tridactyl-native
|
, tridactyl-native
|
||||||
, fx_cast_bridge
|
, fx_cast_bridge
|
||||||
|
@ -26,7 +24,6 @@ let
|
||||||
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
|
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
|
||||||
, nameSuffix ? ""
|
, nameSuffix ? ""
|
||||||
, icon ? browserName
|
, icon ? browserName
|
||||||
, extraPlugins ? []
|
|
||||||
, extraNativeMessagingHosts ? []
|
, extraNativeMessagingHosts ? []
|
||||||
, gdkWayland ? false
|
, gdkWayland ? false
|
||||||
, cfg ? config.${browserName} or {}
|
, cfg ? config.${browserName} or {}
|
||||||
|
@ -38,32 +35,25 @@ let
|
||||||
enableAdobeFlash = cfg.enableAdobeFlash or false;
|
enableAdobeFlash = cfg.enableAdobeFlash or false;
|
||||||
ffmpegSupport = browser.ffmpegSupport or false;
|
ffmpegSupport = browser.ffmpegSupport or false;
|
||||||
gssSupport = browser.gssSupport or false;
|
gssSupport = browser.gssSupport or false;
|
||||||
jre = cfg.jre or false;
|
|
||||||
icedtea = cfg.icedtea or false;
|
|
||||||
supportsJDK =
|
|
||||||
stdenv.hostPlatform.system == "i686-linux" ||
|
|
||||||
stdenv.hostPlatform.system == "x86_64-linux" ||
|
|
||||||
stdenv.hostPlatform.system == "armv7l-linux" ||
|
|
||||||
stdenv.hostPlatform.system == "aarch64-linux";
|
|
||||||
|
|
||||||
plugins =
|
plugins =
|
||||||
assert !(jre && icedtea);
|
let
|
||||||
if builtins.hasAttr "enableVLC" cfg
|
removed = lib.filter (a: builtins.hasAttr a cfg) [
|
||||||
then throw "The option \"${browserName}.enableVLC\" has been removed since Firefox no longer supports npapi plugins"
|
"enableVLC"
|
||||||
else
|
"enableDjvu"
|
||||||
([ ]
|
"enableMPlayer"
|
||||||
++ lib.optional enableAdobeFlash flashplayer
|
"jre"
|
||||||
++ lib.optional (cfg.enableDjvu or false) (djview4)
|
"icedtea"
|
||||||
++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
|
"enableGoogleTalkPlugin"
|
||||||
++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin
|
"enableFriBIDPlugin"
|
||||||
++ lib.optional icedtea adoptopenjdk-icedtea-web
|
"enableGnomeExtensions"
|
||||||
++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
|
"enableBluejeans"
|
||||||
++ lib.optional (cfg.enableFriBIDPlugin or false) fribid
|
"enableAdobeReader"
|
||||||
++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome-shell
|
];
|
||||||
++ lib.optional (cfg.enableBluejeans or false) bluejeans
|
in if removed != []
|
||||||
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
|
then throw "Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) removed}. All plugin related options, except for the adobe flash player, have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins)."
|
||||||
++ extraPlugins
|
else lib.optional enableAdobeFlash flashplayer;
|
||||||
);
|
|
||||||
nativeMessagingHosts =
|
nativeMessagingHosts =
|
||||||
([ ]
|
([ ]
|
||||||
++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass)
|
++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass)
|
||||||
|
|
|
@ -108,7 +108,7 @@ in stdenv.mkDerivation {
|
||||||
--replace /opt/google/$appname/google-$appname $exe
|
--replace /opt/google/$appname/google-$appname $exe
|
||||||
substituteInPlace $out/share/menu/google-$appname.menu \
|
substituteInPlace $out/share/menu/google-$appname.menu \
|
||||||
--replace /opt $out/share \
|
--replace /opt $out/share \
|
||||||
--replace $out/share/google/chrome/google-$appname $exe
|
--replace $out/share/google/$appname/google-$appname $exe
|
||||||
|
|
||||||
for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
|
for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
|
||||||
num_and_suffix="''${icon_file##*logo_}"
|
num_and_suffix="''${icon_file##*logo_}"
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
{ stdenv, fetchurl, xorg, gtk2, glib, gdk-pixbuf, dpkg, libXext, libXfixes
|
|
||||||
, libXrender, libuuid, libXrandr, libXcomposite, libpulseaudio
|
|
||||||
}:
|
|
||||||
|
|
||||||
with stdenv.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
rpathInstaller = makeLibraryPath
|
|
||||||
[gtk2 glib stdenv.cc.cc];
|
|
||||||
|
|
||||||
rpathPlugin = makeLibraryPath
|
|
||||||
([ stdenv.cc.cc gtk2 glib xorg.libX11 gdk-pixbuf libXext libXfixes libXrender libXrandr libXcomposite libpulseaudio ] ++ optional (libuuid != null) libuuid);
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "bluejeans";
|
|
||||||
|
|
||||||
version = "2.180.71.8";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://swdl.bluejeans.com/skinny/bjnplugin_${version}-1_amd64.deb";
|
|
||||||
sha256 = "1fgjgzss0ghk734xpfidazyknfdn11pmyw77pc3wigl83dvx4nb2";
|
|
||||||
};
|
|
||||||
|
|
||||||
unpackPhase = "${dpkg}/bin/dpkg-deb -x $src .";
|
|
||||||
|
|
||||||
installPhase =
|
|
||||||
''
|
|
||||||
mkdir -p $out
|
|
||||||
cp -R usr/lib $out/
|
|
||||||
|
|
||||||
plugins=$out/lib/mozilla/plugins
|
|
||||||
patchelf \
|
|
||||||
--set-rpath "${rpathPlugin}" \
|
|
||||||
$plugins/npbjnplugin_${version}.so
|
|
||||||
|
|
||||||
patchelf \
|
|
||||||
--set-rpath "${rpathInstaller}" \
|
|
||||||
$plugins/npbjninstallplugin_${version}.so
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontStrip = true;
|
|
||||||
dontPatchELF = true;
|
|
||||||
|
|
||||||
passthru.mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "http://bluejeans.com";
|
|
||||||
license = stdenv.lib.licenses.unfree;
|
|
||||||
maintainers = with maintainers; [ ocharles kamilchm ];
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
source $stdenv/setup
|
|
||||||
export PREFIX=$out
|
|
||||||
configureFlags="--plugin-path=$out/lib/mozilla/plugins"
|
|
||||||
genericBuild
|
|
|
@ -1,38 +0,0 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk2, gettext, intltool }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "fribid";
|
|
||||||
version = "1.0.4";
|
|
||||||
builder = ./builder.sh;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://fribid.se/releases/source/${pname}-${version}.tar.bz2";
|
|
||||||
sha256 = "a679f3a0534d5f05fac10b16b49630a898c0b721cfa24d2c827fa45485476649";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
|
||||||
buildInputs = [ openssl libX11 gtk2 glib gettext intltool ];
|
|
||||||
patches = [
|
|
||||||
./translation-xgettext-to-intltool.patch
|
|
||||||
./plugin-linkfix.patch
|
|
||||||
./ipc-lazytrace.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = "substituteInPlace plugin/pluginutil.c --replace strndup strndup_";
|
|
||||||
|
|
||||||
passthru.mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A browser plugin to manage Swedish BankID:s";
|
|
||||||
longDescription = ''
|
|
||||||
FriBID is an open source software for the Swedish e-id system
|
|
||||||
called BankID. FriBID also supports processor architectures and
|
|
||||||
Linux/BSD distributions that the official software doesn't
|
|
||||||
support.
|
|
||||||
'';
|
|
||||||
homepage = "http://fribid.se";
|
|
||||||
license = with licenses; [ gpl2 mpl10 ];
|
|
||||||
maintainers = [ maintainers.edwtjo ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
--- a/plugin/ipc.c 2012-11-14 18:02:43.000000000 +0100
|
|
||||||
+++ b/plugin/ipc.c 2013-09-21 08:55:39.960265058 +0200
|
|
||||||
@@ -74,6 +74,7 @@
|
|
||||||
//close(pipeOut[PIPE_READ_END]);
|
|
||||||
|
|
||||||
execvp(mainBinary, (char *const *)argv);
|
|
||||||
+ fprintf(stderr, "Wanted signing executable\t<%s>\n", mainBinary);
|
|
||||||
perror(BINNAME ": Failed to execute main binary");
|
|
||||||
exit(1);
|
|
||||||
} else {
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- a/plugin/Makefile 2013-09-18 13:55:11.091652553 +0200
|
|
||||||
+++ b/plugin/Makefile 2013-09-18 13:58:27.513618750 +0200
|
|
||||||
@@ -60,7 +60,7 @@
|
|
||||||
for path in $(NPAPI_PLUGIN_PATHS); do \
|
|
||||||
(../configure --internal--remove-link $(DESTDIR)$$path/libfribidplugin.so $(NPAPI_PLUGIN_LIB) || exit 1) && \
|
|
||||||
install -d $(DESTDIR)$$path && \
|
|
||||||
- ln -sf $(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \
|
|
||||||
+ ln -sf $(DESTDIR)$(NPAPI_PLUGIN_LIB) $(DESTDIR)$$path/libfribidplugin.so; \
|
|
||||||
done
|
|
||||||
|
|
||||||
uninstall:
|
|
|
@ -1,16 +0,0 @@
|
||||||
--- a/translations/Makefile 2013-09-18 07:25:16.503800613 +0200
|
|
||||||
+++ b/translations/Makefile 2013-09-18 07:25:29.495869405 +0200
|
|
||||||
@@ -38,7 +38,7 @@
|
|
||||||
all: template.pot $(MOFILES)
|
|
||||||
|
|
||||||
template.pot: $(POTFILES) $(DEFINES)
|
|
||||||
- xgettext -k_ -ktranslatable -d $(DOMAIN) --package-name=$(PACKAGENAME) --package-version=$(PACKAGEVERSION) --copyright-holder='YOUR NAME' -o $@ $(POTFILES)
|
|
||||||
+ intltool-update --gettext-package=$(PACKAGENAME) -o $@ sv
|
|
||||||
|
|
||||||
.po.mo:
|
|
||||||
msgfmt $< -o $@
|
|
||||||
--- a/translations/POTFILES.in 2013-09-16 20:28:56.766106014 +0200
|
|
||||||
+++ b/translations/POTFILES.in 2013-09-18 13:15:05.252689648 +0200
|
|
||||||
@@ -0,0 +1,2 @@
|
|
||||||
+client/gtk.c
|
|
||||||
+client/gtk/sign.glade
|
|
|
@ -1,117 +0,0 @@
|
||||||
{ stdenv, fetchurl, libGL, xorg, cairo
|
|
||||||
, libpng, gtk2, glib, gdk-pixbuf, fontconfig, freetype, curl
|
|
||||||
, dbus-glib, alsaLib, libpulseaudio, systemd, pango
|
|
||||||
}:
|
|
||||||
|
|
||||||
with stdenv.lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
baseURL = "http://dl.google.com/linux/talkplugin/deb/pool/main/g/google-talkplugin";
|
|
||||||
|
|
||||||
rpathPlugin = makeLibraryPath
|
|
||||||
[ libGL
|
|
||||||
xorg.libXt
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXrender
|
|
||||||
cairo
|
|
||||||
libpng
|
|
||||||
gtk2
|
|
||||||
glib
|
|
||||||
fontconfig
|
|
||||||
freetype
|
|
||||||
curl
|
|
||||||
];
|
|
||||||
|
|
||||||
rpathProgram = makeLibraryPath
|
|
||||||
[ gdk-pixbuf
|
|
||||||
glib
|
|
||||||
gtk2
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXrandr
|
|
||||||
xorg.libXext
|
|
||||||
stdenv.cc.cc
|
|
||||||
alsaLib
|
|
||||||
libpulseaudio
|
|
||||||
dbus-glib
|
|
||||||
systemd
|
|
||||||
curl
|
|
||||||
pango
|
|
||||||
cairo
|
|
||||||
];
|
|
||||||
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "google-talk-plugin";
|
|
||||||
|
|
||||||
# You can get the upstream version and SHA-256 hash from the following URLs:
|
|
||||||
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA256'
|
|
||||||
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages | grep -E 'Version|SHA256'
|
|
||||||
version = "5.41.3.0";
|
|
||||||
|
|
||||||
src =
|
|
||||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
|
||||||
fetchurl {
|
|
||||||
url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
|
|
||||||
sha256 = "af7e23d2b6215afc547f96615b99f04e0561557cc58c0c9302364b5a3840d97d";
|
|
||||||
}
|
|
||||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
|
||||||
fetchurl {
|
|
||||||
url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
|
|
||||||
sha256 = "4c46d2b7f2018640288cd7ac49adc47e309d0beadfd979eb03030e672016b4a7";
|
|
||||||
}
|
|
||||||
else throw "Google Talk does not support your platform.";
|
|
||||||
|
|
||||||
unpackPhase = ''
|
|
||||||
ar p "$src" data.tar.gz | tar xz
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase =
|
|
||||||
''
|
|
||||||
plugins=$out/lib/mozilla/plugins
|
|
||||||
mkdir -p $plugins
|
|
||||||
cp opt/google/talkplugin/*.so $plugins
|
|
||||||
|
|
||||||
for i in libnpgoogletalk.so libppgoogletalk.so libppo1d.so; do
|
|
||||||
patchelf --set-rpath "${makeLibraryPath [ stdenv.cc.cc xorg.libX11 ]}:${stdenv.cc.cc.lib}/lib64" $plugins/$i
|
|
||||||
done
|
|
||||||
|
|
||||||
for i in libgoogletalkremoting.so libnpo1d.so; do
|
|
||||||
patchelf --set-rpath "$out/libexec/google/talkplugin/lib:${rpathPlugin}:${stdenv.cc.cc.lib}/lib64" $plugins/$i
|
|
||||||
done
|
|
||||||
|
|
||||||
mkdir -p $out/libexec/google/talkplugin
|
|
||||||
cp -prd opt/google/talkplugin/{data,GoogleTalkPlugin,locale,remoting24x24.png,windowpicker.glade} $out/libexec/google/talkplugin/
|
|
||||||
|
|
||||||
patchelf \
|
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
|
||||||
--set-rpath "${rpathProgram}:${stdenv.cc.cc.lib}/lib64" \
|
|
||||||
$out/libexec/google/talkplugin/GoogleTalkPlugin
|
|
||||||
|
|
||||||
# Generate an LD_PRELOAD wrapper to redirect execvp() calls to
|
|
||||||
# /opt/../GoogleTalkPlugin.
|
|
||||||
preload=$out/libexec/google/talkplugin/libpreload.so
|
|
||||||
mkdir -p $(dirname $preload)
|
|
||||||
gcc -shared ${./preload.c} -o $preload -ldl -DOUT=\"$out\" -fPIC
|
|
||||||
echo $preload > $plugins/extra-ld-preload
|
|
||||||
|
|
||||||
# Prevent a dependency on gcc.
|
|
||||||
strip -S $preload
|
|
||||||
patchELF $preload
|
|
||||||
'';
|
|
||||||
|
|
||||||
dontStrip = true;
|
|
||||||
dontPatchELF = true;
|
|
||||||
|
|
||||||
passthru.mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "http://www.google.com/chat/video/";
|
|
||||||
license = stdenv.lib.licenses.unfree;
|
|
||||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,60 +0,0 @@
|
||||||
/* Google Talk Plugin executes a helper program in /opt. This
|
|
||||||
LD_PRELOAD library intercepts execvp() calls to redirect them to
|
|
||||||
the corresponding location in $out. */
|
|
||||||
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <dlfcn.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
char origDir [] = "/opt/google/talkplugin";
|
|
||||||
char realDir [] = OUT "/libexec/google/talkplugin";
|
|
||||||
|
|
||||||
const char * rewrite(const char * path, char * buf)
|
|
||||||
{
|
|
||||||
if (strncmp(path, origDir, sizeof(origDir) - 1) != 0) return path;
|
|
||||||
if (snprintf(buf, PATH_MAX, "%s%s", realDir, path + sizeof(origDir) - 1) >= PATH_MAX)
|
|
||||||
abort();
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
int execvp(const char * path, char * const argv[])
|
|
||||||
{
|
|
||||||
int (*_execvp) (const char *, char * const argv[]) = dlsym(RTLD_NEXT, "execvp");
|
|
||||||
char buf[PATH_MAX];
|
|
||||||
return _execvp(rewrite(path, buf), argv);
|
|
||||||
}
|
|
||||||
|
|
||||||
int open(const char *path, int flags, ...)
|
|
||||||
{
|
|
||||||
char buf[PATH_MAX];
|
|
||||||
int (*_open) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open");
|
|
||||||
mode_t mode = 0;
|
|
||||||
if (flags & O_CREAT) {
|
|
||||||
va_list ap;
|
|
||||||
va_start(ap, flags);
|
|
||||||
mode = va_arg(ap, mode_t);
|
|
||||||
va_end(ap);
|
|
||||||
}
|
|
||||||
return _open(rewrite(path, buf), flags, mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
int open64(const char *path, int flags, ...)
|
|
||||||
{
|
|
||||||
char buf[PATH_MAX];
|
|
||||||
int (*_open64) (const char *, int, mode_t) = dlsym(RTLD_NEXT, "open64");
|
|
||||||
mode_t mode = 0;
|
|
||||||
if (flags & O_CREAT) {
|
|
||||||
va_list ap;
|
|
||||||
va_start(ap, flags);
|
|
||||||
mode = va_arg(ap, mode_t);
|
|
||||||
va_end(ap);
|
|
||||||
}
|
|
||||||
return _open64(rewrite(path, buf), flags, mode);
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
{ stdenv, fetchurl, firefox, libX11, xorgproto }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "mozplugger";
|
|
||||||
version = "2.1.6";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "http://mozplugger.mozdev.org/files/mozplugger-${version}.tar.gz";
|
|
||||||
sha256 = "1vszkq4kdbaxsrqr2xn9rq6ipza9fngdri79gvjqk3bvsdmg0k19";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [ firefox libX11 xorgproto ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p "$out/etc" "$out/bin" "$out/lib/mozilla/plugins" "$out/share/man/man7"
|
|
||||||
cp mozpluggerrc "$out/etc"
|
|
||||||
cp mozplugger-{helper,controller,linker,update} "$out/bin"
|
|
||||||
cp mozplugger.so "$out/lib/mozilla/plugins"
|
|
||||||
cp mozplugger.7 "$out/share/man/man7"
|
|
||||||
|
|
||||||
mkdir -p "$out/share/${pname}-${version}/plugin"
|
|
||||||
ln -s "$out/lib/mozilla/plugins/mozplugger.so" "$out/share/${pname}-${version}/plugin"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Mozilla plugin for launching external program for handling in-page objects";
|
|
||||||
homepage = "http://mozplugger.mozdev.org/";
|
|
||||||
license = stdenv.lib.licenses.gpl2Plus;
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
{stdenv, fetchurl, pkgconfig, browser, libXpm, gettext}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "mplayerplug-in-3.55";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/mplayerplug-in/${name}.tar.gz";
|
|
||||||
sha256 = "0zkvqrzibrbljiccvz3rhbmgifxadlrfjylqpz48jnjx9kggynms";
|
|
||||||
};
|
|
||||||
|
|
||||||
postConfigure =
|
|
||||||
(if browser ? isFirefox3Like then ''
|
|
||||||
# Cause a rebuild of these file from the IDL file, needed for GNU IceCat 3
|
|
||||||
# and Mozilla Firefox 3.
|
|
||||||
# See, e.g., http://article.gmane.org/gmane.comp.mozilla.mplayerplug-in/2104 .
|
|
||||||
rm -f Source/nsIScriptableMplayerPlugin.h
|
|
||||||
''
|
|
||||||
else "");
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
|
||||||
buildInputs = [ browser (browser.gtk) libXpm gettext ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib/mozilla/plugins
|
|
||||||
cp -p mplayerplug-in*.so mplayerplug-in*.xpt $out/lib/mozilla/plugins
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
|
||||||
mozillaPlugin = "/lib/mozilla/plugins";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "A browser plugin that uses mplayer to play digital media from websites";
|
|
||||||
homepage = "http://mplayerplug-in.sourceforge.net/";
|
|
||||||
license = with licenses; [ gpl2Plus lgpl2Plus "MPLv1+" ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,40 +0,0 @@
|
||||||
{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl, libXt}:
|
|
||||||
let
|
|
||||||
srcData = # Generated upstream information
|
|
||||||
rec {
|
|
||||||
baseName="nspluginwrapper";
|
|
||||||
version="1.4.4";
|
|
||||||
name="${baseName}-${version}";
|
|
||||||
hash="1fxjz9ifhw0drm12havlsl4jpsq1nv930gqa005kgddv5pa99vgj";
|
|
||||||
url="http://nspluginwrapper.org/download/nspluginwrapper-1.4.4.tar.gz";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
inherit (srcData) name version;
|
|
||||||
|
|
||||||
src = fetchurl{
|
|
||||||
inherit (srcData) url;
|
|
||||||
sha256 = srcData.hash;
|
|
||||||
};
|
|
||||||
|
|
||||||
preConfigure = ''
|
|
||||||
sed -e 's@/usr/bin/@@g' -i configure
|
|
||||||
sed -e '/gthread[.]h/d' -i src/npw-player.c
|
|
||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -lgthread-2.0"
|
|
||||||
export configureFlags="$configureFlags --target-cpu=$(uname -m)"
|
|
||||||
'';
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
|
||||||
buildInputs = [which file glib gtk2 gtk3 curl libXt];
|
|
||||||
|
|
||||||
preferLocalBuild = true;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = ''A wrapper to run browser plugins out-of-process'';
|
|
||||||
homepage = "http://nspluginwrapper.org/";
|
|
||||||
license = stdenv.lib.licenses.gpl2;
|
|
||||||
platforms = [ "x64_64-linux" "i686-linux" ];
|
|
||||||
maintainers = [ stdenv.lib.maintainers.raskin ];
|
|
||||||
inherit (srcData) version;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
name nspluginwrapper
|
|
||||||
target default.nix
|
|
||||||
url http://nspluginwrapper.org/download/
|
|
||||||
version_link /nspluginwrapper-[0-9]+
|
|
|
@ -15,13 +15,13 @@ with lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kubernetes";
|
pname = "kubernetes";
|
||||||
version = "1.18.0";
|
version = "1.18.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kubernetes";
|
repo = "kubernetes";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1jp54aahwpx9w73byfyadgffrig9fy6x8xzw27xv0anj2v9bm1fw";
|
sha256 = "1z109h0jqqfxvgyhmxsiggf6fb9kdrwvmv9wdi1n58n4yk65hvl6";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
{ stdenv, buildGoModule, fetchFromGitHub, systemd }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "node-problem-detector";
|
||||||
|
version = "0.8.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kubernetes";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "02avknglmkr9k933a64hkw0rjfxvyh4sc3x70p41b8q2g6vzv2gs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Project upstream recommends building through vendoring
|
||||||
|
overrideModAttrs = (_: {
|
||||||
|
buildCommand = ''
|
||||||
|
echo "Skipping go.mod, using vendoring instead." && touch $out
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
modSha256 = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p";
|
||||||
|
|
||||||
|
# Optionally, a log counter binary can be created to parse journald logs.
|
||||||
|
# The binary is dynamically linked against systemd libraries, making it a
|
||||||
|
# Linux-only feature. See 'ENABLE_JOURNALD' upstream:
|
||||||
|
# https://github.com/kubernetes/node-problem-detector/blob/master/Makefile
|
||||||
|
subPackages = [ "cmd/nodeproblemdetector" ] ++
|
||||||
|
stdenv.lib.optionals stdenv.isLinux [ "cmd/logcounter" ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
export CGO_ENABLED=${if stdenv.isLinux then "1" else "0"}
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = stdenv.lib.optionals stdenv.isLinux [ systemd ];
|
||||||
|
|
||||||
|
buildFlags = "-mod vendor" +
|
||||||
|
stdenv.lib.optionalString stdenv.isLinux " -tags journald";
|
||||||
|
|
||||||
|
buildFlagsArray = [
|
||||||
|
"-ldflags="
|
||||||
|
"-X k8s.io/${pname}/pkg/version.version=v${version}"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Various problem detectors running on the Kubernetes nodes";
|
||||||
|
homepage = "https://github.com/kubernetes/node-problem-detector";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ lbpdt ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,11 +7,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jitsi-meet-electron";
|
pname = "jitsi-meet-electron";
|
||||||
version = "2.0.0";
|
version = "2.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
|
||||||
sha256 = "11ci9dqhy8hkb4fwykjvcvai20ahqhjil825n1y1xf663ch8by93";
|
sha256 = "04y3qn2clvsfiyp9s6ib09mfxspv3kpr9248sda8s09n1cm0jpps";
|
||||||
name="${pname}-${version}.AppImage";
|
name="${pname}-${version}.AppImage";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pidgin-carbons";
|
pname = "pidgin-carbons";
|
||||||
version = "0.1.3";
|
version = "0.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gkdr";
|
owner = "gkdr";
|
||||||
repo = "carbons";
|
repo = "carbons";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "05hcqvsirb7gnpfcszsrgal5q7dajl2wdi2dy7c41zgl377syavw";
|
sha256 = "1aq9bwgpmbwrigq6ywf0pjkngqcm0qxncygaj1fi57npjhcjs6ln";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ];
|
makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ];
|
||||||
|
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "XEP-0280: Message Carbons plugin for libpurple";
|
description = "XEP-0280: Message Carbons plugin for libpurple";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ jb55 ];
|
maintainers = with maintainers; [ ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ let
|
||||||
else "");
|
else "");
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "signal-desktop";
|
pname = "signal-desktop";
|
||||||
version = "1.33.0"; # Please backport all updates to the stable channel.
|
version = "1.33.1"; # Please backport all updates to the stable channel.
|
||||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||||
# When releases "expire" the application becomes unusable until an update is
|
# When releases "expire" the application becomes unusable until an update is
|
||||||
# applied. The expiration date for the current release can be extracted with:
|
# applied. The expiration date for the current release can be extracted with:
|
||||||
|
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "0s403243cm8x3daj4p7cpp5z0hwmsnk21cq42zcfls2q5d30p6wz";
|
sha256 = "0p9ak0cmk9b77dzbw4y2xmxqg211y62n7ckggwf7bcg48wzj0jy7";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,19 +1,29 @@
|
||||||
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
|
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
|
||||||
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
||||||
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib
|
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib
|
||||||
|
, fetchpatch
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "20200320";
|
version = "20200417";
|
||||||
pname = "neomutt";
|
pname = "neomutt";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neomutt";
|
owner = "neomutt";
|
||||||
repo = "neomutt";
|
repo = "neomutt";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "06xcl9pr8dna4kqjaqm7ss50gdy185425bwl31i0xs3l11cyjap4";
|
sha256 = "0s7943r2s14kavyjf7i70vca252l626539i09a9vk0i9sfi35vx5";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Remove on next release. Fixes the `change-folder`
|
||||||
|
# macro (https://github.com/neomutt/neomutt/issues/2268)
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/neomutt/neomutt/commit/9e7537caddb9c6adc720bb3322a7512cf51ab025.patch";
|
||||||
|
sha256 = "1vmlvgnhx1ra3rnyjkpkv6lrqw8xfh2kkmqp43fqn9lnk3pkjxvv";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cyrus_sasl gss gpgme kerberos libidn ncurses
|
cyrus_sasl gss gpgme kerberos libidn ncurses
|
||||||
notmuch openssl perl lmdb
|
notmuch openssl perl lmdb
|
||||||
|
@ -75,7 +85,20 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
cp -r ${fetchFromGitHub {
|
||||||
|
owner = "neomutt";
|
||||||
|
repo = "neomutt-test-files";
|
||||||
|
rev = "1ee274e9ae1330fb901eb7b8275b3079d7869222";
|
||||||
|
sha256 = "0dhilz4rr7616jh8jcvh50a3rr09in43nsv72mm6f3vfklcqincp";
|
||||||
|
}} $(pwd)/test-files
|
||||||
|
(cd test-files && ./setup.sh)
|
||||||
|
|
||||||
|
export NEOMUTT_TEST_DIR=$(pwd)/test-files
|
||||||
|
'';
|
||||||
|
|
||||||
checkTarget = "test";
|
checkTarget = "test";
|
||||||
|
postCheck = "unset NEOMUTT_TEST_DIR";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A small but very powerful text-based mail client";
|
description = "A small but very powerful text-based mail client";
|
||||||
|
|
|
@ -44,28 +44,40 @@ mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
# Poppler patches from
|
||||||
|
# https://github.com/scribusproject/scribus/commits/master/scribus/plugins/import/pdf
|
||||||
|
|
||||||
# fix build with Poppler 0.82
|
# fix build with Poppler 0.82
|
||||||
(
|
(fetchpatch {
|
||||||
fetchpatch {
|
url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
|
||||||
url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
|
sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
|
||||||
sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
|
})
|
||||||
}
|
|
||||||
)
|
|
||||||
# fix build with Poppler 0.83
|
# fix build with Poppler 0.83
|
||||||
(
|
(fetchpatch {
|
||||||
fetchpatch {
|
url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
|
||||||
url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
|
sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
|
||||||
sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
|
})
|
||||||
}
|
|
||||||
)
|
|
||||||
# fix build with Poppler 0.84
|
# fix build with Poppler 0.84
|
||||||
# TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
|
# TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
|
||||||
(
|
(fetchpatch {
|
||||||
fetchpatch {
|
url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
|
||||||
url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
|
sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
|
||||||
sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
|
})
|
||||||
}
|
# Formating changes needed for the Poppler 0.86 patch to apply
|
||||||
)
|
(fetchpatch {
|
||||||
|
url = "https://github.com/scribusproject/scribus/commit/58613b5ce44335f202a55ab15ed303d97fe274cb.patch";
|
||||||
|
sha256 = "qwmVAZVYCijLNMVGwnOLJE8223vcRwPWfEvNKiDjw5o=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/scribusproject/scribus/commit/24aba508aac3f672f5f8cd629744a3b71e58ec37.patch";
|
||||||
|
sha256 = "sha256-OY+EIiGBTg2aIAmZOnkI8DPZVZYqFZAKnD7ychge1Dw=";
|
||||||
|
includes = [ "scribus/plugins/import/pdf/*" ];
|
||||||
|
})
|
||||||
|
# fix build with Poppler 0.86
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/scribusproject/scribus/commit/67f8771aaff2f55d61b8246f420e762f4b526944.patch";
|
||||||
|
sha256 = "51z+BYKhbH8a9dFph8X60NGpiogSb+5tOhW2d+m/X9M=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
, pythonPackages
|
, pythonPackages
|
||||||
, uhd
|
, uhd
|
||||||
, log4cpp
|
, log4cpp
|
||||||
, openblas
|
, blas, lapack
|
||||||
, matio
|
, matio
|
||||||
, pugixml
|
, pugixml
|
||||||
, protobuf
|
, protobuf
|
||||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||||
# nothing to be gained by leaving it out.
|
# nothing to be gained by leaving it out.
|
||||||
uhd
|
uhd
|
||||||
log4cpp
|
log4cpp
|
||||||
openblas
|
blas lapack
|
||||||
matio
|
matio
|
||||||
pugixml
|
pugixml
|
||||||
protobuf
|
protobuf
|
||||||
|
@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
|
||||||
# armadillo is built using both, so skip checking for them.
|
# armadillo is built using both, so skip checking for them.
|
||||||
"-DBLAS=YES"
|
"-DBLAS=YES"
|
||||||
"-DLAPACK=YES"
|
"-DLAPACK=YES"
|
||||||
"-DBLAS_LIBRARIES=-lopenblas"
|
"-DBLAS_LIBRARIES=-lblas"
|
||||||
"-DLAPACK_LIBRARIES=-lopenblas"
|
"-DLAPACK_LIBRARIES=-llapack"
|
||||||
|
|
||||||
# Similarly, it doesn't actually use gfortran despite checking for
|
# Similarly, it doesn't actually use gfortran despite checking for
|
||||||
# its presence.
|
# its presence.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchFromGitHub, zlib, openblas, darwin}:
|
{ stdenv, fetchFromGitHub, zlib, blas, lapack, darwin}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "plink-ng";
|
pname = "plink-ng";
|
||||||
|
@ -11,14 +11,20 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq";
|
sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ zlib ] ++ (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ openblas ]) ;
|
buildInputs = [ zlib ] ++ (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ blas lapack ]) ;
|
||||||
|
|
||||||
buildPhase = ''
|
preBuild = ''
|
||||||
sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h
|
sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h
|
||||||
${if stdenv.cc.isClang then "sed -i 's|g++|clang++|g' Makefile.std" else ""}
|
${if stdenv.cc.isClang then "sed -i 's|g++|clang++|g' Makefile.std" else ""}
|
||||||
make ZLIB=-lz ${if stdenv.isDarwin then "" else "BLASFLAGS=-lopenblas"} -f Makefile.std
|
|
||||||
|
makeFlagsArray+=(
|
||||||
|
ZLIB=-lz
|
||||||
|
BLASFLAGS="-lblas -lcblas -llapack"
|
||||||
|
);
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
makefile = "Makefile.std";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp plink $out/bin
|
cp plink $out/bin
|
||||||
|
@ -31,4 +37,3 @@ stdenv.mkDerivation rec {
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps
|
{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps
|
||||||
, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack, autoreconfHook
|
, libyaml, libxc, fftw, blas, lapack, gsl, netcdf, arpack, autoreconfHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "octopus";
|
pname = "octopus";
|
||||||
version = "9.2";
|
version = "9.2";
|
||||||
|
@ -14,12 +16,12 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ perl procps autoreconfHook ];
|
nativeBuildInputs = [ perl procps autoreconfHook ];
|
||||||
buildInputs = [ libyaml gfortran libxc openblas gsl fftw netcdf arpack ];
|
buildInputs = [ libyaml gfortran libxc blas lapack gsl fftw netcdf arpack ];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-yaml-prefix=${libyaml}"
|
"--with-yaml-prefix=${libyaml}"
|
||||||
"--with-blas=-lopenblas"
|
"--with-blas=-lblas"
|
||||||
"--with-lapack=-lopenblas"
|
"--with-lapack=-llapack"
|
||||||
"--with-fftw-prefix=${fftw.dev}"
|
"--with-fftw-prefix=${fftw.dev}"
|
||||||
"--with-gsl-prefix=${gsl}"
|
"--with-gsl-prefix=${gsl}"
|
||||||
"--with-libxc-prefix=${libxc}"
|
"--with-libxc-prefix=${libxc}"
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{ stdenv, fetchFromGitLab, cmake, gfortran, perl
|
{ stdenv, fetchFromGitLab, cmake, gfortran, perl
|
||||||
, openblas, hdf5-cpp, python3, texlive
|
, openblas, blas, lapack, hdf5-cpp, python3, texlive
|
||||||
, armadillo, openmpi, globalarrays, openssh
|
, armadillo, openmpi, globalarrays, openssh
|
||||||
, makeWrapper, fetchpatch
|
, makeWrapper, fetchpatch
|
||||||
} :
|
} :
|
||||||
|
|
||||||
|
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "19.11";
|
version = "19.11";
|
||||||
gitLabRev = "v${version}";
|
gitLabRev = "v${version}";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, gfortran, fftw, openblas
|
, gfortran, fftw, blas, lapack
|
||||||
, mpi ? null
|
, mpi ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||||
patchShebangs configure
|
patchShebangs configure
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ fftw openblas gfortran ]
|
buildInputs = [ fftw blas lapack gfortran ]
|
||||||
++ (stdenv.lib.optionals (mpi != null) [ mpi ]);
|
++ (stdenv.lib.optionals (mpi != null) [ mpi ]);
|
||||||
|
|
||||||
configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ];
|
configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ];
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, fetchurl
|
{ stdenv, fetchurl
|
||||||
, gfortran, openblas
|
, gfortran, blas, lapack
|
||||||
, mpi ? null, scalapack
|
, mpi ? null, scalapack
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
||||||
inherit mpi;
|
inherit mpi;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openblas gfortran ]
|
buildInputs = [ blas lapack gfortran ]
|
||||||
++ (stdenv.lib.optionals (mpi != null) [ mpi scalapack ]);
|
++ (stdenv.lib.optionals (mpi != null) [ mpi scalapack ]);
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -33,11 +33,11 @@ stdenv.mkDerivation {
|
||||||
makeFlagsArray=(
|
makeFlagsArray=(
|
||||||
CC="mpicc" FC="mpifort"
|
CC="mpicc" FC="mpifort"
|
||||||
FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="."
|
FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="."
|
||||||
COMP_LIBS="" LIBS="-lopenblas -lscalapack"
|
COMP_LIBS="" LIBS="-lblas -llapack -lscalapack"
|
||||||
);
|
);
|
||||||
'' else ''
|
'' else ''
|
||||||
makeFlagsArray=(
|
makeFlagsArray=(
|
||||||
COMP_LIBS="" LIBS="-lopenblas"
|
COMP_LIBS="" LIBS="-lblas -llapack"
|
||||||
);
|
);
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# data, compression
|
# data, compression
|
||||||
, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
|
, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
|
||||||
# maths
|
# maths
|
||||||
, openblasCompat, eigen, nlopt, lp_solve, colpack, liblapack, glpk
|
, blas, lapack, eigen, nlopt, lp_solve, colpack, glpk
|
||||||
# libraries
|
# libraries
|
||||||
, libarchive, libxml2
|
, libarchive, libxml2
|
||||||
# extra support
|
# extra support
|
||||||
|
@ -13,6 +13,8 @@
|
||||||
assert pythonSupport -> pythonPackages != null;
|
assert pythonSupport -> pythonPackages != null;
|
||||||
assert opencvSupport -> opencv != null;
|
assert opencvSupport -> opencv != null;
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "shogun";
|
pname = "shogun";
|
||||||
version = "6.1.4";
|
version = "6.1.4";
|
||||||
|
@ -64,8 +66,8 @@ stdenv.mkDerivation rec {
|
||||||
CCACHE_DIR=".ccache";
|
CCACHE_DIR=".ccache";
|
||||||
|
|
||||||
buildInputs = with lib; [
|
buildInputs = with lib; [
|
||||||
openblasCompat bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
|
blas lapack bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
|
||||||
protobuf nlopt snappy swig (libarchive.dev) libxml2 liblapack glpk
|
protobuf nlopt snappy swig (libarchive.dev) libxml2 lapack glpk
|
||||||
]
|
]
|
||||||
++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
|
++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
|
||||||
++ optional (opencvSupport) opencv;
|
++ optional (opencvSupport) opencv;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
|
||||||
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
|
||||||
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
|
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, blas, lapack
|
||||||
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
|
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
|
||||||
, withRecommendedPackages ? true
|
, withRecommendedPackages ? true
|
||||||
, enableStrictBarrier ? false
|
, enableStrictBarrier ? false
|
||||||
|
@ -9,6 +9,8 @@
|
||||||
, static ? false
|
, static ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "R-3.6.3";
|
name = "R-3.6.3";
|
||||||
|
|
||||||
|
@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
|
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
|
||||||
pango pcre perl readline texLive xz zlib less texinfo graphviz icu
|
pango pcre perl readline texLive xz zlib less texinfo graphviz icu
|
||||||
pkgconfig bison imake which openblas curl tcl tk jdk
|
pkgconfig bison imake which blas lapack curl tcl tk jdk
|
||||||
] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ];
|
] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -43,8 +45,8 @@ stdenv.mkDerivation rec {
|
||||||
configureFlagsArray=(
|
configureFlagsArray=(
|
||||||
--disable-lto
|
--disable-lto
|
||||||
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
|
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
|
||||||
--with-blas="-L${openblas}/lib -lopenblas"
|
--with-blas="-L${blas}/lib -lblas"
|
||||||
--with-lapack="-L${openblas}/lib -lopenblas"
|
--with-lapack="-L${lapack}/lib -llapack"
|
||||||
--with-readline
|
--with-readline
|
||||||
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
|
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
|
||||||
--with-cairo
|
--with-cairo
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
, opencv3
|
, opencv3
|
||||||
, protobuf
|
, protobuf
|
||||||
, doxygen
|
, doxygen
|
||||||
, openblas
|
, blas
|
||||||
, Accelerate, CoreGraphics, CoreVideo
|
, Accelerate, CoreGraphics, CoreVideo
|
||||||
, lmdbSupport ? true, lmdb
|
, lmdbSupport ? true, lmdb
|
||||||
, leveldbSupport ? true, leveldb, snappy
|
, leveldbSupport ? true, leveldb, snappy
|
||||||
|
@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
|
||||||
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
|
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
|
||||||
++ ["-DUSE_LMDB=${toggle lmdbSupport}"];
|
++ ["-DUSE_LMDB=${toggle lmdbSupport}"];
|
||||||
|
|
||||||
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 openblas ]
|
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 blas ]
|
||||||
++ lib.optional cudaSupport cudatoolkit
|
++ lib.optional cudaSupport cudatoolkit
|
||||||
++ lib.optional cudnnSupport cudnn
|
++ lib.optional cudnnSupport cudnn
|
||||||
++ lib.optional lmdbSupport lmdb
|
++ lib.optional lmdbSupport lmdb
|
||||||
|
|
|
@ -15,7 +15,7 @@ index 9cab2fc..6e977b8 100755
|
||||||
OCCXMAIN = $(SCCXMAIN:.c=.o)
|
OCCXMAIN = $(SCCXMAIN:.c=.o)
|
||||||
|
|
||||||
-DIR=../../../SPOOLES.2.2
|
-DIR=../../../SPOOLES.2.2
|
||||||
+LIBS = -lpthread -lm -lc -lspooles -larpack -lopenblas
|
+LIBS = -lpthread -lm -lc -lspooles -larpack -lblas -llapack
|
||||||
|
|
||||||
-LIBS = \
|
-LIBS = \
|
||||||
- $(DIR)/spooles.a \
|
- $(DIR)/spooles.a \
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, gfortran, arpack, spooles, openblas }:
|
{ stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "calculix";
|
pname = "calculix";
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ gfortran ];
|
nativeBuildInputs = [ gfortran ];
|
||||||
|
|
||||||
buildInputs = [ arpack spooles openblas ];
|
buildInputs = [ arpack spooles blas lapack ];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";
|
NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, stdenv, fetchgit, fetchFromGitHub, cmake
|
{ lib, stdenv, fetchgit, fetchFromGitHub, cmake
|
||||||
, openblas, opencv3, libzip, boost, protobuf, openmpi
|
, openblas, blas, lapack, opencv3, libzip, boost, protobuf, openmpi
|
||||||
, onebitSGDSupport ? false
|
, onebitSGDSupport ? false
|
||||||
, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11
|
, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11
|
||||||
, cudnnSupport ? cudaSupport, cudnn
|
, cudnnSupport ? cudaSupport, cudnn
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert cudnnSupport -> cudaSupport;
|
assert cudnnSupport -> cudaSupport;
|
||||||
|
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||||
|
|
||||||
let
|
let
|
||||||
# Old specific version required for CNTK.
|
# Old specific version required for CNTK.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchurl, blas, gfortran, liblapack }:
|
{ lib, stdenv, fetchurl, blas, gfortran, lapack }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "csdp-6.1.1";
|
name = "csdp-6.1.1";
|
||||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
||||||
sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05";
|
sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ blas gfortran.cc.lib liblapack ];
|
buildInputs = [ blas gfortran.cc.lib lapack ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace Makefile --replace /usr/local/bin $out/bin
|
substituteInPlace Makefile --replace /usr/local/bin $out/bin
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, cmake, gfortran, openblas, openmpi, petsc, python3 }:
|
{ stdenv, fetchurl, cmake, gfortran, blas, lapack, openmpi, petsc, python3 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "getdp-${version}";
|
name = "getdp-${version}";
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake gfortran ];
|
nativeBuildInputs = [ cmake gfortran ];
|
||||||
buildInputs = [ openblas openmpi petsc python3 ];
|
buildInputs = [ blas lapack openmpi petsc python3 ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "A General Environment for the Treatment of Discrete Problems";
|
description = "A General Environment for the Treatment of Discrete Problems";
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, liblapack
|
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, lapack, blas
|
||||||
, gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty
|
, gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
|
||||||
, readline, gettext, libpng, libao, gfortran, perl
|
, readline, gettext, libpng, libao, gfortran, perl
|
||||||
, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
|
, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
|
assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
|
pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
|
||||||
|
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
|
||||||
# gfortran.cc default output contains static libraries compiled without -fPIC
|
# gfortran.cc default output contains static libraries compiled without -fPIC
|
||||||
# we want libgfortran.so.3 instead
|
# we want libgfortran.so.3 instead
|
||||||
(stdenv.lib.getLib gfortran.cc)
|
(stdenv.lib.getLib gfortran.cc)
|
||||||
liblapack
|
lapack blas
|
||||||
] ++ stdenv.lib.optionals enableGUI [
|
] ++ stdenv.lib.optionals enableGUI [
|
||||||
libGL libGLU fltk xorg.libX11
|
libGL libGLU fltk xorg.libX11
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
|
{ stdenv, fetchurl, cmake, blas, lapack, gfortran, gmm, fltk, libjpeg
|
||||||
, zlib, libGL, libGLU, xorg, opencascade-occt }:
|
, zlib, libGL, libGLU, xorg, opencascade-occt }:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gmsh";
|
pname = "gmsh";
|
||||||
version = "4.5.6";
|
version = "4.5.6";
|
||||||
|
@ -10,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6";
|
sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL
|
buildInputs = [ blas lapack gmm fltk libjpeg zlib libGLU libGL
|
||||||
libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
|
libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
|
||||||
xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
|
xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
|
||||||
opencascade-occt
|
opencascade-occt
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{stdenv, fetchurl, gfortran, openblas}:
|
{stdenv, fetchurl, gfortran, blas, lapack}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "JAGS-4.3.0";
|
name = "JAGS-4.3.0";
|
||||||
|
@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
|
||||||
url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
|
url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
|
||||||
sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
|
sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
|
||||||
};
|
};
|
||||||
buildInputs = [gfortran openblas];
|
buildInputs = [gfortran blas lapack];
|
||||||
configureFlags = [ "--with-blas=-lopenblas" "--with-lapack=-lopenblas" ];
|
configureFlags = [ "--with-blas=-lblas" "--with-lapack=-llapack" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Just Another Gibbs Sampler";
|
description = "Just Another Gibbs Sampler";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ config, stdenv, lib, fetchurl, bash, cmake
|
{ config, stdenv, lib, fetchurl, bash, cmake
|
||||||
, opencv3, gtest, openblas, liblapack, perl
|
, opencv3, gtest, blas, perl
|
||||||
, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
|
, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
|
||||||
, cudnnSupport ? cudaSupport, cudnn
|
, cudnnSupport ? cudaSupport, cudnn
|
||||||
}:
|
}:
|
||||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake perl ];
|
nativeBuildInputs = [ cmake perl ];
|
||||||
|
|
||||||
buildInputs = [ opencv3 gtest openblas liblapack ]
|
buildInputs = [ opencv3 gtest blas ]
|
||||||
++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ]
|
++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ]
|
||||||
++ lib.optional cudnnSupport cudnn;
|
++ lib.optional cudnnSupport cudnn;
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||||
substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \
|
substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \
|
||||||
--replace "/bin/bash" "${bash}/bin/bash"
|
--replace "/bin/bash" "${bash}/bin/bash"
|
||||||
|
|
||||||
# Build against the system version of OpenMP.
|
# Build against the system version of OpenMP.
|
||||||
# https://github.com/apache/incubator-mxnet/pull/12160
|
# https://github.com/apache/incubator-mxnet/pull/12160
|
||||||
rm -rf 3rdparty/openmp
|
rm -rf 3rdparty/openmp
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -41,7 +41,8 @@
|
||||||
, lcalc
|
, lcalc
|
||||||
, rubiks
|
, rubiks
|
||||||
, flintqs
|
, flintqs
|
||||||
, openblasCompat
|
, blas
|
||||||
|
, lapack
|
||||||
, flint
|
, flint
|
||||||
, gmp
|
, gmp
|
||||||
, mpfr
|
, mpfr
|
||||||
|
@ -53,6 +54,8 @@
|
||||||
, less
|
, less
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
# This generates a `sage-env` shell file that will be sourced by sage on startup.
|
# This generates a `sage-env` shell file that will be sourced by sage on startup.
|
||||||
# It sets up various environment variables, telling sage where to find its
|
# It sets up various environment variables, telling sage where to find its
|
||||||
# dependencies.
|
# dependencies.
|
||||||
|
@ -114,7 +117,7 @@ writeTextFile rec {
|
||||||
# testsuite instead, but since all the packages are also runtime
|
# testsuite instead, but since all the packages are also runtime
|
||||||
# dependencies it doesn't really hurt to include them here.
|
# dependencies it doesn't really hurt to include them here.
|
||||||
singular
|
singular
|
||||||
openblasCompat
|
blas lapack
|
||||||
fflas-ffpack givaro
|
fflas-ffpack givaro
|
||||||
gd
|
gd
|
||||||
libpng zlib
|
libpng zlib
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
, lib
|
, lib
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, sage-env
|
, sage-env
|
||||||
, openblasCompat
|
, blas
|
||||||
|
, lapack
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, three
|
, three
|
||||||
, singular
|
, singular
|
||||||
|
@ -21,6 +22,9 @@
|
||||||
, pythonEnv
|
, pythonEnv
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
# lots of segfaults with (64 bit) blas
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
# Wrapper that combined `sagelib` with `sage-env` to produce an actually
|
# Wrapper that combined `sagelib` with `sage-env` to produce an actually
|
||||||
# executable sage. No tests are run yet and no documentation is built.
|
# executable sage. No tests are run yet and no documentation is built.
|
||||||
|
|
||||||
|
@ -29,7 +33,7 @@ let
|
||||||
pythonEnv # for patchShebangs
|
pythonEnv # for patchShebangs
|
||||||
makeWrapper
|
makeWrapper
|
||||||
pkg-config
|
pkg-config
|
||||||
openblasCompat # lots of segfaults with regular (64 bit) openblas
|
blas lapack
|
||||||
singular
|
singular
|
||||||
three
|
three
|
||||||
pynac
|
pynac
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
, perl
|
, perl
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, arb
|
, arb
|
||||||
, openblasCompat
|
, blas
|
||||||
|
, lapack
|
||||||
, brial
|
, brial
|
||||||
, cliquer
|
, cliquer
|
||||||
, cypari2
|
, cypari2
|
||||||
|
@ -52,6 +53,8 @@
|
||||||
, pplpy
|
, pplpy
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
# This is the core sage python package. Everything else is just wrappers gluing
|
# This is the core sage python package. Everything else is just wrappers gluing
|
||||||
# stuff together. It is not very useful on its own though, since it will not
|
# stuff together. It is not very useful on its own though, since it will not
|
||||||
# find many of its dependencies without `sage-env`, will not be tested without
|
# find many of its dependencies without `sage-env`, will not be tested without
|
||||||
|
@ -103,7 +106,8 @@ buildPythonPackage rec {
|
||||||
m4rie
|
m4rie
|
||||||
mpfi
|
mpfi
|
||||||
ntl
|
ntl
|
||||||
openblasCompat
|
blas
|
||||||
|
lapack
|
||||||
pari
|
pari
|
||||||
planarity
|
planarity
|
||||||
ppl
|
ppl
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
|
{stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
|
||||||
hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
|
hwloc, jre, lapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
|
||||||
lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
|
lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
|
||||||
doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
|
doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
||||||
src = fetchgit (import ./src-main.nix);
|
src = fetchgit (import ./src-main.nix);
|
||||||
|
|
||||||
buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
|
buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
|
||||||
hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkitgtk which
|
hwloc jre lapack blas hdf5 expat ncurses readline qt4 webkitgtk which
|
||||||
lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
|
lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
|
||||||
doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
|
doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
|
||||||
git gtk2 makeWrapper];
|
git gtk2 makeWrapper];
|
||||||
|
@ -40,7 +40,7 @@ stdenv.mkDerivation {
|
||||||
for e in $(cd $out/bin && ls); do
|
for e in $(cd $out/bin && ls); do
|
||||||
wrapProgram $out/bin/$e \
|
wrapProgram $out/bin/$e \
|
||||||
--prefix PATH : "${gnumake}/bin" \
|
--prefix PATH : "${gnumake}/bin" \
|
||||||
--prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ liblapack blas ]}"
|
--prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ lapack blas ]}"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -53,5 +53,3 @@ stdenv.mkDerivation {
|
||||||
broken = true;
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, fetchFromGitHub
|
{ stdenv, fetchFromGitHub
|
||||||
, libpng, gzip, fftw, openblas
|
, libpng, gzip, fftw, blas, lapack
|
||||||
, mpi ? null
|
, mpi ? null
|
||||||
}:
|
}:
|
||||||
let packages = [
|
let packages = [
|
||||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||||
inherit packages;
|
inherit packages;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ fftw libpng openblas gzip ]
|
buildInputs = [ fftw libpng blas lapack gzip ]
|
||||||
++ (stdenv.lib.optionals withMPI [ mpi ]);
|
++ (stdenv.lib.optionals withMPI [ mpi ]);
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, liblapack, libyaml, lynx, mela, root5, qcdnum, which }:
|
{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, lapack, libyaml, lynx, mela, root5, qcdnum, which }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xfitter";
|
pname = "xfitter";
|
||||||
|
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ gfortran which ];
|
nativeBuildInputs = [ gfortran which ];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ apfel apfelgrid applgrid blas lhapdf liblapack mela root5 qcdnum ]
|
[ apfel apfelgrid applgrid blas lhapdf lapack mela root5 qcdnum ]
|
||||||
# pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin
|
# pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin
|
||||||
++ stdenv.lib.optional (!stdenv.isDarwin) libyaml
|
++ stdenv.lib.optional (!stdenv.isDarwin) libyaml
|
||||||
;
|
;
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "git-repo";
|
pname = "git-repo";
|
||||||
version = "2.5";
|
version = "2.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "android";
|
owner = "android";
|
||||||
repo = "tools_repo";
|
repo = "tools_repo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0y37s0v37gygv0dm8y9sjc4jr7ml8irix5rwmbk6smzwa74n0x8a";
|
sha256 = "16c30nwlgm0xcma9q34ygjsk6m33izmfgn7a0mzhfzyakymdi45g";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./import-ssl-module.patch ];
|
patches = [ ./import-ssl-module.patch ];
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, qttools, mpv }:
|
{ stdenv, mkDerivation, fetchFromGitLab, pkgconfig, qmake, qtx11extras, qttools, mpv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "mpc-qt";
|
pname = "mpc-qt";
|
||||||
version = "18.08";
|
version = "2019-06-09";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitLab {
|
||||||
owner = "cmdrkotori";
|
owner = "mpc-qt";
|
||||||
repo = "mpc-qt";
|
repo = "mpc-qt";
|
||||||
rev = "v${version}";
|
rev = "2abe6e7fc643068d50522468fe75d614861555ad";
|
||||||
sha256 = "1rxlkg3vsrapazdlb1i6c5a1vvf2114bsqwzcm3n2wc5c93yqsna";
|
sha256 = "1cis8dl9pm91mpnp696zvwsfp96gkwr8jgs45anbwd7ldw78w4x5";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig qmake qttools ];
|
nativeBuildInputs = [ pkgconfig qmake qttools ];
|
||||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Media Player Classic Qute Theater";
|
description = "Media Player Classic Qute Theater";
|
||||||
homepage = "https://github.com/cmdrkotori/mpc-qt";
|
homepage = "https://gitlab.com/mpc-qt/mpc-qt";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ romildo ];
|
maintainers = with maintainers; [ romildo ];
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
From 5798a2691467604e89fd9fb1cd5289ebd1b1d7b8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Graham Christensen <graham@grahamc.com>
|
||||||
|
Date: Fri, 20 Mar 2020 22:32:02 -0400
|
||||||
|
Subject: [PATCH] find ObsPluginHelpers.cmake in the obs src
|
||||||
|
|
||||||
|
---
|
||||||
|
external/FindLibObs.cmake | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/external/FindLibObs.cmake b/external/FindLibObs.cmake
|
||||||
|
index ab0a3de..53a46b8 100644
|
||||||
|
--- a/external/FindLibObs.cmake
|
||||||
|
+++ b/external/FindLibObs.cmake
|
||||||
|
@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
|
||||||
|
|
||||||
|
set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
|
||||||
|
set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
|
||||||
|
- include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
|
||||||
|
+ include(${OBS_SRC}/cmake/external/ObsPluginHelpers.cmake)
|
||||||
|
|
||||||
|
# allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
|
||||||
|
if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
|
||||||
|
--
|
||||||
|
2.25.0
|
||||||
|
|
42
pkgs/applications/video/obs-studio/v4l2sink.nix
Normal file
42
pkgs/applications/video/obs-studio/v4l2sink.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{ stdenv, fetchFromGitHub
|
||||||
|
, cmake, pkgconfig, wrapQtAppsHook
|
||||||
|
, obs-studio }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "obs-v4l2sink-unstable";
|
||||||
|
version = "20181012";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "CatxFish";
|
||||||
|
repo = "obs-v4l2sink";
|
||||||
|
rev = "1ec3c8ada0e1040d867ce567f177be55cd278378";
|
||||||
|
sha256 = "03ah91cm1qz26k90mfx51l0d598i9bcmw39lkikjs1msm4c9dfxx";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ];
|
||||||
|
buildInputs = [ obs-studio ];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./0001-find-ObsPluginHelpers.cmake-in-the-obs-src.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
|
||||||
|
"-DLIBOBS_LIBRARIES=${obs-studio}/lib"
|
||||||
|
"-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
|
||||||
|
"-DOBS_SRC=${obs-studio.src}"
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/obs/obs-plugins/v4l2sink/bin/64bit
|
||||||
|
cp ./v4l2sink.so $out/share/obs/obs-plugins/v4l2sink/bin/64bit/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "obs studio output plugin for Video4Linux2 device";
|
||||||
|
homepage = "https://github.com/CatxFish/obs-v4l2sink";
|
||||||
|
maintainers = with maintainers; [ colemickens ];
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
137
pkgs/build-support/alternatives/blas/default.nix
Normal file
137
pkgs/build-support/alternatives/blas/default.nix
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
{ lib, stdenv
|
||||||
|
, lapack-reference, openblasCompat, openblas
|
||||||
|
, is64bit ? false
|
||||||
|
, blasProvider ? if is64bit then openblas else openblasCompat }:
|
||||||
|
|
||||||
|
let
|
||||||
|
blasFortranSymbols = [
|
||||||
|
"caxpy" "ccopy" "cdotc" "cdotu" "cgbmv" "cgemm" "cgemv" "cgerc" "cgeru"
|
||||||
|
"chbmv" "chemm" "chemv" "cher" "cher2" "cher2k" "cherk" "chpmv" "chpr"
|
||||||
|
"chpr2" "crotg" "cscal" "csrot" "csscal" "cswap" "csymm" "csyr2k" "csyrk"
|
||||||
|
"ctbmv" "ctbsv" "ctpmv" "ctpsv" "ctrmm" "ctrmv" "ctrsm" "ctrsv" "dasum"
|
||||||
|
"daxpy" "dcabs1" "dcopy" "ddot" "dgbmv" "dgemm" "dgemv" "dger" "dnrm2"
|
||||||
|
"drot" "drotg" "drotm" "drotmg" "dsbmv" "dscal" "dsdot" "dspmv" "dspr"
|
||||||
|
"dspr2" "dswap" "dsymm" "dsymv" "dsyr" "dsyr2" "dsyr2k" "dsyrk" "dtbmv"
|
||||||
|
"dtbsv" "dtpmv" "dtpsv" "dtrmm" "dtrmv" "dtrsm" "dtrsv" "dzasum" "dznrm2"
|
||||||
|
"icamax" "idamax" "isamax" "izamax" "lsame" "sasum" "saxpy" "scabs1"
|
||||||
|
"scasum" "scnrm2" "scopy" "sdot" "sdsdot" "sgbmv" "sgemm" "sgemv"
|
||||||
|
"sger" "snrm2" "srot" "srotg" "srotm" "srotmg" "ssbmv" "sscal" "sspmv"
|
||||||
|
"sspr" "sspr2" "sswap" "ssymm" "ssymv" "ssyr" "ssyr2" "ssyr2k" "ssyrk"
|
||||||
|
"stbmv" "stbsv" "stpmv" "stpsv" "strmm" "strmv" "strsm" "strsv" "xerbla"
|
||||||
|
"xerbla_array" "zaxpy" "zcopy" "zdotc" "zdotu" "zdrot" "zdscal" "zgbmv"
|
||||||
|
"zgemm" "zgemv" "zgerc" "zgeru" "zhbmv" "zhemm" "zhemv" "zher" "zher2"
|
||||||
|
"zher2k" "zherk" "zhpmv" "zhpr" "zhpr2" "zrotg" "zscal" "zswap" "zsymm"
|
||||||
|
"zsyr2k" "zsyrk" "ztbmv" "ztbsv" "ztpmv" "ztpsv" "ztrmm" "ztrmv" "ztrsm"
|
||||||
|
"ztrsv"
|
||||||
|
];
|
||||||
|
|
||||||
|
version = "3";
|
||||||
|
canonicalExtension = if stdenv.hostPlatform.isLinux
|
||||||
|
then "${stdenv.hostPlatform.extensions.sharedLibrary}.${version}"
|
||||||
|
else stdenv.hostPlatform.extensions.sharedLibrary;
|
||||||
|
|
||||||
|
|
||||||
|
is64bit = blasProvider.blas64 or false;
|
||||||
|
blasImplementation = lib.getName blasProvider;
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
assert is64bit -> (blasImplementation == "openblas" && blasProvider.blas64) || blasImplementation == "mkl";
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "blas";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
|
meta = (blasProvider.meta or {}) // {
|
||||||
|
description = "${lib.getName blasProvider} with just the BLAS C and FORTRAN ABI";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit is64bit;
|
||||||
|
provider = blasProvider;
|
||||||
|
implementation = blasImplementation;
|
||||||
|
};
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
dontConfigure = true;
|
||||||
|
unpackPhase = "src=$PWD";
|
||||||
|
|
||||||
|
installPhase = (''
|
||||||
|
mkdir -p $out/lib $dev/include $dev/include/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
|
||||||
|
'');
|
||||||
|
}
|
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)
|
|
@ -1,6 +1,6 @@
|
||||||
{ fetchurl }:
|
{ fetchurl }:
|
||||||
|
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/90b24a91103dca4f0df6cb28cecb205a7d7ab650.tar.gz";
|
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3e87a900a11faa97a8a068874c932f3172d0aa76.tar.gz";
|
||||||
sha256 = "1zfj8c6s9icqg83ycfvd150s4jd07ccbjg2w2mn10rx5ng76mn53";
|
sha256 = "0cf35vics1211pr1g8a804zm3w4lsdacqkgw3hqk7wdrrbasb8ip";
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
lib.makeScope pkgs.newScope (self: with self; {
|
lib.makeScope pkgs.newScope (self: with self; {
|
||||||
#### NixOS support
|
#### NixOS support
|
||||||
|
|
||||||
updateScript = callPackage ../../common-updater/update-script.nix { };
|
updateScript = pkgs.genericUpdater;
|
||||||
|
|
||||||
gitLister = url:
|
gitLister = url:
|
||||||
"${pkgs.common-updater-scripts}/bin/list-git-tags ${url}";
|
"${pkgs.common-updater-scripts}/bin/list-git-tags ${url}";
|
||||||
|
|
|
@ -34,6 +34,8 @@ let
|
||||||
"commands/test_test.py::test_local_env"
|
"commands/test_test.py::test_local_env"
|
||||||
"test_builder.py::test_build_flags"
|
"test_builder.py::test_build_flags"
|
||||||
"test_builder.py::test_build_unflags"
|
"test_builder.py::test_build_unflags"
|
||||||
|
"test_builder.py::test_debug_default_build_flags"
|
||||||
|
"test_builder.py::test_debug_custom_build_flags"
|
||||||
"test_misc.py::test_api_cache"
|
"test_misc.py::test_api_cache"
|
||||||
"test_misc.py::test_ping_internet_ips"
|
"test_misc.py::test_ping_internet_ips"
|
||||||
"test_misc.py::test_platformio_cli"
|
"test_misc.py::test_platformio_cli"
|
||||||
|
@ -49,14 +51,14 @@ let
|
||||||
|
|
||||||
in buildPythonApplication rec {
|
in buildPythonApplication rec {
|
||||||
pname = "platformio";
|
pname = "platformio";
|
||||||
version = "4.1.0";
|
version = "4.3.1";
|
||||||
|
|
||||||
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
|
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "platformio";
|
owner = "platformio";
|
||||||
repo = "platformio-core";
|
repo = "platformio-core";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "10v9jw1zjfqr3wl6kills3cfp0ky7xbm1gc3z0n57wrqbc6cmz95";
|
sha256 = "1dxnjy60zpkgyrbvbf6b9qi6m37gm8gwjmxwfj30npr1y7rvxwrw";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -79,11 +81,6 @@ in buildPythonApplication rec {
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./fix-searchpath.patch
|
./fix-searchpath.patch
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/platformio/platformio-core/commit/442a7e357636522e844d95375c246644b21a7802.patch";
|
|
||||||
sha256 = "0a3kj3k02237gr2yk30gpwc6vm04dsd1wxldj4dsbzs4a9yyi70m";
|
|
||||||
excludes = ["HISTORY.rst"];
|
|
||||||
})
|
|
||||||
./use-local-spdx-license-list.patch
|
./use-local-spdx-license-list.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
diff --git a/platformio/package/manifest/schema.py b/platformio/package/manifest/schema.py
|
diff --git a/platformio/package/manifest/schema.py b/platformio/package/manifest/schema.py
|
||||||
index f1d68e08..9b7b1da8 100644
|
index be49b3ee..d1390a88 100644
|
||||||
--- a/platformio/package/manifest/schema.py
|
--- a/platformio/package/manifest/schema.py
|
||||||
+++ b/platformio/package/manifest/schema.py
|
+++ b/platformio/package/manifest/schema.py
|
||||||
@@ -174,9 +174,5 @@ class ManifestSchema(Schema):
|
@@ -240,9 +240,5 @@ class ManifestSchema(BaseSchema):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@memoized(expire="1h")
|
@memoized(expire="1h")
|
||||||
def load_spdx_licenses():
|
def load_spdx_licenses():
|
||||||
- r = requests.get(
|
- r = requests.get(
|
||||||
- "https://raw.githubusercontent.com/spdx/license-list-data"
|
- "https://raw.githubusercontent.com/spdx/license-list-data"
|
||||||
- "/v3.7/json/licenses.json"
|
- "/v3.8/json/licenses.json"
|
||||||
- )
|
- )
|
||||||
- r.raise_for_status()
|
- r.raise_for_status()
|
||||||
- return r.json()
|
- return r.json()
|
||||||
|
|
|
@ -178,33 +178,6 @@ let
|
||||||
}));
|
}));
|
||||||
|
|
||||||
in rec {
|
in rec {
|
||||||
binaryCrystal_0_27 = genericBinary {
|
|
||||||
version = "0.27.2";
|
|
||||||
sha256s = {
|
|
||||||
x86_64-linux = "05l5x7kx2acgnv42fj3rr17z73ix06zvi05h7d7vf3kw0izxrasm";
|
|
||||||
i686-linux = "1iwizkvn6pglc0azkyfhlmk9ap793krdgcnbihd1kvrvs4cz0mm9";
|
|
||||||
x86_64-darwin = "14c69ac2dmfwmb5q56ps3xyxxb0mrbc91ahk9h07c8fiqfii3k9g";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
binaryCrystal_0_29 = genericBinary {
|
|
||||||
version = "0.29.0";
|
|
||||||
sha256s = {
|
|
||||||
x86_64-linux = "1wrk29sfx35akg7hxwpdiikvl18wd40gq1kwirw7x522hnq7vlna";
|
|
||||||
i686-linux = "1nx0piis2k3nn7kqiijqazzbvlaavhgvsln0l3dxmpfa4i4dz5h2";
|
|
||||||
x86_64-darwin = "1fd0fbyf05abivnp3igjlrm2axf65n2wdmg4aq6nqj60ipc01rvd";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
binaryCrystal_0_30 = genericBinary {
|
|
||||||
version = "0.30.1";
|
|
||||||
sha256s = {
|
|
||||||
x86_64-linux = "1k2mb74jh3ns3m7y73j4wpf571sayn73zbn6d7q81d09r280zrma";
|
|
||||||
i686-linux = "0vsq1ayf922spydp2g2mmimc797jmm7nl5nljhfppcclrwygdyk2";
|
|
||||||
x86_64-darwin = "1p3s4lwdgykb7h7aysjhrs7vm0zhinzw5d7rfv6jsyin4j8yxhzz";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
binaryCrystal_0_31 = genericBinary {
|
binaryCrystal_0_31 = genericBinary {
|
||||||
version = "0.31.1";
|
version = "0.31.1";
|
||||||
sha256s = {
|
sha256s = {
|
||||||
|
@ -214,32 +187,11 @@ in rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
crystal_0_27 = generic {
|
|
||||||
version = "0.27.2";
|
|
||||||
sha256 = "0vxqnpqi85yh0167nrkbksxsni476iwbh6y3znbvbjbbfhsi3nsj";
|
|
||||||
doCheck = false; # about 20 tests out of more than 15000 are failing
|
|
||||||
binary = binaryCrystal_0_27;
|
|
||||||
};
|
|
||||||
|
|
||||||
crystal_0_29 = generic {
|
|
||||||
version = "0.29.0";
|
|
||||||
sha256 = "0v9l253b2x8yw6a43vvalywpwciwr094l3g5wakmndfrzak2s3zr";
|
|
||||||
doCheck = false; # 6 checks are failing now
|
|
||||||
binary = binaryCrystal_0_29;
|
|
||||||
};
|
|
||||||
|
|
||||||
crystal_0_30 = generic {
|
|
||||||
version = "0.30.1";
|
|
||||||
sha256 = "0fbk784zjflsl3hys5a1xmn8mda8kb2z7ql58wpyfavivswxanbs";
|
|
||||||
doCheck = false; # 6 checks are failing now
|
|
||||||
binary = binaryCrystal_0_29;
|
|
||||||
};
|
|
||||||
|
|
||||||
crystal_0_31 = generic {
|
crystal_0_31 = generic {
|
||||||
version = "0.31.1";
|
version = "0.31.1";
|
||||||
sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
|
sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
|
||||||
doCheck = false; # 5 checks are failing now
|
doCheck = false; # 5 checks are failing now
|
||||||
binary = binaryCrystal_0_30;
|
binary = binaryCrystal_0_31;
|
||||||
};
|
};
|
||||||
|
|
||||||
crystal_0_32 = generic {
|
crystal_0_32 = generic {
|
||||||
|
@ -248,7 +200,21 @@ in rec {
|
||||||
binary = binaryCrystal_0_31;
|
binary = binaryCrystal_0_31;
|
||||||
};
|
};
|
||||||
|
|
||||||
crystal = crystal_0_32;
|
crystal_0_33 = generic {
|
||||||
|
version = "0.33.0";
|
||||||
|
sha256 = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi";
|
||||||
|
binary = binaryCrystal_0_31;
|
||||||
|
doCheck = false; # 4 checks are failing now
|
||||||
|
};
|
||||||
|
|
||||||
|
crystal_0_34 = generic {
|
||||||
|
version = "0.34.0";
|
||||||
|
sha256 = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4";
|
||||||
|
binary = crystal_0_33;
|
||||||
|
doCheck = false; # 4 checks are failing now
|
||||||
|
};
|
||||||
|
|
||||||
|
crystal = crystal_0_34;
|
||||||
|
|
||||||
crystal2nix = callPackage ./crystal2nix.nix {};
|
crystal2nix = callPackage ./crystal2nix.nix {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,17 @@
|
||||||
|
|
||||||
# build-tools
|
# build-tools
|
||||||
, bootPkgs
|
, bootPkgs
|
||||||
, autoconf, autoreconfHook, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx
|
, autoconf, autoreconfHook, automake, coreutils, fetchgit, perl, python3, m4, sphinx
|
||||||
, bash
|
, bash
|
||||||
|
|
||||||
, libiconv ? null, ncurses
|
, libiconv ? null, ncurses
|
||||||
|
|
||||||
|
, # GHC can be built with system libffi or a bundled one.
|
||||||
|
libffi ? null
|
||||||
|
|
||||||
, enableDwarf ? !stdenv.targetPlatform.isDarwin &&
|
, enableDwarf ? !stdenv.targetPlatform.isDarwin &&
|
||||||
!stdenv.targetPlatform.isWindows, elfutils # for DWARF support
|
!stdenv.targetPlatform.isWindows
|
||||||
|
, elfutils # for DWARF support
|
||||||
|
|
||||||
, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
|
, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
|
||||||
, # LLVM is conceptually a run-time-only depedendency, but for
|
, # LLVM is conceptually a run-time-only depedendency, but for
|
||||||
|
@ -18,7 +22,8 @@
|
||||||
|
|
||||||
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
|
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
|
||||||
# library instead of the faster but GPLed integer-gmp library.
|
# library instead of the faster but GPLed integer-gmp library.
|
||||||
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
|
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms)
|
||||||
|
, gmp
|
||||||
|
|
||||||
, # If enabled, use -fPIC when compiling static libs.
|
, # If enabled, use -fPIC when compiling static libs.
|
||||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||||
|
@ -30,7 +35,7 @@
|
||||||
, # Whetherto build terminfo.
|
, # Whetherto build terminfo.
|
||||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||||
|
|
||||||
, version ? "8.10.20191119"
|
, version ? "8.11.20200403"
|
||||||
, # What flavour to build. An empty string indicates no
|
, # What flavour to build. An empty string indicates no
|
||||||
# specific flavour and falls back to ghc default values.
|
# specific flavour and falls back to ghc default values.
|
||||||
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
|
||||||
|
@ -75,6 +80,7 @@ let
|
||||||
|
|
||||||
# Splicer will pull out correct variations
|
# Splicer will pull out correct variations
|
||||||
libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
|
libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
|
||||||
|
++ [libffi]
|
||||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||||
++ stdenv.lib.optional enableDwarf elfutils;
|
++ stdenv.lib.optional enableDwarf elfutils;
|
||||||
|
@ -97,17 +103,14 @@ stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://gitlab.haskell.org/ghc/ghc.git/";
|
url = "https://gitlab.haskell.org/ghc/ghc.git/";
|
||||||
rev = "0418c38d55c7a47967187dce2db5ea2ab1021b1e";
|
rev = "4291bddaea3148908c55f235ee8978e1d9aa6f20";
|
||||||
sha256 = "1d8g30ii0w4xh6fh61bxbalsqqyanny99nn3p727fx7favnhgvxi";
|
sha256 = "1gs3mxmsdpsgsp7vnawx8mys0qwg4x2zhfrbciy3wv8nv13ar1af";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "doc" ];
|
||||||
|
|
||||||
patches = [
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = "patchShebangs .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
||||||
# GHC is a bit confused on its cross terminology.
|
# GHC is a bit confused on its cross terminology.
|
||||||
|
@ -130,8 +133,8 @@ stdenv.mkDerivation (rec {
|
||||||
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
|
||||||
|
|
||||||
echo -n "${buildMK}" > mk/build.mk
|
echo -n "${buildMK}" > mk/build.mk
|
||||||
echo ${version} >VERSION
|
echo ${version} > VERSION
|
||||||
echo ${src.rev} >GIT_COMMIT_ID
|
echo ${src.rev} > GIT_COMMIT_ID
|
||||||
./boot
|
./boot
|
||||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||||
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||||
|
@ -161,31 +164,40 @@ stdenv.mkDerivation (rec {
|
||||||
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
# TODO(@Ericson2314): Always pass "--target" and always prefix.
|
||||||
configurePlatforms = [ "build" "host" ]
|
configurePlatforms = [ "build" "host" ]
|
||||||
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
|
||||||
|
|
||||||
# `--with` flags for libraries needed for RTS linker
|
# `--with` flags for libraries needed for RTS linker
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--datadir=$doc/share/doc/ghc"
|
"--datadir=$doc/share/doc/ghc"
|
||||||
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
|
"--with-curses-libraries=${ncurses.out}/lib"
|
||||||
|
] ++ stdenv.lib.optionals (libffi != null) [
|
||||||
|
"--with-system-libffi"
|
||||||
|
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
||||||
|
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||||
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||||
|
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||||
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||||
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
|
"--with-iconv-includes=${libiconv}/include"
|
||||||
|
"--with-iconv-libraries=${libiconv}/lib"
|
||||||
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
|
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
|
||||||
"--enable-bootstrap-with-devel-snapshot"
|
"--enable-bootstrap-with-devel-snapshot"
|
||||||
] ++ stdenv.lib.optionals useLdGold [
|
] ++ stdenv.lib.optionals useLdGold [
|
||||||
"CFLAGS=-fuse-ld=gold"
|
"CFLAGS=-fuse-ld=gold"
|
||||||
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
|
||||||
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
|
||||||
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
|
] ++ stdenv.lib.optional disableLargeAddressSpace "--disable-large-address-space"
|
||||||
"--disable-large-address-space"
|
++ stdenv.lib.optionals enableDwarf [
|
||||||
] ++ stdenv.lib.optionals enableDwarf [
|
|
||||||
"--enable-dwarf-unwind"
|
"--enable-dwarf-unwind"
|
||||||
"--with-libdw-includes=${stdenv.lib.getDev elfutils}/include"
|
"--with-libdw-includes=${stdenv.lib.getDev elfutils}/include"
|
||||||
"--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib"
|
"--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Make sure we never relax`$PATH` and hooks support for compatability.
|
# Make sure we never relax`$PATH` and hooks support for compatibility.
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
|
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||||
|
dontAddExtraLibs = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
perl autoconf autoreconfHook automake m4 python3 sphinx
|
perl autoconf autoreconfHook automake m4 python3 sphinx
|
||||||
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{ llvmPackages, lib, fetchFromGitHub, cmake
|
{ llvmPackages, lib, fetchFromGitHub, cmake
|
||||||
, libpng, libjpeg, mesa, eigen, openblas
|
, libpng, libjpeg, mesa, eigen
|
||||||
|
, openblas, blas, lapack
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2019_08_27";
|
version = "2019_08_27";
|
||||||
|
|
||||||
|
|
|
@ -7,28 +7,22 @@
|
||||||
# standard library dependencies
|
# standard library dependencies
|
||||||
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
||||||
# linear algebra
|
# linear algebra
|
||||||
, openblas, arpack
|
, blas, lapack, arpack
|
||||||
# Darwin frameworks
|
# Darwin frameworks
|
||||||
, CoreServices, ApplicationServices
|
, CoreServices, ApplicationServices
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
# All dependencies must use the same OpenBLAS.
|
|
||||||
let
|
let
|
||||||
arpack_ = arpack;
|
|
||||||
in
|
|
||||||
let
|
|
||||||
arpack = arpack_.override { inherit openblas; };
|
|
||||||
in
|
|
||||||
|
|
||||||
let
|
|
||||||
majorVersion = "1";
|
majorVersion = "1";
|
||||||
minorVersion = "3";
|
minorVersion = "3";
|
||||||
maintenanceVersion = "1";
|
maintenanceVersion = "1";
|
||||||
src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6";
|
src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6";
|
||||||
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
|
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "julia";
|
pname = "julia";
|
||||||
|
@ -67,7 +61,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||||
pcre2.dev openblas openlibm openspecfun readline utf8proc
|
pcre2.dev blas lapack openlibm openspecfun readline utf8proc
|
||||||
zlib
|
zlib
|
||||||
]
|
]
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
||||||
|
@ -94,13 +88,9 @@ stdenv.mkDerivation rec {
|
||||||
"SHELL=${stdenv.shell}"
|
"SHELL=${stdenv.shell}"
|
||||||
|
|
||||||
"USE_SYSTEM_BLAS=1"
|
"USE_SYSTEM_BLAS=1"
|
||||||
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
|
"USE_BLAS64=${if blas.is64bit then "1" else "0"}"
|
||||||
"LIBBLAS=-lopenblas"
|
|
||||||
"LIBBLASNAME=libopenblas"
|
|
||||||
|
|
||||||
"USE_SYSTEM_LAPACK=1"
|
"USE_SYSTEM_LAPACK=1"
|
||||||
"LIBLAPACK=-lopenblas"
|
|
||||||
"LIBLAPACKNAME=libopenblas"
|
|
||||||
|
|
||||||
"USE_SYSTEM_ARPACK=1"
|
"USE_SYSTEM_ARPACK=1"
|
||||||
"USE_SYSTEM_FFTW=1"
|
"USE_SYSTEM_FFTW=1"
|
||||||
|
@ -123,7 +113,7 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
LD_LIBRARY_PATH = makeLibraryPath [
|
LD_LIBRARY_PATH = makeLibraryPath [
|
||||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
|
arpack fftw fftwSinglePrec gmp libgit2 mpfr blas openlibm
|
||||||
openspecfun pcre2
|
openspecfun pcre2
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -15,20 +15,14 @@
|
||||||
# standard library dependencies
|
# standard library dependencies
|
||||||
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
||||||
# linear algebra
|
# linear algebra
|
||||||
, openblas, arpack
|
, blas, lapack, arpack
|
||||||
# Darwin frameworks
|
# Darwin frameworks
|
||||||
, CoreServices, ApplicationServices
|
, CoreServices, ApplicationServices
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
# All dependencies must use the same OpenBLAS.
|
assert (!blas.is64bit) && (!lapack.is64bit);
|
||||||
let
|
|
||||||
arpack_ = arpack;
|
|
||||||
in
|
|
||||||
let
|
|
||||||
arpack = arpack_.override { inherit openblas; };
|
|
||||||
in
|
|
||||||
|
|
||||||
let
|
let
|
||||||
dsfmtVersion = "2.2.3";
|
dsfmtVersion = "2.2.3";
|
||||||
|
@ -118,7 +112,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||||
pcre2.dev openblas openlibm openspecfun readline utf8proc
|
pcre2.dev blas lapack openlibm openspecfun readline utf8proc
|
||||||
zlib
|
zlib
|
||||||
]
|
]
|
||||||
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
||||||
|
@ -143,13 +137,9 @@ stdenv.mkDerivation rec {
|
||||||
"SHELL=${stdenv.shell}"
|
"SHELL=${stdenv.shell}"
|
||||||
|
|
||||||
"USE_SYSTEM_BLAS=1"
|
"USE_SYSTEM_BLAS=1"
|
||||||
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
|
"USE_BLAS64=${if blas.is64bit then "1" else "0"}"
|
||||||
"LIBBLAS=-lopenblas"
|
|
||||||
"LIBBLASNAME=libopenblas"
|
|
||||||
|
|
||||||
"USE_SYSTEM_LAPACK=1"
|
"USE_SYSTEM_LAPACK=1"
|
||||||
"LIBLAPACK=-lopenblas"
|
|
||||||
"LIBLAPACKNAME=libopenblas"
|
|
||||||
|
|
||||||
"USE_SYSTEM_ARPACK=1"
|
"USE_SYSTEM_ARPACK=1"
|
||||||
"USE_SYSTEM_FFTW=1"
|
"USE_SYSTEM_FFTW=1"
|
||||||
|
@ -173,7 +163,7 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
LD_LIBRARY_PATH = makeLibraryPath [
|
LD_LIBRARY_PATH = makeLibraryPath [
|
||||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
|
arpack fftw fftwSinglePrec gmp libgit2 mpfr blas lapack openlibm
|
||||||
openspecfun pcre2
|
openspecfun pcre2
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,47 @@
|
||||||
{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib }:
|
{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib, substituteAll }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
llvmPackages.stdenv.mkDerivation rec {
|
||||||
version = "0.5.0";
|
version = "0.6.0";
|
||||||
pname = "zig";
|
pname = "zig";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ziglang";
|
owner = "ziglang";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0xyl0riakh6kwb3yvxihb451kqs4ai4q0aygqygnlb2rlr1dn1zb";
|
sha256 = "13dwm2zpscn4n0p5x8ggs9n7mwmq9cgip383i3qqphg7m3pkls8z";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 zlib ];
|
buildInputs = [
|
||||||
|
llvmPackages.clang-unwrapped
|
||||||
|
llvmPackages.llvm
|
||||||
|
llvmPackages.lld
|
||||||
|
libxml2
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./llvm10_polly.patch;
|
||||||
|
llvm_extras = "-Wl,${llvmPackages.llvm}/lib/LLVMPolly.so";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
export HOME=$TMPDIR;
|
export HOME=$TMPDIR;
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
checkPhase = ''
|
||||||
|
runHook preCheck
|
||||||
|
./zig test $src/test/stage1/behavior.zig
|
||||||
|
runHook postCheck
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "Programming languaged designed for robustness, optimality, and clarity";
|
description =
|
||||||
|
"General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
|
||||||
homepage = "https://ziglang.org/";
|
homepage = "https://ziglang.org/";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
|
10
pkgs/development/compilers/zig/llvm10_polly.patch
Normal file
10
pkgs/development/compilers/zig/llvm10_polly.patch
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 97608cddf..e451c0711 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -369,4 +369,5 @@ target_link_libraries(zig_cpp LINK_PUBLIC
|
||||||
|
${CLANG_LIBRARIES}
|
||||||
|
${LLD_LIBRARIES}
|
||||||
|
${LLVM_LIBRARIES}
|
||||||
|
+ @llvm_extras@
|
||||||
|
)
|
|
@ -114,13 +114,8 @@ self: super: {
|
||||||
# Depends on broken "hails" package.
|
# Depends on broken "hails" package.
|
||||||
hails-bin = dontDistribute super.hails-bin;
|
hails-bin = dontDistribute super.hails-bin;
|
||||||
|
|
||||||
# Switch levmar build to openblas.
|
|
||||||
bindings-levmar = overrideCabal super.bindings-levmar (drv: {
|
bindings-levmar = overrideCabal super.bindings-levmar (drv: {
|
||||||
preConfigure = ''
|
extraLibraries = [ pkgs.blas ];
|
||||||
sed -i bindings-levmar.cabal \
|
|
||||||
-e 's,extra-libraries: lapack blas,extra-libraries: openblas,'
|
|
||||||
'';
|
|
||||||
extraLibraries = [ pkgs.openblasCompat ];
|
|
||||||
});
|
});
|
||||||
|
|
||||||
# The Haddock phase fails for one reason or another.
|
# The Haddock phase fails for one reason or another.
|
||||||
|
@ -177,6 +172,9 @@ self: super: {
|
||||||
# Test suite build depends on ancient tasty 0.11.x.
|
# Test suite build depends on ancient tasty 0.11.x.
|
||||||
cryptohash-sha512 = dontCheck super.cryptohash-sha512;
|
cryptohash-sha512 = dontCheck super.cryptohash-sha512;
|
||||||
|
|
||||||
|
# Test suite depends on source code being available
|
||||||
|
simple-affine-space = dontCheck super.simple-affine-space;
|
||||||
|
|
||||||
# https://github.com/kazu-yamamoto/simple-sendfile/issues/17
|
# https://github.com/kazu-yamamoto/simple-sendfile/issues/17
|
||||||
simple-sendfile = dontCheck super.simple-sendfile;
|
simple-sendfile = dontCheck super.simple-sendfile;
|
||||||
|
|
||||||
|
@ -1450,9 +1448,12 @@ self: super: {
|
||||||
# details.
|
# details.
|
||||||
cryptonite = dontCheck super.cryptonite;
|
cryptonite = dontCheck super.cryptonite;
|
||||||
|
|
||||||
# The test suite depends on an impure cabal-install installation
|
# The test suite depends on an impure cabal-install installation in
|
||||||
# in $HOME, which we don't have in our build sandbox.
|
# $HOME, which we don't have in our build sandbox, and it is keeping
|
||||||
cabal-install-parsers = dontCheck super.cabal-install-parsers;
|
# up with the most recent Cabal version.
|
||||||
|
cabal-install-parsers = dontCheck (super.cabal-install-parsers.overrideScope (self: super: {
|
||||||
|
Cabal = self.Cabal_3_2_0_0;
|
||||||
|
}));
|
||||||
|
|
||||||
# haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2.
|
# haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2.
|
||||||
haskell-ci = doJailbreak super.haskell-ci;
|
haskell-ci = doJailbreak super.haskell-ci;
|
||||||
|
@ -1501,4 +1502,7 @@ self: super: {
|
||||||
# Fixed at head, but hasn't cut a release in awhile.
|
# Fixed at head, but hasn't cut a release in awhile.
|
||||||
darcs = doJailbreak super.darcs;
|
darcs = doJailbreak super.darcs;
|
||||||
|
|
||||||
|
# Test suite requires running a database server. Testing is done upstream.
|
||||||
|
hasql-pool = dontCheck super.hasql-pool;
|
||||||
|
|
||||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||||
|
|
|
@ -60,5 +60,38 @@ self: super: {
|
||||||
zlib = doJailbreak super.zlib;
|
zlib = doJailbreak super.zlib;
|
||||||
|
|
||||||
# Use the latest version to fix the build.
|
# Use the latest version to fix the build.
|
||||||
|
microlens-th = self.microlens-th_0_4_3_5;
|
||||||
|
optics-core = self.optics-core_0_3;
|
||||||
|
repline = self.repline_0_3_0_0;
|
||||||
|
ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_4;
|
||||||
|
th-desugar = self.th-desugar_1_11;
|
||||||
|
|
||||||
|
# `ghc-lib-parser-ex` (see conditionals in its `.cabal` file) does not need
|
||||||
|
# the `ghc-lib-parser` dependency on GHC >= 8.8. However, because we have
|
||||||
|
# multiple verions of `ghc-lib-parser(-ex)` available, and the default ones
|
||||||
|
# are older ones, those older ones will complain. Because we have a newer
|
||||||
|
# GHC, we can just set the dependency to `null` as it is not used.
|
||||||
|
ghc-lib-parser-ex_8_10_0_4 = super.ghc-lib-parser-ex_8_10_0_4.override { ghc-lib-parser = null; };
|
||||||
|
|
||||||
|
# Jailbreak to fix the build.
|
||||||
|
aeson-diff = doJailbreak super.aeson-diff;
|
||||||
|
cborg = doJailbreak super.cborg;
|
||||||
|
cborg-json = doJailbreak super.cborg-json;
|
||||||
|
exact-pi = doJailbreak super.exact-pi;
|
||||||
|
relude = dontCheck (doJailbreak super.relude);
|
||||||
|
serialise = doJailbreak super.serialise;
|
||||||
|
setlocale = doJailbreak super.setlocale;
|
||||||
|
shellmet = doJailbreak super.shellmet;
|
||||||
|
brick = doJailbreak super.brick;
|
||||||
|
|
||||||
|
# The shipped Setup.hs file is broken.
|
||||||
|
csv = overrideCabal super.csv (drv: { preCompileBuildDriver = "rm Setup.hs"; });
|
||||||
|
|
||||||
|
# Apply patch from https://github.com/finnsson/template-helper/issues/12#issuecomment-611795375 to fix the build.
|
||||||
|
language-haskell-extract = appendPatch (doJailbreak super.language-haskell-extract) (pkgs.fetchpatch {
|
||||||
|
name = "language-haskell-extract-0.2.4.patch";
|
||||||
|
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/e48738ee1be774507887a90a0d67ad1319456afc/patches/language-haskell-extract-0.2.4.patch?inline=false";
|
||||||
|
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,4 +91,7 @@ self: super: {
|
||||||
ListLike = addBuildDepend super.ListLike self.semigroups;
|
ListLike = addBuildDepend super.ListLike self.semigroups;
|
||||||
base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
|
base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
|
||||||
|
|
||||||
|
# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
|
||||||
|
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,4 +86,7 @@ self: super: {
|
||||||
# The old Haddock cannot process the newer documentation syntax.
|
# The old Haddock cannot process the newer documentation syntax.
|
||||||
fast-logger = dontHaddock super.fast-logger;
|
fast-logger = dontHaddock super.fast-logger;
|
||||||
|
|
||||||
|
# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
|
||||||
|
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,4 +88,7 @@ self: super: {
|
||||||
stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; }));
|
stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; }));
|
||||||
haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;
|
haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;
|
||||||
|
|
||||||
|
# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
|
||||||
|
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@ default-package-overrides:
|
||||||
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and
|
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and
|
||||||
# not yet available in Nixpkgs
|
# not yet available in Nixpkgs
|
||||||
- gi-gdkx11 < 4
|
- gi-gdkx11 < 4
|
||||||
# LTS Haskell 15.7
|
# LTS Haskell 15.8
|
||||||
- abstract-deque ==0.3
|
- abstract-deque ==0.3
|
||||||
- abstract-par ==0.3.3
|
- abstract-par ==0.3.3
|
||||||
- AC-Angle ==1.0
|
- AC-Angle ==1.0
|
||||||
|
@ -346,7 +346,7 @@ default-package-overrides:
|
||||||
- buffer-builder ==0.2.4.7
|
- buffer-builder ==0.2.4.7
|
||||||
- buffer-pipe ==0.0
|
- buffer-pipe ==0.0
|
||||||
- bugsnag-hs ==0.1.0.0
|
- bugsnag-hs ==0.1.0.0
|
||||||
- butcher ==1.3.2.3
|
- butcher ==1.3.3.0
|
||||||
- bv ==0.5
|
- bv ==0.5
|
||||||
- bv-little ==1.1.1
|
- bv-little ==1.1.1
|
||||||
- byteable ==0.1.1
|
- byteable ==0.1.1
|
||||||
|
@ -556,10 +556,10 @@ default-package-overrides:
|
||||||
- data-default-instances-dlist ==0.0.1
|
- data-default-instances-dlist ==0.0.1
|
||||||
- data-default-instances-old-locale ==0.0.1
|
- data-default-instances-old-locale ==0.0.1
|
||||||
- data-diverse ==4.7.0.0
|
- data-diverse ==4.7.0.0
|
||||||
- datadog ==0.2.4.0
|
- datadog ==0.2.5.0
|
||||||
- data-dword ==0.3.1.3
|
- data-dword ==0.3.2
|
||||||
- data-endian ==0.1.1
|
- data-endian ==0.1.1
|
||||||
- data-fix ==0.2.0
|
- data-fix ==0.2.1
|
||||||
- data-has ==0.3.0.0
|
- data-has ==0.3.0.0
|
||||||
- data-interval ==2.0.1
|
- data-interval ==2.0.1
|
||||||
- data-inttrie ==0.1.4
|
- data-inttrie ==0.1.4
|
||||||
|
@ -613,7 +613,7 @@ default-package-overrides:
|
||||||
- disk-free-space ==0.1.0.1
|
- disk-free-space ==0.1.0.1
|
||||||
- distributed-closure ==0.4.2.0
|
- distributed-closure ==0.4.2.0
|
||||||
- distribution-opensuse ==1.1.1
|
- distribution-opensuse ==1.1.1
|
||||||
- distributive ==0.6.1
|
- distributive ==0.6.2
|
||||||
- dl-fedora ==0.7.4
|
- dl-fedora ==0.7.4
|
||||||
- dlist ==0.8.0.8
|
- dlist ==0.8.0.8
|
||||||
- dlist-instances ==0.1.1.1
|
- dlist-instances ==0.1.1.1
|
||||||
|
@ -668,7 +668,7 @@ default-package-overrides:
|
||||||
- emojis ==0.1
|
- emojis ==0.1
|
||||||
- enclosed-exceptions ==1.0.3
|
- enclosed-exceptions ==1.0.3
|
||||||
- ENIG ==0.0.1.0
|
- ENIG ==0.0.1.0
|
||||||
- entropy ==0.4.1.5
|
- entropy ==0.4.1.6
|
||||||
- enummapset ==0.6.0.2
|
- enummapset ==0.6.0.2
|
||||||
- enumset ==0.0.5
|
- enumset ==0.0.5
|
||||||
- enum-subset-generate ==0.1.0.0
|
- enum-subset-generate ==0.1.0.0
|
||||||
|
@ -706,7 +706,7 @@ default-package-overrides:
|
||||||
- extensible-exceptions ==0.1.1.4
|
- extensible-exceptions ==0.1.1.4
|
||||||
- extra ==1.6.21
|
- extra ==1.6.21
|
||||||
- extractable-singleton ==0.0.1
|
- extractable-singleton ==0.0.1
|
||||||
- extrapolate ==0.4.1
|
- extrapolate ==0.4.2
|
||||||
- fail ==4.9.0.0
|
- fail ==4.9.0.0
|
||||||
- failable ==1.2.4.0
|
- failable ==1.2.4.0
|
||||||
- fakedata ==0.5.0
|
- fakedata ==0.5.0
|
||||||
|
@ -750,6 +750,7 @@ default-package-overrides:
|
||||||
- flow ==1.0.20
|
- flow ==1.0.20
|
||||||
- flush-queue ==1.0.0
|
- flush-queue ==1.0.0
|
||||||
- fmlist ==0.9.3
|
- fmlist ==0.9.3
|
||||||
|
- fmt ==0.6.1.2
|
||||||
- fn ==0.3.0.2
|
- fn ==0.3.0.2
|
||||||
- focus ==1.0.1.3
|
- focus ==1.0.1.3
|
||||||
- focuslist ==0.1.0.2
|
- focuslist ==0.1.0.2
|
||||||
|
@ -908,7 +909,7 @@ default-package-overrides:
|
||||||
- hashmap ==1.3.3
|
- hashmap ==1.3.3
|
||||||
- hashtables ==1.2.3.4
|
- hashtables ==1.2.3.4
|
||||||
- haskeline ==0.7.5.0
|
- haskeline ==0.7.5.0
|
||||||
- haskell-gi ==0.23.0
|
- haskell-gi ==0.23.1
|
||||||
- haskell-gi-base ==0.23.0
|
- haskell-gi-base ==0.23.0
|
||||||
- haskell-gi-overloading ==1.0
|
- haskell-gi-overloading ==1.0
|
||||||
- haskell-import-graph ==1.0.4
|
- haskell-import-graph ==1.0.4
|
||||||
|
@ -922,7 +923,7 @@ default-package-overrides:
|
||||||
- haskell-src-meta ==0.8.5
|
- haskell-src-meta ==0.8.5
|
||||||
- haskey-btree ==0.3.0.1
|
- haskey-btree ==0.3.0.1
|
||||||
- haskoin-core ==0.10.1
|
- haskoin-core ==0.10.1
|
||||||
- haskoin-node ==0.9.16
|
- haskoin-node ==0.9.21
|
||||||
- hasql ==1.4.2
|
- hasql ==1.4.2
|
||||||
- hasql-optparse-applicative ==0.3.0.5
|
- hasql-optparse-applicative ==0.3.0.5
|
||||||
- hasql-pool ==0.5.1
|
- hasql-pool ==0.5.1
|
||||||
|
@ -977,6 +978,7 @@ default-package-overrides:
|
||||||
- hourglass ==0.2.12
|
- hourglass ==0.2.12
|
||||||
- hourglass-orphans ==0.1.0.0
|
- hourglass-orphans ==0.1.0.0
|
||||||
- hp2pretty ==0.9
|
- hp2pretty ==0.9
|
||||||
|
- hpack ==0.33.0
|
||||||
- hpc-codecov ==0.1.0.0
|
- hpc-codecov ==0.1.0.0
|
||||||
- hreader ==1.1.0
|
- hreader ==1.1.0
|
||||||
- hreader-lens ==0.1.3.0
|
- hreader-lens ==0.1.3.0
|
||||||
|
@ -1122,7 +1124,7 @@ default-package-overrides:
|
||||||
- inline-c ==0.9.1.0
|
- inline-c ==0.9.1.0
|
||||||
- inline-c-cpp ==0.4.0.2
|
- inline-c-cpp ==0.4.0.2
|
||||||
- insert-ordered-containers ==0.2.3
|
- insert-ordered-containers ==0.2.3
|
||||||
- inspection-testing ==0.4.2.2
|
- inspection-testing ==0.4.2.4
|
||||||
- instance-control ==0.1.2.0
|
- instance-control ==0.1.2.0
|
||||||
- int-cast ==0.2.0.0
|
- int-cast ==0.2.0.0
|
||||||
- integer-logarithms ==1.0.3
|
- integer-logarithms ==1.0.3
|
||||||
|
@ -1501,7 +1503,7 @@ default-package-overrides:
|
||||||
- pandoc ==2.9.1.1
|
- pandoc ==2.9.1.1
|
||||||
- pandoc-citeproc ==0.16.4.1
|
- pandoc-citeproc ==0.16.4.1
|
||||||
- pandoc-csv2table ==1.0.8
|
- pandoc-csv2table ==1.0.8
|
||||||
- pandoc-plot ==0.2.1.0
|
- pandoc-plot ==0.2.2.0
|
||||||
- pandoc-pyplot ==2.3.0.1
|
- pandoc-pyplot ==2.3.0.1
|
||||||
- pandoc-types ==1.20
|
- pandoc-types ==1.20
|
||||||
- papillon ==0.1.1.1
|
- papillon ==0.1.1.1
|
||||||
|
@ -1721,6 +1723,7 @@ default-package-overrides:
|
||||||
- regex-posix ==0.96.0.0
|
- regex-posix ==0.96.0.0
|
||||||
- regex-tdfa ==1.3.1.0
|
- regex-tdfa ==1.3.1.0
|
||||||
- regex-with-pcre ==1.1.0.0
|
- regex-with-pcre ==1.1.0.0
|
||||||
|
- registry ==0.1.7.1
|
||||||
- reinterpret-cast ==0.1.0
|
- reinterpret-cast ==0.1.0
|
||||||
- relapse ==1.0.0.0
|
- relapse ==1.0.0.0
|
||||||
- relational-query ==0.12.2.2
|
- relational-query ==0.12.2.2
|
||||||
|
@ -1738,7 +1741,7 @@ default-package-overrides:
|
||||||
- resourcet ==1.2.3
|
- resourcet ==1.2.3
|
||||||
- result ==0.2.6.0
|
- result ==0.2.6.0
|
||||||
- rethinkdb-client-driver ==0.0.25
|
- rethinkdb-client-driver ==0.0.25
|
||||||
- retry ==0.8.1.0
|
- retry ==0.8.1.1
|
||||||
- rev-state ==0.1.2
|
- rev-state ==0.1.2
|
||||||
- rfc1751 ==0.1.2
|
- rfc1751 ==0.1.2
|
||||||
- rfc5051 ==0.1.0.4
|
- rfc5051 ==0.1.0.4
|
||||||
|
@ -1875,7 +1878,7 @@ default-package-overrides:
|
||||||
- simplistic-generics ==0.1.0.0
|
- simplistic-generics ==0.1.0.0
|
||||||
- since ==0.0.0
|
- since ==0.0.0
|
||||||
- singleton-bool ==0.1.5
|
- singleton-bool ==0.1.5
|
||||||
- singleton-nats ==0.4.4
|
- singleton-nats ==0.4.5
|
||||||
- singletons ==2.6
|
- singletons ==2.6
|
||||||
- singletons-presburger ==0.3.0.0
|
- singletons-presburger ==0.3.0.0
|
||||||
- siphash ==1.0.3
|
- siphash ==1.0.3
|
||||||
|
@ -1908,7 +1911,7 @@ default-package-overrides:
|
||||||
- sparse-tensor ==0.2.1.3
|
- sparse-tensor ==0.2.1.3
|
||||||
- spatial-math ==0.5.0.1
|
- spatial-math ==0.5.0.1
|
||||||
- special-values ==0.1.0.0
|
- special-values ==0.1.0.0
|
||||||
- speculate ==0.4.1
|
- speculate ==0.4.2
|
||||||
- speedy-slice ==0.3.0
|
- speedy-slice ==0.3.0
|
||||||
- Spintax ==0.3.4
|
- Spintax ==0.3.4
|
||||||
- splice ==0.6.1.1
|
- splice ==0.6.1.1
|
||||||
|
@ -2060,7 +2063,7 @@ default-package-overrides:
|
||||||
- th-expand-syns ==0.4.6.0
|
- th-expand-syns ==0.4.6.0
|
||||||
- th-extras ==0.0.0.4
|
- th-extras ==0.0.0.4
|
||||||
- th-lift ==0.8.1
|
- th-lift ==0.8.1
|
||||||
- th-lift-instances ==0.1.14
|
- th-lift-instances ==0.1.15
|
||||||
- th-orphans ==0.13.9
|
- th-orphans ==0.13.9
|
||||||
- th-printf ==0.7
|
- th-printf ==0.7
|
||||||
- thread-hierarchy ==0.3.0.1
|
- thread-hierarchy ==0.3.0.1
|
||||||
|
@ -2102,7 +2105,7 @@ default-package-overrides:
|
||||||
- topograph ==1.0.0.1
|
- topograph ==1.0.0.1
|
||||||
- torsor ==0.1
|
- torsor ==0.1
|
||||||
- tostring ==0.2.1.1
|
- tostring ==0.2.1.1
|
||||||
- tracing ==0.0.4.0
|
- tracing ==0.0.5.1
|
||||||
- transaction ==0.1.1.3
|
- transaction ==0.1.1.3
|
||||||
- transformers-base ==0.4.5.2
|
- transformers-base ==0.4.5.2
|
||||||
- transformers-bifunctors ==0.1
|
- transformers-bifunctors ==0.1
|
||||||
|
@ -2208,7 +2211,7 @@ default-package-overrides:
|
||||||
- validity-uuid ==0.1.0.3
|
- validity-uuid ==0.1.0.3
|
||||||
- validity-vector ==0.2.0.3
|
- validity-vector ==0.2.0.3
|
||||||
- valor ==0.1.0.0
|
- valor ==0.1.0.0
|
||||||
- vault ==0.3.1.3
|
- vault ==0.3.1.4
|
||||||
- vec ==0.3
|
- vec ==0.3
|
||||||
- vector ==0.12.1.2
|
- vector ==0.12.1.2
|
||||||
- vector-algorithms ==0.8.0.3
|
- vector-algorithms ==0.8.0.3
|
||||||
|
@ -2245,7 +2248,7 @@ default-package-overrides:
|
||||||
- wai-session ==0.3.3
|
- wai-session ==0.3.3
|
||||||
- wai-slack-middleware ==0.2.0
|
- wai-slack-middleware ==0.2.0
|
||||||
- wai-websockets ==3.0.1.2
|
- wai-websockets ==3.0.1.2
|
||||||
- warp ==3.3.9
|
- warp ==3.3.10
|
||||||
- warp-tls ==3.2.11
|
- warp-tls ==3.2.11
|
||||||
- warp-tls-uid ==0.2.0.6
|
- warp-tls-uid ==0.2.0.6
|
||||||
- wave ==0.2.0
|
- wave ==0.2.0
|
||||||
|
@ -4329,7 +4332,6 @@ broken-packages:
|
||||||
- duet
|
- duet
|
||||||
- dumb-cas
|
- dumb-cas
|
||||||
- dump-core
|
- dump-core
|
||||||
- dunai
|
|
||||||
- dunai-core
|
- dunai-core
|
||||||
- dunai-test
|
- dunai-test
|
||||||
- Dung
|
- Dung
|
||||||
|
@ -5618,7 +5620,6 @@ broken-packages:
|
||||||
- hasql-migration
|
- hasql-migration
|
||||||
- hasql-notifications
|
- hasql-notifications
|
||||||
- hasql-optparse-applicative
|
- hasql-optparse-applicative
|
||||||
- hasql-pool
|
|
||||||
- hasql-postgres
|
- hasql-postgres
|
||||||
- hasql-postgres-options
|
- hasql-postgres-options
|
||||||
- hasql-simple
|
- hasql-simple
|
||||||
|
@ -7842,6 +7843,7 @@ broken-packages:
|
||||||
- onama
|
- onama
|
||||||
- ONC-RPC
|
- ONC-RPC
|
||||||
- oneormore
|
- oneormore
|
||||||
|
- online-csv
|
||||||
- onpartitions
|
- onpartitions
|
||||||
- OnRmt
|
- OnRmt
|
||||||
- onu-course
|
- onu-course
|
||||||
|
@ -8284,7 +8286,6 @@ broken-packages:
|
||||||
- postgresql-simple-typed
|
- postgresql-simple-typed
|
||||||
- postgresql-typed
|
- postgresql-typed
|
||||||
- postgresql-typed-lifted
|
- postgresql-typed-lifted
|
||||||
- postgrest
|
|
||||||
- postgrest-ws
|
- postgrest-ws
|
||||||
- postie
|
- postie
|
||||||
- postmark
|
- postmark
|
||||||
|
@ -8905,6 +8906,7 @@ broken-packages:
|
||||||
- saferoute
|
- saferoute
|
||||||
- sai-shape-syb
|
- sai-shape-syb
|
||||||
- sajson
|
- sajson
|
||||||
|
- sak
|
||||||
- salak-toml
|
- salak-toml
|
||||||
- Salsa
|
- Salsa
|
||||||
- saltine-quickcheck
|
- saltine-quickcheck
|
||||||
|
@ -9187,7 +9189,6 @@ broken-packages:
|
||||||
- simgi
|
- simgi
|
||||||
- simple
|
- simple
|
||||||
- simple-actors
|
- simple-actors
|
||||||
- simple-affine-space
|
|
||||||
- simple-atom
|
- simple-atom
|
||||||
- simple-bluetooth
|
- simple-bluetooth
|
||||||
- simple-c-value
|
- simple-c-value
|
||||||
|
|
|
@ -572,23 +572,9 @@ self: super: builtins.intersectAttrs super {
|
||||||
# The test-suite requires a running PostgreSQL server.
|
# The test-suite requires a running PostgreSQL server.
|
||||||
Frames-beam = dontCheck super.Frames-beam;
|
Frames-beam = dontCheck super.Frames-beam;
|
||||||
|
|
||||||
# * Compile manpages (which are in RST and are compiled with Sphinx).
|
# Compile manpages (which are in RST and are compiled with Sphinx).
|
||||||
#
|
|
||||||
# * Wrap so that binary can find GCC and OpenCL headers (dubious if
|
|
||||||
# a good idea).
|
|
||||||
futhark = with pkgs;
|
futhark = with pkgs;
|
||||||
let maybeWrap =
|
overrideCabal (addBuildTools super.futhark [makeWrapper python37Packages.sphinx])
|
||||||
if pkgs.stdenv.isDarwin then ""
|
|
||||||
else
|
|
||||||
let path = stdenv.lib.makeBinPath [ gcc ];
|
|
||||||
in ''
|
|
||||||
wrapProgram $out/bin/futhark \
|
|
||||||
--prefix PATH : "${path}" \
|
|
||||||
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
|
|
||||||
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
|
|
||||||
--set NIX_CFLAGS_LINK "-L${ocl-icd}/lib"
|
|
||||||
'';
|
|
||||||
in overrideCabal (addBuildTools super.futhark [makeWrapper python37Packages.sphinx])
|
|
||||||
(_drv: {
|
(_drv: {
|
||||||
postBuild = (_drv.postBuild or "") + ''
|
postBuild = (_drv.postBuild or "") + ''
|
||||||
make -C docs man
|
make -C docs man
|
||||||
|
@ -597,8 +583,7 @@ self: super: builtins.intersectAttrs super {
|
||||||
postInstall = (_drv.postInstall or "") + ''
|
postInstall = (_drv.postInstall or "") + ''
|
||||||
mkdir -p $out/share/man/man1
|
mkdir -p $out/share/man/man1
|
||||||
mv docs/_build/man/*.1 $out/share/man/man1/
|
mv docs/_build/man/*.1 $out/share/man/man1/
|
||||||
''
|
'';
|
||||||
+ maybeWrap;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
git-annex = with pkgs;
|
git-annex = with pkgs;
|
||||||
|
@ -655,22 +640,19 @@ self: super: builtins.intersectAttrs super {
|
||||||
|
|
||||||
spago =
|
spago =
|
||||||
let
|
let
|
||||||
# Spago needs a patch for MonadFail changes.
|
# Spago needs a small patch to work with the latest versions of rio.
|
||||||
# https://github.com/purescript/spago/pull/584
|
# https://github.com/purescript/spago/pull/616
|
||||||
# This can probably be removed when a version after spago-0.14.0 is released.
|
# This can probably be removed when a version after spago-0.15.1 is released.
|
||||||
spagoWithPatches = appendPatch super.spago (pkgs.fetchpatch {
|
spagoWithPatches = appendPatch super.spago (pkgs.fetchpatch {
|
||||||
url = "https://github.com/purescript/spago/pull/584/commits/898a8e48665e5a73ea03525ce2c973455ab9ac52.patch";
|
url = "https://github.com/purescript/spago/pull/616/commits/95b5fa0f1d3bfb07972d1ef5004b8bee8a070667.patch";
|
||||||
sha256 = "05gs1hjlcf60cr6728rhgwwgxp3ildly14v4l2lrh6ma2fljhyjy";
|
sha256 = "0v3890lwhddfrq9mhbq92962pkxra8kwbin97wg3s0b02dk65ysc";
|
||||||
});
|
});
|
||||||
|
|
||||||
# Spago basically compiles with LTS-14, but it requires a newer version
|
# Spago basically compiles with LTS-14, but it requires a newer version
|
||||||
# of directory. This is to work around a bug only present on windows, so
|
# of directory. This is to work around a bug only present on windows, so
|
||||||
# we can safely jailbreak spago and use the older directory package from
|
# we can safely jailbreak spago and use the older directory package from
|
||||||
# LTS-14.
|
# LTS-14.
|
||||||
spagoWithOverrides = doJailbreak (spagoWithPatches.override {
|
spagoWithOverrides = doJailbreak spagoWithPatches;
|
||||||
# spago requires dhall-1.29.0.
|
|
||||||
dhall = self.dhall_1_29_0;
|
|
||||||
});
|
|
||||||
|
|
||||||
# This defines the version of the purescript-docs-search release we are using.
|
# This defines the version of the purescript-docs-search release we are using.
|
||||||
# This is defined in the src/Spago/Prelude.hs file in the spago source.
|
# This is defined in the src/Spago/Prelude.hs file in the spago source.
|
||||||
|
@ -742,4 +724,13 @@ self: super: builtins.intersectAttrs super {
|
||||||
# dhall_1_29_0 is no longer used, since more recent versions of dhall don't
|
# dhall_1_29_0 is no longer used, since more recent versions of dhall don't
|
||||||
# access the network in checks.
|
# access the network in checks.
|
||||||
dhall_1_29_0 = dontCheck super.dhall_1_29_0;
|
dhall_1_29_0 = dontCheck super.dhall_1_29_0;
|
||||||
|
|
||||||
|
cut-the-crap =
|
||||||
|
let path = pkgs.stdenv.lib.makeBinPath [ pkgs.ffmpeg ];
|
||||||
|
in overrideCabal (addBuildTool super.cut-the-crap pkgs.makeWrapper) (_drv: {
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/cut-the-crap \
|
||||||
|
--prefix PATH : "${path}"
|
||||||
|
'';
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,62 +4,91 @@ with haskellLib;
|
||||||
|
|
||||||
self: super:
|
self: super:
|
||||||
let
|
let
|
||||||
|
# This contains updates to the dependencies, without which it would
|
||||||
|
# be even more work to get it to build.
|
||||||
|
# As of 2020-04, there's no new release in sight, which is why we're
|
||||||
|
# pulling from Github.
|
||||||
tensorflow-haskell = pkgs.fetchFromGitHub {
|
tensorflow-haskell = pkgs.fetchFromGitHub {
|
||||||
owner = "tensorflow";
|
owner = "tensorflow";
|
||||||
repo = "haskell";
|
repo = "haskell";
|
||||||
rev = "85bf0bb12cecfcdfcf31dea43b67cbe44576f685";
|
rev = "0f322b2e0611cbe7011c84ba8b6cb822e4725ebc";
|
||||||
sha256 = "1xbwc8y4a7n2163g746dpyh1q86rbxaw3d41kcy1mbhvmfqq56x7";
|
sha256 = "15gn66i547q20sd50ixwm6yk1g00syfgxp8xa6xjd0i3kcsl3gs1";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
setSourceRoot = dir: drv: drv.overrideAttrs (_oldAttrs: {sourceRoot = "source/${dir}";});
|
setTensorflowSourceRoot = dir: drv:
|
||||||
|
(overrideCabal drv (drv: { src = tensorflow-haskell; }))
|
||||||
|
.overrideAttrs (_oldAttrs: {sourceRoot = "source/${dir}";});
|
||||||
|
|
||||||
proto-lens = self.proto-lens;
|
proto-lens = self.proto-lens_0_5_1_0;
|
||||||
proto-lens-protoc = self.proto-lens-protoc;
|
proto-lens-protoc = self.proto-lens-protoc_0_5_0_0;
|
||||||
proto-lens-protobuf-types = self.proto-lens-protobuf-types;
|
proto-lens-runtime = self.proto-lens-runtime_0_5_0_0;
|
||||||
mainland-pretty = self.mainland-pretty_0_6_2;
|
proto-lens-protobuf-types = self.proto-lens-protobuf-types_0_5_0_0;
|
||||||
|
proto-lens-setup = self.proto-lens-setup_0_4_0_2;
|
||||||
|
lens-family = self.lens-family_1_2_3;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
proto-lens = appendPatch super.proto-lens ./patches/proto-lens-0.2.2.0.patch;
|
lens-family_1_2_3 = super.lens-family_1_2_3.override {
|
||||||
proto-lens-descriptors = doJailbreak (super.proto-lens-descriptors.override {
|
lens-family-core = self.lens-family-core_1_2_3;
|
||||||
inherit proto-lens;
|
};
|
||||||
lens-labels = self.lens-labels_0_1_0_2;
|
|
||||||
});
|
proto-lens_0_5_1_0 = (appendPatch (doJailbreak super.proto-lens_0_5_1_0) ./patches/proto-lens-0.5.1.0.patch).override {
|
||||||
proto-lens-protoc = appendPatch (addBuildDepend (super.proto-lens-protoc.override {
|
inherit lens-family;
|
||||||
inherit proto-lens;
|
};
|
||||||
}) self.semigroups) ./patches/proto-lens-protoc-0.2.2.3.patch;
|
|
||||||
proto-lens-protobuf-types = doJailbreak (super.proto-lens-protobuf-types.override {
|
proto-lens-runtime_0_5_0_0 = doJailbreak (super.proto-lens-runtime_0_5_0_0.override {
|
||||||
inherit proto-lens proto-lens-protoc;
|
inherit lens-family proto-lens;
|
||||||
});
|
});
|
||||||
|
|
||||||
lens-labels_0_1_0_2 = doJailbreak super.lens-labels_0_1_0_2;
|
proto-lens-protoc_0_5_0_0 = doJailbreak (super.proto-lens-protoc_0_5_0_0.override {
|
||||||
|
inherit lens-family proto-lens;
|
||||||
|
haskell-src-exts = self.haskell-src-exts_1_19_1;
|
||||||
|
});
|
||||||
|
proto-lens-setup_0_4_0_2 = appendPatch (doJailbreak (super.proto-lens-setup_0_4_0_2.override {
|
||||||
|
inherit proto-lens-protoc;
|
||||||
|
})) ./patches/proto-lens-setup-0.4.0.2.patch;
|
||||||
|
|
||||||
haskell-src-exts_1_19_1 = appendPatch (doJailbreak super.haskell-src-exts_1_19_1) (
|
proto-lens-protobuf-types_0_5_0_0 = doJailbreak (super.proto-lens-protobuf-types_0_5_0_0.override {
|
||||||
|
inherit lens-family proto-lens proto-lens-runtime proto-lens-setup;
|
||||||
|
});
|
||||||
|
|
||||||
|
haskell-src-exts_1_19_1 = appendPatches (doJailbreak super.haskell-src-exts_1_19_1) [
|
||||||
# Adapt to the Semigroup–Monoid Proposal (enables building on GHC >= 8.4)
|
# Adapt to the Semigroup–Monoid Proposal (enables building on GHC >= 8.4)
|
||||||
pkgs.fetchpatch {
|
(pkgs.fetchpatch {
|
||||||
url = "https://github.com/haskell-suite/haskell-src-exts/commit/258e072fe9e37f94360b7488b58ea2832843bbb8.patch";
|
url = https://github.com/haskell-suite/haskell-src-exts/commit/258e072fe9e37f94360b7488b58ea2832843bbb8.patch;
|
||||||
sha256 = "0ja6ai41v9plinlhjwja282m6ahn6mw4xi79np0jxqk83cg0z1ff";
|
sha256 = "0ja6ai41v9plinlhjwja282m6ahn6mw4xi79np0jxqk83cg0z1ff";
|
||||||
}
|
})
|
||||||
);
|
# Adapt to MonadFail proposal (enables building on GHC >= 8.8)
|
||||||
|
(pkgs.fetchpatch {
|
||||||
|
url = https://gist.githubusercontent.com/mikesperber/0f2addaf3fbe97ffb4a5234d8711ba41/raw/e09e20998283c7195e82d546ba9266d290eb000d/gistfile1.txt;
|
||||||
|
sha256 = "18clvli7vpqsqlf2f3qidn71738j9zdlpana6wha3x0dxwan5ly0";
|
||||||
|
}) ];
|
||||||
|
|
||||||
tensorflow-proto = super.tensorflow-proto.override {
|
tensorflow-proto = (setTensorflowSourceRoot "tensorflow-proto" super.tensorflow-proto).override {
|
||||||
inherit proto-lens proto-lens-protobuf-types;
|
inherit proto-lens proto-lens-runtime proto-lens-setup proto-lens-protobuf-types;
|
||||||
};
|
};
|
||||||
tensorflow = super.tensorflow.override {
|
|
||||||
inherit mainland-pretty proto-lens;
|
tensorflow = (setTensorflowSourceRoot "tensorflow" super.tensorflow).override {
|
||||||
|
inherit lens-family proto-lens;
|
||||||
|
# the "regular" Python package does not seem to include the binary library
|
||||||
|
libtensorflow = pkgs.libtensorflow-bin;
|
||||||
};
|
};
|
||||||
tensorflow-core-ops = super.tensorflow-core-ops.override {
|
|
||||||
inherit mainland-pretty proto-lens;
|
tensorflow-core-ops = (setTensorflowSourceRoot "tensorflow-core-ops" super.tensorflow-core-ops).override {
|
||||||
|
inherit lens-family proto-lens;
|
||||||
};
|
};
|
||||||
tensorflow-logging = super.tensorflow-logging.override {
|
|
||||||
inherit proto-lens;
|
tensorflow-logging = (setTensorflowSourceRoot "tensorflow-logging" super.tensorflow-logging).override {
|
||||||
|
inherit lens-family proto-lens;
|
||||||
};
|
};
|
||||||
tensorflow-mnist = overrideCabal (super.tensorflow-mnist.override {
|
|
||||||
inherit proto-lens;
|
tensorflow-mnist = (setTensorflowSourceRoot "tensorflow-mnist" super.tensorflow-mnist).override {
|
||||||
|
inherit lens-family proto-lens;
|
||||||
# https://github.com/tensorflow/haskell/issues/215
|
# https://github.com/tensorflow/haskell/issues/215
|
||||||
tensorflow-mnist-input-data = self.tensorflow-mnist-input-data;
|
tensorflow-mnist-input-data = self.tensorflow-mnist-input-data;
|
||||||
}) (_drv: { broken = false; });
|
};
|
||||||
tensorflow-mnist-input-data = setSourceRoot "tensorflow-mnist-input-data" (super.callPackage (
|
|
||||||
|
tensorflow-mnist-input-data = setTensorflowSourceRoot "tensorflow-mnist-input-data" (super.callPackage (
|
||||||
{ mkDerivation, base, bytestring, Cabal, cryptonite, directory
|
{ mkDerivation, base, bytestring, Cabal, cryptonite, directory
|
||||||
, filepath, HTTP, network-uri, stdenv
|
, filepath, HTTP, network-uri, stdenv
|
||||||
}:
|
}:
|
||||||
|
@ -80,7 +109,6 @@ in
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
pname = "tensorflow-mnist-input-data";
|
pname = "tensorflow-mnist-input-data";
|
||||||
version = "0.1.0.0";
|
version = "0.1.0.0";
|
||||||
src = tensorflow-haskell;
|
|
||||||
enableSeparateDataOutput = true;
|
enableSeparateDataOutput = true;
|
||||||
setupHaskellDepends = [
|
setupHaskellDepends = [
|
||||||
base bytestring Cabal cryptonite directory filepath HTTP
|
base bytestring Cabal cryptonite directory filepath HTTP
|
||||||
|
@ -95,10 +123,12 @@ in
|
||||||
license = stdenv.lib.licenses.asl20;
|
license = stdenv.lib.licenses.asl20;
|
||||||
}
|
}
|
||||||
) {});
|
) {});
|
||||||
tensorflow-opgen = super.tensorflow-opgen.override {
|
|
||||||
inherit mainland-pretty proto-lens;
|
tensorflow-opgen = (setTensorflowSourceRoot "tensorflow-opgen" super.tensorflow-opgen).override {
|
||||||
|
inherit lens-family proto-lens;
|
||||||
};
|
};
|
||||||
tensorflow-ops = super.tensorflow-ops.override {
|
|
||||||
inherit proto-lens;
|
tensorflow-ops = (setTensorflowSourceRoot "tensorflow-ops" super.tensorflow-ops).override {
|
||||||
|
inherit lens-family proto-lens;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue