Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
John Ericson 2020-04-17 18:40:51 -04:00
commit 33c2a76c5e
201 changed files with 10159 additions and 5361 deletions

View file

@ -101,10 +101,10 @@ to compile your Haskell packages with any GHC version you please. The following
command displays the complete list of available compilers: command displays the complete list of available compilers:
``` ```
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler $ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
haskell.compiler.ghc8101 ghc-8.10.0.20191210 haskell.compiler.ghc8101 ghc-8.10.1
haskell.compiler.integer-simple.ghc8101 ghc-8.10.0.20191210 haskell.compiler.integer-simple.ghc8101 ghc-8.10.1
haskell.compiler.ghcHEAD ghc-8.10.20191119 haskell.compiler.ghcHEAD ghc-8.11.20200403
haskell.compiler.integer-simple.ghcHEAD ghc-8.10.20191119 haskell.compiler.integer-simple.ghcHEAD ghc-8.11.20200403
haskell.compiler.ghc822Binary ghc-8.2.2-binary haskell.compiler.ghc822Binary ghc-8.2.2-binary
haskell.compiler.ghc844 ghc-8.4.4 haskell.compiler.ghc844 ghc-8.4.4
haskell.compiler.ghc863Binary ghc-8.6.3-binary haskell.compiler.ghc863Binary ghc-8.6.3-binary

View file

@ -4225,6 +4225,12 @@
githubId = 32152; githubId = 32152;
name = "Luka Blaskovic"; name = "Luka Blaskovic";
}; };
lbpdt = {
email = "nix@pdtpartners.com";
github = "lbpdt";
githubId = 45168934;
name = "Louis Blin";
};
ldelelis = { ldelelis = {
email = "ldelelis@est.frba.utn.edu.ar"; email = "ldelelis@est.frba.utn.edu.ar";
github = "ldelelis"; github = "ldelelis";
@ -8431,6 +8437,12 @@
githubId = 250877; githubId = 250877;
name = "Elmar Athmer"; name = "Elmar Athmer";
}; };
zakkor = {
email = "edward.dalbon@gmail.com";
github = "zakkor";
githubId = 6191421;
name = "Edward d'Albon";
};
zef = { zef = {
email = "zef@zef.me"; email = "zef@zef.me";
name = "Zef Hemel"; name = "Zef Hemel";

View file

@ -238,6 +238,7 @@
./services/backup/zfs-replication.nix ./services/backup/zfs-replication.nix
./services/backup/znapzend.nix ./services/backup/znapzend.nix
./services/cluster/hadoop/default.nix ./services/cluster/hadoop/default.nix
./services/cluster/k3s/default.nix
./services/cluster/kubernetes/addons/dns.nix ./services/cluster/kubernetes/addons/dns.nix
./services/cluster/kubernetes/addons/dashboard.nix ./services/cluster/kubernetes/addons/dashboard.nix
./services/cluster/kubernetes/addon-manager.nix ./services/cluster/kubernetes/addon-manager.nix

View file

@ -321,12 +321,6 @@ in
wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ]; wantedBy = mkIf (!config.boot.isContainer) [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
# With RemainAfterExit the service is considered active even
# after the main process having exited, which means when it
# gets changed, the activation phase restarts it, meaning
# the permissions of the StateDirectory get adjusted
# according to the specified group
RemainAfterExit = true;
User = data.user; User = data.user;
Group = data.group; Group = data.group;
PrivateTmp = true; PrivateTmp = true;

View file

@ -13,11 +13,11 @@ let
mopidyEnv = buildEnv { mopidyEnv = buildEnv {
name = "mopidy-with-extensions-${mopidy.version}"; name = "mopidy-with-extensions-${mopidy.version}";
paths = closePropagation cfg.extensionPackages; paths = closePropagation cfg.extensionPackages;
pathsToLink = [ "/${python3.sitePackages}" ]; pathsToLink = [ "/${mopidyPackages.python.sitePackages}" ];
buildInputs = [ makeWrapper ]; buildInputs = [ makeWrapper ];
postBuild = '' postBuild = ''
makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \ makeWrapper ${mopidy}/bin/mopidy $out/bin/mopidy \
--prefix PYTHONPATH : $out/${python3.sitePackages} --prefix PYTHONPATH : $out/${mopidyPackages.python.sitePackages}
''; '';
}; };
in { in {

View 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 ]
);
};
};
};
}

View file

@ -33,6 +33,7 @@
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation"> <link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
installation instructions of Synapse </link>. installation instructions of Synapse </link>.
<programlisting> <programlisting>
{ pkgs, ... }:
let let
fqdn = fqdn =
let let
@ -46,7 +47,7 @@ in {
<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ]; <link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];
<link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true; <link linkend="opt-services.postgresql.enable">services.postgresql.enable</link> = true;
<link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = '' <link linkend="opt-services.postgresql.initialScript">services.postgresql.initialScript</link> = pkgs.writeText "synapse-init.sql" ''
CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse'; CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD 'synapse';
CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse" CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
TEMPLATE template0 TEMPLATE template0

View file

@ -55,7 +55,7 @@ in
<screen> <screen>
<prompt># </prompt>ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key <prompt># </prompt>ssh-keygen -t rsa -N "" -f /etc/secrets/initrd/ssh_host_rsa_key
<prompt># </prompt>ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed_25519_key <prompt># </prompt>ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key
</screen> </screen>
<warning> <warning>

View file

@ -137,6 +137,8 @@ let
''} ''}
# Copy secrets if needed. # Copy secrets if needed.
#
# TODO: move out to a separate script; see #85000.
${optionalString (!config.boot.loader.supportsInitrdSecrets) ${optionalString (!config.boot.loader.supportsInitrdSecrets)
(concatStringsSep "\n" (mapAttrsToList (dest: source: (concatStringsSep "\n" (mapAttrsToList (dest: source:
let source' = if source == null then dest else source; in let source' = if source == null then dest else source; in
@ -579,6 +581,25 @@ in
message = "boot.resumeDevice has to be an absolute path." message = "boot.resumeDevice has to be an absolute path."
+ " Old \"x:y\" style is no longer supported."; + " Old \"x:y\" style is no longer supported.";
} }
# TODO: remove when #85000 is fixed
{ assertion = !config.boot.loader.supportsInitrdSecrets ->
all (source:
builtins.isPath source ||
(builtins.isString source && hasPrefix source builtins.storeDir))
(attrValues config.boot.initrd.secrets);
message = ''
boot.loader.initrd.secrets values must be unquoted paths when
using a bootloader that doesn't natively support initrd
secrets, e.g.:
boot.initrd.secrets = {
"/etc/secret" = /path/to/secret;
};
Note that this will result in all secrets being stored
world-readable in the Nix store!
'';
}
]; ];
system.build = system.build =

View file

@ -146,6 +146,7 @@ in
jellyfin = handleTest ./jellyfin.nix {}; jellyfin = handleTest ./jellyfin.nix {};
jenkins = handleTest ./jenkins.nix {}; jenkins = handleTest ./jenkins.nix {};
jirafeau = handleTest ./jirafeau.nix {}; jirafeau = handleTest ./jirafeau.nix {};
k3s = handleTest ./k3s.nix {};
kafka = handleTest ./kafka.nix {}; kafka = handleTest ./kafka.nix {};
keepalived = handleTest ./keepalived.nix {}; keepalived = handleTest ./keepalived.nix {};
kerberos = handleTest ./kerberos/default.nix {}; kerberos = handleTest ./kerberos/default.nix {};

View file

@ -1,8 +1,14 @@
{ system ? builtins.currentSystem, ... }: { system ? builtins.currentSystem
, pkgs ? import ../../.. { inherit system; }
, ...
}:
let inherit (import ./common.nix { inherit system; }) baseConfig; in let inherit (import ./common.nix { inherit system; }) baseConfig; in
{ mig = import ../make-test-python.nix ({ pkgs, lib, ... }: { with import ../../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
{ mig = makeTest {
name = "hydra-db-migration"; name = "hydra-db-migration";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ma27 ]; maintainers = [ ma27 ];
@ -82,5 +88,5 @@ let inherit (import ./common.nix { inherit system; }) baseConfig; in
original.shutdown() original.shutdown()
''; '';
}); };
} }

78
nixos/tests/k3s.nix Normal file
View 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")
'';
})

View file

@ -1,44 +1,41 @@
{ stdenv, fetchFromGitHub, python3Packages, wrapGAppsHook { newScope, python }:
, gst_all_1, glib-networking, gobject-introspection
}:
python3Packages.buildPythonApplication rec { # Create a custom scope so we are consistent in which python version is used
pname = "mopidy";
version = "3.0.2"; let
callPackage = newScope self;
self = {
inherit python;
pythonPackages = python.pkgs;
mopidy = callPackage ./mopidy.nix { };
mopidy-gmusic = callPackage ./gmusic.nix { };
mopidy-local-images = callPackage ./local-images.nix { };
mopidy-local-sqlite = callPackage ./local-sqlite.nix { };
mopidy-spotify = callPackage ./spotify.nix { };
mopidy-moped = callPackage ./moped.nix { };
mopidy-mopify = callPackage ./mopify.nix { };
mopidy-mpd = callPackage ./mpd.nix { };
mopidy-spotify-tunigo = callPackage ./spotify-tunigo.nix { };
mopidy-youtube = callPackage ./youtube.nix { };
mopidy-soundcloud = callPackage ./soundcloud.nix { };
mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
mopidy-iris = callPackage ./iris.nix { };
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
rev = "v${version}";
sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
}; };
nativeBuildInputs = [ wrapGAppsHook ]; in self
buildInputs = with gst_all_1; [
gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
glib-networking gobject-introspection
];
propagatedBuildInputs = with python3Packages; [
gst-python pygobject3 pykka tornado_4 requests setuptools
] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python;
# There are no tests
doCheck = false;
preFixup = ''
gappsWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH")
'';
meta = with stdenv.lib; {
homepage = "https://www.mopidy.com/";
description = ''
An extensible music server that plays music from local disk, Spotify,
SoundCloud, Google Play Music, and more
'';
license = licenses.asl20;
maintainers = [ maintainers.fpletz ];
hydraPlatforms = [];
};
}

View 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 = [];
};
}

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, python3Packages, mopidy }: { stdenv, fetchurl, pythonPackages, mopidy }:
python3Packages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
pname = "mopidy-spotify"; pname = "mopidy-spotify";
version = "4.0.1"; version = "4.0.1";
@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f"; sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
}; };
propagatedBuildInputs = [ mopidy python3Packages.pyspotify ]; propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
doCheck = false; doCheck = false;

View file

@ -1,5 +1,5 @@
{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender { stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender
, zlib, jdk, glib, gtk3, libXtst, gsettings-desktop-schemas, webkitgtk , zlib, jdk, glib, gtk, libXtst, gsettings-desktop-schemas, webkitgtk
, makeWrapper, ... }: , makeWrapper, ... }:
{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }: { name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }:
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
fontconfig freetype glib gsettings-desktop-schemas gtk3 jdk libX11 fontconfig freetype glib gsettings-desktop-schemas gtk jdk libX11
libXrender libXtst makeWrapper zlib libXrender libXtst makeWrapper zlib
] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk; ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk;
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
makeWrapper $out/eclipse/eclipse $out/bin/eclipse \ makeWrapper $out/eclipse/eclipse $out/bin/eclipse \
--prefix PATH : ${jdk}/bin \ --prefix PATH : ${jdk}/bin \
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk3 libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \ --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk libXtst ] ++ stdenv.lib.optional (webkitgtk != null) webkitgtk)} \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration" --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration"

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper { stdenv, fetchurl, makeDesktopItem, makeWrapper
, freetype, fontconfig, libX11, libXrender, zlib , freetype, fontconfig, libX11, libXrender, zlib
, glib, gtk3, libXtst, jdk, gsettings-desktop-schemas , glib, gtk3, gtk2, libXtst, jdk, jdk8, gsettings-desktop-schemas
, webkitgtk ? null # for internal web browser , webkitgtk ? null # for internal web browser
, buildEnv, runCommand , buildEnv, runCommand
, callPackage , callPackage
@ -17,11 +17,12 @@ let
year = "2020"; year = "2020";
month = "03"; month = "03";
timestamp = "${year}${month}050155"; timestamp = "${year}${month}050155";
gtk = gtk3;
in rec { in rec {
buildEclipse = import ./build-eclipse.nix { buildEclipse = callPackage ./build-eclipse.nix {
inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib
jdk glib gtk3 libXtst gsettings-desktop-schemas webkitgtk jdk glib gtk libXtst gsettings-desktop-schemas webkitgtk
makeWrapper; makeWrapper;
}; };
@ -63,19 +64,14 @@ in rec {
### Eclipse Scala SDK ### Eclipse Scala SDK
eclipse-scala-sdk = buildEclipse { eclipse-scala-sdk =
name = "eclipse-scala-sdk-4.4.1"; buildEclipse.override { jdk = jdk8; gtk = gtk2; } {
description = "Eclipse IDE for Scala Developers"; name = "eclipse-scala-sdk-4.7.0";
src = description = "Eclipse IDE for Scala Developers";
if stdenv.hostPlatform.system == "x86_64-linux" then src =
fetchurl { # tested fetchurl {
url = "https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86_64.tar.gz"; url = "https://downloads.typesafe.com/scalaide-pack/4.7.0-vfinal-oxygen-212-20170929/scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz";
sha256 = "4c2d1ac68384e12a11a851cf0fc7757aea087eba69329b21d539382a65340d27"; sha256 = "1n5w2a7mh9ajv6fxcas1gpgwb04pdxbr9v5dzr67gsz5bhahq4ya";
}
else
fetchurl { # untested
url = "https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86.tar.gz";
sha256 = "35383cb09567187e14a30c15de9fd9aa0eef99e4bbb342396ce3acd11fb5cbac";
}; };
}; };

View file

@ -13,6 +13,6 @@ trivialBuild rec {
description = "Major mode for editing .pod-files"; description = "Major mode for editing .pod-files";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ qyliss ]; maintainers = with maintainers; [ qyliss ];
platform = platforms.all; platforms = platforms.all;
}; };
} }

View file

@ -17,6 +17,6 @@ trivialBuild {
homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el"; homepage = "http://bigwalter.net/daniel/elisp/sv-kalender.el";
platforms = platforms.all; platforms = platforms.all;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = [ maintainer.rycee ]; maintainers = [ maintainers.rycee ];
}; };
} }

View file

@ -11,8 +11,8 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "0q1fk5a4ymndnyxzps8960y1rl657q95i2rydbqyjl37y79wmllx"; x86_64-linux = "15jg39hmlnicq0zrz77yar1bmn5y6gp2670dya2qm5klhva9hd0f";
x86_64-darwin = "02ybgp6v1ray4a867hihp2fvc872ilqla6z52qv90dfjx69g77ib"; x86_64-darwin = "1ghqhn46jpbj3is8q5zcj0biyc7gwinhiz3qdpcnf88ga2blcsz8";
}.${system}; }.${system};
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
@ -21,7 +21,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.44.0"; version = "1.44.1";
pname = "vscode"; pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";

View file

@ -11,8 +11,8 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "1prv4rzr5z905s6jnmkmd97zr5kz8nn4m9bil483bnx4wqr2k10g"; x86_64-linux = "16qwhnxpwarnwvlxwvy13g687g1cnfzysq16qkykkhqig0cnalmb";
x86_64-darwin = "1p0a94i80s7fq6ars01bvr41qxiq35s0r6crfv857ma01g9ia7k3"; x86_64-darwin = "1p9qkbj59bfc0kn9fzg99gqxbzwxq297qxivxcjflsapd712s4vm";
}.${system}; }.${system};
sourceRoot = { sourceRoot = {
@ -27,7 +27,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.44.0"; version = "1.44.1";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";

View file

@ -1,8 +1,8 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript { stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript
, libjpeg, libpng, qtbase , libjpeg, libpng, qtbase, mkDerivation
}: }:
stdenv.mkDerivation rec { mkDerivation rec {
name = "ipe-7.2.13"; name = "ipe-7.2.13";
src = fetchurl { src = fetchurl {
@ -20,13 +20,9 @@ stdenv.mkDerivation rec {
libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript
]; ];
nativeBuildInputs = [ makeWrapper pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
postFixup = '' qtWrapperArgs = [ ''--prefix PATH : ${texlive}/bin'' ];
for prog in $out/bin/*; do
wrapProgram "$prog" --prefix PATH : "${texlive}/bin"
done
'';
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -17,6 +17,9 @@ mkDerivation rec {
sha256 = "1sx4j4brk71bas3cpqzk4bd8bknyl3x4fdg5pv4r7pcfd3vpq2vy"; sha256 = "1sx4j4brk71bas3cpqzk4bd8bknyl3x4fdg5pv4r7pcfd3vpq2vy";
}; };
# *somtimes* fails with can't find ui_manager.h, also see https://github.com/NixOS/nixpkgs/issues/35359
enableParallelBuilding = false;
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ]; nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip makeWrapper ];
buildInputs = [ buildInputs = [

View file

@ -13,8 +13,9 @@ stdenv.mkDerivation rec {
inherit patches; inherit patches;
configFile = optionalString (conf!=null) (writeText "config.def.h" conf); prePatch = optionalString (conf != null) ''
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; cp ${writeText "config.def.h" conf} config.def.h
'';
nativeBuildInputs = [ pkgconfig ncurses ]; nativeBuildInputs = [ pkgconfig ncurses ];
buildInputs = [ libX11 libXft ] ++ extraLibs; buildInputs = [ libX11 libXft ] ++ extraLibs;

View 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;
};
}

View 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 ];
};
}

View file

@ -20,7 +20,7 @@
}: }:
let let
llvmPackages = if channel == "dev" llvmPackages = if channel != "stable"
then llvmPackages_10 then llvmPackages_10
else llvmPackages_9; else llvmPackages_9;
stdenv = llvmPackages.stdenv; stdenv = llvmPackages.stdenv;
@ -35,7 +35,7 @@ let
mkChromiumDerivation = callPackage ./common.nix ({ mkChromiumDerivation = callPackage ./common.nix ({
inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone; inherit gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport useVaapi useOzone;
gnChromium = gn; gnChromium = gn;
} // lib.optionalAttrs (channel == "dev") { } // lib.optionalAttrs (channel != "stable") {
# TODO: Remove after we can update gn for the stable channel (backward incompatible changes): # TODO: Remove after we can update gn for the stable channel (backward incompatible changes):
gnChromium = gn.overrideAttrs (oldAttrs: { gnChromium = gn.overrideAttrs (oldAttrs: {
version = "2020-03-23"; version = "2020-03-23";

View file

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory. # This file is autogenerated from update.sh in the same directory.
{ {
beta = { beta = {
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2"; sha256 = "1s16wl101yabq0l7w0q50lxkr2gn090pcaj6l5sj6g5xvi9lhgbf";
sha256bin64 = "1y70kmfz9nv507b0zdda7zfk2ac9qh9m2gq00aphdmzd0al7skj8"; sha256bin64 = "0k6fsqlpiwp9vds83hb3cg9xf74hqgbfdm3ijyad2rmwc5rqk0ax";
version = "81.0.4044.92"; version = "83.0.4103.14";
}; };
dev = { dev = {
sha256 = "1rydvjmv62zj95sf0fgsyipqz2hphbxm60y8q0813wq9ym35d4yy"; sha256 = "0djppzwzpfyyfjb1mhy5wws2379m3wpzyk2x3kw5nd0mdz35hbny";
sha256bin64 = "1m6740lw7xjjp1lplwp9ii4d3l7dfa9jrv5bysm4ar5pb9kywrai"; sha256bin64 = "1wg55qhfvd5zvigjl6496za81mh9b2c5da53zy07bk8wj91ly8pf";
version = "83.0.4100.3"; version = "84.0.4115.5";
}; };
stable = { stable = {
sha256 = "0i0szd749ihb08rxnsmsbxq75b6x952wpk94jwc0ncv6gb83zkx2"; sha256 = "0hsxxw7fm1p8g53msqb644v8vr4cpvjmpln444c2268rm43yik17";
sha256bin64 = "1ig899cpahw1xfhdff5xj6w4k8jja5smxvrcbw6b0jcjmawdrf72"; sha256bin64 = "0ap7flrw3h885454fa2r7psa4sh8567ql7v7x96q11gh9gjrdvp3";
version = "81.0.4044.92"; version = "81.0.4044.113";
}; };
} }

View file

@ -2,10 +2,8 @@
## various stuff that can be plugged in ## various stuff that can be plugged in
, flashplayer, hal-flash , flashplayer, hal-flash
, MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd , ffmpeg, xorg, libpulseaudio, libcanberra-gtk2, libglvnd
, jrePlugin, adoptopenjdk-icedtea-web , gnome3/*.gnome-shell*/
, bluejeans, djview4, adobe-reader
, google_talk_plugin, fribid, gnome3/*.gnome-shell*/
, browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow , browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow
, tridactyl-native , tridactyl-native
, fx_cast_bridge , fx_cast_bridge
@ -26,7 +24,6 @@ let
(lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName) (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
, nameSuffix ? "" , nameSuffix ? ""
, icon ? browserName , icon ? browserName
, extraPlugins ? []
, extraNativeMessagingHosts ? [] , extraNativeMessagingHosts ? []
, gdkWayland ? false , gdkWayland ? false
, cfg ? config.${browserName} or {} , cfg ? config.${browserName} or {}
@ -38,32 +35,25 @@ let
enableAdobeFlash = cfg.enableAdobeFlash or false; enableAdobeFlash = cfg.enableAdobeFlash or false;
ffmpegSupport = browser.ffmpegSupport or false; ffmpegSupport = browser.ffmpegSupport or false;
gssSupport = browser.gssSupport or false; gssSupport = browser.gssSupport or false;
jre = cfg.jre or false;
icedtea = cfg.icedtea or false;
supportsJDK =
stdenv.hostPlatform.system == "i686-linux" ||
stdenv.hostPlatform.system == "x86_64-linux" ||
stdenv.hostPlatform.system == "armv7l-linux" ||
stdenv.hostPlatform.system == "aarch64-linux";
plugins = plugins =
assert !(jre && icedtea); let
if builtins.hasAttr "enableVLC" cfg removed = lib.filter (a: builtins.hasAttr a cfg) [
then throw "The option \"${browserName}.enableVLC\" has been removed since Firefox no longer supports npapi plugins" "enableVLC"
else "enableDjvu"
([ ] "enableMPlayer"
++ lib.optional enableAdobeFlash flashplayer "jre"
++ lib.optional (cfg.enableDjvu or false) (djview4) "icedtea"
++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser) "enableGoogleTalkPlugin"
++ lib.optional (supportsJDK && jre && jrePlugin ? mozillaPlugin) jrePlugin "enableFriBIDPlugin"
++ lib.optional icedtea adoptopenjdk-icedtea-web "enableGnomeExtensions"
++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin "enableBluejeans"
++ lib.optional (cfg.enableFriBIDPlugin or false) fribid "enableAdobeReader"
++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome-shell ];
++ lib.optional (cfg.enableBluejeans or false) bluejeans in if removed != []
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader then throw "Your configuration mentions ${lib.concatMapStringsSep ", " (p: browserName + "." + p) removed}. All plugin related options, except for the adobe flash player, have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins)."
++ extraPlugins else lib.optional enableAdobeFlash flashplayer;
);
nativeMessagingHosts = nativeMessagingHosts =
([ ] ([ ]
++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass) ++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass)

View file

@ -108,7 +108,7 @@ in stdenv.mkDerivation {
--replace /opt/google/$appname/google-$appname $exe --replace /opt/google/$appname/google-$appname $exe
substituteInPlace $out/share/menu/google-$appname.menu \ substituteInPlace $out/share/menu/google-$appname.menu \
--replace /opt $out/share \ --replace /opt $out/share \
--replace $out/share/google/chrome/google-$appname $exe --replace $out/share/google/$appname/google-$appname $exe
for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
num_and_suffix="''${icon_file##*logo_}" num_and_suffix="''${icon_file##*logo_}"

View file

@ -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;
};
}

View file

@ -1,4 +0,0 @@
source $stdenv/setup
export PREFIX=$out
configureFlags="--plugin-path=$out/lib/mozilla/plugins"
genericBuild

View file

@ -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;
};
}

View file

@ -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 {

View file

@ -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:

View file

@ -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

View file

@ -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 ];
};
}

View file

@ -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);
}

View file

@ -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;
};
}

View file

@ -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+" ];
};
}

View file

@ -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;
};
}

View file

@ -1,4 +0,0 @@
name nspluginwrapper
target default.nix
url http://nspluginwrapper.org/download/
version_link /nspluginwrapper-[0-9]+

View file

@ -15,13 +15,13 @@ with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kubernetes"; pname = "kubernetes";
version = "1.18.0"; version = "1.18.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubernetes"; owner = "kubernetes";
repo = "kubernetes"; repo = "kubernetes";
rev = "v${version}"; rev = "v${version}";
sha256 = "1jp54aahwpx9w73byfyadgffrig9fy6x8xzw27xv0anj2v9bm1fw"; sha256 = "1z109h0jqqfxvgyhmxsiggf6fb9kdrwvmv9wdi1n58n4yk65hvl6";
}; };
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ]; nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];

View file

@ -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 ];
};
}

View file

@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "jitsi-meet-electron"; pname = "jitsi-meet-electron";
version = "2.0.0"; version = "2.0.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage"; url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
sha256 = "11ci9dqhy8hkb4fwykjvcvai20ahqhjil825n1y1xf663ch8by93"; sha256 = "04y3qn2clvsfiyp9s6ib09mfxspv3kpr9248sda8s09n1cm0jpps";
name="${pname}-${version}.AppImage"; name="${pname}-${version}.AppImage";
}; };

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pidgin-carbons"; pname = "pidgin-carbons";
version = "0.1.3"; version = "0.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gkdr"; owner = "gkdr";
repo = "carbons"; repo = "carbons";
rev = "v${version}"; rev = "v${version}";
sha256 = "05hcqvsirb7gnpfcszsrgal5q7dajl2wdi2dy7c41zgl377syavw"; sha256 = "1aq9bwgpmbwrigq6ywf0pjkngqcm0qxncygaj1fi57npjhcjs6ln";
}; };
makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ]; makeFlags = [ "PURPLE_PLUGIN_DIR=$(out)/lib/pidgin" ];
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
description = "XEP-0280: Message Carbons plugin for libpurple"; description = "XEP-0280: Message Carbons plugin for libpurple";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ jb55 ]; maintainers = with maintainers; [ ];
}; };
} }

View file

@ -23,7 +23,7 @@ let
else ""); else "");
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "signal-desktop"; pname = "signal-desktop";
version = "1.33.0"; # Please backport all updates to the stable channel. version = "1.33.1"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release. # All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is # When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with: # applied. The expiration date for the current release can be extracted with:
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "0s403243cm8x3daj4p7cpp5z0hwmsnk21cq42zcfls2q5d30p6wz"; sha256 = "0p9ak0cmk9b77dzbw4y2xmxqg211y62n7ckggwf7bcg48wzj0jy7";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,19 +1,29 @@
{ stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript { stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib , lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, mailcap, runtimeShell, sqlite, zlib
, fetchpatch
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "20200320"; version = "20200417";
pname = "neomutt"; pname = "neomutt";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "neomutt"; owner = "neomutt";
repo = "neomutt"; repo = "neomutt";
rev = version; rev = version;
sha256 = "06xcl9pr8dna4kqjaqm7ss50gdy185425bwl31i0xs3l11cyjap4"; sha256 = "0s7943r2s14kavyjf7i70vca252l626539i09a9vk0i9sfi35vx5";
}; };
patches = [
# Remove on next release. Fixes the `change-folder`
# macro (https://github.com/neomutt/neomutt/issues/2268)
(fetchpatch {
url = "https://github.com/neomutt/neomutt/commit/9e7537caddb9c6adc720bb3322a7512cf51ab025.patch";
sha256 = "1vmlvgnhx1ra3rnyjkpkv6lrqw8xfh2kkmqp43fqn9lnk3pkjxvv";
})
];
buildInputs = [ buildInputs = [
cyrus_sasl gss gpgme kerberos libidn ncurses cyrus_sasl gss gpgme kerberos libidn ncurses
notmuch openssl perl lmdb notmuch openssl perl lmdb
@ -75,7 +85,20 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
preCheck = ''
cp -r ${fetchFromGitHub {
owner = "neomutt";
repo = "neomutt-test-files";
rev = "1ee274e9ae1330fb901eb7b8275b3079d7869222";
sha256 = "0dhilz4rr7616jh8jcvh50a3rr09in43nsv72mm6f3vfklcqincp";
}} $(pwd)/test-files
(cd test-files && ./setup.sh)
export NEOMUTT_TEST_DIR=$(pwd)/test-files
'';
checkTarget = "test"; checkTarget = "test";
postCheck = "unset NEOMUTT_TEST_DIR";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A small but very powerful text-based mail client"; description = "A small but very powerful text-based mail client";

View file

@ -44,28 +44,40 @@ mkDerivation rec {
}; };
patches = [ patches = [
# Poppler patches from
# https://github.com/scribusproject/scribus/commits/master/scribus/plugins/import/pdf
# fix build with Poppler 0.82 # fix build with Poppler 0.82
( (fetchpatch {
fetchpatch { url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch"; sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939"; })
}
)
# fix build with Poppler 0.83 # fix build with Poppler 0.83
( (fetchpatch {
fetchpatch { url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch"; sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx"; })
}
)
# fix build with Poppler 0.84 # fix build with Poppler 0.84
# TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version # TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
( (fetchpatch {
fetchpatch { url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch"; sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y"; })
} # Formating changes needed for the Poppler 0.86 patch to apply
) (fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/58613b5ce44335f202a55ab15ed303d97fe274cb.patch";
sha256 = "qwmVAZVYCijLNMVGwnOLJE8223vcRwPWfEvNKiDjw5o=";
})
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/24aba508aac3f672f5f8cd629744a3b71e58ec37.patch";
sha256 = "sha256-OY+EIiGBTg2aIAmZOnkI8DPZVZYqFZAKnD7ychge1Dw=";
includes = [ "scribus/plugins/import/pdf/*" ];
})
# fix build with Poppler 0.86
(fetchpatch {
url = "https://github.com/scribusproject/scribus/commit/67f8771aaff2f55d61b8246f420e762f4b526944.patch";
sha256 = "51z+BYKhbH8a9dFph8X60NGpiogSb+5tOhW2d+m/X9M=";
})
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -12,7 +12,7 @@
, pythonPackages , pythonPackages
, uhd , uhd
, log4cpp , log4cpp
, openblas , blas, lapack
, matio , matio
, pugixml , pugixml
, protobuf , protobuf
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
# nothing to be gained by leaving it out. # nothing to be gained by leaving it out.
uhd uhd
log4cpp log4cpp
openblas blas lapack
matio matio
pugixml pugixml
protobuf protobuf
@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
# armadillo is built using both, so skip checking for them. # armadillo is built using both, so skip checking for them.
"-DBLAS=YES" "-DBLAS=YES"
"-DLAPACK=YES" "-DLAPACK=YES"
"-DBLAS_LIBRARIES=-lopenblas" "-DBLAS_LIBRARIES=-lblas"
"-DLAPACK_LIBRARIES=-lopenblas" "-DLAPACK_LIBRARIES=-llapack"
# Similarly, it doesn't actually use gfortran despite checking for # Similarly, it doesn't actually use gfortran despite checking for
# its presence. # its presence.

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, zlib, openblas, darwin}: { stdenv, fetchFromGitHub, zlib, blas, lapack, darwin}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "plink-ng"; pname = "plink-ng";
@ -11,14 +11,20 @@ stdenv.mkDerivation rec {
sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq"; sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq";
}; };
buildInputs = [ zlib ] ++ (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ openblas ]) ; buildInputs = [ zlib ] ++ (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ blas lapack ]) ;
buildPhase = '' preBuild = ''
sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h
${if stdenv.cc.isClang then "sed -i 's|g++|clang++|g' Makefile.std" else ""} ${if stdenv.cc.isClang then "sed -i 's|g++|clang++|g' Makefile.std" else ""}
make ZLIB=-lz ${if stdenv.isDarwin then "" else "BLASFLAGS=-lopenblas"} -f Makefile.std
makeFlagsArray+=(
ZLIB=-lz
BLASFLAGS="-lblas -lcblas -llapack"
);
''; '';
makefile = "Makefile.std";
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp plink $out/bin cp plink $out/bin
@ -31,4 +37,3 @@ stdenv.mkDerivation rec {
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };
} }

View file

@ -1,7 +1,9 @@
{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps { stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps
, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack, autoreconfHook , libyaml, libxc, fftw, blas, lapack, gsl, netcdf, arpack, autoreconfHook
}: }:
assert (!blas.is64bit) && (!lapack.is64bit);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "octopus"; pname = "octopus";
version = "9.2"; version = "9.2";
@ -14,12 +16,12 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ perl procps autoreconfHook ]; nativeBuildInputs = [ perl procps autoreconfHook ];
buildInputs = [ libyaml gfortran libxc openblas gsl fftw netcdf arpack ]; buildInputs = [ libyaml gfortran libxc blas lapack gsl fftw netcdf arpack ];
configureFlags = [ configureFlags = [
"--with-yaml-prefix=${libyaml}" "--with-yaml-prefix=${libyaml}"
"--with-blas=-lopenblas" "--with-blas=-lblas"
"--with-lapack=-lopenblas" "--with-lapack=-llapack"
"--with-fftw-prefix=${fftw.dev}" "--with-fftw-prefix=${fftw.dev}"
"--with-gsl-prefix=${gsl}" "--with-gsl-prefix=${gsl}"
"--with-libxc-prefix=${libxc}" "--with-libxc-prefix=${libxc}"

View file

@ -1,9 +1,11 @@
{ stdenv, fetchFromGitLab, cmake, gfortran, perl { stdenv, fetchFromGitLab, cmake, gfortran, perl
, openblas, hdf5-cpp, python3, texlive , openblas, blas, lapack, hdf5-cpp, python3, texlive
, armadillo, openmpi, globalarrays, openssh , armadillo, openmpi, globalarrays, openssh
, makeWrapper, fetchpatch , makeWrapper, fetchpatch
} : } :
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
let let
version = "19.11"; version = "19.11";
gitLabRev = "v${version}"; gitLabRev = "v${version}";

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl { stdenv, fetchurl
, gfortran, fftw, openblas , gfortran, fftw, blas, lapack
, mpi ? null , mpi ? null
}: }:
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
patchShebangs configure patchShebangs configure
''; '';
buildInputs = [ fftw openblas gfortran ] buildInputs = [ fftw blas lapack gfortran ]
++ (stdenv.lib.optionals (mpi != null) [ mpi ]); ++ (stdenv.lib.optionals (mpi != null) [ mpi ]);
configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ]; configureFlags = if (mpi != null) then [ "LD=${mpi}/bin/mpif90" ] else [ "LD=${gfortran}/bin/gfortran" ];

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl { stdenv, fetchurl
, gfortran, openblas , gfortran, blas, lapack
, mpi ? null, scalapack , mpi ? null, scalapack
}: }:
@ -16,7 +16,7 @@ stdenv.mkDerivation {
inherit mpi; inherit mpi;
}; };
buildInputs = [ openblas gfortran ] buildInputs = [ blas lapack gfortran ]
++ (stdenv.lib.optionals (mpi != null) [ mpi scalapack ]); ++ (stdenv.lib.optionals (mpi != null) [ mpi scalapack ]);
enableParallelBuilding = true; enableParallelBuilding = true;
@ -33,11 +33,11 @@ stdenv.mkDerivation {
makeFlagsArray=( makeFlagsArray=(
CC="mpicc" FC="mpifort" CC="mpicc" FC="mpifort"
FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="." FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="."
COMP_LIBS="" LIBS="-lopenblas -lscalapack" COMP_LIBS="" LIBS="-lblas -llapack -lscalapack"
); );
'' else '' '' else ''
makeFlagsArray=( makeFlagsArray=(
COMP_LIBS="" LIBS="-lopenblas" COMP_LIBS="" LIBS="-lblas -llapack"
); );
''; '';

View file

@ -2,7 +2,7 @@
# data, compression # data, compression
, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy , bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
# maths # maths
, openblasCompat, eigen, nlopt, lp_solve, colpack, liblapack, glpk , blas, lapack, eigen, nlopt, lp_solve, colpack, glpk
# libraries # libraries
, libarchive, libxml2 , libarchive, libxml2
# extra support # extra support
@ -13,6 +13,8 @@
assert pythonSupport -> pythonPackages != null; assert pythonSupport -> pythonPackages != null;
assert opencvSupport -> opencv != null; assert opencvSupport -> opencv != null;
assert (!blas.is64bit) && (!lapack.is64bit);
let let
pname = "shogun"; pname = "shogun";
version = "6.1.4"; version = "6.1.4";
@ -64,8 +66,8 @@ stdenv.mkDerivation rec {
CCACHE_DIR=".ccache"; CCACHE_DIR=".ccache";
buildInputs = with lib; [ buildInputs = with lib; [
openblasCompat bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo blas lapack bzip2 cmake colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
protobuf nlopt snappy swig (libarchive.dev) libxml2 liblapack glpk protobuf nlopt snappy swig (libarchive.dev) libxml2 lapack glpk
] ]
++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ]) ++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
++ optional (opencvSupport) opencv; ++ optional (opencvSupport) opencv;

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng { stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib , libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas , less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, blas, lapack
, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch , curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
, withRecommendedPackages ? true , withRecommendedPackages ? true
, enableStrictBarrier ? false , enableStrictBarrier ? false
@ -9,6 +9,8 @@
, static ? false , static ? false
}: }:
assert (!blas.is64bit) && (!lapack.is64bit);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "R-3.6.3"; name = "R-3.6.3";
@ -22,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
pango pcre perl readline texLive xz zlib less texinfo graphviz icu pango pcre perl readline texLive xz zlib less texinfo graphviz icu
pkgconfig bison imake which openblas curl tcl tk jdk pkgconfig bison imake which blas lapack curl tcl tk jdk
] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]; ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ];
patches = [ patches = [
@ -43,8 +45,8 @@ stdenv.mkDerivation rec {
configureFlagsArray=( configureFlagsArray=(
--disable-lto --disable-lto
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages --with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
--with-blas="-L${openblas}/lib -lopenblas" --with-blas="-L${blas}/lib -lblas"
--with-lapack="-L${openblas}/lib -lopenblas" --with-lapack="-L${lapack}/lib -llapack"
--with-readline --with-readline
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh" --with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
--with-cairo --with-cairo

View file

@ -9,7 +9,7 @@
, opencv3 , opencv3
, protobuf , protobuf
, doxygen , doxygen
, openblas , blas
, Accelerate, CoreGraphics, CoreVideo , Accelerate, CoreGraphics, CoreVideo
, lmdbSupport ? true, lmdb , lmdbSupport ? true, lmdb
, leveldbSupport ? true, leveldb, snappy , leveldbSupport ? true, leveldb, snappy
@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"] ++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
++ ["-DUSE_LMDB=${toggle lmdbSupport}"]; ++ ["-DUSE_LMDB=${toggle lmdbSupport}"];
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 openblas ] buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 blas ]
++ lib.optional cudaSupport cudatoolkit ++ lib.optional cudaSupport cudatoolkit
++ lib.optional cudnnSupport cudnn ++ lib.optional cudnnSupport cudnn
++ lib.optional lmdbSupport lmdb ++ lib.optional lmdbSupport lmdb

View file

@ -15,7 +15,7 @@ index 9cab2fc..6e977b8 100755
OCCXMAIN = $(SCCXMAIN:.c=.o) OCCXMAIN = $(SCCXMAIN:.c=.o)
-DIR=../../../SPOOLES.2.2 -DIR=../../../SPOOLES.2.2
+LIBS = -lpthread -lm -lc -lspooles -larpack -lopenblas +LIBS = -lpthread -lm -lc -lspooles -larpack -lblas -llapack
-LIBS = \ -LIBS = \
- $(DIR)/spooles.a \ - $(DIR)/spooles.a \

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, gfortran, arpack, spooles, openblas }: { stdenv, fetchurl, gfortran, arpack, spooles, blas, lapack }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "calculix"; pname = "calculix";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gfortran ]; nativeBuildInputs = [ gfortran ];
buildInputs = [ arpack spooles openblas ]; buildInputs = [ arpack spooles blas lapack ];
NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles"; NIX_CFLAGS_COMPILE = "-I${spooles}/include/spooles";

View file

@ -1,11 +1,12 @@
{ lib, stdenv, fetchgit, fetchFromGitHub, cmake { lib, stdenv, fetchgit, fetchFromGitHub, cmake
, openblas, opencv3, libzip, boost, protobuf, openmpi , openblas, blas, lapack, opencv3, libzip, boost, protobuf, openmpi
, onebitSGDSupport ? false , onebitSGDSupport ? false
, cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11 , cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11
, cudnnSupport ? cudaSupport, cudnn , cudnnSupport ? cudaSupport, cudnn
}: }:
assert cudnnSupport -> cudaSupport; assert cudnnSupport -> cudaSupport;
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
let let
# Old specific version required for CNTK. # Old specific version required for CNTK.

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, blas, gfortran, liblapack }: { lib, stdenv, fetchurl, blas, gfortran, lapack }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "csdp-6.1.1"; name = "csdp-6.1.1";
@ -8,7 +8,7 @@ stdenv.mkDerivation {
sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05"; sha256 = "1f9ql6cjy2gwiyc51ylfan24v1ca9sjajxkbhszlds1lqmma8n05";
}; };
buildInputs = [ blas gfortran.cc.lib liblapack ]; buildInputs = [ blas gfortran.cc.lib lapack ];
postPatch = '' postPatch = ''
substituteInPlace Makefile --replace /usr/local/bin $out/bin substituteInPlace Makefile --replace /usr/local/bin $out/bin

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, gfortran, openblas, openmpi, petsc, python3 }: { stdenv, fetchurl, cmake, gfortran, blas, lapack, openmpi, petsc, python3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "getdp-${version}"; name = "getdp-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake gfortran ]; nativeBuildInputs = [ cmake gfortran ];
buildInputs = [ openblas openmpi petsc python3 ]; buildInputs = [ blas lapack openmpi petsc python3 ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A General Environment for the Treatment of Discrete Problems"; description = "A General Environment for the Treatment of Discrete Problems";

View file

@ -1,10 +1,11 @@
{ stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, liblapack { stdenv, lib, fetchurl, fetchpatch, texlive, bison, flex, lapack, blas
, gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty , gmp, mpfr, pari, ntl, gsl, mpfi, ecm, glpk, nauty
, readline, gettext, libpng, libao, gfortran, perl , readline, gettext, libpng, libao, gfortran, perl
, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null , enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
}: }:
assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null; assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
assert (!blas.is64bit) && (!lapack.is64bit);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "giac${lib.optionalString enableGUI "-with-xcas"}"; pname = "giac${lib.optionalString enableGUI "-with-xcas"}";
@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
# gfortran.cc default output contains static libraries compiled without -fPIC # gfortran.cc default output contains static libraries compiled without -fPIC
# we want libgfortran.so.3 instead # we want libgfortran.so.3 instead
(stdenv.lib.getLib gfortran.cc) (stdenv.lib.getLib gfortran.cc)
liblapack lapack blas
] ++ stdenv.lib.optionals enableGUI [ ] ++ stdenv.lib.optionals enableGUI [
libGL libGLU fltk xorg.libX11 libGL libGLU fltk xorg.libX11
]; ];

View file

@ -1,6 +1,8 @@
{ stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg { stdenv, fetchurl, cmake, blas, lapack, gfortran, gmm, fltk, libjpeg
, zlib, libGL, libGLU, xorg, opencascade-occt }: , zlib, libGL, libGLU, xorg, opencascade-occt }:
assert (!blas.is64bit) && (!lapack.is64bit);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gmsh"; pname = "gmsh";
version = "4.5.6"; version = "4.5.6";
@ -10,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6"; sha256 = "0gs65bgr1ph5lz7r6manqj8cra30s7c94pxilkd2z0p5vq6fpsj6";
}; };
buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL buildInputs = [ blas lapack gmm fltk libjpeg zlib libGLU libGL
libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
opencascade-occt opencascade-occt

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, gfortran, openblas}: {stdenv, fetchurl, gfortran, blas, lapack}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "JAGS-4.3.0"; name = "JAGS-4.3.0";
@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz"; url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica"; sha256 = "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica";
}; };
buildInputs = [gfortran openblas]; buildInputs = [gfortran blas lapack];
configureFlags = [ "--with-blas=-lopenblas" "--with-lapack=-lopenblas" ]; configureFlags = [ "--with-blas=-lblas" "--with-lapack=-llapack" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Just Another Gibbs Sampler"; description = "Just Another Gibbs Sampler";

View file

@ -1,5 +1,5 @@
{ config, stdenv, lib, fetchurl, bash, cmake { config, stdenv, lib, fetchurl, bash, cmake
, opencv3, gtest, openblas, liblapack, perl , opencv3, gtest, blas, perl
, cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11 , cudaSupport ? config.cudaSupport or false, cudatoolkit, nvidia_x11
, cudnnSupport ? cudaSupport, cudnn , cudnnSupport ? cudaSupport, cudnn
}: }:
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake perl ]; nativeBuildInputs = [ cmake perl ];
buildInputs = [ opencv3 gtest openblas liblapack ] buildInputs = [ opencv3 gtest blas ]
++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ] ++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ]
++ lib.optional cudnnSupport cudnn; ++ lib.optional cudnnSupport cudnn;
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \ substituteInPlace 3rdparty/mkldnn/tests/CMakeLists.txt \
--replace "/bin/bash" "${bash}/bin/bash" --replace "/bin/bash" "${bash}/bin/bash"
# Build against the system version of OpenMP. # Build against the system version of OpenMP.
# https://github.com/apache/incubator-mxnet/pull/12160 # https://github.com/apache/incubator-mxnet/pull/12160
rm -rf 3rdparty/openmp rm -rf 3rdparty/openmp
''; '';

View file

@ -41,7 +41,8 @@
, lcalc , lcalc
, rubiks , rubiks
, flintqs , flintqs
, openblasCompat , blas
, lapack
, flint , flint
, gmp , gmp
, mpfr , mpfr
@ -53,6 +54,8 @@
, less , less
}: }:
assert (!blas.is64bit) && (!lapack.is64bit);
# This generates a `sage-env` shell file that will be sourced by sage on startup. # This generates a `sage-env` shell file that will be sourced by sage on startup.
# It sets up various environment variables, telling sage where to find its # It sets up various environment variables, telling sage where to find its
# dependencies. # dependencies.
@ -114,7 +117,7 @@ writeTextFile rec {
# testsuite instead, but since all the packages are also runtime # testsuite instead, but since all the packages are also runtime
# dependencies it doesn't really hurt to include them here. # dependencies it doesn't really hurt to include them here.
singular singular
openblasCompat blas lapack
fflas-ffpack givaro fflas-ffpack givaro
gd gd
libpng zlib libpng zlib

View file

@ -2,7 +2,8 @@
, lib , lib
, makeWrapper , makeWrapper
, sage-env , sage-env
, openblasCompat , blas
, lapack
, pkg-config , pkg-config
, three , three
, singular , singular
@ -21,6 +22,9 @@
, pythonEnv , pythonEnv
}: }:
# lots of segfaults with (64 bit) blas
assert (!blas.is64bit) && (!lapack.is64bit);
# Wrapper that combined `sagelib` with `sage-env` to produce an actually # Wrapper that combined `sagelib` with `sage-env` to produce an actually
# executable sage. No tests are run yet and no documentation is built. # executable sage. No tests are run yet and no documentation is built.
@ -29,7 +33,7 @@ let
pythonEnv # for patchShebangs pythonEnv # for patchShebangs
makeWrapper makeWrapper
pkg-config pkg-config
openblasCompat # lots of segfaults with regular (64 bit) openblas blas lapack
singular singular
three three
pynac pynac

View file

@ -3,7 +3,8 @@
, perl , perl
, buildPythonPackage , buildPythonPackage
, arb , arb
, openblasCompat , blas
, lapack
, brial , brial
, cliquer , cliquer
, cypari2 , cypari2
@ -52,6 +53,8 @@
, pplpy , pplpy
}: }:
assert (!blas.is64bit) && (!lapack.is64bit);
# This is the core sage python package. Everything else is just wrappers gluing # This is the core sage python package. Everything else is just wrappers gluing
# stuff together. It is not very useful on its own though, since it will not # stuff together. It is not very useful on its own though, since it will not
# find many of its dependencies without `sage-env`, will not be tested without # find many of its dependencies without `sage-env`, will not be tested without
@ -103,7 +106,8 @@ buildPythonPackage rec {
m4rie m4rie
mpfi mpfi
ntl ntl
openblasCompat blas
lapack
pari pari
planarity planarity
ppl ppl

View file

@ -1,5 +1,5 @@
{stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake, {stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which, hwloc, jre, lapack, blas, hdf5, expat, ncurses, readline, qt4, webkitgtk, which,
lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison, lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }: doxygen, boost, openscenegraph, gnome2, xorg, git, bash, gtk2, makeWrapper }:
@ -15,7 +15,7 @@ stdenv.mkDerivation {
src = fetchgit (import ./src-main.nix); src = fetchgit (import ./src-main.nix);
buildInputs = [autoconf cmake automake libtool gfortran clang gnumake buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkitgtk which hwloc jre lapack blas hdf5 expat ncurses readline qt4 webkitgtk which
lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu doxygen boost openscenegraph gnome2.gtkglext xorg.libXmu
git gtk2 makeWrapper]; git gtk2 makeWrapper];
@ -40,7 +40,7 @@ stdenv.mkDerivation {
for e in $(cd $out/bin && ls); do for e in $(cd $out/bin && ls); do
wrapProgram $out/bin/$e \ wrapProgram $out/bin/$e \
--prefix PATH : "${gnumake}/bin" \ --prefix PATH : "${gnumake}/bin" \
--prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ liblapack blas ]}" --prefix LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ lapack blas ]}"
done done
''; '';
@ -53,5 +53,3 @@ stdenv.mkDerivation {
broken = true; broken = true;
}; };
} }

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub { stdenv, fetchFromGitHub
, libpng, gzip, fftw, openblas , libpng, gzip, fftw, blas, lapack
, mpi ? null , mpi ? null
}: }:
let packages = [ let packages = [
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
inherit packages; inherit packages;
}; };
buildInputs = [ fftw libpng openblas gzip ] buildInputs = [ fftw libpng blas lapack gzip ]
++ (stdenv.lib.optionals withMPI [ mpi ]); ++ (stdenv.lib.optionals withMPI [ mpi ]);
configurePhase = '' configurePhase = ''

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, liblapack, libyaml, lynx, mela, root5, qcdnum, which }: { stdenv, fetchurl, apfel, apfelgrid, applgrid, blas, gfortran, lhapdf, lapack, libyaml, lynx, mela, root5, qcdnum, which }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "xfitter"; pname = "xfitter";
@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gfortran which ]; nativeBuildInputs = [ gfortran which ];
buildInputs = buildInputs =
[ apfel apfelgrid applgrid blas lhapdf liblapack mela root5 qcdnum ] [ apfel apfelgrid applgrid blas lhapdf lapack mela root5 qcdnum ]
# pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin # pdf2yaml requires fmemopen and open_memstream which are not readily available on Darwin
++ stdenv.lib.optional (!stdenv.isDarwin) libyaml ++ stdenv.lib.optional (!stdenv.isDarwin) libyaml
; ;

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-repo"; pname = "git-repo";
version = "2.5"; version = "2.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "android"; owner = "android";
repo = "tools_repo"; repo = "tools_repo";
rev = "v${version}"; rev = "v${version}";
sha256 = "0y37s0v37gygv0dm8y9sjc4jr7ml8irix5rwmbk6smzwa74n0x8a"; sha256 = "16c30nwlgm0xcma9q34ygjsk6m33izmfgn7a0mzhfzyakymdi45g";
}; };
patches = [ ./import-ssl-module.patch ]; patches = [ ./import-ssl-module.patch ];

View file

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtx11extras, qttools, mpv }: { stdenv, mkDerivation, fetchFromGitLab, pkgconfig, qmake, qtx11extras, qttools, mpv }:
stdenv.mkDerivation rec { mkDerivation rec {
pname = "mpc-qt"; pname = "mpc-qt";
version = "18.08"; version = "2019-06-09";
src = fetchFromGitHub { src = fetchFromGitLab {
owner = "cmdrkotori"; owner = "mpc-qt";
repo = "mpc-qt"; repo = "mpc-qt";
rev = "v${version}"; rev = "2abe6e7fc643068d50522468fe75d614861555ad";
sha256 = "1rxlkg3vsrapazdlb1i6c5a1vvf2114bsqwzcm3n2wc5c93yqsna"; sha256 = "1cis8dl9pm91mpnp696zvwsfp96gkwr8jgs45anbwd7ldw78w4x5";
}; };
nativeBuildInputs = [ pkgconfig qmake qttools ]; nativeBuildInputs = [ pkgconfig qmake qttools ];
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Media Player Classic Qute Theater"; description = "Media Player Classic Qute Theater";
homepage = "https://github.com/cmdrkotori/mpc-qt"; homepage = "https://gitlab.com/mpc-qt/mpc-qt";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ romildo ]; maintainers = with maintainers; [ romildo ];

View file

@ -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

View 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" ];
};
}

View 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
'');
}

View 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
'');
}

View 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)

View file

@ -1,6 +1,6 @@
{ fetchurl }: { fetchurl }:
fetchurl { fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/90b24a91103dca4f0df6cb28cecb205a7d7ab650.tar.gz"; url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3e87a900a11faa97a8a068874c932f3172d0aa76.tar.gz";
sha256 = "1zfj8c6s9icqg83ycfvd150s4jd07ccbjg2w2mn10rx5ng76mn53"; sha256 = "0cf35vics1211pr1g8a804zm3w4lsdacqkgw3hqk7wdrrbasb8ip";
} }

View file

@ -3,7 +3,7 @@
lib.makeScope pkgs.newScope (self: with self; { lib.makeScope pkgs.newScope (self: with self; {
#### NixOS support #### NixOS support
updateScript = callPackage ../../common-updater/update-script.nix { }; updateScript = pkgs.genericUpdater;
gitLister = url: gitLister = url:
"${pkgs.common-updater-scripts}/bin/list-git-tags ${url}"; "${pkgs.common-updater-scripts}/bin/list-git-tags ${url}";

View file

@ -34,6 +34,8 @@ let
"commands/test_test.py::test_local_env" "commands/test_test.py::test_local_env"
"test_builder.py::test_build_flags" "test_builder.py::test_build_flags"
"test_builder.py::test_build_unflags" "test_builder.py::test_build_unflags"
"test_builder.py::test_debug_default_build_flags"
"test_builder.py::test_debug_custom_build_flags"
"test_misc.py::test_api_cache" "test_misc.py::test_api_cache"
"test_misc.py::test_ping_internet_ips" "test_misc.py::test_ping_internet_ips"
"test_misc.py::test_platformio_cli" "test_misc.py::test_platformio_cli"
@ -49,14 +51,14 @@ let
in buildPythonApplication rec { in buildPythonApplication rec {
pname = "platformio"; pname = "platformio";
version = "4.1.0"; version = "4.3.1";
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964 # pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "platformio"; owner = "platformio";
repo = "platformio-core"; repo = "platformio-core";
rev = "v${version}"; rev = "v${version}";
sha256 = "10v9jw1zjfqr3wl6kills3cfp0ky7xbm1gc3z0n57wrqbc6cmz95"; sha256 = "1dxnjy60zpkgyrbvbf6b9qi6m37gm8gwjmxwfj30npr1y7rvxwrw";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -79,11 +81,6 @@ in buildPythonApplication rec {
patches = [ patches = [
./fix-searchpath.patch ./fix-searchpath.patch
(fetchpatch {
url = "https://github.com/platformio/platformio-core/commit/442a7e357636522e844d95375c246644b21a7802.patch";
sha256 = "0a3kj3k02237gr2yk30gpwc6vm04dsd1wxldj4dsbzs4a9yyi70m";
excludes = ["HISTORY.rst"];
})
./use-local-spdx-license-list.patch ./use-local-spdx-license-list.patch
]; ];

View file

@ -1,14 +1,14 @@
diff --git a/platformio/package/manifest/schema.py b/platformio/package/manifest/schema.py diff --git a/platformio/package/manifest/schema.py b/platformio/package/manifest/schema.py
index f1d68e08..9b7b1da8 100644 index be49b3ee..d1390a88 100644
--- a/platformio/package/manifest/schema.py --- a/platformio/package/manifest/schema.py
+++ b/platformio/package/manifest/schema.py +++ b/platformio/package/manifest/schema.py
@@ -174,9 +174,5 @@ class ManifestSchema(Schema): @@ -240,9 +240,5 @@ class ManifestSchema(BaseSchema):
@staticmethod @staticmethod
@memoized(expire="1h") @memoized(expire="1h")
def load_spdx_licenses(): def load_spdx_licenses():
- r = requests.get( - r = requests.get(
- "https://raw.githubusercontent.com/spdx/license-list-data" - "https://raw.githubusercontent.com/spdx/license-list-data"
- "/v3.7/json/licenses.json" - "/v3.8/json/licenses.json"
- ) - )
- r.raise_for_status() - r.raise_for_status()
- return r.json() - return r.json()

View file

@ -178,33 +178,6 @@ let
})); }));
in rec { in rec {
binaryCrystal_0_27 = genericBinary {
version = "0.27.2";
sha256s = {
x86_64-linux = "05l5x7kx2acgnv42fj3rr17z73ix06zvi05h7d7vf3kw0izxrasm";
i686-linux = "1iwizkvn6pglc0azkyfhlmk9ap793krdgcnbihd1kvrvs4cz0mm9";
x86_64-darwin = "14c69ac2dmfwmb5q56ps3xyxxb0mrbc91ahk9h07c8fiqfii3k9g";
};
};
binaryCrystal_0_29 = genericBinary {
version = "0.29.0";
sha256s = {
x86_64-linux = "1wrk29sfx35akg7hxwpdiikvl18wd40gq1kwirw7x522hnq7vlna";
i686-linux = "1nx0piis2k3nn7kqiijqazzbvlaavhgvsln0l3dxmpfa4i4dz5h2";
x86_64-darwin = "1fd0fbyf05abivnp3igjlrm2axf65n2wdmg4aq6nqj60ipc01rvd";
};
};
binaryCrystal_0_30 = genericBinary {
version = "0.30.1";
sha256s = {
x86_64-linux = "1k2mb74jh3ns3m7y73j4wpf571sayn73zbn6d7q81d09r280zrma";
i686-linux = "0vsq1ayf922spydp2g2mmimc797jmm7nl5nljhfppcclrwygdyk2";
x86_64-darwin = "1p3s4lwdgykb7h7aysjhrs7vm0zhinzw5d7rfv6jsyin4j8yxhzz";
};
};
binaryCrystal_0_31 = genericBinary { binaryCrystal_0_31 = genericBinary {
version = "0.31.1"; version = "0.31.1";
sha256s = { sha256s = {
@ -214,32 +187,11 @@ in rec {
}; };
}; };
crystal_0_27 = generic {
version = "0.27.2";
sha256 = "0vxqnpqi85yh0167nrkbksxsni476iwbh6y3znbvbjbbfhsi3nsj";
doCheck = false; # about 20 tests out of more than 15000 are failing
binary = binaryCrystal_0_27;
};
crystal_0_29 = generic {
version = "0.29.0";
sha256 = "0v9l253b2x8yw6a43vvalywpwciwr094l3g5wakmndfrzak2s3zr";
doCheck = false; # 6 checks are failing now
binary = binaryCrystal_0_29;
};
crystal_0_30 = generic {
version = "0.30.1";
sha256 = "0fbk784zjflsl3hys5a1xmn8mda8kb2z7ql58wpyfavivswxanbs";
doCheck = false; # 6 checks are failing now
binary = binaryCrystal_0_29;
};
crystal_0_31 = generic { crystal_0_31 = generic {
version = "0.31.1"; version = "0.31.1";
sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8"; sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
doCheck = false; # 5 checks are failing now doCheck = false; # 5 checks are failing now
binary = binaryCrystal_0_30; binary = binaryCrystal_0_31;
}; };
crystal_0_32 = generic { crystal_0_32 = generic {
@ -248,7 +200,21 @@ in rec {
binary = binaryCrystal_0_31; binary = binaryCrystal_0_31;
}; };
crystal = crystal_0_32; crystal_0_33 = generic {
version = "0.33.0";
sha256 = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi";
binary = binaryCrystal_0_31;
doCheck = false; # 4 checks are failing now
};
crystal_0_34 = generic {
version = "0.34.0";
sha256 = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4";
binary = crystal_0_33;
doCheck = false; # 4 checks are failing now
};
crystal = crystal_0_34;
crystal2nix = callPackage ./crystal2nix.nix {}; crystal2nix = callPackage ./crystal2nix.nix {};
} }

View file

@ -2,13 +2,17 @@
# build-tools # build-tools
, bootPkgs , bootPkgs
, autoconf, autoreconfHook, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx , autoconf, autoreconfHook, automake, coreutils, fetchgit, perl, python3, m4, sphinx
, bash , bash
, libiconv ? null, ncurses , libiconv ? null, ncurses
, # GHC can be built with system libffi or a bundled one.
libffi ? null
, enableDwarf ? !stdenv.targetPlatform.isDarwin && , enableDwarf ? !stdenv.targetPlatform.isDarwin &&
!stdenv.targetPlatform.isWindows, elfutils # for DWARF support !stdenv.targetPlatform.isWindows
, elfutils # for DWARF support
, useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS , useLLVM ? !stdenv.targetPlatform.isx86 || stdenv.targetPlatform.isiOS
, # LLVM is conceptually a run-time-only depedendency, but for , # LLVM is conceptually a run-time-only depedendency, but for
@ -18,7 +22,8 @@
, # If enabled, GHC will be built with the GPL-free but slower integer-simple , # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library. # library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms)
, gmp
, # If enabled, use -fPIC when compiling static libs. , # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
@ -30,7 +35,7 @@
, # Whetherto build terminfo. , # Whetherto build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows enableTerminfo ? !stdenv.targetPlatform.isWindows
, version ? "8.10.20191119" , version ? "8.11.20200403"
, # What flavour to build. An empty string indicates no , # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values. # specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
@ -75,6 +80,7 @@ let
# Splicer will pull out correct variations # Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo ncurses libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
++ [libffi]
++ stdenv.lib.optional (!enableIntegerSimple) gmp ++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
++ stdenv.lib.optional enableDwarf elfutils; ++ stdenv.lib.optional enableDwarf elfutils;
@ -97,17 +103,14 @@ stdenv.mkDerivation (rec {
src = fetchgit { src = fetchgit {
url = "https://gitlab.haskell.org/ghc/ghc.git/"; url = "https://gitlab.haskell.org/ghc/ghc.git/";
rev = "0418c38d55c7a47967187dce2db5ea2ab1021b1e"; rev = "4291bddaea3148908c55f235ee8978e1d9aa6f20";
sha256 = "1d8g30ii0w4xh6fh61bxbalsqqyanny99nn3p727fx7favnhgvxi"; sha256 = "1gs3mxmsdpsgsp7vnawx8mys0qwg4x2zhfrbciy3wv8nv13ar1af";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
outputs = [ "out" "doc" ]; outputs = [ "out" "doc" ];
patches = [
];
postPatch = "patchShebangs ."; postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology. # GHC is a bit confused on its cross terminology.
@ -130,8 +133,8 @@ stdenv.mkDerivation (rec {
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip" export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk echo -n "${buildMK}" > mk/build.mk
echo ${version} >VERSION echo ${version} > VERSION
echo ${src.rev} >GIT_COMMIT_ID echo ${src.rev} > GIT_COMMIT_ID
./boot ./boot
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) '' '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
@ -161,31 +164,40 @@ stdenv.mkDerivation (rec {
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ] configurePlatforms = [ "build" "host" ]
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
# `--with` flags for libraries needed for RTS linker # `--with` flags for libraries needed for RTS linker
configureFlags = [ configureFlags = [
"--datadir=$doc/share/doc/ghc" "--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" "--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals useLdGold [ ] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ ] ++ stdenv.lib.optional disableLargeAddressSpace "--disable-large-address-space"
"--disable-large-address-space" ++ stdenv.lib.optionals enableDwarf [
] ++ stdenv.lib.optionals enableDwarf [
"--enable-dwarf-unwind" "--enable-dwarf-unwind"
"--with-libdw-includes=${stdenv.lib.getDev elfutils}/include" "--with-libdw-includes=${stdenv.lib.getDev elfutils}/include"
"--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib" "--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib"
]; ];
# Make sure we never relax`$PATH` and hooks support for compatability. # Make sure we never relax`$PATH` and hooks support for compatibility.
strictDeps = true; strictDeps = true;
# Dont add -liconv to LDFLAGS automatically so that GHC will add it itself.
dontAddExtraLibs = true;
nativeBuildInputs = [ nativeBuildInputs = [
perl autoconf autoreconfHook automake m4 python3 sphinx perl autoconf autoreconfHook automake m4 python3 sphinx
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour

View file

@ -1,7 +1,10 @@
{ llvmPackages, lib, fetchFromGitHub, cmake { llvmPackages, lib, fetchFromGitHub, cmake
, libpng, libjpeg, mesa, eigen, openblas , libpng, libjpeg, mesa, eigen
, openblas, blas, lapack
}: }:
assert blas.implementation == "openblas" && lapack.implementation == "openblas";
let let
version = "2019_08_27"; version = "2019_08_27";

View file

@ -7,28 +7,22 @@
# standard library dependencies # standard library dependencies
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 , curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
# linear algebra # linear algebra
, openblas, arpack , blas, lapack, arpack
# Darwin frameworks # Darwin frameworks
, CoreServices, ApplicationServices , CoreServices, ApplicationServices
}: }:
assert (!blas.is64bit) && (!lapack.is64bit);
with stdenv.lib; with stdenv.lib;
# All dependencies must use the same OpenBLAS.
let let
arpack_ = arpack;
in
let
arpack = arpack_.override { inherit openblas; };
in
let
majorVersion = "1"; majorVersion = "1";
minorVersion = "3"; minorVersion = "3";
maintenanceVersion = "1"; maintenanceVersion = "1";
src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6"; src_sha256 = "0q9a7yc3b235psrwl5ghyxgwly25lf8n818l8h6bkf2ymdbsv5p6";
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}"; version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "julia"; pname = "julia";
@ -67,7 +61,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
pcre2.dev openblas openlibm openspecfun readline utf8proc pcre2.dev blas lapack openlibm openspecfun readline utf8proc
zlib zlib
] ]
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
@ -94,13 +88,9 @@ stdenv.mkDerivation rec {
"SHELL=${stdenv.shell}" "SHELL=${stdenv.shell}"
"USE_SYSTEM_BLAS=1" "USE_SYSTEM_BLAS=1"
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}" "USE_BLAS64=${if blas.is64bit then "1" else "0"}"
"LIBBLAS=-lopenblas"
"LIBBLASNAME=libopenblas"
"USE_SYSTEM_LAPACK=1" "USE_SYSTEM_LAPACK=1"
"LIBLAPACK=-lopenblas"
"LIBLAPACKNAME=libopenblas"
"USE_SYSTEM_ARPACK=1" "USE_SYSTEM_ARPACK=1"
"USE_SYSTEM_FFTW=1" "USE_SYSTEM_FFTW=1"
@ -123,7 +113,7 @@ stdenv.mkDerivation rec {
]; ];
LD_LIBRARY_PATH = makeLibraryPath [ LD_LIBRARY_PATH = makeLibraryPath [
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm arpack fftw fftwSinglePrec gmp libgit2 mpfr blas openlibm
openspecfun pcre2 openspecfun pcre2
]; ];

View file

@ -15,20 +15,14 @@
# standard library dependencies # standard library dependencies
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2 , curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
# linear algebra # linear algebra
, openblas, arpack , blas, lapack, arpack
# Darwin frameworks # Darwin frameworks
, CoreServices, ApplicationServices , CoreServices, ApplicationServices
}: }:
with stdenv.lib; with stdenv.lib;
# All dependencies must use the same OpenBLAS. assert (!blas.is64bit) && (!lapack.is64bit);
let
arpack_ = arpack;
in
let
arpack = arpack_.override { inherit openblas; };
in
let let
dsfmtVersion = "2.2.3"; dsfmtVersion = "2.2.3";
@ -118,7 +112,7 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
pcre2.dev openblas openlibm openspecfun readline utf8proc pcre2.dev blas lapack openlibm openspecfun readline utf8proc
zlib zlib
] ]
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
@ -143,13 +137,9 @@ stdenv.mkDerivation rec {
"SHELL=${stdenv.shell}" "SHELL=${stdenv.shell}"
"USE_SYSTEM_BLAS=1" "USE_SYSTEM_BLAS=1"
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}" "USE_BLAS64=${if blas.is64bit then "1" else "0"}"
"LIBBLAS=-lopenblas"
"LIBBLASNAME=libopenblas"
"USE_SYSTEM_LAPACK=1" "USE_SYSTEM_LAPACK=1"
"LIBLAPACK=-lopenblas"
"LIBLAPACKNAME=libopenblas"
"USE_SYSTEM_ARPACK=1" "USE_SYSTEM_ARPACK=1"
"USE_SYSTEM_FFTW=1" "USE_SYSTEM_FFTW=1"
@ -173,7 +163,7 @@ stdenv.mkDerivation rec {
]; ];
LD_LIBRARY_PATH = makeLibraryPath [ LD_LIBRARY_PATH = makeLibraryPath [
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm arpack fftw fftwSinglePrec gmp libgit2 mpfr blas lapack openlibm
openspecfun pcre2 openspecfun pcre2
]; ];

View file

@ -1,25 +1,47 @@
{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib }: { stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib, substituteAll }:
stdenv.mkDerivation rec { llvmPackages.stdenv.mkDerivation rec {
version = "0.5.0"; version = "0.6.0";
pname = "zig"; pname = "zig";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ziglang"; owner = "ziglang";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0xyl0riakh6kwb3yvxihb451kqs4ai4q0aygqygnlb2rlr1dn1zb"; sha256 = "13dwm2zpscn4n0p5x8ggs9n7mwmq9cgip383i3qqphg7m3pkls8z";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 zlib ]; buildInputs = [
llvmPackages.clang-unwrapped
llvmPackages.llvm
llvmPackages.lld
libxml2
zlib
];
patches = [
(substituteAll {
src = ./llvm10_polly.patch;
llvm_extras = "-Wl,${llvmPackages.llvm}/lib/LLVMPolly.so";
})
];
preBuild = '' preBuild = ''
export HOME=$TMPDIR; export HOME=$TMPDIR;
''; '';
checkPhase = ''
runHook preCheck
./zig test $src/test/stage1/behavior.zig
runHook postCheck
'';
doCheck = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Programming languaged designed for robustness, optimality, and clarity"; description =
"General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
homepage = "https://ziglang.org/"; homepage = "https://ziglang.org/";
license = licenses.mit; license = licenses.mit;
platforms = platforms.unix; platforms = platforms.unix;

View 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@
)

View file

@ -114,13 +114,8 @@ self: super: {
# Depends on broken "hails" package. # Depends on broken "hails" package.
hails-bin = dontDistribute super.hails-bin; hails-bin = dontDistribute super.hails-bin;
# Switch levmar build to openblas.
bindings-levmar = overrideCabal super.bindings-levmar (drv: { bindings-levmar = overrideCabal super.bindings-levmar (drv: {
preConfigure = '' extraLibraries = [ pkgs.blas ];
sed -i bindings-levmar.cabal \
-e 's,extra-libraries: lapack blas,extra-libraries: openblas,'
'';
extraLibraries = [ pkgs.openblasCompat ];
}); });
# The Haddock phase fails for one reason or another. # The Haddock phase fails for one reason or another.
@ -177,6 +172,9 @@ self: super: {
# Test suite build depends on ancient tasty 0.11.x. # Test suite build depends on ancient tasty 0.11.x.
cryptohash-sha512 = dontCheck super.cryptohash-sha512; cryptohash-sha512 = dontCheck super.cryptohash-sha512;
# Test suite depends on source code being available
simple-affine-space = dontCheck super.simple-affine-space;
# https://github.com/kazu-yamamoto/simple-sendfile/issues/17 # https://github.com/kazu-yamamoto/simple-sendfile/issues/17
simple-sendfile = dontCheck super.simple-sendfile; simple-sendfile = dontCheck super.simple-sendfile;
@ -1450,9 +1448,12 @@ self: super: {
# details. # details.
cryptonite = dontCheck super.cryptonite; cryptonite = dontCheck super.cryptonite;
# The test suite depends on an impure cabal-install installation # The test suite depends on an impure cabal-install installation in
# in $HOME, which we don't have in our build sandbox. # $HOME, which we don't have in our build sandbox, and it is keeping
cabal-install-parsers = dontCheck super.cabal-install-parsers; # up with the most recent Cabal version.
cabal-install-parsers = dontCheck (super.cabal-install-parsers.overrideScope (self: super: {
Cabal = self.Cabal_3_2_0_0;
}));
# haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2. # haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2.
haskell-ci = doJailbreak super.haskell-ci; haskell-ci = doJailbreak super.haskell-ci;
@ -1501,4 +1502,7 @@ self: super: {
# Fixed at head, but hasn't cut a release in awhile. # Fixed at head, but hasn't cut a release in awhile.
darcs = doJailbreak super.darcs; darcs = doJailbreak super.darcs;
# Test suite requires running a database server. Testing is done upstream.
hasql-pool = dontCheck super.hasql-pool;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View file

@ -60,5 +60,38 @@ self: super: {
zlib = doJailbreak super.zlib; zlib = doJailbreak super.zlib;
# Use the latest version to fix the build. # Use the latest version to fix the build.
microlens-th = self.microlens-th_0_4_3_5;
optics-core = self.optics-core_0_3;
repline = self.repline_0_3_0_0;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_4;
th-desugar = self.th-desugar_1_11;
# `ghc-lib-parser-ex` (see conditionals in its `.cabal` file) does not need
# the `ghc-lib-parser` dependency on GHC >= 8.8. However, because we have
# multiple verions of `ghc-lib-parser(-ex)` available, and the default ones
# are older ones, those older ones will complain. Because we have a newer
# GHC, we can just set the dependency to `null` as it is not used.
ghc-lib-parser-ex_8_10_0_4 = super.ghc-lib-parser-ex_8_10_0_4.override { ghc-lib-parser = null; };
# Jailbreak to fix the build.
aeson-diff = doJailbreak super.aeson-diff;
cborg = doJailbreak super.cborg;
cborg-json = doJailbreak super.cborg-json;
exact-pi = doJailbreak super.exact-pi;
relude = dontCheck (doJailbreak super.relude);
serialise = doJailbreak super.serialise;
setlocale = doJailbreak super.setlocale;
shellmet = doJailbreak super.shellmet;
brick = doJailbreak super.brick;
# The shipped Setup.hs file is broken.
csv = overrideCabal super.csv (drv: { preCompileBuildDriver = "rm Setup.hs"; });
# Apply patch from https://github.com/finnsson/template-helper/issues/12#issuecomment-611795375 to fix the build.
language-haskell-extract = appendPatch (doJailbreak super.language-haskell-extract) (pkgs.fetchpatch {
name = "language-haskell-extract-0.2.4.patch";
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/e48738ee1be774507887a90a0d67ad1319456afc/patches/language-haskell-extract-0.2.4.patch?inline=false";
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
});
} }

View file

@ -91,4 +91,7 @@ self: super: {
ListLike = addBuildDepend super.ListLike self.semigroups; ListLike = addBuildDepend super.ListLike self.semigroups;
base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant; base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
} }

View file

@ -86,4 +86,7 @@ self: super: {
# The old Haddock cannot process the newer documentation syntax. # The old Haddock cannot process the newer documentation syntax.
fast-logger = dontHaddock super.fast-logger; fast-logger = dontHaddock super.fast-logger;
# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
} }

View file

@ -88,4 +88,7 @@ self: super: {
stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; })); stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; }));
haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0; haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;
# ghc versions prior to 8.8.x needs additional dependency to compile successfully.
ghc-lib-parser-ex = addBuildDepend super.ghc-lib-parser-ex self.ghc-lib-parser;
} }

View file

@ -72,7 +72,7 @@ default-package-overrides:
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and # gi-gdkx11-4.x requires gtk-4.x, which is still under development and
# not yet available in Nixpkgs # not yet available in Nixpkgs
- gi-gdkx11 < 4 - gi-gdkx11 < 4
# LTS Haskell 15.7 # LTS Haskell 15.8
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
- AC-Angle ==1.0 - AC-Angle ==1.0
@ -346,7 +346,7 @@ default-package-overrides:
- buffer-builder ==0.2.4.7 - buffer-builder ==0.2.4.7
- buffer-pipe ==0.0 - buffer-pipe ==0.0
- bugsnag-hs ==0.1.0.0 - bugsnag-hs ==0.1.0.0
- butcher ==1.3.2.3 - butcher ==1.3.3.0
- bv ==0.5 - bv ==0.5
- bv-little ==1.1.1 - bv-little ==1.1.1
- byteable ==0.1.1 - byteable ==0.1.1
@ -556,10 +556,10 @@ default-package-overrides:
- data-default-instances-dlist ==0.0.1 - data-default-instances-dlist ==0.0.1
- data-default-instances-old-locale ==0.0.1 - data-default-instances-old-locale ==0.0.1
- data-diverse ==4.7.0.0 - data-diverse ==4.7.0.0
- datadog ==0.2.4.0 - datadog ==0.2.5.0
- data-dword ==0.3.1.3 - data-dword ==0.3.2
- data-endian ==0.1.1 - data-endian ==0.1.1
- data-fix ==0.2.0 - data-fix ==0.2.1
- data-has ==0.3.0.0 - data-has ==0.3.0.0
- data-interval ==2.0.1 - data-interval ==2.0.1
- data-inttrie ==0.1.4 - data-inttrie ==0.1.4
@ -613,7 +613,7 @@ default-package-overrides:
- disk-free-space ==0.1.0.1 - disk-free-space ==0.1.0.1
- distributed-closure ==0.4.2.0 - distributed-closure ==0.4.2.0
- distribution-opensuse ==1.1.1 - distribution-opensuse ==1.1.1
- distributive ==0.6.1 - distributive ==0.6.2
- dl-fedora ==0.7.4 - dl-fedora ==0.7.4
- dlist ==0.8.0.8 - dlist ==0.8.0.8
- dlist-instances ==0.1.1.1 - dlist-instances ==0.1.1.1
@ -668,7 +668,7 @@ default-package-overrides:
- emojis ==0.1 - emojis ==0.1
- enclosed-exceptions ==1.0.3 - enclosed-exceptions ==1.0.3
- ENIG ==0.0.1.0 - ENIG ==0.0.1.0
- entropy ==0.4.1.5 - entropy ==0.4.1.6
- enummapset ==0.6.0.2 - enummapset ==0.6.0.2
- enumset ==0.0.5 - enumset ==0.0.5
- enum-subset-generate ==0.1.0.0 - enum-subset-generate ==0.1.0.0
@ -706,7 +706,7 @@ default-package-overrides:
- extensible-exceptions ==0.1.1.4 - extensible-exceptions ==0.1.1.4
- extra ==1.6.21 - extra ==1.6.21
- extractable-singleton ==0.0.1 - extractable-singleton ==0.0.1
- extrapolate ==0.4.1 - extrapolate ==0.4.2
- fail ==4.9.0.0 - fail ==4.9.0.0
- failable ==1.2.4.0 - failable ==1.2.4.0
- fakedata ==0.5.0 - fakedata ==0.5.0
@ -750,6 +750,7 @@ default-package-overrides:
- flow ==1.0.20 - flow ==1.0.20
- flush-queue ==1.0.0 - flush-queue ==1.0.0
- fmlist ==0.9.3 - fmlist ==0.9.3
- fmt ==0.6.1.2
- fn ==0.3.0.2 - fn ==0.3.0.2
- focus ==1.0.1.3 - focus ==1.0.1.3
- focuslist ==0.1.0.2 - focuslist ==0.1.0.2
@ -908,7 +909,7 @@ default-package-overrides:
- hashmap ==1.3.3 - hashmap ==1.3.3
- hashtables ==1.2.3.4 - hashtables ==1.2.3.4
- haskeline ==0.7.5.0 - haskeline ==0.7.5.0
- haskell-gi ==0.23.0 - haskell-gi ==0.23.1
- haskell-gi-base ==0.23.0 - haskell-gi-base ==0.23.0
- haskell-gi-overloading ==1.0 - haskell-gi-overloading ==1.0
- haskell-import-graph ==1.0.4 - haskell-import-graph ==1.0.4
@ -922,7 +923,7 @@ default-package-overrides:
- haskell-src-meta ==0.8.5 - haskell-src-meta ==0.8.5
- haskey-btree ==0.3.0.1 - haskey-btree ==0.3.0.1
- haskoin-core ==0.10.1 - haskoin-core ==0.10.1
- haskoin-node ==0.9.16 - haskoin-node ==0.9.21
- hasql ==1.4.2 - hasql ==1.4.2
- hasql-optparse-applicative ==0.3.0.5 - hasql-optparse-applicative ==0.3.0.5
- hasql-pool ==0.5.1 - hasql-pool ==0.5.1
@ -977,6 +978,7 @@ default-package-overrides:
- hourglass ==0.2.12 - hourglass ==0.2.12
- hourglass-orphans ==0.1.0.0 - hourglass-orphans ==0.1.0.0
- hp2pretty ==0.9 - hp2pretty ==0.9
- hpack ==0.33.0
- hpc-codecov ==0.1.0.0 - hpc-codecov ==0.1.0.0
- hreader ==1.1.0 - hreader ==1.1.0
- hreader-lens ==0.1.3.0 - hreader-lens ==0.1.3.0
@ -1122,7 +1124,7 @@ default-package-overrides:
- inline-c ==0.9.1.0 - inline-c ==0.9.1.0
- inline-c-cpp ==0.4.0.2 - inline-c-cpp ==0.4.0.2
- insert-ordered-containers ==0.2.3 - insert-ordered-containers ==0.2.3
- inspection-testing ==0.4.2.2 - inspection-testing ==0.4.2.4
- instance-control ==0.1.2.0 - instance-control ==0.1.2.0
- int-cast ==0.2.0.0 - int-cast ==0.2.0.0
- integer-logarithms ==1.0.3 - integer-logarithms ==1.0.3
@ -1501,7 +1503,7 @@ default-package-overrides:
- pandoc ==2.9.1.1 - pandoc ==2.9.1.1
- pandoc-citeproc ==0.16.4.1 - pandoc-citeproc ==0.16.4.1
- pandoc-csv2table ==1.0.8 - pandoc-csv2table ==1.0.8
- pandoc-plot ==0.2.1.0 - pandoc-plot ==0.2.2.0
- pandoc-pyplot ==2.3.0.1 - pandoc-pyplot ==2.3.0.1
- pandoc-types ==1.20 - pandoc-types ==1.20
- papillon ==0.1.1.1 - papillon ==0.1.1.1
@ -1721,6 +1723,7 @@ default-package-overrides:
- regex-posix ==0.96.0.0 - regex-posix ==0.96.0.0
- regex-tdfa ==1.3.1.0 - regex-tdfa ==1.3.1.0
- regex-with-pcre ==1.1.0.0 - regex-with-pcre ==1.1.0.0
- registry ==0.1.7.1
- reinterpret-cast ==0.1.0 - reinterpret-cast ==0.1.0
- relapse ==1.0.0.0 - relapse ==1.0.0.0
- relational-query ==0.12.2.2 - relational-query ==0.12.2.2
@ -1738,7 +1741,7 @@ default-package-overrides:
- resourcet ==1.2.3 - resourcet ==1.2.3
- result ==0.2.6.0 - result ==0.2.6.0
- rethinkdb-client-driver ==0.0.25 - rethinkdb-client-driver ==0.0.25
- retry ==0.8.1.0 - retry ==0.8.1.1
- rev-state ==0.1.2 - rev-state ==0.1.2
- rfc1751 ==0.1.2 - rfc1751 ==0.1.2
- rfc5051 ==0.1.0.4 - rfc5051 ==0.1.0.4
@ -1875,7 +1878,7 @@ default-package-overrides:
- simplistic-generics ==0.1.0.0 - simplistic-generics ==0.1.0.0
- since ==0.0.0 - since ==0.0.0
- singleton-bool ==0.1.5 - singleton-bool ==0.1.5
- singleton-nats ==0.4.4 - singleton-nats ==0.4.5
- singletons ==2.6 - singletons ==2.6
- singletons-presburger ==0.3.0.0 - singletons-presburger ==0.3.0.0
- siphash ==1.0.3 - siphash ==1.0.3
@ -1908,7 +1911,7 @@ default-package-overrides:
- sparse-tensor ==0.2.1.3 - sparse-tensor ==0.2.1.3
- spatial-math ==0.5.0.1 - spatial-math ==0.5.0.1
- special-values ==0.1.0.0 - special-values ==0.1.0.0
- speculate ==0.4.1 - speculate ==0.4.2
- speedy-slice ==0.3.0 - speedy-slice ==0.3.0
- Spintax ==0.3.4 - Spintax ==0.3.4
- splice ==0.6.1.1 - splice ==0.6.1.1
@ -2060,7 +2063,7 @@ default-package-overrides:
- th-expand-syns ==0.4.6.0 - th-expand-syns ==0.4.6.0
- th-extras ==0.0.0.4 - th-extras ==0.0.0.4
- th-lift ==0.8.1 - th-lift ==0.8.1
- th-lift-instances ==0.1.14 - th-lift-instances ==0.1.15
- th-orphans ==0.13.9 - th-orphans ==0.13.9
- th-printf ==0.7 - th-printf ==0.7
- thread-hierarchy ==0.3.0.1 - thread-hierarchy ==0.3.0.1
@ -2102,7 +2105,7 @@ default-package-overrides:
- topograph ==1.0.0.1 - topograph ==1.0.0.1
- torsor ==0.1 - torsor ==0.1
- tostring ==0.2.1.1 - tostring ==0.2.1.1
- tracing ==0.0.4.0 - tracing ==0.0.5.1
- transaction ==0.1.1.3 - transaction ==0.1.1.3
- transformers-base ==0.4.5.2 - transformers-base ==0.4.5.2
- transformers-bifunctors ==0.1 - transformers-bifunctors ==0.1
@ -2208,7 +2211,7 @@ default-package-overrides:
- validity-uuid ==0.1.0.3 - validity-uuid ==0.1.0.3
- validity-vector ==0.2.0.3 - validity-vector ==0.2.0.3
- valor ==0.1.0.0 - valor ==0.1.0.0
- vault ==0.3.1.3 - vault ==0.3.1.4
- vec ==0.3 - vec ==0.3
- vector ==0.12.1.2 - vector ==0.12.1.2
- vector-algorithms ==0.8.0.3 - vector-algorithms ==0.8.0.3
@ -2245,7 +2248,7 @@ default-package-overrides:
- wai-session ==0.3.3 - wai-session ==0.3.3
- wai-slack-middleware ==0.2.0 - wai-slack-middleware ==0.2.0
- wai-websockets ==3.0.1.2 - wai-websockets ==3.0.1.2
- warp ==3.3.9 - warp ==3.3.10
- warp-tls ==3.2.11 - warp-tls ==3.2.11
- warp-tls-uid ==0.2.0.6 - warp-tls-uid ==0.2.0.6
- wave ==0.2.0 - wave ==0.2.0
@ -4329,7 +4332,6 @@ broken-packages:
- duet - duet
- dumb-cas - dumb-cas
- dump-core - dump-core
- dunai
- dunai-core - dunai-core
- dunai-test - dunai-test
- Dung - Dung
@ -5618,7 +5620,6 @@ broken-packages:
- hasql-migration - hasql-migration
- hasql-notifications - hasql-notifications
- hasql-optparse-applicative - hasql-optparse-applicative
- hasql-pool
- hasql-postgres - hasql-postgres
- hasql-postgres-options - hasql-postgres-options
- hasql-simple - hasql-simple
@ -7842,6 +7843,7 @@ broken-packages:
- onama - onama
- ONC-RPC - ONC-RPC
- oneormore - oneormore
- online-csv
- onpartitions - onpartitions
- OnRmt - OnRmt
- onu-course - onu-course
@ -8284,7 +8286,6 @@ broken-packages:
- postgresql-simple-typed - postgresql-simple-typed
- postgresql-typed - postgresql-typed
- postgresql-typed-lifted - postgresql-typed-lifted
- postgrest
- postgrest-ws - postgrest-ws
- postie - postie
- postmark - postmark
@ -8905,6 +8906,7 @@ broken-packages:
- saferoute - saferoute
- sai-shape-syb - sai-shape-syb
- sajson - sajson
- sak
- salak-toml - salak-toml
- Salsa - Salsa
- saltine-quickcheck - saltine-quickcheck
@ -9187,7 +9189,6 @@ broken-packages:
- simgi - simgi
- simple - simple
- simple-actors - simple-actors
- simple-affine-space
- simple-atom - simple-atom
- simple-bluetooth - simple-bluetooth
- simple-c-value - simple-c-value

View file

@ -572,23 +572,9 @@ self: super: builtins.intersectAttrs super {
# The test-suite requires a running PostgreSQL server. # The test-suite requires a running PostgreSQL server.
Frames-beam = dontCheck super.Frames-beam; Frames-beam = dontCheck super.Frames-beam;
# * Compile manpages (which are in RST and are compiled with Sphinx). # Compile manpages (which are in RST and are compiled with Sphinx).
#
# * Wrap so that binary can find GCC and OpenCL headers (dubious if
# a good idea).
futhark = with pkgs; futhark = with pkgs;
let maybeWrap = overrideCabal (addBuildTools super.futhark [makeWrapper python37Packages.sphinx])
if pkgs.stdenv.isDarwin then ""
else
let path = stdenv.lib.makeBinPath [ gcc ];
in ''
wrapProgram $out/bin/futhark \
--prefix PATH : "${path}" \
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
--set NIX_CFLAGS_LINK "-L${ocl-icd}/lib"
'';
in overrideCabal (addBuildTools super.futhark [makeWrapper python37Packages.sphinx])
(_drv: { (_drv: {
postBuild = (_drv.postBuild or "") + '' postBuild = (_drv.postBuild or "") + ''
make -C docs man make -C docs man
@ -597,8 +583,7 @@ self: super: builtins.intersectAttrs super {
postInstall = (_drv.postInstall or "") + '' postInstall = (_drv.postInstall or "") + ''
mkdir -p $out/share/man/man1 mkdir -p $out/share/man/man1
mv docs/_build/man/*.1 $out/share/man/man1/ mv docs/_build/man/*.1 $out/share/man/man1/
'' '';
+ maybeWrap;
}); });
git-annex = with pkgs; git-annex = with pkgs;
@ -655,22 +640,19 @@ self: super: builtins.intersectAttrs super {
spago = spago =
let let
# Spago needs a patch for MonadFail changes. # Spago needs a small patch to work with the latest versions of rio.
# https://github.com/purescript/spago/pull/584 # https://github.com/purescript/spago/pull/616
# This can probably be removed when a version after spago-0.14.0 is released. # This can probably be removed when a version after spago-0.15.1 is released.
spagoWithPatches = appendPatch super.spago (pkgs.fetchpatch { spagoWithPatches = appendPatch super.spago (pkgs.fetchpatch {
url = "https://github.com/purescript/spago/pull/584/commits/898a8e48665e5a73ea03525ce2c973455ab9ac52.patch"; url = "https://github.com/purescript/spago/pull/616/commits/95b5fa0f1d3bfb07972d1ef5004b8bee8a070667.patch";
sha256 = "05gs1hjlcf60cr6728rhgwwgxp3ildly14v4l2lrh6ma2fljhyjy"; sha256 = "0v3890lwhddfrq9mhbq92962pkxra8kwbin97wg3s0b02dk65ysc";
}); });
# Spago basically compiles with LTS-14, but it requires a newer version # Spago basically compiles with LTS-14, but it requires a newer version
# of directory. This is to work around a bug only present on windows, so # of directory. This is to work around a bug only present on windows, so
# we can safely jailbreak spago and use the older directory package from # we can safely jailbreak spago and use the older directory package from
# LTS-14. # LTS-14.
spagoWithOverrides = doJailbreak (spagoWithPatches.override { spagoWithOverrides = doJailbreak spagoWithPatches;
# spago requires dhall-1.29.0.
dhall = self.dhall_1_29_0;
});
# This defines the version of the purescript-docs-search release we are using. # This defines the version of the purescript-docs-search release we are using.
# This is defined in the src/Spago/Prelude.hs file in the spago source. # This is defined in the src/Spago/Prelude.hs file in the spago source.
@ -742,4 +724,13 @@ self: super: builtins.intersectAttrs super {
# dhall_1_29_0 is no longer used, since more recent versions of dhall don't # dhall_1_29_0 is no longer used, since more recent versions of dhall don't
# access the network in checks. # access the network in checks.
dhall_1_29_0 = dontCheck super.dhall_1_29_0; dhall_1_29_0 = dontCheck super.dhall_1_29_0;
cut-the-crap =
let path = pkgs.stdenv.lib.makeBinPath [ pkgs.ffmpeg ];
in overrideCabal (addBuildTool super.cut-the-crap pkgs.makeWrapper) (_drv: {
postInstall = ''
wrapProgram $out/bin/cut-the-crap \
--prefix PATH : "${path}"
'';
});
} }

View file

@ -4,62 +4,91 @@ with haskellLib;
self: super: self: super:
let let
# This contains updates to the dependencies, without which it would
# be even more work to get it to build.
# As of 2020-04, there's no new release in sight, which is why we're
# pulling from Github.
tensorflow-haskell = pkgs.fetchFromGitHub { tensorflow-haskell = pkgs.fetchFromGitHub {
owner = "tensorflow"; owner = "tensorflow";
repo = "haskell"; repo = "haskell";
rev = "85bf0bb12cecfcdfcf31dea43b67cbe44576f685"; rev = "0f322b2e0611cbe7011c84ba8b6cb822e4725ebc";
sha256 = "1xbwc8y4a7n2163g746dpyh1q86rbxaw3d41kcy1mbhvmfqq56x7"; sha256 = "15gn66i547q20sd50ixwm6yk1g00syfgxp8xa6xjd0i3kcsl3gs1";
fetchSubmodules = true; fetchSubmodules = true;
}; };
setSourceRoot = dir: drv: drv.overrideAttrs (_oldAttrs: {sourceRoot = "source/${dir}";}); setTensorflowSourceRoot = dir: drv:
(overrideCabal drv (drv: { src = tensorflow-haskell; }))
.overrideAttrs (_oldAttrs: {sourceRoot = "source/${dir}";});
proto-lens = self.proto-lens; proto-lens = self.proto-lens_0_5_1_0;
proto-lens-protoc = self.proto-lens-protoc; proto-lens-protoc = self.proto-lens-protoc_0_5_0_0;
proto-lens-protobuf-types = self.proto-lens-protobuf-types; proto-lens-runtime = self.proto-lens-runtime_0_5_0_0;
mainland-pretty = self.mainland-pretty_0_6_2; proto-lens-protobuf-types = self.proto-lens-protobuf-types_0_5_0_0;
proto-lens-setup = self.proto-lens-setup_0_4_0_2;
lens-family = self.lens-family_1_2_3;
in in
{ {
proto-lens = appendPatch super.proto-lens ./patches/proto-lens-0.2.2.0.patch; lens-family_1_2_3 = super.lens-family_1_2_3.override {
proto-lens-descriptors = doJailbreak (super.proto-lens-descriptors.override { lens-family-core = self.lens-family-core_1_2_3;
inherit proto-lens; };
lens-labels = self.lens-labels_0_1_0_2;
}); proto-lens_0_5_1_0 = (appendPatch (doJailbreak super.proto-lens_0_5_1_0) ./patches/proto-lens-0.5.1.0.patch).override {
proto-lens-protoc = appendPatch (addBuildDepend (super.proto-lens-protoc.override { inherit lens-family;
inherit proto-lens; };
}) self.semigroups) ./patches/proto-lens-protoc-0.2.2.3.patch;
proto-lens-protobuf-types = doJailbreak (super.proto-lens-protobuf-types.override { proto-lens-runtime_0_5_0_0 = doJailbreak (super.proto-lens-runtime_0_5_0_0.override {
inherit proto-lens proto-lens-protoc; inherit lens-family proto-lens;
}); });
lens-labels_0_1_0_2 = doJailbreak super.lens-labels_0_1_0_2; proto-lens-protoc_0_5_0_0 = doJailbreak (super.proto-lens-protoc_0_5_0_0.override {
inherit lens-family proto-lens;
haskell-src-exts = self.haskell-src-exts_1_19_1;
});
proto-lens-setup_0_4_0_2 = appendPatch (doJailbreak (super.proto-lens-setup_0_4_0_2.override {
inherit proto-lens-protoc;
})) ./patches/proto-lens-setup-0.4.0.2.patch;
haskell-src-exts_1_19_1 = appendPatch (doJailbreak super.haskell-src-exts_1_19_1) ( proto-lens-protobuf-types_0_5_0_0 = doJailbreak (super.proto-lens-protobuf-types_0_5_0_0.override {
inherit lens-family proto-lens proto-lens-runtime proto-lens-setup;
});
haskell-src-exts_1_19_1 = appendPatches (doJailbreak super.haskell-src-exts_1_19_1) [
# Adapt to the SemigroupMonoid Proposal (enables building on GHC >= 8.4) # Adapt to the SemigroupMonoid Proposal (enables building on GHC >= 8.4)
pkgs.fetchpatch { (pkgs.fetchpatch {
url = "https://github.com/haskell-suite/haskell-src-exts/commit/258e072fe9e37f94360b7488b58ea2832843bbb8.patch"; url = https://github.com/haskell-suite/haskell-src-exts/commit/258e072fe9e37f94360b7488b58ea2832843bbb8.patch;
sha256 = "0ja6ai41v9plinlhjwja282m6ahn6mw4xi79np0jxqk83cg0z1ff"; sha256 = "0ja6ai41v9plinlhjwja282m6ahn6mw4xi79np0jxqk83cg0z1ff";
} })
); # Adapt to MonadFail proposal (enables building on GHC >= 8.8)
(pkgs.fetchpatch {
url = https://gist.githubusercontent.com/mikesperber/0f2addaf3fbe97ffb4a5234d8711ba41/raw/e09e20998283c7195e82d546ba9266d290eb000d/gistfile1.txt;
sha256 = "18clvli7vpqsqlf2f3qidn71738j9zdlpana6wha3x0dxwan5ly0";
}) ];
tensorflow-proto = super.tensorflow-proto.override { tensorflow-proto = (setTensorflowSourceRoot "tensorflow-proto" super.tensorflow-proto).override {
inherit proto-lens proto-lens-protobuf-types; inherit proto-lens proto-lens-runtime proto-lens-setup proto-lens-protobuf-types;
}; };
tensorflow = super.tensorflow.override {
inherit mainland-pretty proto-lens; tensorflow = (setTensorflowSourceRoot "tensorflow" super.tensorflow).override {
inherit lens-family proto-lens;
# the "regular" Python package does not seem to include the binary library
libtensorflow = pkgs.libtensorflow-bin;
}; };
tensorflow-core-ops = super.tensorflow-core-ops.override {
inherit mainland-pretty proto-lens; tensorflow-core-ops = (setTensorflowSourceRoot "tensorflow-core-ops" super.tensorflow-core-ops).override {
inherit lens-family proto-lens;
}; };
tensorflow-logging = super.tensorflow-logging.override {
inherit proto-lens; tensorflow-logging = (setTensorflowSourceRoot "tensorflow-logging" super.tensorflow-logging).override {
inherit lens-family proto-lens;
}; };
tensorflow-mnist = overrideCabal (super.tensorflow-mnist.override {
inherit proto-lens; tensorflow-mnist = (setTensorflowSourceRoot "tensorflow-mnist" super.tensorflow-mnist).override {
inherit lens-family proto-lens;
# https://github.com/tensorflow/haskell/issues/215 # https://github.com/tensorflow/haskell/issues/215
tensorflow-mnist-input-data = self.tensorflow-mnist-input-data; tensorflow-mnist-input-data = self.tensorflow-mnist-input-data;
}) (_drv: { broken = false; }); };
tensorflow-mnist-input-data = setSourceRoot "tensorflow-mnist-input-data" (super.callPackage (
tensorflow-mnist-input-data = setTensorflowSourceRoot "tensorflow-mnist-input-data" (super.callPackage (
{ mkDerivation, base, bytestring, Cabal, cryptonite, directory { mkDerivation, base, bytestring, Cabal, cryptonite, directory
, filepath, HTTP, network-uri, stdenv , filepath, HTTP, network-uri, stdenv
}: }:
@ -80,7 +109,6 @@ in
mkDerivation { mkDerivation {
pname = "tensorflow-mnist-input-data"; pname = "tensorflow-mnist-input-data";
version = "0.1.0.0"; version = "0.1.0.0";
src = tensorflow-haskell;
enableSeparateDataOutput = true; enableSeparateDataOutput = true;
setupHaskellDepends = [ setupHaskellDepends = [
base bytestring Cabal cryptonite directory filepath HTTP base bytestring Cabal cryptonite directory filepath HTTP
@ -95,10 +123,12 @@ in
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
} }
) {}); ) {});
tensorflow-opgen = super.tensorflow-opgen.override {
inherit mainland-pretty proto-lens; tensorflow-opgen = (setTensorflowSourceRoot "tensorflow-opgen" super.tensorflow-opgen).override {
inherit lens-family proto-lens;
}; };
tensorflow-ops = super.tensorflow-ops.override {
inherit proto-lens; tensorflow-ops = (setTensorflowSourceRoot "tensorflow-ops" super.tensorflow-ops).override {
inherit lens-family proto-lens;
}; };
} }

Some files were not shown because too many files have changed in this diff Show more