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 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 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 feature is to replace the default `mkDerivation` function with one that enables
library profiling for all packages. To accomplish that, add configure the library profiling for all packages. To accomplish that add the following
following snippet in your `~/.config/nixpkgs/config.nix` file: snippet to your `~/.config/nixpkgs/config.nix` file:
```nix ```nix
{ {
packageOverrides = super: let self = super.pkgs; in packageOverrides = super: let self = super.pkgs; in

View File

@ -1,10 +1,10 @@
--- ---
title: stdenv.mkShell title: pkgs.mkShell
author: zimbatm author: zimbatm
date: 2017-10-30 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 it combined with nix-shell. It will in fact fail to instantiate when invoked
with nix-build. with nix-build.

View File

@ -71,6 +71,7 @@
./programs/bcc.nix ./programs/bcc.nix
./programs/blcr.nix ./programs/blcr.nix
./programs/browserpass.nix ./programs/browserpass.nix
./programs/ccache.nix
./programs/cdemu.nix ./programs/cdemu.nix
./programs/chromium.nix ./programs/chromium.nix
./programs/command-not-found/command-not-found.nix ./programs/command-not-found/command-not-found.nix
@ -91,6 +92,7 @@
./programs/npm.nix ./programs/npm.nix
./programs/oblogout.nix ./programs/oblogout.nix
./programs/qt5ct.nix ./programs/qt5ct.nix
./programs/rootston.nix
./programs/screen.nix ./programs/screen.nix
./programs/slock.nix ./programs/slock.nix
./programs/shadow.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 let
cfg = config.programs.sway; cfg = config.programs.sway;
sway = pkgs.sway; swayPackage = pkgs.sway;
swayWrapped = pkgs.writeShellScriptBin "sway" '' swayWrapped = pkgs.writeShellScriptBin "sway" ''
if [ "$1" != "" ]; then if [[ "$#" -ge 1 ]]; then
sway-setcap "$@" exec sway-setcap "$@"
exit else
fi
${cfg.extraSessionCommands} ${cfg.extraSessionCommands}
exec ${pkgs.dbus.dbus-launch} --exit-with-session sway-setcap exec ${pkgs.dbus.dbus-launch} --exit-with-session sway-setcap
fi
''; '';
swayJoined = pkgs.symlinkJoin { swayJoined = pkgs.symlinkJoin {
name = "sway-wrapped"; name = "sway-joined";
paths = [ swayWrapped sway ]; paths = [ swayWrapped swayPackage ];
}; };
in in {
{
options.programs.sway = { 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 { extraSessionCommands = mkOption {
default = "";
type = types.lines; type = types.lines;
default = "";
example = '' example = ''
export XKB_DEFAULT_LAYOUT=us,de # Define a keymap (US QWERTY is the default)
export XKB_DEFAULT_VARIANT=,nodeadkeys export XKB_DEFAULT_LAYOUT=de,us
export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle, 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 = '' 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; [ default = with pkgs; [
i3status xwayland rxvt_unicode dmenu i3status xwayland rxvt_unicode dmenu
]; ];
defaultText = literalExample ''
with pkgs; [ i3status xwayland rxvt_unicode dmenu ];
'';
example = literalExample '' example = literalExample ''
with pkgs; [ with pkgs; [
i3status xwayland rxvt_unicode dmenu i3lock light termite
] ]
''; '';
description = '' description = ''
@ -56,7 +66,7 @@ in
environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages; environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages;
security.wrappers.sway = { security.wrappers.sway = {
program = "sway-setcap"; program = "sway-setcap";
source = "${sway}/bin/sway"; source = "${swayPackage}/bin/sway";
capabilities = "cap_sys_ptrace,cap_sys_tty_config=eip"; capabilities = "cap_sys_ptrace,cap_sys_tty_config=eip";
owner = "root"; owner = "root";
group = "sway"; group = "sway";
@ -70,4 +80,6 @@ in
fonts.enableDefaultFonts = mkDefault true; fonts.enableDefaultFonts = mkDefault true;
programs.dconf.enable = mkDefault true; programs.dconf.enable = mkDefault true;
}; };
meta.maintainers = with lib.maintainers; [ gnidorah primeos ];
} }

View File

@ -55,7 +55,7 @@ in {
enable = mkOption { enable = mkOption {
default = false; default = false;
description = '' 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 { databasePassword = mkOption {
type = types.str; type = types.str;
default = "";
description = "Gitlab database user password."; description = "Gitlab database user password.";
}; };
@ -440,12 +439,6 @@ in {
environment.systemPackages = [ pkgs.git gitlab-rake cfg.packages.gitlab-shell ]; 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. # Redis is required for the sidekiq queue runner.
services.redis.enable = mkDefault true; services.redis.enable = mkDefault true;
# We use postgres as the main data store. # We use postgres as the main data store.

View File

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

View File

@ -47,7 +47,7 @@ in
export GTK_DATA_PREFIX=${config.system.path} export GTK_DATA_PREFIX=${config.system.path}
# find theme engines # find theme engines
export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0 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}" export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}"

View File

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

View File

@ -47,7 +47,7 @@ in
# Find theme engines # Find theme engines
export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0 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 # Find the mouse
export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons 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 mklabel msdos
${pkgs.parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s ${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/mkfs.ext4 /dev/vda1
${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1 ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
mkdir /mnt mkdir /mnt

View File

@ -2,22 +2,30 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qsynth-${version}"; name = "qsynth-${version}";
version = "0.4.4"; version = "0.5.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/qsynth/${name}.tar.gz"; 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 ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ]; buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ];
enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Fluidsynth GUI"; description = "Fluidsynth GUI";
homepage = https://sourceforge.net/projects/qsynth; homepage = https://sourceforge.net/projects/qsynth;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ goibhniu ];
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ];
}; };
} }

View File

@ -11,12 +11,12 @@
assert stdenv ? glibc; assert stdenv ? glibc;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.2.5"; version = "2.4.0";
name = "darktable-${version}"; name = "darktable-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "10gjzd4irxhladh4jyss9kgp627k8vgx2divipsb33pp6cms80z3"; sha256 = "0y0q7a7k09sbg05k5xl1lz8n2ak1v8yarfv222ksvmbrxs53hdwx";
}; };
buildInputs = buildInputs =
@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
homepage = https://www.darktable.org; homepage = https://www.darktable.org;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux; 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 { stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf
, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff , pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper , webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
, python2Packages, libart_lgpl, libexif, gettext, xorg , python2Packages, libexif, gettext, xorg
, AppKit, Cocoa, gtk-mac-integration }: , AppKit, Cocoa, gtk-mac-integration }:
let let
@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
[ pkgconfig intltool babl gegl gtk2 glib gdk_pixbuf pango cairo [ pkgconfig intltool babl gegl gtk2 glib gdk_pixbuf pango cairo
freetype fontconfig lcms libpng libjpeg poppler libtiff webkit freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
libmng librsvg libwmf zlib libzip ghostscript aalib jasper libmng librsvg libwmf zlib libzip ghostscript aalib jasper
python pygtk libart_lgpl libexif gettext xorg.libXpm python pygtk libexif gettext xorg.libXpm
wrapPython wrapPython
] ]
++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ]; ++ 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; with python3Packages;
buildPythonApplication rec { buildPythonApplication rec {
version = "0.5.1"; version = "0.6.0";
name = "kitty-${version}"; name = "kitty-${version}";
format = "other"; format = "other";
@ -10,10 +10,10 @@ buildPythonApplication rec {
owner = "kovidgoyal"; owner = "kovidgoyal";
repo = "kitty"; repo = "kitty";
rev = "v${version}"; 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 ]; nativeBuildInputs = [ pkgconfig ];
@ -38,6 +38,7 @@ buildPythonApplication rec {
homepage = https://github.com/kovidgoyal/kitty; homepage = https://github.com/kovidgoyal/kitty;
description = "A modern, hackable, featureful, OpenGL based terminal emulator"; description = "A modern, hackable, featureful, OpenGL based terminal emulator";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ tex ]; 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 = [ makeFlags = [
"PREFIX=$(out)" "PREFIX=$(out)"
"RSTTOMAN=${docutils}/bin/rst2man.py"
"VERBOSE=1" "VERBOSE=1"
"TPUT=${ncurses.out}/bin/tput" "TPUT=${ncurses.out}/bin/tput"
(optionalString synctexSupport "WITH_SYNCTEX=1") (optionalString synctexSupport "WITH_SYNCTEX=1")

View File

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

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

View File

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

View File

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

View File

@ -14,12 +14,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "man" ]; outputs = [ "out" "man" ];
buildInputs = [ docutils makeWrapper ]; nativeBuildInputs = [ 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
'';
installPhase = '' installPhase = ''
prefix="$out" ./install.sh prefix="$out" ./install.sh

View File

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

View File

@ -1,20 +1,52 @@
{ stdenv { stdenv
, fetchFromGitHub , fetchFromGitHub
, autoreconfHook }: , autoreconfHook
, gnutar
, which
, gnugrep
, coreutils
, python
, e2fsprogs
, makeWrapper
, squashfsTools
, gzip
, gnused
, curl
, utillinux
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "singularity-${version}"; 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 { src = fetchFromGitHub {
owner = "singularityware"; owner = "singularityware";
repo = "singularity"; repo = "singularity";
rev = version; rev = version;
sha256 = "19g43gfdy5s8y4252474cp39d6ypn5dd37wp0s21fgd13vqy26px"; sha256 = "1hi1ag1lb2x4djbz4x34wix83ymx0g9mzn2md6yrpiflc1d85rjz";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook makeWrapper ];
buildInputs = [ ]; buildInputs = [ coreutils gnugrep python e2fsprogs which gnutar squashfsTools gzip gnused curl utillinux ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://singularity.lbl.gov/; 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; python = python2;
buildType = "release"; buildType = "release";
# Manually sha256sum the extensionPack file, must be hex! # Manually sha256sum the extensionPack file, must be hex!
extpack = "9328548ca8cbc526232c0631cb5a17618c771b07665b362c1e3d89a2425bf799"; # Do not forget to update the hash in ./guest-additions/default.nix!
extpackRev = "119230"; extpack = "98e9df4f23212c3de827af9d770b391cf2dba8d21f4de597145512c1479302cd";
main = "05y03fcp013gc500q34bj6hvx1banib41v8l3hcxknzfgwq0rarm"; extpackRev = "119785";
version = "5.2.2"; main = "053xpf0kxrig4jq5djfz9drhkxy1x5a4p9qvgxc0b3hnk6yn1869";
version = "5.2.4";
# See https://github.com/NixOS/nixpkgs/issues/672 for details # See https://github.com/NixOS/nixpkgs/issues/672 for details
extensionPack = requireFile rec { extensionPack = requireFile rec {
@ -205,8 +206,9 @@ in stdenv.mkDerivation {
meta = { meta = {
description = "PC emulator"; description = "PC emulator";
license = licenses.gpl2;
homepage = http://www.virtualbox.org/; homepage = http://www.virtualbox.org/;
maintainers = [ lib.maintainers.sander ]; maintainers = with maintainers; [ flokli sander ];
platforms = [ "x86_64-linux" "i686-linux" ]; platforms = [ "x86_64-linux" "i686-linux" ];
}; };
} }

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "1f0vm20qdjxqsbciwgybxqqpn609gj5dy68an8lpi1wlk93s05w3"; sha256 = "0qhsr6vc48ld2p9q3a6n6rfg57rsn163axr3r1m2yqr2snr4pnk0";
}; };
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; 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" export LC_ALL="en_US.UTF-8"
fi; fi;
# Pipe the "p" character into Subversion to force it to accept the svn export --trust-server-cert --non-interactive \
# 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 \
${ignoreExternals:+--ignore-externals} ${ignoreKeywords:+--ignore-keywords} \ ${ignoreExternals:+--ignore-externals} ${ignoreKeywords:+--ignore-keywords} \
-r "$rev" "$url" "$out" -r "$rev" "$url" "$out"

View File

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

View File

@ -39,13 +39,13 @@ if [ "$oldVersion" = "$newVersion" ]; then
exit 0 exit 0
fi fi
# Escape dots, there should not be any other regex characters allowed in store path names # Escape regex metacharacter that are allowed in store path names
oldVersion=$(echo "$oldVersion" | sed -re 's|\.|\\.|g') 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\"|" pattern="/\bversion\b\s*=/ s|\"$oldVersion\"|\"$newVersion\"|"
elif [ $(grep -c -E "^\s*(let\b)?\s*name\s+=\s+\"$drvName-$oldVersion\"" "$nixFile") = 1 ]; then elif [ $(grep -c -E "^\s*(let\b)?\s*name\s*=\s*\"[^\"]+-$oldVersion\"" "$nixFile") = 1 ]; then
pattern="/\bname\b\s*=/ s|\"$drvName-$oldVersion\"|\"$drvName-$newVersion\"|" pattern="/\bname\b\s*=/ s|-$oldVersion\"|-$newVersion\"|"
else else
die "Couldn't figure out where out where to patch in new version in '$attr'!" die "Couldn't figure out where out where to patch in new version in '$attr'!"
fi fi
@ -74,7 +74,7 @@ fi
if [ -z "$newHash" ]; then if [ -z "$newHash" ]; then
nix-build --no-out-link -A "$attr.src" 2>"$attr.fetchlog" >/dev/null || true 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 # 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 fi
if [ -z "$newHash" ]; then if [ -z "$newHash" ]; then
@ -82,6 +82,11 @@ if [ -z "$newHash" ]; then
die "Couldn't figure out new hash of '$attr.src'!" die "Couldn't figure out new hash of '$attr.src'!"
fi 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\"|" sed -i "$nixFile" -re "s|\"$tempHash\"|\"$newHash\"|"
if cmp -s "$nixFile" "$nixFile.bak"; then if cmp -s "$nixFile" "$nixFile.bak"; then
die "Failed to replace temporary source hash of '$attr' to the final source hash!" 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}"; name = "caja-extensions-${version}";
version = "${major-ver}.${minor-ver}"; version = "${major-ver}.${minor-ver}";
major-ver = "1.18"; major-ver = "1.18";
minor-ver = "1"; minor-ver = "2";
src = fetchurl { src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz"; url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
sha256 = "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw"; sha256 = "065j3dyk7zp35rfvxxsdglx30i3xrma4d4saf7mn1rn1akdfgaba";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,29 +2,33 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "crystal-${version}"; name = "crystal-${version}";
version = "0.23.1"; version = "0.24.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/crystal-lang/crystal/archive/${version}.tar.gz"; 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 = { prebuiltSrc = let arch = {
"x86_64-linux" = "linux-x86_64"; "x86_64-linux" = "linux-x86_64";
"i686-linux" = "linux-i686"; "i686-linux" = "linux-i686";
"x86_64-darwin" = "darwin-x86_64"; "x86_64-darwin" = "darwin-x86_64";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
in fetchurl { 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 = { sha256 = {
"x86_64-linux" = "0nhs7swbll8hrk15kmmywngkhij80x62axiskb1gjmiwvzhlh0qx"; "x86_64-linux" = "19xchfzsyxh0gqi89y6d73iqc06bl097idz6905jf0i35x9ghpdp";
"i686-linux" = "03xp8d3lqflzzm26lpdn4yavj87qzgd6xyrqxp2pn9ybwrq8fx8a"; "i686-linux" = "15zaxgc1yc9ixbsgy2d8g8d7x2w4vbnndi1ms3wf0ss8azmghiag";
"x86_64-darwin" = "1prz6c1gs8z7dgpdy2id2mjn1c8f5p2bf9b39985bav448njbyjz"; "x86_64-darwin" = "1818ahalahcbh974ai09hyfsns6njkpph4sbn4xwv2235x35dqib";
}."${stdenv.system}"; }."${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 # crystal on Darwin needs libiconv to build
libs = [ libs = [
@ -41,25 +45,17 @@ stdenv.mkDerivation rec {
sourceRoot = "${name}"; 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 = '' preBuild = ''
patchShebangs bin/crystal patchShebangs bin/crystal
patchShebangs ../${prebuiltName}/bin/crystal patchShebangs ../${prebuiltName}/bin/crystal
${fixPrebuiltBinary}
export PATH="$(pwd)/../${prebuiltName}/bin:$PATH" 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 = '' installPhase = ''
install -Dm755 .build/crystal $out/bin/crystal install -Dm755 .build/crystal $out/bin/crystal
@ -70,7 +66,7 @@ stdenv.mkDerivation rec {
cp -r src/* $out/lib/crystal/ cp -r src/* $out/lib/crystal/
install -dm755 $out/share/doc/crystal/api 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/ cp -r samples $out/share/doc/crystal/
install -Dm644 etc/completion.bash $out/share/bash-completion/completions/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 # https://github.com/takano-akio/filelock/issues/5
filelock = dontCheck super.filelock; 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-2.5.0 doesn't want happy 1.19.6+.
cryptol = super.cryptol.override { happy = self.happy_1_19_5; }; 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 needs a newer version than lts-10 provides.
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; }; hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_20_1; };
# These packages depend on each other, forming an infinte loop. # These packages depend on each other, forming an infinite loop.
scalendar = markBroken super.scalendar; scalendar = null;
SCalendar = markBroken super.SCalendar; SCalendar = null;
# Needs QuickCheck <2.10, which we don't have. # Needs QuickCheck <2.10, which we don't have.
edit-distance = doJailbreak super.edit-distance; 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: { self: super: {
# Suitable LLVM version. # Suitable LLVM version.
llvmPackages = pkgs.llvmPackages_35; llvmPackages = pkgs.llvmPackages_37;
# Disable GHC 8.0.x core libraries. # Disable GHC 8.0.x core libraries.
array = null; array = null;

File diff suppressed because it is too large Load Diff

View File

@ -32,9 +32,10 @@ let
setOutputFlags = false; setOutputFlags = false;
patches = 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") ( ++ optional (versionAtLeast version "5.24") (
# Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360 # Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360
fetchurlBoot { fetchurlBoot {
@ -133,4 +134,9 @@ in rec {
version = "5.24.3"; version = "5.24.3";
sha256 = "1m2px85kq2fyp2d4rx3bw9kg3car67qfqwrs5vlv96dx0x8rl06b"; 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; doCheck = true;
buildInputs = [ buildInputs = [
babl libpng cairo libjpeg librsvg pango gtk bzip2 json_glib libpng cairo libjpeg librsvg pango gtk bzip2
libraw libwebp gnome3.gexiv2 libraw libwebp gnome3.gexiv2
]; ];
propagatedBuildInputs = [ glib json_glib babl ]; # for gegl-3.0.pc
nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ]; nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
meta = { 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 { stdenv.mkDerivation rec {
version = "2.6.0";
name = "openwsman-${version}"; name = "openwsman-${version}";
version = "2.6.5";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/Openwsman/openwsman/archive/v${version}.tar.gz"; owner = "Openwsman";
sha256 = "0gw2dsjxzpchg3s85kplwgp9xhd9l7q4fh37iy7r203pvir4k6s4"; repo = "openwsman";
rev = "v${version}";
sha256 = "1r0zslgpcr4m20car4s3hsccy10xcb39qhpw3dhpjv42xsvvs5xv";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ autoconf automake libtool libxml2 curl cmake pam sblim-sfcc ];
buildInputs = [ curl libxml2 pam sblim-sfcc ];
cmakeFlags = [ cmakeFlags = [
"-DCMAKE_BUILD_RUBY_GEM=no" "-DCMAKE_BUILD_RUBY_GEM=no"
@ -22,18 +26,13 @@ stdenv.mkDerivation rec {
configureFlags = "--disable-more-warnings"; configureFlags = "--disable-more-warnings";
meta = { meta = with stdenv.lib; {
description = "Openwsman server implementation and client api with bindings"; description = "Openwsman server implementation and client API with bindings";
downloadPage = https://github.com/Openwsman/openwsman/releases;
homepage = https://github.com/Openwsman/openwsman; homepage = https://openwsman.github.io;
downloadPage = "https://github.com/Openwsman/openwsman/releases"; license = licenses.bsd3;
maintainers = with maintainers; [ deepfire ];
maintainers = [ stdenv.lib.maintainers.deepfire ]; platforms = platforms.unix;
license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
inherit version; inherit version;
}; };
} }

View File

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

View File

@ -2,15 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rivet-${version}"; name = "rivet-${version}";
version = "2.5.4"; version = "2.6.0";
src = fetchurl { src = fetchurl {
url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2"; url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
sha256 = "1qi7am60f2l4krd3sbj95mbzfk82lir0wy8z27yr9ncq6qcm48kp"; sha256 = "1mvsa3v8d1pl2fj1dcdf8sikzm1yb2jcl0q34fyfsjw2cisxpv5f";
}; };
postPatch = "patchShebangs ./src/Analyses/cat_with_lines";
patches = [ patches = [
./darwin.patch # configure relies on impure sw_vers to -Dunix ./darwin.patch # configure relies on impure sw_vers to -Dunix
]; ];
@ -29,6 +27,13 @@ stdenv.mkDerivation rec {
buildInputs = [ hepmc imagemagick python2 latex makeWrapper ]; buildInputs = [ hepmc imagemagick python2 latex makeWrapper ];
propagatedBuildInputs = [ fastjet ghostscript gsl yoda ]; 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 = '' preInstall = ''
substituteInPlace bin/make-plots \ substituteInPlace bin/make-plots \
--replace '"which"' '"${which}/bin/which"' \ --replace '"which"' '"${which}/bin/which"' \
@ -40,10 +45,6 @@ stdenv.mkDerivation rec {
--replace '"convert"' '"${imagemagick.out}/bin/convert"' --replace '"convert"' '"${imagemagick.out}/bin/convert"'
substituteInPlace bin/rivet \ substituteInPlace bin/rivet \
--replace '"less"' '"${less}/bin/less"' --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 \ substituteInPlace bin/rivet-mkhtml \
--replace '"make-plots"' \"$out/bin/make-plots\" \ --replace '"make-plots"' \"$out/bin/make-plots\" \
--replace '"rivet-cmphistos"' \"$out/bin/rivet-cmphistos\" --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 { stdenv.mkDerivation rec {
name = "yoda-${version}"; name = "yoda-${version}";
version = "1.6.7"; version = "1.7.0";
src = fetchurl { src = fetchurl {
url = "http://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2"; url = "http://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
sha256 = "05jyv5dypa6d4q1m8wm2qycgq1i0bgzwzzm9qqdj0b43ff2kggra"; sha256 = "0fyf6ld1klzlfmr5sl1jxzck4a0h14zfkrff8397rn1fqnqbzmmk";
}; };
pythonPath = []; # python wrapper support pythonPath = []; # python wrapper support
buildInputs = with python2Packages; [ python numpy matplotlib makeWrapper ] buildInputs = with python2Packages; [ python numpy matplotlib makeWrapper ]
++ stdenv.lib.optional withRootSupport root; ++ stdenv.lib.optional withRootSupport root;
propagatedBuildInputs = [ zlib ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -1,30 +1,28 @@
{ fetchgit, stdenv, autoconf, automake, libtool, curl }: { stdenv, fetchFromGitHub, autoreconfHook, curl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.2.9";
name = "sblim-sfcc-${version}"; name = "sblim-sfcc-${version}";
version = "2.2.9"; # this is technically 2.2.9-preview
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/kkaempf/sblim-sfcc.git"; owner = "kkaempf";
rev = "f70fecb410a53531e4fe99d39cf81b581819cac9"; repo = "sblim-sfcc";
sha256 = "1hsxim284qzldh599gf6khxj80g8q5263xl3lj3hdndxbhbs843v"; 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"; description = "Small Footprint CIM Client Library";
homepage = https://sourceforge.net/projects/sblim/; homepage = https://sourceforge.net/projects/sblim/;
license = licenses.cpl10;
maintainers = [ stdenv.lib.maintainers.deepfire ]; maintainers = with maintainers; [ deepfire ];
platforms = platforms.unix;
license = stdenv.lib.licenses.cpl10;
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
inherit version; inherit version;
}; };
} }

View File

@ -35,6 +35,8 @@ in stdenv.mkDerivation rec {
mkdir $bin/lib mkdir $bin/lib
cp libwlroots.so $bin/lib/ cp libwlroots.so $bin/lib/
patchelf --set-rpath "$bin/lib:${stdenv.lib.makeLibraryPath buildInputs}" $bin/bin/rootston 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; { 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 , python
, pexpect , pexpect
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "bash_kernel"; pname = "bash_kernel";
version = "0.7.1"; version = "0.7.1";
@ -28,11 +29,11 @@ buildPythonPackage rec {
propagatedBuildInputs = [ ipykernel pexpect ]; propagatedBuildInputs = [ ipykernel pexpect ];
# no tests
doCheck = false; doCheck = false;
preBuild = '' preBuild = ''
mkdir tmp export HOME=$TMPDIR
export HOME=$PWD/tmp
''; '';
postInstall = '' 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"; pname = "bitcoinlib";
version = "0.9.0"; version = "0.9.0";
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -15,7 +16,7 @@ buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace bitcoin/core/key.py --replace \ substituteInPlace bitcoin/core/key.py --replace \
"ctypes.util.find_library('ssl') or 'libeay32'" \ "ctypes.util.find_library('ssl') or 'libeay32'" \
"\"${openssl.out}/lib/libssl.so\"" "'${openssl.out}/lib/libssl.${ext}'"
''; '';
meta = { 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 { buildPythonPackage rec {
pname = "CCColUtils"; pname = "CCColUtils";
@ -9,9 +9,11 @@ buildPythonPackage rec {
inherit pname version; inherit pname version;
sha256 = "1gwcq4xan9as1j3q9k2zqrywxp46qx0ljwxbck9id2fvilds6ck3"; sha256 = "1gwcq4xan9as1j3q9k2zqrywxp46qx0ljwxbck9id2fvilds6ck3";
}; };
buildInputs = [ krb5Full ]; buildInputs = [ krb5Full ];
propagatedBuildInputs = [ nose GitPython mock git ]; propagatedBuildInputs = [ nose GitPython mock git ];
doCheck = false;
doCheck = isPy3k; # needs unpackaged module to run tests on python2
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Python Kerberos 5 Credential Cache Collection Utilities"; description = "Python Kerberos 5 Credential Cache Collection Utilities";

View File

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

View File

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

View File

@ -11,6 +11,12 @@ buildPythonPackage rec {
sha256 = "1q6ccpz6anl9vggwxdq32wp6xjh2lyfbf7av6jqnmvmyqdfwh3b9"; sha256 = "1q6ccpz6anl9vggwxdq32wp6xjh2lyfbf7av6jqnmvmyqdfwh3b9";
}; };
# 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"; LD_LIBRARY_PATH = "${pkgs.krb5Full}/lib";
buildInputs = [ krb5Full which nose shouldbe ] buildInputs = [ krb5Full which nose shouldbe ]

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,17 +4,17 @@ with python27Packages;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "google-app-engine-go-sdk-${version}"; name = "google-app-engine-go-sdk-${version}";
version = "1.9.55"; version = "1.9.61";
src = src =
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
fetchzip { fetchzip {
url = "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-${version}.zip"; url = "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-${version}.zip";
sha256 = "1gwrmqs69h3wbx6z0a7shdr8gn1qiwrkvh3pg6mi7dybwmd1x61h"; sha256 = "1i2j9ympl1218akwsmm7yb31v0gibgpzlb657bcravi1irfv1hhs";
} }
else else
fetchzip { fetchzip {
url = "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_darwin_amd64-${version}.zip"; url = "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_darwin_amd64-${version}.zip";
sha256 = "0b8r2fqg9m285ifz0jahd4wasv7cq61nr6p1k664w021r5y5lbvr"; sha256 = "0s8sqyc72lnc7dxd4cl559gyfx83x71jjpsld3i3nbp3mwwamczp";
}; };
buildInputs = [python27 makeWrapper]; buildInputs = [python27 makeWrapper];
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
cp -r "$src" "$out/share/go_appengine" cp -r "$src" "$out/share/go_appengine"
# create wrappers with correct env # 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" \ makeWrapper "$out/share/go_appengine/$i" "$out/bin/$i" \
--prefix PATH : "${python27}/bin" \ --prefix PATH : "${python27}/bin" \
--prefix PYTHONPATH : "$(toPythonPath ${cffi}):$(toPythonPath ${cryptography}):$(toPythonPath ${pyopenssl})" --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 "-". # where the ultimate "_" (before the version) is changed to a "-".
binDists = { binDists = {
x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in { x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
alpha = bdist { sha256 = "0y6d7pvf3dgyll175323xp4zmrbyrjn73zrb478y1gpl6dqh064d"; fetcher = authenticatedFetch; }; alpha = bdist { sha256 = "1i25q8x80qdpmf00lvml67gyklrfvmr4gfyakrx954bq8giiy4ll"; fetcher = authenticatedFetch; };
headless = bdist { sha256 = "1agkra3qq11la307ymsfb7v358wc2s2mdpmfbc5n0sb4gnmnqazq"; }; headless = bdist { sha256 = "0v5sypz1q6x6hi6k5cyi06f9ld0cky80l0z64psd3v2ax9hyyh8h"; };
demo = bdist { sha256 = "03nwn4838yhqq0r76pf2m4wxi32rsq0knsxmq3qq4ycji89q1dyc"; version = "0.15.33"; }; demo = bdist { sha256 = "0aca8gks7wl7yi821bcca16c94zcc41agin5j0vfz500i0sngzzw"; version = "0.15.36"; };
}; };
i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in { i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in {
alpha = bdist { sha256 = "0nnfkxxqnywx1z05xnndgh71gp4izmwdk026nnjih74m2k5j086l"; version = "0.14.23"; nameMut = asGz; }; 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"); actual = binDists.${stdenv.system}.${releaseType} or (throw "Factorio: unsupported platform");
bdistForArch = arch: { sha256 ? null bdistForArch = arch: { sha256 ? null
, version ? "0.15.37" , version ? "0.15.40"
, fetcher ? fetchurl , fetcher ? fetchurl
, nameMut ? x: x , 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 , pcre, gettext, libpthreadstubs, libXrandr, libXext, libSM, readline
, openal, libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev , openal, libXdmcp, portaudio, libusb, libevdev
, libpulseaudio ? null }: , 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 { stdenv.mkDerivation rec {
name = "dolphin-emu-20170902"; name = "dolphin-emu-20171218";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dolphin-emu"; owner = "dolphin-emu";
repo = "dolphin"; repo = "dolphin";
rev = "b073db51e5f3df8c9890e09a3f4f8a2276c31e3f"; rev = "438e8b64a4b080370c7a65ed23af52838a4e7aaa";
sha256 = "0pr5inkd7swc6s7im7axhvmkdbqidhrha2wpflnr25aiwq0dzm10"; sha256 = "0rrd0g1vg9jk1p4wdr6w2z34cabb7pgmpwfcl2a372ark3vi4ysc";
}; };
cmakeFlags = '' cmakeFlags = [
-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0 "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
-DENABLE_LTO=True "-DENABLE_LTO=True"
''; ] ++ stdenv.lib.optionals (!dolphin-qtgui) [ "-DENABLE_QT2=False" ]
++ stdenv.lib.optionals stdenv.isDarwin [ "-DOSX_USE_DEFAULT_SEARCH_PATH=True" ];
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ gcc cmake bluez ffmpeg libao mesa gtk2 glib pcre
buildInputs = [ curl ffmpeg libao mesa gtk2 glib pcre
gettext libpthreadstubs libXrandr libXext libSM readline openal 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 = { meta = {
homepage = http://dolphin-emu.org/; homepage = http://dolphin-emu.org/;
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM"; description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
maintainers = with stdenv.lib.maintainers; [ MP2E ]; maintainers = with stdenv.lib.maintainers; [ MP2E ];
branch = "master";
# x86_32 is an unsupported platform. # x86_32 is an unsupported platform.
# Enable generic build if you really want a JIT-less binary. # 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; with stdenv.lib;
import ./generic.nix (args // rec { 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 needs to be x.y.z, will automatically add .0 if needed
modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))); modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@ -13,6 +13,6 @@ import ./generic.nix (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0cwk9liv79hw5l34xvwnf05spx1jvv8q8w9lfbw4lw8xldxwbg3f"; sha256 = "1vqllh36wss4dsdvb12zchy6hjaniyxcla5cg8962xrkim2bpk6g";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

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

View File

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

View File

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

View File

@ -18,15 +18,14 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mwprocapture-1.2.${version}-${kernel.version}"; name = "mwprocapture-1.2.${version}-${kernel.version}";
version = "3589"; version = "3773";
src = fetchurl { src = fetchurl {
url = "http://www.magewell.com/files/ProCaptureForLinux_${version}.tar.gz"; url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz";
sha256 = "1arwnwrq52rs8g9zfxw8saip40vc3201sf7qnbqd2p23h8vzwb8i"; sha256 = "1ri7c4l4xgkhpz0f15jra1p7mpzi8ir6lpwjm7q7hc9m4cvxcs1g";
}; };
patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch patches = [ ./linux_4_14_fix.patch ];
++ optional (versionAtLeast kernel.version "4.14") ./linux_4_14_fix.patch;
preConfigure = 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 diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.c ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c
--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.c 2017-08-17 02:46:07.000000000 -0700 --- ProCaptureForLinux_3773/src/sources/ospi/linux-file.c 2017-12-15 01:59:57.000000000 -0800
+++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c 2017-11-13 20:18:50.842947380 -0800 +++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c 2017-12-23 22:47:33.666823299 -0800
@@ -7,8 +7,8 @@ @@ -7,8 +7,9 @@
#include "linux-file.h" #include "linux-file.h"
-#include <asm/uaccess.h> -#include <asm/uaccess.h>
#include <linux/sched.h> #include <linux/sched.h>
+#include <asm/uaccess.h> +#include <asm/uaccess.h>
+#include <linux/version.h>
struct file *linux_file_open(const char *path, int flags, int mode) struct file *linux_file_open(const char *path, int flags, int mode)
{ {
@@ -28,27 +28,27 @@ @@ -28,29 +29,36 @@
filp_close(file, NULL); 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, 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; mm_segment_t oldfs;
ssize_t ret; ssize_t ret;
oldfs = get_fs(); oldfs = get_fs();
set_fs(get_ds()); set_fs(get_ds());
- ret = vfs_read(file, data, size, &offset); - 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); set_fs(oldfs);
return ret; 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, unsigned char *data, size_t size)
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *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; mm_segment_t oldfs;
ssize_t ret; ssize_t ret;
oldfs = get_fs(); oldfs = get_fs();
set_fs(get_ds()); set_fs(get_ds());
- ret = vfs_write(file, data, size, &offset); - 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); set_fs(oldfs);
return ret; return ret;
diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.h ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h +#endif
--- 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 -
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 @@ @@ -13,9 +13,9 @@
void linux_file_close(struct file *file); 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, 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, unsigned char *data, size_t size);
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *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