aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/games
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games')
-rw-r--r--nixpkgs/pkgs/games/angband/default.nix4
-rw-r--r--nixpkgs/pkgs/games/anki/default.nix329
-rw-r--r--nixpkgs/pkgs/games/arena/default.nix8
-rw-r--r--nixpkgs/pkgs/games/assaultcube/default.nix2
-rw-r--r--nixpkgs/pkgs/games/augustus/default.nix24
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/builder.nix49
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/common.nix187
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/default.nix51
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/git.nix54
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/lib.nix17
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch18
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch20
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/pkgs/default.nix27
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix23
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/stable.nix34
-rw-r--r--nixpkgs/pkgs/games/cataclysm-dda/wrapper.nix47
-rw-r--r--nixpkgs/pkgs/games/chiaki/default.nix4
-rw-r--r--nixpkgs/pkgs/games/chocolate-doom/default.nix4
-rw-r--r--nixpkgs/pkgs/games/cockatrice/default.nix4
-rw-r--r--nixpkgs/pkgs/games/crawl/crawl_purify.patch43
-rw-r--r--nixpkgs/pkgs/games/crawl/default.nix4
-rw-r--r--nixpkgs/pkgs/games/crispy-doom/default.nix14
-rw-r--r--nixpkgs/pkgs/games/curseofwar/default.nix18
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix29
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix13
-rw-r--r--nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in2
-rw-r--r--nixpkgs/pkgs/games/easyrpg-player/default.nix4
-rw-r--r--nixpkgs/pkgs/games/eduke32/default.nix2
-rw-r--r--nixpkgs/pkgs/games/eidolon/default.nix2
-rw-r--r--nixpkgs/pkgs/games/empty-epsilon/default.nix8
-rw-r--r--nixpkgs/pkgs/games/endgame-singularity/default.nix58
-rw-r--r--nixpkgs/pkgs/games/exult/arch.patch123
-rw-r--r--nixpkgs/pkgs/games/exult/default.nix15
-rw-r--r--nixpkgs/pkgs/games/factorio/default.nix29
-rw-r--r--nixpkgs/pkgs/games/factorio/utils.nix2
-rw-r--r--nixpkgs/pkgs/games/flightgear/default.nix8
-rw-r--r--nixpkgs/pkgs/games/freecell-solver/default.nix2
-rw-r--r--nixpkgs/pkgs/games/frogatto/default.nix2
-rw-r--r--nixpkgs/pkgs/games/frotz/default.nix33
-rw-r--r--nixpkgs/pkgs/games/galaxis/default.nix2
-rw-r--r--nixpkgs/pkgs/games/gargoyle/default.nix9
-rw-r--r--nixpkgs/pkgs/games/gemrb/default.nix19
-rw-r--r--nixpkgs/pkgs/games/gnome-hexgl/default.nix10
-rw-r--r--nixpkgs/pkgs/games/gzdoom/default.nix130
-rw-r--r--nixpkgs/pkgs/games/hedgewars/default.nix13
-rw-r--r--nixpkgs/pkgs/games/hyperrogue/default.nix4
-rw-r--r--nixpkgs/pkgs/games/instead/default.nix9
-rw-r--r--nixpkgs/pkgs/games/julius/default.nix24
-rw-r--r--nixpkgs/pkgs/games/katago/default.nix70
-rw-r--r--nixpkgs/pkgs/games/klavaro/default.nix31
-rw-r--r--nixpkgs/pkgs/games/left4gore/default.nix48
-rw-r--r--nixpkgs/pkgs/games/legendary-gl/default.nix30
-rw-r--r--nixpkgs/pkgs/games/minecraft-server/default.nix6
-rw-r--r--nixpkgs/pkgs/games/minecraft/default.nix7
-rw-r--r--nixpkgs/pkgs/games/minetest/default.nix10
-rw-r--r--nixpkgs/pkgs/games/mnemosyne/default.nix4
-rw-r--r--nixpkgs/pkgs/games/mudlet/default.nix4
-rw-r--r--nixpkgs/pkgs/games/ninvaders/default.nix23
-rw-r--r--nixpkgs/pkgs/games/openjk/default.nix6
-rw-r--r--nixpkgs/pkgs/games/openmw/default.nix12
-rw-r--r--nixpkgs/pkgs/games/openmw/tes3mp.nix17
-rw-r--r--nixpkgs/pkgs/games/openrct2/default.nix21
-rw-r--r--nixpkgs/pkgs/games/openrw/default.nix4
-rw-r--r--nixpkgs/pkgs/games/openttd/default.nix8
-rw-r--r--nixpkgs/pkgs/games/openttd/jgrpp.nix13
-rw-r--r--nixpkgs/pkgs/games/openxray/default.nix10
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch23
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/default.nix111
-rw-r--r--nixpkgs/pkgs/games/osu-lazer/deps.nix1517
-rwxr-xr-xnixpkgs/pkgs/games/osu-lazer/update.sh58
-rw-r--r--nixpkgs/pkgs/games/papermc/default.nix29
-rw-r--r--nixpkgs/pkgs/games/pentobi/default.nix4
-rw-r--r--nixpkgs/pkgs/games/privateer/default.nix4
-rw-r--r--nixpkgs/pkgs/games/runelite/default.nix2
-rw-r--r--nixpkgs/pkgs/games/sfrotz/default.nix69
-rw-r--r--nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix29
-rw-r--r--nixpkgs/pkgs/games/sm64ex/default.nix69
-rw-r--r--nixpkgs/pkgs/games/spring/springlobby.nix4
-rw-r--r--nixpkgs/pkgs/games/steam/default.nix5
-rw-r--r--nixpkgs/pkgs/games/steam/fhsenv.nix (renamed from nixpkgs/pkgs/games/steam/chrootenv.nix)13
-rw-r--r--nixpkgs/pkgs/games/steam/runtime.nix21
-rw-r--r--nixpkgs/pkgs/games/super-tux-kart/default.nix67
-rw-r--r--nixpkgs/pkgs/games/taisei/default.nix6
-rw-r--r--nixpkgs/pkgs/games/tdm/default.nix14
-rw-r--r--nixpkgs/pkgs/games/teeworlds/default.nix3
-rw-r--r--nixpkgs/pkgs/games/terraria-server/default.nix6
-rw-r--r--nixpkgs/pkgs/games/the-powder-toy/default.nix17
-rw-r--r--nixpkgs/pkgs/games/tintin/default.nix4
-rw-r--r--nixpkgs/pkgs/games/tome2/default.nix2
-rw-r--r--nixpkgs/pkgs/games/tome4/default.nix2
-rw-r--r--nixpkgs/pkgs/games/tuxpaint/default.nix8
-rw-r--r--nixpkgs/pkgs/games/ultrastardx/default.nix41
-rw-r--r--nixpkgs/pkgs/games/ut2004/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/games/vassal/default.nix4
-rw-r--r--nixpkgs/pkgs/games/vdrift/default.nix4
-rw-r--r--nixpkgs/pkgs/games/vms-empire/default.nix2
-rw-r--r--nixpkgs/pkgs/games/wesnoth/default.nix14
-rw-r--r--nixpkgs/pkgs/games/wyvern/cargo-lock.patch2514
-rw-r--r--nixpkgs/pkgs/games/wyvern/default.nix36
-rw-r--r--nixpkgs/pkgs/games/xcowsay/default.nix40
-rw-r--r--nixpkgs/pkgs/games/zandronum/default.nix2
101 files changed, 5723 insertions, 884 deletions
diff --git a/nixpkgs/pkgs/games/angband/default.nix b/nixpkgs/pkgs/games/angband/default.nix
index e7681a4b7f8..937fd30d405 100644
--- a/nixpkgs/pkgs/games/angband/default.nix
+++ b/nixpkgs/pkgs/games/angband/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "angband";
- version = "4.2.0";
+ version = "4.2.1";
src = fetchFromGitHub {
owner = "angband";
repo = "angband";
rev = version;
- sha256 = "0fr59986swx9a2xkxkbfgadzpwy2lq55fgcib05k393kibyz49kg";
+ sha256 = "174fphiywwb4yb3kqavwaysx7c97an2n8wjbm4p4d41i1svjsryz";
};
nativeBuildInputs = [ autoreconfHook ];
diff --git a/nixpkgs/pkgs/games/anki/default.nix b/nixpkgs/pkgs/games/anki/default.nix
index 1548a9de63a..0d713b1f71e 100644
--- a/nixpkgs/pkgs/games/anki/default.nix
+++ b/nixpkgs/pkgs/games/anki/default.nix
@@ -22,179 +22,180 @@
, setuptools
, send2trash
, CoreAudio
-# This little flag adds a huge number of dependencies, but we assume that
-# everyone wants Anki to draw plots with statistics by default.
+ # This little flag adds a huge number of dependencies, but we assume that
+ # everyone wants Anki to draw plots with statistics by default.
, plotsSupport ? true
-# manual
+ # manual
, asciidoc
}:
let
- # when updating, also update rev-manual to a recent version of
- # https://github.com/dae/ankidocs
- # The manual is distributed independently of the software.
- version = "2.1.15";
- sha256-pkg = "12dvyf3j9df4nrhhnqbzd9b21rpzkh4i6yhhangn2zf7ch0pclss";
- rev-manual = "8f6387867ac37ef3fe9d0b986e70f898d1a49139";
- sha256-manual = "0pm5slxn78r44ggvbksz7rv9hmlnsvn9z811r6f63dsc8vm6mfml";
-
- manual = stdenv.mkDerivation {
- pname = "anki-manual";
- inherit version;
- src = fetchFromGitHub {
- owner = "dae";
- repo = "ankidocs";
- rev = rev-manual;
- sha256 = sha256-manual;
- };
- phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
- nativeBuildInputs = [ asciidoc ];
- patchPhase = ''
- # rsync isnt needed
- # WEB is the PREFIX
- # We remove any special ankiweb output generation
- # and rename every .mako to .html
- sed -e 's/rsync -a/cp -a/g' \
- -e "s|\$(WEB)/docs|$out/share/doc/anki/html|" \
- -e '/echo asciidoc/,/mv $@.tmp $@/c \\tasciidoc -b html5 -o $@ $<' \
- -e 's/\.mako/.html/g' \
- -i Makefile
- # patch absolute links to the other language manuals
- sed -e 's|https://apps.ankiweb.net/docs/|link:./|g' \
- -i {manual.txt,manual.*.txt}
- # there’s an artifact in most input files
- sed -e '/<%def.*title.*/d' \
- -i *.txt
- mkdir -p $out/share/doc/anki/html
- '';
+ # when updating, also update rev-manual to a recent version of
+ # https://github.com/ankitects/anki-docs
+ # The manual is distributed independently of the software.
+ version = "2.1.15";
+ sha256-pkg = "12dvyf3j9df4nrhhnqbzd9b21rpzkh4i6yhhangn2zf7ch0pclss";
+ rev-manual = "8f6387867ac37ef3fe9d0b986e70f898d1a49139";
+ sha256-manual = "0pm5slxn78r44ggvbksz7rv9hmlnsvn9z811r6f63dsc8vm6mfml";
+
+ manual = stdenv.mkDerivation {
+ pname = "anki-manual";
+ inherit version;
+ src = fetchFromGitHub {
+ owner = "ankitects";
+ repo = "anki-docs";
+ rev = rev-manual;
+ sha256 = sha256-manual;
};
+ phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
+ nativeBuildInputs = [ asciidoc ];
+ patchPhase = ''
+ # rsync isnt needed
+ # WEB is the PREFIX
+ # We remove any special ankiweb output generation
+ # and rename every .mako to .html
+ sed -e 's/rsync -a/cp -a/g' \
+ -e "s|\$(WEB)/docs|$out/share/doc/anki/html|" \
+ -e '/echo asciidoc/,/mv $@.tmp $@/c \\tasciidoc -b html5 -o $@ $<' \
+ -e 's/\.mako/.html/g' \
+ -i Makefile
+ # patch absolute links to the other language manuals
+ sed -e 's|https://apps.ankiweb.net/docs/|link:./|g' \
+ -i {manual.txt,manual.*.txt}
+ # there’s an artifact in most input files
+ sed -e '/<%def.*title.*/d' \
+ -i *.txt
+ mkdir -p $out/share/doc/anki/html
+ '';
+ };
in
buildPythonApplication rec {
- pname = "anki";
- inherit version;
-
- src = fetchurl {
- urls = [
- "https://apps.ankiweb.net/downloads/current/${pname}-${version}-source.tgz"
- # "https://apps.ankiweb.net/downloads/current/${name}-source.tgz"
- # "http://ankisrs.net/download/mirror/${name}.tgz"
- # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
- ];
- sha256 = sha256-pkg;
- };
-
- outputs = [ "out" "doc" "man" ];
-
- propagatedBuildInputs = [
- pyqtwebengine sqlalchemy beautifulsoup4 send2trash pyaudio requests decorator
- markdown jsonschema setuptools
- ]
- ++ lib.optional plotsSupport matplotlib
- ++ lib.optional stdenv.isDarwin [ CoreAudio ]
- ;
-
- checkInputs = [ pytest glibcLocales nose ];
-
- nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
- buildInputs = [ lame mplayer libpulseaudio ];
-
- patches = [
- # Disable updated version check.
- ./no-version-check.patch
+ pname = "anki";
+ inherit version;
+
+ src = fetchurl {
+ urls = [
+ "https://apps.ankiweb.net/downloads/current/${pname}-${version}-source.tgz"
+ # "https://apps.ankiweb.net/downloads/current/${name}-source.tgz"
+ # "http://ankisrs.net/download/mirror/${name}.tgz"
+ # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
];
-
- buildPhase = ''
- # Dummy build phase
- # Anki does not use setup.py
- '';
-
- postPatch = ''
- # Remove unused starter. We'll create our own, minimalistic,
- # starter.
- # rm anki/anki
-
- # Remove QT translation files. We'll use the standard QT ones.
- rm "locale/"*.qm
-
- # hitting F1 should open the local manual
- substituteInPlace anki/consts.py \
- --replace 'HELP_SITE="http://ankisrs.net/docs/manual.html"' \
- 'HELP_SITE="${manual}/share/doc/anki/html/manual.html"'
- '';
-
- # UTF-8 locale needed for testing
- LC_ALL = "en_US.UTF-8";
-
- checkPhase = ''
- # - Anki writes some files to $HOME during tests
- # - Skip tests using network
- env HOME=$TMP pytest --ignore tests/test_sync.py
- '';
-
- installPhase = ''
- pp=$out/lib/${python.libPrefix}/site-packages
-
- mkdir -p $out/bin
- mkdir -p $out/share/applications
- mkdir -p $doc/share/doc/anki
- mkdir -p $man/share/man/man1
- mkdir -p $out/share/mime/packages
- mkdir -p $out/share/pixmaps
- mkdir -p $pp
-
- cat > $out/bin/anki <<EOF
- #!${python}/bin/python
- import aqt
- aqt.run()
- EOF
- chmod 755 $out/bin/anki
-
- cp -v anki.desktop $out/share/applications/
- cp -v README* LICENSE* $doc/share/doc/anki/
- cp -v anki.1 $man/share/man/man1/
- cp -v anki.xml $out/share/mime/packages/
- cp -v anki.{png,xpm} $out/share/pixmaps/
- cp -rv locale $out/share/
- cp -rv anki aqt web $pp/
-
- # copy the manual into $doc
- cp -r ${manual}/share/doc/anki/html $doc/share/doc/anki
- '';
-
- dontWrapQtApps = true;
-
- preFixup = ''
- makeWrapperArgs+=(
- "''${qtWrapperArgs[@]}"
- --prefix PATH ':' "${lame}/bin:${mplayer}/bin"
- )
+ sha256 = sha256-pkg;
+ };
+
+ outputs = [ "out" "doc" "man" ];
+
+ propagatedBuildInputs = [
+ pyqtwebengine
+ sqlalchemy
+ beautifulsoup4
+ send2trash
+ pyaudio
+ requests
+ decorator
+ markdown
+ jsonschema
+ setuptools
+ ]
+ ++ lib.optional plotsSupport matplotlib
+ ++ lib.optional stdenv.isDarwin [ CoreAudio ]
+ ;
+
+ checkInputs = [ pytest glibcLocales nose ];
+
+ nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
+ buildInputs = [ lame mplayer libpulseaudio ];
+
+ patches = [
+ # Disable updated version check.
+ ./no-version-check.patch
+ ];
+
+ # Anki does not use setup.py
+ dontBuild = true;
+
+ postPatch = ''
+ # Remove QT translation files. We'll use the standard QT ones.
+ rm "locale/"*.qm
+
+ # hitting F1 should open the local manual
+ substituteInPlace anki/consts.py \
+ --replace 'HELP_SITE="http://ankisrs.net/docs/manual.html"' \
+ 'HELP_SITE="${manual}/share/doc/anki/html/manual.html"'
+ '';
+
+ # UTF-8 locale needed for testing
+ LC_ALL = "en_US.UTF-8";
+
+ # - Anki writes some files to $HOME during tests
+ # - Skip tests using network
+ checkPhase = ''
+ HOME=$TMP pytest --ignore tests/test_sync.py
+ '';
+
+ installPhase = ''
+ pp=$out/lib/${python.libPrefix}/site-packages
+
+ mkdir -p $out/bin
+ mkdir -p $out/share/applications
+ mkdir -p $doc/share/doc/anki
+ mkdir -p $man/share/man/man1
+ mkdir -p $out/share/mime/packages
+ mkdir -p $out/share/pixmaps
+ mkdir -p $pp
+
+ cat > $out/bin/anki <<EOF
+ #!${python}/bin/python
+ import aqt
+ aqt.run()
+ EOF
+ chmod 755 $out/bin/anki
+
+ cp -v anki.desktop $out/share/applications/
+ cp -v README* LICENSE* $doc/share/doc/anki/
+ cp -v anki.1 $man/share/man/man1/
+ cp -v anki.xml $out/share/mime/packages/
+ cp -v anki.{png,xpm} $out/share/pixmaps/
+ cp -rv locale $out/share/
+ cp -rv anki aqt web $pp/
+
+ # copy the manual into $doc
+ cp -r ${manual}/share/doc/anki/html $doc/share/doc/anki
+ '';
+
+ # now wrapPythonPrograms from postFixup will add both python and qt env variables
+ dontWrapQtApps = true;
+
+ preFixup = ''
+ makeWrapperArgs+=(
+ "''${qtWrapperArgs[@]}"
+ --prefix PATH ':' "${lame}/bin:${mplayer}/bin"
+ )
+ '';
+
+ passthru = {
+ inherit manual;
+ };
+
+ meta = with lib; {
+ homepage = "https://apps.ankiweb.net/";
+ description = "Spaced repetition flashcard program";
+ longDescription = ''
+ Anki is a program which makes remembering things easy. Because it is a lot
+ more efficient than traditional study methods, you can either greatly
+ decrease your time spent studying, or greatly increase the amount you learn.
+
+ Anyone who needs to remember things in their daily life can benefit from
+ Anki. Since it is content-agnostic and supports images, audio, videos and
+ scientific markup (via LaTeX), the possibilities are endless. For example:
+ learning a language, studying for medical and law exams, memorizing
+ people's names and faces, brushing up on geography, mastering long poems,
+ or even practicing guitar chords!
'';
-
- # now wrapPythonPrograms from postFixup will add both python and qt env variables
-
- passthru = {
- inherit manual;
- };
-
- meta = with lib; {
- homepage = "https://apps.ankiweb.net/";
- description = "Spaced repetition flashcard program";
- longDescription = ''
- Anki is a program which makes remembering things easy. Because it is a lot
- more efficient than traditional study methods, you can either greatly
- decrease your time spent studying, or greatly increase the amount you learn.
-
- Anyone who needs to remember things in their daily life can benefit from
- Anki. Since it is content-agnostic and supports images, audio, videos and
- scientific markup (via LaTeX), the possibilities are endless. For example:
- learning a language, studying for medical and law exams, memorizing
- people's names and faces, brushing up on geography, mastering long poems,
- or even practicing guitar chords!
- '';
- license = licenses.agpl3Plus;
- broken = stdenv.hostPlatform.isAarch64;
- platforms = platforms.mesaPlatforms;
- maintainers = with maintainers; [ oxij Profpatsch enzime ];
- };
+ license = licenses.agpl3Plus;
+ broken = stdenv.hostPlatform.isAarch64;
+ platforms = platforms.mesaPlatforms;
+ maintainers = with maintainers; [ oxij Profpatsch enzime ];
+ };
}
diff --git a/nixpkgs/pkgs/games/arena/default.nix b/nixpkgs/pkgs/games/arena/default.nix
index a8e147b6a7e..beba98b6316 100644
--- a/nixpkgs/pkgs/games/arena/default.nix
+++ b/nixpkgs/pkgs/games/arena/default.nix
@@ -12,11 +12,11 @@ let
in
stdenv.mkDerivation rec {
- name = "arena-1.1";
+ name = "arena-3.10-beta";
src = fetchurl {
- url = "http://www.playwitharena.de/downloads/arenalinux_64bit_1.1.tar.gz";
- sha256 = "1sh71v5ymzwflq8ycx9j9kl0jhqllgs6z24h4h8j5z8pwdh528v6";
+ url = "http://www.playwitharena.de/downloads/arenalinux_64bit_3.10beta.tar.gz";
+ sha256 = "1pzb9sg4lzbbi4gbldvlb85p8xyl9xnplxwyb9pkk2mwzvvxkf0d";
};
# stdenv.cc.cc.lib is in that list to pick up libstdc++.so. Is there a better way?
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
# Remove executable bits from data files. This matters for the find command
# we'll use below to find all bundled engines.
- chmod -x $out/lib/${name}/Engines/*/*.{txt,bin,bmp}
+ chmod -x $out/lib/${name}/Engines/*/*.{txt,bin,bmp,zip}
'';
buildPhase = ''
diff --git a/nixpkgs/pkgs/games/assaultcube/default.nix b/nixpkgs/pkgs/games/assaultcube/default.nix
index f40e2ecf220..6c3a7f1168e 100644
--- a/nixpkgs/pkgs/games/assaultcube/default.nix
+++ b/nixpkgs/pkgs/games/assaultcube/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
desktopName = "AssaultCube";
comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
genericName = "First-person shooter";
- categories = "Application;Game;ActionGame;Shooter";
+ categories = "Game;ActionGame;Shooter";
icon = "assaultcube.png";
exec = pname;
};
diff --git a/nixpkgs/pkgs/games/augustus/default.nix b/nixpkgs/pkgs/games/augustus/default.nix
new file mode 100644
index 00000000000..cabe419ef5b
--- /dev/null
+++ b/nixpkgs/pkgs/games/augustus/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, libpng }:
+
+stdenv.mkDerivation rec {
+ pname = "augustus";
+ version = "1.4.1a";
+
+ src = fetchFromGitHub {
+ owner = "Keriew";
+ repo = "augustus";
+ rev = "v${version}";
+ sha256 = "1xqv8j8jh3f13fjhyf7hk1anrn799cwwsvsd75kpl9n5yh5s1j5y";
+ };
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ SDL2 SDL2_mixer libpng ];
+
+ meta = with stdenv.lib; {
+ description = "An open source re-implementation of Caesar III. Fork of Julius incorporating gameplay changes";
+ homepage = "https://github.com/Keriew/augustus";
+ license = licenses.agpl3;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ Thra11 ];
+ };
+}
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/builder.nix b/nixpkgs/pkgs/games/cataclysm-dda/builder.nix
new file mode 100644
index 00000000000..24128875f3a
--- /dev/null
+++ b/nixpkgs/pkgs/games/cataclysm-dda/builder.nix
@@ -0,0 +1,49 @@
+{ stdenvNoCC, lib, type }:
+
+assert lib.elem type [
+ "mod"
+ "soundpack"
+ "tileset"
+];
+
+{ modName, version, src, ... } @ args:
+
+stdenvNoCC.mkDerivation (args // rec {
+ pname = args.pname or "cataclysm-dda-${type}-${modName}";
+
+ modRoot = args.modRoot or ".";
+
+ configurePhase = args.configurePhase or ''
+ runHook preConfigure
+ runHook postConfigure
+ '';
+
+ buildPhase = args.buildPhase or ''
+ runHook preBuild
+ runHook postBuild
+ '';
+
+ checkPhase = args.checkPhase or ''
+ runHook preCheck
+ runHook postCheck
+ '';
+
+ installPhase = let
+ baseDir = {
+ mod = "mods";
+ soundpack = "sound";
+ tileset = "gfx";
+ }.${type};
+ in args.installPhase or ''
+ runHook preInstall
+ destdir="$out/share/cataclysm-dda/${baseDir}"
+ mkdir -p "$destdir"
+ cp -R "${modRoot}" "$destdir/${modName}"
+ runHook postInstall
+ '';
+
+ passthru = {
+ forTiles = true;
+ forCurses = type == "mod";
+ };
+})
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/common.nix b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
index f904a3c0f35..9ec73cdebe0 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/common.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/common.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchFromGitHub, pkgconfig, gettext, ncurses, CoreFoundation
+{ stdenv, runtimeShell, pkgconfig, gettext, ncurses, CoreFoundation
, tiles, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, freetype, Cocoa
-, debug, runtimeShell
+, debug
+, useXdgDir
}:
let
@@ -12,98 +13,100 @@ let
tilesDeps = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf freetype ]
++ optionals stdenv.isDarwin [ Cocoa ];
- common = {
- nativeBuildInputs = [ pkgconfig ];
-
- buildInputs = cursesDeps ++ optionals tiles tilesDeps;
-
- postPatch = ''
- patchShebangs .
- '';
+ installXDGAppLauncher = ''
+ launcher="$out/share/applications/cataclysm-dda.desktop"
+ install -D -m 444 data/xdg/*cataclysm-dda.desktop -T "$launcher"
+ sed -i "$launcher" -e "s,\(Exec=\)\(cataclysm-tiles\),\1$out/bin/\2,"
+ install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps
+ '';
+
+ installMacOSAppLauncher = ''
+ app=$out/Applications/Cataclysm.app
+ install -D -m 444 data/osx/Info.plist -t $app/Contents
+ install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources
+ mkdir $app/Contents/MacOS
+ launcher=$app/Contents/MacOS/Cataclysm.sh
+ cat << EOF > $launcher
+ #!${runtimeShell}
+ $out/bin/cataclysm-tiles
+ EOF
+ chmod 555 $launcher
+ '';
+in
- makeFlags = [
- "PREFIX=$(out)" "USE_HOME_DIR=1" "LANGUAGES=all"
- ] ++ optionals (!debug) [
- "RELEASE=1"
- ] ++ optionals tiles [
- "TILES=1" "SOUND=1"
- ] ++ optionals stdenv.isDarwin [
- "NATIVE=osx" "CLANG=1"
- ];
-
- postInstall = optionalString tiles
- ( if !stdenv.isDarwin
- then utils.installXDGAppLauncher
- else utils.installMacOSAppLauncher
- );
-
- dontStrip = debug;
-
- # https://hydra.nixos.org/build/65193254
- # src/weather_data.cpp:203:1: fatal error: opening dependency file obj/tiles/weather_data.d: No such file or directory
- # make: *** [Makefile:687: obj/tiles/weather_data.o] Error 1
- enableParallelBuilding = false;
-
- meta = with stdenv.lib; {
- description = "A free, post apocalyptic, zombie infested rogue-like";
- longDescription = ''
- Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.
- Surviving is difficult: you have been thrown, ill-equipped, into a
- landscape now riddled with monstrosities of which flesh eating zombies are
- neither the strangest nor the deadliest.
-
- Yet with care and a little luck, many things are possible. You may try to
- eke out an existence in the forests silently executing threats and
- providing sustenance with your longbow. You can ride into town in a
- jerry-rigged vehicle, all guns blazing, to settle matters in a fug of
- smoke from your molotovs. You could take a more measured approach and
- construct an impregnable fortress, surrounded by traps to protect you from
- the horrors without. The longer you survive, the more skilled and adapted
- you will get and the better equipped and armed to deal with the threats
- you are presented with.
-
- In the course of your ordeal there will be opportunities and temptations
- to improve or change your very nature. There are tales of survivors fitted
- with extraordinary cybernetics giving great power and stories too of
- gravely mutated survivors who, warped by their ingestion of exotic
- substances or radiation, now more closely resemble insects, birds or fish
- than their original form.
- '';
- homepage = "https://cataclysmdda.org/";
- license = licenses.cc-by-sa-30;
- maintainers = with maintainers; [ mnacamura ];
- platforms = platforms.unix;
- };
+stdenv.mkDerivation {
+ pname = "cataclysm-dda";
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ buildInputs = cursesDeps ++ optionals tiles tilesDeps;
+
+ postPatch = ''
+ patchShebangs .
+
+ # Locale patch required for Darwin builds, see:
+ # https://github.com/NixOS/nixpkgs/pull/74064#issuecomment-560083970
+ sed -i src/translations.cpp \
+ -e 's@#elif (defined(__linux__) || (defined(MACOSX) && !defined(TILES)))@#elif 1@'
+ '';
+
+ makeFlags = [
+ "PREFIX=$(out)" "LANGUAGES=all"
+ (if useXdgDir then "USE_XDG_DIR=1" else "USE_HOME_DIR=1")
+ ] ++ optionals (!debug) [
+ "RELEASE=1"
+ ] ++ optionals tiles [
+ "TILES=1" "SOUND=1"
+ ] ++ optionals stdenv.isDarwin [
+ "NATIVE=osx" "CLANG=1"
+ ];
+
+ postInstall = optionalString tiles
+ ( if !stdenv.isDarwin
+ then installXDGAppLauncher
+ else installMacOSAppLauncher
+ );
+
+ dontStrip = debug;
+
+ # https://hydra.nixos.org/build/65193254
+ # src/weather_data.cpp:203:1: fatal error: opening dependency file obj/tiles/weather_data.d: No such file or directory
+ # make: *** [Makefile:687: obj/tiles/weather_data.o] Error 1
+ enableParallelBuilding = false;
+
+ passthru = {
+ isTiles = tiles;
+ isCurses = !tiles;
};
- utils = {
- fetchFromCleverRaven = { rev, sha256 }:
- fetchFromGitHub {
- owner = "CleverRaven";
- repo = "Cataclysm-DDA";
- inherit rev sha256;
- };
-
- installXDGAppLauncher = ''
- launcher="$out/share/applications/cataclysm-dda.desktop"
- install -D -m 444 data/xdg/*cataclysm-dda.desktop -T "$launcher"
- sed -i "$launcher" -e "s,\(Exec=\)\(cataclysm-tiles\),\1$out/bin/\2,"
- install -D -m 444 data/xdg/cataclysm-dda.svg -t $out/share/icons/hicolor/scalable/apps
- '';
-
- installMacOSAppLauncher = ''
- app=$out/Applications/Cataclysm.app
- install -D -m 444 data/osx/Info.plist -t $app/Contents
- install -D -m 444 data/osx/AppIcon.icns -t $app/Contents/Resources
- mkdir $app/Contents/MacOS
- launcher=$app/Contents/MacOS/Cataclysm.sh
- cat << EOF > $launcher
- #!${runtimeShell}
- $out/bin/cataclysm-tiles
- EOF
- chmod 555 $launcher
+ meta = with stdenv.lib; {
+ description = "A free, post apocalyptic, zombie infested rogue-like";
+ longDescription = ''
+ Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.
+ Surviving is difficult: you have been thrown, ill-equipped, into a
+ landscape now riddled with monstrosities of which flesh eating zombies are
+ neither the strangest nor the deadliest.
+
+ Yet with care and a little luck, many things are possible. You may try to
+ eke out an existence in the forests silently executing threats and
+ providing sustenance with your longbow. You can ride into town in a
+ jerry-rigged vehicle, all guns blazing, to settle matters in a fug of
+ smoke from your molotovs. You could take a more measured approach and
+ construct an impregnable fortress, surrounded by traps to protect you from
+ the horrors without. The longer you survive, the more skilled and adapted
+ you will get and the better equipped and armed to deal with the threats
+ you are presented with.
+
+ In the course of your ordeal there will be opportunities and temptations
+ to improve or change your very nature. There are tales of survivors fitted
+ with extraordinary cybernetics giving great power and stories too of
+ gravely mutated survivors who, warped by their ingestion of exotic
+ substances or radiation, now more closely resemble insects, birds or fish
+ than their original form.
'';
+ homepage = "https://cataclysmdda.org/";
+ license = licenses.cc-by-sa-30;
+ maintainers = with maintainers; [ mnacamura ];
+ platforms = platforms.unix;
};
-in
-
-{ inherit common utils; }
+}
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/default.nix b/nixpkgs/pkgs/games/cataclysm-dda/default.nix
index ad1a9c409d5..ada212ea7e9 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/default.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/default.nix
@@ -1,25 +1,42 @@
-{ stdenv, callPackage, CoreFoundation
-, tiles ? true, Cocoa
-, debug ? false
-}:
+{ newScope, darwin }:
let
- inherit (callPackage ./common.nix { inherit tiles CoreFoundation Cocoa debug; }) common utils;
- inherit (utils) fetchFromCleverRaven;
-in
+ callPackage = newScope self;
-stdenv.mkDerivation (common // rec {
- version = "0.E";
- name = "cataclysm-dda-${version}";
+ stable = rec {
+ tiles = callPackage ./stable.nix {
+ inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa;
+ };
- src = fetchFromCleverRaven {
- rev = version;
- sha256 = "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan";
+ curses = tiles.override { tiles = false; };
};
- patches = [ ./patches/fix_locale_dir.patch ];
+ git = rec {
+ tiles = callPackage ./git.nix {
+ inherit (darwin.apple_sdk.frameworks) CoreFoundation Cocoa;
+ };
- meta = with stdenv.lib.maintainers; common.meta // {
- maintainers = common.meta.maintainers ++ [ skeidel ];
+ curses = tiles.override { tiles = false; };
};
-})
+
+ lib = callPackage ./lib.nix {};
+
+ pkgs = callPackage ./pkgs {};
+
+ self = {
+ inherit
+ callPackage
+ stable
+ git;
+
+ inherit (lib)
+ buildMod
+ buildSoundPack
+ buildTileSet
+ wrapCDDA;
+
+ inherit pkgs;
+ };
+in
+
+self
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/git.nix b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
index 8e3c3e33994..36f37f7aeba 100644
--- a/nixpkgs/pkgs/games/cataclysm-dda/git.nix
+++ b/nixpkgs/pkgs/games/cataclysm-dda/git.nix
@@ -1,33 +1,41 @@
-{ stdenv, callPackage, CoreFoundation
+{ lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA
, tiles ? true, Cocoa
, debug ? false
+, useXdgDir ? false
+, version ? "2019-11-22"
+, rev ? "a6c8ece992bffeae3788425dd4b3b5871e66a9cd"
+, sha256 ? "0ww2q5gykxm802z1kffmnrfahjlx123j1gfszklpsv0b1fccm1ab"
}:
let
- inherit (stdenv.lib) substring;
- inherit (callPackage ./common.nix { inherit tiles CoreFoundation Cocoa debug; }) common utils;
- inherit (utils) fetchFromCleverRaven;
-in
+ common = callPackage ./common.nix {
+ inherit CoreFoundation tiles Cocoa debug useXdgDir;
+ };
-stdenv.mkDerivation (common // rec {
- version = "2019-11-22";
- name = "cataclysm-dda-git-${version}";
+ self = common.overrideAttrs (common: rec {
+ pname = common.pname + "-git";
+ inherit version;
- src = fetchFromCleverRaven {
- rev = "a6c8ece992bffeae3788425dd4b3b5871e66a9cd";
- sha256 = "0ww2q5gykxm802z1kffmnrfahjlx123j1gfszklpsv0b1fccm1ab";
- };
+ src = fetchFromGitHub {
+ owner = "CleverRaven";
+ repo = "Cataclysm-DDA";
+ inherit rev sha256;
+ };
- patches = [
- # Locale patch required for Darwin builds, see: https://github.com/NixOS/nixpkgs/pull/74064#issuecomment-560083970
- ./patches/fix_locale_dir_git.patch
- ];
+ makeFlags = common.makeFlags ++ [
+ "VERSION=git-${version}-${lib.substring 0 8 src.rev}"
+ ];
- makeFlags = common.makeFlags ++ [
- "VERSION=git-${version}-${substring 0 8 src.rev}"
- ];
+ passthru = common.passthru // {
+ pkgs = pkgs.override { build = self; };
+ withMods = wrapCDDA self;
+ };
- meta = with stdenv.lib.maintainers; common.meta // {
- maintainers = common.meta.maintainers ++ [ rardiol ];
- };
-})
+ meta = common.meta // {
+ maintainers = with lib.maintainers;
+ common.meta.maintainers ++ [ rardiol ];
+ };
+ });
+in
+
+self
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/lib.nix b/nixpkgs/pkgs/games/cataclysm-dda/lib.nix
new file mode 100644
index 00000000000..02678ed0228
--- /dev/null
+++ b/nixpkgs/pkgs/games/cataclysm-dda/lib.nix
@@ -0,0 +1,17 @@
+{ callPackage }:
+
+{
+ buildMod = callPackage ./builder.nix {
+ type = "mod";
+ };
+
+ buildSoundPack = callPackage ./builder.nix {
+ type = "soundpack";
+ };
+
+ buildTileSet = callPackage ./builder.nix {
+ type = "tileset";
+ };
+
+ wrapCDDA = callPackage ./wrapper.nix {};
+}
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
deleted file mode 100644
index 5bfff892d2a..00000000000
--- a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/src/translations.cpp
-+++ b/src/translations.cpp
-@@ -212,14 +212,12 @@ void set_language()
- auto env = getenv( "LANGUAGE" );
- locale_dir = std::string( PATH_INFO::base_path() + "lang/mo/" + ( env ? env : "none" ) +
- "/LC_MESSAGES/cataclysm-dda.mo" );
--#elif (defined(__linux__) || (defined(MACOSX) && !defined(TILES)))
-+#else
- if( !PATH_INFO::base_path().empty() ) {
- locale_dir = PATH_INFO::base_path() + "share/locale";
- } else {
- locale_dir = "lang/mo";
- }
--#else
-- locale_dir = "lang/mo";
- #endif
-
- const char *locale_dir_char = locale_dir.c_str();
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch b/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
deleted file mode 100644
index 79b442ff5c9..00000000000
--- a/nixpkgs/pkgs/games/cataclysm-dda/patches/fix_locale_dir_git.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/translations.cpp b/src/translations.cpp
-index 067e2cd77d..5660d18b3d 100644
---- a/src/translations.cpp
-+++ b/src/translations.cpp
-@@ -211,14 +211,12 @@ void set_language()
- auto env = getenv( "LANGUAGE" );
- locale_dir = std::string( FILENAMES["base_path"] + "lang/mo/" + ( env ? env : "none" ) +
- "/LC_MESSAGES/cataclysm-dda.mo" );
--#elif (defined(__linux__) || (defined(MACOSX) && !defined(TILES)))
-+#else
- if( !FILENAMES["base_path"].empty() ) {
- locale_dir = FILENAMES["base_path"] + "share/locale";
- } else {
- locale_dir = "lang/mo";
- }
--#else
-- locale_dir = "lang/mo";
- #endif
-
- const char *locale_dir_char = locale_dir.c_str();
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/pkgs/default.nix b/nixpkgs/pkgs/games/cataclysm-dda/pkgs/default.nix
new file mode 100644
index 00000000000..6f3df09a786
--- /dev/null
+++ b/nixpkgs/pkgs/games/cataclysm-dda/pkgs/default.nix
@@ -0,0 +1,27 @@
+{ lib, callPackage, build ? null }:
+
+let
+ pkgs = {
+ mod = {
+ };
+
+ soundpack = {
+ };
+
+ tileset = {
+ UndeadPeople = callPackage ./tilesets/UndeadPeople {};
+ };
+ };
+
+ pkgs' = lib.mapAttrs (_: mod: lib.filterAttrs availableForBuild mod) pkgs;
+
+ availableForBuild = _: mod:
+ if isNull build then
+ true
+ else if build.isTiles then
+ mod.forTiles
+ else
+ mod.forCurses;
+in
+
+lib.makeExtensible (_: pkgs')
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix b/nixpkgs/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix
new file mode 100644
index 00000000000..7a58cea8208
--- /dev/null
+++ b/nixpkgs/pkgs/games/cataclysm-dda/pkgs/tilesets/UndeadPeople/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildTileSet, fetchFromGitHub }:
+
+buildTileSet {
+ modName = "UndeadPeople";
+ version = "2020-07-08";
+
+ src = fetchFromGitHub {
+ owner = "SomeDeadGuy";
+ repo = "UndeadPeopleTileset";
+ rev = "f7f13b850fafe2261deee051f45d9c611a661534";
+ sha256 = "0r06srjr7rq51jk9yfyxz80nfgb98mkn86cbcjfxpibgbqvcp0zm";
+ };
+
+ modRoot = "MSX++UnDeadPeopleEdition";
+
+ meta = with lib; {
+ description = "Cataclysm DDA tileset based on MSX++ tileset";
+ homepage = "https://github.com/SomeDeadGuy/UndeadPeopleTileset";
+ license = licenses.unfree;
+ maintainers = with maintainers; [ mnacamura ];
+ platforms = platforms.all;
+ };
+}
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/stable.nix b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
new file mode 100644
index 00000000000..076a33a9e89
--- /dev/null
+++ b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix
@@ -0,0 +1,34 @@
+{ lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA
+, tiles ? true, Cocoa
+, debug ? false
+, useXdgDir ? false
+}:
+
+let
+ common = callPackage ./common.nix {
+ inherit CoreFoundation tiles Cocoa debug useXdgDir;
+ };
+
+ self = common.overrideAttrs (common: rec {
+ version = "0.E-2";
+
+ src = fetchFromGitHub {
+ owner = "CleverRaven";
+ repo = "Cataclysm-DDA";
+ rev = version;
+ sha256 = "15l6w6lxays7qmsv0ci2ry53asb9an9dh7l7fc13256k085qcg68";
+ };
+
+ passthru = common.passthru // {
+ pkgs = pkgs.override { build = self; };
+ withMods = wrapCDDA self;
+ };
+
+ meta = common.meta // {
+ maintainers = with lib.maintainers;
+ common.meta.maintainers ++ [ skeidel ];
+ };
+ });
+in
+
+self
diff --git a/nixpkgs/pkgs/games/cataclysm-dda/wrapper.nix b/nixpkgs/pkgs/games/cataclysm-dda/wrapper.nix
new file mode 100644
index 00000000000..a73c320f9c6
--- /dev/null
+++ b/nixpkgs/pkgs/games/cataclysm-dda/wrapper.nix
@@ -0,0 +1,47 @@
+{ lib, symlinkJoin, makeWrapper }:
+
+unwrapped:
+
+pkgsSpec:
+
+let
+ mods = if lib.isFunction pkgsSpec
+ then pkgsSpec unwrapped.pkgs
+ else pkgsSpec;
+in
+
+if builtins.length mods == 0
+then unwrapped
+else symlinkJoin {
+ name = unwrapped.name + "-with-mods";
+
+ paths = [ unwrapped ] ++ mods;
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ postBuild = ''
+ if [ -x $out/bin/cataclysm ]; then
+ wrapProgram $out/bin/cataclysm \
+ --add-flags "--datadir $out/share/cataclysm-dda/"
+ fi
+ if [ -x $out/bin/cataclysm-tiles ]; then
+ wrapProgram $out/bin/cataclysm-tiles \
+ --add-flags "--datadir $out/share/cataclysm-dda/"
+ fi
+
+ # Launch the wrapped program
+ replaceProgram() {
+ cp "$1" "''${1}.bk"
+ unlink "$1"
+ mv "''${1}.bk" "$1"
+ sed -i "$1" -e "s,/nix/store/.\+\(/bin/cataclysm-tiles\),$out\1,"
+ }
+ for script in "$out/share/applications/cataclysm-dda.desktop" \
+ "$out/Applications/Cataclysm.app/Contents/MacOS/Cataclysm.sh"
+ do
+ if [ -e "$script" ]; then
+ replaceProgram "$script"
+ fi
+ done
+ '';
+}
diff --git a/nixpkgs/pkgs/games/chiaki/default.nix b/nixpkgs/pkgs/games/chiaki/default.nix
index 0d0bab2c4eb..be4ec7b73b4 100644
--- a/nixpkgs/pkgs/games/chiaki/default.nix
+++ b/nixpkgs/pkgs/games/chiaki/default.nix
@@ -4,14 +4,14 @@
mkDerivation rec {
pname = "chiaki";
- version = "1.1.3";
+ version = "1.2.1";
src = fetchFromGitHub {
rev = "v${version}";
owner = "thestr4ng3r";
repo = "chiaki";
fetchSubmodules = true;
- sha256 = "12cb4wpibh077san9rpsmavihf0xy9iqc9zl7y0aagrkl50h19kr";
+ sha256 = "00lzsbjd1w1bhlblgf7zp112sk8ac09c3bzi5ljxbn02mi0an3qp";
};
nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/games/chocolate-doom/default.nix b/nixpkgs/pkgs/games/chocolate-doom/default.nix
index 1c2a24de01d..1b77a72f8d0 100644
--- a/nixpkgs/pkgs/games/chocolate-doom/default.nix
+++ b/nixpkgs/pkgs/games/chocolate-doom/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "chocolate-doom";
- version = "3.0.0";
+ version = "3.0.1";
src = fetchFromGitHub {
owner = "chocolate-doom";
repo = pname;
rev = "${pname}-${version}";
- sha256 = "0ajzb767wyj8vzhjpsmgslw42b0155ji4alk26shxl7k5ijbzn0j";
+ sha256 = "1zlcqhd49c5n8vaahgaqrc2y10z86xng51sbd82xm3rk2dly25jp";
};
postPatch = ''
diff --git a/nixpkgs/pkgs/games/cockatrice/default.nix b/nixpkgs/pkgs/games/cockatrice/default.nix
index 9d07d09e27b..848bf2ab885 100644
--- a/nixpkgs/pkgs/games/cockatrice/default.nix
+++ b/nixpkgs/pkgs/games/cockatrice/default.nix
@@ -4,13 +4,13 @@
mkDerivation rec {
pname = "cockatrice";
- version = "2020-03-20-Release-2.7.4";
+ version = "2020-08-23-Release-2.7.5";
src = fetchFromGitHub {
owner = "Cockatrice";
repo = "Cockatrice";
rev = "${version}";
- sha256 = "1d229gswfcqxch19wb744d9h897qwzf2y9imwrbcwnlhpbr1j62k";
+ sha256 = "1yaxm7q0ja3rgx197hh8ynjc6ncc4hm0qdn9v7f0l4fbv0bdpv34";
};
buildInputs = [
diff --git a/nixpkgs/pkgs/games/crawl/crawl_purify.patch b/nixpkgs/pkgs/games/crawl/crawl_purify.patch
index f792dc013f0..dda55b09f32 100644
--- a/nixpkgs/pkgs/games/crawl/crawl_purify.patch
+++ b/nixpkgs/pkgs/games/crawl/crawl_purify.patch
@@ -1,37 +1,22 @@
-diff -ru3 crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile
---- crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile 1970-01-01 03:00:01.000000000 +0300
-+++ crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile 2017-07-27 14:45:34.611221571 +0300
-@@ -224,9 +224,9 @@
- STRIP := strip -x
- NEED_APPKIT = YesPlease
- LIBNCURSES_IS_UNICODE = Yes
+diff --git a/crawl-ref/source/Makefile b/crawl-ref/source/Makefile
+--- a/crawl-ref/source/Makefile
++++ b/crawl-ref/source/Makefile
+@@ -248,9 +248,9 @@ ifeq ($(uname_S),Darwin)
+ STRIP := strip -x
+ NEED_APPKIT = YesPlease
+ LIBNCURSES_IS_UNICODE = Yes
- NO_PKGCONFIG = Yes
- BUILD_SQLITE = YesPlease
- BUILD_ZLIB = YesPlease
+ #NO_PKGCONFIG = Yes
+ #BUILD_SQLITE = YesPlease
+ #BUILD_ZLIB = YesPlease
- ifdef TILES
- EXTRA_LIBS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL -framework AudioToolbox -framework CoreVideo contrib/install/$(ARCH)/lib/libSDL2main.a
- BUILD_FREETYPE = YesPlease
-@@ -286,13 +286,7 @@
- LIBZ := contrib/install/$(ARCH)/lib/libz.a
-
- ifndef CROSSHOST
-- # FreeBSD keeps all of its userland includes in /usr/local so
-- # look there
-- ifeq ($(uname_S),FreeBSD)
-- SQLITE_INCLUDE_DIR := /usr/local/include
-- else
-- SQLITE_INCLUDE_DIR := /usr/include
-- endif
-+ SQLITE_INCLUDE_DIR := ${sqlite}/include
- else
- # This is totally wrong, works only with some old-style setups, and
- # on some architectures of Debian/new FHS multiarch -- excluding, for
-diff -ru3 crawl-ref-0.23.2-src-old/crawl-ref/source/util/find_font crawl-ref-0.23.2-src-new/crawl-ref/source/util/find_font
---- crawl-ref-0.23.2-src-old/crawl-ref/source/util/find_font 1970-01-01 03:00:01.000000000 +0300
-+++ crawl-ref-0.23.2-src-new/crawl-ref/source/util/find_font 2017-07-27 14:44:29.784235540 +0300
+ ifdef TILES
+ EXTRA_LIBS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL -framework AudioToolbox -framework CoreVideo contrib/install/$(ARCH)/lib/libSDL2main.a
+ BUILD_FREETYPE = YesPlease
+diff --git a/crawl-ref/source/util/find_font b/crawl-ref/source/util/find_font
+--- a/crawl-ref/source/util/find_font
++++ b/crawl-ref/source/util/find_font
@@ -1,6 +1,6 @@
#! /bin/sh
@@ -59,4 +44,4 @@ diff --git a/crawl-ref/source/windowmanager-sdl.cc b/crawl-ref/source/windowmana
+# include <SDL2/SDL_image.h>
# if defined(USE_SOUND) && !defined(WINMM_PLAY_SOUNDS)
# include <SDL2/SDL_mixer.h>
- # endif \ No newline at end of file
+ # endif
diff --git a/nixpkgs/pkgs/games/crawl/default.nix b/nixpkgs/pkgs/games/crawl/default.nix
index 8fe3b20419a..eeb8bd7f9db 100644
--- a/nixpkgs/pkgs/games/crawl/default.nix
+++ b/nixpkgs/pkgs/games/crawl/default.nix
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
name = "crawl-${version}${lib.optionalString tileMode "-tiles"}";
- version = "0.24.1";
+ version = "0.25.0";
src = fetchFromGitHub {
owner = "crawl";
repo = "crawl";
rev = version;
- sha256 = "1fiizkigmbrw0nb1l1m3syl2mw4a4r36l1y0n4z8z7slp79bsbv4";
+ sha256 = "0swcl8cxz64yw8dl9macz8ar1ccwrkwz89j7s1f60inb5jlxifqm";
};
# Patch hard-coded paths and remove force library builds
diff --git a/nixpkgs/pkgs/games/crispy-doom/default.nix b/nixpkgs/pkgs/games/crispy-doom/default.nix
index ea7c3c6e478..5bd6e714e42 100644
--- a/nixpkgs/pkgs/games/crispy-doom/default.nix
+++ b/nixpkgs/pkgs/games/crispy-doom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, autoreconfHook, pkgconfig, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub }:
+{ stdenv, autoreconfHook, pkgconfig, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub, fetchpatch }:
stdenv.mkDerivation rec {
pname = "crispy-doom";
@@ -11,6 +11,18 @@ stdenv.mkDerivation rec {
sha256 = "1b6gn0dysv631jynh769whww9xcss1gms78sz3nrn855q1dsvcb4";
};
+ patches = [
+ # Fixes CVE-2020-14983
+ (fetchpatch {
+ url = "https://github.com/chocolate-doom/chocolate-doom/commit/f1a8d991aa8a14afcb605cf2f65cd15fda204c56.diff";
+ sha256 = "1z6pxg9azcqq7g09hjc09d01knd803nhqilkw2kbx8648hil9mgn";
+ })
+ (fetchpatch {
+ url = "https://github.com/chocolate-doom/chocolate-doom/commit/54fb12eeaa7d527defbe65e7e00e37d5feb7c597.diff";
+ sha256 = "0ww21jn02ld73rkp06f7fqy92jqv8c9q4d1mvsryag1gmvy57znj";
+ })
+ ];
+
postPatch = ''
sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am
'';
diff --git a/nixpkgs/pkgs/games/curseofwar/default.nix b/nixpkgs/pkgs/games/curseofwar/default.nix
index 8b915345f86..9aff3798b6b 100644
--- a/nixpkgs/pkgs/games/curseofwar/default.nix
+++ b/nixpkgs/pkgs/games/curseofwar/default.nix
@@ -1,34 +1,30 @@
{ stdenv
, fetchFromGitHub
-, fetchpatch
, ncurses
, SDL
}:
stdenv.mkDerivation rec {
pname = "curseofwar";
- version = "1.2.0";
+ version = "1.3.0";
src = fetchFromGitHub {
owner = "a-nikolaev";
repo = pname;
rev = "v${version}";
- sha256 = "1bj3lv5vrnwzzkgj31pyf1lzkz10qphvzlfz7a3j4plqkczjq92y";
+ sha256 = "1wd71wdnj9izg5d95m81yx3684g4zdi7fsy0j5wwnbd9j34ilz1i";
};
- patches = [(fetchpatch {
- # Pull request #40: https://github.com/a-nikolaev/curseofwar/pull/40
- name = "prefix-independent-data";
- url = "https://github.com/fgaz/curseofwar/commit/947dea527b2bf4c6e107b8e9c66f4c4fd775b6f9.patch";
- sha256 = "0ak5igaxmbavkbl8101xx6gswhwgzm5f6wyplwapgh7cylnclc61";
- })];
-
buildInputs = [
ncurses
SDL
];
- makeFlags = (if isNull SDL then [] else [ "SDL=yes" ]) ++ [ "PREFIX=$(out)" ];
+ makeFlags = (if isNull SDL then [] else [ "SDL=yes" ]) ++ [
+ "PREFIX=$(out)"
+ # force platform's cc on darwin, otherwise gcc is used
+ "CC=${stdenv.cc.targetPrefix}cc"
+ ];
meta = with stdenv.lib; {
description = "A fast-paced action strategy game";
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
index bd37f6180b1..11c21b82c29 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -1,5 +1,5 @@
{ stdenv, buildEnv, lib, fetchFromGitHub, cmake, writeScriptBin
-, perl, XMLLibXML, XMLLibXSLT, zlib
+, perl, XMLLibXML, XMLLibXSLT, zlib, ruby
, enableStoneSense ? false, allegro5, libGLU, libGL
, enableTWBT ? true, twbt
, SDL
@@ -53,10 +53,10 @@ let
prerelease = true;
};
"0.47.04" = {
- dfHackRelease = "0.47.04-alpha0";
- sha256 = "07056k6717mqim9skwjprqplj8jmmli6g4p2c72c8000jwnn2hjy";
- xmlRev = "23500e4e9bd1885365d0a2ef1746c321c1dd50aa";
- prerelease = true;
+ dfHackRelease = "0.47.04-r2";
+ sha256 = "18ppn1dqaxi6ahjzsvb9kw70rvca106a1hibhzc4rxmraypnqb89";
+ xmlRev = "036b662a1bbc96b4911f3cbe74dfa1243b6459bc";
+ prerelease = false;
};
};
@@ -109,6 +109,19 @@ let
};
patches = [ ./fix-stonesense.patch ];
+
+ # As of
+ # https://github.com/DFHack/dfhack/commit/56e43a0dde023c5a4595a22b29d800153b31e3c4,
+ # dfhack gets its goodies from the directory above the Dwarf_Fortress
+ # executable, which leads to stock Dwarf Fortress and not the built
+ # environment where all the dfhack resources are symlinked to (typically
+ # ~/.local/share/df_linux). This causes errors like `tweak is not a
+ # recognized command` to be reported and dfhack to lose some of its
+ # functionality.
+ postPatch = ''
+ sed -i 's@cached_path = path_string.*@cached_path = getenv("DF_DIR");@' library/Process-linux.cpp
+ '';
+
nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
# We don't use system libraries because dfhack needs old C++ ABI.
buildInputs = [ zlib SDL ]
@@ -127,6 +140,12 @@ let
cmakeFlags = [ "-DDFHACK_BUILD_ARCH=${arch}" "-DDOWNLOAD_RUBY=OFF" ]
++ lib.optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" ];
+ # dfhack expects an unversioned libruby.so to be present in the hack
+ # subdirectory for ruby plugins to function.
+ postInstall = ''
+ ln -s ${ruby}/lib/libruby-*.so $out/hack/libruby.so
+ '';
+
enableParallelBuilding = true;
};
in
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
index b5bff0e9b7a..a0990e04f93 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
+++ b/nixpkgs/pkgs/games/dwarf-fortress/twbt/default.nix
@@ -42,9 +42,10 @@ let
prerelease = false;
};
"0.47.04" = {
- twbtRelease = "6.61";
- sha256 = "07bqy9rkd64h033sxdpigp5zq4xrr0xd36wdr1b21g649mv8j6yw";
- prerelease = false;
+ twbtRelease = "6.xx";
+ dfhackRelease = "0.47.04-r2";
+ sha256 = "092dgp8fh1j4nqr9wbzn89ib1nhscclr8m91lfxsvg0mgn7j8xlv";
+ prerelease = true;
};
};
@@ -58,7 +59,11 @@ stdenvNoCC.mkDerivation rec {
version = release.twbtRelease;
src = fetchurl {
- url = "https://github.com/mifki/df-twbt/releases/download/v${version}/twbt-${version}-linux.zip";
+ url =
+ if version == "6.xx" then
+ "https://github.com/thurin/df-twbt/releases/download/${release.dfhackRelease}/twbt-${version}-linux64-${release.dfhackRelease}.zip"
+ else
+ "https://github.com/mifki/df-twbt/releases/download/v${version}/twbt-${version}-linux.zip";
sha256 = release.sha256;
};
diff --git a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
index 054935af012..b041067d89e 100644
--- a/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
+++ b/nixpkgs/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
@@ -1,6 +1,6 @@
shopt -s extglob
-[ -z "$DF_DIR" ] && DF_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/df_linux"
+[ -z "$DF_DIR" ] && export DF_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/df_linux"
env_dir="@env@"
exe="$env_dir/@exe@"
diff --git a/nixpkgs/pkgs/games/easyrpg-player/default.nix b/nixpkgs/pkgs/games/easyrpg-player/default.nix
index dfa57a72864..79628d0d2ae 100644
--- a/nixpkgs/pkgs/games/easyrpg-player/default.nix
+++ b/nixpkgs/pkgs/games/easyrpg-player/default.nix
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "easyrpg-player";
- version = "0.6.1";
+ version = "0.6.2.1";
src = fetchFromGitHub {
owner = "EasyRPG";
repo = "Player";
rev = version;
- sha256 = "0w4a4jg3py0phsp99nl7abyd31salnc57w4l05a228imvyy0maia";
+ sha256 = "19wpjvlkjmjhdv1dbph6i2da1xx479zhr532x0ili1aphw1j9hi6";
};
nativeBuildInputs = [ cmake doxygen pkgconfig ];
diff --git a/nixpkgs/pkgs/games/eduke32/default.nix b/nixpkgs/pkgs/games/eduke32/default.nix
index 60abe296467..53baac79eed 100644
--- a/nixpkgs/pkgs/games/eduke32/default.nix
+++ b/nixpkgs/pkgs/games/eduke32/default.nix
@@ -12,7 +12,7 @@ let
comment = "Duke Nukem 3D port";
desktopName = "Enhanced Duke Nukem 3D";
genericName = "Duke Nukem 3D port";
- categories = "Application;Game;";
+ categories = "Game;";
};
wrapper = "eduke32-wrapper";
diff --git a/nixpkgs/pkgs/games/eidolon/default.nix b/nixpkgs/pkgs/games/eidolon/default.nix
index 5461304d334..e982c95c4d6 100644
--- a/nixpkgs/pkgs/games/eidolon/default.nix
+++ b/nixpkgs/pkgs/games/eidolon/default.nix
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
description = "A single TUI-based registry for drm-free, wine and steam games on linux, accessed through a rofi launch menu";
homepage = "https://github.com/nicohman/eidolon";
license = licenses.gpl3;
- maintainers = [ maintainers."0x4A6F" ];
+ maintainers = with maintainers; [ _0x4A6F ];
platforms = platforms.linux;
};
}
diff --git a/nixpkgs/pkgs/games/empty-epsilon/default.nix b/nixpkgs/pkgs/games/empty-epsilon/default.nix
index 73d42c65008..098ed35406f 100644
--- a/nixpkgs/pkgs/games/empty-epsilon/default.nix
+++ b/nixpkgs/pkgs/games/empty-epsilon/default.nix
@@ -3,8 +3,8 @@
let
major = "2020";
- minor = "04";
- patch = "09";
+ minor = "08";
+ patch = "07";
version = "${major}.${minor}.${patch}";
@@ -16,7 +16,7 @@ let
owner = "daid";
repo = "SeriousProton";
rev = "EE-${version}";
- sha256 = "0blqsii8pgxajargd1idry2zakhnvl7j309yjmddarpvafg73blj";
+ sha256 = "1mfizhmwh6xgb5n34l3wrbxm21f7gsvsyacsmnxw9rkz0ya7ch30";
};
nativeBuildInputs = [ cmake ];
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
owner = "daid";
repo = "EmptyEpsilon";
rev = "EE-${version}";
- sha256 = "1hdni8m6m7bgx11scqqqzhcjrmrl0jsxb6cr6rvjbqnahzi23slr";
+ sha256 = "0p41wx9yk09xjmfkjpdgi3b2999ps2am3xqwd866q11f6ci7viv5";
};
nativeBuildInputs = [ cmake ];
diff --git a/nixpkgs/pkgs/games/endgame-singularity/default.nix b/nixpkgs/pkgs/games/endgame-singularity/default.nix
index 46f21629ca3..4e855dbd053 100644
--- a/nixpkgs/pkgs/games/endgame-singularity/default.nix
+++ b/nixpkgs/pkgs/games/endgame-singularity/default.nix
@@ -1,46 +1,38 @@
-{ stdenv, fetchurl, unzip, python2 }:
+{ stdenv
+, fetchurl
+, fetchFromGitHub
+, unzip
+, python3
+, enableDefaultMusicPack ? true
+}:
-python2.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
pname = "endgame-singularity";
- version = "0.30c";
- format = "other";
+ version = "1.00";
srcs = [
- (fetchurl {
- url = "http://www.emhsoft.com/singularity/singularity-${version}-src.tar.gz";
- sha256 = "13zjhf67gmla67nkfpxb01rxs8j9n4hs0s4n9lnnq4zgb709yxgl";
+ (fetchFromGitHub {
+ owner = "singularity";
+ repo = "singularity";
+ rev = "v${version}";
+ sha256 = "0ndrnxwii8lag6vrjpwpf5n36hhv223bb46d431l9gsigbizv0hl";
})
- (fetchurl {
+ ] ++ stdenv.lib.optional enableDefaultMusicPack (
+ fetchurl {
url = "http://www.emhsoft.com/singularity/endgame-singularity-music-007.zip";
sha256 = "0vf2qaf66jh56728pq1zbnw50yckjz6pf6c6qw6dl7vk60kkqnpb";
- })
- ];
- sourceRoot = ".";
+ }
+ );
+ sourceRoot = "source";
nativeBuildInputs = [ unzip ]; # The music is zipped
- propagatedBuildInputs = with python2.pkgs; [ pygame numpy ];
-
- # This is not an error: it needs both compilation rounds
- buildPhase = ''
- ${python2.interpreter} -m compileall "singularity-${version}"
- ${python2.interpreter} -O -m compileall "singularity-${version}"
- '';
-
- installPhase = ''
- install -Dm755 "singularity-${version}/singularity.py" "$out/share/singularity.py"
- install -Dm644 "singularity-${version}/singularity.pyo" "$out/share/singularity.pyo"
- install -Dm644 "singularity-${version}/singularity.pyc" "$out/share/singularity.pyc"
- cp -R "singularity-${version}/code" "singularity-${version}/data" "$out/share/"
- cp -R "endgame-singularity-music-007" "$out/share/music"
- '';
+ propagatedBuildInputs = with python3.pkgs; [ pygame numpy polib ];
- # Tell it where to find python libraries
- # Also cd to the same directory as the code, since it uses relative paths
- postFixup = ''
- makeWrapper "${python2.interpreter}" "$out/bin/endgame-singularity" \
- --set PYTHONPATH "$PYTHONPATH" \
- --run "cd \"$out/share\"" \
- --add-flags "$out/share/singularity.py"
+ # Add the music
+ postInstall = stdenv.lib.optionalString enableDefaultMusicPack ''
+ cp -R "../endgame-singularity-music-007" \
+ "$(echo $out/lib/python*/site-packages/singularity)/music"
+ # ↑ we cannot glob on [...]/music, it doesn't exist yet
'';
meta = {
diff --git a/nixpkgs/pkgs/games/exult/arch.patch b/nixpkgs/pkgs/games/exult/arch.patch
deleted file mode 100644
index 70de34184a2..00000000000
--- a/nixpkgs/pkgs/games/exult/arch.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-diff -aur exult-1.4.9rc1.orig/desktop/exult.desktop exult-1.4.9rc1/desktop/exult.desktop
---- exult-1.4.9rc1.orig/desktop/exult.desktop 2008-07-11 05:41:06.000000000 +0600
-+++ exult-1.4.9rc1/desktop/exult.desktop 2012-05-19 13:15:30.616084585 +0600
-@@ -1,9 +1,8 @@
- [Desktop Entry]
--Encoding=UTF-8
- Name=Exult
- Comment=Exult Ultima 7 Engine
- Exec=exult
--Icon=exult.png
-+Icon=exult
- Terminal=false
- Type=Application
--Categories=Application;Game;RolePlaying;
-+Categories=Game;RolePlaying;
-diff -aur exult-1.4.9rc1.orig/files/databuf.h exult-1.4.9rc1/files/databuf.h
---- exult-1.4.9rc1.orig/files/databuf.h 2010-03-10 09:07:05.000000000 +0500
-+++ exult-1.4.9rc1/files/databuf.h 2012-05-19 12:50:16.856076030 +0600
-@@ -18,6 +18,7 @@
- #define DATA_H
-
- #include <cstdio>
-+#include <cstddef>
- #include <cstring>
- #include <cassert>
- #include <fstream>
-diff -aur exult-1.4.9rc1.orig/files/U7obj.h exult-1.4.9rc1/files/U7obj.h
---- exult-1.4.9rc1.orig/files/U7obj.h 2010-02-25 07:52:07.000000000 +0500
-+++ exult-1.4.9rc1/files/U7obj.h 2012-05-19 12:50:35.916076137 +0600
-@@ -26,6 +26,7 @@
- #include <string>
- #include <vector>
- #include <cstring>
-+#include <cstddef>
- #include "common_types.h"
- #include "utils.h"
-
-diff -aur exult-1.4.9rc1.orig/imagewin/manip.h exult-1.4.9rc1/imagewin/manip.h
---- exult-1.4.9rc1.orig/imagewin/manip.h 2010-08-29 20:26:00.000000000 +0600
-+++ exult-1.4.9rc1/imagewin/manip.h 2012-05-19 13:02:45.159413596 +0600
-@@ -319,7 +319,7 @@
- static uintD copy(uintS src)
- {
- unsigned int r, g, b;
-- split_source(src,r,g,b);
-+ ManipBaseSrc<color_s,color_d>::split_source(src,r,g,b);
- return ManipBaseDest<color_d>::rgb(r,g,b);
- }
- static void copy(uintD& dest, uintS src)
-diff -aur exult-1.4.9rc1.orig/istring.h exult-1.4.9rc1/istring.h
---- exult-1.4.9rc1.orig/istring.h 2005-06-07 15:55:39.000000000 +0600
-+++ exult-1.4.9rc1/istring.h 2012-05-19 13:01:14.886079750 +0600
-@@ -162,19 +162,19 @@
-
- _Myt& operator+=(const _Myt& _Right)
- { // append _Right
-- append(_Right);
-+ this->append(_Right);
- return (*this);
- }
-
- _Myt& operator+=(const _Elem *_Ptr)
- { // append [_Ptr, <null>)
-- append(_Ptr);
-+ this->append(_Ptr);
- return (*this);
- }
-
- _Myt& operator+=(_Elem _Ch)
- { // append 1 * _Ch
-- append(static_cast<size_type>(1), _Ch);
-+ this->append(static_cast<size_type>(1), _Ch);
- return (*this);
- }
-
-diff -aur exult-1.4.9rc1.orig/shapes/pngio.cc exult-1.4.9rc1/shapes/pngio.cc
---- exult-1.4.9rc1.orig/shapes/pngio.cc 2010-02-15 18:48:11.000000000 -0200
-+++ exult-1.4.9rc1/shapes/pngio.cc 2013-09-22 20:56:37.809763588 -0300
-@@ -26,6 +26,7 @@
- #ifdef HAVE_CONFIG_H
- # include <config.h>
- #endif
-+#include <string.h>
-
- #ifdef HAVE_PNG_H
-
-@@ -79,7 +80,7 @@
- }
- // Allocate info. structure.
- png_infop info = png_create_info_struct(png);
-- if (setjmp(png->jmpbuf)) // Handle errors.
-+ if (setjmp(png_jmpbuf(png))) // Handle errors.
- {
- png_destroy_read_struct(&png, &info, 0);
- fclose(fp);
-@@ -208,7 +209,7 @@
- }
- // Allocate info. structure.
- png_infop info = png_create_info_struct(png);
-- if (setjmp(png->jmpbuf)) // Handle errors.
-+ if (setjmp(png_jmpbuf(png))) // Handle errors.
- {
- png_destroy_write_struct(&png, &info);
- fclose(fp);
-@@ -306,7 +307,7 @@
- }
- // Allocate info. structure.
- png_infop info = png_create_info_struct(png);
-- if (setjmp(png->jmpbuf)) // Handle errors.
-+ if (setjmp(png_jmpbuf(png))) // Handle errors.
- {
- png_destroy_read_struct(&png, &info, 0);
- fclose(fp);
-@@ -395,7 +396,7 @@
- }
- // Allocate info. structure.
- png_infop info = png_create_info_struct(png);
-- if (setjmp(png->jmpbuf)) // Handle errors.
-+ if (setjmp(png_jmpbuf(png))) // Handle errors.
- {
- png_destroy_write_struct(&png, &info);
- fclose(fp);
-
diff --git a/nixpkgs/pkgs/games/exult/default.nix b/nixpkgs/pkgs/games/exult/default.nix
index e735c9c5817..adbf4dd0702 100644
--- a/nixpkgs/pkgs/games/exult/default.nix
+++ b/nixpkgs/pkgs/games/exult/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, SDL, libogg, libvorbis, zlib, unzip }:
+{ stdenv, fetchurl, pkgconfig, SDL2, libogg, libvorbis, zlib, unzip }:
let
@@ -12,27 +12,20 @@ let
in
stdenv.mkDerivation rec {
- name = "exult-1.4.9rc1";
+ name = "exult-1.6";
src = fetchurl {
url = "mirror://sourceforge/exult/${name}.tar.gz";
- sha256 = "0a03a2l3ji6h48n106d4w55l8v6lni1axniafnvvv5c5n3nz5bgd";
+ sha256 = "1dm27qkxj30567zb70q4acddsizn0xyi3z87hg7lysxdkyv49s3s";
};
configureFlags = [ "--disable-tools" ];
- patches =
- [ # Arch Linux patch set.
- ./arch.patch
- ];
-
nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ SDL libogg libvorbis zlib unzip ];
+ buildInputs = [ SDL2 libogg libvorbis zlib unzip ];
enableParallelBuilding = true;
- makeFlags = [ "DESTDIR=$(out)" ];
-
NIX_LDFLAGS = "-lX11";
postInstall =
diff --git a/nixpkgs/pkgs/games/factorio/default.nix b/nixpkgs/pkgs/games/factorio/default.nix
index 19ed6ccab37..0226acf1604 100644
--- a/nixpkgs/pkgs/games/factorio/default.nix
+++ b/nixpkgs/pkgs/games/factorio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper
+{ stdenv, fetchurl, makeWrapper, makeDesktopItem
, alsaLib, libpulseaudio, libX11, libXcursor, libXinerama, libXrandr, libXi, libGL
, libSM, libICE, libXext, factorio-utils
, releaseType
@@ -45,6 +45,16 @@ let
Note the ultimate "_" is replaced with "-" in the --name arg!
'';
+ desktopItem = makeDesktopItem {
+ name = "factorio";
+ desktopName = "Factorio";
+ comment = "A game in which you build and maintain factories.";
+ exec = "factorio";
+ icon = "factorio";
+ type = "Application";
+ categories = "Game";
+ };
+
branch = if experimental then "experimental" else "stable";
# NB `experimental` directs us to take the latest build, regardless of its branch;
@@ -52,15 +62,15 @@ let
binDists = {
x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
alpha = {
- stable = bdist { sha256 = "1fg2wnia6anzya4m53jf2xqwwspvwskz3awdb3j0v3fzijps94wc"; version = "0.17.79"; withAuth = true; };
- experimental = bdist { sha256 = "1ypq9qxry2b9a74p2i20f1yl20yf37xr4kvflbg1cn5nb8vvznxq"; version = "0.18.26"; withAuth = true; };
+ stable = bdist { sha256 = "0zixscff0svpb0yg8nzczp2z4filqqxi1k0z0nrpzn2hhzhf1464"; version = "1.0.0"; withAuth = true; };
+ experimental = bdist { sha256 = "0zixscff0svpb0yg8nzczp2z4filqqxi1k0z0nrpzn2hhzhf1464"; version = "1.0.0"; withAuth = true; };
};
headless = {
- stable = bdist { sha256 = "1pr39nm23fj83jy272798gbl9003rgi4vgsi33f2iw3dk3x15kls"; version = "0.17.79"; };
- experimental = bdist { sha256 = "1srlzncwp1gcdy6ih8cc1ml5ggvg6xkw5jc2q95qjb9gpjv29mnl"; version = "0.18.26"; };
+ stable = bdist { sha256 = "0r0lplns8nxna2viv8qyx9mp4cckdvx6k20w2g2fwnj3jjmf3nc1"; version = "1.0.0"; };
+ experimental = bdist { sha256 = "0r0lplns8nxna2viv8qyx9mp4cckdvx6k20w2g2fwnj3jjmf3nc1"; version = "1.0.0"; };
};
demo = {
- stable = bdist { sha256 = "07qknasaqvzl9vy1fglm7xmdi7ynhmslrb0a209fhbfs0s7qqlgi"; version = "0.17.79"; };
+ stable = bdist { sha256 = "0h9cqbp143w47zcl4qg4skns4cngq0k40s5jwbk0wi5asjz8whqn"; version = "1.0.0"; };
};
};
i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in {
@@ -166,7 +176,7 @@ let
'';
homepage = "https://www.factorio.com/";
license = stdenv.lib.licenses.unfree;
- maintainers = with stdenv.lib.maintainers; [ Baughn elitak erictapen ];
+ maintainers = with stdenv.lib.maintainers; [ Baughn elitak erictapen priegger ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
};
@@ -224,6 +234,11 @@ let
${updateConfigSh}
EOF
) $out/share/factorio/update-config.sh
+
+ mkdir -p $out/share/icons/hicolor/{64x64,128x128}/apps
+ cp -a data/core/graphics/factorio-icon.png $out/share/icons/hicolor/64x64/apps/factorio.png
+ cp -a data/core/graphics/factorio-icon@2x.png $out/share/icons/hicolor/128x128/apps/factorio.png
+ ln -s ${desktopItem}/share/applications $out/share/
'';
};
alpha = demo // {
diff --git a/nixpkgs/pkgs/games/factorio/utils.nix b/nixpkgs/pkgs/games/factorio/utils.nix
index 563ece6cb9c..2764592a324 100644
--- a/nixpkgs/pkgs/games/factorio/utils.nix
+++ b/nixpkgs/pkgs/games/factorio/utils.nix
@@ -5,7 +5,7 @@ with stdenv.lib;
{
mkModDirDrv = mods: # a list of mod derivations
let
- recursiveDeps = modDrv: [modDrv] ++ optionals (modDrv.deps == []) (map recursiveDeps modDrv.deps);
+ recursiveDeps = modDrv: [modDrv] ++ map recursiveDeps modDrv.deps;
modDrvs = unique (flatten (map recursiveDeps mods));
in
stdenv.mkDerivation {
diff --git a/nixpkgs/pkgs/games/flightgear/default.nix b/nixpkgs/pkgs/games/flightgear/default.nix
index c16c33666f3..e32f2e96d4f 100644
--- a/nixpkgs/pkgs/games/flightgear/default.nix
+++ b/nixpkgs/pkgs/games/flightgear/default.nix
@@ -6,15 +6,15 @@
}:
let
- version = "2019.1.1";
+ version = "2020.1.2";
shortVersion = builtins.substring 0 6 version;
data = stdenv.mkDerivation rec {
- pname = "flightgear-base";
+ pname = "flightgear-data";
inherit version;
src = fetchurl {
url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.tar.bz2";
- sha256 = "14zm0hzshbca4ych72631hpc4pw2w24zib62ri3lwm8nz6j63qhf";
+ sha256 = "0ldsjb54k8nb99h6n4f4x20nawd2pa0a8skkwkrgckdpmdv0zwyk";
};
phases = [ "installPhase" ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
- sha256 = "189wal08p9lrz757pmazxnf85sfymsqrm3nfvdad95pfp6bg7pyi";
+ sha256 = "1770kgwa7z70sx6da9x1q9cszpd3ywz6nn8jrb6xv8ldjqcpqpvb";
};
# Of all the files in the source and data archives, there doesn't seem to be
diff --git a/nixpkgs/pkgs/games/freecell-solver/default.nix b/nixpkgs/pkgs/games/freecell-solver/default.nix
index f574f253955..1845ba825eb 100644
--- a/nixpkgs/pkgs/games/freecell-solver/default.nix
+++ b/nixpkgs/pkgs/games/freecell-solver/default.nix
@@ -3,7 +3,7 @@
, perlPackages, python3 }:
with stdenv.lib;
-stdenv.mkDerivation rec{
+stdenv.mkDerivation rec {
pname = "freecell-solver";
version = "4.18.0";
diff --git a/nixpkgs/pkgs/games/frogatto/default.nix b/nixpkgs/pkgs/games/frogatto/default.nix
index 35ff9706112..efcff024a54 100644
--- a/nixpkgs/pkgs/games/frogatto/default.nix
+++ b/nixpkgs/pkgs/games/frogatto/default.nix
@@ -12,7 +12,7 @@ let
comment = description;
desktopName = "Frogatto";
genericName = "frogatto";
- categories = "Application;Game;ArcadeGame;";
+ categories = "Game;ArcadeGame;";
};
version = "unstable-2018-12-18";
in buildEnv {
diff --git a/nixpkgs/pkgs/games/frotz/default.nix b/nixpkgs/pkgs/games/frotz/default.nix
index 40b6748693d..800da177a3d 100644
--- a/nixpkgs/pkgs/games/frotz/default.nix
+++ b/nixpkgs/pkgs/games/frotz/default.nix
@@ -1,25 +1,40 @@
-{ stdenv, fetchFromGitHub, ncurses }:
+{ fetchFromGitLab
+, libao
+, libmodplug
+, libsamplerate
+, libsndfile
+, libvorbis
+, ncurses
+, stdenv }:
stdenv.mkDerivation rec {
- version = "2.44";
+ version = "2.52";
pname = "frotz";
- src = fetchFromGitHub {
+ src = fetchFromGitLab {
+ domain = "gitlab.com";
owner = "DavidGriffith";
repo = "frotz";
rev = version;
- sha256 = "0gjkk4gxzqmxfdirrz2lr0bms6l9fc31vkmlywigkbdlh8wxgypp";
+ sha256 = "11ca1dz31b7s5vxjqncwjwmbbcr2m5v2rxjn49g4gnvwd6mqw48y";
};
- makeFlags = [ "CC=cc" "PREFIX=$(out)" "CURSES=-lncurses" ];
-
- buildInputs = [ ncurses ];
+ buildInputs = [ libao libmodplug libsamplerate libsndfile libvorbis ncurses ];
+ preBuild = ''
+ makeFlagsArray+=(
+ CC="cc"
+ CFLAGS="-D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600"
+ LDFLAGS="-lncursesw -ltinfo"
+ )
+ '';
+ installFlags = [ "PREFIX=$(out)" ];
meta = with stdenv.lib; {
- homepage = "http://frotz.sourceforge.net/";
+ homepage = "https://davidgriffith.gitlab.io/frotz/";
+ changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS";
description = "A z-machine interpreter for Infocom games and other interactive fiction.";
platforms = platforms.unix;
- maintainers = [ maintainers.nicknovitski ];
+ maintainers = with maintainers; [ nicknovitski ddelabru ];
license = licenses.gpl2;
};
}
diff --git a/nixpkgs/pkgs/games/galaxis/default.nix b/nixpkgs/pkgs/games/galaxis/default.nix
index 1bbbc5ead94..19df8db78a0 100644
--- a/nixpkgs/pkgs/games/galaxis/default.nix
+++ b/nixpkgs/pkgs/games/galaxis/default.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, ncurses, xmlto }:
with stdenv.lib;
-stdenv.mkDerivation rec{
+stdenv.mkDerivation rec {
pname = "galaxis";
version = "1.10";
diff --git a/nixpkgs/pkgs/games/gargoyle/default.nix b/nixpkgs/pkgs/games/gargoyle/default.nix
index 8c5675407d0..c4c512be2b8 100644
--- a/nixpkgs/pkgs/games/gargoyle/default.nix
+++ b/nixpkgs/pkgs/games/gargoyle/default.nix
@@ -19,14 +19,15 @@ let
in
-stdenv.mkDerivation {
- name = "gargoyle-2018-10-06";
+stdenv.mkDerivation rec {
+ pname = "gargoyle";
+ version = "2019.1.1";
src = fetchFromGitHub {
owner = "garglk";
repo = "garglk";
- rev = "d03391563fa75942fbf8f8deeeacf3a8be9fc3b0";
- sha256 = "0icwgc25gp7krq6zf66hljydc6vps6bb4knywnrfgnfcmcalqqx9";
+ rev = version;
+ sha256 = "0w54avmbp4i4zps2rb4acmpa641s6wvwbrln4vbdhcz97fx48nzz";
};
nativeBuildInputs = [ jam pkgconfig ] ++ stdenv.lib.optional stdenv.isDarwin cctools;
diff --git a/nixpkgs/pkgs/games/gemrb/default.nix b/nixpkgs/pkgs/games/gemrb/default.nix
index 4f7d1cb3750..91b841f6c51 100644
--- a/nixpkgs/pkgs/games/gemrb/default.nix
+++ b/nixpkgs/pkgs/games/gemrb/default.nix
@@ -4,24 +4,27 @@
stdenv.mkDerivation rec {
pname = "gemrb";
- version = "0.8.6";
+ version = "0.8.7";
src = fetchFromGitHub {
- owner = "gemrb";
- repo = "gemrb";
- rev = "v${version}";
- sha256 = "0vsr3fsqmv9b7s5l0cwhpq2pf7ah2wvgmcn9y8asj6w8hprp17d4";
+ owner = "gemrb";
+ repo = "gemrb";
+ rev = "v${version}";
+ sha256 = "14j9mhrbi4gnrbv25nlsvcxzkylijzrnwbqqnrg7pr452lb3srpb";
};
- # TODO: make libpng, libvorbis, sdl_mixer, freetype, vlc, glew (and other gl reqs) optional
+ # TODO: make libpng, libvorbis, sdl_mixer, freetype, vlc, glew (and other gl
+ # reqs) optional
buildInputs = [ freetype python openal SDL2 SDL2_mixer zlib libpng libvorbis libiconv ];
nativeBuildInputs = [ cmake ];
- enableParallelBuilding = true;
-
+ # TODO: add proper OpenGL support. We are currently (0.8.7) getting a shader
+ # error on execution when enabled.
cmakeFlags = [
"-DLAYOUT=opt"
+ # "-DOPENGL_BACKEND=GLES"
+ # "-DOpenGL_GL_PREFERENCE=GLVND"
];
meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/games/gnome-hexgl/default.nix b/nixpkgs/pkgs/games/gnome-hexgl/default.nix
index 6212c1bbec1..cfa9a0b81d0 100644
--- a/nixpkgs/pkgs/games/gnome-hexgl/default.nix
+++ b/nixpkgs/pkgs/games/gnome-hexgl/default.nix
@@ -2,7 +2,7 @@
, fetchFromGitHub
, ninja
, meson
-, pkgconfig
+, pkg-config
, gthree
, gsound
, epoxy
@@ -11,19 +11,19 @@
stdenv.mkDerivation rec {
pname = "gnome-hexgl";
- version = "0.2.0";
+ version = "unstable-2020-07-24";
src = fetchFromGitHub {
owner = "alexlarsson";
repo = "gnome-hexgl";
- rev = version;
- sha256 = "08iy2iciscd2wbhh6v4cpghx8r94v1ffbgla9yb3bcsdhlag0iw4";
+ rev = "f47a351055a235730795341dcd6b2397cc4bfa0c";
+ sha256 = "yZWGymaSUfnCP8VAEdDH64w0muSnRK/XPi1/IqTrE4k=";
};
nativeBuildInputs = [
ninja
meson
- pkgconfig
+ pkg-config
];
buildInputs = [
diff --git a/nixpkgs/pkgs/games/gzdoom/default.nix b/nixpkgs/pkgs/games/gzdoom/default.nix
index e6f27eedbb9..fdbdda2d313 100644
--- a/nixpkgs/pkgs/games/gzdoom/default.nix
+++ b/nixpkgs/pkgs/games/gzdoom/default.nix
@@ -1,55 +1,85 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper
-, openal, fluidsynth_1, soundfont-fluid, libGL, SDL2
-, bzip2, zlib, libjpeg, libsndfile, mpg123, game-music-emu }:
+{ stdenv, fetchFromGitHub, cmake, makeWrapper, openal, fluidsynth_1
+, soundfont-fluid, libGL, SDL2, bzip2, zlib, libjpeg, libsndfile, mpg123
+, game-music-emu, pkgconfig }:
-stdenv.mkDerivation rec {
- pname = "gzdoom";
- version = "4.3.3";
-
- src = fetchFromGitHub {
+let
+ zmusic-src = fetchFromGitHub {
owner = "coelckers";
- repo = "gzdoom";
- rev = "g${version}";
- sha256 = "1c4vhnvvwy1rs8xm01kqd486h5xsiccwkf95fjx7912zr49yalks";
+ repo = "zmusic";
+ rev = "2d0ea861174f9e2031400ab29f5bcc8425521cc6";
+ sha256 = "1ac7lhbzwfr0fsyv7n70hvb8imzngxn1qyanmv9j26j0h90hhl8a";
};
+ zmusic = stdenv.mkDerivation {
+ pname = "zmusic";
+ version = "1.1.0";
+
+ src = zmusic-src;
+
+ nativeBuildInputs = [ cmake pkgconfig ];
+
+ preConfigure = ''
+ sed -i \
+ -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
+ -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
+ source/mididevices/music_fluidsynth_mididevice.cpp
+ '';
- nativeBuildInputs = [ cmake makeWrapper ];
- buildInputs = [
- SDL2 libGL openal fluidsynth_1 bzip2 zlib libjpeg libsndfile mpg123
- game-music-emu
- ];
-
- enableParallelBuilding = true;
-
- NIX_CFLAGS_LINK = "-lopenal -lfluidsynth";
-
- preConfigure = ''
- sed -i \
- -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
- -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
- libraries/zmusic/mididevices/music_fluidsynth_mididevice.cpp
- '';
-
- installPhase = ''
- install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom"
- for i in *.pk3; do
- install -Dm644 "$i" "$out/lib/gzdoom/$i"
- done
- for i in fm_banks/*; do
- install -Dm644 "$i" "$out/lib/gzdoom/$i"
- done
- for i in soundfonts/*; do
- install -Dm644 "$i" "$out/lib/gzdoom/$i"
- done
- mkdir $out/bin
- makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom
- '';
-
- meta = with stdenv.lib; {
- homepage = "https://github.com/coelckers/gzdoom";
- description = "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features";
- license = licenses.gpl3;
- platforms = ["x86_64-linux"];
- maintainers = with maintainers; [ lassulus ];
};
-}
+
+ gzdoom = stdenv.mkDerivation rec {
+ pname = "gzdoom";
+ version = "4.4.2";
+
+ src = fetchFromGitHub {
+ owner = "coelckers";
+ repo = "gzdoom";
+ rev = "g${version}";
+ sha256 = "1xkkmbsdv64wyb9r2fv5mwyqw0bjryk528jghdrh47pndmjs9a38";
+ fetchSubmodules = true;
+ };
+
+ nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
+ buildInputs = [
+ SDL2
+ libGL
+ openal
+ fluidsynth_1
+ bzip2
+ zlib
+ libjpeg
+ libsndfile
+ mpg123
+ game-music-emu
+ zmusic
+ ];
+
+ enableParallelBuilding = true;
+
+ NIX_CFLAGS_LINK = "-lopenal -lfluidsynth";
+
+ installPhase = ''
+ install -Dm755 gzdoom "$out/lib/gzdoom/gzdoom"
+ for i in *.pk3; do
+ install -Dm644 "$i" "$out/lib/gzdoom/$i"
+ done
+ for i in fm_banks/*; do
+ install -Dm644 "$i" "$out/lib/gzdoom/$i"
+ done
+ for i in soundfonts/*; do
+ install -Dm644 "$i" "$out/lib/gzdoom/$i"
+ done
+ mkdir $out/bin
+ makeWrapper $out/lib/gzdoom/gzdoom $out/bin/gzdoom
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/coelckers/gzdoom";
+ description =
+ "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features";
+ license = licenses.gpl3;
+ platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ lassulus ];
+ };
+ };
+
+in gzdoom
diff --git a/nixpkgs/pkgs/games/hedgewars/default.nix b/nixpkgs/pkgs/games/hedgewars/default.nix
index 771554192d8..f31a44e97c0 100644
--- a/nixpkgs/pkgs/games/hedgewars/default.nix
+++ b/nixpkgs/pkgs/games/hedgewars/default.nix
@@ -1,7 +1,8 @@
-{ mkDerivation, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg, freeglut
+{ mkDerivation, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg_3, freeglut
, lib, fetchurl, cmake, pkgconfig, lua5_1, SDL2, SDL2_mixer
, zlib, libpng, libGL, libGLU, physfs
, qtbase, qttools
+, llvm
, withServer ? true
}:
@@ -27,13 +28,18 @@ mkDerivation rec {
buildInputs = [
SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image
fpc lua5_1
- ffmpeg freeglut physfs
+ llvm # hard-requirement on aarch64, for some reason not strictly necessary on x86-64
+ ffmpeg_3 freeglut physfs
qtbase
] ++ lib.optional withServer ghc;
postPatch = ''
substituteInPlace gameServer/CMakeLists.txt \
--replace mask evaluate
+
+ # compile with fpc >= 3.2.0
+ # https://github.com/archlinux/svntogit-community/blob/75a1b3900fb3dd553d5114bbc8474d85fd6abb02/trunk/PKGBUILD#L26
+ sed -i 's/procedure ShiftWorld(Dir: LongInt); inline;/procedure ShiftWorld(Dir: LongInt);/' hedgewars/uWorld.pas
'';
cmakeFlags = [
@@ -42,7 +48,7 @@ mkDerivation rec {
];
- # hslogger brings network-3 and network-bsd which conflict with
+ # hslogger brings network-3 and network-bsd which conflict with
# network-2.6.3.1
preConfigure = ''
substituteInPlace gameServer/CMakeLists.txt \
@@ -97,6 +103,5 @@ mkDerivation rec {
all movement on the battlefield has ceased).'';
maintainers = with maintainers; [ kragniz fpletz ];
inherit (ghc.meta) platforms;
- hydraPlatforms = [];
};
}
diff --git a/nixpkgs/pkgs/games/hyperrogue/default.nix b/nixpkgs/pkgs/games/hyperrogue/default.nix
index 1ef0fd147d8..32882f16894 100644
--- a/nixpkgs/pkgs/games/hyperrogue/default.nix
+++ b/nixpkgs/pkgs/games/hyperrogue/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "hyperrogue";
- version = "11.3l";
+ version = "11.3o";
src = fetchFromGitHub {
owner = "zenorogue";
repo = "hyperrogue";
rev = "v${version}";
- sha256 = "0fniyaf9mgg99s03wbdc36zg909kshpdfk9pn8pkai0x99lghkwb";
+ sha256 = "0bijgbqpc867pq8lbwwvcnc713gm51mmz625xb5br0q2qw09nkyh";
};
CPPFLAGS = "-I${SDL.dev}/include/SDL";
diff --git a/nixpkgs/pkgs/games/instead/default.nix b/nixpkgs/pkgs/games/instead/default.nix
index f131b920990..34a31fee729 100644
--- a/nixpkgs/pkgs/games/instead/default.nix
+++ b/nixpkgs/pkgs/games/instead/default.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, SDL2, SDL2_ttf, SDL2_image, SDL2_mixer, pkgconfig, lua, zlib, unzip }:
let
- version = "3.3.1";
+ version = "3.3.2";
# I took several games at random from http://instead.syscall.ru/games/
games = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
- sha256 = "10bppcdjnd0all71l5akdvy7fx0c8s8x0za9qxszs8cjmlv9z1q0";
+ sha256 = "u5j2kDKRvMQPsG8iA6uOBScuyE/e1BJIK2+qVL6jqQs=";
};
NIX_LDFLAGS = "-llua -lgcc_s";
@@ -41,6 +41,11 @@ stdenv.mkDerivation {
nativeBuildInputs = [ pkgconfig unzip ];
buildInputs = [ SDL2 SDL2_ttf SDL2_image SDL2_mixer lua zlib ];
+ postPatch = ''
+ substituteInPlace configure.sh \
+ --replace "/tmp/sdl-test" $(mktemp)
+ '';
+
configurePhase = ''
{ echo 2; echo $out; } | ./configure.sh
'';
diff --git a/nixpkgs/pkgs/games/julius/default.nix b/nixpkgs/pkgs/games/julius/default.nix
new file mode 100644
index 00000000000..d1dad86e1c5
--- /dev/null
+++ b/nixpkgs/pkgs/games/julius/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, libpng }:
+
+stdenv.mkDerivation rec {
+ pname = "julius";
+ version = "1.4.1";
+
+ src = fetchFromGitHub {
+ owner = "bvschaik";
+ repo = "julius";
+ rev = "v${version}";
+ sha256 = "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110";
+ };
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ SDL2 SDL2_mixer libpng ];
+
+ meta = with stdenv.lib; {
+ description = "An open source re-implementation of Caesar III";
+ homepage = "https://github.com/bvschaik/julius";
+ license = licenses.agpl3;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ Thra11 ];
+ };
+}
diff --git a/nixpkgs/pkgs/games/katago/default.nix b/nixpkgs/pkgs/games/katago/default.nix
index 0a9ebd9e3eb..20ad47d3e0a 100644
--- a/nixpkgs/pkgs/games/katago/default.nix
+++ b/nixpkgs/pkgs/games/katago/default.nix
@@ -13,52 +13,46 @@
, opencl-headers ? null
, ocl-icd ? null
, gperftools ? null
-, cudaSupport ? false
-, useTcmalloc ? true}:
+, eigen ? null
+, enableAVX2 ? false
+, enableBigBoards ? false
+, enableCuda ? false
+, enableGPU ? true
+, enableTcmalloc ? true}:
-assert cudaSupport -> (
- libGL_driver != null &&
+assert !enableGPU -> (
+ eigen != null &&
+ !enableCuda);
+
+assert enableCuda -> (
+ libGL_driver != null &&
cudatoolkit != null &&
cudnn != null);
-assert !cudaSupport -> (
- opencl-headers != null &&
- ocl-icd != null);
+assert !enableCuda -> (
+ !enableGPU || (
+ opencl-headers != null &&
+ ocl-icd != null));
-assert useTcmalloc -> (
+assert enableTcmalloc -> (
gperftools != null);
let
- env = if cudaSupport
+ env = if enableCuda
then gcc8Stdenv
else stdenv;
in env.mkDerivation rec {
pname = "katago";
- version = "1.4.2";
+ version = "1.6.1";
src = fetchFromGitHub {
owner = "lightvector";
repo = "katago";
rev = "v${version}";
- sha256 = "0qdc9hgbzd175b2xkjs62dy6gyybcn9lf1mifiyhjbzjpgv192h4";
+ sha256 = "030ff9prnvpadgcb4x4hx6b6ggg10bwqcj8vd8nwrdz9sjq67yf7";
};
- # To workaround CMake 3.17.0's new buggy behavior wrt CUDA Compiler testing
- # See the following tracking issues:
- # KataGo:
- # - Issue #225: https://github.com/lightvector/KataGo/issues/225
- # - PR #227: https://github.com/lightvector/KataGo/pull/227
- # CMake:
- # - Issue #20708: https://gitlab.kitware.com/cmake/cmake/-/issues/20708
- patches = [
- (fetchpatch {
- name = "227.patch";
- url = "https://patch-diff.githubusercontent.com/raw/lightvector/KataGo/pull/227.patch";
- sha256 = "03f1vmdjhb79mpj95sijcwla8acy32clrjgrn4xqw5h90zdgj511";
- })
- ];
-
nativeBuildInputs = [
cmake
makeWrapper
@@ -67,36 +61,44 @@ in env.mkDerivation rec {
buildInputs = [
libzip
boost
- ] ++ lib.optionals cudaSupport [
+ ] ++ lib.optionals (!enableGPU) [
+ eigen
+ ] ++ lib.optionals (enableGPU && enableCuda) [
cudnn
libGL_driver
- ] ++ lib.optionals (!cudaSupport) [
+ ] ++ lib.optionals (enableGPU && !enableCuda) [
opencl-headers
ocl-icd
- ] ++ lib.optionals useTcmalloc [
+ ] ++ lib.optionals enableTcmalloc [
gperftools
];
cmakeFlags = [
"-DNO_GIT_REVISION=ON"
- ] ++ lib.optionals cudaSupport [
+ ] ++ lib.optionals (!enableGPU) [
+ "-DUSE_BACKEND=EIGEN"
+ ] ++ lib.optionals enableAVX2 [
+ "-DUSE_AVX2=ON"
+ ] ++ lib.optionals (enableGPU && enableCuda) [
"-DUSE_BACKEND=CUDA"
- ] ++ lib.optionals (!cudaSupport) [
+ ] ++ lib.optionals (enableGPU && !enableCuda) [
"-DUSE_BACKEND=OPENCL"
- ] ++ lib.optionals useTcmalloc [
+ ] ++ lib.optionals enableTcmalloc [
"-DUSE_TCMALLOC=ON"
+ ] ++ lib.optionals enableBigBoards [
+ "-DUSE_BIGGER_BOARDS_EXPENSIVE=ON"
];
preConfigure = ''
cd cpp/
- '' + lib.optionalString cudaSupport ''
+ '' + lib.optionalString enableCuda ''
export CUDA_PATH="${cudatoolkit}"
export EXTRA_LDFLAGS="-L/run/opengl-driver/lib"
'';
installPhase = ''
mkdir -p $out/bin; cp katago $out/bin;
- '' + lib.optionalString cudaSupport ''
+ '' + lib.optionalString enableCuda ''
wrapProgram $out/bin/katago \
--prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib"
'';
diff --git a/nixpkgs/pkgs/games/klavaro/default.nix b/nixpkgs/pkgs/games/klavaro/default.nix
index e62c5a18233..ac2c787d3ff 100644
--- a/nixpkgs/pkgs/games/klavaro/default.nix
+++ b/nixpkgs/pkgs/games/klavaro/default.nix
@@ -1,12 +1,20 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, curl, gtk3 }:
+{ stdenv
+, fetchurl
+, makeWrapper
+, curl
+, file
+, gtk3
+, intltool
+, pkgconfig
+}:
stdenv.mkDerivation rec {
pname = "klavaro";
- version = "3.08";
+ version = "3.11";
src = fetchurl {
url = "mirror://sourceforge/klavaro/${pname}-${version}.tar.bz2";
- sha256 = "0qmvr6d8wshwp0xvk5wbig4vlzxzcxrakhyhd32v8v3s18nhqsrc";
+ sha256 = "1rkxaqb62w4mv86fcnmr32lq6y0h4hh92wmsy5ddb9a8jnzx6r7w";
};
nativeBuildInputs = [ intltool makeWrapper pkgconfig ];
@@ -17,14 +25,21 @@ stdenv.mkDerivation rec {
--prefix LD_LIBRARY_PATH : $out/lib
'';
+ # Fixes /usr/bin/file: No such file or directory
+ preConfigure = ''
+ substituteInPlace configure \
+ --replace "/usr/bin/file" "${file}/bin/file"
+ '';
+
# Hack to avoid TMPDIR in RPATHs.
preFixup = ''rm -rf "$(pwd)" '';
- meta = {
- description = "Just another free touch typing tutor program";
+ meta = with stdenv.lib; {
+ description = "Free touch typing tutor program";
homepage = "http://klavaro.sourceforge.net/";
- license = stdenv.lib.licenses.gpl3Plus;
- platforms = stdenv.lib.platforms.linux;
- maintainers = [stdenv.lib.maintainers.mimame];
+ changelog = "https://sourceforge.net/p/klavaro/code/HEAD/tree/trunk/ChangeLog";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ mimame davidak ];
};
}
diff --git a/nixpkgs/pkgs/games/left4gore/default.nix b/nixpkgs/pkgs/games/left4gore/default.nix
new file mode 100644
index 00000000000..597f7da2b3d
--- /dev/null
+++ b/nixpkgs/pkgs/games/left4gore/default.nix
@@ -0,0 +1,48 @@
+{ stdenvNoCC, lib, fetchurl, buildFHSUserEnv }:
+
+let
+ version = "2.3";
+
+ # Unwrapped package, for putting into the FHS env
+ left4gore-unwrapped = stdenvNoCC.mkDerivation {
+ pname = "left4gore-unwrapped";
+ inherit version;
+
+ src = fetchurl {
+ url = "http://www.left4gore.com/dist/left4gore-${version}-linux.tar.gz";
+ sha256 = "1n57nh32ybn6kirn8djh0nsjx6m84c0jfi1x8r4w2qr0qky3z7p0";
+ };
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp left4gore $out/bin
+ '';
+ };
+
+ # FHS env, as patchelf will not work
+ env = buildFHSUserEnv {
+ name = "left4gore-env-${version}";
+ targetPkgs = _: [ left4gore-unwrapped ];
+ runScript = "left4gore";
+ };
+
+in stdenvNoCC.mkDerivation {
+ pname = "left4gore";
+ inherit version;
+
+ dontUnpack = true;
+ dontConfigure = true;
+ dontBuild = true;
+
+ installPhase = ''
+ mkdir -p $out/bin
+ ln -s ${env}/bin/* $out/bin/left4gore
+ '';
+
+ meta = with lib; {
+ homepage = "http://www.left4gore.com";
+ description = "Memory patcher which adds the gore back into Left 4 Dead 2";
+ license = licenses.unfree; # Probably the best choice
+ maintainers = with maintainers; [ das_j ];
+ };
+}
diff --git a/nixpkgs/pkgs/games/legendary-gl/default.nix b/nixpkgs/pkgs/games/legendary-gl/default.nix
new file mode 100644
index 00000000000..114aa6ab12a
--- /dev/null
+++ b/nixpkgs/pkgs/games/legendary-gl/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, buildPythonApplication
+, pythonOlder
+, requests
+}:
+
+buildPythonApplication rec {
+ pname = "legendary-gl"; # Name in pypi
+ version = "0.0.14";
+
+ src = fetchFromGitHub {
+ owner = "derrod";
+ repo = "legendary";
+ rev = version;
+ sha256 = "05r88qi8mmbj07wxcpb3fhbl40qscbq1aqb0mnj9bpmi9gf5zll5";
+ };
+
+ propagatedBuildInputs = [ requests ];
+
+ disabled = pythonOlder "3.8";
+
+ meta = with lib; {
+ description = "A free and open-source Epic Games Launcher alternative";
+ homepage = "https://github.com/derrod/legendary";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ wchresta ];
+ };
+}
+
diff --git a/nixpkgs/pkgs/games/minecraft-server/default.nix b/nixpkgs/pkgs/games/minecraft-server/default.nix
index d0ae0a59717..7216a42b00f 100644
--- a/nixpkgs/pkgs/games/minecraft-server/default.nix
+++ b/nixpkgs/pkgs/games/minecraft-server/default.nix
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, jre_headless }:
stdenv.mkDerivation {
pname = "minecraft-server";
- version = "1.15.2";
+ version = "1.16.3";
src = fetchurl {
- url = "https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar";
+ url = "https://launcher.mojang.com/v1/objects/f02f4473dbf152c23d7d484952121db0b36698cb/server.jar";
# sha1 because that comes from mojang via api
- sha1 = "bb2b6b1aefcd70dfd1892149ac3a215f6c636b07";
+ sha1 = "f02f4473dbf152c23d7d484952121db0b36698cb";
};
preferLocalBuild = true;
diff --git a/nixpkgs/pkgs/games/minecraft/default.nix b/nixpkgs/pkgs/games/minecraft/default.nix
index 650bb223c9a..9d23515c039 100644
--- a/nixpkgs/pkgs/games/minecraft/default.nix
+++ b/nixpkgs/pkgs/games/minecraft/default.nix
@@ -36,7 +36,7 @@ let
icon = "minecraft-launcher";
comment = "Official launcher for Minecraft, a sandbox-building game";
desktopName = "Minecraft Launcher";
- categories = "Game;Application;";
+ categories = "Game;";
};
envLibPath = stdenv.lib.makeLibraryPath [
@@ -87,11 +87,11 @@ in
stdenv.mkDerivation rec {
pname = "minecraft-launcher";
- version = "2.1.14947";
+ version = "2.1.16102";
src = fetchurl {
url = "https://launcher.mojang.com/download/linux/x86_64/minecraft-launcher_${version}.tar.gz";
- sha256 = "1lsc39n1kq08sssnpr6kf4lfpy01a7i7rgvi298mmxsprjmc7a9q";
+ sha256 = "17zgxmijk9mq651h7ymkr7h2099cw23kc0r7jyfkdccp60dfd60i";
};
icon = fetchurl {
@@ -134,6 +134,7 @@ stdenv.mkDerivation rec {
makeWrapper $out/opt/minecraft-launcher/minecraft-launcher $out/bin/minecraft-launcher \
--prefix LD_LIBRARY_PATH : ${envLibPath} \
--prefix PATH : ${stdenv.lib.makeBinPath [ jre ]} \
+ --set JAVA_HOME ${stdenv.lib.makeBinPath [ jre ]} \
--run "cd /tmp" \
"''${gappsWrapperArgs[@]}"
'';
diff --git a/nixpkgs/pkgs/games/minetest/default.nix b/nixpkgs/pkgs/games/minetest/default.nix
index db36b43ea29..f49ec1f4a82 100644
--- a/nixpkgs/pkgs/games/minetest/default.nix
+++ b/nixpkgs/pkgs/games/minetest/default.nix
@@ -39,7 +39,7 @@ let
] ++ optionals buildClient [
"-DOpenGL_GL_PREFERENCE=GLVND"
];
-
+
NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
nativeBuildInputs = [ cmake doxygen graphviz ];
@@ -47,7 +47,7 @@ let
buildInputs = [
irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
gmp libspatialindex
- ] ++ optionals stdenv.isDarwin [
+ ] ++ optionals stdenv.isDarwin [
libiconv OpenGL OpenAL Carbon Cocoa
] ++ optionals buildClient [
libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm
@@ -76,9 +76,9 @@ let
};
v5 = {
- version = "5.2.0";
- sha256 = "0pj9hkxwc1vzng2khbixi79557sbawf6mqkzl589jciyqa7jqkv1";
- dataSha256 = "1kjz7x3xiqqnpyrd6339a139pbdxx31c4qpg8pmns410hsm8i358";
+ version = "5.3.0";
+ sha256 = "03ga3j3cg38w4lg4d4qxasmnjdl8n3lbizidrinanvyfdyvznyh6";
+ dataSha256 = "1liciwlh013z5h08ib0psjbwn5wkvlr937ir7kslfk4vly984cjx";
};
in {
diff --git a/nixpkgs/pkgs/games/mnemosyne/default.nix b/nixpkgs/pkgs/games/mnemosyne/default.nix
index 44bd396e9fa..4a92b8c1014 100644
--- a/nixpkgs/pkgs/games/mnemosyne/default.nix
+++ b/nixpkgs/pkgs/games/mnemosyne/default.nix
@@ -5,11 +5,11 @@
python.pkgs.buildPythonApplication rec {
pname = "mnemosyne";
- version = "2.7.1";
+ version = "2.7.2";
src = fetchurl {
url = "mirror://sourceforge/project/mnemosyne-proj/mnemosyne/mnemosyne-${version}/Mnemosyne-${version}.tar.gz";
- sha256 = "0dhvg9cxc6m6kzk75h363h1g0bl80cqz11cijh0zpz9f4w6lnqsq";
+ sha256 = "09yp9zc00xrc9dmjbsscnkb3hsv3yj46sxikc0r6s9cbghn3nypy";
};
nativeBuildInputs = with python.pkgs; [ pyqtwebengine.wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/games/mudlet/default.nix b/nixpkgs/pkgs/games/mudlet/default.nix
index 75d16586a39..b73af4515d3 100644
--- a/nixpkgs/pkgs/games/mudlet/default.nix
+++ b/nixpkgs/pkgs/games/mudlet/default.nix
@@ -6,14 +6,14 @@ let
in
stdenv.mkDerivation rec {
pname = "mudlet";
- version = "4.3";
+ version = "4.9.1";
src = fetchFromGitHub {
owner = "Mudlet";
repo = "Mudlet";
rev = "Mudlet-${version}";
fetchSubmodules = true;
- sha256 = "0qqdmivfwf9jmv5yx90z1fj99nlhnq762lfw6bcxgv74y4l4b4c0";
+ sha256 = "0i022qcmlq4xwl2yh4xd5qdc0ag52605qmqqz6bim0h8f3dp8cx1";
};
nativeBuildInputs = [ cmake wrapQtAppsHook git qttools which ];
diff --git a/nixpkgs/pkgs/games/ninvaders/default.nix b/nixpkgs/pkgs/games/ninvaders/default.nix
new file mode 100644
index 00000000000..26462c1eef5
--- /dev/null
+++ b/nixpkgs/pkgs/games/ninvaders/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, ncurses }:
+
+stdenv.mkDerivation rec {
+ pname = "ninvaders";
+ version = "0.1.2";
+
+ src = fetchFromGitHub {
+ owner = "sf-refugees";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1wmwws1zsap4bfc2439p25vnja0hnsf57k293rdxw626gly06whi";
+ };
+
+ buildInputs = [ cmake ncurses ];
+
+ meta = with stdenv.lib; {
+ description = "Space Invaders clone based on ncurses";
+ homepage = "http://ninvaders.sourceforge.net/";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ _1000101 ];
+ platforms = platforms.all;
+ };
+}
diff --git a/nixpkgs/pkgs/games/openjk/default.nix b/nixpkgs/pkgs/games/openjk/default.nix
index 2d08a1da999..0fe327b308e 100644
--- a/nixpkgs/pkgs/games/openjk/default.nix
+++ b/nixpkgs/pkgs/games/openjk/default.nix
@@ -21,13 +21,13 @@ let
};
in stdenv.mkDerivation {
pname = "OpenJK";
- version = "2019-11-29";
+ version = "2020-07-03";
src = fetchFromGitHub {
owner = "JACoders";
repo = "OpenJK";
- rev = "eed60925ad1b0d513d3747264f3bf98615fa4b2a";
- sha256 = "0b33cr540vz7w7dlagqf3yldmyx9y2pri20j44pd8fxapq4krrmb";
+ rev = "0a336ce4dffe6505e3f754b59732402a1db95752";
+ sha256 = "1xagbz42hi3ivs208mnay2dbgh90pmwwbar2p1yfhj3zl3cghcs8";
};
dontAddPrefix = true;
diff --git a/nixpkgs/pkgs/games/openmw/default.nix b/nixpkgs/pkgs/games/openmw/default.nix
index a9047de7041..22f3ea8d6ad 100644
--- a/nixpkgs/pkgs/games/openmw/default.nix
+++ b/nixpkgs/pkgs/games/openmw/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, mkDerivationWith, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg
+{ stdenv, mkDerivationWith, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg_3
, boost, cmake, SDL2, unshield, openal, libXt, pkgconfig }:
let
@@ -6,25 +6,25 @@ let
src = fetchFromGitHub {
owner = "OpenMW";
repo = "osg";
- rev = "2b4c8e37268e595b82da4b9aadd5507852569b87";
- sha256 = "0admnllxic6dcpic0h100927yw766ab55dix002vvdx36i6994jb";
+ rev = "1556cd7966ebc1c80b6626988d2b25fb43a744cf";
+ sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd";
};
});
in mkDerivationWith stdenv.mkDerivation rec {
- version = "0.45.0";
+ version = "0.46.0";
pname = "openmw";
src = fetchFromGitHub {
owner = "OpenMW";
repo = "openmw";
rev = "${pname}-${version}";
- sha256 = "1r87zrsnza2v9brksh809zzqj6zhk5xj15qs8iq11v1bscm2a2j4";
+ sha256 = "0rm32zsmxvr6b0jjihfj543skhicbw5kg6shjx312clhlm035w2x";
};
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ cmake boost ffmpeg bullet mygui openscenegraph_ SDL2 unshield openal libXt qtbase ];
+ buildInputs = [ cmake boost ffmpeg_3 bullet mygui openscenegraph_ SDL2 unshield openal libXt qtbase ];
cmakeFlags = [
"-DDESIRED_QT_VERSION:INT=5"
diff --git a/nixpkgs/pkgs/games/openmw/tes3mp.nix b/nixpkgs/pkgs/games/openmw/tes3mp.nix
index 59bdc690107..df332c0e5bf 100644
--- a/nixpkgs/pkgs/games/openmw/tes3mp.nix
+++ b/nixpkgs/pkgs/games/openmw/tes3mp.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, openmw, fetchFromGitHub, luajit, makeWrapper }:
+{ stdenv, cmake, openmw, fetchFromGitHub, luajit, makeWrapper, mygui }:
# revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy
@@ -28,6 +28,17 @@ let
rev = "24aae91d9ddad38cdb3b0e0a13af59f142803e94";
sha256 = "1rfmxxr9ircfagdpbdrzl26msdhx1i3g974cblbv69078cradfh3";
};
+ # https://github.com/TES3MP/openmw-tes3mp/issues/555
+ mygui_ = mygui.overrideAttrs (oldAttrs: rec {
+ version = "3.2.2";
+
+ src = fetchFromGitHub {
+ owner = "MyGUI";
+ repo = "mygui";
+ rev = "MyGUI${version}";
+ sha256 = "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw";
+ };
+ });
in openmw.overrideAttrs (oldAttrs: rec {
version = "2019-11-19";
name = "openmw-tes3mp-${version}";
@@ -41,7 +52,7 @@ in openmw.overrideAttrs (oldAttrs: rec {
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
- buildInputs = oldAttrs.buildInputs ++ [ luajit ];
+ buildInputs = [ luajit mygui_ ] ++ oldAttrs.buildInputs;
cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DBUILD_OPENCS=OFF"
@@ -50,7 +61,7 @@ in openmw.overrideAttrs (oldAttrs: rec {
"-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a"
];
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95175
+ # https://github.com/TES3MP/openmw-tes3mp/issues/552
patches = [
./tes3mp.patch
];
diff --git a/nixpkgs/pkgs/games/openrct2/default.nix b/nixpkgs/pkgs/games/openrct2/default.nix
index b519e0c7e92..45133be461c 100644
--- a/nixpkgs/pkgs/games/openrct2/default.nix
+++ b/nixpkgs/pkgs/games/openrct2/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchFromGitHub,
- SDL2, cmake, curl, fontconfig, freetype, icu, jansson, libiconv, libpng,
- libpthreadstubs, libzip, libGLU, openssl, pkgconfig, speexdsp, zlib
+{ stdenv, fetchFromGitHub
+, SDL2, cmake, curl, duktape, fontconfig, freetype, icu, jansson, libGLU
+, libiconv, libpng, libpthreadstubs, libzip, openssl, pkgconfig, speexdsp, zlib
}:
let
- version = "0.2.6";
+ version = "0.3.0";
openrct2-src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "OpenRCT2";
rev = "v${version}";
- sha256 = "1vikbkg3wh5ngzdfilb6irbh6nqinf138qpdz8wz9izlvl8s36k4";
+ sha256 = "0xs8pnn3lq30iy76pv42hywsrabapcrrkl597dhjafwh1xaxxj91";
};
objects-src = fetchFromGitHub {
owner = "OpenRCT2";
repo = "objects";
- rev = "v1.0.14";
- sha256 = "1bqbia5y73v4r0sv5cvi5729jh2ns7cxn557blh715yxswk91590";
+ rev = "v1.0.16";
+ sha256 = "1xz50ghiqj9rm0m6d65j09ich6dlhyj36zah6zvmmzr4kg6svnk5";
};
title-sequences-src = fetchFromGitHub {
@@ -41,15 +41,16 @@ stdenv.mkDerivation {
buildInputs = [
SDL2
curl
+ duktape
fontconfig
freetype
icu
jansson
+ libGLU
libiconv
libpng
libpthreadstubs
libzip
- libGLU
openssl
speexdsp
zlib
@@ -57,7 +58,7 @@ stdenv.mkDerivation {
postUnpack = ''
cp -r ${objects-src} $sourceRoot/data/object
- cp -r ${title-sequences-src} $sourceRoot/data/title
+ cp -r ${title-sequences-src} $sourceRoot/data/sequence
'';
cmakeFlags = [
@@ -74,6 +75,6 @@ stdenv.mkDerivation {
homepage = "https://openrct2.io/";
license = licenses.gpl3;
platforms = platforms.linux;
- maintainers = with maintainers; [ geistesk ];
+ maintainers = with maintainers; [ oxzi ];
};
}
diff --git a/nixpkgs/pkgs/games/openrw/default.nix b/nixpkgs/pkgs/games/openrw/default.nix
index c2bb5cfa20c..b53850a8743 100644
--- a/nixpkgs/pkgs/games/openrw/default.nix
+++ b/nixpkgs/pkgs/games/openrw/default.nix
@@ -1,5 +1,5 @@
{ stdenv, fetchgit, cmake, sfml, libGLU, libGL, bullet, glm, libmad, xlibsWrapper, openal
-, SDL2, boost, ffmpeg, Cocoa, OpenAL }:
+, SDL2, boost, ffmpeg_3, Cocoa, OpenAL }:
stdenv.mkDerivation {
version = "2019-10-26";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake ];
buildInputs = [
- sfml libGLU libGL bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
+ sfml libGLU libGL bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg_3
] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenAL Cocoa ];
meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/games/openttd/default.nix b/nixpkgs/pkgs/games/openttd/default.nix
index 519d4e3a741..bab4e510e7d 100644
--- a/nixpkgs/pkgs/games/openttd/default.nix
+++ b/nixpkgs/pkgs/games/openttd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchzip, pkgconfig, SDL2, libpng, zlib, xz, freetype, fontconfig, libxdg_basedir
+{ stdenv, fetchurl, fetchzip, pkgconfig, which, SDL2, libpng, zlib, xz, freetype, fontconfig, libxdg_basedir
, withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true
, withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps
, writeScriptBin, makeWrapper, runtimeShell
@@ -29,14 +29,14 @@ let
in
stdenv.mkDerivation rec {
pname = "openttd";
- version = "1.10.1";
+ version = "1.10.3";
src = fetchurl {
url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz";
- sha256 = "0d22a3c50f7a321f4f211594f4987ac16c381e8e3e40f116848e63e91e7fbb9b";
+ sha256 = "0fxmfz1mm95a2x0rnzfff9wb8q57w0cvsdd0z7agdcbyakph25n1";
};
- nativeBuildInputs = [ pkgconfig makeWrapper ];
+ nativeBuildInputs = [ pkgconfig which makeWrapper ];
buildInputs = [ SDL2 libpng xz zlib freetype fontconfig libxdg_basedir ]
++ stdenv.lib.optionals withFluidSynth [ fluidsynth soundfont-fluid ];
diff --git a/nixpkgs/pkgs/games/openttd/jgrpp.nix b/nixpkgs/pkgs/games/openttd/jgrpp.nix
new file mode 100644
index 00000000000..83a8f927694
--- /dev/null
+++ b/nixpkgs/pkgs/games/openttd/jgrpp.nix
@@ -0,0 +1,13 @@
+{ fetchFromGitHub, openttd, ... }:
+
+openttd.overrideAttrs (oldAttrs: rec {
+ pname = "openttd-jgrpp";
+ version = "0.34.4";
+
+ src = fetchFromGitHub rec {
+ owner = "JGRennison";
+ repo = "OpenTTD-patches";
+ rev = "jgrpp-${version}";
+ sha256 = "125mgia5hgcsn8314xyiip3z8y23rc3kdv7jczbncqlzsc75624v";
+ };
+})
diff --git a/nixpkgs/pkgs/games/openxray/default.nix b/nixpkgs/pkgs/games/openxray/default.nix
index 9e38852a02a..fe2e978c4cc 100644
--- a/nixpkgs/pkgs/games/openxray/default.nix
+++ b/nixpkgs/pkgs/games/openxray/default.nix
@@ -3,13 +3,13 @@
, pcre, makeWrapper }:
let
- version = "558";
+ version = "730-july-preview";
src = fetchFromGitHub {
owner = "OpenXRay";
repo = "xray-16";
rev = version;
- sha256 = "1wnkx9g0ww4f5pljrb0wzs054jzkig1i5hlz1p509rfvnhc50afp";
+ sha256 = "1nish3sbpk0hsag7r4nyx8j6pl9mlgx58v8dhzg2vwj2q32isyb2";
fetchSubmodules = true;
};
@@ -40,7 +40,6 @@ in stdenv.mkDerivation rec {
hardeningDisable = [ "format" ];
cmakeFlags = [ "-DCMAKE_INCLUDE_PATH=${cryptopp}/include/cryptopp" ];
- installFlags = [ "DESTDIR=${placeholder "out"}" ];
buildInputs = [
glew freeimage liblockfile openal cryptopp libtheora SDL2 lzo
@@ -54,11 +53,6 @@ in stdenv.mkDerivation rec {
'';
postInstall = ''
- mv $out/var/empty/* $out
- install -Dm755 $out/games/xr_3da $out/bin/xr_3da
- install -Dm644 $src/License.txt $out/share/licenses/openxray/License.txt
- rm -r $out/var $out/games
-
# needed because of SDL_LoadObject library loading code
wrapProgram $out/bin/xr_3da \
--prefix LD_LIBRARY_PATH : $out/lib
diff --git a/nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch b/nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch
new file mode 100644
index 00000000000..576f83a96c5
--- /dev/null
+++ b/nixpkgs/pkgs/games/osu-lazer/bypass-tamper-detection.patch
@@ -0,0 +1,23 @@
+diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs
+index 98f60d52d..a27ce47ca 100644
+--- a/osu.Game/OsuGameBase.cs
++++ b/osu.Game/OsuGameBase.cs
+@@ -135,17 +135,7 @@ public OsuGameBase()
+ [BackgroundDependencyLoader]
+ private void load()
+ {
+- try
+- {
+- using (var str = File.OpenRead(typeof(OsuGameBase).Assembly.Location))
+- VersionHash = str.ComputeMD5Hash();
+- }
+- catch
+- {
+- // special case for android builds, which can't read DLLs from a packed apk.
+- // should eventually be handled in a better way.
+- VersionHash = $"{Version}-{RuntimeInfo.OS}".ComputeMD5Hash();
+- }
++ VersionHash = "253aa3a3a356a71295bf5b018cd4fda1";
+
+ Resources.AddStore(new DllResourceStore(OsuResources.ResourceAssembly));
+
diff --git a/nixpkgs/pkgs/games/osu-lazer/default.nix b/nixpkgs/pkgs/games/osu-lazer/default.nix
new file mode 100644
index 00000000000..2ce6806bcb4
--- /dev/null
+++ b/nixpkgs/pkgs/games/osu-lazer/default.nix
@@ -0,0 +1,111 @@
+{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, makeDesktopItem, linkFarmFromDrvs
+, dotnet-sdk, dotnet-netcore, dotnetPackages
+, ffmpeg_4, alsaLib, SDL2, lttng-ust, numactl, alsaPlugins
+}:
+
+let
+ runtimeDeps = [
+ ffmpeg_4 alsaLib SDL2 lttng-ust numactl
+ ];
+
+ # https://docs.microsoft.com/en-us/dotnet/core/rid-catalog#using-rids
+ runtimeId = "linux-x64";
+
+in stdenv.mkDerivation rec {
+ pname = "osu-lazer";
+ version = "2020.903.0";
+
+ src = fetchFromGitHub {
+ owner = "ppy";
+ repo = "osu";
+ rev = version;
+ sha256 = "01apjgi2r8jaihp7sp1y69fmplkiy383zxxdbjn1m797f0ls37ca";
+ };
+
+ patches = [ ./bypass-tamper-detection.patch ];
+ patchFlags = [ "--binary" "-p1" ];
+
+ nativeBuildInputs = [ dotnet-sdk dotnetPackages.Nuget makeWrapper ];
+
+ nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix {
+ fetchNuGet = { name, version, sha256 }: fetchurl {
+ name = "nuget-${name}-${version}.nupkg";
+ url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+ inherit sha256;
+ };
+ });
+
+ configurePhase = ''
+ runHook preConfigure
+
+ export HOME=$(mktemp -d)
+ export DOTNET_CLI_TELEMETRY_OPTOUT=1
+ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+
+ nuget sources Add -Name nixos -Source "$PWD/nixos"
+ nuget init "$nugetDeps" "$PWD/nixos"
+
+ # FIXME: https://github.com/NuGet/Home/issues/4413
+ mkdir -p $HOME/.nuget/NuGet
+ cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
+
+ dotnet restore --source nixos osu.Desktop
+
+ runHook postConfigure
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+ dotnet build osu.Desktop \
+ --no-restore \
+ --configuration Release \
+ -p:Version=${version}
+ runHook postBuild
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ dotnet publish osu.Desktop \
+ --no-build \
+ --configuration Release \
+ --no-self-contained \
+ --output $out/lib/osu
+ shopt -s extglob
+ rm -r $out/lib/osu/runtimes/!(${runtimeId})
+
+ makeWrapper $out/lib/osu/osu\! $out/bin/osu\! \
+ --set DOTNET_ROOT "${dotnet-netcore}" \
+ --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}"
+ for i in 16 32 48 64 96 128 256 512 1024; do
+ install -D ./assets/lazer.png $out/share/icons/hicolor/''${i}x$i/apps/osu\!.png
+ done
+ cp -r ${makeDesktopItem {
+ desktopName = "osu!";
+ name = "osu";
+ exec = "osu!";
+ icon = "osu!";
+ comment = meta.description;
+ type = "Application";
+ categories = "Game;";
+ }}/share/applications $out/share
+
+ runHook postInstall
+ '';
+
+ # Strip breaks the executable.
+ dontStrip = true;
+
+ meta = with lib; {
+ description = "Rhythm is just a *click* away";
+ homepage = "https://osu.ppy.sh";
+ license = with licenses; [
+ mit
+ cc-by-nc-40
+ unfreeRedistributable # osu-framework contains libbass.so in repository
+ ];
+ maintainers = with maintainers; [ oxalica ];
+ platforms = [ "x86_64-linux" ];
+ };
+ passthru.updateScript = ./update.sh;
+}
diff --git a/nixpkgs/pkgs/games/osu-lazer/deps.nix b/nixpkgs/pkgs/games/osu-lazer/deps.nix
new file mode 100644
index 00000000000..6c8aa4bd18f
--- /dev/null
+++ b/nixpkgs/pkgs/games/osu-lazer/deps.nix
@@ -0,0 +1,1517 @@
+{ fetchNuGet }: [
+ (fetchNuGet {
+ name = "Dapper";
+ version = "2.0.35";
+ sha256 = "0465i2p5kjj0hmadyw0xrpn43zpc4bnbid9mg561739fyjyjwmfm";
+ })
+ (fetchNuGet {
+ name = "DeltaCompressionDotNet";
+ version = "2.0.0.0";
+ sha256 = "0zhj7m3zaf9wcg51385in9qg1xgkvp8yyzgq3r5k4sagm7y68aqy";
+ })
+ (fetchNuGet {
+ name = "DiffPlex";
+ version = "1.6.3";
+ sha256 = "0yi72afddddz0s8phx855rnjrga7n51bcma10dc91l0ffcwf5xwz";
+ })
+ (fetchNuGet {
+ name = "DiscordRichPresence";
+ version = "1.0.150";
+ sha256 = "0qmbi4sccia3w80q8xfvj3bw62nvz047wq198n2b2aflkf47bq79";
+ })
+ (fetchNuGet {
+ name = "FFmpeg.AutoGen";
+ version = "4.3.0.1";
+ sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv";
+ })
+ (fetchNuGet {
+ name = "Humanizer";
+ version = "2.8.26";
+ sha256 = "11kddzyzqpq9gkz0hmrblq494nh86va6wxx6z89xi6w1f4vj15ak";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core";
+ version = "2.2.0";
+ sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core";
+ version = "2.8.26";
+ sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.af";
+ version = "2.8.26";
+ sha256 = "0znrq4frlkq1qi20301hlzxa6mdc275fa1i1a1i8ldgk9cjq94k9";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.ar";
+ version = "2.8.26";
+ sha256 = "1hi7mln48p1nmxlgdq725s4cvla9nlkvbmrsql1rfjjlsy8hn6n7";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.az";
+ version = "2.8.26";
+ sha256 = "0av7ycrqwvmikqia3z3qkp9967zilrhayny17zkm0d0mnjq62vs6";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.bg";
+ version = "2.8.26";
+ sha256 = "13j6zk2cmk7a119azxlpjhfwykrzk0vkf5a799fb2fzkvhnj4hkg";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.bn-BD";
+ version = "2.8.26";
+ sha256 = "0h619sksggfi7dnaycz6bj9aiqdgn0d8dpgjgdl73crw52lr70p9";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.cs";
+ version = "2.8.26";
+ sha256 = "11bh3k15388bi5wizaihnwqk7wb4n7q636fqjllwdhjggqrsc3f6";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.da";
+ version = "2.8.26";
+ sha256 = "09b3x3bw3cgby9qvaccnqz2y6d8gl3497dh7q0dk1iznsxbk4x4m";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.de";
+ version = "2.8.26";
+ sha256 = "1pyp2a9my20wlwjjzv563kshl9fpjb2kd4cw41l4wvsz1bsq3l22";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.el";
+ version = "2.8.26";
+ sha256 = "0v3sdcxca4dam1y5yjh9n6v711ys0zdv38hr4kij35s6277ls6lb";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.es";
+ version = "2.8.26";
+ sha256 = "0wh9qvqf80cngwsz2jnrsjpmaax4xa2xp8bbk5xs480kp071z37q";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.fa";
+ version = "2.8.26";
+ sha256 = "00v56ddjfv6sr6w5246gn5z0padwswvnngp8mdl7gjfg5ycmbkl1";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.fi-FI";
+ version = "2.8.26";
+ sha256 = "1pgs0j5ri50a6vhljplhrlc8jj1hrd9ggxkj60d9v5kk9xibzzyd";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.fr";
+ version = "2.8.26";
+ sha256 = "0kkhgy3yn8vfqlx3dhb9m3cazkgfxarknam4macng9y17l7wj83m";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.fr-BE";
+ version = "2.8.26";
+ sha256 = "13spcx07hph366qk073pz63s56nadaac7l4mr4a66gbpqd3814kb";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.he";
+ version = "2.8.26";
+ sha256 = "1ccn82aj3rhrhsa3kvkrmjw0p687icxlfja8ngbh7sby4cszx9bk";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.hr";
+ version = "2.8.26";
+ sha256 = "12ii79bhai3kv7zr3k9k9dh569r6p3m4l4gj25cln2isr4wdi5r9";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.hu";
+ version = "2.8.26";
+ sha256 = "0cibbdxiqhwrjmxlr805mg3l9v0fl2ydx4m50608rkysjq6vxx7y";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.hy";
+ version = "2.8.26";
+ sha256 = "15aikm04f74abm4ak8rvnnkrlcz155gibn1y81pbgsyn7yrh84v3";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.id";
+ version = "2.8.26";
+ sha256 = "1i9gpzdfhmbvrqg858kqz5461sp3sh60g16dmcmyi1ik0qlspijn";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.it";
+ version = "2.8.26";
+ sha256 = "01j7qskmqcxsakbx3bkxcjyzrh6nxi2v6kfzsfb0vf980qqq331l";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.ja";
+ version = "2.8.26";
+ sha256 = "07d19ns4a4pa2k4vdc1af7wj10gaflq1ny4mx6y574afkdi8v6d5";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.lv";
+ version = "2.8.26";
+ sha256 = "1pm64sj65nmngyfa3hjcw67icfmlzr232hmgpnw7306sb7dxmnfv";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.ms-MY";
+ version = "2.8.26";
+ sha256 = "1yx4cc023kc4k14abk2ycmjy6y2xaknaz4zria7xsadf0fabd1jc";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.mt";
+ version = "2.8.26";
+ sha256 = "0iai35pzka9g6c3sgswki06fk6gdnq8kc88wyb4pcciivazz31px";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.nb";
+ version = "2.8.26";
+ sha256 = "0xprhiyjyq6mpha2lrav59n1f48508ddvm9nmdk5sm5k26ff3l90";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.nb-NO";
+ version = "2.8.26";
+ sha256 = "160c98wfh7d2xlvlra4x5rdj4klgcjwcy3gkb4ipg655byn2m1j2";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.nl";
+ version = "2.8.26";
+ sha256 = "067pqm4i1mk83fqqr0bvzrchrvxwdnff18z3djgagclh1i4xqlvk";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.pl";
+ version = "2.8.26";
+ sha256 = "1r1bbqb990war1hiag5f88yxw0k9jiid1ihb4s5bc1lzs3vfsb6x";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.pt";
+ version = "2.8.26";
+ sha256 = "1bik0vjjdzw51yl11ng9gsi3ihz50ibwh1gdhh2vd13jxjzb512p";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.ro";
+ version = "2.8.26";
+ sha256 = "12f2hry6x1p1mgx6g4kpig2jpybx52ibghvhdhjbbfhy32gv8dr0";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.ru";
+ version = "2.8.26";
+ sha256 = "1hri12kwymzvdqcr66l8yiqiw3pmf9fk492z10yqljm576kyshgg";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.sk";
+ version = "2.8.26";
+ sha256 = "07jfgk67axw97b85dn4bwpjwf3swd74j9hdd870qps12xfp98i9j";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.sl";
+ version = "2.8.26";
+ sha256 = "060xbzwb7p9ypbqfklih2zal2rh6h55gq4hv3i6alvlbd3vsx29n";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.sr";
+ version = "2.8.26";
+ sha256 = "0i2c24qmqnhp85b088qlbagxd48hcl0v1ly4m7hfbvx5s7fg8riv";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.sr-Latn";
+ version = "2.8.26";
+ sha256 = "1911a69sqssh9f007vmxbgyj4ym2ym4423xvw6cmbfhjcrhkfpbi";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.sv";
+ version = "2.8.26";
+ sha256 = "056h8n9i18yl78f9ppzn2kkrz2cs46aqv0j5y8xq360zarggh0nm";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.tr";
+ version = "2.8.26";
+ sha256 = "0dk8ga3fpxifxxkz0n68654h65cvrx00hy7q00m5vgvmcp70gxxn";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.uk";
+ version = "2.8.26";
+ sha256 = "0bnj5xqlcqp4n8i04ra78dax4854zbf2jsygvb4lpiayyyaj2bxw";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.uz-Cyrl-UZ";
+ version = "2.8.26";
+ sha256 = "1bbf6mxas6brjw7rjljq5saz6v3ic6zbvm1b3c1jbk0hc0qkd7c8";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.uz-Latn-UZ";
+ version = "2.8.26";
+ sha256 = "1bfgfihpynax30g9kq8kra7c4jxps2ccxsxrs9gls47xbs35cw2f";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.vi";
+ version = "2.8.26";
+ sha256 = "1vm765nvkp6wyfwlcgppimjrk04lkg8lscch3n1i1i5hlqxrs9ch";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.zh-CN";
+ version = "2.8.26";
+ sha256 = "1qyl12rdh4iv1k1qcivcmxxnh8y93ainf22pmch8vvw9yjhs1y7s";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.zh-Hans";
+ version = "2.8.26";
+ sha256 = "1gqv3dyk236wlp5wb7kd4qnyrmp3cy36ycykl7zr91s25cdls5vy";
+ })
+ (fetchNuGet {
+ name = "Humanizer.Core.zh-Hant";
+ version = "2.8.26";
+ sha256 = "1rhzbiqbx04l3kvzjklix90fxyc6vvmmw0p564ajdiximivs0pbh";
+ })
+ (fetchNuGet {
+ name = "JetBrains.Annotations";
+ version = "2020.1.0";
+ sha256 = "13fqcr6bs4x9rn0mpx110xl5apwh8ds1h0lx208znrm178ywqm8y";
+ })
+ (fetchNuGet {
+ name = "ManagedBass";
+ version = "2.0.4";
+ sha256 = "13hwd0yany4j52abbaaqsgq8lag2w9vjxxsj4qfbgwp4qs39x003";
+ })
+ (fetchNuGet {
+ name = "ManagedBass.Fx";
+ version = "2.0.1";
+ sha256 = "1rbjpgpm0ri7l2gqdy691rsv3visna2nbxawgvhdqljw068r8a8d";
+ })
+ (fetchNuGet {
+ name = "managed-midi";
+ version = "1.9.14";
+ sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h";
+ })
+ (fetchNuGet {
+ name = "Markdig";
+ version = "0.21.1";
+ sha256 = "119v22rvg51ifg54r1ndf2bw7hv1lf5wn3cd04ccg8d7r8c0yhbk";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Bcl.AsyncInterfaces";
+ version = "1.1.0";
+ sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Build.Framework";
+ version = "15.3.409";
+ sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Build.Locator";
+ version = "1.2.6";
+ sha256 = "1rnfd7wq2bkynqj767xmq9ha38mz010fmqvvvrgb4v86gd537737";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Analyzers";
+ version = "3.0.0";
+ sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.BannedApiAnalyzers";
+ version = "3.3.0";
+ sha256 = "04z03ir9sal5h9ha97isbh660jijslb8zfiaa48w2r2l6pabz5kd";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Common";
+ version = "3.7.0";
+ sha256 = "0882492nx6x68b0pkh3q5xaawz0b2l5x35r40722ignyjnvjydph";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.CSharp";
+ version = "3.7.0";
+ sha256 = "0adw6rcag8wxydzyiyhls2mxaqkay5qlz25z1fxrlv5qnchqn0n5";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.CSharp.Workspaces";
+ version = "3.7.0";
+ sha256 = "15rlz65wbky0yq7b9s8xwk68dgrhgsk4rj88q9pyjxbm5938vrav";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.FxCopAnalyzers";
+ version = "3.0.0";
+ sha256 = "0a17vb6jnj6kch70d7vki84728hlc3zpffsbv533yji6kf6x6d24";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.VersionCheckAnalyzer";
+ version = "3.0.0";
+ sha256 = "11g3hj3p885zj7bn99qzh68m1xifbwzrgmx1pkvpi10rmgkpyh8j";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Workspaces.Common";
+ version = "3.7.0";
+ sha256 = "00nm453w4n6kjsicmz5izvkf1ki9rp3xnc9n3y7a9b1g5sxg36fs";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeAnalysis.Workspaces.MSBuild";
+ version = "3.7.0";
+ sha256 = "1sh8s7b16j06p3gmzsgwd8690vagah4908bpa3gyz2fxgfnj46ax";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CodeQuality.Analyzers";
+ version = "3.0.0";
+ sha256 = "1x3yf21m41w2iv9nlwp03q6byqgivd48h2dlm5vgv5bd53xjfz77";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.0.1";
+ sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
+ })
+ (fetchNuGet {
+ name = "Microsoft.CSharp";
+ version = "4.5.0";
+ sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Data.Sqlite.Core";
+ version = "2.2.6";
+ sha256 = "0fx8698k71vzr8pdc6q8bsbzg6r8a42s4hkzmiyv13ibmyb5q68k";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Diagnostics.NETCore.Client";
+ version = "0.2.61701";
+ sha256 = "1ic1607jj4ln8dbibf1fz5v9svk9x2kqlgvhndc6ijaqnbc4wcr1";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Diagnostics.Runtime";
+ version = "2.0.142701";
+ sha256 = "114ivn09zlxkna78hyxa3h40k5iaivapws755i0aiys7nxhdn3mw";
+ })
+ (fetchNuGet {
+ name = "Microsoft.DotNet.PlatformAbstractions";
+ version = "2.1.0";
+ sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore";
+ version = "2.2.6";
+ sha256 = "18j2cr50wsikwv7gy3vrjvmpdxckvv537qma8afdpr3yn2klayh5";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Abstractions";
+ version = "2.2.6";
+ sha256 = "1dyxb5ibx24frlgbqy7zch0falq9p1189zvlbxgl94m0hvpml5j3";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Analyzers";
+ version = "2.2.6";
+ sha256 = "10f2lxxmh0xrdjvnam31fqfnjkaick23mpfvahj3ca5l07bph0rc";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Design";
+ version = "2.2.6";
+ sha256 = "0kjjkh1yfb56wnkmciqzfn9vymqfjap364y5amia0lmqmhfz8g7f";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Relational";
+ version = "2.2.6";
+ sha256 = "0c0z4mrqldjfslyxywb2ydk8hn9ybhkvz6lxx3idrfalq3ni5f1z";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Sqlite";
+ version = "2.2.6";
+ sha256 = "0z8k5ns841imaqha5abb1ka0rsfzy90k6qkrvix11sp6k9i7lsam";
+ })
+ (fetchNuGet {
+ name = "Microsoft.EntityFrameworkCore.Sqlite.Core";
+ version = "2.2.6";
+ sha256 = "0jzqw4672mzxjvzas09sl0zyzzayfgkv003a7bw5g2gjyiphf630";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Caching.Abstractions";
+ version = "2.2.0";
+ sha256 = "0hhxc5dp52faha1bdqw0k426zicsv6x1kfqi30m9agr0b2hixj52";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Caching.Memory";
+ version = "2.2.0";
+ sha256 = "0bzrsn5vas86w66bd04xilnlb21nx4l6lz7d3acvy6y8ir2vb5dv";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration";
+ version = "2.2.0";
+ sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Abstractions";
+ version = "2.2.0";
+ sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Configuration.Binder";
+ version = "2.2.0";
+ sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection";
+ version = "2.2.0";
+ sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyInjection.Abstractions";
+ version = "2.2.0";
+ sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.DependencyModel";
+ version = "2.1.0";
+ sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging";
+ version = "2.2.0";
+ sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Logging.Abstractions";
+ version = "2.2.0";
+ sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.ObjectPool";
+ version = "3.0.3";
+ sha256 = "0zxsdwh9mhy3wsbjyfr4k0r10s1h06dzw8hcck9aknv155q26zqk";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Options";
+ version = "2.2.0";
+ sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Extensions.Primitives";
+ version = "2.2.0";
+ sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Net.Compilers.Toolset";
+ version = "3.1.0";
+ sha256 = "1csf8hgwvyxjlxdygacrk3pp0xkzydc1kvsv68cxy8h7gd62k0w0";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NetCore.Analyzers";
+ version = "3.0.0";
+ sha256 = "0b8biyw7nymqfbg08g2vmpf1xm6g1mm6hz4gjxc5f3g72kd2nswj";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.0.1";
+ sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "1.1.0";
+ sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "2.1.2";
+ sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "3.1.0";
+ sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Platforms";
+ version = "3.1.1";
+ sha256 = "05hmaygd5131rnqi6ipv7agsbpi7ka18779vw45iw6b385l7n987";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.0.1";
+ sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NETCore.Targets";
+ version = "1.1.0";
+ sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+ })
+ (fetchNuGet {
+ name = "Microsoft.NetFramework.Analyzers";
+ version = "3.0.0";
+ sha256 = "09dqizym3bca4281714yxrhhgryxpjhjfjnyfswlhyh42qi3ix2k";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Primitives";
+ version = "4.0.1";
+ sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Primitives";
+ version = "4.3.0";
+ sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+ })
+ (fetchNuGet {
+ name = "Microsoft.Win32.Registry";
+ version = "4.7.0";
+ sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs";
+ })
+ (fetchNuGet {
+ name = "Mono.Cecil";
+ version = "0.9.6.1";
+ sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "1.6.0";
+ sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "1.6.1";
+ sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+ })
+ (fetchNuGet {
+ name = "NETStandard.Library";
+ version = "2.0.0";
+ sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "12.0.2";
+ sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "12.0.3";
+ sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
+ })
+ (fetchNuGet {
+ name = "Newtonsoft.Json";
+ version = "9.0.1";
+ sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
+ })
+ (fetchNuGet {
+ name = "NUnit";
+ version = "3.12.0";
+ sha256 = "1880j2xwavi8f28vxan3hyvdnph4nlh5sbmh285s4lc9l0b7bdk2";
+ })
+ (fetchNuGet {
+ name = "ppy.osu.Framework";
+ version = "2020.903.0";
+ sha256 = "0g15yw8c21m2g0lpca4f519dgj2phccz15nqdbaq49736akr4qzm";
+ })
+ (fetchNuGet {
+ name = "ppy.osu.Framework.NativeLibs";
+ version = "2020.213.0";
+ sha256 = "1yzrx7bji2163dzvyqri42byc7lgxlm59xbwgi312dw5714snmxy";
+ })
+ (fetchNuGet {
+ name = "ppy.osu.Game.Resources";
+ version = "2020.903.0";
+ sha256 = "0f94kms4xyjl9xwf26j6n6k5zfbx61a6bkd3vljfmbmr88advssy";
+ })
+ (fetchNuGet {
+ name = "ppy.osuTK.NS20";
+ version = "1.0.161";
+ sha256 = "0li5vcpki1ih605c8h1hjf15m9wawkdaizcxib6v3mfjf860ma3s";
+ })
+ (fetchNuGet {
+ name = "ppy.SDL2-CS";
+ version = "1.0.15";
+ sha256 = "0qld7sp7y7hwwxsdxc8m17nyb2zwfxym63j50icvf0rlawmrl7ca";
+ })
+ (fetchNuGet {
+ name = "ppy.squirrel.windows";
+ version = "1.9.0.4";
+ sha256 = "1m8shcmgs0fs225qd0navr1qr6csqjin9sg2x0d7xpfk04nd2hi7";
+ })
+ (fetchNuGet {
+ name = "Remotion.Linq";
+ version = "2.2.0";
+ sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf";
+ })
+ (fetchNuGet {
+ name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
+ })
+ (fetchNuGet {
+ name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
+ })
+ (fetchNuGet {
+ name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System";
+ version = "4.0.0";
+ sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System";
+ version = "4.3.0";
+ sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.IO.Compression";
+ version = "4.1.0";
+ sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.IO.Compression";
+ version = "4.3.0";
+ sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Http";
+ version = "4.0.1";
+ sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Net.Http";
+ version = "4.3.0";
+ sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography";
+ version = "4.0.0";
+ sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography.Apple";
+ version = "4.3.0";
+ sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
+ })
+ (fetchNuGet {
+ name = "runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
+ })
+ (fetchNuGet {
+ name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
+ })
+ (fetchNuGet {
+ name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
+ })
+ (fetchNuGet {
+ name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
+ version = "4.3.0";
+ sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
+ })
+ (fetchNuGet {
+ name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
+ })
+ (fetchNuGet {
+ name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
+ })
+ (fetchNuGet {
+ name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
+ })
+ (fetchNuGet {
+ name = "Sentry";
+ version = "2.1.6";
+ sha256 = "0vc45p1arxwifv5fb6lzkqqxlsvm4i0xmpq2vc73vbjqzydd2phm";
+ })
+ (fetchNuGet {
+ name = "Sentry.PlatformAbstractions";
+ version = "1.1.1";
+ sha256 = "10mxyxmyjpr0y1ik2j55pp7ifn101sw319cbpf28i2xbfp0cvcaj";
+ })
+ (fetchNuGet {
+ name = "Sentry.Protocol";
+ version = "2.1.6";
+ sha256 = "0qc18kc9d7f0s6hmnpji3sbz0z09kdgg4fwh55rrmpfgr3w851s7";
+ })
+ (fetchNuGet {
+ name = "SharpCompress";
+ version = "0.17.1";
+ sha256 = "1ffiacghbcnr3fkgvdcad7b1nky54nhmmn2sm43sks9zm8grvva4";
+ })
+ (fetchNuGet {
+ name = "SharpCompress";
+ version = "0.26.0";
+ sha256 = "03cygf8p44j1bfn6z9cn2xrw6zhvhq17xac1sph5rgq7vq2m5iq5";
+ })
+ (fetchNuGet {
+ name = "SharpFNT";
+ version = "2.0.0";
+ sha256 = "1bgacgh9hbck0qvji6frbb50sdiqfdng2fvvfgfw8b9qaql91mx0";
+ })
+ (fetchNuGet {
+ name = "SixLabors.Core";
+ version = "1.0.0-beta0008";
+ sha256 = "1yqcv5d2igsrmi9hf8xzikn0fms47skqpr552yzbj4z4wnraahaw";
+ })
+ (fetchNuGet {
+ name = "SixLabors.ImageSharp";
+ version = "1.0.0-beta0007";
+ sha256 = "1k3hrp26imyqjarkrcsrhvamlmynzv6cakzq68yx69c0h8lmscaf";
+ })
+ (fetchNuGet {
+ name = "Splat";
+ version = "1.6.2";
+ sha256 = "154w9q0z8697rcpqs4x233crx5ap1z4pl4xc21hsd3csbhw13ykf";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.bundle_green";
+ version = "1.1.12";
+ sha256 = "0jbyd25ag15fyn9nawjikv0v5ylk2zh5pxgr6gm4kpbpqys86sq9";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.core";
+ version = "1.1.12";
+ sha256 = "03gflsn2wl6v0a8zvh6y5xdhx0xxmfrn6jfldiy829x3fx74zgdl";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.lib.e_sqlite3.linux";
+ version = "1.1.12";
+ sha256 = "10mlq914d3zggdjf4bv27w6jx0gqqjf6f91y5ri6pbvaqyhi28h5";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.lib.e_sqlite3.osx";
+ version = "1.1.12";
+ sha256 = "1hixg6n9sqllfrcihj145lh1l38inv827808difvazd4zr3mi0z1";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.lib.e_sqlite3.v110_xp";
+ version = "1.1.12";
+ sha256 = "107sivk5p38dg1kyvqrxgp67dj89s8l6brf9l52k6s4vrn4hrrk7";
+ })
+ (fetchNuGet {
+ name = "SQLitePCLRaw.provider.e_sqlite3.netstandard11";
+ version = "1.1.12";
+ sha256 = "0qr2d7ka6f5c7bybdhiyq7nl90c9575szmi0nfpknd9c0w024if4";
+ })
+ (fetchNuGet {
+ name = "StbiSharp";
+ version = "1.0.12";
+ sha256 = "044lyc6522s8q4kgvly0rsxghkiv4dwzycl2ibxf7q5dvws02qvp";
+ })
+ (fetchNuGet {
+ name = "System.AppContext";
+ version = "4.1.0";
+ sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
+ })
+ (fetchNuGet {
+ name = "System.AppContext";
+ version = "4.3.0";
+ sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.0.0";
+ sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.3.0";
+ sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.4.0";
+ sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.5.0";
+ sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c";
+ })
+ (fetchNuGet {
+ name = "System.Buffers";
+ version = "4.5.1";
+ sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.0.11";
+ sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+ })
+ (fetchNuGet {
+ name = "System.Collections";
+ version = "4.3.0";
+ sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Concurrent";
+ version = "4.0.12";
+ sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Concurrent";
+ version = "4.3.0";
+ sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Immutable";
+ version = "1.5.0";
+ sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
+ })
+ (fetchNuGet {
+ name = "System.Collections.Immutable";
+ version = "1.7.1";
+ sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.Annotations";
+ version = "4.5.0";
+ sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p";
+ })
+ (fetchNuGet {
+ name = "System.ComponentModel.Annotations";
+ version = "4.7.0";
+ sha256 = "06x1m46ddxj0ng28d7gry9gjkqdg2kp89jyf480g5gznyybbs49z";
+ })
+ (fetchNuGet {
+ name = "System.Composition";
+ version = "1.0.31";
+ sha256 = "0aa27jz73qb0xm6dyxv22qhfrmyyqjyn2dvvsd9asi82lcdh9i61";
+ })
+ (fetchNuGet {
+ name = "System.Composition.AttributedModel";
+ version = "1.0.31";
+ sha256 = "1ipyb86hvw754kmk47vjmzyilvj5hymg9nqabz70sbgsz1fygrdv";
+ })
+ (fetchNuGet {
+ name = "System.Composition.Convention";
+ version = "1.0.31";
+ sha256 = "00gqcdrql7vhynxh4xq0s9j5nw27kghmn2n773v7lhzjh3ash18r";
+ })
+ (fetchNuGet {
+ name = "System.Composition.Hosting";
+ version = "1.0.31";
+ sha256 = "1f1bnk3j7ndx9r7zpzibmrhw78clys1pspl20j2dhnmkiwhl23vy";
+ })
+ (fetchNuGet {
+ name = "System.Composition.Runtime";
+ version = "1.0.31";
+ sha256 = "1shfybfzsn4g6aim4pggb5ha31g0fz2kkk0519c4vj6m166g39ws";
+ })
+ (fetchNuGet {
+ name = "System.Composition.TypedParts";
+ version = "1.0.31";
+ sha256 = "1m4j19zx50lbbdx1xxbgpsd1dai2r3kzkyapw47kdvkb89qjkl63";
+ })
+ (fetchNuGet {
+ name = "System.Console";
+ version = "4.0.0";
+ sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
+ })
+ (fetchNuGet {
+ name = "System.Console";
+ version = "4.3.0";
+ sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.0.11";
+ sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Debug";
+ version = "4.3.0";
+ sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.0.0";
+ sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.3.0";
+ sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.DiagnosticSource";
+ version = "4.5.0";
+ sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.0.1";
+ sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tools";
+ version = "4.3.0";
+ sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tracing";
+ version = "4.1.0";
+ sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+ })
+ (fetchNuGet {
+ name = "System.Diagnostics.Tracing";
+ version = "4.3.0";
+ sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+ })
+ (fetchNuGet {
+ name = "System.Dynamic.Runtime";
+ version = "4.0.11";
+ sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.0.11";
+ sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+ })
+ (fetchNuGet {
+ name = "System.Globalization";
+ version = "4.3.0";
+ sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Calendars";
+ version = "4.0.1";
+ sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Calendars";
+ version = "4.3.0";
+ sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Extensions";
+ version = "4.0.1";
+ sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc";
+ })
+ (fetchNuGet {
+ name = "System.Globalization.Extensions";
+ version = "4.3.0";
+ sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
+ })
+ (fetchNuGet {
+ name = "System.Interactive.Async";
+ version = "3.2.0";
+ sha256 = "0y5r5y7dlccjpgg17rjrrzi3jya4ysyydamxs33qckkv4jb3534d";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.1.0";
+ sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+ })
+ (fetchNuGet {
+ name = "System.IO";
+ version = "4.3.0";
+ sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression";
+ version = "4.1.0";
+ sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression";
+ version = "4.3.0";
+ sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression.ZipFile";
+ version = "4.0.1";
+ sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82";
+ })
+ (fetchNuGet {
+ name = "System.IO.Compression.ZipFile";
+ version = "4.3.0";
+ sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.0.1";
+ sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem";
+ version = "4.3.0";
+ sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.0.1";
+ sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+ })
+ (fetchNuGet {
+ name = "System.IO.FileSystem.Primitives";
+ version = "4.3.0";
+ sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+ })
+ (fetchNuGet {
+ name = "System.IO.Packaging";
+ version = "4.7.0";
+ sha256 = "1vivvf158ilcpp6bq70zyafimi0lng546b34csmjb09k19wgxpiv";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.1.0";
+ sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+ })
+ (fetchNuGet {
+ name = "System.Linq";
+ version = "4.3.0";
+ sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.1.0";
+ sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Expressions";
+ version = "4.3.0";
+ sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+ })
+ (fetchNuGet {
+ name = "System.Linq.Queryable";
+ version = "4.0.1";
+ sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw";
+ })
+ (fetchNuGet {
+ name = "System.Memory";
+ version = "4.5.1";
+ sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c";
+ })
+ (fetchNuGet {
+ name = "System.Memory";
+ version = "4.5.3";
+ sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
+ })
+ (fetchNuGet {
+ name = "System.Memory";
+ version = "4.5.4";
+ sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
+ })
+ (fetchNuGet {
+ name = "System.Net.Http";
+ version = "4.1.0";
+ sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb";
+ })
+ (fetchNuGet {
+ name = "System.Net.Http";
+ version = "4.3.0";
+ sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
+ })
+ (fetchNuGet {
+ name = "System.Net.Primitives";
+ version = "4.0.11";
+ sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r";
+ })
+ (fetchNuGet {
+ name = "System.Net.Primitives";
+ version = "4.3.0";
+ sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+ })
+ (fetchNuGet {
+ name = "System.Net.Sockets";
+ version = "4.1.0";
+ sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls";
+ })
+ (fetchNuGet {
+ name = "System.Net.Sockets";
+ version = "4.3.0";
+ sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
+ })
+ (fetchNuGet {
+ name = "System.Numerics.Vectors";
+ version = "4.4.0";
+ sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
+ })
+ (fetchNuGet {
+ name = "System.Numerics.Vectors";
+ version = "4.5.0";
+ sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.0.12";
+ sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+ })
+ (fetchNuGet {
+ name = "System.ObjectModel";
+ version = "4.3.0";
+ sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.1.0";
+ sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+ })
+ (fetchNuGet {
+ name = "System.Reflection";
+ version = "4.3.0";
+ sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.0.1";
+ sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit";
+ version = "4.3.0";
+ sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.0.1";
+ sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.ILGeneration";
+ version = "4.3.0";
+ sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.0.1";
+ sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.3.0";
+ sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Emit.Lightweight";
+ version = "4.7.0";
+ sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.0.1";
+ sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Extensions";
+ version = "4.3.0";
+ sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Metadata";
+ version = "1.6.0";
+ sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Metadata";
+ version = "1.8.1";
+ sha256 = "17xxl3m99wa4hcpqy42vl8qb1jk2jfq32rj3sfjc1a46hi2si5jj";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.0.1";
+ sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.Primitives";
+ version = "4.3.0";
+ sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.1.0";
+ sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+ })
+ (fetchNuGet {
+ name = "System.Reflection.TypeExtensions";
+ version = "4.3.0";
+ sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.0.1";
+ sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+ })
+ (fetchNuGet {
+ name = "System.Resources.ResourceManager";
+ version = "4.3.0";
+ sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.1.0";
+ sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+ })
+ (fetchNuGet {
+ name = "System.Runtime";
+ version = "4.3.0";
+ sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.5.1";
+ sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.5.2";
+ sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.7.0";
+ sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.CompilerServices.Unsafe";
+ version = "4.7.1";
+ sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.1.0";
+ sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Extensions";
+ version = "4.3.0";
+ sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.0.1";
+ sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Handles";
+ version = "4.3.0";
+ sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.1.0";
+ sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices";
+ version = "4.3.0";
+ sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices.RuntimeInformation";
+ version = "4.0.0";
+ sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.InteropServices.RuntimeInformation";
+ version = "4.3.0";
+ sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.0.1";
+ sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Numerics";
+ version = "4.3.0";
+ sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+ })
+ (fetchNuGet {
+ name = "System.Runtime.Serialization.Primitives";
+ version = "4.1.1";
+ sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+ })
+ (fetchNuGet {
+ name = "System.Security.AccessControl";
+ version = "4.7.0";
+ sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Algorithms";
+ version = "4.2.0";
+ sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Algorithms";
+ version = "4.3.0";
+ sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Cng";
+ version = "4.2.0";
+ sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Cng";
+ version = "4.3.0";
+ sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Csp";
+ version = "4.0.0";
+ sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Csp";
+ version = "4.3.0";
+ sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Encoding";
+ version = "4.0.0";
+ sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Encoding";
+ version = "4.3.0";
+ sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.OpenSsl";
+ version = "4.0.0";
+ sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.OpenSsl";
+ version = "4.3.0";
+ sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Primitives";
+ version = "4.0.0";
+ sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.Primitives";
+ version = "4.3.0";
+ sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.X509Certificates";
+ version = "4.1.0";
+ sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
+ })
+ (fetchNuGet {
+ name = "System.Security.Cryptography.X509Certificates";
+ version = "4.3.0";
+ sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+ })
+ (fetchNuGet {
+ name = "System.Security.Principal.Windows";
+ version = "4.7.0";
+ sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.0.11";
+ sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding";
+ version = "4.3.0";
+ sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.CodePages";
+ version = "4.5.1";
+ sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.CodePages";
+ version = "4.7.1";
+ sha256 = "1y1hdap9qbl7vp74j8s9zcbh3v1rnrrvcc55wj1hl6has2v3qh1r";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.0.11";
+ sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+ })
+ (fetchNuGet {
+ name = "System.Text.Encoding.Extensions";
+ version = "4.3.0";
+ sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.1.0";
+ sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
+ })
+ (fetchNuGet {
+ name = "System.Text.RegularExpressions";
+ version = "4.3.0";
+ sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.0.11";
+ sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+ })
+ (fetchNuGet {
+ name = "System.Threading";
+ version = "4.3.0";
+ sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.0.11";
+ sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks";
+ version = "4.3.0";
+ sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.0.0";
+ sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.3.0";
+ sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Tasks.Extensions";
+ version = "4.5.3";
+ sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Thread";
+ version = "4.0.0";
+ sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Timer";
+ version = "4.0.1";
+ sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
+ })
+ (fetchNuGet {
+ name = "System.Threading.Timer";
+ version = "4.3.0";
+ sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.0.11";
+ sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+ })
+ (fetchNuGet {
+ name = "System.Xml.ReaderWriter";
+ version = "4.3.0";
+ sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.0.11";
+ sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
+ })
+ (fetchNuGet {
+ name = "System.Xml.XDocument";
+ version = "4.3.0";
+ sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
+ })
+]
diff --git a/nixpkgs/pkgs/games/osu-lazer/update.sh b/nixpkgs/pkgs/games/osu-lazer/update.sh
new file mode 100755
index 00000000000..be8fa3fe716
--- /dev/null
+++ b/nixpkgs/pkgs/games/osu-lazer/update.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts dotnet-sdk_3
+set -eo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+deps_file="$(realpath "./deps.nix")"
+
+new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases" | jq -r '.[0].name')"
+old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+if [[ "$new_version" == "$old_version" ]]; then
+ echo "Up to date"
+ exit 0
+fi
+
+cd ../../..
+update-source-version osu-lazer "$new_version"
+store_src="$(nix-build . -A osu-lazer.src --no-out-link)"
+src="$(mktemp -d /tmp/osu-src.XXX)"
+echo "Temp src dir: $src"
+cp -rT "$store_src" "$src"
+chmod -R +w "$src"
+
+pushd "$src"
+
+# Setup empty nuget package folder to force reinstall.
+mkdir ./nuget_tmp.packages
+cat >./nuget_tmp.config <<EOF
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <packageSources>
+ <add key="nuget" value="https://api.nuget.org/v3/index.json" />
+ </packageSources>
+ <config>
+ <add key="globalPackagesFolder" value="$(realpath ./nuget_tmp.packages)" />
+ </config>
+</configuration>
+EOF
+
+dotnet restore osu.Desktop --configfile ./nuget_tmp.config
+
+echo "{ fetchNuGet }: [" >"$deps_file"
+while read pkg_spec; do
+ { read pkg_name; read pkg_version; } < <(
+ # Build version part should be ignored: `3.0.0-beta2.20059.3+77df2220` -> `3.0.0-beta2.20059.3`
+ sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
+ pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
+ cat >>"$deps_file" <<EOF
+ (fetchNuGet {
+ name = "$pkg_name";
+ version = "$pkg_version";
+ sha256 = "$pkg_sha256";
+ })
+EOF
+done < <(find ./nuget_tmp.packages -name '*.nuspec' | sort)
+echo "]" >>"$deps_file"
+
+popd
+rm -r "$src"
diff --git a/nixpkgs/pkgs/games/papermc/default.nix b/nixpkgs/pkgs/games/papermc/default.nix
index 9695a350058..c5f7dc37925 100644
--- a/nixpkgs/pkgs/games/papermc/default.nix
+++ b/nixpkgs/pkgs/games/papermc/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, jre }:
+{ stdenv, fetchurl, bash, jre }:
let
- mcVersion = "1.15.2";
- buildNum = "161";
+ mcVersion = "1.16.2";
+ buildNum = "141";
jar = fetchurl {
url = "https://papermc.io/api/v1/paper/${mcVersion}/${buildNum}/download";
- sha256 = "1jngj5djs1fjdj25wg9iszw0dsp56f386j8ydms7x4ky8s8kxyms";
+ sha256 = "1qhhnaysw9r73fpvj9qcmjah722a6a4s6g4cblna56n1hpz4lw1s";
};
in stdenv.mkDerivation {
pname = "papermc";
@@ -13,22 +13,23 @@ in stdenv.mkDerivation {
preferLocalBuild = true;
dontUnpack = true;
- installPhase = ''
- mkdir -p $out/bin
- cp ${jar} $out/papermc.jar
- cat > $out/bin/minecraft-server << EOF
- #!/bin/sh
- exec ${jre}/bin/java \$@ -jar $out/papermc.jar nogui
- EOF
- chmod +x $out/bin/minecraft-server
+ dontConfigure = true;
+
+ buildPhase = ''
+ cat > minecraft-server << EOF
+ #!${bash}/bin/sh
+ exec ${jre}/bin/java \$@ -jar $out/share/papermc/papermc.jar nogui
'';
- phases = "installPhase";
+ installPhase = ''
+ install -Dm444 ${jar} $out/share/papermc/papermc.jar
+ install -Dm555 -t $out/bin minecraft-server
+ '';
meta = {
description = "High-performance Minecraft Server";
homepage = "https://papermc.io/";
- license = stdenv.lib.licenses.gpl3;
+ license = stdenv.lib.licenses.gpl3Only;
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ aaronjanse ];
};
diff --git a/nixpkgs/pkgs/games/pentobi/default.nix b/nixpkgs/pkgs/games/pentobi/default.nix
index 909f09a0b39..2b5a86ad52c 100644
--- a/nixpkgs/pkgs/games/pentobi/default.nix
+++ b/nixpkgs/pkgs/games/pentobi/default.nix
@@ -5,12 +5,12 @@
with stdenv.lib;
stdenv.mkDerivation rec {
- version = "18.0";
+ version = "18.1";
pname = "pentobi";
src = fetchurl {
url = "mirror://sourceforge/pentobi/${pname}-${version}.tar.xz";
- sha256 = "0dlvshywxijl0hrkl66szamcr77arh118f44ngr1ail8mg1fx1fy";
+ sha256 = "1vfw61lk9z7dngncmx3fggy5ld7ksdk48dpwnsq2vl5fh3f71qbq";
};
nativeBuildInputs = [ cmake docbook_xsl wrapQtAppsHook ];
diff --git a/nixpkgs/pkgs/games/privateer/default.nix b/nixpkgs/pkgs/games/privateer/default.nix
index 9fd90945eba..16d0036b658 100644
--- a/nixpkgs/pkgs/games/privateer/default.nix
+++ b/nixpkgs/pkgs/games/privateer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, boost, cmake, ffmpeg, freeglut, glib,
+{ stdenv, fetchsvn, boost, cmake, ffmpeg_3, freeglut, glib,
gtk2, libjpeg, libpng, libpthreadstubs, libvorbis, libXau, libXdmcp,
libXmu, libGLU, libGL, openal, pixman, pkgconfig, python27, SDL }:
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
};
buildInputs =
- [ boost cmake ffmpeg freeglut glib gtk2 libjpeg libpng
+ [ boost cmake ffmpeg_3 freeglut glib gtk2 libjpeg libpng
libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU libGL openal
pixman pkgconfig python27 SDL ];
diff --git a/nixpkgs/pkgs/games/runelite/default.nix b/nixpkgs/pkgs/games/runelite/default.nix
index 9b6ca4f7c05..df8a5c3e8dc 100644
--- a/nixpkgs/pkgs/games/runelite/default.nix
+++ b/nixpkgs/pkgs/games/runelite/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
terminal = "false";
desktopName = "RuneLite";
genericName = "Oldschool Runescape";
- categories = "Application;Game";
+ categories = "Game";
startupNotify = null;
};
diff --git a/nixpkgs/pkgs/games/sfrotz/default.nix b/nixpkgs/pkgs/games/sfrotz/default.nix
new file mode 100644
index 00000000000..6e4839703a1
--- /dev/null
+++ b/nixpkgs/pkgs/games/sfrotz/default.nix
@@ -0,0 +1,69 @@
+{ fetchFromGitLab
+, freetype
+, libao
+, libjpeg
+, libmodplug
+, libpng
+, libsamplerate
+, libsndfile
+, libvorbis
+, pkg-config
+, SDL2
+, SDL2_mixer
+, stdenv
+, zlib }:
+
+stdenv.mkDerivation rec {
+ pname = "sfrotz";
+ version = "2.52";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.com";
+ owner = "DavidGriffith";
+ repo = "frotz";
+ rev = version;
+ sha256 = "11ca1dz31b7s5vxjqncwjwmbbcr2m5v2rxjn49g4gnvwd6mqw48y";
+ };
+
+ buildInputs = [
+ freetype
+ libao
+ libjpeg
+ libmodplug
+ libpng
+ libsamplerate
+ libsndfile
+ libvorbis
+ SDL2
+ SDL2_mixer
+ zlib
+ ];
+ nativeBuildInputs = [ pkg-config ];
+ makeFlags = [ "PREFIX=${placeholder "out"}" ];
+ buildPhase = "make sdl";
+ installTargets = [ "install_sfrotz" ];
+
+ meta = with stdenv.lib; {
+ description =
+ "Interpreter for Infocom and other Z-Machine games (SDL interface)";
+ longDescription = ''
+ Frotz is a Z-Machine interpreter. The Z-machine is a virtual machine
+ designed by Infocom to run all of their text adventures. It went through
+ multiple revisions during the lifetime of the company, and two further
+ revisions (V7 and V8) were created by Graham Nelson after the company's
+ demise. The specification is now quite well documented; this version of
+ Frotz supports version 1.0.
+
+ This version of Frotz fully supports all these versions of the Z-Machine
+ including the graphical version 6. Graphics and sound are created through
+ the use of the SDL libraries. AIFF sound effects and music in MOD and OGG
+ formats are supported when packaged in Blorb container files or optionally
+ from individual files.
+ '';
+ homepage = "https://davidgriffith.gitlab.io/frotz/";
+ changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ ddelabru ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
index f96f61764b5..f3808102bd1 100644
--- a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
+++ b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix
@@ -1,29 +1,30 @@
{ stdenv
-, fetchurl
, makeWrapper
, fetchFromGitHub
+, nixosTests
, gradle_5
, perl
, jre
-, xorg
-, openal
+, libpulseaudio
}:
let
pname = "shattered-pixel-dungeon";
- version = "0.7.5f";
+ version = "0.8.2d";
src = fetchFromGitHub {
owner = "00-Evan";
- repo = "shattered-pixel-dungeon-gdx";
+ repo = "shattered-pixel-dungeon";
rev = "v${version}";
- sha256 = "05awbbc7np9li50shdbpv9dgdgry6lra8d5gibwn578m2g9srbxx";
+ sha256 = "11lgalam1aacw01ar7nawiim4pbxqzrdrnxvj6wq9mg83hgsz65l";
};
postPatch = ''
# disable gradle plugins with native code and their targets
perl -i.bak1 -pe "s#(^\s*id '.+' version '.+'$)#// \1#" build.gradle
perl -i.bak2 -pe "s#(.*)#// \1# if /^(buildscript|task portable|task nsis|task proguard|task tgz|task\(afterEclipseImport\)|launch4j|macAppBundle|buildRpm|buildDeb|shadowJar)/ ... /^}/" build.gradle
+ # Remove unbuildable android stuff
+ rm android/build.gradle
'';
# fake build to pre-download deps into fixed-output derivation
@@ -33,7 +34,7 @@ let
nativeBuildInputs = [ gradle_5 perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
- gradle --no-daemon desktop:dist
+ gradle --no-daemon desktop:release
'';
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
installPhase = ''
@@ -43,7 +44,7 @@ let
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
- outputHash = "1k0v5scadw9ziq4dw2rckmh8x2xlmxslfsxmpw79zg78n3hvwhf1";
+ outputHash = "0ih10c6c85vhrqgilqmkzqjx3dc8cscvs9wkh90zgdj10qv0iba3";
};
in stdenv.mkDerivation rec {
@@ -54,21 +55,25 @@ in stdenv.mkDerivation rec {
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
# point to offline repo
- sed -ie "s#mavenLocal()#mavenLocal(); maven { url '${deps}' }#g" build.gradle
- gradle --offline --no-daemon desktop:dist
+ sed -ie "s#repositories {#repositories { maven { url '${deps}' };#g" build.gradle
+ gradle --offline --no-daemon desktop:release
'';
installPhase = ''
install -Dm644 desktop/build/libs/desktop-${version}.jar $out/share/shattered-pixel-dungeon.jar
mkdir $out/bin
makeWrapper ${jre}/bin/java $out/bin/shattered-pixel-dungeon \
- --prefix LD_LIBRARY_PATH : ${xorg.libXxf86vm}/lib:${openal}/lib \
+ --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib \
--add-flags "-jar $out/share/shattered-pixel-dungeon.jar"
'';
+ passthru.tests = {
+ shattered-pixel-dungeon-starts = nixosTests.shattered-pixel-dungeon;
+ };
+
meta = with stdenv.lib; {
homepage = "https://shatteredpixel.com/";
- downloadPage = "https://github.com/00-Evan/shattered-pixel-dungeon-gdx/releases";
+ downloadPage = "https://github.com/00-Evan/shattered-pixel-dungeon/releases";
description = "Traditional roguelike game with pixel-art graphics and simple interface";
license = licenses.gpl3;
maintainers = with maintainers; [ fgaz ];
diff --git a/nixpkgs/pkgs/games/sm64ex/default.nix b/nixpkgs/pkgs/games/sm64ex/default.nix
new file mode 100644
index 00000000000..e5aeb84fbf1
--- /dev/null
+++ b/nixpkgs/pkgs/games/sm64ex/default.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchFromGitHub
+, python3
+, pkg-config
+, audiofile
+, SDL2
+, hexdump
+, requireFile
+, compileFlags ? [ ]
+, region ? "us"
+, baseRom ? requireFile {
+ name = "baserom.${region}.z64";
+ message = ''
+ This nix expression requires that baserom.${region}.z64 is
+ already part of the store. To get this file you can dump your Super Mario 64 cartridge's contents
+ and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
+ Note that if you are not using a US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
+ '';
+ sha256 = {
+ "us" = "17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91";
+ "eu" = "c792e5ebcba34c8d98c0c44cf29747c8ee67e7b907fcc77887f9ff2523f80572";
+ "jp" = "9cf7a80db321b07a8d461fe536c02c87b7412433953891cdec9191bfad2db317";
+ }.${region};
+ }
+}:
+
+stdenv.mkDerivation rec {
+ pname = "sm64ex";
+ version = "unstable-2020-06-19";
+
+ src = fetchFromGitHub {
+ owner = "sm64pc";
+ repo = "sm64ex";
+ rev = "f5005418348cf1a53bfa75ff415a513ef0b9b273";
+ sha256 = "0adyshkqk5c4lxhdxc3j6ax4svfka26486qpa5q2gl2nixwg9zxn";
+ };
+
+ nativeBuildInputs = [ python3 pkg-config ];
+ buildInputs = [ audiofile SDL2 hexdump ];
+
+ makeFlags = [ "VERSION=${region}" ] ++ compileFlags
+ ++ stdenv.lib.optionals stdenv.isDarwin [ "OSX_BUILD=1" ];
+
+ inherit baseRom;
+
+ preBuild = ''
+ patchShebangs extract_assets.py
+ cp $baseRom ./baserom.${region}.z64
+ '';
+
+ installPhase = ''
+ mkdir -p $out/bin
+ cp build/${region}_pc/sm64.${region}.f3dex2e $out/bin/sm64ex
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/sm64pc/sm64ex";
+ description = "Super Mario 64 port based off of decompilation";
+ longDescription = ''
+ Super Mario 64 port based off of decompilation.
+ Note that you must supply a baserom yourself to extract assets from.
+ If you are not using an US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
+ If you would like to use patches sm64ex distributes as makeflags, add them to the "compileFlags" attribute.
+ '';
+ license = licenses.unfree;
+ maintainers = with maintainers; [ ivar ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/nixpkgs/pkgs/games/spring/springlobby.nix b/nixpkgs/pkgs/games/spring/springlobby.nix
index e627575df94..9912675ee67 100644
--- a/nixpkgs/pkgs/games/spring/springlobby.nix
+++ b/nixpkgs/pkgs/games/spring/springlobby.nix
@@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "springlobby";
- version = "0.269";
+ version = "0.270";
src = fetchurl {
url = "https://springlobby.springrts.com/dl/stable/springlobby-${version}.tar.bz2";
- sha256 = "1shgrfs4ssjj8m0c7805jisjzpc60796l0vja3yjfdksrz7yxvhg";
+ sha256 = "1r1g2hw9ipsmsmzbhsi7bxqra1za6x7j1kw12qzl5psqyq8rqbgs";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/games/steam/default.nix b/nixpkgs/pkgs/games/steam/default.nix
index 5aab54b8322..ff2c6e13288 100644
--- a/nixpkgs/pkgs/games/steam/default.nix
+++ b/nixpkgs/pkgs/games/steam/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, newScope }:
+{ pkgs, newScope, buildFHSUserEnv }:
let
callPackage = newScope self;
@@ -12,12 +12,13 @@ let
steam-runtime-wrapped = callPackage ./runtime-wrapped.nix { };
steam = callPackage ./steam.nix { };
steam-fonts = callPackage ./fonts.nix { };
- steam-chrootenv = callPackage ./chrootenv.nix {
+ steam-fhsenv = callPackage ./fhsenv.nix {
glxinfo-i686 = pkgs.pkgsi686Linux.glxinfo;
steam-runtime-wrapped-i686 =
if steamArch == "amd64"
then pkgs.pkgsi686Linux.steamPackages.steam-runtime-wrapped
else null;
+ inherit buildFHSUserEnv;
};
steamcmd = callPackage ./steamcmd.nix { };
};
diff --git a/nixpkgs/pkgs/games/steam/chrootenv.nix b/nixpkgs/pkgs/games/steam/fhsenv.nix
index 56e1a09f36e..2c8063d4a05 100644
--- a/nixpkgs/pkgs/games/steam/chrootenv.nix
+++ b/nixpkgs/pkgs/games/steam/fhsenv.nix
@@ -42,6 +42,12 @@ let
ldPath = map (x: "/steamrt/${steam-runtime-wrapped.arch}/" + x) steam-runtime-wrapped.libs
++ lib.optionals (steam-runtime-wrapped-i686 != null) (map (x: "/steamrt/${steam-runtime-wrapped-i686.arch}/" + x) steam-runtime-wrapped-i686.libs);
+ # Zachtronics and a few other studios expect STEAM_LD_LIBRARY_PATH to be present
+ exportLDPath = ''
+ export LD_LIBRARY_PATH=/lib32:/lib64:${lib.concatStringsSep ":" ldPath}''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH
+ export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+ '';
+
setupSh = writeScript "setup.sh" ''
#!${runtimeShell}
'';
@@ -54,6 +60,7 @@ let
exit 0
fi
export LD_LIBRARY_PATH="$runtime_paths''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+ export STEAM_LD_LIBRARY_PATH="$STEAM_LD_LIBRARY_PATH''${STEAM_LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
exec "$@"
'';
@@ -82,6 +89,7 @@ in buildFHSUserEnv rec {
at-spi2-core # CrossCode
gst_all_1.gstreamer
gst_all_1.gst-plugins-ugly
+ gst_all_1.gst-plugins-base
libdrm
mono
xorg.xkeyboardconfig
@@ -186,8 +194,6 @@ in buildFHSUserEnv rec {
SDL_mixer
SDL2_ttf
SDL2_mixer
- gstreamer
- gst-plugins-base
libappindicator-gtk2
libcaca
libcanberra
@@ -251,6 +257,7 @@ in buildFHSUserEnv rec {
EOF
fi
fi
+ ${lib.optionalString (!nativeOnly) exportLDPath}
exec steam "$@"
'';
@@ -272,7 +279,7 @@ in buildFHSUserEnv rec {
exit 1
fi
shift
- ${lib.optionalString (!nativeOnly) "export LD_LIBRARY_PATH=/lib32:/lib64:${lib.concatStringsSep ":" ldPath}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"}
+ ${lib.optionalString (!nativeOnly) exportLDPath}
exec -- "$run" "$@"
'';
};
diff --git a/nixpkgs/pkgs/games/steam/runtime.nix b/nixpkgs/pkgs/games/steam/runtime.nix
index 44d80c0d794..4f373b9be30 100644
--- a/nixpkgs/pkgs/games/steam/runtime.nix
+++ b/nixpkgs/pkgs/games/steam/runtime.nix
@@ -1,25 +1,20 @@
-{ stdenv, steamArch, fetchurl, }:
+{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "steam-runtime";
# from https://repo.steampowered.com/steamrt-images-scout/snapshots/
- version = "0.20200417.0";
+ version = "0.20200720.0";
- src =
- if steamArch == "amd64" then fetchurl {
- url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/com.valvesoftware.SteamRuntime.Platform-amd64,i386-scout-runtime.tar.gz";
- sha256 = "0kps8i5v23sycqm69xz389n8k831jd7ncsmlrkky7nib2q91rbvj";
- name = "scout-runtime-${version}.tar.gz";
- } else fetchurl {
- url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/com.valvesoftware.SteamRuntime.Platform-i386-scout-runtime.tar.gz";
- sha256 = "03fhac1r25xf7ia2pd35wjw360v5pa9h4870yrhhygp9h7v4klzf";
- name = "scout-runtime-i386-${version}.tar.gz";
- };
+ src = fetchurl {
+ url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz";
+ sha256 = "03qdlr1xk84jb4c60ilis00vjhj70bxc0bbgk5g5b1883l2frljd";
+ name = "scout-runtime-${version}.tar.gz";
+ };
buildCommand = ''
mkdir -p $out
- tar -C $out -x --strip=1 -f $src files/
+ tar -C $out --strip=1 -x -f $src
'';
meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/games/super-tux-kart/default.nix b/nixpkgs/pkgs/games/super-tux-kart/default.nix
index 70c5657508b..b3a7966071a 100644
--- a/nixpkgs/pkgs/games/super-tux-kart/default.nix
+++ b/nixpkgs/pkgs/games/super-tux-kart/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig, makeWrapper
-, openal, freealut, libGLU, libGL, libvorbis, libogg, gettext, curl, freetype
-, fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, enet, harfbuzz }:
-
+{ lib, stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig, makeWrapper
+, openal, freealut, libGLU, libGL, libvorbis, libogg, gettext, curl, freetype, glew
+, fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, harfbuzz
+, mcpp, wiiuse, angelscript
+}:
let
dir = "stk-code";
assets = fetchsvn {
@@ -11,34 +12,62 @@ let
name = "stk-assets";
};
+ # List of bundled libraries in stk-code/lib to keep
+ # Those are the libraries that cannot be replaced
+ # with system packages.
+ bundledLibraries = [
+ # Bullet 2.87 is incompatible (bullet 2.79 needed whereas 2.87 is packaged)
+ # The api changed in a lot of classes, too much work to adapt
+ "bullet"
+ # Upstream Libenet doesn't yet support IPv6,
+ # So we will use the bundled libenet which
+ # has been fixed to support it.
+ "enet"
+ # Internal library of STK, nothing to do about it
+ "graphics_utils"
+ # This irrlicht is bundled with cmake
+ # whereas upstream irrlicht still uses
+ # archaic Makefiles, too complicated to switch to.
+ "irrlicht"
+ # Not packaged to this date
+ "libraqm"
+ # Not packaged to this date
+ "libsquish"
+ ];
in stdenv.mkDerivation rec {
+
pname = "supertuxkart";
version = "1.1";
- srcs = [
- (fetchFromGitHub {
- owner = "supertuxkart";
- repo = "stk-code";
- rev = version;
- sha256 = "01vxxl94583ixswzmi4caz8dk64r56pn3zxh7v63zml60yfvxbvp";
- name = dir;
- })
- ];
+ src = fetchFromGitHub {
+ owner = "supertuxkart";
+ repo = "stk-code";
+ rev = version;
+ sha256 = "01vxxl94583ixswzmi4caz8dk64r56pn3zxh7v63zml60yfvxbvp";
+ name = dir;
+ };
+
+ # Deletes all bundled libs in stk-code/lib except those
+ # That couldn't be replaced with system packages
+ postPatch = ''
+ find lib -maxdepth 1 -type d | egrep -v "^lib$|${(lib.concatStringsSep "|" bundledLibraries)}" | xargs -n1 -L1 -r -I{} rm -rf {}
+ '';
nativeBuildInputs = [ cmake gettext libtool pkgconfig makeWrapper ];
buildInputs = [
libX11 libXrandr
- openal freealut libGLU libGL libvorbis libogg zlib freetype
- curl fribidi bluez libjpeg libpng enet harfbuzz
+ openal freealut libGLU libGL libvorbis libogg zlib freetype glew
+ curl fribidi bluez libjpeg libpng harfbuzz
+ mcpp wiiuse angelscript
];
- enableParallelBuilding = true;
-
cmakeFlags = [
"-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs
"-DUSE_SYSTEM_ANGELSCRIPT=OFF" # doesn't work with 2.31.2 or 2.32.0
"-DCHECK_ASSETS=OFF"
+ "-DUSE_SYSTEM_WIIUSE=ON"
+ "-DUSE_SYSTEM_ANGELSCRIPT=ON"
];
# Obtain the assets directly from the fetched store path, to avoid duplicating assets across multiple engine builds
@@ -46,9 +75,9 @@ in stdenv.mkDerivation rec {
wrapProgram $out/bin/supertuxkart --set-default SUPERTUXKART_ASSETS_DIR "${assets}"
'';
- sourceRoot = dir;
+ enableParallelBuilding = true;
- meta = with stdenv.lib; {
+ meta = with lib; {
description = "A Free 3D kart racing game";
longDescription = ''
SuperTuxKart is a Free 3D kart racing game, with many tracks,
diff --git a/nixpkgs/pkgs/games/taisei/default.nix b/nixpkgs/pkgs/games/taisei/default.nix
index c3b76b4980e..3c4d0df2b03 100644
--- a/nixpkgs/pkgs/games/taisei/default.nix
+++ b/nixpkgs/pkgs/games/taisei/default.nix
@@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "taisei";
- version = "1.3";
+ version = "1.3.1";
src = fetchurl {
url = "https://github.com/taisei-project/${pname}/releases/download/v${version}/${pname}-v${version}.tar.xz";
- sha256 = "0fl41cbjr8h6gmhc27l44cfkcnhg5c10b4fcfvnfsbjii8gdwvjd";
+ sha256 = "11f9mlqmzy1lszwcc1nsbar9q1hs4ml6pbm52hqfd4q0f4x3ln46";
};
nativeBuildInputs = [
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
project of shoot-em-up games set in an isolated world full of Japanese
folklore.
'';
- homepage = https://taisei-project.org/;
+ homepage = "https://taisei-project.org/";
license = [ licenses.mit licenses.cc-by-40 ];
maintainers = [ maintainers.lambda-11235 ];
platforms = platforms.all;
diff --git a/nixpkgs/pkgs/games/tdm/default.nix b/nixpkgs/pkgs/games/tdm/default.nix
index 32f91f59868..055ab9d38e8 100644
--- a/nixpkgs/pkgs/games/tdm/default.nix
+++ b/nixpkgs/pkgs/games/tdm/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, binutils-unwrapped, scons, gnum4, p7zip, glibc_multi, mesa
+{ stdenv, fetchurl, binutils-unwrapped, sconsPackages, gnum4, p7zip, glibc_multi, mesa
, xorg, libGLU, libGL, openal
, lib, makeWrapper, makeDesktopItem }:
let
pname = "tdm";
- version = "2.07";
+ version = "2.08";
desktop = makeDesktopItem {
desktopName = pname;
name = pname;
exec = "@out@/bin/${pname}";
icon = pname;
- terminal = "False";
+ terminal = "false";
comment = "The Dark Mod - stealth FPS inspired by the Thief series";
type = "Application";
categories = "Game;";
@@ -21,10 +21,10 @@ in stdenv.mkDerivation {
name = "${pname}-${version}";
src = fetchurl {
url = "https://www.thedarkmod.com/sources/thedarkmod.${version}.src.7z";
- sha256 = "17wdpip8zvm2njz0xrf7xcxl73hnsc6i83zj18kn8rnjkpy50dd6";
+ sha256 = "0bmv07j6s6q3m7hnpx7cwrycjkbvlf0y9sg9migakni0jg9yz5ps";
};
nativeBuildInputs = [
- p7zip scons.py2 gnum4 makeWrapper
+ p7zip sconsPackages.scons_3_1_2 gnum4 makeWrapper
];
buildInputs = [
glibc_multi mesa.dev xorg.libX11.dev openal
@@ -39,13 +39,15 @@ in stdenv.mkDerivation {
preBuild = ''
pushd tdm_update
scons BUILD=release TARGET_ARCH=x64
- install -Dm755 tdm_update.linux $out/share/libexec/tdm_update.linux
+ install -Dm755 bin/tdm_update.linux64 $out/share/libexec/tdm_update.linux
popd
'';
# why oh why can it find ld but not strip?
postPatch = ''
sed -i 's!strip \$!${binutils-unwrapped}/bin/strip $!' SConstruct
+ # This adds math.h needed for math::floor
+ sed -i 's|#include "Util.h"|#include "Util.h"\n#include <math.h>|' tdm_update/ConsoleUpdater.cpp
'';
installPhase = ''
diff --git a/nixpkgs/pkgs/games/teeworlds/default.nix b/nixpkgs/pkgs/games/teeworlds/default.nix
index 3035c02e262..9ff50d533be 100644
--- a/nixpkgs/pkgs/games/teeworlds/default.nix
+++ b/nixpkgs/pkgs/games/teeworlds/default.nix
@@ -1,5 +1,6 @@
{ fetchFromGitHub, stdenv, cmake, pkgconfig, python3, alsaLib
, libX11, libGLU, SDL2, lua5_3, zlib, freetype, wavpack, icoutils
+, nixosTests
}:
stdenv.mkDerivation rec {
@@ -36,6 +37,8 @@ stdenv.mkDerivation rec {
install -D $src/other/teeworlds.desktop $out/share/applications/teeworlds.desktop
'';
+ passthru.tests.teeworlds = nixosTests.teeworlds;
+
meta = {
description = "Retro multiplayer shooter game";
diff --git a/nixpkgs/pkgs/games/terraria-server/default.nix b/nixpkgs/pkgs/games/terraria-server/default.nix
index d3198e2b35c..e16a771d272 100644
--- a/nixpkgs/pkgs/games/terraria-server/default.nix
+++ b/nixpkgs/pkgs/games/terraria-server/default.nix
@@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "terraria-server";
- version = "1.4.0.4";
+ version = "1.4.0.5";
urlVersion = lib.replaceChars [ "." ] [ "" ] version;
src = fetchurl {
- url = "https://terraria.org/system/dedicated_servers/archives/000/000/038/original/terraria-server-${urlVersion}.zip";
- sha256 = "09zkadjd04gbx1yvwpqmm89viydwxqgixbqhbqncb94qb2z5gfxk";
+ url = "https://terraria.org/system/dedicated_servers/archives/000/000/039/original/terraria-server-${urlVersion}.zip";
+ sha256 = "1bvcafpjxp7ddrbhm3z0xamgi71ymbi41dlx990daz0b5kbdir8y";
};
buildInputs = [ file unzip ];
diff --git a/nixpkgs/pkgs/games/the-powder-toy/default.nix b/nixpkgs/pkgs/games/the-powder-toy/default.nix
index 72b4bf20383..af392eca8d8 100644
--- a/nixpkgs/pkgs/games/the-powder-toy/default.nix
+++ b/nixpkgs/pkgs/games/the-powder-toy/default.nix
@@ -1,21 +1,24 @@
-{ stdenv, fetchFromGitHub, scons, pkgconfig, SDL2, lua, fftwFloat, zlib, bzip2 }:
+
+{ stdenv, fetchFromGitHub, scons, pkgconfig, SDL2, lua, fftwFloat,
+ zlib, bzip2, curl, darwin }:
stdenv.mkDerivation rec {
pname = "the-powder-toy";
- version = "94.1";
+ version = "95.0";
src = fetchFromGitHub {
- owner = "ThePowderToy";
+ owner = "The-Powder-Toy";
repo = "The-Powder-Toy";
rev = "v${version}";
- sha256 = "0w3i4zjkw52qbv3s9cgcwxrdbb1npy0ka7wygyb76xcb17bj0l0b";
+ sha256 = "18rp2g1mj0gklra06wm9dm57h73hmm301npndh0y8ap192i5s8sa";
};
nativeBuildInputs = [ scons pkgconfig ];
- buildInputs = [ SDL2 lua fftwFloat zlib bzip2 ];
+ propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin
+ [ darwin.apple_sdk.frameworks.Cocoa ];
- sconsFlags = "--tool=";
+ buildInputs = [ SDL2 lua fftwFloat zlib bzip2 curl ];
installPhase = ''
install -Dm 755 build/powder* "$out/bin/powder"
@@ -28,6 +31,6 @@ stdenv.mkDerivation rec {
homepage = "http://powdertoy.co.uk/";
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
license = licenses.gpl3;
- maintainers = with maintainers; [ abbradar ];
+ maintainers = with maintainers; [ abbradar siraben ];
};
}
diff --git a/nixpkgs/pkgs/games/tintin/default.nix b/nixpkgs/pkgs/games/tintin/default.nix
index 7291f5b4bd2..cd58fcf24fd 100644
--- a/nixpkgs/pkgs/games/tintin/default.nix
+++ b/nixpkgs/pkgs/games/tintin/default.nix
@@ -6,11 +6,11 @@
assert tlsSupport -> gnutls != null;
stdenv.mkDerivation rec {
- name = "tintin-2.02.02";
+ name = "tintin-2.02.03";
src = fetchurl {
url = "mirror://sourceforge/tintin/${name}.tar.gz";
- sha256 = "11ylbp8ip7dwmh4gzb53z147pcfxkl3lwhyy8ngyn2zc634vdn65";
+ sha256 = "0ybgy8j8i36d7f892x539vl6fl5zvvfyy5ffc98550vjr6qqhk74";
};
nativeBuildInputs = lib.optional tlsSupport gnutls.dev;
diff --git a/nixpkgs/pkgs/games/tome2/default.nix b/nixpkgs/pkgs/games/tome2/default.nix
index a632e523aaa..fa73697ab42 100644
--- a/nixpkgs/pkgs/games/tome2/default.nix
+++ b/nixpkgs/pkgs/games/tome2/default.nix
@@ -9,7 +9,7 @@ let
name = pname;
exec = "${pname}-x11";
icon = pname;
- terminal = "False";
+ terminal = "false";
comment = description;
type = "Application";
categories = "Game;RolePlaying;";
diff --git a/nixpkgs/pkgs/games/tome4/default.nix b/nixpkgs/pkgs/games/tome4/default.nix
index 99391f2e301..59dced9ac67 100644
--- a/nixpkgs/pkgs/games/tome4/default.nix
+++ b/nixpkgs/pkgs/games/tome4/default.nix
@@ -9,7 +9,7 @@ let
name = pname;
exec = "@out@/bin/${pname}";
icon = pname;
- terminal = "False";
+ terminal = "false";
comment = "An open-source, single-player, role-playing roguelike game set in the world of Eyal.";
type = "Application";
categories = "Game;RolePlaying;";
diff --git a/nixpkgs/pkgs/games/tuxpaint/default.nix b/nixpkgs/pkgs/games/tuxpaint/default.nix
index b9d7f1b8c28..ea37ded6b6c 100644
--- a/nixpkgs/pkgs/games/tuxpaint/default.nix
+++ b/nixpkgs/pkgs/games/tuxpaint/default.nix
@@ -1,17 +1,17 @@
{ stdenv, fetchurl, SDL, SDL_image, SDL_ttf, SDL_mixer, libpng,
- cairo, librsvg, gettext, libpaper, fribidi, pkgconfig, gperf }:
+ cairo, librsvg, gettext, libpaper, fribidi, pkgconfig, gperf, imagemagick }:
stdenv.mkDerivation rec {
- version = "0.9.22";
+ version = "0.9.24";
pname = "tuxpaint";
src = fetchurl {
url = "mirror://sourceforge/tuxpaint/${version}/${pname}-${version}.tar.gz";
- sha256 = "1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca";
+ sha256 = "06m1lg2pikfkmassfvvrbwqffwgixcmjh1li6akaldgkalpmfql7";
};
nativeBuildInputs = [ SDL SDL_image SDL_ttf SDL_mixer libpng cairo
- librsvg gettext libpaper fribidi pkgconfig gperf ];
+ librsvg gettext libpaper fribidi pkgconfig gperf imagemagick ];
hardeningDisable = [ "format" ];
makeFlags = [ "GPERF=${gperf}/bin/gperf"
"PREFIX=$$out"
diff --git a/nixpkgs/pkgs/games/ultrastardx/default.nix b/nixpkgs/pkgs/games/ultrastardx/default.nix
index 3e17dfdf644..b6e1da204ed 100644
--- a/nixpkgs/pkgs/games/ultrastardx/default.nix
+++ b/nixpkgs/pkgs/games/ultrastardx/default.nix
@@ -1,7 +1,26 @@
-{ stdenv, autoreconfHook, fetchFromGitHub, pkgconfig
-, lua, fpc, pcre, portaudio, freetype, libpng
-, SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_net, SDL2_ttf
-, ffmpeg, sqlite, zlib, libX11, libGLU, libGL }:
+{ stdenv
+, autoreconfHook
+, fetchFromGitHub
+, fetchpatch
+, pkgconfig
+, lua
+, fpc
+, pcre
+, portaudio
+, freetype
+, libpng
+, SDL2
+, SDL2_image
+, SDL2_gfx
+, SDL2_mixer
+, SDL2_net, SDL2_ttf
+, ffmpeg
+, sqlite
+, zlib
+, libX11
+, libGLU
+, libGL
+}:
let
sharedLibs = [
@@ -12,17 +31,25 @@ let
in stdenv.mkDerivation rec {
pname = "ultrastardx";
- version = "unstable-2019-01-07";
+ version = "2020.4.0";
src = fetchFromGitHub {
owner = "UltraStar-Deluxe";
repo = "USDX";
- rev = "3df142590f29db1505cc58746af9f8cf7cb4a6a5";
- sha256 = "EpwGKK9B8seF7gRwo3kCeSzFQQW1p8rP4HXeu8/LoyA=";
+ rev = "v${version}";
+ sha256 = "0vmfv8zpyf8ymx3rjydpd7iqis080lni94vb316vfxkgvjmqbhym";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ fpc libpng ] ++ sharedLibs;
+ patches = [
+ (fetchpatch {
+ name = "fpc-3.2-support.patch";
+ url = "https://github.com/UltraStar-Deluxe/USDX/commit/1b8e8714c1523ef49c2fd689a1545d097a3d76d7.patch";
+ sha256 = "02zmjymj9w1mkpf7armdpf067byvml6lprs1ca4lhpkv45abddp4";
+ })
+ ];
+
postPatch = ''
substituteInPlace src/config.inc.in \
--subst-var-by libpcre_LIBNAME libpcre.so.1
diff --git a/nixpkgs/pkgs/games/ut2004/wrapper.nix b/nixpkgs/pkgs/games/ut2004/wrapper.nix
index 31d0763be4d..0f70a07ca8f 100644
--- a/nixpkgs/pkgs/games/ut2004/wrapper.nix
+++ b/nixpkgs/pkgs/games/ut2004/wrapper.nix
@@ -27,7 +27,7 @@ let
desktopName = "Unreal Tournament 2004";
comment = "A first-person shooter video game developed by Epic Games and Digital Extreme";
genericName = "First-person shooter";
- categories = "Application;Game;";
+ categories = "Game;";
exec = "ut2004";
};
diff --git a/nixpkgs/pkgs/games/vassal/default.nix b/nixpkgs/pkgs/games/vassal/default.nix
index 55848d91fab..413d98d26ac 100644
--- a/nixpkgs/pkgs/games/vassal/default.nix
+++ b/nixpkgs/pkgs/games/vassal/default.nix
@@ -1,11 +1,11 @@
{ stdenv, fetchurl, jre, makeWrapper }:
stdenv.mkDerivation rec {
- name = "VASSAL-3.2.17";
+ name = "VASSAL-3.3.2";
src = fetchurl {
url = "mirror://sourceforge/vassalengine/${name}-linux.tar.bz2";
- sha256 = "0nxskr46janxnb31c03zv61kr46vy98l7cwxha3vll81l4ij1sjb";
+ sha256 = "1abhlkl27gyfa1lghvv76xa6ks5hiwv2s9wb9ddadm0m07f87n1w";
};
buildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/games/vdrift/default.nix b/nixpkgs/pkgs/games/vdrift/default.nix
index 99475af49e1..ea8b3941f8b 100644
--- a/nixpkgs/pkgs/games/vdrift/default.nix
+++ b/nixpkgs/pkgs/games/vdrift/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU, libGL, SDL2, SDL2_image
+{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, sconsPackages, libGLU, libGL, SDL2, SDL2_image
, libvorbis, bullet, curl, gettext, writeTextFile
, data ? fetchsvn {
@@ -20,7 +20,7 @@ let
sha256 = "001wq3c4n9wzxqfpq40b1jcl16sxbqv2zbkpy9rq2wf9h417q6hg";
};
- nativeBuildInputs = [ pkgconfig scons.py2 ];
+ nativeBuildInputs = [ pkgconfig sconsPackages.scons_3_1_2 ];
buildInputs = [ libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ];
patches = [ ./0001-Ignore-missing-data-for-installation.patch ];
diff --git a/nixpkgs/pkgs/games/vms-empire/default.nix b/nixpkgs/pkgs/games/vms-empire/default.nix
index d0920b0c68d..eb9108c32c9 100644
--- a/nixpkgs/pkgs/games/vms-empire/default.nix
+++ b/nixpkgs/pkgs/games/vms-empire/default.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, ncurses, xmlto }:
with stdenv.lib;
-stdenv.mkDerivation rec{
+stdenv.mkDerivation rec {
pname = "vms-empire";
version = "1.15";
diff --git a/nixpkgs/pkgs/games/wesnoth/default.nix b/nixpkgs/pkgs/games/wesnoth/default.nix
index 20ec0a978f5..ce375392041 100644
--- a/nixpkgs/pkgs/games/wesnoth/default.nix
+++ b/nixpkgs/pkgs/games/wesnoth/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf
, pango, gettext, boost, libvorbis, fribidi, dbus, libpng, pcre, openssl, icu
, Cocoa, Foundation
, enableTools ? false
@@ -6,11 +6,13 @@
stdenv.mkDerivation rec {
pname = "wesnoth";
- version = "1.14.11";
+ version = "1.14.13";
- src = fetchurl {
- url = "mirror://sourceforge/sourceforge/${pname}/${pname}-${version}.tar.bz2";
- sha256 = "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v";
+ src = fetchFromGitHub {
+ rev = version;
+ owner = "wesnoth";
+ repo = "wesnoth";
+ sha256 = "1ka07h4sgmbc24qbaz0pbryx0yk339l4jzg32hy01qdvl2n40w3h";
};
nativeBuildInputs = [ cmake pkgconfig ];
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
adventures.
'';
- homepage = "http://www.wesnoth.org/";
+ homepage = "https://www.wesnoth.org/";
license = licenses.gpl2;
maintainers = with maintainers; [ abbradar ];
platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/games/wyvern/cargo-lock.patch b/nixpkgs/pkgs/games/wyvern/cargo-lock.patch
new file mode 100644
index 00000000000..89b2517e26d
--- /dev/null
+++ b/nixpkgs/pkgs/games/wyvern/cargo-lock.patch
@@ -0,0 +1,2514 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..8be5b39
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,2508 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "adler32"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "aho-corasick"
++version = "0.6.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "argon2rs"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "arrayvec"
++version = "0.4.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "autocfg"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "backtrace"
++version = "0.3.34"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "backtrace-sys"
++version = "0.1.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bit-set"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bit-vec"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bitflags"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "blake2-rfc"
++version = "0.2.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "build_const"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "butlerd"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "reqwest 0.9.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "byteorder"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bytes"
++version = "0.4.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bzip2"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bzip2-sys"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "c2-chacha"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.38"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "clap"
++version = "2.33.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "clap-verbosity-flag"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "clicolors-control"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cloudabi"
++version = "0.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "confy"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "directories 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "console"
++version = "0.7.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clicolors-control 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "constant_time_eq"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cookie"
++version = "0.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cookie"
++version = "0.12.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cookie_store"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cookie 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "publicsuffix 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cookie_store"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "publicsuffix 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "crc"
++version = "1.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-deque"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-deque"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-epoch"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-queue"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "curl"
++version = "0.4.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "curl-sys 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "socket2 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "curl-sys"
++version = "0.4.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dialoguer"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "console 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "directories"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dtoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "eidolon"
++version = "1.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "butlerd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "human-panic 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "either"
++version = "1.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "encode_unicode"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "encoding_rs"
++version = "0.8.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.5.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "error-chain"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "failure"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "failure_derive"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide_c_api 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "fuchsia-cprng"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "fuchsia-zircon"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "fuchsia-zircon-sys"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "futf"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "futures"
++version = "0.1.28"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "futures-cpupool"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "gog"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cookie 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)",
++ "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "reqwest 0.9.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "select 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "user_agent 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "h2"
++version = "0.1.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "heck"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "html5ever"
++version = "0.23.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "markup5ever 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "http"
++version = "0.1.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "http-body"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "httparse"
++version = "1.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "human-panic"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "os_type 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "humantime"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hyper"
++version = "0.12.33"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hyper-tls"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "idna"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "indicatif"
++version = "0.10.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "console 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "inflate"
++version = "0.4.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "iovec"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "kernel32-sys"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "libc"
++version = "0.2.60"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "libflate"
++version = "0.1.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "libz-sys"
++version = "1.0.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "lock_api"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "lock_api"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "log"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mac"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "markup5ever"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string_cache 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "memchr"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "memoffset"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mime"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mime_guess"
++version = "2.0.0-alpha.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miniz_oxide_c_api"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mio"
++version = "0.6.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miow"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "native-tls"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "net2"
++version = "0.2.33"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "new_debug_unreachable"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "nodrop"
++version = "0.1.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "num-traits"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "number_prefix"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "openssl"
++version = "0.10.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.48 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.48"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "os_type"
++version = "2.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "owning_ref"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "parking_lot"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "parking_lot"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "parking_lot_core"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "parking_lot_core"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "phf"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_codegen"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "pkg-config"
++version = "0.3.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "podio"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "precomputed-hash"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "proc-macro2"
++version = "0.4.30"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "publicsuffix"
++version = "1.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "quote"
++version = "0.6.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.3.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.5.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rand_core"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "getrandom 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_isaac"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_jitter"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_os"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_xorshift"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rayon"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rayon-core"
++version = "1.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rdrand"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "redox_users"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf8-ranges 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.5.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ucd-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "reqwest"
++version = "0.9.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)",
++ "flate2 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rle-decode-fast"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "same-file"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "scoped_threadpool"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "scopeguard"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "scopeguard"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "security-framework"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "select"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "html5ever 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "serde"
++version = "1.0.98"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.98"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_urlencoded"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "siphasher"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "slab"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "smallvec"
++version = "0.6.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "socket2"
++version = "0.3.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "stable_deref_trait"
++version = "1.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "string"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "string_cache"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "string_cache_codegen"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "string_cache_shared"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "structopt"
++version = "0.2.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "structopt-derive"
++version = "0.2.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "syn"
++version = "0.15.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "synstructure"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "take_mut"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "tempdir"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tempfile"
++version = "2.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tendril"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futf 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "termcolor"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "termios"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "thread_local"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "time"
++version = "0.1.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio"
++version = "0.1.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-buf"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-current-thread"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-executor"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-io"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-reactor"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-sync"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-tcp"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-threadpool"
++version = "0.1.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tokio-timer"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "toml"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "try-lock"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "try_from"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ucd-util"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicase"
++version = "1.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicase"
++version = "2.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicode-width"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicode-xid"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "url"
++version = "1.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "user_agent"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cookie 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cookie_store 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "reqwest 0.9.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "utf-8"
++version = "0.7.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "utf8-ranges"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "uuid"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "uuid"
++version = "0.7.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "vcpkg"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "version_check"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "walkdir"
++version = "2.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "want"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-build"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "wincolor"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wincolor"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winreg"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ws2_32-sys"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wyvern"
++version = "1.4.1"
++dependencies = [
++ "clap-verbosity-flag 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "confy 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "console 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dialoguer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "eidolon 1.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "gog 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "human-panic 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "indicatif 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "inflate 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "reqwest 0.9.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zip 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "zip"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libflate 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[metadata]
++"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
++"checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
++"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++"checksum argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f67b0b6a86dae6e67ff4ca2b6201396074996379fba2b92ff649126f37cb392"
++"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
++"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"checksum autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "22130e92352b948e7e82a49cdb0aa94f2211761117f29e052dd397c1ac33542b"
++"checksum backtrace 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)" = "b5164d292487f037ece34ec0de2fcede2faa162f085dd96d2385ab81b12765ba"
++"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b"
++"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
++"checksum bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e84c238982c4b1e1ee668d136c510c67a13465279c0cb367ea6baf6310620a80"
++"checksum bit-vec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f59bbe95d4e52a6398ec21238d31577f2b28a9d86807f06ca59d191d8440d0bb"
++"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
++"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400"
++"checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
++"checksum butlerd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "095899eb6b69e0a1c98215e51a44c67b8e3c902ebb9440afaafe2eb45e650a09"
++"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
++"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
++"checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
++"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
++"checksum cc 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)" = "ce400c638d48ee0e9ab75aef7997609ec57367ccfe1463f21bf53c3eca67bf46"
++"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
++"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum clap-verbosity-flag 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bda14f5323b2b747f52908c5b7b8af7790784088bc7c2957a11695e39ad476dc"
++"checksum clicolors-control 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "73abfd4c73d003a674ce5d2933fca6ce6c42480ea84a5ffe0a2dc39ed56300f9"
++"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
++"checksum confy 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4b1400cd0dae7f27d2c7ced9492e1398d2e2df614570092a4936c73b416dedea"
++"checksum console 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)" = "8ca57c2c14b8a2bf3105bc9d15574aad80babf6a9c44b1058034cdf8bd169628"
++"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e"
++"checksum cookie 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "99be24cfcf40d56ed37fd11c2123be833959bbc5bddecb46e1c2e442e15fa3e0"
++"checksum cookie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "888604f00b3db336d2af898ec3c1d5d0ddf5e6d462220f2ededc33a87ac4bbd5"
++"checksum cookie_store 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b0d2f2ecb21dce00e2453268370312978af9b8024020c7a37ae2cc6dbbe64685"
++"checksum cookie_store 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46750b3f362965f197996c4448e4a0935e791bf7d6631bfce9ee0af3d24c919c"
++"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
++"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
++"checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
++"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
++"checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13"
++"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
++"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
++"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
++"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum curl 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)" = "f8ed9a22aa8c4e49ac0c896279ef532a43a7df2f54fcd19fa36960de029f965f"
++"checksum curl-sys 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "5e90ae10f635645cba9cad1023535f54915a95c58c44751c6ed70dbaeb17a408"
++"checksum dialoguer 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "116f66c4e7b19af0d52857aa4ff710cc3b4781d9c16616e31540bc55ec57ba8c"
++"checksum directories 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc2561db021b6f1321d0f16b67ed28ce843ef4610dfaa432e3ffa2e8a3050ebf"
++"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
++"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
++"checksum eidolon 1.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8a501eef266fdb28e1414b6104ca799a216bce6dc4ae1217ad0f40d591351671"
++"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
++"checksum encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd"
++"checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed"
++"checksum env_logger 0.5.13 (registry+https://github.com/rust-lang/crates.io-index)" = "15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38"
++"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
++"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
++"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
++"checksum flate2 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "550934ad4808d5d39365e5d61727309bf18b3b02c6c56b729cb92e7dd84bc3d8"
++"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
++"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
++"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
++"checksum futf 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b"
++"checksum futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "45dc39533a6cae6da2b56da48edae506bb767ec07370f86f70fc062e9d435869"
++"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
++"checksum getrandom 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8e190892c840661957ba9f32dacfb3eb405e657f9f9f60485605f0bb37d6f8"
++"checksum gog 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "19bfb6c45ea1fba86f5880b4f239ef8034230387d90a0dfea70e094caeabf0be"
++"checksum h2 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"
++"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
++"checksum html5ever 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5ce65ac8028cf5a287a7dbf6c4e0a6cf2dcf022ed5b167a81bae66ebf599a8b7"
++"checksum http 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "372bcb56f939e449117fb0869c2e8fd8753a8223d92a172c6e808cf123a5b6e4"
++"checksum http-body 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d"
++"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
++"checksum human-panic 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21638c5955a6daf3ecc42cae702335fc37a72a4abcc6959ce457b31a7d43bbdd"
++"checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114"
++"checksum hyper 0.12.33 (registry+https://github.com/rust-lang/crates.io-index)" = "7cb44cbce9d8ee4fb36e4c0ad7b794ac44ebaad924b9c8291a63215bb44c2c8f"
++"checksum hyper-tls 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f"
++"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
++"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
++"checksum indicatif 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)" = "40ecd1e2ee08e6c255ce890f5a99d17000850e664e7acf119fb03b25b0575bfe"
++"checksum inflate 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
++"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
++"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
++"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
++"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
++"checksum libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "d44e80633f007889c7eff624b709ab43c92d708caad982295768a7b13ca3b5eb"
++"checksum libflate 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "90c6f86f4b0caa347206f916f8b687b51d77c6ef8ff18d52dd007491fd580529"
++"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
++"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
++"checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc"
++"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++"checksum mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
++"checksum markup5ever 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f1af46a727284117e09780d05038b1ce6fc9c76cc6df183c3dae5a8955a25e21"
++"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
++"checksum mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425"
++"checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed"
++"checksum miniz_oxide 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c061edee74a88eb35d876ce88b94d77a0448a201de111c244b70d047f5820516"
++"checksum miniz_oxide_c_api 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6c675792957b0d19933816c4e1d56663c341dd9bfa31cb2140ff2267c1d8ecf4"
++"checksum mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)" = "83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23"
++"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
++"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
++"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
++"checksum new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f40f005c60db6e03bae699e414c58bf9aa7ea02a2d0b9bfbcf19286cc4c82b30"
++"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
++"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
++"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
++"checksum number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbf9993e59c894e3c08aa1c2712914e9e6bf1fcbfc6bef283e2183df345a4fee"
++"checksum openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)" = "8152bb5a9b5b721538462336e3bef9a539f892715e5037fda0f984577311af15"
++"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
++"checksum openssl-sys 0.9.48 (registry+https://github.com/rust-lang/crates.io-index)" = "b5ba300217253bcc5dc68bed23d782affa45000193866e025329aa8a7a9f05b8"
++"checksum os_type 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7edc011af0ae98b7f88cf7e4a83b70a54a75d2b8cb013d6efd02e5956207e9eb"
++"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
++"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
++"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
++"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
++"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
++"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
++"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
++"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
++"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
++"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
++"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af"
++"checksum podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd"
++"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
++"checksum precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
++"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
++"checksum publicsuffix 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5afecba86dcf1e4fd610246f89899d1924fe12e1e89f555eb7c7f710f3c5ad1d"
++"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
++"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
++"checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
++"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
++"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
++"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
++"checksum rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d47eab0e83d9693d40f825f86948aa16eff6750ead4bdffc4ab95b8b3a7f052c"
++"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
++"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
++"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
++"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
++"checksum rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "615e683324e75af5d43d8f7a39ffe3ee4a9dc42c5c701167a71dc59c3a493aca"
++"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
++"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
++"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
++"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
++"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
++"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
++"checksum rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4b0186e22767d5b9738a05eab7c6ac90b15db17e5b5f9bd87976dd7d89a10a4"
++"checksum rayon-core 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebbe0df8435ac0c397d467b6cad6d25543d06e8a019ef3f6af3c384597515bd2"
++"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
++"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
++"checksum redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe5204c3a17e97dde73f285d49be585df59ed84b50a872baf416e73b62c3828"
++"checksum regex 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384"
++"checksum regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88c3d9193984285d544df4a30c23a4e62ead42edf70a4452ceb76dac1ce05c26"
++"checksum regex-syntax 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7"
++"checksum regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b143cceb2ca5e56d5671988ef8b15615733e7ee16cd348e064333b251b89343f"
++"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++"checksum reqwest 0.9.19 (registry+https://github.com/rust-lang/crates.io-index)" = "1d0777154c2c3eb54f5c480db01de845652d941e47191277cc673634c3853939"
++"checksum rle-decode-fast 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac"
++"checksum rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f4dccf6f4891ebcc0c39f9b6eb1a83b9bf5d747cb439ec6fba4f3b977038af"
++"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997"
++"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
++"checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339"
++"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
++"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
++"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
++"checksum security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee63d0f4a9ec776eeb30e220f0bc1e092c3ad744b2a379e3993070364d3adc2"
++"checksum security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9636f8989cbf61385ae4824b98c1aaa54c994d7d8b41f11c601ed799f0549a56"
++"checksum select 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ac645958c62108d11f90f8d34e4dc2799c838fc995ed4c2075867a2a8d5be76b"
++"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
++"checksum serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)" = "7fe5626ac617da2f2d9c48af5515a21d5a480dbd151e01bb1c355e26a3e68113"
++"checksum serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)" = "01e69e1b8a631f245467ee275b8c757b818653c6d704cdbcaeb56b56767b529c"
++"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704"
++"checksum serde_urlencoded 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a"
++"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
++"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
++"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
++"checksum socket2 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)" = "df028e0e632c2a1823d920ad74895e7f9128e6438cbc4bc6fd1f180e644767b9"
++"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
++"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
++"checksum string_cache 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25d70109977172b127fe834e5449e5ab1740b9ba49fa18a2020f509174f25423"
++"checksum string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eea1eee654ef80933142157fdad9dd8bc43cf7c74e999e369263496f04ff4da"
++"checksum string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
++"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7"
++"checksum structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107"
++"checksum syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)" = "eadc09306ca51a40555dd6fc2b415538e9e18bc9f870e47b1a524a79fe2dcf5e"
++"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
++"checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
++"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
++"checksum tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0"
++"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
++"checksum tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b"
++"checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
++"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
++"checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625"
++"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
++"checksum tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6"
++"checksum tokio-buf 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46"
++"checksum tokio-current-thread 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "d16217cad7f1b840c5a97dfb3c43b0c871fef423a6e8d2118c604e843662a443"
++"checksum tokio-executor 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0f27ee0e6db01c5f0b2973824547ce7e637b2ed79b891a9677b0de9bd532b6ac"
++"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
++"checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce"
++"checksum tokio-sync 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2162248ff317e2bc713b261f242b69dbb838b85248ed20bb21df56d60ea4cae7"
++"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
++"checksum tokio-threadpool 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "90ca01319dea1e376a001e8dc192d42ebde6dd532532a5bad988ac37db365b19"
++"checksum tokio-timer 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "f2106812d500ed25a4f38235b9cae8f78a09edf43203e16e59c3b769a342a60e"
++"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
++"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
++"checksum try_from 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "283d3b89e1368717881a9d51dad843cc435380d8109c9e47d38780a324698d8b"
++"checksum ucd-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa9b3b49edd3468c0e6565d85783f51af95212b6fa3986a5500954f00b460874"
++"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
++"checksum unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a84e5511b2a947f3ae965dcb29b13b7b1691b6e7332cf5dbc1744138d5acb7f6"
++"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
++"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
++"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
++"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
++"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
++"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
++"checksum user_agent 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "970a778e2284bd68e55ca4e93b858da333cd85c3d5d8b4eab2c6e729cd6f47c4"
++"checksum utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7"
++"checksum utf8-ranges 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba"
++"checksum uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e1436e58182935dcd9ce0add9ea0b558e8a87befe01c1a301e6020aeb0876363"
++"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
++"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95"
++"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
++"checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e"
++"checksum want 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230"
++"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
++"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
++"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
++"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
++"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++"checksum wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
++"checksum wincolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba"
++"checksum winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
++"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
++"checksum zip 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c18fc320faf909036e46ac785ea827f72e485304877faf1a3a39538d3714dbc3"
diff --git a/nixpkgs/pkgs/games/wyvern/default.nix b/nixpkgs/pkgs/games/wyvern/default.nix
new file mode 100644
index 00000000000..4723a6c52fa
--- /dev/null
+++ b/nixpkgs/pkgs/games/wyvern/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, fetchgit
+, rustPlatform
+, unzip
+, rsync
+, innoextract
+, curl
+, cmake
+, pkgconfig
+, openssl
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "wyvern";
+ version = "1.4.1";
+
+ src = fetchgit {
+ url = "https://git.sr.ht/~nicohman/wyvern";
+ rev = "${version}";
+ sha256 = "1sl3yhash1527amc8rs4374fd7jbgnkyy7qpw94ms2gs80sdv3s5";
+ };
+ cargoPatches = [ ./cargo-lock.patch ];
+
+ cargoSha256 = "sha256:1nd5qla3p1jrssg5fqal8m3jcbxax0wsfc8cp97jdrpqlcgqfmrx";
+
+ nativeBuildInputs = [ cmake pkgconfig ];
+ buildInputs = [ openssl ];
+
+ meta = with stdenv.lib; {
+ description = "A simple CLI client for installing and maintaining linux GOG games";
+ homepage = "https://git.sr.ht/~nicohman/wyvern";
+ license = licenses.gpl3;
+ maintainers = with maintainers;[ _0x4A6F ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/nixpkgs/pkgs/games/xcowsay/default.nix b/nixpkgs/pkgs/games/xcowsay/default.nix
new file mode 100644
index 00000000000..dd95bf1e5a1
--- /dev/null
+++ b/nixpkgs/pkgs/games/xcowsay/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, makeWrapper, pkg-config
+, dbus, dbus-glib, gtk3, gdk-pixbuf, librsvg
+, fortune
+}:
+
+stdenv.mkDerivation rec {
+ pname = "xcowsay";
+ version = "1.5";
+
+ src = fetchurl {
+ url = "http://www.nickg.me.uk/files/xcowsay-${version}.tar.gz";
+ sha256 = "0pyaa062z1ag26dhkm1yzp2hivnlmhlpqn5xg7mx9r1m652mm91y";
+ };
+
+ buildInputs = [
+ dbus
+ dbus-glib
+ gtk3
+ gdk-pixbuf # loading cow images
+ librsvg # dreaming SVG images
+ ];
+ nativeBuildInputs = [ makeWrapper pkg-config ];
+
+ configureFlags = [ "--enable-dbus" ];
+
+ postInstall = ''
+ for tool in xcowdream xcowsay xcowthink xcowfortune; do
+ wrapProgram $out/bin/$tool \
+ --prefix PATH : $out/bin:${fortune}/bin
+ done
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "http://www.doof.me.uk/xcowsay";
+ description =
+ "A program based on cowsay that displays a cute cow and message on your desktop";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ das_j ];
+ };
+}
diff --git a/nixpkgs/pkgs/games/zandronum/default.nix b/nixpkgs/pkgs/games/zandronum/default.nix
index e7200ff22e9..bdafff99243 100644
--- a/nixpkgs/pkgs/games/zandronum/default.nix
+++ b/nixpkgs/pkgs/games/zandronum/default.nix
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
version = "3.0.1";
src = fetchhg {
- url = "https://bitbucket.org/Torr_Samaho/zandronum-stable";
+ url = "https://hg.osdn.net/view/zandronum/zandronum-stable";
rev = "ZA_${version}";
sha256 = "16v5b6wfrmabs3ky6isbfhlrqdjrr1pvfxlxwk0im02kcpxxw9qw";
};