Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2020-02-29 15:29:45 +01:00
commit 21b808cd76
124 changed files with 14588 additions and 19752 deletions

View file

@ -66,6 +66,6 @@ crystal.buildCrystalPackage rec {
shardsFile = ./shards.nix; shardsFile = ./shards.nix;
crystalBinaries.mint.src = "src/mint.cr"; crystalBinaries.mint.src = "src/mint.cr";
buildInputs = [ openssl_1_0_2 ]; buildInputs = [ openssl ];
} }
``` ```

View file

@ -84,18 +84,18 @@ nix-env -qaP -A nixos.haskellPackages
nix-env -iA nixos.haskellPackages.cabal-install nix-env -iA nixos.haskellPackages.cabal-install
``` ```
Our current default compiler is GHC 8.6.x and the `haskellPackages` set Our current default compiler is GHC 8.8.x and the `haskellPackages` set
contains packages built with that particular version. Nixpkgs contains the last contains packages built with that particular version. Nixpkgs contains the last
three major releases of GHC and there is a whole family of package sets three major releases of GHC and there is a whole family of package sets
available that defines Hackage packages built with each of those compilers, available that defines Hackage packages built with each of those compilers,
too: too:
```shell ```shell
nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc844 nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc865
nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc882 nix-env -f "<nixpkgs>" -qaP -A haskell.packages.ghc8101
``` ```
The name `haskellPackages` is really just a synonym for The name `haskellPackages` is really just a synonym for
`haskell.packages.ghc865`, because we prefer that package set internally and `haskell.packages.ghc882`, because we prefer that package set internally and
recommend it to our users as their default choice, but ultimately you are free recommend it to our users as their default choice, but ultimately you are free
to compile your Haskell packages with any GHC version you please. The following to compile your Haskell packages with any GHC version you please. The following
command displays the complete list of available compilers: command displays the complete list of available compilers:
@ -112,8 +112,10 @@ haskell.compiler.ghc865 ghc-8.6.5
haskell.compiler.integer-simple.ghc865 ghc-8.6.5 haskell.compiler.integer-simple.ghc865 ghc-8.6.5
haskell.compiler.ghc881 ghc-8.8.1 haskell.compiler.ghc881 ghc-8.8.1
haskell.compiler.integer-simple.ghc881 ghc-8.8.1 haskell.compiler.integer-simple.ghc881 ghc-8.8.1
haskell.compiler.ghc882 ghc-8.8.1.20191211 haskell.compiler.ghc882 ghc-8.8.2
haskell.compiler.integer-simple.ghc882 ghc-8.8.1.20191211 haskell.compiler.integer-simple.ghc882 ghc-8.8.2
haskell.compiler.ghc883 ghc-8.8.3
haskell.compiler.integer-simple.ghc883 ghc-8.8.3
haskell.compiler.ghcjs ghcjs-8.6.0.1 haskell.compiler.ghcjs ghcjs-8.6.0.1
``` ```

View file

@ -2613,7 +2613,7 @@
email = "ftrvxmtrx@gmail.com"; email = "ftrvxmtrx@gmail.com";
github = "ftrvxmtrx"; github = "ftrvxmtrx";
githubId = 248148; githubId = 248148;
name = "Siarhei Zirukin"; name = "Sigrid Solveig Haflínudóttir";
}; };
fuerbringer = { fuerbringer = {
email = "severin@fuerbringer.info"; email = "severin@fuerbringer.info";

View file

@ -36,6 +36,7 @@
{ <xref linkend="opt-services.xserver.enable"/> = true; { <xref linkend="opt-services.xserver.enable"/> = true;
<xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true; <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
<xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true; <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> = true;
<xref linkend="opt-environment.systemPackages"/> = [ pkgs.vim ];
} }
</programlisting> </programlisting>
Note that both <filename>configuration.nix</filename> and Note that both <filename>configuration.nix</filename> and

View file

@ -156,7 +156,7 @@ in
}; };
useCDN = mkOption { useCDN = mkOption {
type = types.bool; type = types.bool;
default = true; default = false;
description = '' description = ''
Whether to use CDN resources or not. Whether to use CDN resources or not.
''; '';

View file

@ -1,93 +1,141 @@
# this test creates a simple GNU image with docker tools and sees if it executes # this test creates a simple GNU image with docker tools and sees if it executes
import ./make-test.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "docker-tools"; name = "docker-tools";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ lnl7 ]; maintainers = [ lnl7 ];
}; };
nodes = { nodes = {
docker = docker = { ... }: {
{ ... }: { virtualisation = {
virtualisation = { diskSize = 2048;
diskSize = 2048; docker.enable = true;
docker.enable = true;
};
}; };
};
}; };
testScript = testScript = with pkgs.dockerTools; ''
'' unix_time_second1 = "1970-01-01T00:00:01Z"
$docker->waitForUnit("sockets.target");
# Ensure Docker images use a stable date by default docker.wait_for_unit("sockets.target")
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'");
$docker->succeed("[ '1970-01-01T00:00:01Z' = \"\$(docker inspect ${pkgs.dockerTools.examples.bash.imageName} | ${pkgs.jq}/bin/jq -r .[].Created)\" ]");
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version"); with subtest("Ensure Docker images use a stable date by default"):
$docker->succeed("docker rmi ${pkgs.dockerTools.examples.bash.imageName}"); docker.succeed(
"docker load --input='${examples.bash}'"
)
assert unix_time_second1 in docker.succeed(
"docker inspect ${examples.bash.imageName} "
+ "| ${pkgs.jq}/bin/jq -r .[].Created",
)
# Check if the nix store is correctly initialized by listing dependencies of the installed Nix binary docker.succeed("docker run --rm ${examples.bash.imageName} bash --version")
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.nix}'"); docker.succeed("docker rmi ${examples.bash.imageName}")
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.nix.imageName} nix-store -qR ${pkgs.nix}");
$docker->succeed("docker rmi ${pkgs.dockerTools.examples.nix.imageName}");
# To test the pullImage tool with subtest(
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.nixFromDockerHub}'"); "Check if the nix store is correctly initialized by listing "
$docker->succeed("docker run --rm nix:2.2.1 nix-store --version"); "dependencies of the installed Nix binary"
$docker->succeed("docker rmi nix:2.2.1"); ):
docker.succeed(
"docker load --input='${examples.nix}'",
"docker run --rm ${examples.nix.imageName} nix-store -qR ${pkgs.nix}",
"docker rmi ${examples.nix.imageName}",
)
# To test runAsRoot and entry point with subtest("The pullImage tool works"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.nginx}'"); docker.succeed(
$docker->succeed("docker run --name nginx -d -p 8000:80 ${pkgs.dockerTools.examples.nginx.imageName}"); "docker load --input='${examples.nixFromDockerHub}'",
$docker->waitUntilSucceeds('curl http://localhost:8000/'); "docker run --rm nix:2.2.1 nix-store --version",
$docker->succeed("docker rm --force nginx"); "docker rmi nix:2.2.1",
$docker->succeed("docker rmi '${pkgs.dockerTools.examples.nginx.imageName}'"); )
# An pulled image can be used as base image with subtest("runAsRoot and entry point work"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.onTopOfPulledImage}'"); docker.succeed(
$docker->succeed("docker run --rm ontopofpulledimage hello"); "docker load --input='${examples.nginx}'",
$docker->succeed("docker rmi ontopofpulledimage"); "docker run --name nginx -d -p 8000:80 ${examples.nginx.imageName}",
)
docker.wait_until_succeeds("curl http://localhost:8000/")
docker.succeed(
"docker rm --force nginx", "docker rmi '${examples.nginx.imageName}'",
)
# Regression test for issue #34779 with subtest("A pulled image can be used as base image"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.runAsRootExtraCommands}'"); docker.succeed(
$docker->succeed("docker run --rm runasrootextracommands cat extraCommands"); "docker load --input='${examples.onTopOfPulledImage}'",
$docker->succeed("docker run --rm runasrootextracommands cat runAsRoot"); "docker run --rm ontopofpulledimage hello",
$docker->succeed("docker rmi '${pkgs.dockerTools.examples.runAsRootExtraCommands.imageName}'"); "docker rmi ontopofpulledimage",
)
# Ensure Docker images can use an unstable date with subtest("Regression test for issue #34779"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'"); docker.succeed(
$docker->succeed("[ '1970-01-01T00:00:01Z' != \"\$(docker inspect ${pkgs.dockerTools.examples.unstableDate.imageName} | ${pkgs.jq}/bin/jq -r .[].Created)\" ]"); "docker load --input='${examples.runAsRootExtraCommands}'",
"docker run --rm runasrootextracommands cat extraCommands",
"docker run --rm runasrootextracommands cat runAsRoot",
"docker rmi '${examples.runAsRootExtraCommands.imageName}'",
)
# Ensure Layered Docker images work with subtest("Ensure Docker images can use an unstable date"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.layered-image}'"); docker.succeed(
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layered-image.imageName}"); "docker load --input='${examples.bash}'"
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layered-image.imageName} cat extraCommands"); )
assert unix_time_second1 not in docker.succeed(
"docker inspect ${examples.unstableDate.imageName} "
+ "| ${pkgs.jq}/bin/jq -r .[].Created"
)
# Ensure building an image on top of a layered Docker images work with subtest("Ensure Layered Docker images work"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.layered-on-top}'"); docker.succeed(
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layered-on-top.imageName}"); "docker load --input='${examples.layered-image}'",
"docker run --rm ${examples.layered-image.imageName}",
"docker run --rm ${examples.layered-image.imageName} cat extraCommands",
)
# Ensure layers are shared between images with subtest("Ensure building an image on top of a layered Docker images work"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.another-layered-image}'"); docker.succeed(
$docker->succeed("docker inspect ${pkgs.dockerTools.examples.layered-image.imageName} | ${pkgs.jq}/bin/jq -r '.[] | .RootFS.Layers | .[]' | sort > layers1.sha256"); "docker load --input='${examples.layered-on-top}'",
$docker->succeed("docker inspect ${pkgs.dockerTools.examples.another-layered-image.imageName} | ${pkgs.jq}/bin/jq -r '.[] | .RootFS.Layers | .[]' | sort > layers2.sha256"); "docker run --rm ${examples.layered-on-top.imageName}",
$docker->succeed('[ $(comm -1 -2 layers1.sha256 layers2.sha256 | wc -l) -ne 0 ]'); )
# Ensure order of layers is correct
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.layersOrder}'");
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layersOrder.imageName} cat /tmp/layer1 | grep -q layer1");
# This is to be sure the order of layers of the parent image is preserved
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layersOrder.imageName} cat /tmp/layer2 | grep -q layer2");
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layersOrder.imageName} cat /tmp/layer3 | grep -q layer3");
# Ensure image with only 2 layers can be loaded def set_of_layers(image_name):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.two-layered-image}'"); return set(
docker.succeed(
f"docker inspect {image_name} "
+ "| ${pkgs.jq}/bin/jq -r '.[] | .RootFS.Layers | .[]'"
).split()
)
# Ensure the bulk layer didn't miss store paths
# Regression test for https://github.com/NixOS/nixpkgs/issues/78744 with subtest("Ensure layers are shared between images"):
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.bulk-layer}'"); docker.succeed(
# This ensure the two output paths (ls and hello) are in the layer "docker load --input='${examples.another-layered-image}'"
$docker->succeed("docker run bulk-layer ls /bin/hello"); )
''; layers1 = set_of_layers("${examples.layered-image.imageName}")
layers2 = set_of_layers("${examples.another-layered-image.imageName}")
assert bool(layers1 & layers2)
with subtest("Ensure order of layers is correct"):
docker.succeed(
"docker load --input='${examples.layersOrder}'"
)
for index in 1, 2, 3:
assert f"layer{index}" in docker.succeed(
f"docker run --rm ${examples.layersOrder.imageName} cat /tmp/layer{index}"
)
with subtest("Ensure image with only 2 layers can be loaded"):
docker.succeed(
"docker load --input='${examples.two-layered-image}'"
)
with subtest(
"Ensure the bulk layer doesn't miss store paths (regression test for #78744)"
):
docker.succeed(
"docker load --input='${pkgs.dockerTools.examples.bulk-layer}'",
# Ensure the two output paths (ls and hello) are in the layer
"docker run bulk-layer ls /bin/hello",
)
'';
}) })

View file

@ -39,12 +39,15 @@ stdenv.mkDerivation rec {
++ optional withGtk2 gtk2 ++ optional withGtk2 gtk2
++ optional withGtk3 gtk3; ++ optional withGtk3 gtk3;
enableParallelBuilding = true;
installFlags = [ "PREFIX=$(out)" ]; installFlags = [ "PREFIX=$(out)" ];
dontWrapQtApps = true; dontWrapQtApps = true;
postFixup = '' postFixup = ''
# Also sets program_PYTHONPATH and program_PATH variables # Also sets program_PYTHONPATH and program_PATH variables
wrapPythonPrograms wrapPythonPrograms
wrapPythonProgramsIn "$out/share/carla/resources" "$out $pythonPath"
find "$out/share/carla" -maxdepth 1 -type f -not -name "*.py" -print0 | while read -d "" f; do find "$out/share/carla" -maxdepth 1 -type f -not -name "*.py" -print0 | while read -d "" f; do
patchPythonScript "$f" patchPythonScript "$f"
@ -56,6 +59,12 @@ stdenv.mkDerivation rec {
--prefix PATH : "$program_PATH:${which}/bin" \ --prefix PATH : "$program_PATH:${which}/bin" \
--set PYTHONNOUSERSITE true --set PYTHONNOUSERSITE true
done done
find "$out/share/carla/resources" -maxdepth 1 -type f -not -name "*.py" -print0 | while read -d "" f; do
wrapQtApp "$f" \
--prefix PATH : "$program_PATH:${which}/bin" \
--set PYTHONNOUSERSITE true
done
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -6,11 +6,11 @@ assert stdenv ? glibc;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "yoshimi"; pname = "yoshimi";
version = "1.6.1"; version = "1.7.0.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2"; url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2";
sha256 = "044k2pcdsb43znc8q63mc4niggpain7wl9s5c4sgsfmrjh0bjapj"; sha256 = "1pkqrrr51vlxh96vy0c0rf5ijjvymys4brsw9rv1bdp1bb8izw6c";
}; };
buildInputs = [ buildInputs = [

View file

@ -8,16 +8,20 @@ let
inherit (gnome2) GConf gnome_vfs; inherit (gnome2) GConf gnome_vfs;
}; };
stableVersion = { stableVersion = {
version = "3.6.0.21"; # "Android Studio 3.6" version = "3.6.1.0"; # "Android Studio 3.6.1"
build = "192.6200805"; build = "192.6241897";
sha256Hash = "1rf79fh6fbaxsj26q9bgl4vvmakv4wc0amjz026cm89hcwwzrb4d"; sha256Hash = "1mwzk18224bl8hbw9cdxwzgj5cfain4y70q64cpj4p0snffxqm77";
}; };
betaVersion = latestVersion; betaVersion = {
latestVersion = { # canary & dev
version = "4.0.0.10"; # "Android Studio 4.0 Beta 1" version = "4.0.0.10"; # "Android Studio 4.0 Beta 1"
build = "193.6220182"; build = "193.6220182";
sha256Hash = "0ibp54wcss4ihm454hbavv1bhar6cd4alp5b0z248ryjr5w9mixf"; sha256Hash = "0ibp54wcss4ihm454hbavv1bhar6cd4alp5b0z248ryjr5w9mixf";
}; };
latestVersion = { # canary & dev
version = "4.1.0.1"; # "Android Studio 4.1 Canary 1"
build = "193.6224510";
sha256Hash = "0misff7xx8jcg4zr5ahc8qdwvlkx605il0shzd9i1cm9v1br3sqx";
};
in { in {
# Attributes are named by their corresponding release channels # Attributes are named by their corresponding release channels

View file

@ -6,10 +6,10 @@ GEM
gemojione (3.3.0) gemojione (3.3.0)
json json
github-markup (1.7.0) github-markup (1.7.0)
gitlab-grit (2.8.2) gitlab-grit (2.8.3)
charlock_holmes (~> 0.6) charlock_holmes (~> 0.7)
diff-lcs (~> 1.1) diff-lcs (~> 1.1)
mime-types (>= 1.16) mime-types (>= 1.16, < 3)
posix-spawn (~> 0.3) posix-spawn (~> 0.3)
gollum (4.1.4) gollum (4.1.4)
gemojione (~> 3.2) gemojione (~> 3.2)
@ -31,15 +31,13 @@ GEM
twitter-text (= 1.14.7) twitter-text (= 1.14.7)
json (2.3.0) json (2.3.0)
kramdown (1.9.0) kramdown (1.9.0)
mime-types (3.3) mime-types (2.99.3)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.1009)
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
mustache (0.99.8) mustache (0.99.8)
nokogiri (1.10.7) nokogiri (1.10.8)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
posix-spawn (0.3.13) posix-spawn (0.3.13)
rack (1.6.12) rack (1.6.13)
rack-protection (1.5.5) rack-protection (1.5.5)
rack rack
rouge (2.2.1) rouge (2.2.1)

View file

@ -46,10 +46,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xgs3l81ghlc5nm75n0pz7b2cj3hpscfq5iy27c483nnjn2v5mc4"; sha256 = "0xvcizc4856xlvara1zzwl6j61vxxshzcrdagp58xzfl68vbi63p";
type = "gem"; type = "gem";
}; };
version = "2.8.2"; version = "2.8.3";
}; };
gollum = { gollum = {
dependencies = ["gemojione" "gollum-lib" "kramdown" "mustache" "sinatra" "useragent"]; dependencies = ["gemojione" "gollum-lib" "kramdown" "mustache" "sinatra" "useragent"];
@ -105,25 +105,14 @@
version = "1.9.0"; version = "1.9.0";
}; };
mime-types = { mime-types = {
dependencies = ["mime-types-data"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk"; sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9";
type = "gem"; type = "gem";
}; };
version = "3.3"; version = "2.99.3";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
type = "gem";
};
version = "3.2019.1009";
}; };
mini_portile2 = { mini_portile2 = {
groups = ["default"]; groups = ["default"];
@ -151,10 +140,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0r0qpgf80h764k176yr63gqbs2z0xbsp8vlvs2a79d5r9vs83kln"; sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
type = "gem"; type = "gem";
}; };
version = "1.10.7"; version = "1.10.8";
}; };
posix-spawn = { posix-spawn = {
groups = ["default"]; groups = ["default"];
@ -171,10 +160,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1riq0z408dwvqcqrpq05bp2w879l4sjxzb4cbrbx55kpi6h2g1cj"; sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0";
type = "gem"; type = "gem";
}; };
version = "1.6.12"; version = "1.6.13";
}; };
rack-protection = { rack-protection = {
dependencies = ["rack"]; dependencies = ["rack"];

View file

@ -1,7 +1,7 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
activesupport (6.0.1) activesupport (6.0.2.1)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
@ -10,19 +10,19 @@ GEM
addressable (2.7.0) addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0) colorator (1.1.0)
concurrent-ruby (1.1.5) concurrent-ruby (1.1.6)
em-websocket (0.5.1) em-websocket (0.5.1)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0) http_parser.rb (~> 0.6.0)
eventmachine (1.2.7) eventmachine (1.2.7)
ffi (1.11.2) ffi (1.12.2)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
gemoji (3.0.1) gemoji (3.0.1)
html-pipeline (2.12.2) html-pipeline (2.12.3)
activesupport (>= 2) activesupport (>= 2)
nokogiri (>= 1.4) nokogiri (>= 1.4)
http_parser.rb (0.6.0) http_parser.rb (0.6.0)
i18n (1.7.0) i18n (1.8.2)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jekyll (4.0.0) jekyll (4.0.0)
addressable (~> 2.4) addressable (~> 2.4)
@ -44,11 +44,11 @@ GEM
jekyll-mentions (1.5.1) jekyll-mentions (1.5.1)
html-pipeline (~> 2.3) html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0) jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.0.1) jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0) sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.6.1) jekyll-seo-tag (2.6.1)
jekyll (>= 3.3, < 5.0) jekyll (>= 3.3, < 5.0)
jekyll-sitemap (1.3.1) jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0) jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1) jekyll-watch (2.2.1)
listen (~> 3.0) listen (~> 3.0)
@ -60,31 +60,31 @@ GEM
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
liquid (4.0.3) liquid (4.0.3)
listen (3.2.0) listen (3.2.1)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6) mercenary (0.3.6)
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
minitest (5.13.0) minitest (5.14.0)
nokogiri (1.10.5) nokogiri (1.10.8)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
pathutil (0.16.2) pathutil (0.16.2)
forwardable-extended (~> 2.6) forwardable-extended (~> 2.6)
public_suffix (4.0.1) public_suffix (4.0.3)
rb-fsevent (0.10.3) rb-fsevent (0.10.3)
rb-inotify (0.10.0) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rouge (3.13.0) rouge (3.16.0)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sassc (2.2.1) sassc (2.2.1)
ffi (~> 1.9) ffi (~> 1.9)
terminal-table (1.8.0) terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1) unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6) thread_safe (0.3.6)
tzinfo (1.2.5) tzinfo (1.2.6)
thread_safe (~> 0.1) thread_safe (~> 0.1)
unicode-display_width (1.6.0) unicode-display_width (1.6.1)
zeitwerk (2.2.1) zeitwerk (2.2.2)
PLATFORMS PLATFORMS
ruby ruby

View file

@ -5,10 +5,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s"; sha256 = "1dd6gh66ffdbhsxv33rxxsiciqyhhkm69l1yqspwdj2brvh1jzl1";
type = "gem"; type = "gem";
}; };
version = "6.0.1"; version = "6.0.2.1";
}; };
addressable = { addressable = {
dependencies = ["public_suffix"]; dependencies = ["public_suffix"];
@ -36,10 +36,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
type = "gem"; type = "gem";
}; };
version = "1.1.5"; version = "1.1.6";
}; };
em-websocket = { em-websocket = {
dependencies = ["eventmachine" "http_parser.rb"]; dependencies = ["eventmachine" "http_parser.rb"];
@ -67,10 +67,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw"; sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
type = "gem"; type = "gem";
}; };
version = "1.11.2"; version = "1.12.2";
}; };
forwardable-extended = { forwardable-extended = {
groups = ["default"]; groups = ["default"];
@ -98,10 +98,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2"; sha256 = "1x5i330yks7pb1jxcbm9n6gslkgaqhyvl13d0cqxmxzkcajvb7z4";
type = "gem"; type = "gem";
}; };
version = "2.12.2"; version = "2.12.3";
}; };
"http_parser.rb" = { "http_parser.rb" = {
groups = ["default"]; groups = ["default"];
@ -119,10 +119,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl"; sha256 = "0jwrd1l4mxz06iyx6053lr6hz2zy7ah2k3ranfzisvych5q19kwm";
type = "gem"; type = "gem";
}; };
version = "1.7.0"; version = "1.8.2";
}; };
jekyll = { jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@ -163,10 +163,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3"; sha256 = "04ncr44wrilz26ayqwlg7379yjnkb29mvx4j04i62b7czmdrc9dv";
type = "gem"; type = "gem";
}; };
version = "2.0.1"; version = "2.1.0";
}; };
jekyll-seo-tag = { jekyll-seo-tag = {
dependencies = ["jekyll"]; dependencies = ["jekyll"];
@ -185,10 +185,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0d3wqvbn37b24ag31xchb5hhnwfl6fnw6pyzp434jggbssxy0a5m"; sha256 = "0622rwsn5i0m5xcyzdn86l68wgydqwji03lqixdfm1f1xdfqrq0d";
type = "gem"; type = "gem";
}; };
version = "1.3.1"; version = "1.4.0";
}; };
jekyll-watch = { jekyll-watch = {
dependencies = ["listen"]; dependencies = ["listen"];
@ -249,10 +249,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb"; sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi";
type = "gem"; type = "gem";
}; };
version = "3.2.0"; version = "3.2.1";
}; };
mercenary = { mercenary = {
groups = ["default"]; groups = ["default"];
@ -279,10 +279,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi"; sha256 = "0g73x65hmjph8dg1h3rkzfg7ys3ffxm35hj35grw75fixmq53qyz";
type = "gem"; type = "gem";
}; };
version = "5.13.0"; version = "5.14.0";
}; };
nokogiri = { nokogiri = {
dependencies = ["mini_portile2"]; dependencies = ["mini_portile2"];
@ -290,10 +290,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7"; sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
type = "gem"; type = "gem";
}; };
version = "1.10.5"; version = "1.10.8";
}; };
pathutil = { pathutil = {
dependencies = ["forwardable-extended"]; dependencies = ["forwardable-extended"];
@ -311,10 +311,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0"; sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7";
type = "gem"; type = "gem";
}; };
version = "4.0.1"; version = "4.0.3";
}; };
rb-fsevent = { rb-fsevent = {
groups = ["default"]; groups = ["default"];
@ -332,20 +332,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
type = "gem"; type = "gem";
}; };
version = "0.10.0"; version = "0.10.1";
}; };
rouge = { rouge = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw"; sha256 = "1ivsvkwdxl44q4xl8bnf6kqmvy47n98akcvlfmhaz0614zlf4bxi";
type = "gem"; type = "gem";
}; };
version = "3.13.0"; version = "3.16.0";
}; };
safe_yaml = { safe_yaml = {
groups = ["default"]; groups = ["default"];
@ -395,29 +395,29 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp";
type = "gem"; type = "gem";
}; };
version = "1.2.5"; version = "1.2.6";
}; };
unicode-display_width = { unicode-display_width = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x";
type = "gem"; type = "gem";
}; };
version = "1.6.0"; version = "1.6.1";
}; };
zeitwerk = { zeitwerk = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw"; sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1";
type = "gem"; type = "gem";
}; };
version = "2.2.1"; version = "2.2.2";
}; };
} }

View file

@ -1,7 +1,7 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
activesupport (6.0.1) activesupport (6.0.2.1)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
@ -17,23 +17,23 @@ GEM
execjs execjs
coffee-script-source (1.12.2) coffee-script-source (1.12.2)
colorator (1.1.0) colorator (1.1.0)
concurrent-ruby (1.1.5) concurrent-ruby (1.1.6)
em-websocket (0.5.1) em-websocket (0.5.1)
eventmachine (>= 0.12.9) eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0) http_parser.rb (~> 0.6.0)
eventmachine (1.2.7) eventmachine (1.2.7)
execjs (2.7.0) execjs (2.7.0)
faraday (0.17.0) faraday (1.0.0)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
fast-stemmer (1.0.2) fast-stemmer (1.0.2)
ffi (1.11.2) ffi (1.12.2)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
gemoji (3.0.1) gemoji (3.0.1)
html-pipeline (2.12.2) html-pipeline (2.12.3)
activesupport (>= 2) activesupport (>= 2)
nokogiri (>= 1.4) nokogiri (>= 1.4)
http_parser.rb (0.6.0) http_parser.rb (0.6.0)
i18n (1.7.0) i18n (1.8.2)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jekyll (4.0.0) jekyll (4.0.0)
addressable (~> 2.4) addressable (~> 2.4)
@ -63,13 +63,13 @@ GEM
html-pipeline (~> 2.3) html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0) jekyll (>= 3.7, < 5.0)
jekyll-paginate (1.1.0) jekyll-paginate (1.1.0)
jekyll-redirect-from (0.15.0) jekyll-redirect-from (0.16.0)
jekyll (>= 3.3, < 5.0) jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (2.0.1) jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0) sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.6.1) jekyll-seo-tag (2.6.1)
jekyll (>= 3.3, < 5.0) jekyll (>= 3.3, < 5.0)
jekyll-sitemap (1.3.1) jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0) jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1) jekyll-watch (2.2.1)
listen (~> 3.0) listen (~> 3.0)
@ -86,28 +86,29 @@ GEM
liquid (4.0.3) liquid (4.0.3)
liquid-c (4.0.0) liquid-c (4.0.0)
liquid (>= 3.0.0) liquid (>= 3.0.0)
listen (3.2.0) listen (3.2.1)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6) mercenary (0.3.6)
mime-types (3.3) mime-types (3.3.1)
mime-types-data (~> 3.2015) mime-types-data (~> 3.2015)
mime-types-data (3.2019.1009) mime-types-data (3.2019.1009)
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
minitest (5.13.0) minitest (5.14.0)
multipart-post (2.1.1) multipart-post (2.1.1)
nokogiri (1.10.5) nokogiri (1.10.8)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
octokit (4.14.0) octokit (4.16.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3) sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2) pathutil (0.16.2)
forwardable-extended (~> 2.6) forwardable-extended (~> 2.6)
public_suffix (4.0.1) public_suffix (4.0.3)
rb-fsevent (0.10.3) rb-fsevent (0.10.3)
rb-inotify (0.10.0) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rdoc (6.2.0) rdoc (6.2.1)
rouge (3.13.0) rouge (3.16.0)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sassc (2.2.1) sassc (2.2.1)
ffi (~> 1.9) ffi (~> 1.9)
@ -117,12 +118,12 @@ GEM
terminal-table (1.8.0) terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1) unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6) thread_safe (0.3.6)
tomlrb (1.2.8) tomlrb (1.2.9)
tzinfo (1.2.5) tzinfo (1.2.6)
thread_safe (~> 0.1) thread_safe (~> 0.1)
unicode-display_width (1.6.0) unicode-display_width (1.6.1)
yajl-ruby (1.4.1) yajl-ruby (1.4.1)
zeitwerk (2.2.1) zeitwerk (2.2.2)
PLATFORMS PLATFORMS
ruby ruby

View file

@ -5,10 +5,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s"; sha256 = "1dd6gh66ffdbhsxv33rxxsiciqyhhkm69l1yqspwdj2brvh1jzl1";
type = "gem"; type = "gem";
}; };
version = "6.0.1"; version = "6.0.2.1";
}; };
addressable = { addressable = {
dependencies = ["public_suffix"]; dependencies = ["public_suffix"];
@ -90,10 +90,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
type = "gem"; type = "gem";
}; };
version = "1.1.5"; version = "1.1.6";
}; };
em-websocket = { em-websocket = {
dependencies = ["eventmachine" "http_parser.rb"]; dependencies = ["eventmachine" "http_parser.rb"];
@ -132,10 +132,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az"; sha256 = "11yn7mhi4rl24brs2qfwysas14csjf1zmb835cfklqz5ka032xp6";
type = "gem"; type = "gem";
}; };
version = "0.17.0"; version = "1.0.0";
}; };
fast-stemmer = { fast-stemmer = {
groups = ["default"]; groups = ["default"];
@ -164,10 +164,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw"; sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
type = "gem"; type = "gem";
}; };
version = "1.11.2"; version = "1.12.2";
}; };
forwardable-extended = { forwardable-extended = {
groups = ["default"]; groups = ["default"];
@ -195,10 +195,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2"; sha256 = "1x5i330yks7pb1jxcbm9n6gslkgaqhyvl13d0cqxmxzkcajvb7z4";
type = "gem"; type = "gem";
}; };
version = "2.12.2"; version = "2.12.3";
}; };
"http_parser.rb" = { "http_parser.rb" = {
groups = ["default"]; groups = ["default"];
@ -216,10 +216,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl"; sha256 = "0jwrd1l4mxz06iyx6053lr6hz2zy7ah2k3ranfzisvych5q19kwm";
type = "gem"; type = "gem";
}; };
version = "1.7.0"; version = "1.8.2";
}; };
jekyll = { jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"]; dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@ -303,10 +303,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1cwpr1z7irar81nm60prvl8ywadc82xhpdxs50n7kiic6q6lkjsb"; sha256 = "1nz6kd6qsa160lmjmls4zgx7fwcpp8ac07mpzy80z6zgd7jwldb6";
type = "gem"; type = "gem";
}; };
version = "0.15.0"; version = "0.16.0";
}; };
jekyll-sass-converter = { jekyll-sass-converter = {
dependencies = ["sassc"]; dependencies = ["sassc"];
@ -314,10 +314,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3"; sha256 = "04ncr44wrilz26ayqwlg7379yjnkb29mvx4j04i62b7czmdrc9dv";
type = "gem"; type = "gem";
}; };
version = "2.0.1"; version = "2.1.0";
}; };
jekyll-seo-tag = { jekyll-seo-tag = {
dependencies = ["jekyll"]; dependencies = ["jekyll"];
@ -336,10 +336,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0d3wqvbn37b24ag31xchb5hhnwfl6fnw6pyzp434jggbssxy0a5m"; sha256 = "0622rwsn5i0m5xcyzdn86l68wgydqwji03lqixdfm1f1xdfqrq0d";
type = "gem"; type = "gem";
}; };
version = "1.3.1"; version = "1.4.0";
}; };
jekyll-watch = { jekyll-watch = {
dependencies = ["listen"]; dependencies = ["listen"];
@ -446,10 +446,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb"; sha256 = "1w923wmdi3gyiky0asqdw5dnh3gcjs2xyn82ajvjfjwh6sn0clgi";
type = "gem"; type = "gem";
}; };
version = "3.2.0"; version = "3.2.1";
}; };
mercenary = { mercenary = {
groups = ["default"]; groups = ["default"];
@ -467,10 +467,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk"; sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
type = "gem"; type = "gem";
}; };
version = "3.3"; version = "3.3.1";
}; };
mime-types-data = { mime-types-data = {
groups = ["default"]; groups = ["default"];
@ -497,10 +497,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi"; sha256 = "0g73x65hmjph8dg1h3rkzfg7ys3ffxm35hj35grw75fixmq53qyz";
type = "gem"; type = "gem";
}; };
version = "5.13.0"; version = "5.14.0";
}; };
multipart-post = { multipart-post = {
groups = ["default"]; groups = ["default"];
@ -518,21 +518,21 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7"; sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
type = "gem"; type = "gem";
}; };
version = "1.10.5"; version = "1.10.8";
}; };
octokit = { octokit = {
dependencies = ["sawyer"]; dependencies = ["faraday" "sawyer"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1w7agbfg39jzqk81yad9xhscg31869277ysr2iwdvpjafl5lj4ha"; sha256 = "06kx258qa5k24q5pv8i4daaw3g57gif6p5k5h3gndj3q2jk6vhkn";
type = "gem"; type = "gem";
}; };
version = "4.14.0"; version = "4.16.0";
}; };
pathutil = { pathutil = {
dependencies = ["forwardable-extended"]; dependencies = ["forwardable-extended"];
@ -550,10 +550,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0"; sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7";
type = "gem"; type = "gem";
}; };
version = "4.0.1"; version = "4.0.3";
}; };
rb-fsevent = { rb-fsevent = {
groups = ["default"]; groups = ["default"];
@ -571,30 +571,30 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
type = "gem"; type = "gem";
}; };
version = "0.10.0"; version = "0.10.1";
}; };
rdoc = { rdoc = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9"; sha256 = "08862mr1575j8g32wma4pv2qwj4xpllk29i5j61hgf9nwn64afhc";
type = "gem"; type = "gem";
}; };
version = "6.2.0"; version = "6.2.1";
}; };
rouge = { rouge = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw"; sha256 = "1ivsvkwdxl44q4xl8bnf6kqmvy47n98akcvlfmhaz0614zlf4bxi";
type = "gem"; type = "gem";
}; };
version = "3.13.0"; version = "3.16.0";
}; };
safe_yaml = { safe_yaml = {
groups = ["default"]; groups = ["default"];
@ -654,10 +654,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv"; sha256 = "0njkyq5csj4km8spmw33b5902v254wvyvqq1b0f0kky5hs7bvrgg";
type = "gem"; type = "gem";
}; };
version = "1.2.8"; version = "1.2.9";
}; };
tzinfo = { tzinfo = {
dependencies = ["thread_safe"]; dependencies = ["thread_safe"];
@ -665,20 +665,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp";
type = "gem"; type = "gem";
}; };
version = "1.2.5"; version = "1.2.6";
}; };
unicode-display_width = { unicode-display_width = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"; sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x";
type = "gem"; type = "gem";
}; };
version = "1.6.0"; version = "1.6.1";
}; };
yajl-ruby = { yajl-ruby = {
groups = ["default"]; groups = ["default"];
@ -707,9 +707,9 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw"; sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1";
type = "gem"; type = "gem";
}; };
version = "2.2.1"; version = "2.2.2";
}; };
} }

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "josm"; pname = "josm";
version = "15806"; version = "15937";
src = fetchurl { src = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "03a1hw566z6jd232hjkxjxqs1ggd0ir12ndkz9swxkif6aqbrnvs"; sha256 = "1mwrmhs5k3b3pvl3cmq78h8gh8zna06l4sym1a4vvlcx6j26a01f";
}; };
buildInputs = [ jdk11 makeWrapper ]; buildInputs = [ jdk11 makeWrapper ];

View file

@ -18,7 +18,10 @@ stdenv.mkDerivation {
sha256 = "1nnakbi01g7yd3zqwprchh5yp45br8086b0kbbpmnclabcvlcdiq"; sha256 = "1nnakbi01g7yd3zqwprchh5yp45br8086b0kbbpmnclabcvlcdiq";
}; };
patches = [ ./gc-init.patch ]; patches = [
./gc-init.patch
./openssl-1.1.patch
];
buildInputs = [ ncurses xlibsWrapper bzip2 zlib openssl spidermonkey gpm ] buildInputs = [ ncurses xlibsWrapper bzip2 zlib openssl spidermonkey gpm ]
++ stdenv.lib.optional enableGuile guile ++ stdenv.lib.optional enableGuile guile

View file

@ -0,0 +1,51 @@
diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c
index 45b4b4a8..0385a431 100644
--- a/src/network/ssl/socket.c
+++ b/src/network/ssl/socket.c
@@ -67,7 +67,9 @@ static void
ssl_set_no_tls(struct socket *socket)
{
#ifdef CONFIG_OPENSSL
- ((ssl_t *) socket->ssl)->options |= SSL_OP_NO_TLSv1;
+#ifdef SSL_OP_NO_TLSv1
+ SSL_set_options((ssl_t *)socket->ssl, SSL_OP_NO_TLSv1);
+#endif
#elif defined(CONFIG_GNUTLS)
{
/* GnuTLS does not support SSLv2 because it is "insecure".
@@ -145,9 +147,11 @@ ssl_connect(struct socket *socket)
}
if (client_cert) {
- SSL_CTX *ctx = ((SSL *) socket->ssl)->ctx;
+ SSL_CTX *ctx = SSL_get_SSL_CTX((SSL *) socket->ssl);
- SSL_CTX_use_certificate_chain_file(ctx, client_cert);
+ SSL_CTX_use_certificate_chain_file(
+ (SSL *) socket->ssl,
+ client_cert);
SSL_CTX_use_PrivateKey_file(ctx, client_cert,
SSL_FILETYPE_PEM);
}
diff --git a/src/network/ssl/ssl.c b/src/network/ssl/ssl.c
index c008121d..c06a80a7 100644
--- a/src/network/ssl/ssl.c
+++ b/src/network/ssl/ssl.c
@@ -50,11 +50,16 @@ init_openssl(struct module *module)
* cannot initialize the PRNG and so every attempt to use SSL fails.
* It's actually an OpenSSL FAQ, and according to them, it's up to the
* application coders to seed the RNG. -- William Yodlowsky */
- if (RAND_egd(RAND_file_name(f_randfile, sizeof(f_randfile))) < 0) {
+ RAND_file_name(f_randfile, sizeof(f_randfile));
+#ifdef HAVE_RAND_EGD
+ if (RAND_egd(f_randfile) < 0) {
/* Not an EGD, so read and write to it */
+#endif
if (RAND_load_file(f_randfile, -1))
RAND_write_file(f_randfile);
+#ifdef HAVE_RAND_EGD
}
+#endif
SSLeay_add_ssl_algorithms();
context = SSL_CTX_new(SSLv23_client_method());

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "kubeseal"; pname = "kubeseal";
version = "0.9.7"; version = "0.9.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bitnami-labs"; owner = "bitnami-labs";
repo = "sealed-secrets"; repo = "sealed-secrets";
rev = "v${version}"; rev = "v${version}";
sha256 = "01skvf8jsianyk9xq7lhcnpn3anhi4lma9bn66ngv279av147h9c"; sha256 = "1d3m13pl30w8d7pxjdhspxprk2jm8cm25rc5s867z4a37c5igv7y";
}; };
modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd"; modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd";

View file

@ -0,0 +1,64 @@
{ stdenv
, fetchFromGitHub
, meson
, ninja
, vala
, pkg-config
, desktop-file-utils
, pantheon
, python3
, glib
, gtk3
, json-glib
, libgee
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "khronos";
version = "1.0.5";
src = fetchFromGitHub {
owner = "lainsce";
repo = pname;
rev = version;
sha256 = "0dk1b2d82gli3z35dn5p002lfkgq326janql0vn1z5hs8jvjakqh";
};
nativeBuildInputs = [
desktop-file-utils
meson
ninja
vala
pkg-config
python3
wrapGAppsHook
];
buildInputs = [
glib
gtk3
json-glib
libgee
pantheon.granite
];
postPatch = ''
chmod +x meson/post_install.py
patchShebangs meson/post_install.py
'';
passthru = {
updateScript = pantheon.updateScript {
attrPath = pname;
};
};
meta = with stdenv.lib; {
description = "Track each task's time in a simple inobtrusive way";
homepage = "https://github.com/lainsce/khronos";
maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
platforms = platforms.linux;
license = licenses.gpl3;
};
}

View file

@ -1,10 +0,0 @@
{ callPackage, fetchgit, lua } :
let
src = fetchgit {
url = "https://github.com/grwlf/torch-distro";
rev = "f972c4253b14b95b53aefe7b24efa496223e73f2";
sha256 = "1lhjhivhyypaic33vj1nsghshsajf7vi6gwsclaf3nqdl27d1h1s";
};
in
callPackage (import ./torch-distro.nix) { inherit lua src; }

View file

@ -1,336 +0,0 @@
{ luarocks, lib , stdenv, readline, makeWrapper,
less, ncurses, cmake, coreutils, fetchgit, libuuid, czmq, openssl,
gnuplot, lua, src, libjpeg, libpng
} :
let
common_meta = {
homepage = http://torch.ch;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ smironov ];
platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
distro_src = src;
default_luarocks = luarocks;
pkgs_gnuplot = gnuplot;
luapkgs = rec {
luarocks = default_luarocks.override {
inherit lua;
};
buildLuaRocks = { rockspec ? "", luadeps ? [] , buildInputs ? []
, preBuild ? "" , postInstall ? ""
, runtimeDeps ? [] , ... }@args :
let
luadeps_ =
luadeps ++
(lib.concatMap (d : if d ? luadeps then d.luadeps else []) luadeps);
runtimeDeps_ =
runtimeDeps ++
(lib.concatMap (d : if d ? runtimeDeps then d.runtimeDeps else []) luadeps) ++
[ lua coreutils ];
mkcfg = ''
export LUAROCKS_CONFIG=config.lua
cat >config.lua <<EOF
rocks_trees = {
{ name = [[system]], root = [[${luarocks}]] }
${lib.concatImapStrings (i : dep : ", { name = [[dep${toString i}]], root = [[${dep}]] }") luadeps_}
};
variables = {
LUA_BINDIR = "$out/bin";
LUA_INCDIR = "$out/include";
LUA_LIBDIR = "$out/lib/lua/${lua.luaversion}";
};
EOF
'';
in
stdenv.mkDerivation (args // {
name = "${args.name}-${lua.luaversion}";
inherit preBuild postInstall;
inherit luadeps runtimeDeps;
phases = [ "unpackPhase" "patchPhase" "buildPhase"];
buildInputs = runtimeDeps ++ buildInputs ++ [ makeWrapper lua ];
buildPhase = ''
eval "$preBuild"
${mkcfg}
eval "`${luarocks}/bin/luarocks --deps-mode=all --tree=$out path`"
${luarocks}/bin/luarocks make --deps-mode=all --tree=$out ${rockspec}
for p in $out/bin/*; do
wrapProgram $p \
--suffix LD_LIBRARY_PATH ';' "${lib.makeLibraryPath runtimeDeps_}" \
--suffix PATH ';' "${lib.makeBinPath runtimeDeps_}" \
--suffix LUA_PATH ';' "\"$LUA_PATH\"" \
--suffix LUA_PATH ';' "\"$out/share/lua/${lua.luaversion}/?.lua;$out/share/lua/${lua.luaversion}/?/init.lua\"" \
--suffix LUA_CPATH ';' "\"$LUA_CPATH\"" \
--suffix LUA_CPATH ';' "\"$out/lib/lua/${lua.luaversion}/?.so;$out/lib/lua/${lua.luaversion}/?/init.so\""
done
eval "$postInstall"
'';
});
# FIXME: doesn't installs lua-files for some reason
# lua-cjson = buildLuaPackage {
# name = "lua-cjson";
# src = ./extra/lua-cjson;
# rockspec = "lua-cjson-2.1devel-1.rockspec";
# };
lua-cjson = stdenv.mkDerivation {
name = "lua-cjson";
src = "${distro_src}/extra/lua-cjson";
preConfigure = ''
makeFlags="PREFIX=$out LUA_LIBRARY=$out/lib/lua"
'';
buildInputs = [lua];
installPhase = ''
make install-extra $makeFlags
'';
meta.broken = true;
};
luafilesystem = buildLuaRocks {
name = "filesystem";
src = "${distro_src}/extra/luafilesystem";
luadeps = [lua-cjson];
rockspec = "rockspecs/luafilesystem-1.6.3-1.rockspec";
};
penlight = buildLuaRocks {
name = "penlight";
src = "${distro_src}/extra/penlight";
luadeps = [luafilesystem];
};
luaffifb = buildLuaRocks {
name = "luaffifb";
src = "${distro_src}/extra/luaffifb";
meta.broken = true;
};
sundown = buildLuaRocks rec {
name = "sundown";
src = "${distro_src}/pkg/sundown";
rockspec = "rocks/${name}-scm-1.rockspec";
meta.broken = true; # 2018-04-11
};
cwrap = buildLuaRocks rec {
name = "cwrap";
src = "${distro_src}/pkg/cwrap";
rockspec = "rocks/${name}-scm-1.rockspec";
};
paths = buildLuaRocks rec {
name = "paths";
src = "${distro_src}/pkg/paths";
buildInputs = [cmake];
rockspec = "rocks/${name}-scm-1.rockspec";
};
torch = buildLuaRocks rec {
name = "torch";
src = "${distro_src}/pkg/torch";
luadeps = [ paths cwrap ];
buildInputs = [ cmake ];
rockspec = "rocks/torch-scm-1.rockspec";
preBuild = ''
substituteInPlace ${rockspec} \
--replace '"sys >= 1.0"' ' '
export LUA_PATH="$src/?.lua;$LUA_PATH"
'';
meta = common_meta // {
description = "Torch is a machine-learning library";
longDescription = ''
Torch is the main package in [Torch7](http://torch.ch) where data
structures for multi-dimensional tensors and mathematical operations
over these are defined. Additionally, it provides many utilities for
accessing files, serializing objects of arbitrary types and other
useful utilities.
'';
};
};
dok = buildLuaRocks rec {
name = "dok";
src = "${distro_src}/pkg/dok";
luadeps = [sundown];
rockspec = "rocks/${name}-scm-1.rockspec";
};
sys = buildLuaRocks {
name = "sys";
luadeps = [torch];
buildInputs = [readline cmake];
src = "${distro_src}/pkg/sys";
rockspec = "sys-1.1-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
xlua = buildLuaRocks {
name = "xlua";
luadeps = [torch sys];
src = "${distro_src}/pkg/xlua";
rockspec = "xlua-1.0-0.rockspec";
};
nn = buildLuaRocks {
name = "nn";
luadeps = [torch luaffifb];
buildInputs = [cmake];
src = "${distro_src}/extra/nn";
rockspec = "rocks/nn-scm-1.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
graph = buildLuaRocks {
name = "graph";
luadeps = [ torch ];
buildInputs = [cmake];
src = "${distro_src}/extra/graph";
rockspec = "rocks/graph-scm-1.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
nngraph = buildLuaRocks {
name = "nngraph";
luadeps = [ torch nn graph ];
buildInputs = [cmake];
src = "${distro_src}/extra/nngraph";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
image = buildLuaRocks {
name = "image";
luadeps = [ torch dok sys xlua ];
buildInputs = [cmake libjpeg libpng];
src = "${distro_src}/pkg/image";
rockspec = "image-1.1.alpha-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
optim = buildLuaRocks {
name = "optim";
luadeps = [ torch ];
buildInputs = [cmake];
src = "${distro_src}/pkg/optim";
rockspec = "optim-1.0.5-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
gnuplot = buildLuaRocks {
name = "gnuplot";
luadeps = [ torch paths ];
runtimeDeps = [ pkgs_gnuplot less ];
src = "${distro_src}/pkg/gnuplot";
rockspec = "rocks/gnuplot-scm-1.rockspec";
};
unsup = buildLuaRocks {
name = "unsup";
luadeps = [ torch xlua optim ];
buildInputs = [ cmake ];
src = fetchgit {
url = "https://github.com/koraykv/unsup";
rev = "1d4632e716dc3c82feecc7dd4b22549df442859f";
sha256 = "0npjq3y1cfmk026sdijcw3f766innrmb3qggnxsz62grczhfvgls";
};
rockspec = "unsup-0.1-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
meta.broken = true;
};
trepl = buildLuaRocks {
name = "trepl";
luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot optim sys dok unsup];
runtimeDeps = [ ncurses readline ];
src = "${distro_src}/exe/trepl";
meta = common_meta // {
description = "A pure Lua REPL for Lua(JIT), with heavy support for Torch types.";
};
};
lbase64 = buildLuaRocks {
name = "lbase64";
src = fetchgit {
url = "https://github.com/LuaDist2/lbase64";
rev = "1e9e4f1e0bf589a0ed39f58acc185ec5e213d207";
sha256 = "1i1fpy9v6r4w3lrmz7bmf5ppq65925rv90gx39b3pykfmn0hcb9c";
};
meta.broken = true; # 2018-04-11
};
luuid = stdenv.mkDerivation {
name = "luuid";
src = fetchgit {
url = "https://github.com/LuaDist/luuid";
sha256 = "062gdf1rild11jg46vry93hcbb36b4527pf1dy7q9fv89f7m2nav";
};
preConfigure = ''
cmakeFlags="-DLUA_LIBRARY=${lua}/lib/lua/${lua.luaversion} -DINSTALL_CMOD=$out/lib/lua/${lua.luaversion} -DINSTALL_MOD=$out/lib/lua/${lua.luaversion}"
'';
buildInputs = [cmake libuuid lua];
meta = {
# FIXME: set the exact revision for src
broken = true;
};
};
# Doesn't work due to missing deps (according to luarocs).
itorch = buildLuaRocks {
name = "itorch";
luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot
optim sys dok lbase64 lua-cjson luuid];
buildInputs = [czmq openssl];
src = "${distro_src}/extra/iTorch";
meta = {
# FIXME: figure out whats wrong with deps
broken = true;
};
};
};
in
luapkgs

View file

@ -13,11 +13,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gitkraken"; pname = "gitkraken";
version = "6.5.1"; version = "6.5.3";
src = fetchzip { src = fetchzip {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz"; url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
sha256 = "0dwjwismv4rfw58801g2ay51h9qrffcxgbl910frd4i530w0y44p"; sha256 = "0pw39cxh6p49h8gxxqfn1a2qf3gpxr5naz2cffd7dz0gwslgia2d";
}; };
dontBuild = true; dontBuild = true;

View file

@ -2,18 +2,7 @@ postPhases+=" cleanupBuildDir"
# Force GCC to build with coverage instrumentation. Also disable # Force GCC to build with coverage instrumentation. Also disable
# optimisation, since it may confuse things. # optimisation, since it may confuse things.
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage" export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE:-} -O0 --coverage"
# FIXME: Handle the case where postUnpack is already set.
postUnpack() {
# This is an uberhack to prevent libtool from remoaving gcno
# files. This has been fixed in libtool, but there are packages
# out there with old ltmain.sh scripts. See
# http://www.mail-archive.com/libtool@gnu.org/msg10725.html
for i in $(find -name ltmain.sh); do
substituteInPlace $i --replace '*.$objext)' '*.$objext | *.gcno)'
done
}
# Get rid of everything that isn't a gcno file or a C source file. # Get rid of everything that isn't a gcno file or a C source file.
# Also strip the `.tmp_' prefix from gcno files. (The Linux kernel # Also strip the `.tmp_' prefix from gcno files. (The Linux kernel

View file

@ -26,10 +26,11 @@ let
meta = { meta = {
inherit description; inherit description;
# In lieu of a license: # see http://users.teilar.gr/~g1951d/License.pdf
# Fonts in this site are offered free for any use; # quite draconian: non-commercial, no modifications,
# they may be installed, embedded, opened, edited, modified, regenerated, posted, packaged and redistributed. # no redistribution, "a single instantiation and no
license = lib.licenses.free; # network installation"
license = lib.licenses.unfree;
homepage = http://users.teilar.gr/~g1951d/; homepage = http://users.teilar.gr/~g1951d/;
}; };
}; };

View file

@ -1,28 +1,44 @@
{ stdenv, fetchzip, fetchFromGitHub, optipng, cairo, python3Packages, pkgconfig, pngquant, which, imagemagick }: { stdenv
, stdenvNoCC
, lib
, fetchFromGitHub
, fetchzip
, optipng
, cairo
, python3Packages
, pkgconfig
, pngquant
, which
, imagemagick
}:
let let
mkNoto = { name, weights, sha256, }: mkNoto = { pname, weights }:
let stdenvNoCC.mkDerivation {
version = "2018-11-30"; inherit pname;
ref = "85e78f831469323c85847e23f95026c894159135"; version = "2020-01-23";
in
fetchzip { src = fetchFromGitHub {
name = "${name}-${version}"; owner = "googlefonts";
inherit sha256; repo = "noto-fonts";
url = "https://github.com/googlei18n/noto-fonts/archive/${ref}.zip"; rev = "f4726a2ec36169abd02a6d8abe67c8ff0236f6d8";
postFetch = '' sha256 = "0zc1r7zph62qmvzxqfflsprazjf6x1qnwc2ma27kyzh6v36gaykw";
unzip $downloadedFile };
mkdir -p $out/share/fonts/noto
# Also copy unhinted & alpha fonts for better glyph coverage, installPhase = ''
# if they don't have a hinted version # We copy in reverse preference order -- unhinted first, then
# (see https://groups.google.com/d/msg/noto-font/ZJSkZta4n5Y/tZBnLcPdbS0J) # hinted -- to get the "best" version of each font while
for ttf in noto-fonts-*/{hinted,unhinted,alpha}/*-${weights}.ttf # maintaining maximum coverage.
do #
cp -n "$ttf" -t "$out/share/fonts/noto" # TODO: install OpenType, variable versions?
done local out_ttf=$out/share/fonts/truetype/noto
install -m444 -Dt $out_ttf phaseIII_only/unhinted/ttf/*/*-${weights}.ttf
install -m444 -Dt $out_ttf phaseIII_only/hinted/ttf/*/*-${weights}.ttf
install -m444 -Dt $out_ttf unhinted/*/*-${weights}.ttf
install -m444 -Dt $out_ttf hinted/*/*-${weights}.ttf
''; '';
meta = with stdenv.lib; {
inherit version; meta = with lib; {
description = "Beautiful and free fonts for many languages"; description = "Beautiful and free fonts for many languages";
homepage = https://www.google.com/get/noto/; homepage = https://www.google.com/get/noto/;
longDescription = longDescription =
@ -39,37 +55,39 @@ let
This package also includes the Arimo, Cousine, and Tinos fonts. This package also includes the Arimo, Cousine, and Tinos fonts.
''; '';
license = licenses.asl20; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ mathnerd314 ]; maintainers = with maintainers; [ mathnerd314 emily ];
}; };
}; };
in in
{ {
noto-fonts = mkNoto { noto-fonts = mkNoto {
name = "noto-fonts"; pname = "noto-fonts";
weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}"; weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
sha256 = "0kvq5ldip2ra2njlxg9fxj46nfqzq5l3n359d3kwfbsld7hixm2d";
}; };
noto-fonts-extra = mkNoto { noto-fonts-extra = mkNoto {
name = "noto-fonts-extra"; pname = "noto-fonts-extra";
weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*"; weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*";
sha256 = "0l94aiy1b3qirg2mmbagbr0014vqk32za79pzck1acy2hgy716kq";
}; };
noto-fonts-cjk = let version = "1.004"; in fetchzip {
name = "noto-fonts-cjk-${version}";
# Same as https://noto-website.storage.googleapis.com/pkgs/NotoSansCJK.ttc.zip but versioned & with no extra SIL license file noto-fonts-cjk = let zip = fetchzip {
url = "https://raw.githubusercontent.com/googlei18n/noto-cjk/40d9f5b179a59a06b98373c76bdc3e2119e4e6b2/NotoSansCJK.ttc.zip"; url = let rev = "be6c059ac1587e556e2412b27f5155c8eb3ddbe6"; in
postFetch = '' "https://raw.githubusercontent.com/googlefonts/noto-cjk/${rev}/NotoSansCJK.ttc.zip";
mkdir -p $out/share/fonts # __MACOSX...
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/noto stripRoot = false;
sha256 = "0ik4z2b15i0pghskgfm3adzb0h35fr4gyzvz3bq49hhkhn9h85vi";
}; in stdenvNoCC.mkDerivation {
pname = "noto-fonts-cjk";
version = "2.001";
buildCommand = ''
install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${zip}/*.ttc
''; '';
sha256 = "0ghw2azqq3nkcxsbvf53qjmrhcfsnry79rq7jsr0wwi2pn7d3dsq";
meta = with stdenv.lib; { meta = with lib; {
inherit version;
description = "Beautiful and free fonts for CJK languages"; description = "Beautiful and free fonts for CJK languages";
homepage = https://www.google.com/get/noto/help/cjk/; homepage = https://www.google.com/get/noto/help/cjk/;
longDescription = longDescription =
@ -86,9 +104,10 @@ in
''; '';
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ mathnerd314 ]; maintainers = with maintainers; [ mathnerd314 emily ];
}; };
}; };
noto-fonts-emoji = let noto-fonts-emoji = let
version = "unstable-2019-10-22"; version = "unstable-2019-10-22";
in stdenv.mkDerivation { in stdenv.mkDerivation {
@ -118,7 +137,7 @@ in
cp NotoColorEmoji.ttf fonts/NotoEmoji-Regular.ttf $out/share/fonts/noto cp NotoColorEmoji.ttf fonts/NotoEmoji-Regular.ttf $out/share/fonts/noto
''; '';
meta = with stdenv.lib; { meta = with lib; {
inherit version; inherit version;
description = "Color and Black-and-White emoji fonts"; description = "Color and Black-and-White emoji fonts";
homepage = https://github.com/googlei18n/noto-emoji; homepage = https://github.com/googlei18n/noto-emoji;

View file

@ -1,52 +0,0 @@
{ lib, fetchzip }:
let
makePackage = {variant, language, region, sha256}: let
version = "1.004R";
revision = "5f5311e71cb628321cc0cffb51fb38d862b726aa";
in fetchzip {
name = "source-han-sans-${variant}-${version}";
url = "https://github.com/adobe-fonts/source-han-sans/raw/${revision}/SubsetOTF/SourceHanSans${region}.zip";
postFetch = ''
mkdir -p $out/share/fonts
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
'';
inherit sha256;
meta = {
description = "${language} subset of an open source Pan-CJK sans-serif typeface";
homepage = https://github.com/adobe-fonts/source-han-sans;
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ taku0 ];
};
};
in
{
japanese = makePackage {
variant = "japanese";
language = "Japanese";
region = "JP";
sha256 = "194zapswaqly8ycx3k66vznlapvpyhdigp3sabsl4hn87j9xsc5v";
};
korean = makePackage {
variant = "korean";
language = "Korean";
region = "KR";
sha256 = "0xij6mciiqgpwv1agqily2jji377x084k7fj4rpv6z0r5vvhqr08";
};
simplified-chinese = makePackage {
variant = "simplified-chinese";
language = "Simplified Chinese";
region = "CN";
sha256 = "038av18d45qr85bgx95j2fm8j64d72nsm9xzg0lpwr9xwni2sbx0";
};
traditional-chinese = makePackage {
variant = "traditional-chinese";
language = "Traditional Chinese";
region = "TW";
sha256 = "1mzcv5hksyxplyv5q3w5nr1xz73hdnvip5gicz35j0by4gc739lr";
};
}

View file

@ -1,52 +0,0 @@
{ lib, fetchzip }:
let
makePackage = {variant, language, region, sha256}: let
version = "1.000R";
revision = "f6cf97d92b22e7bd77e355a61fe549ae44b6de76";
in fetchzip {
name = "source-han-serif-${variant}-${version}";
url = "https://github.com/adobe-fonts/source-han-serif/raw/${revision}/SubsetOTF/SourceHanSerif${region}.zip";
postFetch = ''
mkdir -p $out/share/fonts/opentype
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
'';
inherit sha256;
meta = {
description = "${language} subset of an open source Pan-CJK serif typeface";
homepage = https://github.com/adobe-fonts/source-han-sans;
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ taku0 ];
};
};
in
{
japanese = makePackage {
variant = "japanese";
language = "Japanese";
region = "JP";
sha256 = "0cklcy6y3r7pg8z43fzd8zl5g46bkqa1iy0li49rm0fgdaw7kin2";
};
korean = makePackage {
variant = "korean";
language = "Korean";
region = "KR";
sha256 = "0lxrr978djsych8fmbl57n1c9c7ihl61w0b9q4plw27vd6p41fza";
};
simplified-chinese = makePackage {
variant = "simplified-chinese";
language = "Simplified Chinese";
region = "CN";
sha256 = "0k3x4kncjnbipf4i3lkk6b33zpf1ckp5648z51v48q47l3zqpm6p";
};
traditional-chinese = makePackage {
variant = "traditional-chinese";
language = "Traditional Chinese";
region = "TW";
sha256 = "00bi66nlkrargmmf4av24qfd716py7a9smcvr4xnll7fffldxv06";
};
}

View file

@ -0,0 +1,54 @@
{ stdenvNoCC
, lib
, fetchzip
, fetchurl
}:
let
makePackage = { family, description, rev, sha256 }: let
Family =
lib.toUpper (lib.substring 0 1 family) +
lib.substring 1 (lib.stringLength family) family;
ttc = fetchurl {
url = "https://github.com/adobe-fonts/source-han-${family}/releases/download/${rev}/SourceHan${Family}.ttc";
inherit sha256;
};
in stdenvNoCC.mkDerivation {
pname = "source-han-${family}";
version = lib.removeSuffix "R" rev;
buildCommand = ''
install -m444 -Dt $out/share/fonts/opentype/source-han-${family} ${ttc}
'';
meta = {
description = "An open source Pan-CJK ${description} typeface";
homepage = "https://github.com/adobe-fonts/source-han-${family}";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ taku0 emily ];
};
};
in
{
sans = makePackage {
family = "sans";
description = "sans-serif";
rev = "2.001R";
sha256 = "101p8q0sagf1sd1yzwdrmmxvkqq7j0b8hi0ywsfck9w56r4zx54y";
};
serif = makePackage {
family = "serif";
description = "serif";
rev = "1.001R";
sha256 = "1d968h30qvvwy3s77m9y3f1glq8zlr6bnfw00yinqa18l97n7k45";
};
mono = makePackage {
family = "mono";
description = "monospaced";
rev = "1.002";
sha256 = "1haqffkcgz0cc24y8rc9bg36v8x9hdl8fdl3xc8qz14hvr42868c";
};
}

View file

@ -1,6 +1,6 @@
{ fetchurl }: { fetchurl }:
fetchurl { fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/10e6ea0c54a4aa41de51d1d7e2314115bb2e172a.tar.gz"; url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3ff0be5c9ee1ead33e07158b9a4a579fa2fb7a7f.tar.gz";
sha256 = "0kjy1dxa2kra4j02ni8lpg74jy7fl361yiha330c52spvd2v8i8h"; sha256 = "15jqdjxyzcmg50zvl7szv6s2zi4k82as5wi6mkiwwpbdricg50pl";
} }

View file

@ -20,11 +20,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-characters"; pname = "gnome-characters";
version = "3.32.1"; version = "3.34.0";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1mpg125x9k879ryg8xgbm9w1amx6b3iq9sqv7xfii7kzaanjb4js"; sha256 = "0mqaxsa7hcmvid3zbzvxpfkp7s01ghiq6kaibmd3169axrr8ahql";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Design/Apps/CharacterMap; homepage = "https://wiki.gnome.org/Design/Apps/CharacterMap";
description = "Simple utility application to find and insert unusual characters"; description = "Simple utility application to find and insert unusual characters";
maintainers = gnome3.maintainers; maintainers = gnome3.maintainers;
license = licenses.gpl2; license = licenses.gpl2;

View file

@ -28,13 +28,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "appcenter"; pname = "appcenter";
version = "3.2.1"; version = "3.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elementary"; owner = "elementary";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "18l0kbm778728rksifslnaw2arnpr92sk24nw26k1zvs4prz5i7j"; sha256 = "0aqslkig7vs95z719mp3xrl1zp65ypp2lq9aikvsis6nssadn2cd";
}; };
passthru = { passthru = {

View file

@ -21,13 +21,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sideload"; pname = "sideload";
version = "1.0.0"; version = "1.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elementary"; owner = "elementary";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1qi4wm773bf1szi5a77g9lxjn305v1m85j4nb6il9q4qlh9b1cs5"; sha256 = "0camg34skiisfbf9s9awfkdkq72s9jhl4ipmax7dqr33n8a86hic";
}; };
passthru = { passthru = {

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "switchboard-plug-bluetooth"; pname = "switchboard-plug-bluetooth";
version = "2.3.0"; version = "2.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elementary"; owner = "elementary";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1m8nzav976xs3sash2nbyrfn2sk7aah352ypihbp7bacid5wnhr7"; sha256 = "06ws1swl2jg6a1b3m4b1v1rawgzs5k7rq4dcnd5v0czda110yhg0";
}; };
passthru = { passthru = {

View file

@ -28,7 +28,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "elementary-greeter"; pname = "elementary-greeter";
version = "5.0.1"; version = "5.0.2";
repoName = "greeter"; repoName = "greeter";
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
owner = "elementary"; owner = "elementary";
repo = repoName; repo = repoName;
rev = version; rev = version;
sha256 = "0qy6iw71p8hv6fpcr7p3hqbzlcpxrz18qdm1inannq68d0pxfx76"; sha256 = "0557lr8czqwjrm39ykfacqw5x7nng7fmf1gxkif70xg7dk3lc7gd";
}; };
passthru = { passthru = {

View file

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
, coreutils, git, gmp, nettools, openssl_1_0_2, readline, tzdata, libxml2, libyaml , coreutils, git, gmp, nettools, openssl, readline, tzdata, libxml2, libyaml
, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig , boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig
, callPackage }: , callPackage }:
@ -20,7 +20,7 @@ let
arch = archs.${stdenv.system} or (throw "system ${stdenv.system} not supported"); arch = archs.${stdenv.system} or (throw "system ${stdenv.system} not supported");
checkInputs = [ git gmp openssl_1_0_2 readline libxml2 libyaml ]; checkInputs = [ git gmp openssl readline libxml2 libyaml ];
genericBinary = { version, sha256s, rel ? 1 }: genericBinary = { version, sha256s, rel ? 1 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -39,7 +39,7 @@ let
}; };
commonBuildInputs = extraBuildInputs: [ commonBuildInputs = extraBuildInputs: [
boehmgc libatomic_ops pcre libevent libyaml zlib libxml2 openssl_1_0_2 boehmgc libatomic_ops pcre libevent libyaml zlib libxml2 openssl
] ++ extraBuildInputs ] ++ extraBuildInputs
++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ]; ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, autoconf, ... }: { stdenv, fetchurl, autoconf, gcc, coreutils, ... }:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "gambit-bootstrap"; pname = "gambit-bootstrap";
@ -12,6 +12,10 @@ stdenv.mkDerivation {
buildInputs = [ autoconf ]; buildInputs = [ autoconf ];
configurePhase = '' configurePhase = ''
export CC=${gcc}/bin/gcc CXX=${gcc}/bin/g++ \
CPP=${gcc}/bin/cpp CXXCPP=${gcc}/bin/cpp LD=${gcc}/bin/ld \
XMKMF=${coreutils}/bin/false
unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS
./configure --prefix=$out ./configure --prefix=$out
''; '';

View file

@ -1,4 +1,19 @@
{ stdenv, git, openssl, autoconf, pkgs, makeStaticLibraries, version, src }: { stdenv, git, openssl, autoconf, pkgs, makeStaticLibraries, version, gcc, src, coreutils }:
# Note that according to a benchmark run by Marc Feeley on May 2018,
# clang is 10x (with default settings) to 15% (with -O2) slower than GCC at compiling
# Gambit output, producing code that is 3x slower. IIRC the benchmarks from Gambit@30,
# the numbers were still heavily in favor of GCC in October 2019.
# Thus we use GCC over clang, even on macOS.
# Also note that I (fare) just ran benchmarks from https://github.com/ecraven/r7rs-benchmarks
# with Gambit 4.9.3 with -O1 vs -O2 vs -Os on Feb 2020. Which wins depends on the benchmark.
# The fight is unclear between -O1 and -O2, where -O1 wins more often, by up to 17%,
# but sometimes -O2 wins, once by up to 43%, so that overall -O2 is 5% faster.
# However, -Os seems more consistent in winning slightly against both -O1 and -O2,
# and is overall 15% faster than -O2. As for compile times, -O1 is fastest,
# -Os is about 29%-33% slower than -O1, while -O2 is about 40%-50% slower than -O1.
# Overall, -Os seems like the best choice, and that's what we now use.
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gambit"; pname = "gambit";
@ -7,38 +22,48 @@ stdenv.mkDerivation rec {
bootstrap = import ./bootstrap.nix ( pkgs ); bootstrap = import ./bootstrap.nix ( pkgs );
# Use makeStaticLibraries to enable creation of statically linked binaries # TODO: if/when we can get all the library packages we depend on to have static versions,
buildInputs = [ git autoconf bootstrap openssl (makeStaticLibraries openssl)]; # we could use something like (makeStaticLibraries openssl) to enable creation
# of statically linked binaries by gsc.
buildInputs = [ git autoconf bootstrap openssl ];
configureFlags = [
"--enable-single-host"
"--enable-c-opt=-Os"
"--enable-gcc-opts"
"--enable-shared"
"--enable-absolute-shared-libs" # Yes, NixOS will want an absolute path, and fix it.
"--enable-poll"
"--enable-openssl"
"--enable-default-runtime-options=f8,-8,t8" # Default to UTF-8 for source and all I/O
# "--enable-debug" # Nope: enables plenty of good stuff, but also the costly console.log
# "--enable-multiple-versions" # Nope, NixOS already does version multiplexing
# "--enable-guide"
# "--enable-track-scheme"
# "--enable-high-res-timing"
# "--enable-max-processors=4"
# "--enable-multiple-vms"
# "--enable-dynamic-tls"
# "--enable-multiple-threaded-vms" # when SMP branch is merged in
# "--enable-thread-system=posix" # default when --enable-multiple-vms is on.
# "--enable-profile"
# "--enable-coverage"
# "--enable-inline-jumps"
# "--enable-char-size=1" # default is 4
];
configurePhase = '' configurePhase = ''
options=( export CC=${gcc}/bin/gcc CXX=${gcc}/bin/g++ \
--prefix=$out CPP=${gcc}/bin/cpp CXXCPP=${gcc}/bin/cpp LD=${gcc}/bin/ld \
--enable-single-host XMKMF=${coreutils}/bin/false
--enable-c-opt=-O2 unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS
--enable-gcc-opts ./configure --prefix=$out ${builtins.concatStringsSep " " configureFlags}
--enable-shared
--enable-absolute-shared-libs # Yes, NixOS will want an absolute path, and fix it.
--enable-poll
--enable-openssl
--enable-default-runtime-options="f8,-8,t8" # Default to UTF-8 for source and all I/O
#--enable-debug # Nope: enables plenty of good stuff, but also the costly console.log
#--enable-multiple-versions # Nope, NixOS already does version multiplexing # OS-specific paths are hardcoded in ./configure
#--enable-guide substituteInPlace config.status \
#--enable-track-scheme --replace /usr/local/opt/openssl/lib "${openssl.out}/lib" \
#--enable-high-res-timing --replace /usr/local/opt/openssl@1.1/lib "${openssl.out}/lib"
#--enable-max-processors=4 ./config.status
#--enable-multiple-vms
#--enable-dynamic-tls
#--enable-multiple-vms
#--enable-multiple-threaded-vms ## when SMP branch is merged in
#--enable-thread-system=posix ## default when --enable-multiple-vms is on.
#--enable-profile
#--enable-coverage
#--enable-inline-jumps
#--enable-char-size=1" ; default is 4
)
./configure ''${options[@]}
''; '';
buildPhase = '' buildPhase = ''

View file

@ -1,13 +1,13 @@
{ stdenv, callPackage, fetchFromGitHub }: { stdenv, callPackage, fetchFromGitHub }:
callPackage ./build.nix { callPackage ./build.nix {
version = "unstable-2019-07-21"; version = "unstable-2020-02-24";
# git-version = "4.9.3-109-g3b5f74fa"; # git-version = "4.9.3-979-gc69e9f70";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "feeley"; owner = "feeley";
repo = "gambit"; repo = "gambit";
rev = "3b5f74fae74b2159e3bf6923f29a18b31cc15dcc"; rev = "c69e9f70dfdc6545353b135a5d5e2f9234f1e1cc";
sha256 = "07cb0d8754dqhxawkp5dp4y0bsa9kfald4dkj60j5yfnsp81y5mi"; sha256 = "1f69n7yzzdv3wpnjlrbck38xpa8115vbady43mc544l39ckklr0k";
}; };
inherit stdenv; inherit stdenv;
} }

View file

@ -3,9 +3,6 @@
openssl, zlib, sqlite, libxml2, libyaml, libmysqlclient, lmdb, leveldb, postgresql, openssl, zlib, sqlite, libxml2, libyaml, libmysqlclient, lmdb, leveldb, postgresql,
version, git-version, gambit, src }: version, git-version, gambit, src }:
# TODO: distinct packages for gerbil-release and gerbil-devel
# TODO: make static compilation work
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gerbil"; pname = "gerbil";
inherit version; inherit version;
@ -32,19 +29,23 @@ stdenv.mkDerivation rec {
substituteInPlace "$f" --replace '"gsc"' '"${gambit}/bin/gsc"' substituteInPlace "$f" --replace '"gsc"' '"${gambit}/bin/gsc"'
done done
substituteInPlace "etc/gerbil.el" --replace '"gxc"' "\"$out/bin/gxc\"" substituteInPlace "etc/gerbil.el" --replace '"gxc"' "\"$out/bin/gxc\""
'';
cat > etc/gerbil_static_libraries.sh <<EOF ## TODO: make static compilation work.
#OPENSSL_LIBCRYPTO=${makeStaticLibraries openssl}/lib/libcrypto.a # MISSING! ## For that, get all the packages below to somehow expose static libraries,
#OPENSSL_LIBSSL=${makeStaticLibraries openssl}/lib/libssl.a # MISSING! ## so we can offer users the option to statically link them into Gambit and/or Gerbil.
ZLIB=${makeStaticLibraries zlib}/lib/libz.a ## Then add the following to the postPatch script above:
# cat > etc/gerbil_static_libraries.sh <<EOF
# OPENSSL_LIBCRYPTO=${makeStaticLibraries openssl}/lib/libcrypto.a # MISSING!
# OPENSSL_LIBSSL=${makeStaticLibraries openssl}/lib/libssl.a # MISSING!
# ZLIB=${makeStaticLibraries zlib}/lib/libz.a
# SQLITE=${makeStaticLibraries sqlite}/lib/sqlite.a # MISSING! # SQLITE=${makeStaticLibraries sqlite}/lib/sqlite.a # MISSING!
# LIBXML2=${makeStaticLibraries libxml2}/lib/libxml2.a # MISSING! # LIBXML2=${makeStaticLibraries libxml2}/lib/libxml2.a # MISSING!
# YAML=${makeStaticLibraries libyaml}/lib/libyaml.a # MISSING! # YAML=${makeStaticLibraries libyaml}/lib/libyaml.a # MISSING!
MYSQL=${makeStaticLibraries libmysqlclient}/lib/mariadb/libmariadb.a # MYSQL=${makeStaticLibraries libmysqlclient}/lib/mariadb/libmariadb.a
# LMDB=${makeStaticLibraries lmdb}/lib/mysql/libmysqlclient_r.a # MISSING! # LMDB=${makeStaticLibraries lmdb}/lib/mysql/libmysqlclient_r.a # MISSING!
LEVELDB=${makeStaticLibraries lmdb}/lib/libleveldb.a # LEVELDB=${makeStaticLibraries leveldb}/lib/libleveldb.a
EOF # EOF
'';
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
@ -52,6 +53,14 @@ EOF
# Enable all optional libraries # Enable all optional libraries
substituteInPlace "src/std/build-features.ss" --replace '#f' '#t' substituteInPlace "src/std/build-features.ss" --replace '#f' '#t'
# Enable autodetection of a default GERBIL_HOME
for i in src/gerbil/boot/gx-init-exe.scm src/gerbil/boot/gx-init.scm ; do
substituteInPlace "$i" --replace '(getenv "GERBIL_HOME" #f)' "(getenv \"GERBIL_HOME\" \"$out\")"
done
for i in src/gerbil/boot/gxi-init.scm src/gerbil/compiler/driver.ss src/gerbil/runtime/gx-gambc.scm src/std/build.ss src/tools/build.ss ; do
substituteInPlace "$i" --replace '(getenv "GERBIL_HOME")' "(getenv \"GERBIL_HOME\" \"$out\")"
done
# gxprof testing uses $HOME/.cache/gerbil/gxc # gxprof testing uses $HOME/.cache/gerbil/gxc
export HOME=$$PWD export HOME=$$PWD
@ -71,7 +80,7 @@ EOF
export GERBIL_HOME=$out export GERBIL_HOME=$out
case "\$1" in -:*) GSIOPTIONS=\$1 ; shift ;; esac case "\$1" in -:*) GSIOPTIONS=\$1 ; shift ;; esac
if [[ \$# = 0 ]] ; then if [[ \$# = 0 ]] ; then
exec ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init \$GERBIL_HOME/lib/gxi-interactive - ; exec ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init \$GERBIL_HOME/lib/gxi-interactive -
else else
exec ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init "\$@" exec ${gambit}/bin/gsi \$GSIOPTIONS \$GERBIL_HOME/lib/gxi-init "\$@"
fi fi
@ -85,8 +94,8 @@ EOF
description = "Gerbil Scheme"; description = "Gerbil Scheme";
homepage = "https://github.com/vyzo/gerbil"; homepage = "https://github.com/vyzo/gerbil";
license = stdenv.lib.licenses.lgpl2; license = stdenv.lib.licenses.lgpl2;
# NB regarding platforms: only actually tested on Linux, *should* work everywhere, # NB regarding platforms: regularly tested on Linux, only occasionally on macOS.
# but *might* need adaptation e.g. on macOS. Please report success and/or failure to fare. # Please report success and/or failure to fare.
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ fare ]; maintainers = with stdenv.lib.maintainers; [ fare ];
}; };

View file

@ -1,15 +1,15 @@
{ stdenv, callPackage, fetchFromGitHub, gambit, gambit-unstable }: { stdenv, callPackage, fetchFromGitHub, gambit, gambit-unstable }:
callPackage ./build.nix { callPackage ./build.nix {
version = "unstable-2019-11-15"; version = "unstable-2020-02-27";
git-version = "0.15.1-461-gee22de62"; git-version = "0.16-DEV-493-g1ffb74db";
#gambit = gambit-unstable; #gambit = gambit-unstable;
gambit = gambit; gambit = gambit;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vyzo"; owner = "vyzo";
repo = "gerbil"; repo = "gerbil";
rev = "ee22de628a656ee59c6c72bc25d7b2e25a4ece2f"; rev = "1ffb74db5ffd49b4bad751586cef5e619c891d41";
sha256 = "1n1j596b91k9xcmv22l72nga6wv20bka2q51ik2jw2vkcw8zkc1c"; sha256 = "1szmdp8lvy5gpcwn5bpa7x383m6vywl35xa7hz9a5vs1rq4w2097";
}; };
inherit stdenv; inherit stdenv;
} }

View file

@ -84,6 +84,8 @@ let
targetCC = builtins.head toolsForTarget; targetCC = builtins.head toolsForTarget;
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false);
in in
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "8.10.0.20200123"; version = "8.10.0.20200123";
@ -110,7 +112,7 @@ stdenv.mkDerivation (rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -158,7 +160,7 @@ stdenv.mkDerivation (rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ ] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -79,6 +79,8 @@ let
targetCC = builtins.head toolsForTarget; targetCC = builtins.head toolsForTarget;
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false);
in in
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "8.4.4"; version = "8.4.4";
@ -126,7 +128,7 @@ stdenv.mkDerivation (rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -173,7 +175,7 @@ stdenv.mkDerivation (rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ ] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -84,6 +84,8 @@ let
targetCC = builtins.head toolsForTarget; targetCC = builtins.head toolsForTarget;
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false);
in in
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "8.6.5"; version = "8.6.5";
@ -125,7 +127,7 @@ stdenv.mkDerivation (rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -173,7 +175,7 @@ stdenv.mkDerivation (rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ ] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -84,6 +84,8 @@ let
targetCC = builtins.head toolsForTarget; targetCC = builtins.head toolsForTarget;
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false);
in in
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "8.8.1"; version = "8.8.1";
@ -110,7 +112,7 @@ stdenv.mkDerivation (rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -158,7 +160,7 @@ stdenv.mkDerivation (rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ ] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -84,6 +84,8 @@ let
targetCC = builtins.head toolsForTarget; targetCC = builtins.head toolsForTarget;
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false);
in in
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "8.8.2"; version = "8.8.2";
@ -110,7 +112,7 @@ stdenv.mkDerivation (rec {
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -147,18 +149,24 @@ stdenv.mkDerivation (rec {
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ] configurePlatforms = [ "build" "host" ]
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
# `--with` flags for libraries needed for RTS linker # `--with` flags for libraries needed for RTS linker
configureFlags = [ configureFlags = [
"--datadir=$doc/share/doc/ghc" "--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" ] ++ stdenv.lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" "--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ ] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -0,0 +1,240 @@
{ stdenv, pkgsBuildTarget, targetPackages
# build-tools
, bootPkgs
, autoconf, automake, coreutils, fetchurl, perl, python3, m4, sphinx
, bash
, libiconv ? null, ncurses
, # GHC can be built with system libffi or a bundled one.
libffi ? null
, useLLVM ? !stdenv.targetPlatform.isx86
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
buildLlvmPackages, llvmPackages
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
, # Whetherto build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
}:
assert !enableIntegerSimple -> gmp != null;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
inherit (bootPkgs) ghc;
# TODO(@Ericson2314) Make unconditional
targetPrefix = stdenv.lib.optionalString
(targetPlatform != hostPlatform)
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
GhcLibHcOpts += -fPIC
GhcRtsHcOpts += -fPIC
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
EXTRA_CC_OPTS += -std=gnu99
'';
# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
++ [libffi]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
targetCC = builtins.head toolsForTarget;
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false);
in
stdenv.mkDerivation (rec {
version = "8.8.3";
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "128g932i3wix6ic03v04nh5755vyjiidzri9iybwad72yfmc1p70";
};
enableParallelBuilding = true;
outputs = [ "out" "doc" ];
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
done
# GHC is a bit confused on its cross terminology, as these would normally be
# the *host* tools.
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
'' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
'' + stdenv.lib.optionalString targetPlatform.isMusl ''
echo "patching llvm-targets for musl targets..."
echo "Cloning these existing '*-linux-gnu*' targets:"
grep linux-gnu llvm-targets | sed 's/^/ /'
echo "(go go gadget sed)"
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
echo "llvm-targets now contains these '*-linux-musl*' targets:"
grep linux-musl llvm-targets | sed 's/^/ /'
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
for x in configure aclocal.m4; do
substituteInPlace $x \
--replace '*-android*|*-gnueabi*)' \
'*-android*|*-gnueabi*|*-musleabi*)'
done
'';
# TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ]
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
# `--with` flags for libraries needed for RTS linker
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
];
# Make sure we never relax`$PATH` and hooks support for compatability.
strictDeps = true;
# Dont add -liconv to LDFLAGS automatically so that GHC will add it itself.
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
];
# For building runtime libs
depsBuildTarget = toolsForTarget;
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
++ stdenv.lib.optional useLLVM llvmPackages.llvm;
depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
checkTarget = "test";
hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
# Patch scripts to include "readelf" and "cat" in $PATH.
for i in "$out/bin/"*; do
test ! -h $i || continue
egrep --quiet '^#!' <(head -n 1 $i) || continue
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
done
'';
passthru = {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
inherit enableShared;
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};
meta = {
homepage = http://haskell.org/ghc;
description = "The Glasgow Haskell Compiler";
maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
inherit (ghc.meta) license platforms;
};
} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
dontStrip = true;
dontPatchELF = true;
noAuditTmpdir = true;
})

View file

@ -85,6 +85,8 @@ let
targetCC = builtins.head toolsForTarget; targetCC = builtins.head toolsForTarget;
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false);
in in
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
inherit version; inherit version;
@ -117,7 +119,7 @@ stdenv.mkDerivation (rec {
export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
# and more generally have a faster linker. # and more generally have a faster linker.
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}" export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
@ -167,7 +169,7 @@ stdenv.mkDerivation (rec {
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [ ] ++ stdenv.lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold" "CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"

View file

@ -48,6 +48,18 @@ self: super: {
# Needs older QuickCheck version # Needs older QuickCheck version
attoparsec-varword = dontCheck super.attoparsec-varword; attoparsec-varword = dontCheck super.attoparsec-varword;
# https://github.com/koalaman/shellcheck/issues/1778
ShellCheck = overrideCabal super.ShellCheck (drv: {
patches = [
# cabal 3.0 support
( pkgs.fetchpatch {
url = "https://github.com/koalaman/shellcheck/commit/2c026f1ec7c205c731ff2a0ccd85365f37245.patch";
sha256 = "0z6yf350ngr6rwfkvdy670c476fgzj8a0n4ppdm1xr8r1lij7sfz";
excludes = [ "Dockerfile" ];
})
];
});
# Tests are failing # Tests are failing
# https://github.com/bos/statistics/issues/123 # https://github.com/bos/statistics/issues/123
statistics = dontCheck super.statistics; statistics = dontCheck super.statistics;
@ -69,12 +81,12 @@ self: super: {
# The Hackage tarball is purposefully broken, because it's not intended to be, like, useful. # The Hackage tarball is purposefully broken, because it's not intended to be, like, useful.
# https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/ # https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
git-annex = (overrideSrc super.git-annex { git-annex = (overrideSrc (appendPatch super.git-annex ./patches/git-annex-fix-build-with-ghc-8.8.x.patch) {
src = pkgs.fetchgit { src = pkgs.fetchgit {
name = "git-annex-${super.git-annex.version}-src"; name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/"; url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version; rev = "refs/tags/" + super.git-annex.version;
sha256 = "1shb1jgm78bx88rbsr1nmimjzzfqw96qdr38mcrr1c2qz5ky820v"; sha256 = "0pl0yip7zp4i78cj9jqkmm33wqaaaxjq3ggnfmv95y79yijd6yh4";
}; };
}).override { }).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null; dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -394,11 +406,6 @@ self: super: {
Random123 = dontCheck super.Random123; Random123 = dontCheck super.Random123;
systemd = dontCheck super.systemd; systemd = dontCheck super.systemd;
# use the correct version of network
systemd_2_2_0 = dontCheck (super.systemd_2_2_0.override {
network = self.network_3_1_1_1;
});
# https://github.com/eli-frey/cmdtheline/issues/28 # https://github.com/eli-frey/cmdtheline/issues/28
cmdtheline = dontCheck super.cmdtheline; cmdtheline = dontCheck super.cmdtheline;
@ -526,7 +533,9 @@ self: super: {
# Won't compile with recent versions of QuickCheck. # Won't compile with recent versions of QuickCheck.
inilist = dontCheck super.inilist; inilist = dontCheck super.inilist;
MissingH = dontCheck super.MissingH;
# Doesn't accept recent versions of 'base' or QuickCheck.
MissingH = dontCheck (doJailbreak super.MissingH);
# https://github.com/yaccz/saturnin/issues/3 # https://github.com/yaccz/saturnin/issues/3
Saturnin = dontCheck super.Saturnin; Saturnin = dontCheck super.Saturnin;
@ -688,15 +697,6 @@ self: super: {
# https://github.com/goldfirere/singletons/issues/122 # https://github.com/goldfirere/singletons/issues/122
singletons = dontCheck super.singletons; singletons = dontCheck super.singletons;
# Fix an aarch64 issue with cryptonite-0.25:
# https://github.com/haskell-crypto/cryptonite/issues/234
# This has been committed upstream, but there is, as of yet, no new release.
# Also, disable the test suite to avoid https://github.com/haskell-crypto/cryptonite/issues/260.
cryptonite = appendPatch (dontCheck super.cryptonite) (pkgs.fetchpatch {
url = https://github.com/haskell-crypto/cryptonite/commit/4622e5fc8ece82f4cf31358e31cd02cf020e558e.patch;
sha256 = "1m2d47ni4jbrpvxry50imj91qahr3r7zkqm157clrzlmw6gzpgnq";
});
# Djinn's last release was 2014, incompatible with Semigroup-Monoid Proposal # Djinn's last release was 2014, incompatible with Semigroup-Monoid Proposal
# https://github.com/augustss/djinn/pull/8 # https://github.com/augustss/djinn/pull/8
djinn = appendPatch super.djinn (pkgs.fetchpatch { djinn = appendPatch super.djinn (pkgs.fetchpatch {
@ -1042,34 +1042,7 @@ self: super: {
vector-algorithms = dontCheck super.vector-algorithms; vector-algorithms = dontCheck super.vector-algorithms;
# The test suite attempts to use the network. # The test suite attempts to use the network.
dhall = dhall = generateOptparseApplicativeCompletion "dhall" (dontCheck super.dhall);
generateOptparseApplicativeCompletion "dhall" (
dontCheck super.dhall
);
# https://github.com/dhall-lang/dhall-haskell/commit/dedd5e0ea6fd12f87d887af3d2220eebc61ee8af
# This raises the lower bound on prettyprinter to 1.5.1 since
# `removeTrailingWhitespace` is buggy in earlier versions.
# This will probably be able to be removed when we update to LTS-15.
dhall_1_29_0 =
dontCheck (super.dhall_1_29_0.override {
prettyprinter = self.prettyprinter_1_6_0;
prettyprinter-ansi-terminal =
self.prettyprinter-ansi-terminal.override {
prettyprinter = self.prettyprinter_1_6_0;
};
});
dhall-bash_1_0_27 = super.dhall-bash_1_0_27.override { dhall = self.dhall_1_29_0; };
dhall-json_1_6_1 = super.dhall-json_1_6_1.override {
dhall = self.dhall_1_29_0;
prettyprinter = self.prettyprinter_1_6_0;
prettyprinter-ansi-terminal =
self.prettyprinter-ansi-terminal.override {
prettyprinter = self.prettyprinter_1_6_0;
};
};
# Tests for dhall access the network.
dhall_1_27_0 = dontCheck super.dhall_1_27_0;
# Missing test files in source distribution, fixed once 1.4.0 is bumped # Missing test files in source distribution, fixed once 1.4.0 is bumped
# https://github.com/dhall-lang/dhall-haskell/pull/997 # https://github.com/dhall-lang/dhall-haskell/pull/997
@ -1096,7 +1069,6 @@ self: super: {
# The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5". # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
haddock-library = doJailbreak (dontCheck super.haddock-library); haddock-library = doJailbreak (dontCheck super.haddock-library);
haddock-library_1_8_0 = doJailbreak super.haddock-library_1_8_0;
# Generate shell completion. # Generate shell completion.
cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix; cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
@ -1205,12 +1177,6 @@ self: super: {
# Fix build with attr-2.4.48 (see #53716) # Fix build with attr-2.4.48 (see #53716)
xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch; xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
# These packages needs network 3.x, which is not in LTS-13.x.
network-bsd_2_8_1_0 = super.network-bsd_2_8_1_0.override { network = self.network_3_0_1_1; };
lambdabot-core = super.lambdabot-core.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
lambdabot-reference-plugins = super.lambdabot-reference-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; });
# Some tests depend on a postgresql instance # Some tests depend on a postgresql instance
# Haddock failure: https://github.com/haskell/haddock/issues/979 # Haddock failure: https://github.com/haskell/haddock/issues/979
esqueleto = dontHaddock (dontCheck super.esqueleto); esqueleto = dontHaddock (dontCheck super.esqueleto);
@ -1235,12 +1201,6 @@ self: super: {
# Test suite won't link for no apparent reason. # Test suite won't link for no apparent reason.
constraints-deriving = dontCheck super.constraints-deriving; constraints-deriving = dontCheck super.constraints-deriving;
# Use a matching version of ghc-lib-parser.
ghc-lib-parser-ex = super.ghc-lib-parser-ex.override { ghc-lib-parser = self.ghc-lib-parser_8_8_2_20200205; };
# https://github.com/sol/hpack/issues/366
hpack = self.hpack_0_33_0;
# QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7 # QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7
graphviz = dontCheck super.graphviz; graphviz = dontCheck super.graphviz;
@ -1256,10 +1216,6 @@ self: super: {
''; '';
}); });
# The LTS-14.x version of their dependencies are too old.
cabal-plan = super.cabal-plan.overrideScope (self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; ansi-terminal = self.ansi-terminal_0_10_2; base-compat = self.base-compat_0_11_1; semialign = self.semialign_1_1; time-compat = doJailbreak super.time-compat; });
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_23_0; };
# Version bounds for http-client are too strict: # Version bounds for http-client are too strict:
# https://github.com/bitnomial/prometheus/issues/34 # https://github.com/bitnomial/prometheus/issues/34
prometheus = doJailbreak super.prometheus; prometheus = doJailbreak super.prometheus;
@ -1296,10 +1252,6 @@ self: super: {
# upstream issue: https://github.com/vmchale/atspkg/issues/12 # upstream issue: https://github.com/vmchale/atspkg/issues/12
language-ats = dontCheck super.language-ats; language-ats = dontCheck super.language-ats;
# polysemy-plugin requires polysemy >= 1.2.0.0
polysemy = self.polysemy_1_2_3_0;
polysemy-zoo = self.polysemy-zoo_0_6_0_1;
# https://github.com/Happstack/web-routes-th/pull/3 # https://github.com/Happstack/web-routes-th/pull/3
web-routes-th = doJailbreak super.web-routes-th; web-routes-th = doJailbreak super.web-routes-th;
@ -1330,32 +1282,8 @@ self: super: {
# https://github.com/kazu-yamamoto/dns/issues/150 # https://github.com/kazu-yamamoto/dns/issues/150
dns = dontCheck super.dns; dns = dontCheck super.dns;
# needs newer version of the systemd package # Support recent versions of fast-logger.
spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; }; spacecookie = doJailbreak super.spacecookie;
# 2019-12-19 - glirc wants regex-tdfa >=1.3 which results in errors with regex-base which errors more
# hoping to make a proper derivation with plugins enabled and more reliable building -- kiwi
# 2020-01-17 - as of recently the basic doJailbreak is not enough and have to override regex-tdfa which needs an override for regex-base
glirc = doJailbreak (super.glirc.override {
regex-tdfa = self.regex-tdfa_1_3_1_0;
});
regex-tdfa_1_3_1_0 = doJailbreak (super.regex-tdfa_1_3_1_0.override {
regex-base = self.regex-base_0_94_0_0;
});
# 2020-01-19 - there were conflicting versions of brick, vty, and brick-skylighting;
# multiple versions of them were being pulled in by the others which is not allowed.
# There are more complicated ways of doing this but I was able to make it fairly simple -- kiwi
matterhorn = doJailbreak (super.matterhorn.override {
brick-skylighting = self.brick-skylighting.override {
brick = self.brick_0_51;
};
});
# 2020-01-19 - because of QuickCheck bounds | was broken anyway and is needed for matterhorn -- kiwi
Unique = doJailbreak super.Unique;
# apply patches from https://github.com/snapframework/snap-server/pull/126 # apply patches from https://github.com/snapframework/snap-server/pull/126
# manually until they are accepted upstream # manually until they are accepted upstream
@ -1380,17 +1308,97 @@ self: super: {
# Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0) # Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0)
ormolu = doJailbreak (super.ormolu.override { ormolu = doJailbreak (super.ormolu.override {
ghc-lib-parser = self.ghc-lib-parser_8_8_2_20200205; ghc-lib-parser = self.ghc-lib-parser_8_8_3_20200224;
}); });
# krank-0.1.0 does not accept PyF-0.9.0.0. # krank-0.1.0 does not accept PyF-0.9.0.0.
krank = doJailbreak super.krank; krank = doJailbreak super.krank;
# prettyprinter-1.6.0 fails its doctest suite.
prettyprinter_1_6_0 = dontCheck super.prettyprinter_1_6_0;
# the test suite has an overly tight restriction on doctest # the test suite has an overly tight restriction on doctest
# See https://github.com/ekmett/perhaps/pull/5 # See https://github.com/ekmett/perhaps/pull/5
perhaps = doJailbreak super.perhaps; perhaps = doJailbreak super.perhaps;
# it wants to build a statically linked binary by default
hledger-flow = overrideCabal super.hledger-flow ( drv: {
postPatch = (drv.postPatch or "") + ''
substituteInPlace hledger-flow.cabal --replace "-static" ""
'';
});
# cabal-fmt requires Cabal3
cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_0_0_0; };
# Several gtk2hs-provided packages at v0.13.8.0 fail to build on Darwin
# until we pick up https://github.com/gtk2hs/gtk2hs/pull/293 so apply that
# patch here. That single patch is for the gtk2hs super-repo, out of which
# we extract the patch for each indvidiual project (glib/gio/pango/gtk/gtk3).
glib = appendPatch super.glib (pkgs.fetchpatch {
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
includes = [ "glib.cabal" ];
stripLen = 1;
sha256 = "1zdss1xgsbijs3kx8dp5a81qryrfc1zm1xrd20whna3dqakf8b7g";
});
gio = appendPatch super.gio (pkgs.fetchpatch {
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
includes = [ "gio.cabal" ];
stripLen = 1;
sha256 = "0d72k6gqvgax9jcqi3gz1gqnar7jg8p5065z3mw2fcwvdw46s2zv";
});
pango = appendPatch super.pango (pkgs.fetchpatch {
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
includes = [ "pango.cabal" ];
stripLen = 1;
sha256 = "0dc221wlmyhc24h6ybfhbkxmcx4i6bvkbr1zgqidbnj3yp6w0l5w";
});
# gtk/gtk3 have an additional complication: independent of the above
# 0.13.8.0-specific fix, they need to be told on Darwin to use the Quartz
# rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249).
gtk3 =
let
patchedGtk3 = appendPatch super.gtk3 (pkgs.fetchpatch {
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
includes = [ "gtk3.cabal" ];
stripLen = 1;
sha256 = "0zvj0dzfwf9bksfhi0m4v0h5aij236gd0qhyr1adpdcjrkd8zbkd";
});
in
# The appendConfigureFlags should remain even after we can drop patchedGtk3.
appendConfigureFlags patchedGtk3 (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
gtk =
let
patchedGtk = appendPatch super.gtk (pkgs.fetchpatch {
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
includes = [ "gtk.cabal-renamed" ];
stripLen = 1;
sha256 = "0wb0scvmhg8b42hxpns9m6zak3r8b25a2z7wg6vl56n17nb635l7";
# One final complication: the gtk cabal file in the source repo (as seen
# by the patch) is `gtk.cabal-renamed`, but this gets changed to the usual
# `gtk.cabal` before uploading to Hackage by a script.
postFetch = ''
substituteInPlace $out --replace "-renamed" ""
'';
});
in
# The appendConfigureFlags should remain even after we can drop patchedGtk.
appendConfigureFlags patchedGtk (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
# Chart-tests needs and compiles some modules from Chart itself
Chart-tests = (addExtraLibrary super.Chart-tests self.QuickCheck).overrideAttrs (old: {
preCheck = old.postPatch or "" + ''
tar --one-top-level=../chart --strip-components=1 -xf ${self.Chart.src}
'';
});
# Unnecessary upper bound on vector <0.12.1
bitwise-enum = doJailbreak super.bitwise-enum;
# This breaks because of version bounds, but compiles and runs fine.
# Last commit is 5 years ago, so we likely won't get upstream fixed soon.
# https://bitbucket.org/rvlm/hakyll-contrib-hyphenation/src/master/
# Therefore we jailbreak it.
hakyll-contrib-hyphenation = doJailbreak super.hakyll-contrib-hyphenation;
# https://github.com/bergmark/feed/issues/43
feed = dontCheck super.feed;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View file

@ -44,27 +44,21 @@ self: super: {
# Jailbreak to fix the build. # Jailbreak to fix the build.
async = doJailbreak super.async; async = doJailbreak super.async;
ChasingBottoms = doJailbreak super.ChasingBottoms;
hashable = doJailbreak super.hashable; hashable = doJailbreak super.hashable;
primitive_0_7_0_0 = doJailbreak (dontCheck super.primitive_0_7_0_0); # evaluating the test suite gives an infinite recursion parallel = doJailbreak super.parallel;
regex-base_0_94_0_0 = doJailbreak super.regex-base_0_94_0_0; regex-base = doJailbreak super.regex-base;
regex-compat_0_95_2_0 = doJailbreak super.regex-compat_0_95_2_0; regex-compat = doJailbreak super.regex-compat;
regex-posix_0_96_0_0 = doJailbreak super.regex-posix_0_96_0_0; regex-pcre-builtin = doJailbreak super.regex-pcre-builtin;
regex-posix = doJailbreak super.regex-posix;
regex-tdfa = doJailbreak super.regex-tdfa;
split = doJailbreak super.split;
tar = doJailbreak super.tar; tar = doJailbreak super.tar;
tasty-expected-failure = doJailbreak super.tasty-expected-failure; tasty-expected-failure = doJailbreak super.tasty-expected-failure;
unliftio-core = doJailbreak super.unliftio-core; unliftio-core = doJailbreak super.unliftio-core;
vector = doJailbreak super.vector; vector = doJailbreak super.vector;
zlib = doJailbreak super.zlib; zlib = doJailbreak super.zlib;
parallel = doJailbreak super.parallel;
split = doJailbreak super.split;
# Use the latest version to fix the build. # Use the latest version to fix the build.
generic-deriving = self.generic-deriving_1_13_1;
optparse-applicative = self.optparse-applicative_0_15_1_0;
primitive = self.primitive_0_7_0_0;
regex-base = self.regex-base_0_94_0_0;
regex-compat = self.regex-compat_0_95_2_0;
regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
regex-posix = self.regex-posix_0_96_0_0;
regex-tdfa = self.regex-tdfa_1_3_1_0;
} }

View file

@ -87,4 +87,8 @@ self: super: {
# Builds only with ghc-8.8.x and beyond. # Builds only with ghc-8.8.x and beyond.
policeman = markBroken super.policeman; policeman = markBroken super.policeman;
# https://github.com/pikajude/stylish-cabal/issues/12
stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; }));
haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;
} }

View file

@ -68,86 +68,26 @@ self: super: {
io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13 io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13
snap-server = doJailbreak super.snap-server; snap-server = doJailbreak super.snap-server;
xmobar = doJailbreak super.xmobar; xmobar = doJailbreak super.xmobar;
# use latest version to fix the build
brick = self.brick_0_51;
dbus = self.dbus_1_2_11;
doctemplates = self.doctemplates_0_8;
exact-pi = doJailbreak super.exact-pi; exact-pi = doJailbreak super.exact-pi;
generics-sop = self.generics-sop_0_5_0_0; time-compat = doJailbreak super.time-compat;
hackage-db = self.hackage-db_2_1_0; http-media = doJailbreak super.http-media;
haddock-library = self.haddock-library_1_8_0; servant-server = doJailbreak super.servant-server;
haskell-src-meta = self.haskell-src-meta_0_8_5;
haskell-src-meta_0_8_5 = dontCheck super.haskell-src-meta_0_8_5;
HaTeX = self.HaTeX_3_22_0_0;
HsYAML = self.HsYAML_0_2_1_0;
json-autotype = doJailbreak super.json-autotype;
lens = self.lens_4_19;
memory = self.memory_0_15_0;
microlens = self.microlens_0_4_11_2;
microlens-ghc = self.microlens-ghc_0_4_12;
microlens-mtl = self.microlens-mtl_0_2_0_1;
microlens-platform = self.microlens-platform_0_4_1;
microlens-th = self.microlens-th_0_4_3_4;
network = self.network_3_1_1_1;
optparse-applicative = self.optparse-applicative_0_15_1_0;
pandoc = dontCheck super.pandoc_2_9_1_1; # https://github.com/jgm/pandoc/issues/6086
pandoc-types = self.pandoc-types_1_20;
prettyprinter = self.prettyprinter_1_6_0;
primitive = dontCheck super.primitive_0_7_0_0; # evaluating the test suite gives an infinite recursion
regex-base = self.regex-base_0_94_0_0;
regex-compat = self.regex-compat_0_95_2_0;
regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
regex-posix = self.regex-posix_0_96_0_0;
regex-tdfa = self.regex-tdfa_1_3_1_0;
shelly = self.shelly_1_9_0;
singletons = self.singletons_2_6;
skylighting = self.skylighting_0_8_3_2;
skylighting-core = self.skylighting-core_0_8_3_2;
sop-core = self.sop-core_0_5_0_0;
texmath = self.texmath_0_12;
th-desugar = self.th-desugar_1_10;
tls = self.tls_1_5_3;
trifecta = self.trifecta_2_1;
vty = self.vty_5_26;
xml-conduit = overrideCabal super.xml-conduit (drv: { version = "1.9.0.0"; sha256 = "1p57v127882rxvvmwjmvnqdmk3x2wg1z4d8y03849h0xaz1vid0w"; });
xmonad-contrib = self.xmonad-contrib_0_16;
# These packages don't work and need patching and/or an update. # These packages don't work and need patching and/or an update.
hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch { hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch"; url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch";
sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4"; sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4";
}); });
polyparse = appendPatch (doJailbreak super.polyparse) (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/polyparse-1.12.1.patch";
sha256 = "01b2gnsq0x4fd9na8zpk6pajym55mbz64hgzawlwxdw0y6681kr5";
});
foundation = dontCheck super.foundation; foundation = dontCheck super.foundation;
vault = dontHaddock super.vault; vault = dontHaddock super.vault;
# https://github.com/snapframework/snap-core/issues/288 # https://github.com/snapframework/snap-core/issues/288
snap-core = overrideCabal super.snap-core (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail = Fail.fail' ''"; }); snap-core = overrideCabal super.snap-core (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail = Fail.fail' ''"; });
# needs a release
json = overrideCabal super.json (drv: { prePatch = "substituteInPlace json.cabal --replace '4.13' '4.14'"; patches = [(
pkgs.fetchpatch {
url = "https://github.com/GaloisInc/json/commit/9d36ca5d865be7e4b2126b68a444b901941d2492.patch";
sha256 = "0vyi5nbivkqg6zngq7rb3wwcj9043m4hmyk155nrcddl8j2smfzv";
}
)]; });
# Upstream ships a broken Setup.hs file. # Upstream ships a broken Setup.hs file.
csv = overrideCabal super.csv (drv: { prePatch = "rm Setup.hs"; }); csv = overrideCabal super.csv (drv: { prePatch = "rm Setup.hs"; });
# mark broken packages
bencode = markBrokenVersion "0.6.0.0" super.bencode;
easytest = markBroken super.easytest;
easytest_0_3 = markBroken super.easytest_0_3;
haskell-src = markBrokenVersion "1.0.3.0" super.haskell-src;
# The LTS-14.x version of the dependencies are too old.
policeman = super.policeman.overrideScope (self: super: { ansi-terminal = self.ansi-terminal_0_10_2; relude = self.relude_0_6_0_0; });
# https://github.com/kowainik/relude/issues/241 # https://github.com/kowainik/relude/issues/241
relude_0_6_0_0 = dontCheck super.relude_0_6_0_0; relude = dontCheck super.relude;
} }

File diff suppressed because it is too large Load diff

View file

@ -640,18 +640,22 @@ self: super: builtins.intersectAttrs super {
# we can safely jailbreak spago and use the older directory package from # we can safely jailbreak spago and use the older directory package from
# LTS-14. # LTS-14.
spagoWithOverrides = doJailbreak (super.spago.override { spagoWithOverrides = doJailbreak (super.spago.override {
# spago requires dhall_1_27_0. # spago requires dhall-1.29.0.
dhall = self.dhall_1_27_0; dhall = self.dhall_1_29_0;
}); });
# This defines the version of the purescript-docs-search release we are using.
# This is defined in the src/Spago/Prelude.hs file in the spago source.
docsSearchVersion = "v0.0.8";
docsSearchAppJsFile = pkgs.fetchurl { docsSearchAppJsFile = pkgs.fetchurl {
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/docs-search-app.js"; url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/docs-search-app.js";
sha256 = "11721x455qzh40vzfmralaynn9v8b5wix86r107hhs08vhryjib2"; sha256 = "00pzi7pgjicpa0mg0al80gh2q1q2lqiyb3kjarpydlmn8dfjny7v";
}; };
purescriptDocsSearchFile = pkgs.fetchurl { purescriptDocsSearchFile = pkgs.fetchurl {
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/purescript-docs-search"; url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/purescript-docs-search";
sha256 = "16p1fmdvpwz1yswav8qjsd26c9airb22xncqw1rjnbd8lcpqx0p5"; sha256 = "1hsi1hc4p1z2xbw82w2jxmmczw6mravli1r89vrkivb72sqdjya7";
}; };
spagoFixHpack = overrideCabal spagoWithOverrides (drv: { spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
@ -676,6 +680,11 @@ self: super: builtins.intersectAttrs super {
# https://github.com/spacchetti/spago/issues/510 # https://github.com/spacchetti/spago/issues/510
cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js" cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search" cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
# For some weird reason, on Darwin, the open(2) call to embed these files
# requires write permissions. The easiest resolution is just to permit that
# (doesn't cause any harm on other systems).
chmod u+w "$sourceRoot/templates/docs-search-app.js" "$sourceRoot/templates/purescript-docs-search"
''; '';
}); });
@ -688,4 +697,17 @@ self: super: builtins.intersectAttrs super {
# checks SQL statements at compile time, and so requires a running PostgreSQL # checks SQL statements at compile time, and so requires a running PostgreSQL
# database to run it's test suite # database to run it's test suite
postgresql-typed = dontCheck super.postgresql-typed; postgresql-typed = dontCheck super.postgresql-typed;
# mplayer-spot uses mplayer at runtime.
mplayer-spot =
let path = pkgs.stdenv.lib.makeBinPath [ pkgs.mplayer ];
in overrideCabal (addBuildTool super.mplayer-spot pkgs.makeWrapper) (oldAttrs: {
postInstall = ''
wrapProgram $out/bin/mplayer-spot --prefix PATH : "${path}"
'';
});
# break infinite recursion with base-orphans
primitive = dontCheck super.primitive;
} }

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,125 @@
From f8d8959e43abd88c5e977079f0948e45cf4c0b0c Mon Sep 17 00:00:00 2001
From: Peter Simons <simons@cryp.to>
Date: Fri, 28 Feb 2020 11:56:48 +0100
Subject: [PATCH] Fix build with ghc-8.8.x.
The 'fail' method has been moved to the 'MonadFail' class. I made the changes
so that the code still compiles with previous versions of 'base' that don't
have the new MonadFail class exported by Prelude yet.
---
CmdLine/GitAnnex/Options.hs | 5 +++--
Command/Expire.hs | 5 +++--
Command/Init.hs | 7 ++++---
Utility/HumanTime.hs | 5 +++--
4 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/CmdLine/GitAnnex/Options.hs b/CmdLine/GitAnnex/Options.hs
index 030c83dd5..a9a36d76f 100644
--- a/CmdLine/GitAnnex/Options.hs
+++ b/CmdLine/GitAnnex/Options.hs
@@ -9,6 +9,7 @@
module CmdLine.GitAnnex.Options where
+import Control.Monad.Fail as Fail ( MonadFail(..) )
import Options.Applicative
import qualified Data.Map as M
@@ -215,8 +216,8 @@ parseAllOption = flag' WantAllKeys
<> help "operate on all versions of all files"
)
-parseKey :: Monad m => String -> m Key
-parseKey = maybe (fail "invalid key") return . deserializeKey
+parseKey :: MonadFail m => String -> m Key
+parseKey = maybe (Fail.fail "invalid key") return . deserializeKey
-- Options to match properties of annexed files.
annexedMatchingOptions :: [GlobalOption]
diff --git a/Command/Expire.hs b/Command/Expire.hs
index 83c38e569..37dc33883 100644
--- a/Command/Expire.hs
+++ b/Command/Expire.hs
@@ -17,6 +17,7 @@ import Annex.VectorClock
import qualified Remote
import Utility.HumanTime
+import Control.Monad.Fail as Fail ( MonadFail(..) )
import Data.Time.Clock.POSIX
import qualified Data.Map as M
@@ -105,9 +106,9 @@ parseExpire ps = do
Nothing -> giveup $ "bad expire time: " ++ s
Just d -> Just (now - durationToPOSIXTime d)
-parseActivity :: Monad m => String -> m Activity
+parseActivity :: MonadFail m => String -> m Activity
parseActivity s = case readish s of
- Nothing -> fail $ "Unknown activity. Choose from: " ++
+ Nothing -> Fail.fail $ "Unknown activity. Choose from: " ++
unwords (map show [minBound..maxBound :: Activity])
Just v -> return v
diff --git a/Command/Init.hs b/Command/Init.hs
index db6cb14fb..879a1110f 100644
--- a/Command/Init.hs
+++ b/Command/Init.hs
@@ -13,6 +13,7 @@ import Annex.Version
import Types.RepoVersion
import qualified Annex.SpecialRemote
+import Control.Monad.Fail as Fail ( MonadFail(..) )
import qualified Data.Map as M
cmd :: Command
@@ -33,14 +34,14 @@ optParser desc = InitOptions
<> help "Override default annex.version"
))
-parseRepoVersion :: Monad m => String -> m RepoVersion
+parseRepoVersion :: MonadFail m => String -> m RepoVersion
parseRepoVersion s = case RepoVersion <$> readish s of
- Nothing -> fail $ "version parse error"
+ Nothing -> Fail.fail $ "version parse error"
Just v
| v `elem` supportedVersions -> return v
| otherwise -> case M.lookup v autoUpgradeableVersions of
Just v' -> return v'
- Nothing -> fail $ s ++ " is not a currently supported repository version"
+ Nothing -> Fail.fail $ s ++ " is not a currently supported repository version"
seek :: InitOptions -> CommandSeek
seek = commandAction . start
diff --git a/Utility/HumanTime.hs b/Utility/HumanTime.hs
index 01fbeacfb..d2e70f332 100644
--- a/Utility/HumanTime.hs
+++ b/Utility/HumanTime.hs
@@ -19,6 +19,7 @@ module Utility.HumanTime (
import Utility.PartialPrelude
import Utility.QuickCheck
+import Control.Monad.Fail as Fail ( MonadFail(..) )
import qualified Data.Map as M
import Data.Time.Clock
import Data.Time.Clock.POSIX (POSIXTime)
@@ -44,7 +45,7 @@ daysToDuration :: Integer -> Duration
daysToDuration i = Duration $ i * dsecs
{- Parses a human-input time duration, of the form "5h", "1m", "5h1m", etc -}
-parseDuration :: Monad m => String -> m Duration
+parseDuration :: MonadFail m => String -> m Duration
parseDuration = maybe parsefail (return . Duration) . go 0
where
go n [] = return n
@@ -55,7 +56,7 @@ parseDuration = maybe parsefail (return . Duration) . go 0
u <- M.lookup c unitmap
go (n + num * u) rest
_ -> return $ n + num
- parsefail = fail "duration parse error; expected eg \"5m\" or \"1h5m\""
+ parsefail = Fail.fail "duration parse error; expected eg \"5m\" or \"1h5m\""
fromDuration :: Duration -> String
fromDuration Duration { durationSeconds = d }
--
2.25.1

View file

@ -1,6 +1,6 @@
{ stdenv, substituteAll, fetchurl { stdenv, substituteAll, fetchurl
, zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi, libunwind, Security , zlib ? null, zlibSupport ? true, bzip2, pkgconfig, libffi, libunwind, Security
, sqlite, openssl_1_0_2, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11 , sqlite, openssl, ncurses, python, expat, tcl, tk, tix, xlibsWrapper, libX11
, self, gdbm, db, lzma , self, gdbm, db, lzma
, python-setup-hook , python-setup-hook
# For the Python package set # For the Python package set
@ -40,7 +40,7 @@ in with passthru; stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ buildInputs = [
bzip2 openssl_1_0_2 pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db bzip2 openssl pythonForPypy libffi ncurses expat sqlite tk tcl xlibsWrapper libX11 gdbm db
] ++ optionals isPy3k [ ] ++ optionals isPy3k [
lzma lzma
] ++ optionals (stdenv ? cc && stdenv.cc.libc != null) [ ] ++ optionals (stdenv ? cc && stdenv.cc.libc != null) [

View file

@ -26,6 +26,11 @@ stdenv.mkDerivation rec {
cmakeFlags = [ cmakeFlags = [
"-DEXIV2_BUILD_PO=ON" "-DEXIV2_BUILD_PO=ON"
"-DEXIV2_BUILD_DOC=ON" "-DEXIV2_BUILD_DOC=ON"
# the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly
# (setting it to an absolute path causes include files to go to $out/$out/include,
# because the absolute path is interpreted with root at $out).
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_LIBDIR=lib"
]; ];
outputs = [ "out" "dev" "doc" "man" ]; outputs = [ "out" "dev" "doc" "man" ];

View file

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, cmake }: { stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "6.1.1";
pname = "fmt"; pname = "fmt";
version = "6.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fmtlib"; owner = "fmtlib";
repo = "fmt"; repo = "fmt";
rev = version; rev = version;
sha256 = "0arii4hs33lqlbfwilnxiq8mqcvdwz66b24qa7fdjiga02j8kl2n"; sha256 = "1ngb2fd7c2jnxi3x5kjgxmpixmyc737f77vibij43dl77ybiaihi";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -16,17 +16,11 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
cmakeFlags = [ cmakeFlags = [
"-DFMT_TEST=TRUE" "-DBUILD_SHARED_LIBS=ON"
"-DBUILD_SHARED_LIBS=TRUE" "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
]; ];
enableParallelBuilding = true;
doCheck = true; doCheck = true;
# preCheckHook ensures the test binaries can find libfmt.so
preCheck = ''
export LD_LIBRARY_PATH="$PWD"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Small, safe and fast formatting library"; description = "Small, safe and fast formatting library";

View file

@ -1,31 +1,43 @@
{stdenv, fetchurl, tcl}: { stdenv, fetchurl, writeText, tcl }:
stdenv.mkDerivation { stdenv.mkDerivation rec {
pname = "incrtcl"; pname = "incrtcl";
version = "4.2.0"; version = "4.2.0";
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl4.2.0.tar.gz; url = "mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itcl${version}.tar.gz";
sha256 = "0w28v0zaraxcq1s9pa6cihqqwqvvwfgz275lks7w4gl7hxjxmasw"; sha256 = "0w28v0zaraxcq1s9pa6cihqqwqvvwfgz275lks7w4gl7hxjxmasw";
}; };
buildInputs = [ tcl ]; buildInputs = [ tcl ];
configureFlags = [ "--with-tcl=${tcl}/lib" ]; configureFlags = [ "--with-tcl=${tcl}/lib" ];
enableParallelBuilding = true;
patchPhase = '' patchPhase = ''
substituteInPlace configure --replace "\''${TCL_SRC_DIR}/generic" "${tcl}/include" substituteInPlace configure --replace "\''${TCL_SRC_DIR}/generic" "${tcl}/include"
'';
preConfigure = ''
configureFlags="--exec_prefix=$prefix $configureFlags"
''; '';
passthru = { preConfigure = ''
libPrefix = "itcl3.4"; configureFlags="--exec_prefix=$prefix $configureFlags"
}; '';
postInstall = ''
rmdir $out/bin
mv $out/lib/itcl${version}/* $out/lib
rmdir $out/lib/itcl${version}
'';
setupHook = writeText "setup-hook.sh" ''
export ITCL_LIBRARY=@out@/lib
'';
outputs = [ "out" "dev" "man" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://incrtcl.sourceforge.net/; homepage = "http://incrtcl.sourceforge.net/";
description = "Object Oriented Enhancements for Tcl/Tk"; description = "Object Oriented Enhancements for Tcl/Tk";
platforms = platforms.unix; license = licenses.tcltk;
license = licenses.tcltk; platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice ];
}; };
} }

View file

@ -0,0 +1,11 @@
{ fetchzip }:
rec {
pname = "irrlicht";
version = "1.8.4";
src = fetchzip {
url = "mirror://sourceforge/irrlicht/${pname}-${version}.zip";
sha256 = "02sq067fn4xpf0lcyb4vqxmm43qg2nxx770bgrl799yymqbvih5f";
};
}

View file

@ -1,14 +1,14 @@
{ stdenv, fetchzip, libGLU, libGL, unzip, libXrandr, libX11, libXxf86vm }: { stdenv, fetchzip, libGLU, libGL, unzip, libXrandr, libX11, libXxf86vm }:
let
common = import ./common.nix { inherit fetchzip; };
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "irrlicht"; pname = common.pname;
version = "1.8.4"; version = common.version;
src = fetchzip { src = common.src;
url = "mirror://sourceforge/irrlicht/${pname}-${version}.zip";
sha256 = "02sq067fn4xpf0lcyb4vqxmm43qg2nxx770bgrl799yymqbvih5f";
};
preConfigure = '' preConfigure = ''
cd source/Irrlicht cd source/Irrlicht
@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
homepage = http://irrlicht.sourceforge.net/; homepage = http://irrlicht.sourceforge.net/;
license = stdenv.lib.licenses.zlib; license = stdenv.lib.licenses.zlib;
description = "Open source high performance realtime 3D engine written in C++"; description = "Open source high performance realtime 3D engine written in C++";
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
}; };
} }

View file

@ -0,0 +1,43 @@
{ stdenv, fetchzip, libGLU, libGL, unzip, fetchFromGitHub, cmake, Cocoa, OpenGL, IOKit }:
let
common = import ./common.nix { inherit fetchzip; };
in
stdenv.mkDerivation rec {
pname = "irrlicht-mac";
version = common.version;
src = fetchFromGitHub {
owner = "quiark";
repo = "IrrlichtCMake";
rev = "523a5e6ef84be67c3014f7b822b97acfced536ce";
sha256 = "10ahnry2zl64wphs233gxhvs6c0345pyf5nwa29mc6yn49x7bidi";
};
postUnpack = ''
cp -r ${common.src}/* $sourceRoot/
chmod -R 777 $sourceRoot
'';
patches = [ ./mac_device.patch ];
dontFixCmake = true;
cmakeFlags = [
"-DIRRLICHT_STATIC_LIBRARY=ON"
"-DIRRLICHT_BUILD_EXAMPLES=OFF"
"-DIRRLICHT_INSTALL_MEDIA_FILES=OFF"
"-DIRRLICHT_ENABLE_X11_SUPPORT=OFF"
"-DIRRLICHT_BUILD_TOOLS=OFF"
];
nativeBuildInputs = [ cmake ];
buildInputs = [ unzip OpenGL Cocoa IOKit ];
meta = {
homepage = http://irrlicht.sourceforge.net/;
license = stdenv.lib.licenses.zlib;
description = "Open source high performance realtime 3D engine written in C++";
platforms = stdenv.lib.platforms.darwin;
};
}

View file

@ -0,0 +1,20 @@
--- a/source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm
+++ b/source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm
@@ -39,7 +39,7 @@
#include <IOKit/hidsystem/IOHIDUsageTables.h>
#else
/* The header was moved here in Mac OS X 10.1 */
-#include <Kernel/IOKit/hidsystem/IOHIDUsageTables.h>
+#include <IOKit/hid/IOHIDUsageTables.h>
#endif
#include <IOKit/hid/IOHIDLib.h>
#include <IOKit/hid/IOHIDKeys.h>
@@ -496,7 +496,7 @@
{
[[NSAutoreleasePool alloc] init];
[NSApplication sharedApplication];
- [NSApp setDelegate:(id<NSFileManagerDelegate>)[[[AppDelegate alloc] initWithDevice:this] autorelease]];
+ [NSApp setDelegate:(id<NSApplicationDelegate>)[[[AppDelegate alloc] initWithDevice:this] autorelease]];
[NSBundle loadNibNamed:@"MainMenu" owner:[NSApp delegate]];
[NSApp finishLaunching];
}

View file

@ -0,0 +1,37 @@
{ stdenv, fetchurl, tcl, tk, incrtcl }:
stdenv.mkDerivation rec {
pname = "itk-tcl";
version = "4.1.0";
src = fetchurl {
url = "mirror://sourceforge/incrtcl/%5BIncr%20Tcl_Tk%5D-source/3.4/itk${version}.tar.gz";
sha256 = "1iy964jfgsfnc1agk1w6bbm44x18ily8d4wmr7cc9z9f4acn2r6s";
};
buildInputs = [ tcl tk incrtcl ];
enableParallelBuilding = true;
configureFlags = [
"--with-tcl=${tcl}/lib"
"--with-tk=${tk}/lib"
"--with-itcl=${incrtcl}/lib"
"--with-tkinclude=${tk.dev}/include"
];
postInstall = ''
rmdir $out/bin
mv $out/lib/itk${version}/* $out/lib
rmdir $out/lib/itk${version}
'';
outputs = [ "out" "dev" "man" ];
meta = with stdenv.lib; {
homepage = "http://incrtcl.sourceforge.net/";
description = "Mega-widget toolkit for incr Tk";
license = licenses.tcltk;
platforms = platforms.unix;
maintainers = with maintainers; [ thoughtpolice ];
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub }: { stdenv, fetchFromGitHub, fixDarwinDylibNames }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "leveldb"; pname = "leveldb";
@ -11,16 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "01kxga1hv4wp94agx5vl3ybxfw5klqrdsrb6p6ywvnjmjxm8322y"; sha256 = "01kxga1hv4wp94agx5vl3ybxfw5klqrdsrb6p6ywvnjmjxm8322y";
}; };
nativeBuildInputs = []
++ stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames ];
buildPhase = '' buildPhase = ''
make all make all
''; '';
installPhase = (stdenv.lib.optionalString stdenv.isDarwin '' installPhase = "
for file in out-shared/*.dylib*; do
install_name_tool -id $out/lib/$file $file
done
'') + # XXX consider removing above after transition to cmake in the next release
"
mkdir -p $out/{bin,lib,include} mkdir -p $out/{bin,lib,include}
cp -r include $out cp -r include $out

View file

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://developers.yubico.com/libu2f-host; homepage = https://developers.yubico.com/libu2f-host;
description = "A C library and command-line tool that implements the host-side of the U2F protocol"; description = "A C library and command-line tool that implements the host-side of the U2F protocol";
license = licenses.bsd2; license = with licenses; [ gpl3Plus lgpl21Plus ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mlt"; pname = "mlt";
version = "6.18.0"; version = "6.20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mltframework"; owner = "mltframework";
repo = "mlt"; repo = "mlt";
rev = "v${version}"; rev = "v${version}";
sha256 = "0iiqym15n8kbnjzj0asmm86gs23yykz0va5b475cc4v2vv5admgx"; sha256 = "14kayzas2wisyw0z27qkcm4qnxbdb7bqa0hg7gaj5kbm3nvsnafk";
}; };
buildInputs = [ buildInputs = [

View file

@ -7,13 +7,13 @@ let inherit (stdenv.lib) getDev; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mlt"; pname = "mlt";
version = "6.18.0"; version = "6.20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mltframework"; owner = "mltframework";
repo = "mlt"; repo = "mlt";
rev = "v${version}"; rev = "v${version}";
sha256 = "0iiqym15n8kbnjzj0asmm86gs23yykz0va5b475cc4v2vv5admgx"; sha256 = "14kayzas2wisyw0z27qkcm4qnxbdb7bqa0hg7gaj5kbm3nvsnafk";
}; };
buildInputs = [ buildInputs = [

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, cmake, pkgconfig }: { stdenv, fetchurl, cmake, pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "nss_wrapper-1.1.7"; name = "nss_wrapper-1.1.8";
src = fetchurl { src = fetchurl {
url = "mirror://samba/cwrap/${name}.tar.gz"; url = "mirror://samba/cwrap/${name}.tar.gz";
sha256 = "1pa7gakprkxblxdqbcy2242lk924gvzdgfr5648wb7cslksm7hbq"; sha256 = "1cnzhnz68ywx1jwj6xaxv8hg8hpm63ssxmrlhsz3sfgjhfkmw95l";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View file

@ -1,30 +0,0 @@
{ stdenv, buildOcaml, fetchurl, ocaml, cmdliner, re, uri_p4, fieldslib_p4
, sexplib_p4, conduit , stringext, base64, magic-mime, ounit, alcotest
, asyncSupport ? stdenv.lib.versionAtLeast ocaml.version "4.02"
, lwt ? null, async_p4 ? null, async_ssl_p4 ? null
}:
buildOcaml rec {
name = "cohttp";
version = "0.19.3";
minimumSupportedOcamlVersion = "4.01";
src = fetchurl {
url = "https://github.com/mirage/ocaml-cohttp/archive/v${version}.tar.gz";
sha256 = "1nrzpd4h52c1hnzcgsz462676saj9zss708ng001h54dglk8i1iv";
};
buildInputs = [ alcotest cmdliner conduit magic-mime ounit lwt ]
++ stdenv.lib.optionals asyncSupport [ async_p4 async_ssl_p4 ];
propagatedBuildInputs = [ re stringext uri_p4 fieldslib_p4 sexplib_p4 base64 ];
buildFlags = [ "PREFIX=$(out)" ];
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-cohttp;
description = "Very lightweight HTTP server using Lwt or Async";
license = licenses.mit;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -1,26 +0,0 @@
{ stdenv, buildOcaml, fetchurl, ocaml, sexplib_p4, stringext, uri_p4, cstruct, ipaddr_p4
, asyncSupport ? stdenv.lib.versionAtLeast ocaml.version "4.02"
, async_p4 ? null, async_ssl_p4 ? null, lwt ? null
}:
buildOcaml rec {
name = "conduit";
version = "0.10.0";
src = fetchurl {
url = "https://github.com/mirage/ocaml-conduit/archive/v${version}.tar.gz";
sha256 = "1jz2skzsyg0axlkk9s6ahfblfrjx599wisyfs0cvn5dik9jqjadh";
};
propagatedBuildInputs = [ sexplib_p4 stringext uri_p4 cstruct ipaddr_p4 ];
buildInputs = stdenv.lib.optional (lwt != null) lwt
++ stdenv.lib.optional (asyncSupport && async_p4 != null) async_p4
++ stdenv.lib.optional (asyncSupport && async_ssl_p4 != null) async_ssl_p4;
meta = with stdenv.lib; {
homepage = https://github.com/mirage/ocaml-conduit;
description = "Resolve URIs into communication channels for Async or Lwt ";
license = licenses.mit;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -515,13 +515,6 @@ rec {
meta.description = "Micro-benchmarking library for OCaml"; meta.description = "Micro-benchmarking library for OCaml";
}; };
core_profiler = janePackage {
pname = "core_profiler";
hash = "1kaaw3jp3qarbd9rgpjfb9md0dqblf2bxiqb245sqmx4c1346v1c";
propagatedBuildInputs = [ core_extended ];
meta.description = "Profiling library";
};
csvfields = janePackage { csvfields = janePackage {
pname = "csvfields"; pname = "csvfields";
hash = "10zw4fjlniivfdzzz79lnbvcjnhk5y16m1p8mn4xbs23n6mbix0f"; hash = "10zw4fjlniivfdzzz79lnbvcjnhk5y16m1p8mn4xbs23n6mbix0f";
@ -565,14 +558,6 @@ rec {
meta.description = "Helpers for incremental operations on map like data structures"; meta.description = "Helpers for incremental operations on map like data structures";
}; };
ocaml_plugin = janePackage {
pname = "ocaml_plugin";
hash = "0fal5j59qkbksg6ak1ngn92pcgg3f9gwfaglpxb7l6bck20kaigp";
buildInputs = [ ocamlbuild ];
propagatedBuildInputs = [ async ];
meta.description = "Automatically build and dynlink ocaml source files";
};
parsexp_io = janePackage { parsexp_io = janePackage {
pname = "parsexp_io"; pname = "parsexp_io";
hash = "0rhdl40jiirvv6fhgjk50n8wzs3jly5d8dyyyfgpjgl39mwkjjnb"; hash = "0rhdl40jiirvv6fhgjk50n8wzs3jly5d8dyyyfgpjgl39mwkjjnb";

View file

@ -25,11 +25,11 @@ let
package = buildPythonPackage rec { package = buildPythonPackage rec {
pname = "buildbot"; pname = "buildbot";
version = "2.6.0"; version = "2.7.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1l3ajhy68jddbgbizaa5hq65lgqkll6389hss4p2j36cbxbn7hiv"; sha256 = "0jj8fh611n7xc3vsfbgpqsllp38cfj3spkr2kz3ara2x7jvh3406";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -1,7 +1,7 @@
{ stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, pyparsing, pytest }: { stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, pyparsing, pytest }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.9"; version = "0.11";
pname = "ezdxf"; pname = "ezdxf";
disabled = pythonOlder "3.5"; disabled = pythonOlder "3.5";
@ -10,7 +10,7 @@ buildPythonPackage rec {
owner = "mozman"; owner = "mozman";
repo = "ezdxf"; repo = "ezdxf";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ggimjd9060b696sgzgxy9j9sl45wh9qbxnf0035qclafshprlzl"; sha256 = "167iw1j1c6195bwv6i8z1m7s0i27r0y0acxd2w76hvnq3a72jbsd";
}; };
checkInputs = [ pytest ]; checkInputs = [ pytest ];
@ -20,7 +20,7 @@ buildPythonPackage rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Python package to read and write DXF drawings (interface to the DXF file format)"; description = "Python package to read and write DXF drawings (interface to the DXF file format)";
homepage = https://github.com/mozman/ezdxf/; homepage = "https://github.com/mozman/ezdxf/";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ hodapp ]; maintainers = with maintainers; [ hodapp ];
platforms = platforms.unix; platforms = platforms.unix;

View file

@ -4,11 +4,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "gphoto2"; pname = "gphoto2";
version = "2.0.0"; version = "2.1.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "01vcbjsy5zpfd9rzshk2d6150vhb66m5n420j0wd0k0i0p74ya98"; sha256 = "1fdmlyy3lbc6ggfn60fjizaz5icxd676y7gz9nzfy3l4id7mfyk4";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
@ -19,7 +19,7 @@ buildPythonPackage rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Python interface to libgphoto2"; description = "Python interface to libgphoto2";
homepage = https://github.com/jim-easterbrook/python-gphoto2; homepage = "https://github.com/jim-easterbrook/python-gphoto2";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ jfrankenau ]; maintainers = with maintainers; [ jfrankenau ];
}; };

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, perl}: {stdenv, fetchurl, fetchpatch, perl, perlPackages, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lcov-1.14"; name = "lcov-1.14";
@ -8,13 +8,28 @@ stdenv.mkDerivation rec {
sha256 = "06h7ixyznf6vz1qvksjgy5f3q2nw9akf6zx59npf0h3l32cmd68l"; sha256 = "06h7ixyznf6vz1qvksjgy5f3q2nw9akf6zx59npf0h3l32cmd68l";
}; };
buildInputs = [ perl ]; patches =
[ (fetchpatch {
url = https://github.com/linux-test-project/lcov/commit/ebfeb3e179e450c69c3532f98cd5ea1fbf6ccba7.patch;
sha256 = "1z9jfqpj34jnzdvmqr5fs8hl56bvbwd8xhlbg3chcswbjj97vk7l";
})
(fetchpatch {
url = https://github.com/linux-test-project/lcov/commit/75fbae1cfc5027f818a0bb865bf6f96fab3202da.patch;
sha256 = "1wgd4y7vhvfnxyhdd0z2pi9ys6l0z88f14i69a7prb296m1zwg5j";
})
];
buildInputs = [ perl makeWrapper ];
preBuild = '' preBuild = ''
patchShebangs bin/ patchShebangs bin/
makeFlagsArray=(PREFIX=$out LCOV_PERL_PATH=$(command -v perl)) makeFlagsArray=(PREFIX=$out LCOV_PERL_PATH=$(command -v perl))
''; '';
postInstall = ''
wrapProgram $out/bin/lcov --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.PerlIOgzip perlPackages.JSON ]}
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Code coverage tool that enhances GNU gcov"; description = "Code coverage tool that enhances GNU gcov";

View file

@ -25,11 +25,11 @@
}: }:
let let
version = "2.0.0"; version = "2.1.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip"; url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
sha256 = "1fvc7lakdczim1i99hrwhwx2w75afd3q9fgbhrx7i3pnav3a6kbj"; sha256 = "0ijz9lxralyw18r5ra2h79jnafk5521ncr3knaip74cqa28csw9k";
}; };
# Update with `eval $(nix-build -A bazel.updater)`, # Update with `eval $(nix-build -A bazel.updater)`,
@ -51,9 +51,9 @@ let
(if stdenv.hostPlatform.isDarwin (if stdenv.hostPlatform.isDarwin
then srcs."java_tools_javac11_darwin-v7.0.zip" then srcs."java_tools_javac11_darwin-v7.0.zip"
else srcs."java_tools_javac11_linux-v7.0.zip") else srcs."java_tools_javac11_linux-v7.0.zip")
srcs."coverage_output_generator-v2.0.zip" srcs."coverage_output_generator-v2.1.zip"
srcs.build_bazel_rules_nodejs srcs.build_bazel_rules_nodejs
srcs."android_tools_pkg-0.12.tar.gz" srcs."android_tools_pkg-0.13.tar.gz"
srcs."0.28.3.tar.gz" srcs."0.28.3.tar.gz"
srcs.rules_pkg srcs.rules_pkg
srcs.rules_cc srcs.rules_cc
@ -106,6 +106,7 @@ let
# and libraries path. # and libraries path.
# We prefetch it, patch it, and override it in a global bazelrc. # We prefetch it, patch it, and override it in a global bazelrc.
system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux"; system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
arch = stdenv.hostPlatform.parsed.cpu.name;
remote_java_tools = stdenv.mkDerivation { remote_java_tools = stdenv.mkDerivation {
name = "remote_java_tools_${system}"; name = "remote_java_tools_${system}";
@ -493,9 +494,11 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin mkdir -p $out/bin
# official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel # official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel
# if it cant find something in tools, it calls $out/bin/bazel-real # if it cant find something in tools, it calls $out/bin/bazel-{version}-{os_arch}
# The binary _must_ exist with this naming if your project contains a .bazelversion
# file.
cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
mv ./bazel_src/output/bazel $out/bin/bazel-real mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch}
# shell completion files # shell completion files
mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
@ -534,7 +537,7 @@ stdenv.mkDerivation rec {
exec "$BAZEL_REAL" "$@" exec "$BAZEL_REAL" "$@"
EOF EOF
# second call succeeds because it defers to $out/bin/bazel-real # second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch}
hello_test hello_test
''; '';

View file

@ -55,11 +55,11 @@
"https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz" "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
] ]
}, },
"android_tools_pkg-0.12.tar.gz": { "android_tools_pkg-0.13.tar.gz": {
"name": "android_tools_pkg-0.12.tar.gz", "name": "android_tools_pkg-0.13.tar.gz",
"sha256": "96c4eef4d195dd95e43a4259cf5b82a1e34f67333439e91955bbdc0e1c8e7a31", "sha256": "3ca6a5e6576a9cda7c59f5fd33b1fe096725730712057c5893589ac15b019407",
"urls": [ "urls": [
"https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.12.tar.gz" "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.13.tar.gz"
] ]
}, },
"bazel_j2objc": { "bazel_j2objc": {
@ -115,11 +115,11 @@
"https://github.com/google/googletest/archive/release-1.10.0.tar.gz" "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
] ]
}, },
"coverage_output_generator-v2.0.zip": { "coverage_output_generator-v2.1.zip": {
"name": "coverage_output_generator-v2.0.zip", "name": "coverage_output_generator-v2.1.zip",
"sha256": "3a6951051272d51613ac4c77af6ce238a3db321bf06506fde1b8866eb18a89dd", "sha256": "96ac6bc9b9fbc67b532bcae562da1642409791e6a4b8e522f04946ee5cc3ff8e",
"urls": [ "urls": [
"https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.0.zip" "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.1.zip"
] ]
}, },
"desugar_jdk_libs": { "desugar_jdk_libs": {

View file

@ -1,16 +1,16 @@
{ stdenv, buildGoPackage, fetchFromGitHub { stdenv, buildGoPackage, fetchFromGitHub
, gpgme, libgpgerror, lvm2, btrfs-progs, pkgconfig, libselinux, libseccomp , gpgme, libgpgerror, lvm2, btrfs-progs, pkg-config, libselinux, libseccomp
}: }:
buildGoPackage rec { buildGoPackage rec {
pname = "buildah"; pname = "buildah";
version = "1.14.0"; version = "1.14.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = "buildah"; repo = "buildah";
rev = "v${version}"; rev = "v${version}";
sha256 = "0nbcrhfd0c14d0m9a4mkd01jxk5i503z38kv2qfz5cvfghx517qq"; sha256 = "12x80g83xjcjiafcxyqrhg952nq5w91df35d7lnvc2vz8vvpkyx1";
}; };
outputs = [ "bin" "man" "out" ]; outputs = [ "bin" "man" "out" ];
@ -18,7 +18,7 @@ buildGoPackage rec {
goPackagePath = "github.com/containers/buildah"; goPackagePath = "github.com/containers/buildah";
excludedPackages = [ "tests" ]; excludedPackages = [ "tests" ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs libselinux libseccomp ]; buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs libselinux libseccomp ];
patches = [ ./disable-go-module-mode.patch ]; patches = [ ./disable-go-module-mode.patch ];
@ -36,7 +36,7 @@ buildGoPackage rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A tool which facilitates building OCI images"; description = "A tool which facilitates building OCI images";
homepage = "https://github.com/containers/buildah"; homepage = "https://buildah.io/";
changelog = "https://github.com/containers/buildah/releases/tag/v${version}"; changelog = "https://github.com/containers/buildah/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ Profpatsch vdemeester saschagrunert ]; maintainers = with maintainers; [ Profpatsch vdemeester saschagrunert ];

View file

@ -1,6 +1,6 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'chef-dk', '2.4.17' gem 'chef-dk', '4.7.73'
gem 'pry' gem 'pry'
gem 'test-kitchen' gem 'test-kitchen'
gem 'inspec' gem 'inspec'
@ -12,6 +12,6 @@ gem 'foodcritic'
gem 'ohai' gem 'ohai'
gem 'rubocop' gem 'rubocop'
gem 'knife-spork' gem 'knife-spork'
gem 'fauxhai' gem 'fauxhai-ng'
gem 'chefspec' gem 'chefspec'
gem 'chef-provisioning' gem 'chef-provisioning'

View file

@ -1,90 +1,251 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
activesupport (5.2.4.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.5.2) addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0) public_suffix (>= 2.0.2, < 4.0)
app_conf (0.4.2) app_conf (0.4.2)
ast (2.3.0) ast (2.4.0)
backports (3.10.3) aws-eventstream (1.0.3)
berkshelf (6.3.1) aws-partitions (1.275.0)
buff-config (~> 2.0) aws-sdk-apigateway (1.36.0)
buff-extensions (~> 2.0) aws-sdk-core (~> 3, >= 3.71.0)
chef (>= 12.7.2) aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.15.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-athena (1.22.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.22.0)
aws-sdk-core (~> 3, >= 3.52.1)
aws-sigv4 (~> 1.1)
aws-sdk-budgets (1.27.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudformation (1.30.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.19.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsmv2 (1.20.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudtrail (1.20.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.32.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchlogs (1.28.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.30.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.27.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.28.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.40.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.90.1)
aws-eventstream (~> 1.0, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-costandusagereportservice (1.18.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-dynamodb (1.43.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.144.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.25.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecs (1.57.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.31.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticache (1.29.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.26.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.19.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancingv2 (1.39.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticsearchservice (1.30.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-firehose (1.24.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.33.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-kafka (1.17.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-kinesis (1.20.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.29.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.36.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.17.0)
aws-sdk-core (~> 3, >= 3.39.0)
aws-sigv4 (~> 1.0)
aws-sdk-rds (1.78.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.37.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.30.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53domains (1.18.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53resolver (1.11.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.60.2)
aws-sdk-core (~> 3, >= 3.83.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
aws-sdk-securityhub (1.18.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ses (1.27.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-sms (1.17.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-sns (1.21.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-sqs (1.23.1)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.71.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.1.0)
aws-eventstream (~> 1.0, >= 1.0.2)
azure_graph_rbac (0.17.1)
ms_rest_azure (~> 0.11.0)
azure_mgmt_key_vault (0.17.5)
ms_rest_azure (~> 0.11.1)
azure_mgmt_resources (0.17.8)
ms_rest_azure (~> 0.11.1)
azure_mgmt_security (0.18.0)
ms_rest_azure (~> 0.11.1)
azure_mgmt_storage (0.19.2)
ms_rest_azure (~> 0.11.1)
backports (3.16.1)
bcrypt_pbkdf (1.0.1)
berkshelf (7.0.9)
chef (>= 13.6.52)
chef-config
cleanroom (~> 1.0) cleanroom (~> 1.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
faraday (~> 0.9) minitar (>= 0.6)
httpclient (~> 2.7) mixlib-archive (>= 0.4, < 2.0)
minitar (~> 0.5, >= 0.5.4) mixlib-config (>= 2.2.5)
mixlib-archive (~> 0.4) mixlib-shellout (>= 2.0, < 4.0)
mixlib-shellout (~> 2.0)
octokit (~> 4.0) octokit (~> 4.0)
retryable (~> 2.0) retryable (>= 2.0, < 4.0)
ridley (~> 5.0)
solve (~> 4.0) solve (~> 4.0)
thor (~> 0.19, < 0.19.2) thor (>= 0.20)
buff-config (2.0.0) builder (3.2.4)
buff-extensions (~> 2.0) chef (15.8.23)
varia_model (~> 0.6)
buff-extensions (2.0.0)
buff-ignore (1.2.0)
buff-ruby_engine (1.0.0)
buff-shell_out (1.1.0)
buff-ruby_engine (~> 1.0)
builder (3.2.3)
celluloid (0.16.0)
timers (~> 4.0.0)
celluloid-io (0.16.2)
celluloid (>= 0.16.0)
nio4r (>= 1.1.0)
chef (13.6.4)
addressable addressable
bcrypt_pbkdf (~> 1.0)
bundler (>= 1.10) bundler (>= 1.10)
chef-config (= 13.6.4) chef-config (= 15.8.23)
chef-zero (>= 13.0) chef-utils (= 15.8.23)
chef-zero (>= 14.0.11)
diff-lcs (~> 1.2, >= 1.2.4) diff-lcs (~> 1.2, >= 1.2.4)
ed25519 (~> 1.2)
erubis (~> 2.7) erubis (~> 2.7)
ffi (~> 1.9, >= 1.9.25)
ffi-libarchive
ffi-yajl (~> 2.2) ffi-yajl (~> 2.2)
highline (~> 1.6, >= 1.6.9) highline (>= 1.6.9, < 2)
iniparse (~> 1.4) iniparse (~> 1.4)
iso8601 (~> 0.9.1) license-acceptance (~> 1.0, >= 1.0.5)
mixlib-archive (~> 0.4) mixlib-archive (>= 0.4, < 2.0)
mixlib-authentication (~> 1.4) mixlib-authentication (>= 2.1, < 4)
mixlib-cli (~> 1.7) mixlib-cli (>= 2.1.1, < 3.0)
mixlib-log (~> 1.3) mixlib-log (>= 2.0.3, < 4.0)
mixlib-shellout (~> 2.0) mixlib-shellout (>= 3.0.3, < 4.0)
net-sftp (~> 2.1, >= 2.1.2) net-sftp (~> 2.1, >= 2.1.2)
net-ssh (>= 2.9, < 5.0) net-ssh (>= 4.2, < 6)
net-ssh-multi (~> 1.2, >= 1.2.1) net-ssh-multi (~> 1.2, >= 1.2.1)
ohai (~> 13.0) ohai (~> 15.0)
plist (~> 3.2) plist (~> 3.2)
proxifier (~> 1.0) proxifier (~> 1.0)
rspec-core (~> 3.5)
rspec-expectations (~> 3.5)
rspec-mocks (~> 3.5)
rspec_junit_formatter (~> 0.2.0)
serverspec (~> 2.7)
specinfra (~> 2.10)
syslog-logger (~> 1.6) syslog-logger (~> 1.6)
train-core (~> 3.1)
train-winrm (>= 0.2.5)
tty-screen (~> 0.6)
uuidtools (~> 2.1.5) uuidtools (~> 2.1.5)
chef-config (13.6.4) chef-cli (2.0.0)
addressable
fuzzyurl
mixlib-config (~> 2.0)
mixlib-shellout (~> 2.0)
chef-dk (2.4.17)
addressable (>= 2.3.5, < 2.6) addressable (>= 2.3.5, < 2.6)
chef (~> 13.0) chef (>= 14.0)
chef-provisioning (~> 2.0)
cookbook-omnifetch (~> 0.5) cookbook-omnifetch (~> 0.5)
diff-lcs (~> 1.0) diff-lcs (~> 1.0)
ffi-yajl (>= 1.0, < 3.0) ffi-yajl (>= 1.0, < 3.0)
minitar (~> 0.5.4) license-acceptance (~> 1.0, >= 1.0.11)
mixlib-cli (~> 1.7) minitar (~> 0.6)
mixlib-shellout (~> 2.0) mixlib-cli (>= 1.7, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
paint (~> 1.0) paint (~> 1.0)
solve (> 2.0, < 5.0) solve (> 2.0, < 5.0)
chef-provisioning (2.6.0) chef-config (15.8.23)
cheffish (>= 4.0, < 14.0) addressable
chef-utils (= 15.8.23)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-dk (4.7.73)
addressable (>= 2.3.5, < 2.6)
chef (~> 15.0)
cookbook-omnifetch (~> 0.5)
diff-lcs (~> 1.0)
ffi-yajl (>= 1.0, < 3.0)
license-acceptance (~> 1.0, >= 1.0.11)
minitar (~> 0.6)
mixlib-cli (>= 1.7, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
paint (~> 1.0)
solve (> 2.0, < 5.0)
chef-provisioning (2.7.6)
cheffish (>= 4.0, < 15.0)
inifile (>= 2.0.2) inifile (>= 2.0.2)
mixlib-install (>= 1.0) mixlib-install (>= 1.0)
net-scp (~> 1.0) net-scp (~> 1.0)
@ -93,46 +254,67 @@ GEM
winrm (~> 2.0) winrm (~> 2.0)
winrm-elevated (~> 1.0) winrm-elevated (~> 1.0)
winrm-fs (~> 1.0) winrm-fs (~> 1.0)
chef-vault (3.3.0) chef-telemetry (1.0.3)
chef-zero (13.1.0) chef-config
concurrent-ruby (~> 1.0)
ffi-yajl (~> 2.2)
http (~> 2.2)
chef-utils (15.8.23)
chef-vault (4.0.1)
chef-zero (14.0.17)
ffi-yajl (~> 2.2) ffi-yajl (~> 2.2)
hashie (>= 2.0, < 4.0) hashie (>= 2.0, < 4.0)
mixlib-log (~> 1.3) mixlib-log (>= 2.0, < 4.0)
rack (~> 2.0) rack (~> 2.0, >= 2.0.6)
uuidtools (~> 2.1) uuidtools (~> 2.1)
cheffish (13.1.0) cheffish (14.0.13)
chef-zero (~> 13.0) chef-zero (~> 14.0)
net-ssh net-ssh
chefspec (7.1.1) chefspec (9.1.0)
chef (>= 12.14.89) chef (>= 14)
fauxhai (>= 4, < 6) chef-cli
fauxhai-ng (>= 7.5)
rspec (~> 3.0) rspec (~> 3.0)
cleanroom (1.0.0) cleanroom (1.0.0)
coderay (1.1.2) coderay (1.1.2)
concurrent-ruby (1.0.5) concurrent-ruby (1.1.6)
cookbook-omnifetch (0.8.0) cookbook-omnifetch (0.9.1)
mixlib-archive (~> 0.4) mixlib-archive (>= 0.4, < 2.0)
cucumber-core (3.1.0) cucumber-core (3.2.1)
backports (>= 3.8.0) backports (>= 3.8.0)
cucumber-tag_expressions (~> 1.1.0) cucumber-tag_expressions (~> 1.1.0)
gherkin (>= 5.0.0) gherkin (~> 5.0)
cucumber-tag_expressions (1.1.1) cucumber-tag_expressions (1.1.1)
declarative (0.0.10)
declarative-option (0.1.0)
diff-lcs (1.3) diff-lcs (1.3)
diffy (3.2.0) diffy (3.3.0)
docker-api (1.34.0) docker-api (1.34.2)
excon (>= 0.47.0) excon (>= 0.47.0)
multi_json multi_json
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
ed25519 (1.2.4)
equatable (0.6.1)
erubi (1.9.0)
erubis (2.7.0) erubis (2.7.0)
excon (0.59.0) excon (0.72.0)
faraday (0.13.1) faraday (0.17.3)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
fauxhai (5.5.0) faraday-cookie_jar (0.0.6)
faraday (>= 0.7.4)
http-cookie (~> 1.0.0)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
fauxhai-ng (7.6.0)
net-ssh net-ssh
ffi (1.9.18) ffi (1.12.2)
ffi-yajl (2.3.1) ffi-libarchive (1.0.0)
ffi (~> 1.0)
ffi-yajl (2.3.3)
libyajl2 (~> 1.2) libyajl2 (~> 1.2)
foodcritic (12.2.1) foodcritic (16.2.0)
cucumber-core (>= 1.3) cucumber-core (>= 1.3, < 4.0)
erubis erubis
ffi-yajl (~> 2.0) ffi-yajl (~> 2.0)
nokogiri (>= 1.5, < 2.0) nokogiri (>= 1.5, < 2.0)
@ -140,252 +322,396 @@ GEM
rufus-lru (~> 1.0) rufus-lru (~> 1.0)
treetop (~> 1.4) treetop (~> 1.4)
fuzzyurl (0.9.0) fuzzyurl (0.9.0)
gherkin (5.0.0) gherkin (5.1.0)
git (1.3.0) git (1.6.0)
gssapi (1.2.0) rchardet (~> 1.8)
google-api-client (0.34.1)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
signet (~> 0.12)
googleauth (0.10.0)
faraday (~> 0.12)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.12)
gssapi (1.3.0)
ffi (>= 1.0.1) ffi (>= 1.0.1)
gyoku (1.3.1) gyoku (1.3.1)
builder (>= 2.1.2) builder (>= 2.1.2)
hashie (3.5.6) hashie (3.6.0)
highline (1.7.10) highline (1.7.10)
hitimes (1.2.6)
htmlentities (4.3.4) htmlentities (4.3.4)
http (2.2.2)
addressable (~> 2.3)
http-cookie (~> 1.0)
http-form_data (~> 1.0.1)
http_parser.rb (~> 0.6.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
http-form_data (1.0.3)
http_parser.rb (0.6.0)
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
inifile (3.0.0) inifile (3.0.0)
iniparse (1.4.4) iniparse (1.4.4)
inspec (1.47.0) inspec (4.18.85)
faraday_middleware (~> 0.12.2)
inspec-core (= 4.18.85)
train (~> 3.0)
train-aws (~> 0.1)
train-habitat (~> 0.1)
train-winrm (~> 0.2)
inspec-core (4.18.85)
addressable (~> 2.4) addressable (~> 2.4)
chef-telemetry (~> 1.0)
faraday (>= 0.9.0) faraday (>= 0.9.0)
hashie (~> 3.4) hashie (~> 3.4)
htmlentities htmlentities (~> 4.3)
json (>= 1.8, < 3.0) json-schema (~> 2.8)
license-acceptance (>= 0.2.13, < 2.0)
method_source (~> 0.8) method_source (~> 0.8)
mixlib-log mixlib-log (~> 3.0)
multipart-post (~> 2.0)
parallel (~> 1.9) parallel (~> 1.9)
parslet (~> 1.5) parslet (~> 1.5)
pry (~> 0) pry (~> 0)
rainbow (~> 2) rspec (~> 3.9)
rspec (~> 3)
rspec-its (~> 1.2) rspec-its (~> 1.2)
rubyzip (~> 1.1) rubyzip (~> 1.2, >= 1.2.2)
semverse semverse (~> 3.0)
sslshake (~> 1.2) sslshake (~> 1.2)
thor (~> 0.19) term-ansicolor (~> 1.7)
thor (>= 0.20, < 2.0)
tomlrb (~> 1.2) tomlrb (~> 1.2)
train (~> 0.30) train-core (~> 3.0)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
ipaddress (0.8.3) ipaddress (0.8.3)
iso8601 (0.9.1) jaro_winkler (1.5.4)
json (2.1.0) jmespath (1.4.0)
kitchen-inspec (0.20.0) json (2.3.0)
json-schema (2.8.1)
addressable (>= 2.4)
jwt (2.2.1)
kitchen-inspec (1.3.1)
hashie (~> 3.4) hashie (~> 3.4)
inspec (>= 0.34.0, < 2.0.0) inspec (>= 1.47, < 5.0)
test-kitchen (~> 1.6) test-kitchen (>= 1.6, < 3)
kitchen-vagrant (1.2.1) kitchen-vagrant (1.6.1)
test-kitchen (~> 1.4) test-kitchen (>= 1.4, < 3)
knife-spork (1.7.1) knife-spork (1.7.2)
app_conf (>= 0.4.0) app_conf (>= 0.4.0)
chef (>= 11.0.0) chef (>= 11.0.0)
diffy (>= 3.0.1) diffy (>= 3.0.1)
git (>= 1.2.5) git (>= 1.2.5)
libyajl2 (1.2.0) libyajl2 (1.2.0)
license-acceptance (1.0.13)
pastel (~> 0.7)
tomlrb (~> 1.2)
tty-box (~> 0.3)
tty-prompt (~> 0.18)
little-plugger (1.1.4) little-plugger (1.1.4)
logging (2.2.2) logging (2.2.2)
little-plugger (~> 1.1) little-plugger (~> 1.1)
multi_json (~> 1.10) multi_json (~> 1.10)
method_source (0.9.0) memoist (0.16.2)
mini_portile2 (2.3.0) method_source (0.9.2)
minitar (0.5.4) mini_mime (1.0.2)
mixlib-archive (0.4.1) mini_portile2 (2.4.0)
minitar (0.9)
minitest (5.14.0)
mixlib-archive (1.0.5)
mixlib-log mixlib-log
mixlib-authentication (1.4.2) mixlib-authentication (3.0.6)
mixlib-cli (1.7.0) mixlib-cli (2.1.5)
mixlib-config (2.2.4) mixlib-config (3.0.6)
mixlib-install (3.8.0) tomlrb
mixlib-install (3.11.26)
mixlib-shellout mixlib-shellout
mixlib-versioning mixlib-versioning
thor thor
mixlib-log (1.7.1) mixlib-log (3.0.8)
mixlib-shellout (2.3.2) mixlib-shellout (3.0.9)
mixlib-versioning (1.2.2) mixlib-versioning (1.2.12)
molinillo (0.6.4) molinillo (0.6.6)
multi_json (1.12.2) ms_rest (0.7.5)
multipart-post (2.0.0) concurrent-ruby (~> 1.0)
faraday (~> 0.9)
timeliness (~> 0.3.10)
ms_rest_azure (0.11.1)
concurrent-ruby (~> 1.0)
faraday (~> 0.9)
faraday-cookie_jar (~> 0.0.6)
ms_rest (~> 0.7.4)
unf_ext (= 0.0.7.2)
multi_json (1.14.1)
multipart-post (2.1.1)
necromancer (0.5.1)
net-scp (1.2.1) net-scp (1.2.1)
net-ssh (>= 2.6.5) net-ssh (>= 2.6.5)
net-sftp (2.1.2) net-sftp (2.1.2)
net-ssh (>= 2.6.5) net-ssh (>= 2.6.5)
net-ssh (4.2.0) net-ssh (4.2.0)
net-ssh-gateway (1.3.0) net-ssh-gateway (2.0.0)
net-ssh (>= 2.6.5) net-ssh (>= 4.0.0)
net-ssh-multi (1.2.1) net-ssh-multi (1.2.1)
net-ssh (>= 2.6.5) net-ssh (>= 2.6.5)
net-ssh-gateway (>= 1.2.0) net-ssh-gateway (>= 1.2.0)
net-telnet (0.1.1) nokogiri (1.10.8)
nio4r (2.1.0) mini_portile2 (~> 2.4.0)
nokogiri (1.8.1)
mini_portile2 (~> 2.3.0)
nori (2.6.0) nori (2.6.0)
octokit (4.7.0) octokit (4.16.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3) sawyer (~> 0.8.0, >= 0.5.3)
ohai (13.7.0) ohai (15.7.4)
chef-config (>= 12.5.0.alpha.1, < 14) chef-config (>= 12.8, < 16)
ffi (~> 1.9) ffi (~> 1.9)
ffi-yajl (~> 2.2) ffi-yajl (~> 2.2)
ipaddress ipaddress
mixlib-cli mixlib-cli (>= 1.7.0)
mixlib-config (~> 2.0) mixlib-config (>= 2.0, < 4.0)
mixlib-log (>= 1.7.1, < 2.0) mixlib-log (>= 2.0.1, < 4.0)
mixlib-shellout (~> 2.0) mixlib-shellout (>= 2.0, < 4.0)
plist (~> 3.1) plist (~> 3.1)
systemu (~> 2.6.4) systemu (~> 2.6.4)
wmi-lite (~> 1.0) wmi-lite (~> 1.0)
os (1.0.1)
paint (1.0.1) paint (1.0.1)
parallel (1.12.0) parallel (1.19.1)
parser (2.4.0.2) parser (2.7.0.2)
ast (~> 2.3) ast (~> 2.4.0)
parslet (1.8.1) parslet (1.8.2)
plist (3.3.0) pastel (0.7.3)
equatable (~> 0.6)
tty-color (~> 0.5)
plist (3.5.0)
polyglot (0.3.5) polyglot (0.3.5)
powerpack (0.1.1)
proxifier (1.0.3) proxifier (1.0.3)
pry (0.11.3) pry (0.12.2)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.9.0) method_source (~> 0.9.0)
public_suffix (3.0.1) public_suffix (3.1.1)
rack (2.0.6) rack (2.2.2)
rainbow (2.2.2) rainbow (3.0.0)
rake rake (13.0.1)
rake (12.3.0) rchardet (1.8.0)
retryable (2.0.4) representable (3.0.4)
ridley (5.1.1) declarative (< 0.1.0)
addressable declarative-option (< 0.2.0)
buff-config (~> 2.0) uber (< 0.2.0)
buff-extensions (~> 2.0) retriable (3.1.2)
buff-ignore (~> 1.2) retryable (3.0.5)
buff-shell_out (~> 1.0) rexml (3.2.4)
celluloid (~> 0.16.0) rspec (3.9.0)
celluloid-io (~> 0.16.1) rspec-core (~> 3.9.0)
chef-config (>= 12.5.0) rspec-expectations (~> 3.9.0)
erubis rspec-mocks (~> 3.9.0)
faraday (~> 0.9) rspec-core (3.9.1)
hashie (>= 2.0.2, < 4.0.0) rspec-support (~> 3.9.1)
httpclient (~> 2.7) rspec-expectations (3.9.0)
json (>= 1.7.7)
mixlib-authentication (>= 1.3.0)
retryable (~> 2.0)
semverse (~> 2.0)
varia_model (~> 0.6)
rspec (3.7.0)
rspec-core (~> 3.7.0)
rspec-expectations (~> 3.7.0)
rspec-mocks (~> 3.7.0)
rspec-core (3.7.0)
rspec-support (~> 3.7.0)
rspec-expectations (3.7.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0) rspec-support (~> 3.9.0)
rspec-its (1.2.0) rspec-its (1.3.0)
rspec-core (>= 3.0.0) rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0) rspec-expectations (>= 3.0.0)
rspec-mocks (3.7.0) rspec-mocks (3.9.1)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.7.0) rspec-support (~> 3.9.0)
rspec-support (3.7.0) rspec-support (3.9.2)
rspec_junit_formatter (0.2.3) rubocop (0.80.0)
builder (< 4) jaro_winkler (~> 1.5.1)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (0.51.0)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 2.3.3.1, < 3.0) parser (>= 2.7.0.1)
powerpack (~> 0.1) rainbow (>= 2.2.2, < 4.0)
rainbow (>= 2.2.2, < 3.0) rexml
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1) unicode-display_width (>= 1.4.0, < 1.7)
ruby-progressbar (1.9.0) ruby-progressbar (1.10.1)
rubyntlm (0.6.2) rubyntlm (0.6.2)
rubyzip (1.2.1) rubyzip (1.3.0)
rufus-lru (1.1.0) rufus-lru (1.1.0)
safe_yaml (1.0.4) sawyer (0.8.2)
sawyer (0.8.1) addressable (>= 2.3.5)
addressable (>= 2.3.5, < 2.6) faraday (> 0.8, < 2.0)
faraday (~> 0.8, < 1.0) semverse (3.0.0)
semverse (2.0.0) signet (0.12.0)
serverspec (2.41.3) addressable (~> 2.3)
multi_json faraday (~> 0.9)
rspec (~> 3.0) jwt (>= 1.5, < 3.0)
rspec-its multi_json (~> 1.10)
specinfra (~> 2.72) solve (4.0.3)
sfl (2.3)
solve (4.0.0)
molinillo (~> 0.6) molinillo (~> 0.6)
semverse (>= 1.1, < 3.0) semverse (>= 1.1, < 4.0)
specinfra (2.72.1) sslshake (1.3.0)
net-scp strings (0.1.8)
net-ssh (>= 2.7, < 5.0) strings-ansi (~> 0.1)
net-telnet unicode-display_width (~> 1.5)
sfl unicode_utils (~> 1.4)
sslshake (1.2.0) strings-ansi (0.2.0)
sync (0.5.0)
syslog-logger (1.6.8) syslog-logger (1.6.8)
systemu (2.6.5) systemu (2.6.5)
test-kitchen (1.19.2) term-ansicolor (1.7.1)
tins (~> 1.0)
test-kitchen (2.3.4)
bcrypt_pbkdf (~> 1.0)
ed25519 (~> 1.2)
license-acceptance (~> 1.0, >= 1.0.11)
mixlib-install (~> 3.6) mixlib-install (~> 3.6)
mixlib-shellout (>= 1.2, < 3.0) mixlib-shellout (>= 1.2, < 4.0)
net-scp (~> 1.1) net-scp (>= 1.1, < 3.0)
net-ssh (>= 2.9, < 5.0) net-ssh (>= 2.9, < 6.0)
net-ssh-gateway (~> 1.2) net-ssh-gateway (>= 1.2, < 3.0)
safe_yaml (~> 1.0) thor (~> 0.19)
thor (~> 0.19, < 0.19.2)
winrm (~> 2.0) winrm (~> 2.0)
winrm-elevated (~> 1.0) winrm-elevated (~> 1.0)
winrm-fs (~> 1.1.0) winrm-fs (~> 1.1)
thor (0.19.1) thor (0.20.3)
timers (4.0.4) thread_safe (0.3.6)
hitimes timeliness (0.3.10)
tomlrb (1.2.6) tins (1.24.1)
train (0.31.1) sync
tomlrb (1.2.9)
train (3.2.22)
activesupport (~> 5.2.3)
azure_graph_rbac (~> 0.16)
azure_mgmt_key_vault (~> 0.17)
azure_mgmt_resources (~> 0.15)
azure_mgmt_security (~> 0.18)
azure_mgmt_storage (~> 0.18)
docker-api (~> 1.26) docker-api (~> 1.26)
google-api-client (>= 0.23.9, < 0.35.0)
googleauth (>= 0.6.6, < 0.11.0)
train-core (= 3.2.22)
train-winrm (~> 0.2)
train-aws (0.1.15)
aws-sdk-apigateway (~> 1.0)
aws-sdk-apigatewayv2 (~> 1.0)
aws-sdk-athena (~> 1.0)
aws-sdk-autoscaling (~> 1.22.0)
aws-sdk-budgets (~> 1.0)
aws-sdk-cloudformation (~> 1.0)
aws-sdk-cloudhsm (~> 1.0)
aws-sdk-cloudhsmv2 (~> 1.0)
aws-sdk-cloudtrail (~> 1.8)
aws-sdk-cloudwatch (~> 1.13)
aws-sdk-cloudwatchlogs (~> 1.13)
aws-sdk-codecommit (~> 1.0)
aws-sdk-codedeploy (~> 1.0)
aws-sdk-codepipeline (~> 1.0)
aws-sdk-configservice (~> 1.21)
aws-sdk-core (~> 3.0)
aws-sdk-costandusagereportservice (~> 1.6)
aws-sdk-dynamodb (~> 1.31)
aws-sdk-ec2 (~> 1.70)
aws-sdk-ecr (~> 1.18)
aws-sdk-ecs (~> 1.30)
aws-sdk-eks (~> 1.9)
aws-sdk-elasticache (~> 1.0)
aws-sdk-elasticbeanstalk (~> 1.0)
aws-sdk-elasticloadbalancing (~> 1.8)
aws-sdk-elasticloadbalancingv2 (~> 1.0)
aws-sdk-elasticsearchservice (~> 1.0)
aws-sdk-firehose (~> 1.0)
aws-sdk-iam (~> 1.13)
aws-sdk-kafka (~> 1.0)
aws-sdk-kinesis (~> 1.0)
aws-sdk-kms (~> 1.13)
aws-sdk-lambda (~> 1.0)
aws-sdk-organizations (~> 1.17.0)
aws-sdk-rds (~> 1.43)
aws-sdk-redshift (~> 1.0)
aws-sdk-route53 (~> 1.0)
aws-sdk-route53domains (~> 1.0)
aws-sdk-route53resolver (~> 1.0)
aws-sdk-s3 (~> 1.30)
aws-sdk-securityhub (~> 1.0)
aws-sdk-ses (~> 1.0)
aws-sdk-sms (~> 1.0)
aws-sdk-sns (~> 1.9)
aws-sdk-sqs (~> 1.10)
aws-sdk-ssm (~> 1.0)
train-core (3.2.22)
addressable (~> 2.5)
inifile (~> 3.0)
json (>= 1.8, < 3.0) json (>= 1.8, < 3.0)
mixlib-shellout (~> 2.0) mixlib-shellout (>= 2.0, < 4.0)
net-scp (~> 1.2) net-scp (>= 1.2, < 3.0)
net-ssh (>= 2.9, < 5.0) net-ssh (>= 2.9, < 6.0)
train-habitat (0.2.13)
train-winrm (0.2.6)
winrm (~> 2.0) winrm (~> 2.0)
winrm-fs (~> 1.0) winrm-fs (~> 1.0)
treetop (1.6.9) treetop (1.6.10)
polyglot (~> 0.3) polyglot (~> 0.3)
unicode-display_width (1.3.0) tty-box (0.5.0)
pastel (~> 0.7.2)
strings (~> 0.1.6)
tty-cursor (~> 0.7)
tty-color (0.5.1)
tty-cursor (0.7.1)
tty-prompt (0.20.0)
necromancer (~> 0.5.0)
pastel (~> 0.7.0)
tty-reader (~> 0.7.0)
tty-reader (0.7.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.7)
wisper (~> 2.0.0)
tty-screen (0.7.1)
tty-table (0.11.0)
equatable (~> 0.6)
necromancer (~> 0.5)
pastel (~> 0.7.2)
strings (~> 0.1.5)
tty-screen (~> 0.7)
tzinfo (1.2.6)
thread_safe (~> 0.1)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.2)
unicode-display_width (1.6.1)
unicode_utils (1.4.0)
uuidtools (2.1.5) uuidtools (2.1.5)
varia_model (0.6.0) winrm (2.3.4)
buff-extensions (~> 2.0)
hashie (>= 2.0.2, < 4.0.0)
winrm (2.2.3)
builder (>= 2.1.2) builder (>= 2.1.2)
erubis (~> 2.7) erubi (~> 1.8)
gssapi (~> 1.2) gssapi (~> 1.2)
gyoku (~> 1.0) gyoku (~> 1.0)
httpclient (~> 2.2, >= 2.2.0.2) httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0) logging (>= 1.6.1, < 3.0)
nori (~> 2.0) nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.1) rubyntlm (~> 0.6.0, >= 0.6.1)
winrm-elevated (1.1.0) winrm-elevated (1.2.1)
erubi (~> 1.8)
winrm (~> 2.0) winrm (~> 2.0)
winrm-fs (~> 1.0) winrm-fs (~> 1.0)
winrm-fs (1.1.1) winrm-fs (1.3.3)
erubis (~> 2.7) erubi (~> 1.8)
logging (>= 1.6.1, < 3.0) logging (>= 1.6.1, < 3.0)
rubyzip (~> 1.1) rubyzip (~> 1.1)
winrm (~> 2.0) winrm (~> 2.0)
wmi-lite (1.0.0) wisper (2.0.1)
wmi-lite (1.0.5)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
berkshelf berkshelf
chef-dk (= 2.4.17) chef-dk (= 4.7.73)
chef-provisioning chef-provisioning
chef-vault chef-vault
chefspec chefspec
fauxhai fauxhai-ng
foodcritic foodcritic
inspec inspec
kitchen-inspec kitchen-inspec
@ -397,4 +723,4 @@ DEPENDENCIES
test-kitchen test-kitchen
BUNDLED WITH BUNDLED WITH
1.16.4 1.17.3

View file

@ -1,7 +1,7 @@
{ lib, bundlerEnv, bundlerUpdateScript, ruby, perl, autoconf }: { lib, bundlerEnv, bundlerUpdateScript, ruby, perl, autoconf }:
bundlerEnv { bundlerEnv {
name = "chef-dk-2.4.17"; name = "chef-dk-4.7.73";
inherit ruby; inherit ruby;
gemdir = ./.; gemdir = ./.;
@ -16,7 +16,6 @@ bundlerEnv {
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ offline nicknovitski ]; maintainers = with maintainers; [ offline nicknovitski ];
platforms = platforms.unix; platforms = platforms.unix;
# chefdk depends on ruby 2.4 which we don't support anymore badPlatforms = [ "aarch64-linux" ];
broken = true;
}; };
} }

File diff suppressed because it is too large Load diff

View file

@ -1,37 +0,0 @@
{stdenv, fetchFromGitHub, ocaml, findlib, camlp4, core_p4, async_p4, async_unix_p4
, re2_p4, async_extra_p4, sexplib_p4, async_shell, core_extended_p4, async_find
, cohttp, conduit, magic-mime
}:
assert stdenv.lib.versionOlder "4.02" ocaml.version;
stdenv.mkDerivation rec {
pname = "trv";
version = "0.1.3";
src = fetchFromGitHub {
owner = "afiniate";
repo = "trv";
rev = version;
sha256 = "0fv0zh76djqhkzfzwv6k60rnky50pw9gn01lwhijrggrcxrrphz1";
};
buildInputs = [ ocaml findlib camlp4 ];
propagatedBuildInputs = [ core_p4 async_p4 async_unix_p4
async_extra_p4 sexplib_p4 async_shell core_extended_p4
async_find cohttp conduit magic-mime re2_p4 ];
createFindlibDestdir = true;
dontStrip = true;
installFlags = [ "SEMVER=${version}" "PREFIX=$(out)" ];
meta = with stdenv.lib; {
homepage = https://github.com/afiniate/trv;
description = "Shim for vrt to enable bootstrapping";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
platforms = ocaml.meta.platforms or [];
};
}

View file

@ -1,14 +1,53 @@
{ haskellPackages { haskell
, haskell , haskellPackages
, lib , lib
, nodejs
, purescript
, runCommand
}: }:
haskell.lib.justStaticExecutables (haskell.lib.overrideCabal haskellPackages.spago (oldAttrs: { let
maintainers = (oldAttrs.maintainers or []) ++ [ spago =
lib.maintainers.cdepillabout haskell.lib.justStaticExecutables
]; (haskell.lib.overrideCabal haskellPackages.spago (oldAttrs: {
maintainers = (oldAttrs.maintainers or []) ++ [
lib.maintainers.cdepillabout
];
}));
in
spago.overrideAttrs (oldAttrs: {
passthru = (oldAttrs.passthru or {}) // { passthru = (oldAttrs.passthru or {}) // {
updateScript = ./update.sh; updateScript = ./update.sh;
# These tests can be run with the following command. The tests access the
# network, so they cannot be run in the nix sandbox. sudo is needed in
# order to change the sandbox option.
#
# $ sudo nix-build -A spago.passthru.tests --option sandbox relaxed
#
tests =
runCommand
"spago-tests"
{
__noChroot = true;
nativeBuildInputs = [
nodejs
purescript
spago
];
}
''
# spago expects HOME to be set because it creates a cache file under
# home.
HOME=$(pwd)
spago --verbose init
spago --verbose build
spago --verbose test
touch $out
'';
}; };
})) })

View file

@ -11,11 +11,11 @@
}: }:
mkDerivation { mkDerivation {
pname = "spago"; pname = "spago";
version = "0.13.1"; version = "0.14.0";
src = fetchgit { src = fetchgit {
url = "https://github.com/spacchetti/spago.git"; url = "https://github.com/purescript/spago.git";
sha256 = "0l6sy1hz5dbnrjkvb2f44afhd48nwqx5kx1h29ns93xbbd57hci8"; sha256 = "12i1430prqspy73nwfxc17zf51yprhrxxcnhw4rks6jhkgwxf4a4";
rev = "b87858609c671d8f3dc78f858ce1d8c492bd1062"; rev = "7a99343e4876a465600eaa64b0697a9f0b2a49a9";
fetchSubmodules = true; fetchSubmodules = true;
}; };
isLibrary = true; isLibrary = true;
@ -42,6 +42,7 @@ mkDerivation {
]; ];
testToolDepends = [ hspec-discover ]; testToolDepends = [ hspec-discover ];
prePatch = "hpack"; prePatch = "hpack";
homepage = "https://github.com/spacchetti/spago#readme"; homepage = "https://github.com/purescript/spago#readme";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
broken = true; # Build is broken in lts-15.x.
} }

View file

@ -20,11 +20,14 @@ spago_derivation_file="${script_dir}/spago.nix"
old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$spago_derivation_file")" old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$spago_derivation_file")"
# This is the latest release version of spago on GitHub. # This is the latest release version of spago on GitHub.
new_version=$(curl --silent "https://api.github.com/repos/spacchetti/spago/releases" | jq '.[0].tag_name' --raw-output) new_version=$(curl --silent "https://api.github.com/repos/purescript/spago/releases" | jq '.[0].tag_name' --raw-output)
echo "Updating spago from old version $old_version to new version $new_version." echo "Updating spago from old version $old_version to new version $new_version."
echo "Running cabal2nix and outputting to ${spago_derivation_file}..." echo "Running cabal2nix and outputting to ${spago_derivation_file}..."
cabal2nix --revision "$new_version" "https://github.com/spacchetti/spago.git" > "$spago_derivation_file" cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" > "$spago_derivation_file"
# TODO: This should ideally also automatically update the docsSearchVersion
# from pkgs/development/haskell/configuration-nix.nix.
echo "Finished." echo "Finished."

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-crev"; pname = "cargo-crev";
version = "0.16.0"; version = "0.16.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "crev-dev"; owner = "crev-dev";
repo = "cargo-crev"; repo = "cargo-crev";
rev = "v${version}"; rev = "v${version}";
sha256 = "1vf78hrc84xgr73r72vmilh24s4qy80a1z6gyk97nd8ipn93m2k5"; sha256 = "16da30zbv8f7w8bxsssmrpzm41a966wby1l6ldyiiszs980qh7c5";
}; };
cargoSha256 = "0h7izq4sq6nf0gip7ylyglq1mvpfipm4qmjsifb3x559lqwfbxli"; cargoSha256 = "0z365pgdd95apk2zz2n0gx85s0gf8ccfbqippxqn1fdsppihib6g";
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View file

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp { stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit , libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
, freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex , freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex
, leveldb, postgresql, hiredis , leveldb, postgresql, hiredis, libiconv, OpenGL, OpenAL ? openal, Carbon, Cocoa
}: }:
with stdenv.lib; with stdenv.lib;
@ -39,7 +39,7 @@ let
] ++ optionals buildClient [ ] ++ optionals buildClient [
"-DOpenGL_GL_PREFERENCE=GLVND" "-DOpenGL_GL_PREFERENCE=GLVND"
]; ];
NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3 NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
nativeBuildInputs = [ cmake doxygen graphviz ]; nativeBuildInputs = [ cmake doxygen graphviz ];
@ -47,6 +47,8 @@ let
buildInputs = [ buildInputs = [
irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
gmp libspatialindex gmp libspatialindex
] ++ optionals stdenv.isDarwin [
libiconv OpenGL OpenAL Carbon Cocoa
] ++ optionals buildClient [ ] ++ optionals buildClient [
libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm
] ++ optionals buildServer [ ] ++ optionals buildServer [
@ -62,7 +64,7 @@ let
homepage = http://minetest.net/; homepage = http://minetest.net/;
description = "Infinite-world block sandbox game"; description = "Infinite-world block sandbox game";
license = licenses.lgpl21Plus; license = licenses.lgpl21Plus;
platforms = platforms.linux; platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ pyrolagus fpletz ]; maintainers = with maintainers; [ pyrolagus fpletz ];
}; };
}; };

View file

@ -0,0 +1,10 @@
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -802,7 +802,6 @@
install(CODE "
set(BU_CHMOD_BUNDLE_ITEMS ON)
include(BundleUtilities)
- fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${BUNDLE_PATH}\" \"\" \"\${CMAKE_INSTALL_PREFIX}/${BINDIR}\")
" COMPONENT Runtime)
endif()

View file

@ -0,0 +1,10 @@
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -17,6 +17,7 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <cstdint>
#include "irrlicht.h" // createDevice
#include "irrlichttypes_extrabloated.h"
#include "chat_interface.h"

View file

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

View file

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

View file

@ -1,11 +1,11 @@
{ stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec { buildLinux (args // rec {
version = "4.4.214"; version = "4.4.215";
extraMeta.branch = "4.4"; extraMeta.branch = "4.4";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0v575wl85fg9c3ksdj570hxjcl9p1dxwzag3fm0qcrq75kp6bamn"; sha256 = "00zy6cxwb16pqziiqs25pz5llryx2v2nbk9vvzpzxa8x43ad7g18";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View file

@ -1,11 +1,11 @@
{ stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec { buildLinux (args // rec {
version = "4.9.214"; version = "4.9.215";
extraMeta.branch = "4.9"; extraMeta.branch = "4.9";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "10z4n792g88p46csla2g9b0m7vz40ln0901ffb2cfd3hmhyhjzxl"; sha256 = "0j4z2al318654z40w4f8zhh73zwpgn8igjr5k4mz401phm3jyvr3";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "5.4.22"; version = "5.4.23";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed # modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "06kx9bmrrk1brici8wvvd6dxqawgcig4i59pwllcq39rgs6wn6v6"; sha256 = "1jhyg2yc03fka92l7hwdajim6q5rk538hjdr1gwgvpfyyp6sla1z";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View file

@ -3,7 +3,7 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "5.5.6"; version = "5.5.7";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed # modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "0dgfwqmkqlrn2anwf2bj7lgl9bi4fhkmp44jhmyjc5vmknmqik2l"; sha256 = "0j3ykz9yym2hvv3qx286g4yrx2ala4b1d5p9zif9qmch28ryyhxq";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pam, openssl, perl }: { stdenv, fetchpatch, fetchurl, pam, openssl, perl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pam_ssh_agent_auth-0.10.3"; name = "pam_ssh_agent_auth-0.10.3";
@ -12,10 +12,31 @@ stdenv.mkDerivation rec {
[ # Allow multiple colon-separated authorized keys files to be [ # Allow multiple colon-separated authorized keys files to be
# specified in the file= option. # specified in the file= option.
./multiple-key-files.patch ./multiple-key-files.patch
(fetchpatch {
name = "openssl-1.1.1-1.patch";
url = "https://sources.debian.org/data/main/p/pam-ssh-agent-auth/0.10.3-3/debian/patches/openssl-1.1.1-1.patch";
sha256 = "1ndp5j4xfhzshhnl345gb4mkldx6vjfa7284xgng6ikhzpc6y7pf";
})
(fetchpatch {
name = "openssl-1.1.1-2.patch";
url = "https://sources.debian.org/data/main/p/pam-ssh-agent-auth/0.10.3-3/debian/patches/openssl-1.1.1-2.patch";
sha256 = "0ksrs4xr417by8klf7862n3dircvnw30an1akq4pnsd3ichscmww";
})
]; ];
buildInputs = [ pam openssl perl ]; buildInputs = [ pam openssl perl ];
# It's not clear to me why this is necessary, but without it, you see:
#
# checking OpenSSL header version... 1010104f (OpenSSL 1.1.1d 10 Sep 2019)
# checking OpenSSL library version... 1010104f (OpenSSL 1.1.1d 10 Sep 2019)
# checking whether OpenSSL's headers match the library... no
# configure: WARNING: Your OpenSSL headers do not match your
# library. Check config.log for details.
#
# ...despite the fact that clearly the values match
configureFlags = [ "--without-openssl-header-check" ];
enableParallelBuilding = true; enableParallelBuilding = true;
meta = { meta = {

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "powerstat"; pname = "powerstat";
version = "0.02.21"; version = "0.02.22";
src = fetchurl { src = fetchurl {
url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz"; url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.gz";
sha256 = "00396dyn3mw3virx9h2g9kzw9ai10x7wpn8zclnvvidn9g0jhf31"; sha256 = "0r355b9syqa2nhfy8ksvxyy5d58v0isf983842js091s6liy0x7g";
}; };
installFlags = [ "DESTDIR=${placeholder "out"}" ]; installFlags = [ "DESTDIR=${placeholder "out"}" ];
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Laptop power measuring tool"; description = "Laptop power measuring tool";
homepage = https://kernel.ubuntu.com/~cking/powerstat/; homepage = "https://kernel.ubuntu.com/~cking/powerstat/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ womfoo ]; maintainers = with maintainers; [ womfoo ];

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