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:
```
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
haskell.compiler.ghc8101 ghc-8.10.0.20191210
haskell.compiler.integer-simple.ghc8101 ghc-8.10.0.20191210
haskell.compiler.ghcHEAD ghc-8.10.20191119
haskell.compiler.integer-simple.ghcHEAD ghc-8.10.20191119
haskell.compiler.ghc8101 ghc-8.10.1
haskell.compiler.integer-simple.ghc8101 ghc-8.10.1
haskell.compiler.ghcHEAD ghc-8.11.20200403
haskell.compiler.integer-simple.ghcHEAD ghc-8.11.20200403
haskell.compiler.ghc822Binary ghc-8.2.2-binary
haskell.compiler.ghc844 ghc-8.4.4
haskell.compiler.ghc863Binary ghc-8.6.3-binary

View file

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

View file

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

View file

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

View file

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

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

View file

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

View file

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

View file

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

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
{ mig = import ../make-test-python.nix ({ pkgs, lib, ... }: {
with import ../../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
{ mig = makeTest {
name = "hydra-db-migration";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ma27 ];
@ -82,5 +88,5 @@ let inherit (import ./common.nix { inherit system; }) baseConfig; in
original.shutdown()
'';
});
};
}

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

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";
version = "4.0.1";
@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
sha256 = "1ac8r8050i5r3ag1hlblbcyskqjqz7wgamndbzsmw52qi6hxk44f";
};
propagatedBuildInputs = [ mopidy python3Packages.pyspotify ];
propagatedBuildInputs = [ mopidy pythonPackages.pyspotify ];
doCheck = false;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

View file

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

View file

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

View file

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

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 {
pname = "kubernetes";
version = "1.18.0";
version = "1.18.1";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "kubernetes";
rev = "v${version}";
sha256 = "1jp54aahwpx9w73byfyadgffrig9fy6x8xzw27xv0anj2v9bm1fw";
sha256 = "1z109h0jqqfxvgyhmxsiggf6fb9kdrwvmv9wdi1n58n4yk65hvl6";
};
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];

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 {
pname = "jitsi-meet-electron";
version = "2.0.0";
version = "2.0.2";
src = fetchurl {
url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
sha256 = "11ci9dqhy8hkb4fwykjvcvai20ahqhjil825n1y1xf663ch8by93";
sha256 = "04y3qn2clvsfiyp9s6ib09mfxspv3kpr9248sda8s09n1cm0jpps";
name="${pname}-${version}.AppImage";
};

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

View file

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

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

View file

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

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

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 {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/90b24a91103dca4f0df6cb28cecb205a7d7ab650.tar.gz";
sha256 = "1zfj8c6s9icqg83ycfvd150s4jd07ccbjg2w2mn10rx5ng76mn53";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3e87a900a11faa97a8a068874c932f3172d0aa76.tar.gz";
sha256 = "0cf35vics1211pr1g8a804zm3w4lsdacqkgw3hqk7wdrrbasb8ip";
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

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