Merge remote-tracking branch 'upstream/master' into nixos-nixpkgs-pkgs-use-overlays

This commit is contained in:
Robert Hensing 2018-11-04 21:33:16 +01:00
commit 51c6f51390
90 changed files with 1759 additions and 885 deletions

4
.github/CODEOWNERS vendored
View file

@ -113,3 +113,7 @@
/nixos/modules/services/databases/postgresql.xml @thoughtpolice
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
/nixos/tests/postgresql.nix @thoughtpolice
# Dhall
/pkgs/development/dhall-modules @Gabriel439 @Profpatsch
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch

View file

@ -483,8 +483,8 @@ and in this case the `python35` interpreter is automatically used.
### Interpreters
Versions 2.7, 3.4, 3.5, 3.6 and 3.7 of the CPython interpreter are available as
respectively `python27`, `python34`, `python35` and `python36`. The PyPy interpreter
Versions 2.7, 3.5, 3.6 and 3.7 of the CPython interpreter are available as
respectively `python27`, `python35` and `python36`. The PyPy interpreter
is available as `pypy`. The aliases `python2` and `python3` correspond to respectively `python27` and
`python35`. The default interpreter, `python`, maps to `python2`.
The Nix expressions for the interpreters can be found in
@ -507,7 +507,7 @@ Each interpreter has the following attributes:
- `buildEnv`. Function to build python interpreter environments with extra packages bundled together. See section *python.buildEnv function* for usage and documentation.
- `withPackages`. Simpler interface to `buildEnv`. See section *python.withPackages function* for usage and documentation.
- `sitePackages`. Alias for `lib/${libPrefix}/site-packages`.
- `executable`. Name of the interpreter executable, e.g. `python3.4`.
- `executable`. Name of the interpreter executable, e.g. `python3.7`.
- `pkgs`. Set of Python packages for that specific interpreter. The package set can be modified by overriding the interpreter and passing `packageOverrides`.
### Building packages and applications
@ -529,7 +529,6 @@ attribute set is created for each available Python interpreter. The available
sets are
* `pkgs.python27Packages`
* `pkgs.python34Packages`
* `pkgs.python35Packages`
* `pkgs.python36Packages`
* `pkgs.python37Packages`
@ -837,7 +836,7 @@ community to help save time. No tool is preferred at the moment.
### Deterministic builds
Python 2.7, 3.5 and 3.6 are now built deterministically and 3.4 mostly.
The Python interpreters are now built deterministically.
Minor modifications had to be made to the interpreters in order to generate
deterministic bytecode. This has security implications and is relevant for
those using Python in a `nix-shell`.

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, pkgs_i686, ... }:
{ config, lib, pkgs, ... }:
with pkgs;
with lib;
@ -19,7 +19,7 @@ let
# Forces 32bit pulseaudio and alsaPlugins to be built/supported for apps
# using 32bit alsa on 64bit linux.
enable32BitAlsaPlugins = cfg.support32Bit && stdenv.isx86_64 && (pkgs_i686.alsaLib != null && pkgs_i686.libpulseaudio != null);
enable32BitAlsaPlugins = cfg.support32Bit && stdenv.isx86_64 && (pkgs.pkgsi686Linux.alsaLib != null && pkgs.pkgsi686Linux.libpulseaudio != null);
myConfigFile =
@ -63,7 +63,7 @@ let
pcm_type.pulse {
libs.native = ${pkgs.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;
${lib.optionalString enable32BitAlsaPlugins
"libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"}
"libs.32Bit = ${pkgs.pkgsi686Linux.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"}
}
pcm.!default {
type pulse
@ -72,7 +72,7 @@ let
ctl_type.pulse {
libs.native = ${pkgs.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;
${lib.optionalString enable32BitAlsaPlugins
"libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"}
"libs.32Bit = ${pkgs.pkgsi686Linux.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"}
}
ctl.!default {
type pulse

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, pkgs_i686, ... }:
{ config, lib, pkgs, ... }:
with lib;
@ -148,7 +148,7 @@ in
[ "/run/opengl-driver/share" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/share";
hardware.opengl.package = mkDefault (makePackage pkgs);
hardware.opengl.package32 = mkDefault (makePackage pkgs_i686);
hardware.opengl.package32 = mkDefault (makePackage pkgs.pkgsi686Linux);
boot.extraModulePackages = optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions;
};

View file

@ -1,6 +1,6 @@
# This module provides the proprietary AMDGPU-PRO drivers.
{ config, lib, pkgs, pkgs_i686, ... }:
{ config, lib, pkgs, ... }:
with lib;
@ -11,7 +11,7 @@ let
enabled = elem "amdgpu-pro" drivers;
package = config.boot.kernelPackages.amdgpu-pro;
package32 = pkgs_i686.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; };
package32 = pkgs.pkgsi686Linux.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; };
opengl = config.hardware.opengl;

View file

@ -1,6 +1,6 @@
# This module provides the proprietary ATI X11 / OpenGL drivers.
{ config, lib, pkgs_i686, ... }:
{ config, lib, pkgs, ... }:
with lib;
@ -24,7 +24,7 @@ in
{ name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; };
hardware.opengl.package = ati_x11;
hardware.opengl.package32 = pkgs_i686.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; };
hardware.opengl.package32 = pkgs.pkgsi686Linux.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; };
environment.systemPackages = [ ati_x11 ];

View file

@ -1,6 +1,6 @@
# This module provides the proprietary NVIDIA X11 / OpenGL drivers.
{ stdenv, config, lib, pkgs, pkgs_i686, ... }:
{ stdenv, config, lib, pkgs, ... }:
with lib;
@ -25,7 +25,7 @@ let
nvidia_x11 = nvidiaForKernel config.boot.kernelPackages;
nvidia_libs32 =
if versionOlder nvidia_x11.version "391" then
((nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; }).out
((nvidiaForKernel pkgs.pkgsi686Linux.linuxPackages).override { libsOnly = true; kernel = null; }).out
else
(nvidiaForKernel config.boot.kernelPackages).lib32;

View file

@ -217,7 +217,6 @@ in
config = {
_module.args = {
pkgs = finalPkgs;
pkgs_i686 = finalPkgs.pkgsi686Linux;
};
};
}

View file

@ -10,6 +10,13 @@ let
# Get a submodule without any embedded metadata:
_filter = x: filterAttrs (k: v: k != "_module") x;
# a wrapper that verifies that the configuration is valid
promtoolCheck = what: name: file: pkgs.runCommand "${name}-${what}-checked"
{ buildInputs = [ cfg.package ]; } ''
ln -s ${file} $out
promtool ${what} $out
'';
# Pretty-print JSON to a file
writePrettyJSON = name: x:
pkgs.runCommand name { } ''
@ -19,18 +26,19 @@ let
# This becomes the main config file
promConfig = {
global = cfg.globalConfig;
rule_files = cfg.ruleFiles ++ [
rule_files = map (promtoolCheck "check-rules" "rules") (cfg.ruleFiles ++ [
(pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules))
];
]);
scrape_configs = cfg.scrapeConfigs;
};
generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
prometheusYml =
if cfg.configText != null then
prometheusYml = let
yml = if cfg.configText != null then
pkgs.writeText "prometheus.yml" cfg.configText
else generatedPrometheusYml;
else generatedPrometheusYml;
in promtoolCheck "check-config" "prometheus.yml" yml;
cmdlineArgs = cfg.extraFlags ++ [
"-storage.local.path=${cfg.dataDir}/metrics"
@ -376,6 +384,15 @@ in {
'';
};
package = mkOption {
type = types.package;
default = pkgs.prometheus;
defaultText = "pkgs.prometheus";
description = ''
The prometheus package that should be used.
'';
};
listenAddress = mkOption {
type = types.str;
default = "0.0.0.0:9090";
@ -495,7 +512,7 @@ in {
after = [ "network.target" ];
script = ''
#!/bin/sh
exec ${pkgs.prometheus}/bin/prometheus \
exec ${cfg.package}/bin/prometheus \
${concatStringsSep " \\\n " cmdlineArgs}
'';
serviceConfig = {

View file

@ -31,10 +31,26 @@ in
'';
};
purifyOnStart = mkOption {
type = types.bool;
default = false;
description = ''
On startup, the `baseDir` directory is populated with various files,
subdirectories and symlinks. If this option is enabled, these items
(except for the `logs` and `work` subdirectories) are first removed.
This prevents interference from remainders of an old configuration
(libraries, webapps, etc.), so it's recommended to enable this option.
'';
};
baseDir = mkOption {
type = lib.types.path;
default = "/var/tomcat";
description = "Location where Tomcat stores configuration files, webapplications and logfiles";
description = ''
Location where Tomcat stores configuration files, web applications
and logfiles. Note that it is partially cleared on each service startup
if `purifyOnStart` is enabled.
'';
};
logDirs = mkOption {
@ -197,6 +213,15 @@ in
after = [ "network.target" ];
preStart = ''
${lib.optionalString cfg.purifyOnStart ''
# Delete most directories/symlinks we create from the existing base directory,
# to get rid of remainders of an old configuration.
# The list of directories to delete is taken from the "mkdir" command below,
# excluding "logs" (because logs are valuable) and "work" (because normally
# session files are there), and additionally including "bin".
rm -rf ${cfg.baseDir}/{conf,virtualhosts,temp,lib,shared/lib,webapps,bin}
''}
# Create the base directory
mkdir -p \
${cfg.baseDir}/{conf,virtualhosts,logs,temp,lib,shared/lib,webapps,work}

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, pkgs_i686, ... }:
{ config, lib, pkgs, ... }:
with lib;
@ -64,7 +64,7 @@ in
};
hardware.opengl.package = prl-tools;
hardware.opengl.package32 = pkgs_i686.linuxPackages.prl-tools.override { libsOnly = true; kernel = null; };
hardware.opengl.package32 = pkgs.pkgsi686Linux.linuxPackages.prl-tools.override { libsOnly = true; kernel = null; };
services.udev.packages = [ prl-tools ];

View file

@ -5,6 +5,7 @@
, pkgconfig
, ffmpeg_4
, patchelf
, fdk_aac
, libtool
, cmake
, bluez
@ -22,13 +23,13 @@ let
in stdenv.mkDerivation rec {
name = "pulseaudio-modules-bt-${version}";
version = "unstable-2018-10-16";
version = "unstable-2018-11-01";
src = fetchFromGitHub {
owner = "EHfive";
repo = "pulseaudio-modules-bt";
rev = "552c2b48c0cc7dd44d0746b261f7c7d5559e8e30";
sha256 = "052jb1hjx1in7bafx4zpn78s7r6f2y7djriwi36dzqy9wmalmyjy";
rev = "a2f62fcaa702bb883c07d074ebca8d7135520ab8";
sha256 = "1fhg7q9064zikhy0xxldn4fvh49pc47mgikcbd9yhsk66gcn6zj3";
fetchSubmodules = true;
};
@ -45,6 +46,7 @@ in stdenv.mkDerivation rec {
buildInputs = [
pulseaudio
ffmpeg_4
fdk_aac
libtool
bluez
dbus
@ -72,7 +74,7 @@ in stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://github.com/EHfive/pulseaudio-modules-bt;
description = "SBC, Sony LDAC codec (A2DP Audio) support for Pulseaudio";
description = "LDAC, aptX, aptX HD, AAC codecs (A2DP Audio) support for Linux PulseAudio";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ adisbladis ];

View file

@ -1,11 +1,20 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0f5baa0..1f35cce 100644
index d869979..185144d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,5 +121,4 @@ INSTALL(TARGETS
@@ -143,13 +143,13 @@ INSTALL(TARGETS
module-bluez5-device
module-bluetooth-discover
module-bluetooth-policy
- LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
-
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/)
if(NOT ${HAVE_SYSTEM_LDAC})
INSTALL(TARGETS
ldacBT_enc
ldacBT_abr
- LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/)
endif()

View file

@ -2,24 +2,24 @@
stdenv.mkDerivation rec {
name = "1password-${version}";
version = "0.5.3";
version = "0.5.4";
src =
if stdenv.hostPlatform.system == "i686-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
sha256 = "05s223h1yps4k9kmignl0r5sbh6w7m1hnlmafnf1kiwv7gacvxjc";
sha256 = "0wni2hk5b1qfr24vi24jiprpi08k3qgaw9lqp61k41a1sjp3izv0";
stripRoot = false;
}
else if stdenv.hostPlatform.system == "x86_64-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
sha256 = "0p9x1fx0309v8dxxaf88m8x8q15zzqywfmjn6v5wb9v3scp9396v";
sha256 = "169d5fl3cfw3xrlpm9nlmwbnp0xgh0la9qybzf8ragp0020nlyih";
stripRoot = false;
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
sha256 = "1z2xp9bn93gr4ha6zx65va1fb58a2xlnnmpv583y96gq3vbnqdcj";
sha256 = "1scikv7v33kzg9rqsrz97yklxaskvif84br13zg8annm43k5vlma";
stripRoot = false;
}
else throw "Architecture not supported";

View file

@ -1,47 +1,30 @@
diff --git a/Makerules b/Makerules
--- a/Makerules
+++ b/Makerules
@@ -81,22 +81,10 @@ HAVE_GLUT ?= yes
SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
-CC = xcrun cc
-AR = xcrun ar
-LD = xcrun ld
-RANLIB_CMD = xcrun ranlib $@
diff -ruN mupdf-1.14.0-source.orig/Makerules mupdf-1.14.0-source/Makerules
--- mupdf-1.14.0-source.orig/Makerules 2018-11-02 06:57:12.114012496 +0100
+++ mupdf-1.14.0-source/Makerules 2018-11-02 10:11:56.717232992 +0100
@@ -80,13 +80,6 @@
HAVE_GLUT := yes
SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
- CC = xcrun cc
- AR = xcrun ar
- LD = xcrun ld
- RANLIB = xcrun ranlib
-
-# Linux uses pkg-config for system libraries.
-else ifeq "$(OS)" "Linux"
-else ifeq ($(OS),Linux)
- HAVE_OBJCOPY := yes
ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
@@ -119,12 +112,6 @@
SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
endif
- HAVE_GLUT := yes
- ifeq ($(HAVE_GLUT),yes)
- SYS_GLUT_CFLAGS :=
- SYS_GLUT_LIBS := -lglut -lGL
- endif
-
HAVE_PTHREAD := yes
SYS_PTHREAD_CFLAGS :=
SYS_PTHREAD_LIBS := -lpthread
-HAVE_GLUT := yes
-SYS_GLUT_CFLAGS :=
-SYS_GLUT_LIBS := -lglut -lGL
-
ifeq "$(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)" "yes"
HAVE_LIBCRYPTO := yes
SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto)
@@ -113,7 +101,7 @@ SYS_CURL_CFLAGS += $(shell pkg-config --cflags openssl)
SYS_CURL_DEPS += $(shell pkg-config --libs openssl)
endif
endif
-SYS_CURL_DEPS += -lpthread -lrt
+SYS_CURL_DEPS += -lpthread
ifeq "$(shell pkg-config --exists x11 xext && echo yes)" "yes"
HAVE_X11 := yes
diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c
index d58f7ba..808af18 100644
--- a/platform/gl/gl-main.c
+++ b/platform/gl/gl-main.c
@@ -16,6 +16,7 @@ void glutExit(void) {}
void glutMouseWheelFunc(void *fn) {}
void glutInitErrorFunc(void *fn) {}
void glutInitWarningFunc(void *fn) {}
+#define glutSetOption(X,Y)
#endif
enum
HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
ifeq ($(HAVE_X11),yes)
X11_CFLAGS := $(shell pkg-config --cflags x11 xext)

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
{ stdenv, lib, fetchurl, pkgconfig, freetype, harfbuzz, openjpeg
, jbig2dec, libjpeg , darwin
, enableX11 ? true, libX11, libXext, libXi, libXrandr
, enableCurl ? true, curl, openssl
@ -14,23 +14,17 @@ let
in stdenv.mkDerivation rec {
version = "1.13.0";
version = "1.14.0";
name = "mupdf-${version}";
src = fetchurl {
url = "https://mupdf.com/downloads/archive/${name}-source.tar.gz";
sha256 = "02faww5bnjw76k6igrjzwf0lnw4xd9ckc8d6ilc3c4gfrdi6j707";
sha256 = "093p7lv6pgyymagn28n58fs0np928r0i5p2az9cc4gwccwx4hhy4";
};
patches = [
(fetchpatch {
name = "CVE-2018-10289.patch";
url = "https://bugs.ghostscript.com/attachment.cgi?id=15230";
sha256 = "0jmpacxd9930g6k57kda9jrcrbk75whdlv8xwmqg5jwn848qvy4q";
})
]
patches =
# Use shared libraries to decrease size
++ stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.13-shared_libs-1.patch
stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
;
@ -38,7 +32,7 @@ in stdenv.mkDerivation rec {
sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
'';
makeFlags = [ "prefix=$(out)" ];
makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]

View file

@ -1,45 +0,0 @@
--- mupdf-1.12.0-source.orig/Makefile 2017-12-13 15:00:30.000000000 +0100
+++ mupdf-1.12.0-source/Makefile 2017-12-31 00:05:23.003277481 +0100
@@ -14,7 +14,7 @@
# Do not specify CFLAGS or LIBS on the make invocation line - specify
# XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
# set a variable that was set on the command line.
-CFLAGS += $(XCFLAGS) -Iinclude
+CFLAGS += $(XCFLAGS) -Iinclude -fPIC
LIBS += $(XLIBS) -lm
LIBS += $(FREETYPE_LIBS)
@@ -312,10 +312,10 @@
# --- Library ---
-MUPDF_LIB = $(OUT)/libmupdf.a
-THIRD_LIB = $(OUT)/libmupdfthird.a
-THREAD_LIB = $(OUT)/libmuthreads.a
-PKCS7_LIB = $(OUT)/libmupkcs7.a
+MUPDF_LIB = $(OUT)/libmupdf.so
+THIRD_LIB = $(OUT)/libmupdfthird.so
+THREAD_LIB = $(OUT)/libmuthreads.so
+PKCS7_LIB = $(OUT)/libmupkcs7.so
MUPDF_OBJ := \
$(FITZ_OBJ) \
@@ -343,13 +343,17 @@
$(ZLIB_OBJ) \
$(LCMS2_OBJ)
-$(MUPDF_LIB) : $(MUPDF_OBJ)
+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB)
+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined
$(THIRD_LIB) : $(THIRD_OBJ)
+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdfthird.so -Wl,--no-undefined
$(THREAD_LIB) : $(THREAD_OBJ)
+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmuthreads.so -Wl,--no-undefined -lpthread
$(PKCS7_LIB) : $(PKCS7_OBJ)
+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupkcs7.so
-INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
+INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB)
# --- Tools and Apps ---

View file

@ -0,0 +1,39 @@
--- mupdf-1.14.0-source.orig/Makefile 2018-11-02 06:57:12.114012496 +0100
+++ mupdf-1.14.0-source/Makefile 2018-11-02 09:57:10.067945307 +0100
@@ -20,7 +20,7 @@
# Do not specify CFLAGS or LIBS on the make invocation line - specify
# XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
# set a variable that was set on the command line.
-CFLAGS += $(XCFLAGS) -Iinclude
+CFLAGS += $(XCFLAGS) -Iinclude -fPIC
LIBS += $(XLIBS) -lm
ifneq ($(threading),no)
@@ -190,17 +190,21 @@
# --- Library ---
-MUPDF_LIB = $(OUT)/libmupdf.a
-THIRD_LIB = $(OUT)/libmupdf-third.a
-THREAD_LIB = $(OUT)/libmupdf-threads.a
-PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
+MUPDF_LIB = $(OUT)/libmupdf.so
+THIRD_LIB = $(OUT)/libmupdf-third.so
+THREAD_LIB = $(OUT)/libmupdf-threads.so
+PKCS7_LIB = $(OUT)/libmupdf-pkcs7.so
-$(MUPDF_LIB) : $(MUPDF_OBJ)
+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB)
+ $(LINK_CMD) $(THIRD_LIBS) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined
$(THIRD_LIB) : $(THIRD_OBJ)
+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.so -Wl,--no-undefined
$(THREAD_LIB) : $(THREAD_OBJ)
+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-threads.so -Wl,--no-undefined -lpthread
$(PKCS7_LIB) : $(PKCS7_OBJ)
+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-pkcs7.so
-INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
+INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB)
# --- Main tools and viewers ---

View file

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, python34Packages, readline, ncurses, canto-daemon }:
{ stdenv, fetchFromGitHub, python3Packages, readline, ncurses, canto-daemon }:
python34Packages.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
version = "0.9.9";
name = "canto-curses-${version}";
pname = "canto-curses";
src = fetchFromGitHub {
owner = "themoken";

View file

@ -1,9 +1,8 @@
{ stdenv, fetchFromGitHub, python34Packages, }:
{ stdenv, fetchFromGitHub, python3Packages, }:
python34Packages.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
version = "0.9.7";
name = "canto-daemon-${version}";
namePrefix = "";
pname = "canto-daemon";
src = fetchFromGitHub {
owner = "themoken";
@ -12,7 +11,7 @@ python34Packages.buildPythonApplication rec {
sha256 = "1si53r8cd4avfc56r315zyrghkppnjd6n125z1agfv59i7hdmk3n";
};
propagatedBuildInputs = with python34Packages; [ feedparser ];
propagatedBuildInputs = with python3Packages; [ feedparser ];
meta = {
description = "Daemon for the canto Atom/RSS feed reader";

View file

@ -1,57 +1,27 @@
{ stdenv, fetchurl, ocamlPackages,
buildBytecode ? true,
buildNative ? true,
installExamples ? true,
installEmacsMode ? true }:
let inherit (stdenv.lib) versionAtLeast optionalString; in
let inherit (ocamlPackages) ocaml camlp4; in
assert buildBytecode || buildNative;
{ stdenv, fetchurl, dune, ocamlPackages }:
stdenv.mkDerivation {
name = "acgtk-1.3.1";
name = "acgtk-1.5.0";
src = fetchurl {
url = http://calligramme.loria.fr/acg/software/acg-1.3.1-20170303.tar.gz;
sha256 = "1hhrf6bx2x2wbv5ldn4fnxhpr9lyrj3zh1vcnx8wf8f06ih4rzfq";
url = http://calligramme.loria.fr/acg/software/acg-1.5.0-20181019.tar.gz;
sha256 = "14n003gxzw5w79hlpw1ja4nq97jqf9zqyg00ihvpxw4bv9jlm8jm";
};
buildInputs = with ocamlPackages; [
ocaml findlib camlp4 ansiterminal biniou bolt cairo2 dypgen easy-format ocf yojson
];
buildInputs = [ dune ] ++ (with ocamlPackages; [
ocaml findlib ansiterminal cairo2 fmt logs menhir mtime ocf
]);
patches = [ ./install-emacs-to-site-lisp.patch
./use-nix-ocaml-byteflags.patch ];
buildPhase = "dune build";
postPatch = optionalString (camlp4 != null) ''
substituteInPlace src/Makefile.master.in \
--replace "+camlp4" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4/"
'' + optionalString (versionAtLeast (stdenv.lib.getVersion ocamlPackages.yojson) "1.4") ''
substituteInPlace src/scripting/Makefile.in --replace yojson.cmo yojson.cma
'';
# The bytecode executable is dependent on the dynamic library provided by
# ANSITerminal. We can use the -dllpath flag of ocamlc (analogous to
# -rpath) to make sure that ocamlrun is able to link the library at
# runtime and that Nix detects a runtime dependency.
NIX_OCAML_BYTEFLAGS = "-dllpath ${ocamlPackages.ansiterminal}/lib/ocaml/${ocaml.version}/site-lib/ANSITerminal";
buildFlags = optionalString buildBytecode "byte"
+ " "
+ optionalString buildNative "opt";
installTargets = "install"
+ " " + optionalString installExamples "install-examples"
+ " " + optionalString installEmacsMode "install-emacs";
inherit (dune) installPhase;
meta = with stdenv.lib; {
homepage = http://calligramme.loria.fr/acg/;
description = "A toolkit for developing ACG signatures and lexicon";
license = licenses.cecill20;
platforms = ocaml.meta.platforms or [];
inherit (ocamlPackages.ocaml.meta) platforms;
maintainers = [ maintainers.jirkamarsik ];
};
}

View file

@ -1,23 +0,0 @@
--- acg-1.1-20140905/Makefile.in 2014-10-24 15:21:39.442287208 +0200
+++ acg-1.1-20140905/Makefile.in.new 2014-10-24 15:24:58.557117228 +0200
@@ -35,6 +35,7 @@
ACGC_DIR=src/acg-data
DATA_DIR=@datarootdir@/acgtk
+EMACS_DIR=@prefix@/share/emacs/site-lisp
@@ -82,10 +83,10 @@
rm -r $(DATA_DIR)
install-emacs:
- mkdir -p $(DATA_DIR) && cp -r emacs $(DATA_DIR)/.
+ mkdir -p $(EMACS_DIR) && cp emacs/acg.el $(EMACS_DIR)
uninstall-emacs:
- rm -rf $(DATA_DIR)/emacs
+ rm -rf $(EMACS_DIR)/emacs
install-examples:
mkdir -p $(DATA_DIR) && cp -r examples $(DATA_DIR)/.

View file

@ -1,11 +0,0 @@
--- acg-1.1-20140905/src/Makefile.master.in 2014-10-27 10:59:42.263382081 +0100
+++ acg-1.1-20140905/src/Makefile.master.in.new 2014-10-27 10:59:59.683597972 +0100
@@ -23,7 +23,7 @@
# All warnings are treated as errors
WARNINGS = @OCAML09WARNINGS@ -warn-error A
COMMONFLAGS= $(WARNINGS) @TYPES@
-BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG)
+BYTEFLAGS = $(COMMONFLAGS) $(DEBUGFLAG) $(NIX_OCAML_BYTEFLAGS)
OPTFLAGS = $(COMMONFLAGS)
LFLAGS= -a

View file

@ -2,7 +2,7 @@
python2Packages.buildPythonApplication rec {
pname = "git-big-picture";
version = "0.9.0";
version = "0.10.1";
name = "${pname}-${version}";
@ -10,7 +10,7 @@ python2Packages.buildPythonApplication rec {
owner = "esc";
repo = pname;
rev = "v${version}";
sha256 = "1h283gzs4nx8lrarmr454zza52cilmnbdrqn1n33v3cn1rayl3c9";
sha256 = "0b0zdq7d7k7f6p3wwc799347fraphbr20rxd1ysnc4xi1cj4wpmi";
};
buildInputs = [ git graphviz ];
@ -21,7 +21,7 @@ python2Packages.buildPythonApplication rec {
'';
meta = {
description = "Tool for visualization of Git repositories.";
description = "Tool for visualization of Git repositories";
homepage = https://github.com/esc/git-big-picture;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux;

View file

@ -1,7 +1,7 @@
{ lib, fetchzip }:
let
version = "1.1.6";
version = "1.2.1";
in fetchzip rec {
name = "ibm-plex-${version}";
url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
@ -9,7 +9,7 @@ in fetchzip rec {
mkdir -p $out/share/fonts
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
'';
sha256 = "0n9qmh6v7gvrl1mfb0knygxlbkb78hvkdrppssx64m3pk4pxw85a";
sha256 = "1mwlw39nbqrk08crvgm77l98yyyabwhcgsng89c9s67gq4mlxmxa";
meta = with lib; {
description = "IBM Plex Typeface";

View file

@ -50,6 +50,9 @@ let
rec { sha1 = "280c265b789e041c02e5c97815793dfc283fb1e6"; name = "LIBFFI_${sha1}/libffi.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/libffi-3.2.1.tar.gz; }
rec { sha1 = "8819cea8bfe22c9c63f55465e296b3855ea41786"; name = "TruffleJSON_${sha1}/trufflejson.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/trufflejson-20180130.jar; }
rec { sha1 = "9712a8124c40298015f04a74f61b3d81a51513af"; name = "CHECKSTYLE_8.8_${sha1}/checkstyle-8.8.jar"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/checkstyle-8.8-all.jar; }
rec { sha1 = "a828a4f32caf9ac0b74f2548f87310959558c526"; name = "VISUALVM_COMMON_${sha1}/visualvm-common.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612.tar.gz; }
rec { sha1 = "7ac829f0c9a37f5cc39afd2265588a365480720d"; name = "VISUALVM_PLATFORM_SPECIFIC_${sha1}/visualvm-platform-specific.tar.gz"; url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612-linux-amd64.tar.gz; }
rec { sha1 = "e6e60889b7211a80b21052a249bd7e0f88f79fee"; name = "Java-WebSocket_${sha1}/java-websocket.jar"; url = mirror://maven/org/java-websocket/Java-WebSocket/1.3.9/Java-WebSocket-1.3.9.jar; }
];
findbugs = fetchzip {
@ -61,13 +64,13 @@ let
in rec {
mx = stdenv.mkDerivation rec {
version = "5.176.4";
version = "5.192.0";
name = "mx";
src = fetchFromGitHub {
owner = "graalvm";
repo = "mx";
rev = version;
sha256 = "0xmx4hpnd6m9hk49lgwnvwd0q11s2m4d8axwq7zzc8wm10d692xw";
sha256 = "04gdf1gzlc8a6li8lcnrs2j9zicj11fs1vqqf7cmhb4pm2h72hml";
};
nativeBuildInputs = [ makeWrapper ];
buildPhase = ''
@ -79,6 +82,11 @@ in rec {
'def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False):
print("FAKE download(path={} urls={} verbose={} abortOnError={} verifyOnly={})".format(path, urls, verbose, abortOnError, verifyOnly))
return True'
# avoid crash with 'ValueError: ZIP does not support timestamps before 1980'
substituteInPlace mx.py --replace \
'zipfile.ZipInfo(arcname, time.localtime(os.path.getmtime(join(root, f)))[:6])' \
'zipfile.ZipInfo(arcname, time.strptime ("1 Jan 1980", "%d %b %Y" )[:6])'
'';
installPhase = ''
mkdir -p $out/bin
@ -97,9 +105,9 @@ in rec {
# copy of pkgs.oraclejvm8 with JVMCI interface (TODO: it should work with pkgs.openjdk8 too)
jvmci8 = stdenv.mkDerivation rec {
version = "0.45";
version = "0.49";
name = let
n = "jvmci8u171-${version}";
n = "jvmci${/*"8u191"*/ lib.removePrefix "oraclejdk-" oraclejdk8.name}-${version}";
in if (lib.stringLength n) == (lib.stringLength oraclejdk8.name) then
n
else
@ -108,7 +116,7 @@ in rec {
owner = "graalvm";
repo = "graal-jvmci-8";
rev = "jvmci-${version}";
sha256 = "1nppk9dpamisiadss1iy82i3rf6igndbf1vax85w9lz310kh0d12";
sha256 = "1zgin0w1qa7wmfhcisx470fhnmddfxxp5nyyix31yaa7dznql82k";
};
buildInputs = [ mx mercurial ];
postUnpack = ''
@ -146,7 +154,7 @@ in rec {
};
graalvm8 = stdenv.mkDerivation rec {
version = "1.0.0-rc3";
version = "1.0.0-rc8";
name = let
n = "graal-${version}";
in if (lib.stringLength n) == (lib.stringLength jvmci8.name) then
@ -157,7 +165,7 @@ in rec {
owner = "oracle";
repo = "graal";
rev = "vm-${version}";
sha256 = "1hcs4m6ailapgi3bikav1i517vqn5pn595cyqqjfvlnkjwihbnc3";
sha256 = "1fada4awrr8bhw294xdiq4bagvgrlcr44mw6338gaal0ky3vkm0p";
};
buildInputs = [ mx zlib mercurial jvmci8 ];
postUnpack = ''
@ -170,6 +178,17 @@ in rec {
hg checkout ${lib.escapeShellArg src.rev}
)
'';
postPatch = ''
substituteInPlace substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/headers/PosixDirectives.java \
--replace '<zlib.h>' '<${zlib.dev}/include/zlib.h>'
substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/CCLinkerInvocation.java \
--replace 'cmd.add("-v");' 'cmd.add("-v"); cmd.add("-L${zlib}/lib");'
substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/c/codegen/CCompilerInvoker.java \
--replace 'command.add(Platform.includedIn(Platform.WINDOWS.class) ? "CL" : "gcc");' \
'command.add(Platform.includedIn(Platform.WINDOWS.class) ? "CL" : "${stdenv.cc}/bin/gcc");'
substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/CCLinkerInvocation.java \
--replace 'protected String compilerCommand = "cc";' 'protected String compilerCommand = "${stdenv.cc}/bin/cc";'
'';
buildPhase = ''
# make a copy of jvmci8
cp -dpR ${jvmci8} $out
@ -178,13 +197,14 @@ in rec {
export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild
export MX_CACHE_DIR=${makeMxCache graal-mxcache}
( cd substratevm
mkdir -p clibraries
mx --java-home $out build
# bootstrap native-image (that was removed from mx build in https://github.com/oracle/graal/commit/140d7a7edf54ec5872a8ff45869cd1ae499efde4)
mx --java-home $out native-image -cp $MX_ALT_OUTPUT_ROOT/substratevm/dists/svm-driver.jar com.oracle.svm.driver.NativeImage
mx --java-home $out native-image -cp $MX_ALT_OUTPUT_ROOT/substratevm/dists/jdk1.8/svm-driver.jar com.oracle.svm.driver.NativeImage
)
( cd tools
mx --java-home $out build
@ -195,17 +215,17 @@ in rec {
mkdir -p $out/jre/tools/{profiler,chromeinspector,truffle/builder} $out/jre/lib/{graal,include,truffle/include}
cp -vpLR substratevm/svmbuild/native-image-root/lib/* $out/jre/lib/ || true # ignore "same file" error when dereferencing symlinks
cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/bin/* $out/jre/lib/amd64/
cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/graal-*processor*.jar $out/jre/lib/graal/
cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-*processor*.jar $out/jre/lib/graal/
cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/include/
cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/graal-management.jar $out/jre/lib/jvmci/
cp -vp $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-management.jar $out/jre/lib/jvmci/
cp -vdpR $out/jre/lib/svm/clibraries $out/jre/lib/svm/builder/
cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/dists/* $out/jre/lib/truffle/
cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/* $out/jre/lib/truffle/
cp -vp $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/truffle/include/
cp -vpLR substratevm/svmbuild/native-image-root/tools/* $out/jre/tools/
cp -vpR $MX_ALT_OUTPUT_ROOT/tools/dists/chromeinspector* $out/jre/tools/chromeinspector/
cp -vpR $MX_ALT_OUTPUT_ROOT/tools/dists/truffle-profiler* $out/jre/tools/profiler/
cp -vpR $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/* $out/jre/tools/truffle/
cp -vp $MX_ALT_OUTPUT_ROOT/truffle/dists/truffle-nfi.jar $out/jre/tools/truffle/builder/
cp -vp $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/truffle-nfi.jar $out/jre/tools/truffle/builder/
echo "name=GraalVM ${version}" > $out/jre/lib/amd64/server/vm.properties
echo -n "graal" > $out/jre/lib/jvmci/compiler-name

View file

@ -1018,7 +1018,7 @@ let mkContrib = repo: revs: param:
sha256 = "0fp3vdl79c8d759qjhk42rjfpkd0ba4pcw572f5gxn28kfwz3rrj";
};
zfc = mkContrib "zfc" [ "8.5" "8.6" "8.7" ] {
zfc = mkContrib "zfc" [ "8.5" "8.6" "8.7" "8.8" ] {
version = "v8.5.0-5-gbba3259";
rev = "bba325933370fea64780b1afa2fad54c1b567819";
sha256 = "0iwkpmc22nwasrk4g7ki4s5y05zjs7kmqk3j98giwp2wiavhgapn";

View file

@ -0,0 +1,9 @@
{ pkgs }:
# TODO: add into the toplevel fixpoint instead of using rec
rec {
prelude = prelude_3_0_0;
prelude_3_0_0 = pkgs.callPackage ./prelude/v3.nix {};
}

View file

@ -0,0 +1,25 @@
{ stdenv, lib, fetchFromGitHub }:
stdenv.mkDerivation {
name = "dhall-prelude";
src = fetchFromGitHub {
owner = "dhall-lang";
repo = "dhall-lang";
# Commit where the v3.0.0 prelude folder was merged into dhall-lang
# and a LICENSE file has been added.
rev = "f6aa9399f1ac831d66c34104abe6856023c5b2df";
sha256 = "0kqjgh3y1l3cb3rj381j7c09547g1vh2dsfzpm08y1qajhhf9vgf";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
cp -r Prelude $out
'';
meta = {
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ Profpatsch ];
};
}

View file

@ -893,6 +893,9 @@ self: super: {
# https://github.com/aisamanra/config-ini/issues/12
config-ini = dontCheck super.config-ini;
# We've remove cpython 3.4 from nixpkgs
cpython = null;
# doctest >=0.9 && <0.12
genvalidity-property = doJailbreak super.genvalidity-property;
path = dontCheck super.path;

View file

@ -443,6 +443,7 @@ stdenv.mkDerivation ({
env = shellFor {
packages = p: [ drv ];
inherit shellHook;
};
};

View file

@ -1,214 +0,0 @@
{ stdenv, fetchurl, fetchpatch
, bzip2
, expat
, libffi
, gdbm
, lzma
, ncurses
, openssl
, readline
, sqlite
, tcl ? null, tk ? null, tix ? null, libX11 ? null, xproto ? null, x11Support ? false
, zlib
, callPackage
, self
, CF, configd
, python-setup-hook
# For the Python package set
, packageOverrides ? (self: super: {})
}:
assert x11Support -> tcl != null
&& tk != null
&& xproto != null
&& libX11 != null;
with stdenv.lib;
let
majorVersion = "3.4";
minorVersion = "9";
minorVersionSuffix = "";
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
libPrefix = "python${majorVersion}";
sitePackages = "lib/${libPrefix}/site-packages";
buildInputs = filter (p: p != null) [
zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ]
++ optionals x11Support [ tcl tk libX11 xproto ]
++ optionals stdenv.isDarwin [ CF configd ];
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
in stdenv.mkDerivation {
name = "python3-${version}";
pythonVersion = majorVersion;
inherit majorVersion version;
inherit buildInputs;
src = fetchurl {
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
sha256 = "1n9b1kavmw8b7rc3gkrka4fjzrbfq9iqy791yncaf09bp9v9cqjr";
};
NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s";
# Determinism: The interpreter is patched to write null timestamps when compiling python files.
# This way python doesn't try to update them when we freeze timestamps in nix store.
DETERMINISTIC_BUILD=1;
# Determinism: We fix the hashes of str, bytes and datetime objects.
PYTHONHASHSEED=0;
prePatch = optionalString stdenv.isDarwin ''
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
'';
patches = [
./no-ldconfig.patch
./ld_library_path.patch
] ++ optionals (x11Support && stdenv.isDarwin) [
./use-correct-tcl-tk-on-darwin.patch
] ++ optionals hasDistutilsCxxPatch [
# Fix for http://bugs.python.org/issue1222585
# Upstream distutils is calling C compiler to compile C++ code, which
# only works for GCC and Apple Clang. This makes distutils to call C++
# compiler when needed.
(fetchpatch {
url = "https://bugs.python.org/file47046/python-3.x-distutils-C++.patch";
sha256 = "0dgdn9k2kmw4wh90vdnjcrnn97ylxgx7mbn9l87fwz6j501jqvk8";
extraPrefix = "";
})
];
postPatch = ''
# Determinism
substituteInPlace "Lib/py_compile.py" --replace "source_stats['mtime']" "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])"
# Determinism. This is done unconditionally
substituteInPlace "Lib/importlib/_bootstrap.py" --replace "source_mtime = int(source_stats['mtime'])" "source_mtime = 1"
'' + optionalString (x11Support && (tix != null)) ''
substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
''
# Avoid picking up getentropy() from glibc >= 2.25, as that would break
# on older kernels. http://bugs.python.org/issue29157
+ optionalString stdenv.isLinux ''
substituteInPlace Python/random.c --replace 'defined(HAVE_GETENTROPY)' '0'
cat Python/random.c
'';
CPPFLAGS="${concatStringsSep " " (map (p: "-I${getDev p}/include") buildInputs)}";
LDFLAGS="${concatStringsSep " " (map (p: "-L${getLib p}/lib") buildInputs)}";
LIBS="${optionalString (!stdenv.isDarwin) "-lcrypt"} ${optionalString (ncurses != null) "-lncurses"}";
configureFlags = [
"--enable-shared"
"--with-threads"
"--without-ensurepip"
"--with-system-expat"
"--with-system-ffi"
]
# Never even try to use lchmod on linux,
# don't rely on detecting glibc-isms.
++ optional stdenv.hostPlatform.isLinux "ac_cv_func_lchmod=no";
preConfigure = ''
for i in /usr /sw /opt /pkg; do # improve purity
substituteInPlace ./setup.py --replace $i /no-such-path
done
${optionalString stdenv.isDarwin ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"
export MACOSX_DEPLOYMENT_TARGET=10.6
''
+ optionalString stdenv.hostPlatform.isMusl ''
export NIX_CFLAGS_COMPILE+=" -DTHREAD_STACK_SIZE=0x100000"
''}
'';
setupHook = python-setup-hook sitePackages;
postInstall = ''
# needed for some packages, especially packages that backport functionality
# to 2.x from 3.x
for item in $out/lib/python${majorVersion}/test/*; do
if [[ "$item" != */test_support.py*
&& "$item" != */test/support
&& "$item" != */test/libregrtest
&& "$item" != */test/regrtest.py* ]]; then
rm -rf "$item"
else
echo $item
fi
done
touch $out/lib/python${majorVersion}/test/__init__.py
ln -s "$out/include/python${majorVersion}m" "$out/include/python${majorVersion}"
paxmark E $out/bin/python${majorVersion}
# Python on Nix is not manylinux1 compatible. https://github.com/NixOS/nixpkgs/issues/18484
echo "manylinux1_compatible=False" >> $out/lib/${libPrefix}/_manylinux.py
# Determinism: Windows installers were not deterministic.
# We're also not interested in building Windows installers.
find "$out" -name 'wininst*.exe' | xargs -r rm -f
# Use Python3 as default python
ln -s "$out/bin/idle3" "$out/bin/idle"
ln -s "$out/bin/pydoc3" "$out/bin/pydoc"
ln -s "$out/bin/python3" "$out/bin/python"
ln -s "$out/bin/python3-config" "$out/bin/python-config"
ln -s "$out/lib/pkgconfig/python3.pc" "$out/lib/pkgconfig/python.pc"
# Get rid of retained dependencies on -dev packages, and remove
# some $TMPDIR references to improve binary reproducibility.
# Note that the .pyc file of _sysconfigdata.py should be regenerated!
for i in $out/lib/python${majorVersion}/_sysconfigdata.py $out/lib/python${majorVersion}/config-${majorVersion}m/Makefile; do
sed -i $i -e "s|-I/nix/store/[^ ']*||g" -e "s|-L/nix/store/[^ ']*||g" -e "s|$TMPDIR|/no-such-path|g"
done
# Determinism: rebuild all bytecode
# We exclude lib2to3 because that's Python 2 code which fails
# We rebuild three times, once for each optimization level
find $out -name "*.py" | $out/bin/python -m compileall -q -f -x "lib2to3" -i -
find $out -name "*.py" | $out/bin/python -O -m compileall -q -f -x "lib2to3" -i -
find $out -name "*.py" | $out/bin/python -OO -m compileall -q -f -x "lib2to3" -i -
'';
passthru = let
pythonPackages = callPackage ../../../../../top-level/python-packages.nix {
python = self;
overrides = packageOverrides;
};
in rec {
inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
executable = "${libPrefix}m";
buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages;
isPy3 = true;
isPy34 = true;
is_py3k = true; # deprecated
interpreter = "${self}/bin/${executable}";
};
enableParallelBuilding = true;
doCheck = false; # expensive, and fails
meta = {
homepage = http://python.org;
description = "A high-level dynamically-typed programming language";
longDescription = ''
Python is a remarkably powerful dynamic programming language that
is used in a wide variety of application domains. Some of its key
distinguishing features include: clear, readable syntax; strong
introspection capabilities; intuitive object orientation; natural
expression of procedural code; full modularity, supporting
hierarchical packages; exception-based error handling; and very
high level dynamic data types.
'';
license = licenses.psfl;
platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ fridh ];
};
}

View file

@ -1,51 +0,0 @@
From 85991e0d7f0e631240f3f6233bd65d1128a66dec Mon Sep 17 00:00:00 2001
From: Frederik Rietdijk <fridh@fridh.nl>
Date: Thu, 14 Sep 2017 10:00:31 +0200
Subject: [PATCH] ctypes.util: support LD_LIBRARY_PATH
Backports support for LD_LIBRARY_PATH from 3.6
---
Lib/ctypes/util.py | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
index 780cd5d21b..d7ac15070f 100644
--- a/Lib/ctypes/util.py
+++ b/Lib/ctypes/util.py
@@ -181,8 +181,32 @@ elif os.name == "posix":
def _findSoname_ldconfig(name):
return None
+ def _findLib_ld(name):
+ # See issue #9998 for why this is needed
+ expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)
+ cmd = ['ld', '-t']
+ libpath = os.environ.get('LD_LIBRARY_PATH')
+ if libpath:
+ for d in libpath.split(':'):
+ cmd.extend(['-L', d])
+ cmd.extend(['-o', os.devnull, '-l%s' % name])
+ result = None
+ try:
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE,
+ universal_newlines=True)
+ out, _ = p.communicate()
+ res = re.search(expr, os.fsdecode(out))
+ if res:
+ result = res.group(0)
+ except Exception as e:
+ pass # result will be None
+ return result
+
def find_library(name):
- return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
+ # See issue #9998
+ return _findSoname_ldconfig(name) or \
+ _get_soname(_findLib_gcc(name) or _findLib_ld(name))
################################################################
# test code
--
2.14.1

View file

@ -1,147 +0,0 @@
From 81bd99ad9058feb1d0361bc8862e8567c21a6142 Mon Sep 17 00:00:00 2001
From: Frederik Rietdijk <fridh@fridh.nl>
Date: Mon, 28 Aug 2017 09:24:06 +0200
Subject: [PATCH] Don't use ldconfig and speed up uuid load
---
Lib/ctypes/util.py | 52 ++--------------------------------------------------
Lib/uuid.py | 50 ++------------------------------------------------
2 files changed, 4 insertions(+), 98 deletions(-)
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
index 595113bffd..780cd5d21b 100644
--- a/Lib/ctypes/util.py
+++ b/Lib/ctypes/util.py
@@ -88,28 +88,7 @@ elif os.name == "posix":
import re, tempfile
def _findLib_gcc(name):
- expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)
- fdout, ccout = tempfile.mkstemp()
- os.close(fdout)
- cmd = 'if type gcc >/dev/null 2>&1; then CC=gcc; elif type cc >/dev/null 2>&1; then CC=cc;else exit 10; fi;' \
- 'LANG=C LC_ALL=C $CC -Wl,-t -o ' + ccout + ' 2>&1 -l' + name
- try:
- f = os.popen(cmd)
- try:
- trace = f.read()
- finally:
- rv = f.close()
- finally:
- try:
- os.unlink(ccout)
- except FileNotFoundError:
- pass
- if rv == 10:
- raise OSError('gcc or cc command not found')
- res = re.search(expr, trace)
- if not res:
- return None
- return res.group(0)
+ return None
if sys.platform == "sunos5":
@@ -200,34 +179,7 @@ elif os.name == "posix":
else:
def _findSoname_ldconfig(name):
- import struct
- if struct.calcsize('l') == 4:
- machine = os.uname().machine + '-32'
- else:
- machine = os.uname().machine + '-64'
- mach_map = {
- 'x86_64-64': 'libc6,x86-64',
- 'ppc64-64': 'libc6,64bit',
- 'sparc64-64': 'libc6,64bit',
- 's390x-64': 'libc6,64bit',
- 'ia64-64': 'libc6,IA-64',
- }
- abi_type = mach_map.get(machine, 'libc6')
-
- # XXX assuming GLIBC's ldconfig (with option -p)
- regex = os.fsencode(
- '\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type))
- try:
- with subprocess.Popen(['/sbin/ldconfig', '-p'],
- stdin=subprocess.DEVNULL,
- stderr=subprocess.DEVNULL,
- stdout=subprocess.PIPE,
- env={'LC_ALL': 'C', 'LANG': 'C'}) as p:
- res = re.search(regex, p.stdout.read())
- if res:
- return os.fsdecode(res.group(1))
- except OSError:
- pass
+ return None
def find_library(name):
return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
diff --git a/Lib/uuid.py b/Lib/uuid.py
index 1061bffc43..846f5819f5 100644
--- a/Lib/uuid.py
+++ b/Lib/uuid.py
@@ -451,57 +451,11 @@ def _netbios_getnode():
return ((bytes[0]<<40) + (bytes[1]<<32) + (bytes[2]<<24) +
(bytes[3]<<16) + (bytes[4]<<8) + bytes[5])
-# Thanks to Thomas Heller for ctypes and for his help with its use here.
-# If ctypes is available, use it to find system routines for UUID generation.
-# XXX This makes the module non-thread-safe!
_uuid_generate_random = _uuid_generate_time = _UuidCreate = None
-try:
- import ctypes, ctypes.util
- # The uuid_generate_* routines are provided by libuuid on at least
- # Linux and FreeBSD, and provided by libc on Mac OS X.
- for libname in ['uuid', 'c']:
- try:
- lib = ctypes.CDLL(ctypes.util.find_library(libname))
- except:
- continue
- if hasattr(lib, 'uuid_generate_random'):
- _uuid_generate_random = lib.uuid_generate_random
- if hasattr(lib, 'uuid_generate_time'):
- _uuid_generate_time = lib.uuid_generate_time
- if _uuid_generate_random is not None:
- break # found everything we were looking for
-
- # The uuid_generate_* functions are broken on MacOS X 10.5, as noted
- # in issue #8621 the function generates the same sequence of values
- # in the parent process and all children created using fork (unless
- # those children use exec as well).
- #
- # Assume that the uuid_generate functions are broken from 10.5 onward,
- # the test can be adjusted when a later version is fixed.
- import sys
- if sys.platform == 'darwin':
- import os
- if int(os.uname().release.split('.')[0]) >= 9:
- _uuid_generate_random = _uuid_generate_time = None
-
- # On Windows prior to 2000, UuidCreate gives a UUID containing the
- # hardware address. On Windows 2000 and later, UuidCreate makes a
- # random UUID and UuidCreateSequential gives a UUID containing the
- # hardware address. These routines are provided by the RPC runtime.
- # NOTE: at least on Tim's WinXP Pro SP2 desktop box, while the last
- # 6 bytes returned by UuidCreateSequential are fixed, they don't appear
- # to bear any relationship to the MAC address of any network device
- # on the box.
- try:
- lib = ctypes.windll.rpcrt4
- except:
- lib = None
- _UuidCreate = getattr(lib, 'UuidCreateSequential',
- getattr(lib, 'UuidCreate', None))
-except:
- pass
+_uuid_generate_time = _UuidCreate = None
+
def _unixdll_getnode():
"""Get the hardware address on Unix using ctypes."""
--
2.14.1

View file

@ -1,48 +0,0 @@
diff --git a/setup.py b/setup.py
index 2779658..902d0eb 100644
--- a/setup.py
+++ b/setup.py
@@ -1699,9 +1699,6 @@ class PyBuildExt(build_ext):
# Rather than complicate the code below, detecting and building
# AquaTk is a separate method. Only one Tkinter will be built on
# Darwin - either AquaTk, if it is found, or X11 based Tk.
- if (host_platform == 'darwin' and
- self.detect_tkinter_darwin(inc_dirs, lib_dirs)):
- return
# Assume we haven't found any of the libraries or include files
# The versions with dots are used on Unix, and the versions without
@@ -1747,22 +1744,6 @@ class PyBuildExt(build_ext):
if dir not in include_dirs:
include_dirs.append(dir)
- # Check for various platform-specific directories
- if host_platform == 'sunos5':
- include_dirs.append('/usr/openwin/include')
- added_lib_dirs.append('/usr/openwin/lib')
- elif os.path.exists('/usr/X11R6/include'):
- include_dirs.append('/usr/X11R6/include')
- added_lib_dirs.append('/usr/X11R6/lib64')
- added_lib_dirs.append('/usr/X11R6/lib')
- elif os.path.exists('/usr/X11R5/include'):
- include_dirs.append('/usr/X11R5/include')
- added_lib_dirs.append('/usr/X11R5/lib')
- else:
- # Assume default location for X11
- include_dirs.append('/usr/X11/include')
- added_lib_dirs.append('/usr/X11/lib')
-
# If Cygwin, then verify that X is installed before proceeding
if host_platform == 'cygwin':
x11_inc = find_file('X11/Xlib.h', [], include_dirs)
@@ -1786,10 +1767,6 @@ class PyBuildExt(build_ext):
if host_platform in ['aix3', 'aix4']:
libs.append('ld')
- # Finally, link with the X11 libraries (not appropriate on cygwin)
- if host_platform != "cygwin":
- libs.append('X11')
-
ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'],
define_macros=[('WITH_APPINIT', 1)] + defs,
include_dirs = include_dirs,

View file

@ -0,0 +1,187 @@
# NOTE: this expression is NOT exported from the top-level of all-packages.nix,
# it is exclusively used by the 'plv8' PostgreSQL extension, which requires a
# very exact version.
{ stdenv, lib, fetchgit, fetchFromGitHub, gn, ninja, python, glib, pkgconfig
, doCheck ? false
, snapshot ? true
}:
let
arch = if stdenv.isAarch32
then if stdenv.is64bit
then"arm64"
else "arm"
else if stdenv.is64bit
then"x64"
else "ia32";
git_url = "https://chromium.googlesource.com";
# This data is from the DEPS file in the root of a V8 checkout
deps = {
"base/trace_event/common" = fetchgit {
url = "${git_url}/chromium/src/base/trace_event/common.git";
rev = "0e9a47d74970bee1bbfc063c47215406f8918699";
sha256 = "07rbzrlscp8adh4z86yl5jxdnvgkc3xs950xldpk318wf9i3bh6c";
};
"build" = fetchgit {
url = "${git_url}/chromium/src/build.git";
rev = "9338ce52d0b9bcef34c38285fbd5023b62739fac";
sha256 = "1s2sa8dy3waidsirjylc82ggb18l1108bczjc8z0v4ywyj4k0cvh";
};
"buildtools" = fetchgit {
url = "${git_url}/chromium/buildtools.git";
rev = "505de88083136eefd056e5ee4ca0f01fe9b33de8";
sha256 = "0vj216nhb803bggsl0hnyagj8njrm96pn8sim6xcnqb7nhz1vabw";
};
"test/benchmarks/data" = fetchgit {
url = "${git_url}/v8/deps/third_party/benchmarks.git";
rev = "05d7188267b4560491ff9155c5ee13e207ecd65f";
sha256 = "0ad2ay14bn67d61ks4dmzadfnhkj9bw28r4yjdjjyzck7qbnzchl";
};
"test/mozilla/data" = fetchgit {
url = "${git_url}/v8/deps/third_party/mozilla-tests.git";
rev = "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be";
sha256 = "0rfdan76yfawqxbwwb35aa57b723j3z9fx5a2w16nls02yk2kqyn";
};
"test/test262/data" = fetchgit {
url = "${git_url}/external/github.com/tc39/test262.git";
rev = "5d4c667b271a9b39d0de73aef5ffe6879c6f8811";
sha256 = "0q9iwb2nkybf9np95wgf5m372aw2lhx9wlsw41a2a80kbkvb2kqg";
};
"test/test262/harness" = fetchgit {
url = "${git_url}/external/github.com/test262-utils/test262-harness-py.git";
rev = "0f2acdd882c84cff43b9d60df7574a1901e2cdcd";
sha256 = "00brj5avp43yamc92kinba2mg3a2x1rcd7wnm7z093l73idprvkp";
};
"test/wasm-js" = fetchgit {
url = "${git_url}/external/github.com/WebAssembly/spec.git";
rev = "a7e226a92e660a3d5413cfea4269824f513259d2";
sha256 = "0z3aybj3ykajwh2bv5fwd6pwqjjsq8dnwrqc2wncb6r9xcjwbgxp";
};
"testing/gtest" = fetchgit {
url = "${git_url}/external/github.com/google/googletest.git";
rev = "6f8a66431cb592dad629028a50b3dd418a408c87";
sha256 = "0bdba2lr6pg15bla9600zg0r0vm4lnrx0wqz84p376wfdxra24vw";
};
"third_party/icu" = fetchgit {
url = "${git_url}/chromium/deps/icu.git";
rev = "741688ebf328da9adc52505248bf4e2ef868722c";
sha256 = "02ifm18qjlrkn5nm2rxkf9yz9bdlyq7c65jfjndv63vi1drqh1r9";
};
"third_party/instrumented_libraries" = fetchgit {
url = "${git_url}/chromium/src/third_party/instrumented_libraries.git";
rev = "28417458ac4dc79f68915079d0f283f682504cc0";
sha256 = "1qf5c2946n37p843yriv7xawi6ss6samabghq43s49cgd4wq8dc3";
};
"third_party/jinja2" = fetchgit {
url = "${git_url}/chromium/src/third_party/jinja2.git";
rev = "d34383206fa42d52faa10bb9931d6d538f3a57e0";
sha256 = "0d9hyw0bvp3p0dbwy833cm9vdqxcam0qbm9jc561ynphddxlkmgd";
};
"third_party/markupsafe" = fetchgit {
url = "${git_url}/chromium/src/third_party/markupsafe.git";
rev = "8f45f5cfa0009d2a70589bcda0349b8cb2b72783";
sha256 = "168ppjmicfdh4i1l0l25s86mdbrz9fgxmiq1rx33x79mph41scfz";
};
"tools/clang" = fetchgit {
url = "${git_url}/chromium/src/tools/clang.git";
rev = "8688d267571de76a56746324dcc249bf4232b85a";
sha256 = "0krq4zz1vnwp064bm517gwr2napy18wyccdh8w5s4qgkjwwxd63s";
};
"tools/gyp" = fetchgit {
url = "${git_url}/external/gyp.git";
rev = "d61a9397e668fa9843c4aa7da9e79460fe590bfb";
sha256 = "1z081h72mjy285jb1kj5xd0pb4p12n9blvsimsavyn3ldmswv0r0";
};
"tools/luci-go" = fetchgit {
url = "${git_url}/chromium/src/tools/luci-go.git";
rev = "45a8a51fda92e123619a69e7644d9c64a320b0c1";
sha256 = "0r7736gqk7r0i7ig0b5ib10d9q8a8xzsmc0f0fbkm9k78v847vpj";
};
"tools/swarming_client" = fetchgit {
url = "${git_url}/infra/luci/client-py.git";
rev = "4bd9152f8a975d57c972c071dfb4ddf668e02200";
sha256 = "03zk91gzvqv01g1vbl8d7h8al7vs4ymrrdc8ipg9wpq52yh65smh";
};
};
in
stdenv.mkDerivation rec {
name = "v8-${version}";
version = "6.4.388.40";
inherit doCheck;
src = fetchFromGitHub {
owner = "v8";
repo = "v8";
rev = version;
sha256 = "1lq239cgqyidrynz8g3wbdv70ymzv6s0ppad8s219gb3jnizm16a";
};
postUnpack = ''
${lib.concatStringsSep "\n" (
lib.mapAttrsToList (n: v: ''
mkdir -p $sourceRoot/${n}
cp -r ${v}/* $sourceRoot/${n}
'') deps)}
'';
prePatch = ''
# use our gn, not the bundled one
sed -i -e 's#gn_path = .*#gn_path = "${gn}/bin/gn"#' tools/mb/mb.py
# disable tests
if [ "$doCheck" = "" ]; then sed -i -e '/"test:gn_all",/d' BUILD.gn; fi
# disable sysroot usage
chmod u+w build/config build/config/sysroot.gni
sed -i build/config/sysroot.gni \
-e '/use_sysroot =/ { s#\(use_sysroot =\).*#\1 false#; :a n; /current_cpu/ { s/^/#/; ba }; }'
# patch shebangs (/usr/bin/env)
patchShebangs tools/dev/v8gen.py
'';
configurePhase = ''
tools/dev/v8gen.py -vv ${arch}.release -- \
is_component_build=true \
${if snapshot then "v8_use_external_startup_data=false" else "v8_use_snapshot=false"} \
is_clang=false \
linux_use_bundled_binutils=false \
treat_warnings_as_errors=false \
use_custom_libcxx=false \
use_custom_libcxx_for_host=false
'';
nativeBuildInputs = [ gn ninja pkgconfig ];
buildInputs = [ python glib ];
buildPhase = ''
ninja -C out.gn/${arch}.release/
'';
enableParallelBuilding = true;
installPhase = ''
install -vD out.gn/${arch}.release/d8 "$out/bin/d8"
install -vD out.gn/${arch}.release/mksnapshot "$out/bin/mksnapshot"
mkdir -p "$out/lib"
for f in libicui18n.so libicuuc.so libv8_libbase.so libv8_libplatform.so libv8.so; do
install -vD out.gn/${arch}.release/$f "$out/lib/$f"
done
install -vD out.gn/${arch}.release/icudtl.dat "$out/lib/icudtl.dat"
mkdir -p "$out/include"
cp -vr include/*.h "$out/include"
cp -vr include/libplatform "$out/include"
'';
meta = with lib; {
description = "Google's open source JavaScript engine";
maintainers = with maintainers; [ cstrahan proglodyte ];
platforms = platforms.linux;
license = licenses.bsd3;
};
}

View file

@ -36,5 +36,5 @@ let
in {
# xapian-ruby needs 1.2.22 as of 2017-05-06
xapian_1_2_22 = generic "1.2.22" "0zsji22n0s7cdnbgj0kpil05a6bgm5cfv0mvx12d8ydg7z58g6r6";
xapian_1_4 = generic "1.4.8" "0528841hn5lddaa317ax3i3d01zf1izpzh4njiz6s84mxpn06q6s";
xapian_1_4 = generic "1.4.9" "1k7m7m9jld96k16ansfw2w3c354pvd8ibhnrb6dw012g06fw7sfd";
}

View file

@ -0,0 +1,22 @@
{ stdenv, buildPythonPackage, fetchFromGitHub, requests }:
buildPythonPackage rec {
pname = "httmock";
version = "1.2.6";
src = fetchFromGitHub {
owner = "patrys";
repo = "httmock";
rev = version;
sha256 = "0iya8qsb2jm03s9p6sf1yzgm1irxl3dcq0k0a9ygl0skzjz5pvab";
};
checkInputs = [ requests ];
meta = with stdenv.lib; {
description = "A mocking library for requests";
homepage = https://github.com/patrys/httmock;
license = licenses.asl20;
maintainers = with maintainers; [ nyanloutre ];
};
}

View file

@ -1,28 +1,42 @@
{ stdenv
, buildPythonPackage
, fetchurl
, fetchPypi
, pillow
, psutil
, pytest
, numpy
, isPy3k
, futures
, enum34
}:
buildPythonPackage rec {
pname = "imageio";
version = "1.6";
version = "2.4.1";
src = fetchurl {
url = "https://github.com/imageio/imageio/archive/v${version}.tar.gz";
sha256 = "195snkk3fsbjqd5g1cfsd9alzs5q45gdbi2ka9ph4yxqb31ijrbv";
src = fetchPypi {
sha256 = "0jjiwf6wjipmykh33prjh448qv8mpgngfi77ndc7mym5r1xhgf0n";
inherit pname version;
};
buildInputs = [ pytest ];
propagatedBuildInputs = [ numpy ];
checkInputs = [ pytest psutil ];
propagatedBuildInputs = [ numpy pillow ] ++ stdenv.lib.optionals (!isPy3k) [
futures
enum34
];
checkPhase = ''
export IMAGEIO_USERDIR="$TMP"
export IMAGEIO_NO_INTERNET="true"
export HOME="$(mktemp -d)"
py.test
'';
# Tries to write in /var/tmp/.imageio
doCheck = false;
# For some reason, importing imageio also imports xml on Nix, see
# https://github.com/imageio/imageio/issues/395
postPatch = ''
substituteInPlace tests/test_meta.py --replace '"urllib",' "\"urllib\",\"xml\""
'';
meta = with stdenv.lib; {
description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats";

View file

@ -4,6 +4,7 @@
, numpy
, decorator
, imageio
, isPy3k
, tqdm
}:

View file

@ -0,0 +1,22 @@
{ stdenv, buildPythonPackage, fetchPypi, requests, six, mock, httmock }:
buildPythonPackage rec {
pname = "python-gitlab";
version = "1.6.0";
src = fetchPypi {
inherit pname version;
sha256 = "20ceb9232f9a412ce6554056a6b5039013d0755261d57b5c8ada7035773de795";
};
propagatedBuildInputs = [ requests six ];
checkInputs = [ mock httmock ];
meta = with stdenv.lib; {
description = "Interact with GitLab API";
homepage = https://github.com/python-gitlab/python-gitlab;
license = licenses.lgpl3;
maintainers = with maintainers; [ nyanloutre ];
};
}

View file

@ -0,0 +1,22 @@
{ stdenv, fetchPypi, buildPythonPackage, isPy3k }:
buildPythonPackage rec {
pname = "sslib";
version = "0.2.0";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "0b5zrjkvx4klmv57pzhcmvbkdlyn745mn02k7hp811hvjrhbz417";
};
# No tests available
doCheck = false;
meta = with stdenv.lib; {
homepage = https://github.com/jqueiroz/python-sslib;
description = "A Python3 library for sharing secrets";
license = licenses.mit;
maintainers = with maintainers; [ jqueiroz ];
};
}

View file

@ -0,0 +1,37 @@
{ buildGoPackage
, lib
, fetchFromGitHub
, fetchpatch
}:
buildGoPackage rec {
name = "asmfmt-${version}";
version = "1.1";
goPackagePath = "github.com/klauspost/asmfmt";
src = fetchFromGitHub {
owner = "klauspost";
repo = "asmfmt";
rev = "v${version}";
sha256 = "08mybfizcvck460axakycz9ndzcgwqilp5mmgm4bl8hfrn36mskw";
};
patches = [
(fetchpatch {
excludes = ["README.md"];
url = "https://github.com/klauspost/asmfmt/commit/39a37c8aed8095e0fdfb07f78fc8acbd465d9627.patch";
sha256 = "18bc77l87mf0yvqc3adlakxz6wflyqfsc2wrmh9q0nlqghlmnw5k";
})
];
goDeps = ./deps.nix;
meta = with lib; {
description = "Go Assembler Formatter";
homepage = https://github.com/klauspost/asmfmt;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

20
pkgs/development/tools/asmfmt/deps.nix generated Normal file
View file

@ -0,0 +1,20 @@
[
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "3a10b9bf0a52df7e992a8c3eb712a86d3c896c75";
sha256 = "19f3dijcc54jnd7458jab2dgpd0gzccmv2qympd9wi8cc8jpnhws";
};
}
{
goPackagePath = "sourcegraph.com/sqs/goreturns";
fetch = {
type = "git";
url = "https://github.com/sqs/goreturns";
rev = "538ac601451833c7c4449f8431d65d53c1c60e41";
sha256 = "0gcplch8zmcgwl6xvcffxg50g3xnf60n7dlqxgn51179qcjr354p";
};
}
]

View file

@ -2,7 +2,7 @@
buildBazelPackage rec {
name = "bazel-deps-${version}";
version = "2018-08-16";
version = "2018-11-01";
meta = with stdenv.lib; {
homepage = "https://github.com/johnynek/bazel-deps";
@ -15,8 +15,8 @@ buildBazelPackage rec {
src = fetchFromGitHub {
owner = "johnynek";
repo = "bazel-deps";
rev = "942a0b03cbf159dd6e0f0f40787d6d8e4e832d81";
sha256 = "0ls2jvz9cxa169a8pbbykv2d4dik4ipf7dj1lkqx5g0ss7lgs6q5";
rev = "1af8921d52f053fad575f26762533a3823b4a847";
sha256 = "0srz0sbz4bq9n7cp4g1n3kd3j6rcjqfi25sq8aa64l27yqzbk53x";
};
bazelTarget = "//src/scala/com/github/johnynek/bazel_deps:parseproject_deploy.jar";
@ -66,12 +66,13 @@ buildBazelPackage rec {
find . -type d -empty -delete
'';
sha256 = "0jkzf1hay0h8ksk9lhfvdliac6c5d7nih934i1xjbrn6zqlivy19";
sha256 = "1gvl4a9z8p4ch2gmcj3lpp0imrkrvy8wng949p3wlkibi14hc6ww";
};
buildAttrs = {
installPhase = ''
mkdir -p $out/bin/bazel-bin/src/scala/com/github/johnynek/bazel_deps
cp gen_maven_deps.sh $out/bin
wrapProgram "$out/bin/gen_maven_deps.sh" --set JAVA_HOME "${jre}" --prefix PATH : ${lib.makeBinPath [ jre ]}
cp bazel-bin/src/scala/com/github/johnynek/bazel_deps/parseproject_deploy.jar $out/bin/bazel-bin/src/scala/com/github/johnynek/bazel_deps

View file

@ -0,0 +1,30 @@
{ buildGoPackage
, lib
, fetchFromGitLab
}:
buildGoPackage rec {
name = "check-unstable-${version}";
version = "2018-09-12";
rev = "88db195993f8e991ad402754accd0635490769f9";
goPackagePath = "gitlab.com/opennota/check";
src = fetchFromGitLab {
inherit rev;
owner = "opennota";
repo = "check";
sha256 = "1983xmdkgpqda4qz8ashc6xv1zg5jl4zly3w566grxc5sfxpgf0i";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "A set of utilities for checking Go sources.";
homepage = https://gitlab.com/opennota/check;
license = licenses.gpl3;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

11
pkgs/development/tools/check/deps.nix generated Normal file
View file

@ -0,0 +1,11 @@
[
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "677d2ff680c1";
sha256 = "0vp1w1haqcjd82dxd6x9xrllbfwvm957rxwkpji96cgvhsli2bq5";
};
}
]

View file

@ -0,0 +1,31 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
# TODO(yl): should we package https://github.com/remyoudompheng/go-misc instead of
# the standalone extract of deadcode from it?
buildGoPackage rec {
name = "deadcode-unstable-${version}";
version = "2016-07-24";
rev = "210d2dc333e90c7e3eedf4f2242507a8e83ed4ab";
goPackagePath = "github.com/tsenart/deadcode";
excludedPackages = "\\(cmd/fillswitch/test-fixtures\\)";
src = fetchFromGitHub {
inherit rev;
owner = "tsenart";
repo = "deadcode";
sha256 = "05kif593f4wygnrq2fdjhn7kkcpdmgjnykcila85d0gqlb1f36g0";
};
meta = with lib; {
description = "deadcode is a very simple utility which detects unused declarations in a Go package.";
homepage = https://github.com/remyoudompheng/go-misc/tree/master/deadcode;
license = licenses.bsd3;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,29 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "errcheck-${version}";
version = "1.1.0";
goPackagePath = "github.com/kisielk/errcheck";
excludedPackages = "\\(testdata\\)";
src = fetchFromGitHub {
owner = "kisielk";
repo = "errcheck";
rev = "v${version}";
sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "errcheck is a program for checking for unchecked errors in go programs.";
homepage = https://github.com/kisielk/errcheck;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

20
pkgs/development/tools/errcheck/deps.nix generated Normal file
View file

@ -0,0 +1,20 @@
[
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "3a10b9bf0a52df7e992a8c3eb712a86d3c896c75";
sha256 = "19f3dijcc54jnd7458jab2dgpd0gzccmv2qympd9wi8cc8jpnhws";
};
}
]

View file

@ -0,0 +1,29 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "go-tools-${version}";
version = "2017.2.2";
goPackagePath = "honnef.co/go/tools";
excludedPackages = ''\(simple\|ssa\|ssa/ssautil\|lint\|staticcheck\|unused\)/testdata'';
src = fetchFromGitHub {
owner = "dominikh";
repo = "go-tools";
rev = "${version}";
sha256 = "1khl6szjj0skkfqp234p9rf3icik7fw2pk2x0wbj3wa9q3f84hb7";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "A collection of tools and libraries for working with Go code, including linters and static analysis.";
homepage = https://staticcheck.io;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

20
pkgs/development/tools/go-tools/deps.nix generated Normal file
View file

@ -0,0 +1,20 @@
[
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "96e9e165b75e735822645eff82850b08c377be36";
sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg";
};
}
]

View file

@ -0,0 +1,27 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "goconst-${version}";
version = "1.1.0";
goPackagePath = "github.com/jgautheron/goconst";
excludedPackages = ''testdata'';
src = fetchFromGitHub {
owner = "jgautheron";
repo = "goconst";
rev = version;
sha256 = "0zhscvv9w54q1h2vs8xx3qkz98cf36qhxjvdq0xyz3qvn4vhnyw6";
};
meta = with lib; {
description = "Find in Go repeated strings that could be replaced by a constant";
homepage = https://github.com/jgautheron/goconst;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,28 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "gocyclo-unstable-${version}";
version = "2015-02-08";
rev = "aa8f8b160214d8dfccfe3e17e578dd0fcc6fede7";
goPackagePath = "github.com/alecthomas/gocyclo";
src = fetchFromGitHub {
inherit rev;
owner = "alecthomas";
repo = "gocyclo";
sha256 = "094rj97q38j53lmn2scshrg8kws8c542yq5apih1ahm9wdkv8pxr";
};
meta = with lib; {
description = "Calculate cyclomatic complexities of functions in Go source code.";
homepage = https://github.com/alecthomas/gocyclo;
license = licenses.bsd3;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,31 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "gogetdoc-unstable-${version}";
version = "2018-10-25";
rev = "9098cf5fc236a5e25060730544af2ba6d65cd968";
goPackagePath = "github.com/zmb3/gogetdoc";
excludedPackages = "\\(testdata\\)";
src = fetchFromGitHub {
inherit rev;
owner = "zmb3";
repo = "gogetdoc";
sha256 = "159dgkd2lz07kimbpzminli5p539l4ry0dr93r46iz3lk5q76znl";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "Gets documentation for items in Go source code";
homepage = https://github.com/zmb3/gogetdoc;
license = licenses.bsd3;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

13
pkgs/development/tools/gogetdoc/deps.nix generated Normal file
View file

@ -0,0 +1,13 @@
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
[
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "6adeb8aab2de";
sha256 = "0kylkki0ksdm12ppl37fghzbma9hmgqwph0nwngv08v4blk6li6k";
};
}
]

View file

@ -0,0 +1,70 @@
{ buildGoPackage
, deadcode
, errcheck
, fetchFromGitHub
, go
, go-check
, go-tools
, goconst
, gocyclo
, golint
, gosec
, gotools
, ineffassign
, maligned
, interfacer
, lib
, makeWrapper
, unconvert
}:
with lib;
let
runtimeDeps = [
deadcode
errcheck
go
go-check
go-tools
goconst
gocyclo
golint
gosec
gotools
ineffassign
interfacer
maligned
unconvert
];
in buildGoPackage rec {
name = "gometalinter-${version}";
version = "2.0.11";
goPackagePath = "github.com/alecthomas/gometalinter";
excludedPackages = "\\(regressiontests\\)";
src = fetchFromGitHub {
owner = "alecthomas";
repo = "gometalinter";
rev = "v${version}";
sha256 = "08p7bwvhpgizif8qi59m8mm3mcny70x9msbk8m8vjpphsq55wha4";
};
postInstall = ''
wrapProgram $bin/bin/gometalinter --prefix PATH : "${makeBinPath runtimeDeps}"
'';
buildInputs = [ makeWrapper ];
allowGoReference = true;
meta = with lib; {
description = "Concurrently run Go lint tools and normalise their output";
homepage = https://github.com/alecthomas/gometalinter;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,29 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "gosec-${version}";
version = "1.1.0";
goPackagePath = "github.com/securego/gosec";
excludedPackages = ''cmd/tlsconfig'';
src = fetchFromGitHub {
owner = "securego";
repo = "gosec";
rev = "${version}";
sha256 = "0vjn3g6w4y4ayx0g766jp31vb78cipl90fcg0mccjr0a539qrpy6";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "Golang security checker";
homepage = https://github.com/securego/gosec;
license = licenses.asl20 ;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

193
pkgs/development/tools/gosec/deps.nix generated Normal file
View file

@ -0,0 +1,193 @@
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
[
{
goPackagePath = "github.com/davecgh/go-spew";
fetch = {
type = "git";
url = "https://github.com/davecgh/go-spew";
rev = "v1.1.1";
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "v1.2.0";
sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
};
}
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "0de1eaf82fa3";
sha256 = "177af7bjq6clmkqshnmnwlpwvx80kpi2277q275iwq59lp48viq1";
};
}
{
goPackagePath = "github.com/kr/pretty";
fetch = {
type = "git";
url = "https://github.com/kr/pretty";
rev = "v0.1.0";
sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
};
}
{
goPackagePath = "github.com/kr/pty";
fetch = {
type = "git";
url = "https://github.com/kr/pty";
rev = "v1.1.1";
sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
};
}
{
goPackagePath = "github.com/kr/text";
fetch = {
type = "git";
url = "https://github.com/kr/text";
rev = "v0.1.0";
sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
};
}
{
goPackagePath = "github.com/nbutton23/zxcvbn-go";
fetch = {
type = "git";
url = "https://github.com/nbutton23/zxcvbn-go";
rev = "a22cb81b2ecd";
sha256 = "0hm16vc7xrw0cqla6xcn59bb7n2sa0j8rkniywn5dqnbrpza12cd";
};
}
{
goPackagePath = "github.com/onsi/ginkgo";
fetch = {
type = "git";
url = "https://github.com/onsi/ginkgo";
rev = "11459a886d9c";
sha256 = "1nswc1fnrrs792qbix05h91bilj8rr3wxmxgwi97p2gjk0r292zh";
};
}
{
goPackagePath = "github.com/onsi/gomega";
fetch = {
type = "git";
url = "https://github.com/onsi/gomega";
rev = "dcabb60a477c";
sha256 = "1775lv5jbsgv3ghq5v2827slqlhqdadrzc1nkpq4y0hdv2qzrgkm";
};
}
{
goPackagePath = "github.com/pmezard/go-difflib";
fetch = {
type = "git";
url = "https://github.com/pmezard/go-difflib";
rev = "v1.0.0";
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
};
}
{
goPackagePath = "github.com/ryanuber/go-glob";
fetch = {
type = "git";
url = "https://github.com/ryanuber/go-glob";
rev = "256dc444b735";
sha256 = "07rsd7hranghwc68ib0r2zxd9d5djanzjvd84j9dgj3wqsyg5mi2";
};
}
{
goPackagePath = "github.com/stretchr/testify";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "v1.2.2";
sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "8351a756f30f";
sha256 = "0b6m579i3wrx1m69mqkdng5gjfssprxx0pg45kzrdi68sh0zr5d1";
};
}
{
goPackagePath = "golang.org/x/sync";
fetch = {
type = "git";
url = "https://go.googlesource.com/sync";
rev = "1d60e4601c6f";
sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "164713f0dfce";
sha256 = "1qn9vvyqsaaj0az0rbilzc4pfv9sl4vh78c2g37yya5gcdnarh3w";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "1cbadb444a80";
sha256 = "0ih9ysagh4ylj08393497sscf3yziybc6acg4mrh0wa7mld75j56";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "e531a2a1c15f";
sha256 = "0740w56nmjqdj7ld1h3gpcpi3x8n81bdx0pp267rz9hmwkrb2s1c";
};
}
{
goPackagePath = "gopkg.in/check.v1";
fetch = {
type = "git";
url = "https://gopkg.in/check.v1";
rev = "788fd7840127";
sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "eb3733d160e7";
sha256 = "1srhvcaa9db3a6xj29mkjr5kg33y71pclrlx4vcwz5m1lgb5c7q6";
};
}
]

View file

@ -0,0 +1,28 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "iferr-unstable-${version}";
version = "2018-06-15";
rev = "bb332a3b1d9129b6486c7ddcb7030c11b05cfc88";
goPackagePath = "github.com/koron/iferr";
src = fetchFromGitHub {
inherit rev;
owner = "koron";
repo = "iferr";
sha256 = "1nyqy1sgq2afiama4wy7wap8s03c0hiwwa0f6kwq3y59097rfc0c";
};
meta = with lib; {
description = ''Generate "if err != nil {" block'';
homepage = https://github.com/koron/iferr;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,30 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "impl-unstable-${version}";
version = "2018-02-27";
rev = "3d0f908298c49598b6aa84f101c69670e15d1d03";
goPackagePath = "github.com/josharian/impl";
src = fetchFromGitHub {
inherit rev;
owner = "josharian";
repo = "impl";
sha256 = "0xpip20x5vclrl0by1760lg73v6lj6nmkbiazlskyvpkw44h8a7c";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "impl generates method stubs for implementing an interface.";
homepage = https://github.com/josharian/impl;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

11
pkgs/development/tools/impl/deps.nix generated Normal file
View file

@ -0,0 +1,11 @@
[
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "96e9e165b75e735822645eff82850b08c377be36";
sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg";
};
}
]

View file

@ -0,0 +1,29 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "ineffassign-unstable-${version}";
version = "2018-09-09";
rev = "1003c8bd00dc2869cb5ca5282e6ce33834fed514";
goPackagePath = "github.com/gordonklaus/ineffassign";
excludedPackages = ''testdata'';
src = fetchFromGitHub {
inherit rev;
owner = "gordonklaus";
repo = "ineffassign";
sha256 = "1rkzqvd3z03vq8q8qi9cghvgggsf02ammj9wq8jvpnx6b2sd16nd";
};
meta = with lib; {
description = "Detect ineffectual assignments in Go code.";
homepage = https://github.com/gordonklaus/ineffassign;
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,31 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "interfacer-unstable-${version}";
version = "2018-08-31";
rev = "c20040233aedb03da82d460eca6130fcd91c629a";
goPackagePath = "mvdan.cc/interfacer";
excludedPackages = ''check/testdata'';
src = fetchFromGitHub {
inherit rev;
owner = "mvdan";
repo = "interfacer";
sha256 = "0cx4m74mvn200360pmsqxx4z0apk9fcknwwqh8r94zd3jfv4akq2";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "A linter that suggests interface types.";
homepage = https://github.com/mvdan/interfacer;
license = licenses.bsd3;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,29 @@
[
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "96e9e165b75e735822645eff82850b08c377be36";
sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg";
};
}
{
goPackagePath = "mvdan.cc/lint";
fetch = {
type = "git";
url = "https://github.com/mvdan/lint";
rev = "adc824a0674b99099789b6188a058d485eaf61c0";
sha256 = "17mi2rvkg9kzv1shxcyawzcj4jj3v738d1j82fp4yygx859yvr8r";
};
}
]

View file

@ -0,0 +1,30 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "maligned-unstable-${version}";
version = "2018-07-07";
rev = "6e39bd26a8c8b58c5a22129593044655a9e25959";
goPackagePath = "github.com/mdempsky/maligned";
src = fetchFromGitHub {
inherit rev;
owner = "mdempsky";
repo = "maligned";
sha256 = "08inr5xjqv9flrlyhqd8ck1q26y5xb6iilz0xkb6bqa4dl5ialhi";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "Tool to detect Go structs that would take less memory if their fields were sorted.";
homepage = https://github.com/mdempsky/maligned;
license = licenses.bsd3;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

20
pkgs/development/tools/maligned/deps.nix generated Normal file
View file

@ -0,0 +1,20 @@
[
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "96e9e165b75e735822645eff82850b08c377be36";
sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg";
};
}
]

View file

@ -0,0 +1,29 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "reftools-unstable-${version}";
version = "2018-09-14";
rev = "654d0ba4f96d62286ca33cd46f7674b84f76d399";
goPackagePath = "github.com/davidrjenni/reftools";
excludedPackages = "\\(cmd/fillswitch/test-fixtures\\)";
src = fetchFromGitHub {
inherit rev;
owner = "davidrjenni";
repo = "reftools";
sha256 = "12y2h1h15xadc8pa3xsj11hpdxz5dss6k7xaa4h1ifkvnasjp5w2";
};
meta = with lib; {
description = "reftools - refactoring tools for Go";
homepage = https://github.com/davidrjenni/reftools;
license = licenses.bsd2;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,31 @@
{ buildGoPackage
, lib
, fetchFromGitHub
}:
buildGoPackage rec {
name = "unconvert-unstable-${version}";
version = "2018-07-03";
rev = "1a9a0a0a3594e9363e49545fb6a4e24ac4c68b7b";
goPackagePath = "github.com/mdempsky/unconvert";
src = fetchFromGitHub {
inherit rev;
owner = "mdempsky";
repo = "unconvert";
sha256 = "1ww5qk1cmdis4ig5mb0b0w7nzrf3734s51plmgdxqsr35y88q4p9";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "Remove unnecessary type conversions from Go source";
homepage = https://github.com/mdempsky/unconvert;
license = licenses.bsd3;
maintainers = with maintainers; [ kalbasit ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,29 @@
[
{
goPackagePath = "github.com/kisielk/gotool";
fetch = {
type = "git";
url = "https://github.com/kisielk/gotool";
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "6f44c5a2ea40ee3593d98cdcc905cc1fdaa660e2";
sha256 = "00mwzxly5isgf0glz7k3k2dkyqkjfc4z55qxajx4lgcp3h8xn9xj";
};
}
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://go.googlesource.com/tools";
rev = "96e9e165b75e735822645eff82850b08c377be36";
sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg";
};
}
]

View file

@ -11,20 +11,18 @@ stdenv.mkDerivation rec {
sha256 = "1n1gb8ldgqv3vs565yhk1w4jfvrviczp94r8wqlkv5q6ab43c8w9";
};
makeFlags = [ "MODE=0755" "PREFIX=" "DESTDIR=$(out)" ];
installTargets = [ "install" "install_udev_rules" ];
makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ];
postPatch = ''
substituteInPlace 90-brightnessctl.rules --replace /bin/ ${coreutils}/bin/
substituteInPlace 90-brightnessctl.rules --replace %k '*'
'';
meta = {
meta = with stdenv.lib; {
homepage = "https://github.com/Hummer12007/brightnessctl";
maintainers = [ stdenv.lib.maintainers.Dje4321 ];
license = stdenv.lib.licenses.mit;
description = "This program allows you read and control device brightness";
platforms = stdenv.lib.platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ megheaiulian ];
platforms = platforms.linux;
};
}

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, which, pkgconfig, makeWrapper
, ffmpeg, libGLU_combined, freetype, libxml2, python34
, ffmpeg, libGLU_combined, freetype, libxml2, python3
, libobjc, AppKit, Foundation
, alsaLib ? null
, libpulseaudio ? null
@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]
++ optional withVulkan [ makeWrapper ];
buildInputs = [ ffmpeg freetype libxml2 libGLU_combined python34 SDL2 which ]
buildInputs = [ ffmpeg freetype libxml2 libGLU_combined python3 SDL2 which ]
++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
++ optional withVulkan [ vulkan-loader ]
++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]

View file

@ -53,12 +53,12 @@
};
ale = buildVimPluginFrom2Nix {
name = "ale-2018-10-29";
name = "ale-2018-10-31";
src = fetchFromGitHub {
owner = "w0rp";
repo = "ale";
rev = "cae40e1c347064bd3ab5eb4c04e9e357d3d82105";
sha256 = "0f7qsp0gpafk7fimcbivx2cm53hpjz6hr6lzdg8wnxcm0gdw7827";
rev = "4b841b55869e3ec5b02806f9b2fe962ffdca2750";
sha256 = "0wa8phv4b6n1akaii8qy9c0lr17vm4bqgz5chjx28zs73jfxsf2i";
};
};
@ -93,12 +93,12 @@
};
awesome-vim-colorschemes = buildVimPluginFrom2Nix {
name = "awesome-vim-colorschemes-2018-01-20";
name = "awesome-vim-colorschemes-2018-10-30";
src = fetchFromGitHub {
owner = "rafi";
repo = "awesome-vim-colorschemes";
rev = "8d2b6657bdbe4f7253e320c741bc4c1fc2f2f41d";
sha256 = "1wfm6rsmyqldxwcz0ic4rq7kf00fgsx00rg42cl9yya35nqiri2z";
rev = "21d1c93da95d58bead99f3226f9447f5b035afe1";
sha256 = "1niwwyxgq7k7mbi05lnpz12lbmn9mam9x4qvzxcbvxsqqp2zzsj8";
};
};
@ -718,6 +718,17 @@
};
};
jedi-vim = buildVimPluginFrom2Nix {
name = "jedi-vim-2018-10-14";
src = fetchFromGitHub {
owner = "davidhalter";
repo = "jedi-vim";
rev = "b6dfc5fd49c26d4dbe9f54c814956567a7a9b3a8";
sha256 = "11wvynjl1m23vdp4wvirhmm7vnpji5affbyhwz67yjkvh6c42xqa";
fetchSubmodules = true;
};
};
Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix {
name = "Jenkinsfile-vim-syntax-2018-09-25";
src = fetchFromGitHub {
@ -899,12 +910,12 @@
};
neco-vim = buildVimPluginFrom2Nix {
name = "neco-vim-2017-10-01";
name = "neco-vim-2018-10-30";
src = fetchFromGitHub {
owner = "Shougo";
repo = "neco-vim";
rev = "f5397c5e800d65a58c56d8f1b1b92686b05f4ca9";
sha256 = "0yb7ja6qgrazszk4i01cwjj00j9vd43zs2r11b08iy8n10jnzr73";
rev = "4c0203b44f8daa7e2f72e2514488d637e8a766a4";
sha256 = "03v3h2ks6y9pl960lnvzxlfhnn6l2pcn6d6012znw2wqpralrjq2";
};
};
@ -949,12 +960,12 @@
};
neomake = buildVimPluginFrom2Nix {
name = "neomake-2018-10-28";
name = "neomake-2018-10-29";
src = fetchFromGitHub {
owner = "benekastah";
repo = "neomake";
rev = "35f4c002d55d5f722a08eb9acf126f7717072812";
sha256 = "0ad5dqyjpwn78nadg90jd03n0mkllm0r4jxq72h77dwxsd1prgl9";
rev = "c15d51ea9f622b8bce469a18833a6ac64f6a1193";
sha256 = "1l15y0di6k4v0vrwpd86lp2n5ljfjnzncgpxwmbhqb2xznr7caq7";
};
};
@ -1009,12 +1020,12 @@
};
nerdtree = buildVimPluginFrom2Nix {
name = "nerdtree-2018-10-25";
name = "nerdtree-2018-10-31";
src = fetchFromGitHub {
owner = "scrooloose";
repo = "nerdtree";
rev = "91e0f2253fbecefa7e14f095950341584877ef19";
sha256 = "1lkmxplrv211drzmwi93v1fmicdjm146vl471s3h21y77k0hd2f5";
rev = "8d005db94f8d1a214d172aeb1008d016c3d201e2";
sha256 = "0f8dljl45ph668kwjf0py0891i3aqfdijplarxnblbkp2zn5ij7g";
};
};
@ -1479,12 +1490,12 @@
};
tsuquyomi = buildVimPluginFrom2Nix {
name = "tsuquyomi-2018-08-03";
name = "tsuquyomi-2018-10-31";
src = fetchFromGitHub {
owner = "Quramy";
repo = "tsuquyomi";
rev = "05e6515f6d21545959ac4eb570c917e1d225b1f1";
sha256 = "0hbd2d8zb86c8ncrrm4zyj92j523xay2lwk2k9arwacn8fj42hir";
rev = "bdd034d06ed47176ec1ee0bd3dae5bc0aeb053e3";
sha256 = "119dxmkarbh0b0k4l59mxr19shks4mv96j3mbz02q0kdq18bgrdq";
};
};
@ -1539,12 +1550,12 @@
};
vim = buildVimPluginFrom2Nix {
name = "vim-2018-10-27";
name = "vim-2018-10-30";
src = fetchFromGitHub {
owner = "dracula";
repo = "vim";
rev = "854886980635eb70e119d2bd3bb94a0ce46fc71d";
sha256 = "1ff88clly227cj83ng6bwc8jn3zp20614agg94izqhsxr5bpdp5z";
rev = "66755a9cb9bdea62720812a1165132de6ff62468";
sha256 = "0zca3spgnf00rxa0h5x79ydycz41b0xli7bgwpnbxannzxqswhiy";
};
};
@ -1749,12 +1760,12 @@
};
vim-airline = buildVimPluginFrom2Nix {
name = "vim-airline-2018-10-22";
name = "vim-airline-2018-11-01";
src = fetchFromGitHub {
owner = "vim-airline";
repo = "vim-airline";
rev = "08e9aa5386eecfd6a6cbde1eff240619cd81beed";
sha256 = "0g9rlr6067sqyp0l4yacnr14phx1wn2jvjcq2x2zwkc0b28hxyrs";
rev = "6516b1b4dccef543d489177431050fe8a5c5c99c";
sha256 = "0x4vdxz31vqyd3qy8vr4gcdc649nz72axris5fxj8ln5zphlr6ll";
};
};
@ -1969,12 +1980,12 @@
};
vim-dispatch = buildVimPluginFrom2Nix {
name = "vim-dispatch-2018-10-02";
name = "vim-dispatch-2018-10-31";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-dispatch";
rev = "ab7470d4b03bae9880bf2b5cef60fc0fb51b1101";
sha256 = "01slb3lcbdba0a4xky6i5xflh1cjm0aq6g8yyfzrgn4w8pq50h9p";
rev = "d4b8940fd1cd77fc6d300f003b18745a584295b2";
sha256 = "06g0xc55z9jpa5rl8c5af5apb8b2agahsxxzayl2vn763v9p1n6b";
};
};
@ -2199,12 +2210,12 @@
};
vim-grepper = buildVimPluginFrom2Nix {
name = "vim-grepper-2018-10-29";
name = "vim-grepper-2018-10-30";
src = fetchFromGitHub {
owner = "mhinz";
repo = "vim-grepper";
rev = "54cb4c55bd8d80fc046f62b8f6486db2de424399";
sha256 = "1bzzyh2yav9f54gn17ny8gpi5h70yvjqdyg9lg0b1rglvirjpb1r";
rev = "a55a14b97dc8ac848eeb95e71d095b75197ba665";
sha256 = "08p5dp43z9bxllr5fvl3hgnyqyxlvpbfczw1ydncmzvrqqccrx08";
};
};
@ -2630,12 +2641,12 @@
};
vim-operator-surround = buildVimPluginFrom2Nix {
name = "vim-operator-surround-2017-12-22";
name = "vim-operator-surround-2018-11-01";
src = fetchFromGitHub {
owner = "rhysd";
repo = "vim-operator-surround";
rev = "001c0da077b5b38a723151b19760d220e02363db";
sha256 = "0c6w6id57faw6sjf5wvw9qp2a4i7xj65q0c4hjs0spgzycv2wpkh";
rev = "80337a40a829cfc77b065a71d8a609e2ad7d2c8b";
sha256 = "0f9shg81bl39hz67ahbi6k6gbhky7gzp8by16fhiz75hbjgp9lq2";
};
};
@ -2830,12 +2841,12 @@
};
vim-rhubarb = buildVimPluginFrom2Nix {
name = "vim-rhubarb-2018-09-20";
name = "vim-rhubarb-2018-10-31";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-rhubarb";
rev = "3a9ddb8ffa46b9fa49f3d9372bbb5d64bdc5fd23";
sha256 = "1swybc30vyf309w1a34jf94xja1kikvrr3xpixfban50s6aiyips";
rev = "42072cc349c46db79c0a4411d399a2fe31cfda7e";
sha256 = "020fshfrwbycs4saci58k625330i2ndfh6lqnxz5h0pp2m5y6jp8";
};
};
@ -2910,12 +2921,12 @@
};
vim-signify = buildVimPluginFrom2Nix {
name = "vim-signify-2018-10-01";
name = "vim-signify-2018-10-31";
src = fetchFromGitHub {
owner = "mhinz";
repo = "vim-signify";
rev = "ce2dd937bf3a394ef2fbeda8ab56d2b4437be3c3";
sha256 = "08ah81bn0cmqphi2lw2y7pjdg8sw2wjwc3p3j6pj0gyqx2bsf408";
rev = "4e7faba8d32d56d80090dedc5328849a7128b73a";
sha256 = "0wm1kgklvd4b52lrqb9l7n511p8kaw8y9707962l4nrp8cbrbs31";
};
};
@ -2980,22 +2991,22 @@
};
vim-speeddating = buildVimPluginFrom2Nix {
name = "vim-speeddating-2017-05-24";
name = "vim-speeddating-2018-10-31";
src = fetchFromGitHub {
owner = "tpope";
repo = "vim-speeddating";
rev = "a418667791f03694065948342f2d6c5cca8d0f32";
sha256 = "1wm33izawazh0dy70zjk6rkg30yrlldba5r1gypnr4barps702gw";
rev = "799cd3473bc64adcb6b556bf349f549570666b62";
sha256 = "0vyla4lslf1hycx1mvgydhlar2f6bwnwbcp39s1f0m65fqs25rhz";
};
};
vim-startify = buildVimPluginFrom2Nix {
name = "vim-startify-2018-10-02";
name = "vim-startify-2018-10-31";
src = fetchFromGitHub {
owner = "mhinz";
repo = "vim-startify";
rev = "556bf1d507dfaddfba4b5795716ea20f8ba902ac";
sha256 = "1jjj7iij08455rlc705m3pnbjg87r2l29jclzkiy7nsvjjh3dfwx";
rev = "356562270684d8d1647daf0faaf76ac90740990c";
sha256 = "0qc9ifq4blixda0kyc0zhmqi6cqz44xnk9x17p0p9qqidf1s1l1r";
};
};
@ -3290,12 +3301,12 @@
};
vimtex = buildVimPluginFrom2Nix {
name = "vimtex-2018-10-29";
name = "vimtex-2018-11-01";
src = fetchFromGitHub {
owner = "lervag";
repo = "vimtex";
rev = "8a32372e4fc3c628d36b8215c6d30bd05eeade28";
sha256 = "1h1fp0jnv4wj96mam9dgnr5y1i4a4bdi4law3y1qh937bx7nk2vd";
rev = "2aae07e67034f4806d45500a967bf5775ab22baf";
sha256 = "1ng1ps5f2vh7xs5lfkid7zwvcjglynw53xvd301zpjbgln2gv3fz";
};
};

View file

@ -9,6 +9,12 @@
, languagetool
, Cocoa, CoreFoundation, CoreServices
, buildVimPluginFrom2Nix
# vim-go denpencies
, asmfmt, delve, errcheck, godef, golint
, gomodifytags, gotags, gotools, motion
, gnused, reftools, gogetdoc, gometalinter
, impl, iferr
}:
let
@ -247,6 +253,34 @@ with generated;
dependencies = ["vim-misc"];
});
# change the go_bin_path to point to a path in the nix store. See the code in
# fatih/vim-go here
# https://github.com/fatih/vim-go/blob/155836d47052ea9c9bac81ba3e937f6f22c8e384/autoload/go/path.vim#L154-L159
vim-go = vim-go.overrideAttrs(old: let
binPath = lib.makeBinPath [
asmfmt
delve
errcheck
godef
gogetdoc
golint
gometalinter
gomodifytags
gotags
gotools
iferr
impl
motion
reftools
];
in {
postPatch = ''
${gnused}/bin/sed \
-Ee 's@let go_bin_path = go#path#BinPath\(\)@let go_bin_path = "${binPath}"@g' \
-i autoload/go/path.vim
'';
});
vim-grammarous = vim-grammarous.overrideAttrs(old: {
# use `:GrammarousCheck` to initialize checking
# In neovim, you also want to use set
@ -334,4 +368,13 @@ with generated;
};
});
jedi-vim = jedi-vim.overrideAttrs(old: {
# checking for python3 support in vim would be neat, too, but nobody else seems to care
buildInputs = [ python3Packages.jedi ];
meta = {
description = "code-completion for python using python-jedi";
license = stdenv.lib.licenses.mit;
};
});
}

View file

@ -37,14 +37,15 @@ ctjhoa/spacevim
ctrlpvim/ctrlp.vim
dag/vim2hs
dannyob/quickfixstatus
davidhalter/jedi-vim
derekelkins/agda-vim
derekwyatt/vim-scala
dhruvasagar/vim-table-mode
digitaltoad/vim-jade
dleonard0/pony-vim-syntax
dracula/vim
dylanaraps/wal.vim
drmingdrmer/xptemplate
dylanaraps/wal.vim
eagletmt/ghcmod-vim
eagletmt/neco-ghc
easymotion/vim-easymotion

View file

@ -1,52 +1,51 @@
{ stdenv, fetchurl, dpkg }:
{ stdenv, fetchurl, fetchFromGitHub, dpkg }:
stdenv.mkDerivation rec {
name = "raspberrypi-wireless-firmware-${version}";
version = "2018-05-30";
version = "2018-08-20";
srcs = [
(fetchurl {
url = "https://archive.raspberrypi.org/debian/pool/main/b/bluez-firmware/bluez-firmware_1.2-3+rpt5.debian.tar.xz";
sha256 = "06zpyrz6frkgjy26hr3998klnhjdqxwashgjgvj9rgbcqy70nkxg";
(fetchFromGitHub {
name = "bluez-firmware";
owner = "RPi-Distro";
repo = "bluez-firmware";
rev = "ade2bae1aaaebede09abb8fb546f767a0e4c7804";
sha256 = "07gm76gxp5anv6paryvxcp34a86fkny8kdlzqhzcpfczzglkp6ag";
})
(fetchurl {
url = "https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_20161130-3+rpt3_all.deb";
sha256 = "10l74ac28baprnsiylf2vy4pkxgb3crixid90ngs6si9smm7rn6z";
(fetchFromGitHub {
name = "firmware-nonfree";
owner = "RPi-Distro";
repo = "firmware-nonfree";
rev = "b518de45ced519e8f7a499f4778100173402ae43";
sha256 = "1d5026ic9awji6c67irpwsxpxgsc0dhn11d3abkxi2vvra1pir4g";
})
];
sourceRoot = ".";
dontBuild = true;
# Firmware blobs do not need fixing and should not be modified
dontFixup = true;
# Unpack the debian package
nativeBuildInputs = [ dpkg ];
unpackCmd = ''
if ! [[ "$curSrc" =~ \.deb$ ]]; then return 1; fi
dpkg -x "$curSrc" .
'';
installPhase = ''
mkdir -p "$out/lib/firmware/brcm"
# Wifi firmware
for filename in lib/firmware/brcm/brcmfmac434??-sdio.*; do
for filename in firmware-nonfree/brcm/brcmfmac434??-sdio.*; do
cp "$filename" "$out/lib/firmware/brcm"
done
# Bluetooth firmware
cp broadcom/*.hcd "$out/lib/firmware/brcm"
cp bluez-firmware/broadcom/*.hcd "$out/lib/firmware/brcm"
'';
outputHashMode = "recursive";
outputHashAlgo = "sha256";
outputHash = "1gwzasl5w5nc0awqv3w2081ns63wd1yds0xh0dg95dc6brnqhhf8";
outputHash = "1s5gb00v42s5izbaw8irs1fwvhh7z9wl07czc0nkw6p91871ivb7";
meta = with stdenv.lib; {
description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3 and Zero W";
homepage = https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/;
homepage = https://github.com/RPi-Distro/firmware-nonfree;
license = licenses.unfreeRedistributableFirmware;
platforms = platforms.linux;
maintainers = with maintainers; [ lopsided98 ];

View file

@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
version = "4.14.78";
version = "4.14.79";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0v2cwykgd2hxlqja4yl4pq45nhd5x8917ixqq7hj1r3ry304vnpl";
sha256 = "0flkkgfjzs6z7hkr15lga8jvxgwn6wi885yf5wyr0zxjrqg0f6an";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
version = "4.18.16";
version = "4.18.17";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1rjjkhl8lz4y4sn7icy8mp6p1x7rvapybp51p92sanbjy3i19fmy";
sha256 = "0353ns09i5y0fcygvly20z0qrp6gcqd453186ihm4r7ajgh43bz2";
};
} // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
version = "4.19";
version = "4.19.1";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "18a92z17alh5kkvjv7l9z8wk5jgdb6raawdfkpwx9bi8amjzas0c";
sha256 = "0ac8w310p83z11ksmyad7by7cmacwg4vq68pzxchc88bbk33gmk4";
};
} // (args.argsOverride or {}))

View file

@ -1,4 +1,6 @@
{ stdenv, python2Packages, fetchurl, fetchFromGitHub }:
{ lib, stdenv, python2Packages, fetchurl, fetchFromGitHub
, enableSystemd ? true
}:
let
matrix-angular-sdk = python2Packages.buildPythonPackage rec {
name = "matrix-angular-sdk-${version}";
@ -26,13 +28,13 @@ let
};
in python2Packages.buildPythonApplication rec {
name = "matrix-synapse-${version}";
version = "0.33.6";
version = "0.33.8";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "synapse";
rev = "v${version}";
sha256 = "0c1dr09f1msv6xvpmdlncx7yyj6qxnpihd93lqckd115fds12g5h";
sha256 = "122ba09xkc1x35qaajcynkjikg342259rgy81m8abz0l8mcg4mkm";
};
patches = [
@ -40,16 +42,41 @@ in python2Packages.buildPythonApplication rec {
];
propagatedBuildInputs = with python2Packages; [
blist canonicaljson daemonize dateutil frozendict pillow pyasn1
pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests
signedjson systemd twisted ujson unpaddedbase64 pyyaml prometheus_client
matrix-angular-sdk bleach netaddr jinja2 psycopg2
psutil msgpack-python lxml matrix-synapse-ldap3
phonenumbers jsonschema affinity bcrypt sortedcontainers treq
];
bcrypt
bleach
canonicaljson
daemonize
dateutil
frozendict
jinja2
jsonschema
lxml
matrix-angular-sdk
matrix-synapse-ldap3
msgpack-python
netaddr
phonenumbers
pillow
prometheus_client
psutil
psycopg2
pyasn1
pydenticon
pymacaroons-pynacl
pynacl
pyopenssl
pysaml2
pyyaml
requests
signedjson
sortedcontainers
treq
twisted
unpaddedbase64
] ++ lib.optional enableSystemd systemd;
# Checks fail because of Tox.
doCheck = false;
doCheck = true;
checkPhase = "python -m twisted.trial test";
buildInputs = with python2Packages; [
mock setuptoolsTrial

View file

@ -6,9 +6,9 @@
let
plexPass = throw "Plex pass has been removed at upstream's request; please unset nixpkgs.config.plex.pass";
plexpkg = if enablePlexPass then plexPass else {
version = "1.13.8.5395";
vsnHash = "10d48da0d";
sha256 = "0lpsh87kcrqwi2qqkj1ccb86hif535yb45hhc41c0ixsfxbqk5cw";
version = "1.13.9.5456";
vsnHash = "ecd600442";
sha256 = "6d1125d4e6eaa94a84f8c600230b867c2d0764644adbc959a96433b8fc210b61";
};
in stdenv.mkDerivation rec {

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
name = "plv8-${version}";
version = "2.1.0";
version = "2.3.8";
nativeBuildInputs = [ perl ];
buildInputs = [ v8 postgresql ];
@ -11,16 +11,20 @@ stdenv.mkDerivation rec {
owner = "plv8";
repo = "plv8";
rev = "v${version}";
sha256 = "1sfpxz0zcbinn6822j12lkwgrw9kfacrs83ic968rm489rl9w241";
sha256 = "0hrmn1zzzdf52zwldg6axv57p0f3b279l9s8lbpijcv60fqrzx16";
};
makeFlags = [ "--makefile=Makefile.shared" ];
preConfigure = ''
substituteInPlace Makefile --replace '-lv8_libplatform' '-lv8_libplatform -lv8_libbase'
patchShebangs ./generate_upgrade.sh
'';
buildPhase = "make -f Makefile.shared all";
installPhase = ''
mkdir -p $out/bin
install -D plv8.so -t $out/lib
install -D plv8*.so -t $out/lib
install -D {plls,plcoffee,plv8}{--${version}.sql,.control} -t $out/share/extension
'';

View file

@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
homepage = https://www.timescale.com/;
maintainers = with maintainers; [ volth ];
platforms = platforms.linux;
license = licenses.postgresql;
license = licenses.asl20;
};
}

View file

@ -26,7 +26,7 @@ GEM
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
fastimage (2.1.4)
fastlane (2.105.2)
fastlane (2.107.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0)
babosa (>= 1.0.2, < 2.0.0)
@ -71,10 +71,10 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
signet (~> 0.9)
googleauth (0.6.6)
googleauth (0.6.7)
faraday (~> 0.12)
jwt (>= 1.4, < 3.0)
memoist (~> 0.12)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.7)
@ -105,7 +105,7 @@ GEM
rouge (2.0.7)
rubyzip (1.2.2)
security (0.1.3)
signet (0.10.0)
signet (0.11.0)
addressable (~> 2.3)
faraday (~> 0.9)
jwt (>= 1.5, < 3.0)
@ -127,7 +127,7 @@ GEM
unf_ext (0.0.7.5)
unicode-display_width (1.4.0)
word_wrap (1.0.0)
xcodeproj (1.6.0)
xcodeproj (1.7.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)

View file

@ -153,10 +153,10 @@
dependencies = ["CFPropertyList" "addressable" "babosa" "colored" "commander-fastlane" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-api-client" "highline" "json" "mini_magick" "multi_json" "multi_xml" "multipart-post" "plist" "public_suffix" "rubyzip" "security" "simctl" "slack-notifier" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fq1zqvwim939klkx2893cbm1v4gi3a991qrj8933l3qg1y41fx2";
sha256 = "1d3jv7ik3rivmhxzcapia2lzf9xjmjgi4yxkl60ly6pcbbvhl48w";
type = "gem";
};
version = "2.105.2";
version = "2.107.0";
};
gh_inspector = {
source = {
@ -179,10 +179,10 @@
dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1747p1dhpvz76i98xnjrvaj785y1232svm0nc8g9by6pz835gp2l";
sha256 = "1yj7j1rnyamxpn5ybgdgbiw89v9bq2r0h85s2y2jzvqanvm7iflq";
type = "gem";
};
version = "0.6.6";
version = "0.6.7";
};
highline = {
source = {
@ -367,10 +367,10 @@
dependencies = ["addressable" "faraday" "jwt" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14rhv3riz6ki4ix4l79b6ckq7d015673gxkxvzdcxjl1h8plpdcy";
sha256 = "1f5d3bz5bjc4b0r2jmqd15qf07lgsqkgd25f0h46jihrf9l5fsi4";
type = "gem";
};
version = "0.10.0";
version = "0.11.0";
};
simctl = {
dependencies = ["CFPropertyList" "naturally"];
@ -476,10 +476,10 @@
dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1f4shbzff3wsk1jq0v9bs10496qdx69k2jfpf11p4q2ik3jdnsv7";
sha256 = "1hy2ihcqfjlsrnf8qkm51m1kk154yp0l0007f269ky8j9z5lyw3p";
type = "gem";
};
version = "1.6.0";
version = "1.7.0";
};
xcpretty = {
dependencies = ["rouge"];

View file

@ -5,7 +5,7 @@
assert par2Support -> par2cmdline != null;
let version = "0.29.1"; in
let version = "0.29.2"; in
with stdenv.lib;
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
repo = "bup";
owner = "bup";
rev = version;
sha256 = "0wdr399jf64zzzsdvldhrwvnh5xpbghjvslr1j2cwr5y4i36znxf";
sha256 = "17lpbyhf43gcln5s43m2zzgichcx7jq6ragcawfklw6svg1vnj89";
};
buildInputs = [

View file

@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "tmux";
repo = "tmux";
rev = version;
sha256 = "0n8sjddy00xgh1rvvw968hh72pyslg1gahmzajfc4b3xax87drpi";
rev = "01918cb0170e07288d3aec624516e6470bf5b7fc";
sha256 = "1fy87wvxn7r7jzqapvjisc1iizic3kxqk2lv83giqmw1y4g3s7rl";
};
postPatch = ''

View file

@ -122,6 +122,8 @@ with pkgs;
inherit dhall-nix;
};
deadcode = callPackage ../development/tools/deadcode { };
diffPlugins = (callPackage ../build-support/plugins.nix {}).diffPlugins;
dieHook = makeSetupHook {} ../build-support/setup-hooks/die.sh;
@ -657,6 +659,8 @@ with pkgs;
cconv = callPackage ../tools/text/cconv { };
go-check = callPackage ../development/tools/check { };
chkcrontab = callPackage ../tools/admin/chkcrontab { };
cozy = callPackage ../applications/audio/cozy-audiobooks { };
@ -801,6 +805,8 @@ with pkgs;
};
aria = aria2;
asmfmt = callPackage ../development/tools/asmfmt { };
aspcud = callPackage ../tools/misc/aspcud { };
at = callPackage ../tools/system/at { };
@ -1309,6 +1315,8 @@ with pkgs;
envsubst = callPackage ../tools/misc/envsubst { };
errcheck = callPackage ../development/tools/errcheck { };
eschalot = callPackage ../tools/security/eschalot { };
esptool = callPackage ../tools/misc/esptool { };
@ -5089,6 +5097,8 @@ with pkgs;
recoverjpeg = callPackage ../tools/misc/recoverjpeg { };
reftools = callPackage ../development/tools/reftools { };
reposurgeon = callPackage ../applications/version-management/reposurgeon { };
reptyr = callPackage ../os-specific/linux/reptyr {};
@ -6941,6 +6951,10 @@ with pkgs;
go-junit-report = callPackage ../development/tools/go-junit-report { };
gogetdoc = callPackage ../development/tools/gogetdoc { };
gometalinter = callPackage ../development/tools/gometalinter { };
gox = callPackage ../development/tools/gox { };
gprolog = callPackage ../development/compilers/gprolog { };
@ -7549,6 +7563,8 @@ with pkgs;
dhall-text = haskell.lib.justStaticExecutables haskellPackages.dhall-text;
dhallPackages = import ../development/dhall-modules { inherit pkgs; };
duktape = callPackage ../development/interpreters/duktape { };
beam = callPackage ./beam-packages.nix { };
@ -7772,7 +7788,6 @@ with pkgs;
python2Full = python2.override{x11Support=true;};
python27Full = python27.override{x11Support=true;};
python3Full = python3.override{x11Support=true;};
python34Full = python34.override{x11Support=true;};
python35Full = python35.override{x11Support=true;};
python36Full = python36.override{x11Support=true;};
python37Full = python37.override{x11Support=true;};
@ -7786,10 +7801,6 @@ with pkgs;
self = python27;
inherit (darwin) CF configd;
};
python34 = callPackage ../development/interpreters/python/cpython/3.4 {
inherit (darwin) CF configd;
self = python34;
};
python35 = callPackage ../development/interpreters/python/cpython/3.5 {
inherit (darwin) CF configd;
self = python35;
@ -7811,7 +7822,6 @@ with pkgs;
# Python package sets.
python27Packages = lib.hiPrioSet (recurseIntoAttrs python27.pkgs);
python34Packages = python34.pkgs;
python35Packages = python35.pkgs;
python36Packages = recurseIntoAttrs python36.pkgs;
python37Packages = python37.pkgs;
@ -10133,6 +10143,8 @@ with pkgs;
imlibsetroot = callPackage ../applications/graphics/imlibsetroot { libXinerama = xorg.libXinerama; } ;
ineffassign = callPackage ../development/tools/ineffassign { };
ijs = callPackage ../development/libraries/ijs { };
incrtcl = callPackage ../development/libraries/incrtcl { };
@ -11699,7 +11711,9 @@ with pkgs;
pgroonga = callPackage ../servers/sql/postgresql/pgroonga {};
plv8 = callPackage ../servers/sql/postgresql/plv8 {
v8 = v8_6_x;
v8 = callPackage ../development/libraries/v8/plv8_6_x.nix {
inherit (python2Packages) python;
};
};
phonon = callPackage ../development/libraries/phonon {};
@ -12524,6 +12538,8 @@ with pkgs;
vala = vala_0_40;
};
unconvert = callPackage ../development/tools/unconvert { };
unibilium = callPackage ../development/libraries/unibilium { };
unicap = callPackage ../development/libraries/unicap {};
@ -14274,11 +14290,6 @@ with pkgs;
# when adding a new linux version
kernelPatches.cpu-cgroup-v2."4.11"
kernelPatches.modinst_arg_list_too_long
# https://github.com/NixOS/nixpkgs/issues/42755
# Remove these xen-netfront patches once they're included in
# upstream! Fixes https://github.com/NixOS/nixpkgs/issues/42755
kernelPatches.xen-netfront_fix_mismatched_rtnl_unlock
kernelPatches.xen-netfront_update_features_after_registering_netdev
];
};
@ -14678,19 +14689,22 @@ with pkgs;
easyjson = callPackage ../development/tools/easyjson { };
iferr = callPackage ../development/tools/iferr { };
go-bindata = callPackage ../development/tools/go-bindata { };
go-bindata-assetfs = callPackage ../development/tools/go-bindata-assetfs { };
go-protobuf = callPackage ../development/tools/go-protobuf { };
go-symbols = callPackage ../development/tools/go-symbols { };
go-outline = callPackage ../development/tools/go-outline { };
gocode = callPackage ../development/tools/gocode { };
goconst = callPackage ../development/tools/goconst { };
goconvey = callPackage ../development/tools/goconvey { };
gotags = callPackage ../development/tools/gotags { };
@ -14699,14 +14713,20 @@ with pkgs;
golangci-lint = callPackage ../development/tools/golangci-lint { };
gocyclo = callPackage ../development/tools/gocyclo { };
godef = callPackage ../development/tools/godef { };
gopkgs = callPackage ../development/tools/gopkgs { };
gosec = callPackage ../development/tools/gosec { };
govers = callPackage ../development/tools/govers { };
govendor = callPackage ../development/tools/govendor { };
go-tools = callPackage ../development/tools/go-tools { };
gotools = callPackage ../development/tools/gotools { };
gotop = callPackage ../tools/system/gotop { };
@ -14719,6 +14739,8 @@ with pkgs;
gotests = callPackage ../development/tools/gotests { };
impl = callPackage ../development/tools/impl { };
quicktemplate = callPackage ../development/tools/quicktemplate { };
gogoclient = callPackage ../os-specific/linux/gogoclient { };
@ -15482,6 +15504,10 @@ with pkgs;
hasklig = callPackage ../data/fonts/hasklig {};
interfacer = callPackage ../development/tools/interfacer { };
maligned = callPackage ../development/tools/maligned { };
inter-ui = callPackage ../data/fonts/inter-ui { };
siji = callPackage ../data/fonts/siji { };
@ -21341,9 +21367,7 @@ with pkgs;
abella = callPackage ../applications/science/logic/abella {};
acgtk = callPackage ../applications/science/logic/acgtk {
ocamlPackages = ocaml-ng.ocamlPackages_4_05;
};
acgtk = callPackage ../applications/science/logic/acgtk {};
alt-ergo = callPackage ../applications/science/logic/alt-ergo {};
@ -22085,38 +22109,56 @@ with pkgs;
nixops-dns = callPackage ../tools/package-management/nixops/nixops-dns.nix { };
/*
* Evaluate a NixOS configuration using this evaluation of Nixpkgs.
*
* With this function you can write, for example, a package that
* depends on a custom virtual machine image.
*
* Parameter: A module, path or list of those that represent the
* configuration of the NixOS system to be constructed.
*
* Result: An attribute set containing packages produced by this
* evaluation of NixOS, such as toplevel, kernel and
* initialRamdisk.
* The result can be extended in the modules by defining
* extra options in system.build.
*
* Unlike in plain NixOS, the nixpkgs.config and
* nixpkgs.system options will be ignored by default. Instead,
* nixpkgs.pkgs will have the default value of pkgs as it was
* constructed right after invoking the nixpkgs function (e.g. the
* value of import <nixpkgs> { overlays = [./my-overlay.nix]; }
* but not the value of (import <nixpkgs> {} // { extra = ...; }).
*
* If you do want to use the config.nixpkgs options, you are
* probably better off by calling nixos/lib/eval-config.nix
* directly, even though it is possible to set config.nixpkgs.pkgs.
*
* For more information about writing NixOS modules, see
* https://nixos.org/nixos/manual/index.html#sec-writing-modules
*
* Note that you will need to have called Nixpkgs with the system
* parameter set to the right value for your deployment target.
*/
/* Evaluate a NixOS configuration using this evaluation of Nixpkgs.
With this function you can write, for example, a package that
depends on a custom virtual machine image.
Parameter: A module, path or list of those that represent the
configuration of the NixOS system to be constructed.
Result: An attribute set containing packages produced by this
evaluation of NixOS, such as toplevel, kernel and
initialRamdisk.
The result can be extended in the modules by defining
extra attributes in system.build.
Example:
let
myOS = pkgs.nixos ({ lib, pkgs, config, ... }: {
config.services.nginx = {
enable = true;
# ...
};
# Use config.system.build to exports relevant parts of a
# configuration. The runner attribute should not be
# considered a fully general replacement for systemd
# functionality.
config.system.build.run-nginx = config.systemd.services.nginx.runner;
});
in
myOS.run-nginx
Unlike in plain NixOS, the nixpkgs.config and
nixpkgs.system options will be ignored by default. Instead,
nixpkgs.pkgs will have the default value of pkgs as it was
constructed right after invoking the nixpkgs function (e.g. the
value of import <nixpkgs> { overlays = [./my-overlay.nix]; }
but not the value of (import <nixpkgs> {} // { extra = ...; }).
If you do want to use the config.nixpkgs options, you are
probably better off by calling nixos/lib/eval-config.nix
directly, even though it is possible to set config.nixpkgs.pkgs.
For more information about writing NixOS modules, see
https://nixos.org/nixos/manual/index.html#sec-writing-modules
Note that you will need to have called Nixpkgs with the system
parameter set to the right value for your deployment target.
*/
nixos = configuration:
(import (self.path + "/nixos/lib/eval-config.nix") {
inherit (pkgs.stdenv.hostPlatform) system;

View file

@ -662,6 +662,8 @@ in {
spglib = callPackage ../development/python-modules/spglib { };
sslib = callPackage ../development/python-modules/sslib { };
statistics = callPackage ../development/python-modules/statistics { };
sumo = callPackage ../development/python-modules/sumo { };
@ -1646,6 +1648,8 @@ in {
inherit (pkgs.gitAndTools) git-annex;
};
python-gitlab = callPackage ../development/python-modules/python-gitlab { };
google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { };
google-cloud-sdk-gce = callPackage ../tools/admin/google-cloud-sdk { with-gce=true; };
@ -2458,6 +2462,8 @@ in {
html5lib = callPackage ../development/python-modules/html5lib { };
httmock = callPackage ../development/python-modules/httmock { };
http_signature = callPackage ../development/python-modules/http_signature { };
httpbin = callPackage ../development/python-modules/httpbin { };

View file

@ -150,7 +150,7 @@ let
# All packages built for i686 Linux.
# Used by wine, firefox with debugging version of Flash, ...
pkgsi686Linux = assert stdenv.hostPlatform.isLinux; nixpkgsFun {
pkgsi686Linux = if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86 then nixpkgsFun {
inherit overlays config;
${if stdenv.hostPlatform == stdenv.buildPlatform
then "localSystem" else "crossSystem"} = {
@ -158,7 +158,7 @@ let
cpu = lib.systems.parse.cpuTypes.i686;
};
};
};
} else throw "i686 Linux package set can only be used with the x86 family.";
# Extend the package set with zero or more overlays. This preserves
# preexisting overlays. Prefer to initialize with the right overlays