mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-18 02:05:51 +03:00
Merge remote-tracking branch 'origin/master' into gcc-6
This commit is contained in:
commit
09f6fea799
@ -655,9 +655,8 @@ when you try to install a second environment.
|
|||||||
Create a file, e.g. `build.nix`, with the following expression
|
Create a file, e.g. `build.nix`, with the following expression
|
||||||
```nix
|
```nix
|
||||||
with import <nixpkgs> {};
|
with import <nixpkgs> {};
|
||||||
with python35Packages;
|
|
||||||
|
|
||||||
python.withPackages (ps: with ps; [ numpy ipython ])
|
pkgs.python35.withPackages (ps: with ps; [ numpy ipython ])
|
||||||
```
|
```
|
||||||
and install it in your profile with
|
and install it in your profile with
|
||||||
```
|
```
|
||||||
@ -669,14 +668,15 @@ Now you can use the Python interpreter, as well as the extra packages that you a
|
|||||||
|
|
||||||
If you prefer to, you could also add the environment as a package override to the Nixpkgs set.
|
If you prefer to, you could also add the environment as a package override to the Nixpkgs set.
|
||||||
```
|
```
|
||||||
packageOverrides = pkgs: with pkgs; with python35Packages; {
|
packageOverrides = pkgs: with pkgs; {
|
||||||
myEnv = python.withPackages (ps: with ps; [ numpy ipython ]);
|
myEnv = python35.withPackages (ps: with ps; [ numpy ipython ]);
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
and install it in your profile with
|
and install it in your profile with
|
||||||
```
|
```
|
||||||
nix-env -iA nixos.blogEnv
|
nix-env -iA nixpkgs.myEnv
|
||||||
```
|
```
|
||||||
|
We're installing using the attribute path and assume the channels is named `nixpkgs`.
|
||||||
Note that I'm using the attribute path here.
|
Note that I'm using the attribute path here.
|
||||||
|
|
||||||
#### Environment defined in `/etc/nixos/configuration.nix`
|
#### Environment defined in `/etc/nixos/configuration.nix`
|
||||||
@ -685,7 +685,7 @@ For the sake of completeness, here's another example how to install the environm
|
|||||||
|
|
||||||
```nix
|
```nix
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
(python35Packages.python.withPackages (ps: callPackage ../packages/common-python-packages.nix { pythonPackages = ps; }))
|
(python35.withPackages(ps: with ps; [ numpy ipython ]))
|
||||||
];
|
];
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ let
|
|||||||
name = "errbot-plugins";
|
name = "errbot-plugins";
|
||||||
paths = plugins;
|
paths = plugins;
|
||||||
};
|
};
|
||||||
mkConfigFile = instanceCfg: dataDir: pkgs.writeText "errbot-config.py" ''
|
mkConfigDir = instanceCfg: dataDir: pkgs.writeTextDir "config.py" ''
|
||||||
import logging
|
import logging
|
||||||
BACKEND = '${instanceCfg.backend}'
|
BACKEND = '${instanceCfg.backend}'
|
||||||
BOT_DATA_DIR = '${dataDir}'
|
BOT_DATA_DIR = '${dataDir}'
|
||||||
@ -93,7 +93,7 @@ in {
|
|||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = "errbot";
|
User = "errbot";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
ExecStart = "${pkgs.errbot}/bin/errbot -c ${mkConfigFile instanceCfg dataDir}";
|
ExecStart = "${pkgs.errbot}/bin/errbot -c ${mkConfigDir instanceCfg dataDir}/config.py";
|
||||||
PermissionsStartOnly = true;
|
PermissionsStartOnly = true;
|
||||||
};
|
};
|
||||||
})) cfg.instances;
|
})) cfg.instances;
|
||||||
|
@ -116,7 +116,7 @@ in {
|
|||||||
" -conf ${pkgs.writeText "hound.json" cfg.config}";
|
" -conf ${pkgs.writeText "hound.json" cfg.config}";
|
||||||
|
|
||||||
};
|
};
|
||||||
path = [ pkgs.git ];
|
path = [ pkgs.git pkgs.mercurial pkgs.openssh ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ let
|
|||||||
server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
|
server_name ${serverName} ${concatStringsSep " " vhost.serverAliases};
|
||||||
${acmeLocation}
|
${acmeLocation}
|
||||||
location / {
|
location / {
|
||||||
return 301 https://$host${optionalString (port != 443) ":${port}"}$request_uri;
|
return 301 https://$host${optionalString (port != 443) ":${toString port}"}$request_uri;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
''}
|
''}
|
||||||
|
@ -221,7 +221,7 @@ in rec {
|
|||||||
tests.boot-stage1 = callTest tests/boot-stage1.nix {};
|
tests.boot-stage1 = callTest tests/boot-stage1.nix {};
|
||||||
tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
|
tests.cadvisor = hydraJob (import tests/cadvisor.nix { system = "x86_64-linux"; });
|
||||||
tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
|
tests.chromium = (callSubTests tests/chromium.nix { system = "x86_64-linux"; }).stable;
|
||||||
tests.cjdns = callTest tests/cjdns.nix {};
|
#tests.cjdns = callTest tests/cjdns.nix {};
|
||||||
tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
|
tests.containers-ipv4 = callTest tests/containers-ipv4.nix {};
|
||||||
tests.containers-ipv6 = callTest tests/containers-ipv6.nix {};
|
tests.containers-ipv6 = callTest tests/containers-ipv6.nix {};
|
||||||
tests.containers-bridge = callTest tests/containers-bridge.nix {};
|
tests.containers-bridge = callTest tests/containers-bridge.nix {};
|
||||||
|
@ -11,12 +11,12 @@
|
|||||||
assert stdenv ? glibc;
|
assert stdenv ? glibc;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.0.6";
|
version = "2.0.7";
|
||||||
name = "darktable-${version}";
|
name = "darktable-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
|
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
|
||||||
sha256 = "1h9qwxyvcv0fc6y5b6l2x4jd5mmw026blhjkcihj00r1aa3c2s13";
|
sha256 = "1aqxiaw89xdx0s0h3gb9nvdzw4690y3kp7h794sihf2581bn28m9";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
let
|
let
|
||||||
# Always get the information from
|
# Always get the information from
|
||||||
# https://github.com/coreos/rkt/blob/v${VERSION}/stage1/usr_from_coreos/coreos-common.mk
|
# https://github.com/coreos/rkt/blob/v${VERSION}/stage1/usr_from_coreos/coreos-common.mk
|
||||||
coreosImageRelease = "1151.0.0";
|
coreosImageRelease = "1192.0.0";
|
||||||
coreosImageSystemdVersion = "231";
|
coreosImageSystemdVersion = "231";
|
||||||
|
|
||||||
# TODO: track https://github.com/coreos/rkt/issues/1758 to allow "host" flavor.
|
# TODO: track https://github.com/coreos/rkt/issues/1758 to allow "host" flavor.
|
||||||
@ -12,7 +12,7 @@ let
|
|||||||
stage1Dir = "lib/rkt/stage1-images";
|
stage1Dir = "lib/rkt/stage1-images";
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
version = "1.17.0";
|
version = "1.18.0";
|
||||||
name = "rkt-${version}";
|
name = "rkt-${version}";
|
||||||
BUILDDIR="build-${name}";
|
BUILDDIR="build-${name}";
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
|
|||||||
owner = "coreos";
|
owner = "coreos";
|
||||||
repo = "rkt";
|
repo = "rkt";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1jbdnbd2h58zd5irllim6cfa9bf0fdk5nr8qxpjnsgd1fsyhkpld";
|
sha256 = "0vvkwdpl9y0g5m00m1h7q8f95hj5qxigpxrb5zwfqrcv3clzn5a6";
|
||||||
};
|
};
|
||||||
|
|
||||||
stage1BaseImage = fetchurl {
|
stage1BaseImage = fetchurl {
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "man-pages-${version}";
|
name = "man-pages-${version}";
|
||||||
version = "4.07";
|
version = "4.08";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
|
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
|
||||||
sha256 = "1vimj3va16plxmv46rw6nzw4m9l11hb7r1d217y1bjpd5q8nw8qz";
|
sha256 = "1d32ki8nkwd2xiln619jihqn7s15ydrg7386n4hxq530sys7svic";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeFlags = [ "MANDIR=$(out)/share/man" ];
|
makeFlags = [ "MANDIR=$(out)/share/man" ];
|
||||||
|
@ -6,14 +6,14 @@ let
|
|||||||
inherit (bootPkgs) ghc;
|
inherit (bootPkgs) ghc;
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
version = "8.1.20160930";
|
version = "8.1.20161108";
|
||||||
name = "ghc-${version}";
|
name = "ghc-${version}";
|
||||||
rev = "9e862765ffe161da8a4fd9cd67b0a600874feaa9";
|
rev = "2e8463b232054b788b73e6551947a9434aa76009";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.haskell.org/ghc.git";
|
url = "git://git.haskell.org/ghc.git";
|
||||||
inherit rev;
|
inherit rev;
|
||||||
sha256 = "01fmp5yrh3is8vzv2vabkzlvm1ry1zcq99m078plx9wgy20giq59";
|
sha256 = "1x1vnb2zr2qrak72bdqh65d00q351yhn8xvv5i4i359cf2xjmgfd";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng, gnumake3 }:
|
{ stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng, gnumake3, cmake }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "lensfun-0.2.8";
|
version = "0.3.2";
|
||||||
|
name = "lensfun-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/lensfun/${name}.tar.bz2";
|
url = "mirror://sourceforge/lensfun/${version}/${name}.tar.gz";
|
||||||
sha256 = "0j0smagnksdm9gjnk13w200hjxshmxf2kvyxxnra4nc2qzxrg3zq";
|
sha256 = "0cfk8jjhs9nbfjfdy98plrj9ayi59aph0nx6ppslgjhlcvacm2xf";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = "sed -e 's@/usr/bin/python@${python}/bin/python@' -i configure";
|
buildInputs = [ pkgconfig glib zlib libpng cmake gnumake3 ];
|
||||||
|
|
||||||
buildInputs = [ pkgconfig glib zlib libpng gnumake3 ];
|
|
||||||
|
|
||||||
configureFlags = "-v";
|
configureFlags = "-v";
|
||||||
|
|
||||||
|
@ -1,21 +1,24 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, libusb1, libtool, libexif, libjpeg, gettext }:
|
{ stdenv, fetchpatch, fetchFromGitHub, pkgconfig, libusb1, libtool, libexif, libjpeg, gettext, autoreconfHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "libgphoto2-${meta.version}";
|
name = "libgphoto2-${meta.version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
|
owner = "gphoto";
|
||||||
sha256 = "1wjf79ipqwb5phfjjwf15rwgigakylnfqaj4crs5qnds6ba6i1ld";
|
repo = "libgphoto2";
|
||||||
|
rev = "${meta.tag}";
|
||||||
|
sha256 = "17k3jxib2jcr2wk83p34h3lvvjbs2gqhqfcngm8zmlrwb385yalh";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [(fetchurl {
|
patches = [(fetchpatch {
|
||||||
|
name = "libjpeg_turbo_1.5.0_fix.patch";
|
||||||
url = "https://anonscm.debian.org/cgit/pkg-phototools/libgphoto2.git/plain"
|
url = "https://anonscm.debian.org/cgit/pkg-phototools/libgphoto2.git/plain"
|
||||||
+ "/debian/patches/libjpeg_turbo_1.5.0_fix.patch?id=8ce79a2a02d";
|
+ "/debian/patches/libjpeg_turbo_1.5.0_fix.patch?id=8ce79a2a02d";
|
||||||
sha256 = "114iyhk6idxz2jhnzpf1glqm6d0x0y8cqfpqxz9i96q9j7x3wwin";
|
sha256 = "1zclgg20nv4krj8gigq3ylirxqiv1v8p59cfji041m156hy80gy2";
|
||||||
})];
|
})];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig gettext ];
|
nativeBuildInputs = [ pkgconfig gettext autoreconfHook ];
|
||||||
buildInputs = [ libtool libjpeg libusb1 ];
|
buildInputs = [ libtool libjpeg libusb1 ];
|
||||||
|
|
||||||
# These are mentioned in the Requires line of libgphoto's pkg-config file.
|
# These are mentioned in the Requires line of libgphoto's pkg-config file.
|
||||||
propagatedBuildInputs = [ libexif ];
|
propagatedBuildInputs = [ libexif ];
|
||||||
@ -31,6 +34,7 @@ stdenv.mkDerivation rec {
|
|||||||
from digital cameras.
|
from digital cameras.
|
||||||
'';
|
'';
|
||||||
version = "2.5.10";
|
version = "2.5.10";
|
||||||
|
tag = "libgphoto2-2_5_10-release";
|
||||||
# XXX: the homepage claims LGPL, but several src files are lgpl21Plus
|
# XXX: the homepage claims LGPL, but several src files are lgpl21Plus
|
||||||
license = stdenv.lib.licenses.lgpl21Plus;
|
license = stdenv.lib.licenses.lgpl21Plus;
|
||||||
platforms = with stdenv.lib.platforms; unix;
|
platforms = with stdenv.lib.platforms; unix;
|
||||||
|
32
pkgs/development/ocaml-modules/ppx_import/default.nix
Normal file
32
pkgs/development/ocaml-modules/ppx_import/default.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{stdenv, fetchFromGitHub, buildOcaml, ocaml, opam,
|
||||||
|
cppo, ppx_tools, ounit, ppx_deriving}:
|
||||||
|
|
||||||
|
buildOcaml rec {
|
||||||
|
name = "ppx_import";
|
||||||
|
|
||||||
|
version = "1.1";
|
||||||
|
|
||||||
|
minimumSupportedOcamlVersion = "4.02";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "whitequark";
|
||||||
|
repo = "ppx_import";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1hfvbc81dg58q7kkpn808b3j0xazrqfrr4v71sd1yvmnk71wak6k";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ cppo ounit ppx_deriving opam ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkTarget = "test";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
opam-installer --script --prefix=$out ppx_import.install | sh
|
||||||
|
ln -s $out/lib/ppx_import $out/lib/ocaml/${ocaml.version}/site-lib
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A syntax extension that allows to pull in types or signatures from other compiled interface files";
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
@ -89,6 +89,10 @@ in
|
|||||||
msgpack = attrs: {
|
msgpack = attrs: {
|
||||||
buildInputs = [ libmsgpack ];
|
buildInputs = [ libmsgpack ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mysql = attrs: {
|
||||||
|
buildInputs = [ mysql.lib zlib openssl ];
|
||||||
|
};
|
||||||
|
|
||||||
mysql2 = attrs: {
|
mysql2 = attrs: {
|
||||||
buildInputs = [ mysql.lib zlib openssl ];
|
buildInputs = [ mysql.lib zlib openssl ];
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
{ stdenv, lib, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
|
|
||||||
|
|
||||||
assert lib.versionAtLeast ocaml.version "3.12.1";
|
|
||||||
|
|
||||||
let
|
|
||||||
srcs = {
|
|
||||||
cudf = fetchurl {
|
|
||||||
url = "https://gforge.inria.fr/frs/download.php/31910/cudf-0.6.3.tar.gz";
|
|
||||||
sha256 = "6e9f1bafe859df85c854679e2904a8172945d2bf2d676c8ae3ecb72fe6de0665";
|
|
||||||
};
|
|
||||||
extlib = fetchurl {
|
|
||||||
url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
|
|
||||||
sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
|
|
||||||
};
|
|
||||||
ocaml_re = fetchurl {
|
|
||||||
url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
|
|
||||||
sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
|
|
||||||
};
|
|
||||||
ocamlgraph = fetchurl {
|
|
||||||
url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.1.tar.gz";
|
|
||||||
sha256 = "ba6388ffc2c15139b0f26330ef6dd922f0ff0f364eee99a3202bf1cd93512b43";
|
|
||||||
};
|
|
||||||
dose3 = fetchurl {
|
|
||||||
url = "https://gforge.inria.fr/frs/download.php/31595/dose3-3.1.2.tar.gz";
|
|
||||||
sha256 = "3a07a08345be157c98cb26021d7329c72c2b95c99cfdff79887690656ec9f1a3";
|
|
||||||
};
|
|
||||||
cmdliner = fetchurl {
|
|
||||||
url = "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.3.tbz";
|
|
||||||
sha256 = "5421559aa12b4debffef947f7e1039c22e9dffd87a4aa68445a687a20764ae81";
|
|
||||||
};
|
|
||||||
opam = fetchurl {
|
|
||||||
url = "https://github.com/OCamlPro/opam/archive/1.0.0.zip";
|
|
||||||
sha256 = "f8d94a91c2b8d110fa5e3b0a87c512a860acbae110654498a164c5c888c40bda";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "opam-1.0.0";
|
|
||||||
|
|
||||||
buildInputs = [unzip curl ncurses ocaml];
|
|
||||||
|
|
||||||
src = srcs.opam;
|
|
||||||
|
|
||||||
postUnpack = ''
|
|
||||||
ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
|
|
||||||
ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
|
|
||||||
ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
|
|
||||||
ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
|
|
||||||
ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
|
|
||||||
ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
|
|
||||||
'';
|
|
||||||
|
|
||||||
makeFlags = ["HOME=$(TMPDIR)"];
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
maintainers = [ stdenv.lib.maintainers.orbitz ];
|
|
||||||
description = "A package manager for OCaml";
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
{ stdenv, lib, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
|
|
||||||
|
|
||||||
# Opam 1.1 only works with ocaml >= 3.12.1 according to ./configure
|
|
||||||
assert lib.versionAtLeast ocaml.version "3.12.1";
|
|
||||||
|
|
||||||
let
|
|
||||||
srcs = {
|
|
||||||
cudf = fetchurl {
|
|
||||||
url = "https://gforge.inria.fr/frs/download.php/31910/cudf-0.6.3.tar.gz";
|
|
||||||
sha256 = "6e9f1bafe859df85c854679e2904a8172945d2bf2d676c8ae3ecb72fe6de0665";
|
|
||||||
};
|
|
||||||
extlib = fetchurl {
|
|
||||||
url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz";
|
|
||||||
sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
|
|
||||||
};
|
|
||||||
ocaml_re = fetchurl {
|
|
||||||
url = "https://github.com/ocaml/ocaml-re/archive/ocaml-re-1.2.0.tar.gz";
|
|
||||||
sha256 = "a34dd9d6136731436a963bbab5c4bbb16e5d4e21b3b851d34887a3dec451999f";
|
|
||||||
};
|
|
||||||
ocamlgraph = fetchurl {
|
|
||||||
url = "http://ocamlgraph.lri.fr/download/ocamlgraph-1.8.1.tar.gz";
|
|
||||||
sha256 = "ba6388ffc2c15139b0f26330ef6dd922f0ff0f364eee99a3202bf1cd93512b43";
|
|
||||||
};
|
|
||||||
dose3 = fetchurl {
|
|
||||||
url = "https://gforge.inria.fr/frs/download.php/31595/dose3-3.1.2.tar.gz";
|
|
||||||
sha256 = "3a07a08345be157c98cb26021d7329c72c2b95c99cfdff79887690656ec9f1a3";
|
|
||||||
};
|
|
||||||
cmdliner = fetchurl {
|
|
||||||
url = "http://erratique.ch/software/cmdliner/releases/cmdliner-0.9.3.tbz";
|
|
||||||
sha256 = "5421559aa12b4debffef947f7e1039c22e9dffd87a4aa68445a687a20764ae81";
|
|
||||||
};
|
|
||||||
opam = fetchurl {
|
|
||||||
url = "https://github.com/ocaml/opam/archive/1.1.1.zip";
|
|
||||||
sha256 = "9c69eeb448af5a38950b2664446401ce240b9f028e0b4d26b6ac1a96938a5f03";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "opam-1.1.1";
|
|
||||||
|
|
||||||
buildInputs = [unzip curl ncurses ocaml];
|
|
||||||
|
|
||||||
src = srcs.opam;
|
|
||||||
|
|
||||||
postUnpack = ''
|
|
||||||
ln -sv ${srcs.cudf} $sourceRoot/src_ext/${srcs.cudf.name}
|
|
||||||
ln -sv ${srcs.extlib} $sourceRoot/src_ext/${srcs.extlib.name}
|
|
||||||
ln -sv ${srcs.ocaml_re} $sourceRoot/src_ext/${srcs.ocaml_re.name}
|
|
||||||
ln -sv ${srcs.ocamlgraph} $sourceRoot/src_ext/${srcs.ocamlgraph.name}
|
|
||||||
ln -sv ${srcs.dose3} $sourceRoot/src_ext/${srcs.dose3.name}
|
|
||||||
ln -sv ${srcs.cmdliner} $sourceRoot/src_ext/${srcs.cmdliner.name}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Dirty, but apparently ocp-build requires a TERM
|
|
||||||
makeFlags = ["TERM=screen"];
|
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
maintainers = [stdenv.lib.maintainers.orbitz];
|
|
||||||
description = "A package manager for OCaml";
|
|
||||||
platforms = stdenv.lib.platforms.all;
|
|
||||||
};
|
|
||||||
}
|
|
@ -9,11 +9,19 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
commonTargetPkgs = pkgs: with pkgs;
|
commonTargetPkgs = pkgs: with pkgs;
|
||||||
let primus2 =
|
let
|
||||||
if newStdcpp then primus else primus.override {
|
primus2 = if newStdcpp then primus else primus.override {
|
||||||
stdenv = overrideInStdenv stdenv [ useOldCXXAbi ];
|
stdenv = overrideInStdenv stdenv [ useOldCXXAbi ];
|
||||||
stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ];
|
stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ];
|
||||||
};
|
};
|
||||||
|
tzdir = "${pkgs.tzdata}/share/zoneinfo";
|
||||||
|
# I'm not sure if this is the best way to add things like this
|
||||||
|
# to an FHSUserEnv
|
||||||
|
etc-zoneinfo = pkgs.runCommand "zoneinfo" {} ''
|
||||||
|
mkdir -p $out/etc
|
||||||
|
ln -s ${tzdir} $out/etc/zoneinfo
|
||||||
|
ln -s ${tzdir}/UTC $out/etc/localtime
|
||||||
|
'';
|
||||||
in [
|
in [
|
||||||
steamPackages.steam-fonts
|
steamPackages.steam-fonts
|
||||||
# Errors in output without those
|
# Errors in output without those
|
||||||
@ -26,6 +34,8 @@ let
|
|||||||
perl
|
perl
|
||||||
# Open URLs
|
# Open URLs
|
||||||
xdg_utils
|
xdg_utils
|
||||||
|
# Zoneinfo
|
||||||
|
etc-zoneinfo
|
||||||
] ++ lib.optional withJava jdk
|
] ++ lib.optional withJava jdk
|
||||||
++ lib.optional withPrimus primus2;
|
++ lib.optional withPrimus primus2;
|
||||||
|
|
||||||
@ -76,6 +86,7 @@ in buildFHSUserEnv rec {
|
|||||||
|
|
||||||
profile = ''
|
profile = ''
|
||||||
export STEAM_RUNTIME=/steamrt
|
export STEAM_RUNTIME=/steamrt
|
||||||
|
export TZDIR=/etc/zoneinfo
|
||||||
'';
|
'';
|
||||||
|
|
||||||
runScript = "steam";
|
runScript = "steam";
|
||||||
|
31
pkgs/stdenv/cross/default.nix
Normal file
31
pkgs/stdenv/cross/default.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ system, allPackages, platform, crossSystem, config, ... } @ args:
|
||||||
|
|
||||||
|
rec {
|
||||||
|
argClobber = {
|
||||||
|
crossSystem = null;
|
||||||
|
# Ignore custom stdenvs when cross compiling for compatability
|
||||||
|
config = builtins.removeAttrs config [ "replaceStdenv" ];
|
||||||
|
};
|
||||||
|
vanillaStdenv = (import ../. (args // argClobber // {
|
||||||
|
allPackages = args: allPackages (argClobber // args);
|
||||||
|
})).stdenv;
|
||||||
|
|
||||||
|
# Yeah this isn't so cleanly just build-time packages yet. Notice the
|
||||||
|
# buildPackages <-> stdenvCross cycle. Yup, it's very weird.
|
||||||
|
#
|
||||||
|
# This works because the derivation used to build `stdenvCross` are in
|
||||||
|
# fact using `forceNativeDrv` to use the `nativeDrv` attribute of the resulting
|
||||||
|
# derivation built with `vanillaStdenv` (second argument of `makeStdenvCross`).
|
||||||
|
#
|
||||||
|
# Eventually, `forceNativeDrv` should be removed and the cycle broken.
|
||||||
|
buildPackages = allPackages {
|
||||||
|
# It's OK to change the built-time dependencies
|
||||||
|
allowCustomOverrides = true;
|
||||||
|
bootStdenv = stdenvCross;
|
||||||
|
inherit system platform crossSystem config;
|
||||||
|
};
|
||||||
|
|
||||||
|
stdenvCross = buildPackages.makeStdenvCross
|
||||||
|
vanillaStdenv crossSystem
|
||||||
|
buildPackages.binutilsCross buildPackages.gccCrossStageFinal;
|
||||||
|
}
|
17
pkgs/stdenv/custom/default.nix
Normal file
17
pkgs/stdenv/custom/default.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{ system, allPackages, platform, crossSystem, config, ... } @ args:
|
||||||
|
|
||||||
|
rec {
|
||||||
|
vanillaStdenv = (import ../. (args // {
|
||||||
|
# Remove config.replaceStdenv to ensure termination.
|
||||||
|
config = builtins.removeAttrs config [ "replaceStdenv" ];
|
||||||
|
})).stdenv;
|
||||||
|
|
||||||
|
buildPackages = allPackages {
|
||||||
|
# It's OK to change the built-time dependencies
|
||||||
|
allowCustomOverrides = true;
|
||||||
|
bootStdenv = vanillaStdenv;
|
||||||
|
inherit system platform crossSystem config;
|
||||||
|
};
|
||||||
|
|
||||||
|
stdenvCustom = config.replaceStdenv { pkgs = buildPackages; };
|
||||||
|
}
|
@ -5,7 +5,7 @@
|
|||||||
# Posix utilities, the GNU C compiler, and so on. On other systems,
|
# Posix utilities, the GNU C compiler, and so on. On other systems,
|
||||||
# we use the native C library.
|
# we use the native C library.
|
||||||
|
|
||||||
{ system, allPackages ? import ../.., platform, config, lib }:
|
{ system, allPackages ? import ../.., platform, config, crossSystem, lib }:
|
||||||
|
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
@ -36,10 +36,16 @@ rec {
|
|||||||
# Linux standard environment.
|
# Linux standard environment.
|
||||||
inherit (import ./linux { inherit system allPackages platform config lib; }) stdenvLinux;
|
inherit (import ./linux { inherit system allPackages platform config lib; }) stdenvLinux;
|
||||||
|
|
||||||
inherit (import ./darwin { inherit system allPackages platform config;}) stdenvDarwin;
|
inherit (import ./darwin { inherit system allPackages platform config; }) stdenvDarwin;
|
||||||
|
|
||||||
|
inherit (import ./cross { inherit system allPackages platform crossSystem config lib; }) stdenvCross;
|
||||||
|
|
||||||
|
inherit (import ./custom { inherit system allPackages platform crossSystem config lib; }) stdenvCustom;
|
||||||
|
|
||||||
# Select the appropriate stdenv for the platform `system'.
|
# Select the appropriate stdenv for the platform `system'.
|
||||||
stdenv =
|
stdenv =
|
||||||
|
if crossSystem != null then stdenvCross else
|
||||||
|
if config ? replaceStdenv then stdenvCustom else
|
||||||
if system == "i686-linux" then stdenvLinux else
|
if system == "i686-linux" then stdenvLinux else
|
||||||
if system == "x86_64-linux" then stdenvLinux else
|
if system == "x86_64-linux" then stdenvLinux else
|
||||||
if system == "armv5tel-linux" then stdenvLinux else
|
if system == "armv5tel-linux" then stdenvLinux else
|
||||||
|
@ -5,9 +5,9 @@
|
|||||||
* to merges. Please use the full-text search of your editor. ;)
|
* to merges. Please use the full-text search of your editor. ;)
|
||||||
* Hint: ### starts category names.
|
* Hint: ### starts category names.
|
||||||
*/
|
*/
|
||||||
{ system, bootStdenv, noSysDirs, config, crossSystem, platform, lib
|
{ system, noSysDirs, config, crossSystem, platform, lib
|
||||||
, nixpkgsFun
|
, nixpkgsFun
|
||||||
, ... }:
|
}:
|
||||||
self: pkgs:
|
self: pkgs:
|
||||||
|
|
||||||
with pkgs;
|
with pkgs;
|
||||||
@ -3022,7 +3022,7 @@ in
|
|||||||
openssh =
|
openssh =
|
||||||
callPackage ../tools/networking/openssh {
|
callPackage ../tools/networking/openssh {
|
||||||
hpnSupport = false;
|
hpnSupport = false;
|
||||||
withKerberos = false;
|
withKerberos = stdenv.isDarwin;
|
||||||
etcDir = "/etc/ssh";
|
etcDir = "/etc/ssh";
|
||||||
pam = if stdenv.isLinux then pam else null;
|
pam = if stdenv.isLinux then pam else null;
|
||||||
};
|
};
|
||||||
@ -5125,9 +5125,7 @@ in
|
|||||||
nodejs = nodejs-4_x;
|
nodejs = nodejs-4_x;
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit (ocaml-ng.ocamlPackages_4_01_0) opam_1_0_0;
|
opam = callPackage ../development/tools/ocaml/opam { };
|
||||||
inherit (ocaml-ng.ocamlPackages_4_01_0) opam_1_1;
|
|
||||||
inherit (ocamlPackages) opam;
|
|
||||||
|
|
||||||
picat = callPackage ../development/compilers/picat {
|
picat = callPackage ../development/compilers/picat {
|
||||||
stdenv = overrideCC stdenv gcc49;
|
stdenv = overrideCC stdenv gcc49;
|
||||||
|
@ -12,6 +12,11 @@
|
|||||||
# null, the default standard environment is used.
|
# null, the default standard environment is used.
|
||||||
bootStdenv ? null
|
bootStdenv ? null
|
||||||
|
|
||||||
|
, # This is used because stdenv replacement and the stdenvCross do benefit from
|
||||||
|
# the overridden configuration provided by the user, as opposed to the normal
|
||||||
|
# bootstrapping stdenvs.
|
||||||
|
allowCustomOverrides ? (bootStdenv == null)
|
||||||
|
|
||||||
, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
|
, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
|
||||||
# outside of the store. Thus, GCC, GFortran, & co. must always look for
|
# outside of the store. Thus, GCC, GFortran, & co. must always look for
|
||||||
# files in standard system directories (/usr/include, etc.)
|
# files in standard system directories (/usr/include, etc.)
|
||||||
@ -56,10 +61,6 @@ let
|
|||||||
platform = if platform_ != null then platform_
|
platform = if platform_ != null then platform_
|
||||||
else config.platform or platformAuto;
|
else config.platform or platformAuto;
|
||||||
|
|
||||||
topLevelArguments = {
|
|
||||||
inherit system bootStdenv noSysDirs config crossSystem platform lib nixpkgsFun;
|
|
||||||
};
|
|
||||||
|
|
||||||
# A few packages make a new package set to draw their dependencies from.
|
# A few packages make a new package set to draw their dependencies from.
|
||||||
# (Currently to get a cross tool chain, or forced-i686 package.) Rather than
|
# (Currently to get a cross tool chain, or forced-i686 package.) Rather than
|
||||||
# give `all-packages.nix` all the arguments to this function, even ones that
|
# give `all-packages.nix` all the arguments to this function, even ones that
|
||||||
@ -77,14 +78,19 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
trivialBuilders = self: super:
|
trivialBuilders = self: super:
|
||||||
(import ../build-support/trivial-builders.nix {
|
import ../build-support/trivial-builders.nix {
|
||||||
inherit lib; inherit (self) stdenv stdenvNoCC; inherit (self.xorg) lndir;
|
inherit lib; inherit (self) stdenv stdenvNoCC; inherit (self.xorg) lndir;
|
||||||
});
|
};
|
||||||
|
|
||||||
stdenvDefault = self: super: (import ./stdenv.nix topLevelArguments) pkgs;
|
stdenvDefault = self: super:
|
||||||
|
import ./stdenv.nix {
|
||||||
|
inherit system bootStdenv crossSystem config platform lib nixpkgsFun;
|
||||||
|
};
|
||||||
|
|
||||||
allPackages = self: super:
|
allPackages = self: super:
|
||||||
let res = import ./all-packages.nix topLevelArguments res self;
|
let res = import ./all-packages.nix
|
||||||
|
{ inherit system noSysDirs config crossSystem platform lib nixpkgsFun; }
|
||||||
|
res self;
|
||||||
in res;
|
in res;
|
||||||
|
|
||||||
aliases = self: super: import ./aliases.nix super;
|
aliases = self: super: import ./aliases.nix super;
|
||||||
@ -108,7 +114,7 @@ let
|
|||||||
# attributes to refer to the original attributes (e.g. "foo =
|
# attributes to refer to the original attributes (e.g. "foo =
|
||||||
# ... pkgs.foo ...").
|
# ... pkgs.foo ...").
|
||||||
configOverrides = self: super:
|
configOverrides = self: super:
|
||||||
lib.optionalAttrs (bootStdenv == null)
|
lib.optionalAttrs allowCustomOverrides
|
||||||
((config.packageOverrides or (super: {})) super);
|
((config.packageOverrides or (super: {})) super);
|
||||||
|
|
||||||
# The complete chain of package set builders, applied from top to bottom
|
# The complete chain of package set builders, applied from top to bottom
|
||||||
|
@ -416,6 +416,8 @@ let
|
|||||||
then callPackage ../development/ocaml-modules/ppx_deriving {}
|
then callPackage ../development/ocaml-modules/ppx_deriving {}
|
||||||
else null;
|
else null;
|
||||||
|
|
||||||
|
ppx_import = callPackage ../development/ocaml-modules/ppx_import {};
|
||||||
|
|
||||||
ppx_tools =
|
ppx_tools =
|
||||||
if lib.versionAtLeast ocaml.version "4.02"
|
if lib.versionAtLeast ocaml.version "4.02"
|
||||||
then callPackage ../development/ocaml-modules/ppx_tools {}
|
then callPackage ../development/ocaml-modules/ppx_tools {}
|
||||||
@ -625,10 +627,6 @@ let
|
|||||||
|
|
||||||
ocaml-top = callPackage ../development/tools/ocaml/ocaml-top { };
|
ocaml-top = callPackage ../development/tools/ocaml/ocaml-top { };
|
||||||
|
|
||||||
opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
|
|
||||||
opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
|
|
||||||
opam = callPackage ../development/tools/ocaml/opam { };
|
|
||||||
|
|
||||||
ocamlnat = callPackage ../development/ocaml-modules/ocamlnat { };
|
ocamlnat = callPackage ../development/ocaml-modules/ocamlnat { };
|
||||||
|
|
||||||
trv = callPackage ../development/tools/misc/trv { };
|
trv = callPackage ../development/tools/misc/trv { };
|
||||||
|
@ -12343,6 +12343,9 @@ in {
|
|||||||
buildInputs = with self; [ flake8 pytest flaky ];
|
buildInputs = with self; [ flake8 pytest flaky ];
|
||||||
propagatedBuildInputs = with self; ([ uncompyle6 ] ++ optionals isPy27 [ enum34 ]);
|
propagatedBuildInputs = with self; ([ uncompyle6 ] ++ optionals isPy27 [ enum34 ]);
|
||||||
|
|
||||||
|
# Fails randomly in tests/cover/test_conjecture_engine.py::test_interleaving_engines.
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
# https://github.com/DRMacIver/hypothesis/issues/300
|
# https://github.com/DRMacIver/hypothesis/issues/300
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
${python.interpreter} -m pytest tests/cover
|
${python.interpreter} -m pytest tests/cover
|
||||||
|
@ -1,30 +1,15 @@
|
|||||||
{ system, bootStdenv, crossSystem, config, platform, lib, nixpkgsFun, ... }:
|
{ system, bootStdenv, crossSystem, config, platform, lib, nixpkgsFun }:
|
||||||
pkgs:
|
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
allStdenvs = import ../stdenv {
|
allStdenvs = import ../stdenv {
|
||||||
inherit system platform config lib;
|
inherit system platform config crossSystem lib;
|
||||||
# TODO(@Ericson2314): hack for cross-compiling until I clean that in follow-up PR
|
allPackages = nixpkgsFun;
|
||||||
allPackages = args: nixpkgsFun (args // { crossSystem = null; });
|
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
|
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
|
||||||
|
|
||||||
stdenv =
|
stdenv =
|
||||||
if bootStdenv != null then (bootStdenv // {inherit platform;}) else
|
if bootStdenv != null
|
||||||
if crossSystem != null then
|
then (bootStdenv // { inherit platform; })
|
||||||
pkgs.stdenvCross
|
else defaultStdenv;
|
||||||
else
|
|
||||||
let
|
|
||||||
changer = config.replaceStdenv or null;
|
|
||||||
in if changer != null then
|
|
||||||
changer {
|
|
||||||
# We import again all-packages to avoid recursivities.
|
|
||||||
pkgs = nixpkgsFun {
|
|
||||||
# We remove packageOverrides to avoid recursivities
|
|
||||||
config = removeAttrs config [ "replaceStdenv" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
|
||||||
defaultStdenv;
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user