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