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

This commit is contained in:
Tuomas Tynkkynen 2017-12-26 21:10:12 +02:00
commit 47c782f7f5
122 changed files with 2823 additions and 1417 deletions

View File

@ -581,8 +581,8 @@ nix-shell "<nixpkgs>" -A haskellPackages.bar.env
Every Haskell package set takes a function called `overrides` that you can use
to manipulate the package as much as you please. One useful application of this
feature is to replace the default `mkDerivation` function with one that enables
library profiling for all packages. To accomplish that, add configure the
following snippet in your `~/.config/nixpkgs/config.nix` file:
library profiling for all packages. To accomplish that add the following
snippet to your `~/.config/nixpkgs/config.nix` file:
```nix
{
packageOverrides = super: let self = super.pkgs; in

View File

@ -1,10 +1,10 @@
---
title: stdenv.mkShell
title: pkgs.mkShell
author: zimbatm
date: 2017-10-30
---
stdenv.mkShell is a special kind of derivation that is only useful when using
pkgs.mkShell is a special kind of derivation that is only useful when using
it combined with nix-shell. It will in fact fail to instantiate when invoked
with nix-build.

View File

@ -71,6 +71,7 @@
./programs/bcc.nix
./programs/blcr.nix
./programs/browserpass.nix
./programs/ccache.nix
./programs/cdemu.nix
./programs/chromium.nix
./programs/command-not-found/command-not-found.nix
@ -91,6 +92,7 @@
./programs/npm.nix
./programs/oblogout.nix
./programs/qt5ct.nix
./programs/rootston.nix
./programs/screen.nix
./programs/slock.nix
./programs/shadow.nix

View File

@ -0,0 +1,83 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs.ccache;
in {
options.programs.ccache = {
# host configuration
enable = mkEnableOption "CCache";
cacheDir = mkOption {
type = types.path;
description = "CCache directory";
default = "/var/cache/ccache";
};
# target configuration
packageNames = mkOption {
type = types.listOf types.str;
description = "Nix top-level packages to be compiled using CCache";
default = [];
example = [ "wxGTK30" "qt48" "ffmpeg_3_3" "libav_all" ];
};
};
config = mkMerge [
# host configuration
(mkIf cfg.enable {
systemd.tmpfiles.rules = [ "d ${cfg.cacheDir} 0770 root nixbld -" ];
# "nix-ccache --show-stats" and "nix-ccache --clear"
security.wrappers.nix-ccache = {
group = "nixbld";
setgid = true;
source = pkgs.writeScript "nix-ccache.pl" ''
#!${pkgs.perl}/bin/perl
%ENV=( CCACHE_DIR => '${cfg.cacheDir}' );
sub untaint {
my $v = shift;
return '-C' if $v eq '-C' || $v eq '--clear';
return '-V' if $v eq '-V' || $v eq '--version';
return '-s' if $v eq '-s' || $v eq '--show-stats';
return '-z' if $v eq '-z' || $v eq '--zero-stats';
exec('${pkgs.ccache}/bin/ccache', '-h');
}
exec('${pkgs.ccache}/bin/ccache', map { untaint $_ } @ARGV);
'';
};
})
# target configuration
(mkIf (cfg.packageNames != []) {
nixpkgs.overlays = [
(self: super: genAttrs cfg.packageNames (pn: super.${pn}.override { stdenv = builtins.trace "with ccache: ${pn}" self.ccacheStdenv; }))
(self: super: {
ccacheWrapper = super.ccacheWrapper.override {
extraConfig = ''
export CCACHE_COMPRESS=1
export CCACHE_DIR="${cfg.cacheDir}"
export CCACHE_UMASK=007
if [ ! -d "$CCACHE_DIR" ]; then
echo "====="
echo "Directory '$CCACHE_DIR' does not exist"
echo "Please create it with:"
echo " sudo mkdir -m0770 '$CCACHE_DIR'"
echo " sudo chown root:nixbld '$CCACHE_DIR'"
echo "====="
exit 1
fi
if [ ! -w "$CCACHE_DIR" ]; then
echo "====="
echo "Directory '$CCACHE_DIR' is not accessible for user $(whoami)"
echo "Please verify its access permissions"
echo "====="
exit 1
fi
'';
};
})
];
})
];
}

View File

@ -0,0 +1,88 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs.rootston;
rootstonWrapped = pkgs.writeScriptBin "rootston" ''
#! ${pkgs.stdenv.shell}
if [[ "$#" -ge 1 ]]; then
exec ${pkgs.rootston}/bin/rootston "$@"
else
exec ${pkgs.rootston}/bin/rootston -C ${cfg.configFile}
fi
'';
in {
options.programs.rootston = {
enable = mkEnableOption ''
rootston, the reference compositor for wlroots. The purpose of rootston
is to test and demonstrate the features of wlroots (if you want a real
Wayland compositor you should e.g. use Sway instead). You can manually
start the compositor by running "rootston" from a terminal'';
extraPackages = mkOption {
type = with types; listOf package;
default = with pkgs; [
xwayland rxvt_unicode dmenu
];
defaultText = literalExample ''
with pkgs; [
xwayland dmenu rxvt_unicode
]
'';
example = literalExample "[ ]";
description = ''
Extra packages to be installed system wide.
'';
};
config = mkOption {
type = types.str;
default = ''
[keyboard]
meta-key = Logo
# Sway/i3 like Keybindings
# Maps key combinations with commands to execute
# Commands include:
# - "exit" to stop the compositor
# - "exec" to execute a shell command
# - "close" to close the current view
# - "next_window" to cycle through windows
[bindings]
Logo+Shift+e = exit
Logo+q = close
Logo+m = maximize
Alt+Tab = next_window
Logo+Return = exec urxvt
# Note: Dmenu will only work properly while e.g. urxvt is running.
Logo+d = exec dmenu_run
'';
description = ''
Default configuration for rootston (used when called without any
parameters).
'';
};
configFile = mkOption {
type = types.path;
default = "/etc/rootston.ini";
example = literalExample "${pkgs.rootston}/etc/rootston.ini";
description = ''
Path to the default rootston configuration file (the "config" option
will have no effect if you change the path).
'';
};
};
config = mkIf cfg.enable {
environment.etc."rootston.ini".text = cfg.config;
environment.systemPackages = [ rootstonWrapped ] ++ cfg.extraPackages;
hardware.opengl.enable = mkDefault true;
fonts.enableDefaultFonts = mkDefault true;
};
meta.maintainers = with lib.maintainers; [ primeos ];
}

View File

@ -4,35 +4,42 @@ with lib;
let
cfg = config.programs.sway;
sway = pkgs.sway;
swayPackage = pkgs.sway;
swayWrapped = pkgs.writeShellScriptBin "sway" ''
if [ "$1" != "" ]; then
sway-setcap "$@"
exit
if [[ "$#" -ge 1 ]]; then
exec sway-setcap "$@"
else
${cfg.extraSessionCommands}
exec ${pkgs.dbus.dbus-launch} --exit-with-session sway-setcap
fi
${cfg.extraSessionCommands}
exec ${pkgs.dbus.dbus-launch} --exit-with-session sway-setcap
'';
swayJoined = pkgs.symlinkJoin {
name = "sway-wrapped";
paths = [ swayWrapped sway ];
name = "sway-joined";
paths = [ swayWrapped swayPackage ];
};
in
{
in {
options.programs.sway = {
enable = mkEnableOption "sway";
enable = mkEnableOption ''
the tiling Wayland compositor Sway. After adding yourself to the "sway"
group you can manually launch Sway by executing "sway" from a terminal.
If you call "sway" with any parameters the extraSessionCommands won't be
executed and Sway won't be launched with dbus-launch'';
extraSessionCommands = mkOption {
default = "";
type = types.lines;
type = types.lines;
default = "";
example = ''
export XKB_DEFAULT_LAYOUT=us,de
export XKB_DEFAULT_VARIANT=,nodeadkeys
export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,
# Define a keymap (US QWERTY is the default)
export XKB_DEFAULT_LAYOUT=de,us
export XKB_DEFAULT_VARIANT=nodeadkeys
export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:escape
# Change the Keyboard repeat delay and rate
export WLC_REPEAT_DELAY=660
export WLC_REPEAT_RATE=25
'';
description = ''
Shell commands executed just before sway is started.
Shell commands executed just before Sway is started.
'';
};
@ -41,9 +48,12 @@ in
default = with pkgs; [
i3status xwayland rxvt_unicode dmenu
];
defaultText = literalExample ''
with pkgs; [ i3status xwayland rxvt_unicode dmenu ];
'';
example = literalExample ''
with pkgs; [
i3status xwayland rxvt_unicode dmenu
i3lock light termite
]
'';
description = ''
@ -56,7 +66,7 @@ in
environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages;
security.wrappers.sway = {
program = "sway-setcap";
source = "${sway}/bin/sway";
source = "${swayPackage}/bin/sway";
capabilities = "cap_sys_ptrace,cap_sys_tty_config=eip";
owner = "root";
group = "sway";
@ -70,4 +80,6 @@ in
fonts.enableDefaultFonts = mkDefault true;
programs.dconf.enable = mkDefault true;
};
meta.maintainers = with lib.maintainers; [ gnidorah primeos ];
}

View File

@ -55,7 +55,7 @@ in {
enable = mkOption {
default = false;
description = ''
Whether to enable thinkfan, fan controller for ibm/lenovo thinkpads.
Whether to enable thinkfan, fan controller for IBM/Lenovo ThinkPads.
'';
};

View File

@ -248,7 +248,6 @@ in {
databasePassword = mkOption {
type = types.str;
default = "";
description = "Gitlab database user password.";
};
@ -440,12 +439,6 @@ in {
environment.systemPackages = [ pkgs.git gitlab-rake cfg.packages.gitlab-shell ];
assertions = [
{ assertion = cfg.databasePassword != "";
message = "databasePassword must be set";
}
];
# Redis is required for the sidekiq queue runner.
services.redis.enable = mkDefault true;
# We use postgres as the main data store.

View File

@ -248,13 +248,10 @@ in
let
service =
{ description = "SSH Daemon";
wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target";
after = [ "network.target" ];
stopIfChanged = false;
path = [ cfgc.package pkgs.gawk ];
environment.LD_LIBRARY_PATH = nssModulesPath;
preStart =

View File

@ -47,7 +47,7 @@ in
export GTK_DATA_PREFIX=${config.system.path}
# find theme engines
export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
export XDG_MENU_PREFIX=enlightenment
export XDG_MENU_PREFIX=e-
export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}"

View File

@ -136,7 +136,7 @@ in {
# find theme engines
export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
export XDG_MENU_PREFIX=gnome
export XDG_MENU_PREFIX=gnome-
${concatMapStrings (p: ''
if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then

View File

@ -47,7 +47,7 @@ in
# Find theme engines
export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
export XDG_MENU_PREFIX=mate
export XDG_MENU_PREFIX=mate-
# Find the mouse
export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons

View File

@ -109,9 +109,6 @@ let
} ''
${pkgs.parted}/sbin/parted --script /dev/vda mklabel msdos
${pkgs.parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s
. /sys/class/block/vda1/uevent
mknod /dev/vda1 b $MAJOR $MINOR
${pkgs.e2fsprogs}/sbin/mkfs.ext4 /dev/vda1
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
mkdir /mnt

View File

@ -2,22 +2,30 @@
stdenv.mkDerivation rec {
name = "qsynth-${version}";
version = "0.4.4";
version = "0.5.0";
src = fetchurl {
url = "mirror://sourceforge/qsynth/${name}.tar.gz";
sha256 = "0qhfnikx3xcllkvs60kj6vcf2rwwzh31y41qkk6kwfhzgd219y8f";
sha256 = "1sr6vrz8z9r99j9xcix86lgcqldragb2ajmq1bnhr58d99sda584";
};
# cmake is looking for qsynth.desktop.in and fails if it doesn't find it
# seems like a bug and can presumable go in the next version after 0.5.0
postPatch = ''
mv src/qsynth.desktop src/qsynth.desktop.in
'';
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Fluidsynth GUI";
homepage = https://sourceforge.net/projects/qsynth;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ goibhniu ];
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -11,12 +11,12 @@
assert stdenv ? glibc;
stdenv.mkDerivation rec {
version = "2.2.5";
version = "2.4.0";
name = "darktable-${version}";
src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "10gjzd4irxhladh4jyss9kgp627k8vgx2divipsb33pp6cms80z3";
sha256 = "0y0q7a7k09sbg05k5xl1lz8n2ak1v8yarfv222ksvmbrxs53hdwx";
};
buildInputs =
@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
homepage = https://www.darktable.org;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu maintainers.rickynils maintainers.flosse ];
maintainers = with maintainers; [ goibhniu rickynils flosse mrVanDalo ];
};
}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf
, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
, python2Packages, libart_lgpl, libexif, gettext, xorg
, python2Packages, libexif, gettext, xorg
, AppKit, Cocoa, gtk-mac-integration }:
let
@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
[ pkgconfig intltool babl gegl gtk2 glib gdk_pixbuf pango cairo
freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
libmng librsvg libwmf zlib libzip ghostscript aalib jasper
python pygtk libart_lgpl libexif gettext xorg.libXpm
python pygtk libexif gettext xorg.libXpm
wrapPython
]
++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ];

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, pkgs, python3Packages, glfw, libunistring, harfbuzz, fontconfig, zlib, pkgconfig, ncurses, imagemagick, makeWrapper, xsel, libstartup_notification }:
{ stdenv, fetchFromGitHub, pkgs, python3Packages, glfw, libunistring, harfbuzz, fontconfig, zlib, pkgconfig, ncurses, imagemagick, makeWrapper, xsel, libstartup_notification, libX11, libXrandr, libXinerama, libXcursor, libxkbcommon, libXi, libXext }:
with python3Packages;
buildPythonApplication rec {
version = "0.5.1";
version = "0.6.0";
name = "kitty-${version}";
format = "other";
@ -10,10 +10,10 @@ buildPythonApplication rec {
owner = "kovidgoyal";
repo = "kitty";
rev = "v${version}";
sha256 = "0zs5b1sxi2f1lgpjs1qvd15gz6m1wfpyqskyyr0vmm4ch3rgp5zz";
sha256 = "1p86gry91m4kicy79fc1qfr0hcsd5xnvxzmm4q956x883h6h766r";
};
buildInputs = [ fontconfig glfw ncurses libunistring harfbuzz ];
buildInputs = [ fontconfig glfw ncurses libunistring harfbuzz libX11 libXrandr libXinerama libXcursor libxkbcommon libXi libXext ];
nativeBuildInputs = [ pkgconfig ];
@ -38,6 +38,7 @@ buildPythonApplication rec {
homepage = https://github.com/kovidgoyal/kitty;
description = "A modern, hackable, featureful, OpenGL based terminal emulator";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ tex ];
};
}

View File

@ -0,0 +1,50 @@
{ stdenv, fetchFromGitHub,
autoconf, automake, libtool, cmake,
rtl-sdr, libao, fftwFloat
} :
let
src_faad2 = fetchFromGitHub {
owner = "dsvensson";
repo = "faad2";
rev = "b7aa099fd3220b71180ed2b0bc19dc6209a1b418";
sha256 = "0pcw2x9rjgkf5g6irql1j4m5xjb4lxj6468z8v603921bnir71mf";
};
in stdenv.mkDerivation {
name = "nrsc5-20171129";
src = fetchFromGitHub {
owner = "theori-io";
repo = "nrsc5";
rev = "f87beeed96f12ce6aa4789ac1d45761cec28d2db";
sha256 = "03d5k59125qrjsm1naj9pd0nfzwi008l9n30p9q4g5abgqi5nc8v";
};
postUnpack = ''
export srcRoot=`pwd`
export faadSrc="$srcRoot/faad2-prefix/src/faad2_external"
mkdir -p $faadSrc
cp -r ${src_faad2}/* $faadSrc
chmod -R u+w $faadSrc
'';
postPatch = ''
sed -i '/GIT_REPOSITORY/d' CMakeLists.txt
sed -i '/GIT_TAG/d' CMakeLists.txt
sed -i "s:set (FAAD2_PREFIX .*):set (FAAD2_PREFIX \"$srcRoot/faad2-prefix\"):" CMakeLists.txt
'';
nativeBuildInputs = [ cmake autoconf automake libtool ];
buildInputs = [ rtl-sdr libao fftwFloat ];
cmakeFlags = [ "-DUSE_COLOR=ON" "-DUSE_FAAD2=ON" ];
meta = with stdenv.lib; {
homepage = https://github.com/theori-io/nrsc5;
description = "HD-Radio decoder for RTL-SDR";
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl3;
maintainers = with maintainers; [ markuskowa ];
};
}

View File

@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
makeFlags = [
"PREFIX=$(out)"
"RSTTOMAN=${docutils}/bin/rst2man.py"
"VERBOSE=1"
"TPUT=${ncurses.out}/bin/tput"
(optionalString synctexSupport "WITH_SYNCTEX=1")

View File

@ -1,28 +1,34 @@
{ stdenv, fetchurl, libtoxcore
{ stdenv, fetchgit, libtoxcore
, conf ? null }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "ratox-0.2.1";
let
configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
in
src = fetchurl {
url = "http://git.2f30.org/ratox/snapshot/${name}.tar.gz";
sha256 = "0xnw3zcz9frmcxqhwg38hhnsy1g5xl9yc19nl0vwi5awz8wqqy19";
stdenv.mkDerivation rec {
name = "ratox-0.4";
src = fetchgit {
url = "git://git.2f30.org/ratox.git";
rev = "0db821b7bd566f6cfdc0cc5a7bbcc3e5e92adb4c";
sha256 = "0wmf8hydbcq4bkpsld9vnqw4zfzf3f04vhgwy17nd4p5p389fbl5";
};
patches = [ ./ldlibs.patch ];
buildInputs = [ libtoxcore ];
configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
preConfigure = optionalString (conf!=null) "cp ${configFile} config.def.h";
preBuild = "makeFlags=PREFIX=$out";
makeFlags = [ "PREFIX=$(out)" ];
meta =
{ description = "FIFO based tox client";
homepage = http://ratox.2f30.org/;
license = licenses.isc;
maintainers = with maintainers; [ ehmry ];
platforms = platforms.linux;
};
meta = {
description = "FIFO based tox client";
homepage = http://ratox.2f30.org/;
license = licenses.isc;
maintainers = with maintainers; [ ehmry ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,5 @@
--- a/config.mk
+++ b/config.mk
@@ -13 +13 @@ LDFLAGS = -L/usr/local/lib
-LDLIBS = -ltoxcore -ltoxav -ltoxencryptsave -lsodium -lopus -lvpx -lm -lpthread
+LDLIBS = -ltoxcore -ltoxav -ltoxencryptsave -lm -lpthread

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "rclone-${version}";
version = "1.38";
version = "1.39";
goPackagePath = "github.com/ncw/rclone";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "ncw";
repo = "rclone";
rev = "v${version}";
sha256 = "0f56qm4lz55anzqf6dmjfywmvqy10zi5cl69zz8lda8lmvrpjm1d";
sha256 = "1x9qxhqkbyd7kd52ai9p996ppslh73xarn5w4ljaa97wwm5vwwsg";
};
outputs = [ "bin" "out" "man" ];

View File

@ -1,14 +1,14 @@
{ stdenv, lib, fetchFromGitHub, go, procps, removeReferencesTo }:
stdenv.mkDerivation rec {
version = "0.14.41";
version = "0.14.42";
name = "syncthing-${version}";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
sha256 = "1hcy4rxdyvwrpm480j5a4injkkdaqkixmbdy9blkq5i2fwv377yn";
sha256 = "1n3favv94wj1fr7x9av523fgm12b0kjlrmifa25wg2p6z10vwbqf";
};
buildInputs = [ go removeReferencesTo ];

View File

@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
];
postPatch = ''
substituteInPlace Makefile --replace rst2man rst2man.py
patchShebangs .
'';

View File

@ -14,12 +14,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "man" ];
buildInputs = [ docutils makeWrapper ];
# The install.sh script expects rst2man, but here it's named rst2man.py
patchPhase = ''
sed -i 's/rst2man/rst2man.py/g' install.sh
'';
nativeBuildInputs = [ docutils makeWrapper ];
installPhase = ''
prefix="$out" ./install.sh

View File

@ -4,14 +4,14 @@
stdenv.mkDerivation rec {
pname = "tig";
version = "2.3.0";
version = "2.3.2";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "jonas";
repo = pname;
rev = name;
sha256 = "04qw3fyamm1lka9vh7adrkr2mcnwcch9ya5sph51jx6d4jz1lih5";
sha256 = "14cdlrdxbl8vzqw86fm3wyaixh607z47shc4dwd6rd9vj05w0m97";
};
nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkgconfig ];

View File

@ -1,20 +1,52 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook }:
, autoreconfHook
, gnutar
, which
, gnugrep
, coreutils
, python
, e2fsprogs
, makeWrapper
, squashfsTools
, gzip
, gnused
, curl
, utillinux
}:
stdenv.mkDerivation rec {
name = "singularity-${version}";
version = "2.2";
version = "2.4";
enableParallelBuilding = true;
patches = [ ./env.patch ];
preConfigure = ''
sed -i 's/-static//g' src/Makefile.am
patchShebangs .
'';
fixupPhase = ''
patchShebangs $out
for f in $out/libexec/singularity/helpers/help.sh $out/libexec/singularity/cli/*.exec $out/libexec/singularity/bootstrap-scripts/*.sh ; do
chmod a+x $f
sed -i 's| /sbin/| |g' $f
sed -i 's| /bin/bash| ${stdenv.shell}|g' $f
wrapProgram $f --prefix PATH : ${stdenv.lib.makeBinPath buildInputs}
done
'';
src = fetchFromGitHub {
owner = "singularityware";
repo = "singularity";
rev = version;
sha256 = "19g43gfdy5s8y4252474cp39d6ypn5dd37wp0s21fgd13vqy26px";
sha256 = "1hi1ag1lb2x4djbz4x34wix83ymx0g9mzn2md6yrpiflc1d85rjz";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ ];
nativeBuildInputs = [ autoreconfHook makeWrapper ];
buildInputs = [ coreutils gnugrep python e2fsprogs which gnutar squashfsTools gzip gnused curl utillinux ];
meta = with stdenv.lib; {
homepage = http://singularity.lbl.gov/;

View File

@ -0,0 +1,21 @@
diff --git a/libexec/functions b/libexec/functions
index bc68107..6c2211c 100644
--- a/libexec/functions
+++ b/libexec/functions
@@ -29,16 +29,6 @@ if [ -z "${SINGULARITY_MESSAGELEVEL:-}" ]; then
SINGULARITY_MESSAGELEVEL=5
fi
-if [ -z "${USER:-}" ]; then
- USER=`id -un`
- export USER
-fi
-if [ -z "${HOME:-}" ]; then
- HOME=`getent passwd "$USER" | cut -d : -f 6`
- export HOME
-fi
-
-
message() {
LEVEL="${1:-}"
MESSAGE="${2:-}"

View File

@ -20,10 +20,11 @@ let
python = python2;
buildType = "release";
# Manually sha256sum the extensionPack file, must be hex!
extpack = "9328548ca8cbc526232c0631cb5a17618c771b07665b362c1e3d89a2425bf799";
extpackRev = "119230";
main = "05y03fcp013gc500q34bj6hvx1banib41v8l3hcxknzfgwq0rarm";
version = "5.2.2";
# Do not forget to update the hash in ./guest-additions/default.nix!
extpack = "98e9df4f23212c3de827af9d770b391cf2dba8d21f4de597145512c1479302cd";
extpackRev = "119785";
main = "053xpf0kxrig4jq5djfz9drhkxy1x5a4p9qvgxc0b3hnk6yn1869";
version = "5.2.4";
# See https://github.com/NixOS/nixpkgs/issues/672 for details
extensionPack = requireFile rec {
@ -205,8 +206,9 @@ in stdenv.mkDerivation {
meta = {
description = "PC emulator";
license = licenses.gpl2;
homepage = http://www.virtualbox.org/;
maintainers = [ lib.maintainers.sander ];
maintainers = with maintainers; [ flokli sander ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "1f0vm20qdjxqsbciwgybxqqpn609gj5dy68an8lpi1wlk93s05w3";
sha256 = "0qhsr6vc48ld2p9q3a6n6rfg57rsn163axr3r1m2yqr2snr4pnk0";
};
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";

View File

@ -22,11 +22,7 @@ if test -z "$LC_ALL"; then
export LC_ALL="en_US.UTF-8"
fi;
# Pipe the "p" character into Subversion to force it to accept the
# server's certificate. This is perfectly safe: we don't care
# whether the server is being spoofed --- only the cryptographic
# hash of the output matters. Pass in extra p's to handle redirects.
printf 'p\np\np\n' | svn export --trust-server-cert --non-interactive \
svn export --trust-server-cert --non-interactive \
${ignoreExternals:+--ignore-externals} ${ignoreKeywords:+--ignore-keywords} \
-r "$rev" "$url" "$out"

View File

@ -61,6 +61,7 @@ rec {
mkfs -t ext3 -b 4096 /dev/${vmTools.hd}
mount /dev/${vmTools.hd} disk
cd disk
mkdir proc sys dev
# Run root script
${stdenv.lib.optionalString (runAsRoot != null) ''
@ -92,8 +93,10 @@ rec {
cd disk
export PATH=$PATH:${e2fsprogs}/bin/
singularity create -s $((1 + size * 4 / 1024 + ${toString extraSpace})) $out
tar -c . | singularity import $out
echo creating
singularity image.create -s $((1 + size * 4 / 1024 + ${toString extraSpace})) $out
echo importing
tar -c . | singularity image.import $out
'');
in result;

View File

@ -39,13 +39,13 @@ if [ "$oldVersion" = "$newVersion" ]; then
exit 0
fi
# Escape dots, there should not be any other regex characters allowed in store path names
oldVersion=$(echo "$oldVersion" | sed -re 's|\.|\\.|g')
# Escape regex metacharacter that are allowed in store path names
oldVersion=$(echo "$oldVersion" | sed -re 's|[.+]|\\&|g')
if [ $(grep -c -E "^\s*(let\b)?\s*version\s+=\s+\"$oldVersion\"" "$nixFile") = 1 ]; then
if [ $(grep -c -E "^\s*(let\b)?\s*version\s*=\s*\"$oldVersion\"" "$nixFile") = 1 ]; then
pattern="/\bversion\b\s*=/ s|\"$oldVersion\"|\"$newVersion\"|"
elif [ $(grep -c -E "^\s*(let\b)?\s*name\s+=\s+\"$drvName-$oldVersion\"" "$nixFile") = 1 ]; then
pattern="/\bname\b\s*=/ s|\"$drvName-$oldVersion\"|\"$drvName-$newVersion\"|"
elif [ $(grep -c -E "^\s*(let\b)?\s*name\s*=\s*\"[^\"]+-$oldVersion\"" "$nixFile") = 1 ]; then
pattern="/\bname\b\s*=/ s|-$oldVersion\"|-$newVersion\"|"
else
die "Couldn't figure out where out where to patch in new version in '$attr'!"
fi
@ -74,7 +74,7 @@ fi
if [ -z "$newHash" ]; then
nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true
# FIXME: use nix-build --hash here once https://github.com/NixOS/nix/issues/1172 is fixed
newHash=$(tail -n2 "$attr.fetchlog" | grep "output path .* has .* hash .* when .* was expected" | head -n1 | tr -dc '\040-\177' | awk '{ print $(NF-4) }')
newHash=$(egrep -v "killing process|dependencies couldn't be built" "$attr.fetchlog" | tail -n2 | grep "output path .* has .* hash .* when .* was expected" | head -n1 | tr -dc '\040-\177' | tr -d "'" | awk '{ print $(NF-4) }')
fi
if [ -z "$newHash" ]; then
@ -82,6 +82,11 @@ if [ -z "$newHash" ]; then
die "Couldn't figure out new hash of '$attr.src'!"
fi
if [ "$oldVersion" != "$newVersion" ] && [ "$oldHash" = "$newHash" ]; then
mv "$nixFile.bak" "$nixFile"
die "Both the old and new source hashes of '$attr.src' were equivalent. Please fix the package's source URL to be dependent on '\${version}'!"
fi
sed -i "$nixFile" -re "s|\"$tempHash\"|\"$newHash\"|"
if cmp -s "$nixFile" "$nixFile.bak"; then
die "Failed to replace temporary source hash of '$attr' to the final source hash!"

View File

@ -0,0 +1,25 @@
{ lib, fetchFromGitHub }:
let version = "0.5.3";
in fetchFromGitHub rec {
name = "ibm-plex-${version}";
owner = "IBM";
repo = "type";
rev = "v${version}";
sha256 = "1im7sid3qsk4wnm0yhq9h7i50bz46jksqxv60svdfnsrwq0krd1h";
postFetch = ''
tar --strip-components=1 -xzvf $downloadedFile
mkdir -p $out/share/fonts/opentype
cp fonts/*/desktop/mac/*.otf $out/share/fonts/opentype/
'';
meta = with lib; {
description = "IBM Plex Typeface";
homepage = https://ibm.github.io/type/;
license = licenses.ofl;
platforms = platforms.all;
maintainers = [ maintainers.romildo ];
};
}

View File

@ -0,0 +1,101 @@
{stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "scowl";
version = "2017.08.24";
src = fetchFromGitHub {
owner = "en-wl";
repo = "wordlist";
rev = "rel-${version}";
sha256 = "16mgk6scbw8i38g63kh60bsnzgzfs8gvvz2n5jh4x5didbwly8nz";
};
buildInputs = [];
nativeBuildInputs = [unzip zip perl aspell dos2unix];
NIX_CFLAGS_COMPILE = " -Wno-narrowing ";
preConfigure = ''
patchShebangs .
export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$PWD/varcon"
'';
postBuild = ''
(
cd scowl/speller
make aspell
make hunspell
)
'';
enableParallelBuilding = false;
installPhase = ''
eval "$preInstall"
mkdir -p "$out/share/scowl"
mkdir -p "$out/lib" "$out/share/hunspell" "$out/share/myspell"
mkdir -p "$out/share/dict"
cp -r scowl/speller/aspell "$out/lib/aspell"
cp scowl/speller/*.{aff,dic} "$out/share/hunspell"
ln -s "$out/share/hunspell" "$out/share/myspell/dicts"
cp scowl/final/* "$out/share/scowl"
(
cd scowl
for region in american british british_s british_z canadian australian; do
case $region in
american)
regcode=en-us;
;;
british)
regcode=en-gb-ise;
;;
british_s)
regcode=en-gb-ise;
;;
british_z)
regcode=en-gb-ize;
;;
canadian)
regcode=en-ca;
;;
australian)
regcode=en-au;
;;
esac
regcode_var="$regcode"
if test "$region" = british; then
regcode_var="en-gb"
fi
echo $region $regcode $regcode_sz
for s in 10 20 30 35 40 50 55 60 70 80 90; do
./mk-list $regcode $s > "$out/share/dict/w$region.$s"
./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s"
./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s"
done
./mk-list $regcode 60 > "$out/share/dict/w$region.txt"
./mk-list --variants=1 $regcode_var 60 > "$out/share/dict/w$region.variants.txt"
./mk-list --variants=2 $regcode_var 80 > "$out/share/dict/w$region.scrabble.txt"
done
./mk-list --variants=1 en-gb 60 > "$out/share/dict/words.variants.txt"
./mk-list --variants=1 en-gb 80 > "$out/share/dict/words.scrabble.txt"
./mk-list en-gb-ise 60 > "$out/share/dict/words.txt"
)
eval "$postInstall"
'';
meta = {
inherit version;
description = "Spell checker oriented word lists";
license = stdenv.lib.licenses.mit;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.unix;
homepage = "http://wordlist.aspell.net/";
};
}

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "caja-extensions-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "1";
minor-ver = "2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw";
sha256 = "065j3dyk7zp35rfvxxsdglx30i3xrma4d4saf7mn1rn1akdfgaba";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "caja-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "3";
minor-ver = "5";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0mljqcx7k8p27854zm7qzzn8ca6hs7hva9p43hp4p507z52caqmm";
sha256 = "1ild2bslvnvxvl5q2xc1sa8bz1lyr4q4ksw3bwxrj0ymc16h7p50";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "engrampa-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "2";
minor-ver = "3";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0d98zhqqc7qdnxcf0195kd04xmhijc0w2qrn6q61zd0daiswnv98";
sha256 = "1ms6kz8k86hsj9zk5w3087l749022y0j5ba2s9hz8ah6gfx0mvn5";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "eom-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "2";
minor-ver = "3";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "00ns7g7qykakc89lijrw2vwy9x9ijqiyvmnd4sw0j6py90zs8m87";
sha256 = "1zr85ilv0f4x8iky002qvh00qhsq1vsfm5z1954gf31hi57z2j25";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "libmateweather-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "1";
minor-ver = "2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0z6vfh42fv9rqjrraqfpf6h9nd9h662bxy3l3r48j19xvxrwmx3a";
sha256 = "1q3rvmm533cgiif9hbdp6a92dm727g5i2dv5d8krfa0nl36i468y";
};
nativeBuildInputs = [ pkgconfig intltool ];

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "marco-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "1";
minor-ver = "2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0lwbp9wyd66hl5d7g272l8g3k1pb9s4s2p9fb04750a58w87d8k5";
sha256 = "173g9mrnkcgjc6a1maln13iqdl0cqcnca8ydr8767xrn9dlkx9f5";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "mate-media-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "0";
minor-ver = "2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0v19aipqj24367mx82ghkvgnxy1505zd35h50pi30fws36b6plll";
sha256 = "07v37jvrl8m5rhlasrdziwy15gcpn561d7zn5q1yfla2d5ddy0b1";
};
buildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "mate-menus-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "0";
minor-ver = "1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "05kyr37xqv6hm1rlvnqd5ng0x1n883brqynkirkk5drl56axnz7h";
sha256 = "03fwv0fvg073dmdbrcbpwjhxpj98aqna804m9nqybhvj3cfyhaz6";
};
nativeBuildInputs = [ pkgconfig intltool ];

View File

@ -5,11 +5,11 @@ stdenv.mkDerivation rec {
name = "mate-notification-daemon-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "0";
minor-ver = "1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0rhhv99ipxy7l4fdgwvqp3g0c3d4njq0fhkag2vs1nwc6kx0h7sc";
sha256 = "102nmd6mnf1fwvw11ggdlgcblq612nd4aar3gdjzqn1fw37591i5";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "mate-panel-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "4";
minor-ver = "6";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "1n565ff1n7jrfx223i3cl3m69wjda506nvbn8gra7m1jwdfzpbw1";
sha256 = "0cyfqq7i3qilw6qfxay4j9rl9y03s611nrqy5bh7lkdx1y0l16kx";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "mate-power-manager-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "0";
minor-ver = "1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "1gmka9ybxvkrdjaga1md6pbw6q1cx5yxb58ai5315a0f5p45y36x";
sha256 = "1sybc4j9bdnb2axmvpbbm85ixhdfa1k1yh769gns56ix0ryd9nr5";
};
buildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "mate-session-manager-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "1";
minor-ver = "2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0i0xq6041x2qmb26x9bawx0qpfkgjn6x9w3phnm9s7rc4s0z20ll";
sha256 = "11ii7azl8rn9mfymcmcbpysyd12vrxp4s8l3l6yk4mwlr3gvzxj0";
};
nativeBuildInputs = [

View File

@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
name = "mate-settings-daemon-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "1";
minor-ver = "2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "07b2jkxqv07njdrgkdck93d872p6lch1lrvi7ydnpicspg3rfid6";
sha256 = "0v2kdzfmfqq0avlrxnxysmkawy83g7sanmyhivisi5vg4rzsr0a4";
};
nativeBuildInputs = [

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "mate-terminal-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "1";
minor-ver = "2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "1zihm609d2d9cw53ry385whshjl1dnkifpk41g1ddm9f58hv4da1";
sha256 = "053jdcjalywcq4fvqlb145sfp5hmnd6yyk9ckzvkh6fl3gyp54gc";
};
buildInputs = [

View File

@ -7,15 +7,15 @@ stdenv.mkDerivation rec {
# There is no 3.24 release.
major-ver = if stdenv.lib.versionOlder gnome3.version "3.23" then gnome3.version else "3.22";
minor-ver = {
"3.20" = "22";
"3.22" = "13";
"3.20" = "23";
"3.22" = "14";
}."${major-ver}";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/themes/${major-ver}/${name}.tar.xz";
sha256 = {
"3.20" = "1yjj5w7zvyjyg0k21nwk438jjsnj0qklsf0z5pmmp1jff1vxyck4";
"3.22" = "1p7w63an8qs15hkj79nppy7471glv0rm1b0himn3c4w69q8qdc9i";
"3.20" = "0xmcm1kmkhbakhwy5vvx3gll5v2gvihwnbf0gyjf75fys6h3818g";
"3.22" = "09fqvlnmrvc73arl7jv9ygkxi46lw7c1q8qra6w3ap7x83f9zdak";
}."${major-ver}";
};

View File

@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
name = "pluma-${version}";
version = "${major-ver}.${minor-ver}";
major-ver = "1.18";
minor-ver = "2";
minor-ver = "3";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "1z0938yiygxipj2a77n9dv8v4253snrc5gbbnarcnim9xba2j3zz";
sha256 = "1bz2jvjfz761hcvhcbkz8sc4xf0iyixh5w0k7bx69qkwwdc0gxi0";
};
nativeBuildInputs = [

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, python }:
stdenv.mkDerivation rec {
name = "cmdstan-2.9.0";
name = "cmdstan-2.17.1";
src = fetchurl {
url = "https://github.com/stan-dev/cmdstan/releases/download/v2.9.0/cmdstan-2.9.0.tar.gz";
sha256 = "08bim6nxgam989152hm0ga1rfb33mr71pwsym1nmfmavma68bwm9";
url = "https://github.com/stan-dev/cmdstan/releases/download/v2.17.1/cmdstan-2.17.1.tar.gz";
sha256 = "1vq1cnrkvrvbfl40j6ajc60jdrjcxag1fi6kff5pqmadfdz9564j";
};
buildFlags = "build";
@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
'';
homepage = http://mc-stan.org/interfaces/cmdstan.html;
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -2,29 +2,33 @@
stdenv.mkDerivation rec {
name = "crystal-${version}";
version = "0.23.1";
version = "0.24.1";
src = fetchurl {
url = "https://github.com/crystal-lang/crystal/archive/${version}.tar.gz";
sha256 = "8cf1b9a4eab29fca2f779ea186ae18f7ce444ce189c621925fa1a0c61dd5ff55";
sha256 = "1n375cwzb9rfqbjiimfbj4h5q4rsgh2rf6rmm2zbzizzm79a96a9";
};
prebuiltName = "crystal-0.23.0-1";
prebuiltName = "crystal-0.24.1-2";
prebuiltSrc = let arch = {
"x86_64-linux" = "linux-x86_64";
"i686-linux" = "linux-i686";
"x86_64-darwin" = "darwin-x86_64";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
in fetchurl {
url = "https://github.com/crystal-lang/crystal/releases/download/0.23.0/${prebuiltName}-${arch}.tar.gz";
url = "https://github.com/crystal-lang/crystal/releases/download/v0.24.1/${prebuiltName}-${arch}.tar.gz";
sha256 = {
"x86_64-linux" = "0nhs7swbll8hrk15kmmywngkhij80x62axiskb1gjmiwvzhlh0qx";
"i686-linux" = "03xp8d3lqflzzm26lpdn4yavj87qzgd6xyrqxp2pn9ybwrq8fx8a";
"x86_64-darwin" = "1prz6c1gs8z7dgpdy2id2mjn1c8f5p2bf9b39985bav448njbyjz";
"x86_64-linux" = "19xchfzsyxh0gqi89y6d73iqc06bl097idz6905jf0i35x9ghpdp";
"i686-linux" = "15zaxgc1yc9ixbsgy2d8g8d7x2w4vbnndi1ms3wf0ss8azmghiag";
"x86_64-darwin" = "1818ahalahcbh974ai09hyfsns6njkpph4sbn4xwv2235x35dqib";
}."${stdenv.system}";
};
srcs = [ src prebuiltSrc ];
unpackPhase = ''
mkdir ${prebuiltName}
tar --strip-components=1 -C ${prebuiltName} -xf ${prebuiltSrc}
tar xf ${src}
'';
# crystal on Darwin needs libiconv to build
libs = [
@ -41,25 +45,17 @@ stdenv.mkDerivation rec {
sourceRoot = "${name}";
fixPrebuiltBinary = if stdenv.isDarwin then ''
wrapProgram ../${prebuiltName}/embedded/bin/crystal \
--suffix DYLD_LIBRARY_PATH : $libPath
''
else ''
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
../${prebuiltName}/embedded/bin/crystal
patchelf --set-rpath ${ stdenv.lib.makeLibraryPath [ stdenv.cc.cc ] } \
../${prebuiltName}/embedded/bin/crystal
'';
preBuild = ''
patchShebangs bin/crystal
patchShebangs ../${prebuiltName}/bin/crystal
${fixPrebuiltBinary}
export PATH="$(pwd)/../${prebuiltName}/bin:$PATH"
'';
makeFlags = [ "CRYSTAL_CONFIG_VERSION=${version}" "release=1" "all" "doc" ];
makeFlags = [ "CRYSTAL_CONFIG_VERSION=${version}"
"FLAGS=--no-debug"
"release=1"
"all" "docs"
];
installPhase = ''
install -Dm755 .build/crystal $out/bin/crystal
@ -70,7 +66,7 @@ stdenv.mkDerivation rec {
cp -r src/* $out/lib/crystal/
install -dm755 $out/share/doc/crystal/api
cp -r doc/* $out/share/doc/crystal/api/
cp -r docs/* $out/share/doc/crystal/api/
cp -r samples $out/share/doc/crystal/
install -Dm644 etc/completion.bash $out/share/bash-completion/completions/crystal

View File

@ -1,88 +0,0 @@
{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
# If enabled GHC will be build with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
, enableIntegerSimple ? false, gmp
}:
let
inherit (bootPkgs) ghc;
buildMK = ''
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
${stdenv.lib.optionalString stdenv.isDarwin ''
libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
''}
'' + (if enableIntegerSimple then ''
INTEGER_LIBRARY=integer-simple
'' else ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
'');
in
stdenv.mkDerivation rec {
version = "7.10.2";
name = "ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/~ghc/7.10.2/${name}-src.tar.xz";
sha256 = "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal";
};
buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
patches = [ ./relocation.patch ];
enableParallelBuilding = true;
outputs = [ "out" "doc" ];
preConfigure = ''
echo >mk/build.mk "${buildMK}"
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
'' + stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
'';
configureFlags = [
"--with-gcc=${stdenv.cc}/bin/cc"
"--datadir=$doc/share/doc/ghc"
] ++ stdenv.lib.optional (! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
];
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
# Patch scripts to include "readelf" and "cat" in $PATH.
for i in "$out/bin/"*; do
test ! -h $i || continue
egrep --quiet '^#!' <(head -n 1 $i) || continue
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
done
'';
passthru = {
inherit bootPkgs;
};
meta = {
homepage = http://haskell.org/ghc;
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
inherit (ghc.meta) license platforms;
};
}

View File

@ -1,32 +0,0 @@
{ stdenv, fetchurl, perl, ghcWithPackages }:
let ghc = ghcWithPackages (hpkgs: with hpkgs; [
binary zlib utf8-string readline fgl regex-compat HsSyck random
]);
in
stdenv.mkDerivation rec {
name = "jhc-${version}";
version = "0.8.2";
src = fetchurl {
url = "http://repetae.net/dist/${name}.tar.gz";
sha256 = "0lrgg698mx6xlrqcylba9z4g1f053chrzc92ri881dmb1knf83bz";
};
buildInputs = [ perl ghc ];
preConfigure = ''
configureFlagsArray+=("CC=cc")
configureFlagsArray+=("--with-hsc2hs=${ghc}/bin/hsc2hs --cc=cc")
'';
meta = {
description = "Whole-program, globally optimizing Haskell compiler";
homepage = http://repetae.net/computer/jhc/;
license = stdenv.lib.licenses.bsd3;
platforms = ["x86_64-linux"]; # 32 bit builds are broken
maintainers = with stdenv.lib.maintainers; [ aforemny thoughtpolice ];
broken = true; # https://hydra.nixos.org/build/61700723
};
}

View File

@ -905,13 +905,6 @@ self: super: {
# https://github.com/takano-akio/filelock/issues/5
filelock = dontCheck super.filelock;
# https://github.com/alpmestan/taggy/issues/{19,20}
taggy = appendPatch super.taggy (pkgs.fetchpatch {
name = "blaze-markup.patch";
url = "https://github.com/alpmestan/taggy/commit/5456c2fa4d377f7802ec5df3d5f50c4ccab2e8ed.patch";
sha256 = "1vss7b99zrhw3r29krl1b60r4qk0m2mpwmrz8q8zdxrh33hb8pd7";
});
# cryptol-2.5.0 doesn't want happy 1.19.6+.
cryptol = super.cryptol.override { happy = self.happy_1_19_5; };
@ -958,9 +951,9 @@ self: super: {
# Hoogle needs a newer version than lts-10 provides.
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; };
# These packages depend on each other, forming an infinte loop.
scalendar = markBroken super.scalendar;
SCalendar = markBroken super.SCalendar;
# These packages depend on each other, forming an infinite loop.
scalendar = null;
SCalendar = null;
# Needs QuickCheck <2.10, which we don't have.
edit-distance = doJailbreak super.edit-distance;

View File

@ -1,94 +0,0 @@
{ pkgs, haskellLib }:
with haskellLib;
self: super: {
# LLVM is not supported on this GHC; use the latest one.
inherit (pkgs) llvmPackages;
# Disable GHC 6.12.x core libraries.
array = null;
base = null;
bin-package-db = null;
bytestring = null;
Cabal = null;
containers = null;
directory = null;
dph-base = null;
dph-par = null;
dph-prim-interface = null;
dph-prim-par = null;
dph-prim-seq = null;
dph-seq = null;
extensible-exceptions = null;
ffi = null;
filepath = null;
ghc-binary = null;
ghc-prim = null;
haskell98 = null;
hpc = null;
integer-gmp = null;
old-locale = null;
old-time = null;
pretty = null;
process = null;
random = null;
rts = null;
syb = null;
template-haskell = null;
time = null;
unix = null;
# These packages are core libraries in GHC 7.10.x, but not here.
binary = self.binary_0_8_5_1;
deepseq = self.deepseq_1_3_0_1;
haskeline = self.haskeline_0_7_3_1;
hoopl = self.hoopl_3_10_2_0;
terminfo = self.terminfo_0_4_0_2;
transformers = self.transformers_0_4_3_0;
xhtml = self.xhtml_3000_2_1;
# Requires ghc 8.2
ghc-proofs = dontDistribute super.ghc-proofs;
# We have no working cabal-install at the moment.
cabal-install = markBroken super.cabal-install;
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# Needs Cabal >= 1.18.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_18_1_7; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
# https://github.com/glguy/utf8-string/issues/9
utf8-string = overrideCabal super.utf8-string (drv: {
configureFlags = drv.configureFlags or [] ++ ["-f-bytestring-in-base" "--ghc-option=-XUndecidableInstances"];
preConfigure = "sed -i -e 's|base >= .* < .*,|base,|' utf8-string.cabal";
});
# https://github.com/haskell/HTTP/issues/80
HTTP = doJailbreak super.HTTP;
# 6.12.3 doesn't support the latest version.
primitive = self.primitive_0_5_1_0;
parallel = self.parallel_3_2_0_3;
vector = self.vector_0_10_9_3;
# These packages need more recent versions of core libraries to compile.
happy = addBuildTools super.happy [self.Cabal_1_18_1_7 self.containers_0_4_2_1];
network-uri = addBuildTool super.network-uri self.Cabal_1_18_1_7;
stm = addBuildTool super.stm self.Cabal_1_18_1_7;
split = super.split_0_1_4_3;
# Needs hashable on pre 7.10.x compilers.
nats_1 = addBuildDepend super.nats_1 self.hashable;
nats = addBuildDepend super.nats self.hashable;
# Needs void on pre 7.10.x compilers.
conduit = addBuildDepend super.conduit self.void;
}

View File

@ -1,85 +0,0 @@
{ pkgs, haskellLib }:
with haskellLib;
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.0.x core libraries.
array = null;
base = null;
bin-package-db = null;
bytestring = null;
Cabal = null;
containers = null;
directory = null;
extensible-exceptions = null;
ffi = null;
filepath = null;
ghc-binary = null;
ghc-prim = null;
haskell2010 = null;
haskell98 = null;
hpc = null;
integer-gmp = null;
old-locale = null;
old-time = null;
pretty = null;
process = null;
random = null;
rts = null;
template-haskell = null;
time = null;
unix = null;
# These packages are core libraries in GHC 7.10.x, but not here.
binary = self.binary_0_7_6_1;
deepseq = self.deepseq_1_3_0_1;
haskeline = self.haskeline_0_7_3_1;
hoopl = self.hoopl_3_10_2_0;
terminfo = self.terminfo_0_4_0_2;
transformers = self.transformers_0_4_3_0;
xhtml = self.xhtml_3000_2_1;
# Requires ghc 8.2
ghc-proofs = dontDistribute super.ghc-proofs;
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# https://github.com/peti/jailbreak-cabal/issues/9
jailbreak-cabal = super.jailbreak-cabal.override {
Cabal = self.Cabal_1_20_0_4.override { deepseq = self.deepseq_1_3_0_1; };
};
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
# https://github.com/haskell/containers/issues/134
containers_0_4_2_1 = doJailbreak super.containers_0_4_2_1;
# These packages need more recent versions of core libraries to compile.
happy = addBuildTools super.happy [self.containers_0_4_2_1 self.deepseq_1_3_0_1];
# Setup: Can't find transitive deps for haddock
doctest = dontHaddock super.doctest;
hsdns = dontHaddock super.hsdns;
# Newer versions require bytestring >=0.10.
tar = super.tar_0_4_1_0;
# These builds need additional dependencies on old compilers.
nats_1 = addBuildDepend super.nats_1 self.hashable;
nats = addBuildDepend super.nats self.hashable;
conduit = addBuildDepend super.conduit self.void;
reflection = addBuildDepend super.reflection self.tagged;
semigroups = addBuildDepend super.semigroups self.nats;
text = addBuildDepend super.text self.bytestring-builder;
# Newer versions don't compile any longer.
network_2_6_3_1 = dontCheck super.network_2_6_3_1;
network = self.network_2_6_3_1;
}

View File

@ -1,89 +0,0 @@
{ pkgs, haskellLib }:
with haskellLib;
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.2.x core libraries.
array = null;
base = null;
binary = null;
bin-package-db = null;
bytestring = null;
Cabal = null;
containers = null;
directory = null;
extensible-exceptions = null;
ffi = null;
filepath = null;
ghc-prim = null;
haskell2010 = null;
haskell98 = null;
hoopl = null;
hpc = null;
integer-gmp = null;
old-locale = null;
old-time = null;
pretty = null;
process = null;
rts = null;
template-haskell = null;
time = null;
unix = null;
# These packages are core libraries in GHC 7.10.x, but not here.
deepseq = self.deepseq_1_3_0_1;
haskeline = self.haskeline_0_7_3_1;
terminfo = self.terminfo_0_4_0_2;
transformers = self.transformers_0_4_3_0;
xhtml = self.xhtml_3000_2_1;
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_4_0 = super.Cabal_1_22_4_0.override { binary = self.binary_0_8_5_1; process = self.process_1_2_3_0; };
# Requires ghc 8.2
ghc-proofs = dontDistribute super.ghc-proofs;
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# https://github.com/peti/jailbreak-cabal/issues/9
jailbreak-cabal = super.jailbreak-cabal.override {
Cabal = self.Cabal_1_20_0_4.override { deepseq = self.deepseq_1_3_0_1; };
};
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
# The old containers version won't compile against newer versions of deepseq.
containers_0_4_2_1 = super.containers_0_4_2_1.override { deepseq = self.deepseq_1_3_0_1; };
# These packages need more recent versions of core libraries to compile.
happy = addBuildTools super.happy [self.containers_0_4_2_1 self.deepseq_1_3_0_1];
# Setup: Can't find transitive deps for haddock
doctest = dontHaddock super.doctest;
hsdns = dontHaddock super.hsdns;
# Needs hashable on pre 7.10.x compilers.
nats_1 = addBuildDepend super.nats_1 self.hashable;
nats = addBuildDepend super.nats self.hashable;
# Newer versions require bytestring >=0.10.
tar = super.tar_0_4_1_0;
# These builds need additional dependencies on old compilers.
conduit = addBuildDepend super.conduit self.void;
reflection = addBuildDepend super.reflection self.tagged;
semigroups = addBuildDepend super.semigroups self.nats;
optparse-applicative = addBuildDepend super.optparse-applicative self.semigroups;
text = addBuildDepend super.text self.bytestring-builder;
# Newer versions don't compile any longer.
network_2_6_3_1 = dontCheck super.network_2_6_3_1;
network = self.network_2_6_3_1;
}

View File

@ -1,117 +0,0 @@
{ pkgs, haskellLib }:
with haskellLib;
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.4.x core libraries.
array = null;
base = null;
binary = null;
bin-package-db = null;
bytestring = null;
Cabal = null;
containers = null;
deepseq = null;
directory = null;
extensible-exceptions = null;
filepath = null;
ghc-prim = null;
haskell2010 = null;
haskell98 = null;
hoopl = null;
hpc = null;
integer-gmp = null;
old-locale = null;
old-time = null;
pretty = null;
process = null;
rts = null;
template-haskell = null;
time = null;
unix = null;
# These packages are core libraries in GHC 7.10.x, but not here.
haskeline = self.haskeline_0_7_3_1;
terminfo = self.terminfo_0_4_0_2;
transformers = self.transformers_0_4_3_0;
xhtml = self.xhtml_3000_2_1;
# https://github.com/haskell/cabal/issues/2322
Cabal_1_22_4_0 = super.Cabal_1_22_4_0.override { binary = dontCheck self.binary_0_8_5_1; };
# Avoid inconsistent 'binary' versions from 'text' and 'Cabal'.
cabal-install = super.cabal-install.overrideScope (self: super: { binary = dontCheck self.binary_0_8_5_1; });
# Requires ghc 8.2
ghc-proofs = dontDistribute super.ghc-proofs;
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# https://github.com/peti/jailbreak-cabal/issues/9
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_20_0_4; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
# https://github.com/haskell/primitive/issues/16
primitive = dontCheck super.primitive;
# https://github.com/tibbe/unordered-containers/issues/96
unordered-containers = dontCheck super.unordered-containers;
# The test suite depends on time >=1.4.0.2.
cookie = dontCheck super.cookie ;
# Work around bytestring >=0.10.2.0 requirement.
streaming-commons = addBuildDepend super.streaming-commons self.bytestring-builder;
# Choose appropriate flags for our version of 'bytestring'.
bytestring-builder = disableCabalFlag super.bytestring-builder "bytestring_has_builder";
# Newer versions require a more recent compiler.
control-monad-free = super.control-monad-free_0_5_3;
# Needs hashable on pre 7.10.x compilers.
nats_1 = addBuildDepend super.nats_1 self.hashable;
nats = addBuildDepend super.nats self.hashable;
# Test suite won't compile.
unix-time = dontCheck super.unix-time;
# The test suite depends on mockery, which pulls in logging-facade, which
# doesn't compile with this older version of base:
# https://github.com/sol/logging-facade/issues/14
doctest = dontCheck super.doctest;
# Avoid depending on tasty-golden.
monad-par = dontCheck super.monad-par;
# Newer versions require bytestring >=0.10.
tar = super.tar_0_4_1_0;
# Needs void on pre 7.10.x compilers.
conduit = addBuildDepend super.conduit self.void;
# Needs tagged on pre 7.6.x compilers.
reflection = addBuildDepend super.reflection self.tagged;
# These builds need additional dependencies on old compilers.
semigroups = addBuildDepends super.semigroups (with self; [nats bytestring-builder tagged unordered-containers transformers]);
QuickCheck = addBuildDepends super.QuickCheck (with self; [nats semigroups]);
optparse-applicative = addBuildDepend super.optparse-applicative self.semigroups;
text = addBuildDepend super.text self.bytestring-builder;
vector = addBuildDepend super.vector self.semigroups;
# Newer versions don't compile any longer.
network_2_6_3_1 = dontCheck super.network_2_6_3_1;
network = self.network_2_6_3_1;
# Haddock fails with an internal error.
utf8-string = dontHaddock super.utf8-string;
}

View File

@ -1,124 +0,0 @@
{ pkgs, haskellLib }:
with haskellLib;
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_34;
# Disable GHC 7.6.x core libraries.
array = null;
base = null;
binary = null;
bin-package-db = null;
bytestring = null;
Cabal = null;
containers = null;
deepseq = null;
directory = null;
filepath = null;
ghc-prim = null;
haskell2010 = null;
haskell98 = null;
hoopl = null;
hpc = null;
integer-gmp = null;
old-locale = null;
old-time = null;
pretty = null;
process = null;
rts = null;
template-haskell = null;
time = null;
unix = null;
# These packages are core libraries in GHC 7.10.x, but not here.
haskeline = self.haskeline_0_7_3_1;
terminfo = self.terminfo_0_4_0_2;
transformers = self.transformers_0_4_3_0;
xhtml = self.xhtml_3000_2_1;
# Avoid inconsistent 'binary' versions from 'text' and 'Cabal'.
cabal-install = super.cabal-install.overrideScope (self: super: { binary = dontCheck self.binary_0_8_5_1; });
# Requires ghc 8.2
ghc-proofs = dontDistribute super.ghc-proofs;
# https://github.com/tibbe/hashable/issues/85
hashable = dontCheck super.hashable;
# https://github.com/peti/jailbreak-cabal/issues/9
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_20_0_4; };
# Haddock chokes on the prologue from the cabal file.
ChasingBottoms = dontHaddock super.ChasingBottoms;
# Later versions require a newer version of bytestring than we have.
aeson = self.aeson_0_7_0_6;
# The test suite depends on time >=1.4.0.2.
cookie = dontCheck super.cookie;
# Work around bytestring >=0.10.2.0 requirement.
streaming-commons = addBuildDepend super.streaming-commons self.bytestring-builder;
# Choose appropriate flags for our version of 'bytestring'.
bytestring-builder = disableCabalFlag super.bytestring-builder "bytestring_has_builder";
# Tagged is not part of base in this environment.
contravariant = addBuildDepend super.contravariant self.tagged;
reflection = dontHaddock (addBuildDepend super.reflection self.tagged);
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
# Newer versions require a more recent compiler.
control-monad-free = super.control-monad-free_0_5_3;
# Needs hashable on pre 7.10.x compilers.
nats_1 = addBuildDepend super.nats_1 self.hashable;
nats = addBuildDepend super.nats self.hashable;
# https://github.com/magthe/sandi/issues/7
sandi = overrideCabal super.sandi (drv: {
postPatch = "sed -i -e 's|base ==4.8.*,|base,|' sandi.cabal";
});
# These packages require additional build inputs on older compilers.
blaze-builder = addBuildDepend super.blaze-builder super.bytestring-builder;
text = addBuildDepend super.text self.bytestring-builder;
# available convertible package won't build with the available
# bytestring and ghc-mod won't build without convertible
convertible = markBroken super.convertible;
ghc-mod = markBroken super.ghc-mod;
# Needs void on pre 7.10.x compilers.
conduit = addBuildDepend super.conduit self.void;
# Needs additional inputs on old compilers.
semigroups = addBuildDepends super.semigroups (with self; [bytestring-builder nats tagged unordered-containers transformers]);
lens = addBuildDepends super.lens (with self; [doctest generic-deriving nats simple-reflect]);
distributive = addBuildDepend (dontCheck super.distributive) self.semigroups;
QuickCheck = addBuildDepend super.QuickCheck self.semigroups;
void = addBuildDepends super.void (with self; [hashable semigroups]);
optparse-applicative = addBuildDepend super.optparse-applicative self.semigroups;
vector = addBuildDepend super.vector self.semigroups;
# Need a newer version of Cabal to interpret their build instructions.
cmdargs = addSetupDepend super.cmdargs self.Cabal_1_24_2_0;
extra = addSetupDepend super.extra self.Cabal_1_24_2_0;
hlint = addSetupDepend super.hlint self.Cabal_1_24_2_0;
# Haddock doesn't cope with the new markup.
bifunctors = dontHaddock super.bifunctors;
# Breaks a dependency cycle between QuickCheck and semigroups
unordered-containers = dontCheck super.unordered-containers;
# The test suite requires Cabal 1.24.x or later to compile.
comonad = dontCheck super.comonad;
semigroupoids = dontCheck super.semigroupoids;
}

View File

@ -5,7 +5,7 @@ with haskellLib;
self: super: {
# Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_35;
llvmPackages = pkgs.llvmPackages_37;
# Disable GHC 8.0.x core libraries.
array = null;

File diff suppressed because it is too large Load Diff

View File

@ -32,9 +32,10 @@ let
setOutputFlags = false;
patches =
[ # Do not look in /usr etc. for dependencies.
./no-sys-dirs.patch
]
[ ]
# Do not look in /usr etc. for dependencies.
++ optional (versionOlder version "5.26") ./no-sys-dirs.patch
++ optional (versionAtLeast version "5.26") ./no-sys-dirs-5.26.patch
++ optional (versionAtLeast version "5.24") (
# Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360
fetchurlBoot {
@ -133,4 +134,9 @@ in rec {
version = "5.24.3";
sha256 = "1m2px85kq2fyp2d4rx3bw9kg3car67qfqwrs5vlv96dx0x8rl06b";
};
perl526 = common {
version = "5.26.1";
sha256 = "1p81wwvr5jb81m41d07kfywk5gvbk0axdrnvhc2aghcdbr4alqz7";
};
}

View File

@ -0,0 +1,250 @@
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure
--- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200
+++ perl-5.20.0/Configure 2014-06-25 10:43:35.368285986 +0200
@@ -106,15 +106,7 @@
fi
: Proper PATH setting
-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
-paths="$paths /sbin /usr/sbin /usr/libexec"
-paths="$paths /system/gnu_library/bin"
+paths=''
for p in $paths
do
@@ -1337,8 +1329,7 @@
archname=''
: Possible local include directories to search.
: Set locincpth to "" in a hint file to defeat local include searches.
-locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
+locincpth=""
:
: no include file wanted by default
inclwanted=''
@@ -1349,17 +1340,12 @@
libnames=''
: change the next line if compiling for Xenix/286 on Xenix/386
-xlibpth='/usr/lib/386 /lib/386'
+xlibpth=''
: Possible local library directories to search.
-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
+loclibpth=""
: general looking path for locating libraries
-glibpth="/lib /usr/lib $xlibpth"
-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
-test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
-test -f /shlib/libc.so && glibpth="/shlib $glibpth"
-test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
+glibpth=""
: Private path used by Configure to find libraries. Its value
: is prepended to libpth. This variable takes care of special
@@ -1391,8 +1377,6 @@
libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
-glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
-glibpth="/usr/shlib $glibpth"
: Do not use vfork unless overridden by a hint file.
usevfork=false
@@ -2446,7 +2430,6 @@
zip
"
pth=`echo $PATH | sed -e "s/$p_/ /g"`
-pth="$pth $sysroot/lib $sysroot/usr/lib"
for file in $loclist; do
eval xxx=\$$file
case "$xxx" in
@@ -4936,7 +4919,7 @@
: Set private lib path
case "$plibpth" in
'') if ./mips; then
- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
+ plibpth="$incpath/usr/lib"
fi;;
esac
case "$libpth" in
@@ -8600,13 +8583,8 @@
echo " "
case "$sysman" in
'')
- syspath='/usr/share/man/man1 /usr/man/man1'
- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
- syspath="$syspath /usr/man/u_man/man1"
- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
- sysman=`./loc . /usr/man/man1 $syspath`
+ syspath=''
+ sysman=''
;;
esac
if $test -d "$sysman"; then
@@ -19900,9 +19878,10 @@
case "$full_ar" in
'') full_ar=$ar ;;
esac
+full_ar=ar
: Store the full pathname to the sed program for use in the C program
-full_sed=$sed
+full_sed=sed
: see what type gids are declared as in the kernel
echo " "
Only in perl-5.20.0/: Configure.orig
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL
--- perl-5.20.0-orig/ext/Errno/Errno_pm.PL 2014-05-26 15:34:20.000000000 +0200
+++ perl-5.20.0/ext/Errno/Errno_pm.PL 2014-06-25 10:31:24.317970047 +0200
@@ -126,11 +126,7 @@
if ($dep =~ /(\S+errno\.h)/) {
$file{$1} = 1;
}
- } elsif ($^O eq 'linux' &&
- $Config{gccversion} ne '' &&
- $Config{gccversion} !~ /intel/i
- # might be using, say, Intel's icc
- ) {
+ } elsif (0) {
# When cross-compiling we may store a path for gcc's "sysroot" option:
my $sysroot = $Config{sysroot} || '';
# Some Linuxes have weird errno.hs which generate
Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh
--- perl-5.20.0-orig/hints/freebsd.sh 2014-01-31 22:55:51.000000000 +0100
+++ perl-5.20.0/hints/freebsd.sh 2014-06-25 10:25:53.263964680 +0200
@@ -119,21 +119,21 @@
objformat=`/usr/bin/objformat`
if [ x$objformat = xaout ]; then
if [ -e /usr/lib/aout ]; then
- libpth="/usr/lib/aout /usr/local/lib /usr/lib"
- glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
+ libpth=""
+ glibpth=""
fi
lddlflags='-Bshareable'
else
- libpth="/usr/lib /usr/local/lib"
- glibpth="/usr/lib /usr/local/lib"
+ libpth=""
+ glibpth=""
ldflags="-Wl,-E "
lddlflags="-shared "
fi
cccdlflags='-DPIC -fPIC'
;;
*)
- libpth="/usr/lib /usr/local/lib"
- glibpth="/usr/lib /usr/local/lib"
+ libpth=""
+ glibpth=""
ldflags="-Wl,-E "
lddlflags="-shared "
cccdlflags='-DPIC -fPIC'
diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh
--- perl-5.20.0-orig/hints/linux.sh 2014-05-26 15:34:20.000000000 +0200
+++ perl-5.20.0/hints/linux.sh 2014-06-25 10:33:47.354883843 +0200
@@ -150,25 +150,6 @@
;;
esac
-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
-# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us
-# where to look. We don't want gcc's own libraries, however, so we
-# filter those out.
-# This could be conditional on Unbuntu, but other distributions may
-# follow suit, and this scheme seems to work even on rather old gcc's.
-# This unconditionally uses gcc because even if the user is using another
-# compiler, we still need to find the math library and friends, and I don't
-# know how other compilers will cope with that situation.
-# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
-# we don't want its libraries. So we try to prefer the system gcc
-# Still, as an escape hatch, allow Configure command line overrides to
-# plibpth to bypass this check.
-if [ -x /usr/bin/gcc ] ; then
- gcc=/usr/bin/gcc
-else
- gcc=gcc
-fi
-
case "$plibpth" in
'') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
@@ -178,32 +159,6 @@
;;
esac
-case "$libc" in
-'')
-# If you have glibc, then report the version for ./myconfig bug reporting.
-# (Configure doesn't need to know the specific version since it just uses
-# gcc to load the library for all tests.)
-# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
-# are insufficiently precise to distinguish things like
-# libc-2.0.6 and libc-2.0.7.
- for p in $plibpth
- do
- for trylib in libc.so.6 libc.so
- do
- if $test -e $p/$trylib; then
- libc=`ls -l $p/$trylib | awk '{print $NF}'`
- if $test "X$libc" != X; then
- break
- fi
- fi
- done
- if $test "X$libc" != X; then
- break
- fi
- done
- ;;
-esac
-
if ${sh:-/bin/sh} -c exit; then
echo ''
echo 'You appear to have a working bash. Good.'
@@ -367,33 +322,6 @@
;;
esac
-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
-# true libraries. The scripts cause binding against static
-# version of -lgdbm which is a bad idea. So if we have 'nm'
-# make sure it can read the file
-# NI-S 2003/08/07
-case "$nm" in
- '') ;;
- *)
- for p in $plibpth
- do
- if $test -r $p/libndbm.so; then
- if $nm $p/libndbm.so >/dev/null 2>&1 ; then
- echo 'Your shared -lndbm seems to be a real library.'
- _libndbm_real=1
- break
- fi
- fi
- done
- if $test "X$_libndbm_real" = X; then
- echo 'Your shared -lndbm is not a real library.'
- set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
- shift
- libswanted="$*"
- fi
- ;;
-esac
-
# Linux on Synology.
if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
# Tested on Synology DS213 and DS413

View File

@ -20,10 +20,12 @@ stdenv.mkDerivation rec {
doCheck = true;
buildInputs = [
babl libpng cairo libjpeg librsvg pango gtk bzip2 json_glib
libpng cairo libjpeg librsvg pango gtk bzip2
libraw libwebp gnome3.gexiv2
];
propagatedBuildInputs = [ glib json_glib babl ]; # for gegl-3.0.pc
nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
meta = {

View File

@ -0,0 +1,57 @@
{ fetchFromGitHub, stdenv, autoreconfHook, pkgconfig, gettext, python3
, texinfo, help2man, libyaml, perl
}:
let
version = "3.4.0";
in stdenv.mkDerivation rec {
name = "liblouis-${version}";
src = fetchFromGitHub {
owner = "liblouis";
repo = "liblouis";
rev = "v${version}";
sha256 = "1b3vf6sq2iffdvj0r2q5g5k198camy3sq2nwfz391brpwivsnayh";
};
outputs = [ "out" "dev" "man" "info" "doc" ];
nativeBuildInputs = [
autoreconfHook pkgconfig gettext python3
# Docs, man, info
texinfo help2man
];
buildInputs = [
# lou_checkYaml
libyaml
# maketable.d
perl
];
configureFlags = [
# Required by Python bindings
"--enable-ucs4"
];
postPatch = ''
patchShebangs tests
substituteInPlace python/louis/__init__.py.in --replace "###LIBLOUIS_SONAME###" "$out/lib/liblouis.so"
'';
postInstall = ''
pushd python
python setup.py install --prefix="$out" --optimize=1
popd
'';
doCheck = true;
meta = with stdenv.lib; {
description = "Open-source braille translator and back-translator";
homepage = http://liblouis.org/;
license = licenses.lgpl21;
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,32 @@
{stdenv, autoconf, automake, fetchFromGitHub, glib, intltool, json_c, libtool, pkgconfig}:
let
version = "1.3.0";
in stdenv.mkDerivation rec {
name = "libmypaint-${version}";
src = fetchFromGitHub {
owner = "mypaint";
repo = "libmypaint";
rev = "v${version}";
sha256 = "0b7aynr6ggigwhjkfzi8x3dwz15blj4grkg9hysbgjh6lvzpy9jc";
};
nativeBuildInputs = [ autoconf automake intltool libtool pkgconfig ];
buildInputs = [ glib ];
propagatedBuildInputs = [ json_c ]; # for libmypaint.pc
doCheck = true;
preConfigure = "./autogen.sh";
meta = with stdenv.lib; {
homepage = http://mypaint.org/;
description = "Library for making brushstrokes which is used by MyPaint and other projects";
license = licenses.isc;
maintainers = with maintainers; [ goibhniu jtojnar ];
platforms = platforms.unix;
};
}

View File

@ -1,59 +0,0 @@
{ stdenv, fetchFromGitHub, autoreconfHook, libsodium, ncurses, libopus
, libvpx, check, libconfig, pkgconfig }:
let
version = "4c220e336330213b151a0c20307d0a1fce04ac9e";
date = "20150126";
in stdenv.mkDerivation rec {
name = "tox-core-old-${date}-${builtins.substring 0 7 version}";
src = fetchFromGitHub {
owner = "irungentoo";
repo = "toxcore";
rev = version;
sha256 = "152yamak9ykl8dgkx1qzyrpa3f4xr1s8lgcb5k58r9lb1iwnhvqc";
};
NIX_LDFLAGS = "-lgcc_s";
postPatch = ''
# within Nix chroot builds, localhost is unresolvable
sed -i -e '/DEFTESTCASE(addr_resolv_localhost)/d' \
auto_tests/network_test.c
# takes WAAAY too long (~10 minutes) and would timeout
sed -i -e '/DEFTESTCASE[^(]*(many_clients\>/d' \
auto_tests/tox_test.c
'';
configureFlags = [
"--with-libsodium-headers=${libsodium.dev}/include"
"--with-libsodium-libs=${libsodium.out}/lib"
"--enable-ntox"
"--enable-daemon"
];
buildInputs = [
autoreconfHook libsodium ncurses
check libconfig pkgconfig
] ++ stdenv.lib.optionals (!stdenv.isArm) [
libopus
];
propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isArm) [ libvpx ];
# Some tests fail randomly due to timeout. This kind of problem is well known
# by upstream: https://github.com/irungentoo/toxcore/issues/{950,1054}
# They don't recommend running tests on 50core machines with other cpu-bound
# tests running in parallel.
#
# NOTE: run the tests locally on your machine before upgrading this package!
doCheck = false;
meta = with stdenv.lib; {
description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ viric jgeerds ];
platforms = platforms.all;
};
}

View File

@ -1,16 +1,20 @@
{ fetchurl, stdenv, autoconf, automake, libtool, pkgconfig, libxml2, curl, cmake, pam, sblim-sfcc }:
{ stdenv, fetchFromGitHub, cmake, pkgconfig
, curl, libxml2, pam, sblim-sfcc }:
stdenv.mkDerivation rec {
version = "2.6.0";
name = "openwsman-${version}";
version = "2.6.5";
src = fetchurl {
url = "https://github.com/Openwsman/openwsman/archive/v${version}.tar.gz";
sha256 = "0gw2dsjxzpchg3s85kplwgp9xhd9l7q4fh37iy7r203pvir4k6s4";
src = fetchFromGitHub {
owner = "Openwsman";
repo = "openwsman";
rev = "v${version}";
sha256 = "1r0zslgpcr4m20car4s3hsccy10xcb39qhpw3dhpjv42xsvvs5xv";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ autoconf automake libtool libxml2 curl cmake pam sblim-sfcc ];
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ curl libxml2 pam sblim-sfcc ];
cmakeFlags = [
"-DCMAKE_BUILD_RUBY_GEM=no"
@ -22,18 +26,13 @@ stdenv.mkDerivation rec {
configureFlags = "--disable-more-warnings";
meta = {
description = "Openwsman server implementation and client api with bindings";
homepage = https://github.com/Openwsman/openwsman;
downloadPage = "https://github.com/Openwsman/openwsman/releases";
maintainers = [ stdenv.lib.maintainers.deepfire ];
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
meta = with stdenv.lib; {
description = "Openwsman server implementation and client API with bindings";
downloadPage = https://github.com/Openwsman/openwsman/releases;
homepage = https://openwsman.github.io;
license = licenses.bsd3;
maintainers = with maintainers; [ deepfire ];
platforms = platforms.unix;
inherit version;
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "lhapdf-${version}";
version = "6.2.0";
version = "6.2.1";
src = fetchurl {
url = "http://www.hepforge.org/archive/lhapdf/LHAPDF-${version}.tar.gz";
sha256 = "0gfjps7v93n0rrdndkhp22d93y892bf76pnzdhqbish0cigkkxph";
sha256 = "0bi02xcmq5as0wf0jn6i3hx0qy0hj61m02sbrbzd1gwjhpccwmvd";
};
buildInputs = [ python2 ];

View File

@ -2,15 +2,13 @@
stdenv.mkDerivation rec {
name = "rivet-${version}";
version = "2.5.4";
version = "2.6.0";
src = fetchurl {
url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
sha256 = "1qi7am60f2l4krd3sbj95mbzfk82lir0wy8z27yr9ncq6qcm48kp";
sha256 = "1mvsa3v8d1pl2fj1dcdf8sikzm1yb2jcl0q34fyfsjw2cisxpv5f";
};
postPatch = "patchShebangs ./src/Analyses/cat_with_lines";
patches = [
./darwin.patch # configure relies on impure sw_vers to -Dunix
];
@ -29,6 +27,13 @@ stdenv.mkDerivation rec {
buildInputs = [ hepmc imagemagick python2 latex makeWrapper ];
propagatedBuildInputs = [ fastjet ghostscript gsl yoda ];
preConfigure = ''
substituteInPlace bin/rivet-buildplugin.in \
--replace '"which"' '"${which}/bin/which"' \
--replace 'mycxx=' 'mycxx=${stdenv.cc}/bin/${if stdenv.cc.isClang or false then "clang++" else "g++"} #' \
--replace 'mycxxflags="' "mycxxflags=\"-std=c++11 $NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE $NIX_CFLAGS_LINK "
'';
preInstall = ''
substituteInPlace bin/make-plots \
--replace '"which"' '"${which}/bin/which"' \
@ -40,10 +45,6 @@ stdenv.mkDerivation rec {
--replace '"convert"' '"${imagemagick.out}/bin/convert"'
substituteInPlace bin/rivet \
--replace '"less"' '"${less}/bin/less"'
substituteInPlace bin/rivet-buildplugin \
--replace '"which"' '"${which}/bin/which"' \
--replace 'mycxx=' 'mycxx=${stdenv.cc}/bin/${if stdenv.cc.isClang or false then "clang++" else "g++"} #' \
--replace 'mycxxflags="' "mycxxflags=\"-std=c++11 $NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE $NIX_CFLAGS_LINK "
substituteInPlace bin/rivet-mkhtml \
--replace '"make-plots"' \"$out/bin/make-plots\" \
--replace '"rivet-cmphistos"' \"$out/bin/rivet-cmphistos\"

View File

@ -1,18 +1,19 @@
{ stdenv, fetchurl, fetchpatch, python2Packages, root, makeWrapper, withRootSupport ? false }:
{ stdenv, fetchurl, fetchpatch, python2Packages, root, makeWrapper, zlib, withRootSupport ? false }:
stdenv.mkDerivation rec {
name = "yoda-${version}";
version = "1.6.7";
version = "1.7.0";
src = fetchurl {
url = "http://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
sha256 = "05jyv5dypa6d4q1m8wm2qycgq1i0bgzwzzm9qqdj0b43ff2kggra";
sha256 = "0fyf6ld1klzlfmr5sl1jxzck4a0h14zfkrff8397rn1fqnqbzmmk";
};
pythonPath = []; # python wrapper support
buildInputs = with python2Packages; [ python numpy matplotlib makeWrapper ]
++ stdenv.lib.optional withRootSupport root;
propagatedBuildInputs = [ zlib ];
enableParallelBuilding = true;

View File

@ -1,30 +1,28 @@
{ fetchgit, stdenv, autoconf, automake, libtool, curl }:
{ stdenv, fetchFromGitHub, autoreconfHook, curl }:
stdenv.mkDerivation rec {
version = "2.2.9";
name = "sblim-sfcc-${version}";
version = "2.2.9"; # this is technically 2.2.9-preview
src = fetchgit {
url = "https://github.com/kkaempf/sblim-sfcc.git";
rev = "f70fecb410a53531e4fe99d39cf81b581819cac9";
sha256 = "1hsxim284qzldh599gf6khxj80g8q5263xl3lj3hdndxbhbs843v";
src = fetchFromGitHub {
owner = "kkaempf";
repo = "sblim-sfcc";
rev = "514a76af2020fd6dc6fc380df76cbe27786a76a2";
sha256 = "06c1mskl9ixbf26v88w0lvn6v2xd6n5f0jd5mckqrn9j4vmh70hs";
};
preConfigure = "./autoconfiscate.sh";
buildInputs = [ curl ];
buildInputs = [ autoconf automake libtool curl ];
nativeBuildInputs = [ autoreconfHook ];
meta = {
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Small Footprint CIM Client Library";
homepage = https://sourceforge.net/projects/sblim/;
maintainers = [ stdenv.lib.maintainers.deepfire ];
license = stdenv.lib.licenses.cpl10;
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
homepage = https://sourceforge.net/projects/sblim/;
license = licenses.cpl10;
maintainers = with maintainers; [ deepfire ];
platforms = platforms.unix;
inherit version;
};
}

View File

@ -35,6 +35,8 @@ in stdenv.mkDerivation rec {
mkdir $bin/lib
cp libwlroots.so $bin/lib/
patchelf --set-rpath "$bin/lib:${stdenv.lib.makeLibraryPath buildInputs}" $bin/bin/rootston
mkdir $bin/etc
cp ../rootston/rootston.ini.example $bin/etc/rootston.ini
'';
meta = with stdenv.lib; {

View File

@ -0,0 +1,16 @@
{ stdenv, fetchFromGitHub
, wxGTK30
}:
with stdenv.lib;
wxGTK30.overrideAttrs (oldAttrs : rec {
name = "wxwidgets-${version}";
version = "3.1.0";
src = fetchFromGitHub {
owner = "wxWidgets";
repo = "wxWidgets";
rev = "v${version}";
sha256 = "14kl1rsngm70v3mbyv1mal15iz2b18k97avjx8jn7s81znha1c7f";
};
})

View File

@ -0,0 +1,15 @@
{ buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "ansi";
version = "0.1.3";
src = fetchPypi {
inherit pname version;
sha256 = "06y6470bzvlqys3zi2vc68rmk9n05v1ibral14gbfpgfa8fzy7pg";
};
checkPhase = ''
python -c "import ansi.color"
'';
}

View File

@ -7,6 +7,7 @@
, python
, pexpect
}:
buildPythonPackage rec {
pname = "bash_kernel";
version = "0.7.1";
@ -28,11 +29,11 @@ buildPythonPackage rec {
propagatedBuildInputs = [ ipykernel pexpect ];
# no tests
doCheck = false;
preBuild = ''
mkdir tmp
export HOME=$PWD/tmp
export HOME=$TMPDIR
'';
postInstall = ''

View File

@ -1,6 +1,7 @@
{ lib, buildPythonPackage, fetchFromGitHub, openssl }:
{ stdenv, lib, buildPythonPackage, fetchFromGitHub, openssl }:
buildPythonPackage rec {
let ext = if stdenv.isDarwin then "dylib" else "so";
in buildPythonPackage rec {
pname = "bitcoinlib";
version = "0.9.0";
name = "${pname}-${version}";
@ -15,7 +16,7 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace bitcoin/core/key.py --replace \
"ctypes.util.find_library('ssl') or 'libeay32'" \
"\"${openssl.out}/lib/libssl.so\""
"'${openssl.out}/lib/libssl.${ext}'"
'';
meta = {

View File

@ -1,4 +1,4 @@
{ stdenv, buildPythonPackage, fetchPypi, krb5Full, nose, GitPython, mock, git }:
{ stdenv, buildPythonPackage, fetchPypi, isPy3k, krb5Full, nose, GitPython, mock, git }:
buildPythonPackage rec {
pname = "CCColUtils";
@ -9,9 +9,11 @@ buildPythonPackage rec {
inherit pname version;
sha256 = "1gwcq4xan9as1j3q9k2zqrywxp46qx0ljwxbck9id2fvilds6ck3";
};
buildInputs = [ krb5Full ];
propagatedBuildInputs = [ nose GitPython mock git ];
doCheck = false;
doCheck = isPy3k; # needs unpackaged module to run tests on python2
meta = with stdenv.lib; {
description = "Python Kerberos 5 Credential Cache Collection Utilities";

View File

@ -1,20 +1,22 @@
{ stdenv, fetchPypi, buildPythonPackage
, six
, more-itertools, six
, coverage, codecov, pytest, pytestcov, pytest-sugar, portend
, backports_unittest-mock, setuptools_scm }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "cheroot";
version = "5.8.3";
version = "6.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "5c0531fd732700b1fb3e6e7079dc3aefbdf29e9136925633d93f009cb87d70a3";
sha256 = "10s67wxymk4xg45l7ca59n4l6m6rnj8b9l52pg1angxh958lwixs";
};
propagatedBuildInputs = [ six ];
buildInputs = [ coverage codecov pytest pytestcov pytest-sugar portend backports_unittest-mock setuptools_scm ];
propagatedBuildInputs = [ more-itertools six ];
buildInputs = [ setuptools_scm ];
checkInputs = [ coverage codecov pytest pytestcov pytest-sugar portend backports_unittest-mock ];
checkPhase = ''
py.test cheroot

View File

@ -1,23 +1,30 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy3k
, pytest, setuptools_scm, pytestrunner
, six, cheroot, portend }:
{ lib, buildPythonPackage, fetchPypi
, cheroot, portend, routes, six
, setuptools_scm
, backports_unittest-mock, codecov, coverage, objgraph, pathpy, pytest, pytest-sugar, pytestcov
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "CherryPy";
version = "11.0.0";
version = "13.1.0";
src = fetchPypi {
inherit pname version;
sha256 = "1037pvhab4my791vfzikm649ny52fj7x2q87cnncmbnqin6ghwan";
sha256 = "0pb9mfmhns33jq4nrd38mv88ha74fj3q0y2mm8qsjh7ywphvk9ap";
};
# wsgiserver.ssl_pyopenssl is broken on py3k.
doCheck = !isPy3k;
buildInputs = [ pytest setuptools_scm pytestrunner ];
propagatedBuildInputs = [ six cheroot portend ];
propagatedBuildInputs = [ cheroot portend routes six ];
meta = with stdenv.lib; {
buildInputs = [ setuptools_scm ];
checkInputs = [ backports_unittest-mock codecov coverage objgraph pathpy pytest pytest-sugar pytestcov ];
checkPhase = ''
LANG=en_US.UTF-8 pytest
'';
meta = with lib; {
homepage = "http://www.cherrypy.org";
description = "A pythonic, object-oriented HTTP framework";
license = licenses.bsd3;

View File

@ -11,7 +11,13 @@ buildPythonPackage rec {
sha256 = "1q6ccpz6anl9vggwxdq32wp6xjh2lyfbf7av6jqnmvmyqdfwh3b9";
};
LD_LIBRARY_PATH="${pkgs.krb5Full}/lib";
# It's used to locate headers
postPatch = ''
substituteInPlace setup.py \
--replace "get_output('krb5-config gssapi --prefix')" "'${lib.getDev krb5Full}'"
'';
LD_LIBRARY_PATH = "${pkgs.krb5Full}/lib";
buildInputs = [ krb5Full which nose shouldbe ]
++ ( if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.GSS ] else [ gss ] );

View File

@ -13,8 +13,7 @@
, python
, mkDerivation
, stdenv
, pythonOlder
, isPy35
, isPy3k
}:
let
compyte = import ./compyte.nix {
@ -35,7 +34,7 @@ buildPythonPackage rec {
${python.interpreter} configure.py --boost-inc-dir=${boost.dev}/include \
--boost-lib-dir=${boost}/lib \
--no-use-shipped-boost \
--boost-python-libname=boost_python
--boost-python-libname=boost_python${stdenv.lib.optionalString isPy3k "3"}
'';
postInstall = ''

View File

@ -6,7 +6,7 @@
let
pname = "PyQt";
version = "5.9";
version = "5.9.2";
inherit (pythonPackages) buildPythonPackage python dbus-python sip;
in buildPythonPackage {
@ -25,7 +25,7 @@ in buildPythonPackage {
src = fetchurl {
url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
sha256 = "15hh4z5vd45dcswjla58q6rrfr6ic7jfz2n7c8lwfb10rycpj3mb";
sha256 = "15439gxari6azbfql20ksz8h4gv23k3kfyjyr89h2yy9k32xm461";
};
nativeBuildInputs = [ pkgconfig makeWrapper qmake ];

View File

@ -1,17 +1,19 @@
{ stdenv, fetchPypi, buildPythonPackage }:
{ stdenv, fetchFromGitHub, buildPythonPackage, pytest }:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "semver";
version = "2.7.9";
src = fetchPypi {
inherit pname version;
sha256 = "1ffb55fb86a076cf7c161e6b5931f7da59f15abe217e0f24cea96cc8eec50f42";
src = fetchFromGitHub {
owner = "k-bx";
repo = "python-semver";
rev = "2001c62d1a0361c44acc7076d8ce91e1d1c66141"; # not tagged in repository
sha256 = "01c05sv97dyr672sa0nr3fnh2aqbmvkfw19d6rkaj16h2sdsyg0i";
};
# No tests in archive
doCheck = false;
checkInputs = [ pytest ];
checkPhase = "pytest -v tests.py";
meta = with stdenv.lib; {
description = "Python package to work with Semantic Versioning (http://semver.org/)";

View File

@ -1,6 +1,6 @@
{ lib
, buildPythonPackage
, fetchPypi
, fetchFromGitHub
, characteristic
, pyasn1
, pyasn1-modules
@ -16,23 +16,23 @@ buildPythonPackage rec {
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "4001fbb3da19e0df22c47a06d29681a398473af4aa9d745eca525b3b2c2302ab";
src = fetchFromGitHub {
owner = "pyca";
repo = pname;
rev = version;
sha256 = "1fn332fci776m5a7jx8c1jgbm27160ip5qvv8p01c242ag6by5g0";
};
propagatedBuildInputs = [
characteristic pyasn1 pyasn1-modules pyopenssl idna attrs
];
checkInputs = [
pytest
];
checkInputs = [ pytest ];
checkPhase = "py.test";
checkPhase = ''
py.test
'';
# Tests not included in archive
doCheck = false;
}
meta = with lib; {
description = "Service identity verification for pyOpenSSL";
license = licenses.mit;
homepage = "https://service-identity.readthedocs.io";
};
}

View File

@ -2,13 +2,13 @@
if isPyPy then throw "sip not supported for interpreter ${python.executable}" else buildPythonPackage rec {
pname = "sip";
version = "4.19.3";
version = "4.19.6";
name = "${pname}-${version}";
format = "other";
src = fetchurl {
url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
sha256 = "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl";
sha256 = "0nlj0zbvmzliyhhspqwf2bjvcnpq4agx4s47php7ishv32p2gnlx";
};
configurePhase = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "shards-${version}";
version = "0.7.1";
version = "0.7.2";
src = fetchurl {
url = "https://github.com/crystal-lang/shards/archive/v${version}.tar.gz";
sha256 = "31de819c66518479682ec781a39ef42c157a1a8e6e865544194534e2567cb110";
sha256 = "1qiv9zzpccf6i5r2qrzbl84wgvqapbs0csazayhcpzfjfhg6i8wp";
};
buildInputs = [ crystal libyaml which ];

View File

@ -4,17 +4,17 @@ with python27Packages;
stdenv.mkDerivation rec {
name = "google-app-engine-go-sdk-${version}";
version = "1.9.55";
version = "1.9.61";
src =
if stdenv.system == "x86_64-linux" then
fetchzip {
url = "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-${version}.zip";
sha256 = "1gwrmqs69h3wbx6z0a7shdr8gn1qiwrkvh3pg6mi7dybwmd1x61h";
sha256 = "1i2j9ympl1218akwsmm7yb31v0gibgpzlb657bcravi1irfv1hhs";
}
else
fetchzip {
url = "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_darwin_amd64-${version}.zip";
sha256 = "0b8r2fqg9m285ifz0jahd4wasv7cq61nr6p1k664w021r5y5lbvr";
sha256 = "0s8sqyc72lnc7dxd4cl559gyfx83x71jjpsld3i3nbp3mwwamczp";
};
buildInputs = [python27 makeWrapper];
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
cp -r "$src" "$out/share/go_appengine"
# create wrappers with correct env
for i in goapp appcfg.py; do
for i in goapp go-app-stager *.py; do
makeWrapper "$out/share/go_appengine/$i" "$out/bin/$i" \
--prefix PATH : "${python27}/bin" \
--prefix PYTHONPATH : "$(toPythonPath ${cffi}):$(toPythonPath ${cryptography}):$(toPythonPath ${pyopenssl})"

View File

@ -16,9 +16,9 @@ let
# where the ultimate "_" (before the version) is changed to a "-".
binDists = {
x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
alpha = bdist { sha256 = "0y6d7pvf3dgyll175323xp4zmrbyrjn73zrb478y1gpl6dqh064d"; fetcher = authenticatedFetch; };
headless = bdist { sha256 = "1agkra3qq11la307ymsfb7v358wc2s2mdpmfbc5n0sb4gnmnqazq"; };
demo = bdist { sha256 = "03nwn4838yhqq0r76pf2m4wxi32rsq0knsxmq3qq4ycji89q1dyc"; version = "0.15.33"; };
alpha = bdist { sha256 = "1i25q8x80qdpmf00lvml67gyklrfvmr4gfyakrx954bq8giiy4ll"; fetcher = authenticatedFetch; };
headless = bdist { sha256 = "0v5sypz1q6x6hi6k5cyi06f9ld0cky80l0z64psd3v2ax9hyyh8h"; };
demo = bdist { sha256 = "0aca8gks7wl7yi821bcca16c94zcc41agin5j0vfz500i0sngzzw"; version = "0.15.36"; };
};
i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in {
alpha = bdist { sha256 = "0nnfkxxqnywx1z05xnndgh71gp4izmwdk026nnjih74m2k5j086l"; version = "0.14.23"; nameMut = asGz; };
@ -29,7 +29,7 @@ let
actual = binDists.${stdenv.system}.${releaseType} or (throw "Factorio: unsupported platform");
bdistForArch = arch: { sha256 ? null
, version ? "0.15.37"
, version ? "0.15.40"
, fetcher ? fetchurl
, nameMut ? x: x
}:

View File

@ -1,38 +1,72 @@
{ stdenv, gcc, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
{ stdenv, fetchFromGitHub, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
, pcre, gettext, libpthreadstubs, libXrandr, libXext, libSM, readline
, openal, libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
, libpulseaudio ? null }:
, openal, libXdmcp, portaudio, libusb, libevdev
, libpulseaudio ? null
, curl
, qt5
# - Inputs used for Darwin
, CoreBluetooth, cf-private, ForceFeedback, IOKit, OpenGL
, wxGTK
, libpng
, hidapi
# options
, dolphin-wxgui ? true
, dolphin-qtgui ? false
}:
# XOR: ensure only wx XOR qt are enabled
assert dolphin-wxgui || dolphin-qtgui;
assert !(dolphin-wxgui && dolphin-qtgui);
stdenv.mkDerivation rec {
name = "dolphin-emu-20170902";
name = "dolphin-emu-20171218";
src = fetchFromGitHub {
owner = "dolphin-emu";
repo = "dolphin";
rev = "b073db51e5f3df8c9890e09a3f4f8a2276c31e3f";
sha256 = "0pr5inkd7swc6s7im7axhvmkdbqidhrha2wpflnr25aiwq0dzm10";
rev = "438e8b64a4b080370c7a65ed23af52838a4e7aaa";
sha256 = "0rrd0g1vg9jk1p4wdr6w2z34cabb7pgmpwfcl2a372ark3vi4ysc";
};
cmakeFlags = ''
-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include
-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include
-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0
-DENABLE_LTO=True
'';
cmakeFlags = [
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
"-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
"-DENABLE_LTO=True"
] ++ stdenv.lib.optionals (!dolphin-qtgui) [ "-DENABLE_QT2=False" ]
++ stdenv.lib.optionals stdenv.isDarwin [ "-DOSX_USE_DEFAULT_SEARCH_PATH=True" ];
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ gcc cmake bluez ffmpeg libao mesa gtk2 glib pcre
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ curl ffmpeg libao mesa gtk2 glib pcre
gettext libpthreadstubs libXrandr libXext libSM readline openal
libevdev libXdmcp portaudio libusb libpulseaudio ];
libXdmcp portaudio libusb libpulseaudio libpng hidapi
] ++ stdenv.lib.optionals stdenv.isDarwin [ wxGTK CoreBluetooth cf-private ForceFeedback IOKit OpenGL ]
++ stdenv.lib.optionals stdenv.isLinux [ bluez libevdev ]
++ stdenv.lib.optionals dolphin-qtgui [ qt5.qtbase ];
# - Change install path to Applications relative to $out
# - Allow Dolphin to use nix-provided libraries instead of building them
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i -e 's,/Applications,Applications,g' Source/Core/DolphinWX/CMakeLists.txt
sed -i -e 's,if(LIBUSB_FOUND AND NOT APPLE),if(LIBUSB_FOUND),g' CMakeLists.txt
sed -i -e 's,if(NOT APPLE),if(true),g' CMakeLists.txt
'';
preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
mkdir -p "$out/Applications"
'';
meta = {
homepage = http://dolphin-emu.org/;
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [ MP2E ];
branch = "master";
# x86_32 is an unsupported platform.
# Enable generic build if you really want a JIT-less binary.
platforms = [ "x86_64-linux" ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "elementary-gtk-theme-${version}";
version = "5.1.1";
src = fetchFromGitHub {
owner = "elementary";
repo = "stylesheet";
rev = version;
sha256 = "1749byc2lbxmprladn9n7k6jh79r8ffgayjn689gmqsrm6czsmh2";
};
dontBuild = true;
installPhase = ''
mkdir -p $out/share/themes/elementary
cp -r gtk-* plank $out/share/themes/elementary
'';
meta = with stdenv.lib; {
description = "GTK theme designed to be smooth, attractive, fast, and usable";
homepage = https://github.com/elementary/stylesheet;
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ davidak ];
};
}

View File

@ -3,7 +3,7 @@
with stdenv.lib;
import ./generic.nix (args // rec {
version = "4.14.8";
version = "4.14.9";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@ -13,6 +13,6 @@ import ./generic.nix (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0cwk9liv79hw5l34xvwnf05spx1jvv8q8w9lfbw4lw8xldxwbg3f";
sha256 = "1vqllh36wss4dsdvb12zchy6hjaniyxcla5cg8962xrkim2bpk6g";
};
} // (args.argsOverride or {}))

View File

@ -1,11 +1,11 @@
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec {
version = "4.9.71";
version = "4.9.72";
extraMeta.branch = "4.9";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "173nvdshckhdlisn08pf6cal9bhlj8ra569y26013hsfzd09gzgi";
sha256 = "0fxqfqcqn6rk6rxzmy8r3vgzvy9xlnb3hvg2rniykbcyxgqh3wk9";
};
} // (args.argsOverride or {}))

View File

@ -234,7 +234,7 @@ let
};
in
assert stdenv.lib.versionAtLeast version "4.15" -> libelf != null;
assert stdenv.lib.versionAtLeast version "4.14" -> libelf != null;
assert stdenv.lib.versionAtLeast version "4.15" -> utillinux != null;
stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKernelPatches) configfile) // {
name = "linux-${version}";
@ -243,7 +243,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ]
++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools
++ optional (stdenv.lib.versionAtLeast version "4.15") libelf
++ optional (stdenv.lib.versionAtLeast version "4.14") libelf
++ optional (stdenv.lib.versionAtLeast version "4.15") utillinux
;

View File

@ -1,27 +1,33 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, udev, systemd, glib, readline }:
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig
, glib, readline, pcre, systemd, udev }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "miraclecast-0.0-git-20151002";
name = "miraclecast-${version}";
version = "1.0-20170427";
src = fetchFromGitHub {
owner = "albfan";
repo = "miraclecast";
rev = "30b8c2d22391423f76ba582aaaa1e0936869103a";
sha256 = "0i076n76kq64fayc7v06gr1853pk5r6ms86m57vd1xsjd0r9wyxd";
owner = "albfan";
repo = "miraclecast";
rev = "a395c3c7afc39a958ae8ab805dea0f5d22118f0c";
sha256 = "03kbjajv2x0i2g68c5aij0icf9waxnqkc9pp32z60nc8zxy9jk1y";
};
# INFO: It is important to list 'systemd' first as for now miraclecast
# links against a customized systemd. Otherwise, a systemd package from
# a propagatedBuildInput could take precedence.
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ systemd udev glib readline ];
nativeBuildInputs = [ meson ninja pkgconfig ];
meta = {
homepage = https://github.com/albfan/miraclecast;
buildInputs = [ glib pcre readline systemd udev ];
enableParallelBuilding = true;
mesonFlags = [
"-Drely-udev=true"
"-Dbuild-tests=true"
];
meta = with stdenv.lib; {
description = "Connect external monitors via Wi-Fi";
license = licenses.lgpl21Plus;
homepage = https://github.com/albfan/miraclecast;
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ tstrobel ];
platforms = platforms.linux;
platforms = platforms.linux;
};
}

View File

@ -18,15 +18,14 @@ let
in
stdenv.mkDerivation rec {
name = "mwprocapture-1.2.${version}-${kernel.version}";
version = "3589";
version = "3773";
src = fetchurl {
url = "http://www.magewell.com/files/ProCaptureForLinux_${version}.tar.gz";
sha256 = "1arwnwrq52rs8g9zfxw8saip40vc3201sf7qnbqd2p23h8vzwb8i";
url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz";
sha256 = "1ri7c4l4xgkhpz0f15jra1p7mpzi8ir6lpwjm7q7hc9m4cvxcs1g";
};
patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch
++ optional (versionAtLeast kernel.version "4.14") ./linux_4_14_fix.patch;
patches = [ ./linux_4_14_fix.patch ];
preConfigure =
''

View File

@ -1,12 +0,0 @@
diff -Naur ProCaptureForLinux_3589/src/sources/ospi/ospi-linux.h ProCaptureForLinux_3589_new/src/sources/ospi/ospi-linux.h
--- ProCaptureForLinux_3589/src/sources/ospi/ospi-linux.h 2017-08-17 02:46:07.000000000 -0700
+++ ProCaptureForLinux_3589_new/src/sources/ospi/ospi-linux.h 2017-09-03 18:13:31.843510536 -0700
@@ -172,7 +172,7 @@
#else
struct completion done;
#endif
- wait_queue_t waitq; // for multi wait
+ wait_queue_entry_t waitq; // for multi wait
};
typedef struct _os_event_t *os_event_t;

View File

@ -1,57 +1,68 @@
diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.c ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c
--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.c 2017-08-17 02:46:07.000000000 -0700
+++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c 2017-11-13 20:18:50.842947380 -0800
@@ -7,8 +7,8 @@
diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.c ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c
--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.c 2017-12-15 01:59:57.000000000 -0800
+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c 2017-12-23 22:47:33.666823299 -0800
@@ -7,8 +7,9 @@
#include "linux-file.h"
-#include <asm/uaccess.h>
#include <linux/sched.h>
+#include <asm/uaccess.h>
+#include <linux/version.h>
struct file *linux_file_open(const char *path, int flags, int mode)
{
@@ -28,27 +28,27 @@
@@ -28,29 +29,36 @@
filp_close(file, NULL);
}
-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size)
+ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size)
+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
+ return(kernel_read(file, data, size, &offset));
+#else
mm_segment_t oldfs;
ssize_t ret;
oldfs = get_fs();
set_fs(get_ds());
- ret = vfs_read(file, data, size, &offset);
+ ret = kernel_read(file, data, size, &offset);
+ ret = vfs_read(file, (unsigned char *)data, size, &offset);
set_fs(oldfs);
return ret;
+#endif
}
-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size)
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
+ return(kernel_write(file, data, size, &offset));
+#else
mm_segment_t oldfs;
ssize_t ret;
oldfs = get_fs();
set_fs(get_ds());
- ret = vfs_write(file, data, size, &offset);
+ ret = kernel_write(file, data, size, &offset);
+ ret = vfs_write(file, (const unsigned char *)data, size, &offset);
set_fs(oldfs);
return ret;
diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.h ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h
--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.h 2017-08-17 02:46:07.000000000 -0700
+++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h 2017-11-13 20:24:20.979690346 -0800
+#endif
}
-
diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.h ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h
--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.h 2017-12-15 01:59:57.000000000 -0800
+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h 2017-12-23 22:46:22.028545189 -0800
@@ -13,9 +13,9 @@
void linux_file_close(struct file *file);
-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size);
+ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size);
+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size);
-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size);
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size);

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