diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index b7844da195d7..d212706e1713 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -485,10 +485,10 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os>
are specified as
lists of derivations given to mkDerivation, as
- documented in . In short,
- each list of dependencies for "host → target" of "foo → bar" is called
- depsFooBar, with exceptions for backwards
- compatibility that depsBuildHost is instead called
+ documented in . In short, each
+ list of dependencies for "host → target" of "foo → bar" is called
+ depsFooBar, with exceptions for backwards compatibility
+ that depsBuildHost is instead called
nativeBuildInputs and depsHostTarget
is instead called buildInputs. Nixpkgs is now structured
so that each depsFooBar is automatically taken from
@@ -507,9 +507,8 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os>
buildPackages, pkgs, and
targetPackages. Those are now redefined as aliases to
pkgsBuildHost, pkgsHostTarget, and
- pkgsTargetTarget. It is acceptable, even
- recommended, to use them for libraries to show that the host platform is
- irrelevant.
+ pkgsTargetTarget. It is acceptable, even recommended, to
+ use them for libraries to show that the host platform is irrelevant.
@@ -581,14 +580,15 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os>
pkgsHostTarget refers to the current one, and
pkgsTargetTarget refers to the next one. When there is
no previous or next stage, they instead refer to the current stage. Note
- how all the invariants regarding the mapping between dependency and depending
- packages' build host and target platforms are preserved.
+ how all the invariants regarding the mapping between dependency and
+ depending packages' build host and target platforms are preserved.
pkgsBuildTarget and pkgsHostHost are
more complex in that the stage fitting the requirements isn't always a
fixed chain of "prevs" and "nexts" away (modulo the "saturating"
- self-references at the ends). We just special case each instead. All the primary
- edges are implemented is in pkgs/stdenv/booter.nix,
- and secondarily aliases in pkgs/top-level/stage.nix.
+ self-references at the ends). We just special case each instead. All the
+ primary edges are implemented is in
+ pkgs/stdenv/booter.nix, and secondarily aliases in
+ pkgs/top-level/stage.nix.
@@ -645,19 +645,19 @@ nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os>
"infinite recursions" / cycles. When only package sets that don't mention
target are used, the package set forms a directed acyclic graph. This
means that all cycles that exist are confined to one stage. This means
- they are a lot smaller, and easier to follow in the code or a backtrace. It
- also means they are present in native and cross builds alike, and so more
- likely to be caught by CI and other users.
+ they are a lot smaller, and easier to follow in the code or a backtrace.
+ It also means they are present in native and cross builds alike, and so
+ more likely to be caught by CI and other users.
Thirdly, it is because everything target-mentioning only exists to
accommodate compilers with lousy build systems that insist on the compiler
itself and standard library being built together. Of course that is bad
- because bigger derivations means longer rebuilds. It is also problematic because
- it tends to make the standard libraries less like other libraries than
- they could be, complicating code and build systems alike. Because of the
- other problems, and because of these innate disadvantages, compilers ought
- to be packaged another way where possible.
+ because bigger derivations means longer rebuilds. It is also problematic
+ because it tends to make the standard libraries less like other libraries
+ than they could be, complicating code and build systems alike. Because of
+ the other problems, and because of these innate disadvantages, compilers
+ ought to be packaged another way where possible.
diff --git a/doc/functions/dockertools.xml b/doc/functions/dockertools.xml
index a284182bb047..6b293a2e7787 100644
--- a/doc/functions/dockertools.xml
+++ b/doc/functions/dockertools.xml
@@ -325,10 +325,9 @@ hello latest de2bf4786de6 About a minute ago 25.2MB
- Shell commands to run while building the final layer, without access
- to most of the layer contents. Changes to this layer are "on top"
- of all the other layers, so can create additional directories
- and files.
+ Shell commands to run while building the final layer, without access to
+ most of the layer contents. Changes to this layer are "on top" of all the
+ other layers, so can create additional directories and files.
@@ -493,28 +492,23 @@ pullImage {
- nix-prefetch-docker command can be used to get required
- image parameters:
-
+ nix-prefetch-docker command can be used to get required
+ image parameters:
$ nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5
-
- Since a given imageName may transparently refer to a
- manifest list of images which support multiple architectures and/or
- operating systems, you can supply the and
- arguments to specify exactly which image you want.
- By default it will match the OS and architecture of the host the command is
- run on.
-
+ Since a given imageName may transparently refer to a
+ manifest list of images which support multiple architectures and/or
+ operating systems, you can supply the and
+ arguments to specify exactly which image you want.
+ By default it will match the OS and architecture of the host the command is
+ run on.
$ nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux
-
- Desired image name and tag can be set using
- and
- arguments:
-
+ Desired image name and tag can be set using
+ and
+ arguments:
$ nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod
diff --git a/doc/functions/ocitools.xml b/doc/functions/ocitools.xml
index 163bee2382e6..56de0c22ec61 100644
--- a/doc/functions/ocitools.xml
+++ b/doc/functions/ocitools.xml
@@ -51,10 +51,10 @@ buildContainer {
- args specifies a set of arguments to run inside the container.
- This is the only required argument for buildContainer.
- All referenced packages inside the derivation will be made available
- inside the container
+ args specifies a set of arguments to run inside the
+ container. This is the only required argument for
+ buildContainer. All referenced packages inside the
+ derivation will be made available inside the container
@@ -66,8 +66,8 @@ buildContainer {
- readonly makes the container's rootfs read-only if it is set to true.
- The default value is false false.
+ readonly makes the container's rootfs read-only if it
+ is set to true. The default value is false false.
diff --git a/doc/languages-frameworks/gnome.xml b/doc/languages-frameworks/gnome.xml
index 8b3151d5bf94..290057863b24 100644
--- a/doc/languages-frameworks/gnome.xml
+++ b/doc/languages-frameworks/gnome.xml
@@ -5,26 +5,53 @@
Packaging GNOME applications
- Programs in the GNOME universe are written in various languages but they all use GObject-based libraries like GLib, GTK or GStreamer. These libraries are often modular, relying on looking into certain directories to find their modules. However, due to Nix’s specific file system organization, this will fail without our intervention. Fortunately, the libraries usually allow overriding the directories through environment variables, either natively or thanks to a patch in nixpkgs. Wrapping the executables to ensure correct paths are available to the application constitutes a significant part of packaging a modern desktop application. In this section, we will describe various modules needed by such applications, environment variables needed to make the modules load, and finally a script that will do the work for us.
+ Programs in the GNOME universe are written in various languages but they all
+ use GObject-based libraries like GLib, GTK or GStreamer. These libraries are
+ often modular, relying on looking into certain directories to find their
+ modules. However, due to Nix’s specific file system organization, this
+ will fail without our intervention. Fortunately, the libraries usually allow
+ overriding the directories through environment variables, either natively or
+ thanks to a patch in nixpkgs.
+ Wrapping the executables to
+ ensure correct paths are available to the application constitutes a
+ significant part of packaging a modern desktop application. In this section,
+ we will describe various modules needed by such applications, environment
+ variables needed to make the modules load, and finally a script that will do
+ the work for us.
Settings
- GSettings API is often used for storing settings. GSettings schemas are required, to know the type and other metadata of the stored values. GLib looks for glib-2.0/schemas/gschemas.compiled files inside the directories of XDG_DATA_DIRS.
+ GSettings
+ API is often used for storing settings. GSettings schemas are required, to
+ know the type and other metadata of the stored values. GLib looks for
+ glib-2.0/schemas/gschemas.compiled files inside the
+ directories of XDG_DATA_DIRS.
- On Linux, GSettings API is implemented using dconf backend. You will need to add dconf GIO module to GIO_EXTRA_MODULES variable, otherwise the memory backend will be used and the saved settings will not be persistent.
+ On Linux, GSettings API is implemented using
+ dconf
+ backend. You will need to add dconf GIO module to
+ GIO_EXTRA_MODULES variable, otherwise the
+ memory backend will be used and the saved settings will
+ not be persistent.
- Last you will need the dconf database D-Bus service itself. You can enable it using .
+ Last you will need the dconf database D-Bus service itself. You can enable
+ it using .
- Some applications will also require gsettings-desktop-schemas for things like reading proxy configuration or user interface customization. This dependency is often not mentioned by upstream, you should grep for org.gnome.desktop and org.gnome.system to see if the schemas are needed.
+ Some applications will also require
+ gsettings-desktop-schemas for things like reading proxy
+ configuration or user interface customization. This dependency is often not
+ mentioned by upstream, you should grep for
+ org.gnome.desktop and
+ org.gnome.system to see if the schemas are needed.
@@ -32,7 +59,16 @@
Icons
- When an application uses icons, an icon theme should be available in XDG_DATA_DIRS. The package for the default, icon-less hicolor-icon-theme contains a setup hook that will pick up icon themes from buildInputs and pass it to our wrapper. Unfortunately, relying on that would mean every user has to download the theme included in the package expression no matter their preference. For that reason, we leave the installation of icon theme on the user. If you use one of the desktop environments, you probably already have an icon theme installed.
+ When an application uses icons, an icon theme should be available in
+ XDG_DATA_DIRS. The package for the default, icon-less
+ hicolor-icon-theme
+ contains a setup
+ hook that will pick up icon themes from
+ buildInputs and pass it to our wrapper. Unfortunately,
+ relying on that would mean every user has to download the theme included in
+ the package expression no matter their preference. For that reason, we
+ leave the installation of icon theme on the user. If you use one of the
+ desktop environments, you probably already have an icon theme installed.
@@ -40,7 +76,12 @@
GTK Themes
- Previously, a GTK theme needed to be in XDG_DATA_DIRS. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for elementary HIG) might require a special theme like pantheon.elementary-gtk-theme.
+ Previously, a GTK theme needed to be in XDG_DATA_DIRS. This
+ is no longer necessary for most programs since GTK incorporated Adwaita
+ theme. Some programs (for example, those designed for
+ elementary
+ HIG) might require a special theme like
+ pantheon.elementary-gtk-theme.
@@ -48,7 +89,10 @@
GObject introspection typelibs
- GObject introspection allows applications to use C libraries in other languages easily. It does this through typelib files searched in GI_TYPELIB_PATH.
+ GObject
+ introspection allows applications to use C libraries in other
+ languages easily. It does this through typelib files
+ searched in GI_TYPELIB_PATH.
@@ -56,7 +100,11 @@
Various plug-ins
- If your application uses GStreamer or Grilo, you should set GST_PLUGIN_SYSTEM_PATH_1_0 and GRL_PLUGIN_PATH, respectively.
+ If your application uses
+ GStreamer or
+ Grilo, you
+ should set GST_PLUGIN_SYSTEM_PATH_1_0 and
+ GRL_PLUGIN_PATH, respectively.
@@ -65,7 +113,8 @@
Onto wrapGAppsHook
- Given the requirements above, the package expression would become messy quickly:
+ Given the requirements above, the package expression would become messy
+ quickly:
preFixup = ''
for f in $(find $out/bin/ $out/libexec/ -type f -executable); do
@@ -79,48 +128,76 @@ preFixup = ''
done
'';
- Fortunately, there is wrapGAppsHook, that does the wrapping for us. In particular, it works in conjunction with other setup hooks that will populate the variable:
+ Fortunately, there is wrapGAppsHook, that does the
+ wrapping for us. In particular, it works in conjunction with other setup
+ hooks that will populate the variable:
- wrapGAppsHook itself will add the package’s share directory to XDG_DATA_DIRS.
+ wrapGAppsHook itself will add the package’s
+ share directory to XDG_DATA_DIRS.
- glib setup hook will populate GSETTINGS_SCHEMAS_PATH and then wrapGAppsHook will prepend it to XDG_DATA_DIRS.
+ glib setup hook will populate
+ GSETTINGS_SCHEMAS_PATH and then
+ wrapGAppsHook will prepend it to
+ XDG_DATA_DIRS.
- gnome3.dconf.lib is a dependency of wrapGAppsHook, which then also adds it to the GIO_EXTRA_MODULES variable.
+ gnome3.dconf.lib is a dependency of
+ wrapGAppsHook, which then also adds it to the
+ GIO_EXTRA_MODULES variable.
- hicolor-icon-theme’s setup hook will add icon themes to XDG_ICON_DIRS which is prepended to XDG_DATA_DIRS by wrapGAppsHook.
+ hicolor-icon-theme’s setup hook will add icon themes
+ to XDG_ICON_DIRS which is prepended to
+ XDG_DATA_DIRS by wrapGAppsHook.
- gobject-introspection setup hook populates GI_TYPELIB_PATH variable with lib/girepository-1.0 directories of dependencies, which is then added to wrapper by wrapGAppsHook. It also adds share directories of dependencies to XDG_DATA_DIRS, which is intended to promote GIR files but it also pollutes the closures of packages using wrapGAppsHook.
+ gobject-introspection setup hook populates
+ GI_TYPELIB_PATH variable with
+ lib/girepository-1.0 directories of dependencies,
+ which is then added to wrapper by wrapGAppsHook. It
+ also adds share directories of dependencies to
+ XDG_DATA_DIRS, which is intended to promote GIR files but
+ it also
+ pollutes
+ the closures of packages using wrapGAppsHook.
- The setup hook currently does not work in expressions with strictDeps enabled, like Python packages. In those cases, you will need to disable it with strictDeps = false;
.
+ The setup hook
+ currently
+ does not work in expressions with strictDeps enabled,
+ like Python packages. In those cases, you will need to disable it with
+ strictDeps = false;
.
- Setup hooks of gst_all_1.gstreamer and gnome3.grilo will populate the GST_PLUGIN_SYSTEM_PATH_1_0 and GRL_PLUGIN_PATH variables, respectively, which will then be added to the wrapper by wrapGAppsHook.
+ Setup hooks of gst_all_1.gstreamer and
+ gnome3.grilo will populate the
+ GST_PLUGIN_SYSTEM_PATH_1_0 and
+ GRL_PLUGIN_PATH variables, respectively, which will then
+ be added to the wrapper by wrapGAppsHook.
- You can also pass additional arguments to makeWrapper using gappsWrapperArgs in preFixup hook:
+ You can also pass additional arguments to makeWrapper
+ using gappsWrapperArgs in preFixup
+ hook:
preFixup = ''
gappsWrapperArgs+=(
@@ -138,7 +215,13 @@ preFixup = ''
Updating GNOME packages
- Most GNOME package offer updateScript, it is therefore possible to update to latest source tarball by running nix-shell maintainers/scripts/update.nix --argstr package gnome3.nautilus or even en masse with nix-shell maintainers/scripts/update.nix --argstr path gnome3. Read the package’s NEWS file to see what changed.
+ Most GNOME package offer
+ updateScript,
+ it is therefore possible to update to latest source tarball by running
+ nix-shell maintainers/scripts/update.nix --argstr package
+ gnome3.nautilus or even en masse with nix-shell
+ maintainers/scripts/update.nix --argstr path gnome3. Read the
+ package’s NEWS file to see what changed.
@@ -152,7 +235,17 @@ preFixup = ''
- There are no schemas avalable in XDG_DATA_DIRS. Temporarily add a random package containing schemas like gsettings-desktop-schemas to buildInputs. glib and wrapGAppsHook setup hooks will take care of making the schemas available to application and you will see the actual missing schemas with the next error. Or you can try looking through the source code for the actual schemas used.
+ There are no schemas avalable in XDG_DATA_DIRS.
+ Temporarily add a random package containing schemas like
+ gsettings-desktop-schemas to
+ buildInputs.
+ glib and
+ wrapGAppsHook
+ setup hooks will take care of making the schemas available to application
+ and you will see the actual missing schemas with the
+ next
+ error. Or you can try looking through the source code for the
+ actual schemas used.
@@ -162,7 +255,11 @@ preFixup = ''
- Package is missing some GSettings schemas. You can find out the package containing the schema with nix-locate org.gnome.foo.gschema.xml and let the hooks handle the wrapping as above.
+ Package is missing some GSettings schemas. You can find out the package
+ containing the schema with nix-locate
+ org.gnome.foo.gschema.xml and let
+ the hooks handle the wrapping as
+ above.
@@ -172,7 +269,14 @@ preFixup = ''
- This is because derivers like python.pkgs.buildPythonApplication or qt5.mkDerivation have setup-hooks automatically added that produce wrappers with makeWrapper. The simplest way to workaround that is to disable the wrapGAppsHook automatic wrapping with dontWrapGApps = true;
and pass the arguments it intended to pass to makeWrapper to another.
+ This is because derivers like
+ python.pkgs.buildPythonApplication or
+ qt5.mkDerivation have setup-hooks automatically
+ added that produce wrappers with makeWrapper. The
+ simplest way to workaround that is to disable the
+ wrapGAppsHook automatic wrapping with
+ dontWrapGApps = true;
and pass the arguments it intended to
+ pass to makeWrapper to another.
In the case of a Python application it could look like:
@@ -224,34 +328,55 @@ mkDerivation {
- You can rely on applications depending on the library set the necessary environment variables but that it often easy to miss. Instead we recommend to patch the paths in the source code whenever possible. Here are some examples:
+ You can rely on applications depending on the library set the necessary
+ environment variables but that it often easy to miss. Instead we
+ recommend to patch the paths in the source code whenever possible. Here
+ are some examples:
- Replacing a GI_TYPELIB_PATH in GNOME Shell extension – we are using substituteAll to include the path to a typelib into a patch.
+ Replacing
+ a GI_TYPELIB_PATH in GNOME Shell extension –
+ we are using substituteAll to include the path to
+ a typelib into a patch.
- The following examples are hardcoding GSettings schema paths. To get the schema paths we use the functions
+ The following examples are hardcoding GSettings schema paths. To get
+ the schema paths we use the functions
- glib.getSchemaPath Takes a nix package attribute as an argument.
+ glib.getSchemaPath Takes a nix package
+ attribute as an argument.
- glib.makeSchemaPath Takes a package output like $out and a derivation name. You should use this if the schemas you need to hardcode are in the same derivation.
+ glib.makeSchemaPath Takes a package output
+ like $out and a derivation name. You should use
+ this if the schemas you need to hardcode are in the same
+ derivation.
- Hard-coding GSettings schema path in Vala plug-in (dynamically loaded library) – here, substituteAll cannot be used since the schema comes from the same package preventing us from pass its path to the function, probably due to a Nix bug.
+ Hard-coding
+ GSettings schema path in Vala plug-in (dynamically loaded
+ library) – here, substituteAll cannot be
+ used since the schema comes from the same package preventing us from
+ pass its path to the function, probably due to a
+ Nix
+ bug.
- Hard-coding GSettings schema path in C library – nothing special other than using Coccinelle patch to generate the patch itself.
+ Hard-coding
+ GSettings schema path in C library – nothing special other
+ than using
+ Coccinelle
+ patch to generate the patch itself.
diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml
index 065212a0e180..d5911cf67fd7 100644
--- a/doc/languages-frameworks/perl.xml
+++ b/doc/languages-frameworks/perl.xml
@@ -141,8 +141,8 @@ ClassC3Componentised = buildPerlPackage rec {
On Darwin, if a script has too many
-Idir flags in its first line
- (its “shebang line”), it will not run. This can be worked around by calling
- the shortenPerlShebang function from the
+ (its “shebang line”), it will not run. This can be worked around by
+ calling the shortenPerlShebang function from the
postInstall phase:
{ stdenv, buildPerlPackage, fetchurl, shortenPerlShebang }:
@@ -162,10 +162,10 @@ ImageExifTool = buildPerlPackage {
'';
};
- This will remove the -I flags from the shebang line,
- rewrite them in the use lib form, and put them on the next
- line instead. This function can be given any number of Perl scripts as
- arguments; it will modify them in-place.
+ This will remove the -I flags from the shebang line,
+ rewrite them in the use lib form, and put them on the next
+ line instead. This function can be given any number of Perl scripts as
+ arguments; it will modify them in-place.
diff --git a/doc/languages-frameworks/qt.xml b/doc/languages-frameworks/qt.xml
index 3332ce8c06e4..d6f3314ab08d 100644
--- a/doc/languages-frameworks/qt.xml
+++ b/doc/languages-frameworks/qt.xml
@@ -4,16 +4,16 @@
Qt
- This section describes the differences between Nix expressions for Qt
- libraries and applications and Nix expressions for other C++ software. Some
- knowledge of the latter is assumed. There are primarily two problems which
- the Qt infrastructure is designed to address: ensuring consistent versioning
- of all dependencies and finding dependencies at runtime.
+ This section describes the differences between Nix expressions for Qt
+ libraries and applications and Nix expressions for other C++ software. Some
+ knowledge of the latter is assumed. There are primarily two problems which
+ the Qt infrastructure is designed to address: ensuring consistent versioning
+ of all dependencies and finding dependencies at runtime.
- Nix expression for a Qt package (default.nix)
-
+ Nix expression for a Qt package (default.nix)
+
{ mkDerivation, lib, qtbase }:
mkDerivation {
@@ -26,53 +26,51 @@ mkDerivation {
-
-
- Import mkDerivation and Qt (such as
- qtbase modules directly. Do not
- import Qt package sets; the Qt versions of dependencies may not be
- coherent, causing build and runtime failures.
-
-
-
-
- Use mkDerivation instead of
- stdenv.mkDerivation. mkDerivation
- is a wrapper around stdenv.mkDerivation which
- applies some Qt-specific settings.
- This deriver accepts the same arguments as
- stdenv.mkDerivation; refer to
- for details.
-
-
- To use another deriver instead of
- stdenv.mkDerivation, use
- mkDerivationWith:
+
+
+ Import mkDerivation and Qt (such as
+ qtbase modules directly. Do not
+ import Qt package sets; the Qt versions of dependencies may not be
+ coherent, causing build and runtime failures.
+
+
+
+
+ Use mkDerivation instead of
+ stdenv.mkDerivation. mkDerivation is
+ a wrapper around stdenv.mkDerivation which applies some
+ Qt-specific settings. This deriver accepts the same arguments as
+ stdenv.mkDerivation; refer to
+ for details.
+
+
+ To use another deriver instead of stdenv.mkDerivation,
+ use mkDerivationWith:
mkDerivationWith myDeriver {
# ...
}
- If you cannot use mkDerivationWith, please refer to
- .
-
-
-
-
- mkDerivation accepts the same arguments as
- stdenv.mkDerivation, such as
- buildInputs.
-
-
+ If you cannot use mkDerivationWith, please refer to
+ .
+
+
+
+
+ mkDerivation accepts the same arguments as
+ stdenv.mkDerivation, such as
+ buildInputs.
+
+
- Locating runtime dependencies
-
- Qt applications need to be wrapped to find runtime dependencies. If you
- cannot use mkDerivation or
- mkDerivationWith above, include
- wrapQtAppsHook in nativeBuildInputs:
+ Locating runtime dependencies
+
+ Qt applications need to be wrapped to find runtime dependencies. If you
+ cannot use mkDerivation or
+ mkDerivationWith above, include
+ wrapQtAppsHook in nativeBuildInputs:
stdenv.mkDerivation {
# ...
@@ -80,13 +78,13 @@ stdenv.mkDerivation {
nativeBuildInputs = [ wrapQtAppsHook ];
}
-
+
- Entries added to qtWrapperArgs are used to modify the
- wrappers created by wrapQtAppsHook. The entries are
- passed as arguments to .
+ Entries added to qtWrapperArgs are used to modify the
+ wrappers created by wrapQtAppsHook. The entries are passed
+ as arguments to .
mkDerivation {
# ...
@@ -97,8 +95,8 @@ mkDerivation {
- Set dontWrapQtApps to stop applications from being
- wrapped automatically. It is required to wrap applications manually with
+ Set dontWrapQtApps to stop applications from being wrapped
+ automatically. It is required to wrap applications manually with
wrapQtApp, using the syntax of
:
@@ -115,16 +113,17 @@ mkDerivation {
- wrapQtAppsHook ignores files that are non-ELF executables.
- This means that scripts won't be automatically wrapped so you'll need to manually
- wrap them as previously mentioned. An example of when you'd always need to do this
- is with Python applications that use PyQT.
+ wrapQtAppsHook ignores files that are non-ELF
+ executables. This means that scripts won't be automatically wrapped so
+ you'll need to manually wrap them as previously mentioned. An example of
+ when you'd always need to do this is with Python applications that use PyQT.
- Libraries are built with every available version of Qt. Use the meta.broken
- attribute to disable the package for unsupported Qt versions:
+ Libraries are built with every available version of Qt. Use the
+ meta.broken attribute to disable the package for
+ unsupported Qt versions:
mkDerivation {
# ...
@@ -136,13 +135,13 @@ mkDerivation {
- Adding a library to Nixpkgs
-
- Add a Qt library to all-packages.nix by adding it to the
- collection inside mkLibsForQt5. This ensures that the
- library is built with every available version of Qt as needed.
-
- Adding a Qt library to all-packages.nix
+ Adding a library to Nixpkgs
+
+ Add a Qt library to all-packages.nix by adding it to
+ the collection inside mkLibsForQt5. This ensures that the
+ library is built with every available version of Qt as needed.
+
+ Adding a Qt library to all-packages.nix
{
# ...
@@ -156,19 +155,19 @@ mkDerivation {
# ...
}
-
-
+
+
- Adding an application to Nixpkgs
-
- Add a Qt application to all-packages.nix using
- libsForQt5.callPackage instead of the usual
- callPackage. The former ensures that all dependencies
- are built with the same version of Qt.
-
- Adding a Qt application to all-packages.nix
+ Adding an application to Nixpkgs
+
+ Add a Qt application to all-packages.nix using
+ libsForQt5.callPackage instead of the usual
+ callPackage. The former ensures that all dependencies are
+ built with the same version of Qt.
+
+ Adding a Qt application to all-packages.nix
{
# ...
@@ -178,8 +177,7 @@ mkDerivation {
# ...
}
-
-
+
+
-
diff --git a/doc/meta.xml b/doc/meta.xml
index 58c390a68b84..49db73ab79e6 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -156,9 +156,9 @@ hello-2.3 A program that produces a familiar, friendly greeting
- A link or a list of links to the location of Changelog for a package.
- A link may use expansion to refer to the correct changelog version.
- Example:
+ A link or a list of links to the location of Changelog for a package. A
+ link may use expansion to refer to the correct changelog version.
+ Example:
"https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}"
@@ -273,8 +273,8 @@ meta.platforms = stdenv.lib.platforms.linux;
This attribute is special in that it is not actually under the
meta attribute set but rather under the
passthru attribute set. This is due to how
- meta attributes work, and the fact that they
- are supposed to contain only metadata, not derivations.
+ meta attributes work, and the fact that they are
+ supposed to contain only metadata, not derivations.
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index d2c660e22a9b..ef3c2a7c848a 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -311,7 +311,8 @@ packageOverrides = pkgs: {
Elm
- To start a development environment do nix-shell -p elmPackages.elm elmPackages.elm-format
+ To start a development environment do nix-shell -p elmPackages.elm
+ elmPackages.elm-format
@@ -506,10 +507,11 @@ stdenv.mkDerivation {
The IBus engine is based on hunspell to support
completion in many languages. By default the dictionaries
- de-de, en-us, fr-moderne
- es-es, it-it,
- sv-se and sv-fi are in use. To add
- another dictionary, the package can be overridden like this:
+ de-de, en-us,
+ fr-moderne es-es,
+ it-it, sv-se and
+ sv-fi are in use. To add another dictionary, the package
+ can be overridden like this:
ibus-engines.typing-booster.override {
langs = [ "de-at" "en-gb" ];
}
@@ -543,47 +545,45 @@ stdenv.mkDerivation {
Nginx
- Nginx is a
- reverse proxy and lightweight webserver.
+ Nginx is a reverse proxy and
+ lightweight webserver.
ETags on static files served from the Nix store
- HTTP has a couple different mechanisms for caching to prevent
- clients from having to download the same content repeatedly
- if a resource has not changed since the last time it was requested.
- When nginx is used as a server for static files, it implements
- the caching mechanism based on the
- Last-Modified
- response header automatically; unfortunately, it works by using
- filesystem timestamps to determine the value of the
- Last-Modified header. This doesn't give the
- desired behavior when the file is in the Nix store, because all
- file timestamps are set to 0 (for reasons related to build
- reproducibility).
+ HTTP has a couple different mechanisms for caching to prevent clients from
+ having to download the same content repeatedly if a resource has not
+ changed since the last time it was requested. When nginx is used as a
+ server for static files, it implements the caching mechanism based on the
+ Last-Modified
+ response header automatically; unfortunately, it works by using filesystem
+ timestamps to determine the value of the Last-Modified
+ header. This doesn't give the desired behavior when the file is in the Nix
+ store, because all file timestamps are set to 0 (for reasons related to
+ build reproducibility).
- Fortunately, HTTP supports an alternative (and more effective)
- caching mechanism: the
+ Fortunately, HTTP supports an alternative (and more effective) caching
+ mechanism: the
ETag
- response header. The value of the ETag header
- specifies some identifier for the particular content that the
- server is sending (e.g. a hash). When a client makes a second
- request for the same resource, it sends that value back in an
- If-None-Match header. If the ETag value is
- unchanged, then the server does not need to resend the content.
+ response header. The value of the ETag header specifies
+ some identifier for the particular content that the server is sending (e.g.
+ a hash). When a client makes a second request for the same resource, it
+ sends that value back in an If-None-Match header. If the
+ ETag value is unchanged, then the server does not need to resend the
+ content.
- As of NixOS 19.09, the nginx package in Nixpkgs is patched such
- that when nginx serves a file out of /nix/store,
- the hash in the store path is used as the ETag
- header in the HTTP response, thus providing proper caching functionality.
- This happens automatically; you do not need to do modify any
- configuration to get this behavior.
+ As of NixOS 19.09, the nginx package in Nixpkgs is patched such that when
+ nginx serves a file out of /nix/store, the hash in the
+ store path is used as the ETag header in the HTTP
+ response, thus providing proper caching functionality. This happens
+ automatically; you do not need to do modify any configuration to get this
+ behavior.
diff --git a/doc/package-specific-user-notes.xml b/doc/package-specific-user-notes.xml
index ef23b022c887..09af69bb15d8 100644
--- a/doc/package-specific-user-notes.xml
+++ b/doc/package-specific-user-notes.xml
@@ -1,14 +1,10 @@
Package-specific usage notes
- These chapters includes some notes
- that apply to specific packages and should
- answer some of the frequently asked questions
- related to Nixpkgs use.
-
- Some useful information related to package use
- can be found in package-specific development notes.
-
+ These chapters includes some notes that apply to specific packages and should
+ answer some of the frequently asked questions related to Nixpkgs use. Some
+ useful information related to package use can be found in
+ package-specific development notes.
OpenGL
@@ -47,7 +43,6 @@
locales of the package.
-
Emacs
@@ -204,46 +199,43 @@ overrides = self: super: rec {
-
DLib
- DLib is a modern, C++-based toolkit which
- provides several machine learning algorithms.
+ DLib is a modern, C++-based
+ toolkit which provides several machine learning algorithms.
Compiling without AVX support
- Especially older CPUs don't support
- AVX
- (Advanced Vector Extensions) instructions that are used by DLib to
- optimize their algorithms.
+ Especially older CPUs don't support
+ AVX
+ (Advanced Vector Extensions) instructions that are used by
+ DLib to optimize their algorithms.
- On the affected hardware errors like Illegal instruction will occur.
- In those cases AVX support needs to be disabled:
+ On the affected hardware errors like Illegal instruction
+ will occur. In those cases AVX support needs to be disabled:
self: super: {
dlib = super.dlib.override { avxSupport = false; };
}
-
Unfree software
All users of Nixpkgs are free software users, and many users (and
developers) of Nixpkgs want to limit and tightly control their exposure to
- unfree software. At the same time, many users need (or want)
- to run some specific
- pieces of proprietary software. Nixpkgs includes some expressions for unfree
- software packages. By default unfree software cannot be installed and
- doesn’t show up in searches. To allow installing unfree software in a
+ unfree software. At the same time, many users need (or want) to run some
+ specific pieces of proprietary software. Nixpkgs includes some expressions
+ for unfree software packages. By default unfree software cannot be installed
+ and doesn’t show up in searches. To allow installing unfree software in a
single Nix invocation one can export
NIXPKGS_ALLOW_UNFREE=1. For a persistent solution, users
can set allowUnfree in the Nixpkgs configuration.
@@ -256,7 +248,6 @@ overrides = self: super: rec {
true for unfree packages that should be allowed.
-
Steam
@@ -407,21 +398,24 @@ overrides = self: super: rec {
-
Citrix Receiver & Citrix Workspace App
- Please note that the citrix_receiver package has been deprecated since its
- development was discontinued by upstream
- and has been replaced by the citrix workspace app.
+ Please note that the citrix_receiver package has been
+ deprecated since its development was
+ discontinued
+ by upstream and has been replaced by
+ the
+ citrix workspace app.
- Citrix Receiver and
- Citrix Workspace App
- are a remote desktop viewers which provide access to
+ Citrix
+ Receiver and
+ Citrix
+ Workspace App are a remote desktop viewers which provide access to
XenDesktop
installations.
@@ -432,24 +426,24 @@ overrides = self: super: rec {
The tarball archive needs to be downloaded manually as the license
agreements of the vendor for
- Citrix Receiver
- or Citrix Workspace
- need to be accepted first.
- Then run nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz.
- With the archive available
- in the store the package can be built and installed with Nix.
+ Citrix
+ Receiver or
+ Citrix
+ Workspace need to be accepted first. Then run
+ nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz.
+ With the archive available in the store the package can be built and
+ installed with Nix.
Caution with nix-shell installs
- It's recommended to install Citrix Receiver
- and/or Citrix Workspace using
- nix-env -i or globally to
- ensure that the .desktop files are installed properly
- into $XDG_CONFIG_DIRS. Otherwise it won't be possible to
- open .ica files automatically from the browser to start
- a Citrix connection.
+ It's recommended to install Citrix Receiver and/or
+ Citrix Workspace using nix-env -i or
+ globally to ensure that the .desktop files are
+ installed properly into $XDG_CONFIG_DIRS. Otherwise it
+ won't be possible to open .ica files automatically from
+ the browser to start a Citrix connection.
@@ -458,8 +452,8 @@ overrides = self: super: rec {
Custom certificates
- The Citrix Workspace App
- in nixpkgs trust several certificates
+ The Citrix Workspace App in nixpkgs
+ trust several certificates
from the
Mozilla database by default. However several companies using Citrix
might require their own corporate certificate. On distros with imperative
diff --git a/doc/quick-start.xml b/doc/quick-start.xml
index 292d66864a4c..39e3e7396bd5 100644
--- a/doc/quick-start.xml
+++ b/doc/quick-start.xml
@@ -210,9 +210,11 @@
- Optionally commit the new package and open a pull request to nixpkgs, or
- use to
+ nixpkgs, or use
+
the Patches category on Discourse for sending a patch without a
GitHub account.
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index f8c2aff97854..a4bc2809be05 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -736,8 +736,8 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]
commit or any other commands that cannot handle that.
- For information about how to run the updates, execute
- nix-shell maintainers/scripts/update.nix.
+ For information about how to run the updates, execute nix-shell
+ maintainers/scripts/update.nix.
@@ -764,7 +764,8 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]
to add some commands to a phase, e.g. by defining
postInstall or preFixup, as skipping
some of the default actions may have unexpected consequences. The default
- script for each phase is defined in the file pkgs/stdenv/generic/setup.sh.
+ script for each phase is defined in the file
+ pkgs/stdenv/generic/setup.sh.
@@ -786,7 +787,8 @@ passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]
set, the default value is used, which is $prePhases
unpackPhase patchPhase $preConfigurePhases configurePhase
$preBuildPhases buildPhase checkPhase $preInstallPhases installPhase
- fixupPhase installCheckPhase $preDistPhases distPhase $postPhases.
+ fixupPhase installCheckPhase $preDistPhases distPhase
+ $postPhases.
Usually, if you just want to add a few phases, it’s more convenient
@@ -1605,7 +1607,7 @@ installTargets = "install-bin install-doc";
- Set to true to skip the fixup phase.
+ Set to true to skip the fixup phase.
@@ -2411,12 +2413,12 @@ addEnvHooks "$hostOffset" myBashFunction
The Bintools Wrapper was only just recently split off from CC Wrapper,
so the division of labor is still being worked out. For example, it
- shouldn't care about the C standard library, but just take a
- derivation with the dynamic loader (which happens to be the glibc on
- linux). Dependency finding however is a task both wrappers will continue
- to need to share, and probably the most important to understand. It is
- currently accomplished by collecting directories of host-platform
- dependencies (i.e. buildInputs and
+ shouldn't care about the C standard library, but just take a derivation
+ with the dynamic loader (which happens to be the glibc on linux).
+ Dependency finding however is a task both wrappers will continue to need
+ to share, and probably the most important to understand. It is currently
+ accomplished by collecting directories of host-platform dependencies
+ (i.e. buildInputs and
nativeBuildInputs) in environment variables. The
Bintools Wrapper's setup hook causes any lib and
lib64 subdirectories to be added to
@@ -2633,7 +2635,8 @@ addEnvHooks "$hostOffset" myBashFunction
- Hooks related to GNOME platform and related libraries like GLib, GTK and GStreamer are described in .
+ Hooks related to GNOME platform and related libraries like GLib, GTK and
+ GStreamer are described in .
@@ -2688,12 +2691,12 @@ addEnvHooks "$hostOffset" myBashFunction
At /var/lib/cntr the sandboxed filesystem is
mounted. All commands and files of the system are still accessible
within the shell. To execute commands from the sandbox use the cntr exec
- subcommand. cntr is only supported
- on Linux-based platforms. To use it first add cntr to
- your environment.systemPackages on NixOS or
- alternatively to the root user on non-NixOS systems. Then in the package
- that is supposed to be inspected, add breakpointHook
- to nativeBuildInputs.
+ subcommand. cntr is only supported on Linux-based
+ platforms. To use it first add cntr to your
+ environment.systemPackages on NixOS or alternatively
+ to the root user on non-NixOS systems. Then in the package that is
+ supposed to be inspected, add breakpointHook to
+ nativeBuildInputs.
nativeBuildInputs = [ breakpointHook ];
@@ -2703,11 +2706,11 @@ nativeBuildInputs = [ breakpointHook ];
Caution with remote builds
- This won't work with remote builds as the build environment is on
- a different machine and can't be accessed by cntr.
- Remote builds can be turned off by setting --option builders ''
- for nix-build or --builders '' for
- nix build.
+ This won't work with remote builds as the build environment is on a
+ different machine and can't be accessed by cntr.
+ Remote builds can be turned off by setting --option builders
+ '' for nix-build or --builders
+ '' for nix build.
@@ -2806,17 +2809,78 @@ postInstall = ''
- meson
+ Meson
- Overrides the configure phase to run meson to generate Ninja files. You
- can disable this behavior by setting configurePhase to a custom value,
- or by setting dontUseMesonConfigure. To run these files, you should
- accompany meson with ninja. mesonFlags controls only the flags passed to
- meson. By default, parallel building is enabled as Meson supports
+ Overrides the configure phase to run meson to generate Ninja files. To
+ run these files, you should accompany Meson with ninja. By default,
+ enableParallelBuilding is enabled as Meson supports
parallel building almost everywhere.
+
+ Variables controlling Meson
+
+
+ mesonFlags
+
+
+
+ Controls the flags passed to meson.
+
+
+
+
+
+ mesonBuildType
+
+
+
+ Which
+ --buildtype
+ to pass to Meson. We default to plain.
+
+
+
+
+
+ mesonAutoFeatures
+
+
+
+ What value to set
+ -Dauto_features=
+ to. We default to enabled.
+
+
+
+
+
+ mesonWrapMode
+
+
+
+ What value to set
+ -Dwrap_mode=
+ to. We default to nodownload as we disallow
+ network access.
+
+
+
+
+
+ dontUseMesonConfigure
+
+
+
+ Disables using Meson's configurePhase.
+
+
+
+
@@ -2851,8 +2915,8 @@ postInstall = ''
Overrides the configure, build, and install phases. This will run the
"waf" script used by many projects. If wafPath (default ./waf) doesn’t
- exist, it will copy the version of waf available in Nixpkgs. wafFlags can
- be used to pass flags to the waf script.
+ exist, it will copy the version of waf available in Nixpkgs. wafFlags
+ can be used to pass flags to the waf script.
diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix
index 9dfc1add8299..d939cbb393ee 100644
--- a/nixos/modules/config/shells-environment.nix
+++ b/nixos/modules/config/shells-environment.nix
@@ -157,6 +157,8 @@ in
# terminal instead of logging out of X11).
environment.variables = config.environment.sessionVariables;
+ environment.profileRelativeEnvVars = config.environment.profileRelativeSessionVariables;
+
environment.shellAliases = mapAttrs (name: mkDefault) {
ls = "ls --color=tty";
ll = "ls -l";
diff --git a/nixos/modules/config/system-environment.nix b/nixos/modules/config/system-environment.nix
index 6011e354ece4..792d1dbb38f6 100644
--- a/nixos/modules/config/system-environment.nix
+++ b/nixos/modules/config/system-environment.nix
@@ -8,6 +8,11 @@ let
cfg = config.environment;
+ pamProfiles =
+ map
+ (replaceStrings ["$HOME" "$USER"] ["@{HOME}" "@{PAM_USER}"])
+ cfg.profiles;
+
in
{
@@ -18,25 +23,76 @@ in
default = {};
description = ''
A set of environment variables used in the global environment.
- These variables will be set by PAM.
- The value of each variable can be either a string or a list of
- strings. The latter is concatenated, interspersed with colon
- characters.
+ These variables will be set by PAM early in the login process.
+
+ The value of each session variable can be either a string or a
+ list of strings. The latter is concatenated, interspersed with
+ colon characters.
+
+ Note, due to limitations in the PAM format values may not
+ contain the " character.
+
+ Also, these variables are merged into
+ and it is
+ therefore not possible to use PAM style variables such as
+ @{HOME}
.
'';
type = with types; attrsOf (either str (listOf str));
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
};
+ environment.profileRelativeSessionVariables = mkOption {
+ type = types.attrsOf (types.listOf types.str);
+ example = { PATH = [ "/bin" ]; MANPATH = [ "/man" "/share/man" ]; };
+ description = ''
+ Attribute set of environment variable used in the global
+ environment. These variables will be set by PAM early in the
+ login process.
+
+ Variable substitution is available as described in
+
+ pam_env.conf
+ 5
+ .
+
+ Each attribute maps to a list of relative paths. Each relative
+ path is appended to the each profile of
+ to form the content of
+ the corresponding environment variable.
+
+ Also, these variables are merged into
+ and it is
+ therefore not possible to use PAM style variables such as
+ @{HOME}
.
+ '';
+ };
+
};
config = {
- system.build.pamEnvironment = pkgs.writeText "pam-environment"
- ''
- ${concatStringsSep "\n" (
- (mapAttrsToList (n: v: ''${n}="${concatStringsSep ":" v}"'')
- (zipAttrsWith (const concatLists) ([ (mapAttrs (n: v: [ v ]) cfg.sessionVariables) ]))))}
- '';
+ system.build.pamEnvironment =
+ let
+ suffixedVariables =
+ flip mapAttrs cfg.profileRelativeSessionVariables (envVar: suffixes:
+ flip concatMap pamProfiles (profile:
+ map (suffix: "${profile}${suffix}") suffixes
+ )
+ );
+
+ pamVariable = n: v:
+ ''${n} DEFAULT="${concatStringsSep ":" (toList v)}"'';
+
+ pamVariables =
+ concatStringsSep "\n"
+ (mapAttrsToList pamVariable
+ (zipAttrsWith (n: concatLists)
+ [
+ (mapAttrs (n: toList) cfg.sessionVariables)
+ suffixedVariables
+ ]));
+ in
+ pkgs.writeText "pam-environment" "${pamVariables}\n";
};
diff --git a/nixos/modules/config/terminfo.nix b/nixos/modules/config/terminfo.nix
index b86ce2dbf057..1396640af672 100644
--- a/nixos/modules/config/terminfo.nix
+++ b/nixos/modules/config/terminfo.nix
@@ -12,7 +12,7 @@
source = "${config.system.path}/share/terminfo";
};
- environment.profileRelativeEnvVars = {
+ environment.profileRelativeSessionVariables = {
TERMINFO_DIRS = [ "/share/terminfo" ];
};
diff --git a/nixos/modules/config/xdg/icons.nix b/nixos/modules/config/xdg/icons.nix
index 8268a3771a0e..cc82b9e94f9a 100644
--- a/nixos/modules/config/xdg/icons.nix
+++ b/nixos/modules/config/xdg/icons.nix
@@ -7,19 +7,19 @@ with lib;
type = types.bool;
default = true;
description = ''
- Whether to install files to support the
+ Whether to install files to support the
XDG Icon Theme specification.
'';
};
};
config = mkIf config.xdg.icons.enable {
- environment.pathsToLink = [
- "/share/icons"
- "/share/pixmaps"
+ environment.pathsToLink = [
+ "/share/icons"
+ "/share/pixmaps"
];
-
- environment.profileRelativeEnvVars = {
+
+ environment.profileRelativeSessionVariables = {
XCURSOR_PATH = [ "/share/icons" ];
};
};
diff --git a/nixos/modules/hardware/brightnessctl.nix b/nixos/modules/hardware/brightnessctl.nix
index 341e4b791c23..2d54398d10df 100644
--- a/nixos/modules/hardware/brightnessctl.nix
+++ b/nixos/modules/hardware/brightnessctl.nix
@@ -25,6 +25,7 @@ in
config = mkIf cfg.enable {
services.udev.packages = with pkgs; [ brightnessctl ];
+ environment.systemPackages = with pkgs; [ brightnessctl ];
};
}
diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix
index 66eb83482664..4bbc750fd52e 100644
--- a/nixos/modules/programs/environment.nix
+++ b/nixos/modules/programs/environment.nix
@@ -22,6 +22,8 @@ in
EDITOR = mkDefault "nano";
XCURSOR_PATH = [ "$HOME/.icons" ];
XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc
+ GTK_DATA_PREFIX = "${config.system.path}"; # needed for gtk2 apps to find themes
+ GTK_EXE_PREFIX = "${config.system.path}";
};
environment.profiles = mkAfter
@@ -30,7 +32,7 @@ in
];
# TODO: move most of these elsewhere
- environment.profileRelativeEnvVars =
+ environment.profileRelativeSessionVariables =
{ PATH = [ "/bin" ];
INFOPATH = [ "/info" "/share/info" ];
KDEDIRS = [ "" ];
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 9c7ddc2f4eea..3cf09611fba7 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -415,7 +415,7 @@ let
# Session management.
${optionalString cfg.setEnvironment ''
- session required pam_env.so envfile=${config.system.build.pamEnvironment}
+ session required pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
''}
session required pam_unix.so
${optionalString cfg.setLoginUid
diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix
index ec6a36413fe7..0ec906713885 100644
--- a/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -193,7 +193,7 @@ in {
then ""
else
let pluginCmds = lib.attrsets.mapAttrsToList
- (n: v: "cp ${v} ${cfg.home}/plugins/${n}.hpi")
+ (n: v: "cp ${v} ${cfg.home}/plugins/${n}.jpi")
cfg.plugins;
in ''
rm -r ${cfg.home}/plugins || true
diff --git a/nixos/modules/services/editors/emacs.nix b/nixos/modules/services/editors/emacs.nix
index ba7ec967919e..d791b387665f 100644
--- a/nixos/modules/services/editors/emacs.nix
+++ b/nixos/modules/services/editors/emacs.nix
@@ -95,13 +95,7 @@ in {
environment.systemPackages = [ cfg.package editorScript desktopApplicationFile ];
- environment.variables = {
- # This is required so that GTK applications launched from Emacs
- # get properly themed:
- GTK_DATA_PREFIX = "${config.system.path}";
- } // (if cfg.defaultEditor then {
- EDITOR = mkOverride 900 "${editorScript}/bin/emacseditor";
- } else {});
+ environment.variables.EDITOR = mkIf cfg.defaultEditor (mkOverride 900 "${editorScript}/bin/emacseditor");
};
meta.doc = ./emacs.xml;
diff --git a/nixos/modules/services/networking/minidlna.nix b/nixos/modules/services/networking/minidlna.nix
index 0947471adbc9..3ddea3c9757b 100644
--- a/nixos/modules/services/networking/minidlna.nix
+++ b/nixos/modules/services/networking/minidlna.nix
@@ -36,6 +36,37 @@ in
'';
};
+ services.minidlna.friendlyName = mkOption {
+ type = types.str;
+ default = "${config.networking.hostName} MiniDLNA";
+ defaultText = "$HOSTNAME MiniDLNA";
+ example = "rpi3";
+ description =
+ ''
+ Name that the DLNA server presents to clients.
+ '';
+ };
+
+ services.minidlna.rootContainer = mkOption {
+ type = types.str;
+ default = ".";
+ example = "B";
+ description =
+ ''
+ Use a different container as the root of the directory tree presented
+ to clients. The possible values are:
+ - "." - standard container
+ - "B" - "Browse Directory"
+ - "M" - "Music"
+ - "P" - "Pictures"
+ - "V" - "Video"
+ - Or, you can specify the ObjectID of your desired root container
+ (eg. 1$F for Music/Playlists)
+ If you specify "B" and the client device is audio-only then
+ "Music/Folders" will be used as root.
+ '';
+ };
+
services.minidlna.loglevel = mkOption {
type = types.str;
default = "warn";
@@ -66,7 +97,37 @@ in
services.minidlna.config = mkOption {
type = types.lines;
- description = "The contents of MiniDLNA's configuration file.";
+ description =
+ ''
+ The contents of MiniDLNA's configuration file.
+ When the service is activated, a basic template is generated
+ from the current options opened here.
+ '';
+ };
+
+ services.minidlna.extraConfig = mkOption {
+ type = types.lines;
+ default = "";
+ example = ''
+ # Not exhaustive example
+ # Support for streaming .jpg and .mp3 files to a TiVo supporting HMO.
+ enable_tivo=no
+ # SSDP notify interval, in seconds.
+ notify_interval=10
+ # maximum number of simultaneous connections
+ # note: many clients open several simultaneous connections while
+ # streaming
+ max_connections=50
+ # set this to yes to allow symlinks that point outside user-defined
+ # media_dirs.
+ wide_links=yes
+ '';
+ description =
+ ''
+ Extra minidlna options not yet opened for configuration here
+ (strict_dlna, model_number, model_name, etc...). This is appended
+ to the current service already provided.
+ '';
};
};
@@ -75,13 +136,15 @@ in
services.minidlna.config =
''
port=${toString port}
- friendly_name=${config.networking.hostName} MiniDLNA
+ friendly_name=${cfg.friendlyName}
db_dir=/var/cache/minidlna
log_level=${cfg.loglevel}
inotify=yes
+ root_container=${cfg.rootContainer}
${concatMapStrings (dir: ''
media_dir=${dir}
'') cfg.mediaDirs}
+ ${cfg.extraConfig}
'';
users.users.minidlna = {
diff --git a/nixos/modules/services/web-apps/moodle.nix b/nixos/modules/services/web-apps/moodle.nix
index 7f71b86a6fe6..211bc17ee192 100644
--- a/nixos/modules/services/web-apps/moodle.nix
+++ b/nixos/modules/services/web-apps/moodle.nix
@@ -45,6 +45,8 @@ let
$CFG->aspellpath = '${pkgs.aspell}/bin/aspell';
$CFG->pathtodot = '${pkgs.graphviz}/bin/dot';
+ ${cfg.extraConfig}
+
require_once('${cfg.package}/share/moodle/lib/setup.php');
// There is no php closing tag in this file,
@@ -172,6 +174,19 @@ in
for details on configuration directives.
'';
};
+
+ extraConfig = mkOption {
+ type = types.lines;
+ default = "";
+ description = ''
+ Any additional text to be appended to the config.php
+ configuration file. This is a PHP script. For configuration
+ details, see .
+ '';
+ example = ''
+ $CFG->disableupdatenotifications = true;
+ '';
+ };
};
# implementation
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index 9914b6687090..3745069f6eaf 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -48,10 +48,6 @@ in
services.xserver.desktopManager.session = [
{ name = "Enlightenment";
start = ''
- # Set GTK_DATA_PREFIX so that GTK can find the themes
- export GTK_DATA_PREFIX=${config.system.path}
- # find theme engines
- export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
export XDG_MENU_PREFIX=e-
export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}"
diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix
index d7a871c9c704..4563583e0704 100644
--- a/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixos/modules/services/x11/desktop-managers/mate.nix
@@ -48,12 +48,6 @@ in
name = "mate";
bgSupport = true;
start = ''
- # Set GTK_DATA_PREFIX so that GTK can find the themes
- export GTK_DATA_PREFIX=${config.system.path}
-
- # Find theme engines
- export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
-
export XDG_MENU_PREFIX=mate-
# Let caja find extensions
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index e313a194c345..d80ea9a53e80 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -79,8 +79,7 @@ in
Using Pantheon without LightDM as a displayManager will break screenlocking from the UI.
'';
- services.xserver.displayManager.lightdm.enable = mkDefault true;
- services.xserver.displayManager.lightdm.greeters.gtk.enable = mkDefault true;
+ services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true;
# If not set manually Pantheon session cannot be started
# Known issue of https://github.com/NixOS/nixpkgs/pull/43992
@@ -98,10 +97,6 @@ in
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
fi
'') cfg.sessionPath}
-
- # Settings from elementary-default-settings
- export GTK_CSD=1
- export GTK_MODULES=$GTK_MODULES:pantheon-filechooser-module
fi
'';
@@ -166,9 +161,14 @@ in
networkmanager-iodine networkmanager-l2tp; };
# Override GSettings schemas
- environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
+ environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
- environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
+ environment.sessionVariables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
+
+ # Settings from elementary-default-settings
+ environment.sessionVariables.GTK_CSD = "1";
+ environment.sessionVariables.GTK_MODULES = "pantheon-filechooser-module";
+ environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
environment.pathsToLink = [
# FIXME: modules should link subdirs of `/share` rather than relying on this
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index e3249aef50c7..6965c6d26467 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -107,12 +107,6 @@ in
start = ''
${cfg.extraSessionCommands}
- # Set GTK_PATH so that GTK can find the theme engines.
- export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0"
-
- # Set GTK_DATA_PREFIX so that GTK can find the Xfce themes.
- export GTK_DATA_PREFIX=${config.system.path}
-
${pkgs.runtimeShell} ${pkgs.xfce.xinitrc} &
waitPID=$!
'';
diff --git a/nixos/modules/services/x11/desktop-managers/xfce4-14.nix b/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
index 57d1268d655a..458d4a2f4229 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
@@ -114,12 +114,6 @@ in
name = "xfce4-14";
bgSupport = true;
start = ''
- # Set GTK_PATH so that GTK can find the theme engines.
- export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0"
-
- # Set GTK_DATA_PREFIX so that GTK can find the Xfce themes.
- export GTK_DATA_PREFIX=${config.system.path}
-
${pkgs.runtimeShell} ${pkgs.xfce4-14.xinitrc} &
waitPID=$!
'';
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 3f1669d08516..0a5d52e319ec 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -142,8 +142,6 @@ in
GDM_X_SERVER_EXTRA_ARGS = toString
(filter (arg: arg != "-terminate") cfg.xserverArgs);
XDG_DATA_DIRS = "${cfg.session.desktops}/share/";
- # Find the mouse
- XCURSOR_PATH = "~/.icons:${pkgs.gnome3.adwaita-icon-theme}/share/icons";
} // optionalAttrs (xSessionWrapper != null) {
# Make GDM use this wrapper before running the session, which runs the
# configured setupCommands. This relies on a patched GDM which supports
@@ -262,7 +260,7 @@ in
password required pam_deny.so
session required pam_succeed_if.so audit quiet_success user = gdm
- session required pam_env.so envfile=${config.system.build.pamEnvironment}
+ session required pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
session optional pam_keyinit.so force revoke
session optional pam_permit.so
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix
index de128809ce30..129df139c61a 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix
@@ -10,32 +10,6 @@ let
icons = cfg.iconTheme.package;
cursors = cfg.cursorTheme.package;
- # We need a few things in the environment for the greeter to run with
- # fonts/icons.
- wrappedEnsoGreeter = pkgs.runCommand "lightdm-enso-os-greeter" {
- buildInputs = [ pkgs.makeWrapper ];
- preferLocalBuild = true;
- } ''
- # This wrapper ensures that we actually get themes
- makeWrapper ${pkgs.lightdm-enso-os-greeter}/bin/pantheon-greeter \
- $out/greeter \
- --prefix PATH : "${pkgs.glibc.bin}/bin" \
- --set GDK_PIXBUF_MODULE_FILE "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
- --set GTK_PATH "${theme}:${pkgs.gtk3.out}" \
- --set GTK_EXE_PREFIX "${theme}" \
- --set GTK_DATA_PREFIX "${theme}" \
- --set XDG_DATA_DIRS "${theme}/share:${icons}/share:${cursors}/share" \
- --set XDG_CONFIG_HOME "${theme}/share"
-
- cat - > $out/lightdm-enso-os-greeter.desktop << EOF
- [Desktop Entry]
- Name=LightDM Greeter
- Comment=This runs the LightDM Greeter
- Exec=$out/greeter
- Type=Application
- EOF
- '';
-
ensoGreeterConf = pkgs.writeText "lightdm-enso-os-greeter.conf" ''
[greeter]
default-wallpaper=${ldmcfg.background}
@@ -144,10 +118,16 @@ in {
config = mkIf (ldmcfg.enable && cfg.enable) {
environment.etc."lightdm/greeter.conf".source = ensoGreeterConf;
+ environment.systemPackages = [
+ cursors
+ icons
+ theme
+ ];
+
services.xserver.displayManager.lightdm = {
greeter = mkDefault {
- package = wrappedEnsoGreeter;
- name = "lightdm-enso-os-greeter";
+ package = pkgs.lightdm-enso-os-greeter.xgreeters;
+ name = "pantheon-greeter";
};
greeters = {
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix
index 5b280b024233..de932e6e840a 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix
@@ -15,34 +15,6 @@ let
icons = cfg.iconTheme.package;
cursors = cfg.cursorTheme.package;
- # The default greeter provided with this expression is the GTK greeter.
- # Again, we need a few things in the environment for the greeter to run with
- # fonts/icons.
- wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" {
- buildInputs = [ pkgs.makeWrapper ];
- preferLocalBuild = true;
- } ''
- # This wrapper ensures that we actually get themes
- makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
- $out/greeter \
- --prefix PATH : "${lib.getBin pkgs.stdenv.cc.libc}/bin" \
- --set GDK_PIXBUF_MODULE_FILE "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" \
- --set GTK_PATH "${theme}:${pkgs.gtk3.out}" \
- --set GTK_EXE_PREFIX "${theme}" \
- --set GTK_DATA_PREFIX "${theme}" \
- --set XDG_DATA_DIRS "${theme}/share:${icons}/share" \
- --set XDG_CONFIG_HOME "${theme}/share" \
- --set XCURSOR_PATH "${cursors}/share/icons"
-
- cat - > $out/lightdm-gtk-greeter.desktop << EOF
- [Desktop Entry]
- Name=LightDM Greeter
- Comment=This runs the LightDM Greeter
- Exec=$out/greeter
- Type=Application
- EOF
- '';
-
gtkGreeterConf = writeText "lightdm-gtk-greeter.conf"
''
[greeter]
@@ -185,10 +157,16 @@ in
config = mkIf (ldmcfg.enable && cfg.enable) {
services.xserver.displayManager.lightdm.greeter = mkDefault {
- package = wrappedGtkGreeter;
+ package = pkgs.lightdm_gtk_greeter.xgreeters;
name = "lightdm-gtk-greeter";
};
+ environment.systemPackages = [
+ cursors
+ icons
+ theme
+ ];
+
environment.etc."lightdm/lightdm-gtk-greeter.conf".source = gtkGreeterConf;
};
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
index ba8151a60f20..fa9445af32e7 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix
@@ -8,11 +8,6 @@ let
ldmcfg = dmcfg.lightdm;
cfg = ldmcfg.greeters.mini;
- xgreeters = pkgs.linkFarm "lightdm-mini-greeter-xgreeters" [{
- path = "${pkgs.lightdm-mini-greeter}/share/xgreeters/lightdm-mini-greeter.desktop";
- name = "lightdm-mini-greeter.desktop";
- }];
-
miniGreeterConf = pkgs.writeText "lightdm-mini-greeter.conf"
''
[greeter]
@@ -90,7 +85,7 @@ in
services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
services.xserver.displayManager.lightdm.greeter = mkDefault {
- package = xgreeters;
+ package = pkgs.lightdm-mini-greeter.xgreeters;
name = "lightdm-mini-greeter";
};
diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
index bfba174144a1..29cb6ccbc06b 100644
--- a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
@@ -8,11 +8,6 @@ let
ldmcfg = dmcfg.lightdm;
cfg = ldmcfg.greeters.pantheon;
- xgreeters = pkgs.linkFarm "pantheon-greeter-xgreeters" [{
- path = "${pkgs.pantheon.elementary-greeter}/share/xgreeters/io.elementary.greeter.desktop";
- name = "io.elementary.greeter.desktop";
- }];
-
in
{
options = {
@@ -33,17 +28,10 @@ in
config = mkIf (ldmcfg.enable && cfg.enable) {
- warnings = [
- ''
- The Pantheon greeter is suboptimal in NixOS and can possibly put you in
- a situation where you cannot start a session when switching desktopManagers.
- ''
- ];
-
services.xserver.displayManager.lightdm.greeters.gtk.enable = false;
services.xserver.displayManager.lightdm.greeter = mkDefault {
- package = xgreeters;
+ package = pkgs.pantheon.elementary-greeter.xgreeters;
name = "io.elementary.greeter";
};
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index c26a5b615353..f105cb496e68 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -249,7 +249,7 @@ in
password required pam_deny.so
session required pam_succeed_if.so audit quiet_success user = lightdm
- session required pam_env.so envfile=${config.system.build.pamEnvironment}
+ session required pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
session optional pam_keyinit.so force revoke
session optional pam_permit.so
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index c6cb281c2cc2..8847acb0c604 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -219,8 +219,6 @@ in
# Load themes from system environment
QT_PLUGIN_PATH = "/run/current-system/sw/" + pkgs.qt5.qtbase.qtPluginPrefix;
QML2_IMPORT_PATH = "/run/current-system/sw/" + pkgs.qt5.qtbase.qtQmlPrefix;
-
- XDG_DATA_DIRS = "/run/current-system/sw/share";
};
execCmd = "exec /run/current-system/sw/bin/sddm";
@@ -242,7 +240,7 @@ in
password required pam_deny.so
session required pam_succeed_if.so audit quiet_success user = sddm
- session required pam_env.so envfile=${config.system.build.pamEnvironment}
+ session required pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
session optional pam_keyinit.so force revoke
session optional pam_permit.so
diff --git a/nixos/release.nix b/nixos/release.nix
index c7c609658909..a4b6b6bb91a8 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -292,6 +292,12 @@ in rec {
services.xserver.desktopManager.xfce.enable = true;
});
+ gnome3 = makeClosure ({ ... }:
+ { services.xserver.enable = true;
+ services.xserver.displayManager.gdm.enable = true;
+ services.xserver.desktopManager.gnome3.enable = true;
+ });
+
# Linux/Apache/PostgreSQL/PHP stack.
lapp = makeClosure ({ pkgs, ... }:
{ services.httpd.enable = true;
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 60762de76d33..5643da99e557 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -162,6 +162,7 @@ in
metabase = handleTest ./metabase.nix {};
miniflux = handleTest ./miniflux.nix {};
minio = handleTest ./minio.nix {};
+ minidlna = handleTest ./minidlna.nix {};
misc = handleTest ./misc.nix {};
mongodb = handleTest ./mongodb.nix {};
moodle = handleTest ./moodle.nix {};
@@ -204,6 +205,7 @@ in
# openstack-image-userdata doesn't work in a sandbox as the simulated openstack instance needs network access
#openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
+ os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
osquery = handleTest ./osquery.nix {};
osrm-backend = handleTest ./osrm-backend.nix {};
ostree = handleTest ./ostree.nix {};
diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix
index 90f9793b370c..cbf76f9e5587 100644
--- a/nixos/tests/hardened.nix
+++ b/nixos/tests/hardened.nix
@@ -10,6 +10,7 @@ import ./make-test.nix ({ pkgs, ...} : {
{ users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; };
users.users.sybil = { isNormalUser = true; group = "wheel"; };
imports = [ ../modules/profiles/hardened.nix ];
+ environment.memoryAllocator.provider = "graphene-hardened";
nix.useSandbox = false;
virtualisation.emptyDiskImages = [ 4096 ];
boot.initrd.postDeviceCommands = ''
diff --git a/nixos/tests/minidlna.nix b/nixos/tests/minidlna.nix
new file mode 100644
index 000000000000..7bf1bed69d06
--- /dev/null
+++ b/nixos/tests/minidlna.nix
@@ -0,0 +1,39 @@
+import ./make-test.nix ({ pkgs, ... }: {
+ name = "minidlna";
+
+ nodes = {
+ server =
+ { ... }:
+ {
+ imports = [ ../modules/profiles/minimal.nix ];
+ networking.firewall.allowedTCPPorts = [ 8200 ];
+ services.minidlna = {
+ enable = true;
+ loglevel = "error";
+ mediaDirs = [
+ "PV,/tmp/stuff"
+ ];
+ friendlyName = "rpi3";
+ rootContainer = "B";
+ extraConfig =
+ ''
+ album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
+ album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
+ album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
+ notify_interval=60
+ '';
+ };
+ };
+ client = { ... }: { };
+ };
+
+ testScript =
+ ''
+ startAll;
+ $server->succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff");
+ $server->waitForUnit("minidlna");
+ $server->waitForOpenPort("8200");
+ $server->succeed("curl --fail http://localhost:8200/");
+ $client->succeed("curl --fail http://server:8200/");
+ '';
+})
diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix
new file mode 100644
index 000000000000..9cd9f4ecd150
--- /dev/null
+++ b/nixos/tests/os-prober.nix
@@ -0,0 +1,119 @@
+import ./make-test.nix ({pkgs, lib, ...}:
+let
+ # A filesystem image with a (presumably) bootable debian
+ debianImage = pkgs.vmTools.diskImageFuns.debian9i386 {
+ # os-prober cannot detect systems installed on disks without a partition table
+ # so we create the disk ourselves
+ createRootFS = with pkgs; ''
+ ${parted}/bin/parted --script /dev/vda mklabel msdos
+ ${parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s
+ mkdir /mnt
+ ${e2fsprogs}/bin/mkfs.ext4 /dev/vda1
+ ${utillinux}/bin/mount -t ext4 /dev/vda1 /mnt
+
+ if test -e /mnt/.debug; then
+ exec ${bash}/bin/sh
+ fi
+ touch /mnt/.debug
+
+ mkdir /mnt/proc /mnt/dev /mnt/sys
+ '';
+ extraPackages = [
+ # /etc/os-release
+ "base-files"
+ # make the disk bootable-looking
+ "grub2" "linux-image-686"
+ ];
+ # install grub
+ postInstall = ''
+ ln -sf /proc/self/mounts > /etc/mtab
+ PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
+ grub-install /dev/vda --force
+ PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
+ update-grub
+ '';
+ };
+
+ # options to add the disk to the test vm
+ QEMU_OPTS = "-drive index=2,file=${debianImage}/disk-image.qcow2,read-only,if=virtio";
+
+ # a part of the configuration of the test vm
+ simpleConfig = {
+ boot.loader.grub = {
+ enable = true;
+ useOSProber = true;
+ device = "/dev/vda";
+ # vda is a filesystem without partition table
+ forceInstall = true;
+ };
+ nix.binaryCaches = lib.mkForce [ ];
+ nix.extraOptions = ''
+ hashed-mirrors =
+ connect-timeout = 1
+ '';
+ services.udisks2.enable = lib.mkForce false;
+ };
+ # /etc/nixos/configuration.nix for the vm
+ configFile = pkgs.writeText "configuration.nix" ''
+ {config, pkgs, ...}: ({
+ imports =
+ [ ./hardware-configuration.nix
+
+ ];
+ } // (builtins.fromJSON (builtins.readFile ${
+ pkgs.writeText "simpleConfig.json" (builtins.toJSON simpleConfig)
+ })))
+ '';
+in {
+ name = "os-prober";
+
+ machine = { config, pkgs, ... }: (simpleConfig // {
+ imports = [ ../modules/profiles/installation-device.nix
+ ../modules/profiles/base.nix ];
+ virtualisation.memorySize = 1024;
+ # The test cannot access the network, so any packages
+ # nixos-rebuild needs must be included in the VM.
+ system.extraDependencies = with pkgs;
+ [ sudo
+ libxml2.bin
+ libxslt.bin
+ desktop-file-utils
+ docbook5
+ docbook_xsl_ns
+ unionfs-fuse
+ ntp
+ nixos-artwork.wallpapers.simple-dark-gray-bottom
+ perlPackages.XMLLibXML
+ perlPackages.ListCompare
+ shared-mime-info
+ texinfo
+ xorg.lndir
+ grub2
+
+ # add curl so that rather than seeing the test attempt to download
+ # curl's tarball, we see what it's trying to download
+ curl
+ ];
+ });
+
+ testScript = ''
+ # hack to add the secondary disk
+ $machine->{startCommand} = "QEMU_OPTS=\"\$QEMU_OPTS \"${lib.escapeShellArg QEMU_OPTS} ".$machine->{startCommand};
+
+ $machine->start;
+ $machine->succeed("udevadm settle");
+ $machine->waitForUnit("multi-user.target");
+
+ # check that os-prober works standalone
+ $machine->succeed("${pkgs.os-prober}/bin/os-prober | grep /dev/vdb1");
+
+ # rebuild and test that debian is available in the grub menu
+ $machine->succeed("nixos-generate-config");
+ $machine->copyFileFromHost(
+ "${configFile}",
+ "/etc/nixos/configuration.nix");
+ $machine->succeed("nixos-rebuild boot >&2");
+
+ $machine->succeed("egrep 'menuentry.*debian' /boot/grub/grub.cfg");
+ '';
+})
diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix
index 40e45a76b4bf..26b94f306bc6 100644
--- a/pkgs/applications/audio/pianobar/default.nix
+++ b/pkgs/applications/audio/pianobar/default.nix
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A console front-end for Pandora.com";
- homepage = http://6xq.net/projects/pianobar/;
- platforms = platforms.linux;
+ homepage = "https://6xq.net/pianobar/";
+ platforms = platforms.unix;
license = licenses.mit; # expat version
};
}
diff --git a/pkgs/applications/audio/sfxr-qt/default.nix b/pkgs/applications/audio/sfxr-qt/default.nix
index 706d0faa3bc1..615a8a8c6604 100644
--- a/pkgs/applications/audio/sfxr-qt/default.nix
+++ b/pkgs/applications/audio/sfxr-qt/default.nix
@@ -20,7 +20,7 @@ mkDerivation rec {
};
nativeBuildInputs = [
cmake
- (python3.withPackages (pp: with pp; [ pyyaml jinja2 ]))
+ (python3.withPackages (pp: with pp; [ pyyaml jinja2 setuptools ]))
];
buildInputs = [
qtbase
diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix
index 6a8fba3c2bb7..1852d72d326f 100644
--- a/pkgs/applications/blockchains/zcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/default.nix
@@ -1,6 +1,6 @@
{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost
, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent
-, withGui }:
+, libsnark, withGui }:
let librustzcash = callPackage ./librustzcash {};
in
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ gtest gmock gmp openssl wget db62 boost zlib
- protobuf libevent libsodium librustzcash ]
+ protobuf libevent libsodium librustzcash libsnark ]
++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ];
diff --git a/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix b/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix
index accdea3ae2d3..3128f125cd9e 100644
--- a/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchgit, pkgconfig
+{ stdenv, fetchgit, pkgconfig, linkFarm, lightdm-enso-os-greeter
, dbus, pcre, epoxy, libXdmcp, at-spi2-core, libxklavier, libxkbcommon, libpthreadstubs
-, gtk3, vala, cmake, libgee, libX11, lightdm, gdk-pixbuf, clutter-gtk }:
+, gtk3, vala, cmake, libgee, libX11, lightdm, gdk-pixbuf, clutter-gtk, wrapGAppsHook, librsvg }:
stdenv.mkDerivation {
version = "0.2.1";
@@ -12,12 +12,21 @@ stdenv.mkDerivation {
sha256 = "11jm181jq1vbn83h235avpdxz7pqq6prqyzki5yryy53mkj4kgxz";
};
+ patches = [
+ ./fix-paths.patch
+ ];
+
+ nativeBuildInputs = [
+ cmake
+ pkgconfig
+ vala
+ wrapGAppsHook
+ ];
+
buildInputs = [
dbus
gtk3
pcre
- vala
- cmake
epoxy
libgee
libX11
@@ -29,31 +38,21 @@ stdenv.mkDerivation {
at-spi2-core
libxkbcommon
libpthreadstubs
+ librsvg
];
- nativeBuildInputs = [
- pkgconfig
- ];
-
- postPatch = ''
- sed -i "s@\''${CMAKE_INSTALL_PREFIX}/@@" greeter/CMakeLists.txt
- '';
-
preConfigure = ''
cd greeter
'';
- installFlags = [
- "DESTDIR=$(out)"
- ];
-
- preFixup = ''
- mv $out/usr/* $out
- rm -r $out/usr
- '';
+ passthru.xgreeters = linkFarm "enso-os-greeter-xgreeters" [{
+ path = "${lightdm-enso-os-greeter}/share/xgreeters/pantheon-greeter.desktop";
+ name = "pantheon-greeter.desktop";
+ }];
postFixup = ''
- rm -r $out/sbin
+ substituteInPlace $out/share/xgreeters/pantheon-greeter.desktop \
+ --replace "pantheon-greeter" "$out/bin/pantheon-greeter"
'';
meta = with stdenv.lib; {
diff --git a/pkgs/applications/display-managers/lightdm-enso-os-greeter/fix-paths.patch b/pkgs/applications/display-managers/lightdm-enso-os-greeter/fix-paths.patch
new file mode 100644
index 000000000000..ab3ad2b10e41
--- /dev/null
+++ b/pkgs/applications/display-managers/lightdm-enso-os-greeter/fix-paths.patch
@@ -0,0 +1,24 @@
+diff --git a/greeter/CMakeLists.txt b/greeter/CMakeLists.txt
+index 57aebb0..ab50bff 100644
+--- a/greeter/CMakeLists.txt
++++ b/greeter/CMakeLists.txt
+@@ -9,7 +9,6 @@ list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+ set (CONF_DIR "/etc/lightdm")
+ set (DATADIR "${CMAKE_INSTALL_PREFIX}/share")
+ set (PKGDATADIR "${DATADIR}/enso/greeter")
+-set (CMAKE_INSTALL_PREFIX /usr)
+ set (VERSION "1.0.6")
+
+
+@@ -94,9 +93,9 @@ glib_compile_resources (GLIB_RESOURCES_CSS SOURCE data/css.gresource.xml)
+ add_executable (pantheon-greeter ${VALA_C} ${GLIB_RESOURCES_CSS})
+ target_link_libraries(pantheon-greeter m)
+
+-install (TARGETS pantheon-greeter RUNTIME DESTINATION sbin)
++install (TARGETS pantheon-greeter RUNTIME DESTINATION bin)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/pantheon-greeter.desktop DESTINATION share/xgreeters)
+-install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/greeter.conf DESTINATION ${CONF_DIR})
++install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/greeter.conf DESTINATION etc/lightdm)
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/fingerprint.svg DESTINATION ${PKGDATADIR})
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/power.svg DESTINATION ${PKGDATADIR})
+ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/checked.svg DESTINATION ${PKGDATADIR})
diff --git a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix
index 69635718e3ba..b5b26d7cc430 100644
--- a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix
+++ b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, lightdm, gtk3 }:
+{ stdenv, linkFarm, lightdm-mini-greeter, fetchFromGitHub, autoreconfHook, pkgconfig, lightdm, gtk3, glib, gdk-pixbuf, wrapGAppsHook, librsvg }:
stdenv.mkDerivation rec {
pname = "lightdm-mini-greeter";
@@ -11,17 +11,22 @@ stdenv.mkDerivation rec {
sha256 = "1qi0bsqi8z2zv3303ww0kd7bciz6qx8na5bkvgrqlwyvq31czai5";
};
- nativeBuildInputs = [ autoreconfHook pkgconfig ];
- buildInputs = [ lightdm gtk3 ];
+ nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
+ buildInputs = [ lightdm gtk3 glib gdk-pixbuf librsvg ];
configureFlags = [ "--sysconfdir=/etc" ];
- makeFlags = [ "configdir=$(out)/etc" ];
+ makeFlags = [ "configdir=${placeholder "out"}/etc" ];
postInstall = ''
substituteInPlace "$out/share/xgreeters/lightdm-mini-greeter.desktop" \
--replace "Exec=lightdm-mini-greeter" "Exec=$out/bin/lightdm-mini-greeter"
'';
+ passthru.xgreeters = linkFarm "lightdm-mini-greeter-xgreeters" [{
+ path = "${lightdm-mini-greeter}/share/xgreeters/lightdm-mini-greeter.desktop";
+ name = "lightdm-mini-greeter.desktop";
+ }];
+
meta = with stdenv.lib; {
description = "A minimal, configurable, single-user GTK3 LightDM greeter";
homepage = https://github.com/prikhi/lightdm-mini-greeter;
diff --git a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index f892a9da50b9..5b1490a6b3be 100644
--- a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -1,7 +1,18 @@
-{ stdenv, fetchurl, lightdm, pkgconfig, intltool
-, hicolor-icon-theme, makeWrapper
-, useGTK2 ? false, gtk2, gtk3 # gtk3 seems better supported
-, exo, at-spi2-core
+{ stdenv
+, lightdm_gtk_greeter
+, fetchurl
+, lightdm
+, pkgconfig
+, intltool
+, linkFarm
+, wrapGAppsHook
+, useGTK2 ? false
+, gtk2
+, gtk3 # gtk3 seems better supported
+, exo
+, at-spi2-core
+, librsvg
+, hicolor-icon-theme
}:
#ToDo: bad icons with gtk2;
@@ -20,14 +31,15 @@ stdenv.mkDerivation rec {
sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15";
};
- nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ lightdm exo intltool makeWrapper hicolor-icon-theme ]
+ nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
+ buildInputs = [ lightdm exo librsvg hicolor-icon-theme ]
++ (if useGTK2 then [ gtk2 ] else [ gtk3 ]);
configureFlags = [
"--localstatedir=/var"
"--sysconfdir=/etc"
"--disable-indicator-services-command"
+ "--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook to wrap automatically
] ++ stdenv.lib.optional useGTK2 "--with-gtk2";
preConfigure = ''
@@ -43,11 +55,14 @@ stdenv.mkDerivation rec {
postInstall = ''
substituteInPlace "$out/share/xgreeters/lightdm-gtk-greeter.desktop" \
- --replace "Exec=lightdm-gtk-greeter" "Exec=$out/sbin/lightdm-gtk-greeter"
- wrapProgram "$out/sbin/lightdm-gtk-greeter" \
- --prefix XDG_DATA_DIRS ":" "${hicolor-icon-theme}/share"
+ --replace "Exec=lightdm-gtk-greeter" "Exec=$out/bin/lightdm-gtk-greeter"
'';
+ passthru.xgreeters = linkFarm "lightdm-gtk-greeter-xgreeters" [{
+ path = "${lightdm_gtk_greeter}/share/xgreeters/lightdm-gtk-greeter.desktop";
+ name = "lightdm-gtk-greeter.desktop";
+ }];
+
meta = with stdenv.lib; {
homepage = https://launchpad.net/lightdm-gtk-greeter;
platforms = platforms.linux;
diff --git a/pkgs/applications/editors/amp/default.nix b/pkgs/applications/editors/amp/default.nix
index 98692de43170..31d0806df8a5 100644
--- a/pkgs/applications/editors/amp/default.nix
+++ b/pkgs/applications/editors/amp/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, rustPlatform, openssl, pkgconfig, python3, xorg, cmake, libgit2 }:
+{ stdenv, fetchFromGitHub, rustPlatform, openssl, pkgconfig, python3, xorg, cmake, libgit2, darwin
+, curl }:
rustPlatform.buildRustPackage rec {
pname = "amp";
@@ -15,7 +16,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "1bvj2zg19ak4vi47vjkqlybz011kn5zq1j7zznr76zrryacw4lz1";
nativeBuildInputs = [ cmake pkgconfig ];
- buildInputs = [ openssl python3 xorg.libxcb libgit2 ];
+ buildInputs = [ openssl python3 xorg.libxcb libgit2 ] ++ stdenv.lib.optionals stdenv.isDarwin
+ (with darwin.apple_sdk.frameworks; [ curl Security AppKit ]);
# Tests need to write to the theme directory in HOME.
preCheck = "export HOME=`mktemp -d`";
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index 6081bbc8b0ca..3df964361cc8 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -48,7 +48,11 @@ stdenv.mkDerivation {
# The sparkle patch modified the nibs, so we have to recompile them
postPatch = ''
for nib in MainMenu Preferences; do
- /usr/bin/ibtool --compile src/MacVim/English.lproj/$nib.nib/keyedobjects.nib src/MacVim/English.lproj/$nib.nib
+ # redirect stdin/stdout/stderr to /dev/null because ibtool marks them nonblocking
+ # and not redirecting screws with subsequent commands.
+ # redirecting stderr is unfortunate but I don't know of a reasonable way to remove O_NONBLOCK
+ # from the fds.
+ /usr/bin/ibtool --compile src/MacVim/English.lproj/$nib.nib/keyedobjects.nib src/MacVim/English.lproj/$nib.nib >/dev/null 2>/dev/null applicationDirPath(), "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/docks/encodedock.cpp
NICE=$(type -P nice)
sed "s_/usr/bin/nice_''${NICE}_" -i src/jobs/meltjob.cpp src/jobs/ffmpegjob.cpp
'';
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 1f84403c10fc..9e55d1172cb4 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -189,6 +189,7 @@ rec {
# libraries not on the upstream include list, but nevertheless expected
# by at least one appimage
libtool.lib # for Synfigstudio
+ at-spi2-core
];
};
}
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 83e21c8945dc..37b25232b961 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -1,4 +1,5 @@
{
+ buildPackages,
cacert,
callPackage,
closureInfo,
@@ -47,7 +48,7 @@ rec {
, imageDigest
, sha256
, os ? "linux"
- , arch ? "amd64"
+ , arch ? buildPackages.go.GOARCH
# This is used to set name to the pulled image
, finalImageName ? imageName
@@ -540,7 +541,7 @@ rec {
configJson = let
pure = writeText "${baseName}-config.json" (builtins.toJSON {
inherit created config;
- architecture = "amd64";
+ architecture = buildPackages.go.GOARCH;
os = "linux";
});
impure = runCommand "${baseName}-standard-dynamic-date.json"
@@ -658,7 +659,7 @@ rec {
baseJson = let
pure = writeText "${baseName}-config.json" (builtins.toJSON {
inherit created config;
- architecture = "amd64";
+ architecture = buildPackages.go.GOARCH;
os = "linux";
});
impure = runCommand "${baseName}-config.json"
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 371ab13c5281..335cab7c45e1 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -719,7 +719,7 @@ rec {
{ name, fullName, size ? 4096, urlPrefix
, packagesList ? "", packagesLists ? [packagesList]
, packages, extraPackages ? [], postInstall ? ""
- , extraDebs ? []
+ , extraDebs ? [], createRootFS ? defaultCreateRootFS
, QEMU_OPTS ? "", memSize ? 512 }:
let
@@ -729,7 +729,7 @@ rec {
};
in
(fillDiskWithDebs {
- inherit name fullName size postInstall QEMU_OPTS memSize;
+ inherit name fullName size postInstall createRootFS QEMU_OPTS memSize;
debs = import expr {inherit fetchurl;} ++ extraDebs;
}) // {inherit expr;};
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index f7fce315e8c1..4864edde71dc 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -1,5 +1,5 @@
{
- stdenv, lib,
+ stdenv, lib, pkgs,
fetchFromGitHub, fetchurl,
nodejs, ttfautohint-nox, otfcc,
@@ -8,7 +8,9 @@
design ? [], upright ? [], italic ? [], oblique ? [],
family ? null, weights ? [],
# Custom font set name. Required if any custom settings above.
- set ? null
+ set ? null,
+ # Extra parameters. Can be used for ligature mapping.
+ extraParameters ? null
}:
assert (design != []) -> set != null;
@@ -19,38 +21,43 @@ assert (family != null) -> set != null;
assert (weights != []) -> set != null;
let
- installPackageLock = import ./package-lock.nix { inherit fetchurl lib; };
+ system = builtins.currentSystem;
+ nodePackages = import ./node-packages.nix { inherit pkgs system nodejs; };
in
let pname = if set != null then "iosevka-${set}" else "iosevka"; in
let
- version = "1.14.3";
+ version = "2.3.0";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "be5invis";
repo ="Iosevka";
rev = "v${version}";
- sha256 = "0ba8hwxi88bp2jb9xfhk95nnlv8ykl74cv62xr4ybzm3b8ahpwqf";
+ sha256 = "1qnbxhx9wvij9zia226mc3sy8j7bfsw5v1cvxvsbbwjskwqdamvv";
};
in
with lib;
-let unwords = concatStringsSep " "; in
+let quote = str: "\"" + str + "\""; in
+let toTomlList = list: "[" + (concatMapStringsSep ", " quote list) +"]"; in
+let unlines = concatStringsSep "\n"; in
let
param = name: options:
- if options != [] then "${name}='${unwords options}'" else null;
- config = unwords (lib.filter (x: x != null) [
+ if options != [] then "${name}=${toTomlList options}" else null;
+ config = unlines (lib.filter (x: x != null) [
+ "[buildPlans.${pname}]"
(param "design" design)
(param "upright" upright)
(param "italic" italic)
(param "oblique" oblique)
- (if family != null then "family='${family}'" else null)
+ (if family != null then "family=\"${family}\"" else null)
(param "weights" weights)
]);
- custom = design != [] || upright != [] || italic != [] || oblique != []
- || family != null || weights != [];
+ installNodeModules = unlines (lib.mapAttrsToList
+ (name: value: "mkdir -p node_modules/${name}\n cp -r ${value.outPath}/lib/node_modules/. node_modules")
+ nodePackages);
in
stdenv.mkDerivation {
@@ -58,33 +65,25 @@ stdenv.mkDerivation {
nativeBuildInputs = [ nodejs ttfautohint-nox otfcc ];
- passAsFile = [ "installPackageLock" ];
- installPackageLock = installPackageLock ./package-lock.json;
-
- preConfigure = ''
- HOME=$TMPDIR
- source "$installPackageLockPath";
- npm --offline rebuild
- '';
+ passAsFile = [ "config" "extraParameters" ];
+ config = config;
+ extraParameters = extraParameters;
configurePhase = ''
- runHook preConfigure
-
- ${optionalString custom ''make custom-config set=${set} ${config}''}
-
- runHook postConfigure
+ mkdir -p node_modules/.bin
+ ${installNodeModules}
+ ${optionalString (set != null) ''mv "$configPath" private-build-plans.toml''}
+ ${optionalString (extraParameters != null) ''cat "$extraParametersPath" >> parameters.toml''}
'';
- makeFlags = lib.optionals custom [ "custom" "set=${set}" ];
+ buildPhase = ''
+ npm run build -- ttf::${pname}
+ '';
installPhase = ''
- runHook preInstall
-
fontdir="$out/share/fonts/$pname"
install -d "$fontdir"
install "dist/$pname/ttf"/* "$fontdir"
-
- runHook postInstall
'';
enableParallelBuilding = true;
@@ -98,6 +97,6 @@ stdenv.mkDerivation {
'';
license = licenses.ofl;
platforms = platforms.all;
- maintainers = with maintainers; [ cstrahan jfrankenau ttuegel ];
+ maintainers = with maintainers; [ cstrahan jfrankenau ttuegel babariviere ];
};
}
diff --git a/pkgs/data/fonts/iosevka/generate.sh b/pkgs/data/fonts/iosevka/generate.sh
new file mode 100644
index 000000000000..e7d675b9e76c
--- /dev/null
+++ b/pkgs/data/fonts/iosevka/generate.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+node2nix --nodejs-10 --input node-packages.json \
+ --output node-packages-generated.nix \
+ --composition node-packages.nix \
+ --node-env ./../../../development/node-packages/node-env.nix
diff --git a/pkgs/data/fonts/iosevka/node-packages-generated.nix b/pkgs/data/fonts/iosevka/node-packages-generated.nix
new file mode 100644
index 000000000000..310e0161628b
--- /dev/null
+++ b/pkgs/data/fonts/iosevka/node-packages-generated.nix
@@ -0,0 +1,4257 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+ sources = {
+ "@babel/code-frame-7.5.5" = {
+ name = "_at_babel_slash_code-frame";
+ packageName = "@babel/code-frame";
+ version = "7.5.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz";
+ sha512 = "27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==";
+ };
+ };
+ "@babel/highlight-7.5.0" = {
+ name = "_at_babel_slash_highlight";
+ packageName = "@babel/highlight";
+ version = "7.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz";
+ sha512 = "7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==";
+ };
+ };
+ "JSONStream-1.3.5" = {
+ name = "JSONStream";
+ packageName = "JSONStream";
+ version = "1.3.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";
+ sha512 = "E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==";
+ };
+ };
+ "abbrev-1.1.1" = {
+ name = "abbrev";
+ packageName = "abbrev";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+ sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
+ };
+ };
+ "acorn-7.0.0" = {
+ name = "acorn";
+ packageName = "acorn";
+ version = "7.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz";
+ sha512 = "PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==";
+ };
+ };
+ "acorn-jsx-5.0.2" = {
+ name = "acorn-jsx";
+ packageName = "acorn-jsx";
+ version = "5.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz";
+ sha512 = "tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==";
+ };
+ };
+ "ajv-6.10.2" = {
+ name = "ajv";
+ packageName = "ajv";
+ version = "6.10.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
+ sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
+ };
+ };
+ "amdefine-1.0.1" = {
+ name = "amdefine";
+ packageName = "amdefine";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+ sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+ };
+ };
+ "ansi-escapes-3.2.0" = {
+ name = "ansi-escapes";
+ packageName = "ansi-escapes";
+ version = "3.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+ sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
+ };
+ };
+ "ansi-regex-2.1.1" = {
+ name = "ansi-regex";
+ packageName = "ansi-regex";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+ sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+ };
+ };
+ "ansi-regex-3.0.0" = {
+ name = "ansi-regex";
+ packageName = "ansi-regex";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
+ sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+ };
+ };
+ "ansi-regex-4.1.0" = {
+ name = "ansi-regex";
+ packageName = "ansi-regex";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
+ sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
+ };
+ };
+ "ansi-styles-3.2.1" = {
+ name = "ansi-styles";
+ packageName = "ansi-styles";
+ version = "3.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+ sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+ };
+ };
+ "aproba-1.2.0" = {
+ name = "aproba";
+ packageName = "aproba";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+ sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+ };
+ };
+ "are-we-there-yet-1.1.5" = {
+ name = "are-we-there-yet";
+ packageName = "are-we-there-yet";
+ version = "1.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+ sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
+ };
+ };
+ "argparse-1.0.10" = {
+ name = "argparse";
+ packageName = "argparse";
+ version = "1.0.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+ sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
+ };
+ };
+ "asn1-0.2.4" = {
+ name = "asn1";
+ packageName = "asn1";
+ version = "0.2.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
+ sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
+ };
+ };
+ "assert-plus-1.0.0" = {
+ name = "assert-plus";
+ packageName = "assert-plus";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+ sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+ };
+ };
+ "astral-regex-1.0.0" = {
+ name = "astral-regex";
+ packageName = "astral-regex";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
+ sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
+ };
+ };
+ "asynckit-0.4.0" = {
+ name = "asynckit";
+ packageName = "asynckit";
+ version = "0.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+ sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+ };
+ };
+ "atob-2.1.2" = {
+ name = "atob";
+ packageName = "atob";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz";
+ sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==";
+ };
+ };
+ "aws-sign2-0.7.0" = {
+ name = "aws-sign2";
+ packageName = "aws-sign2";
+ version = "0.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+ sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+ };
+ };
+ "aws4-1.8.0" = {
+ name = "aws4";
+ packageName = "aws4";
+ version = "1.8.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
+ sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+ };
+ };
+ "balanced-match-1.0.0" = {
+ name = "balanced-match";
+ packageName = "balanced-match";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+ sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+ };
+ };
+ "bcrypt-pbkdf-1.0.2" = {
+ name = "bcrypt-pbkdf";
+ packageName = "bcrypt-pbkdf";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+ sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+ };
+ };
+ "bezier-js-2.4.3" = {
+ name = "bezier-js";
+ packageName = "bezier-js";
+ version = "2.4.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bezier-js/-/bezier-js-2.4.3.tgz";
+ sha512 = "qAz1iAGoSE+kk5guAMyvoUgfHq+e5JwK5jRHh2/tuk4XDRUuECrrHLouN27jAzjhlJD2vAsBHofCi5sOn1jcbQ==";
+ };
+ };
+ "bindings-1.5.0" = {
+ name = "bindings";
+ packageName = "bindings";
+ version = "1.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
+ sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
+ };
+ };
+ "bluebird-3.5.5" = {
+ name = "bluebird";
+ packageName = "bluebird";
+ version = "3.5.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz";
+ sha512 = "5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==";
+ };
+ };
+ "brace-expansion-1.1.11" = {
+ name = "brace-expansion";
+ packageName = "brace-expansion";
+ version = "1.1.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+ sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+ };
+ };
+ "bufferstreams-2.0.1" = {
+ name = "bufferstreams";
+ packageName = "bufferstreams";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/bufferstreams/-/bufferstreams-2.0.1.tgz";
+ sha512 = "ZswyIoBfFb3cVDsnZLLj2IDJ/0ppYdil/v2EGlZXvoefO689FokEmFEldhN5dV7R2QBxFneqTJOMIpfqhj+n0g==";
+ };
+ };
+ "callsites-3.1.0" = {
+ name = "callsites";
+ packageName = "callsites";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz";
+ sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
+ };
+ };
+ "camelcase-3.0.0" = {
+ name = "camelcase";
+ packageName = "camelcase";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz";
+ sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
+ };
+ };
+ "camelcase-4.1.0" = {
+ name = "camelcase";
+ packageName = "camelcase";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+ sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+ };
+ };
+ "camelcase-5.3.1" = {
+ name = "camelcase";
+ packageName = "camelcase";
+ version = "5.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
+ sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
+ };
+ };
+ "caseless-0.12.0" = {
+ name = "caseless";
+ packageName = "caseless";
+ version = "0.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+ sha1 = "1b681c21ff84033c826543090689420d187151dc";
+ };
+ };
+ "chalk-2.4.2" = {
+ name = "chalk";
+ packageName = "chalk";
+ version = "2.4.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
+ sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
+ };
+ };
+ "chardet-0.7.0" = {
+ name = "chardet";
+ packageName = "chardet";
+ version = "0.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
+ sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
+ };
+ };
+ "child-process-promise-2.2.1" = {
+ name = "child-process-promise";
+ packageName = "child-process-promise";
+ version = "2.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz";
+ sha1 = "4730a11ef610fad450b8f223c79d31d7bdad8074";
+ };
+ };
+ "chownr-1.1.2" = {
+ name = "chownr";
+ packageName = "chownr";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz";
+ sha512 = "GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==";
+ };
+ };
+ "cli-cursor-2.1.0" = {
+ name = "cli-cursor";
+ packageName = "cli-cursor";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
+ sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+ };
+ };
+ "cli-width-2.2.0" = {
+ name = "cli-width";
+ packageName = "cli-width";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
+ sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+ };
+ };
+ "clipper-lib-1.0.0" = {
+ name = "clipper-lib";
+ packageName = "clipper-lib";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/clipper-lib/-/clipper-lib-1.0.0.tgz";
+ sha1 = "e902ceb26e28ee5cfa6014abdf790a51efff4ecb";
+ };
+ };
+ "cliui-3.2.0" = {
+ name = "cliui";
+ packageName = "cliui";
+ version = "3.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
+ sha1 = "120601537a916d29940f934da3b48d585a39213d";
+ };
+ };
+ "cliui-4.1.0" = {
+ name = "cliui";
+ packageName = "cliui";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz";
+ sha512 = "4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==";
+ };
+ };
+ "cliui-5.0.0" = {
+ name = "cliui";
+ packageName = "cliui";
+ version = "5.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
+ sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
+ };
+ };
+ "clone-2.1.2" = {
+ name = "clone";
+ packageName = "clone";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz";
+ sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
+ };
+ };
+ "code-point-at-1.1.0" = {
+ name = "code-point-at";
+ packageName = "code-point-at";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+ sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+ };
+ };
+ "color-convert-1.9.3" = {
+ name = "color-convert";
+ packageName = "color-convert";
+ version = "1.9.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
+ sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
+ };
+ };
+ "color-name-1.1.3" = {
+ name = "color-name";
+ packageName = "color-name";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+ sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+ };
+ };
+ "combined-stream-1.0.8" = {
+ name = "combined-stream";
+ packageName = "combined-stream";
+ version = "1.0.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
+ sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
+ };
+ };
+ "complex.js-2.0.11" = {
+ name = "complex.js";
+ packageName = "complex.js";
+ version = "2.0.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/complex.js/-/complex.js-2.0.11.tgz";
+ sha512 = "6IArJLApNtdg1P1dFtn3dnyzoZBEF0MwMnrfF1exSBRpZYoy4yieMkpZhQDC0uwctw48vii0CFVyHfpgZ/DfGw==";
+ };
+ };
+ "concat-map-0.0.1" = {
+ name = "concat-map";
+ packageName = "concat-map";
+ version = "0.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+ sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+ };
+ };
+ "console-control-strings-1.1.0" = {
+ name = "console-control-strings";
+ packageName = "console-control-strings";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+ sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+ };
+ };
+ "core-util-is-1.0.2" = {
+ name = "core-util-is";
+ packageName = "core-util-is";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+ sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+ };
+ };
+ "cross-spawn-4.0.2" = {
+ name = "cross-spawn";
+ packageName = "cross-spawn";
+ version = "4.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz";
+ sha1 = "7b9247621c23adfdd3856004a823cbe397424d41";
+ };
+ };
+ "cross-spawn-5.1.0" = {
+ name = "cross-spawn";
+ packageName = "cross-spawn";
+ version = "5.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
+ sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+ };
+ };
+ "cross-spawn-6.0.5" = {
+ name = "cross-spawn";
+ packageName = "cross-spawn";
+ version = "6.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz";
+ sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
+ };
+ };
+ "css-2.2.4" = {
+ name = "css";
+ packageName = "css";
+ version = "2.2.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/css/-/css-2.2.4.tgz";
+ sha512 = "oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==";
+ };
+ };
+ "css-parse-2.0.0" = {
+ name = "css-parse";
+ packageName = "css-parse";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz";
+ sha1 = "a468ee667c16d81ccf05c58c38d2a97c780dbfd4";
+ };
+ };
+ "cubic2quad-1.1.1" = {
+ name = "cubic2quad";
+ packageName = "cubic2quad";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cubic2quad/-/cubic2quad-1.1.1.tgz";
+ sha1 = "69b19c61a3f5b41ecf2f1d5fae8fb03415aa8b15";
+ };
+ };
+ "dashdash-1.14.1" = {
+ name = "dashdash";
+ packageName = "dashdash";
+ version = "1.14.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+ sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+ };
+ };
+ "debug-3.1.0" = {
+ name = "debug";
+ packageName = "debug";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+ sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
+ };
+ };
+ "debug-4.1.1" = {
+ name = "debug";
+ packageName = "debug";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz";
+ sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==";
+ };
+ };
+ "decamelize-1.2.0" = {
+ name = "decamelize";
+ packageName = "decamelize";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+ sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+ };
+ };
+ "decimal.js-10.2.0" = {
+ name = "decimal.js";
+ packageName = "decimal.js";
+ version = "10.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz";
+ sha512 = "vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==";
+ };
+ };
+ "decode-uri-component-0.2.0" = {
+ name = "decode-uri-component";
+ packageName = "decode-uri-component";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+ sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+ };
+ };
+ "deep-is-0.1.3" = {
+ name = "deep-is";
+ packageName = "deep-is";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+ sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+ };
+ };
+ "delayed-stream-1.0.0" = {
+ name = "delayed-stream";
+ packageName = "delayed-stream";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+ sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+ };
+ };
+ "delegates-1.0.0" = {
+ name = "delegates";
+ packageName = "delegates";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+ sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+ };
+ };
+ "doctrine-3.0.0" = {
+ name = "doctrine";
+ packageName = "doctrine";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz";
+ sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
+ };
+ };
+ "ecc-jsbn-0.1.2" = {
+ name = "ecc-jsbn";
+ packageName = "ecc-jsbn";
+ version = "0.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+ sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+ };
+ };
+ "emoji-regex-7.0.3" = {
+ name = "emoji-regex";
+ packageName = "emoji-regex";
+ version = "7.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
+ sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+ };
+ };
+ "end-of-stream-1.4.1" = {
+ name = "end-of-stream";
+ packageName = "end-of-stream";
+ version = "1.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
+ sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
+ };
+ };
+ "error-ex-1.3.2" = {
+ name = "error-ex";
+ packageName = "error-ex";
+ version = "1.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
+ sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
+ };
+ };
+ "escape-latex-1.2.0" = {
+ name = "escape-latex";
+ packageName = "escape-latex";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz";
+ sha512 = "nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==";
+ };
+ };
+ "escape-string-regexp-1.0.5" = {
+ name = "escape-string-regexp";
+ packageName = "escape-string-regexp";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+ sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+ };
+ };
+ "escodegen-1.12.0" = {
+ name = "escodegen";
+ packageName = "escodegen";
+ version = "1.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz";
+ sha512 = "TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==";
+ };
+ };
+ "escodegen-1.3.3" = {
+ name = "escodegen";
+ packageName = "escodegen";
+ version = "1.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
+ sha1 = "f024016f5a88e046fd12005055e939802e6c5f23";
+ };
+ };
+ "escope-1.0.3" = {
+ name = "escope";
+ packageName = "escope";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escope/-/escope-1.0.3.tgz";
+ sha1 = "759dce8496c4248fec2d0caaf4108bcf3f1a7f5d";
+ };
+ };
+ "eslint-scope-5.0.0" = {
+ name = "eslint-scope";
+ packageName = "eslint-scope";
+ version = "5.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz";
+ sha512 = "oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==";
+ };
+ };
+ "eslint-utils-1.4.2" = {
+ name = "eslint-utils";
+ packageName = "eslint-utils";
+ version = "1.4.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz";
+ sha512 = "eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==";
+ };
+ };
+ "eslint-visitor-keys-1.1.0" = {
+ name = "eslint-visitor-keys";
+ packageName = "eslint-visitor-keys";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz";
+ sha512 = "8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==";
+ };
+ };
+ "esmangle-1.0.1" = {
+ name = "esmangle";
+ packageName = "esmangle";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esmangle/-/esmangle-1.0.1.tgz";
+ sha1 = "d9bb37b8f8eafbf4e6d4ed6b7aa2956abbd3c4c2";
+ };
+ };
+ "espree-6.1.1" = {
+ name = "espree";
+ packageName = "espree";
+ version = "6.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz";
+ sha512 = "EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==";
+ };
+ };
+ "esprima-1.1.1" = {
+ name = "esprima";
+ packageName = "esprima";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
+ sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
+ };
+ };
+ "esprima-3.1.3" = {
+ name = "esprima";
+ packageName = "esprima";
+ version = "3.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz";
+ sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+ };
+ };
+ "esprima-4.0.1" = {
+ name = "esprima";
+ packageName = "esprima";
+ version = "4.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+ sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+ };
+ };
+ "esquery-1.0.1" = {
+ name = "esquery";
+ packageName = "esquery";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz";
+ sha512 = "SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==";
+ };
+ };
+ "esrecurse-4.2.1" = {
+ name = "esrecurse";
+ packageName = "esrecurse";
+ version = "4.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz";
+ sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==";
+ };
+ };
+ "esshorten-1.1.1" = {
+ name = "esshorten";
+ packageName = "esshorten";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esshorten/-/esshorten-1.1.1.tgz";
+ sha1 = "174f96b7cc267e46872d814e7db7c290bdff61a9";
+ };
+ };
+ "estraverse-1.5.1" = {
+ name = "estraverse";
+ packageName = "estraverse";
+ version = "1.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
+ sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
+ };
+ };
+ "estraverse-2.0.0" = {
+ name = "estraverse";
+ packageName = "estraverse";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/estraverse/-/estraverse-2.0.0.tgz";
+ sha1 = "5ae46963243600206674ccb24a09e16674fcdca1";
+ };
+ };
+ "estraverse-4.1.1" = {
+ name = "estraverse";
+ packageName = "estraverse";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz";
+ sha1 = "f6caca728933a850ef90661d0e17982ba47111a2";
+ };
+ };
+ "estraverse-4.3.0" = {
+ name = "estraverse";
+ packageName = "estraverse";
+ version = "4.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz";
+ sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
+ };
+ };
+ "esutils-1.0.0" = {
+ name = "esutils";
+ packageName = "esutils";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
+ sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
+ };
+ };
+ "esutils-2.0.3" = {
+ name = "esutils";
+ packageName = "esutils";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz";
+ sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
+ };
+ };
+ "execa-0.7.0" = {
+ name = "execa";
+ packageName = "execa";
+ version = "0.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
+ sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+ };
+ };
+ "execa-1.0.0" = {
+ name = "execa";
+ packageName = "execa";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz";
+ sha512 = "adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==";
+ };
+ };
+ "extend-3.0.2" = {
+ name = "extend";
+ packageName = "extend";
+ version = "3.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
+ sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
+ };
+ };
+ "external-editor-3.1.0" = {
+ name = "external-editor";
+ packageName = "external-editor";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
+ sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
+ };
+ };
+ "extsprintf-1.3.0" = {
+ name = "extsprintf";
+ packageName = "extsprintf";
+ version = "1.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+ sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+ };
+ };
+ "fast-deep-equal-2.0.1" = {
+ name = "fast-deep-equal";
+ packageName = "fast-deep-equal";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+ sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+ };
+ };
+ "fast-json-stable-stringify-2.0.0" = {
+ name = "fast-json-stable-stringify";
+ packageName = "fast-json-stable-stringify";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+ sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+ };
+ };
+ "fast-levenshtein-1.0.7" = {
+ name = "fast-levenshtein";
+ packageName = "fast-levenshtein";
+ version = "1.0.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz";
+ sha1 = "0178dcdee023b92905193af0959e8a7639cfdcb9";
+ };
+ };
+ "fast-levenshtein-2.0.6" = {
+ name = "fast-levenshtein";
+ packageName = "fast-levenshtein";
+ version = "2.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+ sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+ };
+ };
+ "figures-2.0.0" = {
+ name = "figures";
+ packageName = "figures";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
+ sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+ };
+ };
+ "file-entry-cache-5.0.1" = {
+ name = "file-entry-cache";
+ packageName = "file-entry-cache";
+ version = "5.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+ sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==";
+ };
+ };
+ "file-uri-to-path-1.0.0" = {
+ name = "file-uri-to-path";
+ packageName = "file-uri-to-path";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+ sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
+ };
+ };
+ "find-up-1.1.2" = {
+ name = "find-up";
+ packageName = "find-up";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
+ sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+ };
+ };
+ "find-up-2.1.0" = {
+ name = "find-up";
+ packageName = "find-up";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+ sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+ };
+ };
+ "find-up-3.0.0" = {
+ name = "find-up";
+ packageName = "find-up";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
+ sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
+ };
+ };
+ "first-chunk-stream-2.0.0" = {
+ name = "first-chunk-stream";
+ packageName = "first-chunk-stream";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz";
+ sha1 = "1bdecdb8e083c0664b91945581577a43a9f31d70";
+ };
+ };
+ "flat-cache-2.0.1" = {
+ name = "flat-cache";
+ packageName = "flat-cache";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz";
+ sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==";
+ };
+ };
+ "flatted-2.0.1" = {
+ name = "flatted";
+ packageName = "flatted";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz";
+ sha512 = "a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==";
+ };
+ };
+ "forever-agent-0.6.1" = {
+ name = "forever-agent";
+ packageName = "forever-agent";
+ version = "0.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+ sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+ };
+ };
+ "form-data-2.3.3" = {
+ name = "form-data";
+ packageName = "form-data";
+ version = "2.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
+ sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
+ };
+ };
+ "fraction.js-4.0.12" = {
+ name = "fraction.js";
+ packageName = "fraction.js";
+ version = "4.0.12";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.12.tgz";
+ sha512 = "8Z1K0VTG4hzYY7kA/1sj4/r1/RWLBD3xwReT/RCrUCbzPszjNQCCsy3ktkU/eaEqX3MYa4pY37a52eiBlPMlhA==";
+ };
+ };
+ "fs-extra-3.0.1" = {
+ name = "fs-extra";
+ packageName = "fs-extra";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz";
+ sha1 = "3794f378c58b342ea7dbbb23095109c4b3b62291";
+ };
+ };
+ "fs-extra-4.0.3" = {
+ name = "fs-extra";
+ packageName = "fs-extra";
+ version = "4.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz";
+ sha512 = "q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==";
+ };
+ };
+ "fs-extra-6.0.1" = {
+ name = "fs-extra";
+ packageName = "fs-extra";
+ version = "6.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz";
+ sha512 = "GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==";
+ };
+ };
+ "fs-minipass-1.2.6" = {
+ name = "fs-minipass";
+ packageName = "fs-minipass";
+ version = "1.2.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz";
+ sha512 = "crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==";
+ };
+ };
+ "fs.realpath-1.0.0" = {
+ name = "fs.realpath";
+ packageName = "fs.realpath";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+ sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+ };
+ };
+ "functional-red-black-tree-1.0.1" = {
+ name = "functional-red-black-tree";
+ packageName = "functional-red-black-tree";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+ sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+ };
+ };
+ "gauge-2.7.4" = {
+ name = "gauge";
+ packageName = "gauge";
+ version = "2.7.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+ sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+ };
+ };
+ "get-caller-file-1.0.3" = {
+ name = "get-caller-file";
+ packageName = "get-caller-file";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
+ sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
+ };
+ };
+ "get-caller-file-2.0.5" = {
+ name = "get-caller-file";
+ packageName = "get-caller-file";
+ version = "2.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
+ sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
+ };
+ };
+ "get-stream-3.0.0" = {
+ name = "get-stream";
+ packageName = "get-stream";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
+ sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+ };
+ };
+ "get-stream-4.1.0" = {
+ name = "get-stream";
+ packageName = "get-stream";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
+ sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
+ };
+ };
+ "getpass-0.1.7" = {
+ name = "getpass";
+ packageName = "getpass";
+ version = "0.1.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+ sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+ };
+ };
+ "glob-7.1.4" = {
+ name = "glob";
+ packageName = "glob";
+ version = "7.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+ sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+ };
+ };
+ "glob-parent-5.0.0" = {
+ name = "glob-parent";
+ packageName = "glob-parent";
+ version = "5.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz";
+ sha512 = "Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==";
+ };
+ };
+ "globals-11.12.0" = {
+ name = "globals";
+ packageName = "globals";
+ version = "11.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
+ sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
+ };
+ };
+ "graceful-fs-4.2.2" = {
+ name = "graceful-fs";
+ packageName = "graceful-fs";
+ version = "4.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
+ sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+ };
+ };
+ "har-schema-2.0.0" = {
+ name = "har-schema";
+ packageName = "har-schema";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+ sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+ };
+ };
+ "har-validator-5.1.3" = {
+ name = "har-validator";
+ packageName = "har-validator";
+ version = "5.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
+ sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
+ };
+ };
+ "has-flag-3.0.0" = {
+ name = "has-flag";
+ packageName = "has-flag";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+ sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+ };
+ };
+ "has-unicode-2.0.1" = {
+ name = "has-unicode";
+ packageName = "has-unicode";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+ sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+ };
+ };
+ "hosted-git-info-2.8.4" = {
+ name = "hosted-git-info";
+ packageName = "hosted-git-info";
+ version = "2.8.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz";
+ sha512 = "pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==";
+ };
+ };
+ "http-signature-1.2.0" = {
+ name = "http-signature";
+ packageName = "http-signature";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
+ sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+ };
+ };
+ "iconv-lite-0.4.24" = {
+ name = "iconv-lite";
+ packageName = "iconv-lite";
+ version = "0.4.24";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
+ sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
+ };
+ };
+ "ignore-4.0.6" = {
+ name = "ignore";
+ packageName = "ignore";
+ version = "4.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz";
+ sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
+ };
+ };
+ "import-fresh-3.1.0" = {
+ name = "import-fresh";
+ packageName = "import-fresh";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz";
+ sha512 = "PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==";
+ };
+ };
+ "imurmurhash-0.1.4" = {
+ name = "imurmurhash";
+ packageName = "imurmurhash";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+ sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+ };
+ };
+ "inflight-1.0.6" = {
+ name = "inflight";
+ packageName = "inflight";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+ sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+ };
+ };
+ "inherits-2.0.4" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
+ sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
+ };
+ };
+ "inquirer-6.5.2" = {
+ name = "inquirer";
+ packageName = "inquirer";
+ version = "6.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz";
+ sha512 = "cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==";
+ };
+ };
+ "invert-kv-1.0.0" = {
+ name = "invert-kv";
+ packageName = "invert-kv";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+ sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+ };
+ };
+ "invert-kv-2.0.0" = {
+ name = "invert-kv";
+ packageName = "invert-kv";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz";
+ sha512 = "wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==";
+ };
+ };
+ "is-arrayish-0.2.1" = {
+ name = "is-arrayish";
+ packageName = "is-arrayish";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+ sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+ };
+ };
+ "is-extglob-2.1.1" = {
+ name = "is-extglob";
+ packageName = "is-extglob";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+ sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+ };
+ };
+ "is-fullwidth-code-point-1.0.0" = {
+ name = "is-fullwidth-code-point";
+ packageName = "is-fullwidth-code-point";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+ sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+ };
+ };
+ "is-fullwidth-code-point-2.0.0" = {
+ name = "is-fullwidth-code-point";
+ packageName = "is-fullwidth-code-point";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+ sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+ };
+ };
+ "is-glob-4.0.1" = {
+ name = "is-glob";
+ packageName = "is-glob";
+ version = "4.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
+ sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
+ };
+ };
+ "is-promise-2.1.0" = {
+ name = "is-promise";
+ packageName = "is-promise";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+ sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+ };
+ };
+ "is-stream-1.1.0" = {
+ name = "is-stream";
+ packageName = "is-stream";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+ sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+ };
+ };
+ "is-typedarray-1.0.0" = {
+ name = "is-typedarray";
+ packageName = "is-typedarray";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+ sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+ };
+ };
+ "is-utf8-0.2.1" = {
+ name = "is-utf8";
+ packageName = "is-utf8";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
+ sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+ };
+ };
+ "isarray-1.0.0" = {
+ name = "isarray";
+ packageName = "isarray";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+ sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+ };
+ };
+ "isexe-2.0.0" = {
+ name = "isexe";
+ packageName = "isexe";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+ sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+ };
+ };
+ "isstream-0.1.2" = {
+ name = "isstream";
+ packageName = "isstream";
+ version = "0.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+ sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+ };
+ };
+ "javascript-natural-sort-0.7.1" = {
+ name = "javascript-natural-sort";
+ packageName = "javascript-natural-sort";
+ version = "0.7.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz";
+ sha1 = "f9e2303d4507f6d74355a73664d1440fb5a0ef59";
+ };
+ };
+ "js-tokens-4.0.0" = {
+ name = "js-tokens";
+ packageName = "js-tokens";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz";
+ sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
+ };
+ };
+ "js-yaml-3.13.1" = {
+ name = "js-yaml";
+ packageName = "js-yaml";
+ version = "3.13.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz";
+ sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
+ };
+ };
+ "jsbn-0.1.1" = {
+ name = "jsbn";
+ packageName = "jsbn";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+ sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+ };
+ };
+ "json-schema-0.2.3" = {
+ name = "json-schema";
+ packageName = "json-schema";
+ version = "0.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+ sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+ };
+ };
+ "json-schema-traverse-0.4.1" = {
+ name = "json-schema-traverse";
+ packageName = "json-schema-traverse";
+ version = "0.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+ sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+ };
+ };
+ "json-stable-stringify-without-jsonify-1.0.1" = {
+ name = "json-stable-stringify-without-jsonify";
+ packageName = "json-stable-stringify-without-jsonify";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+ sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+ };
+ };
+ "json-stringify-safe-5.0.1" = {
+ name = "json-stringify-safe";
+ packageName = "json-stringify-safe";
+ version = "5.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+ sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+ };
+ };
+ "jsonfile-3.0.1" = {
+ name = "jsonfile";
+ packageName = "jsonfile";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz";
+ sha1 = "a5ecc6f65f53f662c4415c7675a0331d0992ec66";
+ };
+ };
+ "jsonfile-4.0.0" = {
+ name = "jsonfile";
+ packageName = "jsonfile";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
+ sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+ };
+ };
+ "jsonparse-1.3.1" = {
+ name = "jsonparse";
+ packageName = "jsonparse";
+ version = "1.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
+ sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
+ };
+ };
+ "jsprim-1.4.1" = {
+ name = "jsprim";
+ packageName = "jsprim";
+ version = "1.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+ sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+ };
+ };
+ "lcid-1.0.0" = {
+ name = "lcid";
+ packageName = "lcid";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+ sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+ };
+ };
+ "lcid-2.0.0" = {
+ name = "lcid";
+ packageName = "lcid";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz";
+ sha512 = "avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==";
+ };
+ };
+ "levn-0.2.5" = {
+ name = "levn";
+ packageName = "levn";
+ version = "0.2.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz";
+ sha1 = "ba8d339d0ca4a610e3a3f145b9caf48807155054";
+ };
+ };
+ "levn-0.3.0" = {
+ name = "levn";
+ packageName = "levn";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+ sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+ };
+ };
+ "load-json-file-1.1.0" = {
+ name = "load-json-file";
+ packageName = "load-json-file";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
+ sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+ };
+ };
+ "load-json-file-2.0.0" = {
+ name = "load-json-file";
+ packageName = "load-json-file";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz";
+ sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+ };
+ };
+ "locate-path-2.0.0" = {
+ name = "locate-path";
+ packageName = "locate-path";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+ sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+ };
+ };
+ "locate-path-3.0.0" = {
+ name = "locate-path";
+ packageName = "locate-path";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
+ sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
+ };
+ };
+ "lodash-4.17.15" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "4.17.15";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";
+ sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==";
+ };
+ };
+ "lru-cache-4.1.5" = {
+ name = "lru-cache";
+ packageName = "lru-cache";
+ version = "4.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz";
+ sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
+ };
+ };
+ "map-age-cleaner-0.1.3" = {
+ name = "map-age-cleaner";
+ packageName = "map-age-cleaner";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+ sha512 = "bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==";
+ };
+ };
+ "mathjs-5.10.3" = {
+ name = "mathjs";
+ packageName = "mathjs";
+ version = "5.10.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mathjs/-/mathjs-5.10.3.tgz";
+ sha512 = "ySjg30BC3dYjQm73ILZtwcWzFJde0VU6otkXW/57IjjuYRa3Qaf0Kb8pydEuBZYtqW2OxreAtsricrAmOj3jIw==";
+ };
+ };
+ "megaminx-0.3.3" = {
+ name = "megaminx";
+ packageName = "megaminx";
+ version = "0.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/megaminx/-/megaminx-0.3.3.tgz";
+ sha512 = "lZBSLMro+XYJIix9zCZ8N6nZgixpjUPkX6CKuh+Y9Wl9bir/2Fp27NWapA0cNQCPrzOOI9sAwxc4BI14aIdumw==";
+ };
+ };
+ "mem-1.1.0" = {
+ name = "mem";
+ packageName = "mem";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz";
+ sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
+ };
+ };
+ "mem-4.3.0" = {
+ name = "mem";
+ packageName = "mem";
+ version = "4.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz";
+ sha512 = "qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==";
+ };
+ };
+ "microbuffer-1.0.0" = {
+ name = "microbuffer";
+ packageName = "microbuffer";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz";
+ sha1 = "8b3832ed40c87d51f47bb234913a698a756d19d2";
+ };
+ };
+ "mime-db-1.40.0" = {
+ name = "mime-db";
+ packageName = "mime-db";
+ version = "1.40.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz";
+ sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
+ };
+ };
+ "mime-types-2.1.24" = {
+ name = "mime-types";
+ packageName = "mime-types";
+ version = "2.1.24";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz";
+ sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
+ };
+ };
+ "mimic-fn-1.2.0" = {
+ name = "mimic-fn";
+ packageName = "mimic-fn";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
+ sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
+ };
+ };
+ "mimic-fn-2.1.0" = {
+ name = "mimic-fn";
+ packageName = "mimic-fn";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz";
+ sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
+ };
+ };
+ "minimatch-3.0.4" = {
+ name = "minimatch";
+ packageName = "minimatch";
+ version = "3.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+ sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+ };
+ };
+ "minimist-0.0.8" = {
+ name = "minimist";
+ packageName = "minimist";
+ version = "0.0.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+ sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+ };
+ };
+ "minipass-2.5.1" = {
+ name = "minipass";
+ packageName = "minipass";
+ version = "2.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minipass/-/minipass-2.5.1.tgz";
+ sha512 = "dmpSnLJtNQioZFI5HfQ55Ad0DzzsMAb+HfokwRTNXwEQjepbTkl5mtIlSVxGIkOkxlpX7wIn5ET/oAd9fZ/Y/Q==";
+ };
+ };
+ "minizlib-1.2.2" = {
+ name = "minizlib";
+ packageName = "minizlib";
+ version = "1.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz";
+ sha512 = "hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==";
+ };
+ };
+ "mkdirp-0.5.1" = {
+ name = "mkdirp";
+ packageName = "mkdirp";
+ version = "0.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+ sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+ };
+ };
+ "ms-2.0.0" = {
+ name = "ms";
+ packageName = "ms";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+ sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+ };
+ };
+ "ms-2.1.2" = {
+ name = "ms";
+ packageName = "ms";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
+ sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
+ };
+ };
+ "mute-stream-0.0.7" = {
+ name = "mute-stream";
+ packageName = "mute-stream";
+ version = "0.0.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz";
+ sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+ };
+ };
+ "nan-2.14.0" = {
+ name = "nan";
+ packageName = "nan";
+ version = "2.14.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
+ sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
+ };
+ };
+ "natural-compare-1.4.0" = {
+ name = "natural-compare";
+ packageName = "natural-compare";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz";
+ sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+ };
+ };
+ "nice-try-1.0.5" = {
+ name = "nice-try";
+ packageName = "nice-try";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz";
+ sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==";
+ };
+ };
+ "node-gyp-4.0.0" = {
+ name = "node-gyp";
+ packageName = "node-gyp";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-gyp/-/node-gyp-4.0.0.tgz";
+ sha512 = "2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==";
+ };
+ };
+ "node-version-1.2.0" = {
+ name = "node-version";
+ packageName = "node-version";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-version/-/node-version-1.2.0.tgz";
+ sha512 = "ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==";
+ };
+ };
+ "nopt-3.0.6" = {
+ name = "nopt";
+ packageName = "nopt";
+ version = "3.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+ sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+ };
+ };
+ "normalize-package-data-2.5.0" = {
+ name = "normalize-package-data";
+ packageName = "normalize-package-data";
+ version = "2.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+ sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
+ };
+ };
+ "npm-run-path-2.0.2" = {
+ name = "npm-run-path";
+ packageName = "npm-run-path";
+ version = "2.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+ sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+ };
+ };
+ "npmlog-4.1.2" = {
+ name = "npmlog";
+ packageName = "npmlog";
+ version = "4.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+ sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+ };
+ };
+ "number-is-nan-1.0.1" = {
+ name = "number-is-nan";
+ packageName = "number-is-nan";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+ sha1 = "097b602b53422a522c1afb8790318336941a011d";
+ };
+ };
+ "oauth-sign-0.9.0" = {
+ name = "oauth-sign";
+ packageName = "oauth-sign";
+ version = "0.9.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
+ sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
+ };
+ };
+ "object-assign-4.1.1" = {
+ name = "object-assign";
+ packageName = "object-assign";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+ sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+ };
+ };
+ "once-1.4.0" = {
+ name = "once";
+ packageName = "once";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+ sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+ };
+ };
+ "onetime-2.0.1" = {
+ name = "onetime";
+ packageName = "onetime";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
+ sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+ };
+ };
+ "optionator-0.3.0" = {
+ name = "optionator";
+ packageName = "optionator";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/optionator/-/optionator-0.3.0.tgz";
+ sha1 = "9715a8b5f5e7586cff06c8249e039cd7364d3f54";
+ };
+ };
+ "optionator-0.8.2" = {
+ name = "optionator";
+ packageName = "optionator";
+ version = "0.8.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
+ sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+ };
+ };
+ "os-homedir-1.0.2" = {
+ name = "os-homedir";
+ packageName = "os-homedir";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+ sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+ };
+ };
+ "os-locale-1.4.0" = {
+ name = "os-locale";
+ packageName = "os-locale";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
+ sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+ };
+ };
+ "os-locale-2.1.0" = {
+ name = "os-locale";
+ packageName = "os-locale";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
+ sha512 = "3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==";
+ };
+ };
+ "os-locale-3.1.0" = {
+ name = "os-locale";
+ packageName = "os-locale";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz";
+ sha512 = "Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==";
+ };
+ };
+ "os-tmpdir-1.0.2" = {
+ name = "os-tmpdir";
+ packageName = "os-tmpdir";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+ sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+ };
+ };
+ "osenv-0.1.5" = {
+ name = "osenv";
+ packageName = "osenv";
+ version = "0.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
+ sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
+ };
+ };
+ "p-defer-1.0.0" = {
+ name = "p-defer";
+ packageName = "p-defer";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz";
+ sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+ };
+ };
+ "p-finally-1.0.0" = {
+ name = "p-finally";
+ packageName = "p-finally";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+ sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+ };
+ };
+ "p-is-promise-2.1.0" = {
+ name = "p-is-promise";
+ packageName = "p-is-promise";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz";
+ sha512 = "Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==";
+ };
+ };
+ "p-limit-1.3.0" = {
+ name = "p-limit";
+ packageName = "p-limit";
+ version = "1.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
+ sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
+ };
+ };
+ "p-limit-2.2.1" = {
+ name = "p-limit";
+ packageName = "p-limit";
+ version = "2.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz";
+ sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==";
+ };
+ };
+ "p-locate-2.0.0" = {
+ name = "p-locate";
+ packageName = "p-locate";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+ sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+ };
+ };
+ "p-locate-3.0.0" = {
+ name = "p-locate";
+ packageName = "p-locate";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
+ sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
+ };
+ };
+ "p-try-1.0.0" = {
+ name = "p-try";
+ packageName = "p-try";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+ sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+ };
+ };
+ "p-try-2.2.0" = {
+ name = "p-try";
+ packageName = "p-try";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
+ sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
+ };
+ };
+ "pako-1.0.10" = {
+ name = "pako";
+ packageName = "pako";
+ version = "1.0.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz";
+ sha512 = "0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==";
+ };
+ };
+ "parent-module-1.0.1" = {
+ name = "parent-module";
+ packageName = "parent-module";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz";
+ sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
+ };
+ };
+ "parse-json-2.2.0" = {
+ name = "parse-json";
+ packageName = "parse-json";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+ sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+ };
+ };
+ "path-exists-2.1.0" = {
+ name = "path-exists";
+ packageName = "path-exists";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
+ sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+ };
+ };
+ "path-exists-3.0.0" = {
+ name = "path-exists";
+ packageName = "path-exists";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+ sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+ };
+ };
+ "path-is-absolute-1.0.1" = {
+ name = "path-is-absolute";
+ packageName = "path-is-absolute";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+ sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+ };
+ };
+ "path-key-2.0.1" = {
+ name = "path-key";
+ packageName = "path-key";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+ sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+ };
+ };
+ "path-parse-1.0.6" = {
+ name = "path-parse";
+ packageName = "path-parse";
+ version = "1.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz";
+ sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==";
+ };
+ };
+ "path-type-1.1.0" = {
+ name = "path-type";
+ packageName = "path-type";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
+ sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+ };
+ };
+ "path-type-2.0.0" = {
+ name = "path-type";
+ packageName = "path-type";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz";
+ sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+ };
+ };
+ "patrisika-0.21.0" = {
+ name = "patrisika";
+ packageName = "patrisika";
+ version = "0.21.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/patrisika/-/patrisika-0.21.0.tgz";
+ sha1 = "b82c27f7d4041522dc5c31b43b7c6efb19e47482";
+ };
+ };
+ "patrisika-scopes-0.11.1" = {
+ name = "patrisika-scopes";
+ packageName = "patrisika-scopes";
+ version = "0.11.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/patrisika-scopes/-/patrisika-scopes-0.11.1.tgz";
+ sha512 = "UCIBMx1nzNaR5CcDoQ9/jtY5RlJqf2CrJYHiMZJhi15NPvsPKRfJT/DPZMkhCunexOKmH03EDZYZU1hGn7mL0w==";
+ };
+ };
+ "performance-now-2.1.0" = {
+ name = "performance-now";
+ packageName = "performance-now";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+ sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+ };
+ };
+ "pify-2.3.0" = {
+ name = "pify";
+ packageName = "pify";
+ version = "2.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+ sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+ };
+ };
+ "pinkie-2.0.4" = {
+ name = "pinkie";
+ packageName = "pinkie";
+ version = "2.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+ sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+ };
+ };
+ "pinkie-promise-2.0.1" = {
+ name = "pinkie-promise";
+ packageName = "pinkie-promise";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+ sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+ };
+ };
+ "prelude-ls-1.1.2" = {
+ name = "prelude-ls";
+ packageName = "prelude-ls";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+ sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+ };
+ };
+ "process-nextick-args-2.0.1" = {
+ name = "process-nextick-args";
+ packageName = "process-nextick-args";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+ sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
+ };
+ };
+ "progress-2.0.3" = {
+ name = "progress";
+ packageName = "progress";
+ version = "2.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz";
+ sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
+ };
+ };
+ "promise-polyfill-6.1.0" = {
+ name = "promise-polyfill";
+ packageName = "promise-polyfill";
+ version = "6.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz";
+ sha1 = "dfa96943ea9c121fca4de9b5868cb39d3472e057";
+ };
+ };
+ "proper-lockfile-3.2.0" = {
+ name = "proper-lockfile";
+ packageName = "proper-lockfile";
+ version = "3.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-3.2.0.tgz";
+ sha512 = "iMghHHXv2bsxl6NchhEaFck8tvX3F9cknEEh1SUpguUOBjN7PAAW9BLzmbc1g/mCD1gY3EE2EABBHPJfFdHFmA==";
+ };
+ };
+ "pseudomap-1.0.2" = {
+ name = "pseudomap";
+ packageName = "pseudomap";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+ sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+ };
+ };
+ "psl-1.4.0" = {
+ name = "psl";
+ packageName = "psl";
+ version = "1.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
+ sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+ };
+ };
+ "pump-3.0.0" = {
+ name = "pump";
+ packageName = "pump";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+ sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
+ };
+ };
+ "punycode-1.4.1" = {
+ name = "punycode";
+ packageName = "punycode";
+ version = "1.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+ sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+ };
+ };
+ "punycode-2.1.1" = {
+ name = "punycode";
+ packageName = "punycode";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
+ sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
+ };
+ };
+ "qs-6.5.2" = {
+ name = "qs";
+ packageName = "qs";
+ version = "6.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+ sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+ };
+ };
+ "read-pkg-1.1.0" = {
+ name = "read-pkg";
+ packageName = "read-pkg";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
+ sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+ };
+ };
+ "read-pkg-2.0.0" = {
+ name = "read-pkg";
+ packageName = "read-pkg";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz";
+ sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+ };
+ };
+ "read-pkg-up-1.0.1" = {
+ name = "read-pkg-up";
+ packageName = "read-pkg-up";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
+ sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+ };
+ };
+ "read-pkg-up-2.0.0" = {
+ name = "read-pkg-up";
+ packageName = "read-pkg-up";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+ sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+ };
+ };
+ "readable-stream-2.3.6" = {
+ name = "readable-stream";
+ packageName = "readable-stream";
+ version = "2.3.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+ sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+ };
+ };
+ "regexpp-2.0.1" = {
+ name = "regexpp";
+ packageName = "regexpp";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz";
+ sha512 = "lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==";
+ };
+ };
+ "request-2.88.0" = {
+ name = "request";
+ packageName = "request";
+ version = "2.88.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+ sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
+ };
+ };
+ "require-directory-2.1.1" = {
+ name = "require-directory";
+ packageName = "require-directory";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+ sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+ };
+ };
+ "require-main-filename-1.0.1" = {
+ name = "require-main-filename";
+ packageName = "require-main-filename";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+ sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+ };
+ };
+ "require-main-filename-2.0.0" = {
+ name = "require-main-filename";
+ packageName = "require-main-filename";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
+ sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
+ };
+ };
+ "resolve-1.12.0" = {
+ name = "resolve";
+ packageName = "resolve";
+ version = "1.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz";
+ sha512 = "B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==";
+ };
+ };
+ "resolve-from-4.0.0" = {
+ name = "resolve-from";
+ packageName = "resolve-from";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";
+ sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
+ };
+ };
+ "resolve-url-0.2.1" = {
+ name = "resolve-url";
+ packageName = "resolve-url";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
+ sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+ };
+ };
+ "restore-cursor-2.0.0" = {
+ name = "restore-cursor";
+ packageName = "restore-cursor";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
+ sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+ };
+ };
+ "resumer-0.0.0" = {
+ name = "resumer";
+ packageName = "resumer";
+ version = "0.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz";
+ sha1 = "f1e8f461e4064ba39e82af3cdc2a8c893d076759";
+ };
+ };
+ "retry-0.12.0" = {
+ name = "retry";
+ packageName = "retry";
+ version = "0.12.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz";
+ sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b";
+ };
+ };
+ "rimraf-2.2.8" = {
+ name = "rimraf";
+ packageName = "rimraf";
+ version = "2.2.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+ sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+ };
+ };
+ "rimraf-2.6.3" = {
+ name = "rimraf";
+ packageName = "rimraf";
+ version = "2.6.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
+ sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
+ };
+ };
+ "rimraf-2.7.1" = {
+ name = "rimraf";
+ packageName = "rimraf";
+ version = "2.7.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
+ sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
+ };
+ };
+ "run-async-2.3.0" = {
+ name = "run-async";
+ packageName = "run-async";
+ version = "2.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz";
+ sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+ };
+ };
+ "rxjs-6.5.3" = {
+ name = "rxjs";
+ packageName = "rxjs";
+ version = "6.5.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz";
+ sha512 = "wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==";
+ };
+ };
+ "safe-buffer-5.1.2" = {
+ name = "safe-buffer";
+ packageName = "safe-buffer";
+ version = "5.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+ sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+ };
+ };
+ "safer-buffer-2.1.2" = {
+ name = "safer-buffer";
+ packageName = "safer-buffer";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+ sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+ };
+ };
+ "sax-1.2.4" = {
+ name = "sax";
+ packageName = "sax";
+ version = "1.2.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+ sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+ };
+ };
+ "seed-random-2.2.0" = {
+ name = "seed-random";
+ packageName = "seed-random";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz";
+ sha1 = "2a9b19e250a817099231a5b99a4daf80b7fbed54";
+ };
+ };
+ "semaphore-async-await-1.5.1" = {
+ name = "semaphore-async-await";
+ packageName = "semaphore-async-await";
+ version = "1.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz";
+ sha1 = "857bef5e3644601ca4b9570b87e9df5ca12974fa";
+ };
+ };
+ "semver-5.3.0" = {
+ name = "semver";
+ packageName = "semver";
+ version = "5.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+ sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+ };
+ };
+ "semver-5.7.1" = {
+ name = "semver";
+ packageName = "semver";
+ version = "5.7.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
+ sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+ };
+ };
+ "semver-6.3.0" = {
+ name = "semver";
+ packageName = "semver";
+ version = "6.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz";
+ sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
+ };
+ };
+ "set-blocking-2.0.0" = {
+ name = "set-blocking";
+ packageName = "set-blocking";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+ sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+ };
+ };
+ "shebang-command-1.2.0" = {
+ name = "shebang-command";
+ packageName = "shebang-command";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+ sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+ };
+ };
+ "shebang-regex-1.0.0" = {
+ name = "shebang-regex";
+ packageName = "shebang-regex";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+ sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+ };
+ };
+ "signal-exit-3.0.2" = {
+ name = "signal-exit";
+ packageName = "signal-exit";
+ version = "3.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+ sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+ };
+ };
+ "slice-ansi-2.1.0" = {
+ name = "slice-ansi";
+ packageName = "slice-ansi";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz";
+ sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
+ };
+ };
+ "source-map-0.1.43" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.1.43";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+ sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+ };
+ };
+ "source-map-0.6.1" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.6.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+ sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+ };
+ };
+ "source-map-0.7.3" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.7.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz";
+ sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
+ };
+ };
+ "source-map-resolve-0.5.2" = {
+ name = "source-map-resolve";
+ packageName = "source-map-resolve";
+ version = "0.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+ sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==";
+ };
+ };
+ "source-map-url-0.4.0" = {
+ name = "source-map-url";
+ packageName = "source-map-url";
+ version = "0.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
+ sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+ };
+ };
+ "spdx-correct-3.1.0" = {
+ name = "spdx-correct";
+ packageName = "spdx-correct";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz";
+ sha512 = "lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==";
+ };
+ };
+ "spdx-exceptions-2.2.0" = {
+ name = "spdx-exceptions";
+ packageName = "spdx-exceptions";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+ sha512 = "2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==";
+ };
+ };
+ "spdx-expression-parse-3.0.0" = {
+ name = "spdx-expression-parse";
+ packageName = "spdx-expression-parse";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+ sha512 = "Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==";
+ };
+ };
+ "spdx-license-ids-3.0.5" = {
+ name = "spdx-license-ids";
+ packageName = "spdx-license-ids";
+ version = "3.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
+ sha512 = "J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==";
+ };
+ };
+ "split-1.0.1" = {
+ name = "split";
+ packageName = "split";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/split/-/split-1.0.1.tgz";
+ sha512 = "mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==";
+ };
+ };
+ "sprintf-js-1.0.3" = {
+ name = "sprintf-js";
+ packageName = "sprintf-js";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+ sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+ };
+ };
+ "sshpk-1.16.1" = {
+ name = "sshpk";
+ packageName = "sshpk";
+ version = "1.16.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
+ sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
+ };
+ };
+ "stack-trace-0.0.9" = {
+ name = "stack-trace";
+ packageName = "stack-trace";
+ version = "0.0.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+ sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
+ };
+ };
+ "string-width-1.0.2" = {
+ name = "string-width";
+ packageName = "string-width";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+ sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+ };
+ };
+ "string-width-2.1.1" = {
+ name = "string-width";
+ packageName = "string-width";
+ version = "2.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
+ sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+ };
+ };
+ "string-width-3.1.0" = {
+ name = "string-width";
+ packageName = "string-width";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
+ sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
+ };
+ };
+ "string_decoder-1.1.1" = {
+ name = "string_decoder";
+ packageName = "string_decoder";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+ sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+ };
+ };
+ "strip-ansi-3.0.1" = {
+ name = "strip-ansi";
+ packageName = "strip-ansi";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+ sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+ };
+ };
+ "strip-ansi-4.0.0" = {
+ name = "strip-ansi";
+ packageName = "strip-ansi";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
+ sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+ };
+ };
+ "strip-ansi-5.2.0" = {
+ name = "strip-ansi";
+ packageName = "strip-ansi";
+ version = "5.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
+ sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
+ };
+ };
+ "strip-bom-2.0.0" = {
+ name = "strip-bom";
+ packageName = "strip-bom";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
+ sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+ };
+ };
+ "strip-bom-3.0.0" = {
+ name = "strip-bom";
+ packageName = "strip-bom";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+ sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+ };
+ };
+ "strip-bom-buf-1.0.0" = {
+ name = "strip-bom-buf";
+ packageName = "strip-bom-buf";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz";
+ sha1 = "1cb45aaf57530f4caf86c7f75179d2c9a51dd572";
+ };
+ };
+ "strip-bom-stream-3.0.0" = {
+ name = "strip-bom-stream";
+ packageName = "strip-bom-stream";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-3.0.0.tgz";
+ sha1 = "956bcc5d84430f69256a90ed823765cd858e159c";
+ };
+ };
+ "strip-eof-1.0.0" = {
+ name = "strip-eof";
+ packageName = "strip-eof";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+ sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+ };
+ };
+ "strip-json-comments-3.0.1" = {
+ name = "strip-json-comments";
+ packageName = "strip-json-comments";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz";
+ sha512 = "VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==";
+ };
+ };
+ "supports-color-5.5.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "5.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
+ sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
+ };
+ };
+ "table-5.4.6" = {
+ name = "table";
+ packageName = "table";
+ version = "5.4.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/table/-/table-5.4.6.tgz";
+ sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==";
+ };
+ };
+ "tar-4.4.10" = {
+ name = "tar";
+ packageName = "tar";
+ version = "4.4.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz";
+ sha512 = "g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==";
+ };
+ };
+ "temp-0.8.3" = {
+ name = "temp";
+ packageName = "temp";
+ version = "0.8.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz";
+ sha1 = "e0c6bc4d26b903124410e4fed81103014dfc1f59";
+ };
+ };
+ "text-table-0.2.0" = {
+ name = "text-table";
+ packageName = "text-table";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+ sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+ };
+ };
+ "through-2.3.8" = {
+ name = "through";
+ packageName = "through";
+ version = "2.3.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+ sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+ };
+ };
+ "tiny-emitter-2.1.0" = {
+ name = "tiny-emitter";
+ packageName = "tiny-emitter";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz";
+ sha512 = "NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==";
+ };
+ };
+ "tmp-0.0.33" = {
+ name = "tmp";
+ packageName = "tmp";
+ version = "0.0.33";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
+ sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
+ };
+ };
+ "tough-cookie-2.4.3" = {
+ name = "tough-cookie";
+ packageName = "tough-cookie";
+ version = "2.4.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+ sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+ };
+ };
+ "ts-process-promises-1.0.2" = {
+ name = "ts-process-promises";
+ packageName = "ts-process-promises";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ts-process-promises/-/ts-process-promises-1.0.2.tgz";
+ sha512 = "6qWWz2HdFbD2uAfgS5t65Dd6HQKYjfra+YXQzKzxIG+RKTpoeDi+x+TW85SEF3cWUI2UecrOXJobvD+04MiTZg==";
+ };
+ };
+ "tslib-1.10.0" = {
+ name = "tslib";
+ packageName = "tslib";
+ version = "1.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz";
+ sha512 = "qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==";
+ };
+ };
+ "tslib-1.9.3" = {
+ name = "tslib";
+ packageName = "tslib";
+ version = "1.9.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz";
+ sha512 = "4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==";
+ };
+ };
+ "tunnel-agent-0.6.0" = {
+ name = "tunnel-agent";
+ packageName = "tunnel-agent";
+ version = "0.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+ sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+ };
+ };
+ "tweetnacl-0.14.5" = {
+ name = "tweetnacl";
+ packageName = "tweetnacl";
+ version = "0.14.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+ sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+ };
+ };
+ "type-check-0.3.2" = {
+ name = "type-check";
+ packageName = "type-check";
+ version = "0.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+ sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+ };
+ };
+ "typed-function-1.1.0" = {
+ name = "typed-function";
+ packageName = "typed-function";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/typed-function/-/typed-function-1.1.0.tgz";
+ sha512 = "TuQzwiT4DDg19beHam3E66oRXhyqlyfgjHB/5fcvsRXbfmWPJfto9B4a0TBdTrQAPGlGmXh/k7iUI+WsObgORA==";
+ };
+ };
+ "typo-geom-0.5.1" = {
+ name = "typo-geom";
+ packageName = "typo-geom";
+ version = "0.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/typo-geom/-/typo-geom-0.5.1.tgz";
+ sha512 = "nj81m0eqRMpK6NcwkGlT9r3CbwjCQhsFU6SBUuYW9TDveqIdi/QUFGkikoImtE1C6OzY2LvuVMSG8rx/ZTCGtQ==";
+ };
+ };
+ "universalify-0.1.2" = {
+ name = "universalify";
+ packageName = "universalify";
+ version = "0.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+ sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
+ };
+ };
+ "uri-js-4.2.2" = {
+ name = "uri-js";
+ packageName = "uri-js";
+ version = "4.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+ sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+ };
+ };
+ "urix-0.1.0" = {
+ name = "urix";
+ packageName = "urix";
+ version = "0.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
+ sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+ };
+ };
+ "util-deprecate-1.0.2" = {
+ name = "util-deprecate";
+ packageName = "util-deprecate";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+ sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+ };
+ };
+ "uuid-3.3.3" = {
+ name = "uuid";
+ packageName = "uuid";
+ version = "3.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz";
+ sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==";
+ };
+ };
+ "v8-compile-cache-2.1.0" = {
+ name = "v8-compile-cache";
+ packageName = "v8-compile-cache";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+ sha512 = "usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==";
+ };
+ };
+ "validate-npm-package-license-3.0.4" = {
+ name = "validate-npm-package-license";
+ packageName = "validate-npm-package-license";
+ version = "3.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+ sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
+ };
+ };
+ "verror-1.10.0" = {
+ name = "verror";
+ packageName = "verror";
+ version = "1.10.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+ sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+ };
+ };
+ "which-1.3.1" = {
+ name = "which";
+ packageName = "which";
+ version = "1.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
+ sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
+ };
+ };
+ "which-module-1.0.0" = {
+ name = "which-module";
+ packageName = "which-module";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz";
+ sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+ };
+ };
+ "which-module-2.0.0" = {
+ name = "which-module";
+ packageName = "which-module";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+ sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+ };
+ };
+ "wide-align-1.1.3" = {
+ name = "wide-align";
+ packageName = "wide-align";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
+ sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+ };
+ };
+ "wordwrap-0.0.3" = {
+ name = "wordwrap";
+ packageName = "wordwrap";
+ version = "0.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+ sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+ };
+ };
+ "wordwrap-1.0.0" = {
+ name = "wordwrap";
+ packageName = "wordwrap";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+ sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+ };
+ };
+ "wrap-ansi-2.1.0" = {
+ name = "wrap-ansi";
+ packageName = "wrap-ansi";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+ sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+ };
+ };
+ "wrap-ansi-5.1.0" = {
+ name = "wrap-ansi";
+ packageName = "wrap-ansi";
+ version = "5.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+ sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
+ };
+ };
+ "wrappy-1.0.2" = {
+ name = "wrappy";
+ packageName = "wrappy";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+ sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+ };
+ };
+ "write-1.0.3" = {
+ name = "write";
+ packageName = "write";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/write/-/write-1.0.3.tgz";
+ sha512 = "/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==";
+ };
+ };
+ "y18n-3.2.1" = {
+ name = "y18n";
+ packageName = "y18n";
+ version = "3.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
+ sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+ };
+ };
+ "y18n-4.0.0" = {
+ name = "y18n";
+ packageName = "y18n";
+ version = "4.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
+ sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
+ };
+ };
+ "yallist-2.1.2" = {
+ name = "yallist";
+ packageName = "yallist";
+ version = "2.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+ sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+ };
+ };
+ "yallist-3.0.3" = {
+ name = "yallist";
+ packageName = "yallist";
+ version = "3.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz";
+ sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==";
+ };
+ };
+ "yargs-12.0.5" = {
+ name = "yargs";
+ packageName = "yargs";
+ version = "12.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz";
+ sha512 = "Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==";
+ };
+ };
+ "yargs-6.6.0" = {
+ name = "yargs";
+ packageName = "yargs";
+ version = "6.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz";
+ sha1 = "782ec21ef403345f830a808ca3d513af56065208";
+ };
+ };
+ "yargs-8.0.2" = {
+ name = "yargs";
+ packageName = "yargs";
+ version = "8.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz";
+ sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360";
+ };
+ };
+ "yargs-parser-11.1.1" = {
+ name = "yargs-parser";
+ packageName = "yargs-parser";
+ version = "11.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz";
+ sha512 = "C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==";
+ };
+ };
+ "yargs-parser-13.1.1" = {
+ name = "yargs-parser";
+ packageName = "yargs-parser";
+ version = "13.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
+ sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
+ };
+ };
+ "yargs-parser-4.2.1" = {
+ name = "yargs-parser";
+ packageName = "yargs-parser";
+ version = "4.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz";
+ sha1 = "29cceac0dc4f03c6c87b4a9f217dd18c9f74871c";
+ };
+ };
+ "yargs-parser-7.0.0" = {
+ name = "yargs-parser";
+ packageName = "yargs-parser";
+ version = "7.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz";
+ sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
+ };
+ };
+ };
+in
+{
+ caryll-shapeops = nodeEnv.buildNodePackage {
+ name = "caryll-shapeops";
+ packageName = "caryll-shapeops";
+ version = "0.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/caryll-shapeops/-/caryll-shapeops-0.3.1.tgz";
+ sha512 = "3TdH6DZGL08S6qEvCZLNaOHyFvmzQts8m+TyYEvc6/PiI+XgX5mIag1/CKczIM8e2QtDr8JKW8foo4VNOM8/Og==";
+ };
+ dependencies = [
+ sources."bezier-js-2.4.3"
+ sources."clipper-lib-1.0.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Boolean operations and overlap removal for curves.";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ libspiro-js = nodeEnv.buildNodePackage {
+ name = "libspiro-js";
+ packageName = "libspiro-js";
+ version = "0.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/libspiro-js/-/libspiro-js-0.3.1.tgz";
+ sha1 = "86652b0009a6d84ea79a5320bdca5f00612ee439";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "JavaScript libspiro port";
+ homepage = https://github.com/be5invis/libspiro-js;
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ megaminx = nodeEnv.buildNodePackage {
+ name = "megaminx";
+ packageName = "megaminx";
+ version = "0.9.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/megaminx/-/megaminx-0.9.0.tgz";
+ sha512 = "1UcxrUXXYboLWS3AJ2NuLckLi3YR7eJiO5LsYAWHZjYE0mmSqJ2ogSt6JrG8YINyogW9/TUWpL1ojwbRsSbyXw==";
+ };
+ dependencies = [
+ sources."JSONStream-1.3.5"
+ sources."child-process-promise-2.2.1"
+ sources."clone-2.1.2"
+ sources."complex.js-2.0.11"
+ sources."core-util-is-1.0.2"
+ sources."cross-spawn-4.0.2"
+ sources."decimal.js-10.2.0"
+ sources."escape-latex-1.2.0"
+ sources."first-chunk-stream-2.0.0"
+ sources."fraction.js-4.0.12"
+ sources."fs-extra-3.0.1"
+ sources."graceful-fs-4.2.2"
+ sources."inherits-2.0.4"
+ sources."is-utf8-0.2.1"
+ sources."isarray-1.0.0"
+ sources."isexe-2.0.0"
+ sources."javascript-natural-sort-0.7.1"
+ sources."jsonfile-3.0.1"
+ sources."jsonparse-1.3.1"
+ sources."lru-cache-4.1.5"
+ sources."mathjs-5.10.3"
+ sources."node-version-1.2.0"
+ sources."process-nextick-args-2.0.1"
+ sources."promise-polyfill-6.1.0"
+ sources."pseudomap-1.0.2"
+ sources."readable-stream-2.3.6"
+ sources."safe-buffer-5.1.2"
+ sources."seed-random-2.2.0"
+ sources."string_decoder-1.1.1"
+ sources."strip-bom-buf-1.0.0"
+ sources."strip-bom-stream-3.0.0"
+ sources."through-2.3.8"
+ sources."tiny-emitter-2.1.0"
+ sources."tslib-1.9.3"
+ sources."typed-function-1.1.0"
+ sources."typo-geom-0.5.1"
+ sources."universalify-0.1.2"
+ sources."util-deprecate-1.0.2"
+ sources."which-1.3.1"
+ sources."yallist-2.1.2"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "A typeface manipulation toolkit";
+ homepage = "https://github.com/caryll/Megaminx#readme";
+ license = "Apache-2.0";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ object-assign = nodeEnv.buildNodePackage {
+ name = "object-assign";
+ packageName = "object-assign";
+ version = "4.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+ sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "ES2015 `Object.assign()` ponyfill";
+ homepage = "https://github.com/sindresorhus/object-assign#readme";
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ otfcc-ttcize = nodeEnv.buildNodePackage {
+ name = "otfcc-ttcize";
+ packageName = "otfcc-ttcize";
+ version = "0.8.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/otfcc-ttcize/-/otfcc-ttcize-0.8.0.tgz";
+ sha512 = "0RFgy9TDsgTF/1UJ8bSQ4heTYRatDz3HOXXh8d3WyXReqeOU+edgkbG4ERMFPdzFnA+SgqKTnPRg+2pduZsmSQ==";
+ };
+ dependencies = [
+ sources."JSONStream-1.3.5"
+ sources."ansi-regex-2.1.1"
+ sources."camelcase-4.1.0"
+ sources."child-process-promise-2.2.1"
+ (sources."cliui-3.2.0" // {
+ dependencies = [
+ sources."string-width-1.0.2"
+ ];
+ })
+ sources."code-point-at-1.1.0"
+ sources."cross-spawn-4.0.2"
+ sources."cubic2quad-1.1.1"
+ sources."decamelize-1.2.0"
+ sources."error-ex-1.3.2"
+ (sources."execa-0.7.0" // {
+ dependencies = [
+ sources."cross-spawn-5.1.0"
+ ];
+ })
+ sources."find-up-2.1.0"
+ sources."fs-extra-4.0.3"
+ sources."get-caller-file-1.0.3"
+ sources."get-stream-3.0.0"
+ sources."graceful-fs-4.2.2"
+ sources."hosted-git-info-2.8.4"
+ sources."invert-kv-1.0.0"
+ sources."is-arrayish-0.2.1"
+ sources."is-fullwidth-code-point-1.0.0"
+ sources."is-stream-1.1.0"
+ sources."isexe-2.0.0"
+ sources."jsonfile-4.0.0"
+ sources."jsonparse-1.3.1"
+ sources."lcid-1.0.0"
+ sources."load-json-file-2.0.0"
+ sources."locate-path-2.0.0"
+ sources."lru-cache-4.1.5"
+ (sources."megaminx-0.3.3" // {
+ dependencies = [
+ sources."fs-extra-3.0.1"
+ sources."jsonfile-3.0.1"
+ ];
+ })
+ sources."mem-1.1.0"
+ sources."mimic-fn-1.2.0"
+ sources."node-version-1.2.0"
+ sources."normalize-package-data-2.5.0"
+ sources."npm-run-path-2.0.2"
+ sources."number-is-nan-1.0.1"
+ sources."os-locale-2.1.0"
+ sources."os-tmpdir-1.0.2"
+ sources."p-finally-1.0.0"
+ sources."p-limit-1.3.0"
+ sources."p-locate-2.0.0"
+ sources."p-try-1.0.0"
+ sources."parse-json-2.2.0"
+ sources."path-exists-3.0.0"
+ sources."path-key-2.0.1"
+ sources."path-parse-1.0.6"
+ sources."path-type-2.0.0"
+ sources."pify-2.3.0"
+ sources."promise-polyfill-6.1.0"
+ sources."pseudomap-1.0.2"
+ sources."read-pkg-2.0.0"
+ sources."read-pkg-up-2.0.0"
+ sources."require-directory-2.1.1"
+ sources."require-main-filename-1.0.1"
+ sources."resolve-1.12.0"
+ sources."rimraf-2.2.8"
+ sources."semver-5.7.1"
+ sources."set-blocking-2.0.0"
+ sources."shebang-command-1.2.0"
+ sources."shebang-regex-1.0.0"
+ sources."signal-exit-3.0.2"
+ sources."spdx-correct-3.1.0"
+ sources."spdx-exceptions-2.2.0"
+ sources."spdx-expression-parse-3.0.0"
+ sources."spdx-license-ids-3.0.5"
+ (sources."string-width-2.1.1" // {
+ dependencies = [
+ sources."ansi-regex-3.0.0"
+ sources."is-fullwidth-code-point-2.0.0"
+ sources."strip-ansi-4.0.0"
+ ];
+ })
+ sources."strip-ansi-3.0.1"
+ sources."strip-bom-3.0.0"
+ sources."strip-eof-1.0.0"
+ sources."temp-0.8.3"
+ sources."through-2.3.8"
+ sources."universalify-0.1.2"
+ sources."validate-npm-package-license-3.0.4"
+ sources."which-1.3.1"
+ sources."which-module-2.0.0"
+ (sources."wrap-ansi-2.1.0" // {
+ dependencies = [
+ sources."string-width-1.0.2"
+ ];
+ })
+ sources."y18n-3.2.1"
+ sources."yallist-2.1.2"
+ sources."yargs-8.0.2"
+ sources."yargs-parser-7.0.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ license = "Apache 2.0";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ primitive-quadify-off-curves = nodeEnv.buildNodePackage {
+ name = "primitive-quadify-off-curves";
+ packageName = "primitive-quadify-off-curves";
+ version = "0.6.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/primitive-quadify-off-curves/-/primitive-quadify-off-curves-0.6.3.tgz";
+ sha512 = "NlkjdjHbXycTBGo9SDozAvOdmFDDOXuy4/rgmHsg1AB11QUbujybclmYWx1uPEgAELnh23S16KL5sD5uw540Ww==";
+ };
+ dependencies = [
+ sources."complex.js-2.0.11"
+ sources."decimal.js-10.2.0"
+ sources."escape-latex-1.2.0"
+ sources."fraction.js-4.0.12"
+ sources."javascript-natural-sort-0.7.1"
+ sources."mathjs-5.10.3"
+ sources."seed-random-2.2.0"
+ sources."tiny-emitter-2.1.0"
+ sources."tslib-1.9.3"
+ sources."typed-function-1.1.0"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Quadify a Cubic with only off-curve points";
+ license = "APLv2";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ toml = nodeEnv.buildNodePackage {
+ name = "toml";
+ packageName = "toml";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz";
+ sha512 = "y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "TOML parser for Node.js (parses TOML spec v0.4.0)";
+ homepage = "https://github.com/BinaryMuse/toml-node#readme";
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ topsort = nodeEnv.buildNodePackage {
+ name = "topsort";
+ packageName = "topsort";
+ version = "0.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/topsort/-/topsort-0.0.2.tgz";
+ sha1 = "2e5e0ee8a1439417f101d5b9b2d035e620263321";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Topological sort in JavaScript";
+ homepage = https://github.com/samuelneff/topsort;
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ ttf2woff = nodeEnv.buildNodePackage {
+ name = "ttf2woff";
+ packageName = "ttf2woff";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ttf2woff/-/ttf2woff-2.0.1.tgz";
+ sha1 = "871832240024b09db9570904c7c1928b8057c969";
+ };
+ dependencies = [
+ sources."argparse-1.0.10"
+ sources."microbuffer-1.0.0"
+ sources."pako-1.0.10"
+ sources."sprintf-js-1.0.3"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Convert TTF font to WOFF";
+ homepage = "https://github.com/fontello/ttf2woff#readme";
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ ttf2woff2 = nodeEnv.buildNodePackage {
+ name = "ttf2woff2";
+ packageName = "ttf2woff2";
+ version = "3.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ttf2woff2/-/ttf2woff2-3.0.0.tgz";
+ sha512 = "5/Web6B0lF/STNAQ0d5vAlRRquuWsNj8wOmKQ9ql9Bsgbx8MsLnNzaBG9vBcSE4s4Ry1QOr/MyUrDUIVgVPEfw==";
+ };
+ dependencies = [
+ sources."abbrev-1.1.1"
+ sources."ajv-6.10.2"
+ sources."ansi-regex-2.1.1"
+ sources."aproba-1.2.0"
+ sources."are-we-there-yet-1.1.5"
+ sources."asn1-0.2.4"
+ sources."assert-plus-1.0.0"
+ sources."asynckit-0.4.0"
+ sources."aws-sign2-0.7.0"
+ sources."aws4-1.8.0"
+ sources."balanced-match-1.0.0"
+ sources."bcrypt-pbkdf-1.0.2"
+ sources."bindings-1.5.0"
+ sources."brace-expansion-1.1.11"
+ sources."bufferstreams-2.0.1"
+ sources."caseless-0.12.0"
+ sources."chownr-1.1.2"
+ sources."code-point-at-1.1.0"
+ sources."combined-stream-1.0.8"
+ sources."concat-map-0.0.1"
+ sources."console-control-strings-1.1.0"
+ sources."core-util-is-1.0.2"
+ sources."dashdash-1.14.1"
+ sources."delayed-stream-1.0.0"
+ sources."delegates-1.0.0"
+ sources."ecc-jsbn-0.1.2"
+ sources."extend-3.0.2"
+ sources."extsprintf-1.3.0"
+ sources."fast-deep-equal-2.0.1"
+ sources."fast-json-stable-stringify-2.0.0"
+ sources."file-uri-to-path-1.0.0"
+ sources."forever-agent-0.6.1"
+ sources."form-data-2.3.3"
+ sources."fs-minipass-1.2.6"
+ sources."fs.realpath-1.0.0"
+ sources."gauge-2.7.4"
+ sources."getpass-0.1.7"
+ sources."glob-7.1.4"
+ sources."graceful-fs-4.2.2"
+ sources."har-schema-2.0.0"
+ sources."har-validator-5.1.3"
+ sources."has-unicode-2.0.1"
+ sources."http-signature-1.2.0"
+ sources."inflight-1.0.6"
+ sources."inherits-2.0.4"
+ sources."is-fullwidth-code-point-1.0.0"
+ sources."is-typedarray-1.0.0"
+ sources."isarray-1.0.0"
+ sources."isexe-2.0.0"
+ sources."isstream-0.1.2"
+ sources."jsbn-0.1.1"
+ sources."json-schema-0.2.3"
+ sources."json-schema-traverse-0.4.1"
+ sources."json-stringify-safe-5.0.1"
+ sources."jsprim-1.4.1"
+ sources."mime-db-1.40.0"
+ sources."mime-types-2.1.24"
+ sources."minimatch-3.0.4"
+ sources."minimist-0.0.8"
+ sources."minipass-2.5.1"
+ sources."minizlib-1.2.2"
+ sources."mkdirp-0.5.1"
+ sources."nan-2.14.0"
+ sources."node-gyp-4.0.0"
+ sources."nopt-3.0.6"
+ sources."npmlog-4.1.2"
+ sources."number-is-nan-1.0.1"
+ sources."oauth-sign-0.9.0"
+ sources."object-assign-4.1.1"
+ sources."once-1.4.0"
+ sources."os-homedir-1.0.2"
+ sources."os-tmpdir-1.0.2"
+ sources."osenv-0.1.5"
+ sources."path-is-absolute-1.0.1"
+ sources."performance-now-2.1.0"
+ sources."process-nextick-args-2.0.1"
+ sources."psl-1.4.0"
+ sources."punycode-2.1.1"
+ sources."qs-6.5.2"
+ sources."readable-stream-2.3.6"
+ sources."request-2.88.0"
+ sources."rimraf-2.7.1"
+ sources."safe-buffer-5.1.2"
+ sources."safer-buffer-2.1.2"
+ sources."semver-5.3.0"
+ sources."set-blocking-2.0.0"
+ sources."signal-exit-3.0.2"
+ sources."sshpk-1.16.1"
+ sources."string-width-1.0.2"
+ sources."string_decoder-1.1.1"
+ sources."strip-ansi-3.0.1"
+ sources."tar-4.4.10"
+ (sources."tough-cookie-2.4.3" // {
+ dependencies = [
+ sources."punycode-1.4.1"
+ ];
+ })
+ sources."tunnel-agent-0.6.0"
+ sources."tweetnacl-0.14.5"
+ sources."uri-js-4.2.2"
+ sources."util-deprecate-1.0.2"
+ sources."uuid-3.3.3"
+ sources."verror-1.10.0"
+ sources."which-1.3.1"
+ sources."wide-align-1.1.3"
+ sources."wrappy-1.0.2"
+ sources."yallist-3.0.3"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Convert TTF files to WOFF2 ones.";
+ homepage = https://github.com/nfroidure/ttf2woff2;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ unorm = nodeEnv.buildNodePackage {
+ name = "unorm";
+ packageName = "unorm";
+ version = "1.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz";
+ sha512 = "b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "JavaScript Unicode 8.0 Normalization - NFC, NFD, NFKC, NFKD. Read UAX #15 Unicode Normalization Forms.";
+ homepage = "https://github.com/walling/unorm#readme";
+ license = "MIT or GPL-2.0";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ verda = nodeEnv.buildNodePackage {
+ name = "verda";
+ packageName = "verda";
+ version = "1.0.0-4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/verda/-/verda-1.0.0-4.tgz";
+ sha512 = "DKr2WdWlPwJvmqCcjs6LPaBOacFQUdk6+u7tqwkxYKbHa0Touff7Y6x+YAWbnT1dace5Qlv/CRr6YBEaB08r3A==";
+ };
+ dependencies = [
+ sources."ansi-regex-4.1.0"
+ sources."ansi-styles-3.2.1"
+ sources."bluebird-3.5.5"
+ sources."camelcase-5.3.1"
+ sources."chalk-2.4.2"
+ sources."cli-cursor-2.1.0"
+ (sources."cliui-4.1.0" // {
+ dependencies = [
+ sources."ansi-regex-3.0.0"
+ sources."strip-ansi-4.0.0"
+ ];
+ })
+ sources."code-point-at-1.1.0"
+ sources."color-convert-1.9.3"
+ sources."color-name-1.1.3"
+ sources."cross-spawn-6.0.5"
+ sources."decamelize-1.2.0"
+ sources."end-of-stream-1.4.1"
+ sources."escape-string-regexp-1.0.5"
+ sources."execa-1.0.0"
+ sources."fast-deep-equal-2.0.1"
+ sources."find-up-3.0.0"
+ sources."fs-extra-6.0.1"
+ sources."get-caller-file-1.0.3"
+ sources."get-stream-4.1.0"
+ sources."graceful-fs-4.2.2"
+ sources."has-flag-3.0.0"
+ sources."invert-kv-2.0.0"
+ sources."is-fullwidth-code-point-1.0.0"
+ sources."is-stream-1.1.0"
+ sources."isexe-2.0.0"
+ sources."jsonfile-4.0.0"
+ sources."lcid-2.0.0"
+ sources."locate-path-3.0.0"
+ sources."map-age-cleaner-0.1.3"
+ (sources."mem-4.3.0" // {
+ dependencies = [
+ sources."mimic-fn-2.1.0"
+ ];
+ })
+ sources."mimic-fn-1.2.0"
+ sources."nice-try-1.0.5"
+ sources."npm-run-path-2.0.2"
+ sources."number-is-nan-1.0.1"
+ sources."once-1.4.0"
+ sources."onetime-2.0.1"
+ sources."os-locale-3.1.0"
+ sources."p-defer-1.0.0"
+ sources."p-finally-1.0.0"
+ sources."p-is-promise-2.1.0"
+ sources."p-limit-2.2.1"
+ sources."p-locate-3.0.0"
+ sources."p-try-2.2.0"
+ sources."path-exists-3.0.0"
+ sources."path-key-2.0.1"
+ sources."path-parse-1.0.6"
+ sources."proper-lockfile-3.2.0"
+ sources."pump-3.0.0"
+ sources."require-directory-2.1.1"
+ sources."require-main-filename-1.0.1"
+ sources."resolve-1.12.0"
+ sources."restore-cursor-2.0.0"
+ sources."retry-0.12.0"
+ sources."semaphore-async-await-1.5.1"
+ sources."semver-5.7.1"
+ sources."set-blocking-2.0.0"
+ sources."shebang-command-1.2.0"
+ sources."shebang-regex-1.0.0"
+ sources."signal-exit-3.0.2"
+ sources."split-1.0.1"
+ sources."stack-trace-0.0.9"
+ (sources."string-width-2.1.1" // {
+ dependencies = [
+ sources."ansi-regex-3.0.0"
+ sources."is-fullwidth-code-point-2.0.0"
+ sources."strip-ansi-4.0.0"
+ ];
+ })
+ sources."strip-ansi-5.2.0"
+ sources."strip-eof-1.0.0"
+ sources."supports-color-5.5.0"
+ sources."through-2.3.8"
+ sources."ts-process-promises-1.0.2"
+ sources."tslib-1.10.0"
+ sources."universalify-0.1.2"
+ sources."which-1.3.1"
+ sources."which-module-2.0.0"
+ (sources."wrap-ansi-2.1.0" // {
+ dependencies = [
+ sources."ansi-regex-2.1.1"
+ sources."string-width-1.0.2"
+ sources."strip-ansi-3.0.1"
+ ];
+ })
+ sources."wrappy-1.0.2"
+ sources."y18n-4.0.0"
+ sources."yargs-12.0.5"
+ sources."yargs-parser-11.1.1"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Build Directly.";
+ license = "APLv2";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ yargs = nodeEnv.buildNodePackage {
+ name = "yargs";
+ packageName = "yargs";
+ version = "14.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/yargs/-/yargs-14.0.0.tgz";
+ sha512 = "ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow==";
+ };
+ dependencies = [
+ sources."ansi-regex-4.1.0"
+ sources."ansi-styles-3.2.1"
+ sources."camelcase-5.3.1"
+ sources."cliui-5.0.0"
+ sources."color-convert-1.9.3"
+ sources."color-name-1.1.3"
+ sources."decamelize-1.2.0"
+ sources."emoji-regex-7.0.3"
+ sources."find-up-3.0.0"
+ sources."get-caller-file-2.0.5"
+ sources."is-fullwidth-code-point-2.0.0"
+ sources."locate-path-3.0.0"
+ sources."p-limit-2.2.1"
+ sources."p-locate-3.0.0"
+ sources."p-try-2.2.0"
+ sources."path-exists-3.0.0"
+ sources."require-directory-2.1.1"
+ sources."require-main-filename-2.0.0"
+ sources."set-blocking-2.0.0"
+ sources."string-width-3.1.0"
+ sources."strip-ansi-5.2.0"
+ sources."which-module-2.0.0"
+ sources."wrap-ansi-5.1.0"
+ sources."y18n-4.0.0"
+ sources."yargs-parser-13.1.1"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "yargs the modern, pirate-themed, successor to optimist.";
+ homepage = https://yargs.js.org/;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ colors = nodeEnv.buildNodePackage {
+ name = "colors";
+ packageName = "colors";
+ version = "1.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz";
+ sha512 = "mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "get colors in your node.js console";
+ homepage = https://github.com/Marak/colors.js;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ patel = nodeEnv.buildNodePackage {
+ name = "patel";
+ packageName = "patel";
+ version = "0.33.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/patel/-/patel-0.33.1.tgz";
+ sha512 = "zOv5DhGH2r4cRKnZfOlHmWqxBp9nMGnC3F/NZbUqFCYMA65RXiv8q1F96/6dm2ANR6xvCe+xLODQSb49IFoYQg==";
+ };
+ dependencies = [
+ sources."amdefine-1.0.1"
+ sources."ansi-regex-2.1.1"
+ sources."camelcase-3.0.0"
+ sources."cliui-3.2.0"
+ sources."code-point-at-1.1.0"
+ sources."decamelize-1.2.0"
+ sources."deep-is-0.1.3"
+ sources."error-ex-1.3.2"
+ sources."escodegen-1.12.0"
+ (sources."escope-1.0.3" // {
+ dependencies = [
+ sources."estraverse-2.0.0"
+ ];
+ })
+ (sources."esmangle-1.0.1" // {
+ dependencies = [
+ sources."escodegen-1.3.3"
+ sources."esprima-1.1.1"
+ sources."estraverse-1.5.1"
+ sources."esutils-1.0.0"
+ sources."fast-levenshtein-1.0.7"
+ sources."levn-0.2.5"
+ sources."optionator-0.3.0"
+ sources."source-map-0.1.43"
+ sources."wordwrap-0.0.3"
+ ];
+ })
+ sources."esprima-3.1.3"
+ (sources."esshorten-1.1.1" // {
+ dependencies = [
+ sources."estraverse-4.1.1"
+ ];
+ })
+ sources."estraverse-4.3.0"
+ sources."esutils-2.0.3"
+ sources."fast-levenshtein-2.0.6"
+ sources."find-up-1.1.2"
+ sources."get-caller-file-1.0.3"
+ sources."graceful-fs-4.2.2"
+ sources."hosted-git-info-2.8.4"
+ sources."invert-kv-1.0.0"
+ sources."is-arrayish-0.2.1"
+ sources."is-fullwidth-code-point-1.0.0"
+ sources."is-utf8-0.2.1"
+ sources."lcid-1.0.0"
+ sources."levn-0.3.0"
+ sources."load-json-file-1.1.0"
+ sources."normalize-package-data-2.5.0"
+ sources."number-is-nan-1.0.1"
+ sources."optionator-0.8.2"
+ sources."os-locale-1.4.0"
+ sources."parse-json-2.2.0"
+ sources."path-exists-2.1.0"
+ sources."path-parse-1.0.6"
+ sources."path-type-1.1.0"
+ sources."patrisika-0.21.0"
+ sources."patrisika-scopes-0.11.1"
+ sources."pify-2.3.0"
+ sources."pinkie-2.0.4"
+ sources."pinkie-promise-2.0.1"
+ sources."prelude-ls-1.1.2"
+ sources."read-pkg-1.1.0"
+ sources."read-pkg-up-1.0.1"
+ sources."require-directory-2.1.1"
+ sources."require-main-filename-1.0.1"
+ sources."resolve-1.12.0"
+ sources."resumer-0.0.0"
+ sources."semver-5.7.1"
+ sources."set-blocking-2.0.0"
+ sources."source-map-0.6.1"
+ sources."spdx-correct-3.1.0"
+ sources."spdx-exceptions-2.2.0"
+ sources."spdx-expression-parse-3.0.0"
+ sources."spdx-license-ids-3.0.5"
+ sources."string-width-1.0.2"
+ sources."strip-ansi-3.0.1"
+ sources."strip-bom-2.0.0"
+ sources."through-2.3.8"
+ sources."type-check-0.3.2"
+ sources."validate-npm-package-license-3.0.4"
+ sources."which-module-1.0.0"
+ sources."wordwrap-1.0.0"
+ sources."wrap-ansi-2.1.0"
+ sources."y18n-3.2.1"
+ sources."yargs-6.6.0"
+ sources."yargs-parser-4.2.1"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "A Patrisika-based Example Language";
+ homepage = "https://github.com/be5invis/patel#readme";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ patrisika-scopes = nodeEnv.buildNodePackage {
+ name = "patrisika-scopes";
+ packageName = "patrisika-scopes";
+ version = "0.11.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/patrisika-scopes/-/patrisika-scopes-0.11.1.tgz";
+ sha512 = "UCIBMx1nzNaR5CcDoQ9/jtY5RlJqf2CrJYHiMZJhi15NPvsPKRfJT/DPZMkhCunexOKmH03EDZYZU1hGn7mL0w==";
+ };
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "patrisika-scopes ================ A library for Patrisika's scopes.";
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ eslint = nodeEnv.buildNodePackage {
+ name = "eslint";
+ packageName = "eslint";
+ version = "6.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/eslint/-/eslint-6.4.0.tgz";
+ sha512 = "WTVEzK3lSFoXUovDHEbkJqCVPEPwbhCq4trDktNI6ygs7aO41d4cDT0JFAT5MivzZeVLWlg7vHL+bgrQv/t3vA==";
+ };
+ dependencies = [
+ sources."@babel/code-frame-7.5.5"
+ sources."@babel/highlight-7.5.0"
+ sources."acorn-7.0.0"
+ sources."acorn-jsx-5.0.2"
+ sources."ajv-6.10.2"
+ sources."ansi-escapes-3.2.0"
+ sources."ansi-regex-3.0.0"
+ sources."ansi-styles-3.2.1"
+ sources."argparse-1.0.10"
+ sources."astral-regex-1.0.0"
+ sources."balanced-match-1.0.0"
+ sources."brace-expansion-1.1.11"
+ sources."callsites-3.1.0"
+ sources."chalk-2.4.2"
+ sources."chardet-0.7.0"
+ sources."cli-cursor-2.1.0"
+ sources."cli-width-2.2.0"
+ sources."color-convert-1.9.3"
+ sources."color-name-1.1.3"
+ sources."concat-map-0.0.1"
+ (sources."cross-spawn-6.0.5" // {
+ dependencies = [
+ sources."semver-5.7.1"
+ ];
+ })
+ sources."debug-4.1.1"
+ sources."deep-is-0.1.3"
+ sources."doctrine-3.0.0"
+ sources."emoji-regex-7.0.3"
+ sources."escape-string-regexp-1.0.5"
+ sources."eslint-scope-5.0.0"
+ sources."eslint-utils-1.4.2"
+ sources."eslint-visitor-keys-1.1.0"
+ sources."espree-6.1.1"
+ sources."esprima-4.0.1"
+ sources."esquery-1.0.1"
+ sources."esrecurse-4.2.1"
+ sources."estraverse-4.3.0"
+ sources."esutils-2.0.3"
+ sources."external-editor-3.1.0"
+ sources."fast-deep-equal-2.0.1"
+ sources."fast-json-stable-stringify-2.0.0"
+ sources."fast-levenshtein-2.0.6"
+ sources."figures-2.0.0"
+ sources."file-entry-cache-5.0.1"
+ sources."flat-cache-2.0.1"
+ sources."flatted-2.0.1"
+ sources."fs.realpath-1.0.0"
+ sources."functional-red-black-tree-1.0.1"
+ sources."glob-7.1.4"
+ sources."glob-parent-5.0.0"
+ sources."globals-11.12.0"
+ sources."has-flag-3.0.0"
+ sources."iconv-lite-0.4.24"
+ sources."ignore-4.0.6"
+ sources."import-fresh-3.1.0"
+ sources."imurmurhash-0.1.4"
+ sources."inflight-1.0.6"
+ sources."inherits-2.0.4"
+ sources."inquirer-6.5.2"
+ sources."is-extglob-2.1.1"
+ sources."is-fullwidth-code-point-2.0.0"
+ sources."is-glob-4.0.1"
+ sources."is-promise-2.1.0"
+ sources."isexe-2.0.0"
+ sources."js-tokens-4.0.0"
+ sources."js-yaml-3.13.1"
+ sources."json-schema-traverse-0.4.1"
+ sources."json-stable-stringify-without-jsonify-1.0.1"
+ sources."levn-0.3.0"
+ sources."lodash-4.17.15"
+ sources."mimic-fn-1.2.0"
+ sources."minimatch-3.0.4"
+ sources."minimist-0.0.8"
+ sources."mkdirp-0.5.1"
+ sources."ms-2.1.2"
+ sources."mute-stream-0.0.7"
+ sources."natural-compare-1.4.0"
+ sources."nice-try-1.0.5"
+ sources."once-1.4.0"
+ sources."onetime-2.0.1"
+ sources."optionator-0.8.2"
+ sources."os-tmpdir-1.0.2"
+ sources."parent-module-1.0.1"
+ sources."path-is-absolute-1.0.1"
+ sources."path-key-2.0.1"
+ sources."prelude-ls-1.1.2"
+ sources."progress-2.0.3"
+ sources."punycode-2.1.1"
+ sources."regexpp-2.0.1"
+ sources."resolve-from-4.0.0"
+ sources."restore-cursor-2.0.0"
+ sources."rimraf-2.6.3"
+ sources."run-async-2.3.0"
+ sources."rxjs-6.5.3"
+ sources."safer-buffer-2.1.2"
+ sources."semver-6.3.0"
+ sources."shebang-command-1.2.0"
+ sources."shebang-regex-1.0.0"
+ sources."signal-exit-3.0.2"
+ sources."slice-ansi-2.1.0"
+ sources."sprintf-js-1.0.3"
+ (sources."string-width-2.1.1" // {
+ dependencies = [
+ sources."strip-ansi-4.0.0"
+ ];
+ })
+ (sources."strip-ansi-5.2.0" // {
+ dependencies = [
+ sources."ansi-regex-4.1.0"
+ ];
+ })
+ sources."strip-json-comments-3.0.1"
+ sources."supports-color-5.5.0"
+ (sources."table-5.4.6" // {
+ dependencies = [
+ sources."string-width-3.1.0"
+ ];
+ })
+ sources."text-table-0.2.0"
+ sources."through-2.3.8"
+ sources."tmp-0.0.33"
+ sources."tslib-1.10.0"
+ sources."type-check-0.3.2"
+ sources."uri-js-4.2.2"
+ sources."v8-compile-cache-2.1.0"
+ sources."which-1.3.1"
+ sources."wordwrap-1.0.0"
+ sources."wrappy-1.0.2"
+ sources."write-1.0.3"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "An AST-based pattern checker for JavaScript.";
+ homepage = https://eslint.org/;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+ stylus = nodeEnv.buildNodePackage {
+ name = "stylus";
+ packageName = "stylus";
+ version = "0.54.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz";
+ sha512 = "Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==";
+ };
+ dependencies = [
+ sources."atob-2.1.2"
+ sources."balanced-match-1.0.0"
+ sources."brace-expansion-1.1.11"
+ sources."concat-map-0.0.1"
+ (sources."css-2.2.4" // {
+ dependencies = [
+ sources."source-map-0.6.1"
+ ];
+ })
+ sources."css-parse-2.0.0"
+ sources."debug-3.1.0"
+ sources."decode-uri-component-0.2.0"
+ sources."fs.realpath-1.0.0"
+ sources."glob-7.1.4"
+ sources."inflight-1.0.6"
+ sources."inherits-2.0.4"
+ sources."minimatch-3.0.4"
+ sources."minimist-0.0.8"
+ sources."mkdirp-0.5.1"
+ sources."ms-2.0.0"
+ sources."once-1.4.0"
+ sources."path-is-absolute-1.0.1"
+ sources."resolve-url-0.2.1"
+ sources."safer-buffer-2.1.2"
+ sources."sax-1.2.4"
+ sources."semver-6.3.0"
+ sources."source-map-0.7.3"
+ sources."source-map-resolve-0.5.2"
+ sources."source-map-url-0.4.0"
+ sources."urix-0.1.0"
+ sources."wrappy-1.0.2"
+ ];
+ buildInputs = globalBuildInputs;
+ meta = {
+ description = "Robust, expressive, and feature-rich CSS superset";
+ homepage = https://github.com/stylus/stylus;
+ license = "MIT";
+ };
+ production = true;
+ bypassCache = true;
+ reconstructLock = true;
+ };
+}
\ No newline at end of file
diff --git a/pkgs/data/fonts/iosevka/node-packages.json b/pkgs/data/fonts/iosevka/node-packages.json
new file mode 100644
index 000000000000..468f788f9f3d
--- /dev/null
+++ b/pkgs/data/fonts/iosevka/node-packages.json
@@ -0,0 +1,20 @@
+[
+ "caryll-shapeops",
+ "libspiro-js",
+ "megaminx",
+ "object-assign",
+ "otfcc-ttcize",
+ "primitive-quadify-off-curves",
+ "toml",
+ "topsort",
+ "ttf2woff",
+ "ttf2woff2",
+ "unorm",
+ "verda",
+ "yargs",
+ "colors",
+ "patel",
+ "patrisika-scopes",
+ "eslint",
+ "stylus"
+]
diff --git a/pkgs/data/fonts/iosevka/node-packages.nix b/pkgs/data/fonts/iosevka/node-packages.nix
new file mode 100644
index 000000000000..41e23864c44d
--- /dev/null
+++ b/pkgs/data/fonts/iosevka/node-packages.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{pkgs ? import {
+ inherit system;
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
+
+let
+ nodeEnv = import ../../../development/node-packages/node-env.nix {
+ inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+ inherit nodejs;
+ libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+ };
+in
+import ./node-packages-generated.nix {
+ inherit (pkgs) fetchurl fetchgit;
+ inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/data/fonts/iosevka/package-lock.json b/pkgs/data/fonts/iosevka/package-lock.json
deleted file mode 100644
index 54de11a1f422..000000000000
--- a/pkgs/data/fonts/iosevka/package-lock.json
+++ /dev/null
@@ -1,1025 +0,0 @@
-{
- "name": "iosevka",
- "version": "1.14.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "JSONStream": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
- "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
- "requires": {
- "jsonparse": "1.3.1",
- "through": "2.3.8"
- }
- },
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "bezier-js": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.2.5.tgz",
- "integrity": "sha512-HGh+GevPguxrAmnWF2/A+8c8FEatnKcE6WttpYWA5fn1CfpJz4reFbr11DuyFs2gwaIo9vF7aVXW2xg1iaqvyg=="
- },
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
- },
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
- },
- "caryll-shapeops": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/caryll-shapeops/-/caryll-shapeops-0.3.1.tgz",
- "integrity": "sha512-3TdH6DZGL08S6qEvCZLNaOHyFvmzQts8m+TyYEvc6/PiI+XgX5mIag1/CKczIM8e2QtDr8JKW8foo4VNOM8/Og==",
- "requires": {
- "bezier-js": "2.2.5",
- "clipper-lib": "1.0.0"
- }
- },
- "child-process-promise": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/child-process-promise/-/child-process-promise-2.2.1.tgz",
- "integrity": "sha1-RzChHvYQ+tRQuPIjx50x172tgHQ=",
- "requires": {
- "cross-spawn": "4.0.2",
- "node-version": "1.1.0",
- "promise-polyfill": "6.1.0"
- }
- },
- "clipper-lib": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/clipper-lib/-/clipper-lib-1.0.0.tgz",
- "integrity": "sha1-6QLOsm4o7lz6YBSr33kKUe//Tss="
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
- }
- },
- "clone": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
- "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8="
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
- },
- "coffee-script": {
- "version": "1.12.7",
- "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
- "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw=="
- },
- "cross-spawn": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
- "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
- "requires": {
- "lru-cache": "4.1.1",
- "which": "1.3.0"
- }
- },
- "cubic2quad": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/cubic2quad/-/cubic2quad-1.1.1.tgz",
- "integrity": "sha1-abGcYaP1tB7PLx1fro+wNBWqixU="
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
- },
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
- },
- "defaults": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
- "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
- "requires": {
- "clone": "1.0.3"
- }
- },
- "error-ex": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
- "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "requires": {
- "is-arrayish": "0.2.1"
- }
- },
- "escodegen": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz",
- "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==",
- "requires": {
- "esprima": "3.1.3",
- "estraverse": "4.2.0",
- "esutils": "2.0.2",
- "optionator": "0.8.2",
- "source-map": "0.5.7"
- }
- },
- "escope": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escope/-/escope-1.0.3.tgz",
- "integrity": "sha1-dZ3OhJbEJI/sLQyq9BCLzz8af10=",
- "requires": {
- "estraverse": "2.0.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-2.0.0.tgz",
- "integrity": "sha1-WuRpYyQ2ACBmdMyySgnhZnT83KE="
- }
- }
- },
- "esmangle": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esmangle/-/esmangle-1.0.1.tgz",
- "integrity": "sha1-2bs3uPjq+/Tm1O1reqKVarvTxMI=",
- "requires": {
- "escodegen": "1.3.3",
- "escope": "1.0.3",
- "esprima": "1.1.1",
- "esshorten": "1.1.1",
- "estraverse": "1.5.1",
- "esutils": "1.0.0",
- "optionator": "0.3.0",
- "source-map": "0.1.43"
- },
- "dependencies": {
- "escodegen": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
- "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=",
- "requires": {
- "esprima": "1.1.1",
- "estraverse": "1.5.1",
- "esutils": "1.0.0",
- "source-map": "0.1.43"
- }
- },
- "esprima": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
- "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk="
- },
- "estraverse": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
- "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E="
- },
- "esutils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
- "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA="
- },
- "fast-levenshtein": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz",
- "integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk="
- },
- "levn": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz",
- "integrity": "sha1-uo0znQykphDjo/FFucr0iAcVUFQ=",
- "requires": {
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2"
- }
- },
- "optionator": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.3.0.tgz",
- "integrity": "sha1-lxWotfXnWGz/BsgkngOc1zZNP1Q=",
- "requires": {
- "deep-is": "0.1.3",
- "fast-levenshtein": "1.0.7",
- "levn": "0.2.5",
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2",
- "wordwrap": "0.0.3"
- }
- },
- "source-map": {
- "version": "0.1.43",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
- "requires": {
- "amdefine": "1.0.1"
- }
- },
- "wordwrap": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
- "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
- }
- }
- },
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
- },
- "esshorten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/esshorten/-/esshorten-1.1.1.tgz",
- "integrity": "sha1-F0+Wt8wmfkaHLYFOfbfCkL3/Yak=",
- "requires": {
- "escope": "1.0.3",
- "estraverse": "4.1.1",
- "esutils": "2.0.2"
- },
- "dependencies": {
- "estraverse": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
- "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI="
- }
- }
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "requires": {
- "cross-spawn": "5.1.0",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "requires": {
- "lru-cache": "4.1.1",
- "shebang-command": "1.2.0",
- "which": "1.3.0"
- }
- }
- }
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
- }
- },
- "fs-extra": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
- "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
- "requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "3.0.1",
- "universalify": "0.1.1"
- }
- },
- "get-caller-file": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
- "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U="
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
- },
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
- },
- "hosted-git-info": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
- "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg=="
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "requires": {
- "builtin-modules": "1.1.1"
- }
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "jsonfile": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
- "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
- "requires": {
- "graceful-fs": "4.1.11"
- }
- },
- "jsonparse": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
- "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
- },
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "requires": {
- "invert-kv": "1.0.0"
- }
- },
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "requires": {
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2"
- }
- },
- "libspiro-js": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/libspiro-js/-/libspiro-js-0.3.1.tgz",
- "integrity": "sha1-hmUrAAmm2E6nmlMgvcpfAGEu5Dk="
- },
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "strip-bom": "2.0.0"
- }
- },
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "requires": {
- "p-locate": "2.0.0",
- "path-exists": "3.0.0"
- },
- "dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
- }
- }
- },
- "lru-cache": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
- "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
- "requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
- }
- },
- "megaminx": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/megaminx/-/megaminx-0.3.3.tgz",
- "integrity": "sha512-lZBSLMro+XYJIix9zCZ8N6nZgixpjUPkX6CKuh+Y9Wl9bir/2Fp27NWapA0cNQCPrzOOI9sAwxc4BI14aIdumw==",
- "requires": {
- "JSONStream": "1.3.2",
- "child-process-promise": "2.2.1",
- "cubic2quad": "1.1.1",
- "fs-extra": "3.0.1",
- "which": "1.3.0"
- }
- },
- "mem": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "requires": {
- "mimic-fn": "1.2.0"
- }
- },
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
- },
- "node-version": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/node-version/-/node-version-1.1.0.tgz",
- "integrity": "sha512-t1V2RFiaTavaW3jtQO0A2nok6k7/Gghuvx2rjvICuT0B0dYaObBQ4U0xHL+ZTPFZodt1LMYG2Vi2nypfz4/AJg=="
- },
- "normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "requires": {
- "hosted-git-info": "2.5.0",
- "is-builtin-module": "1.0.0",
- "semver": "5.5.0",
- "validate-npm-package-license": "3.0.1"
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
- "requires": {
- "path-key": "2.0.1"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
- "requires": {
- "deep-is": "0.1.3",
- "fast-levenshtein": "2.0.6",
- "levn": "0.3.0",
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2",
- "wordwrap": "1.0.0"
- }
- },
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "requires": {
- "lcid": "1.0.0"
- }
- },
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
- },
- "p-limit": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
- "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
- "requires": {
- "p-try": "1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "requires": {
- "p-limit": "1.2.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
- },
- "pad": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/pad/-/pad-1.2.1.tgz",
- "integrity": "sha512-cx/l/K+9UjGXJmoYolvP0l3cEUyB9BUdUL3wj3uwskIiApboLsinvsXxU9nSNg9Luz2ZyH0zzJNbqgLSNtfIDw==",
- "requires": {
- "coffee-script": "1.12.7",
- "wcwidth": "1.0.1"
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "requires": {
- "error-ex": "1.3.1"
- }
- },
- "patel": {
- "version": "0.32.1",
- "resolved": "https://registry.npmjs.org/patel/-/patel-0.32.1.tgz",
- "integrity": "sha1-nnC2sj/XqcgsV57VkbivpSF+YhI=",
- "requires": {
- "escodegen": "1.9.0",
- "esmangle": "1.0.1",
- "patrisika": "0.21.0",
- "resumer": "0.0.0",
- "yargs": "6.6.0"
- },
- "dependencies": {
- "yargs": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
- "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
- "requires": {
- "camelcase": "3.0.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.2",
- "os-locale": "1.4.0",
- "read-pkg-up": "1.0.1",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "1.0.2",
- "which-module": "1.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "4.2.1"
- }
- }
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "requires": {
- "pinkie-promise": "2.0.1"
- }
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
- },
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "requires": {
- "graceful-fs": "4.1.11",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
- }
- },
- "patrisika": {
- "version": "0.21.0",
- "resolved": "https://registry.npmjs.org/patrisika/-/patrisika-0.21.0.tgz",
- "integrity": "sha1-uCwn99QEFSLcXDG0O3xu+xnkdII=",
- "requires": {
- "patrisika-scopes": "0.11.0"
- }
- },
- "patrisika-scopes": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/patrisika-scopes/-/patrisika-scopes-0.11.0.tgz",
- "integrity": "sha1-BSqddkoWXgs0zDW2ViqIJCA2tAM="
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "requires": {
- "pinkie": "2.0.4"
- }
- },
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
- },
- "promise-polyfill": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz",
- "integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc="
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "requires": {
- "load-json-file": "1.1.0",
- "normalize-package-data": "2.4.0",
- "path-type": "1.1.0"
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "requires": {
- "find-up": "1.1.2",
- "read-pkg": "1.1.0"
- }
- },
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
- },
- "resumer": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
- "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
- "requires": {
- "through": "2.3.8"
- }
- },
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "requires": {
- "shebang-regex": "1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "optional": true
- },
- "spdx-correct": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
- "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
- "requires": {
- "spdx-license-ids": "1.2.2"
- }
- },
- "spdx-expression-parse": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
- "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw="
- },
- "spdx-license-ids": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
- "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc="
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "requires": {
- "is-utf8": "0.2.1"
- }
- },
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
- },
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
- },
- "toml": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.3.tgz",
- "integrity": "sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA=="
- },
- "topsort": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/topsort/-/topsort-0.0.2.tgz",
- "integrity": "sha1-Ll4O6KFDlBfxAdW5stA15iAmMyE="
- },
- "type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "requires": {
- "prelude-ls": "1.1.2"
- }
- },
- "universalify": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
- "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc="
- },
- "unorm": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
- "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA="
- },
- "validate-npm-package-license": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
- "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
- "requires": {
- "spdx-correct": "1.0.2",
- "spdx-expression-parse": "1.0.4"
- }
- },
- "wcwidth": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
- "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
- "requires": {
- "defaults": "1.0.3"
- }
- },
- "which": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
- "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
- "requires": {
- "isexe": "2.0.0"
- }
- },
- "which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
- },
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1"
- }
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
- },
- "yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
- "requires": {
- "camelcase": "4.1.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.2",
- "os-locale": "2.1.0",
- "read-pkg-up": "2.0.0",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "2.1.1",
- "which-module": "2.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "7.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "requires": {
- "locate-path": "2.0.0"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
- }
- },
- "os-locale": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "requires": {
- "execa": "0.7.0",
- "lcid": "1.0.0",
- "mem": "1.1.0"
- }
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "requires": {
- "pify": "2.3.0"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
- "requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "2.0.0"
- }
- },
- "read-pkg-up": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "requires": {
- "find-up": "2.1.0",
- "read-pkg": "2.0.0"
- }
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "3.0.0"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
- },
- "yargs-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
- "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "requires": {
- "camelcase": "4.1.0"
- }
- }
- }
- },
- "yargs-parser": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
- "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
- "requires": {
- "camelcase": "3.0.0"
- }
- }
- }
-}
diff --git a/pkgs/data/fonts/iosevka/package-lock.nix b/pkgs/data/fonts/iosevka/package-lock.nix
deleted file mode 100644
index 546482cc0d26..000000000000
--- a/pkgs/data/fonts/iosevka/package-lock.nix
+++ /dev/null
@@ -1,142 +0,0 @@
-{ lib, fetchurl }:
-
-with lib; with builtins;
-
-let
- # Convert a base64-encoded string into a list of quads and padding.
- fromBase64 = str:
- let
- len = stringLength str;
- quads = 3 * len - 4 * padding;
- padding =
- if hasSuffix "==" str then 2 else
- if hasSuffix "=" str then 1 else
- 0;
- chars = stringToCharacters (substring 0 (len - padding) str);
- table = {
- A = [0 0 0];
- B = [0 0 1];
- C = [0 0 2];
- D = [0 0 3];
- E = [0 1 0];
- F = [0 1 1];
- G = [0 1 2];
- H = [0 1 3];
- I = [0 2 0];
- J = [0 2 1];
- K = [0 2 2];
- L = [0 2 3];
- M = [0 3 0];
- N = [0 3 1];
- O = [0 3 2];
- P = [0 3 3];
- Q = [1 0 0];
- R = [1 0 1];
- S = [1 0 2];
- T = [1 0 3];
- U = [1 1 0];
- V = [1 1 1];
- W = [1 1 2];
- X = [1 1 3];
- Y = [1 2 0];
- Z = [1 2 1];
- a = [1 2 2];
- b = [1 2 3];
- c = [1 3 0];
- d = [1 3 1];
- e = [1 3 2];
- f = [1 3 3];
- g = [2 0 0];
- h = [2 0 1];
- i = [2 0 2];
- j = [2 0 3];
- k = [2 1 0];
- l = [2 1 1];
- m = [2 1 2];
- n = [2 1 3];
- o = [2 2 0];
- p = [2 2 1];
- q = [2 2 2];
- r = [2 2 3];
- s = [2 3 0];
- t = [2 3 1];
- u = [2 3 2];
- v = [2 3 3];
- w = [3 0 0];
- x = [3 0 1];
- y = [3 0 2];
- z = [3 0 3];
- "0" = [3 1 0];
- "1" = [3 1 1];
- "2" = [3 1 2];
- "3" = [3 1 3];
- "4" = [3 2 0];
- "5" = [3 2 1];
- "6" = [3 2 2];
- "7" = [3 2 3];
- "8" = [3 3 0];
- "9" = [3 3 1];
- "+" = [3 3 2];
- "/" = [3 3 3];
- };
- in
- take quads (concatMap (c: table.${c}) chars);
-
- # Convert a list of quads with padding into a base16-encoded string.
- toBase16 = quads:
- if length quads == 0 then "" else
- if length quads == 1 then throw "toBase16: odd quads" else
- let
- hexad = 4 * elemAt quads 0 + elemAt quads 1;
- hexits = "0123456789abcdef";
- in
- substring hexad 1 hexits + toBase16 (drop 2 quads);
-in
-
-let
- fetchResolved = { resolved, integrity, ... }:
- let args = { url = resolved; } // integrityHash integrity; in
- fetchurl args;
- integrityHash = integrity:
- if hasPrefix "sha1-" integrity then integritySHA1 integrity else
- if hasPrefix "sha512-" integrity then integritySHA512 integrity else
- throw "don't understand integrity: ${integrity}";
- integritySHA1 = integrity:
- { sha1 = toBase16 (fromBase64 (removePrefix "sha1-" integrity)); };
- integritySHA512 = integrity:
- { sha512 = toBase16 (fromBase64 (removePrefix "sha512-" integrity)); };
-in
-
-let
- depend = name: attrs@{ version, dependencies ? {}, ... }:
- {
- inherit name version;
- src = fetchResolved attrs;
- depends = mapAttrsToList depend dependencies;
- };
- prepareDepend = { name, src, depends, ... }:
- ''
- unpackFile '${src}'
- mv package '${name}'
- mkdir -p '${name}/node_modules'
- (
- cd '${name}/node_modules'
- ${concatMapStrings prepareDepend depends}
- )
- '';
-in
-
-packageLockFile:
-
-let
- packageLock = fromJSON (readFile packageLockFile);
- depends = mapAttrsToList depend packageLock.dependencies;
-in
- ''
- mkdir -p node_modules
- (
- cd node_modules
- ${concatMapStrings prepareDepend depends}
- )
- ''
-
diff --git a/pkgs/data/icons/qogir-icon-theme/default.nix b/pkgs/data/icons/qogir-icon-theme/default.nix
new file mode 100644
index 000000000000..b7ae27aac689
--- /dev/null
+++ b/pkgs/data/icons/qogir-icon-theme/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, gtk3 }:
+
+stdenv.mkDerivation rec {
+ pname = "qogir-icon-theme";
+ version = "2019-09-15";
+
+ src = fetchFromGitHub {
+ owner = "vinceliuice";
+ repo = pname;
+ rev = "4e1b6c693615bc2c7c7a11df6f4b90f2e6fb67db";
+ sha256 = "1vp1wp4fgmy5af8z8nb3m6wgmb6wbwlvx5smf9dxfcn254hdg8g0";
+ };
+
+ nativeBuildInputs = [ gtk3 ];
+
+ installPhase = ''
+ patchShebangs install.sh
+ mkdir -p $out/share/icons
+ name= ./install.sh -d $out/share/icons
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A colorful design icon theme for linux desktops";
+ homepage = https://github.com/vinceliuice/Qogir-icon-theme;
+ license = with licenses; [ gpl3 ];
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ romildo ];
+ };
+}
diff --git a/pkgs/data/themes/materia-theme/default.nix b/pkgs/data/themes/materia-theme/default.nix
index 02c1b91a3ebd..4a1458ee7a5c 100644
--- a/pkgs/data/themes/materia-theme/default.nix
+++ b/pkgs/data/themes/materia-theme/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "materia-theme";
- version = "20190831";
+ version = "20190912";
src = fetchFromGitHub {
owner = "nana-4";
repo = pname;
rev = "v${version}";
- sha256 = "19b2wyq38wj3id0an47jln1y3zp5ih3kbrgmfpjp6bbdrmfcyccf";
+ sha256 = "07vbql1y9jfd0m34lw1674cfr6217dzg3irk0450kny8sjrrj6dx";
};
nativeBuildInputs = [ glib libxml2 bc ];
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index 27ce5d0f078b..2f0a21896e90 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -61,6 +61,6 @@ in stdenv.mkDerivation rec {
homepage = https://wiki.gnome.org/Apps/Boxes;
license = licenses.gpl3;
platforms = platforms.linux;
- maintainers = with maintainers; [ bjornfor ];
+ maintainers = gnome3.maintainers;
};
}
diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index 15dea9b10184..f19114a54422 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "atril";
- version = "1.22.1";
+ version = "1.22.2";
src = fetchurl {
url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "0i2wgsksgwhrmajj1lay3iym4dcyj8cdd813yh5mrfz4rkv49190";
+ sha256 = "11l78zkxszvsjr74cmk1wff5ycqrzd89y6k36rydv2rb5af2nsfw";
};
nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index 039d75beb4f2..aed08c35a801 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -90,9 +90,7 @@ lib.makeScope pkgs.newScope (self: with self; {
elementary-default-settings = callPackage ./desktop/elementary-default-settings { };
- elementary-greeter = callPackage ./desktop/elementary-greeter {
- inherit (gnome3) gnome-desktop;
- };
+ elementary-greeter = callPackage ./desktop/elementary-greeter { };
elementary-print-shim = callPackage ./desktop/elementary-print-shim { };
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index 8ef85b90a3b1..a72e0b6c223a 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -1,20 +1,41 @@
-{ stdenv, fetchFromGitHub, pantheon, pkgconfig, substituteAll, meson
-, ninja, vala, desktop-file-utils, gtk3, granite, libgee, elementary-settings-daemon
-, gnome-desktop, mutter, elementary-icon-theme, wingpanel-with-indicators
-, elementary-gtk-theme, nixos-artwork, lightdm, numlockx
-, clutter-gtk, libGL, dbus, wrapGAppsHook }:
+{ stdenv
+, fetchFromGitHub
+, linkFarm
+, elementary-greeter
+, pantheon
+, pkgconfig
+, meson
+, ninja
+, vala
+, desktop-file-utils
+, gtk3
+, granite
+, libgee
+, elementary-settings-daemon
+, mutter
+, elementary-icon-theme
+, wingpanel-with-indicators
+, elementary-gtk-theme
+, nixos-artwork
+, lightdm
+, gdk-pixbuf
+, clutter-gtk
+, dbus
+, accountsservice
+, wrapGAppsHook
+}:
stdenv.mkDerivation rec {
pname = "elementary-greeter";
- version = "3.3.1";
+ version = "unstable-2019-09-10";
repoName = "greeter";
src = fetchFromGitHub {
owner = "elementary";
repo = repoName;
- rev = version;
- sha256 = "1vkq4z0hrmvzv4sh2qkxjajdxcycd1zj97a3pc8n4yb858pqfyzc";
+ rev = "cad7d28d2b40ed04f6ce49ab44408297b5c69468";
+ sha256 = "0m8iq04wdwgg6arm7dzwi7a0snxvss62zpnw2knpr6lp77vd7hqr";
};
passthru = {
@@ -22,6 +43,11 @@ stdenv.mkDerivation rec {
inherit repoName;
attrPath = pname;
};
+
+ xgreeters = linkFarm "pantheon-greeter-xgreeters" [{
+ path = "${elementary-greeter}/share/xgreeters/io.elementary.greeter.desktop";
+ name = "io.elementary.greeter.desktop";
+ }];
};
nativeBuildInputs = [
@@ -34,38 +60,32 @@ stdenv.mkDerivation rec {
];
buildInputs = [
- clutter-gtk
- elementary-icon-theme
+ accountsservice
+ clutter-gtk # else we get could not generate cargs for mutter-clutter-2
elementary-gtk-theme
+ elementary-icon-theme
elementary-settings-daemon
- gnome-desktop
+ gdk-pixbuf
granite
gtk3
libgee
- libGL
lightdm
mutter
wingpanel-with-indicators
];
- patches = [
- (substituteAll {
- src = ./gsd.patch;
- elementary_settings_daemon = "${elementary-settings-daemon}/libexec/";
- })
- (substituteAll {
- src = ./numlockx.patch;
- inherit numlockx;
- })
- ./01-sysconfdir-install.patch
- ./hardcode-theme.patch
- ];
-
mesonFlags = [
# A hook does this but after wrapGAppsHook so the files never get wrapped.
"--sbindir=${placeholder "out"}/bin"
# baked into the program for discovery of the greeter configuration
"--sysconfdir=/etc"
+ # We use the patched gnome-settings-daemon
+ "-Dubuntu-patched-gsd=true"
+ "-Dgsd-dir=${elementary-settings-daemon}/libexec/" # trailing slash is needed
+ ];
+
+ patches = [
+ ./sysconfdir-install.patch
];
preFixup = ''
@@ -76,18 +96,19 @@ stdenv.mkDerivation rec {
# for `wingpanel -g`
--prefix PATH : "${wingpanel-with-indicators}/bin"
- # TODO: they should be using meson for this
- # See: https://github.com/elementary/greeter/blob/19c0730fded4e9ddec5a491f0e78f83c7c04eb59/src/PantheonGreeter.vala#L451
+ # for the compositor
--prefix PATH : "$out/bin"
)
'';
postFixup = ''
- substituteInPlace $out/share/xgreeters/io.elementary.greeter.desktop \
- --replace "Exec=io.elementary.greeter" "Exec=$out/bin/io.elementary.greeter"
-
+ # Use NixOS default wallpaper
substituteInPlace $out/etc/lightdm/io.elementary.greeter.conf \
- --replace "#default-wallpaper=/usr/share/backgrounds/elementaryos-default" "default-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png"
+ --replace "#default-wallpaper=/usr/share/backgrounds/elementaryos-default" \
+ "default-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png"
+
+ substituteInPlace $out/share/xgreeters/io.elementary.greeter.desktop \
+ --replace "Exec=io.elementary.greeter" "Exec=$out/bin/io.elementary.greeter"
'';
meta = with stdenv.lib; {
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch
deleted file mode 100644
index bcbf604c6a2e..000000000000
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/gsd.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/meson.build b/src/meson.build
-index 2450c1a..a908d11 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -1,7 +1,7 @@
- conf_data = configuration_data()
- conf_data.set('CONF_DIR', join_paths(get_option('sysconfdir'), 'lightdm'))
- conf_data.set('GETTEXT_PACKAGE', meson.project_name())
--conf_data.set('GSD_DIR', '/usr/lib/gnome-settings-daemon/')
-+conf_data.set('GSD_DIR', '@elementary_settings_daemon@')
- conf_data.set('VERSION', meson.project_version())
- config_header = configure_file (
- input: 'config.vala.in',
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-theme.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-theme.patch
deleted file mode 100644
index e9263aab736e..000000000000
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/hardcode-theme.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/PantheonGreeter.vala b/src/PantheonGreeter.vala
-index 11aa4c0..daf4a8a 100644
---- a/src/PantheonGreeter.vala
-+++ b/src/PantheonGreeter.vala
-@@ -474,6 +474,10 @@ public static int main (string [] args) {
- Gdk.CursorType.LEFT_PTR);
- Gdk.get_default_root_window ().set_cursor (cursor);
-
-+ var settings = Gtk.Settings.get_default ();
-+ settings.gtk_icon_theme_name = "elementary";
-+ settings.gtk_theme_name = "elementary";
-+
- var icon_theme = Gtk.IconTheme.get_default ();
- icon_theme.add_resource_path ("/io/elementary/greeter/icons");
-
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch
deleted file mode 100644
index 2c7766b4284c..000000000000
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/numlockx.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/PantheonGreeter.vala b/src/PantheonGreeter.vala
-index 11aa4c0..ae7bf7e 100644
---- a/src/PantheonGreeter.vala
-+++ b/src/PantheonGreeter.vala
-@@ -163,7 +163,7 @@ public class PantheonGreeter : Gtk.Window {
- warning (e.message);
- }
- if (activate_numlock) {
-- Granite.Services.System.execute_command ("/usr/bin/numlockx on");
-+ Granite.Services.System.execute_command ("@numlockx@/bin/numlockx on");
- }
-
- var screensaver_timeout = 60;
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/sysconfdir-install.patch
similarity index 68%
rename from pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch
rename to pkgs/desktops/pantheon/desktop/elementary-greeter/sysconfdir-install.patch
index 626e56ce5960..9bacbcf4f98b 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/01-sysconfdir-install.patch
+++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/sysconfdir-install.patch
@@ -1,14 +1,14 @@
-From 2384bee55a46eac44eb9d329be4c2a097e053ae1 Mon Sep 17 00:00:00 2001
+From 7bb0d507cbb0122f167127b9f6460bd53d8234de Mon Sep 17 00:00:00 2001
From: worldofpeace
-Date: Tue, 17 Jul 2018 07:04:18 -0400
-Subject: [PATCH 1/1] 'sysconfdir' will be etc not /etc for install
+Date: Sat, 16 Mar 2019 16:07:24 -0400
+Subject: [PATCH] 'sysconfdir' will be etc not /etc for install
---
data/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data/meson.build b/data/meson.build
-index 7621b03..7c08eaf 100644
+index fd54b75..b1120ae 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -20,7 +20,7 @@ i18n.merge_file (
@@ -19,7 +19,7 @@ index 7621b03..7c08eaf 100644
+ install_dir: join_paths(get_option('prefix'), 'etc', 'lightdm')
)
- install_data(
+ test (
--
-2.17.1
+2.19.2
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index b98c205d4915..06f0fc23a399 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -14,6 +14,8 @@
, mutter
, json-glib
, python3
+, elementary-gtk-theme
+, elementary-icon-theme
}:
stdenv.mkDerivation rec {
@@ -44,6 +46,8 @@ stdenv.mkDerivation rec {
];
buildInputs = [
+ elementary-gtk-theme
+ elementary-icon-theme
gala
granite
gtk3
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index 6c47cbcd3a57..d92d712a3ff7 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchgit, flex, bison, pkgconfig, python2, swig, which }:
+{ stdenv, lib, fetchgit, flex, bison, pkgconfig, which
+, pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform, python2, swig
+}:
stdenv.mkDerivation rec {
pname = "dtc";
@@ -10,16 +12,17 @@ stdenv.mkDerivation rec {
sha256 = "1jhhfrg22h53lvm2lqhd66pyk20pil08ry03wcwyx1c3ln27k73z";
};
- nativeBuildInputs = [ flex bison pkgconfig swig which ];
- buildInputs = [ python2 ];
+ nativeBuildInputs = [ flex bison pkgconfig which ] ++ lib.optionals pythonSupport [ python2 swig ];
+ buildInputs = lib.optionals pythonSupport [ python2 ];
postPatch = ''
patchShebangs pylibfdt/
'';
+ makeFlags = lib.optionals (!pythonSupport) [ "NO_PYTHON=1" ];
installFlags = [ "INSTALL=install" "PREFIX=$(out)" "SETUP_PREFIX=$(out)" ];
- meta = with stdenv.lib; {
+ meta = with lib; {
description = "Device Tree Compiler";
homepage = https://git.kernel.org/cgit/utils/dtc/dtc.git;
license = licenses.gpl2; # dtc itself is GPLv2, libfdt is dual GPL/BSD
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index ce18200943ea..676fa19d9e85 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -12,7 +12,7 @@ let
inherit (stdenv.hostPlatform) system;
};
- hsPkgs = haskell.packages.ghc864.override {
+ hsPkgs = haskell.packages.ghc865.override {
overrides = self: super: with haskell.lib;
let elmPkgs = rec {
elm = overrideCabal (self.callPackage ./packages/elm.nix { }) (drv: {
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
deleted file mode 100644
index 7c13db74c4c8..000000000000
--- a/pkgs/development/compilers/ghc/8.2.2.nix
+++ /dev/null
@@ -1,281 +0,0 @@
-{ stdenv, pkgsBuildTarget, targetPackages
-
-# build-tools
-, bootPkgs
-, autoconf, autoreconfHook, automake, coreutils, fetchurl, fetchpatch, perl, python3, sphinx
-, bash
-, runCommand
-
-, libiconv ? null, ncurses
-
-, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
-
-, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
-, # LLVM is conceptually a run-time-only depedendency, but for
- # non-x86, we need LLVM to bootstrap later stages, so it becomes a
- # build-time dependency too.
- buildLlvmPackages, llvmPackages
-
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
- # library instead of the faster but GPLed integer-gmp library.
- enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
-
-, # If enabled, use -fPIC when compiling static libs.
- enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
-
-, # Whether to build dynamic libs for the standard library (on the target
- # platform). Static libs are always built.
- enableShared ? !stdenv.targetPlatform.useiOSPrebuilt
-
-, # What flavour to build. An empty string indicates no
- # specific flavour and falls back to ghc default values.
- ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
-, # Whether to backport https://phabricator.haskell.org/D4388 for
- # deterministic profiling symbol names, at the cost of a slightly
- # non-standard GHC API
- deterministicProfiling ? false
-}:
-
-assert !enableIntegerSimple -> gmp != null;
-
-let
- inherit (stdenv) buildPlatform hostPlatform targetPlatform;
-
- inherit (bootPkgs) ghc;
-
- # TODO(@Ericson2314) Make unconditional
- targetPrefix = stdenv.lib.optionalString
- (targetPlatform != hostPlatform)
- "${targetPlatform.config}-";
-
- buildMK = ''
- BuildFlavour = ${ghcFlavour}
- ifneq \"\$(BuildFlavour)\" \"\"
- include mk/flavours/\$(BuildFlavour).mk
- endif
- DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
- INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
- '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
- Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
- CrossCompilePrefix = ${targetPrefix}
- HADDOCK_DOCS = NO
- BUILD_SPHINX_HTML = NO
- BUILD_SPHINX_PDF = NO
- '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
- GhcLibHcOpts += -fPIC
- GhcRtsHcOpts += -fPIC
- '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
- EXTRA_CC_OPTS += -std=gnu99
- '';
-
- # Splicer will pull out correct variations
- libDeps = platform: [ ncurses ]
- ++ stdenv.lib.optional (!enableIntegerSimple) gmp
- ++ stdenv.lib.optional (platform.libc != "glibc") libiconv
- ++ stdenv.lib.optional enableDwarf elfutils;
-
- toolsForTarget = [
- pkgsBuildTarget.targetPackages.stdenv.cc
- ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
-
- targetCC = builtins.head toolsForTarget;
-
-in
-stdenv.mkDerivation (rec {
- version = "8.2.2";
- name = "${targetPrefix}ghc-${version}";
-
- src = fetchurl {
- url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
- sha256 = "1z05vkpaj54xdypmaml50hgsdpw29dhbs2r7magx0cm199iw73mv";
- };
-
- enableParallelBuilding = true;
-
- outputs = [ "out" "doc" ];
-
- patches = [
- (fetchpatch { # Fix STRIP to be substituted from configure
- url = "https://git.haskell.org/ghc.git/commitdiff_plain/2fc8ce5f0c8c81771c26266ac0b150ca9b75c5f3";
- sha256 = "03253ci40np1v6k0wmi4aypj3nmj3rdyvb1k6rwqipb30nfc719f";
- })
- (import ./abi-depends-determinism.nix { inherit fetchpatch runCommand; })
- ] ++ stdenv.lib.optionals (hostPlatform != targetPlatform) [
- # Cherry-pick a few commits from newer hsc2hs so that proper binary is
- # installed -- stage 2 normally but stage 1 with cross.
- #
- # TODO make unconditional next mass rebuild.
- (fetchpatch {
- url = "https://git.haskell.org/hsc2hs.git/patch/ecdac062b5cf1d284906487849c56f4e149b3c8e";
- sha256 = "1gagswi26j50z44sdx0mk1sb3wr0nrqyaph9j724zp6iwqslxyzm";
- extraPrefix = "utils/hsc2hs/";
- stripLen = 1;
- })
- (fetchpatch {
- url = "https://git.haskell.org/hsc2hs.git/patch/598303cbffcd230635fbce28ce4105d177fdf76a";
- sha256 = "0hqcg434qbh1bz1pk85cap2q4v9i8bs6x65yzq4spz6xk3zq6af7";
- extraPrefix = "utils/hsc2hs/";
- stripLen = 1;
- })
- (fetchpatch {
- url = "https://git.haskell.org/hsc2hs.git/patch/9483ad10064fbbb97ab525280623826b1ef63959";
- sha256 = "1cpfdhfc0cz9xkjzkcgwx4fbyj96dkmd04wpwi1vji7fahw8kmf3";
- extraPrefix = "utils/hsc2hs/";
- stripLen = 1;
- })
- (fetchpatch {
- url = "https://git.haskell.org/hsc2hs.git/patch/738f3666c878ee9e79c3d5e819ef8b3460288edf";
- sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3";
- extraPrefix = "utils/hsc2hs/";
- stripLen = 1;
- })
- ] ++ stdenv.lib.optionals (hostPlatform != targetPlatform && targetPlatform.system == hostPlatform.system) [
- (fetchpatch {
- url = "https://raw.githubusercontent.com/gentoo/gentoo/08a41d2dff99645af6ac5a7bb4774f5f193b6f20/dev-lang/ghc/files/ghc-8.2.1_rc1-unphased-cross.patch";
- sha256 = "1hxj80bjx0x3w0f35cj3k2wipppr1ald03jwfy5q0xlxygdha17w";
- })
- (fetchpatch {
- url = "https://raw.githubusercontent.com/gentoo/gentoo/08a41d2dff99645af6ac5a7bb4774f5f193b6f20/dev-lang/ghc/files/ghc-8.2.1_rc1-staged-cross.patch";
- sha256 = "12xsln3zyfpvml8bwdpbc003h6zl1qh2qcq1rhdrw02n45dz8lvc";
- })
- (fetchpatch {
- url = "https://raw.githubusercontent.com/gentoo/gentoo/08a41d2dff99645af6ac5a7bb4774f5f193b6f20/dev-lang/ghc/files/ghc-8.2.1_rc1-ghci-cross.patch";
- sha256 = "03dcqf5af3vjhrky3f2z26j4d9h8qd9nkv76xp0l97h4cqk7vfqb";
- })
- (fetchpatch {
- url = "https://raw.githubusercontent.com/gentoo/gentoo/08a41d2dff99645af6ac5a7bb4774f5f193b6f20/dev-lang/ghc/files/ghc-8.2.1_rc1-stage2-cross.patch";
- sha256 = "0pi2m85wjxaaablq6n4q5vyn9qxvry5d7nmja4b28i68yb4ly9g1";
- })
- (fetchpatch {
- url = "https://raw.githubusercontent.com/gentoo/gentoo/08a41d2dff99645af6ac5a7bb4774f5f193b6f20/dev-lang/ghc/files/ghc-8.2.1_rc1-hp2ps-cross.patch";
- sha256 = "1fszfavf1cvrf02x500mi7jykcpvpl2i7i4qzr2qz9sbmyq063f0";
- })
- ] ++ stdenv.lib.optional deterministicProfiling
- (fetchpatch { # Backport of https://phabricator.haskell.org/D4388 for more determinism
- url = "https://github.com/shlevy/ghc/commit/fec1b8d3555c447c0d8da0e96b659be67c8bb4bc.patch";
- sha256 = "1lyysz6hfd1njcigpm8xppbnkadqfs0kvrp7s8vqgb38pjswj5hg";
- })
- ++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
-
- postPatch = "patchShebangs .";
-
- # GHC is a bit confused on its cross terminology.
- preConfigure = ''
- for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
- export "''${env#TARGET_}=''${!env}"
- done
- # GHC is a bit confused on its cross terminology, as these would normally be
- # the *host* tools.
- export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
- export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
- # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
- export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
- export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
- export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
- export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
- export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
- export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
- export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
-
- echo -n "${buildMK}" > mk/build.mk
- sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
- '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
- export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
- '' + stdenv.lib.optionalString stdenv.isDarwin ''
- export NIX_LDFLAGS+=" -no_dtrace_dof"
- '';
-
- # TODO(@Ericson2314): Always pass "--target" and always prefix.
- configurePlatforms = [ "build" "host" ]
- ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
- # `--with` flags for libraries needed for RTS linker
- configureFlags = [
- "--datadir=$doc/share/doc/ghc"
- ] ++ stdenv.lib.optional (targetPlatform == hostPlatform) [
- "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
- ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
- "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
- ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
- "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
- ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
- "--enable-bootstrap-with-devel-snapshot"
- ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
- "CFLAGS=-fuse-ld=gold"
- "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
- "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
- ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
- # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
- "--disable-large-address-space"
- ] ++ stdenv.lib.optional enableDwarf [
- "--enable-dwarf-unwind"
- ];
-
- # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
- dontAddExtraLibs = true;
-
- # Make sure we never relax`$PATH` and hooks support for compatability.
- strictDeps = true;
-
- nativeBuildInputs = [
- autoconf autoreconfHook automake perl python3 sphinx
- ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
- ];
-
- # For building runtime libs
- depsBuildTarget = toolsForTarget;
-
- buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
-
- propagatedBuildInputs = [ targetPackages.stdenv.cc ]
- ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
-
- depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
- depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
-
- # required, because otherwise all symbols from HSffi.o are stripped, and
- # that in turn causes GHCi to abort
- stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
-
- # See #63511 - the only unstripped file is the debug rts which isn't meant to
- # be stripped.
- dontStrip = true;
-
- checkTarget = "test";
- doCheck = false; # fails with "testsuite/tests: No such file or directory. Stop."
-
- hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
-
- postInstall = ''
- # Install the bash completion file.
- install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-
- # Patch scripts to include "readelf" and "cat" in $PATH.
- for i in "$out/bin/"*; do
- test ! -h $i || continue
- egrep --quiet '^#!' <(head -n 1 $i) || continue
- sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
- done
- '';
-
- passthru = {
- inherit bootPkgs targetPrefix;
-
- inherit llvmPackages;
- inherit enableShared;
-
- # Our Cabal compiler name
- haskellCompilerName = "ghc-8.2.2";
- };
-
- meta = {
- homepage = http://haskell.org/ghc;
- description = "The Glasgow Haskell Compiler";
- maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
- inherit (ghc.meta) license platforms;
- };
-
-} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
- dontStrip = true;
- dontPatchELF = true;
- noAuditTmpdir = true;
-})
diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix
index 30353771ea63..52fb926cdc68 100644
--- a/pkgs/development/compilers/ghc/8.4.4.nix
+++ b/pkgs/development/compilers/ghc/8.4.4.nix
@@ -7,8 +7,6 @@
, libiconv ? null, ncurses
-, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
-
, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
@@ -73,8 +71,7 @@ let
# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
- ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
- ++ stdenv.lib.optional enableDwarf elfutils;
+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
@@ -183,8 +180,6 @@ stdenv.mkDerivation (rec {
] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
# fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
"--disable-large-address-space"
- ] ++ stdenv.lib.optional enableDwarf [
- "--enable-dwarf-unwind"
];
# Make sure we never relax`$PATH` and hooks support for compatability.
diff --git a/pkgs/development/compilers/ghc/8.6.4.nix b/pkgs/development/compilers/ghc/8.6.4.nix
deleted file mode 100644
index 7b6769df682a..000000000000
--- a/pkgs/development/compilers/ghc/8.6.4.nix
+++ /dev/null
@@ -1,256 +0,0 @@
-{ stdenv, pkgsBuildTarget, targetPackages
-
-# build-tools
-, bootPkgs
-, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx
-, bash
-
-, libiconv ? null, ncurses
-
-, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
-
-, # GHC can be built with system libffi or a bundled one.
- libffi ? null
-
-, useLLVM ? !stdenv.targetPlatform.isx86
-, # LLVM is conceptually a run-time-only depedendency, but for
- # non-x86, we need LLVM to bootstrap later stages, so it becomes a
- # build-time dependency too.
- buildLlvmPackages, llvmPackages
-
-, # If enabled, GHC will be built with the GPL-free but slower integer-simple
- # library instead of the faster but GPLed integer-gmp library.
- enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
-
-, # If enabled, use -fPIC when compiling static libs.
- enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
-
-, # Whether to build dynamic libs for the standard library (on the target
- # platform). Static libs are always built.
- enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
-
-, # Whetherto build terminfo.
- enableTerminfo ? !stdenv.targetPlatform.isWindows
-
-, # What flavour to build. An empty string indicates no
- # specific flavour and falls back to ghc default values.
- ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
- (if useLLVM then "perf-cross" else "perf-cross-ncg")
-
-, # Whether to disable the large address space allocator
- # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
- disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
-}:
-
-assert !enableIntegerSimple -> gmp != null;
-
-let
- inherit (stdenv) buildPlatform hostPlatform targetPlatform;
-
- inherit (bootPkgs) ghc;
-
- # TODO(@Ericson2314) Make unconditional
- targetPrefix = stdenv.lib.optionalString
- (targetPlatform != hostPlatform)
- "${targetPlatform.config}-";
-
- buildMK = ''
- BuildFlavour = ${ghcFlavour}
- ifneq \"\$(BuildFlavour)\" \"\"
- include mk/flavours/\$(BuildFlavour).mk
- endif
- DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
- INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
- '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
- Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
- CrossCompilePrefix = ${targetPrefix}
- HADDOCK_DOCS = NO
- BUILD_SPHINX_HTML = NO
- BUILD_SPHINX_PDF = NO
- '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
- GhcLibHcOpts += -fPIC
- GhcRtsHcOpts += -fPIC
- '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
- EXTRA_CC_OPTS += -std=gnu99
- '';
-
- # Splicer will pull out correct variations
- libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
- ++ [libffi]
- ++ stdenv.lib.optional (!enableIntegerSimple) gmp
- ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
- ++ stdenv.lib.optional enableDwarf elfutils;
-
- toolsForTarget = [
- pkgsBuildTarget.targetPackages.stdenv.cc
- ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
-
- targetCC = builtins.head toolsForTarget;
-
-in
-stdenv.mkDerivation (rec {
- version = "8.6.4";
- name = "${targetPrefix}ghc-${version}";
-
- src = fetchurl {
- url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
- sha256 = "0fihs1sr0hpk67dn9cmrsav13kkcp9hz8ggdqcrs80rj8vj0fpav";
- };
-
- enableParallelBuilding = true;
-
- outputs = [ "out" "doc" ];
-
- patches = [
- (fetchpatch rec { # https://phabricator.haskell.org/D5123
- url = "http://tarballs.nixos.org/sha256/${sha256}";
- name = "D5123.diff";
- sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n";
- })
- (fetchpatch { # https://github.com/haskell/haddock/issues/900
- url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff";
- name = "loadpluginsinmodules.diff";
- sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1";
- extraPrefix = "utils/haddock/";
- stripLen = 1;
- })
- ];
-
- postPatch = "patchShebangs .";
-
- # GHC is a bit confused on its cross terminology.
- preConfigure = ''
- for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
- export "''${env#TARGET_}=''${!env}"
- done
- # GHC is a bit confused on its cross terminology, as these would normally be
- # the *host* tools.
- export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
- export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
- # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
- export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
- export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
- export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
- export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
- export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
- export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
- export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
-
- echo -n "${buildMK}" > mk/build.mk
- sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
- '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
- export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
- '' + stdenv.lib.optionalString stdenv.isDarwin ''
- export NIX_LDFLAGS+=" -no_dtrace_dof"
- '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
- sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
- '' + stdenv.lib.optionalString targetPlatform.isMusl ''
- echo "patching llvm-targets for musl targets..."
- echo "Cloning these existing '*-linux-gnu*' targets:"
- grep linux-gnu llvm-targets | sed 's/^/ /'
- echo "(go go gadget sed)"
- sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
- echo "llvm-targets now contains these '*-linux-musl*' targets:"
- grep linux-musl llvm-targets | sed 's/^/ /'
-
- echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
- # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
- for x in configure aclocal.m4; do
- substituteInPlace $x \
- --replace '*-android*|*-gnueabi*)' \
- '*-android*|*-gnueabi*|*-musleabi*)'
- done
- '';
-
- # TODO(@Ericson2314): Always pass "--target" and always prefix.
- configurePlatforms = [ "build" "host" ]
- ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
- # `--with` flags for libraries needed for RTS linker
- configureFlags = [
- "--datadir=$doc/share/doc/ghc"
- "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
- ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
- ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
- "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
- ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
- "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
- ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
- "--enable-bootstrap-with-devel-snapshot"
- ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
- "CFLAGS=-fuse-ld=gold"
- "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
- "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
- ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
- "--disable-large-address-space"
- ] ++ stdenv.lib.optional enableDwarf [
- "--enable-dwarf-unwind"
- ];
-
- # Make sure we never relax`$PATH` and hooks support for compatability.
- strictDeps = true;
-
- # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
- dontAddExtraLibs = true;
-
- nativeBuildInputs = [
- perl autoconf automake m4 python3 sphinx
- ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
- ];
-
- # For building runtime libs
- depsBuildTarget = toolsForTarget;
-
- buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
-
- propagatedBuildInputs = [ targetPackages.stdenv.cc ]
- ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
-
- depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
- depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
-
- # required, because otherwise all symbols from HSffi.o are stripped, and
- # that in turn causes GHCi to abort
- stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
-
- # See #63511 - the only unstripped file is the debug rts which isn't meant to
- # be stripped.
- dontStrip = true;
-
- checkTarget = "test";
-
- hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
-
- postInstall = ''
- # Install the bash completion file.
- install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
-
- # Patch scripts to include "readelf" and "cat" in $PATH.
- for i in "$out/bin/"*; do
- test ! -h $i || continue
- egrep --quiet '^#!' <(head -n 1 $i) || continue
- sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
- done
- '';
-
- passthru = {
- inherit bootPkgs targetPrefix;
-
- inherit llvmPackages;
- inherit enableShared;
-
- # Our Cabal compiler name
- haskellCompilerName = "ghc-8.6.4";
- };
-
- meta = {
- homepage = http://haskell.org/ghc;
- description = "The Glasgow Haskell Compiler";
- maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
- inherit (ghc.meta) license platforms;
- };
-
-} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
- dontStrip = true;
- dontPatchELF = true;
- noAuditTmpdir = true;
-})
diff --git a/pkgs/development/compilers/ghc/8.6.5.nix b/pkgs/development/compilers/ghc/8.6.5.nix
index acc97f93c630..cdbcb8e1aedc 100644
--- a/pkgs/development/compilers/ghc/8.6.5.nix
+++ b/pkgs/development/compilers/ghc/8.6.5.nix
@@ -7,8 +7,6 @@
, libiconv ? null, ncurses
-, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
-
, # GHC can be built with system libffi or a bundled one.
libffi ? null
@@ -78,8 +76,7 @@ let
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
++ [libffi]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
- ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
- ++ stdenv.lib.optional enableDwarf elfutils;
+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
@@ -182,8 +179,6 @@ stdenv.mkDerivation (rec {
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
- ] ++ stdenv.lib.optional enableDwarf [
- "--enable-dwarf-unwind"
];
# Make sure we never relax`$PATH` and hooks support for compatability.
diff --git a/pkgs/development/compilers/ghc/8.8.1.nix b/pkgs/development/compilers/ghc/8.8.1.nix
index c80ccf72817f..95bbab3cb3e1 100644
--- a/pkgs/development/compilers/ghc/8.8.1.nix
+++ b/pkgs/development/compilers/ghc/8.8.1.nix
@@ -7,8 +7,6 @@
, libiconv ? null, ncurses
-, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
-
, # GHC can be built with system libffi or a bundled one.
libffi ? null
@@ -78,8 +76,7 @@ let
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
++ [libffi]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
- ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
- ++ stdenv.lib.optional enableDwarf elfutils;
+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
@@ -167,8 +164,6 @@ stdenv.mkDerivation (rec {
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
- ] ++ stdenv.lib.optional enableDwarf [
- "--enable-dwarf-unwind"
];
# Make sure we never relax`$PATH` and hooks support for compatability.
diff --git a/pkgs/development/compilers/ghc/abi-depends-determinism.nix b/pkgs/development/compilers/ghc/abi-depends-determinism.nix
deleted file mode 100644
index bc803b74617f..000000000000
--- a/pkgs/development/compilers/ghc/abi-depends-determinism.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# https://phabricator.haskell.org/D4159 to fix non-determinism in
-# cached abi-depends fields in package databases, modified to only
-# contain hunks that exist in distribution tarballs.
-{ fetchpatch, runCommand }: let
- base = fetchpatch rec { # Non-determinism in cached abi-depends fields
- # Originally https://phabricator-files.haskell.org/file/data/4pqrbo5b62sifktfbrls/PHID-FILE-4g4zjiqlfxmmlaos7lz7/D4159.diff
- url = "http://tarballs.nixos.org/sha256/${sha256}";
- name = "D4159.diff";
- sha256 = "0b8a08sisf1swmarm6nh9rgw7cpzi2rwdzvrd6ny49c7wk0f7x4b";
- };
-in runCommand base.name {}
- "sed -n '/utils\\/ghc-pkg/,$p' ${base} >$out"
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 240b55deb682..b78f5bc2204c 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -7,8 +7,6 @@
, libiconv ? null, ncurses
-, enableDwarf ? !stdenv.isDarwin, elfutils # for DWARF support
-
, useLLVM ? !stdenv.targetPlatform.isx86
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
@@ -75,8 +73,7 @@ let
# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
- ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
- ++ stdenv.lib.optional enableDwarf elfutils;
+ ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
@@ -179,8 +176,6 @@ stdenv.mkDerivation (rec {
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
- ] ++ stdenv.lib.optional enableDwarf [
- "--enable-dwarf-unwind"
];
# Make sure we never relax`$PATH` and hooks support for compatability.
diff --git a/pkgs/development/interpreters/evcxr/default.nix b/pkgs/development/interpreters/evcxr/default.nix
index 54ee243cb33e..c4259091f7b1 100644
--- a/pkgs/development/interpreters/evcxr/default.nix
+++ b/pkgs/development/interpreters/evcxr/default.nix
@@ -1,30 +1,30 @@
-{ cargo, fetchFromGitHub, makeWrapper, pkgconfig, rustPlatform, stdenv, gcc, Security, zeromq }:
+{ cargo, fetchFromGitHub, makeWrapper, pkgconfig, rustPlatform, stdenv, gcc, Security, cmake }:
rustPlatform.buildRustPackage rec {
pname = "evcxr";
- version = "0.4.4";
+ version = "0.4.5";
src = fetchFromGitHub {
owner = "google";
repo = "evcxr";
rev = "v${version}";
- sha256 = "1j2vsqgljqw7415rgjlnc1w3nmr9ghizx2mncbm1yipwj8xbrmf6";
+ sha256 = "13fs9fgvdf8bh6vc8xs8qhil0a1qhm4gvv0ici37xh8a94ngsn7h";
};
- cargoSha256 = "0ckxpmi547y7q4w287znimpxgaj3mjkgmkcs2n9cp4m8cw143hly";
+ cargoSha256 = "0g17g12isah4nkqp9i299qr1sz19k4czcc43rm1wbs0y9szaqvwc";
- nativeBuildInputs = [ pkgconfig makeWrapper ];
- buildInputs = [ zeromq ] ++ stdenv.lib.optional stdenv.isDarwin Security;
+ nativeBuildInputs = [ pkgconfig makeWrapper cmake ];
+ buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
postInstall = ''
wrapProgram $out/bin/evcxr --prefix PATH : ${stdenv.lib.makeBinPath [ cargo gcc ]}
rm $out/bin/testing_runtime
'';
- meta = {
+ meta = with stdenv.lib; {
description = "An evaluation context for Rust";
homepage = "https://github.com/google/evcxr";
- license = stdenv.lib.licenses.asl20;
- maintainers = [ stdenv.lib.maintainers.protoben ];
- platforms = stdenv.lib.platforms.all;
+ license = licenses.asl20;
+ maintainers = with maintainers; [ protoben ma27 ];
+ platforms = platforms.all;
};
}
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 9292a9307030..2315e53220b9 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -116,45 +116,11 @@ SEMVER = {
}
-def _determine_latest_version(current_version, target, versions):
- """Determine latest version, given `target`.
- """
- current_version = Version(current_version)
-
- def _parse_versions(versions):
- for v in versions:
- try:
- yield Version(v)
- except InvalidVersion:
- pass
-
- versions = _parse_versions(versions)
-
- index = SEMVER[target]
-
- ceiling = list(current_version[0:index])
- if len(ceiling) == 0:
- ceiling = None
- else:
- ceiling[-1]+=1
- ceiling = Version(".".join(map(str, ceiling)))
-
- # We do not want prereleases
- versions = SpecifierSet(prereleases=PRERELEASES).filter(versions)
-
- if ceiling is not None:
- versions = SpecifierSet(f"<{ceiling}").filter(versions)
-
- return (max(sorted(versions))).raw_version
-
-
def _get_latest_version_pypi(package, extension, current_version, target):
"""Get latest version and hash from PyPI."""
url = "{}/{}/json".format(INDEX, package)
json = _fetch_page(url)
-
- versions = json['releases'].keys()
- version = _determine_latest_version(current_version, target, versions)
+ version = json['info']['version']
try:
releases = json['releases'][version]
@@ -166,6 +132,7 @@ def _get_latest_version_pypi(package, extension, current_version, target):
sha256 = release['digests']['sha256']
break
else:
+ logging.error("Release not found for extension: {}".format(extension))
sha256 = None
return version, sha256
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 33c8e5076daa..8e8e445f0173 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -19,7 +19,7 @@
{ stdenv, lib
, buildPackages
-, fetchurl ? null
+, fetchurl, fetchpatch
, linuxHeaders ? null
, gd ? null, libpng ? null
, bison
@@ -95,7 +95,15 @@ stdenv.mkDerivation ({
]
++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
- ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;
+ ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch
+
+ # Remove after upgrading to glibc 2.28+
+ ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) (fetchpatch {
+ url = "https://sourceware.org/git/?p=glibc.git;a=patch;h=780684eb04298977bc411ebca1eadeeba4877833";
+ name = "correct-pwent-parsing-issue-and-resulting-build.patch";
+ sha256 = "08fja894vzaj8phwfhsfik6jj2pbji7kypy3q8pgxvsd508zdv1q";
+ excludes = [ "ChangeLog" ];
+ });
postPatch =
''
diff --git a/pkgs/development/libraries/libmicrodns/default.nix b/pkgs/development/libraries/libmicrodns/default.nix
index 3c55a6b036cc..41d81f1f1766 100644
--- a/pkgs/development/libraries/libmicrodns/default.nix
+++ b/pkgs/development/libraries/libmicrodns/default.nix
@@ -5,14 +5,14 @@
}:
stdenv.mkDerivation rec {
- version = "0.0.10";
+ version = "0.1.0";
pname = "libmicrodns";
src = fetchFromGitHub {
owner = "videolabs";
repo = pname;
rev = version;
- sha256 = "1xvl9k49ng35wbsqmnjnyqvkyjf8dcq2ywsq3jp3wh0rgmxhq2fh";
+ sha256 = "1pmf461zn35spbpbls1ih68ki7f8g8xjwhzr2csy63nnyq2k9jji";
};
nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 71b8d2bb20e6..4bfa6cd0b8e4 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lib, cmake }:
+{ stdenv, fetchurl, lib, cmake, cacert }:
let
@@ -31,6 +31,12 @@ let
rm configure
'';
+ # Since 2.9.x the default location can't be configured from the build using
+ # DEFAULT_CA_FILE anymore, instead we have to patch the default value.
+ postPatch = lib.optionalString (lib.versionAtLeast version "2.9.2") ''
+ substituteInPlace ./tls/tls_config.c --replace '"/etc/ssl/cert.pem"' '"${cacert}/etc/ssl/certs/ca-bundle.crt"'
+ '';
+
enableParallelBuilding = true;
outputs = [ "bin" "dev" "out" "man" "nc" ];
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index a297bf61f786..732a529c21f4 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -1,28 +1,47 @@
{ fetchFromGitHub, stdenv, cmake, openssl, zlib, libuv }:
-stdenv.mkDerivation rec {
- pname = "libwebsockets";
- version = "3.2.0";
+let
+ generic = { version, sha256 }: stdenv.mkDerivation rec {
+ pname = "libwebsockets";
+ inherit version;
- src = fetchFromGitHub {
- owner = "warmcat";
- repo = "libwebsockets";
- rev = "v${version}";
+ src = fetchFromGitHub {
+ owner = "warmcat";
+ repo = "libwebsockets";
+ rev = "v${version}";
+ inherit sha256;
+ };
+
+ buildInputs = [ openssl zlib libuv ];
+
+ nativeBuildInputs = [ cmake ];
+
+ cmakeFlags = [ "-DLWS_WITH_PLUGINS=ON" ];
+
+ meta = with stdenv.lib; {
+ description = "Light, portable C library for websockets";
+ longDescription = ''
+ Libwebsockets is a lightweight pure C library built to
+ use minimal CPU and memory resources, and provide fast
+ throughput in both directions.
+ '';
+ homepage = "https://libwebsockets.org/";
+ license = licenses.lgpl21;
+ platforms = platforms.all;
+ };
+ };
+
+in
+rec {
+ libwebsockets_3_1 = generic {
+ sha256 = "1w1wz6snf3cmcpa3f4dci2nz9za2f5rrylxl109id7bcb36xhbdl";
+ version = "3.1.0";
+ };
+
+ libwebsockets_3_2 = generic {
+ version = "3.2.0";
sha256 = "0ac5755h3w1pl6cznqbvg63dwkqy544fqlhvqyp7s11hgs7jx6l8";
};
- buildInputs = [ cmake openssl zlib libuv ];
- cmakeFlags = [ "-DLWS_WITH_PLUGINS=ON" ];
-
- meta = {
- description = "Light, portable C library for websockets";
- longDescription = ''
- Libwebsockets is a lightweight pure C library built to
- use minimal CPU and memory resources, and provide fast
- throughput in both directions.
- '';
- homepage = https://github.com/warmcat/libwebsockets;
- license = stdenv.lib.licenses.lgpl21;
- platforms = stdenv.lib.platforms.all;
- };
+ libwebsockets = libwebsockets_3_2;
}
diff --git a/pkgs/development/node-packages/composition-v10.nix b/pkgs/development/node-packages/composition-v10.nix
index 9e2521717efc..fa4b4c3be568 100644
--- a/pkgs/development/node-packages/composition-v10.nix
+++ b/pkgs/development/node-packages/composition-v10.nix
@@ -1,8 +1,8 @@
-# This file has been generated by node2nix 1.6.0. Do not edit!
+# This file has been generated by node2nix 1.7.0. Do not edit!
{pkgs ? import {
inherit system;
- }, system ? builtins.currentSystem, nodejs ? pkgs.nodejs-10_x}:
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
let
nodeEnv = import ./node-env.nix {
diff --git a/pkgs/development/node-packages/composition-v12.nix b/pkgs/development/node-packages/composition-v12.nix
index 4ed0336ec5c4..880d72efd359 100644
--- a/pkgs/development/node-packages/composition-v12.nix
+++ b/pkgs/development/node-packages/composition-v12.nix
@@ -1,8 +1,8 @@
-# This file has been generated by node2nix 1.6.0. Do not edit!
+# This file has been generated by node2nix 1.7.0. Do not edit!
{pkgs ? import {
inherit system;
- }, system ? builtins.currentSystem, nodejs ? pkgs.nodejs-6_x}:
+ }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
let
nodeEnv = import ./node-env.nix {
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 720e0cc08503..670556bf271a 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -11,7 +11,7 @@ let
cat > $out/bin/tar <
- #include
- #include
--#include "qt5ct.h"
-+#include
- #include
- #include
-+#include "qt5ct.h"
- #include "mainwindow.h"
-
- int main(int argc, char **argv)
- {
- QApplication app(argc, argv);
-+#if (QT_VERSION >= QT_VERSION_CHECK(5, 7, 0))
-+ QGuiApplication::setDesktopFileName("qt5ct.desktop");
-+#endif
- QTranslator translator;
- QString locale = Qt5CT::systemLanguageID();
- translator.load(QString(":/qt5ct_") + locale);
\ No newline at end of file
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index c51bf998b322..5d571e0c0226 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -2,19 +2,19 @@
rustPlatform.buildRustPackage rec {
pname = "starship";
- version = "0.15.0";
+ version = "0.17.0";
src = fetchFromGitHub {
owner = "starship";
repo = "starship";
rev = "v${version}";
- sha256 = "164qxbzlzg53xicp2n5kg9qbmvlckc6rk78n69s82d2d09mbq1ks";
+ sha256 = "0vlpvacay25dzb5wix9jd91j0j1nrwz4k8zglj7210mhabfpnxvb";
};
buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
nativeBuildInputs = [ pkgconfig ];
- cargoSha256 = "192lq0wf8c2p3s4n6c0xr02hwyswypxypimbghi4m8f3fgj2l3ig";
+ cargoSha256 = "0p16pa9psbj9126b4p61l0skmmasp2ms6c6r5rh3dfr8gg77qzpa";
checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/boringtun/default.nix b/pkgs/tools/networking/boringtun/default.nix
index 068d51229cb1..05e9ba1282eb 100644
--- a/pkgs/tools/networking/boringtun/default.nix
+++ b/pkgs/tools/networking/boringtun/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, darwin }:
rustPlatform.buildRustPackage rec {
pname = "boringtun";
@@ -21,6 +21,8 @@ rustPlatform.buildRustPackage rec {
# we append a new line to the end of file.
preConfigure = "echo '' >> .cargo/config";
+ buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+
# Testing this project requires sudo, Docker and network access, etc.
doCheck = false;
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index 06d28e844ff3..d745ba8d14d1 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -62,5 +62,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ maintainers.bjornfor ];
+ broken = true; # broken since commit "libpcap: 1.8.1 -> 1.9.0"
};
}
diff --git a/pkgs/tools/networking/tendermint/default.nix b/pkgs/tools/networking/tendermint/default.nix
index a884ed0ccd49..0b9c254deeb4 100644
--- a/pkgs/tools/networking/tendermint/default.nix
+++ b/pkgs/tools/networking/tendermint/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "tendermint";
- version = "0.32.2";
+ version = "0.32.3";
src = fetchFromGitHub {
owner = "tendermint";
repo = pname;
- rev = "d70135ec71979e7588c649c80f2acea65346a99a";
- sha256 = "062lzc1c96nwg22ql10mwjkxhq68lyak7s0id5y4f9mmj6d4rd69";
+ rev = "v${version}";
+ sha256 = "0vpnw42a28glghdpgxmqhxd63cnbpghhazpzsdksqkw0i1l36ywr";
};
- modSha256 = "0hl8ly2qx0fv9diipqkcrlaz3ncsb2h81i0ccf5gn9cmyl37x0yk";
+ modSha256 = "1h51zgvjq3bm09yhm54rk8a86cqa1zma3mx6pb0kq7k72xvhpx0a";
meta = with stdenv.lib; {
description = "Byzantine-Fault Tolerant State Machines. Or Blockchain, for short.";
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index c038249b69f7..4d4f73ad7c24 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -121,7 +121,7 @@ common =
homepage = https://nixos.org/;
license = stdenv.lib.licenses.lgpl2Plus;
maintainers = [ stdenv.lib.maintainers.eelco ];
- platforms = stdenv.lib.platforms.all;
+ platforms = stdenv.lib.platforms.unix;
outputsToInstall = [ "out" "man" ];
};
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 90bd55f55a23..e2f460e7e308 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
- nativeBuildInputs = [ pkgconfig ];
+ nativeBuildInputs = [ pkgconfig texinfo ];
buildInputs = [
- libgcrypt libassuan libksba libiconv npth gettext texinfo
+ libgcrypt libassuan libksba libiconv npth gettext
readline libusb gnutls adns openldap zlib bzip2 sqlite
];
diff --git a/pkgs/tools/security/pinentry/autoconf-ar.patch b/pkgs/tools/security/pinentry/autoconf-ar.patch
new file mode 100644
index 000000000000..6f531cfce325
--- /dev/null
+++ b/pkgs/tools/security/pinentry/autoconf-ar.patch
@@ -0,0 +1,35 @@
+diff -ur a/configure.ac b/configure.ac
+--- a/configure.ac 2019-09-14 11:30:11.584847746 +0000
++++ b/configure.ac 2019-09-14 11:31:26.692355265 +0000
+@@ -81,6 +81,7 @@
+ AC_PROG_CPP
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
++AC_CHECK_TOOL(AR, ar)
+ # We need to check for cplusplus here because we may not do the test
+ # for Qt and autoconf does does not allow that.
+ AC_PROG_CXX
+diff -ur a/pinentry/Makefile.in b/pinentry/Makefile.in
+--- a/pinentry/Makefile.in 2017-12-03 17:43:23.000000000 +0000
++++ b/pinentry/Makefile.in 2019-09-14 11:32:02.532000236 +0000
+@@ -113,7 +113,7 @@
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+ LIBRARIES = $(noinst_LIBRARIES)
+-AR = ar
++AR = @AR@
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+diff -ur a/secmem/Makefile.in b/secmem/Makefile.in
+--- a/secmem/Makefile.in 2017-12-03 17:43:23.000000000 +0000
++++ b/secmem/Makefile.in 2019-09-14 11:31:58.764934552 +0000
+@@ -113,7 +113,7 @@
+ CONFIG_CLEAN_FILES =
+ CONFIG_CLEAN_VPATH_FILES =
+ LIBRARIES = $(noinst_LIBRARIES)
+-AR = ar
++AR = @AR@
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 25e018de6276..160816a8cb72 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchpatch, stdenv, lib, pkgconfig
+{ fetchurl, fetchpatch, stdenv, lib, pkgconfig, autoreconfHook
, libgpgerror, libassuan
, libcap ? null, libsecret ? null, ncurses ? null, gtk2 ? null, gcr ? null
, qt4 ? null, qt5 ? null
@@ -23,7 +23,7 @@ mkDerivation rec {
sha256 = "0w35ypl960pczg5kp6km3dyr000m1hf0vpwwlh72jjkjza36c1v8";
};
- nativeBuildInputs = [ pkgconfig ];
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs =
[ libgpgerror libassuan libcap libsecret gtk2 gcr ncurses qt4 ]
++ stdenv.lib.optional (qt5 != null) qt5.qtbase;
@@ -32,7 +32,9 @@ mkDerivation rec {
substituteInPlace pinentry/pinentry-curses.c --replace ncursesw ncurses
'';
- patches = lib.optionals (gtk2 != null) [
+ patches = [
+ ./autoconf-ar.patch
+ ] ++ lib.optionals (gtk2 != null) [
(fetchpatch {
url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/"
+ "0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 07febf754522..8d419026a908 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1098,7 +1098,7 @@ in
bitbucket-cli = python2Packages.bitbucket-cli;
- blink = callPackage ../applications/networking/instant-messengers/blink { };
+ blink = libsForQt5.callPackage ../applications/networking/instant-messengers/blink { };
blockbook = callPackage ../servers/blockbook { };
@@ -4570,7 +4570,10 @@ in
librest = callPackage ../development/libraries/librest { };
- libwebsockets = callPackage ../development/libraries/libwebsockets { };
+ inherit (callPackages ../development/libraries/libwebsockets { })
+ libwebsockets_3_1
+ libwebsockets_3_2
+ libwebsockets;
lidarr = callPackage ../servers/lidarr { };
@@ -8336,7 +8339,9 @@ in
cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { };
cargo-expand = callPackage ../development/tools/rust/cargo-expand { };
cargo-fuzz = callPackage ../development/tools/rust/cargo-fuzz { };
- cargo-inspect = callPackage ../development/tools/rust/cargo-inspect { };
+ cargo-inspect = callPackage ../development/tools/rust/cargo-inspect {
+ inherit (darwin.apple_sdk.frameworks) Security;
+ };
cargo-make = callPackage ../development/tools/rust/cargo-make {
inherit (darwin.apple_sdk.frameworks) Security;
};
@@ -8696,6 +8701,8 @@ in
metamath = callPackage ../development/interpreters/metamath { };
+ minder = callPackage ../applications/misc/minder { };
+
mujs = callPackage ../development/interpreters/mujs { };
nix-exec = callPackage ../development/interpreters/nix-exec {
@@ -9702,6 +9709,8 @@ in
kati = callPackage ../development/tools/build-managers/kati { };
+ kcc = libsForQt5.callPackage ../applications/graphics/kcc { };
+
kconfig-frontends = callPackage ../development/tools/misc/kconfig-frontends {
gperf = gperf_3_0;
};
@@ -14711,6 +14720,8 @@ in
meteor = callPackage ../servers/meteor { };
+ micronaut = callPackage ../development/tools/micronaut {};
+
minio = callPackage ../servers/minio { };
# Backwards compatibility.
@@ -15416,6 +15427,8 @@ in
cifs-utils = callPackage ../os-specific/linux/cifs-utils { };
+ cpustat = callPackage ../os-specific/linux/cpustat { };
+
cockroachdb = callPackage ../servers/sql/cockroachdb { };
conky = callPackage ../os-specific/linux/conky ({
@@ -15725,6 +15738,10 @@ in
];
};
+ linux_5_3 = callPackage ../os-specific/linux/kernel/linux-5.3.nix {
+ kernelPatches = [ kernelPatches.bridge_stp_helper ];
+ };
+
linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
kernelPatches = [
kernelPatches.bridge_stp_helper
@@ -15803,6 +15820,8 @@ in
e1000e = if stdenv.lib.versionOlder kernel.version "4.10" then callPackage ../os-specific/linux/e1000e {} else null;
+ intel-speed-select = if stdenv.lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null;
+
ixgbevf = callPackage ../os-specific/linux/ixgbevf {};
it87 = callPackage ../os-specific/linux/it87 {};
@@ -15917,7 +15936,7 @@ in
linux = linuxPackages.kernel;
# Update this when adding the newest kernel major version!
- linuxPackages_latest = linuxPackages_5_2;
+ linuxPackages_latest = linuxPackages_5_3;
linux_latest = linuxPackages_latest.kernel;
# Build the kernel modules for the some of the kernels.
@@ -15928,6 +15947,7 @@ in
linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
linuxPackages_5_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_2);
+ linuxPackages_5_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_3);
# When adding to this list:
# - Update linuxPackages_latest to the latest version
@@ -16989,6 +17009,8 @@ in
publicsuffix-list = callPackage ../data/misc/publicsuffix-list { };
+ qogir-icon-theme = callPackage ../data/icons/qogir-icon-theme { };
+
qogir-theme = callPackage ../data/themes/qogir { };
redhat-official-fonts = callPackage ../data/fonts/redhat-official { };
@@ -19608,6 +19630,8 @@ in
qtcurve = libsForQt5.callPackage ../misc/themes/qtcurve {};
+ qbec = callPackage ../applications/networking/cluster/qbec { };
+
rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 49bfc58adf06..be7c0bc41718 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -1,6 +1,4 @@
-{ buildPackages, pkgs
-, newScope
-}:
+{ buildPackages, pkgs, newScope }:
let
# These are attributes in compiler and packages that don't support integer-simple.
@@ -47,24 +45,12 @@ in {
ghc863Binary = callPackage ../development/compilers/ghc/8.6.3-binary.nix { };
- ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix {
- bootPkgs = packages.ghc822Binary;
- inherit (buildPackages.python3Packages) sphinx;
- buildLlvmPackages = buildPackages.llvmPackages_39;
- llvmPackages = pkgs.llvmPackages_39;
- };
ghc844 = callPackage ../development/compilers/ghc/8.4.4.nix {
bootPkgs = packages.ghc822Binary;
sphinx = buildPackages.python3Packages.sphinx_1_7_9;
buildLlvmPackages = buildPackages.llvmPackages_5;
llvmPackages = pkgs.llvmPackages_5;
};
- ghc864 = callPackage ../development/compilers/ghc/8.6.4.nix {
- bootPkgs = packages.ghc822Binary;
- inherit (buildPackages.python3Packages) sphinx;
- buildLlvmPackages = buildPackages.llvmPackages_6;
- llvmPackages = pkgs.llvmPackages_6;
- };
ghc865 = callPackage ../development/compilers/ghc/8.6.5.nix {
bootPkgs = packages.ghc822Binary;
inherit (buildPackages.python3Packages) sphinx;
@@ -91,7 +77,7 @@ in {
ghcjsDepOverrides = callPackage ../development/compilers/ghcjs-ng/8.4/dep-overrides.nix {};
};
ghcjs86 = callPackage ../development/compilers/ghcjs-ng {
- bootPkgs = packages.ghc864;
+ bootPkgs = packages.ghc865;
ghcjsSrcJson = ../development/compilers/ghcjs-ng/8.6/git.json;
stage0 = ../development/compilers/ghcjs-ng/8.6/stage0.nix;
ghcjsDepOverrides = callPackage ../development/compilers/ghcjs-ng/8.6/dep-overrides.nix {};
@@ -126,21 +112,11 @@ in {
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { };
packageSetConfig = bootstrapPackageSet;
};
- ghc822 = callPackage ../development/haskell-modules {
- buildHaskellPackages = bh.packages.ghc822;
- ghc = bh.compiler.ghc822;
- compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
- };
ghc844 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc844;
ghc = bh.compiler.ghc844;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
};
- ghc864 = callPackage ../development/haskell-modules {
- buildHaskellPackages = bh.packages.ghc864;
- ghc = bh.compiler.ghc864;
- compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { };
- };
ghc865 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc865;
ghc = bh.compiler.ghc865;
diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix
index eac84cfc1a8d..bc6c3525f77e 100644
--- a/pkgs/top-level/static.nix
+++ b/pkgs/top-level/static.nix
@@ -14,7 +14,7 @@ self: super: let
inherit (super.stdenvAdapters) makeStaticBinaries
makeStaticLibraries
propagateBuildInputs;
- inherit (super.lib) foldl optional flip id composeExtensions;
+ inherit (super.lib) foldl optional flip id composeExtensions optionalAttrs;
inherit (super) makeSetupHook;
# Best effort static binaries. Will still be linked to libSystem,
@@ -72,10 +72,12 @@ in {
ncurses = super.ncurses.override {
enableStatic = true;
};
- libxml2 = super.libxml2.override {
+ libxml2 = super.libxml2.override ({
enableShared = false;
enableStatic = true;
- };
+ } // optionalAttrs super.stdenv.hostPlatform.isDarwin {
+ pythonSupport = false;
+ });
zlib = super.zlib.override {
static = true;
shared = false;