Merge branch 'master.upstream' into staging.upstream

This commit is contained in:
William A. Kennington III 2015-06-12 13:47:46 -07:00
commit 954801a9a8
127 changed files with 1911 additions and 6798 deletions

View File

@ -1,11 +1,15 @@
/* -*- coding: utf-8; -*- */
{
/* Add your name and email address here. Keep the list
alphabetically sorted. */
/* Add your name and email address here.
Keep the list alphabetically sorted.
Prefer the same attrname as your github username, please,
so it's easy to ping a package @maintainer.
*/
abaldeau = "Andreas Baldeau <andreas@baldeau.net>";
abbradar = "Nikolay Amiantov <ab@fmap.me>";
adev = "Adrien Devresse <adev@adev.name>";
aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
aflatter = "Alexander Flatter <flatter@fastmail.fm>";
aherrmann = "Andreas Herrmann <andreash87@gmx.ch>";

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/usr/bin/env bash
GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"

View File

@ -153,6 +153,19 @@ nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA haskellPackages.cabal-install
</para>
</listitem>
<listitem>
<para>
The OpenBLAS library has been updated to version
<literal>0.2.14</literal>. Support for the
<literal>x86_64-darwin</literal> platform was added. Dynamic
architecture detection was enabled; OpenBLAS now selects
microarchitecture-optimized routines at runtime, so optimal
performance is achieved without the need to rebuild OpenBLAS
locally. OpenBLAS has replaced ATLAS in most packages which use an
optimized BLAS or LAPACK implementation.
</para>
</listitem>
</itemizedlist>
</para>

View File

@ -43,8 +43,6 @@ sub new {
$startCommand .= "-bios $args->{bios} "
if defined $args->{bios};
$startCommand .= $args->{qemuFlags} || "";
} else {
$startCommand = Cwd::abs_path $startCommand;
}
my $tmpDir = $ENV{'TMPDIR'} || "/tmp";

View File

@ -1,5 +1,5 @@
{ modulesPath, ...}:
{
imports = [ "${modulesPath}/virtualisation/amazon-config.nix" ];
imports = [ "${modulesPath}/virtualisation/amazon-init.nix" ];
services.journald.rateLimitBurst = 0;
}

View File

@ -81,7 +81,10 @@ in {
support32Bit = mkOption {
type = types.bool;
default = false;
description = "no";
description = ''
Whether to include the 32-bit pulseaudio libraries in the systemn or not.
This is only useful on 64-bit systems and currently limited to x86_64-linux.
'';
};
configFile = mkOption {

View File

@ -116,11 +116,19 @@ in {
];
};
package = mkOption {
description = "The kafka package to use";
default = pkgs.apacheKafka;
type = types.package;
};
};
config = mkIf cfg.enable {
environment.systemPackages = [pkgs.apacheKafka];
environment.systemPackages = [cfg.package];
users.extraUsers = singleton {
name = "apache-kafka";
@ -136,7 +144,7 @@ in {
serviceConfig = {
ExecStart = ''
${pkgs.jre}/bin/java \
-cp "${pkgs.apacheKafka}/libs/*:${configDir}" \
-cp "${cfg.package}/libs/*:${configDir}" \
${toString cfg.jvmOptions} \
kafka.Kafka \
${configDir}/server.properties

View File

@ -67,7 +67,7 @@ in
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.disnix ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;
environment.systemPackages = [ pkgs.disnix pkgs.dysnomia ] ++ optional cfg.useWebServiceInterface pkgs.DisnixWebService;
services.dbus.enable = true;
services.dbus.packages = [ pkgs.disnix ];

View File

@ -63,7 +63,7 @@ in
package = mkOption {
type = types.package;
default = pkgs.nixUnstable;
default = pkgs.nix;
description = ''
This option specifies the Nix package instance to use throughout the system.
'';

View File

@ -73,7 +73,7 @@ in {
};
collectors = mkOption {
type = types.attrs;
type = with types; attrsOf (listOf path);
default = {};
example = literalExample "{ 0 = [ \"\${postgresStats}/bin/collect-stats\" ]; }";
description = ''

View File

@ -469,6 +469,11 @@ in
environment.pathsToLink =
[ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ];
# The default max inotify watches is 8192.
# Nowadays most apps require a good number of inotify watches,
# the value below is used by default on several other distros.
boot.kernel.sysctl."fs.inotify.max_user_watches" = mkDefault 524288;
systemd.defaultUnit = mkIf cfg.autorun "graphical.target";
systemd.services.display-manager =

View File

@ -27,7 +27,12 @@ let
f = x: if x == null then "" else "" + x;
grubConfig = args: pkgs.writeText "grub-config.xml" (builtins.toXML
grubConfig = args:
let
efiSysMountPoint = if args.efiSysMountPoint == null then args.path else args.efiSysMountPoint;
efiSysMountPoint' = replaceChars [ "/" ] [ "-" ] efiSysMountPoint;
in
pkgs.writeText "grub-config.xml" (builtins.toXML
{ splashImage = f cfg.splashImage;
grub = f grub;
grubTarget = f (grub.grubTarget or "");
@ -36,7 +41,8 @@ let
grubEfi = f grubEfi;
grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f (grubEfi.grubTarget or "") else "";
bootPath = args.path;
efiSysMountPoint = if args.efiSysMountPoint == null then args.path else args.efiSysMountPoint;
bootloaderId = if args.efiBootloaderId == null then "NixOS${efiSysMountPoint'}" else args.efiBootloaderId;
inherit efiSysMountPoint;
inherit (args) devices;
inherit (efi) canTouchEfiVariables;
inherit (cfg)
@ -141,6 +147,17 @@ in
'';
};
efiBootloaderId = mkOption {
default = null;
example = "NixOS-fsid";
type = types.nullOr types.str;
description = ''
The id of the bootloader to store in efi nvram.
The default is to name it NixOS and append the path or efiSysMountPoint.
This is only used if <literal>boot.loader.efi.canTouchEfiVariables</literal> is true.
'';
};
devices = mkOption {
default = [ ];
example = [ "/dev/sda" "/dev/sdb" ];

View File

@ -59,6 +59,7 @@ my $canTouchEfiVariables = get("canTouchEfiVariables");
my $efiSysMountPoint = get("efiSysMountPoint");
my $gfxmodeEfi = get("gfxmodeEfi");
my $gfxmodeBios = get("gfxmodeBios");
my $bootloaderId = get("bootloaderId");
$ENV{'PATH'} = get("path");
die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2;
@ -521,7 +522,7 @@ if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) {
if (($requireNewInstall != 0) && ($efiTarget eq "only" || $efiTarget eq "both")) {
print STDERR "installing the GRUB $grubVersion EFI boot loader into $efiSysMountPoint...\n";
if ($canTouchEfiVariables eq "true") {
system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint") == 0
system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint", "--bootloader-id=$bootloaderId") == 0
or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n";
} else {
system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint", "--no-nvram") == 0

View File

@ -0,0 +1,52 @@
{ config, pkgs, modulesPath, ... }:
# This attempts to pull a nix expression from this EC2 instance's user-data.
let
bootScript = pkgs.writeScript "bootscript.sh" ''
#!${pkgs.stdenv.shell} -eux
echo "attempting to fetch configuration from user-data..."
export PATH=${pkgs.nix}/bin:${pkgs.wget}/bin:${pkgs.systemd}/bin:${pkgs.gnugrep}/bin:${pkgs.gnused}/bin:${config.system.build.nixos-rebuild}/bin:$PATH
export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels
userData="$(mktemp)"
wget -q --wait=1 --tries=0 --retry-connrefused -O - http://169.254.169.254/2011-01-01/user-data > "$userData"
if [[ $? -eq 0 ]]; then
echo "user-data fetched"
# If the user-data looks like it could be a nix expression,
# copy it over. Also, look for a magic three-hash comment and set
# that as the channel.
if sed '/^\(#\|SSH_HOST_.*\)/d' < "$userData" | grep -q '\S'; then
channels="$(grep '^###' "$userData" | sed 's|###\s*||')"
printf "%s" "$channels" | while read channel; do
echo "writing channel: $channel"
done
if [[ -n "$channels" ]]; then
printf "%s" "$channels" > /root/.nix-channels
nix-channel --update
fi
echo "setting configuration"
cp "$userData" /etc/nixos/configuration.nix
else
echo "user-data does not appear to be a nix expression; ignoring"
fi
else
echo "failed to fetch user-data"
fi
type -f nixos-rebuild
nixos-rebuild switch
'';
in {
imports = [ "${modulesPath}/virtualisation/amazon-image.nix" ];
ec2.metadata = true;
boot.postBootCommands = ''
${bootScript} &
'';
}

View File

@ -6,7 +6,6 @@ with lib;
let
cfg = config.virtualisation.xen;
xen = pkgs.xen;
in
{
@ -88,9 +87,9 @@ in
message = "Xen currently does not support EFI boot";
} ];
virtualisation.xen.stored = mkDefault "${xen}/bin/oxenstored";
virtualisation.xen.stored = mkDefault "${pkgs.xen}/bin/oxenstored";
environment.systemPackages = [ xen ];
environment.systemPackages = [ pkgs.xen ];
# Make sure Domain 0 gets the required configuration
#boot.kernelPackages = pkgs.boot.kernelPackages.override { features={xen_dom0=true;}; };
@ -122,7 +121,7 @@ in
system.extraSystemBuilderCmds =
''
ln -s ${xen}/boot/xen.gz $out/xen.gz
ln -s ${pkgs.xen}/boot/xen.gz $out/xen.gz
echo "${toString cfg.bootParams}" > $out/xen-params
'';
@ -158,13 +157,16 @@ in
environment.etc =
[ { source = "${xen}/etc/xen/xl.conf";
[ { source = "${pkgs.xen}/etc/xen/xl.conf";
target = "xen/xl.conf";
}
{ source = "${pkgs.xen}/etc/xen/scripts";
target = "xen/scripts";
}
];
# Xen provides udev rules.
services.udev.packages = [ xen ];
services.udev.packages = [ pkgs.xen ];
services.udev.path = [ pkgs.bridge-utils pkgs.iproute ];
@ -260,16 +262,13 @@ in
wantedBy = [ "multi-user.target" ];
before = [ "xen-domains.service" ];
serviceConfig.RemainAfterExit = "yes";
serviceConfig.ExecStart = ''
${pkgs.bridge-utils}/bin/brctl addbr ${cfg.bridge}
${pkgs.inetutils}/bin/ifconfig ${cfg.bridge} up
'';
serviceConfig.ExecStop = ''
${pkgs.inetutils}/bin/ifconfig ${cfg.bridge} down
${pkgs.bridge-utils}/bin/brctl delbr ${cfg.bridge}
'';
serviceConfig.ExecStart = "${pkgs.bridge-utils}/bin/brctl addbr ${cfg.bridge}";
postStart = "${pkgs.inetutils}/bin/ifconfig ${cfg.bridge} up";
serviceConfig.ExecStop = "${pkgs.inetutils}/bin/ifconfig ${cfg.bridge} down";
postStop = "${pkgs.bridge-utils}/bin/brctl delbr ${cfg.bridge}";
};
systemd.services.xen-domains = {
description = "Xen domains - automatically starts, saves and restores Xen domains";
wantedBy = [ "multi-user.target" ];

View File

@ -52,6 +52,7 @@ in rec {
(all nixos.tests.firefox)
(all nixos.tests.firewall)
(all nixos.tests.gnome3)
(all nixos.tests.installer.grub1)
(all nixos.tests.installer.lvm)
(all nixos.tests.installer.luksroot)
(all nixos.tests.installer.separateBoot)

View File

@ -247,6 +247,8 @@ in rec {
tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; });
tests.dockerRegistry = hydraJob (import tests/docker-registry.nix { system = "x86_64-linux"; });
tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; });
tests.ec2-nixops = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-nixops;
tests.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config;
tests.firefox = callTest tests/firefox.nix {};
tests.firewall = callTest tests/firewall.nix {};
tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; });

119
nixos/tests/ec2.nix Normal file
View File

@ -0,0 +1,119 @@
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
with import ../lib/qemu-flags.nix;
with pkgs.lib;
let
image =
(import ../lib/eval-config.nix {
inherit system;
modules = [
../maintainers/scripts/ec2/amazon-hvm-config.nix
../../nixos/modules/testing/test-instrumentation.nix
{ boot.initrd.kernelModules = [ "virtio" "virtio_blk" "virtio_pci" "virtio_ring" ]; }
];
}).config.system.build.amazonImage;
makeEc2Test = { name, userData, script, hostname ? "ec2-instance", sshPublicKey ? null }:
let
metaData = pkgs.stdenv.mkDerivation {
name = "metadata";
buildCommand = ''
mkdir -p $out/2011-01-01
ln -s ${pkgs.writeText "userData" userData} $out/2011-01-01/user-data
mkdir -p $out/1.0/meta-data
echo "${hostname}" > $out/1.0/meta-data/hostname
'' + optionalString (sshPublicKey != null) ''
mkdir -p $out/1.0/meta-data/public-keys/0
ln -s ${pkgs.writeText "sshPublicKey" sshPublicKey} $out/1.0/meta-data/public-keys/0/openssh-key
'';
};
in makeTest {
name = "ec2-" + name;
nodes = {};
testScript =
''
use File::Temp qw/ tempfile /;
my ($fh, $filename) = tempfile();
`qemu-img create -f qcow2 -o backing_file=${image}/nixos.img $filename`;
my $startCommand = "qemu-kvm -m 768 -net nic -net 'user,net=169.254.0.0/16,guestfwd=tcp:169.254.169.254:80-cmd:${pkgs.micro-httpd}/bin/micro_httpd ${metaData}'";
$startCommand .= " -drive file=" . Cwd::abs_path($filename) . ",if=virtio,werror=report";
$startCommand .= " \$QEMU_OPTS";
my $machine = createMachine({ startCommand => $startCommand });
${script}
'';
};
snakeOilPrivateKey = [
"-----BEGIN EC PRIVATE KEY-----"
"MHcCAQEEIHQf/khLvYrQ8IOika5yqtWvI0oquHlpRLTZiJy5dRJmoAoGCCqGSM49"
"AwEHoUQDQgAEKF0DYGbBwbj06tA3fd/+yP44cvmwmHBWXZCKbS+RQlAKvLXMWkpN"
"r1lwMyJZoSGgBHoUahoYjTh9/sJL7XLJtA=="
"-----END EC PRIVATE KEY-----"
];
snakeOilPublicKey = pkgs.lib.concatStrings [
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHA"
"yNTYAAABBBChdA2BmwcG49OrQN33f/sj+OHL5sJhwVl2Qim0vkUJQCry1zFpKTa"
"9ZcDMiWaEhoAR6FGoaGI04ff7CS+1yybQ= snakeoil"
];
in {
boot-ec2-nixops = makeEc2Test {
name = "nixops-userdata";
sshPublicKey = snakeOilPublicKey; # That's right folks! My user's key is also the host key!
userData = ''
SSH_HOST_DSA_KEY_PUB:${snakeOilPublicKey}
SSH_HOST_DSA_KEY:${pkgs.lib.concatStringsSep "|" snakeOilPrivateKey}
'';
script = ''
$machine->start;
$machine->waitForFile("/root/user-data");
$machine->waitForUnit("sshd.service");
# We have no keys configured on the client side yet, so this should fail
$machine->fail("ssh -o BatchMode=yes localhost exit");
# Let's install our client private key
$machine->succeed("mkdir -p ~/.ssh");
${concatMapStrings (s: "$machine->succeed('echo ${s} >> ~/.ssh/id_ecdsa');") snakeOilPrivateKey}
$machine->succeed("chmod 600 ~/.ssh/id_ecdsa");
# We haven't configured the host key yet, so this should still fail
$machine->fail("ssh -o BatchMode=yes localhost exit");
# Add the host key; ssh should finally succeed
$machine->succeed("echo localhost,127.0.0.1 ${snakeOilPublicKey} > ~/.ssh/known_hosts");
$machine->succeed("ssh -o BatchMode=yes localhost exit");
$machine->shutdown;
'';
};
boot-ec2-config = makeEc2Test {
name = "config-userdata";
sshPublicKey = snakeOilPublicKey;
userData = ''
### http://nixos.org/channels/nixos-unstable nixos
{
imports = [
<nixpkgs/nixos/modules/virtualisation/amazon-image.nix>
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
];
environment.etc.testFile = {
text = "whoa";
};
}
'';
script = ''
$machine->start;
$machine->waitForFile("/etc/testFile");
$machine->succeed("cat /etc/testFile | grep -q 'whoa'");
'';
};
}

View File

@ -0,0 +1,46 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation {
name = "aacgain-1.9.0";
src = fetchFromGitHub {
owner = "mulx";
repo = "aacgain";
rev = "7c29dccd878ade1301710959aeebe87a8f0828f5";
sha256 = "07hl432vsscqg01b6wr99qmsj4gbx0i02x4k565432y6zpfmaxm0";
};
configurePhase = ''
cd mp4v2
./configure
cd ../faad2
./configure
cd ..
./configure
'';
buildPhase = ''
cd mp4v2
make libmp4v2.la
cd ../faad2
make LDFLAGS=-static
cd ..
make
'';
installPhase = ''
strip -s aacgain/aacgain
install -vD aacgain/aacgain "$out/bin/aacgain"
'';
meta = {
description = "ReplayGain for AAC files";
homepage = https://github.com/mulx/aacgain;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.robbinch ];
};
}

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, libtool, intltool, pkgconfig, glib
, gtk, curl, mpd_clientlib, libsoup, gob2, vala, libunique
, libSM, libICE, sqlite
, libSM, libICE, sqlite, hicolor_icon_theme
}:
stdenv.mkDerivation rec {
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [
libtool intltool pkgconfig glib gtk curl mpd_clientlib libsoup
libunique libmpd gob2 vala libSM libICE sqlite
libunique libmpd gob2 vala libSM libICE sqlite hicolor_icon_theme
];
meta = with stdenv.lib; {

View File

@ -0,0 +1,32 @@
{ stdenv, fetchgit, automake, autoreconfHook, fftw, gettext, ladspaH, libxml2, pkgconfig, perl, perlPackages }:
stdenv.mkDerivation {
name = "swh-plugins-git-2015-03-04";
src = fetchgit {
url = https://github.com/swh/ladspa.git;
rev = "4b8437e8037cace3d5bf8ce6d1d1da0182aba686";
sha256 = "7d9aa13a064903b330bd52e35c1f810f1c8a253ea5eb4e5a3a69a051af03150e";
};
buildInputs = [ automake autoreconfHook fftw gettext ladspaH libxml2 pkgconfig perl perlPackages.XMLParser ];
patchPhase = ''
patchShebangs .
patchShebangs ./metadata/
cp ${automake}/share/automake-*/mkinstalldirs .
'';
configurePhase = ''
autoreconf -i
./configure --prefix=$out
'';
meta = with stdenv.lib; {
homepage = http://plugin.org.uk/;
description = "LADSPA format audio plugins";
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, emacs, unzip }:
stdenv.mkDerivation {
name = "emacs-monky-20150404";
src = fetchurl {
url = "https://github.com/ananthakumaran/monky/archive/48c0200910739b6521f26f6423b2bfb8c38b4482.zip";
sha256 = "0yp3pzddx7yki9n3qrriqa5p442qyrdivvlc4xbl024vzjyzddrj";
};
buildInputs = [ emacs unzip ];
buildPhase = "emacs -L . --batch -f batch-byte-compile *.el";
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
}

View File

@ -1,18 +1,20 @@
{ stdenv, fetchFromGitHub, cmake, gettext, glib, libmsgpack
, libtermkey, libtool, libuv, lpeg, lua, luajit, luaMessagePack
, luabitop, ncurses, perl, pkgconfig, unibilium
, withJemalloc ? true, jemalloc }:
{ stdenv, fetchFromGitHub, cmake, gettext, glib, libmsgpack, libtermkey
, libtool, libuv, lpeg, lua, luajit, luaMessagePack, luabitop, ncurses, perl
, pkgconfig, unibilium, makeWrapper, vimUtils
let version = "2015-06-09"; in
stdenv.mkDerivation rec {
name = "neovim-${version}";
, withPython ? true, pythonPackages, extraPythonPackages ? []
, withPython3 ? true, python3Packages, extraPython3Packages ? []
, withJemalloc ? true, jemalloc
src = fetchFromGitHub {
sha256 = "1lycql0lwi7ynrsaln4kxybwvxb9fvganiq3ba4pnpcfgl155k1j";
rev = "6270d431aaeed71e7a8782411f36409ab8e0ee35";
repo = "neovim";
owner = "neovim";
};
, vimAlias ? false
, configure ? null
}:
with stdenv.lib;
let
version = "2015-06-09";
# Note: this is NOT the libvterm already in nixpkgs, but some NIH silliness:
neovimLibvterm = let version = "2015-02-23"; in stdenv.mkDerivation rec {
@ -27,11 +29,12 @@ stdenv.mkDerivation rec {
buildInputs = [ libtool perl ];
makeFlags = "PREFIX=$(out)";
makeFlags = [ "PREFIX=$(out)" ]
++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
enableParallelBuilding = true;
meta = with stdenv.lib; {
meta = {
description = "VT220/xterm/ECMA-48 terminal emulator library";
homepage = http://www.leonerd.org.uk/code/libvterm/;
license = licenses.mit;
@ -40,49 +43,108 @@ stdenv.mkDerivation rec {
};
};
enableParallelBuilding = true;
buildInputs = [
cmake
glib
libtermkey
libuv
luajit
lua
lpeg
luaMessagePack
luabitop
libmsgpack
ncurses
neovimLibvterm
pkgconfig
unibilium
] ++ stdenv.lib.optional withJemalloc jemalloc;
nativeBuildInputs = [
gettext
];
LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;${luabitop}/lib/lua/5.2/?.so";
LUA_PATH="${luaMessagePack}/share/lua/5.1/?.lua";
meta = with stdenv.lib; {
description = "Vim text editor fork focused on extensibility and agility";
longDescription = ''
Neovim is a project that seeks to aggressively refactor Vim in order to:
- Simplify maintenance and encourage contributions
- Split the work between multiple developers
- Enable the implementation of new/modern user interfaces without any
modifications to the core source
- Improve extensibility with a new plugin architecture
'';
homepage = http://www.neovim.io;
# "Contributions committed before b17d96 by authors who did not sign the
# Contributor License Agreement (CLA) remain under the Vim license.
# Contributions committed after b17d96 are licensed under Apache 2.0 unless
# those contributions were copied from Vim (identified in the commit logs
# by the vim-patch token). See LICENSE for details."
license = with licenses; [ asl20 vim ];
maintainers = with maintainers; [ manveru nckx ];
platforms = platforms.unix;
pythonEnv = pythonPackages.python.buildEnv.override {
extraLibs = [ pythonPackages.neovim ] ++ extraPythonPackages;
ignoreCollisions = true;
};
python3Env = python3Packages.python.buildEnv.override {
extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages;
ignoreCollisions = true;
};
neovim = stdenv.mkDerivation rec {
name = "neovim-${version}";
src = fetchFromGitHub {
sha256 = "1lycql0lwi7ynrsaln4kxybwvxb9fvganiq3ba4pnpcfgl155k1j";
rev = "6270d431aaeed71e7a8782411f36409ab8e0ee35";
repo = "neovim";
owner = "neovim";
};
enableParallelBuilding = true;
buildInputs = [
makeWrapper
cmake
glib
libtermkey
libuv
luajit
lua
lpeg
luaMessagePack
luabitop
libmsgpack
ncurses
neovimLibvterm
pkgconfig
unibilium
] ++ optional withJemalloc jemalloc;
nativeBuildInputs = [
gettext
];
LUA_CPATH="${lpeg}/lib/lua/${lua.luaversion}/?.so;${luabitop}/lib/lua/5.2/?.so";
LUA_PATH="${luaMessagePack}/share/lua/5.1/?.lua";
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
export DYLD_LIBRARY_PATH=${jemalloc}/lib
'';
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
echo patching $out/bin/nvim
install_name_tool -change libjemalloc.1.dylib \
${jemalloc}/lib/libjemalloc.1.dylib \
$out/bin/nvim
'' + optionalString withPython ''
ln -s ${pythonEnv}/bin/python $out/bin/nvim-python
'' + optionalString withPython3 ''
ln -s ${python3Env}/bin/python $out/bin/nvim-python3
'' + optionalString (withPython || withPython3) ''
wrapProgram $out/bin/nvim --add-flags "${
(optionalString withPython
''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '') +
(optionalString withPython3
''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '')
}"
'';
meta = {
description = "Vim text editor fork focused on extensibility and agility";
longDescription = ''
Neovim is a project that seeks to aggressively refactor Vim in order to:
- Simplify maintenance and encourage contributions
- Split the work between multiple developers
- Enable the implementation of new/modern user interfaces without any
modifications to the core source
- Improve extensibility with a new plugin architecture
'';
homepage = http://www.neovim.io;
# "Contributions committed before b17d96 by authors who did not sign the
# Contributor License Agreement (CLA) remain under the Vim license.
# Contributions committed after b17d96 are licensed under Apache 2.0 unless
# those contributions were copied from Vim (identified in the commit logs
# by the vim-patch token). See LICENSE for details."
license = with licenses; [ asl20 vim ];
maintainers = with maintainers; [ manveru nckx garbas ];
platforms = platforms.unix;
};
};
in if (vimAlias == false && configure == null) then neovim else stdenv.mkDerivation rec {
name = "neovim-${version}-configured";
buildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/bin
for item in ${neovim}/bin/*; do
ln -s $item $out/bin/
done
'' + optionalString vimAlias ''
ln -s $out/bin/nvim $out/bin/vim
'' + optionalString (configure != null) ''
wrapProgram $out/bin/nvim --add-flags "-u ${vimUtils.vimrcFile configure}"
'';
}

View File

@ -1,19 +1,17 @@
{ stdenv, fetchurl, cmake, qt5, exiv2, graphicsmagick }:
let
version = "1.1.0.1";
version = "1.2";
in
stdenv.mkDerivation rec {
name = "photoqt-${version}";
src = fetchurl {
url = "http://photoqt.org/pkgs/photoqt-${version}.tar.gz";
sha256 = "1y59ys1dgjppahs7v7kxwva7ik23s0x7j2f6glv6sn23l9cfq9rp";
sha256 = "1dnnj2h3j517hcbjxlzk035fis44wdmqq7dvhwpmq1rcr0v32aaa";
};
buildInputs = [ cmake qt5.base qt5.tools exiv2 graphicsmagick ];
patches = [ ./graphicsmagick-path.patch ];
preConfigure = ''
export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
'';

View File

@ -1,46 +0,0 @@
--- a/CMake/FindMagick.cmake 2014-10-13 19:24:30.000000000 +0200
+++ b/CMake/FindMagick.cmake 2014-12-27 18:54:19.611759021 +0100
@@ -19,28 +19,11 @@
SET(MAGICK++_FOUND "NO" )
FIND_PATH( MAGICK_INCLUDE_DIR magick/magick.h
- "$ENV{MAGICK_LOCATION}/magick"
- "$ENV{MAGICK_LOCATION}/include/magick"
- "$ENV{MAGICK_HOME}/include/magick"
- /usr/include/magick
- /usr/include/
- /usr/include/GraphicsMagick
- /opt/local/include/GraphicsMagick/magick
- /opt/local/include/GraphicsMagick
+ "$ENV{MAGICK_LOCATION}"
)
FIND_PATH( MAGICK++_INCLUDE_DIR Magick++.h
- "$ENV{MAGICK++_LOCATION}/Magick++"
- "$ENV{MAGICK++_LOCATION}/include/"
- "$ENV{MAGICK_LOCATION}/Magick++"
- "$ENV{MAGICK_LOCATION}/include/Magick++"
- "$ENV{MAGICK_LOCATION}/include/"
- "$ENV{MAGICK_HOME}/include/"
- /usr/include/Magick++
- /usr/include/GraphicsMagick
- /usr/include/
- /opt/local/include/GraphicsMagick/Magick++
- /opt/local/include/GraphicsMagick
+ "$ENV{MAGICK_LOCATION}"
)
FIND_LIBRARY( Magick GraphicsMagick
@@ -55,12 +38,7 @@
FIND_LIBRARY( Magick++ GraphicsMagick++
PATHS
- "$ENV{MAGICK++_LOCATION}/.libs"
- "$ENV{MAGICK_LOCATION}/.libs"
- "$ENV{MAGICK++_LOCATION}/lib"
"$ENV{MAGICK_LOCATION}/lib"
- "$ENV{MAGICK_HOME}/lib"
- /opt/local/lib
DOC "GraphicsMagick Magick++ library"
)

View File

@ -0,0 +1,25 @@
{ stdenv, fetchgit, cmake, qt5, file, kde5}:
let
version = "git-2015-06-10";
in
stdenv.mkDerivation rec {
name = "dfilemanager-${version}";
src = fetchgit {
url = "git://git.code.sf.net/p/dfilemanager/code";
rev = "806a28aa8fed30941a2fd6784c7c9c240bca30e3";
sha256 = "1k15qzjmqg9ffv4cl809b071dpyckf8jspkhfhpbmfd9wasr0m7i";
};
buildInputs = [ cmake qt5.base qt5.tools qt5.x11extras file kde5.solid];
cmakeFlags = "-DQT5BUILD=true";
meta = {
homepage = "http://dfilemanager.sourceforge.net/";
description = "File manager written in Qt/C++, it does use one library from kdelibs, the solid lib for easy device handling";
#license = stdenv.lib.licenses; # license not specified
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.eduarrrd ];
};
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, ninja, which
# default dependencies
, bzip2, flac, speex, icu, libopus
, bzip2, flac, speex, libopus
, libevent, expat, libjpeg, snappy
, libpng, libxml2, libxslt, libcap
, xdg_utils, yasm, minizip, libwebp
@ -84,7 +84,7 @@ let
};
defaultDependencies = [
bzip2 flac speex icu opusWithCustomModes
bzip2 flac speex opusWithCustomModes
libevent expat libjpeg snappy
libpng libxml2 libxslt libcap
xdg_utils yasm minizip libwebp
@ -113,7 +113,7 @@ let
glib gtk dbus_glib
libXScrnSaver libXcursor libXtst mesa
pciutils protobuf speechd libXdamage
pythonPackages.gyp_svn1977 pythonPackages.ply pythonPackages.jinja2
pythonPackages.gyp pythonPackages.ply pythonPackages.jinja2
] ++ optional gnomeKeyringSupport libgnome_keyring3
++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
++ optional enableSELinux libselinux
@ -124,15 +124,10 @@ let
# be fixed, then try again to unbundle everything into separate
# derivations.
prePatch = ''
cp -dsr --no-preserve=mode "${source.main}"/* .
cp -dsr --no-preserve=mode "${source.sandbox}" sandbox
cp -dr --no-preserve=mode "${source.main}"/* .
cp -dr --no-preserve=mode "${source.sandbox}" sandbox
cp -dr "${source.bundled}" third_party
chmod -R u+w third_party
# Hardcode source tree root in all gyp files
find -iname '*.gyp*' \( -type f -o -type l \) \
-exec sed -i -e 's|<(DEPTH)|'"$(pwd)"'|g' {} + \
-exec chmod u+w {} +
'';
postPatch = optionalString (versionOlder version "42.0.0.0") ''
@ -200,7 +195,7 @@ let
# This is to ensure expansion of $out.
libExecPath="${libExecPath}"
python build/linux/unbundle/replace_gyp_files.py ${gypFlags}
python build/gyp_chromium -f ninja --depth "$(pwd)" ${gypFlags}
python build/gyp_chromium -f ninja --depth . ${gypFlags}
'';
buildPhase = let

View File

@ -18,7 +18,7 @@ let
"s,^/,,"
]);
pre42 = versionOlder version "42.0.0.0";
pre44 = versionOlder version "44.0.0.0";
in stdenv.mkDerivation {
name = "chromium-source-${version}";
@ -47,10 +47,10 @@ in stdenv.mkDerivation {
done
'';
patches = if pre42 then [
./sandbox_userns_36.patch ./nix_plugin_paths.patch
] else [
patches = if pre44 then [
./nix_plugin_paths_42.patch
] else [
./nix_plugin_paths_44.patch
];
patchPhase = let
@ -73,11 +73,10 @@ in stdenv.mkDerivation {
-e 's|/bin/echo|echo|' \
-e "/python_arch/s/: *'[^']*'/: '""'/" \
"$out/build/common.gypi" "$main/chrome/chrome_tests.gypi"
'' + optionalString useOpenSSL ''
cat $opensslPatches | patch -p1 -d "$bundled/openssl/openssl"
'' + optionalString (!pre42) ''
sed -i -e '/LOG.*no_suid_error/d' \
"$main/content/browser/browser_main_loop.cc"
'' + optionalString useOpenSSL ''
cat $opensslPatches | patch -p1 -d "$bundled/openssl/openssl"
'';
preferLocalBuild = true;

View File

@ -55,21 +55,6 @@ index 8a205a6..d5c24e1 100644
return false;
cur = cur.Append(kInternalFlashPluginFileName);
break;
@@ -295,12 +288,12 @@ bool PathProvider(int key, base::FilePath* result) {
cur = cur.Append(chrome::kPepperFlashPluginFilename);
break;
case chrome::FILE_PDF_PLUGIN:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "PDF"))
return false;
cur = cur.Append(kInternalPDFPluginFileName);
break;
case chrome::FILE_EFFECTS_PLUGIN:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "FILE_EFFECTS"))
return false;
cur = cur.Append(kEffectsPluginFileName);
break;
@@ -308,7 +301,7 @@ bool PathProvider(int key, base::FilePath* result) {
// We currently need a path here to look up whether the plugin is disabled
// and what its permissions are.

View File

@ -1,21 +1,21 @@
# This file is autogenerated from update.sh in the parent directory.
{
dev = {
version = "43.0.2327.5";
sha256 = "0k9jpzm1n7d3zv6f77vz33jcvmnbxnl6plabvlrf8w83kbzhi76n";
sha256bin32 = "1dm4xp0x02kqj82giw45qd2z12wf22h2bs0d3hnlz050innxgcb6";
sha256bin64 = "1b13g44y704llsnw68840zmaahj1hwzram50v8fqmff44w1b0bxb";
version = "45.0.2421.0";
sha256 = "1qc80y0mhwnvxrvpc3csskgb536wq34c0fgk19h1qb4xc62lxhsk";
sha256bin32 = "1xqhyrlmh00md6i1q4wr0xihqbvcpshzscnjclrn53dlw5zs2s89";
sha256bin64 = "0akdhwwdfcbqfh65a82zigbhsi8sbhhw6904cjprb3bmv4l3c598";
};
beta = {
version = "42.0.2311.39";
sha256 = "0qiyg8bg9f1daf8v2jlrv54lis7156h44ak42jdx96xanvj2rvj0";
sha256bin32 = "0v4dr2a3n51dais2mg0dml0rmqfmalfj0zgp20a4kkarbpih1x0v";
sha256bin64 = "19638ik9qgfmxpzdry0qwkwpzvhlbs2h2nn1kwsjja5j49817ksx";
version = "44.0.2403.39";
sha256 = "15c4adg0r9ym3pxya7vv4d148gv2pdwaaymxvvw511fjwffdv71n";
sha256bin32 = "1gaypkah10y31gb5f7vnyv0v73z5zjznmsp6vh2m4hfajx7s55jn";
sha256bin64 = "1j1ma6asl3ibjv3apyw24vhyi1qy64f586w8jizqzp4h962gj95c";
};
stable = {
version = "41.0.2272.89";
sha256 = "1saxcyqp8pz496qwdgl4dqxll6l9icbljm56w1rrkxgwrrvl4iwk";
sha256bin32 = "19srg0isp1k4fwixwjxm1j88bnqx9sb349n992i038c3h8raa1v4";
sha256bin64 = "1fb8ffgbsjsij7bd1qawa03z9pybasfig1cmdzwybmlwg2fdlvfv";
version = "43.0.2357.124";
sha256 = "09m8bb5f17mx6cd3h5irslw07h2s0drda35v17vcr7qfhk8jdh92";
sha256bin32 = "15n2fla1ixrqzi0in0vyl8n5wkv20fpd96lff65rwr9diylz287p";
sha256bin64 = "0x6igpcf29zmwqgphvy9nm527k9g7na2cvgc5nimw4fs5dakzzjr";
};
}

View File

@ -9,7 +9,7 @@ let
then import ./sources.nix
else null;
bucketURL = "http://commondatastorage.googleapis.com/"
bucketURL = "https://commondatastorage.googleapis.com/"
+ "chromium-browser-official";
debURL = "https://dl.google.com/linux/chrome/deb/pool/main/g";

View File

@ -1,9 +1,10 @@
{ lib, stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
{ lib, stdenv, fetchurl, pkgconfig, gtk, gtk3, pango, perl, python, zip, libIDL
, libjpeg, zlib, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
, hunspell, libevent, libstartup_notification, libvpx
, cairo, gstreamer, gst_plugins_base, icu
, enableGTK3 ? false
, debugBuild ? false
, # If you want the resulting program to call itself "Firefox" instead
# of "Shiretoko" or whatever, enable this option. However, those
@ -34,7 +35,8 @@ stdenv.mkDerivation rec {
xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
hunspell libevent libstartup_notification libvpx cairo
gstreamer gst_plugins_base icu
];
]
++ lib.optional enableGTK3 gtk3;
configureFlags =
[ "--enable-application=browser"
@ -64,6 +66,7 @@ stdenv.mkDerivation rec {
"--disable-updater"
"--disable-pulseaudio"
]
++ lib.optional enableGTK3 "--enable-default-toolkit=cairo-gtk3"
++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
else [ "--disable-debug" "--enable-release"
"--enable-optimize${lib.optionalString (stdenv.system == "i686-linux") "=-O1"}"

View File

@ -6,14 +6,14 @@
}:
let pname = "liferea";
version = "1.10.14";
version = "1.10.15";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${name}.tar.bz2";
sha256 = "0szazfknarw6ivnr4flr928ar309pz2mv6alc6pk6l1i9jchcnfs";
sha256 = "0iicw42rf0vhq4xs81awlj5v3v7xfid3h5fh87f3bqbpn9pmifdg";
};
buildInputs = with gst_all_1; [

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, gtk3, libglade, libgnomecanvas, fribidi
, libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl
, boost, libxslt
, boost, libxslt, goffice, makeWrapper, iconTheme
}:
stdenv.mkDerivation rec {
@ -16,9 +16,14 @@ stdenv.mkDerivation rec {
buildInputs =
[ pkgconfig gtk3 libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
libgsf enchant wv libjpeg perl boost libxslt
libgsf enchant wv libjpeg perl boost libxslt goffice makeWrapper iconTheme
];
postFixup = ''
wrapProgram "$out/bin/abiword" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {
description = "Word processing program, similar to Microsoft Word";
homepage = http://www.abisource.com/;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser
, gnome3, makeWrapper, gtk3
, goffice, gnome3, makeWrapper, gtk3
}:
stdenv.mkDerivation rec {
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
# ToDo: optional libgda, python, introspection?
buildInputs = [
pkgconfig intltool perl perlXMLParser
gnome3.goffice gtk3 makeWrapper gnome3.defaultIconTheme
goffice gtk3 makeWrapper gnome3.defaultIconTheme
];
enableParallelBuilding = true;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "z3-${version}";
version = "4.3.2";
version = "4.4.0";
src = fetchFromGitHub {
owner = "Z3Prover";
repo = "z3";
rev = "ac21ffebdf1512da2a77dc46c47bde87cc3850f3";
sha256 = "1y86akhpy41wx3gx7r8gvf7xbax7dj36ikj6gqh5a7p6r6maz9ci";
rev = "7f6ef0b6c0813f2e9e8f993d45722c0e5b99e152";
sha256 = "1xllvq9fcj4cz34biq2a9dn2sj33bdgrzyzkj26hqw70wkzv1kzx";
};
buildInputs = [ python ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, blas, bzip2, gfortran, liblapack, libX11, libXmu, libXt
{ 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, atlas
, imake, which, jdk, openblas
, withRecommendedPackages ? true
}:
@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
sha256 = "0dagyqgvi8i3nw158qi2zpwm04s4ffzvnmk5niaksvxs30zrbbpm";
};
buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt
buildInputs = [ bzip2 gfortran libX11 libXmu libXt
libXt libjpeg libpng libtiff ncurses pango pcre perl readline tcl
texLive tk xz zlib less texinfo graphviz icu pkgconfig bison imake
which jdk atlas
which jdk openblas
];
patches = [ ./no-usr-local-search-paths.patch ];
@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
configureFlagsArray=(
--disable-lto
--with${stdenv.lib.optionalString (!withRecommendedPackages) "out"}-recommended-packages
--with-blas="-L${atlas}/lib -lf77blas -latlas"
--with-lapack="-L${liblapack}/lib -llapack"
--with-blas="-L${openblas}/lib -lopenblas"
--with-lapack="-L${openblas}/lib -lopenblas"
--with-readline
--with-tcltk --with-tcl-config="${tcl}/lib/tclConfig.sh" --with-tk-config="${tk}/lib/tkConfig.sh"
--with-cairo

View File

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

View File

@ -51,6 +51,9 @@ stdenv.mkDerivation {
mkdir -p $out/share/cgi-bin
cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin
chmod u+x $out/share/cgi-bin/hgweb.cgi
# install bash completion
install -D -v contrib/bash_completion $out/share/bash-completion/completions/mercurial
'';
meta = {

View File

@ -18,7 +18,7 @@ attrs @
buildInputs = [ unzip ];
phases = [ "unpackPhase" "installPhase" ];
dontBuild = true;
preInstall = ''
function traverseRename () {

View File

@ -14,8 +14,6 @@ rec {
http://heanet.dl.sourceforge.net/sourceforge/
http://surfnet.dl.sourceforge.net/sourceforge/
http://dfn.dl.sourceforge.net/sourceforge/
http://mesh.dl.sourceforge.net/sourceforge/
http://ovh.dl.sourceforge.net/sourceforge/
http://osdn.dl.sourceforge.net/sourceforge/
http://kent.dl.sourceforge.net/sourceforge/
];

View File

@ -1710,22 +1710,22 @@ rec {
};
debian8i386 = {
name = "debian-8.0-jessie-i386";
fullName = "Debian 8.0 Jessie (i386)";
name = "debian-8.1-jessie-i386";
fullName = "Debian 8.1 Jessie (i386)";
packagesList = fetchurl {
url = mirror://debian/dists/jessie/main/binary-i386/Packages.xz;
sha256 = "0lrv1lnd595c346ci7z8ja2b0rm2gx5r4hwp0wbp9lzxi8k5nk1d";
sha256 = "e658c2aebc3c0bc529e89de3ad916a71372f0a80161111d86a7dab1026644507";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;
};
debian8x86_64 = {
name = "debian-8.0-jessie-amd64";
fullName = "Debian 8.0 Jessie (amd64)";
name = "debian-8.1-jessie-amd64";
fullName = "Debian 8.1 Jessie (amd64)";
packagesList = fetchurl {
url = mirror://debian/dists/jessie/main/binary-amd64/Packages.xz;
sha256 = "0hhagvybciy89wr1cy9dgdfki668dvcywgbz4w01qwivyd6dsia4";
sha256 = "265907f3cb05aff5f653907e9babd4704902f78cd5e355d4cd4ae590e4d5b043";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;

View File

@ -1,16 +1,16 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "fira-mono-3.2";
name = "fira-mono-3.203";
src = fetchurl {
url = http://www.carrois.com/downloads/fira_mono_3_2/FiraMonoFonts3200.zip;
sha256 = "0g3i54q8czf3vylgasj62w2n7l1a2yrbyibjlx1qk3awh7fr1r7p";
url = http://www.carrois.com/downloads/fira_mono_3_2/FiraMonoFonts3203.zip;
sha256 = "0qaplpmsqys42a49x8d15ca2gqw1v6a6k2d56ja1j38dmr2qmpv4";
};
buildInputs = [ unzip ];
phases = [ "unpackPhase" "installPhase" ];
sourceRoot = "FiraMonoFonts3200";
sourceRoot = "FiraMonoFonts3203";
installPhase = ''
mkdir -p $out/share/fonts/opentype

View File

@ -1,16 +1,16 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "fira-4.1";
name = "fira-4.103";
src = fetchurl {
url = "http://www.carrois.com/downloads/fira_4_1/FiraFonts4100.zip";
sha256 = "0mqmmq1m2p0hb0x4mr74gghqr75iglilah7psfb3vdc80fc9h6yk";
url = http://www.carrois.com/downloads/fira_4_1/FiraFonts4103.zip;
sha256 = "1nw5icg3134qq2qfspvj2kclsv3965szby2lfcr65imf7lj4k52z";
};
buildInputs = [unzip];
phases = [ "unpackPhase" "installPhase" ];
sourceRoot = "FiraFonts4100";
sourceRoot = "FiraFonts4103";
installPhase = ''
mkdir -p $out/share/fonts/opentype

View File

@ -1,24 +1,23 @@
{ stdenv, fetchFromGitHub }:
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "nixos-artwork-2015-02-27";
# Remember to check the default lightdm wallpaper when updating
src = fetchFromGitHub {
owner = "NixOS";
repo = "nixos-artwork";
rev = "e71b6846023919136795ede22b16d73b2cf1693d";
sha256 = "167yvhm2qy7qgyrqqs4hv98mmlarhgxpcsyv0r8a9g3vkblfdczb";
GnomeDark = fetchurl {
url = https://raw.githubusercontent.com/NixOS/nixos-artwork/7ece5356398db14b5513392be4b31f8aedbb85a2/gnome/Gnome_Dark.png;
sha256 = "0c7sl9k4zdjwvdz3nhlm8i4qv4cjr0qagalaa1a438jigixx27l7";
};
unpackPhase = "true";
installPhase = ''
mkdir -p $out/share/artwork
cp -r * $out/share/artwork
find $out -name \*.xcf -exec rm {} \;
mkdir -p $out/share/artwork/gnome
ln -s $GnomeDark $out/share/artwork/gnome/Gnome_Dark.png
'';
meta = with stdenv.lib; {
homepage = "https://github.com/NixOS/nixos-artwork";
homepage = https://github.com/NixOS/nixos-artwork;
platforms = platforms.all;
};
}

View File

@ -7,11 +7,11 @@
let
majVer = gnome3.version;
in stdenv.mkDerivation rec {
name = "evolution-${majVer}.1";
name = "evolution-${majVer}.3";
src = fetchurl {
url = "mirror://gnome/sources/evolution/${majVer}/${name}.tar.xz";
sha256 = "1lm877rrcfy98mpp4iq7m9p8r1nr9kir916n4qin2ygas9zx0qlb";
sha256 = "1mh769adz40r22x0jw5z4carkcbhx36qy2j8kl2djjbp1jf5vhnd";
};
doCheck = true;

View File

@ -38,9 +38,11 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://github.com/codito/gnome-shell-pomodoro;
description =
"Personal information management application that provides integrated " +
"mail, calendaring and address book functionality";
description = "A time management utility for GNOME based on the pomodoro technique";
longDescription = ''
This GNOME utility helps to manage time according to Pomodoro Technique.
It intends to improve productivity and focus by taking short breaks.
'';
maintainers = with maintainers; [ DamienCassou jgeerds ];
license = licenses.gpl3;
platforms = platforms.linux;

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "evolution-data-server-${gnome3.version}.1";
name = "evolution-data-server-${gnome3.version}.3";
src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${gnome3.version}/${name}.tar.xz";
sha256 = "0lgb8jvn8kx50692gg1m9klvwm7msvk4f7wm0yl7rj880wbxzvh4";
sha256 = "19dcvhlqh25pkkd29hhm9yik8xxfy01hcakikrai0x1a04aa2s7f";
};
buildInputs = with gnome3;

View File

@ -273,14 +273,6 @@ rec {
gfbgraph = callPackage ./misc/gfbgraph { };
goffice = callPackage ./misc/goffice { };
goffice_0_8 = callPackage ./misc/goffice/0.8.nix {
inherit (pkgs.gnome2) libglade libgnomeui;
gconf = pkgs.gnome2.GConf;
libart = pkgs.gnome2.libart_lgpl;
};
gitg = callPackage ./misc/gitg {
webkitgtk = webkitgtk24x;
};

View File

@ -1,6 +1,6 @@
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
, ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
, ncurses, libunistring, lighttpd, patchelf, openblas
, tcl, tk, xproto, libX11, git, mpfr
} :
let
@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
openblas liblapack tcl tk xproto libX11 git mpfr
openblas tcl tk xproto libX11 git mpfr
];
configurePhase = ''
@ -91,14 +91,13 @@ stdenv.mkDerivation rec {
copy_kill_hash "${dsfmt_src}" deps/random
${if realGcc ==null then "" else
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -lopenblas -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
export GLPK_PREFIX="${glpk}/include"
mkdir -p "$out/lib"
sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
@ -111,9 +110,12 @@ stdenv.mkDerivation rec {
preBuild = ''
mkdir -p usr/lib
echo "$out"
mkdir -p "$out/lib"
ln -s "${openblas}/lib/libopenblas.so" "$out/lib/libblas.so"
ln -s "${openblas}/lib/libopenblas.so" "$out/lib/liblapack.so"
echo "$out"
(
cd "$(mktemp -d)"
for i in "${suitesparse}"/lib/lib*.a; do

View File

@ -1,142 +1,138 @@
{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
, readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
, ncurses, libunistring, patchelf, openblas, liblapack
, tcl, tk, xproto, libX11, git, mpfr, which, wget
} :
{ stdenv, fetchgit, fetchurl
# build tools
, gfortran, git, m4, patchelf, perl, which
# libjulia dependencies
, libunwind, llvm, readline, utf8proc, zlib
# standard library dependencies
, double_conversion, fftwSinglePrec, fftw, glpk, gmp, mpfr, pcre
, openblas, arpack, suitesparse
}:
assert stdenv.isLinux;
with stdenv.lib;
let
realGcc = stdenv.cc.cc;
in
stdenv.mkDerivation rec {
pname = "julia";
version = "0.3.6";
version = "0.3.9";
name = "${pname}-${version}";
dsfmt_ver = "2.2";
grisu_ver = "1.1.1";
openblas_ver = "v0.2.13";
lapack_ver = "3.5.0";
arpack_ver = "3.1.5";
patchelf_ver = "0.8";
pcre_ver = "8.36";
utf8proc_ver = "1.1.6";
dsfmt_src = fetchurl {
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
name = "dsfmt-${dsfmt_ver}.tar.gz";
md5 = "cb61be3be7254eae39684612c524740d";
};
grisu_src = fetchurl {
url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
md5 = "29b533ed4311161267bff1a9a97e2953";
};
openblas_src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
name = "openblas-${openblas_ver}.tar.gz";
md5 = "74adf4c0d0d82bff4774be5bf2134183";
};
arpack_src = fetchurl rec {
url = "https://github.com/opencollab/arpack-ng/archive/${arpack_ver}.tar.gz";
md5 = "d84e1b6108d9ee67c0d21aba7099e953";
name = "arpack-ng-${arpack_ver}.tar.gz";
};
lapack_src = fetchurl {
url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
name = "lapack-${lapack_ver}.tgz";
md5 = "b1d3e3e425b2e44a06760ff173104bdf";
};
patchelf_src = fetchurl {
url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
md5 = "5087261514b4b5814a39c3d3a36eb6ef";
};
pcre_src = fetchurl {
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
md5 = "b767bc9af0c20bc9c1fe403b0d41ad97";
};
utf8proc_src = fetchurl {
url = "http://www.public-software-group.org/pub/projects/utf8proc/v${utf8proc_ver}/utf8proc-v${utf8proc_ver}.tar.gz";
md5 = "2462346301fac2994c34f5574d6c3ca7";
};
src = fetchgit {
url = "git://github.com/JuliaLang/julia.git";
rev = "refs/tags/v${version}";
md5 = "d28e8f428485219f756d80c011d5dd32";
sha256 = "ad0820affefd04eb6fba7deb2603756974711846a251900a9202b8d2665a37cf";
name = "julia-git-v${version}";
};
buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
openblas liblapack tcl tk xproto libX11 git mpfr which wget
];
patches = [ ./0001-work-around-buggy-wcwidth.patch ];
configurePhase = ''
for i in GMP LLVM PCRE READLINE FFTW LIBUNWIND SUITESPARSE GLPK ZLIB MPFR;
do
makeFlags="$makeFlags USE_SYSTEM_$i=1 "
done
makeFlags="$makeFlags JULIA_CPU_TARGET=core2";
extraSrcs =
let
dsfmt_ver = "2.2";
dsfmt_src = fetchurl {
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
name = "dsfmt-${dsfmt_ver}.tar.gz";
md5 = "cb61be3be7254eae39684612c524740d";
};
in [ dsfmt_src ];
prePatch = ''
copy_kill_hash(){
cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
}
for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${patchelf_src}" \
"${pcre_src}" "${utf8proc_src}" "${lapack_src}" "${openblas_src}"; do
for i in $extraSrcs; do
copy_kill_hash "$i" deps
done
'';
${if realGcc ==null then "" else
''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr -lblas -lopenblas -L$out/lib"''}
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
export GLPK_PREFIX="${glpk}/include"
mkdir -p "$out/lib"
sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell} prefix=$out"
export dontPatchELF=1
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
postPatch = ''
sed -i deps/Makefile \
-e "s@/usr/local/lib@$out/lib@g" \
-e "s@/usr/lib@$out/lib@g" \
-e "s@/usr/include/double-conversion@${double_conversion}/include/double-conversion@g"
patchShebangs . contrib
export PATH="$PATH:${stdenv.cc.libc}/sbin"
# ldconfig doesn't seem to ever work on NixOS; system-wide ldconfig cache
# is probably not what we want anyway on non-NixOS
sed -e "s@/sbin/ldconfig@true@" -i src/ccall.*
ln -s "${openblas}/lib/libopenblas.so" "$out/lib/libblas.so"
'';
preBuild = ''
mkdir -p usr/lib
echo "$out"
mkdir -p "$out/lib"
(
cd "$(mktemp -d)"
for i in "${suitesparse}"/lib/lib*.a; do
ar -x $i
done
gcc *.o --shared -o "$out/lib/libsuitesparse.so"
)
cp "$out/lib/libsuitesparse.so" usr/lib
for i in umfpack cholmod amd camd colamd spqr; do
ln -s libsuitesparse.so "$out"/lib/lib$i.so;
ln -s libsuitesparse.so "usr"/lib/lib$i.so;
done
buildInputs =
[ libunwind llvm readline utf8proc zlib
double_conversion fftw fftwSinglePrec glpk gmp mpfr pcre
openblas arpack suitesparse
];
nativeBuildInputs = [ gfortran git m4 patchelf perl which ];
makeFlags =
let
arch = head (splitString "-" stdenv.system);
march =
{ "x86_64-linux" = "x86-64";
"x86_64-darwin" = "x86-64";
"i686-linux" = "i686";
}."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
in [
"ARCH=${arch}"
"MARCH=${march}"
"JULIA_CPU_TARGET=${march}"
"PREFIX=$(out)"
"prefix=$(out)"
"SHELL=${stdenv.shell}"
"USE_SYSTEM_BLAS=1"
"LIBBLAS=-lopenblas"
"LIBBLASNAME=libopenblas"
"USE_SYSTEM_LAPACK=1"
"LIBLAPACK=-lopenblas"
"LIBLAPACKNAME=libopenblas"
"USE_SYSTEM_ARPACK=1"
"USE_SYSTEM_FFTW=1"
"USE_SYSTEM_GLPK=1"
"USE_SYSTEM_GMP=1"
"USE_SYSTEM_GRISU=1"
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_LLVM=1"
"USE_SYSTEM_MPFR=1"
"USE_SYSTEM_PATCHELF=1"
"USE_SYSTEM_PCRE=1"
"USE_SYSTEM_READLINE=1"
"USE_SYSTEM_SUITESPARSE=1"
"USE_SYSTEM_UTF8PROC=1"
"USE_SYSTEM_ZLIB=1"
];
GLPK_PREFIX = "${glpk}/include";
NIX_CFLAGS_COMPILE = [ "-fPIC" ];
# Julia tries to load these libraries dynamically at runtime, but they can't be found.
# Easier by far to link against them as usual.
# These go in LDFLAGS, where they affect only Julia itself, and not NIX_LDFLAGS,
# where they would also be used for all the private libraries Julia builds.
LDFLAGS = [
"-larpack"
"-lfftw3_threads"
"-lfftw3f_threads"
"-lglpk"
"-lgmp"
"-lmpfr"
"-lopenblas"
"-lpcre"
"-lsuitesparse"
"-lz"
];
preConfigure = ''
export PATH="$PATH:${stdenv.cc.libc}/sbin"
'';
dontStrip = true;
dontPatchELF = true;
enableParallelBuilding = true;
@ -147,8 +143,8 @@ stdenv.mkDerivation rec {
description = "High-level performance-oriented dynamical language for technical computing";
homepage = "http://julialang.org/";
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.raskin ];
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
broken = false;
};
}

View File

@ -0,0 +1,24 @@
From b9070aeab0ab672ffe321089631f9afe263b0caa Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Thu, 4 Jun 2015 12:03:32 -0500
Subject: [PATCH] work around buggy wcwidth
---
test/unicode.jl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/test/unicode.jl b/test/unicode.jl
index 52c3e6a..f1ef698 100644
--- a/test/unicode.jl
+++ b/test/unicode.jl
@@ -103,5 +103,6 @@ end
# handling of embedded NUL chars (#10958)
@test length("\0w") == length("\0α") == 2
-@test strwidth("\0w") == strwidth("\0α") == 1
+@test strwidth("\0w") == charwidth('\0') + charwidth('w')
+@test strwidth("\0α") == charwidth('\0') + charwidth('α')
@test normalize_string("\0W", casefold=true) == "\0w"
--
2.4.1

View File

@ -44,6 +44,7 @@ in stdenv.mkDerivation rec {
"-DCMAKE_BUILD_TYPE=Release"
"-DLLVM_BUILD_TESTS=ON"
"-DLLVM_ENABLE_FFI=ON"
"-DLLVM_REQUIRES_RTTI=1"
"-DLLVM_BINUTILS_INCDIR=${binutils}/include"
"-DCMAKE_CXX_FLAGS=-std=c++11"
] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";

View File

@ -2,13 +2,13 @@
let wrappedGhc = ghcWithPackages (hpkgs: with hpkgs; [shuffle hashable mtl network uhc-util uulib] );
in stdenv.mkDerivation rec {
version = "1.1.9.0";
version = "1.1.9.1";
name = "uhc-${version}";
src = fetchgit {
url = "https://github.com/UU-ComputerScience/uhc.git";
rev = "0363bbcf4cf8c47d30c3a188e3e53b3f8454bbe4";
sha256 = "0sa9b341mm5ggmbydc33ja3h7k9w65qnki9gsaagb06gkvvqc7c2";
rev = "c4955d01089485cdcfec785fe2bbcdf2253bee4b";
sha256 = "1n2bfbzni2hwv90z3mgn0x3l3jwc7sy8ryk81p5mlvlis1wzxnq3";
};
postUnpack = "sourceRoot=\${sourceRoot}/EHC";

View File

@ -119,6 +119,22 @@ self: super: {
# Help libconfig find it's C language counterpart.
libconfig = (dontCheck super.libconfig).override { config = pkgs.libconfig; };
hmatrix = overrideCabal super.hmatrix (drv: {
configureFlags = (drv.configureFlags or []) ++ [ "-fopenblas" ];
extraLibraries = [ pkgs.openblasCompat ];
preConfigure = ''
sed -i hmatrix.cabal -e 's@/usr/lib/openblas/lib@${pkgs.openblasCompat}/lib@'
'';
});
bindings-levmar = overrideCabal super.bindings-levmar (drv: {
preConfigure = ''
sed -i bindings-levmar.cabal \
-e 's,extra-libraries: lapack blas,extra-libraries: openblas,'
'';
extraLibraries = [ pkgs.openblas ];
});
# The Haddock phase fails for one reason or another.
attoparsec-conduit = dontHaddock super.attoparsec-conduit;
base-noprelude = dontHaddock super.base-noprelude;
@ -293,6 +309,7 @@ self: super: {
amqp-conduit = dontCheck super.amqp-conduit;
bitcoin-api = dontCheck super.bitcoin-api;
bitcoin-api-extra = dontCheck super.bitcoin-api-extra;
bitx-bitcoin = dontCheck super.bitx-bitcoin; # http://hydra.cryp.to/build/926187/log/raw
concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
dbus = dontCheck super.dbus; # http://hydra.cryp.to/build/498404/log/raw
hadoop-rpc = dontCheck super.hadoop-rpc; # http://hydra.cryp.to/build/527461/nixlog/2/raw
@ -305,6 +322,7 @@ self: super: {
marmalade-upload = dontCheck super.marmalade-upload; # http://hydra.cryp.to/build/501904/nixlog/1/raw
network-transport-tcp = dontCheck super.network-transport-tcp;
network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
pipes-mongodb = dontCheck super.pipes-mongodb; # http://hydra.cryp.to/build/926195/log/raw
raven-haskell = dontCheck super.raven-haskell; # http://hydra.cryp.to/build/502053/log/raw
riak = dontCheck super.riak; # http://hydra.cryp.to/build/498763/log/raw
scotty-binding-play = dontCheck super.scotty-binding-play;
@ -758,7 +776,7 @@ self: super: {
dyre = appendPatch super.dyre ./dyre-nix.patch;
# https://github.com/gwern/mueval/issues/9
mueval = markBrokenVersion "0.9.1.1" super.mueval;
mueval = appendPatch (appendPatch super.mueval ./mueval-fix.patch) ./mueval-nix.patch;
# Test suite won't compile against tasty-hunit 0.9.x.
zlib = dontCheck super.zlib;
@ -847,4 +865,11 @@ self: super: {
# Avoid spurious test suite failures.
fft = dontCheck super.fft;
# This package can't be built on non-Windows systems.
Win32 = overrideCabal super.Win32 (drv: { broken = !pkgs.stdenv.isCygwin; });
inline-c-win32 = dontDistribute super.inline-c-win32;
# Doesn't work with recent versions of mtl.
cron-compat = markBroken super.cron-compat;
}

View File

@ -116,11 +116,6 @@ self: super: {
# https://github.com/kazu-yamamoto/unix-time/issues/30
unix-time = dontCheck super.unix-time;
# Until the changes have been pushed to Hackage
mueval = appendPatch super.mueval (pkgs.fetchpatch {
url = "https://github.com/gwern/mueval/commit/c41aa40ed63b74c069d1e4e3caa8c8d890cde960.patch";
sha256 = "0h1lx4z15imq009k0qmwkn5l3hmigw463ahvwffdnszi2n618kpg";
});
present = appendPatch super.present (pkgs.fetchpatch {
url = "https://github.com/chrisdone/present/commit/6a61f099bf01e2127d0c68f1abe438cd3eaa15f7.patch";
sha256 = "1vn3xm38v2f4lzyzkadvq322f3s2yf8c88v56wpdpzfxmvlzaqr8";

View File

@ -10657,9 +10657,9 @@ self: {
}:
mkDerivation {
pname = "Neks";
version = "0.3.0.0";
sha256 = "1nqww81d9hdm4d2kgv5k4vhp3wavlpa39vym4x7bddcxg1g5drmv";
isLibrary = false;
version = "0.4.0.0";
sha256 = "0xi5d9wvk2xzsn500d61b6mmvwd36fs2n92l5qy4hzhww5lmkrrb";
isLibrary = true;
isExecutable = true;
buildDepends = [
base bytestring cereal containers directory hashable messagepack
@ -14442,6 +14442,24 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
"TestExplode" = callPackage
({ mkDerivation, base, containers, directory, fgl, graphviz
, interpolatedstring-perl6, mtl, process, text
}:
mkDerivation {
pname = "TestExplode";
version = "0.1.0.0";
sha256 = "0r4nwzwdila9p05g5y99rp06dbh1k2yl5jsc6yn6dwvxkvvdjcs1";
buildDepends = [
base containers directory fgl graphviz interpolatedstring-perl6 mtl
process text
];
jailbreak = true;
homepage = "https://github.com/testexplode/testexplode";
description = "Generates testcases from program-snippets";
license = stdenv.lib.licenses.gpl3;
}) {};
"Theora" = callPackage
({ mkDerivation, base, ogg, theora }:
mkDerivation {
@ -25018,6 +25036,19 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
"bindings-potrace" = callPackage
({ mkDerivation, base, bindings-DSL, potrace }:
mkDerivation {
pname = "bindings-potrace";
version = "0.1";
sha256 = "0vb889f49li0lwy3zsji0f1cwzriizh9x6kg3r8676q5j08p7znd";
buildDepends = [ base bindings-DSL ];
extraLibraries = [ potrace ];
homepage = "https://github.com/rwbarton/bindings-potrace";
description = "Low-level bindings to the potrace bitmap tracing library";
license = stdenv.lib.licenses.gpl2;
}) { inherit (pkgs) potrace;};
"bindings-ppdev" = callPackage
({ mkDerivation, base, bindings-DSL, ioctl }:
mkDerivation {
@ -25797,18 +25828,19 @@ self: {
}) {};
"bitx-bitcoin" = callPackage
({ mkDerivation, aeson, base, bytestring, Decimal, hspec
, http-conduit, network, record, split, text, time
({ mkDerivation, aeson, base, bytestring, hspec, http-conduit
, network, record, scientific, split, text, time
}:
mkDerivation {
pname = "bitx-bitcoin";
version = "0.1.0.0";
sha256 = "05k2cwkd9y327c75fhjqwyxhwrwxhalsx724xa0ng5dw3d30icc2";
version = "0.2.0.0";
sha256 = "1n0hp16rpddm74q2rfldga7vpvvsqfn099qdp8qd5pqh8swkmwq8";
buildDepends = [
aeson base bytestring Decimal http-conduit network record split
aeson base bytestring http-conduit network record scientific split
text time
];
testDepends = [ aeson base bytestring hspec record time ];
homepage = "https://github.com/tebello-thejane/bitx-haskell";
description = "A Haskell library for working with the BitX bitcoin exchange";
license = stdenv.lib.licenses.publicDomain;
}) {};
@ -30565,31 +30597,29 @@ self: {
"chatter" = callPackage
({ mkDerivation, array, base, bytestring, cereal, containers
, deepseq, directory, filepath, fullstop, ghc-prim, HUnit, mbox
, MonadRandom, parsec, QuickCheck, quickcheck-instances
, random-shuffle, regex-base, regex-tdfa, regex-tdfa-text, safe
, split, test-framework, test-framework-hunit
, deepseq, directory, filepath, fullstop, HUnit, mbox, MonadRandom
, parsec, QuickCheck, quickcheck-instances, random-shuffle
, regex-tdfa, regex-tdfa-text, test-framework, test-framework-hunit
, test-framework-quickcheck2, test-framework-skip, text, tokenize
, transformers, zlib
}:
mkDerivation {
pname = "chatter";
version = "0.5.0.1";
sha256 = "0saavfnxd6l6w3ybvdmi14ia06ssc4lndb0ba8hhyqb3qzz7l7zs";
version = "0.5.0.2";
sha256 = "1nbdc4np4hmvnsh1rfpldi2j1wm1klmfm9szi2kz9fa8g8n3kxxl";
isLibrary = true;
isExecutable = true;
buildDepends = [
array base bytestring cereal containers deepseq directory filepath
fullstop ghc-prim mbox MonadRandom parsec QuickCheck
quickcheck-instances random-shuffle regex-base regex-tdfa
regex-tdfa-text safe split text tokenize transformers zlib
fullstop mbox MonadRandom parsec QuickCheck quickcheck-instances
random-shuffle regex-tdfa regex-tdfa-text text tokenize
transformers zlib
];
testDepends = [
base cereal containers filepath HUnit parsec QuickCheck
quickcheck-instances test-framework test-framework-hunit
test-framework-quickcheck2 test-framework-skip text tokenize
];
jailbreak = true;
homepage = "http://github.com/creswick/chatter";
description = "A library of simple NLP algorithms";
license = stdenv.lib.licenses.bsd3;
@ -32800,8 +32830,8 @@ self: {
}:
mkDerivation {
pname = "coinbase-exchange";
version = "0.1.0.0";
sha256 = "0l09gjn0lk7v51s1gw52p0m9i8amhci93qpi98p1r1nlxx09xj3v";
version = "0.2.0.0";
sha256 = "1x9cgdj38z1zhrx464rj3qhh8rxqs98mfpqfsnn5yill037p1ig8";
isLibrary = true;
isExecutable = true;
buildDepends = [
@ -32815,7 +32845,6 @@ self: {
base bytestring http-client-tls http-conduit old-locale tasty
tasty-hunit tasty-quickcheck tasty-th time transformers uuid
];
jailbreak = true;
description = "Connector library for the coinbase exchange";
license = stdenv.lib.licenses.mit;
hydraPlatforms = stdenv.lib.platforms.none;
@ -43508,8 +43537,8 @@ self: {
}:
mkDerivation {
pname = "dsh-sql";
version = "0.2.0.1";
sha256 = "0vr9wsad74735py2i2kqwqi4phf49ksw3d4w89jlcgi6xpsc02s1";
version = "0.2.0.2";
sha256 = "00r1wbgbkpnza1jjd14vqr4hwgfkhnz7yivkx4bla5frfdlv5q58";
isLibrary = true;
isExecutable = true;
buildDepends = [
@ -44398,8 +44427,8 @@ self: {
({ mkDerivation, base, edenmodules, parallel }:
mkDerivation {
pname = "edenskel";
version = "2.0.0.2";
sha256 = "0dkvbdy04w4zbbc3q11hzzg3h5d8azka11yiiz3rvy1nkhp9wv5l";
version = "2.1.0.0";
sha256 = "1bf5zw1x4f6a801ig2b8b84kbnmp0asn804gkm18v9fjcchz3j9q";
buildDepends = [ base edenmodules parallel ];
description = "Semi-explicit parallel programming skeleton library";
license = stdenv.lib.licenses.bsd3;
@ -47805,6 +47834,18 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
"fay-geoposition" = callPackage
({ mkDerivation, fay-base, fay-text }:
mkDerivation {
pname = "fay-geoposition";
version = "0.1.0.1";
sha256 = "1qmkwfqgvj6a8fan1l3i18ggpl00vrfd2mhqj13g0gh9yhvgxv1q";
buildDepends = [ fay-base fay-text ];
homepage = "https://github.com/victoredwardocallaghan/fay-geoposition";
description = "W3C compliant implementation of GeoPosition API";
license = stdenv.lib.licenses.bsd3;
}) {};
"fay-hsx" = callPackage
({ mkDerivation, fay-base, fay-jquery }:
mkDerivation {
@ -52808,6 +52849,18 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"ghc-simple" = callPackage
({ mkDerivation, base, data-default, ghc, ghc-paths }:
mkDerivation {
pname = "ghc-simple";
version = "0.1.0.0";
sha256 = "0a8xla80al1glxpf0dsbzdgwbzwxmk9cr6xwfmmz237q7dv4pjhf";
buildDepends = [ base data-default ghc ghc-paths ];
homepage = "https://github.com/valderman/ghc-simple";
description = "Simplified interface to the GHC API";
license = stdenv.lib.licenses.mit;
}) {};
"ghc-srcspan-plugin" = callPackage
({ mkDerivation, array, base, containers, ghc, hpc }:
mkDerivation {
@ -52996,8 +53049,8 @@ self: {
}:
mkDerivation {
pname = "ghcid";
version = "0.4";
sha256 = "0z54444ygxc3irnqjkd9cdzg2b6df9d87lkkazj1cl2qy1x5kbv0";
version = "0.4.2";
sha256 = "094ffwwlxg7qgrcgw35rmzincfrwyhxkh6iw9bqdib5l8w9gcr6d";
isLibrary = true;
isExecutable = true;
buildDepends = [
@ -74970,6 +75023,20 @@ self: {
license = stdenv.lib.licenses.mit;
}) {};
"inline-c-win32" = callPackage
({ mkDerivation, base, containers, inline-c, template-haskell
, Win32
}:
mkDerivation {
pname = "inline-c-win32";
version = "0.1";
sha256 = "14255dn7smmm1rpnjifn7gn2amcncnf3j45ah22bblyb4h27iikm";
buildDepends = [ base containers inline-c template-haskell Win32 ];
homepage = "https://github.com/anton-dessiatov/inline-c-win32";
description = "Win32 API Context for the inline-c library";
license = stdenv.lib.licenses.mit;
}) {};
"inquire" = callPackage
({ mkDerivation, aether, base, text }:
mkDerivation {
@ -75598,6 +75665,23 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"ip-quoter" = callPackage
({ mkDerivation, base, network, split, tasty, tasty-hunit
, template-haskell
}:
mkDerivation {
pname = "ip-quoter";
version = "1.0.0.0";
revision = "1";
sha256 = "1idi03f6l9nwnsfp2mvkxz4sgwqlpa8ag3h5drb3i4hwgx0mkhfg";
editedCabalFile = "5cd6b449c4acd24b27d27a839acdab85f65b5556dd7bc8be115b7e2f6dc5df11";
buildDepends = [ base network split template-haskell ];
testDepends = [ base network tasty tasty-hunit ];
homepage = "https://github.com/shlevy/ip-quoter";
description = "Quasiquoter for IP addresses";
license = stdenv.lib.licenses.mit;
}) {};
"ip6addr" = callPackage
({ mkDerivation, base, cmdargs, IPv6Addr, text }:
mkDerivation {
@ -81116,14 +81200,14 @@ self: {
"lens-simple" = callPackage
({ mkDerivation, base, lens-family, lens-family-core
, lens-family-th
, lens-family-th, transformers
}:
mkDerivation {
pname = "lens-simple";
version = "0.1.0.3";
sha256 = "17s7fjggajlamqi2lc2lrhswykbyba6zv5rf0kr24hn3mv8a6yrk";
version = "0.1.0.4";
sha256 = "0cr1jghg8dnyclih21zlm9190j2dyl6mwc0gw216l5yj67c5aly3";
buildDepends = [
base lens-family lens-family-core lens-family-th
base lens-family lens-family-core lens-family-th transformers
];
homepage = "https://github.com/michaelt/lens-simple";
description = "simplified import of elementary lens-family combinators";
@ -82370,6 +82454,18 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"linear-grammar" = callPackage
({ mkDerivation, base, hspec, QuickCheck, quickcheck-instances }:
mkDerivation {
pname = "linear-grammar";
version = "0.0.0.5";
sha256 = "0cw0w1fz3m2kwnbff543h5as9zvl66y1ry1q3ppvy9lc409570ry";
buildDepends = [ base ];
testDepends = [ base hspec QuickCheck quickcheck-instances ];
description = "A simple grammar for building linear equations and inclusive inequalities";
license = stdenv.lib.licenses.bsd3;
}) {};
"linear-maps" = callPackage
({ mkDerivation, base, containers, HUnit }:
mkDerivation {
@ -84756,9 +84852,12 @@ self: {
mkDerivation {
pname = "machinecell";
version = "1.3.1";
revision = "1";
sha256 = "1v4rrjszh6sm2x1nwq33f4xwa41bnls0awhy9qfkap62bpad8fxg";
editedCabalFile = "5a7ee43c327694ac753228da8f16d681a60d23b4926132726e2a093ecacb4725";
buildDepends = [ arrows base free mtl profunctors semigroups ];
testDepends = [ base hspec mtl profunctors QuickCheck ];
jailbreak = true;
homepage = "http://github.com/as-capabl/machinecell";
description = "Arrow based stream transducers";
license = stdenv.lib.licenses.bsd3;
@ -90266,16 +90365,17 @@ self: {
}) {};
"multistate" = callPackage
({ mkDerivation, base, mtl, transformers }:
({ mkDerivation, base, hspec, mtl, tagged, transformers }:
mkDerivation {
pname = "multistate";
version = "0.3.0.0";
sha256 = "1sqaxvvs94max8gw1sz3kkgnp8y9zwrjdclnzv1kkkhciix9a1d1";
version = "0.6.0.0";
sha256 = "17b54qy4dgacj0lwy61nf3hbppd950xk9c1yphjn6i6jcr8z66li";
isLibrary = true;
isExecutable = true;
buildDepends = [ base mtl transformers ];
buildDepends = [ base mtl tagged transformers ];
testDepends = [ base hspec transformers ];
homepage = "https://github.com/lspitzner/multistate";
description = "like mtl's ReaderT/WriterT/StateT, but more than one contained value/type";
description = "like mtl's ReaderT / WriterT / StateT, but more than one contained value/type";
license = stdenv.lib.licenses.bsd3;
}) {};
@ -95856,8 +95956,8 @@ self: {
}:
mkDerivation {
pname = "pandoc-citeproc";
version = "0.7.1.1";
sha256 = "1n96g7l16cn1qcp9xsbdmp844078lpcjsz3lg1x81drnzax9fpa1";
version = "0.7.2";
sha256 = "0dpr74alkz9vy5yc09bnqb968hcrqys2xlydjda1g3qsarjg7p9y";
isLibrary = true;
isExecutable = true;
buildDepends = [
@ -95870,7 +95970,6 @@ self: {
aeson base bytestring directory filepath pandoc pandoc-types
process temporary text yaml
];
jailbreak = true;
description = "Supports using pandoc with citeproc";
license = stdenv.lib.licenses.bsd3;
}) {};
@ -95881,8 +95980,8 @@ self: {
}:
mkDerivation {
pname = "pandoc-crossref";
version = "0.1.2.0";
sha256 = "0q9ia1nzmzv1q8hplrmxszwk49mlp4v8skbfv4ggsl8s0vxc1c6f";
version = "0.1.2.1";
sha256 = "1hr2jfbzanpqbkvsfcbzvlfsnzba11hdrmvc3j63fwqk931qi2jm";
isLibrary = false;
isExecutable = true;
buildDepends = [
@ -98829,6 +98928,19 @@ self: {
license = stdenv.lib.licenses.bsd3;
}) {};
"pipes-mongodb" = callPackage
({ mkDerivation, base, monad-control, mongoDB, pipes, text }:
mkDerivation {
pname = "pipes-mongodb";
version = "0.1.0.0";
sha256 = "0h4334fajrza7r8jrr78nqhs522kxnbzdj0gnbp7ndvzvx5ij888";
buildDepends = [ base monad-control mongoDB pipes ];
testDepends = [ base monad-control mongoDB pipes text ];
homepage = "http://github.com/jb55/pipes-mongodb";
description = "Stream results from MongoDB";
license = stdenv.lib.licenses.mit;
}) {};
"pipes-network" = callPackage
({ mkDerivation, base, bytestring, network, network-simple, pipes
, pipes-safe, transformers
@ -100642,6 +100754,34 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) { inherit (pkgs) adns; inherit (pkgs) openssl;};
"potrace" = callPackage
({ mkDerivation, base, bindings-potrace, bytestring, containers
, data-default, JuicyPixels, vector
}:
mkDerivation {
pname = "potrace";
version = "0.1.0.0";
sha256 = "1frxf3jzjyyp3bfj6b2mi29fxwcml4bya6sn4c5aizg741dhphng";
buildDepends = [
base bindings-potrace bytestring containers data-default
JuicyPixels vector
];
description = "Trace bitmap images to paths using potrace";
license = stdenv.lib.licenses.gpl2;
}) {};
"potrace-diagrams" = callPackage
({ mkDerivation, base, diagrams-lib, JuicyPixels, potrace }:
mkDerivation {
pname = "potrace-diagrams";
version = "0.1.0.0";
sha256 = "0ys70a5k384czz0c6bpyy0cqrk35wa1yg6ph19smhm3ag9d8161v";
buildDepends = [ base diagrams-lib JuicyPixels potrace ];
homepage = "http://projects.haskell.org/diagrams/";
description = "Potrace bindings for the diagrams library";
license = stdenv.lib.licenses.gpl2;
}) {};
"powermate" = callPackage
({ mkDerivation, base, directory, network, unix }:
mkDerivation {
@ -108719,6 +108859,24 @@ self: {
hydraPlatforms = stdenv.lib.platforms.none;
}) {};
"safe-printf" = callPackage
({ mkDerivation, base, doctest, haskell-src-meta, hspec, QuickCheck
, template-haskell, th-lift
}:
mkDerivation {
pname = "safe-printf";
version = "0.1.0.0";
sha256 = "19nw306q7xlj6s132qxlfskg67x6rx3zhsk2n6lbz2kryr7v99g6";
buildDepends = [ base haskell-src-meta template-haskell th-lift ];
testDepends = [
base doctest haskell-src-meta hspec QuickCheck template-haskell
th-lift
];
homepage = "https://github.com/konn/safe-printf";
description = "Well-typed, flexible and variadic printf for Haskell";
license = stdenv.lib.licenses.bsd3;
}) {};
"safecopy" = callPackage
({ mkDerivation, array, base, bytestring, cereal, containers, lens
, lens-action, old-time, quickcheck-instances, tasty
@ -109533,8 +109691,8 @@ self: {
}:
mkDerivation {
pname = "schedule-planner";
version = "1.0.0.1";
sha256 = "0p2k67g281f08njhann4yv0vhfbjh4m6rr2x58smxhwqxgpjg399";
version = "1.0.1.0";
sha256 = "0vlr4wwazpr7xf5pym2f42gwniy017h02wwymn0zn80wypiv6dz1";
isLibrary = false;
isExecutable = true;
buildDepends = [
@ -118894,8 +119052,8 @@ test/package-dump/ghc-7.10.txt";
}:
mkDerivation {
pname = "structural-induction";
version = "0.2";
sha256 = "1lr91wc1m655pi3ljw3n89svfazrb16785s9mfx361jgn335m8rd";
version = "0.2.0.1";
sha256 = "0ac5yhx6cbxzcdqy74lp791xwgammsnd8jazx0xy3ngxn4wwf23r";
buildDepends = [ base containers genifunctors mtl pretty safe ];
testDepends = [
base geniplate language-haskell-extract mtl pretty QuickCheck safe
@ -124568,6 +124726,46 @@ test/package-dump/ghc-7.10.txt";
license = stdenv.lib.licenses.mit;
}) {};
"tip-haskell-frontend" = callPackage
({ mkDerivation, base, bytestring, containers, directory, filepath
, geniplate-mirror, ghc, ghc-paths, mtl, pretty, pretty-show
, QuickCheck, split, tip-lib
}:
mkDerivation {
pname = "tip-haskell-frontend";
version = "0.1.1";
sha256 = "0za8ls980f98qj3k6pgmzaidmnrlk0nzg1r7skif6jmhh1snqc5h";
isLibrary = true;
isExecutable = true;
buildDepends = [
base bytestring containers directory filepath geniplate-mirror ghc
ghc-paths mtl pretty pretty-show QuickCheck split tip-lib
];
homepage = "http://tip-org.github.io";
description = "Convert from Haskell to Tip";
license = stdenv.lib.licenses.bsd3;
}) {};
"tip-lib" = callPackage
({ mkDerivation, alex, array, base, containers, geniplate-mirror
, happy, mtl, optparse-applicative, pretty, pretty-show, split
}:
mkDerivation {
pname = "tip-lib";
version = "0.1.1";
sha256 = "0xvsr6hh7r6y82linkpvbby6jkxw744y3mh82kma4cbpwc84gxhi";
isLibrary = true;
isExecutable = true;
buildDepends = [
array base containers geniplate-mirror mtl optparse-applicative
pretty pretty-show split
];
buildTools = [ alex happy ];
homepage = "http://tip-org.github.io";
description = "tons of inductive problems - support library and tools";
license = stdenv.lib.licenses.bsd3;
}) {};
"titlecase" = callPackage
({ mkDerivation, base, blaze-markup, semigroups, tasty, tasty-hunit
, tasty-quickcheck, text
@ -125699,6 +125897,28 @@ test/package-dump/ghc-7.10.txt";
license = stdenv.lib.licenses.bsd3;
}) {};
"trurl" = callPackage
({ mkDerivation, aeson, base, bytestring, directory, hastache
, http-conduit, MissingH, scientific, tar, tasty, tasty-hunit, text
, unordered-containers
}:
mkDerivation {
pname = "trurl";
version = "0.1.0.0";
sha256 = "0lq4x3vkif6sldcw07llmhwixgk1x2bfyzi0zq32jardp7ah0rc5";
isLibrary = true;
isExecutable = true;
buildDepends = [
aeson base bytestring directory hastache http-conduit MissingH
scientific tar text unordered-containers
];
testDepends = [ base hastache tasty tasty-hunit ];
jailbreak = true;
homepage = "http://github.com/dbushenko/trurl";
description = "Haskell template code generator";
license = stdenv.lib.licenses.bsd3;
}) {};
"tsession" = callPackage
({ mkDerivation, base, containers, mtl, time, transformers }:
mkDerivation {
@ -127361,6 +127581,7 @@ test/package-dump/ghc-7.10.txt";
hashable mtl network old-locale primitive process syb transformers
uhc-util uulib vector
];
jailbreak = true;
homepage = "https://github.com/UU-ComputerScience/uhc";
description = "Part of UHC packaged as cabal/hackage installable library";
license = stdenv.lib.licenses.bsd3;
@ -127373,8 +127594,8 @@ test/package-dump/ghc-7.10.txt";
}:
mkDerivation {
pname = "uhc-util";
version = "0.1.5.5";
sha256 = "00b1ycdnm0gm01izs96qwsx3c3p1mrcimzamscaimyr1y14jvfc1";
version = "0.1.5.6";
sha256 = "1axg2apkvg3xk1cq78shbnc68i0h6fqcpjg8z3l4nc49kl5dywwz";
buildDepends = [
array base binary bytestring containers directory fclabels fgl
hashable ListLike mtl process syb time time-compat uulib

View File

@ -0,0 +1,90 @@
diff --git a/Mueval/ArgsParse.hs b/Mueval/ArgsParse.hs
index 05c8fd9..0c32e27 100644
--- a/Mueval/ArgsParse.hs
+++ b/Mueval/ArgsParse.hs
@@ -1,10 +1,9 @@
+{-# LANGUAGE CPP #-}
module Mueval.ArgsParse (Options(..), interpreterOpts, getOptions) where
import Control.Monad (liftM)
import System.Console.GetOpt
-import qualified Codec.Binary.UTF8.String as Codec (decodeString)
-
import Mueval.Context (defaultModules, defaultPackages)
-- | See the results of --help for information on what each option means.
@@ -98,4 +97,11 @@ header = "Usage: mueval [OPTION...] --expression EXPRESSION..."
-- | Just give us the end result options; this parsing for
-- us. Bonus points for handling UTF.
getOptions :: [String] -> Either (Bool, String) Options
-getOptions = interpreterOpts . map Codec.decodeString
\ No newline at end of file
+getOptions = interpreterOpts . map decodeString
+
+decodeString :: String -> String
+#if __GLASGOW_HASKELL__ >= 702
+decodeString = id
+#else
+decodeString = Codec.decodeString
+#endif
diff --git a/Mueval/Context.hs b/Mueval/Context.hs
index 78925cf..548514c 100644
--- a/Mueval/Context.hs
+++ b/Mueval/Context.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
module Mueval.Context (
cleanModules,
defaultModules,
@@ -32,7 +33,9 @@ defaultModules = ["Prelude",
"Control.Monad.Error",
"Control.Monad.Fix",
"Control.Monad.Identity",
+#if !MIN_VERSION_base(4,7,0)
"Control.Monad.Instances",
+#endif
"Control.Monad.RWS",
"Control.Monad.Reader",
"Control.Monad.State",
diff --git a/Mueval/Interpreter.hs b/Mueval/Interpreter.hs
index 29b771f..6c39482 100644
--- a/Mueval/Interpreter.hs
+++ b/Mueval/Interpreter.hs
@@ -1,4 +1,5 @@
{-# LANGUAGE PatternGuards #-}
+{-# LANGUAGE FlexibleContexts #-}
-- TODO: suggest the convenience functions be put into Hint proper?
module Mueval.Interpreter where
@@ -12,8 +13,6 @@ import System.Exit (exitFailure)
import System.FilePath.Posix (takeFileName)
import qualified Control.Exception.Extensible as E (evaluate,catch,SomeException(..))
-import qualified System.IO.UTF8 as UTF (putStrLn)
-
import Language.Haskell.Interpreter (eval, set, reset, setImportsQ, loadModules, liftIO,
installedModulesInScope, languageExtensions,
typeOf, setTopLevelModules, runInterpreter, glasgowExtensions,
@@ -100,7 +99,7 @@ mvload lfl = do canonfile <- makeRelativeToCurrentDirectory lfl
-- flooding. Lambdabot has a similar limit.
sayIO :: String -> IO ()
sayIO str = do (out,b) <- render 1024 str
- UTF.putStrLn out
+ putStrLn out
when b exitFailure
-- | Oh no, something has gone wrong. If it's a compilation error pretty print
diff --git a/mueval.cabal b/mueval.cabal
index 3f9406d..b86d796 100644
--- a/mueval.cabal
+++ b/mueval.cabal
@@ -32,7 +32,7 @@ library
exposed-modules: Mueval.Parallel, Mueval.Context, Mueval.Interpreter,
Mueval.ArgsParse, Mueval.Resources
build-depends: base>=4 && < 5, containers, directory, mtl>2, filepath, unix, process,
- hint>=0.3.1, show>=0.3, utf8-string, Cabal, extensible-exceptions, simple-reflect
+ hint>=0.3.1, show>=0.3, Cabal, extensible-exceptions, simple-reflect
ghc-options: -Wall -static
executable mueval-core

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, liblapack, readline, gettext, ncurses }:
{ stdenv, fetchurl, readline, gettext, ncurses }:
stdenv.mkDerivation rec {
name = "gnu-apl-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0h4diq3wfbdwxp5nm0z4b0p1zq13lwip0y7v28r9v0mbbk8xsfh1";
};
buildInputs = [ liblapack readline gettext ncurses ];
buildInputs = [ readline gettext ncurses ];
postInstall = ''
cp -r support-files/ $out/share/doc/

View File

@ -1,10 +1,22 @@
{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
, libX11, graphicsmagick, pcre, liblapack, pkgconfig, mesa, fltk
, fftw, fftwSinglePrec, zlib, curl, qrupdate
, libX11, graphicsmagick, pcre, pkgconfig, mesa, fltk
, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas
, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
, suitesparse ? null, gnuplot ? null, jdk ? null, python ? null
}:
let
suitesparseOrig = suitesparse;
qrupdateOrig = qrupdate;
in
# integer width is determined by openblas, so all dependencies must be built
# with exactly the same openblas
let
suitesparse =
if suitesparseOrig != null then suitesparseOrig.override { inherit openblas; } else null;
qrupdate = if qrupdateOrig != null then qrupdateOrig.override { inherit openblas; } else null;
in
stdenv.mkDerivation rec {
version = "4.0.0";
name = "octave-${version}";
@ -14,7 +26,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11
graphicsmagick pcre liblapack pkgconfig mesa fltk zlib curl
graphicsmagick pcre pkgconfig mesa fltk zlib curl openblas
fftw fftwSinglePrec qrupdate ]
++ (stdenv.lib.optional (qt != null) qt)
++ (stdenv.lib.optional (qscintilla != null) qscintilla)
@ -34,7 +46,13 @@ stdenv.mkDerivation rec {
# problems on Hydra
enableParallelBuilding = false;
configureFlags = [ "--enable-readline" "--enable-dl" ];
configureFlags =
[ "--enable-readline"
"--enable-dl"
"--with-blas=openblas"
"--with-lapack=openblas"
]
++ stdenv.lib.optional openblas.blas64 "--enable-64";
# Keep a copy of the octave tests detailed results in the output
# derivation, because someone may care

View File

@ -1,6 +1,6 @@
{ callPackage, apacheHttpd }:
callPackage ./generic.nix {
phpVersion = "5.4.41";
sha = "0wl27f5z6vymajm2bzfp440zsp1jdxqn71avryiq1zw029db9i2v";
phpVersion = "5.4.42";
sha = "1yg03b6a88i7hg593m9zmmcm4kr59wdrhz9xk1frx9ps9gkb51b2";
apacheHttpd = apacheHttpd;
}

View File

@ -1,6 +1,6 @@
{ callPackage, apacheHttpd }:
callPackage ./generic.nix {
phpVersion = "5.6.9";
sha = "1fdwk8g509gxd5ad3y1s3j49hfkjdg8mgmzn9ki3pflbgdxvilqr";
phpVersion = "5.6.10";
sha = "0iccgibmbc659z6dh6c58l1b7vnqly7al37fbs0l3si4qy0rqmqa";
apacheHttpd = apacheHttpd;
}

View File

@ -6,8 +6,8 @@ assert zlibSupport -> zlib != null;
let
majorVersion = "2.5";
version = "${majorVersion}.1";
majorVersion = "2.6";
version = "${majorVersion}.0";
libPrefix = "pypy${majorVersion}";
pypy = stdenv.mkDerivation rec {
@ -18,7 +18,7 @@ let
src = fetchurl {
url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
sha256 = "0gzhgc0rh5ywpkvzishpvkninl41r5k207y8afa8vxwpfx03vcrj";
sha256 = "0xympj874cnjpxj68xm5gllq2f8bbvz8hr0md8mh1yd6fgzzxibh";
};
buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 makeWrapper ]

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, self, callPackage
, bzip2, openssl
, bzip2, openssl, gettext
, includeModules ? false
, db, gdbm, ncurses, sqlite, readline
, tcl ? null, tk ? null, x11 ? null, libX11 ? null, x11Support ? true
, tcl ? null, tk ? null, x11 ? null, libX11 ? null, x11Support ? !stdenv.isCygwin
, zlib ? null, zlibSupport ? true
, expat, libffi
}:
@ -224,7 +224,7 @@ let
gdbm = buildInternalPythonModule {
moduleName = "gdbm";
internalName = "gdbm";
deps = [ gdbm ];
deps = [ gdbm ] ++ stdenv.lib.optional stdenv.isCygwin gettext;
};
sqlite3 = buildInternalPythonModule {

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeWrapper, apr, expat, gnused
, sslSupport ? true, openssl
, bdbSupport ? false, db
, ldapSupport ? true, openldap
, ldapSupport ? !stdenv.isCygwin, openldap
, libiconv
}:
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
configureFlags = ''
--with-apr=${apr} --with-expat=${expat}
--with-crypto
${if !stdenv.isCygwin then "--with-crypto" else "--without-pgsql --without-sqlite2 --without-sqlite3 --without-freetds --without-berkeley-db --without-crypto"}
${stdenv.lib.optionalString sslSupport "--with-openssl=${openssl}"}
${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db}"}
${stdenv.lib.optionalString ldapSupport "--with-ldap"}

View File

@ -1,7 +0,0 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "${branch}.5";
branch = "0.11";
sha256 = "1h5qwn4h7sppqw36hri5p6zlv2387vwaxh2pyj070xfn8hgrk4ll";
})

View File

@ -1,6 +1,6 @@
{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
, pango, libgsf, libxml2, libart, intltool, gettext
, cairo, gconf, libgnomeui, pcre, gnome3/*just meta*/ }:
, cairo, gconf, libgnomeui, pcre, goffice/*just meta*/ }:
stdenv.mkDerivation rec {
name = "goffice-0.8.17";
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = gnome3.goffice.meta // {
meta = goffice.meta // {
maintainers = [ ];
};
}

View File

@ -0,0 +1,25 @@
--- libedit-20120311-3.0/src/chartype.h 2012-03-11 10:54:58.000000000 +0100
+++ libedit-20120311-3.0/src/chartype.h 2012-05-03 19:00:20.651847423 +0200
@@ -56,9 +56,11 @@
/* Oh for a <uchar.h> with char32_t and __STDC_UTF_32__ in it...
* ref: ISO/IEC DTR 19769
*/
+#ifndef __CYGWIN__
#if WCHAR_MAX < INT32_MAX
#warning Build environment does not support non-BMP characters
#endif
+#endif
#ifndef HAVE_WCSDUP
wchar_t *wcsdup(const wchar_t *s);
--- libedit-20120311-3.0/src/editline/readline.h 2011-02-26 23:42:59.000000000 +0100
+++ libedit-20120311-3.0/src/editline/readline.h 2012-05-03 19:00:49.211244803 +0200
@@ -75,7 +75,7 @@ typedef KEYMAP_ENTRY *Keymap;
#ifndef CTRL
#include <sys/ioctl.h>
-#if !defined(__sun) && !defined(__hpux) && !defined(_AIX)
+#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) && !defined(__CYGWIN__)
#include <sys/ttydefaults.h>
#endif
#ifndef CTRL

View File

@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
NROFF = "${groff}/bin/nroff";
patches = if stdenv.isCygwin then [
./01-cygwin.patch
] else null;
postInstall = ''
sed -i ${stdenv.lib.optionalString (stdenv.isDarwin && stdenv.cc.nativeTools) "''"} s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
'';

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, autoreconfHook, python }:
{ stdenv, fetchFromGitHub, autoreconfHook, python, findutils }:
let version = "2.0.22"; in
stdenv.mkDerivation {
@ -12,7 +12,7 @@ stdenv.mkDerivation {
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ python ];
buildInputs = [ python ] ++ stdenv.lib.optional stdenv.isCygwin findutils;
patchPhase = ''
patchShebangs event_rpcgen.py

View File

@ -1,28 +1,25 @@
diff --git a/src/libical/icaltz-util.c b/src/libical/icaltz-util.c
index fe984c9..22ba0a1 100644
--- a/src/libical/icaltz-util.c
+++ b/src/libical/icaltz-util.c
@@ -107,7 +107,7 @@ typedef struct
--- a/src/libical/icaltz-util.c 2015-06-11 15:40:58.843138630 +0200
+++ b/src/libical/icaltz-util.c 2015-06-11 15:43:12.722046252 +0200
@@ -107,7 +107,7 @@
char charcnt[4];
} tzinfo;
-static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo"};
+static char *search_paths [] = {"/etc/zoneinfo"};
+static char *search_paths [] = {"/etc/zoneinfo","/usr/share/zoneinfo","/usr/lib/zoneinfo","/usr/share/lib/zoneinfo"};
static char *zdir = NULL;
#define NUM_SEARCH_PATHS (sizeof (search_paths)/ sizeof (search_paths [0]))
@@ -194,6 +194,16 @@ set_zonedir (void)
@@ -194,6 +194,15 @@
const char *fname = ZONES_TAB_SYSTEM_FILENAME;
unsigned int i;
+ const char *env_tzdir = strdup (getenv ("TZDIR"));
+ const char *env_tzdir = getenv ("TZDIR");
+ if (env_tzdir) {
+ sprintf (file_path, "%s/%s", env_tzdir, fname);
+ if (!access (file_path, F_OK|R_OK)) {
+ zdir = env_tzdir;
+ return;
+ }
+ free (env_tzdir);
+ }
+
for (i = 0; i < NUM_SEARCH_PATHS; i++) {

View File

@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "085mdshgqsn76gfnnzfns7awv6lals9mgv5a6bybd9f9aj7lvrm5";
};
makeFlags = [ "PREFIX=$(out)" ];
makeFlags = [ "PREFIX=$(out)" ]
++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
buildInputs = [ libtool pkgconfig ncurses ];

View File

@ -1,29 +1,34 @@
{ stdenv
, fetchurl
, gfortran
, liblapack
, openblas
}:
stdenv.mkDerivation {
name = "qrupdate-1.1.2";
src = fetchurl {
url = mirror://sourceforge/qrupdate/qrupdate-1.1.2.tar.gz ;
sha256 = "024f601685phcm1pg8lhif3lpy5j9j0k6n0r46743g4fvh8wg8g2";
sha256 = "024f601685phcm1pg8lhif3lpy5j9j0k6n0r46743g4fvh8wg8g2";
};
configurePhase = ''
export PREFIX=$out
sed -i -e 's,^BLAS=.*,BLAS=-L${liblapack}/lib -L${liblapack.blas} -lcblas -lf77blas -latlas,' \
-e 's,^LAPACK=.*,LAPACK=-L${liblapack}/lib -llapack -lcblas -lf77blas -latlas,' \
Makeconf
'';
configurePhase =
''
export PREFIX=$out
sed -i -e 's,^BLAS=.*,BLAS=-L${openblas}/lib -lopenblas,' \
-e 's,^LAPACK=.*,LAPACK=-L${openblas}/lib -lopenblas,' \
Makeconf
''
+ stdenv.lib.optionalString openblas.blas64
''
sed -i Makeconf -e '/^FFLAGS=.*/ s/$/-fdefault-integer-8/'
'';
doCheck = true;
checkTarget = "test";
buildTarget = "lib";
buildFlags = [ "lib" "solib" ];
installTarget = "install-staticlib";
buildInputs = [ gfortran liblapack ];
installTargets = "install";
buildInputs = [ gfortran openblas ];
}

View File

@ -0,0 +1,13 @@
diff --git a/qtbase/src/network/ssl/qsslsocket_openssl.cpp b/qtbase/src/network/ssl/qsslsocket_openssl.cpp
index 8833e3f..c56d381 100644
--- a/qtbase/src/network/ssl/qsslsocket_openssl.cpp
+++ b/qtbase/src/network/ssl/qsslsocket_openssl.cpp
@@ -47,7 +47,7 @@
****************************************************************************/
//#define QSSLSOCKET_DEBUG
-//#define QT_DECRYPT_SSL_TRAFFIC
+#define QT_DECRYPT_SSL_TRAFFIC
#include "qssl_p.h"
#include "qsslsocket_openssl_p.h"

View File

@ -20,6 +20,7 @@
# options
, developerBuild ? false
, decryptSslTraffic ? false
}:
with autonix;
@ -61,7 +62,7 @@ let
# GNOME dependencies are not used unless gtkStyle == true
inherit (gnome) libgnomeui GConf gnome_vfs;
bison = bison2; # error: too few arguments to function 'int yylex(...
inherit developerBuild srcs version;
inherit developerBuild srcs version decryptSslTraffic;
};
connectivity = callPackage

View File

@ -20,6 +20,7 @@
, buildTests ? false
, developerBuild ? false
, gtkStyle ? false, libgnomeui, GConf, gnome_vfs, gtk
, decryptSslTraffic ? false
}:
with stdenv.lib;
@ -68,7 +69,8 @@ stdenv.mkDerivation {
(substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; })
(substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; })
./0013-xdg_config_dirs.patch
];
]
++ (optional decryptSslTraffic ./0100-ssl.patch);
preConfigure = ''
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"

View File

@ -1,4 +1,6 @@
{ stdenv, fetchurl, gfortran, atlasWithLapack }:
{ stdenv, fetchurl, gfortran, openblas }:
with stdenv.lib;
let
version = "3.2.0";
@ -10,10 +12,15 @@ stdenv.mkDerivation {
sha256 = "1fwch6vipms1ispzg2djvbzv5wag36f1dmmr3xs3mbp6imfyhvff";
};
buildInputs = [ gfortran atlasWithLapack ];
buildInputs = [ gfortran openblas ];
# Auto-detection fails because gfortran brings in BLAS by default
configureFlags="--with-blas=-latlas --with-lapack=-latlas";
configureFlags = [
"--with-blas=-lopenblas"
"--with-lapack=-lopenblas"
];
FFLAGS = optional openblas.blas64 "-fdefault-integer-8";
meta = {
homepage = "http://forge.scilab.org/index.php/p/arpack-ng/";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, unzip, blas, liblapack, gfortran }:
{ stdenv, fetchurl, unzip, openblas, gfortran }:
stdenv.mkDerivation rec {
version = "3.12.3";
@ -13,9 +13,14 @@ stdenv.mkDerivation rec {
export CXXDEFS="-DHAVE_RAND -DHAVE_CSTRING -DHAVE_CSTDIO"
'';
configureFlags = [
"--with-blas-lib=-lopenblas"
"--with-lapack-lib=-lopenblas"
];
nativeBuildInputs = [ unzip ];
buildInputs = [ gfortran blas liblapack ];
buildInputs = [ gfortran openblas ];
enableParallelBuilding = true;

View File

@ -1,37 +0,0 @@
{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
let local = config.openblas.preferLocalBuild or false;
localTarget = config.openblas.target or "";
in
stdenv.mkDerivation rec {
version = "0.2.10";
name = "openblas-${version}";
src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}";
sha256 = "06i0q4qnd5q5xljzrgvda0gjsczc6l2pl9hw6dn2qjpw38al73za";
name = "openblas-${version}.tar.gz";
};
preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz";
buildInputs = [gfortran perl];
cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
target = if local then localTarget else
if cpu == "i686" then "P2" else
if cpu == "x86_64" then "CORE2" else
# allow autodetect
"";
makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\" INTERFACE64=1";
meta = with stdenv.lib; {
description = "Basic Linear Algebra Subprograms";
license = licenses.bsd3;
homepage = "https://github.com/xianyi/OpenBLAS";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ ttuegel ];
};
}

View File

@ -1,37 +0,0 @@
{ stdenv, fetchurl, gfortran, perl, liblapack, config }:
let local = config.openblas.preferLocalBuild or false;
localTarget = config.openblas.target or "";
in
stdenv.mkDerivation rec {
version = "0.2.2";
name = "openblas-${version}";
src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}";
sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr";
name = "openblas-${version}.tar.gz";
};
preBuild = "cp ${liblapack.src} lapack-${liblapack.meta.version}.tgz";
buildInputs = [gfortran perl];
cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system);
target = if local then localTarget else
if cpu == "i686" then "P2" else
if cpu == "x86_64" then "CORE2" else
# allow autodetect
"";
makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\"";
meta = with stdenv.lib; {
description = "Basic Linear Algebra Subprograms";
license = licenses.bsd3;
homepage = "https://github.com/xianyi/OpenBLAS";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ ttuegel ];
};
}

View File

@ -1,22 +1,24 @@
{ stdenv, fetchurl, gfortran, perl, liblapack, config, coreutils }:
{ stdenv, fetchurl, gfortran, perl, liblapack, config, coreutils
# Most packages depending on openblas expect integer width to match pointer width,
# but some expect to use 32-bit integers always (for compatibility with reference BLAS).
, blas64 ? null
}:
with stdenv.lib;
let local = config.openblas.preferLocalBuild or false;
binary =
{
i686-linux = "32";
{ i686-linux = "32";
x86_64-linux = "64";
x86_64-darwin = "64";
}."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
genericFlags =
[
"DYNAMIC_ARCH=1"
[ "DYNAMIC_ARCH=1"
"NUM_THREADS=64"
"BINARY=${binary}"
];
localFlags = config.openblas.flags or
optionals (hasAttr "target" config.openblas) [ "TARGET=${config.openblas.target}" ];
blas64Orig = blas64;
in
stdenv.mkDerivation rec {
version = "0.2.14";
@ -43,9 +45,13 @@ stdenv.mkDerivation rec {
# thus is not an explicit dependency.
"CC=${if stdenv.isDarwin then "clang" else "gcc"}"
''PREFIX="''$(out)"''
"INTERFACE64=1"
"BINARY=${binary}"
"USE_OPENMP=${if stdenv.isDarwin then "0" else "1"}"
"INTERFACE64=${if blas64 then "1" else "0"}"
];
blas64 = if blas64Orig != null then blas64Orig else hasPrefix "x86_64" stdenv.system;
meta = with stdenv.lib; {
description = "Basic Linear Algebra Subprograms";
license = licenses.bsd3;

View File

@ -1,36 +0,0 @@
From 456b26d0c9101adaa5876954baac0ca0e872dab6 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Mon, 15 Dec 2014 10:18:01 -0600
Subject: [PATCH 1/3] disable metis
---
SuiteSparse_config/SuiteSparse_config.mk | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
index ba2da23..e1514bf 100644
--- a/SuiteSparse_config/SuiteSparse_config.mk
+++ b/SuiteSparse_config/SuiteSparse_config.mk
@@ -212,8 +212,8 @@ XERBLA =
# The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
# You may wish to use an absolute path. METIS is optional. Compile
# CHOLMOD with -DNPARTITION if you do not wish to use METIS.
-METIS_PATH = ../../metis-4.0
-METIS = ../../metis-4.0/libmetis.a
+# METIS_PATH = ../../metis-4.0
+# METIS = ../../metis-4.0/libmetis.a
#------------------------------------------------------------------------------
# UMFPACK configuration:
@@ -273,7 +273,7 @@ UMFPACK_CONFIG =
# -DNSUNPERF for Solaris only. If defined, do not use the Sun
# Performance Library
-CHOLMOD_CONFIG = $(GPU_CONFIG)
+CHOLMOD_CONFIG = $(GPU_CONFIG) -DNPARTITION
# uncomment this line to compile CHOLMOD without METIS:
# CHOLMOD_CONFIG = -DNPARTITION
--
2.1.3

View File

@ -1,27 +0,0 @@
From e0fee492a315ce1ef8697b056af210beb1465334 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Mon, 15 Dec 2014 10:18:12 -0600
Subject: [PATCH 2/3] set install dir
---
SuiteSparse_config/SuiteSparse_config.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
index e1514bf..f1046a6 100644
--- a/SuiteSparse_config/SuiteSparse_config.mk
+++ b/SuiteSparse_config/SuiteSparse_config.mk
@@ -95,8 +95,8 @@ F77LIB =
# LIB = -lm
# For "make install"
-INSTALL_LIB = /usr/local/lib
-INSTALL_INCLUDE = /usr/local/include
+INSTALL_LIB = @out@/lib
+INSTALL_INCLUDE = @out@/include
# Which version of MAKE you are using (default is "make")
# MAKE = make
--
2.1.3

View File

@ -1,27 +0,0 @@
From a99cca30cfd965683564ae024e8ecc615c61697a Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Mon, 15 Dec 2014 10:24:08 -0600
Subject: [PATCH 3/3] blas lapack flags
---
SuiteSparse_config/SuiteSparse_config.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/SuiteSparse_config/SuiteSparse_config.mk b/SuiteSparse_config/SuiteSparse_config.mk
index f1046a6..1710162 100644
--- a/SuiteSparse_config/SuiteSparse_config.mk
+++ b/SuiteSparse_config/SuiteSparse_config.mk
@@ -119,8 +119,8 @@ INSTALL_INCLUDE = @out@/include
# naming the BLAS and LAPACK library (*.a or *.so) files.
# This is probably slow ... it might connect to the Standard Reference BLAS:
- BLAS = -lblas -lgfortran
- LAPACK = -llapack
+ BLAS = @blasFlags@
+ LAPACK = @lapackFlags@
# MKL
# BLAS = -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm
--
2.1.3

View File

@ -1,22 +1,44 @@
{ stdenv, fetchurl, blas, liblapack, gfortran } :
{ stdenv, fetchurl, gfortran, openblas }:
let
int_t = if openblas.blas64 then "int64_t" else "int32_t";
in
stdenv.mkDerivation rec {
version = "4.2.1";
name = "suitesparse-${version}";
src = fetchurl {
url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz" ;
sha256 = "1ga69637x7kdkiy3w3lq9dvva7220bdangv2lch2wx1hpi83h0p8";
sha256 = "1ga69637x7kdkiy3w3lq9dvva7220bdangv2lch2wx1hpi83h0p8";
};
buildInputs = [blas liblapack gfortran] ;
patches = [./disable-metis.patch];
nativeBuildInputs = [ gfortran ];
buildInputs = [ openblas ];
preConfigure = ''
export PREFIX=$out
mkdir -p $out/lib
mkdir -p $out/include
sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
-e 's/METIS .*$/METIS =/' \
-e 's/METIS_PATH .*$/METIS_PATH =/' \
-e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
-e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
'';
makeFlags = ''PREFIX=\"$(out)\" INSTALL_LIB=$(out)/lib INSTALL_INCLUDE=$(out)/include'';
makeFlags = [
"PREFIX=\"$(out)\""
"INSTALL_LIB=$(out)/lib"
"INSTALL_INCLUDE=$(out)/include"
"BLAS=-lopenblas"
"LAPACK="
];
NIX_CFLAGS = "-fPIC";
meta = with stdenv.lib; {
homepage = http://faculty.cse.tamu.edu/davis/suitesparse.html;
description = "A suite of sparse matrix algorithms";
license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ];
maintainers = with maintainers; [ ttuegel ];
};
}

View File

@ -1,452 +0,0 @@
#===============================================================================
# SuiteSparse_config.mk: common configuration file for the SuiteSparse
#===============================================================================
# This file contains all configuration settings for all packages authored or
# co-authored by Tim Davis:
#
# Package Version Description
# ------- ------- -----------
# AMD 1.2 or later approximate minimum degree ordering
# COLAMD 2.4 or later column approximate minimum degree ordering
# CCOLAMD 1.0 or later constrained column approximate minimum degree ordering
# CAMD any constrained approximate minimum degree ordering
# UMFPACK 4.5 or later sparse LU factorization, with the BLAS
# CHOLMOD any sparse Cholesky factorization, update/downdate
# KLU 0.8 or later sparse LU factorization, BLAS-free
# BTF 0.8 or later permutation to block triangular form
# LDL 1.2 or later concise sparse LDL'
# CXSparse any extended version of CSparse (int/long, real/complex)
# SuiteSparseQR any sparse QR factorization
# RBio 2.0 or later read/write sparse matrices in Rutherford-Boeing format
#
# By design, this file is NOT included in the CSparse makefile.
# That package is fully stand-alone. CSparse is primarily for teaching;
# production code should use CXSparse.
#
# The SuiteSparse_config directory and the above packages should all appear in
# a single directory, in order for the Makefile's within each package to find
# this file.
#
# To enable an option of the form "# OPTION = ...", edit this file and
# delete the "#" in the first column of the option you wish to use.
#
# The use of METIS 4.0.1 is optional. To exclude METIS, you must compile with
# CHOLMOD_CONFIG set to -DNPARTITION. See below for details. However, if you
# do not have a metis-4.0 directory inside the SuiteSparse directory, the
# */Makefile's that optionally rely on METIS will automatically detect this
# and compile without METIS.
#------------------------------------------------------------------------------
# Generic configuration
#------------------------------------------------------------------------------
# Using standard definitions from the make environment, typically:
#
# CC cc C compiler
# CXX g++ C++ compiler
# CFLAGS [ ] flags for C and C++ compiler
# CPPFLAGS [ ] flags for C and C++ compiler
# TARGET_ARCH [ ] target architecture
# FFLAGS [ ] flags for Fortran compiler
# RM rm -f delete a file
# AR ar create a static *.a library archive
# ARFLAGS rv flags for ar
# MAKE make make itself (sometimes called gmake)
#
# You can redefine them here, but by default they are used from the
# default make environment.
# To use OpenMP add -openmp to the CFLAGS
# If OpenMP is used, it is recommended to define CHOLMOD_OMP_NUM_THREADS
# as the number of cores per socket on the machine being used to maximize
# memory performance
CFLAGS =
# CFLAGS = -g
# for the icc compiler and OpenMP:
# CFLAGS = -openmp
# C and C++ compiler flags. The first three are standard for *.c and *.cpp
# Add -DNTIMER if you do use any timing routines (otherwise -lrt is required).
# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -DNTIMER
CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC
# for the MKL BLAS:
# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O3 -fexceptions -fPIC -I$(MKLROOT)/include -D_GNU_SOURCE
# with no optimization:
# CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -fexceptions -fPIC
# ranlib, and ar, for generating libraries. If you don't need ranlib,
# just change it to RANLAB = echo
RANLIB = ranlib
ARCHIVE = $(AR) $(ARFLAGS)
# copy and delete a file
CP = cp -f
MV = mv -f
# Fortran compiler (not required for 'make' or 'make library')
F77 = gfortran
F77FLAGS = $(FFLAGS) -O
F77LIB =
# C and Fortran libraries. Remove -lrt if you don't have it.
LIB = -lm -lrt
# Using the following requires CF = ... -DNTIMER on POSIX C systems.
# LIB = -lm
# For "make install"
INSTALL_LIB = @out@/lib
INSTALL_INCLUDE = @out@/include
# Which version of MAKE you are using (default is "make")
# MAKE = make
# MAKE = gmake
#------------------------------------------------------------------------------
# BLAS and LAPACK configuration:
#------------------------------------------------------------------------------
# UMFPACK and CHOLMOD both require the BLAS. CHOLMOD also requires LAPACK.
# See Kazushige Goto's BLAS at http://www.cs.utexas.edu/users/flame/goto/ or
# http://www.tacc.utexas.edu/~kgoto/ for the best BLAS to use with CHOLMOD.
# LAPACK is at http://www.netlib.org/lapack/ . You can use the standard
# Fortran LAPACK along with Goto's BLAS to obtain very good performance.
# CHOLMOD gets a peak numeric factorization rate of 3.6 Gflops on a 3.2 GHz
# Pentium 4 (512K cache, 4GB main memory) with the Goto BLAS, and 6 Gflops
# on a 2.5Ghz dual-core AMD Opteron.
# These settings will probably not work, since there is no fixed convention for
# naming the BLAS and LAPACK library (*.a or *.so) files.
# This is probably slow ... it might connect to the Standard Reference BLAS:
BLAS = -lf77blas -latlas -lcblas -lgfortran
LAPACK = -llapack -latlas -lcblas
# MKL
# BLAS = -Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a $(MKLROOT)/lib/intel64/libmkl_core.a $(MKLROOT)/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm
# LAPACK =
# ACML
# BLAS = -lacml -lgfortran
# LAPACK =
# OpenBLAS
# BLAS = -lopenblas
# LAPACK =
# NOTE: this next option for the "Goto BLAS" has nothing to do with a "goto"
# statement. Rather, the Goto BLAS is written by Dr. Kazushige Goto.
# Using the Goto BLAS:
# BLAS = -lgoto -lgfortran -lgfortranbegin
# BLAS = -lgoto2 -lgfortran -lgfortranbegin -lpthread
# Using non-optimized versions:
# BLAS = -lblas_plain -lgfortran -lgfortranbegin
# LAPACK = -llapack_plain
# BLAS = -lblas_plain -lgfortran -lgfortranbegin
# LAPACK = -llapack
# The BLAS might not contain xerbla, an error-handling routine for LAPACK and
# the BLAS. Also, the standard xerbla requires the Fortran I/O library, and
# stops the application program if an error occurs. A C version of xerbla
# distributed with this software (SuiteSparse_config/xerbla/libcerbla.a)
# includes a Fortran-callable xerbla routine that prints nothing and does not
# stop the application program. This is optional.
# XERBLA = ../../SuiteSparse_config/xerbla/libcerbla.a
# If you wish to use the XERBLA in LAPACK and/or the BLAS instead,
# use this option:
XERBLA =
# If you wish to use the Fortran SuiteSparse_config/xerbla/xerbla.f instead,
# use this:
# XERBLA = ../../SuiteSparse_config/xerbla/libxerbla.a
#------------------------------------------------------------------------------
# GPU configuration for CHOLMOD and SPQR
#------------------------------------------------------------------------------
# no cuda
CUDA_ROOT =
GPU_BLAS_PATH =
GPU_CONFIG =
CUDA_PATH =
CUDART_LIB =
CUBLAS_LIB =
CUDA_INC_PATH =
NV20 =
NV30 =
NV35 =
NVCC = echo
NVCCFLAGS =
# with cuda for CHOLMOD
# CUDA_ROOT = /usr/local/cuda
# GPU_BLAS_PATH = $(CUDA_ROOT)
# with 4 cores (default):
# GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS
# with 10 cores:
# GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=10
# CUDA_PATH = $(CUDA_ROOT)
# CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so
# CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so
# CUDA_INC_PATH = $(CUDA_ROOT)/include/
# NV20 = -arch=sm_20 -Xcompiler -fPIC
# NV30 = -arch=sm_30 -Xcompiler -fPIC
# NV35 = -arch=sm_35 -Xcompiler -fPIC
# NVCC = $(CUDA_ROOT)/bin/nvcc
# NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35
# was NVCC = $(CUDA_ROOT)/bin/nvcc $(NV35) $(NV30) $(NV20)
#------------------------------------------------------------------------------
# METIS, optionally used by CHOLMOD
#------------------------------------------------------------------------------
# If you do not have METIS, or do not wish to use it in CHOLMOD, you must
# compile CHOLMOD with the -DNPARTITION flag.
# The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
# You may wish to use an absolute path. METIS is optional. Compile
# CHOLMOD with -DNPARTITION if you do not wish to use METIS.
# METIS_PATH = ../../metis-4.0
# METIS = ../../metis-4.0/libmetis.a
#------------------------------------------------------------------------------
# UMFPACK configuration:
#------------------------------------------------------------------------------
# Configuration flags for UMFPACK. See UMFPACK/Source/umf_config.h for details.
#
# -DNBLAS do not use the BLAS. UMFPACK will be very slow.
# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
# LAPACK and the BLAS (defaults to 'int')
# -DNSUNPERF do not use the Sun Perf. Library (default is use it on Solaris)
# -DNRECIPROCAL do not multiply by the reciprocal
# -DNO_DIVIDE_BY_ZERO do not divide by zero
# -DNCHOLMOD do not use CHOLMOD as a ordering method. If -DNCHOLMOD is
# included in UMFPACK_CONFIG, then UMFPACK does not rely on
# CHOLMOD, CAMD, CCOLAMD, COLAMD, and METIS.
UMFPACK_CONFIG =
# uncomment this line to compile UMFPACK without CHOLMOD:
# UMFPACK_CONFIG = -DNCHOLMOD
#------------------------------------------------------------------------------
# CHOLMOD configuration
#------------------------------------------------------------------------------
# CHOLMOD Library Modules, which appear in libcholmod.a:
# Core requires: none
# Check requires: Core
# Cholesky requires: Core, AMD, COLAMD. optional: Partition, Supernodal
# MatrixOps requires: Core
# Modify requires: Core
# Partition requires: Core, CCOLAMD, METIS. optional: Cholesky
# Supernodal requires: Core, BLAS, LAPACK
#
# CHOLMOD test/demo Modules (all are GNU GPL, do not appear in libcholmod.a):
# Tcov requires: Core, Check, Cholesky, MatrixOps, Modify, Supernodal
# optional: Partition
# Valgrind same as Tcov
# Demo requires: Core, Check, Cholesky, MatrixOps, Supernodal
# optional: Partition
#
# Configuration flags:
# -DNCHECK do not include the Check module. License GNU LGPL
# -DNCHOLESKY do not include the Cholesky module. License GNU LGPL
# -DNPARTITION do not include the Partition module. License GNU LGPL
# also do not include METIS.
# -DNCAMD do not use CAMD, etc from Partition module. GNU LGPL
# -DNGPL do not include any GNU GPL Modules in the CHOLMOD library:
# -DNMATRIXOPS do not include the MatrixOps module. License GNU GPL
# -DNMODIFY do not include the Modify module. License GNU GPL
# -DNSUPERNODAL do not include the Supernodal module. License GNU GPL
#
# -DNPRINT do not print anything.
# -D'LONGBLAS=long' or -DLONGBLAS='long long' defines the integers used by
# LAPACK and the BLAS (defaults to 'int')
# -DNSUNPERF for Solaris only. If defined, do not use the Sun
# Performance Library
CHOLMOD_CONFIG = $(GPU_CONFIG) -DNPARTITION
# uncomment this line to compile CHOLMOD without METIS:
# CHOLMOD_CONFIG = -DNPARTITION
#------------------------------------------------------------------------------
# SuiteSparseQR configuration:
#------------------------------------------------------------------------------
# The SuiteSparseQR library can be compiled with the following options:
#
# -DNPARTITION do not include the CHOLMOD partition module
# -DNEXPERT do not include the functions in SuiteSparseQR_expert.cpp
# -DHAVE_TBB enable the use of Intel's Threading Building Blocks (TBB)
# default, without timing, without TBB:
SPQR_CONFIG = $(GPU_CONFIG)
# with TBB:
# SPQR_CONFIG = -DHAVE_TBB
# This is needed for IBM AIX: (but not for and C codes, just C++)
# SPQR_CONFIG = -DBLAS_NO_UNDERSCORE
# with TBB, you must select this:
# TBB = -ltbb
# without TBB:
TBB =
#------------------------------------------------------------------------------
# code formatting
#------------------------------------------------------------------------------
# Use "grep" only, if you do not have "indent"
# PRETTY = grep -v "^\#"
# PRETTY = grep -v "^\#" | indent -bl -nce -ss -bli0 -i4 -sob -l120
PRETTY = grep -v "^\#" | indent -bl -nce -bli0 -i4 -sob -l120
#------------------------------------------------------------------------------
# Linux
#------------------------------------------------------------------------------
# Using default compilers:
# CC = gcc
# CF = $(CFLAGS) -O3 -fexceptions
# alternatives:
# CF = $(CFLAGS) -g -fexceptions \
# -Wall -W -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
# -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi \
# -funit-at-a-time
# CF = $(CFLAGS) -O3 -fexceptions \
# -Wall -W -Werror -Wshadow -Wmissing-prototypes -Wstrict-prototypes \
# -Wredundant-decls -Wnested-externs -Wdisabled-optimization -ansi
# CF = $(CFLAGS) -O3 -fexceptions -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
# CF = $(CFLAGS) -O3
# CF = $(CFLAGS) -O3 -g -fexceptions
# CF = $(CFLAGS) -g -fexceptions \
# -Wall -W -Wshadow \
# -Wredundant-decls -Wdisabled-optimization -ansi
# consider:
# -fforce-addr -fmove-all-movables -freduce-all-givs -ftsp-ordering
# -frename-registers -ffast-math -funroll-loops
# Using the Goto BLAS:
# BLAS = -lgoto -lfrtbegin -lg2c $(XERBLA) -lpthread
# Using Intel's icc and ifort compilers:
# (does not work for mexFunctions unless you add a mexopts.sh file)
# F77 = ifort
# CC = icc
# CF = $(CFLAGS) -O3 -xN -vec_report=0
# CF = $(CFLAGS) -g
# 64bit:
# F77FLAGS = -O -m64
# CF = $(CFLAGS) -O3 -fexceptions -m64
# BLAS = -lgoto64 -lfrtbegin -lg2c -lpthread $(XERBLA)
# LAPACK = -llapack64
# SUSE Linux 10.1, AMD Opteron, with GOTO Blas
# F77 = gfortran
# BLAS = -lgoto_opteron64 -lgfortran
# SUSE Linux 10.1, Intel Pentium, with GOTO Blas
# F77 = gfortran
# BLAS = -lgoto -lgfortran
#------------------------------------------------------------------------------
# Mac
#------------------------------------------------------------------------------
# As recommended by macports, http://suitesparse.darwinports.com/
# I've tested them myself on Mac OSX 10.6.1 and 10.6.8 (Snow Leopard),
# on my MacBook Air, and they work fine.
# F77 = gfortran
# CF = $(CFLAGS) -O3 -fno-common -fexceptions -DNTIMER
# BLAS = -framework Accelerate
# LAPACK = -framework Accelerate
# LIB = -lm
#------------------------------------------------------------------------------
# Solaris
#------------------------------------------------------------------------------
# 32-bit
# CF = $(CFLAGS) -KPIC -dalign -xc99=%none -Xc -xlibmieee -xO5 -xlibmil -m32
# 64-bit
# CF = $(CFLAGS) -fast -KPIC -xc99=%none -xlibmieee -xlibmil -m64 -Xc
# FFLAGS = -fast -KPIC -dalign -xlibmil -m64
# The Sun Performance Library includes both LAPACK and the BLAS:
# BLAS = -xlic_lib=sunperf
# LAPACK =
#------------------------------------------------------------------------------
# Compaq Alpha
#------------------------------------------------------------------------------
# 64-bit mode only
# CF = $(CFLAGS) -O2 -std1
# BLAS = -ldxml
# LAPACK =
#------------------------------------------------------------------------------
# IBM RS 6000
#------------------------------------------------------------------------------
# BLAS = -lessl
# LAPACK =
# 32-bit mode:
# CF = $(CFLAGS) -O4 -qipa -qmaxmem=16384 -qproto
# F77FLAGS = -O4 -qipa -qmaxmem=16384
# 64-bit mode:
# CF = $(CFLAGS) -O4 -qipa -qmaxmem=16384 -q64 -qproto
# F77FLAGS = -O4 -qipa -qmaxmem=16384 -q64
#------------------------------------------------------------------------------
# SGI IRIX
#------------------------------------------------------------------------------
# BLAS = -lscsl
# LAPACK =
# 32-bit mode
# CF = $(CFLAGS) -O
# 64-bit mode (32 bit int's and 64-bit long's):
# CF = $(CFLAGS) -64
# F77FLAGS = -64
# SGI doesn't have ranlib
# RANLIB = echo
#------------------------------------------------------------------------------
# AMD Opteron (64 bit)
#------------------------------------------------------------------------------
# BLAS = -lgoto_opteron64 -lg2c
# LAPACK = -llapack_opteron64
# SUSE Linux 10.1, AMD Opteron
# F77 = gfortran
# BLAS = -lgoto_opteron64 -lgfortran
# LAPACK = -llapack_opteron64
#------------------------------------------------------------------------------
# remove object files and profile output
#------------------------------------------------------------------------------
CLEAN = *.o *.obj *.ln *.bb *.bbg *.da *.tcov *.gcov gmon.out *.bak *.d *.gcda *.gcno

View File

@ -1,34 +1,53 @@
{ stdenv, fetchurl, substituteAll
, atlasWithLapack, gfortran }:
{ stdenv, fetchurl, gfortran, openblas }:
let
name = "suitesparse-4.4.1";
version = "4.4.4";
name = "suitesparse-${version}";
int_t = if openblas.blas64 then "int64_t" else "int32_t";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.1.tar.gz";
sha256 = "0y8i6dizrr556xggpjyc7wijjv4jbizhssmjj4jv8n1s7zxy2z0n";
url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz";
sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj";
};
patches = [
./0001-disable-metis.patch
./0002-set-install-dir.patch
(substituteAll {
src = ./0003-blas-lapack-flags.patch;
blasFlags = "-lf77blas -latlas -lcblas -lgfortran";
lapackFlags= "-llapack -latlas -lcblas";
})
];
preConfigure = ''
substituteAllInPlace SuiteSparse_config/SuiteSparse_config.mk
mkdir -p $out/lib
mkdir -p $out/include
sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
-e 's/METIS .*$/METIS =/' \
-e 's/METIS_PATH .*$/METIS_PATH =/' \
-e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
-e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
'';
makeFlags = [
"PREFIX=\"$(out)\""
"INSTALL_LIB=$(out)/lib"
"INSTALL_INCLUDE=$(out)/include"
"BLAS=-lopenblas"
"LAPACK="
];
NIX_CFLAGS = "-fPIC";
postInstall = ''
# Build and install shared library
(
cd "$(mktemp -d)"
for i in "$out"/lib/lib*.a; do
ar -x $i
done
gcc *.o --shared -o "$out/lib/libsuitesparse.so"
)
for i in umfpack cholmod amd camd colamd spqr; do
ln -s libsuitesparse.so "$out"/lib/lib$i.so;
done
# Install documentation
outdoc=$out/share/doc/${name}
mkdir -p $outdoc
@ -47,7 +66,7 @@ stdenv.mkDerivation {
'';
nativeBuildInputs = [ gfortran ];
buildInputs = [ atlasWithLapack ];
buildInputs = [ openblas ];
meta = with stdenv.lib; {
homepage = http://faculty.cse.tamu.edu/davis/suitesparse.html;

View File

@ -1,18 +0,0 @@
diff -Nrc SuiteSparse/UMFPACK/Demo/Makefile SuiteSparse-new/UMFPACK/Demo/Makefile
*** SuiteSparse/UMFPACK/Demo/Makefile 2009-11-11 21:09:45.000000000 +0100
--- SuiteSparse-new/UMFPACK/Demo/Makefile 2010-08-02 12:53:16.000000000 +0200
***************
*** 40,46 ****
../../CAMD/Lib/libcamd.a:
( cd ../../CAMD ; $(MAKE) library )
- $(METIS):
- ( cd $(METIS_PATH) && $(MAKE) )
UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \
--- 40,44 ----
../../CAMD/Lib/libcamd.a:
( cd ../../CAMD ; $(MAKE) library )
UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \

View File

@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
sha256 = "1bphz616dv1svc50kkm8xbgyszhg3ni2dqbij99sfvjycr7bgk7c";
};
buildInputs = [ apr scons openssl aprutil zlib kerberos pkgconfig ];
buildInputs = [ apr scons openssl aprutil zlib ]
++ stdenv.lib.optional (!stdenv.isCygwin) kerberos
++ [ pkgconfig ];
configurePhase = ''
${gnused}/bin/sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' -i SConstruct
@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
APU="$(echo "${aprutil}"/bin/*-config)" CC="${
if stdenv.isDarwin then "clang" else "${stdenv.cc}/bin/gcc"
}" ${
if stdenv.isDarwin then "" else "GSSAPI=\"${kerberos}\""
if (stdenv.isDarwin || stdenv.isCygwin) then "" else "GSSAPI=\"${kerberos}\""
}
'';

View File

@ -3,11 +3,11 @@
assert interactive -> readline != null && ncurses != null;
stdenv.mkDerivation {
name = "sqlite-3.8.10.1";
name = "sqlite-3.8.10.2";
src = fetchurl {
url = "http://sqlite.org/2015/sqlite-autoconf-3081001.tar.gz";
sha1 = "86bfed5752783fb24c051f3efac5972ce11023f0";
url = "http://sqlite.org/2015/sqlite-autoconf-3081002.tar.gz";
sha1 = "c2f2c17d3dc4c4e179d35cc04e4420636d48a152";
};
buildInputs = lib.optionals interactive [ readline ncurses ];

View File

@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "143j7qrqjxxmdf3yzhn6av2qwiyjjk4cnskkgz6ir2scjfd5gvja";
};
makeFlags = [ "PREFIX=$(out)" ];
makeFlags = [ "PREFIX=$(out)" ]
++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
buildInputs = [ libtool pkgconfig ];

View File

@ -11,9 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "1ryjlcnpfm7fpkq6444ybi576hbnh2l0w7kjhbqady5lxwjyg3pf";
};
installPhase = ''
make install prefix=$out
'';
makeFlags = [ "prefix=$(out)" ];
meta = with stdenv.lib; {
description = "A clean C library for processing UTF-8 Unicode data";

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
name = "wavpack-${version}";
version = "4.70.0";
version = "4.75.0";
enableParallelBuilding = true;
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://www.wavpack.com/${name}.tar.bz2";
sha256 = "191h8hv8qk72hfh1crg429i9yq3cminwqb249sy9zadbn1wy7b9c";
sha256 = "0bmgwcvch3cjcivk7pyasqysj0s81wkg40j3zfrcd7bl0qhmqgn6";
};
meta = with stdenv.lib; {

View File

@ -3,14 +3,14 @@
python,
# Name of package (e.g. numpy or scipy)
pkgName,
# Atlas math library
atlas
# OpenBLAS math library
openblas
}:
{
# Re-export atlas here so that it can be sure that the same one will be used
# Re-export openblas here so that it can be sure that the same one will be used
# in the propagatedBuildInputs.
inherit atlas;
inherit openblas;
# First "install" the package, then import what was installed, and call the
# .test() function, which will run the test suite.
@ -48,9 +48,9 @@
preBuild = ''
echo "Creating site.cfg file..."
cat << EOF > site.cfg
[atlas]
include_dirs = ${atlas}/include
library_dirs = ${atlas}/lib
[openblas]
include_dirs = ${openblas}/include
library_dirs = ${openblas}/lib
EOF
'';
}

View File

@ -997,7 +997,7 @@ let
});
Mposterior = old.Mposterior.overrideDerivation (attrs: {
PKG_LIBS = "-L${pkgs.atlas}/lib -lf77blas -latlas";
PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas";
});
qtbase = old.qtbase.overrideDerivation (attrs: {
@ -1037,11 +1037,11 @@ let
});
slfm = old.slfm.overrideDerivation (attrs: {
PKG_LIBS = "-L${pkgs.atlas}/lib -lf77blas -latlas";
PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas";
});
SamplerCompare = old.SamplerCompare.overrideDerivation (attrs: {
PKG_LIBS = "-L${pkgs.atlas}/lib -lf77blas -latlas";
PKG_LIBS = "-L${pkgs.openblasCompat}/lib -lopenblas";
});
gputools = old.gputools.overrideDerivation (attrs: {
@ -1087,6 +1087,7 @@ let
BayesLogit = old.BayesLogit.overrideDerivation (attrs: {
patches = [ ./patches/BayesLogit.patch ];
buildInputs = (attrs.buildInputs or []) ++ [ pkgs.openblasCompat ];
});
BayesBridge = old.BayesBridge.overrideDerivation (attrs: {

View File

@ -6,7 +6,7 @@ diff -ru -x '*~' BayesLogit_orig/src/Makevars BayesLogit/src/Makevars
OBJECTS = Matrix.o MatrixFrame.o RRNG.o RNG.o FSF_nmix.o LogitWrapper.o \
PolyaGamma.o PolyaGammaAlt.o PolyaGammaSP.o InvertY.o
-PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS)
+PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) -llapack -lf77blas -lcblas -latlas -lgfortran
+PKG_LIBS = $(BLAS_LIBS) $(FLIBS) $(LAPACK_LIBS) -lopenblas
# PKG_CPPFLAGS = -DUSE_R -DNDEBUG -DDISABLE_SINGLE -DNTHROW -Wall -pedantic -Wextra
PKG_CPPFLAGS = -DUSE_R -DNDEBUG -DDISABLE_SINGLE -DNTHROW

View File

@ -1,11 +1,13 @@
{ stdenv, fetchurl, cmake, llvmPackages_35 }:
{ stdenv, fetchurl, cmake, llvmPackages_36 }:
let version = "3.5"; in with llvmPackages_35;
stdenv.mkDerivation rec {
let
version = "0.4";
llvmPackages = llvmPackages_36;
in stdenv.mkDerivation rec {
name = "include-what-you-use-${version}";
src = fetchurl {
sha256 = "1wfl78wkg8m2ssjnkb2rwcqy35nhc8fa63mk3sa60jrshpy7b15w";
sha256 = "19pwhgwvfr86n8ks099p9r02v7zh8d3qs7g7snzkhpdgq1azww85";
url = "${meta.homepage}/downloads/${name}.src.tar.gz";
};
@ -19,14 +21,16 @@ stdenv.mkDerivation rec {
actually needed for this file (for both .cc and .h files), and by
replacing #includes with forward-declares when possible.
'';
homepage = http://include-what-you-use.com;
homepage = http://include-what-you-use.org;
license = licenses.bsd3;
platforms = with platforms; linux;
maintainers = with maintainers; [ nckx ];
};
buildInputs = [ clang cmake llvm ];
buildInputs = with llvmPackages; [ clang llvm ];
nativeBuildInputs = [ cmake ];
cmakeFlags = "-DIWYU_LLVM_ROOT_PATH=${llvmPackages.clang-unwrapped}";
cmakeFlags = [ "-DLLVM_PATH=${llvm}" ];
enableParallelBuilding = true;
}

View File

@ -0,0 +1,274 @@
--- cmake-3.2.2/Source/cmFileCommand.cxx 2015-04-13 19:09:00.000000000 +0200
+++ cmake-3.2.2/Source/ccmFileCommand.cxx 2015-06-10 11:02:27.345598700 +0200
@@ -1179,7 +1179,7 @@
MatchProperties CollectMatchProperties(const char* file)
{
// Match rules are case-insensitive on some platforms.
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
+#if defined(_WIN32) || defined(__APPLE__)
std::string lower = cmSystemTools::LowerCase(file);
const char* file_to_match = lower.c_str();
#else
--- cmake-3.2.2/Source/cmInstallCommand.cxx 2015-04-13 19:09:00.000000000 +0200
+++ cmake-3.2.2/Source/cmInstallCommand.cxx 2015-06-10 11:04:19.257935200 +0200
@@ -1138,7 +1138,7 @@
{
literal_args += " REGEX \"";
// Match rules are case-insensitive on some platforms.
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
+#if defined(_WIN32) || defined(__APPLE__)
std::string regex = cmSystemTools::LowerCase(args[i]);
#else
std::string regex = args[i];
--- cmake-3.2.2/Source/kwsys/Glob.cxx 2015-04-13 19:09:00.000000000 +0200
+++ cmake-3.2.2/Source/kwsys/Glob.cxx 2015-06-10 11:05:51.602674000 +0200
@@ -37,7 +37,7 @@
#include <string.h>
namespace KWSYS_NAMESPACE
{
-#if defined(_WIN32) || defined(__APPLE__) || defined(__CYGWIN__)
+#if defined(_WIN32) || defined(__APPLE__)
// On Windows and apple, no difference between lower and upper case
# define KWSYS_GLOB_CASE_INDEPENDENT
#endif
--- cmake-3.2.2/Source/kwsys/SystemInformation.cxx 2015-04-13 19:09:00.000000000 +0200
+++ cmake-3.2.2/Source/kwsys/SystemInformation.cxx 2015-06-10 11:13:00.308303500 +0200
@@ -911,7 +911,7 @@
// Hide implementation details in an anonymous namespace.
namespace {
// *****************************************************************************
-#if defined(__linux) || defined(__APPLE__)
+#if defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
int LoadLines(
FILE *file,
kwsys_stl::vector<kwsys_stl::string> &lines)
@@ -947,7 +947,7 @@
return nRead;
}
-# if defined(__linux)
+# if defined(__linux) || defined(__CYGWIN__)
// *****************************************************************************
int LoadLines(
const char *fileName,
@@ -986,7 +986,7 @@
}
#endif
-#if defined(__linux)
+#if defined(__linux) || defined(__CYGWIN__)
// ****************************************************************************
template<typename T>
int GetFieldsFromFile(
@@ -3132,7 +3132,6 @@
pos = buffer.find("processor\t",pos+1);
}
-#ifdef __linux
// Find the largest physical id.
int maxId = -1;
kwsys_stl::string idc =
@@ -3165,14 +3164,6 @@
atoi(this->ExtractValueFromCpuInfoFile(buffer,"ncpus active").c_str());
}
-#else // __CYGWIN__
- // does not have "physical id" entries, neither "cpu cores"
- // this has to be fixed for hyper-threading.
- kwsys_stl::string cpucount =
- this->ExtractValueFromCpuInfoFile(buffer,"cpu count");
- this->NumberOfPhysicalCPU=
- this->NumberOfLogicalCPU = atoi(cpucount.c_str());
-#endif
// gotta have one, and if this is 0 then we get a / by 0n
// better to have a bad answer than a crash
if(this->NumberOfPhysicalCPU <= 0)
@@ -3370,7 +3361,7 @@
GlobalMemoryStatusEx(&statex);
return statex.ullTotalPhys/1024;
# endif
-#elif defined(__linux)
+#elif defined(__linux) || defined(__CYGWIN__)
SystemInformation::LongLong memTotal=0;
int ierr=GetFieldFromFile("/proc/meminfo","MemTotal:",memTotal);
if (ierr)
@@ -3501,7 +3492,7 @@
GlobalMemoryStatusEx(&statex);
return (statex.ullTotalPhys - statex.ullAvailPhys)/1024;
# endif
-#elif defined(__linux)
+#elif defined(__linux) || defined(__CYGWIN__)
const char *names[3]={"MemTotal:","MemFree:",NULL};
SystemInformation::LongLong values[2]={SystemInformation::LongLong(0)};
int ierr=GetFieldsFromFile("/proc/meminfo",names,values);
@@ -3560,7 +3551,7 @@
return -2;
}
return pmc.WorkingSetSize/1024;
-#elif defined(__linux)
+#elif defined(__linux) || defined(__CYGWIN__)
SystemInformation::LongLong memUsed=0;
int ierr=GetFieldFromFile("/proc/self/status","VmRSS:",memUsed);
if (ierr)
@@ -3612,7 +3603,7 @@
{
#if defined(_WIN32)
return GetCurrentProcessId();
-#elif defined(__linux) || defined(__APPLE__)
+#elif defined(__linux) || defined(__APPLE__) || defined(__CYGWIN__)
return getpid();
#else
return -1;
--- cmake-3.2.2/Source/kwsys/SystemTools.cxx 2015-04-13 19:09:00.000000000 +0200
+++ cmake-3.2.2/Source/kwsys/SystemTools.cxx 2015-06-10 11:21:58.980443200 +0200
@@ -93,19 +93,12 @@
# if defined(_MSC_VER) && _MSC_VER >= 1800
# define KWSYS_WINDOWS_DEPRECATED_GetVersionEx
# endif
-#elif defined (__CYGWIN__)
-# include <windows.h>
-# undef _WIN32
#endif
#if !KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H
extern char **environ;
#endif
-#ifdef __CYGWIN__
-# include <sys/cygwin.h>
-#endif
-
// getpwnam doesn't exist on Windows and Cray Xt3/Catamount
// same for TIOCGWINSZ
#if defined(_WIN32) || defined (__LIBCATAMOUNT__)
@@ -1148,15 +1141,7 @@
{
return false;
}
-#if defined(__CYGWIN__)
- // Convert filename to native windows path if possible.
- char winpath[MAX_PATH];
- if(SystemTools::PathCygwinToWin32(filename.c_str(), winpath))
- {
- return (GetFileAttributesA(winpath) != INVALID_FILE_ATTRIBUTES);
- }
- return access(filename.c_str(), R_OK) == 0;
-#elif defined(_WIN32)
+#if defined(_WIN32)
return (GetFileAttributesW(
SystemTools::ConvertToWindowsExtendedPath(filename).c_str())
!= INVALID_FILE_ATTRIBUTES);
@@ -1190,28 +1175,6 @@
}
//----------------------------------------------------------------------------
-#ifdef __CYGWIN__
-bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path)
-{
- SystemToolsTranslationMap::iterator i =
- SystemTools::Cyg2Win32Map->find(path);
-
- if (i != SystemTools::Cyg2Win32Map->end())
- {
- strncpy(win32_path, i->second.c_str(), MAX_PATH);
- }
- else
- {
- if(cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, win32_path, MAX_PATH) != 0)
- {
- win32_path[0] = 0;
- }
- SystemToolsTranslationMap::value_type entry(path, win32_path);
- SystemTools::Cyg2Win32Map->insert(entry);
- }
- return win32_path[0] != 0;
-}
-#endif
bool SystemTools::Touch(const kwsys_stl::string& filename, bool create)
{
@@ -4307,7 +4270,7 @@
bool SystemTools::FileIsFullPath(const char* in_name, size_t len)
{
-#if defined(_WIN32) || defined(__CYGWIN__)
+#if defined(_WIN32)
// On Windows, the name must be at least two characters long.
if(len < 2)
{
@@ -5078,9 +5041,6 @@
static unsigned int SystemToolsManagerCount;
SystemToolsTranslationMap *SystemTools::TranslationMap;
SystemToolsTranslationMap *SystemTools::LongPathMap;
-#ifdef __CYGWIN__
-SystemToolsTranslationMap *SystemTools::Cyg2Win32Map;
-#endif
// SystemToolsManager manages the SystemTools singleton.
// SystemToolsManager should be included in any translation unit
@@ -5126,9 +5086,6 @@
// Allocate the translation map first.
SystemTools::TranslationMap = new SystemToolsTranslationMap;
SystemTools::LongPathMap = new SystemToolsTranslationMap;
-#ifdef __CYGWIN__
- SystemTools::Cyg2Win32Map = new SystemToolsTranslationMap;
-#endif
// Add some special translation paths for unix. These are not added
// for windows because drive letters need to be maintained. Also,
@@ -5183,9 +5140,6 @@
{
delete SystemTools::TranslationMap;
delete SystemTools::LongPathMap;
-#ifdef __CYGWIN__
- delete SystemTools::Cyg2Win32Map;
-#endif
}
--- cmake-3.2.2/Source/kwsys/SystemTools.hxx.in 2015-04-13 19:09:00.000000000 +0200
+++ cmake-3.2.2/Source/kwsys/SystemTools.hxx.in 2015-06-10 11:24:24.271286600 +0200
@@ -298,15 +298,6 @@
static bool FileExists(const kwsys_stl::string& filename);
/**
- * Converts Cygwin path to Win32 path. Uses dictionary container for
- * caching and calls to cygwin_conv_to_win32_path from Cygwin dll
- * for actual translation. Returns true on success, else false.
- */
-#ifdef __CYGWIN__
- static bool PathCygwinToWin32(const char *path, char *win32_path);
-#endif
-
- /**
* Return file length
*/
static unsigned long FileLength(const kwsys_stl::string& filename);
@@ -942,9 +933,6 @@
*/
static SystemToolsTranslationMap *TranslationMap;
static SystemToolsTranslationMap *LongPathMap;
-#ifdef __CYGWIN__
- static SystemToolsTranslationMap *Cyg2Win32Map;
-#endif
friend class SystemToolsManager;
};
--- cmake-3.2.2/Modules/FindCurses.cmake 2015-04-13 19:09:00.000000000 +0200
+++ cmake-3.2.2/Modules/FindCurses.cmake 2015-06-10 12:10:19.682030300 +0200
@@ -60,15 +60,6 @@
if(CURSES_NCURSES_LIBRARY AND ((NOT CURSES_CURSES_LIBRARY) OR CURSES_NEED_NCURSES))
set(CURSES_USE_NCURSES TRUE)
endif()
-# http://cygwin.com/ml/cygwin-announce/2010-01/msg00002.html
-# cygwin ncurses stopped providing curses.h symlinks see above
-# message. Cygwin is an ncurses package, so force ncurses on
-# cygwin if the curses.h is missing
-if(CYGWIN)
- if(NOT EXISTS /usr/include/curses.h)
- set(CURSES_USE_NCURSES TRUE)
- endif()
-endif()
# Not sure the logic is correct here.

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