diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 0b3475fefb9c..25df5e174069 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -66,6 +66,46 @@ rec {
# uname -r
release = null;
};
+
+ qemuArch =
+ if final.isArm then "arm"
+ else if final.isx86_64 then "x86_64"
+ else if final.isx86 then "i386"
+ else {
+ "powerpc" = "ppc";
+ "powerpc64" = "ppc64";
+ "powerpc64le" = "ppc64";
+ "mips64" = "mips";
+ "mipsel64" = "mipsel";
+ }.${final.parsed.cpu.name} or final.parsed.cpu.name;
+
+ emulator = pkgs: let
+ qemu-user = pkgs.qemu.override {
+ smartcardSupport = false;
+ spiceSupport = false;
+ openGLSupport = false;
+ virglSupport = false;
+ vncSupport = false;
+ gtkSupport = false;
+ sdlSupport = false;
+ pulseSupport = false;
+ smbdSupport = false;
+ seccompSupport = false;
+ hostCpuTargets = ["${final.qemuArch}-linux-user"];
+ };
+ wine-name = "wine${toString final.parsed.cpu.bits}";
+ wine = (pkgs.winePackagesFor wine-name).minimal;
+ in
+ if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name &&
+ (final.parsed.cpu.name == pkgs.stdenv.hostPlatform.parsed.cpu.name ||
+ (final.platform.isi686 && pkgs.stdenv.hostPlatform.isx86_64))
+ then pkgs.runtimeShell
+ else if final.isWindows
+ then "${wine}/bin/${wine-name}"
+ else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux
+ then "${qemu-user}/bin/qemu-${final.qemuArch}"
+ else throw "Don't know how to run ${final.config} executables.";
+
} // mapAttrs (n: v: v final.parsed) inspect.predicates
// args;
in assert final.useAndroidPrebuilt -> final.isAndroid;
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index acd673df666f..c799b9ec4496 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -2,7 +2,14 @@
# `crossSystem`. They are put here for user convenience, but also used by cross
# tests and linux cross stdenv building, so handle with care!
{ lib }:
-let platforms = import ./platforms.nix { inherit lib; }; in
+let
+ platforms = import ./platforms.nix { inherit lib; };
+
+ riscv = bits: {
+ config = "riscv${bits}-unknown-linux-gnu";
+ platform = platforms.riscv-multiplatform bits;
+ };
+in
rec {
#
@@ -92,10 +99,6 @@ rec {
musl64 = { config = "x86_64-unknown-linux-musl"; };
musl32 = { config = "i686-unknown-linux-musl"; };
- riscv = bits: {
- config = "riscv${bits}-unknown-linux-gnu";
- platform = platforms.riscv-multiplatform bits;
- };
riscv64 = riscv "64";
riscv32 = riscv "32";
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml
index cedd5fc21c6d..376a5355f7c9 100644
--- a/nixos/doc/manual/release-notes/rl-1903.xml
+++ b/nixos/doc/manual/release-notes/rl-1903.xml
@@ -241,8 +241,22 @@
(networking.firewall.interfaces.default.*), and assigning
to this pseudo device will override the (networking.firewall.allow*)
options.
-
-
+
+
+
+
+ GitLab Shell previously used the nix store paths for the
+ gitlab-shell command in its
+ authorized_keys file, which might stop working after
+ garbage collection. To circumvent that, we regenerated that file on each
+ startup. As gitlab-shell has now been changed to use
+ /var/run/current-system/sw/bin/gitlab-shell, this is
+ not necessary anymore, but there might be leftover lines with a nix store
+ path. Regenerate the authorized_keys file via
+ sudo -u git -H gitlab-rake gitlab:shell:setup in that
+ case.
+
+
diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix
index 6bf8c653e113..dc7305b1ba24 100644
--- a/nixos/modules/config/i18n.nix
+++ b/nixos/modules/config/i18n.nix
@@ -34,6 +34,17 @@ with lib;
'';
};
+ extraLocaleSettings = mkOption {
+ type = types.attrsOf types.str;
+ default = {};
+ example = { LC_MESSAGES = "en_US.UTF-8"; LC_TIME = "de_DE.UTF-8"; };
+ description = ''
+ A set of additional system-wide locale settings other than
+ LANG which can be configured with
+ .
+ '';
+ };
+
supportedLocales = mkOption {
type = types.listOf types.str;
default = ["all"];
@@ -129,7 +140,7 @@ with lib;
environment.sessionVariables =
{ LANG = config.i18n.defaultLocale;
LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
- };
+ } // config.i18n.extraLocaleSettings;
systemd.globalEnvironment = mkIf (config.i18n.supportedLocales != []) {
LOCALE_ARCHIVE = "${config.i18n.glibcLocales}/lib/locale/locale-archive";
@@ -141,6 +152,7 @@ with lib;
source = pkgs.writeText "locale.conf"
''
LANG=${config.i18n.defaultLocale}
+ ${concatStringsSep "\n" (mapAttrsToList (n: v: ''${n}=${v}'') config.i18n.extraLocaleSettings)}
'';
};
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 15fa7b1ac36a..75e8446523f9 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -332,6 +332,7 @@
./services/mail/rspamd.nix
./services/mail/rss2email.nix
./services/mail/rmilter.nix
+ ./services/mail/roundcube.nix
./services/mail/nullmailer.nix
./services/misc/airsonic.nix
./services/misc/apache-kafka.nix
diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix
index 7e14b0e21143..2a2fe119d30c 100644
--- a/nixos/modules/profiles/base.nix
+++ b/nixos/modules/profiles/base.nix
@@ -49,7 +49,7 @@
];
# Include support for various filesystems.
- boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
+ boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ];
# Configure host id for ZFS to work
networking.hostId = lib.mkDefault "8425e349";
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index 415a70ea5ad4..bf41aee8fe0e 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -191,7 +191,7 @@ in {
options = {
paths = mkOption {
- type = with types; either path (nonEmptyListOf path);
+ type = with types; either path (listOf str);
description = "Path(s) to back up.";
example = "/home/user";
apply = x: if isList x then x else [ x ];
diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix
new file mode 100644
index 000000000000..6d81c7374f4d
--- /dev/null
+++ b/nixos/modules/services/mail/roundcube.nix
@@ -0,0 +1,153 @@
+{ lib, config, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.roundcube;
+in
+{
+ options.services.roundcube = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to enable roundcube.
+
+ Also enables nginx virtual host management.
+ Further nginx configuration can be done by adapting services.nginx.virtualHosts.<name>.
+ See for further information.
+ '';
+ };
+
+ hostName = mkOption {
+ type = types.str;
+ example = "webmail.example.com";
+ description = "Hostname to use for the nginx vhost";
+ };
+
+ database = {
+ username = mkOption {
+ type = types.str;
+ default = "roundcube";
+ description = "Username for the postgresql connection";
+ };
+ host = mkOption {
+ type = types.str;
+ default = "localhost";
+ description = ''
+ Host of the postgresql server. If this is not set to
+ localhost, you have to create the
+ postgresql user and database yourself, with appropriate
+ permissions.
+ '';
+ };
+ password = mkOption {
+ type = types.str;
+ description = "Password for the postgresql connection";
+ };
+ dbname = mkOption {
+ type = types.str;
+ default = "roundcube";
+ description = "Name of the postgresql database";
+ };
+ };
+
+ plugins = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ description = ''
+ List of roundcube plugins to enable. Currently, only those directly shipped with Roundcube are supported.
+ '';
+ };
+
+ extraConfig = mkOption {
+ type = types.lines;
+ default = "";
+ description = "Extra configuration for roundcube webmail instance";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ environment.etc."roundcube/config.inc.php".text = ''
+ start;
+ $roundcube->waitForUnit("postgresql.service");
+ $roundcube->waitForUnit("phpfpm-roundcube.service");
+ $roundcube->waitForUnit("nginx.service");
+ $roundcube->succeed("curl -sSfL http://roundcube/");
+ '';
+})
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index bf79b68bc7db..1c41451b08f3 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -1,7 +1,13 @@
{ stdenv, fetchFromGitHub, alsaLib, fftwSinglePrec, freetype, libjack2
-, pkgconfig, premake3, xorg, ladspa-sdk }:
+, pkgconfig, ladspa-sdk, premake3
+, libX11, libXcomposite, libXcursor, libXext, libXinerama, libXrender
+}:
-stdenv.mkDerivation rec {
+let
+ premakeos = if stdenv.hostPlatform.isDarwin then "osx"
+ else if stdenv.hostPlatform.isWindows then "mingw"
+ else "linux";
+in stdenv.mkDerivation rec {
name = "distrho-ports-${version}";
version = "2018-04-16";
@@ -12,27 +18,26 @@ stdenv.mkDerivation rec {
sha256 = "0l4zwl4mli8jzch32a1fh7c88r9q17xnkxsdw17ds5hadnxlk12v";
};
+ configurePhase = ''
+ runHook preConfigure
+
+ sh ./scripts/premake-update.sh ${premakeos}
+
+ runHook postConfigure
+ '';
+
patchPhase = ''
sed -e "s#@./scripts#sh scripts#" -i Makefile
'';
- nativeBuildInputs = [ pkgconfig ];
+ nativeBuildInputs = [ pkgconfig premake3 ];
buildInputs = [
- alsaLib fftwSinglePrec freetype libjack2 premake3
- xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
- xorg.libXinerama xorg.libXrender ladspa-sdk
+ alsaLib fftwSinglePrec freetype libjack2
+ libX11 libXcomposite libXcursor libXext
+ libXinerama libXrender ladspa-sdk
];
- buildPhase = ''
- sh ./scripts/premake-update.sh linux
- make lv2
- '';
-
- installPhase = ''
- mkdir -p $out/bin
- mkdir -p $out/lib/lv2
- cp -a bin/lv2/* $out/lib/lv2/
- '';
+ makeFlags = "PREFIX=$(out)";
meta = with stdenv.lib; {
homepage = http://distrho.sourceforge.net;
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index b849f1fa62d5..de7e3977ad83 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -18,9 +18,9 @@ let
sha256Hash = "0apc566l4gwkwvfgj50d4qxm2gw26rxdlyr8kj3kfcra9a33c2b7";
};
latestVersion = { # canary & dev
- version = "3.4.0.4"; # "Android Studio 3.4 Canary 5"
- build = "183.5141831";
- sha256Hash = "0xfk5vyjk3pdb44jp43vb5394486z2qgzrdhjzbf1ncbhvaf0aji";
+ version = "3.4.0.5"; # "Android Studio 3.4 Canary 6"
+ build = "183.5146016";
+ sha256Hash = "1z2asimpsw15iild7c4aqicph6v327qx3ffjgvl2n8vr5rspsns1";
};
in rec {
# Old alias
diff --git a/pkgs/applications/inferno/default.nix b/pkgs/applications/inferno/default.nix
deleted file mode 100644
index de9be76b6e45..000000000000
--- a/pkgs/applications/inferno/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ fetchhg, stdenv, xorg, makeWrapper }:
-
-stdenv.mkDerivation rec {
- # Inferno is a rolling release from a mercurial repository. For the verison number
- # of the package I'm using the mercurial commit number.
- rev = "785";
- name = "inferno-${rev}";
- host = "Linux";
- objtype = "386";
-
- src = fetchhg {
- url = "https://bitbucket.org/inferno-os/inferno-os";
- sha256 = "1b428ma9fi5skvfrxp91dr43a62kax89wmx7950ahc1cxyx90k7x";
- };
-
- buildInputs = [ makeWrapper ] ++ (with xorg; [ libX11 libXpm libXext xextproto ]);
-
- infernoWrapper = ./inferno;
-
- configurePhase = ''
- sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' \
- -e 's@^OBJTYPE=.*$@OBJTYPE=${objtype}@g' \
- -e 's@^SYSHOST=.*$@SYSHOST=${host}@g' \
- -i mkconfig
- # Get rid of an annoying warning
- sed -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' \
- -i ${host}/${objtype}/include/lib9.h
- '';
-
- buildPhase = ''
- mkdir -p $out/share/inferno
- cp -r . $out/share/inferno
- ./makemk.sh
- export PATH=$PATH:$out/share/inferno/Linux/386/bin
- mk nuke
- mk
- '';
-
- installPhase = ''
- # Installs executables in $out/share/inferno/${host}/${objtype}/bin
- mk install
- mkdir -p $out/bin
- # Install start-up script
- makeWrapper $infernoWrapper $out/bin/inferno \
- --suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
- --set INFERNO_ROOT "$out/share/inferno"
- '';
-
- hardeningDisable = [ "fortify" ];
-
- meta = {
- description = "A compact distributed operating system for building cross-platform distributed systems";
- homepage = http://inferno-os.org/;
- license = stdenv.lib.licenses.gpl2;
- maintainers = with stdenv.lib.maintainers; [ doublec kovirobi ];
- platforms = with stdenv.lib.platforms; linux;
- };
-}
diff --git a/pkgs/applications/inferno/inferno b/pkgs/applications/inferno/inferno
deleted file mode 100755
index 6eb6da8861a5..000000000000
--- a/pkgs/applications/inferno/inferno
+++ /dev/null
@@ -1,31 +0,0 @@
-#! /usr/bin/env bash
-
-
-export INFERNO_HOME="$HOME/.local/share/inferno"
-if [ -n "$XDG_DATA_HOME" ]
- then export INFERNO_HOME="$XDG_DATA_HOME/inferno"
-fi
-
-if [ ! -d $INFERNO_HOME ]; then
- mkdir -p $INFERNO_HOME
-fi
-
-if [ ! -d $INFERNO_HOME/tmp ]; then
- mkdir -p $INFERNO_HOME/tmp
-fi
-
-for d in $INFERNO_HOME/{acme,appl,dis,lib,man,module,usr/inferno}; do
- if [ ! -d $d ]; then
- mkdir -p $d
- cp --no-preserve=all -r $INFERNO_ROOT/${d#$INFERNO_HOME/}/* $d/
- chmod -R +w $d
- fi
-done
-
-if [ ! -d $INFERNO_HOME/usr/$USER ]; then
- mkdir -p $INFERNO_HOME/usr/$USER
- cp -r $INFERNO_ROOT/usr/inferno/* $INFERNO_HOME/usr/$USER/
- chmod -R +w $INFERNO_HOME/usr/$USER
-fi
-
-exec emu "$@" /dis/sh.dis -c "bind -b -c '#U*$INFERNO_HOME/' /; /dis/sh.dis"
diff --git a/pkgs/applications/misc/oneko/default.nix b/pkgs/applications/misc/oneko/default.nix
index 76df2a264e26..b87f11d7b05d 100644
--- a/pkgs/applications/misc/oneko/default.nix
+++ b/pkgs/applications/misc/oneko/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xorg, xlibsWrapper }:
+{ stdenv, fetchurl, imake, gccmakedep, xlibsWrapper }:
stdenv.mkDerivation rec {
version_name = "1.2.sakura.5";
@@ -8,14 +8,11 @@ stdenv.mkDerivation rec {
url = "http://www.daidouji.com/oneko/distfiles/oneko-${version_name}.tar.gz";
sha256 = "2c2e05f1241e9b76f54475b5577cd4fb6670de058218d04a741a04ebd4a2b22f";
};
- buildInputs = [ xorg.imake xorg.gccmakedep xlibsWrapper ];
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ xlibsWrapper ];
- configurePhase = "xmkmf";
-
- installPhase = ''
- make install BINDIR=$out/bin
- make install.man MANPATH=$out/share/man
- '';
+ makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
+ installTargets = "install install.man";
meta = with stdenv.lib; {
description = "Creates a cute cat chasing around your mouse cursor";
diff --git a/pkgs/applications/misc/slic3r/prusa3d.nix b/pkgs/applications/misc/slic3r/prusa3d.nix
index 2f5486a0f4bc..251ee4d918b4 100644
--- a/pkgs/applications/misc/slic3r/prusa3d.nix
+++ b/pkgs/applications/misc/slic3r/prusa3d.nix
@@ -33,7 +33,7 @@ let
in
stdenv.mkDerivation rec {
name = "slic3r-prusa-edition-${version}";
- version = "1.41.1";
+ version = "1.41.2";
enableParallelBuilding = true;
@@ -118,7 +118,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "prusa3d";
repo = "Slic3r";
- sha256 = "0crjrll8cjpkllval6abrqzvzp8g3rnb4vmwi5vivw0jvdv3w5y7";
+ sha256 = "046ircwc0wr586v7106ys557ypslmyq9p4qgi34ads1d6bgxhlyy";
rev = "version_${version}";
};
diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix
index 3a25147971a9..945072ce026e 100644
--- a/pkgs/applications/misc/xcruiser/default.nix
+++ b/pkgs/applications/misc/xcruiser/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gccmakedep, xorg }:
+{ stdenv, fetchurl, gccmakedep, xorg, imake, libXt, libXaw, libXpm, libXext }:
stdenv.mkDerivation {
name = "xcruiser-0.30";
@@ -8,13 +8,13 @@ stdenv.mkDerivation {
sha256 = "1r8whva38xizqdh7jmn6wcmfmsndc67pkw22wzfzr6rq0vf6hywi";
};
- buildInputs = with xorg; [ gccmakedep imake libXt libXaw libXpm libXext ];
+ nativeBuildInputs = [ gccmakedep imake ];
+ buildInputs = [ libXt libXaw libXpm libXext ];
- configurePhase = "xmkmf -a";
-
- preBuild = ''
- makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults)
- '';
+ makeFlags = [
+ "BINDIR=$(out)/bin"
+ "XAPPLOADDIR=$(out)/etc/X11/app-defaults"
+ ];
meta = with stdenv.lib; {
description = "Filesystem visualization utility";
diff --git a/pkgs/applications/misc/xmove/default.nix b/pkgs/applications/misc/xmove/default.nix
deleted file mode 100644
index e461a2c8816a..000000000000
--- a/pkgs/applications/misc/xmove/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv, fetchurl, libX11, libXi, imake, xauth, libXau}:
-stdenv.mkDerivation {
- name = "xmove-2.0b2";
-
- src = fetchurl {
- url = mirror://debian/pool/main/x/xmove/xmove_2.0beta2.orig.tar.gz;
- sha256 = "0q310k3bi39vdk0kqqvsahnb1k6lx9hlx80iyxnkq59l6jxnhyhf";
- };
-
- buildPhase = "cd xmove; sed -e 's/.*No address for our host.*/{hp = gethostbyname(\"localhost\");};/' -i main.c; cp ../man/man1/xmove.1 xmove.man ; xmkmf; make; cd .. ; cd xmovectrl ; cp ../man/man1/xmovectrl.1 xmovectrl.man; xmkmf; make ; cd ..";
- installPhase = "cd xmove; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd .. ; cd xmovectrl ; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd ..";
-
- buildInputs = [libX11 libXi imake xauth libXau];
-
- meta = {
- platforms = stdenv.lib.platforms.linux;
- license = stdenv.lib.licenses.mit;
- };
-}
diff --git a/pkgs/applications/misc/xxkb/default.nix b/pkgs/applications/misc/xxkb/default.nix
index 90e2723a9067..56638d126c19 100644
--- a/pkgs/applications/misc/xxkb/default.nix
+++ b/pkgs/applications/misc/xxkb/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, libX11, libXt, libXext, libXpm, imake
-, svgSupport ? true, librsvg, glib, gdk_pixbuf, pkgconfig
+{ stdenv, fetchurl, libX11, libXt, libXext, libXpm, imake, gccmakedep
+, svgSupport ? false, librsvg, glib, gdk_pixbuf, pkgconfig
}:
assert svgSupport ->
@@ -13,20 +13,21 @@ stdenv.mkDerivation rec {
sha256 = "0hl1i38z9xnbgfjkaz04vv1n8xbgfg88g5z8fyzyb2hxv2z37anf";
};
+ nativeBuildInputs = [ imake gccmakedep ];
buildInputs = [
- imake
libX11 libXt libXext libXpm
] ++ stdenv.lib.optionals svgSupport [ librsvg glib gdk_pixbuf pkgconfig ];
outputs = [ "out" "man" ];
- configurePhase = ''
- xmkmf ${stdenv.lib.optionalString svgSupport "-DWITH_SVG_SUPPORT"}
- '';
+ imakeFlags = stdenv.lib.optionalString svgSupport "-DWITH_SVG_SUPPORT";
- preBuild = ''
- makeFlagsArray=( BINDIR=$out/bin PIXMAPDIR=$out/share/xxkb XAPPLOADDIR=$out/etc/X11/app-defaults MANDIR=$man/share/man )
- '';
+ makeFlags = [
+ "BINDIR=${placeholder "out"}/bin"
+ "PIXMAPDIR=${placeholder "out"}/share/xxkb"
+ "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
+ "MANDIR=${placeholder "man"}/share/man"
+ ];
installTargets = "install install.man";
diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix
index 9f47f8464a13..13d44655df84 100644
--- a/pkgs/applications/networking/p2p/tixati/default.nix
+++ b/pkgs/applications/networking/p2p/tixati/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "tixati-${version}";
- version = "2.57";
+ version = "2.58";
src = fetchurl {
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
- sha256 = "0z6znh62ry4fmc6c54zq79pk1b5bwkz93bxsfgvxpf6sajpyf9n7";
+ sha256 = "077z5i0grkxkgw2npylv4r897434k2pr03brqx5hjpjw3797r141";
};
installPhase = ''
diff --git a/pkgs/applications/networking/remote/ssvnc/default.nix b/pkgs/applications/networking/remote/ssvnc/default.nix
index f20bb740615c..99835627f879 100644
--- a/pkgs/applications/networking/remote/ssvnc/default.nix
+++ b/pkgs/applications/networking/remote/ssvnc/default.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
buildInputs = [ imake zlib jdk libX11 libXt libXmu libXaw libXext libXpm openjpeg openssl ];
- configurePhase = "makeFlags=PREFIX=$out";
+ dontUseImakeConfigure = true;
+
+ makeFlags = "PREFIX=$(out)";
hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/science/astronomy/xearth/default.nix b/pkgs/applications/science/astronomy/xearth/default.nix
index 5f276a1b3c70..fef4ca1907fd 100644
--- a/pkgs/applications/science/astronomy/xearth/default.nix
+++ b/pkgs/applications/science/astronomy/xearth/default.nix
@@ -1,21 +1,20 @@
-{ stdenv, fetchurl, xorg }:
+{ stdenv, fetchurl, imake, gccmakedep, libXt, libXext }:
+
stdenv.mkDerivation rec {
name = "xearth-${version}";
version = "1.1";
-
+
src = fetchurl {
url = "http://xearth.org/${name}.tar.gz";
sha256 = "bcb1407cc35b3f6dd3606b2c6072273b6a912cbd9ed1ae22fb2d26694541309c";
};
- buildInputs = with xorg; [ imake libXt libXext ];
-
- dontAddPrefix = true;
- configureScript="xmkmf";
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ libXt libXext ];
installFlags=[ "DESTDIR=$(out)/" "BINDIR=bin" "MANDIR=man/man1"];
installTargets="install install.man";
-
+
meta = with stdenv.lib; {
description = "sets the X root window to an image of the Earth";
homepage = "http://xplanet.org";
diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix
index aca1f9a35898..ab2b75917b92 100644
--- a/pkgs/applications/science/electronics/tkgate/1.x.nix
+++ b/pkgs/applications/science/electronics/tkgate/1.x.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs";
};
- buildInputs = [ tcl tk libX11 which yacc flex imake xproto gccmakedep ];
+ nativeBuildInputs = [ which yacc flex imake gccmakedep ];
+ buildInputs = [ tcl tk libX11 xproto ];
+ dontUseImakeConfigure = true;
patchPhase = ''
sed -i config.h \
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 2fa8f3e5d7be..5cd6bbf4bdd9 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
sha256 = "0463bff5eea0f3d93fa071f79c18d0993878fd4f2e18ae6cf22c1639d11457ed";
};
+ dontUseImakeConfigure = true;
+
buildInputs = [
bzip2 gfortran libX11 libXmu libXt libXt libjpeg libpng libtiff ncurses
pango pcre perl readline texLive xz zlib less texinfo graphviz icu
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
index 6d29f5f9e6c5..3d381404c63b 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
@@ -43,3 +43,16 @@ index 57c70f5..700569b 100644
end
def api
+diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
+index 0600a18..6814f0a 100644
+--- a/lib/gitlab_keys.rb
++++ b/lib/gitlab_keys.rb
+@@ -10,7 +10,7 @@ class GitlabKeys # rubocop:disable Metrics/ClassLength
+ attr_accessor :auth_file, :key
+
+ def self.command(whatever)
+- "#{ROOT_PATH}/bin/gitlab-shell #{whatever}"
++ "/run/current-system/sw/bin/gitlab-shell #{whatever}"
+ end
+
+ def self.command_key(key_id)
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index d9495bd984ef..ea330d595557 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -18,6 +18,10 @@
, virglSupport ? openGLSupport, virglrenderer
, smbdSupport ? false, samba
, hostCpuOnly ? false
+, hostCpuTargets ? (if hostCpuOnly
+ then (stdenv.lib.optional stdenv.isx86_64 "i386-softmmu"
+ ++ ["${stdenv.hostPlatform.qemuArch}-softmmu"])
+ else null)
, nixosTestRunner ? false
}:
@@ -27,11 +31,6 @@ let
+ optionalString pulseSupport "pa,"
+ optionalString sdlSupport "sdl,";
- hostCpuTargets = if stdenv.isx86_64 then "i386-softmmu,x86_64-softmmu"
- else if stdenv.isi686 then "i386-softmmu"
- else if stdenv.isAarch32 then "arm-softmmu"
- else if stdenv.isAarch64 then "aarch64-softmmu"
- else throw "Don't know how to build a 'hostCpuOnly = true' QEMU";
in
stdenv.mkDerivation rec {
@@ -113,7 +112,7 @@ stdenv.mkDerivation rec {
++ optional smartcardSupport "--enable-smartcard"
++ optional spiceSupport "--enable-spice"
++ optional usbredirSupport "--enable-usb-redir"
- ++ optional hostCpuOnly "--target-list=${hostCpuTargets}"
+ ++ optional (hostCpuTargets != null) "--target-list=${stdenv.lib.concatStringsSep "," hostCpuTargets}"
++ optional stdenv.isDarwin "--enable-cocoa"
++ optional stdenv.isLinux "--enable-linux-aio"
++ optional gtkSupport "--enable-gtk"
@@ -135,12 +134,13 @@ stdenv.mkDerivation rec {
'';
# Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
- postInstall =
- if stdenv.isx86_64 then ''makeWrapper $out/bin/qemu-system-x86_64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
- else if stdenv.isi686 then ''makeWrapper $out/bin/qemu-system-i386 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
- else if stdenv.isAarch32 then ''makeWrapper $out/bin/qemu-system-arm $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
- else if stdenv.isAarch64 then ''makeWrapper $out/bin/qemu-system-aarch64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
- else "";
+ postInstall = ''
+ if [ -x $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} ]; then
+ makeWrapper $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} \
+ $out/bin/qemu-kvm \
+ --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"
+ fi
+ '';
passthru = {
qemu-system-i386 = "bin/qemu-system-i386";
diff --git a/pkgs/applications/window-managers/larswm/default.nix b/pkgs/applications/window-managers/larswm/default.nix
index 21ea00d110e0..4ec1a4bcd059 100644
--- a/pkgs/applications/window-managers/larswm/default.nix
+++ b/pkgs/applications/window-managers/larswm/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, imake, libX11, libXext, libXmu}:
+{ stdenv, fetchurl, imake, gccmakedep, libX11, libXext, libXmu }:
stdenv.mkDerivation {
name = "larswm-7.5.3";
@@ -8,13 +8,11 @@ stdenv.mkDerivation {
sha256 = "1xmlx9g1nhklxjrg0wvsya01s4k5b9fphnpl9zdwp29mm484ni3v";
};
- buildInputs = [ imake libX11 libXext libXmu ];
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ libX11 libXext libXmu ];
- configurePhase = ''
- xmkmf
- makeFlags="BINDIR=$out/bin MANPATH=$out/share/man"
- installTargets="install install.man"
- '';
+ makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
+ installTargets = "install install.man";
meta = {
homepage = http://www.fnurt.net/larswm;
diff --git a/pkgs/applications/window-managers/sway/beta.nix b/pkgs/applications/window-managers/sway/beta.nix
index 5aebb7ed8dd1..fd3e2275b442 100644
--- a/pkgs/applications/window-managers/sway/beta.nix
+++ b/pkgs/applications/window-managers/sway/beta.nix
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "sway";
- version = "1.0-beta.1";
+ version = "1.0-beta.2";
src = fetchFromGitHub {
owner = "swaywm";
repo = "sway";
rev = version;
- sha256 = "0h9kgrg9mh2acks63z72bw3lwff32pf2nb4i7i5xhd9i6l4gfnqa";
+ sha256 = "0f9rniwizbc3vzxdy6rc47749p6gczfbgfdy4r458134rbl551hw";
};
nativeBuildInputs = [
diff --git a/pkgs/build-support/build-maven.nix b/pkgs/build-support/build-maven.nix
index b9da06c43c82..f47e3ebc61c2 100644
--- a/pkgs/build-support/build-maven.nix
+++ b/pkgs/build-support/build-maven.nix
@@ -15,16 +15,15 @@ infoFile: let
script = writeText "build-maven-repository.sh" ''
${lib.concatStrings (map (dep: let
- inherit (dep)
- url sha1 groupId artifactId
- version metadata repository-id;
+ inherit (dep) sha1 groupId artifactId version metadata repository-id;
versionDir = dep.unresolved-version or version;
authenticated = dep.authenticated or false;
+ url = dep.url or "";
- fetch = (if authenticated then requireFile else fetchurl) {
+ fetch = if (url != "") then ((if authenticated then requireFile else fetchurl) {
inherit url sha1;
- };
+ }) else "";
fetchMetadata = (if authenticated then requireFile else fetchurl) {
inherit (metadata) url sha1;
@@ -32,10 +31,15 @@ infoFile: let
in ''
dir=$out/$(echo ${groupId} | sed 's|\.|/|g')/${artifactId}/${versionDir}
mkdir -p $dir
- ln -sv ${fetch} $dir/${fetch.name}
+
+ ${lib.optionalString (fetch != "") ''
+ ln -sv ${fetch} $dir/${fetch.name}
+ ''}
${lib.optionalString (dep ? metadata) ''
ln -svf ${fetchMetadata} $dir/maven-metadata-${repository-id}.xml
- ln -sv ${fetch} $dir/$(echo ${fetch.name} | sed 's|${version}|${dep.unresolved-version}|')
+ ${lib.optionalString (fetch != "") ''
+ ln -sv ${fetch} $dir/$(echo ${fetch.name} | sed 's|${version}|${dep.unresolved-version}|')
+ ''}
''}
'') info.dependencies)}
'';
diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix
index 7386b07f575c..4d6ed76aca01 100644
--- a/pkgs/build-support/ocaml/dune.nix
+++ b/pkgs/build-support/ocaml/dune.nix
@@ -25,12 +25,12 @@ stdenv.mkDerivation ({
runHook postInstall
'';
- meta.platform = ocaml.meta.platform;
-
} // args // {
name = "ocaml${ocaml.version}-${pname}-${version}";
buildInputs = [ ocaml dune findlib ] ++ buildInputs;
+ meta = (args.meta or {}) // { platforms = args.meta.platforms or ocaml.meta.platforms; };
+
})
diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix
index 1ca652eed660..965845c5a33a 100644
--- a/pkgs/development/interpreters/erlang/R21.nix
+++ b/pkgs/development/interpreters/erlang/R21.nix
@@ -1,8 +1,8 @@
{ mkDerivation }:
mkDerivation rec {
- version = "21.1.2";
- sha256 = "0kn6ghr151b1qmbazc1c8k1r0wpsrqh9l3wrhfyxix3ld5yc3a5c";
+ version = "21.1.3";
+ sha256 = "0374qpafrpnfspsvjaa3sgs0h8ryi3ah8fvmr7dm7zsmgb4ihdsg";
prePatch = ''
substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix
index 0a7f02f17e59..3e496b7e981f 100644
--- a/pkgs/development/libraries/Xaw3d/default.nix
+++ b/pkgs/development/libraries/Xaw3d/default.nix
@@ -8,6 +8,7 @@ stdenv.mkDerivation {
url = https://www.x.org/releases/individual/lib/libXaw3d-1.6.3.tar.bz2;
sha256 = "0i653s8g25cc0mimkwid9366bqkbyhdyjhckx7bw77j20hzrkfid";
};
+ dontUseImakeConfigure = true;
nativeBuildInputs = [ pkgconfig bison flex imake gccmakedep ];
buildInputs = [ libXpm libXp ];
propagatedBuildInputs = [ xlibsWrapper libXmu ];
diff --git a/pkgs/development/libraries/bootil/default.nix b/pkgs/development/libraries/bootil/default.nix
index b64cdd5245fd..0ed223832b6c 100644
--- a/pkgs/development/libraries/bootil/default.nix
+++ b/pkgs/development/libraries/bootil/default.nix
@@ -23,21 +23,21 @@ stdenv.mkDerivation rec {
url = https://github.com/garrynewman/bootil/pull/22.patch;
name = "github-pull-request-22.patch";
sha256 = "1qf8wkv00pb9w1aa0dl89c8gm4rmzkxfl7hidj4gz0wpy7a24qa2";
- })];
+ }) ];
- platform =
- if stdenv.isLinux then "linux"
- else if stdenv.isDarwin then "macosx"
- else throw "unrecognized system ${stdenv.hostPlatform.system}";
+ # Avoid guessing where files end up. Just use current directory.
+ postPatch = ''
+ substituteInPlace projects/premake4.lua \
+ --replace 'location ( os.get() .. "/" .. _ACTION )' 'location ( ".." )'
+ substituteInPlace projects/bootil.lua \
+ --replace 'targetdir ( "../lib/" .. os.get() .. "/" .. _ACTION )' 'targetdir ( ".." )'
+ '';
- buildInputs = [ premake4 ];
-
- configurePhase = "premake4 --file=projects/premake4.lua gmake";
- makeFlags = "-C projects/${platform}/gmake";
+ nativeBuildInputs = [ premake4 ];
+ premakefile = "projects/premake4.lua";
installPhase = ''
- mkdir -p $out/lib
- cp lib/${platform}/gmake/libbootil_static.a $out/lib/
- cp -r include $out/
+ install -D libbootil_static.a $out/lib/libbootil_static.a
+ cp -r include $out
'';
}
diff --git a/pkgs/development/libraries/libngspice/default.nix b/pkgs/development/libraries/libngspice/default.nix
index 5a34910924ce..87382bd1ae21 100644
--- a/pkgs/development/libraries/libngspice/default.nix
+++ b/pkgs/development/libraries/libngspice/default.nix
@@ -3,11 +3,11 @@
# Note that this does not provide the ngspice command-line utility. For that see
# the ngspice derivation.
stdenv.mkDerivation {
- name = "libngspice-28";
+ name = "libngspice-29";
src = fetchurl {
- url = "mirror://sourceforge/ngspice/ngspice-28.tar.gz";
- sha256 = "0rnz2rdgyav16w7wfn3sfrk2lwvvgz1fh0l9107zkcldijklz04l";
+ url = "mirror://sourceforge/ngspice/ngspice-29.tar.gz";
+ sha256 = "0jjwz73naq7l9yhwdqbpnrfckywp2ffkppivxjv8w92zq7xhyvcd";
};
nativeBuildInputs = [ flex bison ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "The Next Generation Spice (Electronic Circuit Simulator)";
homepage = http://ngspice.sourceforge.net;
- license = with licenses; [ "BSD" gpl2 ];
+ license = with licenses; [ bsd3 gpl2Plus lgpl2Plus ]; # See https://sourceforge.net/p/ngspice/ngspice/ci/master/tree/COPYING
maintainers = with maintainers; [ bgamari ];
platforms = platforms.linux;
};
diff --git a/pkgs/development/libraries/osip/3.nix b/pkgs/development/libraries/osip/3.nix
deleted file mode 100644
index b485fa3e947b..000000000000
--- a/pkgs/development/libraries/osip/3.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl}:
-stdenv.mkDerivation rec {
- version = "3.6.0";
- src = fetchurl {
- url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
- sha256 = "1kcndqvsyxgbhkksgydvvjw15znfq6jiznvw058d21h5fq68p8f9";
- };
- name = "libosip2-${version}";
-
- meta = {
- license = stdenv.lib.licenses.lgpl21Plus;
- homepage = http://www.gnu.org/software/osip/;
- description = "The GNU oSIP library, an implementation of the Session Initiation Protocol (SIP)";
- maintainers = with stdenv.lib.maintainers; [ raskin ];
- platforms = stdenv.lib.platforms.linux;
- };
-}
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 7c758d298357..745587609352 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -1,5 +1,6 @@
{ stdenv, fetchurl, python, pkgconfig, readline, libxslt
, docbook_xsl, docbook_xml_dtd_42, fixDarwinDylibNames
+, buildPackages
}:
stdenv.mkDerivation rec {
@@ -10,10 +11,9 @@ stdenv.mkDerivation rec {
sha256 = "1kk76dyav41ip7ddbbf04yfydb4jvywzi2ps0z2vla56aqkn11di";
};
- nativeBuildInputs = [ pkgconfig fixDarwinDylibNames ];
- buildInputs = [
- python readline libxslt docbook_xsl docbook_xml_dtd_42
- ];
+ nativeBuildInputs = [ pkgconfig fixDarwinDylibNames python
+ docbook_xsl docbook_xml_dtd_42 ];
+ buildInputs = [ readline libxslt ];
prePatch = ''
patchShebangs buildtools/bin/waf
@@ -23,10 +23,14 @@ stdenv.mkDerivation rec {
"--enable-talloc-compat1"
"--bundled-libraries=NONE"
"--builtin-libraries=replace"
+ ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+ "--cross-compile"
+ "--cross-execute=${stdenv.hostPlatform.emulator buildPackages}"
];
+ configurePlatforms = [];
postInstall = ''
- ar q $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o
+ ${stdenv.cc.targetPrefix}ar q $out/lib/libtalloc.a bin/default/talloc_[0-9]*.o
'';
meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 4aff60631834..efe7214ab6a1 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -7,7 +7,7 @@
let
pname = "wlroots";
- version = "0.1";
+ version = "0.2";
meson480 = meson.overrideAttrs (oldAttrs: rec {
name = pname + "-" + version;
pname = "meson";
@@ -17,8 +17,11 @@ let
inherit pname version;
sha256 = "0qawsm6px1vca3babnqwn0hmkzsxy4w0gi345apd2qk3v0cv7ipc";
};
- patches = builtins.filter # Remove gir-fallback-path.patch
- (str: !(stdenv.lib.hasSuffix "gir-fallback-path.patch" str))
+ # Remove gir-fallback-path.patch and
+ # a87496addd9160300837aa50193f4798c6f1d251.patch (already in 0.48.0):
+ patches = builtins.filter
+ (str: !(stdenv.lib.hasSuffix "gir-fallback-path.patch" str
+ || stdenv.lib.hasSuffix "a87496addd9160300837aa50193f4798c6f1d251.patch" str))
oldAttrs.patches;
});
in stdenv.mkDerivation rec {
@@ -28,13 +31,13 @@ in stdenv.mkDerivation rec {
owner = "swaywm";
repo = "wlroots";
rev = version;
- sha256 = "0xfipgg2qh2xcf3a1pzx8pyh1aqpb9rijdyi0as4s6fhgy4w269c";
+ sha256 = "0gfxawjlb736xl90zfv3n6zzf5n1cacgzflqi1zq1wn7wd3j6ppv";
};
- patches = [ (fetchpatch { # TODO: Only required for version 0.1
- url = https://github.com/swaywm/wlroots/commit/be6210cf8216c08a91e085dac0ec11d0e34fb217.patch;
- sha256 = "0njv7mr4ark603w79cxcsln29galh87vpzsx2dzkrl1x5x4i6cj5";
- }) ];
+ postPatch = ''
+ substituteInPlace meson.build \
+ --replace "version: '0.1.0'" "version: '${version}.0'"
+ '';
# $out for the library, $bin for rootston, and $examples for the example
# programs (in examples) AND rootston
@@ -50,7 +53,7 @@ in stdenv.mkDerivation rec {
mesonFlags = [
"-Dlibcap=enabled" "-Dlogind=enabled" "-Dxwayland=enabled" "-Dx11-backend=enabled"
- "-Dxcb-icccm=enabled" "-Dxcb-xkb=enabled" "-Dxcb-errors=enabled"
+ "-Dxcb-icccm=enabled" "-Dxcb-errors=enabled"
];
postInstall = ''
diff --git a/pkgs/development/libraries/yojimbo/default.nix b/pkgs/development/libraries/yojimbo/default.nix
index 9bd20ee2607d..6305b6c03a46 100644
--- a/pkgs/development/libraries/yojimbo/default.nix
+++ b/pkgs/development/libraries/yojimbo/default.nix
@@ -15,9 +15,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ premake5 doxygen ];
propagatedBuildInputs = [ libsodium mbedtls ];
- buildPhase = ''
- premake5 gmake
- make all
+ postBuild = ''
premake5 docs
'';
@@ -28,6 +26,8 @@ stdenv.mkDerivation rec {
cp -r docs/html $out/share/doc/yojimbo
'';
+ doCheck = true;
+
meta = with stdenv.lib; {
description = "A network library for client/server games with dedicated servers";
longDescription = ''
diff --git a/pkgs/development/ocaml-modules/csv/default.nix b/pkgs/development/ocaml-modules/csv/default.nix
index e10b21286ddf..bfddc8d1c662 100644
--- a/pkgs/development/ocaml-modules/csv/default.nix
+++ b/pkgs/development/ocaml-modules/csv/default.nix
@@ -2,11 +2,11 @@
buildDunePackage rec {
pname = "csv";
- version = "2.1";
+ version = "2.2";
src = fetchurl {
url = "https://github.com/Chris00/ocaml-${pname}/releases/download/${version}/csv-${version}.tbz";
- sha256 = "0cgfb6cwhwy7ypc1i3jyfz6sdnykp75aqi6kk0g1a2d81yjwzbcg";
+ sha256 = "1llwjdi14vvfy4966crapibq0djii71x47b0yxhjcl5jw4xnsaha";
};
meta = {
diff --git a/pkgs/development/ocaml-modules/opam-file-format/default.nix b/pkgs/development/ocaml-modules/opam-file-format/default.nix
index 1dec7e36e1c9..f61a690da190 100644
--- a/pkgs/development/ocaml-modules/opam-file-format/default.nix
+++ b/pkgs/development/ocaml-modules/opam-file-format/default.nix
@@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, ocaml, findlib }:
stdenv.mkDerivation rec {
- version = "2.0.0-rc2";
+ version = "2.0.0";
name = "ocaml${ocaml.version}-opam-file-format-${version}";
src = fetchFromGitHub {
owner = "ocaml";
repo = "opam-file-format";
rev = "${version}";
- sha256 = "05g0pikmifmfkwyws5x82fglgsz3d317yfn6nrz7zmpn22cirvir";
+ sha256 = "0fqb99asnair0043hhc8r158d6krv5nzvymd0xwycr5y72yrp0hv";
};
buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/ocaml-modules/visitors/default.nix b/pkgs/development/ocaml-modules/visitors/default.nix
index 506721f7bf5e..25a83fa79128 100644
--- a/pkgs/development/ocaml-modules/visitors/default.nix
+++ b/pkgs/development/ocaml-modules/visitors/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, cppo, ppx_tools, ppx_deriving, result }:
stdenv.mkDerivation {
- name = "ocaml${ocaml.version}-visitors-20171124";
+ name = "ocaml${ocaml.version}-visitors-20180513";
src = fetchurl {
- url = http://gallium.inria.fr/~fpottier/visitors/visitors-20171124.tar.gz;
- sha256 = "04047k2v0pgwcdkgw7jk4955pgil0nj2ji0zfhmlqrdbinyfqzac";
+ url = http://gallium.inria.fr/~fpottier/visitors/visitors-20180513.tar.gz;
+ sha256 = "12j8n9fkl43sd0j78x2zqix8m1vinswl2jgwndd62vmx98f5rl1v";
};
buildInputs = [ ocaml findlib ocamlbuild cppo ];
diff --git a/pkgs/development/python-modules/cairosvg/1_x.nix b/pkgs/development/python-modules/cairosvg/1_x.nix
new file mode 100644
index 000000000000..b6d40a5fdb70
--- /dev/null
+++ b/pkgs/development/python-modules/cairosvg/1_x.nix
@@ -0,0 +1,37 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, cairocffi, nose, fontconfig
+, cssselect2, defusedxml, pillow, tinycss2 }:
+
+# CairoSVG 2.x dropped support for Python 2 so offer CairoSVG 1.x as an
+# alternative
+buildPythonPackage rec {
+ pname = "CairoSVG";
+ version = "1.0.22";
+
+ # PyPI doesn't include tests so use GitHub
+ src = fetchFromGitHub {
+ owner = "Kozea";
+ repo = pname;
+ rev = version;
+ sha256 = "15z0cag5s79ghhrlgs5xc9ayvzzdr3v8151vf6k819f1drsfjfxl";
+ };
+
+ propagatedBuildInputs = [ cairocffi ];
+
+ checkInputs = [ nose fontconfig cssselect2 defusedxml pillow tinycss2 ];
+
+ # Almost all tests just fail. Not sure how to fix them.
+ doCheck = false;
+
+ # checkInputs = [ nose fontconfig cssselect2 defusedxml pillow tinycss2 ];
+
+ # checkPhase = ''
+ # FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf nosetests .
+ # '';
+
+ meta = with stdenv.lib; {
+ homepage = https://cairosvg.org;
+ license = licenses.lgpl3;
+ description = "SVG converter based on Cairo";
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/datrie/default.nix b/pkgs/development/python-modules/datrie/default.nix
index f9ac491dc81d..eb654c650778 100644
--- a/pkgs/development/python-modules/datrie/default.nix
+++ b/pkgs/development/python-modules/datrie/default.nix
@@ -1,5 +1,5 @@
{ stdenv, buildPythonPackage, fetchPypi
-, pytest, pytestrunner, hypothesis}:
+, cython, pytest, pytestrunner, hypothesis }:
buildPythonPackage rec {
pname = "datrie";
@@ -10,8 +10,15 @@ buildPythonPackage rec {
sha256 = "08r0if7dry2q7p34gf7ffyrlnf4bdvnprxgydlfxgfnvq8f3f4bs";
};
+ nativeBuildInputs = [ cython ];
buildInputs = [ pytest pytestrunner hypothesis ];
+ # recompile pxd and pyx for python37
+ # https://github.com/pytries/datrie/issues/52
+ preBuild = ''
+ ./update_c.sh
+ '';
+
meta = with stdenv.lib; {
description = "Super-fast, efficiently stored Trie for Python";
homepage = "https://github.com/kmike/datrie";
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index 8cbc08dbbfd0..96da9bcf4f67 100644
--- a/pkgs/development/python-modules/gst-python/default.nix
+++ b/pkgs/development/python-modules/gst-python/default.nix
@@ -28,6 +28,17 @@ in buildPythonPackage rec {
url = https://bugzilla.gnome.org/attachment.cgi?id=371989;
sha256 = "1k46nvw175c1wvkqnx783i9d4w9vn431spcl48jb3y224jj3va08";
})
+ # Fixes `from gi.repository import Gst` when gst-python's site-package is in
+ # PYTHONPATH
+ (fetchurl {
+ url = https://gitlab.freedesktop.org/gstreamer/gst-python/commit/d64bbc1e0c3c948c148f505cc5f856ce56732880.diff;
+ sha256 = "1n9pxmcl1x491mp47avpcw2a6n71lm0haz6mfas168prkgsk8q3r";
+ })
+ # Fixes python2 build from the above changes
+ (fetchurl {
+ url = https://gitlab.freedesktop.org/gstreamer/gst-python/commit/f79ac2d1434d7ba9717f3e943cfdc76e121eb5dd.diff;
+ sha256 = "17a164b0v36g0kwiqdlkjx6g0pjhcs6ilizck7iky8bgjnmiypm1";
+ })
];
# TODO: First python_dep in meson.build needs to be removed
diff --git a/pkgs/development/python-modules/nose-focus/default.nix b/pkgs/development/python-modules/nose-focus/default.nix
new file mode 100644
index 000000000000..ef86a35b3041
--- /dev/null
+++ b/pkgs/development/python-modules/nose-focus/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, six, nose, nose-of-yeti
+, nose-pattern-exclude, which }:
+
+buildPythonPackage rec {
+ pname = "nose-focus";
+ version = "0.1.3";
+
+ propagatedBuildInputs = [ six ];
+
+ checkInputs = [ nose nose-of-yeti nose-pattern-exclude which ];
+
+ # PyPI doesn't contain tests so let's use GitHub. See:
+ # https://github.com/delfick/nose-focus/issues/4
+ #
+ # However, the versions aren't tagged on GitHub so need to use a manually
+ # checked revision. See: https://github.com/delfick/nose-focus/issues/5
+ src = fetchFromGitHub {
+ owner = "delfick";
+ repo = pname;
+ rev = "4dac785ba07ed6e1df61b0fe2854685eef3bd115";
+ sha256 = "0gpd4j4433dc5ifh31w08c3bx862md0qm1ix6aam1rz4ayxpq51f";
+ };
+
+ checkPhase = ''
+ patchShebangs test.sh
+ ./test.sh
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Decorator and plugin to make nose focus on specific tests";
+ homepage = https://nose-focus.readthedocs.io/en/latest/;
+ license = licenses.wtfpl;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/nose-of-yeti/default.nix b/pkgs/development/python-modules/nose-of-yeti/default.nix
new file mode 100644
index 000000000000..7a783da31177
--- /dev/null
+++ b/pkgs/development/python-modules/nose-of-yeti/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, six, nose, fudge, should-dsl }:
+
+buildPythonPackage rec {
+ pname = "nose-of-yeti";
+ version = "1.8";
+
+ propagatedBuildInputs = [ six ];
+
+ checkInputs = [ nose fudge should-dsl ];
+
+ # PyPI doesn't contain tests so let's use GitHub.
+ src = fetchFromGitHub {
+ owner = "delfick";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1pq9bf47k0csv41vdh2g6n336p3pd11q91hj5ypk0ls3nj756gbx";
+ };
+
+ checkPhase = ''
+ patchShebangs test.sh
+ ./test.sh
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Nose plugin providing BDD dsl for python";
+ homepage = https://github.com/delfick/nose-of-yeti;
+ license = licenses.mit;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/nose-pattern-exclude/default.nix b/pkgs/development/python-modules/nose-pattern-exclude/default.nix
new file mode 100644
index 000000000000..24d74b938afb
--- /dev/null
+++ b/pkgs/development/python-modules/nose-pattern-exclude/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+ pname = "nose-pattern-exclude";
+ version = "0.1.3";
+
+ propagatedBuildInputs = [ nose ];
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0apzxx8lavsdlxlpaxqw1snx5p7q8v5dfbip6v32f9pj2vyain1i";
+ };
+
+ # There are no tests
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ description = "Exclude specific files and directories from nosetests runs";
+ homepage = https://github.com/jakubroztocil/nose-pattern-exclude;
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/piexif/default.nix b/pkgs/development/python-modules/piexif/default.nix
index b5460e8b6080..0de96a3f585e 100644
--- a/pkgs/development/python-modules/piexif/default.nix
+++ b/pkgs/development/python-modules/piexif/default.nix
@@ -2,22 +2,15 @@
buildPythonPackage rec {
pname = "piexif";
- version = "1.0.13";
+ version = "1.1.2";
- # pillow needed for unit tests
- buildInputs = [ pillow ];
-
- postPatch = ''
- # incompatibility with pillow => 4.2.0
- # has been resolved in https://github.com/hMatoba/Piexif/commit/c3a8272f5e6418f223b25f6486d8ddda201bbdf1
- # remove this in the next version
- sed -i -e 's/RGBA/RGB/' tests/s_test.py
- '';
+ # Pillow needed for unit tests
+ checkInputs = [ pillow ];
src = fetchPypi {
inherit pname version;
extension = "zip";
- sha256 = "1d3dde03bd6298393645bc11d585b67a6ea98fd7e9e1aded6d5d6ec3e4cfbdda";
+ sha256 = "0dj6wiw4mk65zn7p0qpghra39mf88m3ph2xn7ff9jvasgczrgkb0";
};
meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/preggy/default.nix b/pkgs/development/python-modules/preggy/default.nix
new file mode 100644
index 000000000000..b88366de88fa
--- /dev/null
+++ b/pkgs/development/python-modules/preggy/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, six, unidecode, nose, yanc }:
+
+buildPythonPackage rec {
+ pname = "preggy";
+ version = "1.4.2";
+
+ propagatedBuildInputs = [ six unidecode ];
+ checkInputs = [ nose yanc ];
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0g4ifjh01dkmdzs4621ahk8hpkngid1xxhl51jvzy4h4li4590hw";
+ };
+
+ checkPhase = ''
+ nosetests .
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Assertion library for Python";
+ homepage = http://heynemann.github.io/preggy/;
+ license = licenses.mit;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/pyres/default.nix b/pkgs/development/python-modules/pyres/default.nix
new file mode 100644
index 000000000000..2ea6043c4279
--- /dev/null
+++ b/pkgs/development/python-modules/pyres/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchPypi, buildPythonPackage, fetchFromGitHub, simplejson, redis, setproctitle, nose, pkgs }:
+
+let
+
+ # the requirements of `pyres` support Redis 3.x (due to a missing upper-bound),
+ # but it doesn't support Redis 3.x.
+ redis' = redis.overridePythonAttrs (old: rec {
+ pname = "redis";
+ version = "2.10.6";
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52";
+ };
+ });
+
+in
+
+buildPythonPackage rec {
+ pname = "pyres";
+ version = "1.5";
+
+ # ps is used in Worker.worker_pids method
+ propagatedBuildInputs = [ simplejson setproctitle redis' pkgs.ps ];
+ checkInputs = [ nose pkgs.redis ];
+
+ # PyPI tarball doesn't contain tests so let's use GitHub
+ src = fetchFromGitHub {
+ owner = "binarydud";
+ repo = pname;
+ rev = version;
+ sha256 = "1rkpv7gbjxl9h9g7kncmsrgmi77l7pgfq8d7dbnsr3ia2jmjqb8y";
+ };
+
+ checkPhase = ''
+ redis-server &
+ nosetests .
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Python resque clone";
+ homepage = https://github.com/binarydud/pyres;
+ license = licenses.mit;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/pyssim/default.nix b/pkgs/development/python-modules/pyssim/default.nix
new file mode 100644
index 000000000000..38dddda9b2e5
--- /dev/null
+++ b/pkgs/development/python-modules/pyssim/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, numpy, scipy, pillow }:
+
+buildPythonPackage rec {
+ pname = "pyssim";
+ version = "0.4";
+
+ propagatedBuildInputs = [ numpy scipy pillow ];
+
+ # PyPI tarball doesn't contain test images so let's use GitHub
+ src = fetchFromGitHub {
+ owner = "jterrace";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0rnj3xdhma1fc0fg0jjsdy74ar0hgr3w8kygbnijqjdms7m3asqm";
+ };
+
+ # Tests are copied from .travis.yml
+ checkPhase = ''
+ $out/bin/pyssim test-images/test1-1.png test-images/test1-1.png | grep 1
+ $out/bin/pyssim test-images/test1-1.png test-images/test1-2.png | grep 0.998
+ $out/bin/pyssim test-images/test1-1.png "test-images/*" | grep -E " 1| 0.998| 0.672| 0.648" | wc -l | grep 4
+ $out/bin/pyssim --cw --width 128 --height 128 test-images/test1-1.png test-images/test1-1.png | grep 1
+ $out/bin/pyssim --cw --width 128 --height 128 test-images/test3-orig.jpg test-images/test3-rot.jpg | grep 0.938
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Module for computing Structured Similarity Image Metric (SSIM) in Python";
+ homepage = https://github.com/jterrace/pyssim;
+ license = licenses.mit;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/python-mnist/default.nix b/pkgs/development/python-modules/python-mnist/default.nix
new file mode 100644
index 000000000000..67cb4eae2511
--- /dev/null
+++ b/pkgs/development/python-modules/python-mnist/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+ pname = "python-mnist";
+ version = "0.6";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "5d59a44335eccb4b310efb2ebb76f44e8588a1732cfb4923f4a502b61d8b653a";
+ };
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/sorki/python-mnist;
+ description = "Simple MNIST data parser written in Python";
+ license = licenses.bsd3;
+ maintainers = with maintainers; [ cmcdragonkai ];
+ };
+}
diff --git a/pkgs/development/python-modules/remotecv/default.nix b/pkgs/development/python-modules/remotecv/default.nix
new file mode 100644
index 000000000000..2102cf064250
--- /dev/null
+++ b/pkgs/development/python-modules/remotecv/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pillow, argparse, pyres, nose
+, preggy, numpy, yanc, nose-focus, mock, opencv }:
+
+buildPythonPackage rec {
+ pname = "remotecv";
+ version = "2.2.2";
+
+ propagatedBuildInputs = [ pillow argparse pyres ];
+
+ checkInputs = [ nose preggy numpy yanc nose-focus mock opencv ];
+
+ # PyPI tarball doesn't contain tests so let's use GitHub
+ src = fetchFromGitHub {
+ owner = "thumbor";
+ repo = pname;
+ rev = version;
+ sha256 = "0slalp1x626ajy2cbdfifhxf0ffzckqdz6siqsqr6s03hrl877hy";
+ };
+
+ # Remove unnecessary argparse dependency and some seemingly unnecessary
+ # version upper bounds because nixpkgs contains (or could contain) newer
+ # versions.
+ # See: https://github.com/thumbor/remotecv/issues/15
+ patches = [
+ ./install_requires.patch
+ ];
+
+ checkPhase = ''
+ nosetests --with-yanc -s tests/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "OpenCV worker for facial and feature recognition";
+ homepage = https://github.com/thumbor/remotecv/wiki;
+ license = licenses.mit;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/remotecv/install_requires.patch b/pkgs/development/python-modules/remotecv/install_requires.patch
new file mode 100644
index 000000000000..37203128486e
--- /dev/null
+++ b/pkgs/development/python-modules/remotecv/install_requires.patch
@@ -0,0 +1,16 @@
+diff --git a/setup.py b/setup.py
+index 70f765c..8003cda 100644
+--- a/setup.py
++++ b/setup.py
+@@ -53,9 +53,8 @@ remotecv is an OpenCV worker for facial and feature recognition
+ },
+
+ install_requires=[
+- "argparse>=1.2.1,<1.3.0",
+- "pyres>=1.5,<1.6",
+- "Pillow>=4.3.0,<5.2.0",
++ "pyres>=1.5",
++ "Pillow>=4.3.0",
+ ],
+
+ entry_points={
diff --git a/pkgs/development/python-modules/should-dsl/default.nix b/pkgs/development/python-modules/should-dsl/default.nix
new file mode 100644
index 000000000000..987d7e60cea6
--- /dev/null
+++ b/pkgs/development/python-modules/should-dsl/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+ pname = "should-dsl";
+ version = "2.1.2";
+
+ src = fetchPypi {
+ inherit version;
+ pname = "should_dsl";
+ sha256 = "0ai30dxgygwzaj9sgdzyfr9p5b7gwc9piq59nzr4xy5x1zcm7xrn";
+ };
+
+ # There are no tests
+ doCheck = false;
+
+ meta = with stdenv.lib; {
+ description = "Should assertions in Python as clear and readable as possible";
+ homepage = http://www.should-dsl.info/;
+ license = licenses.mit;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/python-modules/thumbor/default.nix b/pkgs/development/python-modules/thumbor/default.nix
index ec33a5020d47..27e90514b729 100644
--- a/pkgs/development/python-modules/thumbor/default.nix
+++ b/pkgs/development/python-modules/thumbor/default.nix
@@ -1,6 +1,8 @@
-{ buildPythonPackage, tornado, pycrypto, pycurl, pytz
-, pillow, derpconf, python_magic, pexif, libthumbor, opencv, webcolors
-, piexif, futures, statsd, thumborPexif, fetchPypi, isPy3k, lib
+{ buildPythonPackage, python, tornado, pycrypto, pycurl, pytz
+, pillow, derpconf, python_magic, libthumbor, webcolors
+, piexif, futures, statsd, thumborPexif, fetchFromGitHub, isPy3k, lib
+, mock, raven, nose, yanc, remotecv, pyssim, cairosvg1, preggy, opencv3
+, pkgs, coreutils
}:
buildPythonPackage rec {
@@ -9,16 +11,40 @@ buildPythonPackage rec {
disabled = isPy3k; # see https://github.com/thumbor/thumbor/issues/1004
- src = fetchPypi {
- inherit pname version;
- sha256 = "1icfnzwzi5lvnh576n7v3r819jaw15ph9ja2w3fwg5z9qs40xvl8";
+ # Tests aren't included in PyPI tarball so use GitHub instead
+ src = fetchFromGitHub {
+ owner = pname;
+ repo = pname;
+ rev = version;
+ sha256 = "1ys5ymwbvgh2ir85g9nyrzzf8vgi16j6pzzi53b0rgjx0kwlmnxg";
};
postPatch = ''
substituteInPlace "setup.py" \
--replace '"argparse",' "" ${lib.optionalString isPy3k ''--replace '"futures",' ""''}
+ substituteInPlace "setup.py" \
+ --replace "piexif>=1.0.13,<1.1.0" "piexif>=1.0.13"
+ substituteInPlace "tests/test_utils.py" \
+ --replace "/bin/ls" "${coreutils}/bin/ls"
+ substituteInPlace "tests/detectors/test_face_detector.py" \
+ --replace "./thumbor" "$out/lib/${python.libPrefix}/site-packages/thumbor"
+ substituteInPlace "tests/detectors/test_glasses_detector.py" \
+ --replace "./thumbor" "$out/lib/${python.libPrefix}/site-packages/thumbor"
'';
+ checkInputs = [
+ nose
+ pyssim
+ preggy
+ mock
+ yanc
+ remotecv
+ cairosvg1
+ raven
+ pkgs.redis
+ pkgs.glibcLocales
+ ];
+
propagatedBuildInputs = [
tornado
pycrypto
@@ -27,18 +53,26 @@ buildPythonPackage rec {
pillow
derpconf
python_magic
- pexif
libthumbor
- opencv
+ opencv3
webcolors
piexif
statsd
+ pkgs.exiftool
+ pkgs.libjpeg
+ pkgs.ffmpeg
+ pkgs.gifsicle
] ++ lib.optionals (!isPy3k) [ futures thumborPexif ];
- # disabled due to too many impure tests and issues with native modules in
- # the pure testing environment. See https://github.com/NixOS/nixpkgs/pull/37147
- # for further reference.
- doCheck = false;
+ # Remove the source tree before running nosetests because otherwise nosetests
+ # uses that instead of the installed package. Is there some other way to
+ # achieve this?
+ checkPhase = ''
+ redis-server --port 6668 --requirepass hey_you &
+ rm -r thumbor
+ export LC_ALL="en_US.UTF-8"
+ nosetests -v --with-yanc -s tests/
+ '';
meta = with lib; {
description = "A smart imaging service";
diff --git a/pkgs/development/python-modules/yanc/default.nix b/pkgs/development/python-modules/yanc/default.nix
new file mode 100644
index 000000000000..690b110fc93a
--- /dev/null
+++ b/pkgs/development/python-modules/yanc/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, pythonOlder, fetchPypi, nose }:
+
+buildPythonPackage rec {
+ pname = "yanc";
+ version = "0.3.3";
+
+ # Tests fail on Python>=3.5. See: https://github.com/0compute/yanc/issues/10
+ disabled = !(pythonOlder "3.5");
+
+ checkInputs = [ nose ];
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "0z35bkk9phs40lf5061k1plhjdl5fskm0dmdikrsqi1bjihnxp8w";
+ };
+
+ checkPhase = ''
+ nosetests .
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Yet another nose colorer";
+ homepage = https://github.com/0compute/yanc;
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ jluttine ];
+ };
+}
diff --git a/pkgs/development/tools/misc/premake/3.nix b/pkgs/development/tools/misc/premake/3.nix
index 77f613868747..8b02bf96fd57 100644
--- a/pkgs/development/tools/misc/premake/3.nix
+++ b/pkgs/development/tools/misc/premake/3.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation {
install -Dm755 bin/premake $out/bin/premake
'';
+ premake_cmd = "premake3";
+ setupHook = ./setup-hook.sh;
+
meta = {
homepage = http://industriousone.com/premake;
description = "A simple build configuration and project generation tool using lua";
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
index 93220a02e2df..8ceb3d4a4367 100644
--- a/pkgs/development/tools/misc/premake/5.nix
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
install -Dm755 bin/release/premake5 $out/bin/premake5
'';
+ premake_cmd = "premake5";
+ setupHook = ./setup-hook.sh;
+
meta = {
homepage = https://premake.github.io;
description = "A simple build configuration and project generation tool using lua";
diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix
index 770c80710953..99bf8cac81fa 100644
--- a/pkgs/development/tools/misc/premake/default.nix
+++ b/pkgs/development/tools/misc/premake/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
sha256 = "1017rd0wsjfyq2jvpjjhpszaa7kmig6q1nimw76qx3cjz2868lrn";
};
- buildInputs = [ unzip ];
+ nativeBuildInputs = [ unzip ];
buildPhase = ''
make -C build/gmake.unix/
@@ -22,11 +22,14 @@ stdenv.mkDerivation {
install -Dm755 bin/release/premake4 $out/bin/premake4
'';
+ premake_cmd = "premake4";
+ setupHook = ./setup-hook.sh;
+
meta = with stdenv.lib; {
homepage = http://industriousone.com/premake;
description = "A simple build configuration and project generation tool using lua";
license = stdenv.lib.licenses.bsd3;
- platforms = platforms.linux;
+ platforms = platforms.unix;
maintainers = [ maintainers.bjornfor ];
};
}
diff --git a/pkgs/development/tools/misc/premake/setup-hook.sh b/pkgs/development/tools/misc/premake/setup-hook.sh
new file mode 100644
index 000000000000..ba06ea2c7617
--- /dev/null
+++ b/pkgs/development/tools/misc/premake/setup-hook.sh
@@ -0,0 +1,19 @@
+premakeConfigurePhase() {
+ runHook preConfigure
+
+ local flagsArray=(
+ ${premakefile:+--file=$premakefile}
+ $premakeFlags ${premakeFlagsArray[@]}
+ ${premakeBackend:-gmake}
+ )
+
+ echoCmd 'configure flags' "${flagsArray[@]}"
+
+ @premake_cmd@ "${flagsArray[@]}"
+
+ runHook postConfigure
+}
+
+if [ -z "$configurePhase" ]; then
+ configurePhase=premakeConfigurePhase
+fi
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index 7d4a58d0e394..46b77a2b9989 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -2,11 +2,11 @@
with python3Packages; buildPythonApplication rec {
name = "${pname}-${version}";
pname = "pipenv";
- version = "2018.10.13";
+ version = "2018.11.14";
src = fetchPypi {
inherit pname version;
- sha256 = "0qwflq00rwk3pnldndb30f3avnbi4hvv6c8mm6l5xxnxy9dj71d7";
+ sha256 = "1ni2cjgm04dwi8a0376nzwwy3gklqk9d0hkl8d9j760lvqshsxjz";
};
LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/tools/tychus/default.nix b/pkgs/development/tools/tychus/default.nix
new file mode 100644
index 000000000000..775e26eb6a8c
--- /dev/null
+++ b/pkgs/development/tools/tychus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, buildGoPackage, CoreFoundation }:
+
+buildGoPackage rec {
+ name = "tychus-${version}";
+ version = "0.6.3";
+
+ goPackagePath = "github.com/devlocker/tychus";
+ goDeps = ./deps.nix;
+ subPackages = [];
+
+ src = fetchFromGitHub {
+ owner = "devlocker";
+ repo = "tychus";
+ rev = "v${version}";
+ sha256 = "02ybxjsfga89gpg0k21zmykhhnpx1vy3ny8fcwj0qsg73i11alvw";
+ };
+
+ buildInputs = stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation ];
+
+ buildFlags = "--tags release";
+
+ meta = {
+ description = "Command line utility to live-reload your application.";
+ homepage = https://github.com/devlocker/tychus;
+ license = stdenv.lib.licenses.mit;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/pkgs/development/tools/tychus/deps.nix b/pkgs/development/tools/tychus/deps.nix
new file mode 100644
index 000000000000..194aa96ae3ce
--- /dev/null
+++ b/pkgs/development/tools/tychus/deps.nix
@@ -0,0 +1,30 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+ {
+ goPackagePath = "github.com/inconshreveable/mousetrap";
+ fetch = {
+ type = "git";
+ url = "https://github.com/inconshreveable/mousetrap";
+ rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
+ sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+ };
+ }
+ {
+ goPackagePath = "github.com/spf13/cobra";
+ fetch = {
+ type = "git";
+ url = "https://github.com/spf13/cobra";
+ rev = "f91529fc609202eededff4de2dc0ba2f662240a3";
+ sha256 = "10c3d5dp98rys134dnsl19ldj8bca183z91lj8rkbsy78qzrr9af";
+ };
+ }
+ {
+ goPackagePath = "github.com/spf13/pflag";
+ fetch = {
+ type = "git";
+ url = "https://github.com/spf13/pflag";
+ rev = "e57e3eeb33f795204c1ca35f56c44f83227c6e66";
+ sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2";
+ };
+ }
+]
\ No newline at end of file
diff --git a/pkgs/games/boohu/default.nix b/pkgs/games/boohu/default.nix
index ccfdf8d905c2..2504e6935abd 100644
--- a/pkgs/games/boohu/default.nix
+++ b/pkgs/games/boohu/default.nix
@@ -3,13 +3,13 @@
buildGoPackage rec {
name = "boohu-${version}";
- version = "0.11.0";
+ version = "0.11.1";
goPackagePath = "git.tuxfamily.org/boohu/boohu.git";
src = fetchurl {
url = "https://download.tuxfamily.org/boohu/downloads/boohu-${version}.tar.gz";
- sha256 = "1qc3mz1mj6byyslmx1afprg1l7x8rcy7i004sy32g590jaahwqdr";
+ sha256 = "0m0ajxiyx8qwxj2zq33s5qpjr65cr33f7dpirg6b4w4y9gyhhv1g";
};
buildFlags = "--tags ansi";
diff --git a/pkgs/games/gmad/default.nix b/pkgs/games/gmad/default.nix
index a15914877ccb..78936ec19499 100644
--- a/pkgs/games/gmad/default.nix
+++ b/pkgs/games/gmad/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
else if stdenv.isDarwin then "gmad_osx"
else "gmad";
- configurePhase = "premake4 --bootil_lib=${bootil}/lib --bootil_inc=${bootil}/include gmake";
+ premakeFlags = "--bootil_lib=${bootil}/lib --bootil_inc=${bootil}/include";
installPhase = ''
mkdir -p $out/bin
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index 3f6726a17f18..ec529676463f 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -25,9 +25,10 @@ in stdenv.mkDerivation rec {
sha256 = "0mc5dgh2x9nbili7gy6srjhb23ckalf08wqq2amyjr5rq392jvd7";
};
- nativeBuildInputs = [ premake4 makeWrapper unzip ];
+ nativeBuildInputs = [ makeWrapper unzip premake4 ];
- # tome4 vendors quite a few libraries so someone might want to look into avoiding that...
+ # tome4 vendors quite a few libraries so someone might want to look
+ # into avoiding that...
buildInputs = [
libGLU openal libpng libvorbis SDL2 SDL2_ttf SDL2_image
];
@@ -36,20 +37,11 @@ in stdenv.mkDerivation rec {
enableParallelBuilding = false;
NIX_CFLAGS_COMPILE = [
+ "-I${SDL2.dev}/include/SDL2"
"-I${SDL2_image}/include/SDL2"
"-I${SDL2_ttf}/include/SDL2"
];
- postPatch = ''
- substituteInPlace premake4.lua \
- --replace "/opt/SDL-2.0/include/SDL2" "${SDL2.dev}/include/SDL2" \
- --replace "/usr/include/GL" "/run/opengl-driver/include"
- '';
-
- preConfigure = ''
- premake4 gmake
- '';
-
makeFlags = [ "config=release" ];
# The wrapper needs to cd into the correct directory as tome4's detection of
diff --git a/pkgs/games/xsnow/default.nix b/pkgs/games/xsnow/default.nix
index 47a321c99b4a..07ed50d4e7b3 100644
--- a/pkgs/games/xsnow/default.nix
+++ b/pkgs/games/xsnow/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libXt, libXpm, libXext, imake }:
+{ stdenv, fetchurl, libXt, libXpm, libXext, imake, gccmakedep }:
stdenv.mkDerivation rec {
@@ -10,25 +10,17 @@ stdenv.mkDerivation rec {
sha256 = "06jnbp88wc9i9dbmy7kggplw4hzlx2bhghxijmlhkjlizgqwimyh";
};
+ nativeBuildInputs = [ imake gccmakedep ];
buildInputs = [
- libXt libXpm libXext imake
+ libXt libXpm libXext
];
- buildPhase = ''
- xmkmf
- make
- '';
-
- installPhase = ''
- mkdir -p $out/bin $out/share/man/man1
- cp xsnow $out/bin/
- cp xsnow.1 $out/share/man/man1/
- '';
+ makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
meta = {
description = "An X-windows application that will let it snow on the root, in between and on windows";
homepage = http://janswaal.home.xs4all.nl/Xsnow/;
license = stdenv.lib.licenses.unfree;
maintainers = [ stdenv.lib.maintainers.robberer ];
- };
+ };
}
diff --git a/pkgs/misc/screensavers/xautolock/default.nix b/pkgs/misc/screensavers/xautolock/default.nix
index 0c1446f0672f..cce4b351c577 100644
--- a/pkgs/misc/screensavers/xautolock/default.nix
+++ b/pkgs/misc/screensavers/xautolock/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, xlibsWrapper, imake, libXScrnSaver, scrnsaverproto }:
+{ stdenv, fetchurl, xlibsWrapper
+, imake, gccmakedep, libXScrnSaver, scrnsaverproto }:
stdenv.mkDerivation rec {
name = "xautolock-2.2";
@@ -14,10 +15,13 @@ stdenv.mkDerivation rec {
})
];
NIX_CFLAGS_COMPILE = "-DSYSV";
- makeFlags="BINDIR=\${out}/bin MANPATH=\${out}/man";
- preBuild = "xmkmf";
+ makeFlags = [
+ "BINDIR=$(out)/bin"
+ "MANPATH=$(out)/share/man"
+ ];
installTargets = "install install.man";
- buildInputs = [xlibsWrapper imake libXScrnSaver scrnsaverproto];
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ xlibsWrapper libXScrnSaver scrnsaverproto ];
meta = with stdenv.lib; {
description = "A program that launches a given program when your X session has been idle for a given time.";
homepage = http://www.ibiblio.org/pub/linux/X11/screensavers;
diff --git a/pkgs/os-specific/linux/fusionio/srcs.nix b/pkgs/os-specific/linux/fusionio/srcs.nix
deleted file mode 100644
index fb632a6e9fba..000000000000
--- a/pkgs/os-specific/linux/fusionio/srcs.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ fetchurl }:
-rec {
- version = "3.2.10";
-
- libvsl = fetchurl {
- name = "fusionio-libvsl-${version}.deb";
- url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2Wc01uNk1nVURMVFk";
- sha256 = "1i8ii9dlyskj2dvad7nfvlm1wz2s4gy5llbl29hfa13w6nhcl5wk";
- };
-
- util = fetchurl {
- name = "fusionio-util-${version}.deb";
- url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2WbDVuQkwzWjZONGs";
- sha256 = "0aw64kk5cwchjhqh5n1lpqrrh5gn4qdalnmasd25z7sijy2flxgq";
- };
-
- vsl = fetchurl {
- name = "fusionio-iomemory-vsl-${version}.tar.gz";
- url = "https://drive.google.com/uc?export=download&id=0B7U0_ZBLoB2WbXFMbExEMUFCcWM";
- sha256 = "1zm20aa1jmmqcqkb4p9r4jsgbg371zr1abdz32rw02i9687fsgcc";
- };
-}
diff --git a/pkgs/os-specific/linux/fusionio/util.nix b/pkgs/os-specific/linux/fusionio/util.nix
deleted file mode 100644
index 6327a95f39d7..000000000000
--- a/pkgs/os-specific/linux/fusionio/util.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, dpkg, glibc, gcc, libuuid }:
-
-let
- srcs = import ./srcs.nix { inherit fetchurl; };
-in
-stdenv.mkDerivation {
- name = "fusionio-util-${srcs.version}";
-
- nativeBuildInputs = [ dpkg ];
-
- buildCommand = ''
- dpkg-deb -R ${srcs.libvsl} $TMPDIR
- dpkg-deb -R ${srcs.util} $TMPDIR
-
- rm $TMPDIR/usr/bin/fio-{bugreport,sanitize}
-
- mkdir -p $out
- cp -r $TMPDIR/{etc,usr/{bin,lib,share}} $out
- for BIN in $(find $out/bin -type f); do
- echo Patching $BIN
- patchelf --set-interpreter "${glibc.out}/lib/ld-linux-x86-64.so.2" --set-rpath "${stdenv.lib.makeLibraryPath [ glibc gcc.cc libuuid ] }:$out/lib" $BIN
-
- # Test our binary to see if it was correctly patched
- set +e
- $BIN --help >/dev/null 2>&1
- ST="$?"
- set -e
- if [ "$ST" -ge "10" ]; then
- echo "Failed testing $BIN"
- exit 1;
- fi
- done
- '';
-
- dontStrip = true;
-
- meta = with stdenv.lib; {
- homepage = http://fusionio.com;
- description = "Fusionio command line utilities";
- license = licenses.unfree;
- platforms = [ "x86_64-linux" ];
- broken = stdenv.hostPlatform.system != "x86_64-linux";
- maintainers = with maintainers; [ wkennington ];
- };
-}
diff --git a/pkgs/os-specific/linux/fusionio/vsl-fix-file-inode.patch b/pkgs/os-specific/linux/fusionio/vsl-fix-file-inode.patch
deleted file mode 100644
index 25887ceee0f6..000000000000
--- a/pkgs/os-specific/linux/fusionio/vsl-fix-file-inode.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/kfile.c b/kfile.c
-index 5014e77..a65d921 100644
---- a/kfile.c
-+++ b/kfile.c
-@@ -51,7 +51,7 @@ fusion_inode * noinline kfio_fs_inode(fusion_file *fp)
- #if KFIOC_STRUCT_FILE_HAS_PATH
- return (fusion_inode *) ((struct file *)fp)->f_path.dentry->d_inode;
- #else
-- return (fusion_inode *) ((struct file *)fp)->f_dentry->d_inode;
-+ return (fusion_inode *) file_inode((struct file *)fp);
- #endif
- }
-
diff --git a/pkgs/os-specific/linux/fusionio/vsl.nix b/pkgs/os-specific/linux/fusionio/vsl.nix
deleted file mode 100644
index 6ebe2e0cdaf5..000000000000
--- a/pkgs/os-specific/linux/fusionio/vsl.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, fetchurl, kernel }:
-
-let
- srcs = import ./srcs.nix { inherit fetchurl; };
-in
-stdenv.mkDerivation rec {
- name = "fusionio-iomemory-vsl-${srcs.version}";
-
- src = srcs.vsl;
-
- hardeningDisable = [ "pic" ];
-
- prePatch = ''
- cd root/usr/src/iomemory-vsl-*
- '';
-
- patches = stdenv.lib.optional (stdenv.lib.versionAtLeast kernel.version "3.19") ./vsl-fix-file-inode.patch;
-
- preBuild = ''
- sed -i Makefile kfio_config.sh \
- -e "s,\(KERNELDIR=\"\|KERNEL_SRC =\)[^\"]*,\1${kernel.dev}/lib/modules/${kernel.modDirVersion}/build,g"
- export DKMS_KERNEL_VERSION=${kernel.modDirVersion}
- export TARGET="x86_64_cc48"
- '';
-
- installPhase = ''
- export INSTALL_ROOT=$out
- make modules_install
- '';
-
- meta = with stdenv.lib; {
- homepage = http://fusionio.com;
- description = "Kernel driver for accessing fusion-io cards";
- license = licenses.unfree;
- platforms = [ "x86_64-linux" ];
- broken = stdenv.hostPlatform.system != "x86_64-linux";
- maintainers = with maintainers; [ wkennington ];
- };
-}
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 9f297873dd0c..b33285384960 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "jackett-${version}";
- version = "0.10.446";
+ version = "0.10.471";
src = fetchurl {
url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
- sha256 = "1vmgywklax5br3pynjp5b74l2mkmhk3njiccjrl0l7j8ikyar1fw";
+ sha256 = "0la05akvpvfg9jdgfd39wnc87zi7axzx7499w9m3py7qqqyvgyin";
};
buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/nas/default.nix b/pkgs/servers/nas/default.nix
index 9b8402ec0e08..86f75a21359d 100644
--- a/pkgs/servers/nas/default.nix
+++ b/pkgs/servers/nas/default.nix
@@ -16,12 +16,9 @@ in stdenv.mkDerivation {
buildInputs = [ xproto libXau libXt libXext libXaw libXpm ];
- buildPhase = ''
- xmkmf
- make WORLDOPTS="" World
- '';
+ buildFlags = [ "WORLDOPTS=" "World" ];
- installFlags = "LDLIBS=-lfl DESTDIR=\${out}";
+ installFlags = [ "LDLIBS=-lfl" "DESTDIR=${placeholder "out"}" ];
postInstall = ''
mv $out/${xorgcffiles}/* $out
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
index 40afd7043e41..c0648f5183d9 100644
--- a/pkgs/servers/roundcube/default.nix
+++ b/pkgs/servers/roundcube/default.nix
@@ -1,13 +1,13 @@
{ lib, stdenv, fetchzip }:
let
- version = "1.3.7";
+ version = "1.3.8";
in
fetchzip rec {
name= "roundcube-${version}";
- url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
- sha256 = "0xwqy0adynx7066a0cvz9vyg85waax1i4p70kcdkz7q5jnw4jzhf";
-
+ url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
+ sha256 = "1lhwr13bglm8rqgamnb480b07wpqhw9bskjj2xxb0x8kdjly29ks";
+
extraPostFetch = ''
ln -sf /etc/roundcube/config.inc.php $out/config/config.inc.php
rm -rf $out/installer
diff --git a/pkgs/servers/sql/cockroachdb/default.nix b/pkgs/servers/sql/cockroachdb/default.nix
index aba997d75f13..6f4b10759e31 100644
--- a/pkgs/servers/sql/cockroachdb/default.nix
+++ b/pkgs/servers/sql/cockroachdb/default.nix
@@ -1,18 +1,28 @@
-{ stdenv, buildGoPackage, fetchurl, cmake, xz, which, autoconf, ncurses6, libedit }:
+{ stdenv, buildGoPackage, fetchurl
+, cmake, xz, which, autoconf
+, ncurses6, libedit, libunwind
+}:
+let
+ darwinDeps = [ libunwind libedit ];
+ linuxDeps = [ ncurses6 ];
+
+ buildInputs = if stdenv.isDarwin then darwinDeps else linuxDeps;
+ nativeBuildInputs = [ cmake xz which autoconf ];
+
+in
buildGoPackage rec {
name = "cockroach-${version}";
- version = "2.0.0";
+ version = "2.1.1";
goPackagePath = "github.com/cockroachdb/cockroach";
src = fetchurl {
url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
- sha256 = "0x8hf5qwvgb2w6dcnvy20v77nf19f0l1pb40jf31rm72xhk3bwvy";
+ sha256 = "1z34zlwznh4lgbc1ryn577w7mmycyjbmz28k1hhhb6ricmk1x847";
};
- buildInputs = [ (if stdenv.isDarwin then libedit else ncurses6) ];
- nativeBuildInputs = [ cmake xz which autoconf ];
+ inherit nativeBuildInputs buildInputs;
buildPhase = ''
runHook preBuild
@@ -21,24 +31,34 @@ buildGoPackage rec {
make buildoss
cd src/${goPackagePath}
for asset in man autocomplete; do
- ./cockroach gen $asset
+ ./cockroachoss gen $asset
done
runHook postBuild
'';
installPhase = ''
runHook preInstall
- install -D cockroach $bin/bin/cockroach
+
+ install -D cockroachoss $bin/bin/cockroach
install -D cockroach.bash $bin/share/bash-completion/completions/cockroach.bash
- cp -r man $bin/share/man
+
+ mkdir -p $man/share/man
+ cp -r man $man/share/man
+
runHook postInstall
'';
+ # Unfortunately we have to keep an empty reference to $out, because it seems
+ # buildGoPackages only nukes references to the go compiler under $bin, effectively
+ # making all binary output under $bin mandatory. Ideally, we would just use
+ # $out and $man and remove $bin since there's no point in an empty path. :(
+ outputs = [ "bin" "man" "out" ];
+
meta = with stdenv.lib; {
- homepage = https://www.cockroachlabs.com;
+ homepage = https://www.cockroachlabs.com;
description = "A scalable, survivable, strongly-consistent SQL database";
- license = licenses.asl20;
- platforms = [ "x86_64-linux" "x86_64-darwin" ];
- maintainers = [ maintainers.rushmorem ];
+ license = licenses.asl20;
+ platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+ maintainers = with maintainers; [ rushmorem thoughtpolice ];
};
}
diff --git a/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh b/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
deleted file mode 100644
index 6dbaf724092b..000000000000
--- a/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
+++ /dev/null
@@ -1 +0,0 @@
-export IMAKECPP="@tradcpp@/bin/tradcpp"
diff --git a/pkgs/servers/x11/xorg/imake-setup-hook.sh b/pkgs/servers/x11/xorg/imake-setup-hook.sh
new file mode 100644
index 000000000000..10f54198f7fb
--- /dev/null
+++ b/pkgs/servers/x11/xorg/imake-setup-hook.sh
@@ -0,0 +1,19 @@
+export IMAKECPP="@tradcpp@/bin/tradcpp"
+
+imakeConfigurePhase() {
+ runHook preConfigure
+
+ echoCmd 'configuring with imake'
+
+ if [ -z "${imakefile:-}" -a ! -e Imakefile ]; then
+ echo "no Imakefile, doing nothing"
+ else
+ xmkmf -a
+ fi
+
+ runHook postConfigure
+}
+
+if [ -z "$dontUseImakeConfigure" -a -z "$configurePhase" ]; then
+ configurePhase=imakeConfigurePhase
+fi
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 8f4c251335a9..48e67ac74a80 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -63,12 +63,12 @@ self: super:
inherit (self) xorgcffiles;
x11BuildHook = ./imake.sh;
patches = [./imake.patch ./imake-cc-wrapper-uberhack.patch];
- setupHook = if stdenv.isDarwin then ./darwin-imake-setup-hook.sh else null;
- CFLAGS = [ "-DIMAKE_COMPILETIME_CPP=\\\"${if stdenv.isDarwin
+ setupHook = ./imake-setup-hook.sh;
+ CFLAGS = [ ''-DIMAKE_COMPILETIME_CPP='"${if stdenv.isDarwin
then "${tradcpp}/bin/cpp"
- else "gcc"}\\\""
+ else "gcc"}"' ''
];
- tradcpp = if stdenv.isDarwin then tradcpp else null;
+ inherit tradcpp;
});
mkfontdir = super.mkfontdir.overrideAttrs (attrs: {
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 1829531e8959..ec51b5415c13 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -104,7 +104,7 @@ rec {
++ depsTargetTarget ++ depsTargetTargetPropagated) == 0;
runtimeSensativeIfFixedOutput = fixedOutputDrv -> !noNonNativeDeps;
supportedHardeningFlags = [ "fortify" "stackprotector" "pie" "pic" "strictoverflow" "format" "relro" "bindnow" ];
- defaultHardeningFlags = if stdenv.targetPlatform.isMusl
+ defaultHardeningFlags = if stdenv.hostPlatform.isMusl
then supportedHardeningFlags
else lib.remove "pie" supportedHardeningFlags;
enabledHardeningOptions =
diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix
index 6f41447ca76a..622799106cd2 100644
--- a/pkgs/test/cross/default.nix
+++ b/pkgs/test/cross/default.nix
@@ -1,12 +1,11 @@
-{ pkgs, pkgsCross, lib }:
+{ pkgs, lib }:
let
- emulators = {
- mingw32 = "WINEDEBUG=-all ${pkgs.winePackages.minimal}/bin/wine";
- mingwW64 = "WINEDEBUG=-all ${pkgs.wineWowPackages.minimal}/bin/wine";
- # TODO: add some qemu-based emulaltors here
- };
+ testedSystems = lib.filterAttrs (name: value: let
+ platform = lib.systems.elaborate value;
+ in platform.isLinux || platform.isWindows
+ ) lib.systems.examples;
getExecutable = pkgs: pkgFun: exec:
"${pkgFun pkgs}${exec}${pkgs.hostPlatform.extensions.executable}";
@@ -17,6 +16,10 @@ let
in pkgs.runCommand "test-${pkgName}-${crossPkgs.hostPlatform.config}" {
nativeBuildInputs = [ pkgs.dos2unix ];
} ''
+ # Just in case we are using wine, get rid of that annoying extra
+ # stuff.
+ export WINEDEBUG=-all
+
HOME=$(pwd)
mkdir -p $out
@@ -44,29 +47,29 @@ let
fi
'';
+ mapMultiPlatformTest = test: lib.mapAttrs (name: system: test rec {
+ crossPkgs = import pkgs.path {
+ localSystem = { inherit (pkgs.hostPlatform) config; };
+ crossSystem = system;
+ };
+
+ emulator = crossPkgs.hostPlatform.emulator pkgs;
+
+ # Apply some transformation on windows to get dlls in the right
+ # place. Unfortunately mingw doesn’t seem to be able to do linking
+ # properly.
+ platformFun = pkg: if crossPkgs.hostPlatform.isWindows then
+ pkgs.buildEnv {
+ name = "${pkg.name}-winlinks";
+ paths = [pkg] ++ pkg.buildInputs;
+ } else pkg;
+ }) testedSystems;
+
in
-lib.mapAttrs (name: emulator: let
- crossPkgs = pkgsCross.${name};
+lib.mapAttrs (_: mapMultiPlatformTest) {
- # Apply some transformation on windows to get dlls in the right
- # place. Unfortunately mingw doesn’t seem to be able to do linking
- # properly.
- platformFun = pkg: if crossPkgs.hostPlatform.isWindows then
- pkgs.buildEnv {
- name = "${pkg.name}-winlinks";
- paths = [pkg] ++ pkg.buildInputs;
- } else pkg;
-in {
-
- hello = compareTest {
- inherit emulator crossPkgs;
- hostPkgs = pkgs;
- exec = "/bin/hello";
- pkgFun = pkgs: pkgs.hello;
- };
-
- file = compareTest {
+ file = {platformFun, crossPkgs, emulator}: compareTest {
inherit emulator crossPkgs;
hostPkgs = pkgs;
exec = "/bin/file";
@@ -77,4 +80,11 @@ in {
pkgFun = pkgs: platformFun pkgs.file;
};
-}) emulators
+ hello = {platformFun, crossPkgs, emulator}: compareTest {
+ inherit emulator crossPkgs;
+ hostPkgs = pkgs;
+ exec = "/bin/hello";
+ pkgFun = pkgs: pkgs.hello;
+ };
+
+}
diff --git a/pkgs/tools/X11/x2x/default.nix b/pkgs/tools/X11/x2x/default.nix
index 24cf4f6b2e16..0c3538a0db9c 100644
--- a/pkgs/tools/X11/x2x/default.nix
+++ b/pkgs/tools/X11/x2x/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, imake, libX11, libXtst, libXext}:
+{ stdenv, fetchurl, imake, libX11, libXtst, libXext, gccmakedep }:
stdenv.mkDerivation {
name = "x2x-1.27";
@@ -8,20 +8,16 @@ stdenv.mkDerivation {
sha256 = "0dha0kn1lbc4as0wixsvk6bn4innv49z9a0sm5wlx4q1v0vzqzyj";
};
- buildInputs = [ imake libX11 libXtst libXext ];
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ libX11 libXtst libXext ];
hardeningDisable = [ "format" ];
- configurePhase = ''
- xmkmf
- makeFlags="BINDIR=$out/bin x2x"
- '';
+ buildFlags = [ "x2x" ];
installPhase = ''
- mkdir -p $out/bin
- mkdir -p $out/man/man1
- cp x2x $out/bin/
- cp x2x.1 $out/man/man1/
+ install -D x2x $out/bin/x2x
+ install -D x2x.1 $out/man/man1/x2x.1
'';
meta = with stdenv.lib; {
diff --git a/pkgs/tools/X11/xbrightness/default.nix b/pkgs/tools/X11/xbrightness/default.nix
index f4112765e675..2857ea6c7be4 100644
--- a/pkgs/tools/X11/xbrightness/default.nix
+++ b/pkgs/tools/X11/xbrightness/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, xorg }:
+{ stdenv, fetchurl, imake, gccmakedep
+, libX11, libXaw, libXext, libXmu, libXpm, libXxf86vm }:
stdenv.mkDerivation {
@@ -8,22 +9,11 @@ stdenv.mkDerivation {
sha256 = "2564dbd393544657cdabe4cbf535d9cfb9abe8edddb1b8cdb1ed4d12f358626e";
};
- buildInputs = [
- xorg.imake
- xorg.libX11
- xorg.libXaw
- xorg.libXext
- xorg.libXmu
- xorg.libXpm
- xorg.libXxf86vm
- ];
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ libX11 libXaw libXext libXmu libXpm libXxf86vm ];
- configurePhase = "xmkmf";
-
- installPhase = ''
- make install BINDIR=$out/bin
- make install.man MANPATH=$out/share/man
- '';
+ makeFlags = [ "BINDIR=$(out)/bin" "MANPATH=$(out)/share/man" ];
+ installTargets = "install install.man";
meta = {
description = "X11 brigthness and gamma software control";
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
index 06824f882a44..6ccc8a24caee 100644
--- a/pkgs/tools/X11/xvkbd/default.nix
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, imake, libXt, libXaw, libXtst, libXi, libXpm, xextproto, gccmakedep, Xaw3d }:
+{ stdenv, fetchurl, imake, libXt, libXaw, libXtst
+, libXi, libXpm, xextproto, gccmakedep, Xaw3d }:
stdenv.mkDerivation rec {
name = "xvkbd-${version}";
@@ -8,12 +9,14 @@ stdenv.mkDerivation rec {
sha256 = "17csj6x5zm3g67izfwhagkal1rbqzpw09lqmmlyrjy3vzgfkf75q";
};
- buildInputs = [ imake libXt libXaw libXtst xextproto libXi Xaw3d libXpm gccmakedep ];
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ libXt libXaw libXtst xextproto libXi Xaw3d libXpm ];
installTargets = [ "install" "install.man" ];
- preBuild = ''
- makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults MANPATH=$out/man )
- '';
- configurePhase = '' xmkmf -a '';
+ makeFlags = [
+ "BINDIR=$(out)/bin"
+ "XAPPLOADDIR=$(out)/etc/X11/app-defaults"
+ "MANPATH=$(out)/man"
+ ];
meta = with stdenv.lib; {
description = "Virtual keyboard for X window system";
diff --git a/pkgs/tools/X11/xzoom/default.nix b/pkgs/tools/X11/xzoom/default.nix
index 05154e282636..d1867e3b077b 100644
--- a/pkgs/tools/X11/xzoom/default.nix
+++ b/pkgs/tools/X11/xzoom/default.nix
@@ -1,4 +1,5 @@
-{stdenv, fetchurl, libX11, imake, libXext, libXt}:
+{ stdenv, fetchurl, libX11, libXext, libXt, imake, gccmakedep}:
+
stdenv.mkDerivation rec {
name = "${pname}-${version}.${patchlevel}";
pname = "xzoom";
@@ -16,12 +17,16 @@ stdenv.mkDerivation rec {
sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh";
})
];
- buildInputs = [libX11 imake libXext libXt];
- configurePhase = ''
- xmkmf
- makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANPATH=$out/share/man"
- '';
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ libX11 libXext libXt ];
+
+ makeFlags = [
+ "PREFIX=$(out)"
+ "BINDIR=$(out)/bin"
+ "MANPATH=$(out)/share/man"
+ ];
+ installTargets = "install install.man";
meta = {
inherit version;
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index 4027b3d531c3..5a76b500d149 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -10,15 +10,14 @@ stdenv.mkDerivation {
};
# for the builder script
- inherit xauth fontDirectories perl;
- gcc = stdenv.cc.cc;
+ inherit fontDirectories;
hardeningDisable = [ "format" ];
buildInputs = [ xlibsWrapper zlib libjpeg imake gccmakedep libXmu libXaw
libXpm libXp xauth openssh ];
- patchPhase = ''
+ postPatch = ''
fontPath=
for i in $fontDirectories; do
for j in $(find $i -name fonts.dir); do
@@ -27,37 +26,38 @@ stdenv.mkDerivation {
done
sed -i "s@/usr/bin/ssh@${openssh}/bin/ssh@g" vncviewer/vncviewer.h
- '';
- buildPhase = ''
- xmkmf
- make World
sed -e 's@/usr/bin/perl@${perl}/bin/perl@' \
-e 's@unix/:7100@'$fontPath'@' \
-i vncserver
- cd Xvnc
- sed -e 's@.* CppCmd .*@#define CppCmd '$gcc'/bin/cpp@' -i config/cf/linux.cf
- sed -e 's@.* CppCmd .*@#define CppCmd '$gcc'/bin/cpp@' -i config/cf/Imake.tmpl
+ sed -e 's@.* CppCmd .*@#define CppCmd cpp@' -i Xvnc/config/cf/linux.cf
+ sed -e 's@.* CppCmd .*@#define CppCmd cpp@' -i Xvnc/config/cf/Imake.tmpl
sed -i \
-e 's@"uname","xauth","Xvnc","vncpasswd"@"uname","Xvnc","vncpasswd"@g' \
-e "s@\@${xauth}/bin/xauth@g" \
- ../vncserver
- ./configure
- make
- cd ..
+ vncserver
+ '';
+
+ preInstall = ''
+ mkdir -p $out/bin
+ mkdir -p $out/share/man/man1
'';
installPhase = ''
- mkdir -p $out/bin
- mkdir -p $out/share/man/man1
+ runHook preInstall
+
./vncinstall $out/bin $out/share/man
+ runHook postInstall
+ '';
+
+ postInstall = ''
# fix HTTP client:
- t=$out/share/tightvnc
- mkdir -p $t
- sed -i "s@/usr/local/vnc/classes@$out/vnc/classes@g" $out/bin/vncserver
- cp -r classes $t
+ mkdir -p $out/share/tightvnc
+ cp -r classes $out/share/tightvnc
+ substituteInPlace $out/bin/vncserver \
+ --replace /usr/local/vnc/classes $out/share/tightvnc/classes
'';
meta = {
diff --git a/pkgs/tools/filesystems/jfsutils/ar-fix.patch b/pkgs/tools/filesystems/jfsutils/ar-fix.patch
new file mode 100644
index 000000000000..697029cd5a8c
--- /dev/null
+++ b/pkgs/tools/filesystems/jfsutils/ar-fix.patch
@@ -0,0 +1,10 @@
+--- jfsutils-1.1.15/configure.in.orig 2018-11-27 20:46:55.830242385 +0300
++++ jfsutils-1.1.15/configure.in 2018-11-27 20:47:00.596307630 +0300
+@@ -15,6 +15,7 @@
+ AC_PATH_PROG(LN, ln, ln)
+ AC_PROG_LN_S
+ AC_PROG_RANLIB
++AM_PROG_AR
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
diff --git a/pkgs/tools/filesystems/jfsutils/default.nix b/pkgs/tools/filesystems/jfsutils/default.nix
index acc7a91d93f5..92dfe00c9514 100644
--- a/pkgs/tools/filesystems/jfsutils/default.nix
+++ b/pkgs/tools/filesystems/jfsutils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid }:
+{ stdenv, fetchurl, libuuid, autoreconfHook }:
stdenv.mkDerivation rec {
name = "jfsutils-1.1.15";
@@ -8,8 +8,14 @@ stdenv.mkDerivation rec {
sha256 = "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4";
};
- patches = [ ./types.patch ./hardening-format.patch ];
+ patches = [
+ ./types.patch
+ ./hardening-format.patch
+ # required for cross-compilation
+ ./ar-fix.patch
+ ];
+ nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libuuid ];
meta = with stdenv.lib; {
diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix
index e23dd5f0bd14..345974bed58d 100644
--- a/pkgs/tools/filesystems/reiserfsprogs/default.nix
+++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libuuid }:
+{ stdenv, fetchurl, libuuid, autoreconfHook }:
let version = "3.6.24"; in
stdenv.mkDerivation rec {
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "0q07df9wxxih8714a3mdp61h5n347l7j2a0l351acs3xapzgwi3y";
};
+ patches = [ ./reiserfsprogs-ar-fix.patch ];
+ nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libuuid ];
NIX_CFLAGS_COMPILE = "-std=gnu90";
diff --git a/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch b/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch
new file mode 100644
index 000000000000..356782a3d984
--- /dev/null
+++ b/pkgs/tools/filesystems/reiserfsprogs/reiserfsprogs-ar-fix.patch
@@ -0,0 +1,10 @@
+--- reiserfsprogs-3.6.24/configure.ac.orig 2018-11-29 17:16:52.313624894 +0300
++++ reiserfsprogs-3.6.24/configure.ac 2018-11-29 17:16:54.480669132 +0300
+@@ -21,6 +21,7 @@
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_PROG_RANLIB
++AM_PROG_AR
+
+ dnl Checks for libraries.
+
diff --git a/pkgs/tools/graphics/perceptualdiff/default.nix b/pkgs/tools/graphics/perceptualdiff/default.nix
new file mode 100644
index 000000000000..d394a816a49d
--- /dev/null
+++ b/pkgs/tools/graphics/perceptualdiff/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, freeimage }:
+
+stdenv.mkDerivation rec {
+ pname = "perceptualdiff";
+ name = "${pname}-${version}";
+ version = "2.1";
+
+ src = fetchFromGitHub {
+ owner = "myint";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "176n518xv0pczf1yyz9r5a8zw5r6sh5ym596kmvw30qznp8n4a8j";
+ };
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ freeimage ];
+
+ meta = with stdenv.lib; {
+ description = "A program that compares two images using a perceptually based image metric";
+ homepage = "https://github.com/myint/perceptualdiff";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ uri-canva ];
+ platforms = platforms.x86;
+ };
+}
diff --git a/pkgs/tools/graphics/transfig/default.nix b/pkgs/tools/graphics/transfig/default.nix
index cb3f0edff0f8..ceee3b7674d9 100644
--- a/pkgs/tools/graphics/transfig/default.nix
+++ b/pkgs/tools/graphics/transfig/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, zlib, libjpeg, libpng, imake}:
+{ stdenv, fetchurl, zlib, libjpeg, libpng, imake, gccmakedep }:
stdenv.mkDerivation rec {
name = "transfig-3.2.4";
@@ -7,7 +7,8 @@ stdenv.mkDerivation rec {
sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
};
- buildInputs = [zlib libjpeg libpng imake];
+ nativeBuildInputs = [ imake gccmakedep ];
+ buildInputs = [ zlib libjpeg libpng ];
patches = [
./patch-fig2dev-dev-Imakefile
@@ -45,12 +46,7 @@ stdenv.mkDerivation rec {
runHook postPatch
'';
- preBuild = ''
- xmkmf
- make Makefiles
- '';
-
- makeFlags = [ "CC=cc" ];
+ makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
preInstall = ''
mkdir -p $out
diff --git a/pkgs/tools/misc/otfcc/default.nix b/pkgs/tools/misc/otfcc/default.nix
index acf46a58a6bf..96e5e6a1d94e 100644
--- a/pkgs/tools/misc/otfcc/default.nix
+++ b/pkgs/tools/misc/otfcc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, premake5, ninja }:
+{ stdenv, fetchFromGitHub, premake5 }:
stdenv.mkDerivation rec {
name = "otfcc-${version}";
@@ -11,15 +11,15 @@ stdenv.mkDerivation rec {
sha256 = "1rnjfqqyc6d9nhlh8if9k37wk94mcwz4wf3k239v6idg48nrk10b";
};
- nativeBuildInputs = [ premake5 ninja ];
+ nativeBuildInputs = [ premake5 ];
- configurePhase = ''
- premake5 ninja
+ # Don’t guess where our makefiles will end up. Just use current
+ # directory.
+ patchPhase = ''
+ substituteInPlace premake5.lua \
+ --replace 'location "build/gmake"' 'location "."'
'';
- ninjaFlags = let x = if stdenv.hostPlatform.isi686 then "x86" else "x64"; in
- [ "-C" "build/ninja" "otfccdump_release_${x}" "otfccbuild_release_${x}" ];
-
installPhase = ''
mkdir -p $out/bin
cp bin/release-x*/otfcc* $out/bin/
diff --git a/pkgs/tools/networking/x11-ssh-askpass/default.nix b/pkgs/tools/networking/x11-ssh-askpass/default.nix
index 896a2ff4daaa..1b9d55349030 100644
--- a/pkgs/tools/networking/x11-ssh-askpass/default.nix
+++ b/pkgs/tools/networking/x11-ssh-askpass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xlibsWrapper, imake }:
+{ stdenv, fetchurl, xlibsWrapper, imake, gccmakedep }:
stdenv.mkDerivation {
name = "x11-ssh-askpass-1.2.4.1";
@@ -10,16 +10,16 @@ stdenv.mkDerivation {
sha256 = "620de3c32ae72185a2c9aeaec03af24242b9621964e38eb625afb6cdb30b8c88";
};
- nativeBuildInputs = [ imake ];
+ nativeBuildInputs = [ imake gccmakedep ];
buildInputs = [ xlibsWrapper ];
configureFlags = [
"--with-app-defaults-dir=$out/etc/X11/app-defaults"
];
- preBuild = ''
- xmkmf
- make includes
+ dontUseImakeConfigure = true;
+ postConfigure = ''
+ xmkmf -a
'';
installTargets = [ "install" "install.man" ];
diff --git a/pkgs/tools/video/vncrec/default.nix b/pkgs/tools/video/vncrec/default.nix
index 7efcf6cbf83a..49a2c4d4acb0 100644
--- a/pkgs/tools/video/vncrec/default.nix
+++ b/pkgs/tools/video/vncrec/default.nix
@@ -12,16 +12,17 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "format" ];
+ nativeBuildInputs = [ imake gccmakedep ];
buildInputs = [
- libX11 xproto imake gccmakedep libXt libXmu libXaw
+ libX11 xproto libXt libXmu libXaw
libXext xextproto libSM libICE libXpm libXp
];
- buildPhase = ''xmkmf && make World'';
-
- installPhase = ''
- make DESTDIR=$out BINDIR=/bin MANDIR=/share/man/man1 install install.man
- '';
+ makeFlags = [
+ "BINDIR=${placeholder "out"}/bin"
+ "MANDIR=${placeholder "out"}/share/man"
+ ];
+ installTargets = "install install.man";
meta = {
description = "VNC recorder";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 10d667074cd6..333373f06057 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4706,6 +4706,8 @@ with pkgs;
pepper = callPackage ../tools/admin/salt/pepper { };
+ perceptualdiff = callPackage ../tools/graphics/perceptualdiff { };
+
percona-xtrabackup = callPackage ../tools/backup/percona-xtrabackup {
boost = boost159;
};
@@ -9029,6 +9031,10 @@ with pkgs;
tweak = callPackage ../applications/editors/tweak { };
+ tychus = callPackage ../development/tools/tychus {
+ inherit (darwin.apple_sdk.frameworks) CoreFoundation;
+ };
+
uhd = callPackage ../development/tools/misc/uhd { };
uisp = callPackage ../development/tools/misc/uisp { };
@@ -11092,8 +11098,6 @@ with pkgs;
libosip = callPackage ../development/libraries/osip {};
- libosip_3 = callPackage ../development/libraries/osip/3.nix {};
-
libosmium = callPackage ../development/libraries/libosmium { };
libosmocore = callPackage ../applications/misc/libosmocore { };
@@ -12526,7 +12530,7 @@ with pkgs;
taglib-sharp = callPackage ../development/libraries/taglib-sharp { };
talloc = callPackage ../development/libraries/talloc {
- python = python2;
+ python = buildPackages.python2;
};
tclap = callPackage ../development/libraries/tclap {};
@@ -14196,8 +14200,6 @@ with pkgs;
fuse3 = fusePackages.fuse_3;
fuse-common = hiPrio fusePackages.fuse_3.common;
- fusionio-util = callPackage ../os-specific/linux/fusionio/util.nix { };
-
fxload = callPackage ../os-specific/linux/fxload { };
gfxtablet = callPackage ../os-specific/linux/gfxtablet {};
@@ -14480,8 +14482,6 @@ with pkgs;
v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { };
- fusionio-vsl = callPackage ../os-specific/linux/fusionio/vsl.nix { };
-
lttng-modules = callPackage ../os-specific/linux/lttng-modules { };
broadcom_sta = callPackage ../os-specific/linux/broadcom-sta { };
@@ -17502,8 +17502,6 @@ with pkgs;
# Impressive, formerly known as "KeyJNote".
impressive = callPackage ../applications/office/impressive { };
- inferno = pkgsi686Linux.callPackage ../applications/inferno { };
-
inkscape = callPackage ../applications/graphics/inkscape {
lcms = lcms2;
poppler = poppler_0_61;
@@ -20088,8 +20086,6 @@ with pkgs;
xmlcopyeditor = callPackage ../applications/editors/xmlcopyeditor { };
- xmove = callPackage ../applications/misc/xmove { };
-
xmp = callPackage ../applications/audio/xmp { };
xnee = callPackage ../tools/X11/xnee { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index e8c407d23fac..4bcc7f4d32c7 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -7462,6 +7462,21 @@ let
};
};
+ Imager = buildPerlPackage rec {
+ name = "Imager-1.006";
+ src = fetchurl {
+ url = "mirror://cpan/authors/id/T/TO/TONYC/${name}.tar.gz";
+ sha256 = "c1e434a4de6250e3b229aa74aa653e56c38f981864f71a975366c50559c9d52b";
+ };
+ buildInputs = [ ExtUtilsPkgConfig pkgs.freetype pkgs.fontconfig pkgs.libjpeg pkgs.libpng ];
+ makeMakerFlags = "--incpath ${pkgs.libjpeg.dev}/include --libpath ${pkgs.libjpeg.out}/lib --incpath ${pkgs.libpng.dev}/include --libpath ${pkgs.libpng.out}/lib";
+ meta = {
+ homepage = http://imager.perl.org/;
+ description = "Perl extension for Generating 24 bit Images";
+ license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+ };
+ };
+
ImageInfo = buildPerlPackage rec {
name = "Image-Info-1.41";
src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3669c851394d..5d34c61d4b8c 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -595,6 +595,8 @@ in {
pyparser = callPackage ../development/python-modules/pyparser { };
+ pyres = callPackage ../development/python-modules/pyres { };
+
pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
pythonPackages = self;
};
@@ -619,6 +621,8 @@ in {
slurm = pkgs.slurm;
};
+ pyssim = callPackage ../development/python-modules/pyssim { };
+
pystache = callPackage ../development/python-modules/pystache { };
pytesseract = callPackage ../development/python-modules/pytesseract { };
@@ -635,6 +639,8 @@ in {
python-ldap-test = callPackage ../development/python-modules/python-ldap-test { };
+ python-mnist = callPackage ../development/python-modules/python-mnist { };
+
python-igraph = callPackage ../development/python-modules/python-igraph {
pkgconfig = pkgs.pkgconfig;
igraph = pkgs.igraph;
@@ -666,6 +672,8 @@ in {
relatorio = callPackage ../development/python-modules/relatorio { };
+ remotecv = callPackage ../development/python-modules/remotecv { };
+
pyzufall = callPackage ../development/python-modules/pyzufall { };
rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl {});
@@ -1146,6 +1154,8 @@ in {
cairocffi = callPackage ../development/python-modules/cairocffi {};
+ cairosvg1 = callPackage ../development/python-modules/cairosvg/1_x.nix {};
+
cairosvg = callPackage ../development/python-modules/cairosvg {};
carrot = callPackage ../development/python-modules/carrot {};
@@ -3080,6 +3090,8 @@ in {
nose-exclude = callPackage ../development/python-modules/nose-exclude { };
+ nose-focus = callPackage ../development/python-modules/nose-focus { };
+
nose2 = callPackage ../development/python-modules/nose2 { };
nose-cover3 = callPackage ../development/python-modules/nose-cover3 { };
@@ -3090,6 +3102,10 @@ in {
nose-cprof = callPackage ../development/python-modules/nose-cprof { };
+ nose-of-yeti = callPackage ../development/python-modules/nose-of-yeti { };
+
+ nose-pattern-exclude = callPackage ../development/python-modules/nose-pattern-exclude { };
+
nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { };
notebook = callPackage ../development/python-modules/notebook { };
@@ -3857,6 +3873,8 @@ in {
simplegeneric = callPackage ../development/python-modules/simplegeneric { };
+ should-dsl = callPackage ../development/python-modules/should-dsl { };
+
simplejson = callPackage ../development/python-modules/simplejson { };
simplekml = callPackage ../development/python-modules/simplekml { };
@@ -4852,12 +4870,16 @@ in {
packaging = callPackage ../development/python-modules/packaging { };
+ preggy = callPackage ../development/python-modules/preggy { };
+
pytoml = callPackage ../development/python-modules/pytoml { };
pypandoc = callPackage ../development/python-modules/pypandoc { };
yamllint = callPackage ../development/python-modules/yamllint { };
+ yanc = callPackage ../development/python-modules/yanc { };
+
yarl = callPackage ../development/python-modules/yarl { };
suseapi = callPackage ../development/python-modules/suseapi { };
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 957de2dcc307..7e7cac95b9c5 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -54,7 +54,7 @@ rec {
# More poor man's memoisation
pkgsForCross = let
examplesByConfig = lib.flip lib.mapAttrs'
- (builtins.removeAttrs lib.systems.examples [ "riscv" ])
+ lib.systems.examples
(_: crossSystem: nameValuePair crossSystem.config {
inherit crossSystem;
pkgsFor = mkPkgsFor crossSystem;