From a0c2892c060e6302d2a77ad420f31a45a6e03c66 Mon Sep 17 00:00:00 2001 From: "D. Guthrie" Date: Sat, 1 Feb 2020 22:21:31 +0000 Subject: [PATCH 001/158] Fix mg building on darwin. I am not happy with this at all. It avoids using libbsd at all on darwin because there are conflicting header files, particularly the header string.h. Ideally that would be the thing to fix. But in the meantime, this patch should do the trick. It declares a header file apple.h, which files include if target is darwin (checks for presence of __APPLE__). This header file also references the three source files futimens.c, reallocarray.c and strtonum.c. The former and latter are from https://github.com/ibara/mg which is another portable fork, but building against more platforms. From the OpenBSD source tree is _null.h and tree.h. There is a check so that if __APPLE__ is present then it will include them from this source tree. Now,the makefile GNUMakefile will not link against libbsd on darwin, by checking the output of uname in much the same way as it did already for FreeBSD. --- .../editors/mg/darwin_no_libbsd.patch | 1402 +++++++++++++++++ pkgs/applications/editors/mg/default.nix | 13 +- 2 files changed, 1409 insertions(+), 6 deletions(-) create mode 100644 pkgs/applications/editors/mg/darwin_no_libbsd.patch diff --git a/pkgs/applications/editors/mg/darwin_no_libbsd.patch b/pkgs/applications/editors/mg/darwin_no_libbsd.patch new file mode 100644 index 00000000000..9b6df622324 --- /dev/null +++ b/pkgs/applications/editors/mg/darwin_no_libbsd.patch @@ -0,0 +1,1402 @@ +diff -Naur a/GNUmakefile b/GNUmakefile +--- a/GNUmakefile 2020-02-01 21:23:32.000000000 +0000 ++++ b/GNUmakefile 2020-02-01 21:56:01.000000000 +0000 +@@ -18,7 +18,7 @@ + STRIP= /usr/bin/strip + + UNAME:= $(shell uname) +-ifeq ($(UNAME),FreeBSD) ++ifeq ($(UNAME),Darwin) + BSD_CPPFLAGS:= + BSD_LIBS:= -lutil + else +@@ -35,11 +35,7 @@ + + CURSES_LIBS:= $(shell $(PKG_CONFIG) --libs ncurses) + ifeq ($(CURSES_LIBS),) +- $(error You probably need to install "libncurses5-dev" or "libncurses6-devel" or something like that.) +-endif +- +-ifdef STATIC +- LDFLAGS=-static -static-libgcc ++ $(error You probably need to install "libncurses5-dev" or "libnnurses6-devel" or something like that.) + endif + + CC?= gcc +@@ -47,14 +43,14 @@ + CFLAGS+= -g -Wall + CPPFLAGS= -DREGEX + CPPFLAGS+= -D_GNU_SOURCE +-CPPFLAGS+= $(BSD_CPPFLAGS) ++CPPFLAGS+= $(BSD_CPPFLAGS) -D__dead=__dead2 + LIBS= $(CURSES_LIBS) $(BSD_LIBS) + + + OBJS= autoexec.o basic.o bell.o buffer.o cinfo.o dir.o display.o \ +- echo.o extend.o file.o fileio.o funmap.o help.o kbd.o keymap.o \ ++ echo.o extend.o file.o fileio.o funmap.o futimens.o help.o kbd.o keymap.o \ + line.o macro.o main.o match.o modes.o paragraph.o \ +- re_search.o region.o search.o spawn.o tty.o ttyio.o ttykbd.o \ ++ re_search.o reallocarray.o region.o search.o spawn.o strtonum.o tty.o ttyio.o ttykbd.o \ + undo.o util.o version.o window.o word.o yank.o + OBJS+= cmode.o cscope.o dired.o grep.o tags.o + +@@ -68,6 +64,7 @@ + + all: $(name) + ++ + $(name): $(OBJS) + $(CC) $(LDFLAGS) $(OBJS) -o $(name) $(LIBS) + +diff -Naur a/_null.h b/_null.h +--- a/_null.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/_null.h 2020-02-01 21:24:22.000000000 +0000 +@@ -0,0 +1,18 @@ ++/* $OpenBSD: _null.h,v 1.2 2016/09/09 22:07:58 millert Exp $ */ ++ ++/* ++ * Written by Todd C. Miller, September 9, 2016 ++ * Public domain. ++ */ ++ ++#ifndef NULL ++#if !defined(__cplusplus) ++#define NULL ((void *)0) ++#elif __cplusplus >= 201103L ++#define NULL nullptr ++#elif defined(__GNUG__) ++#define NULL __null ++#else ++#define NULL 0L ++#endif ++#endif +diff -Naur a/apple.h b/apple.h +--- a/apple.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/apple.h 2020-02-01 21:41:50.000000000 +0000 +@@ -0,0 +1,27 @@ ++/* ++ * Mac OS X-specific support. ++ */ ++ ++#include ++#include ++ ++#include ++#include ++ ++/* ++ * fparseln() specific operation flags. ++ */ ++#define FPARSELN_UNESCESC 0x01 ++#define FPARSELN_UNESCCONT 0x02 ++#define FPARSELN_UNESCCOMM 0x04 ++#define FPARSELN_UNESCREST 0x08 ++#define FPARSELN_UNESCALL 0x0f ++ ++/* struct stat compatibilty */ ++#define st_atim st_atimespec ++#define st_mtim st_mtimespec ++#define st_ctim st_ctimespec ++ ++extern long long strtonum(const char *, long long, long long, const char **); ++extern void *reallocarray(void *, size_t, size_t); ++extern int futimens(int, const struct timespec[2]); +diff -Naur a/autoexec.c b/autoexec.c +--- a/autoexec.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/autoexec.c 2020-02-01 21:34:02.000000000 +0000 +@@ -9,6 +9,9 @@ + #include + #include + ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + #include "funmap.h" + +diff -Naur a/basic.c b/basic.c +--- a/basic.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/basic.c 2020-02-01 21:34:26.000000000 +0000 +@@ -19,6 +19,9 @@ + #include + #include + ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + + /* +diff -Naur a/cscope.c b/cscope.c +--- a/cscope.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/cscope.c 2020-02-01 21:34:59.000000000 +0000 +@@ -20,6 +20,9 @@ + #include + #include + ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + + #define CSSYMBOL 0 +diff -Naur a/display.c b/display.c +--- a/display.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/display.c 2020-02-01 21:34:16.000000000 +0000 +@@ -19,6 +19,9 @@ + #include + #include + ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + #include "kbd.h" + +diff -Naur a/fileio.c b/fileio.c +--- a/fileio.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/fileio.c 2020-02-01 21:42:18.000000000 +0000 +@@ -1,4 +1,4 @@ +-/* $OpenBSD: fileio.c,v 1.105 2018/04/13 14:11:37 florian Exp $ */ ++/* $OpenBSD: fileio.c,v 1.104 2017/05/30 07:05:22 florian Exp $ */ + + /* This file is in the public domain. */ + +@@ -22,19 +22,13 @@ + #include + #include + #include +- ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + #include "kbd.h" + #include "pathnames.h" + +-#ifndef MAXNAMLEN +-#define MAXNAMLEN 255 +-#endif +- +-#ifndef DEFFILEMODE +-#define DEFFILEMODE 0666 +-#endif +- + static char *bkuplocation(const char *); + static int bkupleavetmp(const char *); + +@@ -714,7 +708,7 @@ + struct stat statbuf; + const char *cp; + char user[LOGIN_NAME_MAX], path[NFILEN]; +- char *ret; ++ char *un, *ret; + size_t ulen, plen; + + path[0] = '\0'; +@@ -733,18 +727,21 @@ + return (NULL); + return(ret); + } +- if (ulen == 0) /* ~/ or ~ */ +- pw = getpwuid(geteuid()); +- else { /* ~user/ or ~user */ ++ if (ulen == 0) { /* ~/ or ~ */ ++ if ((un = getlogin()) != NULL) ++ (void)strlcpy(user, un, sizeof(user)); ++ else ++ user[0] = '\0'; ++ } else { /* ~user/ or ~user */ + memcpy(user, &fn[1], ulen); + user[ulen] = '\0'; +- pw = getpwnam(user); + } ++ pw = getpwnam(user); + if (pw != NULL) { + plen = strlcpy(path, pw->pw_dir, sizeof(path)); + if (plen == 0 || path[plen - 1] != '/') { + if (strlcat(path, "/", sizeof(path)) >= sizeof(path)) { +- dobeep(); ++ dobeep(); + ewprintf("Path too long"); + return (NULL); + } +diff -Naur a/futimens.c b/futimens.c +--- a/futimens.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/futimens.c 2020-02-01 21:55:02.000000000 +0000 +@@ -0,0 +1,14 @@ ++/* This file is in the public domain. */ ++ ++#include ++ ++#include ++ ++int ++futimens(int fildes, const struct timespec times[2]) ++{ ++ struct timeval timevals[2]; ++ TIMESPEC_TO_TIMEVAL(&timevals[0], ×[0]); ++ TIMESPEC_TO_TIMEVAL(&timevals[1], ×[1]); ++ return futimes(fildes, timevals); ++} +diff -Naur a/grep.c b/grep.c +--- a/grep.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/grep.c 2020-02-01 21:35:07.000000000 +0000 +@@ -16,6 +16,9 @@ + #include + #include + ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + #include "kbd.h" + #include "funmap.h" +diff -Naur a/main.c b/main.c +--- a/main.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/main.c 2020-02-01 21:34:42.000000000 +0000 +@@ -16,6 +16,9 @@ + #include + #include + ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + #include "kbd.h" + #include "funmap.h" +diff -Naur a/paragraph.c b/paragraph.c +--- a/paragraph.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/paragraph.c 2020-02-01 21:34:49.000000000 +0000 +@@ -14,6 +14,9 @@ + #include + #include + ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + #include "def.h" + + static int fillcol = 70; +diff -Naur a/strtonum.c b/strtonum.c +--- a/strtonum.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/strtonum.c 2020-02-01 21:55:24.000000000 +0000 +@@ -0,0 +1,65 @@ ++/* $OpenBSD: strtonum.c,v 1.7 2013/04/17 18:40:58 tedu Exp $ */ ++ ++/* ++ * Copyright (c) 2004 Ted Unangst and Todd Miller ++ * All rights reserved. ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include ++#include ++#include ++ ++#define INVALID 1 ++#define TOOSMALL 2 ++#define TOOLARGE 3 ++ ++long long ++strtonum(const char *numstr, long long minval, long long maxval, ++ const char **errstrp) ++{ ++ long long ll = 0; ++ int error = 0; ++ char *ep; ++ struct errval { ++ const char *errstr; ++ int err; ++ } ev[4] = { ++ { NULL, 0 }, ++ { "invalid", EINVAL }, ++ { "too small", ERANGE }, ++ { "too large", ERANGE }, ++ }; ++ ++ ev[0].err = errno; ++ errno = 0; ++ if (minval > maxval) { ++ error = INVALID; ++ } else { ++ ll = strtoll(numstr, &ep, 10); ++ if (numstr == ep || *ep != '\0') ++ error = INVALID; ++ else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval) ++ error = TOOSMALL; ++ else if ((ll == LLONG_MAX && errno == ERANGE) || ll > maxval) ++ error = TOOLARGE; ++ } ++ if (errstrp != NULL) ++ *errstrp = ev[error].errstr; ++ errno = ev[error].err; ++ if (error) ++ ll = 0; ++ ++ return (ll); ++} +diff -Naur a/tags.c b/tags.c +--- a/tags.c 2020-02-01 21:23:32.000000000 +0000 ++++ b/tags.c 2020-02-01 21:27:56.000000000 +0000 +@@ -8,7 +8,11 @@ + + #include + #include +-#include ++#if defined(LIBBSD_OVERLAY) ++# include ++#else ++# include "tree.h" ++#endif + #include + #include + #include +@@ -18,11 +22,14 @@ + #include + #include + #include +-#if defined(LIBBSD_OVERLAY) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__GLIBC__) ++#if defined(LIBBSD_OVERLAY) || defined(__FreeBSD__) || defined(__GLIBC__) || defined(__APPLE__) + # include + #else + #include + #endif ++#if defined(__APPLE__) ++# include "apple.h" ++#endif + + #include "def.h" + +@@ -53,9 +60,6 @@ + char *pat; + }; + RB_HEAD(tagtree, ctag) tags = RB_INITIALIZER(&tags); +-#ifdef __DragonFly__ +-RB_PROTOTYPE(tagtree, ctag, entry, ctagcmp); +-#endif + RB_GENERATE(tagtree, ctag, entry, ctagcmp); + + struct tagpos { +diff -Naur a/tree.h b/tree.h +--- a/tree.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/tree.h 2020-02-01 21:25:11.000000000 +0000 +@@ -0,0 +1,1006 @@ ++/* $OpenBSD: tree.h,v 1.29 2017/07/30 19:27:20 deraadt Exp $ */ ++/* ++ * Copyright 2002 Niels Provos ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#ifndef _SYS_TREE_H_ ++#define _SYS_TREE_H_ ++ ++#include "_null.h" ++ ++/* ++ * This file defines data structures for different types of trees: ++ * splay trees and red-black trees. ++ * ++ * A splay tree is a self-organizing data structure. Every operation ++ * on the tree causes a splay to happen. The splay moves the requested ++ * node to the root of the tree and partly rebalances it. ++ * ++ * This has the benefit that request locality causes faster lookups as ++ * the requested nodes move to the top of the tree. On the other hand, ++ * every lookup causes memory writes. ++ * ++ * The Balance Theorem bounds the total access time for m operations ++ * and n inserts on an initially empty tree as O((m + n)lg n). The ++ * amortized cost for a sequence of m accesses to a splay tree is O(lg n); ++ * ++ * A red-black tree is a binary search tree with the node color as an ++ * extra attribute. It fulfills a set of conditions: ++ * - every search path from the root to a leaf consists of the ++ * same number of black nodes, ++ * - each red node (except for the root) has a black parent, ++ * - each leaf node is black. ++ * ++ * Every operation on a red-black tree is bounded as O(lg n). ++ * The maximum height of a red-black tree is 2lg (n+1). ++ */ ++ ++#define SPLAY_HEAD(name, type) \ ++struct name { \ ++ struct type *sph_root; /* root of the tree */ \ ++} ++ ++#define SPLAY_INITIALIZER(root) \ ++ { NULL } ++ ++#define SPLAY_INIT(root) do { \ ++ (root)->sph_root = NULL; \ ++} while (0) ++ ++#define SPLAY_ENTRY(type) \ ++struct { \ ++ struct type *spe_left; /* left element */ \ ++ struct type *spe_right; /* right element */ \ ++} ++ ++#define SPLAY_LEFT(elm, field) (elm)->field.spe_left ++#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right ++#define SPLAY_ROOT(head) (head)->sph_root ++#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL) ++ ++/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */ ++#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \ ++ SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \ ++ SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ ++ (head)->sph_root = tmp; \ ++} while (0) ++ ++#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \ ++ SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \ ++ SPLAY_LEFT(tmp, field) = (head)->sph_root; \ ++ (head)->sph_root = tmp; \ ++} while (0) ++ ++#define SPLAY_LINKLEFT(head, tmp, field) do { \ ++ SPLAY_LEFT(tmp, field) = (head)->sph_root; \ ++ tmp = (head)->sph_root; \ ++ (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \ ++} while (0) ++ ++#define SPLAY_LINKRIGHT(head, tmp, field) do { \ ++ SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ ++ tmp = (head)->sph_root; \ ++ (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \ ++} while (0) ++ ++#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \ ++ SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \ ++ SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\ ++ SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \ ++ SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \ ++} while (0) ++ ++/* Generates prototypes and inline functions */ ++ ++#define SPLAY_PROTOTYPE(name, type, field, cmp) \ ++void name##_SPLAY(struct name *, struct type *); \ ++void name##_SPLAY_MINMAX(struct name *, int); \ ++struct type *name##_SPLAY_INSERT(struct name *, struct type *); \ ++struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \ ++ \ ++/* Finds the node with the same key as elm */ \ ++static __unused __inline struct type * \ ++name##_SPLAY_FIND(struct name *head, struct type *elm) \ ++{ \ ++ if (SPLAY_EMPTY(head)) \ ++ return(NULL); \ ++ name##_SPLAY(head, elm); \ ++ if ((cmp)(elm, (head)->sph_root) == 0) \ ++ return (head->sph_root); \ ++ return (NULL); \ ++} \ ++ \ ++static __unused __inline struct type * \ ++name##_SPLAY_NEXT(struct name *head, struct type *elm) \ ++{ \ ++ name##_SPLAY(head, elm); \ ++ if (SPLAY_RIGHT(elm, field) != NULL) { \ ++ elm = SPLAY_RIGHT(elm, field); \ ++ while (SPLAY_LEFT(elm, field) != NULL) { \ ++ elm = SPLAY_LEFT(elm, field); \ ++ } \ ++ } else \ ++ elm = NULL; \ ++ return (elm); \ ++} \ ++ \ ++static __unused __inline struct type * \ ++name##_SPLAY_MIN_MAX(struct name *head, int val) \ ++{ \ ++ name##_SPLAY_MINMAX(head, val); \ ++ return (SPLAY_ROOT(head)); \ ++} ++ ++/* Main splay operation. ++ * Moves node close to the key of elm to top ++ */ ++#define SPLAY_GENERATE(name, type, field, cmp) \ ++struct type * \ ++name##_SPLAY_INSERT(struct name *head, struct type *elm) \ ++{ \ ++ if (SPLAY_EMPTY(head)) { \ ++ SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \ ++ } else { \ ++ int __comp; \ ++ name##_SPLAY(head, elm); \ ++ __comp = (cmp)(elm, (head)->sph_root); \ ++ if(__comp < 0) { \ ++ SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\ ++ SPLAY_RIGHT(elm, field) = (head)->sph_root; \ ++ SPLAY_LEFT((head)->sph_root, field) = NULL; \ ++ } else if (__comp > 0) { \ ++ SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\ ++ SPLAY_LEFT(elm, field) = (head)->sph_root; \ ++ SPLAY_RIGHT((head)->sph_root, field) = NULL; \ ++ } else \ ++ return ((head)->sph_root); \ ++ } \ ++ (head)->sph_root = (elm); \ ++ return (NULL); \ ++} \ ++ \ ++struct type * \ ++name##_SPLAY_REMOVE(struct name *head, struct type *elm) \ ++{ \ ++ struct type *__tmp; \ ++ if (SPLAY_EMPTY(head)) \ ++ return (NULL); \ ++ name##_SPLAY(head, elm); \ ++ if ((cmp)(elm, (head)->sph_root) == 0) { \ ++ if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \ ++ (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\ ++ } else { \ ++ __tmp = SPLAY_RIGHT((head)->sph_root, field); \ ++ (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\ ++ name##_SPLAY(head, elm); \ ++ SPLAY_RIGHT((head)->sph_root, field) = __tmp; \ ++ } \ ++ return (elm); \ ++ } \ ++ return (NULL); \ ++} \ ++ \ ++void \ ++name##_SPLAY(struct name *head, struct type *elm) \ ++{ \ ++ struct type __node, *__left, *__right, *__tmp; \ ++ int __comp; \ ++\ ++ SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ ++ __left = __right = &__node; \ ++\ ++ while ((__comp = (cmp)(elm, (head)->sph_root))) { \ ++ if (__comp < 0) { \ ++ __tmp = SPLAY_LEFT((head)->sph_root, field); \ ++ if (__tmp == NULL) \ ++ break; \ ++ if ((cmp)(elm, __tmp) < 0){ \ ++ SPLAY_ROTATE_RIGHT(head, __tmp, field); \ ++ if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ ++ break; \ ++ } \ ++ SPLAY_LINKLEFT(head, __right, field); \ ++ } else if (__comp > 0) { \ ++ __tmp = SPLAY_RIGHT((head)->sph_root, field); \ ++ if (__tmp == NULL) \ ++ break; \ ++ if ((cmp)(elm, __tmp) > 0){ \ ++ SPLAY_ROTATE_LEFT(head, __tmp, field); \ ++ if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ ++ break; \ ++ } \ ++ SPLAY_LINKRIGHT(head, __left, field); \ ++ } \ ++ } \ ++ SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ ++} \ ++ \ ++/* Splay with either the minimum or the maximum element \ ++ * Used to find minimum or maximum element in tree. \ ++ */ \ ++void name##_SPLAY_MINMAX(struct name *head, int __comp) \ ++{ \ ++ struct type __node, *__left, *__right, *__tmp; \ ++\ ++ SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ ++ __left = __right = &__node; \ ++\ ++ while (1) { \ ++ if (__comp < 0) { \ ++ __tmp = SPLAY_LEFT((head)->sph_root, field); \ ++ if (__tmp == NULL) \ ++ break; \ ++ if (__comp < 0){ \ ++ SPLAY_ROTATE_RIGHT(head, __tmp, field); \ ++ if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ ++ break; \ ++ } \ ++ SPLAY_LINKLEFT(head, __right, field); \ ++ } else if (__comp > 0) { \ ++ __tmp = SPLAY_RIGHT((head)->sph_root, field); \ ++ if (__tmp == NULL) \ ++ break; \ ++ if (__comp > 0) { \ ++ SPLAY_ROTATE_LEFT(head, __tmp, field); \ ++ if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ ++ break; \ ++ } \ ++ SPLAY_LINKRIGHT(head, __left, field); \ ++ } \ ++ } \ ++ SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ ++} ++ ++#define SPLAY_NEGINF -1 ++#define SPLAY_INF 1 ++ ++#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y) ++#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y) ++#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y) ++#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y) ++#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \ ++ : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF)) ++#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \ ++ : name##_SPLAY_MIN_MAX(x, SPLAY_INF)) ++ ++#define SPLAY_FOREACH(x, name, head) \ ++ for ((x) = SPLAY_MIN(name, head); \ ++ (x) != NULL; \ ++ (x) = SPLAY_NEXT(name, head, x)) ++ ++/* Macros that define a red-black tree */ ++#define RB_HEAD(name, type) \ ++struct name { \ ++ struct type *rbh_root; /* root of the tree */ \ ++} ++ ++#define RB_INITIALIZER(root) \ ++ { NULL } ++ ++#define RB_INIT(root) do { \ ++ (root)->rbh_root = NULL; \ ++} while (0) ++ ++#define RB_BLACK 0 ++#define RB_RED 1 ++#define RB_ENTRY(type) \ ++struct { \ ++ struct type *rbe_left; /* left element */ \ ++ struct type *rbe_right; /* right element */ \ ++ struct type *rbe_parent; /* parent element */ \ ++ int rbe_color; /* node color */ \ ++} ++ ++#define RB_LEFT(elm, field) (elm)->field.rbe_left ++#define RB_RIGHT(elm, field) (elm)->field.rbe_right ++#define RB_PARENT(elm, field) (elm)->field.rbe_parent ++#define RB_COLOR(elm, field) (elm)->field.rbe_color ++#define RB_ROOT(head) (head)->rbh_root ++#define RB_EMPTY(head) (RB_ROOT(head) == NULL) ++ ++#define RB_SET(elm, parent, field) do { \ ++ RB_PARENT(elm, field) = parent; \ ++ RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \ ++ RB_COLOR(elm, field) = RB_RED; \ ++} while (0) ++ ++#define RB_SET_BLACKRED(black, red, field) do { \ ++ RB_COLOR(black, field) = RB_BLACK; \ ++ RB_COLOR(red, field) = RB_RED; \ ++} while (0) ++ ++#ifndef RB_AUGMENT ++#define RB_AUGMENT(x) do {} while (0) ++#endif ++ ++#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \ ++ (tmp) = RB_RIGHT(elm, field); \ ++ if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) { \ ++ RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \ ++ } \ ++ RB_AUGMENT(elm); \ ++ if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ ++ if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ ++ RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ ++ else \ ++ RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ ++ } else \ ++ (head)->rbh_root = (tmp); \ ++ RB_LEFT(tmp, field) = (elm); \ ++ RB_PARENT(elm, field) = (tmp); \ ++ RB_AUGMENT(tmp); \ ++ if ((RB_PARENT(tmp, field))) \ ++ RB_AUGMENT(RB_PARENT(tmp, field)); \ ++} while (0) ++ ++#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \ ++ (tmp) = RB_LEFT(elm, field); \ ++ if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) { \ ++ RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \ ++ } \ ++ RB_AUGMENT(elm); \ ++ if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ ++ if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ ++ RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ ++ else \ ++ RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ ++ } else \ ++ (head)->rbh_root = (tmp); \ ++ RB_RIGHT(tmp, field) = (elm); \ ++ RB_PARENT(elm, field) = (tmp); \ ++ RB_AUGMENT(tmp); \ ++ if ((RB_PARENT(tmp, field))) \ ++ RB_AUGMENT(RB_PARENT(tmp, field)); \ ++} while (0) ++ ++/* Generates prototypes and inline functions */ ++#define RB_PROTOTYPE(name, type, field, cmp) \ ++ RB_PROTOTYPE_INTERNAL(name, type, field, cmp,) ++#define RB_PROTOTYPE_STATIC(name, type, field, cmp) \ ++ RB_PROTOTYPE_INTERNAL(name, type, field, cmp, __attribute__((__unused__)) static) ++#define RB_PROTOTYPE_INTERNAL(name, type, field, cmp, attr) \ ++attr void name##_RB_INSERT_COLOR(struct name *, struct type *); \ ++attr void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\ ++attr struct type *name##_RB_REMOVE(struct name *, struct type *); \ ++attr struct type *name##_RB_INSERT(struct name *, struct type *); \ ++attr struct type *name##_RB_FIND(struct name *, struct type *); \ ++attr struct type *name##_RB_NFIND(struct name *, struct type *); \ ++attr struct type *name##_RB_NEXT(struct type *); \ ++attr struct type *name##_RB_PREV(struct type *); \ ++attr struct type *name##_RB_MINMAX(struct name *, int); \ ++ \ ++ ++/* Main rb operation. ++ * Moves node close to the key of elm to top ++ */ ++#define RB_GENERATE(name, type, field, cmp) \ ++ RB_GENERATE_INTERNAL(name, type, field, cmp,) ++#define RB_GENERATE_STATIC(name, type, field, cmp) \ ++ RB_GENERATE_INTERNAL(name, type, field, cmp, __attribute__((__unused__)) static) ++#define RB_GENERATE_INTERNAL(name, type, field, cmp, attr) \ ++attr void \ ++name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \ ++{ \ ++ struct type *parent, *gparent, *tmp; \ ++ while ((parent = RB_PARENT(elm, field)) && \ ++ RB_COLOR(parent, field) == RB_RED) { \ ++ gparent = RB_PARENT(parent, field); \ ++ if (parent == RB_LEFT(gparent, field)) { \ ++ tmp = RB_RIGHT(gparent, field); \ ++ if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ ++ RB_COLOR(tmp, field) = RB_BLACK; \ ++ RB_SET_BLACKRED(parent, gparent, field);\ ++ elm = gparent; \ ++ continue; \ ++ } \ ++ if (RB_RIGHT(parent, field) == elm) { \ ++ RB_ROTATE_LEFT(head, parent, tmp, field);\ ++ tmp = parent; \ ++ parent = elm; \ ++ elm = tmp; \ ++ } \ ++ RB_SET_BLACKRED(parent, gparent, field); \ ++ RB_ROTATE_RIGHT(head, gparent, tmp, field); \ ++ } else { \ ++ tmp = RB_LEFT(gparent, field); \ ++ if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ ++ RB_COLOR(tmp, field) = RB_BLACK; \ ++ RB_SET_BLACKRED(parent, gparent, field);\ ++ elm = gparent; \ ++ continue; \ ++ } \ ++ if (RB_LEFT(parent, field) == elm) { \ ++ RB_ROTATE_RIGHT(head, parent, tmp, field);\ ++ tmp = parent; \ ++ parent = elm; \ ++ elm = tmp; \ ++ } \ ++ RB_SET_BLACKRED(parent, gparent, field); \ ++ RB_ROTATE_LEFT(head, gparent, tmp, field); \ ++ } \ ++ } \ ++ RB_COLOR(head->rbh_root, field) = RB_BLACK; \ ++} \ ++ \ ++attr void \ ++name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \ ++{ \ ++ struct type *tmp; \ ++ while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \ ++ elm != RB_ROOT(head)) { \ ++ if (RB_LEFT(parent, field) == elm) { \ ++ tmp = RB_RIGHT(parent, field); \ ++ if (RB_COLOR(tmp, field) == RB_RED) { \ ++ RB_SET_BLACKRED(tmp, parent, field); \ ++ RB_ROTATE_LEFT(head, parent, tmp, field);\ ++ tmp = RB_RIGHT(parent, field); \ ++ } \ ++ if ((RB_LEFT(tmp, field) == NULL || \ ++ RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ ++ (RB_RIGHT(tmp, field) == NULL || \ ++ RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ ++ RB_COLOR(tmp, field) = RB_RED; \ ++ elm = parent; \ ++ parent = RB_PARENT(elm, field); \ ++ } else { \ ++ if (RB_RIGHT(tmp, field) == NULL || \ ++ RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\ ++ struct type *oleft; \ ++ if ((oleft = RB_LEFT(tmp, field)))\ ++ RB_COLOR(oleft, field) = RB_BLACK;\ ++ RB_COLOR(tmp, field) = RB_RED; \ ++ RB_ROTATE_RIGHT(head, tmp, oleft, field);\ ++ tmp = RB_RIGHT(parent, field); \ ++ } \ ++ RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ ++ RB_COLOR(parent, field) = RB_BLACK; \ ++ if (RB_RIGHT(tmp, field)) \ ++ RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\ ++ RB_ROTATE_LEFT(head, parent, tmp, field);\ ++ elm = RB_ROOT(head); \ ++ break; \ ++ } \ ++ } else { \ ++ tmp = RB_LEFT(parent, field); \ ++ if (RB_COLOR(tmp, field) == RB_RED) { \ ++ RB_SET_BLACKRED(tmp, parent, field); \ ++ RB_ROTATE_RIGHT(head, parent, tmp, field);\ ++ tmp = RB_LEFT(parent, field); \ ++ } \ ++ if ((RB_LEFT(tmp, field) == NULL || \ ++ RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ ++ (RB_RIGHT(tmp, field) == NULL || \ ++ RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ ++ RB_COLOR(tmp, field) = RB_RED; \ ++ elm = parent; \ ++ parent = RB_PARENT(elm, field); \ ++ } else { \ ++ if (RB_LEFT(tmp, field) == NULL || \ ++ RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\ ++ struct type *oright; \ ++ if ((oright = RB_RIGHT(tmp, field)))\ ++ RB_COLOR(oright, field) = RB_BLACK;\ ++ RB_COLOR(tmp, field) = RB_RED; \ ++ RB_ROTATE_LEFT(head, tmp, oright, field);\ ++ tmp = RB_LEFT(parent, field); \ ++ } \ ++ RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ ++ RB_COLOR(parent, field) = RB_BLACK; \ ++ if (RB_LEFT(tmp, field)) \ ++ RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\ ++ RB_ROTATE_RIGHT(head, parent, tmp, field);\ ++ elm = RB_ROOT(head); \ ++ break; \ ++ } \ ++ } \ ++ } \ ++ if (elm) \ ++ RB_COLOR(elm, field) = RB_BLACK; \ ++} \ ++ \ ++attr struct type * \ ++name##_RB_REMOVE(struct name *head, struct type *elm) \ ++{ \ ++ struct type *child, *parent, *old = elm; \ ++ int color; \ ++ if (RB_LEFT(elm, field) == NULL) \ ++ child = RB_RIGHT(elm, field); \ ++ else if (RB_RIGHT(elm, field) == NULL) \ ++ child = RB_LEFT(elm, field); \ ++ else { \ ++ struct type *left; \ ++ elm = RB_RIGHT(elm, field); \ ++ while ((left = RB_LEFT(elm, field))) \ ++ elm = left; \ ++ child = RB_RIGHT(elm, field); \ ++ parent = RB_PARENT(elm, field); \ ++ color = RB_COLOR(elm, field); \ ++ if (child) \ ++ RB_PARENT(child, field) = parent; \ ++ if (parent) { \ ++ if (RB_LEFT(parent, field) == elm) \ ++ RB_LEFT(parent, field) = child; \ ++ else \ ++ RB_RIGHT(parent, field) = child; \ ++ RB_AUGMENT(parent); \ ++ } else \ ++ RB_ROOT(head) = child; \ ++ if (RB_PARENT(elm, field) == old) \ ++ parent = elm; \ ++ (elm)->field = (old)->field; \ ++ if (RB_PARENT(old, field)) { \ ++ if (RB_LEFT(RB_PARENT(old, field), field) == old)\ ++ RB_LEFT(RB_PARENT(old, field), field) = elm;\ ++ else \ ++ RB_RIGHT(RB_PARENT(old, field), field) = elm;\ ++ RB_AUGMENT(RB_PARENT(old, field)); \ ++ } else \ ++ RB_ROOT(head) = elm; \ ++ RB_PARENT(RB_LEFT(old, field), field) = elm; \ ++ if (RB_RIGHT(old, field)) \ ++ RB_PARENT(RB_RIGHT(old, field), field) = elm; \ ++ if (parent) { \ ++ left = parent; \ ++ do { \ ++ RB_AUGMENT(left); \ ++ } while ((left = RB_PARENT(left, field))); \ ++ } \ ++ goto color; \ ++ } \ ++ parent = RB_PARENT(elm, field); \ ++ color = RB_COLOR(elm, field); \ ++ if (child) \ ++ RB_PARENT(child, field) = parent; \ ++ if (parent) { \ ++ if (RB_LEFT(parent, field) == elm) \ ++ RB_LEFT(parent, field) = child; \ ++ else \ ++ RB_RIGHT(parent, field) = child; \ ++ RB_AUGMENT(parent); \ ++ } else \ ++ RB_ROOT(head) = child; \ ++color: \ ++ if (color == RB_BLACK) \ ++ name##_RB_REMOVE_COLOR(head, parent, child); \ ++ return (old); \ ++} \ ++ \ ++/* Inserts a node into the RB tree */ \ ++attr struct type * \ ++name##_RB_INSERT(struct name *head, struct type *elm) \ ++{ \ ++ struct type *tmp; \ ++ struct type *parent = NULL; \ ++ int comp = 0; \ ++ tmp = RB_ROOT(head); \ ++ while (tmp) { \ ++ parent = tmp; \ ++ comp = (cmp)(elm, parent); \ ++ if (comp < 0) \ ++ tmp = RB_LEFT(tmp, field); \ ++ else if (comp > 0) \ ++ tmp = RB_RIGHT(tmp, field); \ ++ else \ ++ return (tmp); \ ++ } \ ++ RB_SET(elm, parent, field); \ ++ if (parent != NULL) { \ ++ if (comp < 0) \ ++ RB_LEFT(parent, field) = elm; \ ++ else \ ++ RB_RIGHT(parent, field) = elm; \ ++ RB_AUGMENT(parent); \ ++ } else \ ++ RB_ROOT(head) = elm; \ ++ name##_RB_INSERT_COLOR(head, elm); \ ++ return (NULL); \ ++} \ ++ \ ++/* Finds the node with the same key as elm */ \ ++attr struct type * \ ++name##_RB_FIND(struct name *head, struct type *elm) \ ++{ \ ++ struct type *tmp = RB_ROOT(head); \ ++ int comp; \ ++ while (tmp) { \ ++ comp = cmp(elm, tmp); \ ++ if (comp < 0) \ ++ tmp = RB_LEFT(tmp, field); \ ++ else if (comp > 0) \ ++ tmp = RB_RIGHT(tmp, field); \ ++ else \ ++ return (tmp); \ ++ } \ ++ return (NULL); \ ++} \ ++ \ ++/* Finds the first node greater than or equal to the search key */ \ ++attr struct type * \ ++name##_RB_NFIND(struct name *head, struct type *elm) \ ++{ \ ++ struct type *tmp = RB_ROOT(head); \ ++ struct type *res = NULL; \ ++ int comp; \ ++ while (tmp) { \ ++ comp = cmp(elm, tmp); \ ++ if (comp < 0) { \ ++ res = tmp; \ ++ tmp = RB_LEFT(tmp, field); \ ++ } \ ++ else if (comp > 0) \ ++ tmp = RB_RIGHT(tmp, field); \ ++ else \ ++ return (tmp); \ ++ } \ ++ return (res); \ ++} \ ++ \ ++/* ARGSUSED */ \ ++attr struct type * \ ++name##_RB_NEXT(struct type *elm) \ ++{ \ ++ if (RB_RIGHT(elm, field)) { \ ++ elm = RB_RIGHT(elm, field); \ ++ while (RB_LEFT(elm, field)) \ ++ elm = RB_LEFT(elm, field); \ ++ } else { \ ++ if (RB_PARENT(elm, field) && \ ++ (elm == RB_LEFT(RB_PARENT(elm, field), field))) \ ++ elm = RB_PARENT(elm, field); \ ++ else { \ ++ while (RB_PARENT(elm, field) && \ ++ (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\ ++ elm = RB_PARENT(elm, field); \ ++ elm = RB_PARENT(elm, field); \ ++ } \ ++ } \ ++ return (elm); \ ++} \ ++ \ ++/* ARGSUSED */ \ ++attr struct type * \ ++name##_RB_PREV(struct type *elm) \ ++{ \ ++ if (RB_LEFT(elm, field)) { \ ++ elm = RB_LEFT(elm, field); \ ++ while (RB_RIGHT(elm, field)) \ ++ elm = RB_RIGHT(elm, field); \ ++ } else { \ ++ if (RB_PARENT(elm, field) && \ ++ (elm == RB_RIGHT(RB_PARENT(elm, field), field))) \ ++ elm = RB_PARENT(elm, field); \ ++ else { \ ++ while (RB_PARENT(elm, field) && \ ++ (elm == RB_LEFT(RB_PARENT(elm, field), field)))\ ++ elm = RB_PARENT(elm, field); \ ++ elm = RB_PARENT(elm, field); \ ++ } \ ++ } \ ++ return (elm); \ ++} \ ++ \ ++attr struct type * \ ++name##_RB_MINMAX(struct name *head, int val) \ ++{ \ ++ struct type *tmp = RB_ROOT(head); \ ++ struct type *parent = NULL; \ ++ while (tmp) { \ ++ parent = tmp; \ ++ if (val < 0) \ ++ tmp = RB_LEFT(tmp, field); \ ++ else \ ++ tmp = RB_RIGHT(tmp, field); \ ++ } \ ++ return (parent); \ ++} ++ ++#define RB_NEGINF -1 ++#define RB_INF 1 ++ ++#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) ++#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) ++#define RB_FIND(name, x, y) name##_RB_FIND(x, y) ++#define RB_NFIND(name, x, y) name##_RB_NFIND(x, y) ++#define RB_NEXT(name, x, y) name##_RB_NEXT(y) ++#define RB_PREV(name, x, y) name##_RB_PREV(y) ++#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) ++#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) ++ ++#define RB_FOREACH(x, name, head) \ ++ for ((x) = RB_MIN(name, head); \ ++ (x) != NULL; \ ++ (x) = name##_RB_NEXT(x)) ++ ++#define RB_FOREACH_SAFE(x, name, head, y) \ ++ for ((x) = RB_MIN(name, head); \ ++ ((x) != NULL) && ((y) = name##_RB_NEXT(x), 1); \ ++ (x) = (y)) ++ ++#define RB_FOREACH_REVERSE(x, name, head) \ ++ for ((x) = RB_MAX(name, head); \ ++ (x) != NULL; \ ++ (x) = name##_RB_PREV(x)) ++ ++#define RB_FOREACH_REVERSE_SAFE(x, name, head, y) \ ++ for ((x) = RB_MAX(name, head); \ ++ ((x) != NULL) && ((y) = name##_RB_PREV(x), 1); \ ++ (x) = (y)) ++ ++ ++/* ++ * Copyright (c) 2016 David Gwynne ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++struct rb_type { ++ int (*t_compare)(const void *, const void *); ++ void (*t_augment)(void *); ++ unsigned int t_offset; /* offset of rb_entry in type */ ++}; ++ ++struct rb_tree { ++ struct rb_entry *rbt_root; ++}; ++ ++struct rb_entry { ++ struct rb_entry *rbt_parent; ++ struct rb_entry *rbt_left; ++ struct rb_entry *rbt_right; ++ unsigned int rbt_color; ++}; ++ ++#define RBT_HEAD(_name, _type) \ ++struct _name { \ ++ struct rb_tree rbh_root; \ ++} ++ ++#define RBT_ENTRY(_type) struct rb_entry ++ ++static inline void ++_rb_init(struct rb_tree *rbt) ++{ ++ rbt->rbt_root = NULL; ++} ++ ++static inline int ++_rb_empty(struct rb_tree *rbt) ++{ ++ return (rbt->rbt_root == NULL); ++} ++ ++void *_rb_insert(const struct rb_type *, struct rb_tree *, void *); ++void *_rb_remove(const struct rb_type *, struct rb_tree *, void *); ++void *_rb_find(const struct rb_type *, struct rb_tree *, const void *); ++void *_rb_nfind(const struct rb_type *, struct rb_tree *, const void *); ++void *_rb_root(const struct rb_type *, struct rb_tree *); ++void *_rb_min(const struct rb_type *, struct rb_tree *); ++void *_rb_max(const struct rb_type *, struct rb_tree *); ++void *_rb_next(const struct rb_type *, void *); ++void *_rb_prev(const struct rb_type *, void *); ++void *_rb_left(const struct rb_type *, void *); ++void *_rb_right(const struct rb_type *, void *); ++void *_rb_parent(const struct rb_type *, void *); ++void _rb_set_left(const struct rb_type *, void *, void *); ++void _rb_set_right(const struct rb_type *, void *, void *); ++void _rb_set_parent(const struct rb_type *, void *, void *); ++void _rb_poison(const struct rb_type *, void *, unsigned long); ++int _rb_check(const struct rb_type *, void *, unsigned long); ++ ++#define RBT_INITIALIZER(_head) { { NULL } } ++ ++#define RBT_PROTOTYPE(_name, _type, _field, _cmp) \ ++extern const struct rb_type *const _name##_RBT_TYPE; \ ++ \ ++__unused static inline void \ ++_name##_RBT_INIT(struct _name *head) \ ++{ \ ++ _rb_init(&head->rbh_root); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_INSERT(struct _name *head, struct _type *elm) \ ++{ \ ++ return _rb_insert(_name##_RBT_TYPE, &head->rbh_root, elm); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_REMOVE(struct _name *head, struct _type *elm) \ ++{ \ ++ return _rb_remove(_name##_RBT_TYPE, &head->rbh_root, elm); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_FIND(struct _name *head, const struct _type *key) \ ++{ \ ++ return _rb_find(_name##_RBT_TYPE, &head->rbh_root, key); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_NFIND(struct _name *head, const struct _type *key) \ ++{ \ ++ return _rb_nfind(_name##_RBT_TYPE, &head->rbh_root, key); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_ROOT(struct _name *head) \ ++{ \ ++ return _rb_root(_name##_RBT_TYPE, &head->rbh_root); \ ++} \ ++ \ ++__unused static inline int \ ++_name##_RBT_EMPTY(struct _name *head) \ ++{ \ ++ return _rb_empty(&head->rbh_root); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_MIN(struct _name *head) \ ++{ \ ++ return _rb_min(_name##_RBT_TYPE, &head->rbh_root); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_MAX(struct _name *head) \ ++{ \ ++ return _rb_max(_name##_RBT_TYPE, &head->rbh_root); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_NEXT(struct _type *elm) \ ++{ \ ++ return _rb_next(_name##_RBT_TYPE, elm); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_PREV(struct _type *elm) \ ++{ \ ++ return _rb_prev(_name##_RBT_TYPE, elm); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_LEFT(struct _type *elm) \ ++{ \ ++ return _rb_left(_name##_RBT_TYPE, elm); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_RIGHT(struct _type *elm) \ ++{ \ ++ return _rb_right(_name##_RBT_TYPE, elm); \ ++} \ ++ \ ++__unused static inline struct _type * \ ++_name##_RBT_PARENT(struct _type *elm) \ ++{ \ ++ return _rb_parent(_name##_RBT_TYPE, elm); \ ++} \ ++ \ ++__unused static inline void \ ++_name##_RBT_SET_LEFT(struct _type *elm, struct _type *left) \ ++{ \ ++ return _rb_set_left(_name##_RBT_TYPE, elm, left); \ ++} \ ++ \ ++__unused static inline void \ ++_name##_RBT_SET_RIGHT(struct _type *elm, struct _type *right) \ ++{ \ ++ return _rb_set_right(_name##_RBT_TYPE, elm, right); \ ++} \ ++ \ ++__unused static inline void \ ++_name##_RBT_SET_PARENT(struct _type *elm, struct _type *parent) \ ++{ \ ++ return _rb_set_parent(_name##_RBT_TYPE, elm, parent); \ ++} \ ++ \ ++__unused static inline void \ ++_name##_RBT_POISON(struct _type *elm, unsigned long poison) \ ++{ \ ++ return _rb_poison(_name##_RBT_TYPE, elm, poison); \ ++} \ ++ \ ++__unused static inline int \ ++_name##_RBT_CHECK(struct _type *elm, unsigned long poison) \ ++{ \ ++ return _rb_check(_name##_RBT_TYPE, elm, poison); \ ++} ++ ++#define RBT_GENERATE_INTERNAL(_name, _type, _field, _cmp, _aug) \ ++static int \ ++_name##_RBT_COMPARE(const void *lptr, const void *rptr) \ ++{ \ ++ const struct _type *l = lptr, *r = rptr; \ ++ return _cmp(l, r); \ ++} \ ++static const struct rb_type _name##_RBT_INFO = { \ ++ _name##_RBT_COMPARE, \ ++ _aug, \ ++ offsetof(struct _type, _field), \ ++}; \ ++const struct rb_type *const _name##_RBT_TYPE = &_name##_RBT_INFO ++ ++#define RBT_GENERATE_AUGMENT(_name, _type, _field, _cmp, _aug) \ ++static void \ ++_name##_RBT_AUGMENT(void *ptr) \ ++{ \ ++ struct _type *p = ptr; \ ++ return _aug(p); \ ++} \ ++RBT_GENERATE_INTERNAL(_name, _type, _field, _cmp, _name##_RBT_AUGMENT) ++ ++#define RBT_GENERATE(_name, _type, _field, _cmp) \ ++ RBT_GENERATE_INTERNAL(_name, _type, _field, _cmp, NULL) ++ ++#define RBT_INIT(_name, _head) _name##_RBT_INIT(_head) ++#define RBT_INSERT(_name, _head, _elm) _name##_RBT_INSERT(_head, _elm) ++#define RBT_REMOVE(_name, _head, _elm) _name##_RBT_REMOVE(_head, _elm) ++#define RBT_FIND(_name, _head, _key) _name##_RBT_FIND(_head, _key) ++#define RBT_NFIND(_name, _head, _key) _name##_RBT_NFIND(_head, _key) ++#define RBT_ROOT(_name, _head) _name##_RBT_ROOT(_head) ++#define RBT_EMPTY(_name, _head) _name##_RBT_EMPTY(_head) ++#define RBT_MIN(_name, _head) _name##_RBT_MIN(_head) ++#define RBT_MAX(_name, _head) _name##_RBT_MAX(_head) ++#define RBT_NEXT(_name, _elm) _name##_RBT_NEXT(_elm) ++#define RBT_PREV(_name, _elm) _name##_RBT_PREV(_elm) ++#define RBT_LEFT(_name, _elm) _name##_RBT_LEFT(_elm) ++#define RBT_RIGHT(_name, _elm) _name##_RBT_RIGHT(_elm) ++#define RBT_PARENT(_name, _elm) _name##_RBT_PARENT(_elm) ++#define RBT_SET_LEFT(_name, _elm, _l) _name##_RBT_SET_LEFT(_elm, _l) ++#define RBT_SET_RIGHT(_name, _elm, _r) _name##_RBT_SET_RIGHT(_elm, _r) ++#define RBT_SET_PARENT(_name, _elm, _p) _name##_RBT_SET_PARENT(_elm, _p) ++#define RBT_POISON(_name, _elm, _p) _name##_RBT_POISON(_elm, _p) ++#define RBT_CHECK(_name, _elm, _p) _name##_RBT_CHECK(_elm, _p) ++ ++#define RBT_FOREACH(_e, _name, _head) \ ++ for ((_e) = RBT_MIN(_name, (_head)); \ ++ (_e) != NULL; \ ++ (_e) = RBT_NEXT(_name, (_e))) ++ ++#define RBT_FOREACH_SAFE(_e, _name, _head, _n) \ ++ for ((_e) = RBT_MIN(_name, (_head)); \ ++ (_e) != NULL && ((_n) = RBT_NEXT(_name, (_e)), 1); \ ++ (_e) = (_n)) ++ ++#define RBT_FOREACH_REVERSE(_e, _name, _head) \ ++ for ((_e) = RBT_MAX(_name, (_head)); \ ++ (_e) != NULL; \ ++ (_e) = RBT_PREV(_name, (_e))) ++ ++#define RBT_FOREACH_REVERSE_SAFE(_e, _name, _head, _n) \ ++ for ((_e) = RBT_MAX(_name, (_head)); \ ++ (_e) != NULL && ((_n) = RBT_PREV(_name, (_e)), 1); \ ++ (_e) = (_n)) ++ ++#endif /* _SYS_TREE_H_ */ diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index de1a5ce7879..f97e34aff8d 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, pkgconfig, libbsd, ncurses, buildPackages }: +{ stdenv, fetchurl, pkgconfig, ncurses, buildPackages, libbsd }: stdenv.mkDerivation rec { pname = "mg"; - version = "20171014"; + version = "20180927"; src = fetchurl { - url = "http://homepage.boetes.org/software/mg/${pname}-${version}.tar.gz"; - sha256 = "0hakfikzsml7z0hja8m8mcahrmfy2piy81bq9nccsjplyfc9clai"; + url = "https://github.com/hboetes/mg/archive/${version}.tar.gz"; + sha256 = "fbb09729ea00fe42dcdbc96ac7fc1d2b89eac651dec49e4e7af52fad4f5788f6"; }; enableParallelBuilding = true; @@ -17,10 +17,11 @@ stdenv.mkDerivation rec { install -m 555 -Dt $out/bin mg install -m 444 -Dt $out/share/man/man1 mg.1 ''; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libbsd ncurses ]; + patches = ./darwin_no_libbsd.patch; + + buildInputs = [ ncurses ] ++ stdenv.lib.optional (!stdenv.isDarwin) libbsd; meta = with stdenv.lib; { description = "Micro GNU/emacs, a portable version of the mg maintained by the OpenBSD team"; From 89a8a31bf36f95acc5efc31344d97d9e48cf51e3 Mon Sep 17 00:00:00 2001 From: Rakesh Gupta Date: Mon, 9 Mar 2020 19:47:57 +1100 Subject: [PATCH 002/158] nixos/nvidia : added nvidia-persistenced --- nixos/modules/hardware/video/nvidia.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 7461e231402..8c3d64fceb9 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -34,10 +34,12 @@ let enabled = nvidia_x11 != null; cfg = config.hardware.nvidia; + pCfg = cfg.prime; syncCfg = pCfg.sync; offloadCfg = pCfg.offload; primeEnabled = syncCfg.enable || offloadCfg.enable; + nvidiaPersistencedEnabled = cfg.nvidiaPersistenced; in { @@ -129,6 +131,15 @@ in ). ''; }; + + hardware.nvidia.nvidiaPersistenced = mkOption { + default = false; + type = types.bool; + description = '' + Update for NVIDA GPU headless mode, i.e. nvidia-persistenced. It ensures all + GPUs stay awake even during headless mode. + ''; + }; }; config = mkIf enabled { @@ -220,6 +231,18 @@ in ++ optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; + systemd.services."nvidia-persistenced" = mkIf nvidiaPersistencedEnabled { + description = "NVIDIA Persistence Daemon"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "forking"; + Restart = "always"; + PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid"; + ExecStart = "${nvidia_x11.persistenced}/bin/nvidia-persistenced --verbose"; + ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced"; + }; + }; + boot.extraModulePackages = [ nvidia_x11.bin ]; # nvidia-uvm is required by CUDA applications. From dcda9df724960e19713d856f1308ae4c1bae14ef Mon Sep 17 00:00:00 2001 From: Matt Wittmann Date: Fri, 13 Mar 2020 10:23:38 -0700 Subject: [PATCH 003/158] r-mvtnorm: add libiconv to buildInputs Fixes build failure with `ld: library not found for -liconv` --- pkgs/development/r-modules/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index d340f3c4636..9c4229a826b 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -452,6 +452,7 @@ let sundialr = [ pkgs.libiconv ]; ucminf = [ pkgs.libiconv ]; glmnet = [ pkgs.libiconv ]; + mvtnorm = [ pkgs.libiconv ]; }; packagesRequireingX = [ From 9304c984e291da1e2d2213446f7793ecf895d443 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 30 Mar 2020 01:56:54 +0000 Subject: [PATCH 004/158] libsignal-protocol-c: 2.3.2 -> 2.3.3 --- pkgs/development/libraries/libsignal-protocol-c/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libsignal-protocol-c/default.nix b/pkgs/development/libraries/libsignal-protocol-c/default.nix index f3549d52f69..6278f6234f0 100644 --- a/pkgs/development/libraries/libsignal-protocol-c/default.nix +++ b/pkgs/development/libraries/libsignal-protocol-c/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libsignal-protocol-c"; - version = "2.3.2"; + version = "2.3.3"; src = fetchFromGitHub { owner = "signalapp"; repo = "libsignal-protocol-c"; rev = "v${version}"; - sha256 = "1qj2w4csy6j9jg1jy66n1qwysx7hgjywk4n35hlqcnh1kpa14k3p"; + sha256 = "0z5p03vk15i6h870azfjgyfgxhv31q2vq6rfhnybrnkxq2wqzwhk"; }; nativeBuildInputs = [ cmake ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Signal Protocol C Library"; - homepage = https://github.com/signalapp/libsignal-protocol-c; + homepage = "https://github.com/signalapp/libsignal-protocol-c"; license = licenses.gpl3; platforms = platforms.all; maintainers = with maintainers; [ orivej ]; From c7c3f8780fd45cbf885f7369260cb7a38543d85e Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Fri, 3 Apr 2020 22:26:05 +0200 Subject: [PATCH 005/158] freeciv: 2.6.0 -> 2.6.2 --- pkgs/games/freeciv/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix index 9fc260e7406..3e860171294 100644 --- a/pkgs/games/freeciv/default.nix +++ b/pkgs/games/freeciv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkgconfig, python +{ stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkgconfig, python3 , zlib, bzip2, curl, lzma, gettext, libiconv , sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth , gtkClient ? false, gtk3 @@ -12,19 +12,19 @@ let in stdenv.mkDerivation rec { pname = "freeciv"; - version = "2.6.0"; + version = "2.6.2"; src = fetchFromGitHub { owner = "freeciv"; repo = "freeciv"; rev = "R${builtins.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "1b3q5k9wpv7z24svz01ybw8d8wlzkkdr6ia5hgp6cxk6vq67n67s"; + sha256 = "023slffi06j52amrnmd8n12rmf778cngxx6xg4hbsgckj2nyfmg9"; }; postPatch = '' for f in {common,utility}/*.py; do substituteInPlace $f \ - --replace '/usr/bin/env python' ${python.interpreter} + --replace '/usr/bin/env python3' ${python3.interpreter} done ''; From 385289b9bd46347d4f8347d3297049c687d6d274 Mon Sep 17 00:00:00 2001 From: Marc 'risson' Schmitt Date: Wed, 15 Apr 2020 16:13:43 +0200 Subject: [PATCH 006/158] yubioath-desktop: 5.0.2 -> 5.0.3 --- .../applications/misc/yubioath-desktop/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix index eb39a702f93..2fffee0f0bb 100644 --- a/pkgs/applications/misc/yubioath-desktop/default.nix +++ b/pkgs/applications/misc/yubioath-desktop/default.nix @@ -6,11 +6,11 @@ mkDerivation rec { pname = "yubioath-desktop"; - version = "5.0.2"; + version = "5.0.3"; src = fetchurl { url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz"; - sha256 = "19ingk0ab88a22s04apcw8kx9xygxlbk8kp4xnb8pmf8z3k6l2gf"; + sha256 = "1g0jd7mmch6a6n8k5pp3w27qd5cijnvzk05lwraf0i96m68h7x1k"; }; doCheck = false; @@ -38,13 +38,13 @@ mkDerivation rec { --prefix LD_LIBRARY_PATH : "${stdenv.lib.getLib pcsclite}/lib:${yubikey-personalization}/lib" mkdir -p $out/share/applications - cp resources/yubioath-desktop.desktop \ - $out/share/applications/yubioath-desktop.desktop + cp resources/com.yubico.yubioath.desktop \ + $out/share/applications/com.yubico.yubioath.desktop mkdir -p $out/share/yubioath/icons - cp resources/icons/*.{icns,ico,png,xpm} $out/share/yubioath/icons - substituteInPlace $out/share/applications/yubioath-desktop.desktop \ + cp resources/icons/*.{icns,ico,png,svg} $out/share/yubioath/icons + substituteInPlace $out/share/applications/com.yubico.yubioath.desktop \ --replace 'Exec=yubioath-desktop' "Exec=$out/bin/yubioath-desktop" \ - --replace 'Icon=yubioath' "Icon=$out/share/yubioath/icons/yubioath.png" + --replace 'Icon=yubioath' "Icon=$out/share/yubioath/icons/com.yubico.yubioath.png" ''; meta = with stdenv.lib; { From 3d7acfd078071bdf8c2bc603786596b28a41129f Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Mon, 30 Mar 2020 05:49:08 +0200 Subject: [PATCH 007/158] jadx: init at 1.1.0 --- pkgs/tools/security/jadx/default.nix | 103 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 105 insertions(+) create mode 100644 pkgs/tools/security/jadx/default.nix diff --git a/pkgs/tools/security/jadx/default.nix b/pkgs/tools/security/jadx/default.nix new file mode 100644 index 00000000000..961f1e6954a --- /dev/null +++ b/pkgs/tools/security/jadx/default.nix @@ -0,0 +1,103 @@ +{ stdenv, fetchFromGitHub, gradle, jdk, makeWrapper, perl }: + +let + pname = "jadx"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "skylot"; + repo = pname; + rev = "v${version}"; + sha256 = "1dx3g0sm46qy57gggpg8bpmin5glzbxdbf0qzvha9r2dwh4mrwlg"; + }; + + deps = stdenv.mkDerivation { + name = "${pname}-deps"; + inherit src; + + nativeBuildInputs = [ gradle jdk perl ]; + + buildPhase = '' + export GRADLE_USER_HOME=$(mktemp -d) + export JADX_VERSION=${version} + gradle --no-daemon jar + ''; + + # Mavenize dependency paths + # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar + installPhase = '' + find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ + | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ + | sh + ''; + + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "083r4hg6m9cxzm2m8nckf10awq8kh901v5i39r60x47xk5yw84ps"; + }; +in stdenv.mkDerivation { + inherit pname version src; + + nativeBuildInputs = [ gradle jdk makeWrapper ]; + + buildPhase = '' + # The installDist Gradle build phase tries to copy some dependency .jar + # files multiple times into the build directory. This ends up failing when + # the dependencies are read directly from the Nix store since they are not + # marked as chmod +w. To work around this, get a local copy of the + # dependency store, and give write permissions. + depsDir=$(mktemp -d) + cp -R ${deps}/* $depsDir + chmod -R u+w $depsDir + + gradleInit=$(mktemp) + cat >$gradleInit < + settings.pluginManagement { + repositories { + maven { url '$depsDir' } + } + } + } + EOF + + export GRADLE_USER_HOME=$(mktemp -d) + export JADX_VERSION=${version} + gradle --offline --no-daemon --info --init-script $gradleInit pack + ''; + + installPhase = '' + mkdir $out $out/bin + cp -R build/jadx/lib $out + for prog in jadx jadx-gui; do + cp build/jadx/bin/$prog $out/bin + wrapProgram $out/bin/$prog --set JAVA_HOME ${jdk.home} + done + ''; + + meta = with stdenv.lib; { + description = "Dex to Java decompiler"; + longDescription = '' + Command line and GUI tools for produce Java source code from Android Dex + and Apk files. + ''; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ delroth ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ad4bb9f8a97..8bca4f6ab87 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4366,6 +4366,8 @@ in jade = callPackage ../tools/text/sgml/jade { }; + jadx = callPackage ../tools/security/jadx { }; + jazzy = callPackage ../development/tools/jazzy { }; jc = with python3Packages; toPythonApplication jc; From c28f6fce9948e8d6927fa274803e3887d77fbf46 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Thu, 5 Dec 2019 12:56:33 +0200 Subject: [PATCH 008/158] oq: init at 1.0.2 --- pkgs/development/tools/oq/default.nix | 31 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/tools/oq/default.nix diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix new file mode 100644 index 00000000000..1fc839577c5 --- /dev/null +++ b/pkgs/development/tools/oq/default.nix @@ -0,0 +1,31 @@ +{ lib, fetchFromGitHub, crystal, jq, libxml2, makeWrapper }: + +crystal.buildCrystalPackage rec { + pname = "oq"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "Blacksmoke16"; + repo = pname; + rev = "v${version}"; + sha256 = "0sf6rb5b6g7gzyq11l5868p3a1s5z8432swlpv457bfbbnbg6j6q"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jq libxml2 ]; + + crystalBinaries.oq.src = "src/oq_cli.cr"; + + postInstall = '' + wrapProgram "$out/bin/oq" \ + --prefix PATH : "${lib.makeBinPath [ jq ]}" + ''; + + meta = with lib; { + description = "A performant, and portable jq wrapper"; + homepage = "https://blacksmoke16.github.io/oq/"; + license = licenses.mit; + maintainers = with maintainers; [ filalex77 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 71e114686aa..d432bfecb39 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5420,6 +5420,8 @@ in stdenv = clangStdenv; }; + oq = callPackage ../development/tools/oq { }; + out-of-tree = callPackage ../development/tools/out-of-tree { }; oppai-ng = callPackage ../tools/misc/oppai-ng { }; From cdc8f3f3575f39849b09c741f0f269f33c0e7088 Mon Sep 17 00:00:00 2001 From: "D. Guthrie" Date: Mon, 20 Apr 2020 21:34:39 +0100 Subject: [PATCH 009/158] Bump package version to 20200215 The actual most recent version is 20200215, so update the package version to this. Furthermore, update the patch accordingly so it still builds. This adds back the reallocarray.c file. --- .../editors/mg/darwin_no_libbsd.patch | 2481 ++++++++++++++++- pkgs/applications/editors/mg/default.nix | 12 +- 2 files changed, 2431 insertions(+), 62 deletions(-) diff --git a/pkgs/applications/editors/mg/darwin_no_libbsd.patch b/pkgs/applications/editors/mg/darwin_no_libbsd.patch index 9b6df622324..2484c03255b 100644 --- a/pkgs/applications/editors/mg/darwin_no_libbsd.patch +++ b/pkgs/applications/editors/mg/darwin_no_libbsd.patch @@ -1,6 +1,6 @@ diff -Naur a/GNUmakefile b/GNUmakefile ---- a/GNUmakefile 2020-02-01 21:23:32.000000000 +0000 -+++ b/GNUmakefile 2020-02-01 21:56:01.000000000 +0000 +--- a/GNUmakefile 2020-04-20 21:09:41.000000000 +0100 ++++ b/GNUmakefile 2020-04-20 21:31:19.000000000 +0100 @@ -18,7 +18,7 @@ STRIP= /usr/bin/strip @@ -10,20 +10,16 @@ diff -Naur a/GNUmakefile b/GNUmakefile BSD_CPPFLAGS:= BSD_LIBS:= -lutil else -@@ -35,11 +35,7 @@ - - CURSES_LIBS:= $(shell $(PKG_CONFIG) --libs ncurses) - ifeq ($(CURSES_LIBS),) -- $(error You probably need to install "libncurses5-dev" or "libncurses6-devel" or something like that.) --endif -- --ifdef STATIC -- LDFLAGS=-static -static-libgcc -+ $(error You probably need to install "libncurses5-dev" or "libnnurses6-devel" or something like that.) +@@ -38,24 +38,21 @@ + $(error You probably need to install "libncurses5-dev" or "libncurses6-devel" or something like that.) endif +-ifdef STATIC +- LDFLAGS=-static -static-libgcc +-endif +- CC?= gcc -@@ -47,14 +43,14 @@ + CFLAGS?= -O2 -pipe CFLAGS+= -g -Wall CPPFLAGS= -DREGEX CPPFLAGS+= -D_GNU_SOURCE @@ -33,25 +29,121 @@ diff -Naur a/GNUmakefile b/GNUmakefile OBJS= autoexec.o basic.o bell.o buffer.o cinfo.o dir.o display.o \ -- echo.o extend.o file.o fileio.o funmap.o help.o kbd.o keymap.o \ -+ echo.o extend.o file.o fileio.o funmap.o futimens.o help.o kbd.o keymap.o \ - line.o macro.o main.o match.o modes.o paragraph.o \ +- echo.o extend.o file.o fileio.o funmap.o interpreter.o help.o \ +- kbd.o keymap.o line.o macro.o main.o match.o modes.o paragraph.o \ - re_search.o region.o search.o spawn.o tty.o ttyio.o ttykbd.o \ -+ re_search.o reallocarray.o region.o search.o spawn.o strtonum.o tty.o ttyio.o ttykbd.o \ - undo.o util.o version.o window.o word.o yank.o +- undo.o util.o version.o window.o word.o yank.o ++ echo.o extend.o file.o fileio.o funmap.o futimens.o interpreter.o \ ++ help.o kbd.o keymap.o line.o macro.o main.o match.o modes.o \ ++ paragraph.o re_search.o reallocarray.o region.o search.o spawn.o \ ++ strtonum.o tty.o ttyio.o ttykbd.o undo.o util.o version.o window.o \ ++ word.o yank.o OBJS+= cmode.o cscope.o dired.o grep.o tags.o -@@ -68,6 +64,7 @@ - - all: $(name) +diff -Naur a/GNUmakefile~ b/GNUmakefile~ +--- a/GNUmakefile~ 1970-01-01 01:00:00.000000000 +0100 ++++ b/GNUmakefile~ 2020-04-20 21:27:39.000000000 +0100 +@@ -0,0 +1,96 @@ ++# Makefile for mg + - $(name): $(OBJS) - $(CC) $(LDFLAGS) $(OBJS) -o $(name) $(LIBS) - ++# This Makefile has been written by Han Boetes ++# and is released in Public Domain. ++ ++# *sigh* Those debian folks are really tidy on their licenses. ++ ++name= mg ++ ++prefix= /usr/local ++bindir= $(prefix)/bin ++libdir= $(prefix)/lib ++includedir= $(prefix)/include ++mandir= $(prefix)/man ++ ++PKG_CONFIG= /usr/bin/pkg-config --silence-errors ++INSTALL= /usr/bin/install ++STRIP= /usr/bin/strip ++ ++UNAME:= $(shell uname) ++ifeq ($(UNAME),FreeBSD) ++ BSD_CPPFLAGS:= ++ BSD_LIBS:= -lutil ++else ++ BSD_CPPFLAGS:= $(shell $(PKG_CONFIG) --cflags libbsd-overlay) ++ BSD_LIBS:= $(shell $(PKG_CONFIG) --libs libbsd-overlay) ++endif ++ ++# Test is some required libraries are installed. Rather bummer that ++# they are also required to run make clean or uninstall. Oh well... Who ++# does that? ++ifeq ($(BSD_LIBS),) ++ $(error You probably need to install "libbsd-dev" or "libbsd-devel" or something like that.) ++endif ++ ++CURSES_LIBS:= $(shell $(PKG_CONFIG) --libs ncurses) ++ifeq ($(CURSES_LIBS),) ++ $(error You probably need to install "libncurses5-dev" or "libncurses6-devel" or something like that.) ++endif ++ ++ifdef STATIC ++ LDFLAGS=-static -static-libgcc ++endif ++ ++CC?= gcc ++CFLAGS?= -O2 -pipe ++CFLAGS+= -g -Wall ++CPPFLAGS= -DREGEX ++CPPFLAGS+= -D_GNU_SOURCE ++CPPFLAGS+= $(BSD_CPPFLAGS) ++LIBS= $(CURSES_LIBS) $(BSD_LIBS) ++ ++ ++OBJS= autoexec.o basic.o bell.o buffer.o cinfo.o dir.o display.o \ ++ echo.o extend.o file.o fileio.o funmap.o interpreter.o help.o \ ++ kbd.o keymap.o line.o macro.o main.o match.o modes.o paragraph.o \ ++ re_search.o region.o search.o spawn.o tty.o ttyio.o ttykbd.o \ ++ undo.o util.o version.o window.o word.o yank.o ++OBJS+= cmode.o cscope.o dired.o grep.o tags.o ++ ++ ++# Portability stuff. ++CFLAGS+= -Wno-strict-aliasing -Wno-deprecated-declarations ++EXE_EXT= ++ ++.c.o: ++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< ++ ++all: $(name) ++ ++$(name): $(OBJS) ++ $(CC) $(LDFLAGS) $(OBJS) -o $(name) $(LIBS) ++ ++distclean: clean ++ -rm -f *.core core.* ++ ++clean: ++ -rm -f *.o $(name)$(EXE_EXT) ++ ++ ++install: $(name) $(name).1 ++ $(INSTALL) -d $(DESTDIR)$(bindir) ++ $(INSTALL) -d $(DESTDIR)$(mandir)/man1 ++ $(INSTALL) -m 755 $(name) $(DESTDIR)$(bindir)/$(name) ++ $(INSTALL) -m 444 $(name).1 $(DESTDIR)$(mandir)/man1/$(name).1 ++ ++install-strip: install ++ $(STRIP) $(DESTDIR)$(bindir)/$(name) ++ ++uninstall: ++ rm -f \ ++ $(DESTDIR)$(bindir)/$(name)$(EXE_EXT) \ ++ $(DESTDIR)$(mandir)/man1/$(name).1 ++ ++rebuild: ++ make clean all diff -Naur a/_null.h b/_null.h --- a/_null.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/_null.h 2020-02-01 21:24:22.000000000 +0000 ++++ b/_null.h 2020-04-20 21:26:10.000000000 +0100 @@ -0,0 +1,18 @@ +/* $OpenBSD: _null.h,v 1.2 2016/09/09 22:07:58 millert Exp $ */ + @@ -73,7 +165,7 @@ diff -Naur a/_null.h b/_null.h +#endif diff -Naur a/apple.h b/apple.h --- a/apple.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/apple.h 2020-02-01 21:41:50.000000000 +0000 ++++ b/apple.h 2020-04-20 21:26:10.000000000 +0100 @@ -0,0 +1,27 @@ +/* + * Mac OS X-specific support. @@ -103,8 +195,8 @@ diff -Naur a/apple.h b/apple.h +extern void *reallocarray(void *, size_t, size_t); +extern int futimens(int, const struct timespec[2]); diff -Naur a/autoexec.c b/autoexec.c ---- a/autoexec.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/autoexec.c 2020-02-01 21:34:02.000000000 +0000 +--- a/autoexec.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/autoexec.c 2020-04-20 21:26:10.000000000 +0100 @@ -9,6 +9,9 @@ #include #include @@ -116,8 +208,8 @@ diff -Naur a/autoexec.c b/autoexec.c #include "funmap.h" diff -Naur a/basic.c b/basic.c ---- a/basic.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/basic.c 2020-02-01 21:34:26.000000000 +0000 +--- a/basic.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/basic.c 2020-04-20 21:26:10.000000000 +0100 @@ -19,6 +19,9 @@ #include #include @@ -127,10 +219,615 @@ diff -Naur a/basic.c b/basic.c +#endif #include "def.h" - /* + #define percint(n1, n2) ((n1 * (int) n2) * 0.1) +diff -Naur a/basic.c.orig b/basic.c.orig +--- a/basic.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ b/basic.c.orig 2020-04-20 21:26:06.000000000 +0100 +@@ -0,0 +1,601 @@ ++/* $OpenBSD: basic.c,v 1.49 2019/06/17 11:39:26 lum Exp $ */ ++ ++/* This file is in the public domain */ ++ ++/* ++ * Basic cursor motion commands. ++ * ++ * The routines in this file are the basic ++ * command functions for moving the cursor around on ++ * the screen, setting mark, and swapping dot with ++ * mark. Only moves between lines, which might make the ++ * current buffer framing bad, are hard. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "def.h" ++ ++#define percint(n1, n2) ((n1 * (int) n2) * 0.1) ++ ++/* ++ * Go to beginning of line. ++ */ ++/* ARGSUSED */ ++int ++gotobol(int f, int n) ++{ ++ if (n == 0) ++ return (TRUE); ++ ++ curwp->w_doto = 0; ++ return (TRUE); ++} ++ ++/* ++ * Move cursor backwards. Do the ++ * right thing if the count is less than ++ * 0. Error if you try to move back from ++ * the beginning of the buffer. ++ */ ++/* ARGSUSED */ ++int ++backchar(int f, int n) ++{ ++ struct line *lp; ++ ++ if (n < 0) ++ return (forwchar(f, -n)); ++ while (n--) { ++ if (curwp->w_doto == 0) { ++ if ((lp = lback(curwp->w_dotp)) == curbp->b_headp) { ++ if (!(f & FFRAND)) { ++ dobeep(); ++ ewprintf("Beginning of buffer"); ++ } ++ return (FALSE); ++ } ++ curwp->w_dotp = lp; ++ curwp->w_doto = llength(lp); ++ curwp->w_rflag |= WFMOVE; ++ curwp->w_dotline--; ++ } else ++ curwp->w_doto--; ++ } ++ return (TRUE); ++} ++ ++/* ++ * Go to end of line. ++ */ ++/* ARGSUSED */ ++int ++gotoeol(int f, int n) ++{ ++ if (n == 0) ++ return (TRUE); ++ ++ curwp->w_doto = llength(curwp->w_dotp); ++ return (TRUE); ++} ++ ++/* ++ * Move cursor forwards. Do the ++ * right thing if the count is less than ++ * 0. Error if you try to move forward ++ * from the end of the buffer. ++ */ ++/* ARGSUSED */ ++int ++forwchar(int f, int n) ++{ ++ if (n < 0) ++ return (backchar(f, -n)); ++ while (n--) { ++ if (curwp->w_doto == llength(curwp->w_dotp)) { ++ curwp->w_dotp = lforw(curwp->w_dotp); ++ if (curwp->w_dotp == curbp->b_headp) { ++ curwp->w_dotp = lback(curwp->w_dotp); ++ if (!(f & FFRAND)) { ++ dobeep(); ++ ewprintf("End of buffer"); ++ } ++ return (FALSE); ++ } ++ curwp->w_doto = 0; ++ curwp->w_dotline++; ++ curwp->w_rflag |= WFMOVE; ++ } else ++ curwp->w_doto++; ++ } ++ return (TRUE); ++} ++ ++/* ++ * Go to the beginning of the buffer. Setting WFFULL is conservative, ++ * but almost always the case. A universal argument of higher than 9 ++ * puts the cursor back to the end of buffer. ++ */ ++int ++gotobob(int f, int n) ++{ ++ if (!curwp->w_markp) ++ (void) setmark(f, n); ++ curwp->w_dotp = bfirstlp(curbp); ++ curwp->w_doto = 0; ++ curwp->w_rflag |= WFFULL; ++ curwp->w_dotline = 1; ++ if (f & FFOTHARG && n > 0) { ++ if (n > 9) ++ gotoeob(0, 0); ++ else ++ forwline(f, percint(curwp->w_bufp->b_lines, n) - 1); ++ } ++ return (TRUE); ++} ++ ++/* ++ * Go to the end of the buffer. Leave dot 3 lines from the bottom of the ++ * window if buffer length is longer than window length; same as emacs. ++ * Setting WFFULL is conservative, but almost always the case. A universal ++ * argument of higher than 9 puts the cursor back to the start of buffer. ++ */ ++int ++gotoeob(int f, int n) ++{ ++ int ln; ++ struct line *lp; ++ ++ if (!curwp->w_markp) ++ (void) setmark(f, n); ++ curwp->w_dotp = blastlp(curbp); ++ curwp->w_doto = llength(curwp->w_dotp); ++ curwp->w_dotline = curwp->w_bufp->b_lines; ++ ++ lp = curwp->w_dotp; ++ ln = curwp->w_ntrows - 3; ++ ++ if (ln < curwp->w_bufp->b_lines && ln >= 3) { ++ while (ln--) ++ curwp->w_dotp = lback(curwp->w_dotp); ++ ++ curwp->w_linep = curwp->w_dotp; ++ curwp->w_dotp = lp; ++ } ++ if (f & FFOTHARG && n > 0) { ++ if (n > 9) ++ gotobob(0, 0); ++ else ++ backline(f, percint(curwp->w_bufp->b_lines, n)); ++ } ++ ++ curwp->w_rflag |= WFFULL; ++ return (TRUE); ++} ++ ++/* ++ * Move forward by full lines. ++ * If the number of lines to move is less ++ * than zero, call the backward line function to ++ * actually do it. The last command controls how ++ * the goal column is set. ++ */ ++/* ARGSUSED */ ++int ++forwline(int f, int n) ++{ ++ struct line *dlp; ++ ++ if (n < 0) ++ return (backline(f | FFRAND, -n)); ++ if ((dlp = curwp->w_dotp) == curbp->b_headp) { ++ if (!(f & FFRAND)) { ++ dobeep(); ++ ewprintf("End of buffer"); ++ } ++ return(TRUE); ++ } ++ if ((lastflag & CFCPCN) == 0) /* Fix goal. */ ++ setgoal(); ++ thisflag |= CFCPCN; ++ if (n == 0) ++ return (TRUE); ++ while (n--) { ++ dlp = lforw(dlp); ++ if (dlp == curbp->b_headp) { ++ curwp->w_dotp = lback(dlp); ++ curwp->w_doto = llength(curwp->w_dotp); ++ curwp->w_rflag |= WFMOVE; ++ if (!(f & FFRAND)) { ++ dobeep(); ++ ewprintf("End of buffer"); ++ } ++ return (TRUE); ++ } ++ curwp->w_dotline++; ++ } ++ curwp->w_rflag |= WFMOVE; ++ curwp->w_dotp = dlp; ++ curwp->w_doto = getgoal(dlp); ++ ++ return (TRUE); ++} ++ ++/* ++ * This function is like "forwline", but ++ * goes backwards. The scheme is exactly the same. ++ * Check for arguments that are less than zero and ++ * call your alternate. Figure out the new line and ++ * call "movedot" to perform the motion. ++ */ ++/* ARGSUSED */ ++int ++backline(int f, int n) ++{ ++ struct line *dlp; ++ ++ if (n < 0) ++ return (forwline(f | FFRAND, -n)); ++ if ((lastflag & CFCPCN) == 0) /* Fix goal. */ ++ setgoal(); ++ thisflag |= CFCPCN; ++ dlp = curwp->w_dotp; ++ if (lback(dlp) == curbp->b_headp) { ++ if (!(f & FFRAND)) { ++ dobeep(); ++ ewprintf("Beginning of buffer"); ++ } ++ return(TRUE); ++ } ++ while (n-- && lback(dlp) != curbp->b_headp) { ++ dlp = lback(dlp); ++ curwp->w_dotline--; ++ } ++ if (n > 0 && !(f & FFRAND)) { ++ dobeep(); ++ ewprintf("Beginning of buffer"); ++ } ++ curwp->w_dotp = dlp; ++ curwp->w_doto = getgoal(dlp); ++ curwp->w_rflag |= WFMOVE; ++ return (TRUE); ++} ++ ++/* ++ * Set the current goal column, which is saved in the external variable ++ * "curgoal", to the current cursor column. The column is never off ++ * the edge of the screen; it's more like display then show position. ++ */ ++void ++setgoal(void) ++{ ++ curgoal = getcolpos(curwp); /* Get the position. */ ++ /* we can now display past end of display, don't chop! */ ++} ++ ++/* ++ * This routine looks at a line (pointed ++ * to by the LINE pointer "dlp") and the current ++ * vertical motion goal column (set by the "setgoal" ++ * routine above) and returns the best offset to use ++ * when a vertical motion is made into the line. ++ */ ++int ++getgoal(struct line *dlp) ++{ ++ int c, i, col = 0; ++ char tmp[5]; ++ ++ ++ for (i = 0; i < llength(dlp); i++) { ++ c = lgetc(dlp, i); ++ if (c == '\t' ++#ifdef NOTAB ++ && !(curbp->b_flag & BFNOTAB) ++#endif ++ ) { ++ col |= 0x07; ++ col++; ++ } else if (ISCTRL(c) != FALSE) { ++ col += 2; ++ } else if (isprint(c)) ++ col++; ++ else { ++ col += snprintf(tmp, sizeof(tmp), "\\%o", c); ++ } ++ if (col > curgoal) ++ break; ++ } ++ return (i); ++} ++ ++/* ++ * Scroll forward by a specified number ++ * of lines, or by a full page if no argument. ++ * The "2" is the window overlap (this is the default ++ * value from ITS EMACS). Because the top line in ++ * the window is zapped, we have to do a hard ++ * update and get it back. ++ */ ++/* ARGSUSED */ ++int ++forwpage(int f, int n) ++{ ++ struct line *lp; ++ ++ if (!(f & FFARG)) { ++ n = curwp->w_ntrows - 2; /* Default scroll. */ ++ if (n <= 0) /* Forget the overlap */ ++ n = 1; /* if tiny window. */ ++ } else if (n < 0) ++ return (backpage(f | FFRAND, -n)); ++ ++ lp = curwp->w_linep; ++ while (n--) ++ if ((lp = lforw(lp)) == curbp->b_headp) { ++ dobeep(); ++ ewprintf("End of buffer"); ++ return(TRUE); ++ } ++ ++ curwp->w_linep = lp; ++ curwp->w_rflag |= WFFULL; ++ ++ /* if in current window, don't move dot */ ++ for (n = curwp->w_ntrows; n-- && lp != curbp->b_headp; lp = lforw(lp)) ++ if (lp == curwp->w_dotp) ++ return (TRUE); ++ ++ /* Advance the dot the slow way, for line nos */ ++ while (curwp->w_dotp != curwp->w_linep) { ++ curwp->w_dotp = lforw(curwp->w_dotp); ++ curwp->w_dotline++; ++ } ++ curwp->w_doto = 0; ++ return (TRUE); ++} ++ ++/* ++ * This command is like "forwpage", ++ * but it goes backwards. The "2", like above, ++ * is the overlap between the two windows. The ++ * value is from the ITS EMACS manual. The ++ * hard update is done because the top line in ++ * the window is zapped. ++ */ ++/* ARGSUSED */ ++int ++backpage(int f, int n) ++{ ++ struct line *lp, *lp2; ++ ++ if (!(f & FFARG)) { ++ n = curwp->w_ntrows - 2; /* Default scroll. */ ++ if (n <= 0) /* Don't blow up if the */ ++ return (backline(f, 1));/* window is tiny. */ ++ } else if (n < 0) ++ return (forwpage(f | FFRAND, -n)); ++ ++ lp = lp2 = curwp->w_linep; ++ ++ while (n-- && lback(lp) != curbp->b_headp) { ++ lp = lback(lp); ++ } ++ if (lp == curwp->w_linep) { ++ dobeep(); ++ ewprintf("Beginning of buffer"); ++ } ++ curwp->w_linep = lp; ++ curwp->w_rflag |= WFFULL; ++ ++ /* if in current window, don't move dot */ ++ for (n = curwp->w_ntrows; n-- && lp != curbp->b_headp; lp = lforw(lp)) ++ if (lp == curwp->w_dotp) ++ return (TRUE); ++ ++ lp2 = lforw(lp2); ++ ++ /* Move the dot the slow way, for line nos */ ++ while (curwp->w_dotp != lp2) { ++ if (curwp->w_dotline <= curwp->w_ntrows) ++ goto out; ++ curwp->w_dotp = lback(curwp->w_dotp); ++ curwp->w_dotline--; ++ } ++out: ++ curwp->w_doto = 0; ++ return (TRUE); ++} ++ ++/* ++ * These functions are provided for compatibility with Gosling's Emacs. They ++ * are used to scroll the display up (or down) one line at a time. ++ */ ++int ++forw1page(int f, int n) ++{ ++ if (!(f & FFARG)) { ++ n = 1; ++ f = FFUNIV; ++ } ++ forwpage(f | FFRAND, n); ++ return (TRUE); ++} ++ ++int ++back1page(int f, int n) ++{ ++ if (!(f & FFARG)) { ++ n = 1; ++ f = FFUNIV; ++ } ++ backpage(f | FFRAND, n); ++ return (TRUE); ++} ++ ++/* ++ * Page the other window. Check to make sure it exists, then ++ * nextwind, forwpage and restore window pointers. ++ */ ++int ++pagenext(int f, int n) ++{ ++ struct mgwin *wp; ++ ++ if (wheadp->w_wndp == NULL) { ++ dobeep(); ++ ewprintf("No other window"); ++ return (FALSE); ++ } ++ wp = curwp; ++ (void) nextwind(f, n); ++ (void) forwpage(f, n); ++ curwp = wp; ++ curbp = wp->w_bufp; ++ return (TRUE); ++} ++ ++/* ++ * Internal set mark routine, used by other functions (daveb). ++ */ ++void ++isetmark(void) ++{ ++ curwp->w_markp = curwp->w_dotp; ++ curwp->w_marko = curwp->w_doto; ++ curwp->w_markline = curwp->w_dotline; ++} ++ ++/* ++ * Set the mark in the current window ++ * to the value of dot. A message is written to ++ * the echo line. (ewprintf knows about macros) ++ */ ++/* ARGSUSED */ ++int ++setmark(int f, int n) ++{ ++ isetmark(); ++ ewprintf("Mark set"); ++ return (TRUE); ++} ++ ++/* Clear the mark, if set. */ ++/* ARGSUSED */ ++int ++clearmark(int f, int n) ++{ ++ if (!curwp->w_markp) ++ return (FALSE); ++ ++ curwp->w_markp = NULL; ++ curwp->w_marko = 0; ++ curwp->w_markline = 0; ++ ++ return (TRUE); ++} ++ ++/* ++ * Swap the values of "dot" and "mark" in ++ * the current window. This is pretty easy, because ++ * all of the hard work gets done by the standard routine ++ * that moves the mark about. The only possible ++ * error is "no mark". ++ */ ++/* ARGSUSED */ ++int ++swapmark(int f, int n) ++{ ++ struct line *odotp; ++ int odoto, odotline; ++ ++ if (curwp->w_markp == NULL) { ++ dobeep(); ++ ewprintf("No mark in this window"); ++ return (FALSE); ++ } ++ odotp = curwp->w_dotp; ++ odoto = curwp->w_doto; ++ odotline = curwp->w_dotline; ++ curwp->w_dotp = curwp->w_markp; ++ curwp->w_doto = curwp->w_marko; ++ curwp->w_dotline = curwp->w_markline; ++ curwp->w_markp = odotp; ++ curwp->w_marko = odoto; ++ curwp->w_markline = odotline; ++ curwp->w_rflag |= WFMOVE; ++ return (TRUE); ++} ++ ++/* ++ * Go to a specific line, mostly for ++ * looking up errors in C programs, which give the ++ * error a line number. If an argument is present, then ++ * it is the line number, else prompt for a line number ++ * to use. ++ */ ++/* ARGSUSED */ ++int ++gotoline(int f, int n) ++{ ++ char buf[32], *bufp; ++ const char *err; ++ ++ if (!(f & FFARG)) { ++ if ((bufp = eread("Goto line: ", buf, sizeof(buf), ++ EFNUL | EFNEW | EFCR)) == NULL) ++ return (ABORT); ++ if (bufp[0] == '\0') ++ return (ABORT); ++ n = (int)strtonum(buf, INT_MIN, INT_MAX, &err); ++ if (err) { ++ dobeep(); ++ ewprintf("Line number %s", err); ++ return (FALSE); ++ } ++ } ++ return(setlineno(n)); ++} ++ ++/* ++ * Set the line number and switch to it. ++ */ ++int ++setlineno(int n) ++{ ++ struct line *clp; ++ ++ if (n >= 0) { ++ if (n == 0) ++ n++; ++ curwp->w_dotline = n; ++ clp = lforw(curbp->b_headp); /* "clp" is first line */ ++ while (--n > 0) { ++ if (lforw(clp) == curbp->b_headp) { ++ curwp->w_dotline = curwp->w_bufp->b_lines; ++ break; ++ } ++ clp = lforw(clp); ++ } ++ } else { ++ curwp->w_dotline = curwp->w_bufp->b_lines + n; ++ clp = lback(curbp->b_headp); /* "clp" is last line */ ++ while (n < 0) { ++ if (lback(clp) == curbp->b_headp) { ++ curwp->w_dotline = 1; ++ break; ++ } ++ clp = lback(clp); ++ n++; ++ } ++ } ++ curwp->w_dotp = clp; ++ curwp->w_doto = 0; ++ curwp->w_rflag |= WFMOVE; ++ return (TRUE); ++} diff -Naur a/cscope.c b/cscope.c ---- a/cscope.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/cscope.c 2020-02-01 21:34:59.000000000 +0000 +--- a/cscope.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/cscope.c 2020-04-20 21:26:10.000000000 +0100 @@ -20,6 +20,9 @@ #include #include @@ -142,8 +839,8 @@ diff -Naur a/cscope.c b/cscope.c #define CSSYMBOL 0 diff -Naur a/display.c b/display.c ---- a/display.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/display.c 2020-02-01 21:34:16.000000000 +0000 +--- a/display.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/display.c 2020-04-20 21:26:10.000000000 +0100 @@ -19,6 +19,9 @@ #include #include @@ -155,14 +852,8 @@ diff -Naur a/display.c b/display.c #include "kbd.h" diff -Naur a/fileio.c b/fileio.c ---- a/fileio.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/fileio.c 2020-02-01 21:42:18.000000000 +0000 -@@ -1,4 +1,4 @@ --/* $OpenBSD: fileio.c,v 1.105 2018/04/13 14:11:37 florian Exp $ */ -+/* $OpenBSD: fileio.c,v 1.104 2017/05/30 07:05:22 florian Exp $ */ - - /* This file is in the public domain. */ - +--- a/fileio.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/fileio.c 2020-04-20 21:26:10.000000000 +0100 @@ -22,19 +22,13 @@ #include #include @@ -186,7 +877,7 @@ diff -Naur a/fileio.c b/fileio.c static char *bkuplocation(const char *); static int bkupleavetmp(const char *); -@@ -714,7 +708,7 @@ +@@ -710,7 +704,7 @@ struct stat statbuf; const char *cp; char user[LOGIN_NAME_MAX], path[NFILEN]; @@ -195,7 +886,7 @@ diff -Naur a/fileio.c b/fileio.c size_t ulen, plen; path[0] = '\0'; -@@ -733,18 +727,21 @@ +@@ -729,18 +723,21 @@ return (NULL); return(ret); } @@ -222,9 +913,774 @@ diff -Naur a/fileio.c b/fileio.c ewprintf("Path too long"); return (NULL); } +diff -Naur a/fileio.c.orig b/fileio.c.orig +--- a/fileio.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ b/fileio.c.orig 2020-04-20 21:26:06.000000000 +0100 +@@ -0,0 +1,761 @@ ++/* $OpenBSD: fileio.c,v 1.106 2019/06/22 10:21:57 lum Exp $ */ ++ ++/* This file is in the public domain. */ ++ ++/* ++ * POSIX fileio.c ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "def.h" ++#include "kbd.h" ++#include "pathnames.h" ++ ++#ifndef MAXNAMLEN ++#define MAXNAMLEN 255 ++#endif ++ ++#ifndef DEFFILEMODE ++#define DEFFILEMODE 0666 ++#endif ++ ++static char *bkuplocation(const char *); ++static int bkupleavetmp(const char *); ++ ++static char *bkupdir; ++static int leavetmp = 0; /* 1 = leave any '~' files in tmp dir */ ++ ++/* ++ * Open a file for reading. ++ */ ++int ++ffropen(FILE ** ffp, const char *fn, struct buffer *bp) ++{ ++ if ((*ffp = fopen(fn, "r")) == NULL) { ++ if (errno == ENOENT) ++ return (FIOFNF); ++ return (FIOERR); ++ } ++ ++ /* If 'fn' is a directory open it with dired. */ ++ if (fisdir(fn) == TRUE) ++ return (FIODIR); ++ ++ ffstat(*ffp, bp); ++ ++ return (FIOSUC); ++} ++ ++/* ++ * Update stat/dirty info ++ */ ++void ++ffstat(FILE *ffp, struct buffer *bp) ++{ ++ struct stat sb; ++ ++ if (bp && fstat(fileno(ffp), &sb) == 0) { ++ /* set highorder bit to make sure this isn't all zero */ ++ bp->b_fi.fi_mode = sb.st_mode | 0x8000; ++ bp->b_fi.fi_uid = sb.st_uid; ++ bp->b_fi.fi_gid = sb.st_gid; ++ /* bp->b_fi.fi_mtime = sb.st_mtimespec; */ ++ bp->b_fi.fi_mtime.tv_sec = sb.st_mtime; ++ bp->b_fi.fi_mtime.tv_nsec = 0; ++ /* Clear the ignore flag */ ++ bp->b_flag &= ~(BFIGNDIRTY | BFDIRTY); ++ } ++} ++ ++/* ++ * Update the status/dirty info. If there is an error, ++ * there's not a lot we can do. ++ */ ++int ++fupdstat(struct buffer *bp) ++{ ++ FILE *ffp; ++ ++ if ((ffp = fopen(bp->b_fname, "r")) == NULL) { ++ if (errno == ENOENT) ++ return (FIOFNF); ++ return (FIOERR); ++ } ++ ffstat(ffp, bp); ++ (void)ffclose(ffp, bp); ++ return (FIOSUC); ++} ++ ++/* ++ * Open a file for writing. ++ */ ++int ++ffwopen(FILE ** ffp, const char *fn, struct buffer *bp) ++{ ++ int fd; ++ mode_t fmode = DEFFILEMODE; ++ ++ if (bp && bp->b_fi.fi_mode) ++ fmode = bp->b_fi.fi_mode & 07777; ++ ++ fd = open(fn, O_RDWR | O_CREAT | O_TRUNC, fmode); ++ if (fd == -1) { ++ ffp = NULL; ++ dobeep(); ++ ewprintf("Cannot open file for writing : %s", strerror(errno)); ++ return (FIOERR); ++ } ++ ++ if ((*ffp = fdopen(fd, "w")) == NULL) { ++ dobeep(); ++ ewprintf("Cannot open file for writing : %s", strerror(errno)); ++ close(fd); ++ return (FIOERR); ++ } ++ ++ /* ++ * If we have file information, use it. We don't bother to check for ++ * errors, because there's no a lot we can do about it. Certainly ++ * trying to change ownership will fail if we aren't root. That's ++ * probably OK. If we don't have info, no need to get it, since any ++ * future writes will do the same thing. ++ */ ++ if (bp && bp->b_fi.fi_mode) { ++ fchmod(fd, bp->b_fi.fi_mode & 07777); ++ fchown(fd, bp->b_fi.fi_uid, bp->b_fi.fi_gid); ++ } ++ return (FIOSUC); ++} ++ ++/* ++ * Close a file. ++ */ ++/* ARGSUSED */ ++int ++ffclose(FILE *ffp, struct buffer *bp) ++{ ++ if (fclose(ffp) == 0) ++ return (FIOSUC); ++ return (FIOERR); ++} ++ ++/* ++ * Write a buffer to the already opened file. bp points to the ++ * buffer. Return the status. ++ */ ++int ++ffputbuf(FILE *ffp, struct buffer *bp, int eobnl) ++{ ++ struct line *lp, *lpend; ++ ++ lpend = bp->b_headp; ++ ++ for (lp = lforw(lpend); lp != lpend; lp = lforw(lp)) { ++ if (fwrite(ltext(lp), 1, llength(lp), ffp) != llength(lp)) { ++ dobeep(); ++ ewprintf("Write I/O error"); ++ return (FIOERR); ++ } ++ if (lforw(lp) != lpend) /* no implied \n on last line */ ++ putc('\n', ffp); ++ } ++ if (eobnl) { ++ lnewline_at(lback(lpend), llength(lback(lpend))); ++ putc('\n', ffp); ++ } ++ return (FIOSUC); ++} ++ ++/* ++ * Read a line from a file, and store the bytes ++ * in the supplied buffer. Stop on end of file or end of ++ * line. When FIOEOF is returned, there is a valid line ++ * of data without the normally implied \n. ++ * If the line length exceeds nbuf, FIOLONG is returned. ++ */ ++int ++ffgetline(FILE *ffp, char *buf, int nbuf, int *nbytes) ++{ ++ int c, i; ++ ++ i = 0; ++ while ((c = getc(ffp)) != EOF && c != '\n') { ++ buf[i++] = c; ++ if (i >= nbuf) ++ return (FIOLONG); ++ } ++ if (c == EOF && ferror(ffp) != FALSE) { ++ dobeep(); ++ ewprintf("File read error"); ++ return (FIOERR); ++ } ++ *nbytes = i; ++ return (c == EOF ? FIOEOF : FIOSUC); ++} ++ ++/* ++ * Make a backup copy of "fname". On Unix the backup has the same ++ * name as the original file, with a "~" on the end; this seems to ++ * be newest of the new-speak. The error handling is all in "file.c". ++ * We do a copy instead of a rename since otherwise another process ++ * with an open fd will get the backup, not the new file. This is ++ * a problem when using mg with things like crontab and vipw. ++ */ ++int ++fbackupfile(const char *fn) ++{ ++ struct stat sb; ++ struct timespec new_times[2]; ++ int from, to, serrno; ++ ssize_t nread; ++ char buf[BUFSIZ]; ++ char *nname, *tname, *bkpth; ++ ++ if (stat(fn, &sb) == -1) { ++ dobeep(); ++ ewprintf("Can't stat %s : %s", fn, strerror(errno)); ++ return (FALSE); ++ } ++ ++ if ((bkpth = bkuplocation(fn)) == NULL) ++ return (FALSE); ++ ++ if (asprintf(&nname, "%s~", bkpth) == -1) { ++ dobeep(); ++ ewprintf("Can't allocate backup file name : %s", strerror(errno)); ++ free(bkpth); ++ return (ABORT); ++ } ++ if (asprintf(&tname, "%s.XXXXXXXXXX", bkpth) == -1) { ++ dobeep(); ++ ewprintf("Can't allocate temp file name : %s", strerror(errno)); ++ free(bkpth); ++ free(nname); ++ return (ABORT); ++ } ++ free(bkpth); ++ ++ if ((from = open(fn, O_RDONLY)) == -1) { ++ free(nname); ++ free(tname); ++ return (FALSE); ++ } ++ to = mkstemp(tname); ++ if (to == -1) { ++ serrno = errno; ++ close(from); ++ free(nname); ++ free(tname); ++ errno = serrno; ++ return (FALSE); ++ } ++ while ((nread = read(from, buf, sizeof(buf))) > 0) { ++ if (write(to, buf, (size_t)nread) != nread) { ++ nread = -1; ++ break; ++ } ++ } ++ serrno = errno; ++ (void) fchmod(to, (sb.st_mode & 0777)); ++ ++ /* copy the mtime to the backupfile */ ++ new_times[0] = sb.st_atim; ++ new_times[1] = sb.st_mtim; ++ futimens(to, new_times); ++ ++ close(from); ++ close(to); ++ if (nread == -1) { ++ if (unlink(tname) == -1) ++ ewprintf("Can't unlink temp : %s", strerror(errno)); ++ } else { ++ if (rename(tname, nname) == -1) { ++ ewprintf("Can't rename temp : %s", strerror(errno)); ++ (void) unlink(tname); ++ nread = -1; ++ } ++ } ++ free(nname); ++ free(tname); ++ errno = serrno; ++ ++ return (nread == -1 ? FALSE : TRUE); ++} ++ ++/* ++ * Convert "fn" to a canonicalized absolute filename, replacing ++ * a leading ~/ with the user's home dir, following symlinks, and ++ * remove all occurrences of /./ and /../ ++ */ ++char * ++adjustname(const char *fn, int slashslash) ++{ ++ static char fnb[PATH_MAX]; ++ const char *cp, *ep = NULL; ++ char *path; ++ ++ if (slashslash == TRUE) { ++ cp = fn + strlen(fn) - 1; ++ for (; cp >= fn; cp--) { ++ if (ep && (*cp == '/')) { ++ fn = ep; ++ break; ++ } ++ if (*cp == '/' || *cp == '~') ++ ep = cp; ++ else ++ ep = NULL; ++ } ++ } ++ if ((path = expandtilde(fn)) == NULL) ++ return (NULL); ++ ++ if (realpath(path, fnb) == NULL) ++ (void)strlcpy(fnb, path, sizeof(fnb)); ++ ++ free(path); ++ return (fnb); ++} ++ ++/* ++ * Find a startup file for the user and return its name. As a service ++ * to other pieces of code that may want to find a startup file (like ++ * the terminal driver in particular), accepts a suffix to be appended ++ * to the startup file name. ++ */ ++char * ++startupfile(char *suffix) ++{ ++ static char file[NFILEN]; ++ char *home; ++ int ret; ++ ++ if ((home = getenv("HOME")) == NULL || *home == '\0') ++ goto nohome; ++ ++ if (suffix == NULL) { ++ ret = snprintf(file, sizeof(file), _PATH_MG_STARTUP, home); ++ if (ret < 0 || ret >= sizeof(file)) ++ return (NULL); ++ } else { ++ ret = snprintf(file, sizeof(file), _PATH_MG_TERM, home, suffix); ++ if (ret < 0 || ret >= sizeof(file)) ++ return (NULL); ++ } ++ ++ if (access(file, R_OK) == 0) ++ return (file); ++nohome: ++#ifdef STARTUPFILE ++ if (suffix == NULL) { ++ ret = snprintf(file, sizeof(file), "%s", STARTUPFILE); ++ if (ret < 0 || ret >= sizeof(file)) ++ return (NULL); ++ } else { ++ ret = snprintf(file, sizeof(file), "%s%s", STARTUPFILE, ++ suffix); ++ if (ret < 0 || ret >= sizeof(file)) ++ return (NULL); ++ } ++ ++ if (access(file, R_OK) == 0) ++ return (file); ++#endif /* STARTUPFILE */ ++ return (NULL); ++} ++ ++int ++copy(char *frname, char *toname) ++{ ++ int ifd, ofd; ++ char buf[BUFSIZ]; ++ mode_t fmode = DEFFILEMODE; /* XXX?? */ ++ struct stat orig; ++ ssize_t sr; ++ ++ if ((ifd = open(frname, O_RDONLY)) == -1) ++ return (FALSE); ++ if (fstat(ifd, &orig) == -1) { ++ dobeep(); ++ ewprintf("fstat: %s", strerror(errno)); ++ close(ifd); ++ return (FALSE); ++ } ++ ++ if ((ofd = open(toname, O_WRONLY|O_CREAT|O_TRUNC, fmode)) == -1) { ++ close(ifd); ++ return (FALSE); ++ } ++ while ((sr = read(ifd, buf, sizeof(buf))) > 0) { ++ if (write(ofd, buf, (size_t)sr) != sr) { ++ ewprintf("write error : %s", strerror(errno)); ++ break; ++ } ++ } ++ if (fchmod(ofd, orig.st_mode) == -1) ++ ewprintf("Cannot set original mode : %s", strerror(errno)); ++ ++ if (sr == -1) { ++ ewprintf("Read error : %s", strerror(errno)); ++ close(ifd); ++ close(ofd); ++ return (FALSE); ++ } ++ /* ++ * It is "normal" for this to fail since we can't guarantee that ++ * we will be running as root. ++ */ ++ if (fchown(ofd, orig.st_uid, orig.st_gid) && errno != EPERM) ++ ewprintf("Cannot set owner : %s", strerror(errno)); ++ ++ (void) close(ifd); ++ (void) close(ofd); ++ ++ return (TRUE); ++} ++ ++/* ++ * return list of file names that match the name in buf. ++ */ ++struct list * ++make_file_list(char *buf) ++{ ++ char *dir, *file, *cp; ++ size_t len, preflen; ++ int ret; ++ DIR *dirp; ++ struct dirent *dent; ++ struct list *last, *current; ++ char fl_name[NFILEN + 2]; ++ char prefixx[NFILEN + 1]; ++ ++ /* ++ * We need three different strings: ++ ++ * dir - the name of the directory containing what the user typed. ++ * Must be a real unix file name, e.g. no ~user, etc.. ++ * Must not end in /. ++ * prefix - the portion of what the user typed that is before the ++ * names we are going to find in the directory. Must have a ++ * trailing / if the user typed it. ++ * names from the directory - We open dir, and return prefix ++ * concatenated with names. ++ */ ++ ++ /* first we get a directory name we can look up */ ++ /* ++ * Names ending in . are potentially odd, because adjustname will ++ * treat foo/bar/.. as a foo/, whereas we are ++ * interested in names starting with .. ++ */ ++ len = strlen(buf); ++ if (len && buf[len - 1] == '.') { ++ buf[len - 1] = 'x'; ++ dir = adjustname(buf, TRUE); ++ buf[len - 1] = '.'; ++ } else ++ dir = adjustname(buf, TRUE); ++ if (dir == NULL) ++ return (NULL); ++ /* ++ * If the user typed a trailing / or the empty string ++ * he wants us to use his file spec as a directory name. ++ */ ++ if (len && buf[len - 1] != '/') { ++ file = strrchr(dir, '/'); ++ if (file) { ++ *file = '\0'; ++ if (*dir == '\0') ++ dir = "/"; ++ } else ++ return (NULL); ++ } ++ /* Now we get the prefix of the name the user typed. */ ++ if (strlcpy(prefixx, buf, sizeof(prefixx)) >= sizeof(prefixx)) ++ return (NULL); ++ cp = strrchr(prefixx, '/'); ++ if (cp == NULL) ++ prefixx[0] = '\0'; ++ else ++ cp[1] = '\0'; ++ ++ preflen = strlen(prefixx); ++ /* cp is the tail of buf that really needs to be compared. */ ++ cp = buf + preflen; ++ len = strlen(cp); ++ ++ /* ++ * Now make sure that file names will fit in the buffers allocated. ++ * SV files are fairly short. For BSD, something more general would ++ * be required. ++ */ ++ if (preflen > NFILEN - MAXNAMLEN) ++ return (NULL); ++ ++ /* loop over the specified directory, making up the list of files */ ++ ++ /* ++ * Note that it is worth our time to filter out names that don't ++ * match, even though our caller is going to do so again, and to ++ * avoid doing the stat if completion is being done, because stat'ing ++ * every file in the directory is relatively expensive. ++ */ ++ ++ dirp = opendir(dir); ++ if (dirp == NULL) ++ return (NULL); ++ last = NULL; ++ ++ while ((dent = readdir(dirp)) != NULL) { ++ int isdir; ++ if (strncmp(cp, dent->d_name, len) != 0) ++ continue; ++ isdir = 0; ++ if (dent->d_type == DT_DIR) { ++ isdir = 1; ++ } else if (dent->d_type == DT_LNK || ++ dent->d_type == DT_UNKNOWN) { ++ struct stat statbuf; ++ ++ if (fstatat(dirfd(dirp), dent->d_name, &statbuf, 0) < 0) ++ continue; ++ if (S_ISDIR(statbuf.st_mode)) ++ isdir = 1; ++ } ++ ++ if ((current = malloc(sizeof(struct list))) == NULL) { ++ free_file_list(last); ++ closedir(dirp); ++ return (NULL); ++ } ++ ret = snprintf(fl_name, sizeof(fl_name), ++ "%s%s%s", prefixx, dent->d_name, isdir ? "/" : ""); ++ if (ret < 0 || ret >= sizeof(fl_name)) { ++ free(current); ++ continue; ++ } ++ current->l_next = last; ++ current->l_name = strdup(fl_name); ++ last = current; ++ } ++ closedir(dirp); ++ ++ return (last); ++} ++ ++/* ++ * Test if a supplied filename refers to a directory ++ * Returns ABORT on error, TRUE if directory. FALSE otherwise ++ */ ++int ++fisdir(const char *fname) ++{ ++ struct stat statbuf; ++ ++ if (stat(fname, &statbuf) != 0) ++ return (ABORT); ++ ++ if (S_ISDIR(statbuf.st_mode)) ++ return (TRUE); ++ ++ return (FALSE); ++} ++ ++/* ++ * Check the mtime of the supplied filename. ++ * Return TRUE if last mtime matches, FALSE if not, ++ * If the stat fails, return TRUE and try the save anyway ++ */ ++int ++fchecktime(struct buffer *bp) ++{ ++ struct stat sb; ++ ++ if (stat(bp->b_fname, &sb) == -1) ++ return (TRUE); ++ ++ /* if (bp->b_fi.fi_mtime.tv_sec != sb.st_mtimespec.tv_sec || ++ bp->b_fi.fi_mtime.tv_nsec != sb.st_mtimespec.tv_nsec) */ ++ if (bp->b_fi.fi_mtime.tv_sec != sb.st_mtime) ++ return (FALSE); ++ ++ return (TRUE); ++ ++} ++ ++/* ++ * Location of backup file. This function creates the correct path. ++ */ ++static char * ++bkuplocation(const char *fn) ++{ ++ struct stat sb; ++ char *ret; ++ ++ if (bkupdir != NULL && (stat(bkupdir, &sb) == 0) && ++ S_ISDIR(sb.st_mode) && !bkupleavetmp(fn)) { ++ char fname[NFILEN]; ++ const char *c; ++ int i = 0, len; ++ ++ c = fn; ++ len = strlen(bkupdir); ++ ++ while (*c != '\0') { ++ /* Make sure we don't go over combined: ++ * strlen(bkupdir + '/' + fname + '\0') ++ */ ++ if (i >= NFILEN - len - 1) ++ return (NULL); ++ if (*c == '/') { ++ fname[i] = '!'; ++ } else if (*c == '!') { ++ if (i >= NFILEN - len - 2) ++ return (NULL); ++ fname[i++] = '!'; ++ fname[i] = '!'; ++ } else ++ fname[i] = *c; ++ i++; ++ c++; ++ } ++ fname[i] = '\0'; ++ if (asprintf(&ret, "%s/%s", bkupdir, fname) == -1) ++ return (NULL); ++ ++ } else if ((ret = strndup(fn, NFILEN)) == NULL) ++ return (NULL); ++ ++ return (ret); ++} ++ ++int ++backuptohomedir(int f, int n) ++{ ++ const char *c = _PATH_MG_DIR; ++ char *p; ++ ++ if (bkupdir == NULL) { ++ p = adjustname(c, TRUE); ++ bkupdir = strndup(p, NFILEN); ++ if (bkupdir == NULL) ++ return(FALSE); ++ ++ if (mkdir(bkupdir, 0700) == -1 && errno != EEXIST) { ++ free(bkupdir); ++ bkupdir = NULL; ++ } ++ } else { ++ free(bkupdir); ++ bkupdir = NULL; ++ } ++ ++ return (TRUE); ++} ++ ++/* ++ * For applications that use mg as the editor and have a desire to keep ++ * '~' files in /tmp, toggle the location: /tmp | ~/.mg.d ++ */ ++int ++toggleleavetmp(int f, int n) ++{ ++ leavetmp = !leavetmp; ++ ++ return (TRUE); ++} ++ ++/* ++ * Returns TRUE if fn is located in the temp directory and we want to save ++ * those backups there. ++ */ ++int ++bkupleavetmp(const char *fn) ++{ ++ if (!leavetmp) ++ return(FALSE); ++ ++ if (strncmp(fn, "/tmp", 4) == 0) ++ return (TRUE); ++ ++ return (FALSE); ++} ++ ++/* ++ * Expand file names beginning with '~' if appropriate: ++ * 1, if ./~fn exists, continue without expanding tilde. ++ * 2, else, if username 'fn' exists, expand tilde with home directory path. ++ * 3, otherwise, continue and create new buffer called ~fn. ++ */ ++char * ++expandtilde(const char *fn) ++{ ++ struct passwd *pw; ++ struct stat statbuf; ++ const char *cp; ++ char user[LOGIN_NAME_MAX], path[NFILEN]; ++ char *ret; ++ size_t ulen, plen; ++ ++ path[0] = '\0'; ++ ++ if (fn[0] != '~' || stat(fn, &statbuf) == 0) { ++ if ((ret = strndup(fn, NFILEN)) == NULL) ++ return (NULL); ++ return(ret); ++ } ++ cp = strchr(fn, '/'); ++ if (cp == NULL) ++ cp = fn + strlen(fn); /* point to the NUL byte */ ++ ulen = cp - &fn[1]; ++ if (ulen >= sizeof(user)) { ++ if ((ret = strndup(fn, NFILEN)) == NULL) ++ return (NULL); ++ return(ret); ++ } ++ if (ulen == 0) /* ~/ or ~ */ ++ pw = getpwuid(geteuid()); ++ else { /* ~user/ or ~user */ ++ memcpy(user, &fn[1], ulen); ++ user[ulen] = '\0'; ++ pw = getpwnam(user); ++ } ++ if (pw != NULL) { ++ plen = strlcpy(path, pw->pw_dir, sizeof(path)); ++ if (plen == 0 || path[plen - 1] != '/') { ++ if (strlcat(path, "/", sizeof(path)) >= sizeof(path)) { ++ dobeep(); ++ ewprintf("Path too long"); ++ return (NULL); ++ } ++ } ++ fn = cp; ++ if (*fn == '/') ++ fn++; ++ } ++ if (strlcat(path, fn, sizeof(path)) >= sizeof(path)) { ++ dobeep(); ++ ewprintf("Path too long"); ++ return (NULL); ++ } ++ if ((ret = strndup(path, NFILEN)) == NULL) ++ return (NULL); ++ ++ return (ret); ++} diff -Naur a/futimens.c b/futimens.c --- a/futimens.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/futimens.c 2020-02-01 21:55:02.000000000 +0000 ++++ b/futimens.c 2020-04-20 21:26:10.000000000 +0100 @@ -0,0 +1,14 @@ +/* This file is in the public domain. */ + @@ -241,9 +1697,9 @@ diff -Naur a/futimens.c b/futimens.c + return futimes(fildes, timevals); +} diff -Naur a/grep.c b/grep.c ---- a/grep.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/grep.c 2020-02-01 21:35:07.000000000 +0000 -@@ -16,6 +16,9 @@ +--- a/grep.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/grep.c 2020-04-20 21:26:10.000000000 +0100 +@@ -15,6 +15,9 @@ #include #include @@ -253,9 +1709,375 @@ diff -Naur a/grep.c b/grep.c #include "def.h" #include "kbd.h" #include "funmap.h" +diff -Naur a/grep.c.orig b/grep.c.orig +--- a/grep.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ b/grep.c.orig 2020-04-20 21:26:06.000000000 +0100 +@@ -0,0 +1,362 @@ ++/* $OpenBSD: grep.c,v 1.48 2019/07/11 18:20:18 lum Exp $ */ ++ ++/* This file is in the public domain */ ++ ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "def.h" ++#include "kbd.h" ++#include "funmap.h" ++ ++int globalwd = FALSE; ++static int compile_goto_error(int, int); ++int next_error(int, int); ++static int grep(int, int); ++static int gid(int, int); ++static struct buffer *compile_mode(const char *, const char *); ++void grep_init(void); ++ ++static char compile_last_command[NFILEN] = "make "; ++ ++/* ++ * Hints for next-error ++ * ++ * XXX - need some kind of callback to find out when those get killed. ++ */ ++struct mgwin *compile_win; ++struct buffer *compile_buffer; ++ ++static PF compile_pf[] = { ++ compile_goto_error ++}; ++ ++static struct KEYMAPE (1) compilemap = { ++ 1, ++ 1, ++ rescan, ++ { ++ { CCHR('M'), CCHR('M'), compile_pf, NULL } ++ } ++}; ++ ++void ++grep_init(void) ++{ ++ funmap_add(compile_goto_error, "compile-goto-error", 0); ++ funmap_add(next_error, "next-error", 0); ++ funmap_add(grep, "grep", 1); ++ funmap_add(compile, "compile", 0); ++ funmap_add(gid, "gid", 1); ++ maps_add((KEYMAP *)&compilemap, "compile"); ++} ++ ++/* ARGSUSED */ ++static int ++grep(int f, int n) ++{ ++ char cprompt[NFILEN], *bufp; ++ struct buffer *bp; ++ struct mgwin *wp; ++ ++ (void)strlcpy(cprompt, "grep -n ", sizeof(cprompt)); ++ if ((bufp = eread("Run grep: ", cprompt, NFILEN, ++ EFDEF | EFNEW | EFCR)) == NULL) ++ return (ABORT); ++ else if (bufp[0] == '\0') ++ return (FALSE); ++ if (strlcat(cprompt, " /dev/null", sizeof(cprompt)) >= sizeof(cprompt)) ++ return (FALSE); ++ ++ if ((bp = compile_mode("*grep*", cprompt)) == NULL) ++ return (FALSE); ++ if ((wp = popbuf(bp, WNONE)) == NULL) ++ return (FALSE); ++ curbp = bp; ++ compile_win = curwp = wp; ++ return (TRUE); ++} ++ ++/* ARGSUSED */ ++int ++compile(int f, int n) ++{ ++ char cprompt[NFILEN], *bufp; ++ struct buffer *bp; ++ struct mgwin *wp; ++ ++ (void)strlcpy(cprompt, compile_last_command, sizeof(cprompt)); ++ if ((bufp = eread("Compile command: ", cprompt, NFILEN, ++ EFDEF | EFNEW | EFCR)) == NULL) ++ return (ABORT); ++ else if (bufp[0] == '\0') ++ return (FALSE); ++ if (savebuffers(f, n) == ABORT) ++ return (ABORT); ++ (void)strlcpy(compile_last_command, bufp, sizeof(compile_last_command)); ++ ++ if ((bp = compile_mode("*compile*", cprompt)) == NULL) ++ return (FALSE); ++ if ((wp = popbuf(bp, WNONE)) == NULL) ++ return (FALSE); ++ curbp = bp; ++ compile_win = curwp = wp; ++ gotoline(FFARG, 0); ++ return (TRUE); ++} ++ ++/* id-utils foo. */ ++/* ARGSUSED */ ++static int ++gid(int f, int n) ++{ ++ char command[NFILEN]; ++ char cprompt[NFILEN], *bufp; ++ int c; ++ struct buffer *bp; ++ struct mgwin *wp; ++ int i, j, len; ++ ++ /* catch ([^\s(){}]+)[\s(){}]* */ ++ ++ i = curwp->w_doto; ++ /* Skip backwards over delimiters we are currently on */ ++ while (i > 0) { ++ c = lgetc(curwp->w_dotp, i); ++ if (isalnum(c) || c == '_') ++ break; ++ ++ i--; ++ } ++ ++ /* Skip the symbol itself */ ++ for (; i > 0; i--) { ++ c = lgetc(curwp->w_dotp, i - 1); ++ if (!isalnum(c) && c != '_') ++ break; ++ } ++ /* Fill the symbol in cprompt[] */ ++ for (j = 0; j < sizeof(cprompt) - 1 && i < llength(curwp->w_dotp); ++ j++, i++) { ++ c = lgetc(curwp->w_dotp, i); ++ if (!isalnum(c) && c != '_') ++ break; ++ cprompt[j] = c; ++ } ++ cprompt[j] = '\0'; ++ ++ if ((bufp = eread("Run gid (with args): ", cprompt, NFILEN, ++ (j ? EFDEF : 0) | EFNEW | EFCR)) == NULL) ++ return (ABORT); ++ else if (bufp[0] == '\0') ++ return (FALSE); ++ len = snprintf(command, sizeof(command), "gid %s", cprompt); ++ if (len < 0 || len >= sizeof(command)) ++ return (FALSE); ++ ++ if ((bp = compile_mode("*gid*", command)) == NULL) ++ return (FALSE); ++ if ((wp = popbuf(bp, WNONE)) == NULL) ++ return (FALSE); ++ curbp = bp; ++ compile_win = curwp = wp; ++ return (TRUE); ++} ++ ++struct buffer * ++compile_mode(const char *name, const char *command) ++{ ++ struct buffer *bp; ++ FILE *fpipe; ++ char *buf; ++ size_t sz; ++ ssize_t len; ++ int ret, n, status; ++ char cwd[NFILEN], qcmd[NFILEN]; ++ char timestr[NTIME]; ++ time_t t; ++ ++ buf = NULL; ++ sz = 0; ++ ++ n = snprintf(qcmd, sizeof(qcmd), "%s 2>&1", command); ++ if (n < 0 || n >= sizeof(qcmd)) ++ return (NULL); ++ ++ bp = bfind(name, TRUE); ++ if (bclear(bp) != TRUE) ++ return (NULL); ++ ++ if (getbufcwd(bp->b_cwd, sizeof(bp->b_cwd)) != TRUE) ++ return (NULL); ++ addlinef(bp, "cd %s", bp->b_cwd); ++ addline(bp, qcmd); ++ addline(bp, ""); ++ ++ if (getcwd(cwd, sizeof(cwd)) == NULL) ++ panic("Can't get current directory!"); ++ if (chdir(bp->b_cwd) == -1) { ++ dobeep(); ++ ewprintf("Can't change dir to %s", bp->b_cwd); ++ return (NULL); ++ } ++ if ((fpipe = popen(qcmd, "r")) == NULL) { ++ dobeep(); ++ ewprintf("Problem opening pipe"); ++ return (NULL); ++ } ++ while ((len = getline(&buf, &sz, fpipe)) != -1) { ++ if (buf[len - 1] == '\n') ++ buf[len - 1] = '\0'; ++ addline(bp, buf); ++ } ++ free(buf); ++ if (ferror(fpipe)) ++ ewprintf("Problem reading pipe"); ++ ret = pclose(fpipe); ++ t = time(NULL); ++ strftime(timestr, sizeof(timestr), "%a %b %e %T %Y", localtime(&t)); ++ addline(bp, ""); ++ if (WIFEXITED(ret)) { ++ status = WEXITSTATUS(ret); ++ if (status == 0) ++ addlinef(bp, "Command finished at %s", timestr); ++ else ++ addlinef(bp, "Command exited abnormally with code %d " ++ "at %s", status, timestr); ++ } else ++ addlinef(bp, "Subshell killed by signal %d at %s", ++ WTERMSIG(ret), timestr); ++ ++ bp->b_dotp = bfirstlp(bp); ++ bp->b_modes[0] = name_mode("fundamental"); ++ bp->b_modes[1] = name_mode("compile"); ++ bp->b_nmodes = 1; ++ ++ compile_buffer = bp; ++ ++ if (chdir(cwd) == -1) { ++ dobeep(); ++ ewprintf("Can't change dir back to %s", cwd); ++ return (NULL); ++ } ++ return (bp); ++} ++ ++/* ARGSUSED */ ++static int ++compile_goto_error(int f, int n) ++{ ++ struct buffer *bp; ++ struct mgwin *wp; ++ char *fname, *line, *lp, *ln; ++ int lineno; ++ char *adjf, path[NFILEN]; ++ const char *errstr; ++ struct line *last; ++ ++ compile_win = curwp; ++ compile_buffer = curbp; ++ last = blastlp(compile_buffer); ++ ++ retry: ++ /* last line is compilation result */ ++ if (curwp->w_dotp == last) ++ return (FALSE); ++ ++ if ((line = linetostr(curwp->w_dotp)) == NULL) ++ return (FALSE); ++ lp = line; ++ if ((fname = strsep(&lp, ":")) == NULL || *fname == '\0') ++ goto fail; ++ if ((ln = strsep(&lp, ":")) == NULL || *ln == '\0') ++ goto fail; ++ lineno = (int)strtonum(ln, INT_MIN, INT_MAX, &errstr); ++ if (errstr) ++ goto fail; ++ ++ if (fname && fname[0] != '/') { ++ if (getbufcwd(path, sizeof(path)) == FALSE) ++ goto fail; ++ if (strlcat(path, fname, sizeof(path)) >= sizeof(path)) ++ goto fail; ++ adjf = path; ++ } else { ++ adjf = adjustname(fname, TRUE); ++ } ++ free(line); ++ ++ if (adjf == NULL) ++ return (FALSE); ++ ++ if ((bp = findbuffer(adjf)) == NULL) ++ return (FALSE); ++ if ((wp = popbuf(bp, WNONE)) == NULL) ++ return (FALSE); ++ curbp = bp; ++ curwp = wp; ++ if (bp->b_fname[0] == '\0') ++ readin(adjf); ++ gotoline(FFARG, lineno); ++ return (TRUE); ++fail: ++ free(line); ++ if (curwp->w_dotp != blastlp(curbp)) { ++ curwp->w_dotp = lforw(curwp->w_dotp); ++ curwp->w_rflag |= WFMOVE; ++ goto retry; ++ } ++ dobeep(); ++ ewprintf("No more hits"); ++ return (FALSE); ++} ++ ++/* ARGSUSED */ ++int ++next_error(int f, int n) ++{ ++ if (compile_win == NULL || compile_buffer == NULL) { ++ dobeep(); ++ ewprintf("No compilation active"); ++ return (FALSE); ++ } ++ curwp = compile_win; ++ curbp = compile_buffer; ++ if (curwp->w_dotp == blastlp(curbp)) { ++ dobeep(); ++ ewprintf("No more hits"); ++ return (FALSE); ++ } ++ curwp->w_dotp = lforw(curwp->w_dotp); ++ curwp->w_rflag |= WFMOVE; ++ ++ return (compile_goto_error(f, n)); ++} ++ ++/* ++ * Since we don't have variables (we probably should) these are command ++ * processors for changing the values of mode flags. ++ */ ++/* ARGSUSED */ ++int ++globalwdtoggle(int f, int n) ++{ ++ if (f & FFARG) ++ globalwd = n > 0; ++ else ++ globalwd = !globalwd; ++ ++ sgarbf = TRUE; ++ ++ return (TRUE); ++} diff -Naur a/main.c b/main.c ---- a/main.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/main.c 2020-02-01 21:34:42.000000000 +0000 +--- a/main.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/main.c 2020-04-20 21:26:10.000000000 +0100 @@ -16,6 +16,9 @@ #include #include @@ -267,8 +2089,8 @@ diff -Naur a/main.c b/main.c #include "kbd.h" #include "funmap.h" diff -Naur a/paragraph.c b/paragraph.c ---- a/paragraph.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/paragraph.c 2020-02-01 21:34:49.000000000 +0000 +--- a/paragraph.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/paragraph.c 2020-04-20 21:26:10.000000000 +0100 @@ -14,6 +14,9 @@ #include #include @@ -279,9 +2101,554 @@ diff -Naur a/paragraph.c b/paragraph.c #include "def.h" static int fillcol = 70; +diff -Naur a/paragraph.c.orig b/paragraph.c.orig +--- a/paragraph.c.orig 1970-01-01 01:00:00.000000000 +0100 ++++ b/paragraph.c.orig 2020-04-20 21:26:06.000000000 +0100 +@@ -0,0 +1,499 @@ ++/* $OpenBSD: paragraph.c,v 1.46 2018/11/17 09:52:34 lum Exp $ */ ++ ++/* This file is in the public domain. */ ++ ++/* ++ * Code for dealing with paragraphs and filling. Adapted from MicroEMACS 3.6 ++ * and GNU-ified by mwm@ucbvax. Several bug fixes by blarson@usc-oberon. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "def.h" ++ ++static int fillcol = 70; ++ ++#define MAXWORD 256 ++ ++static int findpara(void); ++static int do_gotoeop(int, int, int *); ++ ++/* ++ * Move to start of paragraph. ++ * Move backwards by line, checking from the 1st character forwards for the ++ * existence a non-space. If a non-space character is found, move to the ++ * preceding line. Keep doing this until a line with only spaces is found or ++ * the start of buffer. ++ */ ++/* ARGSUSED */ ++int ++gotobop(int f, int n) ++{ ++ int col, nospace; ++ ++ /* the other way... */ ++ if (n < 0) ++ return (gotoeop(f, -n)); ++ ++ while (n-- > 0) { ++ nospace = 0; ++ while (lback(curwp->w_dotp) != curbp->b_headp) { ++ curwp->w_doto = 0; ++ col = 0; ++ ++ while (col < llength(curwp->w_dotp) && ++ (isspace(lgetc(curwp->w_dotp, col)))) ++ col++; ++ ++ if (col >= llength(curwp->w_dotp)) { ++ if (nospace) ++ break; ++ } else ++ nospace = 1; ++ ++ curwp->w_dotline--; ++ curwp->w_dotp = lback(curwp->w_dotp); ++ } ++ } ++ /* force screen update */ ++ curwp->w_rflag |= WFMOVE; ++ return (TRUE); ++} ++ ++/* ++ * Move to end of paragraph. ++ * See comments for gotobop(). Same, but moving forwards. ++ */ ++/* ARGSUSED */ ++int ++gotoeop(int f, int n) ++{ ++ int i; ++ ++ return(do_gotoeop(f, n, &i)); ++} ++ ++int ++do_gotoeop(int f, int n, int *i) ++{ ++ int col, nospace, j = 0; ++ ++ /* the other way... */ ++ if (n < 0) ++ return (gotobop(f, -n)); ++ ++ /* for each one asked for */ ++ while (n-- > 0) { ++ *i = ++j; ++ nospace = 0; ++ while (lforw(curwp->w_dotp) != curbp->b_headp) { ++ col = 0; ++ curwp->w_doto = 0; ++ ++ while (col < llength(curwp->w_dotp) && ++ (isspace(lgetc(curwp->w_dotp, col)))) ++ col++; ++ ++ if (col >= llength(curwp->w_dotp)) { ++ if (nospace) ++ break; ++ } else ++ nospace = 1; ++ ++ curwp->w_dotp = lforw(curwp->w_dotp); ++ curwp->w_dotline++; ++ ++ } ++ } ++ /* do not continue after end of buffer */ ++ if (lforw(curwp->w_dotp) == curbp->b_headp) { ++ gotoeol(FFRAND, 1); ++ curwp->w_rflag |= WFMOVE; ++ return (FALSE); ++ } ++ ++ /* force screen update */ ++ curwp->w_rflag |= WFMOVE; ++ return (TRUE); ++} ++ ++/* ++ * Justify a paragraph. Fill the current paragraph according to the current ++ * fill column. ++ */ ++/* ARGSUSED */ ++int ++fillpara(int f, int n) ++{ ++ int c; /* current char during scan */ ++ int wordlen; /* length of current word */ ++ int clength; /* position on line during fill */ ++ int i; /* index during word copy */ ++ int eopflag; /* Are we at the End-Of-Paragraph? */ ++ int firstflag; /* first word? (needs no space) */ ++ int newlength; /* tentative new line length */ ++ int eolflag; /* was at end of line */ ++ int retval; /* return value */ ++ struct line *eopline; /* pointer to line just past EOP */ ++ char wbuf[MAXWORD]; /* buffer for current word */ ++ ++ if (n == 0) ++ return (TRUE); ++ ++ undo_boundary_enable(FFRAND, 0); ++ ++ /* record the pointer to the line just past the EOP */ ++ (void)gotoeop(FFRAND, 1); ++ if (curwp->w_doto != 0) { ++ /* paragraph ends at end of buffer */ ++ (void)lnewline(); ++ eopline = lforw(curwp->w_dotp); ++ } else ++ eopline = curwp->w_dotp; ++ ++ /* and back top the beginning of the paragraph */ ++ (void)gotobop(FFRAND, 1); ++ ++ /* initialize various info */ ++ while (inword() == 0 && forwchar(FFRAND, 1)); ++ ++ clength = curwp->w_doto; ++ wordlen = 0; ++ ++ /* scan through lines, filling words */ ++ firstflag = TRUE; ++ eopflag = FALSE; ++ while (!eopflag) { ++ ++ /* get the next character in the paragraph */ ++ if ((eolflag = (curwp->w_doto == llength(curwp->w_dotp)))) { ++ c = ' '; ++ if (lforw(curwp->w_dotp) == eopline) ++ eopflag = TRUE; ++ } else ++ c = lgetc(curwp->w_dotp, curwp->w_doto); ++ ++ /* and then delete it */ ++ if (ldelete((RSIZE) 1, KNONE) == FALSE && !eopflag) { ++ retval = FALSE; ++ goto cleanup; ++ } ++ ++ /* if not a separator, just add it in */ ++ if (c != ' ' && c != '\t') { ++ if (wordlen < MAXWORD - 1) ++ wbuf[wordlen++] = c; ++ else { ++ /* ++ * You lose chars beyond MAXWORD if the word ++ * is too long. I'm too lazy to fix it now; it ++ * just silently truncated the word before, ++ * so I get to feel smug. ++ */ ++ ewprintf("Word too long!"); ++ } ++ } else if (wordlen) { ++ ++ /* calculate tentative new length with word added */ ++ newlength = clength + 1 + wordlen; ++ ++ /* ++ * if at end of line or at doublespace and previous ++ * character was one of '.','?','!' doublespace here. ++ * behave the same way if a ')' is preceded by a ++ * [.?!] and followed by a doublespace. ++ */ ++ if (dblspace && (!eopflag && ((eolflag || ++ curwp->w_doto == llength(curwp->w_dotp) || ++ (c = lgetc(curwp->w_dotp, curwp->w_doto)) == ' ' ++ || c == '\t') && (ISEOSP(wbuf[wordlen - 1]) || ++ (wbuf[wordlen - 1] == ')' && wordlen >= 2 && ++ ISEOSP(wbuf[wordlen - 2])))) && ++ wordlen < MAXWORD - 1)) ++ wbuf[wordlen++] = ' '; ++ ++ /* at a word break with a word waiting */ ++ if (newlength <= fillcol) { ++ /* add word to current line */ ++ if (!firstflag) { ++ (void)linsert(1, ' '); ++ ++clength; ++ } ++ firstflag = FALSE; ++ } else { ++ if (curwp->w_doto > 0 && ++ lgetc(curwp->w_dotp, curwp->w_doto - 1) == ' ') { ++ curwp->w_doto -= 1; ++ (void)ldelete((RSIZE) 1, KNONE); ++ } ++ /* start a new line */ ++ (void)lnewline(); ++ clength = 0; ++ } ++ ++ /* and add the word in in either case */ ++ for (i = 0; i < wordlen; i++) { ++ (void)linsert(1, wbuf[i]); ++ ++clength; ++ } ++ wordlen = 0; ++ } ++ } ++ /* and add a last newline for the end of our new paragraph */ ++ (void)lnewline(); ++ ++ /* ++ * We really should wind up where we started, (which is hard to keep ++ * track of) but I think the end of the last line is better than the ++ * beginning of the blank line. ++ */ ++ (void)backchar(FFRAND, 1); ++ retval = TRUE; ++cleanup: ++ undo_boundary_enable(FFRAND, 1); ++ return (retval); ++} ++ ++/* ++ * Delete n paragraphs. Move to the beginning of the current paragraph, or if ++ * the cursor is on an empty line, move down the buffer to the first line with ++ * non-space characters. Then mark n paragraphs and delete. ++ */ ++/* ARGSUSED */ ++int ++killpara(int f, int n) ++{ ++ int lineno, status; ++ ++ if (n == 0) ++ return (TRUE); ++ ++ if (findpara() == FALSE) ++ return (TRUE); ++ ++ /* go to the beginning of the paragraph */ ++ (void)gotobop(FFRAND, 1); ++ ++ /* take a note of the line number for after deletions and set mark */ ++ lineno = curwp->w_dotline; ++ curwp->w_markp = curwp->w_dotp; ++ curwp->w_marko = curwp->w_doto; ++ ++ (void)gotoeop(FFRAND, n); ++ ++ if ((status = killregion(FFRAND, 1)) != TRUE) ++ return (status); ++ ++ curwp->w_dotline = lineno; ++ return (TRUE); ++} ++ ++/* ++ * Mark n paragraphs starting with the n'th and working our way backwards. ++ * This leaves the cursor at the beginning of the paragraph where markpara() ++ * was invoked. ++ */ ++/* ARGSUSED */ ++int ++markpara(int f, int n) ++{ ++ int i = 0; ++ ++ if (n == 0) ++ return (TRUE); ++ ++ clearmark(FFARG, 0); ++ ++ if (findpara() == FALSE) ++ return (TRUE); ++ ++ (void)do_gotoeop(FFRAND, n, &i); ++ ++ /* set the mark here */ ++ curwp->w_markp = curwp->w_dotp; ++ curwp->w_marko = curwp->w_doto; ++ ++ (void)gotobop(FFRAND, i); ++ ++ return (TRUE); ++} ++ ++/* ++ * Transpose the current paragraph with the following paragraph. If invoked ++ * multiple times, transpose to the n'th paragraph. If invoked between ++ * paragraphs, move to the previous paragraph, then continue. ++ */ ++/* ARGSUSED */ ++int ++transposepara(int f, int n) ++{ ++ int i = 0, status; ++ char flg; ++ ++ if (n == 0) ++ return (TRUE); ++ ++ undo_boundary_enable(FFRAND, 0); ++ ++ /* find a paragraph, set mark, then goto the end */ ++ gotobop(FFRAND, 1); ++ curwp->w_markp = curwp->w_dotp; ++ curwp->w_marko = curwp->w_doto; ++ (void)gotoeop(FFRAND, 1); ++ ++ /* take a note of buffer flags - we may need them */ ++ flg = curbp->b_flag; ++ ++ /* clean out kill buffer then kill region */ ++ kdelete(); ++ if ((status = killregion(FFRAND, 1)) != TRUE) ++ return (status); ++ ++ /* ++ * Now step through n paragraphs. If we reach the end of buffer, ++ * stop and paste the killed region back, then display a message. ++ */ ++ if (do_gotoeop(FFRAND, n, &i) == FALSE) { ++ ewprintf("Cannot transpose paragraph, end of buffer reached."); ++ (void)gotobop(FFRAND, i); ++ (void)yank(FFRAND, 1); ++ curbp->b_flag = flg; ++ return (FALSE); ++ } ++ (void)yank(FFRAND, 1); ++ ++ undo_boundary_enable(FFRAND, 1); ++ ++ return (TRUE); ++} ++ ++/* ++ * Go down the buffer until we find a line with non-space characters. ++ */ ++int ++findpara(void) ++{ ++ int col, nospace = 0; ++ ++ /* we move forward to find a para to mark */ ++ do { ++ curwp->w_doto = 0; ++ col = 0; ++ ++ /* check if we are on a blank line */ ++ while (col < llength(curwp->w_dotp)) { ++ if (!isspace(lgetc(curwp->w_dotp, col))) ++ nospace = 1; ++ col++; ++ } ++ if (nospace) ++ break; ++ ++ if (lforw(curwp->w_dotp) == curbp->b_headp) ++ return (FALSE); ++ ++ curwp->w_dotp = lforw(curwp->w_dotp); ++ curwp->w_dotline++; ++ } while (1); ++ ++ return (TRUE); ++} ++ ++/* ++ * Insert char with work wrap. Check to see if we're past fillcol, and if so, ++ * justify this line. As a last step, justify the line. ++ */ ++/* ARGSUSED */ ++int ++fillword(int f, int n) ++{ ++ char c; ++ int col, i, nce; ++ ++ for (i = col = 0; col <= fillcol; ++i, ++col) { ++ if (i == curwp->w_doto) ++ return selfinsert(f, n); ++ c = lgetc(curwp->w_dotp, i); ++ if (c == '\t' ++#ifdef NOTAB ++ && !(curbp->b_flag & BFNOTAB) ++#endif ++ ) ++ col |= 0x07; ++ else if (ISCTRL(c) != FALSE) ++ ++col; ++ } ++ if (curwp->w_doto != llength(curwp->w_dotp)) { ++ (void)selfinsert(f, n); ++ nce = llength(curwp->w_dotp) - curwp->w_doto; ++ } else ++ nce = 0; ++ curwp->w_doto = i; ++ ++ if ((c = lgetc(curwp->w_dotp, curwp->w_doto)) != ' ' && c != '\t') ++ do { ++ (void)backchar(FFRAND, 1); ++ } while ((c = lgetc(curwp->w_dotp, curwp->w_doto)) != ' ' && ++ c != '\t' && curwp->w_doto > 0); ++ ++ if (curwp->w_doto == 0) ++ do { ++ (void)forwchar(FFRAND, 1); ++ } while ((c = lgetc(curwp->w_dotp, curwp->w_doto)) != ' ' && ++ c != '\t' && curwp->w_doto < llength(curwp->w_dotp)); ++ ++ (void)delwhite(FFRAND, 1); ++ (void)lnewline(); ++ i = llength(curwp->w_dotp) - nce; ++ curwp->w_doto = i > 0 ? i : 0; ++ curwp->w_rflag |= WFMOVE; ++ if (nce == 0 && curwp->w_doto != 0) ++ return (fillword(f, n)); ++ return (TRUE); ++} ++ ++/* ++ * Set fill column to n for justify. ++ */ ++int ++setfillcol(int f, int n) ++{ ++ char buf[32], *rep; ++ const char *es; ++ int nfill; ++ ++ if ((f & FFARG) != 0) { ++ fillcol = n; ++ } else { ++ if ((rep = eread("Set fill-column: ", buf, sizeof(buf), ++ EFNEW | EFCR)) == NULL) ++ return (ABORT); ++ else if (rep[0] == '\0') ++ return (FALSE); ++ nfill = strtonum(rep, 0, INT_MAX, &es); ++ if (es != NULL) { ++ dobeep(); ++ ewprintf("Invalid fill column: %s", rep); ++ return (FALSE); ++ } ++ fillcol = nfill; ++ ewprintf("Fill column set to %d", fillcol); ++ } ++ return (TRUE); ++} ++ ++int ++sentencespace(int f, int n) ++{ ++ if (f & FFARG) ++ dblspace = n > 1; ++ else ++ dblspace = !dblspace; ++ ++ return (TRUE); ++} +diff -Naur a/reallocarray.c b/reallocarray.c +--- a/reallocarray.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/reallocarray.c 2020-04-20 21:26:10.000000000 +0100 +@@ -0,0 +1,38 @@ ++/* $OpenBSD: reallocarray.c,v 1.3 2015/09/13 08:31:47 guenther Exp $ */ ++/* ++ * Copyright (c) 2008 Otto Moerbeek ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#include ++#include ++#include ++#include ++ ++/* ++ * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX ++ * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW ++ */ ++#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) ++ ++void * ++reallocarray(void *optr, size_t nmemb, size_t size) ++{ ++ if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && ++ nmemb > 0 && SIZE_MAX / nmemb < size) { ++ errno = ENOMEM; ++ return NULL; ++ } ++ return realloc(optr, size * nmemb); ++} diff -Naur a/strtonum.c b/strtonum.c --- a/strtonum.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/strtonum.c 2020-02-01 21:55:24.000000000 +0000 ++++ b/strtonum.c 2020-04-20 21:26:10.000000000 +0100 @@ -0,0 +1,65 @@ +/* $OpenBSD: strtonum.c,v 1.7 2013/04/17 18:40:58 tedu Exp $ */ + @@ -349,8 +2716,8 @@ diff -Naur a/strtonum.c b/strtonum.c + return (ll); +} diff -Naur a/tags.c b/tags.c ---- a/tags.c 2020-02-01 21:23:32.000000000 +0000 -+++ b/tags.c 2020-02-01 21:27:56.000000000 +0000 +--- a/tags.c 2020-04-20 21:09:41.000000000 +0100 ++++ b/tags.c 2020-04-20 21:26:10.000000000 +0100 @@ -8,7 +8,11 @@ #include @@ -392,7 +2759,7 @@ diff -Naur a/tags.c b/tags.c struct tagpos { diff -Naur a/tree.h b/tree.h --- a/tree.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/tree.h 2020-02-01 21:25:11.000000000 +0000 ++++ b/tree.h 2020-04-20 21:26:10.000000000 +0100 @@ -0,0 +1,1006 @@ +/* $OpenBSD: tree.h,v 1.29 2017/07/30 19:27:20 deraadt Exp $ */ +/* diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index f97e34aff8d..e019baaf727 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchurl, pkgconfig, ncurses, buildPackages, libbsd }: +{ stdenv, fetchFromGitHub, pkgconfig, ncurses, buildPackages, libbsd }: stdenv.mkDerivation rec { pname = "mg"; - version = "20180927"; + version = "20200215"; - src = fetchurl { - url = "https://github.com/hboetes/mg/archive/${version}.tar.gz"; - sha256 = "fbb09729ea00fe42dcdbc96ac7fc1d2b89eac651dec49e4e7af52fad4f5788f6"; + src = fetchFromGitHub { + owner = "hboetes"; + repo = "mg"; + rev = "20200215"; + sha256 = "1rss7d43hbq43n63gxfvx4b2vh2km58cchwzdf2ssqhaz3qj40m6"; }; enableParallelBuilding = true; From fcedd9f78e8072b629a5ff1da4f538f7e655f091 Mon Sep 17 00:00:00 2001 From: "D. Guthrie" Date: Tue, 21 Apr 2020 19:04:51 +0100 Subject: [PATCH 010/158] Fix the patch: when converting it to the new version (20200215), forgot to remove temporary files --- .../editors/mg/darwin_no_libbsd.patch | 2379 +---------------- 1 file changed, 18 insertions(+), 2361 deletions(-) diff --git a/pkgs/applications/editors/mg/darwin_no_libbsd.patch b/pkgs/applications/editors/mg/darwin_no_libbsd.patch index 2484c03255b..1863f2952b2 100644 --- a/pkgs/applications/editors/mg/darwin_no_libbsd.patch +++ b/pkgs/applications/editors/mg/darwin_no_libbsd.patch @@ -1,6 +1,6 @@ diff -Naur a/GNUmakefile b/GNUmakefile --- a/GNUmakefile 2020-04-20 21:09:41.000000000 +0100 -+++ b/GNUmakefile 2020-04-20 21:31:19.000000000 +0100 ++++ b/GNUmakefile 2020-04-21 19:01:59.000000000 +0100 @@ -18,7 +18,7 @@ STRIP= /usr/bin/strip @@ -10,7 +10,7 @@ diff -Naur a/GNUmakefile b/GNUmakefile BSD_CPPFLAGS:= BSD_LIBS:= -lutil else -@@ -38,24 +38,21 @@ +@@ -38,10 +38,6 @@ $(error You probably need to install "libncurses5-dev" or "libncurses6-devel" or something like that.) endif @@ -21,11 +21,7 @@ diff -Naur a/GNUmakefile b/GNUmakefile CC?= gcc CFLAGS?= -O2 -pipe CFLAGS+= -g -Wall - CPPFLAGS= -DREGEX - CPPFLAGS+= -D_GNU_SOURCE --CPPFLAGS+= $(BSD_CPPFLAGS) -+CPPFLAGS+= $(BSD_CPPFLAGS) -D__dead=__dead2 - LIBS= $(CURSES_LIBS) $(BSD_LIBS) +@@ -52,10 +48,11 @@ OBJS= autoexec.o basic.o bell.o buffer.o cinfo.o dir.o display.o \ @@ -41,109 +37,9 @@ diff -Naur a/GNUmakefile b/GNUmakefile OBJS+= cmode.o cscope.o dired.o grep.o tags.o -diff -Naur a/GNUmakefile~ b/GNUmakefile~ ---- a/GNUmakefile~ 1970-01-01 01:00:00.000000000 +0100 -+++ b/GNUmakefile~ 2020-04-20 21:27:39.000000000 +0100 -@@ -0,0 +1,96 @@ -+# Makefile for mg -+ -+# This Makefile has been written by Han Boetes -+# and is released in Public Domain. -+ -+# *sigh* Those debian folks are really tidy on their licenses. -+ -+name= mg -+ -+prefix= /usr/local -+bindir= $(prefix)/bin -+libdir= $(prefix)/lib -+includedir= $(prefix)/include -+mandir= $(prefix)/man -+ -+PKG_CONFIG= /usr/bin/pkg-config --silence-errors -+INSTALL= /usr/bin/install -+STRIP= /usr/bin/strip -+ -+UNAME:= $(shell uname) -+ifeq ($(UNAME),FreeBSD) -+ BSD_CPPFLAGS:= -+ BSD_LIBS:= -lutil -+else -+ BSD_CPPFLAGS:= $(shell $(PKG_CONFIG) --cflags libbsd-overlay) -+ BSD_LIBS:= $(shell $(PKG_CONFIG) --libs libbsd-overlay) -+endif -+ -+# Test is some required libraries are installed. Rather bummer that -+# they are also required to run make clean or uninstall. Oh well... Who -+# does that? -+ifeq ($(BSD_LIBS),) -+ $(error You probably need to install "libbsd-dev" or "libbsd-devel" or something like that.) -+endif -+ -+CURSES_LIBS:= $(shell $(PKG_CONFIG) --libs ncurses) -+ifeq ($(CURSES_LIBS),) -+ $(error You probably need to install "libncurses5-dev" or "libncurses6-devel" or something like that.) -+endif -+ -+ifdef STATIC -+ LDFLAGS=-static -static-libgcc -+endif -+ -+CC?= gcc -+CFLAGS?= -O2 -pipe -+CFLAGS+= -g -Wall -+CPPFLAGS= -DREGEX -+CPPFLAGS+= -D_GNU_SOURCE -+CPPFLAGS+= $(BSD_CPPFLAGS) -+LIBS= $(CURSES_LIBS) $(BSD_LIBS) -+ -+ -+OBJS= autoexec.o basic.o bell.o buffer.o cinfo.o dir.o display.o \ -+ echo.o extend.o file.o fileio.o funmap.o interpreter.o help.o \ -+ kbd.o keymap.o line.o macro.o main.o match.o modes.o paragraph.o \ -+ re_search.o region.o search.o spawn.o tty.o ttyio.o ttykbd.o \ -+ undo.o util.o version.o window.o word.o yank.o -+OBJS+= cmode.o cscope.o dired.o grep.o tags.o -+ -+ -+# Portability stuff. -+CFLAGS+= -Wno-strict-aliasing -Wno-deprecated-declarations -+EXE_EXT= -+ -+.c.o: -+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -+ -+all: $(name) -+ -+$(name): $(OBJS) -+ $(CC) $(LDFLAGS) $(OBJS) -o $(name) $(LIBS) -+ -+distclean: clean -+ -rm -f *.core core.* -+ -+clean: -+ -rm -f *.o $(name)$(EXE_EXT) -+ -+ -+install: $(name) $(name).1 -+ $(INSTALL) -d $(DESTDIR)$(bindir) -+ $(INSTALL) -d $(DESTDIR)$(mandir)/man1 -+ $(INSTALL) -m 755 $(name) $(DESTDIR)$(bindir)/$(name) -+ $(INSTALL) -m 444 $(name).1 $(DESTDIR)$(mandir)/man1/$(name).1 -+ -+install-strip: install -+ $(STRIP) $(DESTDIR)$(bindir)/$(name) -+ -+uninstall: -+ rm -f \ -+ $(DESTDIR)$(bindir)/$(name)$(EXE_EXT) \ -+ $(DESTDIR)$(mandir)/man1/$(name).1 -+ -+rebuild: -+ make clean all diff -Naur a/_null.h b/_null.h --- a/_null.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/_null.h 2020-04-20 21:26:10.000000000 +0100 ++++ b/_null.h 2020-04-21 19:01:59.000000000 +0100 @@ -0,0 +1,18 @@ +/* $OpenBSD: _null.h,v 1.2 2016/09/09 22:07:58 millert Exp $ */ + @@ -165,7 +61,7 @@ diff -Naur a/_null.h b/_null.h +#endif diff -Naur a/apple.h b/apple.h --- a/apple.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/apple.h 2020-04-20 21:26:10.000000000 +0100 ++++ b/apple.h 2020-04-21 19:01:59.000000000 +0100 @@ -0,0 +1,27 @@ +/* + * Mac OS X-specific support. @@ -196,7 +92,7 @@ diff -Naur a/apple.h b/apple.h +extern int futimens(int, const struct timespec[2]); diff -Naur a/autoexec.c b/autoexec.c --- a/autoexec.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/autoexec.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/autoexec.c 2020-04-21 19:01:59.000000000 +0100 @@ -9,6 +9,9 @@ #include #include @@ -209,7 +105,7 @@ diff -Naur a/autoexec.c b/autoexec.c diff -Naur a/basic.c b/basic.c --- a/basic.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/basic.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/basic.c 2020-04-21 19:01:59.000000000 +0100 @@ -19,6 +19,9 @@ #include #include @@ -220,614 +116,9 @@ diff -Naur a/basic.c b/basic.c #include "def.h" #define percint(n1, n2) ((n1 * (int) n2) * 0.1) -diff -Naur a/basic.c.orig b/basic.c.orig ---- a/basic.c.orig 1970-01-01 01:00:00.000000000 +0100 -+++ b/basic.c.orig 2020-04-20 21:26:06.000000000 +0100 -@@ -0,0 +1,601 @@ -+/* $OpenBSD: basic.c,v 1.49 2019/06/17 11:39:26 lum Exp $ */ -+ -+/* This file is in the public domain */ -+ -+/* -+ * Basic cursor motion commands. -+ * -+ * The routines in this file are the basic -+ * command functions for moving the cursor around on -+ * the screen, setting mark, and swapping dot with -+ * mark. Only moves between lines, which might make the -+ * current buffer framing bad, are hard. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "def.h" -+ -+#define percint(n1, n2) ((n1 * (int) n2) * 0.1) -+ -+/* -+ * Go to beginning of line. -+ */ -+/* ARGSUSED */ -+int -+gotobol(int f, int n) -+{ -+ if (n == 0) -+ return (TRUE); -+ -+ curwp->w_doto = 0; -+ return (TRUE); -+} -+ -+/* -+ * Move cursor backwards. Do the -+ * right thing if the count is less than -+ * 0. Error if you try to move back from -+ * the beginning of the buffer. -+ */ -+/* ARGSUSED */ -+int -+backchar(int f, int n) -+{ -+ struct line *lp; -+ -+ if (n < 0) -+ return (forwchar(f, -n)); -+ while (n--) { -+ if (curwp->w_doto == 0) { -+ if ((lp = lback(curwp->w_dotp)) == curbp->b_headp) { -+ if (!(f & FFRAND)) { -+ dobeep(); -+ ewprintf("Beginning of buffer"); -+ } -+ return (FALSE); -+ } -+ curwp->w_dotp = lp; -+ curwp->w_doto = llength(lp); -+ curwp->w_rflag |= WFMOVE; -+ curwp->w_dotline--; -+ } else -+ curwp->w_doto--; -+ } -+ return (TRUE); -+} -+ -+/* -+ * Go to end of line. -+ */ -+/* ARGSUSED */ -+int -+gotoeol(int f, int n) -+{ -+ if (n == 0) -+ return (TRUE); -+ -+ curwp->w_doto = llength(curwp->w_dotp); -+ return (TRUE); -+} -+ -+/* -+ * Move cursor forwards. Do the -+ * right thing if the count is less than -+ * 0. Error if you try to move forward -+ * from the end of the buffer. -+ */ -+/* ARGSUSED */ -+int -+forwchar(int f, int n) -+{ -+ if (n < 0) -+ return (backchar(f, -n)); -+ while (n--) { -+ if (curwp->w_doto == llength(curwp->w_dotp)) { -+ curwp->w_dotp = lforw(curwp->w_dotp); -+ if (curwp->w_dotp == curbp->b_headp) { -+ curwp->w_dotp = lback(curwp->w_dotp); -+ if (!(f & FFRAND)) { -+ dobeep(); -+ ewprintf("End of buffer"); -+ } -+ return (FALSE); -+ } -+ curwp->w_doto = 0; -+ curwp->w_dotline++; -+ curwp->w_rflag |= WFMOVE; -+ } else -+ curwp->w_doto++; -+ } -+ return (TRUE); -+} -+ -+/* -+ * Go to the beginning of the buffer. Setting WFFULL is conservative, -+ * but almost always the case. A universal argument of higher than 9 -+ * puts the cursor back to the end of buffer. -+ */ -+int -+gotobob(int f, int n) -+{ -+ if (!curwp->w_markp) -+ (void) setmark(f, n); -+ curwp->w_dotp = bfirstlp(curbp); -+ curwp->w_doto = 0; -+ curwp->w_rflag |= WFFULL; -+ curwp->w_dotline = 1; -+ if (f & FFOTHARG && n > 0) { -+ if (n > 9) -+ gotoeob(0, 0); -+ else -+ forwline(f, percint(curwp->w_bufp->b_lines, n) - 1); -+ } -+ return (TRUE); -+} -+ -+/* -+ * Go to the end of the buffer. Leave dot 3 lines from the bottom of the -+ * window if buffer length is longer than window length; same as emacs. -+ * Setting WFFULL is conservative, but almost always the case. A universal -+ * argument of higher than 9 puts the cursor back to the start of buffer. -+ */ -+int -+gotoeob(int f, int n) -+{ -+ int ln; -+ struct line *lp; -+ -+ if (!curwp->w_markp) -+ (void) setmark(f, n); -+ curwp->w_dotp = blastlp(curbp); -+ curwp->w_doto = llength(curwp->w_dotp); -+ curwp->w_dotline = curwp->w_bufp->b_lines; -+ -+ lp = curwp->w_dotp; -+ ln = curwp->w_ntrows - 3; -+ -+ if (ln < curwp->w_bufp->b_lines && ln >= 3) { -+ while (ln--) -+ curwp->w_dotp = lback(curwp->w_dotp); -+ -+ curwp->w_linep = curwp->w_dotp; -+ curwp->w_dotp = lp; -+ } -+ if (f & FFOTHARG && n > 0) { -+ if (n > 9) -+ gotobob(0, 0); -+ else -+ backline(f, percint(curwp->w_bufp->b_lines, n)); -+ } -+ -+ curwp->w_rflag |= WFFULL; -+ return (TRUE); -+} -+ -+/* -+ * Move forward by full lines. -+ * If the number of lines to move is less -+ * than zero, call the backward line function to -+ * actually do it. The last command controls how -+ * the goal column is set. -+ */ -+/* ARGSUSED */ -+int -+forwline(int f, int n) -+{ -+ struct line *dlp; -+ -+ if (n < 0) -+ return (backline(f | FFRAND, -n)); -+ if ((dlp = curwp->w_dotp) == curbp->b_headp) { -+ if (!(f & FFRAND)) { -+ dobeep(); -+ ewprintf("End of buffer"); -+ } -+ return(TRUE); -+ } -+ if ((lastflag & CFCPCN) == 0) /* Fix goal. */ -+ setgoal(); -+ thisflag |= CFCPCN; -+ if (n == 0) -+ return (TRUE); -+ while (n--) { -+ dlp = lforw(dlp); -+ if (dlp == curbp->b_headp) { -+ curwp->w_dotp = lback(dlp); -+ curwp->w_doto = llength(curwp->w_dotp); -+ curwp->w_rflag |= WFMOVE; -+ if (!(f & FFRAND)) { -+ dobeep(); -+ ewprintf("End of buffer"); -+ } -+ return (TRUE); -+ } -+ curwp->w_dotline++; -+ } -+ curwp->w_rflag |= WFMOVE; -+ curwp->w_dotp = dlp; -+ curwp->w_doto = getgoal(dlp); -+ -+ return (TRUE); -+} -+ -+/* -+ * This function is like "forwline", but -+ * goes backwards. The scheme is exactly the same. -+ * Check for arguments that are less than zero and -+ * call your alternate. Figure out the new line and -+ * call "movedot" to perform the motion. -+ */ -+/* ARGSUSED */ -+int -+backline(int f, int n) -+{ -+ struct line *dlp; -+ -+ if (n < 0) -+ return (forwline(f | FFRAND, -n)); -+ if ((lastflag & CFCPCN) == 0) /* Fix goal. */ -+ setgoal(); -+ thisflag |= CFCPCN; -+ dlp = curwp->w_dotp; -+ if (lback(dlp) == curbp->b_headp) { -+ if (!(f & FFRAND)) { -+ dobeep(); -+ ewprintf("Beginning of buffer"); -+ } -+ return(TRUE); -+ } -+ while (n-- && lback(dlp) != curbp->b_headp) { -+ dlp = lback(dlp); -+ curwp->w_dotline--; -+ } -+ if (n > 0 && !(f & FFRAND)) { -+ dobeep(); -+ ewprintf("Beginning of buffer"); -+ } -+ curwp->w_dotp = dlp; -+ curwp->w_doto = getgoal(dlp); -+ curwp->w_rflag |= WFMOVE; -+ return (TRUE); -+} -+ -+/* -+ * Set the current goal column, which is saved in the external variable -+ * "curgoal", to the current cursor column. The column is never off -+ * the edge of the screen; it's more like display then show position. -+ */ -+void -+setgoal(void) -+{ -+ curgoal = getcolpos(curwp); /* Get the position. */ -+ /* we can now display past end of display, don't chop! */ -+} -+ -+/* -+ * This routine looks at a line (pointed -+ * to by the LINE pointer "dlp") and the current -+ * vertical motion goal column (set by the "setgoal" -+ * routine above) and returns the best offset to use -+ * when a vertical motion is made into the line. -+ */ -+int -+getgoal(struct line *dlp) -+{ -+ int c, i, col = 0; -+ char tmp[5]; -+ -+ -+ for (i = 0; i < llength(dlp); i++) { -+ c = lgetc(dlp, i); -+ if (c == '\t' -+#ifdef NOTAB -+ && !(curbp->b_flag & BFNOTAB) -+#endif -+ ) { -+ col |= 0x07; -+ col++; -+ } else if (ISCTRL(c) != FALSE) { -+ col += 2; -+ } else if (isprint(c)) -+ col++; -+ else { -+ col += snprintf(tmp, sizeof(tmp), "\\%o", c); -+ } -+ if (col > curgoal) -+ break; -+ } -+ return (i); -+} -+ -+/* -+ * Scroll forward by a specified number -+ * of lines, or by a full page if no argument. -+ * The "2" is the window overlap (this is the default -+ * value from ITS EMACS). Because the top line in -+ * the window is zapped, we have to do a hard -+ * update and get it back. -+ */ -+/* ARGSUSED */ -+int -+forwpage(int f, int n) -+{ -+ struct line *lp; -+ -+ if (!(f & FFARG)) { -+ n = curwp->w_ntrows - 2; /* Default scroll. */ -+ if (n <= 0) /* Forget the overlap */ -+ n = 1; /* if tiny window. */ -+ } else if (n < 0) -+ return (backpage(f | FFRAND, -n)); -+ -+ lp = curwp->w_linep; -+ while (n--) -+ if ((lp = lforw(lp)) == curbp->b_headp) { -+ dobeep(); -+ ewprintf("End of buffer"); -+ return(TRUE); -+ } -+ -+ curwp->w_linep = lp; -+ curwp->w_rflag |= WFFULL; -+ -+ /* if in current window, don't move dot */ -+ for (n = curwp->w_ntrows; n-- && lp != curbp->b_headp; lp = lforw(lp)) -+ if (lp == curwp->w_dotp) -+ return (TRUE); -+ -+ /* Advance the dot the slow way, for line nos */ -+ while (curwp->w_dotp != curwp->w_linep) { -+ curwp->w_dotp = lforw(curwp->w_dotp); -+ curwp->w_dotline++; -+ } -+ curwp->w_doto = 0; -+ return (TRUE); -+} -+ -+/* -+ * This command is like "forwpage", -+ * but it goes backwards. The "2", like above, -+ * is the overlap between the two windows. The -+ * value is from the ITS EMACS manual. The -+ * hard update is done because the top line in -+ * the window is zapped. -+ */ -+/* ARGSUSED */ -+int -+backpage(int f, int n) -+{ -+ struct line *lp, *lp2; -+ -+ if (!(f & FFARG)) { -+ n = curwp->w_ntrows - 2; /* Default scroll. */ -+ if (n <= 0) /* Don't blow up if the */ -+ return (backline(f, 1));/* window is tiny. */ -+ } else if (n < 0) -+ return (forwpage(f | FFRAND, -n)); -+ -+ lp = lp2 = curwp->w_linep; -+ -+ while (n-- && lback(lp) != curbp->b_headp) { -+ lp = lback(lp); -+ } -+ if (lp == curwp->w_linep) { -+ dobeep(); -+ ewprintf("Beginning of buffer"); -+ } -+ curwp->w_linep = lp; -+ curwp->w_rflag |= WFFULL; -+ -+ /* if in current window, don't move dot */ -+ for (n = curwp->w_ntrows; n-- && lp != curbp->b_headp; lp = lforw(lp)) -+ if (lp == curwp->w_dotp) -+ return (TRUE); -+ -+ lp2 = lforw(lp2); -+ -+ /* Move the dot the slow way, for line nos */ -+ while (curwp->w_dotp != lp2) { -+ if (curwp->w_dotline <= curwp->w_ntrows) -+ goto out; -+ curwp->w_dotp = lback(curwp->w_dotp); -+ curwp->w_dotline--; -+ } -+out: -+ curwp->w_doto = 0; -+ return (TRUE); -+} -+ -+/* -+ * These functions are provided for compatibility with Gosling's Emacs. They -+ * are used to scroll the display up (or down) one line at a time. -+ */ -+int -+forw1page(int f, int n) -+{ -+ if (!(f & FFARG)) { -+ n = 1; -+ f = FFUNIV; -+ } -+ forwpage(f | FFRAND, n); -+ return (TRUE); -+} -+ -+int -+back1page(int f, int n) -+{ -+ if (!(f & FFARG)) { -+ n = 1; -+ f = FFUNIV; -+ } -+ backpage(f | FFRAND, n); -+ return (TRUE); -+} -+ -+/* -+ * Page the other window. Check to make sure it exists, then -+ * nextwind, forwpage and restore window pointers. -+ */ -+int -+pagenext(int f, int n) -+{ -+ struct mgwin *wp; -+ -+ if (wheadp->w_wndp == NULL) { -+ dobeep(); -+ ewprintf("No other window"); -+ return (FALSE); -+ } -+ wp = curwp; -+ (void) nextwind(f, n); -+ (void) forwpage(f, n); -+ curwp = wp; -+ curbp = wp->w_bufp; -+ return (TRUE); -+} -+ -+/* -+ * Internal set mark routine, used by other functions (daveb). -+ */ -+void -+isetmark(void) -+{ -+ curwp->w_markp = curwp->w_dotp; -+ curwp->w_marko = curwp->w_doto; -+ curwp->w_markline = curwp->w_dotline; -+} -+ -+/* -+ * Set the mark in the current window -+ * to the value of dot. A message is written to -+ * the echo line. (ewprintf knows about macros) -+ */ -+/* ARGSUSED */ -+int -+setmark(int f, int n) -+{ -+ isetmark(); -+ ewprintf("Mark set"); -+ return (TRUE); -+} -+ -+/* Clear the mark, if set. */ -+/* ARGSUSED */ -+int -+clearmark(int f, int n) -+{ -+ if (!curwp->w_markp) -+ return (FALSE); -+ -+ curwp->w_markp = NULL; -+ curwp->w_marko = 0; -+ curwp->w_markline = 0; -+ -+ return (TRUE); -+} -+ -+/* -+ * Swap the values of "dot" and "mark" in -+ * the current window. This is pretty easy, because -+ * all of the hard work gets done by the standard routine -+ * that moves the mark about. The only possible -+ * error is "no mark". -+ */ -+/* ARGSUSED */ -+int -+swapmark(int f, int n) -+{ -+ struct line *odotp; -+ int odoto, odotline; -+ -+ if (curwp->w_markp == NULL) { -+ dobeep(); -+ ewprintf("No mark in this window"); -+ return (FALSE); -+ } -+ odotp = curwp->w_dotp; -+ odoto = curwp->w_doto; -+ odotline = curwp->w_dotline; -+ curwp->w_dotp = curwp->w_markp; -+ curwp->w_doto = curwp->w_marko; -+ curwp->w_dotline = curwp->w_markline; -+ curwp->w_markp = odotp; -+ curwp->w_marko = odoto; -+ curwp->w_markline = odotline; -+ curwp->w_rflag |= WFMOVE; -+ return (TRUE); -+} -+ -+/* -+ * Go to a specific line, mostly for -+ * looking up errors in C programs, which give the -+ * error a line number. If an argument is present, then -+ * it is the line number, else prompt for a line number -+ * to use. -+ */ -+/* ARGSUSED */ -+int -+gotoline(int f, int n) -+{ -+ char buf[32], *bufp; -+ const char *err; -+ -+ if (!(f & FFARG)) { -+ if ((bufp = eread("Goto line: ", buf, sizeof(buf), -+ EFNUL | EFNEW | EFCR)) == NULL) -+ return (ABORT); -+ if (bufp[0] == '\0') -+ return (ABORT); -+ n = (int)strtonum(buf, INT_MIN, INT_MAX, &err); -+ if (err) { -+ dobeep(); -+ ewprintf("Line number %s", err); -+ return (FALSE); -+ } -+ } -+ return(setlineno(n)); -+} -+ -+/* -+ * Set the line number and switch to it. -+ */ -+int -+setlineno(int n) -+{ -+ struct line *clp; -+ -+ if (n >= 0) { -+ if (n == 0) -+ n++; -+ curwp->w_dotline = n; -+ clp = lforw(curbp->b_headp); /* "clp" is first line */ -+ while (--n > 0) { -+ if (lforw(clp) == curbp->b_headp) { -+ curwp->w_dotline = curwp->w_bufp->b_lines; -+ break; -+ } -+ clp = lforw(clp); -+ } -+ } else { -+ curwp->w_dotline = curwp->w_bufp->b_lines + n; -+ clp = lback(curbp->b_headp); /* "clp" is last line */ -+ while (n < 0) { -+ if (lback(clp) == curbp->b_headp) { -+ curwp->w_dotline = 1; -+ break; -+ } -+ clp = lback(clp); -+ n++; -+ } -+ } -+ curwp->w_dotp = clp; -+ curwp->w_doto = 0; -+ curwp->w_rflag |= WFMOVE; -+ return (TRUE); -+} diff -Naur a/cscope.c b/cscope.c --- a/cscope.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/cscope.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/cscope.c 2020-04-21 19:01:59.000000000 +0100 @@ -20,6 +20,9 @@ #include #include @@ -840,7 +131,7 @@ diff -Naur a/cscope.c b/cscope.c #define CSSYMBOL 0 diff -Naur a/display.c b/display.c --- a/display.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/display.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/display.c 2020-04-21 19:01:59.000000000 +0100 @@ -19,6 +19,9 @@ #include #include @@ -853,7 +144,7 @@ diff -Naur a/display.c b/display.c diff -Naur a/fileio.c b/fileio.c --- a/fileio.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/fileio.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/fileio.c 2020-04-21 19:01:59.000000000 +0100 @@ -22,19 +22,13 @@ #include #include @@ -913,774 +204,9 @@ diff -Naur a/fileio.c b/fileio.c ewprintf("Path too long"); return (NULL); } -diff -Naur a/fileio.c.orig b/fileio.c.orig ---- a/fileio.c.orig 1970-01-01 01:00:00.000000000 +0100 -+++ b/fileio.c.orig 2020-04-20 21:26:06.000000000 +0100 -@@ -0,0 +1,761 @@ -+/* $OpenBSD: fileio.c,v 1.106 2019/06/22 10:21:57 lum Exp $ */ -+ -+/* This file is in the public domain. */ -+ -+/* -+ * POSIX fileio.c -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "def.h" -+#include "kbd.h" -+#include "pathnames.h" -+ -+#ifndef MAXNAMLEN -+#define MAXNAMLEN 255 -+#endif -+ -+#ifndef DEFFILEMODE -+#define DEFFILEMODE 0666 -+#endif -+ -+static char *bkuplocation(const char *); -+static int bkupleavetmp(const char *); -+ -+static char *bkupdir; -+static int leavetmp = 0; /* 1 = leave any '~' files in tmp dir */ -+ -+/* -+ * Open a file for reading. -+ */ -+int -+ffropen(FILE ** ffp, const char *fn, struct buffer *bp) -+{ -+ if ((*ffp = fopen(fn, "r")) == NULL) { -+ if (errno == ENOENT) -+ return (FIOFNF); -+ return (FIOERR); -+ } -+ -+ /* If 'fn' is a directory open it with dired. */ -+ if (fisdir(fn) == TRUE) -+ return (FIODIR); -+ -+ ffstat(*ffp, bp); -+ -+ return (FIOSUC); -+} -+ -+/* -+ * Update stat/dirty info -+ */ -+void -+ffstat(FILE *ffp, struct buffer *bp) -+{ -+ struct stat sb; -+ -+ if (bp && fstat(fileno(ffp), &sb) == 0) { -+ /* set highorder bit to make sure this isn't all zero */ -+ bp->b_fi.fi_mode = sb.st_mode | 0x8000; -+ bp->b_fi.fi_uid = sb.st_uid; -+ bp->b_fi.fi_gid = sb.st_gid; -+ /* bp->b_fi.fi_mtime = sb.st_mtimespec; */ -+ bp->b_fi.fi_mtime.tv_sec = sb.st_mtime; -+ bp->b_fi.fi_mtime.tv_nsec = 0; -+ /* Clear the ignore flag */ -+ bp->b_flag &= ~(BFIGNDIRTY | BFDIRTY); -+ } -+} -+ -+/* -+ * Update the status/dirty info. If there is an error, -+ * there's not a lot we can do. -+ */ -+int -+fupdstat(struct buffer *bp) -+{ -+ FILE *ffp; -+ -+ if ((ffp = fopen(bp->b_fname, "r")) == NULL) { -+ if (errno == ENOENT) -+ return (FIOFNF); -+ return (FIOERR); -+ } -+ ffstat(ffp, bp); -+ (void)ffclose(ffp, bp); -+ return (FIOSUC); -+} -+ -+/* -+ * Open a file for writing. -+ */ -+int -+ffwopen(FILE ** ffp, const char *fn, struct buffer *bp) -+{ -+ int fd; -+ mode_t fmode = DEFFILEMODE; -+ -+ if (bp && bp->b_fi.fi_mode) -+ fmode = bp->b_fi.fi_mode & 07777; -+ -+ fd = open(fn, O_RDWR | O_CREAT | O_TRUNC, fmode); -+ if (fd == -1) { -+ ffp = NULL; -+ dobeep(); -+ ewprintf("Cannot open file for writing : %s", strerror(errno)); -+ return (FIOERR); -+ } -+ -+ if ((*ffp = fdopen(fd, "w")) == NULL) { -+ dobeep(); -+ ewprintf("Cannot open file for writing : %s", strerror(errno)); -+ close(fd); -+ return (FIOERR); -+ } -+ -+ /* -+ * If we have file information, use it. We don't bother to check for -+ * errors, because there's no a lot we can do about it. Certainly -+ * trying to change ownership will fail if we aren't root. That's -+ * probably OK. If we don't have info, no need to get it, since any -+ * future writes will do the same thing. -+ */ -+ if (bp && bp->b_fi.fi_mode) { -+ fchmod(fd, bp->b_fi.fi_mode & 07777); -+ fchown(fd, bp->b_fi.fi_uid, bp->b_fi.fi_gid); -+ } -+ return (FIOSUC); -+} -+ -+/* -+ * Close a file. -+ */ -+/* ARGSUSED */ -+int -+ffclose(FILE *ffp, struct buffer *bp) -+{ -+ if (fclose(ffp) == 0) -+ return (FIOSUC); -+ return (FIOERR); -+} -+ -+/* -+ * Write a buffer to the already opened file. bp points to the -+ * buffer. Return the status. -+ */ -+int -+ffputbuf(FILE *ffp, struct buffer *bp, int eobnl) -+{ -+ struct line *lp, *lpend; -+ -+ lpend = bp->b_headp; -+ -+ for (lp = lforw(lpend); lp != lpend; lp = lforw(lp)) { -+ if (fwrite(ltext(lp), 1, llength(lp), ffp) != llength(lp)) { -+ dobeep(); -+ ewprintf("Write I/O error"); -+ return (FIOERR); -+ } -+ if (lforw(lp) != lpend) /* no implied \n on last line */ -+ putc('\n', ffp); -+ } -+ if (eobnl) { -+ lnewline_at(lback(lpend), llength(lback(lpend))); -+ putc('\n', ffp); -+ } -+ return (FIOSUC); -+} -+ -+/* -+ * Read a line from a file, and store the bytes -+ * in the supplied buffer. Stop on end of file or end of -+ * line. When FIOEOF is returned, there is a valid line -+ * of data without the normally implied \n. -+ * If the line length exceeds nbuf, FIOLONG is returned. -+ */ -+int -+ffgetline(FILE *ffp, char *buf, int nbuf, int *nbytes) -+{ -+ int c, i; -+ -+ i = 0; -+ while ((c = getc(ffp)) != EOF && c != '\n') { -+ buf[i++] = c; -+ if (i >= nbuf) -+ return (FIOLONG); -+ } -+ if (c == EOF && ferror(ffp) != FALSE) { -+ dobeep(); -+ ewprintf("File read error"); -+ return (FIOERR); -+ } -+ *nbytes = i; -+ return (c == EOF ? FIOEOF : FIOSUC); -+} -+ -+/* -+ * Make a backup copy of "fname". On Unix the backup has the same -+ * name as the original file, with a "~" on the end; this seems to -+ * be newest of the new-speak. The error handling is all in "file.c". -+ * We do a copy instead of a rename since otherwise another process -+ * with an open fd will get the backup, not the new file. This is -+ * a problem when using mg with things like crontab and vipw. -+ */ -+int -+fbackupfile(const char *fn) -+{ -+ struct stat sb; -+ struct timespec new_times[2]; -+ int from, to, serrno; -+ ssize_t nread; -+ char buf[BUFSIZ]; -+ char *nname, *tname, *bkpth; -+ -+ if (stat(fn, &sb) == -1) { -+ dobeep(); -+ ewprintf("Can't stat %s : %s", fn, strerror(errno)); -+ return (FALSE); -+ } -+ -+ if ((bkpth = bkuplocation(fn)) == NULL) -+ return (FALSE); -+ -+ if (asprintf(&nname, "%s~", bkpth) == -1) { -+ dobeep(); -+ ewprintf("Can't allocate backup file name : %s", strerror(errno)); -+ free(bkpth); -+ return (ABORT); -+ } -+ if (asprintf(&tname, "%s.XXXXXXXXXX", bkpth) == -1) { -+ dobeep(); -+ ewprintf("Can't allocate temp file name : %s", strerror(errno)); -+ free(bkpth); -+ free(nname); -+ return (ABORT); -+ } -+ free(bkpth); -+ -+ if ((from = open(fn, O_RDONLY)) == -1) { -+ free(nname); -+ free(tname); -+ return (FALSE); -+ } -+ to = mkstemp(tname); -+ if (to == -1) { -+ serrno = errno; -+ close(from); -+ free(nname); -+ free(tname); -+ errno = serrno; -+ return (FALSE); -+ } -+ while ((nread = read(from, buf, sizeof(buf))) > 0) { -+ if (write(to, buf, (size_t)nread) != nread) { -+ nread = -1; -+ break; -+ } -+ } -+ serrno = errno; -+ (void) fchmod(to, (sb.st_mode & 0777)); -+ -+ /* copy the mtime to the backupfile */ -+ new_times[0] = sb.st_atim; -+ new_times[1] = sb.st_mtim; -+ futimens(to, new_times); -+ -+ close(from); -+ close(to); -+ if (nread == -1) { -+ if (unlink(tname) == -1) -+ ewprintf("Can't unlink temp : %s", strerror(errno)); -+ } else { -+ if (rename(tname, nname) == -1) { -+ ewprintf("Can't rename temp : %s", strerror(errno)); -+ (void) unlink(tname); -+ nread = -1; -+ } -+ } -+ free(nname); -+ free(tname); -+ errno = serrno; -+ -+ return (nread == -1 ? FALSE : TRUE); -+} -+ -+/* -+ * Convert "fn" to a canonicalized absolute filename, replacing -+ * a leading ~/ with the user's home dir, following symlinks, and -+ * remove all occurrences of /./ and /../ -+ */ -+char * -+adjustname(const char *fn, int slashslash) -+{ -+ static char fnb[PATH_MAX]; -+ const char *cp, *ep = NULL; -+ char *path; -+ -+ if (slashslash == TRUE) { -+ cp = fn + strlen(fn) - 1; -+ for (; cp >= fn; cp--) { -+ if (ep && (*cp == '/')) { -+ fn = ep; -+ break; -+ } -+ if (*cp == '/' || *cp == '~') -+ ep = cp; -+ else -+ ep = NULL; -+ } -+ } -+ if ((path = expandtilde(fn)) == NULL) -+ return (NULL); -+ -+ if (realpath(path, fnb) == NULL) -+ (void)strlcpy(fnb, path, sizeof(fnb)); -+ -+ free(path); -+ return (fnb); -+} -+ -+/* -+ * Find a startup file for the user and return its name. As a service -+ * to other pieces of code that may want to find a startup file (like -+ * the terminal driver in particular), accepts a suffix to be appended -+ * to the startup file name. -+ */ -+char * -+startupfile(char *suffix) -+{ -+ static char file[NFILEN]; -+ char *home; -+ int ret; -+ -+ if ((home = getenv("HOME")) == NULL || *home == '\0') -+ goto nohome; -+ -+ if (suffix == NULL) { -+ ret = snprintf(file, sizeof(file), _PATH_MG_STARTUP, home); -+ if (ret < 0 || ret >= sizeof(file)) -+ return (NULL); -+ } else { -+ ret = snprintf(file, sizeof(file), _PATH_MG_TERM, home, suffix); -+ if (ret < 0 || ret >= sizeof(file)) -+ return (NULL); -+ } -+ -+ if (access(file, R_OK) == 0) -+ return (file); -+nohome: -+#ifdef STARTUPFILE -+ if (suffix == NULL) { -+ ret = snprintf(file, sizeof(file), "%s", STARTUPFILE); -+ if (ret < 0 || ret >= sizeof(file)) -+ return (NULL); -+ } else { -+ ret = snprintf(file, sizeof(file), "%s%s", STARTUPFILE, -+ suffix); -+ if (ret < 0 || ret >= sizeof(file)) -+ return (NULL); -+ } -+ -+ if (access(file, R_OK) == 0) -+ return (file); -+#endif /* STARTUPFILE */ -+ return (NULL); -+} -+ -+int -+copy(char *frname, char *toname) -+{ -+ int ifd, ofd; -+ char buf[BUFSIZ]; -+ mode_t fmode = DEFFILEMODE; /* XXX?? */ -+ struct stat orig; -+ ssize_t sr; -+ -+ if ((ifd = open(frname, O_RDONLY)) == -1) -+ return (FALSE); -+ if (fstat(ifd, &orig) == -1) { -+ dobeep(); -+ ewprintf("fstat: %s", strerror(errno)); -+ close(ifd); -+ return (FALSE); -+ } -+ -+ if ((ofd = open(toname, O_WRONLY|O_CREAT|O_TRUNC, fmode)) == -1) { -+ close(ifd); -+ return (FALSE); -+ } -+ while ((sr = read(ifd, buf, sizeof(buf))) > 0) { -+ if (write(ofd, buf, (size_t)sr) != sr) { -+ ewprintf("write error : %s", strerror(errno)); -+ break; -+ } -+ } -+ if (fchmod(ofd, orig.st_mode) == -1) -+ ewprintf("Cannot set original mode : %s", strerror(errno)); -+ -+ if (sr == -1) { -+ ewprintf("Read error : %s", strerror(errno)); -+ close(ifd); -+ close(ofd); -+ return (FALSE); -+ } -+ /* -+ * It is "normal" for this to fail since we can't guarantee that -+ * we will be running as root. -+ */ -+ if (fchown(ofd, orig.st_uid, orig.st_gid) && errno != EPERM) -+ ewprintf("Cannot set owner : %s", strerror(errno)); -+ -+ (void) close(ifd); -+ (void) close(ofd); -+ -+ return (TRUE); -+} -+ -+/* -+ * return list of file names that match the name in buf. -+ */ -+struct list * -+make_file_list(char *buf) -+{ -+ char *dir, *file, *cp; -+ size_t len, preflen; -+ int ret; -+ DIR *dirp; -+ struct dirent *dent; -+ struct list *last, *current; -+ char fl_name[NFILEN + 2]; -+ char prefixx[NFILEN + 1]; -+ -+ /* -+ * We need three different strings: -+ -+ * dir - the name of the directory containing what the user typed. -+ * Must be a real unix file name, e.g. no ~user, etc.. -+ * Must not end in /. -+ * prefix - the portion of what the user typed that is before the -+ * names we are going to find in the directory. Must have a -+ * trailing / if the user typed it. -+ * names from the directory - We open dir, and return prefix -+ * concatenated with names. -+ */ -+ -+ /* first we get a directory name we can look up */ -+ /* -+ * Names ending in . are potentially odd, because adjustname will -+ * treat foo/bar/.. as a foo/, whereas we are -+ * interested in names starting with .. -+ */ -+ len = strlen(buf); -+ if (len && buf[len - 1] == '.') { -+ buf[len - 1] = 'x'; -+ dir = adjustname(buf, TRUE); -+ buf[len - 1] = '.'; -+ } else -+ dir = adjustname(buf, TRUE); -+ if (dir == NULL) -+ return (NULL); -+ /* -+ * If the user typed a trailing / or the empty string -+ * he wants us to use his file spec as a directory name. -+ */ -+ if (len && buf[len - 1] != '/') { -+ file = strrchr(dir, '/'); -+ if (file) { -+ *file = '\0'; -+ if (*dir == '\0') -+ dir = "/"; -+ } else -+ return (NULL); -+ } -+ /* Now we get the prefix of the name the user typed. */ -+ if (strlcpy(prefixx, buf, sizeof(prefixx)) >= sizeof(prefixx)) -+ return (NULL); -+ cp = strrchr(prefixx, '/'); -+ if (cp == NULL) -+ prefixx[0] = '\0'; -+ else -+ cp[1] = '\0'; -+ -+ preflen = strlen(prefixx); -+ /* cp is the tail of buf that really needs to be compared. */ -+ cp = buf + preflen; -+ len = strlen(cp); -+ -+ /* -+ * Now make sure that file names will fit in the buffers allocated. -+ * SV files are fairly short. For BSD, something more general would -+ * be required. -+ */ -+ if (preflen > NFILEN - MAXNAMLEN) -+ return (NULL); -+ -+ /* loop over the specified directory, making up the list of files */ -+ -+ /* -+ * Note that it is worth our time to filter out names that don't -+ * match, even though our caller is going to do so again, and to -+ * avoid doing the stat if completion is being done, because stat'ing -+ * every file in the directory is relatively expensive. -+ */ -+ -+ dirp = opendir(dir); -+ if (dirp == NULL) -+ return (NULL); -+ last = NULL; -+ -+ while ((dent = readdir(dirp)) != NULL) { -+ int isdir; -+ if (strncmp(cp, dent->d_name, len) != 0) -+ continue; -+ isdir = 0; -+ if (dent->d_type == DT_DIR) { -+ isdir = 1; -+ } else if (dent->d_type == DT_LNK || -+ dent->d_type == DT_UNKNOWN) { -+ struct stat statbuf; -+ -+ if (fstatat(dirfd(dirp), dent->d_name, &statbuf, 0) < 0) -+ continue; -+ if (S_ISDIR(statbuf.st_mode)) -+ isdir = 1; -+ } -+ -+ if ((current = malloc(sizeof(struct list))) == NULL) { -+ free_file_list(last); -+ closedir(dirp); -+ return (NULL); -+ } -+ ret = snprintf(fl_name, sizeof(fl_name), -+ "%s%s%s", prefixx, dent->d_name, isdir ? "/" : ""); -+ if (ret < 0 || ret >= sizeof(fl_name)) { -+ free(current); -+ continue; -+ } -+ current->l_next = last; -+ current->l_name = strdup(fl_name); -+ last = current; -+ } -+ closedir(dirp); -+ -+ return (last); -+} -+ -+/* -+ * Test if a supplied filename refers to a directory -+ * Returns ABORT on error, TRUE if directory. FALSE otherwise -+ */ -+int -+fisdir(const char *fname) -+{ -+ struct stat statbuf; -+ -+ if (stat(fname, &statbuf) != 0) -+ return (ABORT); -+ -+ if (S_ISDIR(statbuf.st_mode)) -+ return (TRUE); -+ -+ return (FALSE); -+} -+ -+/* -+ * Check the mtime of the supplied filename. -+ * Return TRUE if last mtime matches, FALSE if not, -+ * If the stat fails, return TRUE and try the save anyway -+ */ -+int -+fchecktime(struct buffer *bp) -+{ -+ struct stat sb; -+ -+ if (stat(bp->b_fname, &sb) == -1) -+ return (TRUE); -+ -+ /* if (bp->b_fi.fi_mtime.tv_sec != sb.st_mtimespec.tv_sec || -+ bp->b_fi.fi_mtime.tv_nsec != sb.st_mtimespec.tv_nsec) */ -+ if (bp->b_fi.fi_mtime.tv_sec != sb.st_mtime) -+ return (FALSE); -+ -+ return (TRUE); -+ -+} -+ -+/* -+ * Location of backup file. This function creates the correct path. -+ */ -+static char * -+bkuplocation(const char *fn) -+{ -+ struct stat sb; -+ char *ret; -+ -+ if (bkupdir != NULL && (stat(bkupdir, &sb) == 0) && -+ S_ISDIR(sb.st_mode) && !bkupleavetmp(fn)) { -+ char fname[NFILEN]; -+ const char *c; -+ int i = 0, len; -+ -+ c = fn; -+ len = strlen(bkupdir); -+ -+ while (*c != '\0') { -+ /* Make sure we don't go over combined: -+ * strlen(bkupdir + '/' + fname + '\0') -+ */ -+ if (i >= NFILEN - len - 1) -+ return (NULL); -+ if (*c == '/') { -+ fname[i] = '!'; -+ } else if (*c == '!') { -+ if (i >= NFILEN - len - 2) -+ return (NULL); -+ fname[i++] = '!'; -+ fname[i] = '!'; -+ } else -+ fname[i] = *c; -+ i++; -+ c++; -+ } -+ fname[i] = '\0'; -+ if (asprintf(&ret, "%s/%s", bkupdir, fname) == -1) -+ return (NULL); -+ -+ } else if ((ret = strndup(fn, NFILEN)) == NULL) -+ return (NULL); -+ -+ return (ret); -+} -+ -+int -+backuptohomedir(int f, int n) -+{ -+ const char *c = _PATH_MG_DIR; -+ char *p; -+ -+ if (bkupdir == NULL) { -+ p = adjustname(c, TRUE); -+ bkupdir = strndup(p, NFILEN); -+ if (bkupdir == NULL) -+ return(FALSE); -+ -+ if (mkdir(bkupdir, 0700) == -1 && errno != EEXIST) { -+ free(bkupdir); -+ bkupdir = NULL; -+ } -+ } else { -+ free(bkupdir); -+ bkupdir = NULL; -+ } -+ -+ return (TRUE); -+} -+ -+/* -+ * For applications that use mg as the editor and have a desire to keep -+ * '~' files in /tmp, toggle the location: /tmp | ~/.mg.d -+ */ -+int -+toggleleavetmp(int f, int n) -+{ -+ leavetmp = !leavetmp; -+ -+ return (TRUE); -+} -+ -+/* -+ * Returns TRUE if fn is located in the temp directory and we want to save -+ * those backups there. -+ */ -+int -+bkupleavetmp(const char *fn) -+{ -+ if (!leavetmp) -+ return(FALSE); -+ -+ if (strncmp(fn, "/tmp", 4) == 0) -+ return (TRUE); -+ -+ return (FALSE); -+} -+ -+/* -+ * Expand file names beginning with '~' if appropriate: -+ * 1, if ./~fn exists, continue without expanding tilde. -+ * 2, else, if username 'fn' exists, expand tilde with home directory path. -+ * 3, otherwise, continue and create new buffer called ~fn. -+ */ -+char * -+expandtilde(const char *fn) -+{ -+ struct passwd *pw; -+ struct stat statbuf; -+ const char *cp; -+ char user[LOGIN_NAME_MAX], path[NFILEN]; -+ char *ret; -+ size_t ulen, plen; -+ -+ path[0] = '\0'; -+ -+ if (fn[0] != '~' || stat(fn, &statbuf) == 0) { -+ if ((ret = strndup(fn, NFILEN)) == NULL) -+ return (NULL); -+ return(ret); -+ } -+ cp = strchr(fn, '/'); -+ if (cp == NULL) -+ cp = fn + strlen(fn); /* point to the NUL byte */ -+ ulen = cp - &fn[1]; -+ if (ulen >= sizeof(user)) { -+ if ((ret = strndup(fn, NFILEN)) == NULL) -+ return (NULL); -+ return(ret); -+ } -+ if (ulen == 0) /* ~/ or ~ */ -+ pw = getpwuid(geteuid()); -+ else { /* ~user/ or ~user */ -+ memcpy(user, &fn[1], ulen); -+ user[ulen] = '\0'; -+ pw = getpwnam(user); -+ } -+ if (pw != NULL) { -+ plen = strlcpy(path, pw->pw_dir, sizeof(path)); -+ if (plen == 0 || path[plen - 1] != '/') { -+ if (strlcat(path, "/", sizeof(path)) >= sizeof(path)) { -+ dobeep(); -+ ewprintf("Path too long"); -+ return (NULL); -+ } -+ } -+ fn = cp; -+ if (*fn == '/') -+ fn++; -+ } -+ if (strlcat(path, fn, sizeof(path)) >= sizeof(path)) { -+ dobeep(); -+ ewprintf("Path too long"); -+ return (NULL); -+ } -+ if ((ret = strndup(path, NFILEN)) == NULL) -+ return (NULL); -+ -+ return (ret); -+} diff -Naur a/futimens.c b/futimens.c --- a/futimens.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/futimens.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/futimens.c 2020-04-21 19:01:59.000000000 +0100 @@ -0,0 +1,14 @@ +/* This file is in the public domain. */ + @@ -1698,7 +224,7 @@ diff -Naur a/futimens.c b/futimens.c +} diff -Naur a/grep.c b/grep.c --- a/grep.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/grep.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/grep.c 2020-04-21 19:01:59.000000000 +0100 @@ -15,6 +15,9 @@ #include #include @@ -1709,375 +235,9 @@ diff -Naur a/grep.c b/grep.c #include "def.h" #include "kbd.h" #include "funmap.h" -diff -Naur a/grep.c.orig b/grep.c.orig ---- a/grep.c.orig 1970-01-01 01:00:00.000000000 +0100 -+++ b/grep.c.orig 2020-04-20 21:26:06.000000000 +0100 -@@ -0,0 +1,362 @@ -+/* $OpenBSD: grep.c,v 1.48 2019/07/11 18:20:18 lum Exp $ */ -+ -+/* This file is in the public domain */ -+ -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "def.h" -+#include "kbd.h" -+#include "funmap.h" -+ -+int globalwd = FALSE; -+static int compile_goto_error(int, int); -+int next_error(int, int); -+static int grep(int, int); -+static int gid(int, int); -+static struct buffer *compile_mode(const char *, const char *); -+void grep_init(void); -+ -+static char compile_last_command[NFILEN] = "make "; -+ -+/* -+ * Hints for next-error -+ * -+ * XXX - need some kind of callback to find out when those get killed. -+ */ -+struct mgwin *compile_win; -+struct buffer *compile_buffer; -+ -+static PF compile_pf[] = { -+ compile_goto_error -+}; -+ -+static struct KEYMAPE (1) compilemap = { -+ 1, -+ 1, -+ rescan, -+ { -+ { CCHR('M'), CCHR('M'), compile_pf, NULL } -+ } -+}; -+ -+void -+grep_init(void) -+{ -+ funmap_add(compile_goto_error, "compile-goto-error", 0); -+ funmap_add(next_error, "next-error", 0); -+ funmap_add(grep, "grep", 1); -+ funmap_add(compile, "compile", 0); -+ funmap_add(gid, "gid", 1); -+ maps_add((KEYMAP *)&compilemap, "compile"); -+} -+ -+/* ARGSUSED */ -+static int -+grep(int f, int n) -+{ -+ char cprompt[NFILEN], *bufp; -+ struct buffer *bp; -+ struct mgwin *wp; -+ -+ (void)strlcpy(cprompt, "grep -n ", sizeof(cprompt)); -+ if ((bufp = eread("Run grep: ", cprompt, NFILEN, -+ EFDEF | EFNEW | EFCR)) == NULL) -+ return (ABORT); -+ else if (bufp[0] == '\0') -+ return (FALSE); -+ if (strlcat(cprompt, " /dev/null", sizeof(cprompt)) >= sizeof(cprompt)) -+ return (FALSE); -+ -+ if ((bp = compile_mode("*grep*", cprompt)) == NULL) -+ return (FALSE); -+ if ((wp = popbuf(bp, WNONE)) == NULL) -+ return (FALSE); -+ curbp = bp; -+ compile_win = curwp = wp; -+ return (TRUE); -+} -+ -+/* ARGSUSED */ -+int -+compile(int f, int n) -+{ -+ char cprompt[NFILEN], *bufp; -+ struct buffer *bp; -+ struct mgwin *wp; -+ -+ (void)strlcpy(cprompt, compile_last_command, sizeof(cprompt)); -+ if ((bufp = eread("Compile command: ", cprompt, NFILEN, -+ EFDEF | EFNEW | EFCR)) == NULL) -+ return (ABORT); -+ else if (bufp[0] == '\0') -+ return (FALSE); -+ if (savebuffers(f, n) == ABORT) -+ return (ABORT); -+ (void)strlcpy(compile_last_command, bufp, sizeof(compile_last_command)); -+ -+ if ((bp = compile_mode("*compile*", cprompt)) == NULL) -+ return (FALSE); -+ if ((wp = popbuf(bp, WNONE)) == NULL) -+ return (FALSE); -+ curbp = bp; -+ compile_win = curwp = wp; -+ gotoline(FFARG, 0); -+ return (TRUE); -+} -+ -+/* id-utils foo. */ -+/* ARGSUSED */ -+static int -+gid(int f, int n) -+{ -+ char command[NFILEN]; -+ char cprompt[NFILEN], *bufp; -+ int c; -+ struct buffer *bp; -+ struct mgwin *wp; -+ int i, j, len; -+ -+ /* catch ([^\s(){}]+)[\s(){}]* */ -+ -+ i = curwp->w_doto; -+ /* Skip backwards over delimiters we are currently on */ -+ while (i > 0) { -+ c = lgetc(curwp->w_dotp, i); -+ if (isalnum(c) || c == '_') -+ break; -+ -+ i--; -+ } -+ -+ /* Skip the symbol itself */ -+ for (; i > 0; i--) { -+ c = lgetc(curwp->w_dotp, i - 1); -+ if (!isalnum(c) && c != '_') -+ break; -+ } -+ /* Fill the symbol in cprompt[] */ -+ for (j = 0; j < sizeof(cprompt) - 1 && i < llength(curwp->w_dotp); -+ j++, i++) { -+ c = lgetc(curwp->w_dotp, i); -+ if (!isalnum(c) && c != '_') -+ break; -+ cprompt[j] = c; -+ } -+ cprompt[j] = '\0'; -+ -+ if ((bufp = eread("Run gid (with args): ", cprompt, NFILEN, -+ (j ? EFDEF : 0) | EFNEW | EFCR)) == NULL) -+ return (ABORT); -+ else if (bufp[0] == '\0') -+ return (FALSE); -+ len = snprintf(command, sizeof(command), "gid %s", cprompt); -+ if (len < 0 || len >= sizeof(command)) -+ return (FALSE); -+ -+ if ((bp = compile_mode("*gid*", command)) == NULL) -+ return (FALSE); -+ if ((wp = popbuf(bp, WNONE)) == NULL) -+ return (FALSE); -+ curbp = bp; -+ compile_win = curwp = wp; -+ return (TRUE); -+} -+ -+struct buffer * -+compile_mode(const char *name, const char *command) -+{ -+ struct buffer *bp; -+ FILE *fpipe; -+ char *buf; -+ size_t sz; -+ ssize_t len; -+ int ret, n, status; -+ char cwd[NFILEN], qcmd[NFILEN]; -+ char timestr[NTIME]; -+ time_t t; -+ -+ buf = NULL; -+ sz = 0; -+ -+ n = snprintf(qcmd, sizeof(qcmd), "%s 2>&1", command); -+ if (n < 0 || n >= sizeof(qcmd)) -+ return (NULL); -+ -+ bp = bfind(name, TRUE); -+ if (bclear(bp) != TRUE) -+ return (NULL); -+ -+ if (getbufcwd(bp->b_cwd, sizeof(bp->b_cwd)) != TRUE) -+ return (NULL); -+ addlinef(bp, "cd %s", bp->b_cwd); -+ addline(bp, qcmd); -+ addline(bp, ""); -+ -+ if (getcwd(cwd, sizeof(cwd)) == NULL) -+ panic("Can't get current directory!"); -+ if (chdir(bp->b_cwd) == -1) { -+ dobeep(); -+ ewprintf("Can't change dir to %s", bp->b_cwd); -+ return (NULL); -+ } -+ if ((fpipe = popen(qcmd, "r")) == NULL) { -+ dobeep(); -+ ewprintf("Problem opening pipe"); -+ return (NULL); -+ } -+ while ((len = getline(&buf, &sz, fpipe)) != -1) { -+ if (buf[len - 1] == '\n') -+ buf[len - 1] = '\0'; -+ addline(bp, buf); -+ } -+ free(buf); -+ if (ferror(fpipe)) -+ ewprintf("Problem reading pipe"); -+ ret = pclose(fpipe); -+ t = time(NULL); -+ strftime(timestr, sizeof(timestr), "%a %b %e %T %Y", localtime(&t)); -+ addline(bp, ""); -+ if (WIFEXITED(ret)) { -+ status = WEXITSTATUS(ret); -+ if (status == 0) -+ addlinef(bp, "Command finished at %s", timestr); -+ else -+ addlinef(bp, "Command exited abnormally with code %d " -+ "at %s", status, timestr); -+ } else -+ addlinef(bp, "Subshell killed by signal %d at %s", -+ WTERMSIG(ret), timestr); -+ -+ bp->b_dotp = bfirstlp(bp); -+ bp->b_modes[0] = name_mode("fundamental"); -+ bp->b_modes[1] = name_mode("compile"); -+ bp->b_nmodes = 1; -+ -+ compile_buffer = bp; -+ -+ if (chdir(cwd) == -1) { -+ dobeep(); -+ ewprintf("Can't change dir back to %s", cwd); -+ return (NULL); -+ } -+ return (bp); -+} -+ -+/* ARGSUSED */ -+static int -+compile_goto_error(int f, int n) -+{ -+ struct buffer *bp; -+ struct mgwin *wp; -+ char *fname, *line, *lp, *ln; -+ int lineno; -+ char *adjf, path[NFILEN]; -+ const char *errstr; -+ struct line *last; -+ -+ compile_win = curwp; -+ compile_buffer = curbp; -+ last = blastlp(compile_buffer); -+ -+ retry: -+ /* last line is compilation result */ -+ if (curwp->w_dotp == last) -+ return (FALSE); -+ -+ if ((line = linetostr(curwp->w_dotp)) == NULL) -+ return (FALSE); -+ lp = line; -+ if ((fname = strsep(&lp, ":")) == NULL || *fname == '\0') -+ goto fail; -+ if ((ln = strsep(&lp, ":")) == NULL || *ln == '\0') -+ goto fail; -+ lineno = (int)strtonum(ln, INT_MIN, INT_MAX, &errstr); -+ if (errstr) -+ goto fail; -+ -+ if (fname && fname[0] != '/') { -+ if (getbufcwd(path, sizeof(path)) == FALSE) -+ goto fail; -+ if (strlcat(path, fname, sizeof(path)) >= sizeof(path)) -+ goto fail; -+ adjf = path; -+ } else { -+ adjf = adjustname(fname, TRUE); -+ } -+ free(line); -+ -+ if (adjf == NULL) -+ return (FALSE); -+ -+ if ((bp = findbuffer(adjf)) == NULL) -+ return (FALSE); -+ if ((wp = popbuf(bp, WNONE)) == NULL) -+ return (FALSE); -+ curbp = bp; -+ curwp = wp; -+ if (bp->b_fname[0] == '\0') -+ readin(adjf); -+ gotoline(FFARG, lineno); -+ return (TRUE); -+fail: -+ free(line); -+ if (curwp->w_dotp != blastlp(curbp)) { -+ curwp->w_dotp = lforw(curwp->w_dotp); -+ curwp->w_rflag |= WFMOVE; -+ goto retry; -+ } -+ dobeep(); -+ ewprintf("No more hits"); -+ return (FALSE); -+} -+ -+/* ARGSUSED */ -+int -+next_error(int f, int n) -+{ -+ if (compile_win == NULL || compile_buffer == NULL) { -+ dobeep(); -+ ewprintf("No compilation active"); -+ return (FALSE); -+ } -+ curwp = compile_win; -+ curbp = compile_buffer; -+ if (curwp->w_dotp == blastlp(curbp)) { -+ dobeep(); -+ ewprintf("No more hits"); -+ return (FALSE); -+ } -+ curwp->w_dotp = lforw(curwp->w_dotp); -+ curwp->w_rflag |= WFMOVE; -+ -+ return (compile_goto_error(f, n)); -+} -+ -+/* -+ * Since we don't have variables (we probably should) these are command -+ * processors for changing the values of mode flags. -+ */ -+/* ARGSUSED */ -+int -+globalwdtoggle(int f, int n) -+{ -+ if (f & FFARG) -+ globalwd = n > 0; -+ else -+ globalwd = !globalwd; -+ -+ sgarbf = TRUE; -+ -+ return (TRUE); -+} diff -Naur a/main.c b/main.c --- a/main.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/main.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/main.c 2020-04-21 19:01:59.000000000 +0100 @@ -16,6 +16,9 @@ #include #include @@ -2090,7 +250,7 @@ diff -Naur a/main.c b/main.c #include "funmap.h" diff -Naur a/paragraph.c b/paragraph.c --- a/paragraph.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/paragraph.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/paragraph.c 2020-04-21 19:01:59.000000000 +0100 @@ -14,6 +14,9 @@ #include #include @@ -2101,512 +261,9 @@ diff -Naur a/paragraph.c b/paragraph.c #include "def.h" static int fillcol = 70; -diff -Naur a/paragraph.c.orig b/paragraph.c.orig ---- a/paragraph.c.orig 1970-01-01 01:00:00.000000000 +0100 -+++ b/paragraph.c.orig 2020-04-20 21:26:06.000000000 +0100 -@@ -0,0 +1,499 @@ -+/* $OpenBSD: paragraph.c,v 1.46 2018/11/17 09:52:34 lum Exp $ */ -+ -+/* This file is in the public domain. */ -+ -+/* -+ * Code for dealing with paragraphs and filling. Adapted from MicroEMACS 3.6 -+ * and GNU-ified by mwm@ucbvax. Several bug fixes by blarson@usc-oberon. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include "def.h" -+ -+static int fillcol = 70; -+ -+#define MAXWORD 256 -+ -+static int findpara(void); -+static int do_gotoeop(int, int, int *); -+ -+/* -+ * Move to start of paragraph. -+ * Move backwards by line, checking from the 1st character forwards for the -+ * existence a non-space. If a non-space character is found, move to the -+ * preceding line. Keep doing this until a line with only spaces is found or -+ * the start of buffer. -+ */ -+/* ARGSUSED */ -+int -+gotobop(int f, int n) -+{ -+ int col, nospace; -+ -+ /* the other way... */ -+ if (n < 0) -+ return (gotoeop(f, -n)); -+ -+ while (n-- > 0) { -+ nospace = 0; -+ while (lback(curwp->w_dotp) != curbp->b_headp) { -+ curwp->w_doto = 0; -+ col = 0; -+ -+ while (col < llength(curwp->w_dotp) && -+ (isspace(lgetc(curwp->w_dotp, col)))) -+ col++; -+ -+ if (col >= llength(curwp->w_dotp)) { -+ if (nospace) -+ break; -+ } else -+ nospace = 1; -+ -+ curwp->w_dotline--; -+ curwp->w_dotp = lback(curwp->w_dotp); -+ } -+ } -+ /* force screen update */ -+ curwp->w_rflag |= WFMOVE; -+ return (TRUE); -+} -+ -+/* -+ * Move to end of paragraph. -+ * See comments for gotobop(). Same, but moving forwards. -+ */ -+/* ARGSUSED */ -+int -+gotoeop(int f, int n) -+{ -+ int i; -+ -+ return(do_gotoeop(f, n, &i)); -+} -+ -+int -+do_gotoeop(int f, int n, int *i) -+{ -+ int col, nospace, j = 0; -+ -+ /* the other way... */ -+ if (n < 0) -+ return (gotobop(f, -n)); -+ -+ /* for each one asked for */ -+ while (n-- > 0) { -+ *i = ++j; -+ nospace = 0; -+ while (lforw(curwp->w_dotp) != curbp->b_headp) { -+ col = 0; -+ curwp->w_doto = 0; -+ -+ while (col < llength(curwp->w_dotp) && -+ (isspace(lgetc(curwp->w_dotp, col)))) -+ col++; -+ -+ if (col >= llength(curwp->w_dotp)) { -+ if (nospace) -+ break; -+ } else -+ nospace = 1; -+ -+ curwp->w_dotp = lforw(curwp->w_dotp); -+ curwp->w_dotline++; -+ -+ } -+ } -+ /* do not continue after end of buffer */ -+ if (lforw(curwp->w_dotp) == curbp->b_headp) { -+ gotoeol(FFRAND, 1); -+ curwp->w_rflag |= WFMOVE; -+ return (FALSE); -+ } -+ -+ /* force screen update */ -+ curwp->w_rflag |= WFMOVE; -+ return (TRUE); -+} -+ -+/* -+ * Justify a paragraph. Fill the current paragraph according to the current -+ * fill column. -+ */ -+/* ARGSUSED */ -+int -+fillpara(int f, int n) -+{ -+ int c; /* current char during scan */ -+ int wordlen; /* length of current word */ -+ int clength; /* position on line during fill */ -+ int i; /* index during word copy */ -+ int eopflag; /* Are we at the End-Of-Paragraph? */ -+ int firstflag; /* first word? (needs no space) */ -+ int newlength; /* tentative new line length */ -+ int eolflag; /* was at end of line */ -+ int retval; /* return value */ -+ struct line *eopline; /* pointer to line just past EOP */ -+ char wbuf[MAXWORD]; /* buffer for current word */ -+ -+ if (n == 0) -+ return (TRUE); -+ -+ undo_boundary_enable(FFRAND, 0); -+ -+ /* record the pointer to the line just past the EOP */ -+ (void)gotoeop(FFRAND, 1); -+ if (curwp->w_doto != 0) { -+ /* paragraph ends at end of buffer */ -+ (void)lnewline(); -+ eopline = lforw(curwp->w_dotp); -+ } else -+ eopline = curwp->w_dotp; -+ -+ /* and back top the beginning of the paragraph */ -+ (void)gotobop(FFRAND, 1); -+ -+ /* initialize various info */ -+ while (inword() == 0 && forwchar(FFRAND, 1)); -+ -+ clength = curwp->w_doto; -+ wordlen = 0; -+ -+ /* scan through lines, filling words */ -+ firstflag = TRUE; -+ eopflag = FALSE; -+ while (!eopflag) { -+ -+ /* get the next character in the paragraph */ -+ if ((eolflag = (curwp->w_doto == llength(curwp->w_dotp)))) { -+ c = ' '; -+ if (lforw(curwp->w_dotp) == eopline) -+ eopflag = TRUE; -+ } else -+ c = lgetc(curwp->w_dotp, curwp->w_doto); -+ -+ /* and then delete it */ -+ if (ldelete((RSIZE) 1, KNONE) == FALSE && !eopflag) { -+ retval = FALSE; -+ goto cleanup; -+ } -+ -+ /* if not a separator, just add it in */ -+ if (c != ' ' && c != '\t') { -+ if (wordlen < MAXWORD - 1) -+ wbuf[wordlen++] = c; -+ else { -+ /* -+ * You lose chars beyond MAXWORD if the word -+ * is too long. I'm too lazy to fix it now; it -+ * just silently truncated the word before, -+ * so I get to feel smug. -+ */ -+ ewprintf("Word too long!"); -+ } -+ } else if (wordlen) { -+ -+ /* calculate tentative new length with word added */ -+ newlength = clength + 1 + wordlen; -+ -+ /* -+ * if at end of line or at doublespace and previous -+ * character was one of '.','?','!' doublespace here. -+ * behave the same way if a ')' is preceded by a -+ * [.?!] and followed by a doublespace. -+ */ -+ if (dblspace && (!eopflag && ((eolflag || -+ curwp->w_doto == llength(curwp->w_dotp) || -+ (c = lgetc(curwp->w_dotp, curwp->w_doto)) == ' ' -+ || c == '\t') && (ISEOSP(wbuf[wordlen - 1]) || -+ (wbuf[wordlen - 1] == ')' && wordlen >= 2 && -+ ISEOSP(wbuf[wordlen - 2])))) && -+ wordlen < MAXWORD - 1)) -+ wbuf[wordlen++] = ' '; -+ -+ /* at a word break with a word waiting */ -+ if (newlength <= fillcol) { -+ /* add word to current line */ -+ if (!firstflag) { -+ (void)linsert(1, ' '); -+ ++clength; -+ } -+ firstflag = FALSE; -+ } else { -+ if (curwp->w_doto > 0 && -+ lgetc(curwp->w_dotp, curwp->w_doto - 1) == ' ') { -+ curwp->w_doto -= 1; -+ (void)ldelete((RSIZE) 1, KNONE); -+ } -+ /* start a new line */ -+ (void)lnewline(); -+ clength = 0; -+ } -+ -+ /* and add the word in in either case */ -+ for (i = 0; i < wordlen; i++) { -+ (void)linsert(1, wbuf[i]); -+ ++clength; -+ } -+ wordlen = 0; -+ } -+ } -+ /* and add a last newline for the end of our new paragraph */ -+ (void)lnewline(); -+ -+ /* -+ * We really should wind up where we started, (which is hard to keep -+ * track of) but I think the end of the last line is better than the -+ * beginning of the blank line. -+ */ -+ (void)backchar(FFRAND, 1); -+ retval = TRUE; -+cleanup: -+ undo_boundary_enable(FFRAND, 1); -+ return (retval); -+} -+ -+/* -+ * Delete n paragraphs. Move to the beginning of the current paragraph, or if -+ * the cursor is on an empty line, move down the buffer to the first line with -+ * non-space characters. Then mark n paragraphs and delete. -+ */ -+/* ARGSUSED */ -+int -+killpara(int f, int n) -+{ -+ int lineno, status; -+ -+ if (n == 0) -+ return (TRUE); -+ -+ if (findpara() == FALSE) -+ return (TRUE); -+ -+ /* go to the beginning of the paragraph */ -+ (void)gotobop(FFRAND, 1); -+ -+ /* take a note of the line number for after deletions and set mark */ -+ lineno = curwp->w_dotline; -+ curwp->w_markp = curwp->w_dotp; -+ curwp->w_marko = curwp->w_doto; -+ -+ (void)gotoeop(FFRAND, n); -+ -+ if ((status = killregion(FFRAND, 1)) != TRUE) -+ return (status); -+ -+ curwp->w_dotline = lineno; -+ return (TRUE); -+} -+ -+/* -+ * Mark n paragraphs starting with the n'th and working our way backwards. -+ * This leaves the cursor at the beginning of the paragraph where markpara() -+ * was invoked. -+ */ -+/* ARGSUSED */ -+int -+markpara(int f, int n) -+{ -+ int i = 0; -+ -+ if (n == 0) -+ return (TRUE); -+ -+ clearmark(FFARG, 0); -+ -+ if (findpara() == FALSE) -+ return (TRUE); -+ -+ (void)do_gotoeop(FFRAND, n, &i); -+ -+ /* set the mark here */ -+ curwp->w_markp = curwp->w_dotp; -+ curwp->w_marko = curwp->w_doto; -+ -+ (void)gotobop(FFRAND, i); -+ -+ return (TRUE); -+} -+ -+/* -+ * Transpose the current paragraph with the following paragraph. If invoked -+ * multiple times, transpose to the n'th paragraph. If invoked between -+ * paragraphs, move to the previous paragraph, then continue. -+ */ -+/* ARGSUSED */ -+int -+transposepara(int f, int n) -+{ -+ int i = 0, status; -+ char flg; -+ -+ if (n == 0) -+ return (TRUE); -+ -+ undo_boundary_enable(FFRAND, 0); -+ -+ /* find a paragraph, set mark, then goto the end */ -+ gotobop(FFRAND, 1); -+ curwp->w_markp = curwp->w_dotp; -+ curwp->w_marko = curwp->w_doto; -+ (void)gotoeop(FFRAND, 1); -+ -+ /* take a note of buffer flags - we may need them */ -+ flg = curbp->b_flag; -+ -+ /* clean out kill buffer then kill region */ -+ kdelete(); -+ if ((status = killregion(FFRAND, 1)) != TRUE) -+ return (status); -+ -+ /* -+ * Now step through n paragraphs. If we reach the end of buffer, -+ * stop and paste the killed region back, then display a message. -+ */ -+ if (do_gotoeop(FFRAND, n, &i) == FALSE) { -+ ewprintf("Cannot transpose paragraph, end of buffer reached."); -+ (void)gotobop(FFRAND, i); -+ (void)yank(FFRAND, 1); -+ curbp->b_flag = flg; -+ return (FALSE); -+ } -+ (void)yank(FFRAND, 1); -+ -+ undo_boundary_enable(FFRAND, 1); -+ -+ return (TRUE); -+} -+ -+/* -+ * Go down the buffer until we find a line with non-space characters. -+ */ -+int -+findpara(void) -+{ -+ int col, nospace = 0; -+ -+ /* we move forward to find a para to mark */ -+ do { -+ curwp->w_doto = 0; -+ col = 0; -+ -+ /* check if we are on a blank line */ -+ while (col < llength(curwp->w_dotp)) { -+ if (!isspace(lgetc(curwp->w_dotp, col))) -+ nospace = 1; -+ col++; -+ } -+ if (nospace) -+ break; -+ -+ if (lforw(curwp->w_dotp) == curbp->b_headp) -+ return (FALSE); -+ -+ curwp->w_dotp = lforw(curwp->w_dotp); -+ curwp->w_dotline++; -+ } while (1); -+ -+ return (TRUE); -+} -+ -+/* -+ * Insert char with work wrap. Check to see if we're past fillcol, and if so, -+ * justify this line. As a last step, justify the line. -+ */ -+/* ARGSUSED */ -+int -+fillword(int f, int n) -+{ -+ char c; -+ int col, i, nce; -+ -+ for (i = col = 0; col <= fillcol; ++i, ++col) { -+ if (i == curwp->w_doto) -+ return selfinsert(f, n); -+ c = lgetc(curwp->w_dotp, i); -+ if (c == '\t' -+#ifdef NOTAB -+ && !(curbp->b_flag & BFNOTAB) -+#endif -+ ) -+ col |= 0x07; -+ else if (ISCTRL(c) != FALSE) -+ ++col; -+ } -+ if (curwp->w_doto != llength(curwp->w_dotp)) { -+ (void)selfinsert(f, n); -+ nce = llength(curwp->w_dotp) - curwp->w_doto; -+ } else -+ nce = 0; -+ curwp->w_doto = i; -+ -+ if ((c = lgetc(curwp->w_dotp, curwp->w_doto)) != ' ' && c != '\t') -+ do { -+ (void)backchar(FFRAND, 1); -+ } while ((c = lgetc(curwp->w_dotp, curwp->w_doto)) != ' ' && -+ c != '\t' && curwp->w_doto > 0); -+ -+ if (curwp->w_doto == 0) -+ do { -+ (void)forwchar(FFRAND, 1); -+ } while ((c = lgetc(curwp->w_dotp, curwp->w_doto)) != ' ' && -+ c != '\t' && curwp->w_doto < llength(curwp->w_dotp)); -+ -+ (void)delwhite(FFRAND, 1); -+ (void)lnewline(); -+ i = llength(curwp->w_dotp) - nce; -+ curwp->w_doto = i > 0 ? i : 0; -+ curwp->w_rflag |= WFMOVE; -+ if (nce == 0 && curwp->w_doto != 0) -+ return (fillword(f, n)); -+ return (TRUE); -+} -+ -+/* -+ * Set fill column to n for justify. -+ */ -+int -+setfillcol(int f, int n) -+{ -+ char buf[32], *rep; -+ const char *es; -+ int nfill; -+ -+ if ((f & FFARG) != 0) { -+ fillcol = n; -+ } else { -+ if ((rep = eread("Set fill-column: ", buf, sizeof(buf), -+ EFNEW | EFCR)) == NULL) -+ return (ABORT); -+ else if (rep[0] == '\0') -+ return (FALSE); -+ nfill = strtonum(rep, 0, INT_MAX, &es); -+ if (es != NULL) { -+ dobeep(); -+ ewprintf("Invalid fill column: %s", rep); -+ return (FALSE); -+ } -+ fillcol = nfill; -+ ewprintf("Fill column set to %d", fillcol); -+ } -+ return (TRUE); -+} -+ -+int -+sentencespace(int f, int n) -+{ -+ if (f & FFARG) -+ dblspace = n > 1; -+ else -+ dblspace = !dblspace; -+ -+ return (TRUE); -+} diff -Naur a/reallocarray.c b/reallocarray.c --- a/reallocarray.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/reallocarray.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/reallocarray.c 2020-04-21 19:01:59.000000000 +0100 @@ -0,0 +1,38 @@ +/* $OpenBSD: reallocarray.c,v 1.3 2015/09/13 08:31:47 guenther Exp $ */ +/* @@ -2648,7 +305,7 @@ diff -Naur a/reallocarray.c b/reallocarray.c +} diff -Naur a/strtonum.c b/strtonum.c --- a/strtonum.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/strtonum.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/strtonum.c 2020-04-21 19:01:59.000000000 +0100 @@ -0,0 +1,65 @@ +/* $OpenBSD: strtonum.c,v 1.7 2013/04/17 18:40:58 tedu Exp $ */ + @@ -2717,7 +374,7 @@ diff -Naur a/strtonum.c b/strtonum.c +} diff -Naur a/tags.c b/tags.c --- a/tags.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/tags.c 2020-04-20 21:26:10.000000000 +0100 ++++ b/tags.c 2020-04-21 19:01:59.000000000 +0100 @@ -8,7 +8,11 @@ #include @@ -2759,7 +416,7 @@ diff -Naur a/tags.c b/tags.c struct tagpos { diff -Naur a/tree.h b/tree.h --- a/tree.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/tree.h 2020-04-20 21:26:10.000000000 +0100 ++++ b/tree.h 2020-04-21 19:01:59.000000000 +0100 @@ -0,0 +1,1006 @@ +/* $OpenBSD: tree.h,v 1.29 2017/07/30 19:27:20 deraadt Exp $ */ +/* From 30328c3c3327d41b813cc4fd4f7e4eaaded8bc6e Mon Sep 17 00:00:00 2001 From: ryneeverett Date: Fri, 24 Apr 2020 19:02:31 +0000 Subject: [PATCH 011/158] ycmd: typescript completion support Link the already-packaged typescript package so that ycmd will support completions for javascript and typescript filetypes. The structure of these installation directories is "documented" here: . I don't completely understand why the language support is passed as optional attrs Is it because folks want to build leaner packages and pass null or because they want to target particular dependencies? At any rate I followed the pattern. --- pkgs/development/tools/misc/ycmd/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix index aee7af17730..02298d93b8a 100644 --- a/pkgs/development/tools/misc/ycmd/default.nix +++ b/pkgs/development/tools/misc/ycmd/default.nix @@ -2,6 +2,7 @@ , gocode ? null , godef ? null , gotools ? null +, nodePackages ? null , rustracerd ? null , fixDarwinDylibNames, Cocoa ? null }: @@ -69,6 +70,9 @@ stdenv.mkDerivation { TARGET=$out/lib/ycmd/third_party/go/src/golang.org/x/tools/cmd/gopls mkdir -p $TARGET ln -sf ${gotools}/bin/gopls $TARGET + '' + lib.optionalString (nodePackages != null) '' + TARGET=$out/lib/ycmd/third_party/tsserver + ln -sf ${nodePackages.typescript} $TARGET '' + lib.optionalString (rustracerd != null) '' TARGET=$out/lib/ycmd/third_party/racerd/target/release mkdir -p $TARGET From 62faf787894a764da6f7b384e417833f47e12aa2 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Sat, 2 May 2020 21:44:46 +0200 Subject: [PATCH 012/158] sooperlooper: unstable-2016-07-19 -> unstable-2019-09-30 added alsaLib and fftw dependencies --- .../audio/sooperlooper/default.nix | 53 +++++++++++++------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/audio/sooperlooper/default.nix b/pkgs/applications/audio/sooperlooper/default.nix index 3fb111db851..e7a43ad8a59 100644 --- a/pkgs/applications/audio/sooperlooper/default.nix +++ b/pkgs/applications/audio/sooperlooper/default.nix @@ -1,17 +1,32 @@ -{ stdenv, fetchFromGitHub, liblo, libxml2, libjack2, libsndfile, wxGTK, libsigcxx -, libsamplerate, rubberband, pkgconfig, libtool, gettext, ncurses, which +{ stdenv +, fetchFromGitHub , autoreconfHook +, pkgconfig +, which +, libtool +, liblo +, libxml2 +, libjack2 +, libsndfile +, wxGTK30 +, libsigcxx +, libsamplerate +, rubberband +, gettext +, ncurses +, alsaLib +, fftw }: stdenv.mkDerivation rec { - pname = "sooperlooper-git"; - version = "2016-07-19"; + pname = "sooperlooper"; + version = "unstable-2019-09-30"; src = fetchFromGitHub { owner = "essej"; repo = "sooperlooper"; - rev = "3bdfe184cd59b51c757b8048536abc1146fb0de4"; - sha256 = "0qz25h4idv79m97ici2kzx72fwzks3lysyksk3p3rx72lsijhf3g"; + rev = "4d1da14176e16b0f56b727bb1e6c2e8957515625"; + sha256 = "1gsgqa7hdymzw2al1ymzv0f33y161dyhh3fmy88lpjwv3bfchamg"; }; autoreconfPhase = '' @@ -22,11 +37,21 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkgconfig which libtool ]; buildInputs = [ - liblo libxml2 libjack2 libsndfile wxGTK libsigcxx - libsamplerate rubberband gettext ncurses + liblo + libxml2 + libjack2 + libsndfile + wxGTK30 + libsigcxx + libsamplerate + rubberband + gettext + ncurses + alsaLib + fftw ]; - meta = { + meta = with stdenv.lib; { description = "A live looping sampler capable of immediate loop recording, overdubbing, multiplying, reversing and more"; longDescription = '' It allows for multiple simultaneous multi-channel loops limited only by your computer's available memory. @@ -35,11 +60,9 @@ stdenv.mkDerivation rec { However, this kind of live performance looping tool is most effectively used via hardware (midi footpedals, etc) and the engine can be run standalone on a computer without a monitor. ''; - - version = version; - homepage = "http://essej.net/sooperlooper/index.html"; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.magnetophon ]; - platforms = stdenv.lib.platforms.linux; + homepage = "http://essej.net/sooperlooper/"; # https is broken + license = licenses.gpl2; + maintainers = with maintainers; [ magnetophon ]; + platforms = platforms.linux; }; } From aa0574e394136b2e154438b64b3019c8338de757 Mon Sep 17 00:00:00 2001 From: Eugene Shatsky Date: Sun, 3 May 2020 00:14:28 +0300 Subject: [PATCH 013/158] plasma5.kwin: add mesa dependency mesa provides libgbm required to build kwin_wayland drm backend with hw accel (compositing&clients) --- pkgs/desktops/plasma-5/kwin/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix index 0e1709d8245..c3e9e2b9c24 100644 --- a/pkgs/desktops/plasma-5/kwin/default.nix +++ b/pkgs/desktops/plasma-5/kwin/default.nix @@ -11,11 +11,10 @@ kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n, kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage, kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem, kxmlgui, - plasma-framework, qtsensors, libcap, libdrm + plasma-framework, qtsensors, libcap, libdrm, mesa }: # TODO (ttuegel): investigate qmlplugindump failure -# TODO (ttuegel): investigate gbm dependency mkDerivation { name = "kwin"; @@ -30,7 +29,7 @@ mkDerivation { kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes kidletime kinit kio knewstuff knotifications kpackage kscreenlocker kservice kwayland kwidgetsaddons kwindowsystem kxmlgui plasma-framework - libcap libdrm + libcap libdrm mesa ]; outputs = [ "bin" "dev" "out" ]; patches = [ From 4d988ff0d0fa772f0297b5227c343a62391cbe1c Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sat, 25 Apr 2020 16:54:33 +0300 Subject: [PATCH 014/158] nixos/nginx: change log and cache directories --- .../services/web-servers/nginx/default.nix | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 8d49dc66eb1..1e9cda7e478 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -187,7 +187,7 @@ let then "/etc/nginx/nginx.conf" else configFile; - execCommand = "${cfg.package}/bin/nginx -c '${configPath}' -p '${cfg.stateDir}'"; + execCommand = "${cfg.package}/bin/nginx -c '${configPath}'"; vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: let @@ -463,13 +463,6 @@ in ''; }; - stateDir = mkOption { - default = "/var/spool/nginx"; - description = " - Directory holding all state for nginx to run. - "; - }; - user = mkOption { type = types.str; default = "nginx"; @@ -636,6 +629,13 @@ in }; }; + imports = [ + (mkRemovedOptionModule [ "services" "nginx" "stateDir" ] '' + The Nginx log directory has been moved to /var/log/nginx, the cache directory + to /var/cache/nginx. The option services.nginx.stateDir has been removed. + '') + ]; + config = mkIf cfg.enable { # TODO: test user supplied config file pases syntax test @@ -680,12 +680,6 @@ in } ]; - systemd.tmpfiles.rules = [ - "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group} - -" - "d '${cfg.stateDir}/logs' 0750 ${cfg.user} ${cfg.group} - -" - "Z '${cfg.stateDir}' - ${cfg.user} ${cfg.group} - -" - ]; - systemd.services.nginx = { description = "Nginx Web Server"; wantedBy = [ "multi-user.target" ]; @@ -708,6 +702,12 @@ in # Runtime directory and mode RuntimeDirectory = "nginx"; RuntimeDirectoryMode = "0750"; + # Cache directory and mode + CacheDirectory = "nginx"; + CacheDirectoryMode = "0750"; + # Logs directory and mode + LogsDirectory = "nginx"; + LogsDirectoryMode = "0750"; # Capabilities AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" "CAP_SYS_RESOURCE" ]; }; From a19800fb48b52079c55d88c9f6137f58e8d97918 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sat, 25 Apr 2020 17:02:23 +0300 Subject: [PATCH 015/158] nginx: change logs path --- pkgs/servers/http/nginx/generic.nix | 42 ++++++++++++------- .../http/nginx/nix-skip-check-logs-path.patch | 27 ++++++++++++ pkgs/servers/http/openresty/default.nix | 7 ++-- 3 files changed, 57 insertions(+), 19 deletions(-) create mode 100644 pkgs/servers/http/nginx/nix-skip-check-logs-path.patch diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix index 67a914b6a98..80bc1458ad7 100644 --- a/pkgs/servers/http/nginx/generic.nix +++ b/pkgs/servers/http/nginx/generic.nix @@ -68,6 +68,14 @@ stdenv.mkDerivation { "--with-http_stub_status_module" "--with-threads" "--with-pcre-jit" + "--http-log-path=/var/log/nginx/access.log" + "--error-log-path=/var/log/nginx/error.log" + "--pid-path=/var/log/nginx/nginx.pid" + "--http-client-body-temp-path=/var/cache/nginx/client_body" + "--http-proxy-temp-path=/var/cache/nginx/proxy" + "--http-fastcgi-temp-path=/var/cache/nginx/fastcgi" + "--http-uwsgi-temp-path=/var/cache/nginx/uwsgi" + "--http-scgi-temp-path=/var/cache/nginx/scgi" ] ++ optionals withDebug [ "--with-debug" ] ++ optionals withStream [ @@ -99,26 +107,28 @@ stdenv.mkDerivation { preConfigure = preConfigure + concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules; - patches = map fixPatch - (singleton (substituteAll { + patches = map fixPatch ([ + (substituteAll { src = ./nix-etag-1.15.4.patch; preInstall = '' export nixStoreDir="$NIX_STORE" nixStoreDirLen="''${#NIX_STORE}" ''; - }) ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - (fetchpatch { - url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/102-sizeof_test_fix.patch"; - sha256 = "0i2k30ac8d7inj9l6bl0684kjglam2f68z8lf3xggcc2i5wzhh8a"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/101-feature_test_fix.patch"; - sha256 = "0v6890a85aqmw60pgj3mm7g8nkaphgq65dj4v9c6h58wdsrc6f0y"; - }) - (fetchpatch { - url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/103-sys_nerr.patch"; - sha256 = "0s497x6mkz947aw29wdy073k8dyjq8j99lax1a1mzpikzr4rxlmd"; - }) - ] ++ mapModules "patches"); + }) + ./nix-skip-check-logs-path.patch + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/102-sizeof_test_fix.patch"; + sha256 = "0i2k30ac8d7inj9l6bl0684kjglam2f68z8lf3xggcc2i5wzhh8a"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/101-feature_test_fix.patch"; + sha256 = "0v6890a85aqmw60pgj3mm7g8nkaphgq65dj4v9c6h58wdsrc6f0y"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/openwrt/packages/master/net/nginx/patches/103-sys_nerr.patch"; + sha256 = "0s497x6mkz947aw29wdy073k8dyjq8j99lax1a1mzpikzr4rxlmd"; + }) + ] ++ mapModules "patches"); hardeningEnable = optional (!stdenv.isDarwin) "pie"; diff --git a/pkgs/servers/http/nginx/nix-skip-check-logs-path.patch b/pkgs/servers/http/nginx/nix-skip-check-logs-path.patch new file mode 100644 index 00000000000..a823660cc32 --- /dev/null +++ b/pkgs/servers/http/nginx/nix-skip-check-logs-path.patch @@ -0,0 +1,27 @@ +diff --git a/auto/install b/auto/install +index d884487..dccc411 100644 +--- a/auto/install ++++ b/auto/install +@@ -148,12 +148,6 @@ install: build $NGX_INSTALL_PERL_MODULES + || cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PATH' + cp conf/nginx.conf '\$(DESTDIR)$NGX_CONF_PREFIX/nginx.conf.default' + +- test -d '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' \\ +- || mkdir -p '\$(DESTDIR)`dirname "$NGX_PID_PATH"`' +- +- test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' \\ +- || mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' +- + test -d '\$(DESTDIR)$NGX_PREFIX/html' \\ + || cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX' + END +@@ -161,9 +155,6 @@ END + + if test -n "$NGX_ERROR_LOG_PATH"; then + cat << END >> $NGX_MAKEFILE +- +- test -d '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' \\ +- || mkdir -p '\$(DESTDIR)`dirname "$NGX_ERROR_LOG_PATH"`' + END + + fi diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix index 0e87b971985..9c01cfb19e1 100644 --- a/pkgs/servers/http/openresty/default.nix +++ b/pkgs/servers/http/openresty/default.nix @@ -16,10 +16,11 @@ callPackage ../nginx/generic.nix args rec { sha256 = "1a1la7vszv1parsnhphydblz64ffhycazncn3ividnvqg2mg735n"; }; - fixPatch = patch: - runCommand "openresty-${patch.name}" { src = patch; } '' + fixPatch = patch: let name = patch.name or (builtins.baseNameOf patch); in + runCommand "openresty-${name}" { src = patch; } '' substitute $src $out \ - --replace "src/" "bundle/nginx-${nginxVersion}/src/" + --replace "a/" "a/bundle/nginx-${nginxVersion}/" \ + --replace "b/" "b/bundle/nginx-${nginxVersion}/" ''; buildInputs = [ postgresql ]; From 1d71150c73bd3ee3a427950b4c8f29b5a7be060f Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sat, 25 Apr 2020 17:02:57 +0300 Subject: [PATCH 016/158] tengine: add ETag patch --- pkgs/servers/http/tengine/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix index 1593ad0c06f..41a913bd61e 100644 --- a/pkgs/servers/http/tengine/default.nix +++ b/pkgs/servers/http/tengine/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, openssl, zlib, pcre, libxml2, libxslt -, gd, geoip, gperftools, jemalloc +, substituteAll, gd, geoip, gperftools, jemalloc , withDebug ? false , withMail ? false , withStream ? false @@ -24,7 +24,12 @@ stdenv.mkDerivation rec { [ openssl zlib pcre libxml2 libxslt gd geoip gperftools jemalloc ] ++ concatMap (mod: mod.inputs or []) modules; - patches = [ + patches = singleton (substituteAll { + src = ../nginx/nix-etag-1.15.4.patch; + preInstall = '' + export nixStoreDir="$NIX_STORE" nixStoreDirLen="''${#NIX_STORE}" + ''; + }) ++ [ ./check-resolv-conf.patch ]; From 98e0cba4690d8034e4846ee5f36d2ddf68bb4ea3 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Sat, 25 Apr 2020 17:05:01 +0300 Subject: [PATCH 017/158] tengine: change logs path --- pkgs/servers/http/tengine/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix index 41a913bd61e..f3cae597ef9 100644 --- a/pkgs/servers/http/tengine/default.nix +++ b/pkgs/servers/http/tengine/default.nix @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { ''; }) ++ [ ./check-resolv-conf.patch + ../nginx/nix-skip-check-logs-path.patch ]; configureFlags = [ @@ -58,6 +59,14 @@ stdenv.mkDerivation rec { "--with-poll_module" "--with-google_perftools_module" "--with-jemalloc" + "--http-log-path=/var/log/nginx/access.log" + "--error-log-path=/var/log/nginx/error.log" + "--pid-path=/var/log/nginx/nginx.pid" + "--http-client-body-temp-path=/var/cache/nginx/client_body" + "--http-proxy-temp-path=/var/cache/nginx/proxy" + "--http-fastcgi-temp-path=/var/cache/nginx/fastcgi" + "--http-uwsgi-temp-path=/var/cache/nginx/uwsgi" + "--http-scgi-temp-path=/var/cache/nginx/scgi" ] ++ optionals withDebug [ "--with-debug" ] ++ optionals withMail [ From 9f099143bc025ec962c64bda651f85728643f0a2 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Mon, 27 Apr 2020 21:54:20 +0300 Subject: [PATCH 018/158] nixos/awstats: change path to nginx logs --- nixos/modules/services/logging/awstats.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/logging/awstats.nix b/nixos/modules/services/logging/awstats.nix index 5939d7808f7..896f52302ff 100644 --- a/nixos/modules/services/logging/awstats.nix +++ b/nixos/modules/services/logging/awstats.nix @@ -24,7 +24,7 @@ let logFile = mkOption { type = types.str; - example = "/var/spool/nginx/logs/access.log"; + example = "/var/log/nginx/access.log"; description = '' The log file to be scanned. @@ -110,7 +110,7 @@ in { "mysite" = { domain = "example.com"; - logFile = "/var/spool/nginx/logs/access.log"; + logFile = "/var/log/nginx/access.log"; }; } ''; From 7b368b30727d3970bc26f1d598eda8261f962d83 Mon Sep 17 00:00:00 2001 From: Izorkin Date: Mon, 27 Apr 2020 22:07:13 +0300 Subject: [PATCH 019/158] nixos/tests/service-runner: change paths to nginx logs and cache --- nixos/tests/service-runner.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/service-runner.nix b/nixos/tests/service-runner.nix index adb3fcd36d7..39ae66fe111 100644 --- a/nixos/tests/service-runner.nix +++ b/nixos/tests/service-runner.nix @@ -23,7 +23,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { machine.fail(f"curl {url}") machine.succeed( """ - mkdir -p /run/nginx /var/spool/nginx/logs + mkdir -p /run/nginx /var/log/nginx /var/cache/nginx ${nodes.machine.config.systemd.services.nginx.runner} & echo $!>my-nginx.pid """ From 2d8d8415c0c780307bcff62d1ba63f7ada46d1cb Mon Sep 17 00:00:00 2001 From: Izorkin Date: Mon, 27 Apr 2020 22:16:14 +0300 Subject: [PATCH 020/158] nixos/nginx: add release notes --- nixos/doc/manual/release-notes/rl-2009.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index c6a766cc045..d9f26f668f8 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -277,6 +277,13 @@ php.override { + + + The Nginx log directory has been moved to /var/log/nginx, the cache directory + to /var/cache/nginx. The option services.nginx.stateDir has + been removed. + + The httpd web server previously started its main process as root From 57e6799d907995242575d94bd37178c59cb3cc9a Mon Sep 17 00:00:00 2001 From: Ambroz Bizjak Date: Sun, 12 Jan 2020 23:36:15 +0100 Subject: [PATCH 021/158] kdegraphics-thumbnailers: Add patch for thumbnail.so hang. https://bugs.kde.org/show_bug.cgi?id=404652 https://phabricator.kde.org/D26635 --- pkgs/applications/kde/kdegraphics-thumbnailers.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/kde/kdegraphics-thumbnailers.nix b/pkgs/applications/kde/kdegraphics-thumbnailers.nix index 6ae45057f19..d98f2013339 100644 --- a/pkgs/applications/kde/kdegraphics-thumbnailers.nix +++ b/pkgs/applications/kde/kdegraphics-thumbnailers.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, + mkDerivation, lib, fetchpatch, extra-cmake-modules, karchive, kio, libkexiv2, libkdcraw }: @@ -9,6 +9,14 @@ mkDerivation { license = [ lib.licenses.lgpl21 ]; maintainers = [ lib.maintainers.ttuegel ]; }; + patches = [ + # Fix a bug with thumbnail.so processes hanging: + # https://bugs.kde.org/show_bug.cgi?id=404652 + (fetchpatch { + url = "https://phabricator.kde.org/file/data/tnk4b6roouixzifi6vre/PHID-FILE-qkkedevt7svx7lv56ea5/D26635.diff"; + sha256 = "0fq85zhymmrq8vl0y6vgh87qf4c6fhcq704p4kpkaq7y0isxj4h1"; + }) + ]; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ karchive kio libkexiv2 libkdcraw ]; } From 446fb0097af6eb479537166153cc23f2e2c7068a Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 13 Apr 2020 20:13:36 -0700 Subject: [PATCH 022/158] nixos/doas: init `doas` is a lighter alternative to `sudo` that "provide[s] 95% of the features of `sudo` with a fraction of the codebase" [1]. I prefer it to `sudo`, so I figured I would add a NixOS module in order for it to be easier to use. The module is based off of the existing `sudo` module. [1] https://github.com/Duncaen/OpenDoas --- nixos/modules/module-list.nix | 1 + nixos/modules/security/doas.nix | 274 ++++++++++++++++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/doas.nix | 83 ++++++++++ 4 files changed, 359 insertions(+) create mode 100644 nixos/modules/security/doas.nix create mode 100644 nixos/tests/doas.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 28f536056bf..40904ef0c17 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -200,6 +200,7 @@ ./security/rtkit.nix ./security/wrappers/default.nix ./security/sudo.nix + ./security/doas.nix ./security/systemd-confinement.nix ./security/tpm2.nix ./services/admin/oxidized.nix diff --git a/nixos/modules/security/doas.nix b/nixos/modules/security/doas.nix new file mode 100644 index 00000000000..1991a58db60 --- /dev/null +++ b/nixos/modules/security/doas.nix @@ -0,0 +1,274 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.security.doas; + + inherit (pkgs) doas; + + mkUsrString = user: toString user; + + mkGrpString = group: ":${toString group}"; + + mkOpts = rule: concatStringsSep " " [ + (optionalString rule.noPass "nopass") + (optionalString rule.persist "persist") + (optionalString rule.keepEnv "keepenv") + "setenv { SSH_AUTH_SOCK ${concatStringsSep " " rule.setEnv} }" + ]; + + mkArgs = rule: + if (isNull rule.args) then "" + else if (length rule.args == 0) then "args" + else "args ${concatStringsSep " " rule.args}"; + + mkRule = rule: + let + opts = mkOpts rule; + + as = optionalString (!isNull rule.runAs) "as ${rule.runAs}"; + + cmd = optionalString (!isNull rule.cmd) "cmd ${rule.cmd}"; + + args = mkArgs rule; + in + optionals (length cfg.extraRules > 0) [ + ( + optionalString (length rule.users > 0) + (map (usr: "permit ${opts} ${mkUsrString usr} ${as} ${cmd} ${args}") rule.users) + ) + ( + optionalString (length rule.groups > 0) + (map (grp: "permit ${opts} ${mkGrpString grp} ${as} ${cmd} ${args}") rule.groups) + ) + ]; +in +{ + + ###### interface + + options.security.doas = { + + enable = mkOption { + type = with types; bool; + default = false; + description = '' + Whether to enable the doas command, which allows + non-root users to execute commands as root. + ''; + }; + + wheelNeedsPassword = mkOption { + type = with types; bool; + default = true; + description = '' + Whether users of the wheel group must provide a password to + run commands as super user via doas. + ''; + }; + + extraRules = mkOption { + default = []; + description = '' + Define specific rules to be set in the + /etc/doas.conf file. More specific rules should + come after more general ones in order to yield the expected behavior. + You can use mkBefore and/or mkAfter to ensure + this is the case when configuration options are merged. + ''; + example = literalExample '' + [ + # Allow execution of any command by any user in group doas, requiring + # a password and keeping any previously-defined environment variables. + { groups = [ "doas" ]; noPass = false; keepEnv = true; } + + # Allow execution of "/home/root/secret.sh" by user `backup` OR user + # `database` OR any member of the group with GID `1006`, without a + # password. + { users = [ "backup" "database" ]; groups = [ 1006 ]; + cmd = "/home/root/secret.sh"; noPass = true; } + + # Allow any member of group `bar` to run `/home/baz/cmd1.sh` as user + # `foo` with argument `hello-doas`. + { groups = [ "bar" ]; runAs = "foo"; + cmd = "/home/baz/cmd1.sh"; args = [ "hello-doas" ]; } + + # Allow any member of group `bar` to run `/home/baz/cmd2.sh` as user + # `foo` with no arguments. + { groups = [ "bar" ]; runAs = "foo"; + cmd = "/home/baz/cmd2.sh"; args = [ ]; } + + # Allow user `abusers` to execute "nano" and unset the value of + # SSH_AUTH_SOCK, override the value of ALPHA to 1, and inherit the + # value of BETA from the current environment. + { users = [ "abusers" ]; cmd = "nano"; + setEnv = [ "-SSH_AUTH_SOCK" "ALPHA=1" "BETA" ]; } + ] + ''; + type = with types; listOf ( + submodule { + options = { + + noPass = mkOption { + type = with types; bool; + default = false; + description = '' + If true, the user is not required to enter a + password. + ''; + }; + + persist = mkOption { + type = with types; bool; + default = false; + description = '' + If true, do not ask for a password again for some + time after the user successfully authenticates. + ''; + }; + + keepEnv = mkOption { + type = with types; bool; + default = false; + description = '' + If true, environment variables other than those + listed in + doas1 + are kept when creating the environment for the new process. + ''; + }; + + setEnv = mkOption { + type = with types; listOf str; + default = []; + description = '' + Keep or set the specified variables. Variables may also be + removed with a leading '-' or set using + variable=value. If the first character of + value is a '$', the value to be set is taken from + the existing environment variable of the indicated name. This + option is processed after the default environment has been + created. + + NOTE: All rules have setenv { SSH_AUTH_SOCK } by + default. To prevent SSH_AUTH_SOCK from being + inherited, add "-SSH_AUTH_SOCK" anywhere in this + list. + ''; + }; + + users = mkOption { + type = with types; listOf (either str int); + default = []; + description = "The usernames / UIDs this rule should apply for."; + }; + + groups = mkOption { + type = with types; listOf (either str int); + default = []; + description = "The groups / GIDs this rule should apply for."; + }; + + runAs = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Which user or group the specified command is allowed to run as. + When set to null (the default), all users are + allowed. + + A user can be specified using just the username: + "foo". It is also possible to only allow running as + a specific group with ":bar". + ''; + }; + + cmd = mkOption { + type = with types; nullOr str; + default = null; + description = '' + The command the user is allowed to run. When set to + null (the default), all commands are allowed. + + NOTE: It is best practice to specify absolute paths. If a + relative path is specified, only a restricted PATH will be + searched. + ''; + }; + + args = mkOption { + type = with types; nullOr (listOf str); + default = null; + description = '' + Arguments that must be provided to the command. When set to + [], the command must be run without any arguments. + ''; + }; + }; + } + ); + }; + + extraConfig = mkOption { + type = with types; lines; + default = ""; + description = '' + Extra configuration text appended to doas.conf. + ''; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + + security.doas.extraRules = [ + { + groups = [ "wheel" ]; + noPass = !cfg.wheelNeedsPassword; + } + ]; + + security.wrappers = { + doas.source = "${doas}/bin/doas"; + }; + + environment.systemPackages = [ + doas + ]; + + security.pam.services.doas = { + allowNullPassword = true; + sshAgentAuth = true; + }; + + environment.etc."doas.conf" = { + source = pkgs.runCommand "doas-conf" + { + src = pkgs.writeText "doas-conf-in" '' + # To modify this file, set the NixOS options + # `security.doas.extraRules` or `security.doas.extraConfig`. To + # completely replace the contents of this file, use + # `environment.etc."doas.conf"`. + + # "root" is allowed to do anything. + permit nopass keepenv root + + # extraRules + ${concatStringsSep "\n" (lists.flatten (map mkRule cfg.extraRules))} + + # extraConfig + ${cfg.extraConfig} + ''; + preferLocalBuild = true; + } + # Make sure that the doas.conf file is syntactically valid. + "${pkgs.buildPackages.doas}/bin/doas -C $src && cp $src $out"; + mode = "0440"; + }; + + }; + + meta.maintainers = with maintainers; [ cole-h ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index ebb0dfef15a..b8ff4647b9f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -69,6 +69,7 @@ in deluge = handleTest ./deluge.nix {}; dhparams = handleTest ./dhparams.nix {}; dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {}; + doas = handleTest ./doas.nix {}; docker = handleTestOn ["x86_64-linux"] ./docker.nix {}; oci-containers = handleTestOn ["x86_64-linux"] ./oci-containers.nix {}; docker-edge = handleTestOn ["x86_64-linux"] ./docker-edge.nix {}; diff --git a/nixos/tests/doas.nix b/nixos/tests/doas.nix new file mode 100644 index 00000000000..9c0a4bdc756 --- /dev/null +++ b/nixos/tests/doas.nix @@ -0,0 +1,83 @@ +# Some tests to ensure doas is working properly. +import ./make-test-python.nix ( + { lib, ... }: { + name = "doas"; + meta = with lib.maintainers; { + maintainers = [ cole-h ]; + }; + + machine = + { ... }: + { + users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; }; + users.users = { + test0 = { isNormalUser = true; extraGroups = [ "wheel" ]; }; + test1 = { isNormalUser = true; }; + test2 = { isNormalUser = true; extraGroups = [ "foobar" ]; }; + test3 = { isNormalUser = true; extraGroups = [ "barfoo" ]; }; + test4 = { isNormalUser = true; extraGroups = [ "baz" ]; }; + test5 = { isNormalUser = true; }; + test6 = { isNormalUser = true; }; + test7 = { isNormalUser = true; }; + }; + + security.doas = { + enable = true; + wheelNeedsPassword = false; + + extraRules = [ + { users = [ "test1" ]; groups = [ "foobar" ]; } + { users = [ "test2" ]; noPass = true; setEnv = [ "CORRECT" "HORSE=BATTERY" ]; } + { groups = [ "barfoo" 1337 ]; noPass = true; } + { users = [ "test5" ]; noPass = true; keepEnv = true; runAs = "test1"; } + { users = [ "test6" ]; noPass = true; keepEnv = true; setEnv = [ "-STAPLE" ]; } + { users = [ "test7" ]; noPass = true; setEnv = [ "-SSH_AUTH_SOCK" ]; } + ]; + }; + }; + + testScript = '' + with subtest("users in wheel group should have passwordless doas"): + machine.succeed('su - test0 -c "doas -u root true"') + + with subtest("test1 user should not be able to use doas without password"): + machine.fail('su - test1 -c "doas -n -u root true"') + + with subtest("test2 user should be able to keep some env"): + if "CORRECT=1" not in machine.succeed('su - test2 -c "CORRECT=1 doas env"'): + raise Exception("failed to keep CORRECT") + + if "HORSE=BATTERY" not in machine.succeed('su - test2 -c "doas env"'): + raise Exception("failed to setenv HORSE=BATTERY") + + with subtest("users in group 'barfoo' shouldn't require password"): + machine.succeed("doas -u test3 doas -n -u root true") + + with subtest("users in group 'baz' (GID 1337) shouldn't require password"): + machine.succeed("doas -u test4 doas -n -u root echo true") + + with subtest("test5 user should be able to run commands under test1"): + machine.succeed("doas -u test5 doas -n -u test1 true") + + with subtest("test5 user should not be able to run commands under root"): + machine.fail("doas -u test5 doas -n -u root true") + + with subtest("test6 user should be able to keepenv"): + envs = ["BATTERY=HORSE", "CORRECT=false"] + out = machine.succeed( + 'su - test6 -c "BATTERY=HORSE CORRECT=false STAPLE=Tr0ub4dor doas env"' + ) + + if not all(env in out for env in envs): + raise Exception("failed to keep BATTERY or CORRECT") + if "STAPLE=Tr0ub4dor" in out: + raise Exception("failed to exclude STAPLE") + + with subtest("test7 should not have access to SSH_AUTH_SOCK"): + if "SSH_AUTH_SOCK=HOLEY" in machine.succeed( + 'su - test7 -c "SSH_AUTH_SOCK=HOLEY doas env"' + ): + raise Exception("failed to exclude SSH_AUTH_SOCK") + ''; + } +) From 8244a7b6827e805bc77a8e24df4d7faad54ad172 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 5 May 2020 07:07:09 +0000 Subject: [PATCH 023/158] gitkraken: 6.5.4 -> 6.6.0 --- pkgs/applications/version-management/gitkraken/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix index c8b906c055a..c5ee8f39443 100644 --- a/pkgs/applications/version-management/gitkraken/default.nix +++ b/pkgs/applications/version-management/gitkraken/default.nix @@ -13,11 +13,11 @@ let in stdenv.mkDerivation rec { pname = "gitkraken"; - version = "6.5.4"; + version = "6.6.0"; src = fetchzip { url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz"; - sha256 = "0hrxkhxp6kp82jg1pkcl6vxa5mjpgncx0k353bcnm4986ysizhj4"; + sha256 = "1k94dyynsnm90mp7q9h6baq6q9zi539b1qszf3mqvd5i0id9kjcw"; }; dontBuild = true; From f798f07619b373a04c5cde895dd9b590cdb8ee5a Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 4 May 2020 14:52:45 -0700 Subject: [PATCH 024/158] rl-2009: document new module security.doas --- nixos/doc/manual/release-notes/rl-2009.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index c6a766cc045..3181e473d82 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -77,7 +77,9 @@ - + + There is a new module that provides doas, a lighter alternative to sudo with many of the same features. + From 897a1e639380e0178ed457c2e3f03745ab4522c7 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Mon, 27 Apr 2020 22:22:56 +0200 Subject: [PATCH 025/158] etcher: 1.5.60 -> 1.5.86 --- pkgs/tools/misc/etcher/default.nix | 66 +++++++++++++----------------- 1 file changed, 28 insertions(+), 38 deletions(-) diff --git a/pkgs/tools/misc/etcher/default.nix b/pkgs/tools/misc/etcher/default.nix index 4944600108a..0d2029fa314 100644 --- a/pkgs/tools/misc/etcher/default.nix +++ b/pkgs/tools/misc/etcher/default.nix @@ -1,25 +1,19 @@ -{ lib -, stdenv +{ stdenv , fetchurl , gcc-unwrapped , dpkg , polkit +, utillinux , bash , nodePackages -, electron_3 -, gtk3 -, wrapGAppsHook +, makeWrapper +, electron_7 }: let - libPath = lib.makeLibraryPath [ - # for libstdc++.so.6 - gcc-unwrapped.lib - ]; - sha256 = { - "x86_64-linux" = "0zb9j34dz7ybjix018bm8g0b6kilw9300q4ahcm22p0ggg528dh7"; - "i686-linux" = "0wsv4mvwrvsaz1pwiqs94b3854h5l8ff2dbb1ybxmvwjbfrkdcqc"; + "x86_64-linux" = "1yvqi86bw0kym401zwknhwq9041fxg047sbj3aydnfcqf11vrrmk"; + "i686-linux" = "12lghzhsl16h3jvzm3vw4hrly32fz99z6rdmybl8viralrxy8mb8"; }."${stdenv.system}"; arch = { @@ -27,26 +21,22 @@ let "i686-linux" = "i386"; }."${stdenv.system}"; -in stdenv.mkDerivation rec { +in + +stdenv.mkDerivation rec { pname = "etcher"; - version = "1.5.60"; + version = "1.5.86"; src = fetchurl { url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb"; inherit sha256; }; - buildInputs = [ - gtk3 - ]; - - nativeBuildInputs = [ - wrapGAppsHook - ]; - dontBuild = true; dontConfigure = true; + nativeBuildInputs = [ makeWrapper ]; + unpackPhase = '' ${dpkg}/bin/dpkg-deb -x $src . ''; @@ -55,33 +45,33 @@ in stdenv.mkDerivation rec { # along with some other paths patchPhase = '' ${nodePackages.asar}/bin/asar extract opt/balenaEtcher/resources/app.asar tmp - # Use Nix(OS) paths + # use Nix(OS) paths sed -i "s|/usr/bin/pkexec|/usr/bin/pkexec', '/run/wrappers/bin/pkexec|" tmp/node_modules/sudo-prompt/index.js sed -i 's|/bin/bash|${bash}/bin/bash|' tmp/node_modules/sudo-prompt/index.js - sed -i "s|process.resourcesPath|'$out/opt/balenaEtcher/resources/'|" tmp/generated/gui.js + sed -i "s|'lsblk'|'${utillinux}/bin/lsblk'|" tmp/node_modules/drivelist/js/lsblk/index.js + sed -i "s|process.resourcesPath|'$out/share/${pname}/resources/'|" tmp/generated/gui.js ${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar rm -rf tmp - # Fix up .desktop file - substituteInPlace usr/share/applications/balena-etcher-electron.desktop \ - --replace "/opt/balenaEtcher/balena-etcher-electron" "$out/bin/balena-etcher-electron" ''; installPhase = '' - mkdir -p $out/bin - cp -r opt $out/ - cp -r usr/share $out/ + runHook preInstall - # We'll use our Nixpkgs electron_3 instead - rm $out/opt/balenaEtcher/balena-etcher-electron + mkdir -p $out/bin $out/share/${pname} - ln -s ${electron_3}/bin/electron $out/bin/balena-etcher-electron + cp -a usr/share/* $out/share + cp -a opt/balenaEtcher/{locales,resources} $out/share/${pname} + + substituteInPlace $out/share/applications/balena-etcher-electron.desktop \ + --replace 'Exec=/opt/balenaEtcher/balena-etcher-electron' 'Exec=${pname}' + + runHook postInstall ''; - preFixup = '' - gappsWrapperArgs+=( - --add-flags $out/opt/balenaEtcher/resources/app.asar - --prefix LD_LIBRARY_PATH : ${libPath} - ) + postFixup = '' + makeWrapper ${electron_7}/bin/electron $out/bin/${pname} \ + --add-flags $out/share/${pname}/resources/app.asar \ + --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ gcc-unwrapped.lib ]}" ''; meta = with stdenv.lib; { From 18a1b153ac9039b3cad1b69b5b437ffd56478b30 Mon Sep 17 00:00:00 2001 From: Evils Date: Mon, 30 Mar 2020 06:13:59 +0200 Subject: [PATCH 026/158] kicad: expose base and libraries attributes --- .../science/electronics/kicad/base.nix | 13 +++++------ .../science/electronics/kicad/default.nix | 23 +++++++++---------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix index 6bc66596229..b3e4bf92f7b 100644 --- a/pkgs/applications/science/electronics/kicad/base.nix +++ b/pkgs/applications/science/electronics/kicad/base.nix @@ -2,7 +2,6 @@ , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig , doxygen, pcre, libpthreadstubs, libXdmcp, fetchpatch, lndir, callPackages -, pname ? "kicad" , stable ? true , baseName ? "kicad" , versions ? { } @@ -20,26 +19,26 @@ with lib; let versionConfig = versions.${baseName}; - baseVersion = "${versions.${baseName}.kicadVersion.version}"; # oce on aarch64 fails a test withOCE = oceSupport && !stdenv.isAarch64; withOCC = (withOCCT && !withOCE) || (oceSupport && stdenv.isAarch64); - kicad-libraries = callPackages ./libraries.nix versionConfig.libVersion; + libraries = callPackages ./libraries.nix versionConfig.libVersion; in stdenv.mkDerivation rec { - inherit pname; - version = "base-${baseVersion}"; + i18n = libraries.i18n; + + pname = "kicad-base"; + version = "${versions.${baseName}.kicadVersion.version}"; src = fetchFromGitLab ( { group = "kicad"; owner = "code"; repo = "kicad"; - rev = baseVersion; } // versionConfig.kicadVersion.src ); @@ -113,7 +112,7 @@ stdenv.mkDerivation rec { postInstall = optional (withI18n) '' mkdir -p $out/share - lndir ${kicad-libraries.i18n}/share $out/share + lndir ${i18n}/share $out/share ''; meta = { diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index f03a0a0ccef..221dbaf9287 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -35,17 +35,16 @@ let python = python3; wxPython = python3Packages.wxPython_4_0; - libraries = callPackages ./libraries.nix versionConfig.libVersion; +in +stdenv.mkDerivation rec { + + passthru.libraries = callPackages ./libraries.nix versionConfig.libVersion; base = callPackage ./base.nix { - pname = baseName; inherit versions stable baseName; inherit wxGTK python wxPython; inherit debug withI18n withOCCT oceSupport ngspiceSupport scriptingSupport; }; -in -stdenv.mkDerivation rec { - inherit pname; version = versions.${baseName}.kicadVersion.version; @@ -63,7 +62,7 @@ stdenv.mkDerivation rec { # wrapGAppsHook added the equivalent to ${base}/share # though i noticed no difference without it - makeWrapperArgs = [ + makeWrapperArgs = with passthru.libraries; [ "--prefix XDG_DATA_DIRS : ${base}/share" "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" "--prefix XDG_DATA_DIRS : ${gnome3.defaultIconTheme}/share" @@ -73,13 +72,13 @@ stdenv.mkDerivation rec { "--prefix XDG_DATA_DIRS : ${cups}/share" "--prefix GIO_EXTRA_MODULES : ${gnome3.dconf}/lib/gio/modules" - "--set KISYSMOD ${libraries.footprints}/share/kicad/modules" - "--set KICAD_SYMBOL_DIR ${libraries.symbols}/share/kicad/library" - "--set KICAD_TEMPLATE_DIR ${libraries.templates}/share/kicad/template" - "--prefix KICAD_TEMPLATE_DIR : ${libraries.symbols}/share/kicad/template" - "--prefix KICAD_TEMPLATE_DIR : ${libraries.footprints}/share/kicad/template" + "--set KISYSMOD ${footprints}/share/kicad/modules" + "--set KICAD_SYMBOL_DIR ${symbols}/share/kicad/library" + "--set KICAD_TEMPLATE_DIR ${templates}/share/kicad/template" + "--prefix KICAD_TEMPLATE_DIR : ${symbols}/share/kicad/template" + "--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template" ] - ++ optionals (with3d) [ "--set KISYS3DMOD ${libraries.packages3d}/share/kicad/modules/packages3d" ] + ++ optionals (with3d) [ "--set KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ] ++ optionals (ngspiceSupport) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ] # infinisil's workaround for #39493 From 95e4e33bdfd03adce366f09b5cd7db4ee9e86a91 Mon Sep 17 00:00:00 2001 From: Evils Date: Sat, 28 Mar 2020 01:39:57 +0100 Subject: [PATCH 027/158] kicad-unstable-small: init to make kicad-unstable the -small packages depend on all hydra buildable dependencies the non-small ones depend on packages3d which exceeds hydra's limit set platforms to all (kicad is cross-platform) clarify package differences in the description set maintainers on just the top level derivation switch -unstable to not save debug symbols indicate patch in version string note broken dependencies --- .../science/electronics/kicad/base.nix | 7 ++-- .../science/electronics/kicad/default.nix | 33 ++++++++++------ .../science/electronics/kicad/libraries.nix | 39 ++++++++++++------- pkgs/top-level/all-packages.nix | 9 ++++- 4 files changed, 57 insertions(+), 31 deletions(-) diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix index b3e4bf92f7b..9fc1111c7b9 100644 --- a/pkgs/applications/science/electronics/kicad/base.nix +++ b/pkgs/applications/science/electronics/kicad/base.nix @@ -56,9 +56,11 @@ stdenv.mkDerivation rec { # tagged releases don't have "unknown" # kicad nightlies use git describe --dirty # nix removes .git, so its approximated here + # "-1" appended to indicate we're adding a patch postPatch = '' substituteInPlace CMakeModules/KiCadVersion.cmake \ - --replace "unknown" ${builtins.substring 0 10 src.rev} + --replace "unknown" "${builtins.substring 0 10 src.rev}-1" \ + --replace "${version}" "${version}-1" ''; makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ]; @@ -123,7 +125,6 @@ stdenv.mkDerivation rec { ''; homepage = "https://www.kicad-pcb.org/"; license = licenses.agpl3; - maintainers = with maintainers; [ evils kiwi berce ]; - platforms = with platforms; linux; + platforms = platforms.all; }; } diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 221dbaf9287..51ec1dad8aa 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -4,6 +4,7 @@ , librsvg, cups , pname ? "kicad" +, stable ? true , oceSupport ? false, opencascade , withOCCT ? true, opencascade-occt , ngspiceSupport ? true, libngspice @@ -18,7 +19,6 @@ assert ngspiceSupport -> libngspice != null; with lib; let - stable = pname != "kicad-unstable"; baseName = if (stable) then "kicad" else "kicad-unstable"; versions = import ./versions.nix; @@ -122,10 +122,11 @@ stdenv.mkDerivation rec { # and can't git commit if this could be running in parallel with other scripts passthru.updateScript = [ ./update.sh "all" ]; - meta = { - description = if (stable) - then "Open Source Electronics Design Automation Suite" - else "Open Source EDA Suite, Development Build"; + meta = rec { + description = (if (stable) + then "Open Source Electronics Design Automation suite" + else "Open Source EDA suite, development build") + + (if (!with3d) then ", without 3D models" else ""); homepage = "https://www.kicad-pcb.org/"; longDescription = '' KiCad is an open source software suite for Electronic Design Automation. @@ -133,12 +134,20 @@ stdenv.mkDerivation rec { ''; license = licenses.agpl3; # berce seems inactive... - maintainers = with maintainers; [ evils kiwi berce ]; - # kicad's cross-platform, not sure what to fill in here - platforms = with platforms; linux; - } // optionalAttrs with3d { - # We can't download the 3d models on Hydra - they are a ~1 GiB download and - # they occupy ~5 GiB in store. - hydraPlatforms = []; + maintainers = with stdenv.lib.maintainers; [ evils kiwi berce ]; + # kicad is cross platform + platforms = stdenv.lib.platforms.all; + # despite that, nipkgs' wxGTK for darwin is "wxmac" + # and wxPython_4_0 does not account for this + # adjusting this package to downgrade to python2Packages.wxPython (wxPython 3), + # seems like more trouble than fixing wxPython_4_0 would be + # additionally, libngspice is marked as linux only, though it should support darwin + + hydraPlatforms = if (with3d) then [ ] else platforms; + # We can't download the 3d models on Hydra, + # they are a ~1 GiB download and they occupy ~5 GiB in store. + # as long as the base and libraries (minus 3d) are build, + # this wrapper does not need to get built + # the kicad-*small "packages" cause this to happen }; } diff --git a/pkgs/applications/science/electronics/kicad/libraries.nix b/pkgs/applications/science/electronics/kicad/libraries.nix index 7cdf9373e08..4dde2a0a122 100644 --- a/pkgs/applications/science/electronics/kicad/libraries.nix +++ b/pkgs/applications/science/electronics/kicad/libraries.nix @@ -13,21 +13,27 @@ with lib; let mkLib = name: - stdenv.mkDerivation - { - pname = "kicad-${name}"; - version = "${version}"; - src = fetchFromGitHub ( - { - owner = "KiCad"; - repo = "kicad-${name}"; - rev = version; - inherit name; - } // (libSources.${name} or { }) - ); - nativeBuildInputs = [ cmake ]; - meta.license = licenses.cc-by-sa-40; + stdenv.mkDerivation { + pname = "kicad-${name}"; + version = "${version}"; + src = fetchFromGitHub ( + { + owner = "KiCad"; + repo = "kicad-${name}"; + rev = version; + inherit name; + } // (libSources.${name} or { }) + ); + nativeBuildInputs = [ cmake ]; + + meta = rec { + license = licenses.cc-by-sa-40; + platforms = stdenv.lib.platforms.all; + # the 3d models are a ~1 GiB download and occupy ~5 GiB in store. + # this would exceed the hydra output limit + hydraPlatforms = if (name == "packages3d" ) then [ ] else platforms; }; + }; in { symbols = mkLib "symbols"; @@ -56,6 +62,9 @@ in ); buildInputs = [ gettext ]; nativeBuildInputs = [ cmake ]; - meta.license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3 + meta = { + license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3 + platforms = stdenv.lib.platforms.all; + }; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2e8eb8461ee..269d5b577ab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24894,9 +24894,16 @@ in fped = callPackage ../applications/science/electronics/fped { }; + # this is a wrapper for kicad.base and kicad.libraries kicad = callPackage ../applications/science/electronics/kicad { }; kicad-small = kicad.override { pname = "kicad-small"; with3d = false; }; - kicad-unstable = kicad.override { pname = "kicad-unstable"; debug = true; }; + kicad-unstable = kicad.override { pname = "kicad-unstable"; stable = false; }; + # mostly here so the kicad-unstable components (except packages3d) get built + kicad-unstable-small = kicad.override { + pname = "kicad-unstable-small"; + stable = false; + with3d = false; + }; librepcb = libsForQt5.callPackage ../applications/science/electronics/librepcb { }; From 1059fdf1433bc4964faaa2010bfde54d8c8c687f Mon Sep 17 00:00:00 2001 From: Evils Date: Sun, 5 Apr 2020 21:23:36 +0200 Subject: [PATCH 028/158] kicad: link utils; clean up wrapper installPhase --- .../science/electronics/kicad/default.nix | 47 ++++++++----------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 51ec1dad8aa..2aa2686a29a 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -85,34 +85,27 @@ stdenv.mkDerivation rec { ++ [ "--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ] ; - # dunno why i have to add $makeWrapperArgs manually... + # why does $makeWrapperArgs have to be added explicitly? # $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set? - # not sure if anything has to be done with the other stuff in base/bin - # dxf2idf, idf2vrml, idfcyl, idfrect, kicad2step, kicad-ogltest - installPhase = - optionalString (scriptingSupport) '' buildPythonPath "${base} $pythonPath" - '' + - '' makeWrapper ${base}/bin/kicad $out/bin/kicad $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/pcbnew $out/bin/pcbnew $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/eeschema $out/bin/eeschema $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/gerbview $out/bin/gerbview $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/pcb_calculator $out/bin/pcb_calculator $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/pl_editor $out/bin/pl_editor $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/bitmap2component $out/bin/bitmap2component $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + # kicad-ogltest's source seems to indicate that crashing is expected behaviour... + installPhase = with lib; + let + tools = [ "kicad" "pcbnew" "eeschema" "gerbview" "pcb_calculator" "pl_editor" "bitmap2component" ]; + utils = [ "dxf2idf" "idf2vrml" "idfcyl" "idfrect" "kicad2step" "kicad-ogltest" ]; + in + ( concatStringsSep "\n" + ( flatten [ + ( optionalString (scriptingSupport) "buildPythonPath \"${base} $pythonPath\" \n" ) + + # wrap each of the directly usable tools + ( map ( tool: "makeWrapper ${base}/bin/${tool} $out/bin/${tool} $makeWrapperArgs" + + optionalString (scriptingSupport) " --set PYTHONPATH \"$program_PYTHONPATH\"" + ) tools ) + + # link in the CLI utils + ( map ( util: "ln -s ${base}/bin/${util} $out/bin/${util}" ) utils ) + ]) + ) ; # can't run this for each pname From 2d3d8c4d6676e353d73d0028ec52217a01070e88 Mon Sep 17 00:00:00 2001 From: Evils Date: Sat, 2 May 2020 13:22:57 +0200 Subject: [PATCH 029/158] kicad-unstable: 2020-04-25 -> 2020-05-06 --- .../science/electronics/kicad/versions.nix | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix index 174532d6962..2b7c91751e5 100644 --- a/pkgs/applications/science/electronics/kicad/versions.nix +++ b/pkgs/applications/science/electronics/kicad/versions.nix @@ -27,25 +27,25 @@ }; "kicad-unstable" = { kicadVersion = { - version = "2020-04-25"; + version = "2020-05-06"; src = { - rev = "3759799d1e03b2da6a0dcd72273e4978880fc8f1"; - sha256 = "0ba14fla8m5zli68wfjkfc4ymvj4j8z92y3jigxs8hys0450bybi"; + rev = "c92181621e2e51dc8aae1bd9f4483bb3301ffaa5"; + sha256 = "0s50xn5gbjy7yxnp9yiynxvxi2mkcrp6yghgdzclpm40rnfyi0v5"; }; }; libVersion = { - version = "2020-04-25"; + version = "2020-05-06"; libSources = { - i18n.rev = "fc14baa52ca56a58b0048ab860bf31887d3cf8eb"; - i18n.sha256 = "05nayab7dkjyq7g3i9q7k55hcckpc0cmq4bbklmxx16rx4rbhzc6"; - symbols.rev = "0f9ff2d17237f90bb649bf0a52b6d454f68197e8"; - symbols.sha256 = "1a54428syn2xksc00n2bvh1alrx2vrqmp7cg7d2rn8nlq8yk4qd5"; + i18n.rev = "f29cab831eb823165fa2c5efab5d9c9b443e62e2"; + i18n.sha256 = "0cc0zvpml75yxphay3281f762ls08fzvv538cd5hmkr8xqlj3vbi"; + symbols.rev = "d4245ae8cf633095a0994ab01492bd56cd124112"; + symbols.sha256 = "11pynjgji3skw42q5mryz98f8z418k43jy6s2k90w6jv638z3cb0"; templates.rev = "7db8d4d0ea0711f1961d117853547fb3edbc3857"; templates.sha256 = "1hppcsrkn4dk6ggby6ckh0q65qxkywrbyxa4lwpaf7pxjyv498xg"; - footprints.rev = "61df6d8853b4c68cca0ac87784c0a33cff9394d3"; - footprints.sha256 = "0blmhk8pwd4mi6rlsr4lf4lq7j01h6xbpbvr3pm8pmw8zylhi54v"; - packages3d.rev = "88bcf2e817fe000bb2c05e14489afc3b1a4e10ed"; - packages3d.sha256 = "0z9p1fn5xbz940kr5jz2ibzf09hpdi1c9izmabkffvrnfy6408x6"; + footprints.rev = "3bff23ee339bc48490bb39deba5d8b2f1f42733e"; + footprints.sha256 = "0430r8k49ib6w1sjr8fx42szbz960yhlzg4w80jl5bwasq67nqwd"; + packages3d.rev = "889a3dd550233ec51baed4a04a01d4cc64a8d747"; + packages3d.sha256 = "152zv4j51v8skqlvrabblpcqpbn5yf3grisjj8vnwf7kdd41chb2"; }; }; }; From c54d37598a27941621228c7b4bb1eebb2dfaafdd Mon Sep 17 00:00:00 2001 From: "D. Guthrie" Date: Thu, 7 May 2020 17:37:53 +0100 Subject: [PATCH 030/158] Set upstream to https://github.com/ibara/mg As per reasonable suggestion, instead of extensively patching the hboetes version of mg to work on MacOS using bits from ibara's mg, just set upstream to ibara's mg. This also removes the dependency on libbsd, although I'm not sure if this is a good or bad thing. --- .../editors/mg/darwin_no_libbsd.patch | 1426 ----------------- pkgs/applications/editors/mg/default.nix | 16 +- 2 files changed, 7 insertions(+), 1435 deletions(-) delete mode 100644 pkgs/applications/editors/mg/darwin_no_libbsd.patch diff --git a/pkgs/applications/editors/mg/darwin_no_libbsd.patch b/pkgs/applications/editors/mg/darwin_no_libbsd.patch deleted file mode 100644 index 1863f2952b2..00000000000 --- a/pkgs/applications/editors/mg/darwin_no_libbsd.patch +++ /dev/null @@ -1,1426 +0,0 @@ -diff -Naur a/GNUmakefile b/GNUmakefile ---- a/GNUmakefile 2020-04-20 21:09:41.000000000 +0100 -+++ b/GNUmakefile 2020-04-21 19:01:59.000000000 +0100 -@@ -18,7 +18,7 @@ - STRIP= /usr/bin/strip - - UNAME:= $(shell uname) --ifeq ($(UNAME),FreeBSD) -+ifeq ($(UNAME),Darwin) - BSD_CPPFLAGS:= - BSD_LIBS:= -lutil - else -@@ -38,10 +38,6 @@ - $(error You probably need to install "libncurses5-dev" or "libncurses6-devel" or something like that.) - endif - --ifdef STATIC -- LDFLAGS=-static -static-libgcc --endif -- - CC?= gcc - CFLAGS?= -O2 -pipe - CFLAGS+= -g -Wall -@@ -52,10 +48,11 @@ - - - OBJS= autoexec.o basic.o bell.o buffer.o cinfo.o dir.o display.o \ -- echo.o extend.o file.o fileio.o funmap.o interpreter.o help.o \ -- kbd.o keymap.o line.o macro.o main.o match.o modes.o paragraph.o \ -- re_search.o region.o search.o spawn.o tty.o ttyio.o ttykbd.o \ -- undo.o util.o version.o window.o word.o yank.o -+ echo.o extend.o file.o fileio.o funmap.o futimens.o interpreter.o \ -+ help.o kbd.o keymap.o line.o macro.o main.o match.o modes.o \ -+ paragraph.o re_search.o reallocarray.o region.o search.o spawn.o \ -+ strtonum.o tty.o ttyio.o ttykbd.o undo.o util.o version.o window.o \ -+ word.o yank.o - OBJS+= cmode.o cscope.o dired.o grep.o tags.o - - -diff -Naur a/_null.h b/_null.h ---- a/_null.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/_null.h 2020-04-21 19:01:59.000000000 +0100 -@@ -0,0 +1,18 @@ -+/* $OpenBSD: _null.h,v 1.2 2016/09/09 22:07:58 millert Exp $ */ -+ -+/* -+ * Written by Todd C. Miller, September 9, 2016 -+ * Public domain. -+ */ -+ -+#ifndef NULL -+#if !defined(__cplusplus) -+#define NULL ((void *)0) -+#elif __cplusplus >= 201103L -+#define NULL nullptr -+#elif defined(__GNUG__) -+#define NULL __null -+#else -+#define NULL 0L -+#endif -+#endif -diff -Naur a/apple.h b/apple.h ---- a/apple.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/apple.h 2020-04-21 19:01:59.000000000 +0100 -@@ -0,0 +1,27 @@ -+/* -+ * Mac OS X-specific support. -+ */ -+ -+#include -+#include -+ -+#include -+#include -+ -+/* -+ * fparseln() specific operation flags. -+ */ -+#define FPARSELN_UNESCESC 0x01 -+#define FPARSELN_UNESCCONT 0x02 -+#define FPARSELN_UNESCCOMM 0x04 -+#define FPARSELN_UNESCREST 0x08 -+#define FPARSELN_UNESCALL 0x0f -+ -+/* struct stat compatibilty */ -+#define st_atim st_atimespec -+#define st_mtim st_mtimespec -+#define st_ctim st_ctimespec -+ -+extern long long strtonum(const char *, long long, long long, const char **); -+extern void *reallocarray(void *, size_t, size_t); -+extern int futimens(int, const struct timespec[2]); -diff -Naur a/autoexec.c b/autoexec.c ---- a/autoexec.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/autoexec.c 2020-04-21 19:01:59.000000000 +0100 -@@ -9,6 +9,9 @@ - #include - #include - -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - #include "funmap.h" - -diff -Naur a/basic.c b/basic.c ---- a/basic.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/basic.c 2020-04-21 19:01:59.000000000 +0100 -@@ -19,6 +19,9 @@ - #include - #include - -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - - #define percint(n1, n2) ((n1 * (int) n2) * 0.1) -diff -Naur a/cscope.c b/cscope.c ---- a/cscope.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/cscope.c 2020-04-21 19:01:59.000000000 +0100 -@@ -20,6 +20,9 @@ - #include - #include - -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - - #define CSSYMBOL 0 -diff -Naur a/display.c b/display.c ---- a/display.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/display.c 2020-04-21 19:01:59.000000000 +0100 -@@ -19,6 +19,9 @@ - #include - #include - -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - #include "kbd.h" - -diff -Naur a/fileio.c b/fileio.c ---- a/fileio.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/fileio.c 2020-04-21 19:01:59.000000000 +0100 -@@ -22,19 +22,13 @@ - #include - #include - #include -- -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - #include "kbd.h" - #include "pathnames.h" - --#ifndef MAXNAMLEN --#define MAXNAMLEN 255 --#endif -- --#ifndef DEFFILEMODE --#define DEFFILEMODE 0666 --#endif -- - static char *bkuplocation(const char *); - static int bkupleavetmp(const char *); - -@@ -710,7 +704,7 @@ - struct stat statbuf; - const char *cp; - char user[LOGIN_NAME_MAX], path[NFILEN]; -- char *ret; -+ char *un, *ret; - size_t ulen, plen; - - path[0] = '\0'; -@@ -729,18 +723,21 @@ - return (NULL); - return(ret); - } -- if (ulen == 0) /* ~/ or ~ */ -- pw = getpwuid(geteuid()); -- else { /* ~user/ or ~user */ -+ if (ulen == 0) { /* ~/ or ~ */ -+ if ((un = getlogin()) != NULL) -+ (void)strlcpy(user, un, sizeof(user)); -+ else -+ user[0] = '\0'; -+ } else { /* ~user/ or ~user */ - memcpy(user, &fn[1], ulen); - user[ulen] = '\0'; -- pw = getpwnam(user); - } -+ pw = getpwnam(user); - if (pw != NULL) { - plen = strlcpy(path, pw->pw_dir, sizeof(path)); - if (plen == 0 || path[plen - 1] != '/') { - if (strlcat(path, "/", sizeof(path)) >= sizeof(path)) { -- dobeep(); -+ dobeep(); - ewprintf("Path too long"); - return (NULL); - } -diff -Naur a/futimens.c b/futimens.c ---- a/futimens.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/futimens.c 2020-04-21 19:01:59.000000000 +0100 -@@ -0,0 +1,14 @@ -+/* This file is in the public domain. */ -+ -+#include -+ -+#include -+ -+int -+futimens(int fildes, const struct timespec times[2]) -+{ -+ struct timeval timevals[2]; -+ TIMESPEC_TO_TIMEVAL(&timevals[0], ×[0]); -+ TIMESPEC_TO_TIMEVAL(&timevals[1], ×[1]); -+ return futimes(fildes, timevals); -+} -diff -Naur a/grep.c b/grep.c ---- a/grep.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/grep.c 2020-04-21 19:01:59.000000000 +0100 -@@ -15,6 +15,9 @@ - #include - #include - -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - #include "kbd.h" - #include "funmap.h" -diff -Naur a/main.c b/main.c ---- a/main.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/main.c 2020-04-21 19:01:59.000000000 +0100 -@@ -16,6 +16,9 @@ - #include - #include - -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - #include "kbd.h" - #include "funmap.h" -diff -Naur a/paragraph.c b/paragraph.c ---- a/paragraph.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/paragraph.c 2020-04-21 19:01:59.000000000 +0100 -@@ -14,6 +14,9 @@ - #include - #include - -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - #include "def.h" - - static int fillcol = 70; -diff -Naur a/reallocarray.c b/reallocarray.c ---- a/reallocarray.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/reallocarray.c 2020-04-21 19:01:59.000000000 +0100 -@@ -0,0 +1,38 @@ -+/* $OpenBSD: reallocarray.c,v 1.3 2015/09/13 08:31:47 guenther Exp $ */ -+/* -+ * Copyright (c) 2008 Otto Moerbeek -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+#include -+#include -+#include -+ -+/* -+ * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX -+ * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW -+ */ -+#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) -+ -+void * -+reallocarray(void *optr, size_t nmemb, size_t size) -+{ -+ if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && -+ nmemb > 0 && SIZE_MAX / nmemb < size) { -+ errno = ENOMEM; -+ return NULL; -+ } -+ return realloc(optr, size * nmemb); -+} -diff -Naur a/strtonum.c b/strtonum.c ---- a/strtonum.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/strtonum.c 2020-04-21 19:01:59.000000000 +0100 -@@ -0,0 +1,65 @@ -+/* $OpenBSD: strtonum.c,v 1.7 2013/04/17 18:40:58 tedu Exp $ */ -+ -+/* -+ * Copyright (c) 2004 Ted Unangst and Todd Miller -+ * All rights reserved. -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+#include -+#include -+#include -+ -+#define INVALID 1 -+#define TOOSMALL 2 -+#define TOOLARGE 3 -+ -+long long -+strtonum(const char *numstr, long long minval, long long maxval, -+ const char **errstrp) -+{ -+ long long ll = 0; -+ int error = 0; -+ char *ep; -+ struct errval { -+ const char *errstr; -+ int err; -+ } ev[4] = { -+ { NULL, 0 }, -+ { "invalid", EINVAL }, -+ { "too small", ERANGE }, -+ { "too large", ERANGE }, -+ }; -+ -+ ev[0].err = errno; -+ errno = 0; -+ if (minval > maxval) { -+ error = INVALID; -+ } else { -+ ll = strtoll(numstr, &ep, 10); -+ if (numstr == ep || *ep != '\0') -+ error = INVALID; -+ else if ((ll == LLONG_MIN && errno == ERANGE) || ll < minval) -+ error = TOOSMALL; -+ else if ((ll == LLONG_MAX && errno == ERANGE) || ll > maxval) -+ error = TOOLARGE; -+ } -+ if (errstrp != NULL) -+ *errstrp = ev[error].errstr; -+ errno = ev[error].err; -+ if (error) -+ ll = 0; -+ -+ return (ll); -+} -diff -Naur a/tags.c b/tags.c ---- a/tags.c 2020-04-20 21:09:41.000000000 +0100 -+++ b/tags.c 2020-04-21 19:01:59.000000000 +0100 -@@ -8,7 +8,11 @@ - - #include - #include --#include -+#if defined(LIBBSD_OVERLAY) -+# include -+#else -+# include "tree.h" -+#endif - #include - #include - #include -@@ -18,11 +22,14 @@ - #include - #include - #include --#if defined(LIBBSD_OVERLAY) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__GLIBC__) -+#if defined(LIBBSD_OVERLAY) || defined(__FreeBSD__) || defined(__GLIBC__) || defined(__APPLE__) - # include - #else - #include - #endif -+#if defined(__APPLE__) -+# include "apple.h" -+#endif - - #include "def.h" - -@@ -53,9 +60,6 @@ - char *pat; - }; - RB_HEAD(tagtree, ctag) tags = RB_INITIALIZER(&tags); --#ifdef __DragonFly__ --RB_PROTOTYPE(tagtree, ctag, entry, ctagcmp); --#endif - RB_GENERATE(tagtree, ctag, entry, ctagcmp); - - struct tagpos { -diff -Naur a/tree.h b/tree.h ---- a/tree.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/tree.h 2020-04-21 19:01:59.000000000 +0100 -@@ -0,0 +1,1006 @@ -+/* $OpenBSD: tree.h,v 1.29 2017/07/30 19:27:20 deraadt Exp $ */ -+/* -+ * Copyright 2002 Niels Provos -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ */ -+ -+#ifndef _SYS_TREE_H_ -+#define _SYS_TREE_H_ -+ -+#include "_null.h" -+ -+/* -+ * This file defines data structures for different types of trees: -+ * splay trees and red-black trees. -+ * -+ * A splay tree is a self-organizing data structure. Every operation -+ * on the tree causes a splay to happen. The splay moves the requested -+ * node to the root of the tree and partly rebalances it. -+ * -+ * This has the benefit that request locality causes faster lookups as -+ * the requested nodes move to the top of the tree. On the other hand, -+ * every lookup causes memory writes. -+ * -+ * The Balance Theorem bounds the total access time for m operations -+ * and n inserts on an initially empty tree as O((m + n)lg n). The -+ * amortized cost for a sequence of m accesses to a splay tree is O(lg n); -+ * -+ * A red-black tree is a binary search tree with the node color as an -+ * extra attribute. It fulfills a set of conditions: -+ * - every search path from the root to a leaf consists of the -+ * same number of black nodes, -+ * - each red node (except for the root) has a black parent, -+ * - each leaf node is black. -+ * -+ * Every operation on a red-black tree is bounded as O(lg n). -+ * The maximum height of a red-black tree is 2lg (n+1). -+ */ -+ -+#define SPLAY_HEAD(name, type) \ -+struct name { \ -+ struct type *sph_root; /* root of the tree */ \ -+} -+ -+#define SPLAY_INITIALIZER(root) \ -+ { NULL } -+ -+#define SPLAY_INIT(root) do { \ -+ (root)->sph_root = NULL; \ -+} while (0) -+ -+#define SPLAY_ENTRY(type) \ -+struct { \ -+ struct type *spe_left; /* left element */ \ -+ struct type *spe_right; /* right element */ \ -+} -+ -+#define SPLAY_LEFT(elm, field) (elm)->field.spe_left -+#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right -+#define SPLAY_ROOT(head) (head)->sph_root -+#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL) -+ -+/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */ -+#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \ -+ SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \ -+ SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ -+ (head)->sph_root = tmp; \ -+} while (0) -+ -+#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \ -+ SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \ -+ SPLAY_LEFT(tmp, field) = (head)->sph_root; \ -+ (head)->sph_root = tmp; \ -+} while (0) -+ -+#define SPLAY_LINKLEFT(head, tmp, field) do { \ -+ SPLAY_LEFT(tmp, field) = (head)->sph_root; \ -+ tmp = (head)->sph_root; \ -+ (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \ -+} while (0) -+ -+#define SPLAY_LINKRIGHT(head, tmp, field) do { \ -+ SPLAY_RIGHT(tmp, field) = (head)->sph_root; \ -+ tmp = (head)->sph_root; \ -+ (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \ -+} while (0) -+ -+#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \ -+ SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \ -+ SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\ -+ SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \ -+ SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \ -+} while (0) -+ -+/* Generates prototypes and inline functions */ -+ -+#define SPLAY_PROTOTYPE(name, type, field, cmp) \ -+void name##_SPLAY(struct name *, struct type *); \ -+void name##_SPLAY_MINMAX(struct name *, int); \ -+struct type *name##_SPLAY_INSERT(struct name *, struct type *); \ -+struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \ -+ \ -+/* Finds the node with the same key as elm */ \ -+static __unused __inline struct type * \ -+name##_SPLAY_FIND(struct name *head, struct type *elm) \ -+{ \ -+ if (SPLAY_EMPTY(head)) \ -+ return(NULL); \ -+ name##_SPLAY(head, elm); \ -+ if ((cmp)(elm, (head)->sph_root) == 0) \ -+ return (head->sph_root); \ -+ return (NULL); \ -+} \ -+ \ -+static __unused __inline struct type * \ -+name##_SPLAY_NEXT(struct name *head, struct type *elm) \ -+{ \ -+ name##_SPLAY(head, elm); \ -+ if (SPLAY_RIGHT(elm, field) != NULL) { \ -+ elm = SPLAY_RIGHT(elm, field); \ -+ while (SPLAY_LEFT(elm, field) != NULL) { \ -+ elm = SPLAY_LEFT(elm, field); \ -+ } \ -+ } else \ -+ elm = NULL; \ -+ return (elm); \ -+} \ -+ \ -+static __unused __inline struct type * \ -+name##_SPLAY_MIN_MAX(struct name *head, int val) \ -+{ \ -+ name##_SPLAY_MINMAX(head, val); \ -+ return (SPLAY_ROOT(head)); \ -+} -+ -+/* Main splay operation. -+ * Moves node close to the key of elm to top -+ */ -+#define SPLAY_GENERATE(name, type, field, cmp) \ -+struct type * \ -+name##_SPLAY_INSERT(struct name *head, struct type *elm) \ -+{ \ -+ if (SPLAY_EMPTY(head)) { \ -+ SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \ -+ } else { \ -+ int __comp; \ -+ name##_SPLAY(head, elm); \ -+ __comp = (cmp)(elm, (head)->sph_root); \ -+ if(__comp < 0) { \ -+ SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\ -+ SPLAY_RIGHT(elm, field) = (head)->sph_root; \ -+ SPLAY_LEFT((head)->sph_root, field) = NULL; \ -+ } else if (__comp > 0) { \ -+ SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\ -+ SPLAY_LEFT(elm, field) = (head)->sph_root; \ -+ SPLAY_RIGHT((head)->sph_root, field) = NULL; \ -+ } else \ -+ return ((head)->sph_root); \ -+ } \ -+ (head)->sph_root = (elm); \ -+ return (NULL); \ -+} \ -+ \ -+struct type * \ -+name##_SPLAY_REMOVE(struct name *head, struct type *elm) \ -+{ \ -+ struct type *__tmp; \ -+ if (SPLAY_EMPTY(head)) \ -+ return (NULL); \ -+ name##_SPLAY(head, elm); \ -+ if ((cmp)(elm, (head)->sph_root) == 0) { \ -+ if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \ -+ (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\ -+ } else { \ -+ __tmp = SPLAY_RIGHT((head)->sph_root, field); \ -+ (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\ -+ name##_SPLAY(head, elm); \ -+ SPLAY_RIGHT((head)->sph_root, field) = __tmp; \ -+ } \ -+ return (elm); \ -+ } \ -+ return (NULL); \ -+} \ -+ \ -+void \ -+name##_SPLAY(struct name *head, struct type *elm) \ -+{ \ -+ struct type __node, *__left, *__right, *__tmp; \ -+ int __comp; \ -+\ -+ SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ -+ __left = __right = &__node; \ -+\ -+ while ((__comp = (cmp)(elm, (head)->sph_root))) { \ -+ if (__comp < 0) { \ -+ __tmp = SPLAY_LEFT((head)->sph_root, field); \ -+ if (__tmp == NULL) \ -+ break; \ -+ if ((cmp)(elm, __tmp) < 0){ \ -+ SPLAY_ROTATE_RIGHT(head, __tmp, field); \ -+ if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ -+ break; \ -+ } \ -+ SPLAY_LINKLEFT(head, __right, field); \ -+ } else if (__comp > 0) { \ -+ __tmp = SPLAY_RIGHT((head)->sph_root, field); \ -+ if (__tmp == NULL) \ -+ break; \ -+ if ((cmp)(elm, __tmp) > 0){ \ -+ SPLAY_ROTATE_LEFT(head, __tmp, field); \ -+ if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ -+ break; \ -+ } \ -+ SPLAY_LINKRIGHT(head, __left, field); \ -+ } \ -+ } \ -+ SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ -+} \ -+ \ -+/* Splay with either the minimum or the maximum element \ -+ * Used to find minimum or maximum element in tree. \ -+ */ \ -+void name##_SPLAY_MINMAX(struct name *head, int __comp) \ -+{ \ -+ struct type __node, *__left, *__right, *__tmp; \ -+\ -+ SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\ -+ __left = __right = &__node; \ -+\ -+ while (1) { \ -+ if (__comp < 0) { \ -+ __tmp = SPLAY_LEFT((head)->sph_root, field); \ -+ if (__tmp == NULL) \ -+ break; \ -+ if (__comp < 0){ \ -+ SPLAY_ROTATE_RIGHT(head, __tmp, field); \ -+ if (SPLAY_LEFT((head)->sph_root, field) == NULL)\ -+ break; \ -+ } \ -+ SPLAY_LINKLEFT(head, __right, field); \ -+ } else if (__comp > 0) { \ -+ __tmp = SPLAY_RIGHT((head)->sph_root, field); \ -+ if (__tmp == NULL) \ -+ break; \ -+ if (__comp > 0) { \ -+ SPLAY_ROTATE_LEFT(head, __tmp, field); \ -+ if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\ -+ break; \ -+ } \ -+ SPLAY_LINKRIGHT(head, __left, field); \ -+ } \ -+ } \ -+ SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \ -+} -+ -+#define SPLAY_NEGINF -1 -+#define SPLAY_INF 1 -+ -+#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y) -+#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y) -+#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y) -+#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y) -+#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \ -+ : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF)) -+#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \ -+ : name##_SPLAY_MIN_MAX(x, SPLAY_INF)) -+ -+#define SPLAY_FOREACH(x, name, head) \ -+ for ((x) = SPLAY_MIN(name, head); \ -+ (x) != NULL; \ -+ (x) = SPLAY_NEXT(name, head, x)) -+ -+/* Macros that define a red-black tree */ -+#define RB_HEAD(name, type) \ -+struct name { \ -+ struct type *rbh_root; /* root of the tree */ \ -+} -+ -+#define RB_INITIALIZER(root) \ -+ { NULL } -+ -+#define RB_INIT(root) do { \ -+ (root)->rbh_root = NULL; \ -+} while (0) -+ -+#define RB_BLACK 0 -+#define RB_RED 1 -+#define RB_ENTRY(type) \ -+struct { \ -+ struct type *rbe_left; /* left element */ \ -+ struct type *rbe_right; /* right element */ \ -+ struct type *rbe_parent; /* parent element */ \ -+ int rbe_color; /* node color */ \ -+} -+ -+#define RB_LEFT(elm, field) (elm)->field.rbe_left -+#define RB_RIGHT(elm, field) (elm)->field.rbe_right -+#define RB_PARENT(elm, field) (elm)->field.rbe_parent -+#define RB_COLOR(elm, field) (elm)->field.rbe_color -+#define RB_ROOT(head) (head)->rbh_root -+#define RB_EMPTY(head) (RB_ROOT(head) == NULL) -+ -+#define RB_SET(elm, parent, field) do { \ -+ RB_PARENT(elm, field) = parent; \ -+ RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \ -+ RB_COLOR(elm, field) = RB_RED; \ -+} while (0) -+ -+#define RB_SET_BLACKRED(black, red, field) do { \ -+ RB_COLOR(black, field) = RB_BLACK; \ -+ RB_COLOR(red, field) = RB_RED; \ -+} while (0) -+ -+#ifndef RB_AUGMENT -+#define RB_AUGMENT(x) do {} while (0) -+#endif -+ -+#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \ -+ (tmp) = RB_RIGHT(elm, field); \ -+ if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) { \ -+ RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \ -+ } \ -+ RB_AUGMENT(elm); \ -+ if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ -+ if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ -+ RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ -+ else \ -+ RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ -+ } else \ -+ (head)->rbh_root = (tmp); \ -+ RB_LEFT(tmp, field) = (elm); \ -+ RB_PARENT(elm, field) = (tmp); \ -+ RB_AUGMENT(tmp); \ -+ if ((RB_PARENT(tmp, field))) \ -+ RB_AUGMENT(RB_PARENT(tmp, field)); \ -+} while (0) -+ -+#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \ -+ (tmp) = RB_LEFT(elm, field); \ -+ if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) { \ -+ RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \ -+ } \ -+ RB_AUGMENT(elm); \ -+ if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ -+ if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ -+ RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ -+ else \ -+ RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ -+ } else \ -+ (head)->rbh_root = (tmp); \ -+ RB_RIGHT(tmp, field) = (elm); \ -+ RB_PARENT(elm, field) = (tmp); \ -+ RB_AUGMENT(tmp); \ -+ if ((RB_PARENT(tmp, field))) \ -+ RB_AUGMENT(RB_PARENT(tmp, field)); \ -+} while (0) -+ -+/* Generates prototypes and inline functions */ -+#define RB_PROTOTYPE(name, type, field, cmp) \ -+ RB_PROTOTYPE_INTERNAL(name, type, field, cmp,) -+#define RB_PROTOTYPE_STATIC(name, type, field, cmp) \ -+ RB_PROTOTYPE_INTERNAL(name, type, field, cmp, __attribute__((__unused__)) static) -+#define RB_PROTOTYPE_INTERNAL(name, type, field, cmp, attr) \ -+attr void name##_RB_INSERT_COLOR(struct name *, struct type *); \ -+attr void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\ -+attr struct type *name##_RB_REMOVE(struct name *, struct type *); \ -+attr struct type *name##_RB_INSERT(struct name *, struct type *); \ -+attr struct type *name##_RB_FIND(struct name *, struct type *); \ -+attr struct type *name##_RB_NFIND(struct name *, struct type *); \ -+attr struct type *name##_RB_NEXT(struct type *); \ -+attr struct type *name##_RB_PREV(struct type *); \ -+attr struct type *name##_RB_MINMAX(struct name *, int); \ -+ \ -+ -+/* Main rb operation. -+ * Moves node close to the key of elm to top -+ */ -+#define RB_GENERATE(name, type, field, cmp) \ -+ RB_GENERATE_INTERNAL(name, type, field, cmp,) -+#define RB_GENERATE_STATIC(name, type, field, cmp) \ -+ RB_GENERATE_INTERNAL(name, type, field, cmp, __attribute__((__unused__)) static) -+#define RB_GENERATE_INTERNAL(name, type, field, cmp, attr) \ -+attr void \ -+name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \ -+{ \ -+ struct type *parent, *gparent, *tmp; \ -+ while ((parent = RB_PARENT(elm, field)) && \ -+ RB_COLOR(parent, field) == RB_RED) { \ -+ gparent = RB_PARENT(parent, field); \ -+ if (parent == RB_LEFT(gparent, field)) { \ -+ tmp = RB_RIGHT(gparent, field); \ -+ if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ -+ RB_COLOR(tmp, field) = RB_BLACK; \ -+ RB_SET_BLACKRED(parent, gparent, field);\ -+ elm = gparent; \ -+ continue; \ -+ } \ -+ if (RB_RIGHT(parent, field) == elm) { \ -+ RB_ROTATE_LEFT(head, parent, tmp, field);\ -+ tmp = parent; \ -+ parent = elm; \ -+ elm = tmp; \ -+ } \ -+ RB_SET_BLACKRED(parent, gparent, field); \ -+ RB_ROTATE_RIGHT(head, gparent, tmp, field); \ -+ } else { \ -+ tmp = RB_LEFT(gparent, field); \ -+ if (tmp && RB_COLOR(tmp, field) == RB_RED) { \ -+ RB_COLOR(tmp, field) = RB_BLACK; \ -+ RB_SET_BLACKRED(parent, gparent, field);\ -+ elm = gparent; \ -+ continue; \ -+ } \ -+ if (RB_LEFT(parent, field) == elm) { \ -+ RB_ROTATE_RIGHT(head, parent, tmp, field);\ -+ tmp = parent; \ -+ parent = elm; \ -+ elm = tmp; \ -+ } \ -+ RB_SET_BLACKRED(parent, gparent, field); \ -+ RB_ROTATE_LEFT(head, gparent, tmp, field); \ -+ } \ -+ } \ -+ RB_COLOR(head->rbh_root, field) = RB_BLACK; \ -+} \ -+ \ -+attr void \ -+name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \ -+{ \ -+ struct type *tmp; \ -+ while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \ -+ elm != RB_ROOT(head)) { \ -+ if (RB_LEFT(parent, field) == elm) { \ -+ tmp = RB_RIGHT(parent, field); \ -+ if (RB_COLOR(tmp, field) == RB_RED) { \ -+ RB_SET_BLACKRED(tmp, parent, field); \ -+ RB_ROTATE_LEFT(head, parent, tmp, field);\ -+ tmp = RB_RIGHT(parent, field); \ -+ } \ -+ if ((RB_LEFT(tmp, field) == NULL || \ -+ RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ -+ (RB_RIGHT(tmp, field) == NULL || \ -+ RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ -+ RB_COLOR(tmp, field) = RB_RED; \ -+ elm = parent; \ -+ parent = RB_PARENT(elm, field); \ -+ } else { \ -+ if (RB_RIGHT(tmp, field) == NULL || \ -+ RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\ -+ struct type *oleft; \ -+ if ((oleft = RB_LEFT(tmp, field)))\ -+ RB_COLOR(oleft, field) = RB_BLACK;\ -+ RB_COLOR(tmp, field) = RB_RED; \ -+ RB_ROTATE_RIGHT(head, tmp, oleft, field);\ -+ tmp = RB_RIGHT(parent, field); \ -+ } \ -+ RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ -+ RB_COLOR(parent, field) = RB_BLACK; \ -+ if (RB_RIGHT(tmp, field)) \ -+ RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\ -+ RB_ROTATE_LEFT(head, parent, tmp, field);\ -+ elm = RB_ROOT(head); \ -+ break; \ -+ } \ -+ } else { \ -+ tmp = RB_LEFT(parent, field); \ -+ if (RB_COLOR(tmp, field) == RB_RED) { \ -+ RB_SET_BLACKRED(tmp, parent, field); \ -+ RB_ROTATE_RIGHT(head, parent, tmp, field);\ -+ tmp = RB_LEFT(parent, field); \ -+ } \ -+ if ((RB_LEFT(tmp, field) == NULL || \ -+ RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\ -+ (RB_RIGHT(tmp, field) == NULL || \ -+ RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\ -+ RB_COLOR(tmp, field) = RB_RED; \ -+ elm = parent; \ -+ parent = RB_PARENT(elm, field); \ -+ } else { \ -+ if (RB_LEFT(tmp, field) == NULL || \ -+ RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\ -+ struct type *oright; \ -+ if ((oright = RB_RIGHT(tmp, field)))\ -+ RB_COLOR(oright, field) = RB_BLACK;\ -+ RB_COLOR(tmp, field) = RB_RED; \ -+ RB_ROTATE_LEFT(head, tmp, oright, field);\ -+ tmp = RB_LEFT(parent, field); \ -+ } \ -+ RB_COLOR(tmp, field) = RB_COLOR(parent, field);\ -+ RB_COLOR(parent, field) = RB_BLACK; \ -+ if (RB_LEFT(tmp, field)) \ -+ RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\ -+ RB_ROTATE_RIGHT(head, parent, tmp, field);\ -+ elm = RB_ROOT(head); \ -+ break; \ -+ } \ -+ } \ -+ } \ -+ if (elm) \ -+ RB_COLOR(elm, field) = RB_BLACK; \ -+} \ -+ \ -+attr struct type * \ -+name##_RB_REMOVE(struct name *head, struct type *elm) \ -+{ \ -+ struct type *child, *parent, *old = elm; \ -+ int color; \ -+ if (RB_LEFT(elm, field) == NULL) \ -+ child = RB_RIGHT(elm, field); \ -+ else if (RB_RIGHT(elm, field) == NULL) \ -+ child = RB_LEFT(elm, field); \ -+ else { \ -+ struct type *left; \ -+ elm = RB_RIGHT(elm, field); \ -+ while ((left = RB_LEFT(elm, field))) \ -+ elm = left; \ -+ child = RB_RIGHT(elm, field); \ -+ parent = RB_PARENT(elm, field); \ -+ color = RB_COLOR(elm, field); \ -+ if (child) \ -+ RB_PARENT(child, field) = parent; \ -+ if (parent) { \ -+ if (RB_LEFT(parent, field) == elm) \ -+ RB_LEFT(parent, field) = child; \ -+ else \ -+ RB_RIGHT(parent, field) = child; \ -+ RB_AUGMENT(parent); \ -+ } else \ -+ RB_ROOT(head) = child; \ -+ if (RB_PARENT(elm, field) == old) \ -+ parent = elm; \ -+ (elm)->field = (old)->field; \ -+ if (RB_PARENT(old, field)) { \ -+ if (RB_LEFT(RB_PARENT(old, field), field) == old)\ -+ RB_LEFT(RB_PARENT(old, field), field) = elm;\ -+ else \ -+ RB_RIGHT(RB_PARENT(old, field), field) = elm;\ -+ RB_AUGMENT(RB_PARENT(old, field)); \ -+ } else \ -+ RB_ROOT(head) = elm; \ -+ RB_PARENT(RB_LEFT(old, field), field) = elm; \ -+ if (RB_RIGHT(old, field)) \ -+ RB_PARENT(RB_RIGHT(old, field), field) = elm; \ -+ if (parent) { \ -+ left = parent; \ -+ do { \ -+ RB_AUGMENT(left); \ -+ } while ((left = RB_PARENT(left, field))); \ -+ } \ -+ goto color; \ -+ } \ -+ parent = RB_PARENT(elm, field); \ -+ color = RB_COLOR(elm, field); \ -+ if (child) \ -+ RB_PARENT(child, field) = parent; \ -+ if (parent) { \ -+ if (RB_LEFT(parent, field) == elm) \ -+ RB_LEFT(parent, field) = child; \ -+ else \ -+ RB_RIGHT(parent, field) = child; \ -+ RB_AUGMENT(parent); \ -+ } else \ -+ RB_ROOT(head) = child; \ -+color: \ -+ if (color == RB_BLACK) \ -+ name##_RB_REMOVE_COLOR(head, parent, child); \ -+ return (old); \ -+} \ -+ \ -+/* Inserts a node into the RB tree */ \ -+attr struct type * \ -+name##_RB_INSERT(struct name *head, struct type *elm) \ -+{ \ -+ struct type *tmp; \ -+ struct type *parent = NULL; \ -+ int comp = 0; \ -+ tmp = RB_ROOT(head); \ -+ while (tmp) { \ -+ parent = tmp; \ -+ comp = (cmp)(elm, parent); \ -+ if (comp < 0) \ -+ tmp = RB_LEFT(tmp, field); \ -+ else if (comp > 0) \ -+ tmp = RB_RIGHT(tmp, field); \ -+ else \ -+ return (tmp); \ -+ } \ -+ RB_SET(elm, parent, field); \ -+ if (parent != NULL) { \ -+ if (comp < 0) \ -+ RB_LEFT(parent, field) = elm; \ -+ else \ -+ RB_RIGHT(parent, field) = elm; \ -+ RB_AUGMENT(parent); \ -+ } else \ -+ RB_ROOT(head) = elm; \ -+ name##_RB_INSERT_COLOR(head, elm); \ -+ return (NULL); \ -+} \ -+ \ -+/* Finds the node with the same key as elm */ \ -+attr struct type * \ -+name##_RB_FIND(struct name *head, struct type *elm) \ -+{ \ -+ struct type *tmp = RB_ROOT(head); \ -+ int comp; \ -+ while (tmp) { \ -+ comp = cmp(elm, tmp); \ -+ if (comp < 0) \ -+ tmp = RB_LEFT(tmp, field); \ -+ else if (comp > 0) \ -+ tmp = RB_RIGHT(tmp, field); \ -+ else \ -+ return (tmp); \ -+ } \ -+ return (NULL); \ -+} \ -+ \ -+/* Finds the first node greater than or equal to the search key */ \ -+attr struct type * \ -+name##_RB_NFIND(struct name *head, struct type *elm) \ -+{ \ -+ struct type *tmp = RB_ROOT(head); \ -+ struct type *res = NULL; \ -+ int comp; \ -+ while (tmp) { \ -+ comp = cmp(elm, tmp); \ -+ if (comp < 0) { \ -+ res = tmp; \ -+ tmp = RB_LEFT(tmp, field); \ -+ } \ -+ else if (comp > 0) \ -+ tmp = RB_RIGHT(tmp, field); \ -+ else \ -+ return (tmp); \ -+ } \ -+ return (res); \ -+} \ -+ \ -+/* ARGSUSED */ \ -+attr struct type * \ -+name##_RB_NEXT(struct type *elm) \ -+{ \ -+ if (RB_RIGHT(elm, field)) { \ -+ elm = RB_RIGHT(elm, field); \ -+ while (RB_LEFT(elm, field)) \ -+ elm = RB_LEFT(elm, field); \ -+ } else { \ -+ if (RB_PARENT(elm, field) && \ -+ (elm == RB_LEFT(RB_PARENT(elm, field), field))) \ -+ elm = RB_PARENT(elm, field); \ -+ else { \ -+ while (RB_PARENT(elm, field) && \ -+ (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\ -+ elm = RB_PARENT(elm, field); \ -+ elm = RB_PARENT(elm, field); \ -+ } \ -+ } \ -+ return (elm); \ -+} \ -+ \ -+/* ARGSUSED */ \ -+attr struct type * \ -+name##_RB_PREV(struct type *elm) \ -+{ \ -+ if (RB_LEFT(elm, field)) { \ -+ elm = RB_LEFT(elm, field); \ -+ while (RB_RIGHT(elm, field)) \ -+ elm = RB_RIGHT(elm, field); \ -+ } else { \ -+ if (RB_PARENT(elm, field) && \ -+ (elm == RB_RIGHT(RB_PARENT(elm, field), field))) \ -+ elm = RB_PARENT(elm, field); \ -+ else { \ -+ while (RB_PARENT(elm, field) && \ -+ (elm == RB_LEFT(RB_PARENT(elm, field), field)))\ -+ elm = RB_PARENT(elm, field); \ -+ elm = RB_PARENT(elm, field); \ -+ } \ -+ } \ -+ return (elm); \ -+} \ -+ \ -+attr struct type * \ -+name##_RB_MINMAX(struct name *head, int val) \ -+{ \ -+ struct type *tmp = RB_ROOT(head); \ -+ struct type *parent = NULL; \ -+ while (tmp) { \ -+ parent = tmp; \ -+ if (val < 0) \ -+ tmp = RB_LEFT(tmp, field); \ -+ else \ -+ tmp = RB_RIGHT(tmp, field); \ -+ } \ -+ return (parent); \ -+} -+ -+#define RB_NEGINF -1 -+#define RB_INF 1 -+ -+#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y) -+#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y) -+#define RB_FIND(name, x, y) name##_RB_FIND(x, y) -+#define RB_NFIND(name, x, y) name##_RB_NFIND(x, y) -+#define RB_NEXT(name, x, y) name##_RB_NEXT(y) -+#define RB_PREV(name, x, y) name##_RB_PREV(y) -+#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF) -+#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF) -+ -+#define RB_FOREACH(x, name, head) \ -+ for ((x) = RB_MIN(name, head); \ -+ (x) != NULL; \ -+ (x) = name##_RB_NEXT(x)) -+ -+#define RB_FOREACH_SAFE(x, name, head, y) \ -+ for ((x) = RB_MIN(name, head); \ -+ ((x) != NULL) && ((y) = name##_RB_NEXT(x), 1); \ -+ (x) = (y)) -+ -+#define RB_FOREACH_REVERSE(x, name, head) \ -+ for ((x) = RB_MAX(name, head); \ -+ (x) != NULL; \ -+ (x) = name##_RB_PREV(x)) -+ -+#define RB_FOREACH_REVERSE_SAFE(x, name, head, y) \ -+ for ((x) = RB_MAX(name, head); \ -+ ((x) != NULL) && ((y) = name##_RB_PREV(x), 1); \ -+ (x) = (y)) -+ -+ -+/* -+ * Copyright (c) 2016 David Gwynne -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ */ -+ -+struct rb_type { -+ int (*t_compare)(const void *, const void *); -+ void (*t_augment)(void *); -+ unsigned int t_offset; /* offset of rb_entry in type */ -+}; -+ -+struct rb_tree { -+ struct rb_entry *rbt_root; -+}; -+ -+struct rb_entry { -+ struct rb_entry *rbt_parent; -+ struct rb_entry *rbt_left; -+ struct rb_entry *rbt_right; -+ unsigned int rbt_color; -+}; -+ -+#define RBT_HEAD(_name, _type) \ -+struct _name { \ -+ struct rb_tree rbh_root; \ -+} -+ -+#define RBT_ENTRY(_type) struct rb_entry -+ -+static inline void -+_rb_init(struct rb_tree *rbt) -+{ -+ rbt->rbt_root = NULL; -+} -+ -+static inline int -+_rb_empty(struct rb_tree *rbt) -+{ -+ return (rbt->rbt_root == NULL); -+} -+ -+void *_rb_insert(const struct rb_type *, struct rb_tree *, void *); -+void *_rb_remove(const struct rb_type *, struct rb_tree *, void *); -+void *_rb_find(const struct rb_type *, struct rb_tree *, const void *); -+void *_rb_nfind(const struct rb_type *, struct rb_tree *, const void *); -+void *_rb_root(const struct rb_type *, struct rb_tree *); -+void *_rb_min(const struct rb_type *, struct rb_tree *); -+void *_rb_max(const struct rb_type *, struct rb_tree *); -+void *_rb_next(const struct rb_type *, void *); -+void *_rb_prev(const struct rb_type *, void *); -+void *_rb_left(const struct rb_type *, void *); -+void *_rb_right(const struct rb_type *, void *); -+void *_rb_parent(const struct rb_type *, void *); -+void _rb_set_left(const struct rb_type *, void *, void *); -+void _rb_set_right(const struct rb_type *, void *, void *); -+void _rb_set_parent(const struct rb_type *, void *, void *); -+void _rb_poison(const struct rb_type *, void *, unsigned long); -+int _rb_check(const struct rb_type *, void *, unsigned long); -+ -+#define RBT_INITIALIZER(_head) { { NULL } } -+ -+#define RBT_PROTOTYPE(_name, _type, _field, _cmp) \ -+extern const struct rb_type *const _name##_RBT_TYPE; \ -+ \ -+__unused static inline void \ -+_name##_RBT_INIT(struct _name *head) \ -+{ \ -+ _rb_init(&head->rbh_root); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_INSERT(struct _name *head, struct _type *elm) \ -+{ \ -+ return _rb_insert(_name##_RBT_TYPE, &head->rbh_root, elm); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_REMOVE(struct _name *head, struct _type *elm) \ -+{ \ -+ return _rb_remove(_name##_RBT_TYPE, &head->rbh_root, elm); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_FIND(struct _name *head, const struct _type *key) \ -+{ \ -+ return _rb_find(_name##_RBT_TYPE, &head->rbh_root, key); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_NFIND(struct _name *head, const struct _type *key) \ -+{ \ -+ return _rb_nfind(_name##_RBT_TYPE, &head->rbh_root, key); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_ROOT(struct _name *head) \ -+{ \ -+ return _rb_root(_name##_RBT_TYPE, &head->rbh_root); \ -+} \ -+ \ -+__unused static inline int \ -+_name##_RBT_EMPTY(struct _name *head) \ -+{ \ -+ return _rb_empty(&head->rbh_root); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_MIN(struct _name *head) \ -+{ \ -+ return _rb_min(_name##_RBT_TYPE, &head->rbh_root); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_MAX(struct _name *head) \ -+{ \ -+ return _rb_max(_name##_RBT_TYPE, &head->rbh_root); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_NEXT(struct _type *elm) \ -+{ \ -+ return _rb_next(_name##_RBT_TYPE, elm); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_PREV(struct _type *elm) \ -+{ \ -+ return _rb_prev(_name##_RBT_TYPE, elm); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_LEFT(struct _type *elm) \ -+{ \ -+ return _rb_left(_name##_RBT_TYPE, elm); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_RIGHT(struct _type *elm) \ -+{ \ -+ return _rb_right(_name##_RBT_TYPE, elm); \ -+} \ -+ \ -+__unused static inline struct _type * \ -+_name##_RBT_PARENT(struct _type *elm) \ -+{ \ -+ return _rb_parent(_name##_RBT_TYPE, elm); \ -+} \ -+ \ -+__unused static inline void \ -+_name##_RBT_SET_LEFT(struct _type *elm, struct _type *left) \ -+{ \ -+ return _rb_set_left(_name##_RBT_TYPE, elm, left); \ -+} \ -+ \ -+__unused static inline void \ -+_name##_RBT_SET_RIGHT(struct _type *elm, struct _type *right) \ -+{ \ -+ return _rb_set_right(_name##_RBT_TYPE, elm, right); \ -+} \ -+ \ -+__unused static inline void \ -+_name##_RBT_SET_PARENT(struct _type *elm, struct _type *parent) \ -+{ \ -+ return _rb_set_parent(_name##_RBT_TYPE, elm, parent); \ -+} \ -+ \ -+__unused static inline void \ -+_name##_RBT_POISON(struct _type *elm, unsigned long poison) \ -+{ \ -+ return _rb_poison(_name##_RBT_TYPE, elm, poison); \ -+} \ -+ \ -+__unused static inline int \ -+_name##_RBT_CHECK(struct _type *elm, unsigned long poison) \ -+{ \ -+ return _rb_check(_name##_RBT_TYPE, elm, poison); \ -+} -+ -+#define RBT_GENERATE_INTERNAL(_name, _type, _field, _cmp, _aug) \ -+static int \ -+_name##_RBT_COMPARE(const void *lptr, const void *rptr) \ -+{ \ -+ const struct _type *l = lptr, *r = rptr; \ -+ return _cmp(l, r); \ -+} \ -+static const struct rb_type _name##_RBT_INFO = { \ -+ _name##_RBT_COMPARE, \ -+ _aug, \ -+ offsetof(struct _type, _field), \ -+}; \ -+const struct rb_type *const _name##_RBT_TYPE = &_name##_RBT_INFO -+ -+#define RBT_GENERATE_AUGMENT(_name, _type, _field, _cmp, _aug) \ -+static void \ -+_name##_RBT_AUGMENT(void *ptr) \ -+{ \ -+ struct _type *p = ptr; \ -+ return _aug(p); \ -+} \ -+RBT_GENERATE_INTERNAL(_name, _type, _field, _cmp, _name##_RBT_AUGMENT) -+ -+#define RBT_GENERATE(_name, _type, _field, _cmp) \ -+ RBT_GENERATE_INTERNAL(_name, _type, _field, _cmp, NULL) -+ -+#define RBT_INIT(_name, _head) _name##_RBT_INIT(_head) -+#define RBT_INSERT(_name, _head, _elm) _name##_RBT_INSERT(_head, _elm) -+#define RBT_REMOVE(_name, _head, _elm) _name##_RBT_REMOVE(_head, _elm) -+#define RBT_FIND(_name, _head, _key) _name##_RBT_FIND(_head, _key) -+#define RBT_NFIND(_name, _head, _key) _name##_RBT_NFIND(_head, _key) -+#define RBT_ROOT(_name, _head) _name##_RBT_ROOT(_head) -+#define RBT_EMPTY(_name, _head) _name##_RBT_EMPTY(_head) -+#define RBT_MIN(_name, _head) _name##_RBT_MIN(_head) -+#define RBT_MAX(_name, _head) _name##_RBT_MAX(_head) -+#define RBT_NEXT(_name, _elm) _name##_RBT_NEXT(_elm) -+#define RBT_PREV(_name, _elm) _name##_RBT_PREV(_elm) -+#define RBT_LEFT(_name, _elm) _name##_RBT_LEFT(_elm) -+#define RBT_RIGHT(_name, _elm) _name##_RBT_RIGHT(_elm) -+#define RBT_PARENT(_name, _elm) _name##_RBT_PARENT(_elm) -+#define RBT_SET_LEFT(_name, _elm, _l) _name##_RBT_SET_LEFT(_elm, _l) -+#define RBT_SET_RIGHT(_name, _elm, _r) _name##_RBT_SET_RIGHT(_elm, _r) -+#define RBT_SET_PARENT(_name, _elm, _p) _name##_RBT_SET_PARENT(_elm, _p) -+#define RBT_POISON(_name, _elm, _p) _name##_RBT_POISON(_elm, _p) -+#define RBT_CHECK(_name, _elm, _p) _name##_RBT_CHECK(_elm, _p) -+ -+#define RBT_FOREACH(_e, _name, _head) \ -+ for ((_e) = RBT_MIN(_name, (_head)); \ -+ (_e) != NULL; \ -+ (_e) = RBT_NEXT(_name, (_e))) -+ -+#define RBT_FOREACH_SAFE(_e, _name, _head, _n) \ -+ for ((_e) = RBT_MIN(_name, (_head)); \ -+ (_e) != NULL && ((_n) = RBT_NEXT(_name, (_e)), 1); \ -+ (_e) = (_n)) -+ -+#define RBT_FOREACH_REVERSE(_e, _name, _head) \ -+ for ((_e) = RBT_MAX(_name, (_head)); \ -+ (_e) != NULL; \ -+ (_e) = RBT_PREV(_name, (_e))) -+ -+#define RBT_FOREACH_REVERSE_SAFE(_e, _name, _head, _n) \ -+ for ((_e) = RBT_MAX(_name, (_head)); \ -+ (_e) != NULL && ((_n) = RBT_PREV(_name, (_e)), 1); \ -+ (_e) = (_n)) -+ -+#endif /* _SYS_TREE_H_ */ diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index e019baaf727..612cdcc7f88 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, pkgconfig, ncurses, buildPackages, libbsd }: +{ stdenv, fetchFromGitHub, pkgconfig, ncurses, buildPackages }: stdenv.mkDerivation rec { pname = "mg"; - version = "20200215"; + version = "6.7"; src = fetchFromGitHub { - owner = "hboetes"; + owner = "ibara"; repo = "mg"; - rev = "20200215"; - sha256 = "1rss7d43hbq43n63gxfvx4b2vh2km58cchwzdf2ssqhaz3qj40m6"; + rev = "mg-6.7"; + sha256 = "15adwibq6xrfxbrxzk765g9250iyfn4wbcxd7kcsabiwn6apm0ai"; }; enableParallelBuilding = true; @@ -21,13 +21,11 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkgconfig ]; - patches = ./darwin_no_libbsd.patch; - - buildInputs = [ ncurses ] ++ stdenv.lib.optional (!stdenv.isDarwin) libbsd; + buildInputs = [ ncurses ]; meta = with stdenv.lib; { description = "Micro GNU/emacs, a portable version of the mg maintained by the OpenBSD team"; - homepage = "https://homepage.boetes.org/software/mg"; + homepage = "https://man.openbsd.org/OpenBSD-current/man1/mg.1"; license = licenses.publicDomain; platforms = platforms.all; }; From 448d68c511d43cfc0f1580794daafb2ffb879ce6 Mon Sep 17 00:00:00 2001 From: Drew Mullen Date: Thu, 7 May 2020 09:04:02 -0400 Subject: [PATCH 031/158] fix example for foldl --- lib/lists.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/lists.nix b/lib/lists.nix index f9f30412770..f424946c72c 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -73,8 +73,8 @@ rec { lconcat [ "a" "b" "c" ] => "zabc" # different types - lstrange = foldl (str: int: str + toString (int + 1)) "" - strange [ 1 2 3 4 ] + lstrange = foldl (str: int: str + toString (int + 1)) "a" + lstrange [ 1 2 3 4 ] => "a2345" */ foldl = op: nul: list: From 4cad49dc1a7e15335e401ed39ae42c98b06391a7 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 3 May 2020 02:04:54 +0100 Subject: [PATCH 032/158] python3Packages.PyGithub: 1.47 -> 1.51 --- pkgs/development/python-modules/pyGithub/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyGithub/default.nix b/pkgs/development/python-modules/pyGithub/default.nix index 2102554face..cf0784024f1 100644 --- a/pkgs/development/python-modules/pyGithub/default.nix +++ b/pkgs/development/python-modules/pyGithub/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "PyGithub"; - version = "1.47"; + version = "1.51"; disabled = !isPy3k; src = fetchFromGitHub { owner = "PyGithub"; repo = "PyGithub"; rev = "v${version}"; - sha256 = "0zvp1gib2lryw698vxkbdv40n3lsmdlhwp7vdcg41dqqa5nfryhn"; + hash = "sha256-8uQCFiw1ByPOX8ZRUlSLYPIibjmd19r/JtTnmQdz5cM="; }; checkInputs = [ httpretty parameterized pytestCheckHook ]; From 83c4ac2eb3ac2aacfc917e96b1a12091889fdfae Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 26 Apr 2020 19:28:24 +0100 Subject: [PATCH 033/158] linux/update-hardened.py: reformat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit $ isort --multi-line=3 --trailing-comma --force-grid-wrap=0 --use-parentheses … $ black --line-length=80 … (per the black documentation) --- .../linux/kernel/update-hardened.py | 138 ++++++++++-------- 1 file changed, 80 insertions(+), 58 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/update-hardened.py b/pkgs/os-specific/linux/kernel/update-hardened.py index 7f6949653af..49a6228fb97 100755 --- a/pkgs/os-specific/linux/kernel/update-hardened.py +++ b/pkgs/os-specific/linux/kernel/update-hardened.py @@ -3,60 +3,68 @@ # This is automatically called by ./update.sh. -import re import json -import sys import os.path -from glob import glob +import re import subprocess +import sys +from glob import glob from tempfile import TemporaryDirectory from github import Github HERE = os.path.dirname(os.path.realpath(__file__)) -HARDENED_GITHUB_REPO = 'anthraxx/linux-hardened' -HARDENED_TRUSTED_KEY = os.path.join(HERE, 'anthraxx.asc') -HARDENED_PATCHES_PATH = os.path.join(HERE, 'hardened-patches.json') +HARDENED_GITHUB_REPO = "anthraxx/linux-hardened" +HARDENED_TRUSTED_KEY = os.path.join(HERE, "anthraxx.asc") +HARDENED_PATCHES_PATH = os.path.join(HERE, "hardened-patches.json") MIN_KERNEL_VERSION = [4, 14] + def run(*args, **kwargs): try: return subprocess.run( - args, **kwargs, - check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, + args, + **kwargs, + check=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, ) except subprocess.CalledProcessError as err: print( - f'error: `{err.cmd}` failed unexpectedly\n' - f'status code: {err.returncode}\n' + f"error: `{err.cmd}` failed unexpectedly\n" + f"status code: {err.returncode}\n" f'stdout:\n{err.stdout.decode("utf-8").strip()}\n' f'stderr:\n{err.stderr.decode("utf-8").strip()}', file=sys.stderr, ) sys.exit(1) + def nix_prefetch_url(url): - output = run('nix-prefetch-url', '--print-path', url).stdout - return output.decode('utf-8').strip().split('\n') + output = run("nix-prefetch-url", "--print-path", url).stdout + return output.decode("utf-8").strip().split("\n") + def verify_openpgp_signature(*, name, trusted_key, sig_path, data_path): - with TemporaryDirectory(suffix='.nixpkgs-gnupg-home') as gnupg_home: - run('gpg', '--homedir', gnupg_home, '--import', trusted_key) - keyring = os.path.join(gnupg_home, 'pubring.kbx') + with TemporaryDirectory(suffix=".nixpkgs-gnupg-home") as gnupg_home: + run("gpg", "--homedir", gnupg_home, "--import", trusted_key) + keyring = os.path.join(gnupg_home, "pubring.kbx") try: subprocess.run( - ('gpgv', '--keyring', keyring, sig_path, data_path), - check=True, stderr=subprocess.PIPE, + ("gpgv", "--keyring", keyring, sig_path, data_path), + check=True, + stderr=subprocess.PIPE, ) return True except subprocess.CalledProcessError as err: print( - f'error: signature for {name} failed to verify!', + f"error: signature for {name} failed to verify!", file=sys.stderr, ) - print(err.stderr.decode('utf-8'), file=sys.stderr, end='') + print(err.stderr.decode("utf-8"), file=sys.stderr, end="") return False + def fetch_patch(*, name, release): def find_asset(filename): try: @@ -68,12 +76,12 @@ def fetch_patch(*, name, release): except StopIteration: raise KeyError(filename) - patch_filename = f'{name}.patch' + patch_filename = f"{name}.patch" try: patch_url = find_asset(patch_filename) - sig_url = find_asset(patch_filename + '.sig') + sig_url = find_asset(patch_filename + ".sig") except KeyError: - print(f'error: {patch_filename}{{,.sig}} not present', file=sys.stderr) + print(f"error: {patch_filename}{{,.sig}} not present", file=sys.stderr) return None sha256, patch_path = nix_prefetch_url(patch_url) @@ -88,59 +96,71 @@ def fetch_patch(*, name, release): return None return { - 'name': patch_filename, - 'url': patch_url, - 'sha256': sha256, + "name": patch_filename, + "url": patch_url, + "sha256": sha256, } + def parse_version(version_str): version = [] - for component in version_str.split('.'): + for component in version_str.split("."): try: version.append(int(component)) except ValueError: version.append(component) return version + def version_string(version): - return '.'.join(str(component) for component in version) + return ".".join(str(component) for component in version) + def major_kernel_version_key(kernel_version): return version_string(kernel_version[:-1]) + def commit_patches(*, kernel_key, message): - with open(HARDENED_PATCHES_PATH + '.new', 'w') as new_patches_file: + with open(HARDENED_PATCHES_PATH + ".new", "w") as new_patches_file: json.dump(patches, new_patches_file, indent=4, sort_keys=True) - new_patches_file.write('\n') - os.rename(HARDENED_PATCHES_PATH + '.new', HARDENED_PATCHES_PATH) - message = f'linux/hardened-patches/{kernel_key}: {message}' + new_patches_file.write("\n") + os.rename(HARDENED_PATCHES_PATH + ".new", HARDENED_PATCHES_PATH) + message = f"linux/hardened-patches/{kernel_key}: {message}" print(message) - if os.environ.get('COMMIT'): + if os.environ.get("COMMIT"): run( - 'git', '-C', HERE, 'commit', f'--message={message}', - 'hardened-patches.json', + "git", + "-C", + HERE, + "commit", + f"--message={message}", + "hardened-patches.json", ) + # Load the existing patches. with open(HARDENED_PATCHES_PATH) as patches_file: patches = json.load(patches_file) -NIX_VERSION_RE = re.compile(r''' - \s* version \s* = - \s* " (?P [^"]*) " - \s* ; \s* \n -''', re.VERBOSE) +NIX_VERSION_RE = re.compile( + r""" + \s* version \s* = + \s* " (?P [^"]*) " + \s* ; \s* \n + """, + re.VERBOSE, +) # Get the set of currently packaged kernel versions. kernel_versions = {} for filename in os.listdir(HERE): - filename_match = re.fullmatch(r'linux-(\d+)\.(\d+)\.nix', filename) + filename_match = re.fullmatch(r"linux-(\d+)\.(\d+)\.nix", filename) if filename_match: with open(os.path.join(HERE, filename)) as nix_file: for nix_line in nix_file: match = NIX_VERSION_RE.fullmatch(nix_line) if match: - kernel_version = parse_version(match.group('version')) + kernel_version = parse_version(match.group("version")) if kernel_version < MIN_KERNEL_VERSION: continue kernel_key = major_kernel_version_key(kernel_version) @@ -148,9 +168,9 @@ for filename in os.listdir(HERE): # Remove patches for unpackaged kernel versions. for kernel_key in sorted(patches.keys() - kernel_versions.keys()): - commit_patches(kernel_key=kernel_key, message='remove') + commit_patches(kernel_key=kernel_key, message="remove") -g = Github(os.environ.get('GITHUB_TOKEN')) +g = Github(os.environ.get("GITHUB_TOKEN")) repo = g.get_repo(HARDENED_GITHUB_REPO) failures = False @@ -171,8 +191,8 @@ for release in repo.get_releases(): continue release_info = { - 'version': version, - 'release': release, + "version": version, + "release": release, } if kernel_version == packaged_kernel_version: @@ -182,22 +202,24 @@ for release in repo.get_releases(): # skipping patches for kernels newer than the packaged one. if kernel_version > packaged_kernel_version: continue - elif (kernel_key not in releases or - releases[kernel_key]['version'] < version): + elif ( + kernel_key not in releases + or releases[kernel_key]["version"] < version + ): releases[kernel_key] = release_info # Update hardened-patches.json for each release. for kernel_key, release_info in releases.items(): - release = release_info['release'] - version = release_info['version'] + release = release_info["release"] + version = release_info["version"] version_str = release.tag_name - name = f'linux-hardened-{version_str}' + name = f"linux-hardened-{version_str}" try: - old_filename = patches[kernel_key]['name'] - old_version_str = (old_filename - .replace('linux-hardened-', '') - .replace('.patch', '')) + old_filename = patches[kernel_key]["name"] + old_version_str = old_filename.replace("linux-hardened-", "").replace( + ".patch", "" + ) old_version = parse_version(old_version_str) update = old_version < version except KeyError: @@ -211,17 +233,17 @@ for kernel_key, release_info in releases.items(): else: patches[kernel_key] = patch if old_version: - message = f'{old_version_str} -> {version_str}' + message = f"{old_version_str} -> {version_str}" else: - message = f'init at {version_str}' + message = f"init at {version_str}" commit_patches(kernel_key=kernel_key, message=message) missing_kernel_versions = kernel_versions.keys() - patches.keys() if missing_kernel_versions: print( - f'warning: no patches for kernel versions ' + - ', '.join(missing_kernel_versions), + f"warning: no patches for kernel versions " + + ", ".join(missing_kernel_versions), file=sys.stderr, ) From abe4bef033a8d6b1a82c84d2cd71f50a1624a389 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 26 Apr 2020 04:06:11 +0100 Subject: [PATCH 034/158] linux/update-hardened.py: use pathlib --- .../linux/kernel/update-hardened.py | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/update-hardened.py b/pkgs/os-specific/linux/kernel/update-hardened.py index 49a6228fb97..bc9110578d6 100755 --- a/pkgs/os-specific/linux/kernel/update-hardened.py +++ b/pkgs/os-specific/linux/kernel/update-hardened.py @@ -4,19 +4,19 @@ # This is automatically called by ./update.sh. import json -import os.path +import os import re import subprocess import sys -from glob import glob +from pathlib import Path from tempfile import TemporaryDirectory from github import Github -HERE = os.path.dirname(os.path.realpath(__file__)) +HERE = Path(__file__).resolve().parent HARDENED_GITHUB_REPO = "anthraxx/linux-hardened" -HARDENED_TRUSTED_KEY = os.path.join(HERE, "anthraxx.asc") -HARDENED_PATCHES_PATH = os.path.join(HERE, "hardened-patches.json") +HARDENED_TRUSTED_KEY = HERE / "anthraxx.asc" +HARDENED_PATCHES_PATH = HERE / "hardened-patches.json" MIN_KERNEL_VERSION = [4, 14] @@ -42,13 +42,15 @@ def run(*args, **kwargs): def nix_prefetch_url(url): output = run("nix-prefetch-url", "--print-path", url).stdout - return output.decode("utf-8").strip().split("\n") + sha256, path = output.decode("utf-8").strip().split("\n") + return sha256, Path(path) def verify_openpgp_signature(*, name, trusted_key, sig_path, data_path): - with TemporaryDirectory(suffix=".nixpkgs-gnupg-home") as gnupg_home: + with TemporaryDirectory(suffix=".nixpkgs-gnupg-home") as gnupg_home_str: + gnupg_home = Path(gnupg_home_str) run("gpg", "--homedir", gnupg_home, "--import", trusted_key) - keyring = os.path.join(gnupg_home, "pubring.kbx") + keyring = gnupg_home / "pubring.kbx" try: subprocess.run( ("gpgv", "--keyring", keyring, sig_path, data_path), @@ -121,10 +123,11 @@ def major_kernel_version_key(kernel_version): def commit_patches(*, kernel_key, message): - with open(HARDENED_PATCHES_PATH + ".new", "w") as new_patches_file: + new_patches_path = HARDENED_PATCHES_PATH.with_suffix(".new") + with open(new_patches_path, "w") as new_patches_file: json.dump(patches, new_patches_file, indent=4, sort_keys=True) new_patches_file.write("\n") - os.rename(HARDENED_PATCHES_PATH + ".new", HARDENED_PATCHES_PATH) + os.rename(new_patches_path, HARDENED_PATCHES_PATH) message = f"linux/hardened-patches/{kernel_key}: {message}" print(message) if os.environ.get("COMMIT"): @@ -156,7 +159,7 @@ kernel_versions = {} for filename in os.listdir(HERE): filename_match = re.fullmatch(r"linux-(\d+)\.(\d+)\.nix", filename) if filename_match: - with open(os.path.join(HERE, filename)) as nix_file: + with open(HERE / filename) as nix_file: for nix_line in nix_file: match = NIX_VERSION_RE.fullmatch(nix_line) if match: From d6fe0a4e2dc2711480f87fe8c9fa9b66323e4c25 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 26 Apr 2020 18:19:02 +0100 Subject: [PATCH 035/158] linux/hardened: move files into directory --- lib/kernel.nix | 2 +- .../linux/kernel/{ => hardened}/anthraxx.asc | 0 .../{hardened-config.nix => hardened/config.nix} | 0 .../patches.json} | 0 .../kernel/{ => hardened}/tag-hardened.patch | 0 .../{update-hardened.py => hardened/update.py} | 16 +++++++++------- pkgs/os-specific/linux/kernel/patches.nix | 4 ++-- pkgs/os-specific/linux/kernel/update.sh | 2 +- pkgs/top-level/all-packages.nix | 2 +- 9 files changed, 14 insertions(+), 12 deletions(-) rename pkgs/os-specific/linux/kernel/{ => hardened}/anthraxx.asc (100%) rename pkgs/os-specific/linux/kernel/{hardened-config.nix => hardened/config.nix} (100%) rename pkgs/os-specific/linux/kernel/{hardened-patches.json => hardened/patches.json} (100%) rename pkgs/os-specific/linux/kernel/{ => hardened}/tag-hardened.patch (100%) rename pkgs/os-specific/linux/kernel/{update-hardened.py => hardened/update.py} (94%) diff --git a/lib/kernel.nix b/lib/kernel.nix index 2ce19f8cb68..8045a228d05 100644 --- a/lib/kernel.nix +++ b/lib/kernel.nix @@ -14,7 +14,7 @@ with lib; freeform = x: { freeform = x; }; /* - Common patterns/legacy used in common-config/hardened-config.nix + Common patterns/legacy used in common-config/hardened/config.nix */ whenHelpers = version: { whenAtLeast = ver: mkIf (versionAtLeast version ver); diff --git a/pkgs/os-specific/linux/kernel/anthraxx.asc b/pkgs/os-specific/linux/kernel/hardened/anthraxx.asc similarity index 100% rename from pkgs/os-specific/linux/kernel/anthraxx.asc rename to pkgs/os-specific/linux/kernel/hardened/anthraxx.asc diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened/config.nix similarity index 100% rename from pkgs/os-specific/linux/kernel/hardened-config.nix rename to pkgs/os-specific/linux/kernel/hardened/config.nix diff --git a/pkgs/os-specific/linux/kernel/hardened-patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json similarity index 100% rename from pkgs/os-specific/linux/kernel/hardened-patches.json rename to pkgs/os-specific/linux/kernel/hardened/patches.json diff --git a/pkgs/os-specific/linux/kernel/tag-hardened.patch b/pkgs/os-specific/linux/kernel/hardened/tag-hardened.patch similarity index 100% rename from pkgs/os-specific/linux/kernel/tag-hardened.patch rename to pkgs/os-specific/linux/kernel/hardened/tag-hardened.patch diff --git a/pkgs/os-specific/linux/kernel/update-hardened.py b/pkgs/os-specific/linux/kernel/hardened/update.py similarity index 94% rename from pkgs/os-specific/linux/kernel/update-hardened.py rename to pkgs/os-specific/linux/kernel/hardened/update.py index bc9110578d6..1ef5acd3eb0 100755 --- a/pkgs/os-specific/linux/kernel/update-hardened.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -1,7 +1,7 @@ #! /usr/bin/env nix-shell #! nix-shell -i python -p "python3.withPackages (ps: [ps.PyGithub])" git gnupg -# This is automatically called by ./update.sh. +# This is automatically called by ../update.sh. import json import os @@ -14,9 +14,11 @@ from tempfile import TemporaryDirectory from github import Github HERE = Path(__file__).resolve().parent +NIXPKGS_KERNEL_PATH = HERE.parent +NIXPKGS_PATH = HERE.parents[4] HARDENED_GITHUB_REPO = "anthraxx/linux-hardened" HARDENED_TRUSTED_KEY = HERE / "anthraxx.asc" -HARDENED_PATCHES_PATH = HERE / "hardened-patches.json" +HARDENED_PATCHES_PATH = HERE / "patches.json" MIN_KERNEL_VERSION = [4, 14] @@ -128,16 +130,16 @@ def commit_patches(*, kernel_key, message): json.dump(patches, new_patches_file, indent=4, sort_keys=True) new_patches_file.write("\n") os.rename(new_patches_path, HARDENED_PATCHES_PATH) - message = f"linux/hardened-patches/{kernel_key}: {message}" + message = f"linux/hardened/patches/{kernel_key}: {message}" print(message) if os.environ.get("COMMIT"): run( "git", "-C", - HERE, + NIXPKGS_PATH, "commit", f"--message={message}", - "hardened-patches.json", + HARDENED_PATCHES_PATH, ) @@ -156,10 +158,10 @@ NIX_VERSION_RE = re.compile( # Get the set of currently packaged kernel versions. kernel_versions = {} -for filename in os.listdir(HERE): +for filename in os.listdir(NIXPKGS_KERNEL_PATH): filename_match = re.fullmatch(r"linux-(\d+)\.(\d+)\.nix", filename) if filename_match: - with open(HERE / filename) as nix_file: + with open(NIXPKGS_KERNEL_PATH / filename) as nix_file: for nix_line in nix_file: match = NIX_VERSION_RE.fullmatch(nix_line) if match: diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 1c4af8c32a6..8ce1ac2b587 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -35,7 +35,7 @@ tag_hardened = { name = "tag-hardened"; - patch = ./tag-hardened.patch; + patch = ./hardened/tag-hardened.patch; }; hardened = let @@ -43,7 +43,7 @@ name = lib.removeSuffix ".patch" src.name; patch = fetchurl src; }; - patches = builtins.fromJSON (builtins.readFile ./hardened-patches.json); + patches = builtins.fromJSON (builtins.readFile ./hardened/patches.json); in lib.mapAttrs mkPatch patches; # https://bugzilla.kernel.org/show_bug.cgi?id=197591#c6 diff --git a/pkgs/os-specific/linux/kernel/update.sh b/pkgs/os-specific/linux/kernel/update.sh index c483661b6f5..55fdce06c97 100755 --- a/pkgs/os-specific/linux/kernel/update.sh +++ b/pkgs/os-specific/linux/kernel/update.sh @@ -62,4 +62,4 @@ done COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/update-libre.sh # Update linux-hardened -COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/update-hardened.py +COMMIT=1 $NIXPKGS/pkgs/os-specific/linux/kernel/hardened/update.py diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 349bc242ee1..f6419394b2d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17014,7 +17014,7 @@ in # Hardened linux hardenedLinuxPackagesFor = kernel: linuxPackagesFor (kernel.override { - structuredExtraConfig = import ../os-specific/linux/kernel/hardened-config.nix { + structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix { inherit stdenv; inherit (kernel) version; }; From e77d174fcdba9c12468553c895ce235e9ea6bb77 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 26 Apr 2020 04:06:11 +0100 Subject: [PATCH 036/158] linux/hardened/update.py: add type annotations --- .../linux/kernel/hardened/update.py | 86 ++++++++++++------- 1 file changed, 53 insertions(+), 33 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py index 1ef5acd3eb0..116dd616891 100755 --- a/pkgs/os-specific/linux/kernel/hardened/update.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -1,17 +1,44 @@ #! /usr/bin/env nix-shell -#! nix-shell -i python -p "python3.withPackages (ps: [ps.PyGithub])" git gnupg +#! nix-shell -i python -p "python38.withPackages (ps: [ps.PyGithub])" git gnupg # This is automatically called by ../update.sh. +from __future__ import annotations + import json import os import re import subprocess import sys +from dataclasses import dataclass from pathlib import Path from tempfile import TemporaryDirectory +from typing import ( + Dict, + Iterator, + List, + Optional, + Sequence, + Tuple, + TypedDict, + Union, +) from github import Github +from github.GitRelease import GitRelease + +VersionComponent = Union[int, str] +Version = List[VersionComponent] + + +Patch = TypedDict("Patch", {"name": str, "url": str, "sha256": str}) + + +@dataclass +class ReleaseInfo: + version: Version + release: GitRelease + HERE = Path(__file__).resolve().parent NIXPKGS_KERNEL_PATH = HERE.parent @@ -19,17 +46,13 @@ NIXPKGS_PATH = HERE.parents[4] HARDENED_GITHUB_REPO = "anthraxx/linux-hardened" HARDENED_TRUSTED_KEY = HERE / "anthraxx.asc" HARDENED_PATCHES_PATH = HERE / "patches.json" -MIN_KERNEL_VERSION = [4, 14] +MIN_KERNEL_VERSION: Version = [4, 14] -def run(*args, **kwargs): +def run(*args: Union[str, Path]) -> subprocess.CompletedProcess[bytes]: try: return subprocess.run( - args, - **kwargs, - check=True, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, + args, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) except subprocess.CalledProcessError as err: print( @@ -42,13 +65,15 @@ def run(*args, **kwargs): sys.exit(1) -def nix_prefetch_url(url): +def nix_prefetch_url(url: str) -> Tuple[str, Path]: output = run("nix-prefetch-url", "--print-path", url).stdout sha256, path = output.decode("utf-8").strip().split("\n") return sha256, Path(path) -def verify_openpgp_signature(*, name, trusted_key, sig_path, data_path): +def verify_openpgp_signature( + *, name: str, trusted_key: Path, sig_path: Path, data_path: Path, +) -> bool: with TemporaryDirectory(suffix=".nixpkgs-gnupg-home") as gnupg_home_str: gnupg_home = Path(gnupg_home_str) run("gpg", "--homedir", gnupg_home, "--import", trusted_key) @@ -69,14 +94,15 @@ def verify_openpgp_signature(*, name, trusted_key, sig_path, data_path): return False -def fetch_patch(*, name, release): - def find_asset(filename): +def fetch_patch(*, name: str, release: GitRelease) -> Optional[Patch]: + def find_asset(filename: str) -> str: try: - return next( + it: Iterator[str] = ( asset.browser_download_url for asset in release.get_assets() if asset.name == filename ) + return next(it) except StopIteration: raise KeyError(filename) @@ -99,15 +125,11 @@ def fetch_patch(*, name, release): if not sig_ok: return None - return { - "name": patch_filename, - "url": patch_url, - "sha256": sha256, - } + return Patch(name=patch_filename, url=patch_url, sha256=sha256) -def parse_version(version_str): - version = [] +def parse_version(version_str: str) -> Version: + version: Version = [] for component in version_str.split("."): try: version.append(int(component)) @@ -116,15 +138,15 @@ def parse_version(version_str): return version -def version_string(version): +def version_string(version: Version) -> str: return ".".join(str(component) for component in version) -def major_kernel_version_key(kernel_version): +def major_kernel_version_key(kernel_version: Version) -> str: return version_string(kernel_version[:-1]) -def commit_patches(*, kernel_key, message): +def commit_patches(*, kernel_key: str, message: str) -> None: new_patches_path = HARDENED_PATCHES_PATH.with_suffix(".new") with open(new_patches_path, "w") as new_patches_file: json.dump(patches, new_patches_file, indent=4, sort_keys=True) @@ -144,6 +166,7 @@ def commit_patches(*, kernel_key, message): # Load the existing patches. +patches: Dict[str, Patch] with open(HARDENED_PATCHES_PATH) as patches_file: patches = json.load(patches_file) @@ -177,7 +200,6 @@ for kernel_key in sorted(patches.keys() - kernel_versions.keys()): g = Github(os.environ.get("GITHUB_TOKEN")) repo = g.get_repo(HARDENED_GITHUB_REPO) - failures = False # Match each kernel version with the best patch version. @@ -195,10 +217,7 @@ for release in repo.get_releases(): except KeyError: continue - release_info = { - "version": version, - "release": release, - } + release_info = ReleaseInfo(version=version, release=release) if kernel_version == packaged_kernel_version: releases[kernel_key] = release_info @@ -208,18 +227,20 @@ for release in repo.get_releases(): if kernel_version > packaged_kernel_version: continue elif ( - kernel_key not in releases - or releases[kernel_key]["version"] < version + kernel_key not in releases or releases[kernel_key].version < version ): releases[kernel_key] = release_info # Update hardened-patches.json for each release. for kernel_key, release_info in releases.items(): - release = release_info["release"] - version = release_info["version"] + release = release_info.release + version = release_info.version version_str = release.tag_name name = f"linux-hardened-{version_str}" + old_version: Optional[Version] = None + old_version_str: Optional[str] = None + update: bool try: old_filename = patches[kernel_key]["name"] old_version_str = old_filename.replace("linux-hardened-", "").replace( @@ -229,7 +250,6 @@ for kernel_key, release_info in releases.items(): update = old_version < version except KeyError: update = True - old_version = None if update: patch = fetch_patch(name=name, release=release) From 88486c4e767cb92b0a51d9c41f4e40121c6e3bf1 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 26 Apr 2020 18:12:14 +0100 Subject: [PATCH 037/158] linux/hardened/update.py: get versions with nix(1) --- .../linux/kernel/hardened/update.py | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py index 116dd616891..7960f1264f8 100755 --- a/pkgs/os-specific/linux/kernel/hardened/update.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -170,29 +170,24 @@ patches: Dict[str, Patch] with open(HARDENED_PATCHES_PATH) as patches_file: patches = json.load(patches_file) -NIX_VERSION_RE = re.compile( - r""" - \s* version \s* = - \s* " (?P [^"]*) " - \s* ; \s* \n - """, - re.VERBOSE, -) - # Get the set of currently packaged kernel versions. kernel_versions = {} for filename in os.listdir(NIXPKGS_KERNEL_PATH): filename_match = re.fullmatch(r"linux-(\d+)\.(\d+)\.nix", filename) if filename_match: - with open(NIXPKGS_KERNEL_PATH / filename) as nix_file: - for nix_line in nix_file: - match = NIX_VERSION_RE.fullmatch(nix_line) - if match: - kernel_version = parse_version(match.group("version")) - if kernel_version < MIN_KERNEL_VERSION: - continue - kernel_key = major_kernel_version_key(kernel_version) - kernel_versions[kernel_key] = kernel_version + nix_version_expr = f""" + with import {NIXPKGS_PATH} {{}}; + (callPackage {NIXPKGS_KERNEL_PATH / filename} {{}}).version + """ + kernel_version = parse_version( + run( + "nix", "eval", "--impure", "--raw", "--expr", nix_version_expr, + ).stdout.decode("utf-8") + ) + if kernel_version < MIN_KERNEL_VERSION: + continue + kernel_key = major_kernel_version_key(kernel_version) + kernel_versions[kernel_key] = kernel_version # Remove patches for unpackaged kernel versions. for kernel_key in sorted(patches.keys() - kernel_versions.keys()): From b2ad58536c7ed0f0a0d5434d63067011f531e0c5 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 26 Apr 2020 20:09:37 +0100 Subject: [PATCH 038/158] linux/hardened/update.py: commit updates in order --- pkgs/os-specific/linux/kernel/hardened/update.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py index 7960f1264f8..be955efbb53 100755 --- a/pkgs/os-specific/linux/kernel/hardened/update.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -227,7 +227,8 @@ for release in repo.get_releases(): releases[kernel_key] = release_info # Update hardened-patches.json for each release. -for kernel_key, release_info in releases.items(): +for kernel_key in sorted(releases.keys()): + release_info = releases[kernel_key] release = release_info.release version = release_info.version version_str = release.tag_name From 5a5a2d0342ee6610f14a7024c6b01ab6261749f9 Mon Sep 17 00:00:00 2001 From: Emily Date: Sun, 3 May 2020 12:54:11 +0100 Subject: [PATCH 039/158] linux/hardened/update.py: pass encoding to subprocess --- .../os-specific/linux/kernel/hardened/update.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/hardened/update.py b/pkgs/os-specific/linux/kernel/hardened/update.py index be955efbb53..3958c85fe20 100755 --- a/pkgs/os-specific/linux/kernel/hardened/update.py +++ b/pkgs/os-specific/linux/kernel/hardened/update.py @@ -52,14 +52,18 @@ MIN_KERNEL_VERSION: Version = [4, 14] def run(*args: Union[str, Path]) -> subprocess.CompletedProcess[bytes]: try: return subprocess.run( - args, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, + args, + check=True, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + encoding="utf-8", ) except subprocess.CalledProcessError as err: print( f"error: `{err.cmd}` failed unexpectedly\n" f"status code: {err.returncode}\n" - f'stdout:\n{err.stdout.decode("utf-8").strip()}\n' - f'stderr:\n{err.stderr.decode("utf-8").strip()}', + f"stdout:\n{err.stdout.strip()}\n" + f"stderr:\n{err.stderr.strip()}", file=sys.stderr, ) sys.exit(1) @@ -67,7 +71,7 @@ def run(*args: Union[str, Path]) -> subprocess.CompletedProcess[bytes]: def nix_prefetch_url(url: str) -> Tuple[str, Path]: output = run("nix-prefetch-url", "--print-path", url).stdout - sha256, path = output.decode("utf-8").strip().split("\n") + sha256, path = output.strip().split("\n") return sha256, Path(path) @@ -83,6 +87,7 @@ def verify_openpgp_signature( ("gpgv", "--keyring", keyring, sig_path, data_path), check=True, stderr=subprocess.PIPE, + encoding="utf-8", ) return True except subprocess.CalledProcessError as err: @@ -90,7 +95,7 @@ def verify_openpgp_signature( f"error: signature for {name} failed to verify!", file=sys.stderr, ) - print(err.stderr.decode("utf-8"), file=sys.stderr, end="") + print(err.stderr, file=sys.stderr, end="") return False @@ -182,7 +187,7 @@ for filename in os.listdir(NIXPKGS_KERNEL_PATH): kernel_version = parse_version( run( "nix", "eval", "--impure", "--raw", "--expr", nix_version_expr, - ).stdout.decode("utf-8") + ).stdout ) if kernel_version < MIN_KERNEL_VERSION: continue From fabf511ea433f5b86daf7ad6d27c04ac0130198e Mon Sep 17 00:00:00 2001 From: Luflosi Date: Sat, 9 May 2020 15:20:33 +0200 Subject: [PATCH 040/158] kitty: 0.17.3 -> 0.17.4 https://github.com/kovidgoyal/kitty/releases/tag/v0.17.4 --- pkgs/applications/misc/kitty/default.nix | 4 +- .../misc/kitty/library-paths.patch | 40 +++++++++++-------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix index 90dd04c9d68..80cf90ced16 100644 --- a/pkgs/applications/misc/kitty/default.nix +++ b/pkgs/applications/misc/kitty/default.nix @@ -20,14 +20,14 @@ with python3Packages; buildPythonApplication rec { pname = "kitty"; - version = "0.17.3"; + version = "0.17.4"; format = "other"; src = fetchFromGitHub { owner = "kovidgoyal"; repo = "kitty"; rev = "v${version}"; - sha256 = "1nx8gjavq8kc656ayh3wign1f68b46jbnmy8zyks25wg0p9gid8l"; + sha256 = "1rbyj84y8r6h7qd6w7cw58v2abspippignj458ihv2m26i4als2x"; }; buildInputs = [ diff --git a/pkgs/applications/misc/kitty/library-paths.patch b/pkgs/applications/misc/kitty/library-paths.patch index 5f8daacc3c2..608dfb80d61 100644 --- a/pkgs/applications/misc/kitty/library-paths.patch +++ b/pkgs/applications/misc/kitty/library-paths.patch @@ -12,21 +12,27 @@ --- a/kitty/desktop.c +++ b/kitty/desktop.c -@@ -30,7 +30,7 @@ - static PyObject* - init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) { - static bool done = false; -- static const char* libname = "libstartup-notification-1.so"; -+ static const char* libname = "@libstartup_notification@"; - // some installs are missing the .so symlink, so try the full name - static const char* libname2 = "libstartup-notification-1.so.0"; - static const char* libname3 = "libstartup-notification-1.so.0.0.0"; -@@ -105,7 +105,7 @@ load_libcanberra_functions(void) { +@@ -34,10 +34,7 @@ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) { + done = true; - static void - load_libcanberra(void) { -- static const char* libname = "libcanberra.so"; -+ static const char* libname = "@libcanberra@"; - // some installs are missing the .so symlink, so try the full name - static const char* libname2 = "libcanberra.so.0"; - static const char* libname3 = "libcanberra.so.0.2.5"; + const char* libnames[] = { +- "libstartup-notification-1.so", +- // some installs are missing the .so symlink, so try the full name +- "libstartup-notification-1.so.0", +- "libstartup-notification-1.so.0.0.0", ++ "@libstartup_notification@", + NULL + }; + for (int i = 0; libnames[i]; i++) { +@@ -113,10 +110,7 @@ load_libcanberra(void) { + if (done) return; + done = true; + const char* libnames[] = { +- "libcanberra.so", +- // some installs are missing the .so symlink, so try the full name +- "libcanberra.so.0", +- "libcanberra.so.0.2.5", ++ "@libcanberra@", + NULL + }; + for (int i = 0; libnames[i]; i++) { From 13e733830ea31522bca5e9e7fbae72564f0e587d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 17:24:02 +0000 Subject: [PATCH 041/158] python27Packages.twilio: 6.35.1 -> 6.39.0 --- pkgs/development/python-modules/twilio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 75c9a19491c..18e28c358b4 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -3,13 +3,13 @@ buildPythonPackage rec { pname = "twilio"; - version = "6.35.1"; + version = "6.39.0"; # tests not included in PyPi, so fetch from github instead src = fetchFromGitHub { owner = "twilio"; repo = "twilio-python"; rev = version; - sha256 = "10a1hqvxn0w6z696ay1bbxra6qn8bxg87d6g9iryd2hjnn8sfh4b"; + sha256 = "1l2j54kjd1lrf072a3i5037qxpm8n378dddzd3m711ylz6vp638f"; }; buildInputs = [ nose mock ]; From 751a27020e733f064339eab208327b85c23e3c42 Mon Sep 17 00:00:00 2001 From: Chuck Date: Sat, 9 May 2020 10:32:42 -0700 Subject: [PATCH 042/158] nixos/test-driver: Specify /bin/sh shell when running a bourne shell script as the user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The test harness provides the commands it wishes to run in Bourne syntax. This fails if the user uses a different shell. For example, with fish: machine.wait_for_unit("graphical-session.target", "alice") machine # fish: Unsupported use of '='. To run '-u`' with a modified environment, please use 'env XDG_RUNTIME_DIR=/run/user/`id -u`…' machine # XDG_RUNTIME_DIR=/run/user/`id -u` systemctl --user --no-pager show "graphical-session.target" machine # ^ machine # [ 16.329957] su[1077]: pam_unix(su:session): session closed for user alice error: retrieving systemctl info for unit "graphical-session.target" under user "alice" failed with exit code 127 --- nixos/lib/test-driver/test-driver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 84661a4a758..bf46d0df97f 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -369,7 +369,7 @@ class Machine: q = q.replace("'", "\\'") return self.execute( ( - "su -l {} -c " + "su -l {} --shell /bin/sh -c " "$'XDG_RUNTIME_DIR=/run/user/`id -u` " "systemctl --user {}'" ).format(user, q) From d91d2bdf77d4db115ce6a7acaf622100d7225668 Mon Sep 17 00:00:00 2001 From: Andrew Childs Date: Sun, 10 May 2020 03:50:19 +0900 Subject: [PATCH 043/158] compiler-rt: fix build on armv7l --- .../llvm/10/compiler-rt-armv7l.patch | 32 ++++++++++++++++ .../compilers/llvm/10/compiler-rt.nix | 1 + .../compilers/llvm/5/compiler-rt-armv7l.patch | 23 +++++++++++ .../compilers/llvm/5/compiler-rt.nix | 1 + .../compilers/llvm/6/compiler-rt-armv7l.patch | 32 ++++++++++++++++ .../compilers/llvm/6/compiler-rt.nix | 1 + .../compilers/llvm/7/compiler-rt-armv7l.patch | 38 +++++++++++++++++++ .../compilers/llvm/7/compiler-rt.nix | 1 + .../compilers/llvm/8/compiler-rt-armv7l.patch | 38 +++++++++++++++++++ .../compilers/llvm/8/compiler-rt.nix | 1 + .../compilers/llvm/9/compiler-rt-armv7l.patch | 38 +++++++++++++++++++ .../compilers/llvm/9/compiler-rt.nix | 1 + 12 files changed, 207 insertions(+) create mode 100644 pkgs/development/compilers/llvm/10/compiler-rt-armv7l.patch create mode 100644 pkgs/development/compilers/llvm/5/compiler-rt-armv7l.patch create mode 100644 pkgs/development/compilers/llvm/6/compiler-rt-armv7l.patch create mode 100644 pkgs/development/compilers/llvm/7/compiler-rt-armv7l.patch create mode 100644 pkgs/development/compilers/llvm/8/compiler-rt-armv7l.patch create mode 100644 pkgs/development/compilers/llvm/9/compiler-rt-armv7l.patch diff --git a/pkgs/development/compilers/llvm/10/compiler-rt-armv7l.patch b/pkgs/development/compilers/llvm/10/compiler-rt-armv7l.patch new file mode 100644 index 00000000000..120cfe6feb2 --- /dev/null +++ b/pkgs/development/compilers/llvm/10/compiler-rt-armv7l.patch @@ -0,0 +1,32 @@ +diff -ur compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake +--- compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake 2020-03-24 00:01:02.000000000 +0900 ++++ compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:42:00.883450706 +0900 +@@ -24,7 +24,7 @@ + + + set(ARM64 aarch64) +-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) ++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) + set(HEXAGON hexagon) + set(X86 i386) + set(X86_64 x86_64) +diff -ur compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt +--- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt 2020-03-24 00:01:02.000000000 +0900 ++++ compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:44:49.468579650 +0900 +@@ -474,6 +474,7 @@ + set(armv7_SOURCES ${arm_SOURCES}) + set(armv7s_SOURCES ${arm_SOURCES}) + set(armv7k_SOURCES ${arm_SOURCES}) ++set(armv7l_SOURCES ${arm_SOURCES}) + set(arm64_SOURCES ${aarch64_SOURCES}) + + # macho_embedded archs +@@ -595,7 +596,7 @@ + foreach (arch ${BUILTIN_SUPPORTED_ARCH}) + if (CAN_TARGET_${arch}) + # For ARM archs, exclude any VFP builtins if VFP is not supported +- if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}") + check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP) + if(NOT COMPILER_RT_HAS_${arch}_VFP) diff --git a/pkgs/development/compilers/llvm/10/compiler-rt.nix b/pkgs/development/compilers/llvm/10/compiler-rt.nix index c0ea436ae27..dbcbc495460 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/10/compiler-rt.nix @@ -48,6 +48,7 @@ stdenv.mkDerivation rec { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15 + ./compiler-rt-armv7l.patch ];# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks diff --git a/pkgs/development/compilers/llvm/5/compiler-rt-armv7l.patch b/pkgs/development/compilers/llvm/5/compiler-rt-armv7l.patch new file mode 100644 index 00000000000..77bf2640c47 --- /dev/null +++ b/pkgs/development/compilers/llvm/5/compiler-rt-armv7l.patch @@ -0,0 +1,23 @@ +diff -ur compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake +--- compiler-rt-5.0.2.src/cmake/builtin-config-ix.cmake 2017-05-25 00:53:24.000000000 +0900 ++++ compiler-rt-5.0.2.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:24:24.937433155 +0900 +@@ -24,7 +24,7 @@ + + + set(ARM64 aarch64) +-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) ++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) + set(X86 i386 i686) + set(X86_64 x86_64) + set(MIPS32 mips mipsel) +diff -ur compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt +--- compiler-rt-5.0.2.src/lib/builtins/CMakeLists.txt 2017-07-13 04:33:30.000000000 +0900 ++++ compiler-rt-5.0.2.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:24:45.945075423 +0900 +@@ -444,6 +444,7 @@ + set(armv7_SOURCES ${arm_SOURCES}) + set(armv7s_SOURCES ${arm_SOURCES}) + set(armv7k_SOURCES ${arm_SOURCES}) ++set(armv7l_SOURCES ${arm_SOURCES}) + set(arm64_SOURCES ${aarch64_SOURCES}) + + # macho_embedded archs diff --git a/pkgs/development/compilers/llvm/5/compiler-rt.nix b/pkgs/development/compilers/llvm/5/compiler-rt.nix index 55f4eb94e92..179fc033ffc 100644 --- a/pkgs/development/compilers/llvm/5/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/5/compiler-rt.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt-armv7l.patch ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch; diff --git a/pkgs/development/compilers/llvm/6/compiler-rt-armv7l.patch b/pkgs/development/compilers/llvm/6/compiler-rt-armv7l.patch new file mode 100644 index 00000000000..ca2ed632faa --- /dev/null +++ b/pkgs/development/compilers/llvm/6/compiler-rt-armv7l.patch @@ -0,0 +1,32 @@ +diff -ur compiler-rt-6.0.1.src/cmake/builtin-config-ix.cmake compiler-rt-6.0.1.src-patched/cmake/builtin-config-ix.cmake +--- compiler-rt-6.0.1.src/cmake/builtin-config-ix.cmake 2017-12-01 06:04:11.000000000 +0900 ++++ compiler-rt-6.0.1.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:30:01.939694303 +0900 +@@ -24,7 +24,7 @@ + + + set(ARM64 aarch64) +-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) ++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) + set(X86 i386) + set(X86_64 x86_64) + set(MIPS32 mips mipsel) +diff -ur compiler-rt-6.0.1.src/lib/builtins/CMakeLists.txt compiler-rt-6.0.1.src-patched/lib/builtins/CMakeLists.txt +--- compiler-rt-6.0.1.src/lib/builtins/CMakeLists.txt 2017-12-25 06:11:32.000000000 +0900 ++++ compiler-rt-6.0.1.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:30:44.814964156 +0900 +@@ -452,6 +452,7 @@ + set(armv7_SOURCES ${arm_SOURCES}) + set(armv7s_SOURCES ${arm_SOURCES}) + set(armv7k_SOURCES ${arm_SOURCES}) ++set(armv7l_SOURCES ${arm_SOURCES}) + set(arm64_SOURCES ${aarch64_SOURCES}) + + # macho_embedded archs +@@ -521,7 +522,7 @@ + set(_arch ${arch}) + if("${arch}" STREQUAL "armv6m") + set(_arch "arm|armv6m") +- elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + set(_arch "arm") + endif() + diff --git a/pkgs/development/compilers/llvm/6/compiler-rt.nix b/pkgs/development/compilers/llvm/6/compiler-rt.nix index abb6796e3c7..89fca56f32c 100644 --- a/pkgs/development/compilers/llvm/6/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/6/compiler-rt.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt-armv7l.patch ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks diff --git a/pkgs/development/compilers/llvm/7/compiler-rt-armv7l.patch b/pkgs/development/compilers/llvm/7/compiler-rt-armv7l.patch new file mode 100644 index 00000000000..89d7f1aec91 --- /dev/null +++ b/pkgs/development/compilers/llvm/7/compiler-rt-armv7l.patch @@ -0,0 +1,38 @@ +diff -ur compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake +--- compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake 2018-05-25 06:36:27.000000000 +0900 ++++ compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake 2020-05-09 20:26:33.030608692 +0900 +@@ -24,7 +24,7 @@ + + + set(ARM64 aarch64) +-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) ++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) + set(HEXAGON hexagon) + set(X86 i386) + set(X86_64 x86_64) +diff -ur compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt +--- compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt 2018-07-31 03:18:59.000000000 +0900 ++++ compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt 2020-05-09 20:27:38.893409318 +0900 +@@ -453,6 +453,7 @@ + set(armv7_SOURCES ${arm_SOURCES}) + set(armv7s_SOURCES ${arm_SOURCES}) + set(armv7k_SOURCES ${arm_SOURCES}) ++set(armv7l_SOURCES ${arm_SOURCES}) + set(arm64_SOURCES ${aarch64_SOURCES}) + + # macho_embedded archs +@@ -563,12 +564,12 @@ + set(_arch ${arch}) + if("${arch}" STREQUAL "armv6m") + set(_arch "arm|armv6m") +- elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + set(_arch "arm") + endif() + + # For ARM archs, exclude any VFP builtins if VFP is not supported +- if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}") + check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP) + if(NOT COMPILER_RT_HAS_${arch}_VFP) diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix index e83a4a3c26f..4066d6bc2c3 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt-armv7l.patch ] ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch; diff --git a/pkgs/development/compilers/llvm/8/compiler-rt-armv7l.patch b/pkgs/development/compilers/llvm/8/compiler-rt-armv7l.patch new file mode 100644 index 00000000000..89d7f1aec91 --- /dev/null +++ b/pkgs/development/compilers/llvm/8/compiler-rt-armv7l.patch @@ -0,0 +1,38 @@ +diff -ur compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake +--- compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake 2018-05-25 06:36:27.000000000 +0900 ++++ compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake 2020-05-09 20:26:33.030608692 +0900 +@@ -24,7 +24,7 @@ + + + set(ARM64 aarch64) +-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) ++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) + set(HEXAGON hexagon) + set(X86 i386) + set(X86_64 x86_64) +diff -ur compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt +--- compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt 2018-07-31 03:18:59.000000000 +0900 ++++ compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt 2020-05-09 20:27:38.893409318 +0900 +@@ -453,6 +453,7 @@ + set(armv7_SOURCES ${arm_SOURCES}) + set(armv7s_SOURCES ${arm_SOURCES}) + set(armv7k_SOURCES ${arm_SOURCES}) ++set(armv7l_SOURCES ${arm_SOURCES}) + set(arm64_SOURCES ${aarch64_SOURCES}) + + # macho_embedded archs +@@ -563,12 +564,12 @@ + set(_arch ${arch}) + if("${arch}" STREQUAL "armv6m") + set(_arch "arm|armv6m") +- elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + set(_arch "arm") + endif() + + # For ARM archs, exclude any VFP builtins if VFP is not supported +- if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}") + check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP) + if(NOT COMPILER_RT_HAS_${arch}_VFP) diff --git a/pkgs/development/compilers/llvm/8/compiler-rt.nix b/pkgs/development/compilers/llvm/8/compiler-rt.nix index b11659a78cc..fb69373125c 100644 --- a/pkgs/development/compilers/llvm/8/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/8/compiler-rt.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt-armv7l.patch ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch; diff --git a/pkgs/development/compilers/llvm/9/compiler-rt-armv7l.patch b/pkgs/development/compilers/llvm/9/compiler-rt-armv7l.patch new file mode 100644 index 00000000000..89d7f1aec91 --- /dev/null +++ b/pkgs/development/compilers/llvm/9/compiler-rt-armv7l.patch @@ -0,0 +1,38 @@ +diff -ur compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake +--- compiler-rt-7.1.0.src/cmake/builtin-config-ix.cmake 2018-05-25 06:36:27.000000000 +0900 ++++ compiler-rt-7.1.0.src-patched/cmake/builtin-config-ix.cmake 2020-05-09 20:26:33.030608692 +0900 +@@ -24,7 +24,7 @@ + + + set(ARM64 aarch64) +-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) ++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) + set(HEXAGON hexagon) + set(X86 i386) + set(X86_64 x86_64) +diff -ur compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt +--- compiler-rt-7.1.0.src/lib/builtins/CMakeLists.txt 2018-07-31 03:18:59.000000000 +0900 ++++ compiler-rt-7.1.0.src-patched/lib/builtins/CMakeLists.txt 2020-05-09 20:27:38.893409318 +0900 +@@ -453,6 +453,7 @@ + set(armv7_SOURCES ${arm_SOURCES}) + set(armv7s_SOURCES ${arm_SOURCES}) + set(armv7k_SOURCES ${arm_SOURCES}) ++set(armv7l_SOURCES ${arm_SOURCES}) + set(arm64_SOURCES ${aarch64_SOURCES}) + + # macho_embedded archs +@@ -563,12 +564,12 @@ + set(_arch ${arch}) + if("${arch}" STREQUAL "armv6m") + set(_arch "arm|armv6m") +- elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ elseif("${arch}" MATCHES "^(armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + set(_arch "arm") + endif() + + # For ARM archs, exclude any VFP builtins if VFP is not supported +- if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}") + check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP) + if(NOT COMPILER_RT_HAS_${arch}_VFP) diff --git a/pkgs/development/compilers/llvm/9/compiler-rt.nix b/pkgs/development/compilers/llvm/9/compiler-rt.nix index 7d712017eae..581cab902ee 100644 --- a/pkgs/development/compilers/llvm/9/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/9/compiler-rt.nix @@ -47,6 +47,7 @@ stdenv.mkDerivation rec { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./compiler-rt-armv7l.patch ];# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks From 11fa2d4340a7768ccb639f9ccde1cc1736eadee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 8 May 2020 21:05:10 +0100 Subject: [PATCH 044/158] radare2-cutter: 1.10.2 -> 1.10.3 --- pkgs/development/tools/analysis/radare2/cutter.nix | 4 ++-- pkgs/development/tools/analysis/radare2/default.nix | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/tools/analysis/radare2/cutter.nix b/pkgs/development/tools/analysis/radare2/cutter.nix index e64f39a4960..3f90e5f7343 100644 --- a/pkgs/development/tools/analysis/radare2/cutter.nix +++ b/pkgs/development/tools/analysis/radare2/cutter.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "radare2-cutter"; - version = "1.10.2"; + version = "1.10.3"; src = fetchFromGitHub { owner = "radareorg"; repo = "cutter"; rev = "v${version}"; - sha256 = "1icv56gxpzdjqn37pk3g99vgpljdc77i6k0x601iw2885s7s01n6"; + sha256 = "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk"; }; postUnpack = "export sourceRoot=$sourceRoot/src"; diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 32d23597e52..f77ea1602f4 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -120,12 +120,12 @@ in { cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6"; }; r2-for-cutter = generic { - version_commit = "24545"; - gittap = "4.3.1"; - gittip = "e7f940d27b3b4eb2738afef78a6ea09ed770318c"; - rev = "e7f940d27b3b4eb2738afef78a6ea09ed770318c"; - version = "2020-03-05"; - sha256 = "0fiy6aj8xf9anpkk2vpkx8x0m2f26rhjb92nmg61xj13dmhchh30"; + version_commit = "24605"; + gittap = "4.4.0"; + gittip = "9ea0b7ce566cfdcfb3513f407c4056915204294a"; + rev = "9ea0b7ce566cfdcfb3513f407c4056915204294a"; + version = "2020-04-14"; + sha256 = "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s"; cs_ver = "4.0.1"; cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6"; }; From 943b8b6ebd4a1da46dda503bd79a5141d9da972b Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sat, 9 May 2020 15:40:00 -0500 Subject: [PATCH 045/158] gopass: 1.9.0 -> 1.9.1 Changelog: https://github.com/gopasspw/gopass/releases/tag/v1.9.1 --- pkgs/tools/security/gopass/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix index 59a5e800aed..a16701f48ea 100644 --- a/pkgs/tools/security/gopass/default.nix +++ b/pkgs/tools/security/gopass/default.nix @@ -9,7 +9,7 @@ buildGoModule rec { pname = "gopass"; - version = "1.9.0"; + version = "1.9.1"; nativeBuildInputs = [ installShellFiles makeWrapper ]; @@ -17,10 +17,10 @@ buildGoModule rec { owner = "gopasspw"; repo = pname; rev = "v${version}"; - sha256 = "1cssiglhxnrk1wl8phqkhmljqig5ms5a23sdzf8lywk5f6w2gayh"; + sha256 = "19xhyyd76r17rwn6s8xgfjnyi7kywagy0i4anqws40w79j3qb1p0"; }; - modSha256 = "01p3zv6dq1l68in1qqvlsh7i3ydhhanf54dyf7288x35js8wnmqa"; + modSha256 = "0zr4ihpcclw5pfhcdrd4n4qb3i3djcwyvwr4m2kpn99icp55bml8"; buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev}" ]; From 9f09253e521bbddabd6a7faf5803fffceba7b03c Mon Sep 17 00:00:00 2001 From: talyz Date: Sat, 2 May 2020 23:13:53 +0200 Subject: [PATCH 046/158] php.buildPecl: Allow PECLs to depend on other PECLs Some PECLs depend on other PECLs and, like internal PHP extension dependencies, need to be loaded in the correct order. This makes this possible by adding the argument "peclDeps" to buildPecl, which adds the extension to buildInputs and is treated the same way as internalDeps when the extension config is generated. --- pkgs/build-support/build-pecl.nix | 4 +++- pkgs/development/interpreters/php/default.nix | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index f43205f24c5..d75d3cf943a 100644 --- a/pkgs/build-support/build-pecl.nix +++ b/pkgs/build-support/build-pecl.nix @@ -3,6 +3,7 @@ { pname , version , internalDeps ? [] +, peclDeps ? [] , buildInputs ? [] , nativeBuildInputs ? [] , postPhpize ? "" @@ -16,11 +17,12 @@ stdenv.mkDerivation (args // { name = "php-${pname}-${version}"; + extensionName = pname; inherit src; nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs; - buildInputs = [ php ] ++ buildInputs; + buildInputs = [ php ] ++ peclDeps ++ buildInputs; makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index ac0ab2196af..8ccb0e54641 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -67,7 +67,7 @@ let getDepsRecursively = extensions: let deps = lib.concatMap - (ext: ext.internalDeps or []) + (ext: (ext.internalDeps or []) ++ (ext.peclDeps or [])) extensions; in if ! (deps == []) then @@ -86,12 +86,12 @@ let (map (ext: let extName = getExtName ext; + phpDeps = (ext.internalDeps or []) ++ (ext.peclDeps or []); type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; in lib.nameValuePair extName { text = "${type}=${ext}/lib/php/extensions/${extName}.so"; - deps = lib.optionals (ext ? internalDeps) - (map getExtName ext.internalDeps); + deps = map getExtName phpDeps; }) (enabledExtensions ++ (getDepsRecursively enabledExtensions))); @@ -112,7 +112,7 @@ let phpIni = "${phpWithExtensions}/lib/php.ini"; unwrapped = php; tests = nixosTests.php; - inherit (php-packages) packages extensions; + inherit (php-packages) packages extensions buildPecl; meta = php.meta // { outputsToInstall = [ "out" ]; }; From 295fc2996d57ffef5154e7a632826e08f895a3c5 Mon Sep 17 00:00:00 2001 From: talyz Date: Sat, 2 May 2020 23:16:21 +0200 Subject: [PATCH 047/158] php.extensions.apcu_bc: Fix runtime loading Fix an issue brought up in #86463, where the apcu_bc extension isn't loaded correctly since it produces a .so with a different name than the extension name. Also, the apcu extension has to be loaded and loaded prior to loading this extension. --- pkgs/top-level/php-packages.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 9532f113ae3..73d436c8077 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -320,11 +320,16 @@ in sha256 = "0ma00syhk2ps9k9p02jz7rii6x3i2p986il23703zz5npd6y9n20"; + peclDeps = [ php.extensions.apcu ]; + buildInputs = [ - php.extensions.apcu pcre' ]; + postInstall = '' + mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so + ''; + meta.maintainers = lib.teams.php.members; }; From 2f1f359692a4af926f5e39653e7ea06f29a4c485 Mon Sep 17 00:00:00 2001 From: talyz Date: Sat, 2 May 2020 23:22:53 +0200 Subject: [PATCH 048/158] php.extensions.pcs: Mark broken in 7.3, add tokenizer dependency The pcs extension fails to load at runtime with PHP 7.3, so let's mark it broken from 7.3 onwards. It also depends on the tokenizer internal extension. --- pkgs/top-level/php-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 73d436c8077..1f49a145c69 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -562,8 +562,10 @@ in sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; + internalDeps = [ php.extensions.tokenizer ]; + meta.maintainers = lib.teams.php.members; - meta.broken = isPhp74; # Build error + meta.broken = isPhp73; # Runtime failure on 7.3, build error on 7.4 }; pdo_oci = buildPecl rec { From fa4c995d0e8031be38c226284e45fb7d5a97e9a1 Mon Sep 17 00:00:00 2001 From: talyz Date: Sat, 2 May 2020 23:25:41 +0200 Subject: [PATCH 049/158] php.extensions.couchbase: Fix build and runtime loading The couchbase extension depends on the igbinary PECL which needs to be loaded and loaded prior to it. It also seems like the pcs extension isn't actually needed - it at least builds and loads without it. Since the pcs extension dependency was the reason couchbase didn't build on PHP 7.4 it now does, so let's unmark it broken. --- pkgs/top-level/php-packages.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 1f49a145c69..ff9e96f8b97 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -346,13 +346,6 @@ in version = "2.6.1"; pname = "couchbase"; - buildInputs = [ - pkgs.libcouchbase - pkgs.zlib - php.extensions.igbinary - php.extensions.pcs - ]; - src = pkgs.fetchFromGitHub { owner = "couchbase"; repo = "php-couchbase"; @@ -361,7 +354,14 @@ in }; configureFlags = [ "--with-couchbase" ]; + + buildInputs = [ + pkgs.libcouchbase + pkgs.zlib + ]; internalDeps = [ php.extensions.json ]; + peclDeps = [ php.extensions.igbinary ]; + patches = [ (pkgs.writeText "php-couchbase.patch" '' --- a/config.m4 @@ -388,7 +388,6 @@ in ]; meta.maintainers = lib.teams.php.members; - meta.broken = isPhp74; # Build error }; event = buildPecl { From 099bc11d386cd66cd373acad45fe7355003a8e13 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Fri, 8 May 2020 18:24:41 +0200 Subject: [PATCH 050/158] dino: allow newer versions of libsignal-protocol-c The exact version of libsignal-protocol-c used by dino is hard-coded to 2.3.2 because "libsignal-protocol-c has a history of breaking compatibility on the patch level". This prevents libsignal-protocol-c from being updated in https://github.com/NixOS/nixpkgs/pull/83736. Upstream already allows newer versions in the latest git master, so patch the source with this commit. Unfortunately patching doesn't work with git submodules but since the submodule is not used anyways, simply ignore this part of the patch. --- .../networking/instant-messengers/dino/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix index 035878b8e00..9c286d00832 100644 --- a/pkgs/applications/networking/instant-messengers/dino/default.nix +++ b/pkgs/applications/networking/instant-messengers/dino/default.nix @@ -4,6 +4,7 @@ , xorg, libXdmcp, libxkbcommon , libnotify, libsoup, libgee , librsvg, libsignal-protocol-c +, fetchpatch , libgcrypt , epoxy , at-spi2-core @@ -26,6 +27,15 @@ stdenv.mkDerivation rec { sha256 = "1k5cgj5n8s40i71wqdh6m1q0njl45ichfdbbywx9rga5hljz1c54"; }; + patches = [ + (fetchpatch { + # Allow newer versions of libsignal-protocol-c + url = "https://github.com/dino/dino/commit/fbd70ceaac5ebbddfa21a580c61165bf5b861303.patch"; + sha256 = "0ydpwsmwrzfsry89fsffkfalhki4n1dw99ixjvpiingdrhjmwyl2"; + excludes = [ "plugins/signal-protocol/libsignal-protocol-c" ]; + }) + ]; + nativeBuildInputs = [ vala cmake From c2dfe119907501afa68a8d0db544c690d3d5879a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 9 May 2020 20:13:30 -0300 Subject: [PATCH 051/158] nordic: 1.8.1 -> 1.9.0 --- pkgs/data/themes/nordic/default.nix | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pkgs/data/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix index 4979738231d..aca72c2fb48 100644 --- a/pkgs/data/themes/nordic/default.nix +++ b/pkgs/data/themes/nordic/default.nix @@ -2,32 +2,32 @@ stdenv.mkDerivation rec { pname = "nordic"; - version = "1.8.1"; + version = "1.9.0"; srcs = [ (fetchurl { - url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic.tar.xz"; - sha256 = "0jvc6l093gj9azkrjswdc1kqlyc6drnhsxgpzylzcgjxvxyi9vmd"; + url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic.tar.xz"; + sha256 = "12x13h9w4yqk56a009zpj1kq3vn2hn290xryfv1b0vyf2r45rsn7"; }) (fetchurl { - url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-standard-buttons.tar.xz"; - sha256 = "049hcvccjds465v78sk3cjg7zck36l1zpyrf4p8xinj2h3b74zr8"; + url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-standard-buttons.tar.xz"; + sha256 = "0f38nx1rvp9l6xz62yx6cbab4im8d425gxr52jkc8gfqpl5lrf0q"; }) (fetchurl { - url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-darker.tar.xz"; - sha256 = "1qaj4x451ic8mx4aak1axw29jm6ymwgh5w3n3mw5kjm1fwg4b5dz"; + url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-darker.tar.xz"; + sha256 = "0frp0jf7hbiapl3m67av7rbm3sx8db52zi3j01k2hysh6kba7x33"; }) (fetchurl { - url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-darker-standard-buttons.tar.xz"; - sha256 = "19wczzppimp7sql9v0sq1sc5j0ix51270c58j22mg01kd2h2iivy"; + url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-darker-standard-buttons.tar.xz"; + sha256 = "0grfsjr9kq0lszmqxvjvpgvf4avm34446nqykz1zfpdg50j7r54b"; }) (fetchurl { - url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-bluish-accent.tar.xz"; - sha256 = "1jvjjxiz8q9583f3gidky65s2g5pd5bkvbx0jvwn0p0kz8vlzmzk"; + url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-bluish-accent.tar.xz"; + sha256 = "0zndldwavir22ay2r0jazpikzzww3hc09gsmbiyjmw54v29qhl9r"; }) (fetchurl { - url = "https://github.com/EliverLara/Nordic/releases/download/V${version}/Nordic-bluish-accent-standard-buttons.tar.xz"; - sha256 = "0wqn0aszddq8nbh6c667rwhy7c1zky23a9q3d8gci421n20l6lyd"; + url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-bluish-accent-standard-buttons.tar.xz"; + sha256 = "1b9d2fvdndyh7lh3xhmc75csfbapl4gv59y7wy15k2awisvlvz07"; }) ]; From ae2043389191f7419c43eef6916b6bedc14346db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 9 May 2020 20:20:40 -0300 Subject: [PATCH 052/158] nordic-polar: 1.6.0 -> 1.9.0 --- pkgs/data/themes/nordic-polar/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/themes/nordic-polar/default.nix b/pkgs/data/themes/nordic-polar/default.nix index 1ec260f5033..9d74ae22250 100644 --- a/pkgs/data/themes/nordic-polar/default.nix +++ b/pkgs/data/themes/nordic-polar/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { pname = "nordic-polar"; - version = "1.6.0"; + version = "1.9.0"; srcs = [ (fetchurl { url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar.tar.xz"; - sha256 = "0cym8rcg8jpfraqlfrmymkm0jrsk1s9p7z6vcil4vxbyim9q9w16"; + sha256 = "1583mx8frkl5w26myczbyrggrp07lmpsfj00h1bzicw6lz8jbxf1"; }) (fetchurl { url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar-standard-buttons.tar.xz"; - sha256 = "0s4wf9nqpa75km905jh03gl2d2hjcdvfacmkdz3njviqm6pwqxsv"; + sha256 = "1n2qys0xcg1k28bwfrrr44cqz7q2rnfj6ry6qgd67ivgh63kmcq6"; }) ]; From 3cb8917c7fef79a67aabe2bbd5795b1308ca299f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 9 May 2020 20:33:53 -0300 Subject: [PATCH 053/158] shades-of-gray-theme: 1.2.1 -> 1.3.0 --- pkgs/data/themes/shades-of-gray/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/shades-of-gray/default.nix b/pkgs/data/themes/shades-of-gray/default.nix index 171f7010897..718fb2b5d4c 100644 --- a/pkgs/data/themes/shades-of-gray/default.nix +++ b/pkgs/data/themes/shades-of-gray/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "shades-of-gray-theme"; - version = "1.2.1"; + version = "1.3.0"; src = fetchFromGitHub { owner = "WernerFP"; repo = pname; rev = version; - sha256 = "153isyxly7nvivaz87zk2v1bqzcb3wk0j9vhgxzcz6qkf754q61s"; + sha256 = "13ydym0i3032g5dyrnl5wxpvxv57b43q7iaq5achpmaixgn58gs8"; }; buildInputs = [ gtk_engines ]; From 35729638c8735dbcb024f7e19c019d82c0857b62 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 02:08:10 +0000 Subject: [PATCH 054/158] qbittorrent: 4.2.2 -> 4.2.5 --- pkgs/applications/networking/p2p/qbittorrent/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix index 39740f53475..964752f3b85 100644 --- a/pkgs/applications/networking/p2p/qbittorrent/default.nix +++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix @@ -10,13 +10,13 @@ with lib; mkDerivation rec { pname = "qbittorrent"; - version = "4.2.2"; + version = "4.2.5"; src = fetchFromGitHub { owner = "qbittorrent"; repo = "qbittorrent"; rev = "release-${version}"; - sha256 = "1iqgwhgwa2kx85zj1rwfnnclr1433a7m2gbs3j7w6rx39vxnzhcc"; + sha256 = "1n613ylg6i9gisgk0dbr2kpfasyizrkdjff1r8smd4vri2qrdksn"; }; # NOTE: 2018-05-31: CMake is working but it is not officially supported From d616ae8c6de5294cbd7db2431325f6b5387a4262 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sat, 9 May 2020 21:30:52 +0200 Subject: [PATCH 055/158] llvm/compiler-rt: only apply armv7l patches on aarch32 No need for rebuilds on other platforms --- pkgs/development/compilers/llvm/10/compiler-rt.nix | 5 +++-- pkgs/development/compilers/llvm/5/compiler-rt.nix | 4 ++-- pkgs/development/compilers/llvm/6/compiler-rt.nix | 4 ++-- pkgs/development/compilers/llvm/7/compiler-rt.nix | 4 ++-- pkgs/development/compilers/llvm/8/compiler-rt.nix | 4 ++-- pkgs/development/compilers/llvm/9/compiler-rt.nix | 4 ++-- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/pkgs/development/compilers/llvm/10/compiler-rt.nix b/pkgs/development/compilers/llvm/10/compiler-rt.nix index dbcbc495460..68f64ef4256 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/10/compiler-rt.nix @@ -48,8 +48,9 @@ stdenv.mkDerivation rec { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory ./find-darwin-sdk-version.patch # don't test for macOS being >= 10.15 - ./compiler-rt-armv7l.patch - ];# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; + # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra diff --git a/pkgs/development/compilers/llvm/5/compiler-rt.nix b/pkgs/development/compilers/llvm/5/compiler-rt.nix index 179fc033ffc..624034b5228 100644 --- a/pkgs/development/compilers/llvm/5/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/5/compiler-rt.nix @@ -47,9 +47,9 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt-armv7l.patch ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch; + ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch + ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra diff --git a/pkgs/development/compilers/llvm/6/compiler-rt.nix b/pkgs/development/compilers/llvm/6/compiler-rt.nix index 89fca56f32c..5ae8bb01f05 100644 --- a/pkgs/development/compilers/llvm/6/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/6/compiler-rt.nix @@ -47,8 +47,8 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt-armv7l.patch - ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch; + ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix index 4066d6bc2c3..e9853c58ca5 100644 --- a/pkgs/development/compilers/llvm/7/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix @@ -47,9 +47,9 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt-armv7l.patch ] ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch - ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch; + ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra diff --git a/pkgs/development/compilers/llvm/8/compiler-rt.nix b/pkgs/development/compilers/llvm/8/compiler-rt.nix index fb69373125c..1f58cb98e3d 100644 --- a/pkgs/development/compilers/llvm/8/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/8/compiler-rt.nix @@ -47,9 +47,9 @@ stdenv.mkDerivation { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt-armv7l.patch ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch - ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch; + ++ stdenv.lib.optional (useLLVM) ./crtbegin-and-end.patch + ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra diff --git a/pkgs/development/compilers/llvm/9/compiler-rt.nix b/pkgs/development/compilers/llvm/9/compiler-rt.nix index 581cab902ee..3b92264ad69 100644 --- a/pkgs/development/compilers/llvm/9/compiler-rt.nix +++ b/pkgs/development/compilers/llvm/9/compiler-rt.nix @@ -47,8 +47,8 @@ stdenv.mkDerivation rec { patches = [ ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory - ./compiler-rt-armv7l.patch - ];# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ]# ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch + ++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra From 254aeb505091383d2be0d6ef589610bbf85669bf Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 05:13:15 +0000 Subject: [PATCH 056/158] qbs: 1.15.0 -> 1.16.0 --- pkgs/development/tools/build-managers/qbs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix index 0649cd7c595..d4f94c1aed9 100644 --- a/pkgs/development/tools/build-managers/qbs/default.nix +++ b/pkgs/development/tools/build-managers/qbs/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "qbs"; - version = "1.15.0"; + version = "1.16.0"; src = fetchFromGitHub { owner = "qbs"; repo = "qbs"; rev = "v${version}"; - sha256 = "0hq2lx5w5lsiy9c69bcps4wyn2sa9s88hj0bq95p93sfiwq6mxlr"; + sha256 = "1kg11s3figpkvgd85p0zk416s57gnvlzrz1isbc2lv13adidf041"; }; nativeBuildInputs = [ qmake ]; From a0f46a2eced604e080e3229ca3eb3c3eec099f54 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 05:34:03 +0000 Subject: [PATCH 057/158] qtpbfimageplugin: 2.1 -> 2.2 --- pkgs/development/libraries/qtpbfimageplugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/qtpbfimageplugin/default.nix b/pkgs/development/libraries/qtpbfimageplugin/default.nix index cc4a3ae84d9..48c0158531a 100644 --- a/pkgs/development/libraries/qtpbfimageplugin/default.nix +++ b/pkgs/development/libraries/qtpbfimageplugin/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "qtpbfimageplugin"; - version = "2.1"; + version = "2.2"; src = fetchFromGitHub { owner = "tumic0"; repo = "QtPBFImagePlugin"; rev = version; - sha256 = "05l28xf7pf9mxm6crrdx5i7d2ri3hlg5iva0fqc8wxnj8pf2m38r"; + sha256 = "1w2d33g13vkjasabmcgvhsmfqv3jmwbxhqxm1jnyc7d4nlk4jwmb"; }; nativeBuildInputs = [ qmake ]; From 29d0e684afcc1a3f4d5a5c60a483ba4c719c73f6 Mon Sep 17 00:00:00 2001 From: Gabor Greif Date: Sun, 10 May 2020 09:53:27 +0200 Subject: [PATCH 058/158] ocamlPackages.wasm: 1.0 -> 1.1 (#86803) --- pkgs/development/ocaml-modules/wasm/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix index 99f2cf582cb..a76fa5eeebe 100644 --- a/pkgs/development/ocaml-modules/wasm/default.nix +++ b/pkgs/development/ocaml-modules/wasm/default.nix @@ -1,19 +1,18 @@ { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild }: if !stdenv.lib.versionAtLeast ocaml.version "4.02" - || stdenv.lib.versionAtLeast ocaml.version "4.08" then throw "wasm is not available for OCaml ${ocaml.version}" else stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-wasm-${version}"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "WebAssembly"; repo = "spec"; rev = "v${version}"; - sha256 = "0r0wj31s2yg4vn4hyw2afc8wp8b0k3q130yiypwq3dlvfxrr70m6"; + sha256 = "1jsgrjqzsdmm6f5pgd947nikj7pnxx1mqdnz16j7s62rg8x06h7d"; }; buildInputs = [ ocaml findlib ocamlbuild ]; From 37cf3a60edc06fa3f895a2d3842e6aa72a1235c0 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 10:37:38 +0000 Subject: [PATCH 059/158] scala: 2.13.1 -> 2.13.2 --- pkgs/development/compilers/scala/2.13.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/scala/2.13.nix b/pkgs/development/compilers/scala/2.13.nix index fb6d663f749..04086321bef 100644 --- a/pkgs/development/compilers/scala/2.13.nix +++ b/pkgs/development/compilers/scala/2.13.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }: stdenv.mkDerivation rec { - name = "scala-2.13.1"; + name = "scala-2.13.2"; src = fetchurl { url = "https://www.scala-lang.org/files/archive/${name}.tgz"; - sha256 = "1nq49acx3j6vnw0lhyrfqa23f671y3kc9lja4nki0j73jk2cq639"; + sha256 = "1gvdxwlhgjmn8i5a8kcp19700rscjq9ylb35p8vj7nqys94zjkap"; }; propagatedBuildInputs = [ jre ] ; From ef53fe2af2cd6324f5b75d0b2b145f03efbe0559 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 02:34:38 +0000 Subject: [PATCH 060/158] qmmp: 1.3.7 -> 1.4.0 --- pkgs/applications/audio/qmmp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index fe7b9f8ba66..509c95ad545 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -29,11 +29,11 @@ # handle that. mkDerivation rec { - name = "qmmp-1.3.7"; + name = "qmmp-1.4.0"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "13mk8p7bfl3fkavpqyhpcxkxb8a4f5d4qc1lasyf7wls3ghrdag7"; + sha256 = "13rhnk55d44svksl13w23w2qkfpkq4mc0jy5mi89nzqkzshwvfd8"; }; nativeBuildInputs = [ cmake pkgconfig ]; From 6c1b066eb59e0e39a8d857a29f2ff3b5dfcf1690 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 10 May 2020 12:48:12 +0200 Subject: [PATCH 061/158] isync: Add myself (@primeos) as maintainer Since 887295fd2d8 we need a new maintainer and I depend on this software. The rest of the changes is just a refactoring (apart from meta attributes). --- pkgs/tools/networking/isync/default.nix | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix index 9b45f268da7..49efeac02a9 100644 --- a/pkgs/tools/networking/isync/default.nix +++ b/pkgs/tools/networking/isync/default.nix @@ -1,20 +1,31 @@ -{ fetchurl, stdenv, openssl, pkgconfig, db, zlib, cyrus_sasl, perl }: +{ stdenv, fetchurl, pkg-config, perl +, openssl, db, zlib, cyrus_sasl +}: stdenv.mkDerivation rec { - name = "isync-1.3.1"; + pname = "isync"; + version = "1.3.1"; src = fetchurl { - url = "mirror://sourceforge/isync/${name}.tar.gz"; + url = "mirror://sourceforge/isync/${pname}-${version}.tar.gz"; sha256 = "1sphd30jplii58y2zmw365bckm6pszmapcy905zhjll1sm1ldjv8"; }; - nativeBuildInputs = [ pkgconfig perl ]; + nativeBuildInputs = [ pkg-config perl ]; buildInputs = [ openssl db cyrus_sasl zlib ]; meta = with stdenv.lib; { homepage = "http://isync.sourceforge.net/"; + # https://sourceforge.net/projects/isync/ + changelog = "https://sourceforge.net/p/isync/isync/ci/v${version}/tree/NEWS"; description = "Free IMAP and MailDir mailbox synchronizer"; + longDescription = '' + mbsync (formerly isync) is a command line application which synchronizes + mailboxes. Currently Maildir and IMAP4 mailboxes are supported. New + messages, message deletions and flag changes can be propagated both ways. + ''; license = licenses.gpl2Plus; platforms = platforms.unix; + maintainers = with maintainers; [ primeos ]; }; } From 024a6dc45b6bcefa5b1886a27de01f38f2eb19e5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 7 May 2020 16:36:08 +0000 Subject: [PATCH 062/158] gnomeExtensions.clipboard-indicator: 30 -> 34 --- .../gnome-3/extensions/clipboard-indicator/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix b/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix index 1cc06be6ec9..640903bfe4e 100644 --- a/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix +++ b/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "gnome-shell-extension-clipboard-indicator"; - version = "30"; + version = "34"; src = fetchFromGitHub { owner = "Tudmotu"; repo = "gnome-shell-extension-clipboard-indicator"; rev = "v${version}"; - sha256 = "1fmgmxv2y678bj0kmymkgnnglcpqk8ww053izlq46xg7s27jjdf6"; + sha256 = "0i00psc1ky70zljd14jzr627y7nd8xwnwrh4xpajl1f6djabh12s"; }; uuid = "clipboard-indicator@tudmotu.com"; From 8da0ce4c45a9d5da422fec0a22a957ac6bf27356 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 11:39:15 +0000 Subject: [PATCH 063/158] rsyslog: 8.2002.0 -> 8.2004.0 --- pkgs/tools/system/rsyslog/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix index a5ced1e325d..1739e0ad784 100644 --- a/pkgs/tools/system/rsyslog/default.nix +++ b/pkgs/tools/system/rsyslog/default.nix @@ -14,11 +14,11 @@ let in stdenv.mkDerivation rec { pname = "rsyslog"; - version = "8.2002.0"; + version = "8.2004.0"; src = fetchurl { url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz"; - sha256 = "1y414g61j93dgm5xg0ni985a99cyag0flvv1fqn2188dhr6w31py"; + sha256 = "1n97kx6cyyzd4zh6q01fyqi2wq1ah68h95kdc109m1zhfnvxghsz"; }; #patches = [ ./fix-gnutls-detection.patch ]; From 6e9c5e8a9f8f104dc67e541dad58dcf347fec134 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 12:41:00 +0000 Subject: [PATCH 064/158] gitAndTools.svn-all-fast-export: 1.0.17 -> 1.0.18 --- .../git-and-tools/svn-all-fast-export/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix index fc33478964f..75f6a960841 100644 --- a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, qmake, qtbase, qttools, subversion, apr }: let - version = "1.0.17"; + version = "1.0.18"; in stdenv.mkDerivation { pname = "svn-all-fast-export"; @@ -11,7 +11,7 @@ stdenv.mkDerivation { owner = "svn-all-fast-export"; repo = "svn2git"; rev = version; - sha256 = "13gmrxh4i34scv51h9x38v8jqfjykbbd9w7zzqjnxzvzpzsczg9a"; + sha256 = "1b5yx2316hbyvw3v30vn1ljma9yd21nd59wis1gi34g92lgvqcd6"; }; nativeBuildInputs = [ qmake qttools ]; From 1104de365e94b4fc05a2de6d0ef8995c6a6ba08e Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 10 May 2020 14:55:49 +0200 Subject: [PATCH 065/158] gns3-{gui,server}: 2.2.7 -> 2.2.8 --- pkgs/applications/networking/gns3/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix index 1d045afd4c0..6cfc5ed3a99 100644 --- a/pkgs/applications/networking/gns3/default.nix +++ b/pkgs/applications/networking/gns3/default.nix @@ -1,7 +1,7 @@ { callPackage }: let - stableVersion = "2.2.7"; + stableVersion = "2.2.8"; previewVersion = stableVersion; addVersion = args: let version = if args.stable then stableVersion else previewVersion; @@ -25,8 +25,8 @@ let }; mkGui = args: callPackage (import ./gui.nix (addVersion args // extraArgs)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args // extraArgs)) { }; - guiSrcHash = "1rq1cb07mvakqny848nvwgasp8f6pxdy790gd98xh55xrbi8jvxp"; - serverSrcHash = "1cf3inppj2050mgmx5sgf540iz3m3nbh53p26dx8m67x2xfyb934"; + guiSrcHash = "1qgzad9hdbvkdalzdnlg5gnlzn2f9qlpd1aj8djmi6w1mmdkf9q7"; + serverSrcHash = "1kg38dh0xk4yvi7hz0d5dq9k0wany0sfd185l0zxs3nz78zd23an"; in { guiStable = mkGui { stable = true; From 22fef8ebb1c3f5a057aecca3161c686d6849df43 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 10 May 2020 14:49:26 +0200 Subject: [PATCH 066/158] tdesktop: 2.1.2 -> 2.1.4 --- .../instant-messengers/telegram/tdesktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index 59e2fefb455..1e1f952586c 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -19,12 +19,12 @@ with lib; mkDerivation rec { pname = "telegram-desktop"; - version = "2.1.2"; + version = "2.1.4"; # Telegram-Desktop with submodules src = fetchurl { url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz"; - sha256 = "0n387scs5kmc5jrypyxkc9cj4c7nb5761bdb8qxw8j342sm5ai24"; + sha256 = "1swmmklw2mcgag0c8zh4rk5cjfx6z2yl0nxd5yc43hg9hx76yqqi"; }; postPatch = '' From ec285b873fc65d823d53dc1c388f9a52a258d139 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 10 May 2020 15:10:32 +0200 Subject: [PATCH 067/158] jekyll: 4.0.0 -> 4.0.1 --- .../misc/jekyll/basic/Gemfile.lock | 30 +++---- .../applications/misc/jekyll/basic/gemset.nix | 63 +++++++++------ pkgs/applications/misc/jekyll/default.nix | 1 + .../misc/jekyll/full/Gemfile.lock | 38 ++++----- pkgs/applications/misc/jekyll/full/gemset.nix | 79 +++++++++++-------- 5 files changed, 119 insertions(+), 92 deletions(-) diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock index b421ea71795..9e244fb44b8 100644 --- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock @@ -1,12 +1,12 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.2.1) + activesupport (6.0.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - zeitwerk (~> 2.2) + zeitwerk (~> 2.2, >= 2.2.2) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) colorator (1.1.0) @@ -24,7 +24,7 @@ GEM http_parser.rb (0.6.0) i18n (1.8.2) concurrent-ruby (~> 1.0) - jekyll (4.0.0) + jekyll (4.0.1) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -41,7 +41,7 @@ GEM terminal-table (~> 1.8) jekyll-avatar (0.7.0) jekyll (>= 3.0, < 5.0) - jekyll-mentions (1.5.1) + jekyll-mentions (1.6.0) html-pipeline (~> 2.3) jekyll (>= 3.7, < 5.0) jekyll-sass-converter (2.1.0) @@ -52,11 +52,12 @@ GEM jekyll (>= 3.7, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.11.1) + jemoji (0.12.0) gemoji (~> 3.0) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) - kramdown (2.1.0) + kramdown (2.2.1) + rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) @@ -66,25 +67,26 @@ GEM mercenary (0.3.6) mini_portile2 (2.4.0) minitest (5.14.0) - nokogiri (1.10.8) + nokogiri (1.10.9) mini_portile2 (~> 2.4.0) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.3) - rb-fsevent (0.10.3) + public_suffix (4.0.5) + rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) - rouge (3.16.0) + rexml (3.2.4) + rouge (3.18.0) safe_yaml (1.0.5) - sassc (2.2.1) + sassc (2.3.0) ffi (~> 1.9) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - tzinfo (1.2.6) + tzinfo (1.2.7) thread_safe (~> 0.1) - unicode-display_width (1.6.1) - zeitwerk (2.2.2) + unicode-display_width (1.7.0) + zeitwerk (2.3.0) PLATFORMS ruby diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix index d698d25cb3b..a02ec1f16c4 100644 --- a/pkgs/applications/misc/jekyll/basic/gemset.nix +++ b/pkgs/applications/misc/jekyll/basic/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dd6gh66ffdbhsxv33rxxsiciqyhhkm69l1yqspwdj2brvh1jzl1"; + sha256 = "0shh34xx9ygxb57s8mag8l22klvjfnk1c4jbjvchk16r6z0ps326"; type = "gem"; }; - version = "6.0.2.1"; + version = "6.0.3"; }; addressable = { dependencies = ["public_suffix"]; @@ -130,10 +130,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa"; + sha256 = "1gw05bh9iidnx2lxw0h5aiknbly818cmndc4a9nhq28fiafizi82"; type = "gem"; }; - version = "4.0.0"; + version = "4.0.1"; }; jekyll-avatar = { dependencies = ["jekyll"]; @@ -152,10 +152,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v"; + sha256 = "1n8y67plydfmay3jn865igvgb3h6s2crk8kq7ydk3wmn9h103s1r"; type = "gem"; }; - version = "1.5.1"; + version = "1.6.0"; }; jekyll-sass-converter = { dependencies = ["sassc"]; @@ -207,20 +207,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yd77r5jvh9chf5qcp6z63gg40yp5n1sr7nv1hlmbq3xjzlhs6h6"; + sha256 = "09sxbnrqz5vf6rxmh6lzism31gz2g3hw86ymg37r1ccknclv3cp9"; type = "gem"; }; - version = "0.11.1"; + version = "0.12.0"; }; kramdown = { + dependencies = ["rexml"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; + sha256 = "059mk8lmddp2a2aa6s4pp7x2yyqbqg5crx5jkn32dzlnqi2j5cn6"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.1"; }; kramdown-parser-gfm = { dependencies = ["kramdown"]; @@ -290,10 +291,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8"; + sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm"; type = "gem"; }; - version = "1.10.8"; + version = "1.10.9"; }; pathutil = { dependencies = ["forwardable-extended"]; @@ -311,20 +312,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7"; + sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g"; type = "gem"; }; - version = "4.0.3"; + version = "4.0.5"; }; rb-fsevent = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87"; type = "gem"; }; - version = "0.10.3"; + version = "0.10.4"; }; rb-inotify = { dependencies = ["ffi"]; @@ -337,15 +338,25 @@ }; version = "0.10.1"; }; + rexml = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3"; + type = "gem"; + }; + version = "3.2.4"; + }; rouge = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ivsvkwdxl44q4xl8bnf6kqmvy47n98akcvlfmhaz0614zlf4bxi"; + sha256 = "1n9h0ls2a2zq0bcsw31wxci1wdxb8s3vglfadxpcs6b04vkf6nqq"; type = "gem"; }; - version = "3.16.0"; + version = "3.18.0"; }; safe_yaml = { groups = ["default"]; @@ -363,10 +374,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz"; + sha256 = "1qzfnvb8khvc6w2sn3k91mndc2w50xxx5c84jkr6xdxlmaq1a3kg"; type = "gem"; }; - version = "2.2.1"; + version = "2.3.0"; }; terminal-table = { dependencies = ["unicode-display_width"]; @@ -395,29 +406,29 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp"; + sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r"; type = "gem"; }; - version = "1.2.6"; + version = "1.2.7"; }; unicode-display_width = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x"; + sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; type = "gem"; }; - version = "1.6.1"; + version = "1.7.0"; }; zeitwerk = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1"; + sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0"; type = "gem"; }; - version = "2.2.2"; + version = "2.3.0"; }; } \ No newline at end of file diff --git a/pkgs/applications/misc/jekyll/default.nix b/pkgs/applications/misc/jekyll/default.nix index 111b0a8867a..54857d61420 100644 --- a/pkgs/applications/misc/jekyll/default.nix +++ b/pkgs/applications/misc/jekyll/default.nix @@ -47,6 +47,7 @@ in bundlerApp { host sites right from your GitHub repositories. ''; homepage = "https://jekyllrb.com/"; + #changelog = "https://raw.githubusercontent.com/jekyll/jekyll/v${version}/History.markdown"; license = licenses.mit; maintainers = with maintainers; [ primeos pesterhazy ]; platforms = platforms.unix; diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock index 51a835e4b9f..d5588438ae6 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock @@ -1,12 +1,12 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.2.1) + activesupport (6.0.3) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) - zeitwerk (~> 2.2) + zeitwerk (~> 2.2, >= 2.2.2) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) classifier-reborn (2.2.0) @@ -23,7 +23,7 @@ GEM http_parser.rb (~> 0.6.0) eventmachine (1.2.7) execjs (2.7.0) - faraday (1.0.0) + faraday (1.0.1) multipart-post (>= 1.2, < 3) fast-stemmer (1.0.2) ffi (1.12.2) @@ -35,7 +35,7 @@ GEM http_parser.rb (0.6.0) i18n (1.8.2) concurrent-ruby (~> 1.0) - jekyll (4.0.0) + jekyll (4.0.1) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -59,7 +59,7 @@ GEM jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) - jekyll-mentions (1.5.1) + jekyll-mentions (1.6.0) html-pipeline (~> 2.3) jekyll (>= 3.7, < 5.0) jekyll-paginate (1.1.0) @@ -73,11 +73,12 @@ GEM jekyll (>= 3.7, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.11.1) + jemoji (0.12.0) gemoji (~> 3.0) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) - kramdown (2.1.0) + kramdown (2.2.1) + rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) kramdown-syntax-coderay (1.0.1) @@ -92,25 +93,26 @@ GEM mercenary (0.3.6) mime-types (3.3.1) mime-types-data (~> 3.2015) - mime-types-data (3.2019.1009) + mime-types-data (3.2020.0425) mini_portile2 (2.4.0) minitest (5.14.0) multipart-post (2.1.1) - nokogiri (1.10.8) + nokogiri (1.10.9) mini_portile2 (~> 2.4.0) - octokit (4.16.0) + octokit (4.18.0) faraday (>= 0.9) sawyer (~> 0.8.0, >= 0.5.3) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.3) - rb-fsevent (0.10.3) + public_suffix (4.0.5) + rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) rdoc (6.2.1) - rouge (3.16.0) + rexml (3.2.4) + rouge (3.18.0) safe_yaml (1.0.5) - sassc (2.2.1) + sassc (2.3.0) ffi (~> 1.9) sawyer (0.8.2) addressable (>= 2.3.5) @@ -118,12 +120,12 @@ GEM terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - tomlrb (1.2.9) - tzinfo (1.2.6) + tomlrb (1.3.0) + tzinfo (1.2.7) thread_safe (~> 0.1) - unicode-display_width (1.6.1) + unicode-display_width (1.7.0) yajl-ruby (1.4.1) - zeitwerk (2.2.2) + zeitwerk (2.3.0) PLATFORMS ruby diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix index 44d7f1d0fc8..8c2b1ffaf95 100644 --- a/pkgs/applications/misc/jekyll/full/gemset.nix +++ b/pkgs/applications/misc/jekyll/full/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dd6gh66ffdbhsxv33rxxsiciqyhhkm69l1yqspwdj2brvh1jzl1"; + sha256 = "0shh34xx9ygxb57s8mag8l22klvjfnk1c4jbjvchk16r6z0ps326"; type = "gem"; }; - version = "6.0.2.1"; + version = "6.0.3"; }; addressable = { dependencies = ["public_suffix"]; @@ -132,10 +132,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11yn7mhi4rl24brs2qfwysas14csjf1zmb835cfklqz5ka032xp6"; + sha256 = "0wwks9652xwgjm7yszcq5xr960pjypc07ivwzbjzpvy9zh2fw6iq"; type = "gem"; }; - version = "1.0.0"; + version = "1.0.1"; }; fast-stemmer = { groups = ["default"]; @@ -227,10 +227,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fpckw5nf4hfr5vhhdlmaxxp5lkdmc1vyqnmijwvy9fmjn4c87aa"; + sha256 = "1gw05bh9iidnx2lxw0h5aiknbly818cmndc4a9nhq28fiafizi82"; type = "gem"; }; - version = "4.0.0"; + version = "4.0.1"; }; jekyll-avatar = { dependencies = ["jekyll"]; @@ -282,10 +282,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v"; + sha256 = "1n8y67plydfmay3jn865igvgb3h6s2crk8kq7ydk3wmn9h103s1r"; type = "gem"; }; - version = "1.5.1"; + version = "1.6.0"; }; jekyll-paginate = { groups = ["default"]; @@ -358,20 +358,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yd77r5jvh9chf5qcp6z63gg40yp5n1sr7nv1hlmbq3xjzlhs6h6"; + sha256 = "09sxbnrqz5vf6rxmh6lzism31gz2g3hw86ymg37r1ccknclv3cp9"; type = "gem"; }; - version = "0.11.1"; + version = "0.12.0"; }; kramdown = { + dependencies = ["rexml"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688"; + sha256 = "059mk8lmddp2a2aa6s4pp7x2yyqbqg5crx5jkn32dzlnqi2j5cn6"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.1"; }; kramdown-parser-gfm = { dependencies = ["kramdown"]; @@ -477,10 +478,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh"; + sha256 = "1zin0q26wc5p7zb7glpwary7ms60s676vcq987yv22jgm6hnlwlh"; type = "gem"; }; - version = "3.2019.1009"; + version = "3.2020.0425"; }; mini_portile2 = { groups = ["default"]; @@ -518,10 +519,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8"; + sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm"; type = "gem"; }; - version = "1.10.8"; + version = "1.10.9"; }; octokit = { dependencies = ["faraday" "sawyer"]; @@ -529,10 +530,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06kx258qa5k24q5pv8i4daaw3g57gif6p5k5h3gndj3q2jk6vhkn"; + sha256 = "0zvfr9njmj5svi39fcsi2b0g7pcxb0vamw9dlyas8bg814jlzhi6"; type = "gem"; }; - version = "4.16.0"; + version = "4.18.0"; }; pathutil = { dependencies = ["forwardable-extended"]; @@ -550,20 +551,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c6kq6s13idl2036b5lch8r7390f8w82cal8hcp4ml76fm2vdac7"; + sha256 = "0vywld400fzi17cszwrchrzcqys4qm6sshbv73wy5mwcixmrgg7g"; type = "gem"; }; - version = "4.0.3"; + version = "4.0.5"; }; rb-fsevent = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87"; type = "gem"; }; - version = "0.10.3"; + version = "0.10.4"; }; rb-inotify = { dependencies = ["ffi"]; @@ -586,15 +587,25 @@ }; version = "6.2.1"; }; + rexml = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3"; + type = "gem"; + }; + version = "3.2.4"; + }; rouge = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ivsvkwdxl44q4xl8bnf6kqmvy47n98akcvlfmhaz0614zlf4bxi"; + sha256 = "1n9h0ls2a2zq0bcsw31wxci1wdxb8s3vglfadxpcs6b04vkf6nqq"; type = "gem"; }; - version = "3.16.0"; + version = "3.18.0"; }; safe_yaml = { groups = ["default"]; @@ -612,10 +623,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz"; + sha256 = "1qzfnvb8khvc6w2sn3k91mndc2w50xxx5c84jkr6xdxlmaq1a3kg"; type = "gem"; }; - version = "2.2.1"; + version = "2.3.0"; }; sawyer = { dependencies = ["addressable" "faraday"]; @@ -654,10 +665,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0njkyq5csj4km8spmw33b5902v254wvyvqq1b0f0kky5hs7bvrgg"; + sha256 = "00x5y9h4fbvrv4xrjk4cqlkm4vq8gv73ax4alj3ac2x77zsnnrk8"; type = "gem"; }; - version = "1.2.9"; + version = "1.3.0"; }; tzinfo = { dependencies = ["thread_safe"]; @@ -665,20 +676,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04f18jdv6z3zn3va50rqq35nj3izjpb72fnf21ixm7vanq6nc4fp"; + sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r"; type = "gem"; }; - version = "1.2.6"; + version = "1.2.7"; }; unicode-display_width = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x"; + sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna"; type = "gem"; }; - version = "1.6.1"; + version = "1.7.0"; }; yajl-ruby = { groups = ["default"]; @@ -707,9 +718,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jywi63w1m2b2w9fj9rjb9n3imf6p5bfijfmml1xzdnsrdrjz0x1"; + sha256 = "1akpm3pwvyiack2zk6giv9yn3cqb8pw6g40p4394pdc3xmy3s4k0"; type = "gem"; }; - version = "2.2.2"; + version = "2.3.0"; }; } \ No newline at end of file From a432f832bf0de48abf799c34fd703f61c26793ab Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Sat, 9 May 2020 11:42:22 +0200 Subject: [PATCH 068/158] nixos/tests/gitdaemon: fix spurious test failures due to flaky network This test is sometimes flaky on hydra as at the time of the `git clone` the network isn't really configured yet[1]. That problem doesn't seem to occur locally but if you run it on a machine with high enough load (such as hydra build machines). Hopefully this will make the test not flaky anymore. [1] https://hydra.nixos.org/build/118710378/nixlog/21/raw --- nixos/tests/gitdaemon.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/tests/gitdaemon.nix b/nixos/tests/gitdaemon.nix index b610caf06fb..c4a707943ef 100644 --- a/nixos/tests/gitdaemon.nix +++ b/nixos/tests/gitdaemon.nix @@ -55,6 +55,9 @@ in { with subtest("git daemon starts"): server.wait_for_unit("git-daemon.service") + server.wait_for_unit("network-online.target") + client.wait_for_unit("network-online.target") + with subtest("client can clone project.git"): client.succeed( "git clone git://server/project.git /project", From b1792c41f669a70b4920a15f92fdd0a1838fc66d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 9 May 2020 10:01:19 +0200 Subject: [PATCH 069/158] resilio-sync: 2.6.4 -> 2.7.0 Changelog: https://help.resilio.com/hc/en-us/articles/206216855-Sync-2-x-change-log --- pkgs/applications/networking/resilio-sync/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix index 883a152fdf9..9b06676b017 100644 --- a/pkgs/applications/networking/resilio-sync/default.nix +++ b/pkgs/applications/networking/resilio-sync/default.nix @@ -9,13 +9,13 @@ let in stdenv.mkDerivation rec { pname = "resilio-sync"; - version = "2.6.4"; + version = "2.7.0"; src = fetchurl { url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz"; sha256 = { - x86_64-linux = "1c1yksjag58p7yjm72iiz82p2r01lq7kxvq7z5phmq5z6gxdg4a8"; - i686-linux = "167baz9fzmzk50jffzvgmgyw1zw3955r3cb73z23qvw8zqzdqydc"; + x86_64-linux = "17vw4kyggmi8phm91jx1skkd7vrdhbahibv6d6zm14q87r01a56f"; + i686-linux = "0yvy3lif2g4jchcp5q1r5b8ndj8009pcq5js7r0kl20bmmcmzklg"; }.${stdenv.hostPlatform.system}; }; From 03ae0c0fe23c051e984ddfe63696dc722a45b73c Mon Sep 17 00:00:00 2001 From: Richard Marko Date: Sat, 9 May 2020 09:26:41 +0200 Subject: [PATCH 070/158] nixos/uboot-builder: fix cross using buildPackages --- nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix index 1dc397e521b..a4352ab9a24 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix @@ -20,7 +20,7 @@ let extlinuxConfBuilder = import ../generic-extlinux-compatible/extlinux-conf-builder.nix { - inherit pkgs; + pkgs = pkgs.buildPackages; }; in pkgs.substituteAll { From a6ac6d00f98c7cc814008c1e6e288feaa2e123c6 Mon Sep 17 00:00:00 2001 From: Richard Marko Date: Sat, 9 May 2020 10:22:08 +0200 Subject: [PATCH 071/158] nixos/raspberrypi-builder: fix cross using buildPackages --- .../system/boot/loader/raspberrypi/raspberrypi-builder.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix index 7eb52e3d021..e75aa9d1387 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix @@ -3,8 +3,8 @@ pkgs.substituteAll { src = ./raspberrypi-builder.sh; isExecutable = true; - inherit (pkgs) bash; - path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; + inherit (pkgs.buildPackages) bash; + path = with pkgs.buildPackages; [coreutils gnused gnugrep]; firmware = pkgs.raspberrypifw; inherit configTxt; } From 92d970c7667e7645eaa5a8cd143511f94c3f7698 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 07:09:53 -0700 Subject: [PATCH 072/158] snakemake: 5.15.0 -> 5.16.0 (#87496) --- pkgs/applications/science/misc/snakemake/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix index af4e225ca32..741330e4ad2 100644 --- a/pkgs/applications/science/misc/snakemake/default.nix +++ b/pkgs/applications/science/misc/snakemake/default.nix @@ -2,7 +2,7 @@ python3Packages.buildPythonApplication rec { pname = "snakemake"; - version = "5.15.0"; + version = "5.16.0"; propagatedBuildInputs = with python3Packages; [ appdirs @@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec { src = python3Packages.fetchPypi { inherit pname version; - sha256 = "10cd1k5vg8ra5fnpqpdbl04qwx6h2mmmqbn71pl8j69w9110dkys"; + sha256 = "0jlf3y8b1gdv5xz37yk9b5g2b65zkk45p15x0ypvd2blpzy80537"; }; doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json From 6dbe177f297ab9e9d78b1884358f4081bb74ddf9 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sun, 10 May 2020 16:54:34 +0200 Subject: [PATCH 073/158] oq: fix build --- pkgs/development/tools/oq/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix index 1fc839577c5..236cb8bead7 100644 --- a/pkgs/development/tools/oq/default.nix +++ b/pkgs/development/tools/oq/default.nix @@ -14,8 +14,14 @@ crystal.buildCrystalPackage rec { nativeBuildInputs = [ makeWrapper ]; buildInputs = [ jq libxml2 ]; + format = "crystal"; crystalBinaries.oq.src = "src/oq_cli.cr"; + preCheck = '' + mkdir bin + cp oq bin/oq + ''; + postInstall = '' wrapProgram "$out/bin/oq" \ --prefix PATH : "${lib.makeBinPath [ jq ]}" From add53f7660c212d21dd3f79362f3a576c8db1c9d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 13:45:05 +0000 Subject: [PATCH 074/158] squashfs-tools-ng: 0.9 -> 0.9.1 --- pkgs/tools/filesystems/squashfs-tools-ng/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix index 767c5168ff2..72b95641d00 100644 --- a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix +++ b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "squashfs-tools-ng"; - version = "0.9"; + version = "0.9.1"; src = fetchurl { url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz"; - sha256 = "1jx6bga0k07cckpv0yk77kwql7rjiicf9wkbadc8yqhp463xn90q"; + sha256 = "1ilxkrqbpb5whv7xfwfvph76jwyjzf988njjpyyr99h6jv2r77q1"; }; nativeBuildInputs = [ doxygen graphviz pkgconfig perl ]; From 83738b69f8a9f9b7629010e809846d07d5fe4409 Mon Sep 17 00:00:00 2001 From: Stig Palmquist Date: Sun, 10 May 2020 17:05:51 +0200 Subject: [PATCH 075/158] oq: 1.0.2 -> 1.1.0 --- pkgs/development/tools/oq/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix index 236cb8bead7..ca9c648adfb 100644 --- a/pkgs/development/tools/oq/default.nix +++ b/pkgs/development/tools/oq/default.nix @@ -2,13 +2,13 @@ crystal.buildCrystalPackage rec { pname = "oq"; - version = "1.0.2"; + version = "1.1.0"; src = fetchFromGitHub { owner = "Blacksmoke16"; repo = pname; rev = "v${version}"; - sha256 = "0sf6rb5b6g7gzyq11l5868p3a1s5z8432swlpv457bfbbnbg6j6q"; + sha256 = "1zg4kxpfi3sap4cwp42zg46j5dv0nf926qdqm7k22ncm6jdrgpgw"; }; nativeBuildInputs = [ makeWrapper ]; From f82006b9afd64c09fa04ed210e9dfd28d9df0709 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 16:21:51 +0000 Subject: [PATCH 076/158] solr: 8.5.0 -> 8.5.1 --- pkgs/servers/search/solr/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix index 0da61861207..73aa349a517 100644 --- a/pkgs/servers/search/solr/default.nix +++ b/pkgs/servers/search/solr/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "solr"; - version = "8.5.0"; + version = "8.5.1"; src = fetchurl { url = "mirror://apache/lucene/${pname}/${version}/${pname}-${version}.tgz"; - sha256 = "1pb1vja9spybkp2qw150kymy47njy06b5pic7mrfjq5as0d72m4y"; + sha256 = "02sa0sldsfajryyfndv587qw69q8y8igfpimg98w1g3vndrq1dj7"; }; nativeBuildInputs = [ makeWrapper ]; From b558ad1ba7be72d54deb109196cde81afba4950b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 22:13:22 +0000 Subject: [PATCH 077/158] python27Packages.pyvmomi: 6.7.1.2018.12 -> 7.0 --- pkgs/development/python-modules/pyvmomi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyvmomi/default.nix b/pkgs/development/python-modules/pyvmomi/default.nix index a7fbf301295..25845c9847a 100644 --- a/pkgs/development/python-modules/pyvmomi/default.nix +++ b/pkgs/development/python-modules/pyvmomi/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "pyvmomi"; - version = "6.7.1.2018.12"; + version = "7.0"; src = fetchFromGitHub { owner = "vmware"; repo = pname; rev = "v${version}"; - sha256 = "1pgl95rbghidbyr8hndjzfzgb1yjchfcknlqgg3qbqvljnz9hfja"; + sha256 = "1qqljrlc9h7kddx3xxc6479gk75fvaxspfikzjn6zj5mznsvfwj5"; }; # requires old version of vcrpy From bd8488b774069ae5d69535ffef82a3b8fd5f6828 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 00:57:48 +0000 Subject: [PATCH 078/158] python27Packages.treq: 18.6.0 -> 20.4.1 --- pkgs/development/python-modules/treq/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix index 31b2a3ef209..1ec88ff1b77 100644 --- a/pkgs/development/python-modules/treq/default.nix +++ b/pkgs/development/python-modules/treq/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { pname = "treq"; - version = "18.6.0"; + version = "20.4.1"; src = fetchPypi { inherit pname version; - sha256 = "91e09ff6b524cc90aa5e934b909c8d0d1a9d36ebd618b6c38e37b17013e69f48"; + sha256 = "115wwb3sripl3xvwpygwyrxrapyis0i7w1yq591z3dwl9k9fgzk8"; }; propagatedBuildInputs = [ From b24960a6eaeb8b7172038843a753c6550397f5de Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 16:05:46 +0000 Subject: [PATCH 079/158] sec: 2.8.2 -> 2.8.3 --- pkgs/tools/admin/sec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/admin/sec/default.nix b/pkgs/tools/admin/sec/default.nix index c1ae07c0fda..b082f61f875 100644 --- a/pkgs/tools/admin/sec/default.nix +++ b/pkgs/tools/admin/sec/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { owner = "simple-evcorr"; repo = "sec"; rev = meta.version; - sha256 = "025cz3mr5yrdgs0i3h8v2znhvjkyh78kba1rzvl03ns2b1c49168"; + sha256 = "0ryic5ilj1i5l41440i0ss6j3yv796fz3gr0qij5pqyd1z21md83"; }; buildInputs = [ perl ]; @@ -27,6 +27,6 @@ stdenv.mkDerivation rec { description = "Simple Event Correlator"; maintainers = [ stdenv.lib.maintainers.tv ]; platforms = stdenv.lib.platforms.all; - version = "2.8.2"; + version = "2.8.3"; }; } From 6383f231aadbf8c6f98c2e8083801e312d7ce9d2 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 15:16:25 +0000 Subject: [PATCH 080/158] stress-ng: 0.11.07 -> 0.11.08 --- pkgs/tools/system/stress-ng/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix index 6645639bcf0..883305b1d54 100644 --- a/pkgs/tools/system/stress-ng/default.nix +++ b/pkgs/tools/system/stress-ng/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "stress-ng"; - version = "0.11.07"; + version = "0.11.08"; src = fetchurl { url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1kyxkwn18y4161yyvxw3hd9xlzwlp270sn4gpnzvmr6rwxhr0nvh"; + sha256 = "1xy5m5r4icc10h957ank0amnh46v2v47z4n1z43d9s7lmvahw287"; }; postPatch = '' From 9c15de6ea422c859dd5382d770bc035fc7bcba4f Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 16:12:25 +0000 Subject: [PATCH 081/158] suricata: 5.0.2 -> 5.0.3 --- pkgs/applications/networking/ids/suricata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/ids/suricata/default.nix b/pkgs/applications/networking/ids/suricata/default.nix index 04c87b7c25b..d6e9b2e7439 100644 --- a/pkgs/applications/networking/ids/suricata/default.nix +++ b/pkgs/applications/networking/ids/suricata/default.nix @@ -34,11 +34,11 @@ in stdenv.mkDerivation rec { pname = "suricata"; - version = "5.0.2"; + version = "5.0.3"; src = fetchurl { url = "https://www.openinfosecfoundation.org/download/${pname}-${version}.tar.gz"; - sha256 = "1ryfa3bzd8mrq2k5kjfwmblxqqziz6b9n1dnh692mazf5z4wlc3z"; + sha256 = "1nv5aq5lpkpskkzw05hr2lshkzcs4zqj5kfv4qjlbwigmp6kwh9l"; }; nativeBuildInputs = [ From 23bacaa0907701459be1fc0b91279254cc8f0f43 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 11:03:41 +0000 Subject: [PATCH 082/158] remmina: 1.4.1 -> 1.4.3 --- pkgs/applications/networking/remote/remmina/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index 3e41649d8cc..92f76e5e6d8 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -13,13 +13,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "remmina"; - version = "1.4.1"; + version = "1.4.3"; src = fetchFromGitLab { owner = "Remmina"; repo = "Remmina"; rev = "v${version}"; - sha256 = "084yw0fd3qmzzd6xinhf4plv5bg8gfj4jnfac7zi1nif8zilf456"; + sha256 = "11s39xcy80rarkddw31v621zpai1vdr52iam367l69mcbc40xg36"; }; nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ]; From 3eb94f3f8ce6fa3b991e4cefbc9a77c9ca2e877c Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 12:15:43 +0000 Subject: [PATCH 083/158] seafile-shared: 7.0.6 -> 7.0.7 --- pkgs/misc/seafile-shared/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix index 3277abbb77b..7546c7626ed 100644 --- a/pkgs/misc/seafile-shared/default.nix +++ b/pkgs/misc/seafile-shared/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "seafile-shared"; - version = "7.0.6"; + version = "7.0.7"; src = fetchFromGitHub { owner = "haiwen"; repo = "seafile"; rev = "v${version}"; - sha256 = "0pc6xbwxljpj7h37za63kspdi90ap58x6x5b7hsmlhahblvlw0b8"; + sha256 = "0vgzb923x2q2w1zgbc56d50a5qj9xm77lg7czfzg3va7vd921gy8"; }; nativeBuildInputs = [ From 8d66945c6e3fcf02757d5d0163e57ee2bd5c3e1b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 01:42:23 +0000 Subject: [PATCH 084/158] python37Packages.zeroconf: 0.24.5 -> 0.26.0 --- pkgs/development/python-modules/zeroconf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix index a1246485cd8..0985da20802 100644 --- a/pkgs/development/python-modules/zeroconf/default.nix +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "zeroconf"; - version = "0.24.5"; + version = "0.26.0"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "0jpgd0rk91si93857mjrizan5gc42kj1q4fi4160qgk68la88fl9"; + sha256 = "029wxa50dwf4hsi7w0d8wmywh125aaaa7l4g024z1cyi511iy5h1"; }; propagatedBuildInputs = [ ifaddr ] From ae4d9cb9a0bc242ec587a756c53fdacddae1ef45 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 13:32:24 +0000 Subject: [PATCH 085/158] stacks: 2.52 -> 2.53 --- pkgs/applications/science/biology/stacks/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/stacks/default.nix b/pkgs/applications/science/biology/stacks/default.nix index 93a02a46bd8..12c86516242 100644 --- a/pkgs/applications/science/biology/stacks/default.nix +++ b/pkgs/applications/science/biology/stacks/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "stacks"; - version = "2.52"; + version = "2.53"; src = fetchurl { url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz"; - sha256 = "0gq3kbj910jsq591wylzjmd23srjlsssmrckmf46m4ysjqdqd8vm"; + sha256 = "1zchds205nwdqch1246953dr8c0019yas178qbq3jypbxvmgq7pf"; }; buildInputs = [ zlib ]; From 53df8b1a2750ef5da3a911163a80c6b5d660c551 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 10 May 2020 19:02:26 +0200 Subject: [PATCH 086/158] python3Packages.trimesh: init at 3.6.36 --- .../python-modules/trimesh/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/development/python-modules/trimesh/default.nix diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix new file mode 100644 index 00000000000..a65ea1e98ba --- /dev/null +++ b/pkgs/development/python-modules/trimesh/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchPypi, numpy }: + +buildPythonPackage rec { + pname = "trimesh"; + version = "3.6.36"; + + src = fetchPypi { + inherit pname version; + sha256 = "1m8dqqyzazrjk4d32cqn4d8gvbfcwgs2qbmgvpi2f2mi5vnp6d85"; + }; + + propagatedBuildInputs = [ numpy ]; + + # tests are not included in pypi distributions and would require lots of + # optional dependencies + doCheck = false; + + meta = with lib; { + description = "Python library for loading and using triangular meshes."; + homepage = "https://trimsh.org/"; + license = licenses.mit; + maintainers = with maintainers; [ gebner ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e54a4e9fe45..c356700167e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1479,6 +1479,8 @@ in { transforms3d = callPackage ../development/python-modules/transforms3d { }; + trimesh = callPackage ../development/python-modules/trimesh {}; + sentinel = callPackage ../development/python-modules/sentinel { }; sentry-sdk = callPackage ../development/python-modules/sentry-sdk {}; From be985ba49e96f8e8e29ee0adf1dbd761f83167df Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 10 May 2020 19:02:42 +0200 Subject: [PATCH 087/158] python3Packages.libsavitar: 4.5.0 -> 4.6.1 --- pkgs/development/python-modules/libsavitar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/libsavitar/default.nix b/pkgs/development/python-modules/libsavitar/default.nix index c7b12e3daf5..32717e127fb 100644 --- a/pkgs/development/python-modules/libsavitar/default.nix +++ b/pkgs/development/python-modules/libsavitar/default.nix @@ -2,14 +2,14 @@ buildPythonPackage rec { pname = "libsavitar"; - version = "4.5.0"; + version = "4.6.1"; format = "other"; src = fetchFromGitHub { owner = "Ultimaker"; repo = "libSavitar"; rev = version; - sha256 = "1l3l8cgaxzqdk93880p2ijrabshdj5sq05cwj1i6jpmhlqc5b9rx"; + sha256 = "0nk8zl5b0b36wrrkj271ck4phzxsigkjsazndscjslc9nkldmnpq"; }; postPatch = '' From ddac66d6b892e900432ba039bb6049c0fd3ab9fe Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 10 May 2020 19:03:06 +0200 Subject: [PATCH 088/158] python3Packages.libarcus: 4.5.0 -> 4.6.1 --- pkgs/development/python-modules/libarcus/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/libarcus/default.nix b/pkgs/development/python-modules/libarcus/default.nix index a3f795f254e..cd5f0aef648 100644 --- a/pkgs/development/python-modules/libarcus/default.nix +++ b/pkgs/development/python-modules/libarcus/default.nix @@ -3,7 +3,7 @@ buildPythonPackage rec { pname = "libarcus"; - version = "4.5.0"; + version = "4.6.1"; format = "other"; src = fetchFromGitHub { From 9f23ba56f1d4a3d9a9dcafb421c21a7c15c282cf Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 10 May 2020 19:03:25 +0200 Subject: [PATCH 089/158] python3Packages.uranium: 4.5.0 -> 4.6.1 --- pkgs/development/python-modules/uranium/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/uranium/default.nix b/pkgs/development/python-modules/uranium/default.nix index 1ab67be5bdc..af13fa8d17a 100644 --- a/pkgs/development/python-modules/uranium/default.nix +++ b/pkgs/development/python-modules/uranium/default.nix @@ -2,7 +2,7 @@ , pyqt5, numpy, scipy, shapely, libarcus, doxygen, gettext, pythonOlder }: buildPythonPackage rec { - version = "4.5.0"; + version = "4.6.1"; pname = "uranium"; format = "other"; @@ -10,7 +10,7 @@ buildPythonPackage rec { owner = "Ultimaker"; repo = "Uranium"; rev = version; - sha256 = "1l8fwj521irla42bdbw298d3c5rjpn1nm9xhjnx7hidbqixr5d27"; + sha256 = "07pksjbgxs1ks2i6pgxkwfg9c56pcql7f9p89dnwaf2rcn7yhx6r"; }; disabled = pythonOlder "3.5.0"; From bc56fe5759c5a9424ad3d6502999cca2bec6ac5c Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 10 May 2020 19:03:40 +0200 Subject: [PATCH 090/158] cura: 4.5.0 -> 4.6.1 --- pkgs/applications/misc/cura/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix index 4c4fe9b1abd..1b5c7c23956 100644 --- a/pkgs/applications/misc/cura/default.nix +++ b/pkgs/applications/misc/cura/default.nix @@ -2,25 +2,26 @@ mkDerivation rec { pname = "cura"; - version = "4.5.0"; + version = "4.6.1"; src = fetchFromGitHub { owner = "Ultimaker"; repo = "Cura"; rev = version; - sha256 = "0fm04s912sgmr66wyb55ly4jh39ijsj6lx4fx9wn7hchlqmw5jxi"; + sha256 = "0h1r9caa579d3gfpcmch54rdbkg5df64ds2v84iqsbxwjp0rmn4n"; }; materials = fetchFromGitHub { owner = "Ultimaker"; repo = "fdm_materials"; rev = version; - sha256 = "0fgkwz1anw49macq1jxjhjr79slhmx7g3zwij7g9fqyzzhrrmwqn"; + sha256 = "1k5c3qmixhpz3z2yi0fysxcyyf1yhcwmdlrcypkw827lhsialqp4"; }; buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ]; propagatedBuildInputs = with python3.pkgs; [ libsavitar numpy-stl pyserial requests uranium zeroconf + sentry-sdk trimesh ] ++ plugins; nativeBuildInputs = [ cmake python3.pkgs.wrapPython ]; From af238824f4e20395feee56e6644aa2c92c50d844 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 10 May 2020 19:04:27 +0200 Subject: [PATCH 091/158] curaPlugins.octoprint: 3.5.11 -> 3.5.12 --- pkgs/applications/misc/cura/plugins.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/cura/plugins.nix b/pkgs/applications/misc/cura/plugins.nix index 35d6c97fa0b..9fbe647046c 100644 --- a/pkgs/applications/misc/cura/plugins.nix +++ b/pkgs/applications/misc/cura/plugins.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch, cmake, python3Packages }: +{ stdenv, fetchFromGitHub, fetchpatch, python3Packages }: let @@ -6,21 +6,24 @@ let octoprint = stdenv.mkDerivation rec { pname = "Cura-OctoPrintPlugin"; - version = "3.5.11"; + version = "3.5.12"; src = fetchFromGitHub { owner = "fieldOfView"; repo = pname; - rev = "3cef0a955ae7ccfa5c07d20d9d147c530cc9d6ec"; - sha256 = "0q9bkwgpsbfwkp1bfaxq3wm9pbwx5d7ji0jr7cwc4y5nizji81is"; + rev = "ad522c0b7ead5fbe28da686a3cc75e351274c2bc"; + sha256 = "0ln11ng32bh0smfsk54mv2j3sadh0gwf031nmm95zrvbj9cr6yc0"; }; - nativeBuildInputs = [ cmake ]; - propagatedBuildInputs = with python3Packages; [ netifaces ]; + installPhase = '' + mkdir -p $out/lib/cura/plugins/OctoPrintPlugin + cp -rv . $out/lib/cura/plugins/OctoPrintPlugin/ + ''; + meta = with stdenv.lib; { description = "Enables printing directly to OctoPrint and monitoring the process"; homepage = "https://github.com/fieldOfView/Cura-OctoPrintPlugin"; From 5da13930308779e91470a2dc6249005098886011 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Sun, 10 May 2020 01:55:31 +0100 Subject: [PATCH 092/158] deluge: add glib so its hook works. At the moment, runing `deluge` with the deluge package installed returns "No GSettings schemas are installed on the system". After this patch, XDG_DATA_DIRS includes the gsettings-desktop-schemas, which means the program actually manages to launch. --- pkgs/applications/networking/p2p/deluge/2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/p2p/deluge/2/default.nix b/pkgs/applications/networking/p2p/deluge/2/default.nix index 755ef4cc33b..2e9f08ce98a 100644 --- a/pkgs/applications/networking/p2p/deluge/2/default.nix +++ b/pkgs/applications/networking/p2p/deluge/2/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, intltool, libtorrentRasterbar, pythonPackages -, gtk3, gobject-introspection, librsvg, wrapGAppsHook }: +, gtk3, glib, gobject-introspection, librsvg, wrapGAppsHook }: pythonPackages.buildPythonPackage rec { pname = "deluge"; @@ -18,7 +18,7 @@ pythonPackages.buildPythonPackage rec { gtk3 gobject-introspection librsvg ]; - nativeBuildInputs = [ intltool wrapGAppsHook ]; + nativeBuildInputs = [ intltool wrapGAppsHook glib ]; checkInputs = with pythonPackages; [ pytest /* pytest-twisted */ pytestcov mock From 4c81174f4cd0f9368c47d0878d8efa3ca3fb10a4 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Sat, 9 May 2020 21:03:46 +0200 Subject: [PATCH 093/158] nixos/confinement: add conflict for ProtectSystem service option Systemd ProtectSystem is incompatible with the chroot we make for confinement. The options is redundant with what we do anyway so warn if it had been set and advise to disable it. Merges: https://github.com/NixOS/nixpkgs/pull/87420 --- nixos/modules/security/systemd-confinement.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/modules/security/systemd-confinement.nix b/nixos/modules/security/systemd-confinement.nix index cd4eb81dbe1..0a400f1d535 100644 --- a/nixos/modules/security/systemd-confinement.nix +++ b/nixos/modules/security/systemd-confinement.nix @@ -160,6 +160,11 @@ in { + " the 'users.users' option instead as this combination is" + " currently not supported."; } + { assertion = !cfg.serviceConfig.ProtectSystem or false; + message = "${whatOpt "ProtectSystem"}. ProtectSystem is not compatible" + + " with service confinement as it fails to remount /usr within" + + " our chroot. Please disable the option."; + } ]) config.systemd.services); config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let From 99847a4e9dc466ca51954dcf881aac8dd5f4df77 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 09:52:26 +0000 Subject: [PATCH 094/158] python27Packages.pymupdf: 1.16.16 -> 1.16.18 --- pkgs/development/python-modules/pymupdf/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix index 2ab33fb1838..1625b15f2ee 100644 --- a/pkgs/development/python-modules/pymupdf/default.nix +++ b/pkgs/development/python-modules/pymupdf/default.nix @@ -1,11 +1,11 @@ { stdenv, buildPythonPackage, fetchPypi, mupdf, swig }: buildPythonPackage rec { pname = "PyMuPDF"; - version = "1.16.16"; + version = "1.16.18"; src = fetchPypi { inherit pname version; - sha256 = "1rw4wjbsp8pnkkqcn097psjd6qinv70pjzvrbns04maybhn4ni6v"; + sha256 = "0gpcmmcjgwc6x4rn6nm3akiijdkpa9nahsw2x8a0i7z7kzj4firk"; }; patchPhase = '' From 3d055b1c68e4db8ce2ace635398b78f209d2a449 Mon Sep 17 00:00:00 2001 From: Matt Layher Date: Sun, 10 May 2020 14:00:19 -0400 Subject: [PATCH 095/158] corerad: 0.2.3 -> 0.2.4 --- pkgs/tools/networking/corerad/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/networking/corerad/default.nix b/pkgs/tools/networking/corerad/default.nix index 7be61d0e853..2fb2cb79ff4 100644 --- a/pkgs/tools/networking/corerad/default.nix +++ b/pkgs/tools/networking/corerad/default.nix @@ -2,20 +2,20 @@ buildGoModule rec { pname = "corerad"; - version = "0.2.3"; + version = "0.2.4"; src = fetchFromGitHub { owner = "mdlayher"; repo = "corerad"; rev = "v${version}"; - sha256 = "1594qrwrz4bc3iipm4aqb8l1zyi04pwmiz0vdlfn12qn1p7lad5p"; + sha256 = "1r9kvz1ylrnfc7y5c4knqhx6xngh1p8j1axb8bd7h7p51c4i7jz2"; }; - modSha256 = "1cfhxkvwzf7sn227y6h5h19f27a9ngmpnyqdlfba5km8axqn29vm"; + modSha256 = "00xisa4l90f0digb1jfd2w616r080m7yp01y1rb83r8k147z5d2v"; buildFlagsArray = '' -ldflags= - -X github.com/mdlayher/corerad/internal/build.linkTimestamp=1586881022 + -X github.com/mdlayher/corerad/internal/build.linkTimestamp=1589133047 -X github.com/mdlayher/corerad/internal/build.linkVersion=v${version} ''; From d531e723977ed1c510b224bd908d3614cb34a213 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 3 May 2020 17:23:10 +0200 Subject: [PATCH 096/158] nix-direnv: init at 1.0.0 --- pkgs/tools/misc/nix-direnv/default.nix | 33 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/tools/misc/nix-direnv/default.nix diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix new file mode 100644 index 00000000000..2d133795500 --- /dev/null +++ b/pkgs/tools/misc/nix-direnv/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, gnugrep, nix }: + +stdenv.mkDerivation rec { + pname = "nix-direnv"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "nix-community"; + repo = "nix-direnv"; + rev = "${version}"; + sha256 = "1lwmg6mn3lf7s0345v53zadxn9v0x8z6pcbj90v5dx3pgrq41gs8"; + }; + + # Substitute instead of wrapping because the resulting file is + # getting sourced, not executed: + postPatch = '' + substituteInPlace direnvrc \ + --replace "grep" "${gnugrep}/bin/grep" \ + --replace "nix-shell" "${nix}/bin/nix-shell" \ + --replace "nix-instantiate" "${nix}/bin/nix-instantiate" + ''; + + installPhase = '' + install -m500 -D direnvrc $out/share/nix-direnv/direnvrc + ''; + + meta = with stdenv.lib; { + description = "A fast, persistent use_nix implementation for direnv"; + homepage = "https://github.com/nix-community/nix-direnv"; + license = licenses.mit; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7dda53484e..7a2043b4cf5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2058,6 +2058,8 @@ in nfstrace = callPackage ../tools/networking/nfstrace { }; + nix-direnv = callPackage ../tools/misc/nix-direnv { }; + nixpkgs-pytools = with python3.pkgs; toPythonApplication nixpkgs-pytools; noteshrink = callPackage ../tools/misc/noteshrink { }; From 4ed7e2363601d1e0b762c0f8104b27ac64163673 Mon Sep 17 00:00:00 2001 From: Gaelan Date: Sun, 10 May 2020 10:41:51 -0700 Subject: [PATCH 097/158] nixos/device-tree: fix package name in examples deviceTree_rpi got renamed to device-tree_rpi a while back, so this updates the examples to reflect that. --- nixos/modules/hardware/device-tree.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/hardware/device-tree.nix b/nixos/modules/hardware/device-tree.nix index f57502d4c83..cf553497c89 100644 --- a/nixos/modules/hardware/device-tree.nix +++ b/nixos/modules/hardware/device-tree.nix @@ -19,7 +19,7 @@ in { base = mkOption { default = "${config.boot.kernelPackages.kernel}/dtbs"; defaultText = "\${config.boot.kernelPackages.kernel}/dtbs"; - example = literalExample "pkgs.deviceTree_rpi"; + example = literalExample "pkgs.device-tree_rpi"; type = types.path; description = '' The package containing the base device-tree (.dtb) to boot. Contains @@ -30,7 +30,7 @@ in { overlays = mkOption { default = []; example = literalExample - "[\"\${pkgs.deviceTree_rpi.overlays}/w1-gpio.dtbo\"]"; + "[\"\${pkgs.device-tree_rpi.overlays}/w1-gpio.dtbo\"]"; type = types.listOf types.path; description = '' A path containing device tree overlays (.dtbo) to be applied to all From fc3d6386db26f667363fb8faef4c72c408f4f6d6 Mon Sep 17 00:00:00 2001 From: pablo1107 Date: Sat, 9 May 2020 01:21:37 -0300 Subject: [PATCH 098/158] maintainers: add pablovsky --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1fff2727848..58ca670ad42 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5796,6 +5796,12 @@ githubId = 15930073; name = "Moritz Scheuren"; }; + pablovsky = { + email = "dealberapablo07@gmail.com"; + github = "pablo1107"; + githubId = 17091659; + name = "Pablo Andres Dealbera"; + }; pacien = { email = "b4gx3q.nixpkgs@pacien.net"; github = "pacien"; From 73415984208d2bc4e71e729294e2b17132692b29 Mon Sep 17 00:00:00 2001 From: pablo1107 Date: Sun, 10 May 2020 02:56:08 -0300 Subject: [PATCH 099/158] perlPackages.StringInterpolate: init at 0.32 --- pkgs/top-level/perl-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 17d60574215..b27d41b6494 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -17009,6 +17009,20 @@ let }; }; + StringInterpolate = buildPerlPackage { + pname = "String-Interpolate"; + version = "0.32"; + src = fetchurl { + url = mirror://cpan/authors/id/N/NE/NEILB/String-Interpolate-0.32.tar.gz; + sha256 = "15fwbpz3jdpdgmz794iw9hz2caxrnrw9pdwprxxkanpm92cdhaf7"; + }; + meta = with stdenv.lib; { + # https://metacpan.org/pod/String::Interpolate + description = "String::Interpolate - Wrapper for builtin the Perl interpolation engine."; + license = licenses.gpl1Plus; + }; + }; + StringMkPasswd = buildPerlPackage { pname = "String-MkPasswd"; version = "0.05"; From d8fa2627f307e72a0d7f232168b137569f3a6dc6 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Sat, 9 May 2020 20:43:24 +0200 Subject: [PATCH 100/158] mpd: remove user/group from conf the options should not be set as we already change user with service file, man mpd.conf says "Do not use this option if you start MPD as an unprivileged user" The group option actually is not documented at all anymore and probably no longer exists. These options get in the way of setting up confinement for the service, as it would otherwise be pretty straightforward to setup, but even if mpd is not root it would check the user exists within the chroot which is more work (need to get nss working): systemd.services.mpd = { serviceConfig.BindPaths = [ # mpd state dir "/var/lib/mpd" # notify systemd service started up "/run/systemd/notify" ]; serviceConfig.BindReadOnlyPaths = [ "/path/to/music:/var/lib/mpd/music" ]; # ProtectSystem is not compatible with confinement serviceConfig.ProtectSystem = lib.mkForce false; confinement = { enable = true; binSh = null; mode = "chroot-only"; }; }; --- nixos/modules/services/audio/mpd.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index e20591b5beb..f4eb4a265a4 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -18,8 +18,6 @@ let ''} state_file "${cfg.dataDir}/state" sticker_file "${cfg.dataDir}/sticker.sql" - user "${cfg.user}" - group "${cfg.group}" ${optionalString (cfg.network.listenAddress != "any") ''bind_to_address "${cfg.network.listenAddress}"''} ${optionalString (cfg.network.port != 6600) ''port "${toString cfg.network.port}"''} From ab3dfc3fb5839fb44be496f70da5f0bdf43a4ae4 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 18:29:10 +0000 Subject: [PATCH 101/158] tixati: 2.72 -> 2.73 --- pkgs/applications/networking/p2p/tixati/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix index 151d652de52..2e14bd0eb0f 100644 --- a/pkgs/applications/networking/p2p/tixati/default.nix +++ b/pkgs/applications/networking/p2p/tixati/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "tixati"; - version = "2.72"; + version = "2.73"; src = fetchurl { url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz"; - sha256 = "04si7xwbpvljdbngmzlfvkn51wih3aqcb5g6r76wdh3pfpppskhr"; + sha256 = "1ncrfc4wgf02la2h3zpdcz07b980n9232lg5f62q7ab79fjrcrfr"; }; installPhase = '' From ae649e275ce0cf2f2a34ba6ccf7e634d36ec81ef Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 18:35:50 +0000 Subject: [PATCH 102/158] virt-viewer: 8.0 -> 9.0 --- pkgs/applications/virtualization/virt-viewer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix index 3d058903200..41e6c425a81 100644 --- a/pkgs/applications/virtualization/virt-viewer/default.nix +++ b/pkgs/applications/virtualization/virt-viewer/default.nix @@ -11,12 +11,12 @@ with stdenv.lib; stdenv.mkDerivation rec { baseName = "virt-viewer"; - version = "8.0"; + version = "9.0"; name = "${baseName}-${version}"; src = fetchurl { url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz"; - sha256 = "1vdnjmhrva7r1n9nv09j8gc12hy0j9j5l4rka4hh0jbsbpnmiwyw"; + sha256 = "09a83mzyn3b4nd7wpa659g1zf1fjbzb79rk968bz6k5xl21k7d4i"; }; nativeBuildInputs = [ pkgconfig intltool shared-mime-info wrapGAppsHook glib ]; From 01bc332108d70c7dbe927bc78e82c4e35bf24274 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 11:08:16 +0000 Subject: [PATCH 103/158] python27Packages.ROPGadget: 6.2 -> 6.3 --- pkgs/development/python-modules/ROPGadget/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ROPGadget/default.nix b/pkgs/development/python-modules/ROPGadget/default.nix index dc3ff1dbf4d..c3c67194ebb 100644 --- a/pkgs/development/python-modules/ROPGadget/default.nix +++ b/pkgs/development/python-modules/ROPGadget/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "ROPGadget"; - version = "6.2"; + version = "6.3"; src = fetchPypi { inherit pname version; - sha256 = "0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh"; + sha256 = "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9"; }; propagatedBuildInputs = [ capstone ]; From 2bb14421ec2a336ba988b4266cb7bc6a8d428ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sun, 10 May 2020 16:03:14 -0300 Subject: [PATCH 104/158] theme-obsidian2: 2.11 -> 2.12 --- pkgs/data/themes/obsidian2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/obsidian2/default.nix b/pkgs/data/themes/obsidian2/default.nix index 25d6218e4bf..3fb3af9436e 100644 --- a/pkgs/data/themes/obsidian2/default.nix +++ b/pkgs/data/themes/obsidian2/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "theme-obsidian2"; - version = "2.11"; + version = "2.12"; src = fetchFromGitHub { owner = "madmaxms"; repo = "theme-obsidian-2"; rev = "v${version}"; - sha256 = "0n64cml2h8dw2m2m6j90d515saqapqzjz6xcv4kr544ibv62hn61"; + sha256 = "1srl6wm6fjdc5pi9fjl5nghn4q40hn5jcxxl8qjvz8lkczylynnb"; }; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; From 7451f11730f1a7584fa26ba068548a2ce714056b Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Sun, 10 May 2020 21:24:18 +0200 Subject: [PATCH 105/158] google-drive-ocamlfuse: 0.7.2 -> 0.7.21 (#86469) ocamlPackages.ocamlfuse: 2.7.1_cvs5 -> 2.7.1_cvs6_e35e76b --- .../google-drive-ocamlfuse/default.nix | 18 +++++++----------- .../ocaml-modules/ocamlfuse/default.nix | 17 ++++++----------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix index 5465a27bbf2..ac6ad4f22fe 100644 --- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix +++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix @@ -1,23 +1,19 @@ -{ stdenv, fetchFromGitHub, zlib -, ocaml, dune, ocamlfuse, findlib, gapi_ocaml, ocaml_sqlite3, camlidl }: +{ stdenv, buildDunePackage, fetchFromGitHub +, ocamlfuse, gapi_ocaml, ocaml_sqlite3 +}: -stdenv.mkDerivation rec { +buildDunePackage rec { pname = "google-drive-ocamlfuse"; - version = "0.7.2"; + version = "0.7.21"; src = fetchFromGitHub { owner = "astrada"; repo = "google-drive-ocamlfuse"; rev = "v${version}"; - sha256 = "1l6b4bs5x373pw210nl8xal03ns2ib1ls49y64s3lqjfh5wjmnjy"; + sha256 = "0by3qnjrr1mbxyl2n99zggx8dxnqlicsq2b2hhhxb2d0k8qn47sw"; }; - nativeBuildInputs = [ dune ]; - - buildInputs = [ zlib ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl ]; - - buildPhase = "jbuilder build @install"; - installPhase = "mkdir $out && dune install --prefix $out"; + buildInputs = [ ocamlfuse gapi_ocaml ocaml_sqlite3 ]; meta = { homepage = "http://gdfuse.forge.ocamlcore.org/"; diff --git a/pkgs/development/ocaml-modules/ocamlfuse/default.nix b/pkgs/development/ocaml-modules/ocamlfuse/default.nix index 90c449e383f..dabe7ae52a3 100644 --- a/pkgs/development/ocaml-modules/ocamlfuse/default.nix +++ b/pkgs/development/ocaml-modules/ocamlfuse/default.nix @@ -1,22 +1,17 @@ -{ stdenv, fetchFromGitHub, ocaml, camlidl, fuse, findlib }: +{ stdenv, buildDunePackage, fetchFromGitHub, camlidl, fuse }: -stdenv.mkDerivation rec { +buildDunePackage { pname = "ocamlfuse"; - version = "2.7.1_cvs5"; + version = "2.7.1_cvs6_e35e76b"; src = fetchFromGitHub { owner = "astrada"; repo = "ocamlfuse"; - rev = "v${version}"; - sha256 = "01ayw2hzpxan95kncbxh9isj9g149cs8scq3xim1vy8bz085wb0m"; + rev = "e35e76bee3b06806256b5bfca108b7697267cd5c"; + sha256 = "1v9g0wh7rnjkrjrnw50145g6ry38plyjs8fq8w0nlzwizhf3qhff"; }; - buildInputs = [ocaml findlib]; - propagatedBuildInputs = [camlidl fuse]; - configurePhase = '' ocaml setup.ml -configure --prefix $out ''; - buildPhase = "ocaml setup.ml -build"; - installPhase = "ocaml setup.ml -install"; - createFindlibDestdir = true; + propagatedBuildInputs = [ camlidl fuse ]; meta = { homepage = "https://sourceforge.net/projects/ocamlfuse"; From 66f90b84b85931e90ce31e4a3d9fbe5b5a896e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 10 May 2020 21:36:32 +0200 Subject: [PATCH 106/158] fatsort: 1.5.0.456 -> 1.6.2.605 The patch to set PREFIX needed updating to apply. Rewrite it in a way that allows submitting upstream. That means we don't hardcode PREFIX=$out inside the patch but allow the PREFIX to be passed to make at build time. --- pkgs/tools/filesystems/fatsort/default.nix | 6 ++- .../fatsort/fatsort-Makefiles.patch | 49 ++++++++++--------- 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix index dafe4c85176..b8f63a379b1 100644 --- a/pkgs/tools/filesystems/fatsort/default.nix +++ b/pkgs/tools/filesystems/fatsort/default.nix @@ -1,18 +1,20 @@ {stdenv, fetchurl, help2man}: stdenv.mkDerivation rec { - version = "1.5.0.456"; + version = "1.6.2.605"; pname = "fatsort"; src = fetchurl { url = "mirror://sourceforge/fatsort/${pname}-${version}.tar.xz"; - sha256 = "15fy2m4p9s8cfvnzdcd5ynkc2js0zklkkf34sjxdac7x2iwb8dd8"; + sha256 = "1dzzsl3a1ampari424vxkma0i87qkbgkgm2169x9xf3az0vgmjh8"; }; patches = [ ./fatsort-Makefiles.patch ]; buildInputs = [ help2man ]; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + meta = with stdenv.lib; { homepage = "http://fatsort.sourceforge.net/"; description = "Sorts FAT partition table, for devices that don't do sorting of files"; diff --git a/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch b/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch index 9c9f58e97ab..51775edfb41 100644 --- a/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch +++ b/pkgs/tools/filesystems/fatsort/fatsort-Makefiles.patch @@ -1,31 +1,34 @@ -diff -uNr fatsort-1.3.365-a/Makefile fatsort-1.3.365-b/Makefile ---- fatsort-1.3.365-a/Makefile 2014-04-08 19:19:36.000000000 +0100 -+++ fatsort-1.3.365-b/Makefile 2014-12-14 18:31:55.982857720 +0000 +diff -uNr fatsort-1.6.2.605.orig/Makefile fatsort-1.6.2.605.new/Makefile +--- fatsort-1.6.2.605.orig/Makefile 2019-11-16 16:40:27.000000000 +0100 ++++ fatsort-1.6.2.605.new/Makefile 2020-05-10 21:34:34.820874026 +0200 @@ -1,4 +1,5 @@ -MANDIR=/usr/local/share/man/man1 -+PREFIX=$(out) ++PREFIX?=/usr/local +MANDIR=$(PREFIX)/share/man/man1 INSTALL_FLAGS=-m 0755 -p -D -diff -uNr fatsort-1.3.365-a/src/Makefile fatsort-1.3.365-b/src/Makefile ---- fatsort-1.3.365-a/src/Makefile 2014-04-08 19:19:36.000000000 +0100 -+++ fatsort-1.3.365-b/src/Makefile 2014-12-14 18:32:08.282870461 +0000 -@@ -1,3 +1,5 @@ -+PREFIX=$(out) -+ - CC=gcc - LD=gcc - -@@ -33,9 +35,9 @@ - - # Mac OS X does not have a "/usr/local/sbin" - ifeq ($(UNAME),Darwin) --SBINDIR=/usr/local/bin -+SBINDIR=$(PREFIX)/bin +diff -uNr fatsort-1.6.2.605.orig/src/Makefile fatsort-1.6.2.605.new/src/Makefile +--- fatsort-1.6.2.605.orig/src/Makefile 2018-11-17 00:40:59.000000000 +0100 ++++ fatsort-1.6.2.605.new/src/Makefile 2020-05-10 21:33:52.053391027 +0200 +@@ -30,7 +30,7 @@ + override CFLAGS += -D __CYGWIN__ + override CFLAGS += -D __LINUX__ + override LDFLAGS += -liconv +- SBINDIR=/usr/local/sbin ++ SBINDIR=$(PREFIX)/sbin + endif else --SBINDIR=/usr/local/sbin -+SBINDIR=$(PREFIX)/sbin + ifdef MINGW +@@ -60,9 +60,9 @@ + # OS X's install does not support the '-D' flag. + INSTALL_FLAGS=-m 0755 -p + # Mac OS X does not have a "/usr/local/sbin" +- SBINDIR=/usr/local/bin ++ SBINDIR=$(PREFIX)/bin + else +- SBINDIR=/usr/local/sbin ++ SBINDIR=$(PREFIX)/sbin + endif + endif endif - - OBJ=fatsort.o FAT_fs.o fileio.o endianness.o signal.o entrylist.o errors.o options.o clusterchain.o sort.o misc.o natstrcmp.o stringlist.o From f889cf482da773208faeed91e1bc8855913337f3 Mon Sep 17 00:00:00 2001 From: ccellado Date: Sun, 10 May 2020 21:31:14 +0300 Subject: [PATCH 107/158] vips 0.8.2 --- pkgs/tools/graphics/vips/default.nix | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/pkgs/tools/graphics/vips/default.nix b/pkgs/tools/graphics/vips/default.nix index 8546c4e8182..1bfb2f88020 100644 --- a/pkgs/tools/graphics/vips/default.nix +++ b/pkgs/tools/graphics/vips/default.nix @@ -12,9 +12,10 @@ , libjpeg , libgsf , libexif +, libheif , ApplicationServices , python27 -, libpng ? null +, libpng , fetchFromGitHub , fetchpatch , autoreconfHook @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { pname = "vips"; - version = "8.9.1"; + version = "8.9.2"; outputs = [ "bin" "out" "man" "dev" ]; @@ -33,7 +34,7 @@ stdenv.mkDerivation rec { owner = "libvips"; repo = "libvips"; rev = "v${version}"; - sha256 = "01vgvzlygg3fzpinb0x1rdm2sqvnqxmvxbnlbg73ygdadv3l2s0v"; + sha256 = "0pgvcp5yjk96izh7kjfprjd9kddx7zqrwwhm8dyalhrwbmj6c2q5"; # Remove unicode file names which leads to different checksums on HFS+ # vs. other filesystems because of unicode normalisation. extraPostFetch = '' @@ -41,15 +42,6 @@ stdenv.mkDerivation rec { ''; }; - patches = [ - # autogen.sh should not run configure - # https://github.com/libvips/libvips/pull/1566 - (fetchpatch { - url = "https://github.com/libvips/libvips/commit/97a92e0e6abab652fdf99313b138bfd77d70deb4.patch"; - sha256 = "0w1sm5wmvfp8svdpk8mz57c1n6zzy3snq0g2f8yxjamv0d2gw2dp"; - }) - ]; - nativeBuildInputs = [ pkgconfig autoreconfHook @@ -69,6 +61,8 @@ stdenv.mkDerivation rec { libjpeg libgsf libexif + libheif + libpng python27 libpng expat From 5ce6802a170801a62784831fbbe790475de9a0ff Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 19:49:47 +0000 Subject: [PATCH 108/158] termdown: 1.16.0 -> 1.17.0 --- pkgs/applications/misc/termdown/default.nix | 32 +++++++++++---------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/misc/termdown/default.nix b/pkgs/applications/misc/termdown/default.nix index 5ccdbbbb6b4..ad6f9e9382b 100644 --- a/pkgs/applications/misc/termdown/default.nix +++ b/pkgs/applications/misc/termdown/default.nix @@ -1,27 +1,29 @@ -{ stdenv, fetchFromGitHub, buildPythonApplication, -click, pyfiglet, dateutil}: - -with stdenv.lib; +{ stdenv +, fetchFromGitHub +, buildPythonApplication +, click +, pyfiglet +, dateutil +, setuptools +}: buildPythonApplication rec { - pname = "termdown"; - version = "1.16.0"; + version = "1.17.0"; src = fetchFromGitHub { - rev = version; - sha256 = "0k429ss1xifm9vbgyzpp71r79byn9jclvr0rm77bai2r8nz3s2vf"; - repo = "termdown"; - owner = "trehn"; + rev = version; + sha256 = "1sd9z5n2a4ir35832wgxs68vwav7wxhq39b5h8pq934mp8sl3v2k"; + repo = "termdown"; + owner = "trehn"; }; - propagatedBuildInputs = [ dateutil click pyfiglet ]; + propagatedBuildInputs = [ dateutil click pyfiglet setuptools ]; meta = with stdenv.lib; { - description = "Starts a countdown to or from TIMESPEC"; + description = "Starts a countdown to or from TIMESPEC"; longDescription = "Countdown timer and stopwatch in your terminal"; - homepage = "https://github.com/trehn/termdown"; - license = licenses.gpl3; - platforms = platforms.all; + homepage = "https://github.com/trehn/termdown"; + license = licenses.gpl3; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7dda53484e..1760a1d9ada 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22135,7 +22135,7 @@ in tendermint = callPackage ../tools/networking/tendermint { }; - termdown = (newScope pythonPackages) ../applications/misc/termdown { }; + termdown = python3Packages.callPackage ../applications/misc/termdown { }; terminal-notifier = callPackage ../applications/misc/terminal-notifier {}; From 2a8fb4c39c4f0fe6eec9dde167e1a6eb16da3af9 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 19:58:03 +0000 Subject: [PATCH 109/158] ttygif: 1.4.0 -> 1.5.0 --- pkgs/tools/misc/ttygif/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/ttygif/default.nix b/pkgs/tools/misc/ttygif/default.nix index 2fbd4360698..33cef6a991f 100644 --- a/pkgs/tools/misc/ttygif/default.nix +++ b/pkgs/tools/misc/ttygif/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "ttygif"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "icholy"; repo = pname; rev = version; - sha256 = "18l26iacpfn4xqqv1ai6ncabn83mqv98c48gl265gfld66y7zbzn"; + sha256 = "1w9c3h6hik2gglwsw8ww63piy66i4zqr3273wh5rc9r2awiwh643"; }; makeFlags = [ "PREFIX=${placeholder "out"}" ]; From f4718f4e6bd1006c29430b165dd2fdc85f6c973d Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 10 May 2020 23:12:41 +0300 Subject: [PATCH 110/158] gotify-server: 2.0.15 -> 2.0.16 --- pkgs/servers/gotify/default.nix | 4 + pkgs/servers/gotify/mod-sha.nix | 2 +- pkgs/servers/gotify/package.json | 44 +- pkgs/servers/gotify/source-sha.nix | 2 +- pkgs/servers/gotify/version.nix | 2 +- pkgs/servers/gotify/yarndeps.nix | 5264 ++++++++++++++++------------ 6 files changed, 2965 insertions(+), 2353 deletions(-) diff --git a/pkgs/servers/gotify/default.nix b/pkgs/servers/gotify/default.nix index 3f9f59a4aee..8c358154e8c 100644 --- a/pkgs/servers/gotify/default.nix +++ b/pkgs/servers/gotify/default.nix @@ -38,6 +38,10 @@ buildGoModule rec { cp -r ${ui}/libexec/gotify-ui/deps/gotify-ui/build ui/build && packr ''; + passthru = { + updateScript = ./update.sh; + }; + # Otherwise, all other subpackages are built as well and from some reason, # produce binaries which panic when executed and are not interesting at all subPackages = [ "." ]; diff --git a/pkgs/servers/gotify/mod-sha.nix b/pkgs/servers/gotify/mod-sha.nix index 16a3eddadb5..f115be8e1a7 100644 --- a/pkgs/servers/gotify/mod-sha.nix +++ b/pkgs/servers/gotify/mod-sha.nix @@ -1 +1 @@ -"119f249rvlvxjhwc6wh10yyk3z41488mydmvxs44b5a4p67yvjfw" \ No newline at end of file +"0zpdbj8a0akhzi1ian8zs6y7ymhlpcfy13q64xdlwc5w0286554r" \ No newline at end of file diff --git a/pkgs/servers/gotify/package.json b/pkgs/servers/gotify/package.json index 00f71337071..7e8defe3858 100644 --- a/pkgs/servers/gotify/package.json +++ b/pkgs/servers/gotify/package.json @@ -9,23 +9,23 @@ "@material-ui/icons": "^4.9.1", "axios": "^0.19.0", "codemirror": "^5.43.0", - "detect-browser": "^3.0.0", + "detect-browser": "^5.1.0", "js-base64": "^2.5.1", "mobx": "^5.1.1", - "mobx-react": "^5.2.8", + "mobx-react": "^6.2.2", "mobx-utils": "^5.0.2", "notifyjs": "^3.0.0", "prop-types": "^15.6.2", "react": "^16.4.2", - "react-codemirror2": "^5.1.0", + "react-codemirror2": "^7.1.0", "react-dom": "^16.4.2", "react-infinite": "^0.13.0", "react-markdown": "^4.0.6", - "react-router": "^4.3.1", - "react-router-dom": "^4.3.1", + "react-router": "^5.1.2", + "react-router-dom": "^5.1.2", "react-timeago": "^4.1.9", "remove-markdown": "^0.3.0", - "typeface-roboto": "0.0.54" + "typeface-roboto": "0.0.75" }, "scripts": { "start": "react-scripts start", @@ -38,30 +38,30 @@ "testformat": "prettier \"src/**/*.{ts,tsx}\" --list-different" }, "devDependencies": { - "@types/codemirror": "0.0.71", - "@types/detect-browser": "^2.0.1", + "@types/codemirror": "0.0.91", + "@types/detect-browser": "^4.0.0", "@types/get-port": "^4.0.0", - "@types/jest": "^23.3.1", + "@types/jest": "^25.2.1", "@types/js-base64": "^2.3.1", - "@types/node": "^10.9.0", + "@types/node": "^13.13.5", "@types/notifyjs": "^3.0.0", - "@types/puppeteer": "^1.6.3", + "@types/puppeteer": "^2.0.1", "@types/react": "^16.4.11", "@types/react-dom": "^16.0.7", - "@types/react-infinite": "0.0.33", - "@types/react-router-dom": "^4.3.0", + "@types/react-infinite": "0.0.34", + "@types/react-router-dom": "^5.1.5", "@types/remove-markdown": "^0.1.1", - "@types/rimraf": "^2.0.2", - "get-port": "^4.0.0", - "prettier": "^1.14.2", - "puppeteer": "^1.8.0", - "react-scripts": "3.1.1", - "rimraf": "^2.6.2", + "@types/rimraf": "^3.0.0", + "get-port": "^5.1.1", + "prettier": "^2.0.5", + "puppeteer": "^3.0.4", + "react-scripts": "^3.4.1", + "rimraf": "^3.0.2", "tree-kill": "^1.2.0", - "tslint": "^5.20.0", + "tslint": "^6.1.2", "tslint-sonarts": "^1.7.0", - "typescript": "3.6.2", - "wait-on": "^3.0.1" + "typescript": "3.8.3", + "wait-on": "^5.0.0" }, "eslintConfig": { "extends": "react-app" diff --git a/pkgs/servers/gotify/source-sha.nix b/pkgs/servers/gotify/source-sha.nix index c11391fb85c..ddac1b24614 100644 --- a/pkgs/servers/gotify/source-sha.nix +++ b/pkgs/servers/gotify/source-sha.nix @@ -1 +1 @@ -"0igzgpzrxkz31njhybsap505mlr32k4qma32v5rafqdi2naz5iyl" \ No newline at end of file +"18y2kaf0v7275a0b8ab5y3qk7qwh19aqxyy0gmlflzgr2nimpmrn" \ No newline at end of file diff --git a/pkgs/servers/gotify/version.nix b/pkgs/servers/gotify/version.nix index fbd14b6742d..fdfe425152c 100644 --- a/pkgs/servers/gotify/version.nix +++ b/pkgs/servers/gotify/version.nix @@ -1 +1 @@ -"2.0.15" +"2.0.16" diff --git a/pkgs/servers/gotify/yarndeps.nix b/pkgs/servers/gotify/yarndeps.nix index ef9d7cedd8e..798c2787e34 100644 --- a/pkgs/servers/gotify/yarndeps.nix +++ b/pkgs/servers/gotify/yarndeps.nix @@ -2,755 +2,875 @@ offline_cache = linkFarm "offline" packages; packages = [ { - name = "_babel_code_frame___code_frame_7.5.5.tgz"; + name = "_babel_code_frame___code_frame_7.8.3.tgz"; path = fetchurl { - name = "_babel_code_frame___code_frame_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz"; - sha1 = "bc0782f6d69f7b7d49531219699b988f669a8f9d"; + name = "_babel_code_frame___code_frame_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz"; + sha1 = "33e25903d7481181534e12ec0a25f16b6fcf419e"; }; } { - name = "_babel_core___core_7.5.5.tgz"; + name = "_babel_compat_data___compat_data_7.9.6.tgz"; path = fetchurl { - name = "_babel_core___core_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz"; - sha1 = "17b2686ef0d6bc58f963dddd68ab669755582c30"; + name = "_babel_compat_data___compat_data_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.6.tgz"; + sha1 = "3f604c40e420131affe6f2c8052e9a275ae2049b"; }; } { - name = "_babel_generator___generator_7.5.5.tgz"; + name = "_babel_core___core_7.9.0.tgz"; path = fetchurl { - name = "_babel_generator___generator_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz"; - sha1 = "873a7f936a3c89491b43536d12245b626664e3cf"; + name = "_babel_core___core_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz"; + sha1 = "ac977b538b77e132ff706f3b8a4dbad09c03c56e"; }; } { - name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz"; + name = "_babel_core___core_7.9.6.tgz"; path = fetchurl { - name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz"; - sha1 = "323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"; + name = "_babel_core___core_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz"; + sha1 = "d9aa1f580abf3b2286ef40b6904d390904c63376"; }; } { - name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz"; + name = "_babel_generator___generator_7.9.6.tgz"; path = fetchurl { - name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.1.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz"; - sha1 = "6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"; + name = "_babel_generator___generator_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz"; + sha1 = "5408c82ac5de98cda0d77d8124e99fa1f2170a43"; }; } { - name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz"; + name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz"; - sha1 = "a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4"; + name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz"; + sha1 = "60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee"; }; } { - name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz"; + name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz"; - sha1 = "87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43"; + name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz"; + sha1 = "c84097a427a061ac56a1c30ebf54b7b22d241503"; }; } { - name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.5.5.tgz"; + name = "_babel_helper_builder_react_jsx_experimental___helper_builder_react_jsx_experimental_7.9.5.tgz"; path = fetchurl { - name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz"; - sha1 = "401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4"; + name = "_babel_helper_builder_react_jsx_experimental___helper_builder_react_jsx_experimental_7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.5.tgz"; + sha1 = "0b4b3e04e6123f03b404ca4dfd6528fe6bb92fe3"; }; } { - name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz"; + name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.9.0.tgz"; path = fetchurl { - name = "_babel_helper_define_map___helper_define_map_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz"; - sha1 = "3dec32c2046f37e09b28c93eb0b103fd2a25d369"; + name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz"; + sha1 = "16bf391990b57732700a3278d4d9a81231ea8d32"; }; } { - name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz"; + name = "_babel_helper_compilation_targets___helper_compilation_targets_7.9.6.tgz"; path = fetchurl { - name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.1.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz"; - sha1 = "537fa13f6f1674df745b0c00ec8fe4e99681c8f6"; + name = "_babel_helper_compilation_targets___helper_compilation_targets_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz"; + sha1 = "1e05b7ccc9d38d2f8b40b458b380a04dcfadd38a"; }; } { - name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz"; + name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.9.6.tgz"; path = fetchurl { - name = "_babel_helper_function_name___helper_function_name_7.1.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz"; - sha1 = "a0ceb01685f73355d4360c1247f582bfafc8ff53"; + name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.9.6.tgz"; + sha1 = "965c8b0a9f051801fd9d3b372ca0ccf200a90897"; }; } { - name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz"; + name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.8.8.tgz"; path = fetchurl { - name = "_babel_helper_get_function_arity___helper_get_function_arity_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz"; - sha1 = "83572d4320e2a4657263734113c42868b64e49c3"; + name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.8.8.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz"; + sha1 = "5d84180b588f560b7864efaeea89243e58312087"; }; } { - name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz"; + name = "_babel_helper_define_map___helper_define_map_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_hoist_variables___helper_hoist_variables_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz"; - sha1 = "0298b5f25c8c09c53102d52ac4a98f773eb2850a"; + name = "_babel_helper_define_map___helper_define_map_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz"; + sha1 = "a0655cad5451c3760b726eba875f1cd8faa02c15"; }; } { - name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz"; + name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz"; - sha1 = "1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590"; + name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz"; + sha1 = "a728dc5b4e89e30fc2dfc7d04fa28a930653f982"; }; } { - name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz"; + name = "_babel_helper_function_name___helper_function_name_7.9.5.tgz"; path = fetchurl { - name = "_babel_helper_module_imports___helper_module_imports_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz"; - sha1 = "96081b7111e486da4d2cd971ad1a4fe216cc2e3d"; + name = "_babel_helper_function_name___helper_function_name_7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz"; + sha1 = "2b53820d35275120e1874a82e5aabe1376920a5c"; }; } { - name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz"; + name = "_babel_helper_get_function_arity___helper_get_function_arity_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_module_transforms___helper_module_transforms_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz"; - sha1 = "f84ff8a09038dcbca1fd4355661a500937165b4a"; + name = "_babel_helper_get_function_arity___helper_get_function_arity_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz"; + sha1 = "b894b947bd004381ce63ea1db9f08547e920abd5"; }; } { - name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz"; + name = "_babel_helper_hoist_variables___helper_hoist_variables_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz"; - sha1 = "a2920c5702b073c15de51106200aa8cad20497d5"; + name = "_babel_helper_hoist_variables___helper_hoist_variables_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz"; + sha1 = "1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134"; }; } { - name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz"; + name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_plugin_utils___helper_plugin_utils_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz"; - sha1 = "bbb3fbee98661c569034237cc03967ba99b4f250"; + name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz"; + sha1 = "659b710498ea6c1d9907e0c73f206eee7dadc24c"; }; } { - name = "_babel_helper_regex___helper_regex_7.5.5.tgz"; + name = "_babel_helper_module_imports___helper_module_imports_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_regex___helper_regex_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz"; - sha1 = "0aa6824f7100a2e0e89c1527c23936c152cab351"; + name = "_babel_helper_module_imports___helper_module_imports_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz"; + sha1 = "7fe39589b39c016331b6b8c3f441e8f0b1419498"; }; } { - name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz"; + name = "_babel_helper_module_transforms___helper_module_transforms_7.9.0.tgz"; path = fetchurl { - name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.1.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz"; - sha1 = "361d80821b6f38da75bd3f0785ece20a88c5fe7f"; + name = "_babel_helper_module_transforms___helper_module_transforms_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz"; + sha1 = "43b34dfe15961918707d247327431388e9fe96e5"; }; } { - name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz"; + name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_replace_supers___helper_replace_supers_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz"; - sha1 = "f84ce43df031222d2bad068d2626cb5799c34bc2"; + name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz"; + sha1 = "7ed071813d09c75298ef4f208956006b6111ecb9"; }; } { - name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz"; + name = "_babel_helper_plugin_utils___helper_plugin_utils_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_simple_access___helper_simple_access_7.1.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz"; - sha1 = "65eeb954c8c245beaa4e859da6188f39d71e585c"; + name = "_babel_helper_plugin_utils___helper_plugin_utils_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz"; + sha1 = "9ea293be19babc0f52ff8ca88b34c3611b208670"; }; } { - name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz"; + name = "_babel_helper_regex___helper_regex_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz"; - sha1 = "ff94894a340be78f53f06af038b205c49d993677"; + name = "_babel_helper_regex___helper_regex_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz"; + sha1 = "139772607d51b93f23effe72105b319d2a4c6965"; }; } { - name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz"; + name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.8.3.tgz"; path = fetchurl { - name = "_babel_helper_wrap_function___helper_wrap_function_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz"; - sha1 = "c4e0012445769e2815b55296ead43a958549f6fa"; + name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz"; + sha1 = "273c600d8b9bf5006142c1e35887d555c12edd86"; }; } { - name = "_babel_helpers___helpers_7.5.5.tgz"; + name = "_babel_helper_replace_supers___helper_replace_supers_7.9.6.tgz"; path = fetchurl { - name = "_babel_helpers___helpers_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz"; - sha1 = "63908d2a73942229d1e6685bc2a0e730dde3b75e"; + name = "_babel_helper_replace_supers___helper_replace_supers_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz"; + sha1 = "03149d7e6a5586ab6764996cd31d6981a17e1444"; }; } { - name = "_babel_highlight___highlight_7.5.0.tgz"; + name = "_babel_helper_simple_access___helper_simple_access_7.8.3.tgz"; path = fetchurl { - name = "_babel_highlight___highlight_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz"; - sha1 = "56d11312bd9248fa619591d02472be6e8cb32540"; + name = "_babel_helper_simple_access___helper_simple_access_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz"; + sha1 = "7f8109928b4dab4654076986af575231deb639ae"; }; } { - name = "_babel_parser___parser_7.5.5.tgz"; + name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.8.3.tgz"; path = fetchurl { - name = "_babel_parser___parser_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz"; - sha1 = "02f077ac8817d3df4a832ef59de67565e71cca4b"; + name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz"; + sha1 = "31a9f30070f91368a7182cf05f831781065fc7a9"; }; } { - name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz"; + name = "_babel_helper_validator_identifier___helper_validator_identifier_7.9.5.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz"; - sha1 = "b289b306669dce4ad20b0252889a15768c9d417e"; + name = "_babel_helper_validator_identifier___helper_validator_identifier_7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz"; + sha1 = "90977a8e6fbf6b431a7dc31752eee233bf052d80"; }; } { - name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz"; + name = "_babel_helper_wrap_function___helper_wrap_function_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz"; - sha1 = "a974cfae1e37c3110e71f3c6a2e48b8e71958cd4"; + name = "_babel_helper_wrap_function___helper_wrap_function_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz"; + sha1 = "9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610"; }; } { - name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz"; + name = "_babel_helpers___helpers_7.9.6.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz"; - sha1 = "de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0"; + name = "_babel_helpers___helpers_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz"; + sha1 = "092c774743471d0bb6c7de3ad465ab3d3486d580"; }; } { - name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz"; + name = "_babel_highlight___highlight_7.9.0.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz"; - sha1 = "e532202db4838723691b10a67b8ce509e397c506"; + name = "_babel_highlight___highlight_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz"; + sha1 = "4e9b45ccb82b79607271b2979ad82c7b68163079"; }; } { - name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz"; + name = "_babel_parser___parser_7.9.6.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz"; - sha1 = "568ecc446c6148ae6b267f02551130891e29f317"; + name = "_babel_parser___parser_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz"; + sha1 = "3b1bbb30dabe600cd72db58720998376ff653bc7"; }; } { - name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz"; + name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz"; - sha1 = "61939744f71ba76a3ae46b5eea18a54c16d22e58"; + name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz"; + sha1 = "bad329c670b382589721b27540c7d288601c6e6f"; }; } { - name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz"; + name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz"; - sha1 = "135d81edb68a081e55e56ec48541ece8065c38f5"; + name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz"; + sha1 = "5e06654af5cd04b608915aada9b2a6788004464e"; }; } { - name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.4.4.tgz"; + name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz"; - sha1 = "501ffd9826c0b91da22690720722ac7cb1ca9c78"; + name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz"; + sha1 = "2156860ab65c5abf068c3f67042184041066543e"; }; } { - name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz"; + name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz"; - sha1 = "69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f"; + name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz"; + sha1 = "38c4fe555744826e97e2ae930b0fb4cc07e66054"; }; } { - name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz"; + name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz"; - sha1 = "c50b1b957dcc69e4b1127b65e1c33eef61570c1b"; + name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz"; + sha1 = "da5216b238a98b58a1e05d6852104b10f9a70d6b"; }; } { - name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz"; + name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz"; - sha1 = "69c159ffaf4998122161ad8ebc5e6d1f55df8612"; + name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz"; + sha1 = "e4572253fdeed65cddeecfdab3f928afeb2fd5d2"; }; } { - name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz"; + name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz"; - sha1 = "a765f061f803bc48f240c26f8747faf97c26bf7c"; + name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz"; + sha1 = "5d6769409699ec9b3b68684cd8116cedff93bad8"; }; } { - name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz"; + name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.9.6.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz"; - sha1 = "72bd13f6ffe1d25938129d2a186b11fd62951470"; + name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz"; + sha1 = "7a093586fcb18b08266eb1a7177da671ac575b63"; }; } { - name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz"; + name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz"; - sha1 = "0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7"; + name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz"; + sha1 = "9dee96ab1650eed88646ae9734ca167ac4a9c5c9"; }; } { - name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz"; + name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.9.0.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz"; - sha1 = "3b7a3e733510c57e820b9142a6579ac8b0dfad2e"; + name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz"; + sha1 = "31db16b154c39d6b8a645292472b98394c292a58"; }; } { - name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz"; + name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.8.8.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz"; - sha1 = "a94013d6eda8908dfe6a477e7f9eda85656ecf5c"; + name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.8.8.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz"; + sha1 = "ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d"; }; } { - name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz"; + name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz"; path = fetchurl { - name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz"; - sha1 = "a7cc3f66119a9f7ebe2de5383cce193473d65991"; + name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz"; + sha1 = "a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"; }; } { - name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz"; + name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz"; - sha1 = "9aeafbe4d6ffc6563bf8f8372091628f00779550"; + name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz"; + sha1 = "8d2c15a9f1af624b0025f961682a9d53d3001bda"; }; } { - name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz"; + name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz"; - sha1 = "89a3848a0166623b5bc481164b5936ab947e887e"; + name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz"; + sha1 = "62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"; }; } { - name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz"; + name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz"; - sha1 = "5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190"; + name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz"; + sha1 = "f2c883bd61a6316f2c89380ae5122f923ba4527f"; }; } { - name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.5.5.tgz"; + name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz"; - sha1 = "a35f395e5402822f10d2119f6f8e045e3639a2ce"; + name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"; + sha1 = "01ca21b668cd8218c9e640cb6dd88c5412b2c96a"; }; } { - name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz"; + name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_classes___plugin_transform_classes_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz"; - sha1 = "d094299d9bd680a14a2a0edae38305ad60fb4de9"; + name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz"; + sha1 = "521b06c83c40480f1e58b4fd33b92eceb1d6ea94"; }; } { - name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz"; + name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz"; - sha1 = "83a7df6a658865b1c8f641d510c6f3af220216da"; + name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz"; + sha1 = "167ed70368886081f74b5c36c65a88c03b66d1a9"; }; } { - name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.5.0.tgz"; + name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz"; - sha1 = "f6c09fdfe3f94516ff074fe877db7bc9ef05855a"; + name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz"; + sha1 = "0e3fb63e09bea1b11e96467271c8308007e7c41f"; }; } { - name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.4.4.tgz"; + name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz"; - sha1 = "361a148bc951444312c69446d76ed1ea8e4450c3"; + name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz"; + sha1 = "60e225edcbd98a640332a2e72dd3e66f1af55871"; }; } { - name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz"; + name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz"; - sha1 = "c5dbf5106bf84cdf691222c0974c12b1df931853"; + name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz"; + sha1 = "6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"; }; } { - name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz"; + name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz"; - sha1 = "a63868289e5b4007f7054d46491af51435766008"; + name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz"; + sha1 = "4f69c2ab95167e0180cd5336613f8c5788f7d48a"; }; } { - name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz"; + name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz"; - sha1 = "d267a081f49a8705fc9146de0768c6b58dccd8f7"; + name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz"; + sha1 = "3acdece695e6b13aaf57fc291d1a800950c71391"; }; } { - name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz"; + name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz"; - sha1 = "0267fc735e24c808ba173866c6c4d1440fc3c556"; + name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz"; + sha1 = "c1f659dda97711a569cef75275f7e15dcaa6cabc"; }; } { - name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz"; + name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz"; - sha1 = "e1436116abb0610c2259094848754ac5230922ad"; + name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz"; + sha1 = "82776c2ed0cd9e1a49956daeb896024c9473b8b6"; }; } { - name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz"; + name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_literals___plugin_transform_literals_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz"; - sha1 = "690353e81f9267dad4fd8cfd77eafa86aba53ea1"; + name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz"; + sha1 = "4308fad0d9409d71eafb9b1a6ee35f9d64b64086"; }; } { - name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz"; + name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz"; - sha1 = "fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d"; + name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz"; + sha1 = "437eec5b799b5852072084b3ae5ef66e8349e8a3"; }; } { - name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz"; + name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz"; - sha1 = "ef00435d46da0a5961aa728a1d2ecff063e4fb91"; + name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz"; + sha1 = "97d35dab66857a437c166358b91d09050c868f3a"; }; } { - name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.5.0.tgz"; + name = "_babel_plugin_transform_classes___plugin_transform_classes_7.9.5.tgz"; path = fetchurl { - name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz"; - sha1 = "425127e6045231360858eeaa47a71d75eded7a74"; + name = "_babel_plugin_transform_classes___plugin_transform_classes_7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz"; + sha1 = "800597ddb8aefc2c293ed27459c1fcc935a26c2c"; }; } { - name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz"; + name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz"; - sha1 = "e75266a13ef94202db2a0620977756f51d52d249"; + name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz"; + sha1 = "96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b"; }; } { - name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz"; + name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.9.5.tgz"; path = fetchurl { - name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz"; - sha1 = "7678ce75169f0877b8eb2235538c074268dd01ae"; + name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz"; + sha1 = "72c97cf5f38604aea3abf3b935b0e17b1db76a50"; }; } { - name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.4.5.tgz"; + name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.4.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz"; - sha1 = "9d269fd28a370258199b4294736813a60bbdd106"; + name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz"; + sha1 = "c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e"; }; } { - name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz"; + name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz"; - sha1 = "18d120438b0cc9ee95a47f2c72bc9768fbed60a5"; + name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz"; + sha1 = "8d12df309aa537f272899c565ea1768e286e21f1"; }; } { - name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz"; + name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz"; - sha1 = "c70021df834073c65eb613b8679cc4a381d1a9f9"; + name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz"; + sha1 = "581a6d7f56970e06bf51560cd64f5e947b70d7b7"; }; } { - name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz"; + name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.9.0.tgz"; path = fetchurl { - name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz"; - sha1 = "7556cf03f318bd2719fe4c922d2d808be5571e16"; + name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz"; + sha1 = "8a3538aa40434e000b8f44a3c5c9ac7229bd2392"; }; } { - name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz"; + name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.9.0.tgz"; path = fetchurl { - name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz"; - sha1 = "03e33f653f5b25c4eb572c98b9485055b389e905"; + name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz"; + sha1 = "0f260e27d3e29cd1bb3128da5e76c761aa6c108e"; }; } { - name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.5.0.tgz"; + name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz"; - sha1 = "4d6ae4033bc38f8a65dfca2b6235c44522a422fc"; + name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz"; + sha1 = "279373cb27322aaad67c2683e776dfc47196ed8b"; }; } { - name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz"; + name = "_babel_plugin_transform_literals___plugin_transform_literals_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz"; - sha1 = "ebfaed87834ce8dc4279609a4f0c324c156e3eb0"; + name = "_babel_plugin_transform_literals___plugin_transform_literals_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz"; + sha1 = "aef239823d91994ec7b68e55193525d76dbd5dc1"; }; } { - name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz"; + name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz"; - sha1 = "461e21ad9478f1031dd5e276108d027f1b5240ba"; + name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz"; + sha1 = "963fed4b620ac7cbf6029c755424029fa3a40410"; }; } { - name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz"; + name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.9.6.tgz"; path = fetchurl { - name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz"; - sha1 = "583b10c49cf057e237085bcbd8cc960bd83bd96b"; + name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz"; + sha1 = "8539ec42c153d12ea3836e0e3ac30d5aae7b258e"; }; } { - name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz"; + name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.9.6.tgz"; path = fetchurl { - name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz"; - sha1 = "f2cab99026631c767e2745a5368b331cfe8f5290"; + name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz"; + sha1 = "64b7474a4279ee588cacd1906695ca721687c277"; }; } { - name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz"; + name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.9.6.tgz"; path = fetchurl { - name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz"; - sha1 = "629dc82512c55cee01341fb27bdfcb210354680f"; + name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz"; + sha1 = "207f1461c78a231d5337a92140e52422510d81a4"; }; } { - name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz"; + name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.9.0.tgz"; path = fetchurl { - name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz"; - sha1 = "4792af87c998a49367597d07fedf02636d2e1634"; + name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz"; + sha1 = "e909acae276fec280f9b821a5f38e1f08b480697"; }; } { - name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.5.5.tgz"; + name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz"; - sha1 = "a6331afbfc59189d2135b2e09474457a8e3d28bc"; + name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz"; + sha1 = "a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c"; }; } { - name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz"; + name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz"; - sha1 = "6333aee2f8d6ee7e28615457298934a3b46198f0"; + name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz"; + sha1 = "60cc2ae66d85c95ab540eb34babb6434d4c70c43"; }; } { - name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz"; + name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_spread___plugin_transform_spread_7.2.2.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz"; - sha1 = "3103a9abe22f742b6d406ecd3cd49b774919b406"; + name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz"; + sha1 = "ebb6a1e7a86ffa96858bd6ac0102d65944261725"; }; } { - name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz"; + name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.9.5.tgz"; path = fetchurl { - name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz"; - sha1 = "a1e454b5995560a9c1e0d537dfc15061fd2687e1"; + name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.9.5.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz"; + sha1 = "173b265746f5e15b2afe527eeda65b73623a0795"; }; } { - name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz"; + name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz"; - sha1 = "9d28fea7bbce637fb7612a0750989d8321d4bcb0"; + name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz"; + sha1 = "33194300d8539c1ed28c62ad5087ba3807b98263"; }; } { - name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz"; + name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.9.0.tgz"; path = fetchurl { - name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz"; - sha1 = "117d2bcec2fbf64b4b59d1f9819894682d29f2b2"; + name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.9.0.tgz"; + sha1 = "a75abc936a3819edec42d3386d9f1c93f28d9d9e"; }; } { - name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.5.5.tgz"; + name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.8.3.tgz"; path = fetchurl { - name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz"; - sha1 = "6d862766f09b2da1cb1f7d505fe2aedab6b7d4b8"; + name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz"; + sha1 = "70ded987c91609f78353dd76d2fb2a0bb991e8e5"; }; } { - name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.4.4.tgz"; + name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.9.0.tgz"; path = fetchurl { - name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz"; - sha1 = "ab4634bb4f14d36728bf5978322b35587787970f"; + name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz"; + sha1 = "3c2a130727caf00c2a293f0aed24520825dbf754"; }; } { - name = "_babel_preset_env___preset_env_7.5.5.tgz"; + name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.9.0.tgz"; path = fetchurl { - name = "_babel_preset_env___preset_env_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz"; - sha1 = "bc470b53acaa48df4b8db24a570d6da1fef53c9a"; + name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz"; + sha1 = "f4f26a325820205239bb915bad8e06fcadabb49b"; }; } { - name = "_babel_preset_react___preset_react_7.0.0.tgz"; + name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.9.0.tgz"; path = fetchurl { - name = "_babel_preset_react___preset_react_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz"; - sha1 = "e86b4b3d99433c7b3e9e91747e2653958bc6b3c0"; + name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz"; + sha1 = "89ef93025240dd5d17d3122294a093e5e0183de0"; }; } { - name = "_babel_preset_typescript___preset_typescript_7.3.3.tgz"; + name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.9.4.tgz"; path = fetchurl { - name = "_babel_preset_typescript___preset_typescript_7.3.3.tgz"; - url = "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz"; - sha1 = "88669911053fa16b2b276ea2ede2ca603b3f307a"; + name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.9.4.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz"; + sha1 = "86f576c8540bd06d0e95e0b61ea76d55f6cbd03f"; }; } { - name = "_babel_runtime___runtime_7.5.5.tgz"; + name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.8.7.tgz"; path = fetchurl { - name = "_babel_runtime___runtime_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz"; - sha1 = "74fba56d35efbeca444091c7850ccd494fd2f132"; + name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.8.7.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz"; + sha1 = "5e46a0dca2bee1ad8285eb0527e6abc9c37672f8"; }; } { - name = "_babel_runtime___runtime_7.6.2.tgz"; + name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.8.3.tgz"; path = fetchurl { - name = "_babel_runtime___runtime_7.6.2.tgz"; - url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz"; - sha1 = "c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd"; + name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz"; + sha1 = "9a0635ac4e665d29b162837dd3cc50745dfdf1f5"; }; } { - name = "_babel_runtime___runtime_7.6.3.tgz"; + name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.9.0.tgz"; path = fetchurl { - name = "_babel_runtime___runtime_7.6.3.tgz"; - url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz"; - sha1 = "935122c74c73d2240cafd32ddb5fc2a6cd35cf1f"; + name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz"; + sha1 = "45468c0ae74cc13204e1d3b1f4ce6ee83258af0b"; }; } { - name = "_babel_runtime___runtime_7.8.7.tgz"; + name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.8.3.tgz"; path = fetchurl { - name = "_babel_runtime___runtime_7.8.7.tgz"; - url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.7.tgz"; - sha1 = "8fefce9802db54881ba59f90bb28719b4996324d"; + name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz"; + sha1 = "28545216e023a832d4d3a1185ed492bcfeac08c8"; }; } { - name = "_babel_template___template_7.4.4.tgz"; + name = "_babel_plugin_transform_spread___plugin_transform_spread_7.8.3.tgz"; path = fetchurl { - name = "_babel_template___template_7.4.4.tgz"; - url = "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz"; - sha1 = "f4b88d1225689a08f5bc3a17483545be9e4ed237"; + name = "_babel_plugin_transform_spread___plugin_transform_spread_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz"; + sha1 = "9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8"; }; } { - name = "_babel_traverse___traverse_7.5.5.tgz"; + name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.8.3.tgz"; path = fetchurl { - name = "_babel_traverse___traverse_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz"; - sha1 = "f664f8f368ed32988cd648da9f72d5ca70f165bb"; + name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz"; + sha1 = "be7a1290f81dae767475452199e1f76d6175b100"; }; } { - name = "_babel_types___types_7.5.5.tgz"; + name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.8.3.tgz"; path = fetchurl { - name = "_babel_types___types_7.5.5.tgz"; - url = "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz"; - sha1 = "97b9f728e182785909aa4ab56264f090a028d18a"; + name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz"; + sha1 = "7bfa4732b455ea6a43130adc0ba767ec0e402a80"; }; } { - name = "_cnakazawa_watch___watch_1.0.3.tgz"; + name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.8.4.tgz"; path = fetchurl { - name = "_cnakazawa_watch___watch_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz"; - sha1 = "099139eaec7ebf07a27c1786a3ff64f39464d2ef"; + name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.8.4.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz"; + sha1 = "ede4062315ce0aaf8a657a920858f1a2f35fc412"; + }; + } + { + name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.9.6.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.6.tgz"; + sha1 = "2248971416a506fc78278fc0c0ea3179224af1e9"; + }; + } + { + name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.8.3.tgz"; + path = fetchurl { + name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.8.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz"; + sha1 = "0cef36e3ba73e5c57273effb182f46b91a1ecaad"; + }; + } + { + name = "_babel_preset_env___preset_env_7.9.0.tgz"; + path = fetchurl { + name = "_babel_preset_env___preset_env_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz"; + sha1 = "a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8"; + }; + } + { + name = "_babel_preset_env___preset_env_7.9.6.tgz"; + path = fetchurl { + name = "_babel_preset_env___preset_env_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.6.tgz"; + sha1 = "df063b276c6455ec6fcfc6e53aacc38da9b0aea6"; + }; + } + { + name = "_babel_preset_modules___preset_modules_0.1.3.tgz"; + path = fetchurl { + name = "_babel_preset_modules___preset_modules_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz"; + sha1 = "13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"; + }; + } + { + name = "_babel_preset_react___preset_react_7.9.1.tgz"; + path = fetchurl { + name = "_babel_preset_react___preset_react_7.9.1.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.1.tgz"; + sha1 = "b346403c36d58c3bb544148272a0cefd9c28677a"; + }; + } + { + name = "_babel_preset_react___preset_react_7.9.4.tgz"; + path = fetchurl { + name = "_babel_preset_react___preset_react_7.9.4.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.4.tgz"; + sha1 = "c6c97693ac65b6b9c0b4f25b948a8f665463014d"; + }; + } + { + name = "_babel_preset_typescript___preset_typescript_7.9.0.tgz"; + path = fetchurl { + name = "_babel_preset_typescript___preset_typescript_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz"; + sha1 = "87705a72b1f0d59df21c179f7c3d2ef4b16ce192"; + }; + } + { + name = "_babel_runtime_corejs3___runtime_corejs3_7.9.6.tgz"; + path = fetchurl { + name = "_babel_runtime_corejs3___runtime_corejs3_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.9.6.tgz"; + sha1 = "67aded13fffbbc2cb93247388cf84d77a4be9a71"; + }; + } + { + name = "_babel_runtime___runtime_7.9.0.tgz"; + path = fetchurl { + name = "_babel_runtime___runtime_7.9.0.tgz"; + url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.0.tgz"; + sha1 = "337eda67401f5b066a6f205a3113d4ac18ba495b"; + }; + } + { + name = "_babel_runtime___runtime_7.9.6.tgz"; + path = fetchurl { + name = "_babel_runtime___runtime_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.6.tgz"; + sha1 = "a9102eb5cadedf3f31d08a9ecf294af7827ea29f"; + }; + } + { + name = "_babel_template___template_7.8.6.tgz"; + path = fetchurl { + name = "_babel_template___template_7.8.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz"; + sha1 = "86b22af15f828dfb086474f964dcc3e39c43ce2b"; + }; + } + { + name = "_babel_traverse___traverse_7.9.6.tgz"; + path = fetchurl { + name = "_babel_traverse___traverse_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz"; + sha1 = "5540d7577697bf619cc57b92aa0f1c231a94f442"; + }; + } + { + name = "_babel_types___types_7.9.6.tgz"; + path = fetchurl { + name = "_babel_types___types_7.9.6.tgz"; + url = "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz"; + sha1 = "2c5502b427251e9de1bd2dff95add646d95cc9f7"; + }; + } + { + name = "_cnakazawa_watch___watch_1.0.4.tgz"; + path = fetchurl { + name = "_cnakazawa_watch___watch_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz"; + sha1 = "f864ae85004d0fcab6f50be9141c4da368d1656a"; }; } { @@ -762,27 +882,35 @@ }; } { - name = "_csstools_normalize.css___normalize.css_9.0.1.tgz"; + name = "_csstools_normalize.css___normalize.css_10.1.0.tgz"; path = fetchurl { - name = "_csstools_normalize.css___normalize.css_9.0.1.tgz"; - url = "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz"; - sha1 = "c27b391d8457d1e893f1eddeaf5e5412d12ffbb5"; + name = "_csstools_normalize.css___normalize.css_10.1.0.tgz"; + url = "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz"; + sha1 = "f0950bba18819512d42f7197e56c518aa491cf18"; }; } { - name = "_emotion_hash___hash_0.7.4.tgz"; + name = "_emotion_hash___hash_0.8.0.tgz"; path = fetchurl { - name = "_emotion_hash___hash_0.7.4.tgz"; - url = "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.4.tgz"; - sha1 = "f14932887422c9056b15a8d222a9074a7dfa2831"; + name = "_emotion_hash___hash_0.8.0.tgz"; + url = "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz"; + sha1 = "bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"; }; } { - name = "_hapi_address___address_2.1.0.tgz"; + name = "_hapi_address___address_2.1.4.tgz"; path = fetchurl { - name = "_hapi_address___address_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.0.tgz"; - sha1 = "d86223d40c73942cc6151838d9f264997e6673f9"; + name = "_hapi_address___address_2.1.4.tgz"; + url = "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz"; + sha1 = "5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"; + }; + } + { + name = "_hapi_address___address_4.0.1.tgz"; + path = fetchurl { + name = "_hapi_address___address_4.0.1.tgz"; + url = "https://registry.yarnpkg.com/@hapi/address/-/address-4.0.1.tgz"; + sha1 = "267301ddf7bc453718377a6fb3832a2f04a721dd"; }; } { @@ -794,11 +922,27 @@ }; } { - name = "_hapi_hoek___hoek_8.2.2.tgz"; + name = "_hapi_formula___formula_2.0.0.tgz"; path = fetchurl { - name = "_hapi_hoek___hoek_8.2.2.tgz"; - url = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.2.tgz"; - sha1 = "6eaa2e1ec3b50dfb8dccbe705dc289094652bc2d"; + name = "_hapi_formula___formula_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/@hapi/formula/-/formula-2.0.0.tgz"; + sha1 = "edade0619ed58c8e4f164f233cda70211e787128"; + }; + } + { + name = "_hapi_hoek___hoek_8.5.1.tgz"; + path = fetchurl { + name = "_hapi_hoek___hoek_8.5.1.tgz"; + url = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz"; + sha1 = "fde96064ca446dec8c55a8c2f130957b070c6e06"; + }; + } + { + name = "_hapi_hoek___hoek_9.0.4.tgz"; + path = fetchurl { + name = "_hapi_hoek___hoek_9.0.4.tgz"; + url = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.0.4.tgz"; + sha1 = "e80ad4e8e8d2adc6c77d985f698447e8628b6010"; }; } { @@ -810,11 +954,35 @@ }; } { - name = "_hapi_topo___topo_3.1.3.tgz"; + name = "_hapi_joi___joi_17.1.1.tgz"; path = fetchurl { - name = "_hapi_topo___topo_3.1.3.tgz"; - url = "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz"; - sha1 = "c7a02e0d936596d29f184e6d7fdc07e8b5efce11"; + name = "_hapi_joi___joi_17.1.1.tgz"; + url = "https://registry.yarnpkg.com/@hapi/joi/-/joi-17.1.1.tgz"; + sha1 = "9cc8d7e2c2213d1e46708c6260184b447c661350"; + }; + } + { + name = "_hapi_pinpoint___pinpoint_2.0.0.tgz"; + path = fetchurl { + name = "_hapi_pinpoint___pinpoint_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/@hapi/pinpoint/-/pinpoint-2.0.0.tgz"; + sha1 = "805b40d4dbec04fc116a73089494e00f073de8df"; + }; + } + { + name = "_hapi_topo___topo_3.1.6.tgz"; + path = fetchurl { + name = "_hapi_topo___topo_3.1.6.tgz"; + url = "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz"; + sha1 = "68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"; + }; + } + { + name = "_hapi_topo___topo_5.0.0.tgz"; + path = fetchurl { + name = "_hapi_topo___topo_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.0.0.tgz"; + sha1 = "c19af8577fa393a06e9c77b60995af959be721e7"; }; } { @@ -898,11 +1066,19 @@ }; } { - name = "_material_ui_core___core_4.9.5.tgz"; + name = "_jest_types___types_25.5.0.tgz"; path = fetchurl { - name = "_material_ui_core___core_4.9.5.tgz"; - url = "https://registry.yarnpkg.com/@material-ui/core/-/core-4.9.5.tgz"; - sha1 = "384869f2840b243241f7881a902f5ffc48360830"; + name = "_jest_types___types_25.5.0.tgz"; + url = "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz"; + sha1 = "4d6a4793f7b9599fc3680877b856a97dbccf2a9d"; + }; + } + { + name = "_material_ui_core___core_4.9.13.tgz"; + path = fetchurl { + name = "_material_ui_core___core_4.9.13.tgz"; + url = "https://registry.yarnpkg.com/@material-ui/core/-/core-4.9.13.tgz"; + sha1 = "024962bcdda05139e1bad17a1815bf4088702b15"; }; } { @@ -914,35 +1090,43 @@ }; } { - name = "_material_ui_styles___styles_4.9.0.tgz"; + name = "_material_ui_react_transition_group___react_transition_group_4.3.0.tgz"; path = fetchurl { - name = "_material_ui_styles___styles_4.9.0.tgz"; - url = "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.9.0.tgz"; - sha1 = "10c31859f6868cfa9d3adf6b6c3e32c9d676bc76"; + name = "_material_ui_react_transition_group___react_transition_group_4.3.0.tgz"; + url = "https://registry.yarnpkg.com/@material-ui/react-transition-group/-/react-transition-group-4.3.0.tgz"; + sha1 = "92529142addb5cc179dbf42d246c7e3fe4d6104b"; }; } { - name = "_material_ui_system___system_4.9.3.tgz"; + name = "_material_ui_styles___styles_4.9.13.tgz"; path = fetchurl { - name = "_material_ui_system___system_4.9.3.tgz"; - url = "https://registry.yarnpkg.com/@material-ui/system/-/system-4.9.3.tgz"; - sha1 = "ee48990d7941237fdaf21b7b399981d614bb0875"; + name = "_material_ui_styles___styles_4.9.13.tgz"; + url = "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.9.13.tgz"; + sha1 = "08b3976bdd21c38bc076693d95834f97539f3b15"; }; } { - name = "_material_ui_types___types_5.0.0.tgz"; + name = "_material_ui_system___system_4.9.13.tgz"; path = fetchurl { - name = "_material_ui_types___types_5.0.0.tgz"; - url = "https://registry.yarnpkg.com/@material-ui/types/-/types-5.0.0.tgz"; - sha1 = "26d6259dc6b39f4c2e1e9aceff7a11e031941741"; + name = "_material_ui_system___system_4.9.13.tgz"; + url = "https://registry.yarnpkg.com/@material-ui/system/-/system-4.9.13.tgz"; + sha1 = "adefb3b6a5ddf0b00fe4e82ac63bb48276e9749d"; }; } { - name = "_material_ui_utils___utils_4.7.1.tgz"; + name = "_material_ui_types___types_5.0.1.tgz"; path = fetchurl { - name = "_material_ui_utils___utils_4.7.1.tgz"; - url = "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.7.1.tgz"; - sha1 = "dc16c7f0d2cd02fbcdd5cfe601fd6863ae3cc652"; + name = "_material_ui_types___types_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/@material-ui/types/-/types-5.0.1.tgz"; + sha1 = "c4954063cdc196eb327ee62c041368b1aebb6d61"; + }; + } + { + name = "_material_ui_utils___utils_4.9.12.tgz"; + path = fetchurl { + name = "_material_ui_utils___utils_4.9.12.tgz"; + url = "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.9.12.tgz"; + sha1 = "0d639f1c1ed83fffb2ae10c21d15a938795d9e65"; }; } { @@ -994,11 +1178,11 @@ }; } { - name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.1.tgz"; + name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz"; path = fetchurl { - name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.1.tgz"; - url = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz"; - sha1 = "646c2f5b5770c2fe318d6e51492344c3d62ddb63"; + name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz"; + url = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz"; + sha1 = "2cdedd747e5b1b29ed4c241e46256aac8110dd93"; }; } { @@ -1026,19 +1210,19 @@ }; } { - name = "_svgr_babel_preset___babel_preset_4.3.1.tgz"; + name = "_svgr_babel_preset___babel_preset_4.3.3.tgz"; path = fetchurl { - name = "_svgr_babel_preset___babel_preset_4.3.1.tgz"; - url = "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.1.tgz"; - sha1 = "62ffcb85d756580e8ce608e9d2ac3b9063be9e28"; + name = "_svgr_babel_preset___babel_preset_4.3.3.tgz"; + url = "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz"; + sha1 = "a75d8c2f202ac0e5774e6bfc165d028b39a1316c"; }; } { - name = "_svgr_core___core_4.3.2.tgz"; + name = "_svgr_core___core_4.3.3.tgz"; path = fetchurl { - name = "_svgr_core___core_4.3.2.tgz"; - url = "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz"; - sha1 = "939c89be670ad79b762f4c063f213f0e02535f2e"; + name = "_svgr_core___core_4.3.3.tgz"; + url = "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz"; + sha1 = "b37b89d5b757dc66e8c74156d00c368338d24293"; }; } { @@ -1050,11 +1234,11 @@ }; } { - name = "_svgr_plugin_jsx___plugin_jsx_4.3.2.tgz"; + name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz"; path = fetchurl { - name = "_svgr_plugin_jsx___plugin_jsx_4.3.2.tgz"; - url = "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz"; - sha1 = "ce9ddafc8cdd74da884c9f7af014afcf37f93d3c"; + name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz"; + url = "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz"; + sha1 = "e2ba913dbdfbe85252a34db101abc7ebd50992fa"; }; } { @@ -1066,27 +1250,27 @@ }; } { - name = "_svgr_webpack___webpack_4.3.2.tgz"; + name = "_svgr_webpack___webpack_4.3.3.tgz"; path = fetchurl { - name = "_svgr_webpack___webpack_4.3.2.tgz"; - url = "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz"; - sha1 = "319d4471c8f3d5c3af35059274834d9b5b8fb956"; + name = "_svgr_webpack___webpack_4.3.3.tgz"; + url = "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.3.tgz"; + sha1 = "13cc2423bf3dff2d494f16b17eb7eacb86895017"; }; } { - name = "_types_babel__core___babel__core_7.1.2.tgz"; + name = "_types_babel__core___babel__core_7.1.7.tgz"; path = fetchurl { - name = "_types_babel__core___babel__core_7.1.2.tgz"; - url = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz"; - sha1 = "608c74f55928033fce18b99b213c16be4b3d114f"; + name = "_types_babel__core___babel__core_7.1.7.tgz"; + url = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz"; + sha1 = "1dacad8840364a57c98d0dd4855c6dd3752c6b89"; }; } { - name = "_types_babel__generator___babel__generator_7.0.2.tgz"; + name = "_types_babel__generator___babel__generator_7.6.1.tgz"; path = fetchurl { - name = "_types_babel__generator___babel__generator_7.0.2.tgz"; - url = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz"; - sha1 = "d2112a6b21fad600d7674274293c85dce0cb47fc"; + name = "_types_babel__generator___babel__generator_7.6.1.tgz"; + url = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz"; + sha1 = "4901767b397e8711aeb99df8d396d7ba7b7f0e04"; }; } { @@ -1098,27 +1282,35 @@ }; } { - name = "_types_babel__traverse___babel__traverse_7.0.7.tgz"; + name = "_types_babel__traverse___babel__traverse_7.0.11.tgz"; path = fetchurl { - name = "_types_babel__traverse___babel__traverse_7.0.7.tgz"; - url = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz"; - sha1 = "2496e9ff56196cc1429c72034e07eab6121b6f3f"; + name = "_types_babel__traverse___babel__traverse_7.0.11.tgz"; + url = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.11.tgz"; + sha1 = "1ae3010e8bf8851d324878b42acec71986486d18"; }; } { - name = "_types_codemirror___codemirror_0.0.71.tgz"; + name = "_types_codemirror___codemirror_0.0.91.tgz"; path = fetchurl { - name = "_types_codemirror___codemirror_0.0.71.tgz"; - url = "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-0.0.71.tgz"; - sha1 = "861f1bcb3100c0a064567c5400f2981cf4ae8ca7"; + name = "_types_codemirror___codemirror_0.0.91.tgz"; + url = "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-0.0.91.tgz"; + sha1 = "4cb9832388726e57e747f0e3a8ab69105ad02a66"; }; } { - name = "_types_detect_browser___detect_browser_2.0.1.tgz"; + name = "_types_color_name___color_name_1.1.1.tgz"; path = fetchurl { - name = "_types_detect_browser___detect_browser_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/@types/detect-browser/-/detect-browser-2.0.1.tgz"; - sha1 = "ae49b3b3f5fae163f0988487fe76fb121b56ac53"; + name = "_types_color_name___color_name_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz"; + sha1 = "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"; + }; + } + { + name = "_types_detect_browser___detect_browser_4.0.0.tgz"; + path = fetchurl { + name = "_types_detect_browser___detect_browser_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/detect-browser/-/detect-browser-4.0.0.tgz"; + sha1 = "5672576f9621aad8773489593fca2e4c57c29fb5"; }; } { @@ -1130,11 +1322,11 @@ }; } { - name = "_types_estree___estree_0.0.39.tgz"; + name = "_types_estree___estree_0.0.44.tgz"; path = fetchurl { - name = "_types_estree___estree_0.0.39.tgz"; - url = "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz"; - sha1 = "e177e699ee1b8c22d23174caaa7422644389509f"; + name = "_types_estree___estree_0.0.44.tgz"; + url = "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.44.tgz"; + sha1 = "980cc5a29a3ef3bea6ff1f7d021047d7ea575e21"; }; } { @@ -1162,11 +1354,11 @@ }; } { - name = "_types_history___history_4.7.3.tgz"; + name = "_types_history___history_4.7.5.tgz"; path = fetchurl { - name = "_types_history___history_4.7.3.tgz"; - url = "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz"; - sha1 = "856c99cdc1551d22c22b18b5402719affec9839a"; + name = "_types_history___history_4.7.5.tgz"; + url = "https://registry.yarnpkg.com/@types/history/-/history-4.7.5.tgz"; + sha1 = "527d20ef68571a4af02ed74350164e7a67544860"; }; } { @@ -1178,11 +1370,11 @@ }; } { - name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz"; + name = "_types_istanbul_lib_report___istanbul_lib_report_3.0.0.tgz"; path = fetchurl { - name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz"; - sha1 = "e5471e7fa33c61358dd38426189c037a58433b8c"; + name = "_types_istanbul_lib_report___istanbul_lib_report_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz"; + sha1 = "c14c24f18ea8190c118ee7562b7ff99a36552686"; }; } { @@ -1194,11 +1386,11 @@ }; } { - name = "_types_jest___jest_23.3.14.tgz"; + name = "_types_jest___jest_25.2.1.tgz"; path = fetchurl { - name = "_types_jest___jest_23.3.14.tgz"; - url = "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.14.tgz"; - sha1 = "37daaf78069e7948520474c87b80092ea912520a"; + name = "_types_jest___jest_25.2.1.tgz"; + url = "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.1.tgz"; + sha1 = "9544cd438607955381c1bdbdb97767a249297db5"; }; } { @@ -1210,11 +1402,11 @@ }; } { - name = "_types_json_schema___json_schema_7.0.3.tgz"; + name = "_types_json_schema___json_schema_7.0.4.tgz"; path = fetchurl { - name = "_types_json_schema___json_schema_7.0.3.tgz"; - url = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz"; - sha1 = "bdfd69d61e464dcc81b25159c270d75a73c1a636"; + name = "_types_json_schema___json_schema_7.0.4.tgz"; + url = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz"; + sha1 = "38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"; }; } { @@ -1226,19 +1418,11 @@ }; } { - name = "_types_node___node_12.7.4.tgz"; + name = "_types_node___node_13.13.5.tgz"; path = fetchurl { - name = "_types_node___node_12.7.4.tgz"; - url = "https://registry.yarnpkg.com/@types/node/-/node-12.7.4.tgz"; - sha1 = "64db61e0359eb5a8d99b55e05c729f130a678b04"; - }; - } - { - name = "_types_node___node_10.14.17.tgz"; - path = fetchurl { - name = "_types_node___node_10.14.17.tgz"; - url = "https://registry.yarnpkg.com/@types/node/-/node-10.14.17.tgz"; - sha1 = "b96d4dd3e427382482848948041d3754d40fd5ce"; + name = "_types_node___node_13.13.5.tgz"; + url = "https://registry.yarnpkg.com/@types/node/-/node-13.13.5.tgz"; + sha1 = "96ec3b0afafd64a4ccea9107b75bf8489f0e5765"; }; } { @@ -1249,6 +1433,14 @@ sha1 = "eba3bec10e44309df4aba31a73bfd26a562bc755"; }; } + { + name = "_types_parse_json___parse_json_4.0.0.tgz"; + path = fetchurl { + name = "_types_parse_json___parse_json_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz"; + sha1 = "2f8bb441434d163b35fb8ffdccd7138927ffb8c0"; + }; + } { name = "_types_prop_types___prop_types_15.7.3.tgz"; path = fetchurl { @@ -1258,11 +1450,11 @@ }; } { - name = "_types_puppeteer___puppeteer_1.19.1.tgz"; + name = "_types_puppeteer___puppeteer_2.0.1.tgz"; path = fetchurl { - name = "_types_puppeteer___puppeteer_1.19.1.tgz"; - url = "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.19.1.tgz"; - sha1 = "942ca62288953a0f5fbbc25c103b5f2ba28b60ab"; + name = "_types_puppeteer___puppeteer_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-2.0.1.tgz"; + sha1 = "83a1d7f0a1c2e0edbbb488b4d8fb54b14ec9d455"; }; } { @@ -1274,59 +1466,51 @@ }; } { - name = "_types_react_dom___react_dom_16.9.0.tgz"; + name = "_types_react_dom___react_dom_16.9.7.tgz"; path = fetchurl { - name = "_types_react_dom___react_dom_16.9.0.tgz"; - url = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.0.tgz"; - sha1 = "ba6ddb00bf5de700b0eb91daa452081ffccbfdea"; + name = "_types_react_dom___react_dom_16.9.7.tgz"; + url = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.7.tgz"; + sha1 = "60844d48ce252d7b2dccf0c7bb937130e27c0cd2"; }; } { - name = "_types_react_infinite___react_infinite_0.0.33.tgz"; + name = "_types_react_infinite___react_infinite_0.0.34.tgz"; path = fetchurl { - name = "_types_react_infinite___react_infinite_0.0.33.tgz"; - url = "https://registry.yarnpkg.com/@types/react-infinite/-/react-infinite-0.0.33.tgz"; - sha1 = "08724d4a7095f3fa1d4e6cb5d05bcbe42ce135da"; + name = "_types_react_infinite___react_infinite_0.0.34.tgz"; + url = "https://registry.yarnpkg.com/@types/react-infinite/-/react-infinite-0.0.34.tgz"; + sha1 = "0b514f65c4ba80ad22dea079075e04345ddcaae2"; }; } { - name = "_types_react_router_dom___react_router_dom_4.3.5.tgz"; + name = "_types_react_router_dom___react_router_dom_5.1.5.tgz"; path = fetchurl { - name = "_types_react_router_dom___react_router_dom_4.3.5.tgz"; - url = "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.5.tgz"; - sha1 = "72f229967690c890d00f96e6b85e9ee5780db31f"; + name = "_types_react_router_dom___react_router_dom_5.1.5.tgz"; + url = "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.5.tgz"; + sha1 = "7c334a2ea785dbad2b2dcdd83d2cf3d9973da090"; }; } { - name = "_types_react_router___react_router_5.0.3.tgz"; + name = "_types_react_router___react_router_5.1.7.tgz"; path = fetchurl { - name = "_types_react_router___react_router_5.0.3.tgz"; - url = "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz"; - sha1 = "855a1606e62de3f4d69ea34fb3c0e50e98e964d5"; + name = "_types_react_router___react_router_5.1.7.tgz"; + url = "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.7.tgz"; + sha1 = "e9d12ed7dcfc79187e4d36667745b69a5aa11556"; }; } { - name = "_types_react_transition_group___react_transition_group_4.2.2.tgz"; + name = "_types_react_transition_group___react_transition_group_4.2.4.tgz"; path = fetchurl { - name = "_types_react_transition_group___react_transition_group_4.2.2.tgz"; - url = "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.2.tgz"; - sha1 = "8c851c4598a23a3a34173069fb4c5c9e41c02e3f"; + name = "_types_react_transition_group___react_transition_group_4.2.4.tgz"; + url = "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.4.tgz"; + sha1 = "c7416225987ccdb719262766c1483da8f826838d"; }; } { - name = "_types_react___react_16.9.3.tgz"; + name = "_types_react___react_16.9.34.tgz"; path = fetchurl { - name = "_types_react___react_16.9.3.tgz"; - url = "https://registry.yarnpkg.com/@types/react/-/react-16.9.3.tgz"; - sha1 = "6d13251e441a3e67fb60d719d1fc8785b984a2ec"; - }; - } - { - name = "_types_react___react_16.9.2.tgz"; - path = fetchurl { - name = "_types_react___react_16.9.2.tgz"; - url = "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz"; - sha1 = "6d1765431a1ad1877979013906731aae373de268"; + name = "_types_react___react_16.9.34.tgz"; + url = "https://registry.yarnpkg.com/@types/react/-/react-16.9.34.tgz"; + sha1 = "f7d5e331c468f53affed17a8a4d488cd44ea9349"; }; } { @@ -1338,11 +1522,11 @@ }; } { - name = "_types_rimraf___rimraf_2.0.2.tgz"; + name = "_types_rimraf___rimraf_3.0.0.tgz"; path = fetchurl { - name = "_types_rimraf___rimraf_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-2.0.2.tgz"; - sha1 = "7f0fc3cf0ff0ad2a99bb723ae1764f30acaf8b6e"; + name = "_types_rimraf___rimraf_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.0.tgz"; + sha1 = "b9d03f090ece263671898d57bb7bb007023ac19f"; }; } { @@ -1362,51 +1546,67 @@ }; } { - name = "_types_yargs_parser___yargs_parser_13.0.0.tgz"; + name = "_types_yargs_parser___yargs_parser_15.0.0.tgz"; path = fetchurl { - name = "_types_yargs_parser___yargs_parser_13.0.0.tgz"; - url = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz"; - sha1 = "453743c5bbf9f1bed61d959baab5b06be029b2d0"; + name = "_types_yargs_parser___yargs_parser_15.0.0.tgz"; + url = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz"; + sha1 = "cb3f9f741869e20cce330ffbeb9271590483882d"; }; } { - name = "_types_yargs___yargs_13.0.2.tgz"; + name = "_types_yargs___yargs_13.0.8.tgz"; path = fetchurl { - name = "_types_yargs___yargs_13.0.2.tgz"; - url = "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz"; - sha1 = "a64674fc0149574ecd90ba746e932b5a5f7b3653"; + name = "_types_yargs___yargs_13.0.8.tgz"; + url = "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz"; + sha1 = "a38c22def2f1c2068f8971acb3ea734eb3c64a99"; }; } { - name = "_typescript_eslint_eslint_plugin___eslint_plugin_1.13.0.tgz"; + name = "_types_yargs___yargs_15.0.4.tgz"; path = fetchurl { - name = "_typescript_eslint_eslint_plugin___eslint_plugin_1.13.0.tgz"; - url = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz"; - sha1 = "22fed9b16ddfeb402fd7bcde56307820f6ebc49f"; + name = "_types_yargs___yargs_15.0.4.tgz"; + url = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz"; + sha1 = "7e5d0f8ca25e9d5849f2ea443cf7c402decd8299"; }; } { - name = "_typescript_eslint_experimental_utils___experimental_utils_1.13.0.tgz"; + name = "_types_yauzl___yauzl_2.9.1.tgz"; path = fetchurl { - name = "_typescript_eslint_experimental_utils___experimental_utils_1.13.0.tgz"; - url = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz"; - sha1 = "b08c60d780c0067de2fb44b04b432f540138301e"; + name = "_types_yauzl___yauzl_2.9.1.tgz"; + url = "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz"; + sha1 = "d10f69f9f522eef3cf98e30afb684a1e1ec923af"; }; } { - name = "_typescript_eslint_parser___parser_1.13.0.tgz"; + name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.31.0.tgz"; path = fetchurl { - name = "_typescript_eslint_parser___parser_1.13.0.tgz"; - url = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.13.0.tgz"; - sha1 = "61ac7811ea52791c47dc9fd4dd4a184fae9ac355"; + name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.31.0.tgz"; + url = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.31.0.tgz"; + sha1 = "942c921fec5e200b79593c71fafb1e3f57aa2e36"; }; } { - name = "_typescript_eslint_typescript_estree___typescript_estree_1.13.0.tgz"; + name = "_typescript_eslint_experimental_utils___experimental_utils_2.31.0.tgz"; path = fetchurl { - name = "_typescript_eslint_typescript_estree___typescript_estree_1.13.0.tgz"; - url = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz"; - sha1 = "8140f17d0f60c03619798f1d628b8434913dc32e"; + name = "_typescript_eslint_experimental_utils___experimental_utils_2.31.0.tgz"; + url = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.31.0.tgz"; + sha1 = "a9ec514bf7fd5e5e82bc10dcb6a86d58baae9508"; + }; + } + { + name = "_typescript_eslint_parser___parser_2.31.0.tgz"; + path = fetchurl { + name = "_typescript_eslint_parser___parser_2.31.0.tgz"; + url = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.31.0.tgz"; + sha1 = "beddd4e8efe64995108b229b2862cd5752d40d6f"; + }; + } + { + name = "_typescript_eslint_typescript_estree___typescript_estree_2.31.0.tgz"; + path = fetchurl { + name = "_typescript_eslint_typescript_estree___typescript_estree_2.31.0.tgz"; + url = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.31.0.tgz"; + sha1 = "ac536c2d46672aa1f27ba0ec2140d53670635cfd"; }; } { @@ -1570,19 +1770,11 @@ }; } { - name = "abab___abab_2.0.1.tgz"; + name = "abab___abab_2.0.3.tgz"; path = fetchurl { - name = "abab___abab_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/abab/-/abab-2.0.1.tgz"; - sha1 = "3fa17797032b71410ec372e11668f4b4ffc86a82"; - }; - } - { - name = "abbrev___abbrev_1.1.1.tgz"; - path = fetchurl { - name = "abbrev___abbrev_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz"; - sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8"; + name = "abab___abab_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz"; + sha1 = "623e2075e02eb2d3f2475e49f99c91846467907a"; }; } { @@ -1594,19 +1786,19 @@ }; } { - name = "acorn_globals___acorn_globals_4.3.3.tgz"; + name = "acorn_globals___acorn_globals_4.3.4.tgz"; path = fetchurl { - name = "acorn_globals___acorn_globals_4.3.3.tgz"; - url = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz"; - sha1 = "a86f75b69680b8780d30edd21eee4e0ea170c05e"; + name = "acorn_globals___acorn_globals_4.3.4.tgz"; + url = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz"; + sha1 = "9fa1926addc11c97308c4e66d7add0d40c3272e7"; }; } { - name = "acorn_jsx___acorn_jsx_5.0.2.tgz"; + name = "acorn_jsx___acorn_jsx_5.2.0.tgz"; path = fetchurl { - name = "acorn_jsx___acorn_jsx_5.0.2.tgz"; - url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz"; - sha1 = "84b68ea44b373c4f8686023a551f61a21b7c4a4f"; + name = "acorn_jsx___acorn_jsx_5.2.0.tgz"; + url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz"; + sha1 = "4c66069173d6fdd68ed85239fc256226182b2ebe"; }; } { @@ -1618,35 +1810,27 @@ }; } { - name = "acorn___acorn_5.7.3.tgz"; + name = "acorn___acorn_5.7.4.tgz"; path = fetchurl { - name = "acorn___acorn_5.7.3.tgz"; - url = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz"; - sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279"; + name = "acorn___acorn_5.7.4.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz"; + sha1 = "3e8d8a9947d0599a1796d10225d7432f4a4acf5e"; }; } { - name = "acorn___acorn_6.3.0.tgz"; + name = "acorn___acorn_6.4.1.tgz"; path = fetchurl { - name = "acorn___acorn_6.3.0.tgz"; - url = "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz"; - sha1 = "0087509119ffa4fc0a0041d1e93a417e68cb856e"; + name = "acorn___acorn_6.4.1.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz"; + sha1 = "531e58ba3f51b9dacb9a6646ca4debf5b14ca474"; }; } { - name = "acorn___acorn_7.0.0.tgz"; + name = "acorn___acorn_7.1.1.tgz"; path = fetchurl { - name = "acorn___acorn_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz"; - sha1 = "26b8d1cd9a9b700350b71c0905546f64d1284e7a"; - }; - } - { - name = "address___address_1.1.0.tgz"; - path = fetchurl { - name = "address___address_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz"; - sha1 = "ef8e047847fcd2c5b6f50c16965f924fd99fe709"; + name = "acorn___acorn_7.1.1.tgz"; + url = "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz"; + sha1 = "e35668de0b402f359de515c5482a1ab9f89a69bf"; }; } { @@ -1666,11 +1850,19 @@ }; } { - name = "agent_base___agent_base_4.3.0.tgz"; + name = "agent_base___agent_base_5.1.1.tgz"; path = fetchurl { - name = "agent_base___agent_base_4.3.0.tgz"; - url = "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz"; - sha1 = "8165f01c436009bccad0b1d122f05ed770efc6ee"; + name = "agent_base___agent_base_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz"; + sha1 = "e8fb3f242959db44d63be665db7a8e739537a32c"; + }; + } + { + name = "aggregate_error___aggregate_error_3.0.1.tgz"; + path = fetchurl { + name = "aggregate_error___aggregate_error_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz"; + sha1 = "db2fe7246e536f40d9b5442a39e117d7dd6a24e0"; }; } { @@ -1698,11 +1890,11 @@ }; } { - name = "ajv___ajv_6.10.2.tgz"; + name = "ajv___ajv_6.12.2.tgz"; path = fetchurl { - name = "ajv___ajv_6.10.2.tgz"; - url = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz"; - sha1 = "d3cea04d6b017b2894ad69040fec8b623eb4bd52"; + name = "ajv___ajv_6.12.2.tgz"; + url = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz"; + sha1 = "c629c5eced17baf314437918d2da88c99d5958cd"; }; } { @@ -1729,6 +1921,14 @@ sha1 = "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"; }; } + { + name = "ansi_escapes___ansi_escapes_4.3.1.tgz"; + path = fetchurl { + name = "ansi_escapes___ansi_escapes_4.3.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz"; + sha1 = "a5c47cc43181f1f38ffd7076837700d395522a61"; + }; + } { name = "ansi_html___ansi_html_0.0.7.tgz"; path = fetchurl { @@ -1761,6 +1961,14 @@ sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997"; }; } + { + name = "ansi_regex___ansi_regex_5.0.0.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz"; + sha1 = "388539f55179bf39339c81af30a654d69f87cb75"; + }; + } { name = "ansi_styles___ansi_styles_2.2.1.tgz"; path = fetchurl { @@ -1777,6 +1985,14 @@ sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d"; }; } + { + name = "ansi_styles___ansi_styles_4.2.1.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz"; + sha1 = "90ae75c424d008d2624c5bf29ead3177ebfcf359"; + }; + } { name = "anymatch___anymatch_2.0.0.tgz"; path = fetchurl { @@ -1785,6 +2001,14 @@ sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"; }; } + { + name = "anymatch___anymatch_3.1.1.tgz"; + path = fetchurl { + name = "anymatch___anymatch_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz"; + sha1 = "c55ecf02185e2469259399310c173ce31233b142"; + }; + } { name = "aproba___aproba_1.2.0.tgz"; path = fetchurl { @@ -1793,14 +2017,6 @@ sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a"; }; } - { - name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; - path = fetchurl { - name = "are_we_there_yet___are_we_there_yet_1.1.5.tgz"; - url = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"; - sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21"; - }; - } { name = "argparse___argparse_1.0.10.tgz"; path = fetchurl { @@ -1857,14 +2073,6 @@ sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93"; }; } - { - name = "array_filter___array_filter_0.0.1.tgz"; - path = fetchurl { - name = "array_filter___array_filter_0.0.1.tgz"; - url = "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz"; - sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec"; - }; - } { name = "array_flatten___array_flatten_1.1.1.tgz"; path = fetchurl { @@ -1882,27 +2090,11 @@ }; } { - name = "array_includes___array_includes_3.0.3.tgz"; + name = "array_includes___array_includes_3.1.1.tgz"; path = fetchurl { - name = "array_includes___array_includes_3.0.3.tgz"; - url = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz"; - sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d"; - }; - } - { - name = "array_map___array_map_0.0.0.tgz"; - path = fetchurl { - name = "array_map___array_map_0.0.0.tgz"; - url = "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz"; - sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662"; - }; - } - { - name = "array_reduce___array_reduce_0.0.0.tgz"; - path = fetchurl { - name = "array_reduce___array_reduce_0.0.0.tgz"; - url = "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz"; - sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b"; + name = "array_includes___array_includes_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz"; + sha1 = "cdd67e6852bdf9c1215460786732255ed2459348"; }; } { @@ -1930,11 +2122,19 @@ }; } { - name = "array.prototype.find___array.prototype.find_2.1.0.tgz"; + name = "array.prototype.find___array.prototype.find_2.1.1.tgz"; path = fetchurl { - name = "array.prototype.find___array.prototype.find_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz"; - sha1 = "630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7"; + name = "array.prototype.find___array.prototype.find_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz"; + sha1 = "3baca26108ca7affb08db06bf0be6cb3115a969c"; + }; + } + { + name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz"; + path = fetchurl { + name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz"; + sha1 = "0de82b426b0318dbfdb940089e38b043d37f6c7b"; }; } { @@ -2034,11 +2234,11 @@ }; } { - name = "async___async_1.5.2.tgz"; + name = "async___async_2.6.3.tgz"; path = fetchurl { - name = "async___async_1.5.2.tgz"; - url = "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz"; - sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a"; + name = "async___async_2.6.3.tgz"; + url = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz"; + sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff"; }; } { @@ -2058,11 +2258,11 @@ }; } { - name = "autoprefixer___autoprefixer_9.6.1.tgz"; + name = "autoprefixer___autoprefixer_9.7.6.tgz"; path = fetchurl { - name = "autoprefixer___autoprefixer_9.6.1.tgz"; - url = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz"; - sha1 = "51967a02d2d2300bb01866c1611ec8348d355a47"; + name = "autoprefixer___autoprefixer_9.7.6.tgz"; + url = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.6.tgz"; + sha1 = "63ac5bbc0ce7934e6997207d5bb00d68fa8293a4"; }; } { @@ -2074,27 +2274,27 @@ }; } { - name = "aws4___aws4_1.8.0.tgz"; + name = "aws4___aws4_1.9.1.tgz"; path = fetchurl { - name = "aws4___aws4_1.8.0.tgz"; - url = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz"; - sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"; + name = "aws4___aws4_1.9.1.tgz"; + url = "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz"; + sha1 = "7e33d8f7d449b3f673cd72deb9abdc552dbe528e"; }; } { - name = "axios___axios_0.19.0.tgz"; + name = "axios___axios_0.19.2.tgz"; path = fetchurl { - name = "axios___axios_0.19.0.tgz"; - url = "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz"; - sha1 = "8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8"; + name = "axios___axios_0.19.2.tgz"; + url = "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz"; + sha1 = "3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"; }; } { - name = "axobject_query___axobject_query_2.0.2.tgz"; + name = "axobject_query___axobject_query_2.1.2.tgz"; path = fetchurl { - name = "axobject_query___axobject_query_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz"; - sha1 = "ea187abe5b9002b377f925d8bf7d1c561adf38f9"; + name = "axobject_query___axobject_query_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.2.tgz"; + sha1 = "2bdffc0371e643e5f03ba99065d5179b9ca79799"; }; } { @@ -2106,11 +2306,11 @@ }; } { - name = "babel_eslint___babel_eslint_10.0.2.tgz"; + name = "babel_eslint___babel_eslint_10.1.0.tgz"; path = fetchurl { - name = "babel_eslint___babel_eslint_10.0.2.tgz"; - url = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz"; - sha1 = "182d5ac204579ff0881684b040560fdcc1558456"; + name = "babel_eslint___babel_eslint_10.1.0.tgz"; + url = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz"; + sha1 = "6968e568a910b78fb3779cdd8b6ac2f479943232"; }; } { @@ -2130,19 +2330,19 @@ }; } { - name = "babel_loader___babel_loader_8.0.6.tgz"; + name = "babel_loader___babel_loader_8.1.0.tgz"; path = fetchurl { - name = "babel_loader___babel_loader_8.0.6.tgz"; - url = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz"; - sha1 = "e33bdb6f362b03f4bb141a0c21ab87c501b70dfb"; + name = "babel_loader___babel_loader_8.1.0.tgz"; + url = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz"; + sha1 = "c611d5112bd5209abe8b9fa84c3e4da25275f1c3"; }; } { - name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz"; + name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz"; path = fetchurl { - name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz"; - sha1 = "f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f"; + name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz"; + sha1 = "84fda19c976ec5c6defef57f9427b3def66e17a3"; }; } { @@ -2162,19 +2362,19 @@ }; } { - name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz"; + name = "babel_plugin_macros___babel_plugin_macros_2.8.0.tgz"; path = fetchurl { - name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz"; - url = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz"; - sha1 = "41f7ead616fc36f6a93180e89697f69f51671181"; + name = "babel_plugin_macros___babel_plugin_macros_2.8.0.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz"; + sha1 = "0f958a7cc6556b1e65344465d99111a1e5e10138"; }; } { - name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.3.tgz"; + name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.6.tgz"; path = fetchurl { - name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.3.tgz"; - url = "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.3.tgz"; - sha1 = "9ba2f3ac4dc78b042651654f07e847adfe50667c"; + name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.6.tgz"; + url = "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz"; + sha1 = "c9750a1b38d85112c9e166bf3ef7c5dbc605f4be"; }; } { @@ -2210,11 +2410,11 @@ }; } { - name = "babel_preset_react_app___babel_preset_react_app_9.0.1.tgz"; + name = "babel_preset_react_app___babel_preset_react_app_9.1.2.tgz"; path = fetchurl { - name = "babel_preset_react_app___babel_preset_react_app_9.0.1.tgz"; - url = "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.1.tgz"; - sha1 = "16a2cf84363045b530b6a03460527a5c6eac42ba"; + name = "babel_preset_react_app___babel_preset_react_app_9.1.2.tgz"; + url = "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz"; + sha1 = "54775d976588a8a6d1a99201a702befecaf48030"; }; } { @@ -2234,11 +2434,11 @@ }; } { - name = "bail___bail_1.0.4.tgz"; + name = "bail___bail_1.0.5.tgz"; path = fetchurl { - name = "bail___bail_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz"; - sha1 = "7181b66d508aa3055d3f6c13f0a0c720641dde9b"; + name = "bail___bail_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz"; + sha1 = "b6fa133404a392cbc1f8c4bf63f5953351e7a776"; }; } { @@ -2298,11 +2498,35 @@ }; } { - name = "bluebird___bluebird_3.5.5.tgz"; + name = "binary_extensions___binary_extensions_2.0.0.tgz"; path = fetchurl { - name = "bluebird___bluebird_3.5.5.tgz"; - url = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz"; - sha1 = "a8d0afd73251effbbd5fe384a77d73003c17a71f"; + name = "binary_extensions___binary_extensions_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz"; + sha1 = "23c0df14f6a88077f5f986c0d167ec03c3d5537c"; + }; + } + { + name = "bindings___bindings_1.5.0.tgz"; + path = fetchurl { + name = "bindings___bindings_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz"; + sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df"; + }; + } + { + name = "bl___bl_4.0.2.tgz"; + path = fetchurl { + name = "bl___bl_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz"; + sha1 = "52b71e9088515d0606d9dd9cc7aa48dc1f98e73a"; + }; + } + { + name = "bluebird___bluebird_3.7.2.tgz"; + path = fetchurl { + name = "bluebird___bluebird_3.7.2.tgz"; + url = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz"; + sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f"; }; } { @@ -2313,6 +2537,14 @@ sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f"; }; } + { + name = "bn.js___bn.js_5.1.1.tgz"; + path = fetchurl { + name = "bn.js___bn.js_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz"; + sha1 = "48efc4031a9c4041b9c99c6941d903463ab62eb5"; + }; + } { name = "body_parser___body_parser_1.19.0.tgz"; path = fetchurl { @@ -2353,6 +2585,14 @@ sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; }; } + { + name = "braces___braces_3.0.2.tgz"; + path = fetchurl { + name = "braces___braces_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz"; + sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107"; + }; + } { name = "brorand___brorand_1.1.0.tgz"; path = fetchurl { @@ -2362,11 +2602,11 @@ }; } { - name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz"; + name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz"; path = fetchurl { - name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz"; - url = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz"; - sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4"; + name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz"; + sha1 = "3c9b4b7d782c8121e56f10106d84c0d0ffc94626"; }; } { @@ -2410,11 +2650,11 @@ }; } { - name = "browserify_sign___browserify_sign_4.0.4.tgz"; + name = "browserify_sign___browserify_sign_4.1.0.tgz"; path = fetchurl { - name = "browserify_sign___browserify_sign_4.0.4.tgz"; - url = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz"; - sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"; + name = "browserify_sign___browserify_sign_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.1.0.tgz"; + sha1 = "4fe971b379a5aeb4925e06779f9fa1f41d249d70"; }; } { @@ -2426,27 +2666,35 @@ }; } { - name = "browserslist___browserslist_4.6.6.tgz"; + name = "browserslist___browserslist_4.10.0.tgz"; path = fetchurl { - name = "browserslist___browserslist_4.6.6.tgz"; - url = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz"; - sha1 = "6e4bf467cde520bc9dbdf3747dafa03531cec453"; + name = "browserslist___browserslist_4.10.0.tgz"; + url = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.10.0.tgz"; + sha1 = "f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9"; }; } { - name = "browserslist___browserslist_4.7.0.tgz"; + name = "browserslist___browserslist_4.12.0.tgz"; path = fetchurl { - name = "browserslist___browserslist_4.7.0.tgz"; - url = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz"; - sha1 = "9ee89225ffc07db03409f2fee524dc8227458a17"; + name = "browserslist___browserslist_4.12.0.tgz"; + url = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz"; + sha1 = "06c6d5715a1ede6c51fc39ff67fd647f740b656d"; }; } { - name = "bser___bser_2.1.0.tgz"; + name = "bser___bser_2.1.1.tgz"; path = fetchurl { - name = "bser___bser_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz"; - sha1 = "65fc784bf7f87c009b973c12db6546902fa9c7b5"; + name = "bser___bser_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz"; + sha1 = "e6787da20ece9d07998533cfd9de6f5c38f4bc05"; + }; + } + { + name = "buffer_crc32___buffer_crc32_0.2.13.tgz"; + path = fetchurl { + name = "buffer_crc32___buffer_crc32_0.2.13.tgz"; + url = "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz"; + sha1 = "0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"; }; } { @@ -2474,11 +2722,19 @@ }; } { - name = "buffer___buffer_4.9.1.tgz"; + name = "buffer___buffer_4.9.2.tgz"; path = fetchurl { - name = "buffer___buffer_4.9.1.tgz"; - url = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz"; - sha1 = "6d1bb601b07a4efced97094132093027c95bc298"; + name = "buffer___buffer_4.9.2.tgz"; + url = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz"; + sha1 = "230ead344002988644841ab0244af8c44bbe3ef8"; + }; + } + { + name = "buffer___buffer_5.6.0.tgz"; + path = fetchurl { + name = "buffer___buffer_5.6.0.tgz"; + url = "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz"; + sha1 = "a31749dc7d81d84db08abf937b6b8c4033f62786"; }; } { @@ -2514,11 +2770,19 @@ }; } { - name = "cacache___cacache_12.0.3.tgz"; + name = "cacache___cacache_12.0.4.tgz"; path = fetchurl { - name = "cacache___cacache_12.0.3.tgz"; - url = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz"; - sha1 = "be99abba4e1bf5df461cd5a2c1071fc432573390"; + name = "cacache___cacache_12.0.4.tgz"; + url = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz"; + sha1 = "668bcbd105aeb5f1d92fe25570ec9525c8faa40c"; + }; + } + { + name = "cacache___cacache_13.0.1.tgz"; + path = fetchurl { + name = "cacache___cacache_13.0.1.tgz"; + url = "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz"; + sha1 = "a8000c21697089082f85287a1aec6e382024a71c"; }; } { @@ -2570,11 +2834,11 @@ }; } { - name = "camel_case___camel_case_3.0.0.tgz"; + name = "camel_case___camel_case_4.1.1.tgz"; path = fetchurl { - name = "camel_case___camel_case_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz"; - sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"; + name = "camel_case___camel_case_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz"; + sha1 = "1fc41c854f00e2f7d0139dfeba1542d6896fe547"; }; } { @@ -2585,14 +2849,6 @@ sha1 = "03295527d58bd3cd4aa75363f35b2e8d97be2f42"; }; } - { - name = "camelcase___camelcase_4.1.0.tgz"; - path = fetchurl { - name = "camelcase___camelcase_4.1.0.tgz"; - url = "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz"; - sha1 = "d545635be1e33c542649c69173e5de6acfae34dd"; - }; - } { name = "camelcase___camelcase_5.3.1.tgz"; path = fetchurl { @@ -2610,11 +2866,11 @@ }; } { - name = "caniuse_lite___caniuse_lite_1.0.30000989.tgz"; + name = "caniuse_lite___caniuse_lite_1.0.30001054.tgz"; path = fetchurl { - name = "caniuse_lite___caniuse_lite_1.0.30000989.tgz"; - url = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz"; - sha1 = "b9193e293ccf7e4426c5245134b8f2a56c0ac4b9"; + name = "caniuse_lite___caniuse_lite_1.0.30001054.tgz"; + url = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001054.tgz"; + sha1 = "7e82fc42d927980b0ce1426c4813df12381e1a75"; }; } { @@ -2626,11 +2882,11 @@ }; } { - name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz"; + name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.3.0.tgz"; path = fetchurl { - name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz"; - sha1 = "3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e"; + name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz"; + sha1 = "23ac613cc9a856e4f88ff8bb73bbb5e989825cf7"; }; } { @@ -2658,27 +2914,35 @@ }; } { - name = "character_entities_legacy___character_entities_legacy_1.1.3.tgz"; + name = "chalk___chalk_3.0.0.tgz"; path = fetchurl { - name = "character_entities_legacy___character_entities_legacy_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz"; - sha1 = "3c729991d9293da0ede6dddcaf1f2ce1009ee8b4"; + name = "chalk___chalk_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz"; + sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4"; }; } { - name = "character_entities___character_entities_1.2.3.tgz"; + name = "character_entities_legacy___character_entities_legacy_1.1.4.tgz"; path = fetchurl { - name = "character_entities___character_entities_1.2.3.tgz"; - url = "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz"; - sha1 = "bbed4a52fe7ef98cc713c6d80d9faa26916d54e6"; + name = "character_entities_legacy___character_entities_legacy_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz"; + sha1 = "94bc1845dce70a5bb9d2ecc748725661293d8fc1"; }; } { - name = "character_reference_invalid___character_reference_invalid_1.1.3.tgz"; + name = "character_entities___character_entities_1.2.4.tgz"; path = fetchurl { - name = "character_reference_invalid___character_reference_invalid_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz"; - sha1 = "1647f4f726638d3ea4a750cf5d1975c1c7919a85"; + name = "character_entities___character_entities_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz"; + sha1 = "e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"; + }; + } + { + name = "character_reference_invalid___character_reference_invalid_1.1.4.tgz"; + path = fetchurl { + name = "character_reference_invalid___character_reference_invalid_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz"; + sha1 = "083329cda0eae272ab3dbbf37e9a382c13af1560"; }; } { @@ -2698,11 +2962,19 @@ }; } { - name = "chownr___chownr_1.1.2.tgz"; + name = "chokidar___chokidar_3.4.0.tgz"; path = fetchurl { - name = "chownr___chownr_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz"; - sha1 = "a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"; + name = "chokidar___chokidar_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz"; + sha1 = "b30611423ce376357c765b9b8f904b9fba3c0be8"; + }; + } + { + name = "chownr___chownr_1.1.4.tgz"; + path = fetchurl { + name = "chownr___chownr_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz"; + sha1 = "6fc9d7b42d32a583596337666e7d08084da2cc6b"; }; } { @@ -2738,27 +3010,35 @@ }; } { - name = "clean_css___clean_css_4.2.1.tgz"; + name = "clean_css___clean_css_4.2.3.tgz"; path = fetchurl { - name = "clean_css___clean_css_4.2.1.tgz"; - url = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz"; - sha1 = "2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"; + name = "clean_css___clean_css_4.2.3.tgz"; + url = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz"; + sha1 = "507b5de7d97b48ee53d84adb0160ff6216380f78"; }; } { - name = "cli_cursor___cli_cursor_2.1.0.tgz"; + name = "clean_stack___clean_stack_2.2.0.tgz"; path = fetchurl { - name = "cli_cursor___cli_cursor_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz"; - sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5"; + name = "clean_stack___clean_stack_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz"; + sha1 = "ee8472dbb129e727b31e8a10a427dee9dfe4008b"; }; } { - name = "cli_width___cli_width_2.2.0.tgz"; + name = "cli_cursor___cli_cursor_3.1.0.tgz"; path = fetchurl { - name = "cli_width___cli_width_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz"; - sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639"; + name = "cli_cursor___cli_cursor_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz"; + sha1 = "264305a7ae490d1d03bf0c9ba7c925d1753af307"; + }; + } + { + name = "cli_width___cli_width_2.2.1.tgz"; + path = fetchurl { + name = "cli_width___cli_width_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz"; + sha1 = "b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"; }; } { @@ -2794,11 +3074,11 @@ }; } { - name = "clsx___clsx_1.0.4.tgz"; + name = "clsx___clsx_1.1.0.tgz"; path = fetchurl { - name = "clsx___clsx_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/clsx/-/clsx-1.0.4.tgz"; - sha1 = "0c0171f6d5cb2fe83848463c15fcc26b4df8c2ec"; + name = "clsx___clsx_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/clsx/-/clsx-1.1.0.tgz"; + sha1 = "62937c6adfea771247c34b54d320fb99624f5702"; }; } { @@ -2826,19 +3106,19 @@ }; } { - name = "codemirror___codemirror_5.48.4.tgz"; + name = "codemirror___codemirror_5.53.2.tgz"; path = fetchurl { - name = "codemirror___codemirror_5.48.4.tgz"; - url = "https://registry.yarnpkg.com/codemirror/-/codemirror-5.48.4.tgz"; - sha1 = "4210fbe92be79a88f0eea348fab3ae78da85ce47"; + name = "codemirror___codemirror_5.53.2.tgz"; + url = "https://registry.yarnpkg.com/codemirror/-/codemirror-5.53.2.tgz"; + sha1 = "9799121cf8c50809cca487304e9de3a74d33f428"; }; } { - name = "collapse_white_space___collapse_white_space_1.0.5.tgz"; + name = "collapse_white_space___collapse_white_space_1.0.6.tgz"; path = fetchurl { - name = "collapse_white_space___collapse_white_space_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz"; - sha1 = "c2495b699ab1ed380d29a1091e01063e75dbbe3a"; + name = "collapse_white_space___collapse_white_space_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz"; + sha1 = "e63629c0016665792060dbbeb79c42239d2c5287"; }; } { @@ -2857,6 +3137,14 @@ sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8"; }; } + { + name = "color_convert___color_convert_2.0.1.tgz"; + path = fetchurl { + name = "color_convert___color_convert_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz"; + sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"; + }; + } { name = "color_name___color_name_1.1.3.tgz"; path = fetchurl { @@ -2898,27 +3186,19 @@ }; } { - name = "commander___commander_2.17.1.tgz"; + name = "commander___commander_2.20.3.tgz"; path = fetchurl { - name = "commander___commander_2.17.1.tgz"; - url = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz"; - sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf"; + name = "commander___commander_2.20.3.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz"; + sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33"; }; } { - name = "commander___commander_2.20.0.tgz"; + name = "commander___commander_4.1.1.tgz"; path = fetchurl { - name = "commander___commander_2.20.0.tgz"; - url = "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz"; - sha1 = "d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"; - }; - } - { - name = "commander___commander_2.19.0.tgz"; - path = fetchurl { - name = "commander___commander_2.19.0.tgz"; - url = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz"; - sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"; + name = "commander___commander_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz"; + sha1 = "9fd602bd936294e9e9ef46a3f4d6964044b18068"; }; } { @@ -2954,11 +3234,11 @@ }; } { - name = "compressible___compressible_2.0.17.tgz"; + name = "compressible___compressible_2.0.18.tgz"; path = fetchurl { - name = "compressible___compressible_2.0.17.tgz"; - url = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz"; - sha1 = "6e8c108a16ad58384a977f3a482ca20bff2f38c1"; + name = "compressible___compressible_2.0.18.tgz"; + url = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz"; + sha1 = "af53cca6b070d4c3c0750fbd77286a6d7cc46fba"; }; } { @@ -2986,11 +3266,11 @@ }; } { - name = "confusing_browser_globals___confusing_browser_globals_1.0.8.tgz"; + name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz"; path = fetchurl { - name = "confusing_browser_globals___confusing_browser_globals_1.0.8.tgz"; - url = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz"; - sha1 = "93ffec1f82a6e2bf2bc36769cc3a92fa20e502f3"; + name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz"; + url = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz"; + sha1 = "72bc13b483c0276801681871d4898516f8f54fdd"; }; } { @@ -3002,19 +3282,11 @@ }; } { - name = "console_browserify___console_browserify_1.1.0.tgz"; + name = "console_browserify___console_browserify_1.2.0.tgz"; path = fetchurl { - name = "console_browserify___console_browserify_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz"; - sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10"; - }; - } - { - name = "console_control_strings___console_control_strings_1.1.0.tgz"; - path = fetchurl { - name = "console_control_strings___console_control_strings_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz"; - sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e"; + name = "console_browserify___console_browserify_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz"; + sha1 = "67063cef57ceb6cf4993a2ab3a55840ae8c49336"; }; } { @@ -3050,11 +3322,11 @@ }; } { - name = "convert_source_map___convert_source_map_1.6.0.tgz"; + name = "convert_source_map___convert_source_map_1.7.0.tgz"; path = fetchurl { - name = "convert_source_map___convert_source_map_1.6.0.tgz"; - url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz"; - sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20"; + name = "convert_source_map___convert_source_map_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz"; + sha1 = "17a2cb882d7f77d3490585e2ce6c524424a3a442"; }; } { @@ -3098,19 +3370,19 @@ }; } { - name = "core_js_compat___core_js_compat_3.2.1.tgz"; + name = "core_js_compat___core_js_compat_3.6.5.tgz"; path = fetchurl { - name = "core_js_compat___core_js_compat_3.2.1.tgz"; - url = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz"; - sha1 = "0cbdbc2e386e8e00d3b85dc81c848effec5b8150"; + name = "core_js_compat___core_js_compat_3.6.5.tgz"; + url = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz"; + sha1 = "2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"; }; } { - name = "core_js___core_js_3.1.4.tgz"; + name = "core_js_pure___core_js_pure_3.6.5.tgz"; path = fetchurl { - name = "core_js___core_js_3.1.4.tgz"; - url = "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz"; - sha1 = "3a2837fc48e582e1ae25907afcd6cf03b0cc7a07"; + name = "core_js_pure___core_js_pure_3.6.5.tgz"; + url = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz"; + sha1 = "c79e75f5e38dbc85a662d91eea52b8256d53b813"; }; } { @@ -3122,11 +3394,19 @@ }; } { - name = "core_js___core_js_2.6.9.tgz"; + name = "core_js___core_js_2.6.11.tgz"; path = fetchurl { - name = "core_js___core_js_2.6.9.tgz"; - url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz"; - sha1 = "6b4b214620c834152e179323727fc19741b084f2"; + name = "core_js___core_js_2.6.11.tgz"; + url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz"; + sha1 = "38831469f9922bded8ee21c9dc46985e0399308c"; + }; + } + { + name = "core_js___core_js_3.6.5.tgz"; + path = fetchurl { + name = "core_js___core_js_3.6.5.tgz"; + url = "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz"; + sha1 = "7395dc273af37fb2e50e9bd3d9fe841285231d1a"; }; } { @@ -3145,6 +3425,14 @@ sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a"; }; } + { + name = "cosmiconfig___cosmiconfig_6.0.0.tgz"; + path = fetchurl { + name = "cosmiconfig___cosmiconfig_6.0.0.tgz"; + url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz"; + sha1 = "da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"; + }; + } { name = "create_ecdh___create_ecdh_4.0.3.tgz"; path = fetchurl { @@ -3169,6 +3457,14 @@ sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff"; }; } + { + name = "cross_spawn___cross_spawn_7.0.1.tgz"; + path = fetchurl { + name = "cross_spawn___cross_spawn_7.0.1.tgz"; + url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz"; + sha1 = "0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"; + }; + } { name = "cross_spawn___cross_spawn_6.0.5.tgz"; path = fetchurl { @@ -3218,11 +3514,11 @@ }; } { - name = "css_loader___css_loader_2.1.1.tgz"; + name = "css_loader___css_loader_3.4.2.tgz"; path = fetchurl { - name = "css_loader___css_loader_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz"; - sha1 = "d8254f72e412bb2238bb44dd674ffbef497333ea"; + name = "css_loader___css_loader_3.4.2.tgz"; + url = "https://registry.yarnpkg.com/css-loader/-/css-loader-3.4.2.tgz"; + sha1 = "d3fdb3358b43f233b78501c5ed7b1c6da6133202"; }; } { @@ -3250,43 +3546,35 @@ }; } { - name = "css_select___css_select_2.0.2.tgz"; + name = "css_select___css_select_2.1.0.tgz"; path = fetchurl { - name = "css_select___css_select_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz"; - sha1 = "ab4386cec9e1f668855564b17c3733b43b2a5ede"; + name = "css_select___css_select_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz"; + sha1 = "6a34653356635934a81baca68d0255432105dbef"; }; } { - name = "css_tree___css_tree_1.0.0_alpha.29.tgz"; + name = "css_tree___css_tree_1.0.0_alpha.37.tgz"; path = fetchurl { - name = "css_tree___css_tree_1.0.0_alpha.29.tgz"; - url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz"; - sha1 = "3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39"; + name = "css_tree___css_tree_1.0.0_alpha.37.tgz"; + url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz"; + sha1 = "98bebd62c4c1d9f960ec340cf9f7522e30709a22"; }; } { - name = "css_tree___css_tree_1.0.0_alpha.33.tgz"; + name = "css_tree___css_tree_1.0.0_alpha.39.tgz"; path = fetchurl { - name = "css_tree___css_tree_1.0.0_alpha.33.tgz"; - url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz"; - sha1 = "970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e"; + name = "css_tree___css_tree_1.0.0_alpha.39.tgz"; + url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz"; + sha1 = "2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"; }; } { - name = "css_unit_converter___css_unit_converter_1.1.1.tgz"; + name = "css_vendor___css_vendor_2.0.8.tgz"; path = fetchurl { - name = "css_unit_converter___css_unit_converter_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz"; - sha1 = "d9b9281adcfd8ced935bdbaba83786897f64e996"; - }; - } - { - name = "css_vendor___css_vendor_2.0.7.tgz"; - path = fetchurl { - name = "css_vendor___css_vendor_2.0.7.tgz"; - url = "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.7.tgz"; - sha1 = "4e6d53d953c187981576d6a542acc9fb57174bda"; + name = "css_vendor___css_vendor_2.0.8.tgz"; + url = "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz"; + sha1 = "e47f91d3bd3117d49180a3c935e62e3d9f7f449d"; }; } { @@ -3297,6 +3585,14 @@ sha1 = "a6d7604573365fe74686c3f311c56513d88285f2"; }; } + { + name = "css_what___css_what_3.2.1.tgz"; + path = fetchurl { + name = "css_what___css_what_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz"; + sha1 = "f4a8f12421064621b456755e34a03a2c22df5da1"; + }; + } { name = "css___css_2.2.4.tgz"; path = fetchurl { @@ -3378,11 +3674,11 @@ }; } { - name = "csso___csso_3.5.1.tgz"; + name = "csso___csso_4.0.3.tgz"; path = fetchurl { - name = "csso___csso_3.5.1.tgz"; - url = "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz"; - sha1 = "7b9eb8be61628973c1b261e169d2f024008e758b"; + name = "csso___csso_4.0.3.tgz"; + url = "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz"; + sha1 = "0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"; }; } { @@ -3402,19 +3698,19 @@ }; } { - name = "csstype___csstype_2.6.6.tgz"; + name = "csstype___csstype_2.6.10.tgz"; path = fetchurl { - name = "csstype___csstype_2.6.6.tgz"; - url = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz"; - sha1 = "c34f8226a94bbb10c32cc0d714afdf942291fc41"; + name = "csstype___csstype_2.6.10.tgz"; + url = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz"; + sha1 = "e63af50e66d7c266edb6b32909cfd0aabe03928b"; }; } { - name = "cyclist___cyclist_0.2.2.tgz"; + name = "cyclist___cyclist_1.0.1.tgz"; path = fetchurl { - name = "cyclist___cyclist_0.2.2.tgz"; - url = "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz"; - sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640"; + name = "cyclist___cyclist_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz"; + sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9"; }; } { @@ -3426,11 +3722,11 @@ }; } { - name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz"; + name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz"; path = fetchurl { - name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz"; - sha1 = "780cf7144eb2e8dbd1c3bb83ae31100ccc31a414"; + name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz"; + sha1 = "143c1641cb3d85c60c32329e26899adea8701791"; }; } { @@ -3449,14 +3745,6 @@ sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe"; }; } - { - name = "date_now___date_now_0.1.4.tgz"; - path = fetchurl { - name = "date_now___date_now_0.1.4.tgz"; - url = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz"; - sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b"; - }; - } { name = "debug___debug_2.6.9.tgz"; path = fetchurl { @@ -3465,6 +3753,14 @@ sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; }; } + { + name = "debug___debug_4.1.1.tgz"; + path = fetchurl { + name = "debug___debug_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz"; + sha1 = "3b72260255109c6b589cee050f1d516139664791"; + }; + } { name = "debug___debug_3.1.0.tgz"; path = fetchurl { @@ -3481,14 +3777,6 @@ sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b"; }; } - { - name = "debug___debug_4.1.1.tgz"; - path = fetchurl { - name = "debug___debug_4.1.1.tgz"; - url = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz"; - sha1 = "3b72260255109c6b589cee050f1d516139664791"; - }; - } { name = "decamelize___decamelize_1.2.0.tgz"; path = fetchurl { @@ -3497,14 +3785,6 @@ sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; }; } - { - name = "decamelize___decamelize_2.0.0.tgz"; - path = fetchurl { - name = "decamelize___decamelize_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz"; - sha1 = "656d7bbc8094c4c788ea53c5840908c9c7d063c7"; - }; - } { name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; path = fetchurl { @@ -3514,19 +3794,11 @@ }; } { - name = "deep_equal___deep_equal_1.1.0.tgz"; + name = "deep_equal___deep_equal_1.1.1.tgz"; path = fetchurl { - name = "deep_equal___deep_equal_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz"; - sha1 = "3103cdf8ab6d32cf4a8df7865458f2b8d33f3745"; - }; - } - { - name = "deep_extend___deep_extend_0.6.0.tgz"; - path = fetchurl { - name = "deep_extend___deep_extend_0.6.0.tgz"; - url = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz"; - sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac"; + name = "deep_equal___deep_equal_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz"; + sha1 = "b5c98c942ceffaf7cb051e24e1434a25a2e6076a"; }; } { @@ -3578,11 +3850,11 @@ }; } { - name = "del___del_3.0.0.tgz"; + name = "del___del_4.1.1.tgz"; path = fetchurl { - name = "del___del_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz"; - sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5"; + name = "del___del_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz"; + sha1 = "9e8f117222ea44a31ff3a156c049b99052a9f0b4"; }; } { @@ -3593,14 +3865,6 @@ sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; }; } - { - name = "delegates___delegates_1.0.0.tgz"; - path = fetchurl { - name = "delegates___delegates_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz"; - sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a"; - }; - } { name = "depd___depd_1.1.2.tgz"; path = fetchurl { @@ -3610,11 +3874,11 @@ }; } { - name = "des.js___des.js_1.0.0.tgz"; + name = "des.js___des.js_1.0.1.tgz"; path = fetchurl { - name = "des.js___des.js_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz"; - sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"; + name = "des.js___des.js_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz"; + sha1 = "5382142e1bdc53f85d86d53e5f4aa7deb91e0843"; }; } { @@ -3626,19 +3890,11 @@ }; } { - name = "detect_browser___detect_browser_3.0.1.tgz"; + name = "detect_browser___detect_browser_5.1.0.tgz"; path = fetchurl { - name = "detect_browser___detect_browser_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/detect-browser/-/detect-browser-3.0.1.tgz"; - sha1 = "39beead014347a8a2be1f3c4cb30a0aef2127c44"; - }; - } - { - name = "detect_libc___detect_libc_1.0.3.tgz"; - path = fetchurl { - name = "detect_libc___detect_libc_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz"; - sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"; + name = "detect_browser___detect_browser_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.1.0.tgz"; + sha1 = "0c51c66b747ad8f98a6832bf3026a5a23a7850ff"; }; } { @@ -3674,11 +3930,19 @@ }; } { - name = "diff___diff_4.0.1.tgz"; + name = "diff_sequences___diff_sequences_25.2.6.tgz"; path = fetchurl { - name = "diff___diff_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz"; - sha1 = "0c667cb467ebbb5cea7f14f135cc2dba7780a8ff"; + name = "diff_sequences___diff_sequences_25.2.6.tgz"; + url = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz"; + sha1 = "5f467c00edd35352b7bca46d7927d60e687a76dd"; + }; + } + { + name = "diff___diff_4.0.2.tgz"; + path = fetchurl { + name = "diff___diff_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz"; + sha1 = "60f3aecb89d5fae520c11aa19efc2bb982aade7d"; }; } { @@ -3754,19 +4018,19 @@ }; } { - name = "dom_helpers___dom_helpers_5.1.0.tgz"; + name = "dom_helpers___dom_helpers_5.1.4.tgz"; path = fetchurl { - name = "dom_helpers___dom_helpers_5.1.0.tgz"; - url = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.0.tgz"; - sha1 = "57a726de04abcc2a8bbfe664b3e21c584bde514e"; + name = "dom_helpers___dom_helpers_5.1.4.tgz"; + url = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.4.tgz"; + sha1 = "4609680ab5c79a45f2531441f1949b79d6587f4b"; }; } { - name = "dom_serializer___dom_serializer_0.2.1.tgz"; + name = "dom_serializer___dom_serializer_0.2.2.tgz"; path = fetchurl { - name = "dom_serializer___dom_serializer_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz"; - sha1 = "13650c850daffea35d8b626a4cfc4d3a17643fdb"; + name = "dom_serializer___dom_serializer_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz"; + sha1 = "1afb81f533717175d478655debc5e332d9f9bb51"; }; } { @@ -3842,27 +4106,35 @@ }; } { - name = "dot_prop___dot_prop_4.2.0.tgz"; + name = "dot_case___dot_case_3.0.3.tgz"; path = fetchurl { - name = "dot_prop___dot_prop_4.2.0.tgz"; - url = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz"; - sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57"; + name = "dot_case___dot_case_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz"; + sha1 = "21d3b52efaaba2ea5fda875bb1aa8124521cf4aa"; }; } { - name = "dotenv_expand___dotenv_expand_4.2.0.tgz"; + name = "dot_prop___dot_prop_5.2.0.tgz"; path = fetchurl { - name = "dotenv_expand___dotenv_expand_4.2.0.tgz"; - url = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz"; - sha1 = "def1f1ca5d6059d24a766e587942c21106ce1275"; + name = "dot_prop___dot_prop_5.2.0.tgz"; + url = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz"; + sha1 = "c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"; }; } { - name = "dotenv___dotenv_6.2.0.tgz"; + name = "dotenv_expand___dotenv_expand_5.1.0.tgz"; path = fetchurl { - name = "dotenv___dotenv_6.2.0.tgz"; - url = "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz"; - sha1 = "941c0410535d942c8becf28d3f357dbd9d476064"; + name = "dotenv_expand___dotenv_expand_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz"; + sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0"; + }; + } + { + name = "dotenv___dotenv_8.2.0.tgz"; + path = fetchurl { + name = "dotenv___dotenv_8.2.0.tgz"; + url = "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz"; + sha1 = "97e619259ada750eea3e4ea3e26bceea5424b16a"; }; } { @@ -3898,19 +4170,19 @@ }; } { - name = "electron_to_chromium___electron_to_chromium_1.3.252.tgz"; + name = "electron_to_chromium___electron_to_chromium_1.3.431.tgz"; path = fetchurl { - name = "electron_to_chromium___electron_to_chromium_1.3.252.tgz"; - url = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz"; - sha1 = "5b6261965b564a0f4df0f1c86246487897017f52"; + name = "electron_to_chromium___electron_to_chromium_1.3.431.tgz"; + url = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.431.tgz"; + sha1 = "705dd8ef46200415ba837b31d927cdc1e43db303"; }; } { - name = "elliptic___elliptic_6.5.1.tgz"; + name = "elliptic___elliptic_6.5.2.tgz"; path = fetchurl { - name = "elliptic___elliptic_6.5.1.tgz"; - url = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz"; - sha1 = "c380f5f909bf1b9b4428d028cd18d3b0efd6b52b"; + name = "elliptic___elliptic_6.5.2.tgz"; + url = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz"; + sha1 = "05c5678d7173c049d8ca433552224a495d0e3762"; }; } { @@ -3921,6 +4193,14 @@ sha1 = "933a04052860c85e83c122479c4748a8e4c72156"; }; } + { + name = "emoji_regex___emoji_regex_8.0.0.tgz"; + path = fetchurl { + name = "emoji_regex___emoji_regex_8.0.0.tgz"; + url = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz"; + sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37"; + }; + } { name = "emojis_list___emojis_list_2.1.0.tgz"; path = fetchurl { @@ -3929,6 +4209,14 @@ sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389"; }; } + { + name = "emojis_list___emojis_list_3.0.0.tgz"; + path = fetchurl { + name = "emojis_list___emojis_list_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz"; + sha1 = "5570662046ad29e2e916e71aae260abdff4f6a78"; + }; + } { name = "encodeurl___encodeurl_1.0.2.tgz"; path = fetchurl { @@ -3946,19 +4234,19 @@ }; } { - name = "end_of_stream___end_of_stream_1.4.1.tgz"; + name = "end_of_stream___end_of_stream_1.4.4.tgz"; path = fetchurl { - name = "end_of_stream___end_of_stream_1.4.1.tgz"; - url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz"; - sha1 = "ed29634d19baba463b6ce6b80a37213eab71ec43"; + name = "end_of_stream___end_of_stream_1.4.4.tgz"; + url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz"; + sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"; }; } { - name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz"; + name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz"; path = fetchurl { - name = "enhanced_resolve___enhanced_resolve_4.1.0.tgz"; - url = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz"; - sha1 = "41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"; + name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz"; + sha1 = "2937e2b8066cd0fe7ce0990a98f0d71a35189f66"; }; } { @@ -3986,11 +4274,11 @@ }; } { - name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.0.tgz"; + name = "enzyme_adapter_utils___enzyme_adapter_utils_1.13.0.tgz"; path = fetchurl { - name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.0.tgz"; - url = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.0.tgz"; - sha1 = "96e3730d76b872f593e54ce1c51fa3a451422d93"; + name = "enzyme_adapter_utils___enzyme_adapter_utils_1.13.0.tgz"; + url = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.0.tgz"; + sha1 = "01c885dde2114b4690bf741f8dc94cee3060eb78"; }; } { @@ -4010,27 +4298,27 @@ }; } { - name = "es_abstract___es_abstract_1.14.1.tgz"; + name = "es_abstract___es_abstract_1.17.5.tgz"; path = fetchurl { - name = "es_abstract___es_abstract_1.14.1.tgz"; - url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.14.1.tgz"; - sha1 = "6e8d84b445ec9c610781e74a6d52cc31aac5b4ca"; + name = "es_abstract___es_abstract_1.17.5.tgz"; + url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz"; + sha1 = "d8c9d1d66c8981fb9200e2251d799eee92774ae9"; }; } { - name = "es_to_primitive___es_to_primitive_1.2.0.tgz"; + name = "es_to_primitive___es_to_primitive_1.2.1.tgz"; path = fetchurl { - name = "es_to_primitive___es_to_primitive_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz"; - sha1 = "edf72478033456e8dda8ef09e00ad9650707f377"; + name = "es_to_primitive___es_to_primitive_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz"; + sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a"; }; } { - name = "es5_ext___es5_ext_0.10.51.tgz"; + name = "es5_ext___es5_ext_0.10.53.tgz"; path = fetchurl { - name = "es5_ext___es5_ext_0.10.51.tgz"; - url = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz"; - sha1 = "ed2d7d9d48a12df86e0299287e93a09ff478842f"; + name = "es5_ext___es5_ext_0.10.53.tgz"; + url = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz"; + sha1 = "93c5a3acfdbef275220ad72644ad02ee18368de1"; }; } { @@ -4042,27 +4330,11 @@ }; } { - name = "es6_promise___es6_promise_4.2.8.tgz"; + name = "es6_symbol___es6_symbol_3.1.3.tgz"; path = fetchurl { - name = "es6_promise___es6_promise_4.2.8.tgz"; - url = "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz"; - sha1 = "4eb21594c972bc40553d276e510539143db53e0a"; - }; - } - { - name = "es6_promisify___es6_promisify_5.0.0.tgz"; - path = fetchurl { - name = "es6_promisify___es6_promisify_5.0.0.tgz"; - url = "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz"; - sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203"; - }; - } - { - name = "es6_symbol___es6_symbol_3.1.1.tgz"; - path = fetchurl { - name = "es6_symbol___es6_symbol_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz"; - sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"; + name = "es6_symbol___es6_symbol_3.1.3.tgz"; + url = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz"; + sha1 = "bad5d3c1bcdac28269f4cb331e431c78ac705d18"; }; } { @@ -4073,6 +4345,14 @@ sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; }; } + { + name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz"; + path = fetchurl { + name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz"; + sha1 = "a30304e99daa32e23b2fd20f51babd07cffca344"; + }; + } { name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; path = fetchurl { @@ -4082,59 +4362,59 @@ }; } { - name = "escodegen___escodegen_1.12.0.tgz"; + name = "escodegen___escodegen_1.14.1.tgz"; path = fetchurl { - name = "escodegen___escodegen_1.12.0.tgz"; - url = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz"; - sha1 = "f763daf840af172bb3a2b6dd7219c0e17f7ff541"; + name = "escodegen___escodegen_1.14.1.tgz"; + url = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz"; + sha1 = "ba01d0c8278b5e95a9a45350142026659027a457"; }; } { - name = "eslint_config_react_app___eslint_config_react_app_5.0.1.tgz"; + name = "eslint_config_react_app___eslint_config_react_app_5.2.1.tgz"; path = fetchurl { - name = "eslint_config_react_app___eslint_config_react_app_5.0.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.1.tgz"; - sha1 = "5f3d666ba3ee3cb384eb943e260e868f6c72251b"; + name = "eslint_config_react_app___eslint_config_react_app_5.2.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz"; + sha1 = "698bf7aeee27f0cea0139eaef261c7bf7dd623df"; }; } { - name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz"; + name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.3.tgz"; path = fetchurl { - name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz"; - url = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz"; - sha1 = "58f15fb839b8d0576ca980413476aab2472db66a"; + name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz"; + sha1 = "dbaa52b6b2816b50bc6711af75422de808e98404"; }; } { - name = "eslint_loader___eslint_loader_2.2.1.tgz"; + name = "eslint_loader___eslint_loader_3.0.3.tgz"; path = fetchurl { - name = "eslint_loader___eslint_loader_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz"; - sha1 = "28b9c12da54057af0845e2a6112701a2f6bf8337"; + name = "eslint_loader___eslint_loader_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.3.tgz"; + sha1 = "e018e3d2722381d982b1201adb56819c73b480ca"; }; } { - name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz"; + name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz"; path = fetchurl { - name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz"; - sha1 = "7b4675875bf96b0dbf1b21977456e5bb1f5e018c"; + name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz"; + sha1 = "579ebd094f56af7797d19c9866c9c9486629bfa6"; }; } { - name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz"; + name = "eslint_plugin_flowtype___eslint_plugin_flowtype_4.6.0.tgz"; path = fetchurl { - name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz"; - sha1 = "e241ebd39c0ce519345a3f074ec1ebde4cf80f2c"; + name = "eslint_plugin_flowtype___eslint_plugin_flowtype_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz"; + sha1 = "82b2bd6f21770e0e5deede0228e456cb35308451"; }; } { - name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz"; + name = "eslint_plugin_import___eslint_plugin_import_2.20.1.tgz"; path = fetchurl { - name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz"; - sha1 = "02f1180b90b077b33d447a17a2326ceb400aceb6"; + name = "eslint_plugin_import___eslint_plugin_import_2.20.1.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz"; + sha1 = "802423196dcb11d9ce8435a5fc02a6d3b46939b3"; }; } { @@ -4154,19 +4434,11 @@ }; } { - name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz"; + name = "eslint_plugin_react___eslint_plugin_react_7.19.0.tgz"; path = fetchurl { - name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz"; - url = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz"; - sha1 = "911030dd7e98ba49e1b2208599571846a66bdf13"; - }; - } - { - name = "eslint_scope___eslint_scope_3.7.1.tgz"; - path = fetchurl { - name = "eslint_scope___eslint_scope_3.7.1.tgz"; - url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz"; - sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"; + name = "eslint_plugin_react___eslint_plugin_react_7.19.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz"; + sha1 = "6d08f9673628aa69c5559d33489e855d83551666"; }; } { @@ -4186,11 +4458,19 @@ }; } { - name = "eslint_utils___eslint_utils_1.4.2.tgz"; + name = "eslint_utils___eslint_utils_1.4.3.tgz"; path = fetchurl { - name = "eslint_utils___eslint_utils_1.4.2.tgz"; - url = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz"; - sha1 = "166a5180ef6ab7eb462f162fd0e6f2463d7309ab"; + name = "eslint_utils___eslint_utils_1.4.3.tgz"; + url = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz"; + sha1 = "74fec7c54d0776b6f67e0251040b5806564e981f"; + }; + } + { + name = "eslint_utils___eslint_utils_2.0.0.tgz"; + path = fetchurl { + name = "eslint_utils___eslint_utils_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz"; + sha1 = "7be1cc70f27a72a76cd14aa698bcabed6890e1cd"; }; } { @@ -4202,27 +4482,19 @@ }; } { - name = "eslint___eslint_6.3.0.tgz"; + name = "eslint___eslint_6.8.0.tgz"; path = fetchurl { - name = "eslint___eslint_6.3.0.tgz"; - url = "https://registry.yarnpkg.com/eslint/-/eslint-6.3.0.tgz"; - sha1 = "1f1a902f67bfd4c354e7288b81e40654d927eb6a"; + name = "eslint___eslint_6.8.0.tgz"; + url = "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz"; + sha1 = "62262d6729739f9275723824302fb227c8c93ffb"; }; } { - name = "espree___espree_6.1.1.tgz"; + name = "espree___espree_6.2.1.tgz"; path = fetchurl { - name = "espree___espree_6.1.1.tgz"; - url = "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz"; - sha1 = "7f80e5f7257fc47db450022d723e356daeb1e5de"; - }; - } - { - name = "esprima___esprima_3.1.3.tgz"; - path = fetchurl { - name = "esprima___esprima_3.1.3.tgz"; - url = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz"; - sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633"; + name = "espree___espree_6.2.1.tgz"; + url = "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz"; + sha1 = "77fc72e1fd744a2052c20f38a5b575832e82734a"; }; } { @@ -4234,11 +4506,11 @@ }; } { - name = "esquery___esquery_1.0.1.tgz"; + name = "esquery___esquery_1.3.1.tgz"; path = fetchurl { - name = "esquery___esquery_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz"; - sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708"; + name = "esquery___esquery_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz"; + sha1 = "b78b5828aa8e214e29fb74c4d5b752e1c033da57"; }; } { @@ -4257,6 +4529,14 @@ sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d"; }; } + { + name = "estraverse___estraverse_5.1.0.tgz"; + path = fetchurl { + name = "estraverse___estraverse_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz"; + sha1 = "374309d39fd935ae500e7b92e8a6b4c720e59642"; + }; + } { name = "esutils___esutils_2.0.3.tgz"; path = fetchurl { @@ -4274,19 +4554,19 @@ }; } { - name = "eventemitter3___eventemitter3_3.1.2.tgz"; + name = "eventemitter3___eventemitter3_4.0.0.tgz"; path = fetchurl { - name = "eventemitter3___eventemitter3_3.1.2.tgz"; - url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz"; - sha1 = "2d3d48f9c346698fce83a85d7d664e98535df6e7"; + name = "eventemitter3___eventemitter3_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz"; + sha1 = "d65176163887ee59f386d64c82610b696a4a74eb"; }; } { - name = "events___events_3.0.0.tgz"; + name = "events___events_3.1.0.tgz"; path = fetchurl { - name = "events___events_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz"; - sha1 = "9a0a0dfaf62893d92b875b8f2698ca4114973e88"; + name = "events___events_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz"; + sha1 = "84279af1b34cb75aa88bf5ff291f6d0bd9b31a59"; }; } { @@ -4306,11 +4586,11 @@ }; } { - name = "exec_sh___exec_sh_0.3.2.tgz"; + name = "exec_sh___exec_sh_0.3.4.tgz"; path = fetchurl { - name = "exec_sh___exec_sh_0.3.2.tgz"; - url = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz"; - sha1 = "6738de2eb7c8e671d0366aea0b0db8c6f7d7391b"; + name = "exec_sh___exec_sh_0.3.4.tgz"; + url = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz"; + sha1 = "3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"; }; } { @@ -4353,6 +4633,14 @@ sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134"; }; } + { + name = "ext___ext_1.4.0.tgz"; + path = fetchurl { + name = "ext___ext_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz"; + sha1 = "89ae7a07158f79d35517882904324077e4379244"; + }; + } { name = "extend_shallow___extend_shallow_2.0.1.tgz"; path = fetchurl { @@ -4394,11 +4682,11 @@ }; } { - name = "extract_zip___extract_zip_1.6.7.tgz"; + name = "extract_zip___extract_zip_2.0.0.tgz"; path = fetchurl { - name = "extract_zip___extract_zip_1.6.7.tgz"; - url = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz"; - sha1 = "a840b4b8af6403264c8db57f4f1a74333ef81fe9"; + name = "extract_zip___extract_zip_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.0.tgz"; + sha1 = "f53b71d44f4ff5a4527a2259ade000fb8b303492"; }; } { @@ -4418,11 +4706,11 @@ }; } { - name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; + name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz"; path = fetchurl { - name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"; - sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"; + name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"; + sha1 = "545145077c501491e33b15ec408c294376e94ae4"; }; } { @@ -4434,11 +4722,11 @@ }; } { - name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz"; path = fetchurl { - name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"; - sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2"; + name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; + sha1 = "874bf69c6f404c2b5d99c481341399fd55892633"; }; } { @@ -4466,11 +4754,11 @@ }; } { - name = "fb_watchman___fb_watchman_2.0.0.tgz"; + name = "fb_watchman___fb_watchman_2.0.1.tgz"; path = fetchurl { - name = "fb_watchman___fb_watchman_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz"; - sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"; + name = "fb_watchman___fb_watchman_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz"; + sha1 = "fc84fb39d2709cf3ff6d743706157bb5708a8a85"; }; } { @@ -4482,27 +4770,27 @@ }; } { - name = "fd_slicer___fd_slicer_1.0.1.tgz"; + name = "fd_slicer___fd_slicer_1.1.0.tgz"; path = fetchurl { - name = "fd_slicer___fd_slicer_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz"; - sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"; + name = "fd_slicer___fd_slicer_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz"; + sha1 = "25c7c89cb1f9077f8891bbe61d8f390eae256f1e"; }; } { - name = "figgy_pudding___figgy_pudding_3.5.1.tgz"; + name = "figgy_pudding___figgy_pudding_3.5.2.tgz"; path = fetchurl { - name = "figgy_pudding___figgy_pudding_3.5.1.tgz"; - url = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz"; - sha1 = "862470112901c727a0e495a80744bd5baa1d6790"; + name = "figgy_pudding___figgy_pudding_3.5.2.tgz"; + url = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz"; + sha1 = "b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"; }; } { - name = "figures___figures_2.0.0.tgz"; + name = "figures___figures_3.2.0.tgz"; path = fetchurl { - name = "figures___figures_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz"; - sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"; + name = "figures___figures_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz"; + sha1 = "625c18bd293c604dc4a8ddb2febf0c88341746af"; }; } { @@ -4514,19 +4802,27 @@ }; } { - name = "file_loader___file_loader_3.0.1.tgz"; + name = "file_loader___file_loader_4.3.0.tgz"; path = fetchurl { - name = "file_loader___file_loader_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz"; - sha1 = "f8e0ba0b599918b51adfe45d66d1e771ad560faa"; + name = "file_loader___file_loader_4.3.0.tgz"; + url = "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz"; + sha1 = "780f040f729b3d18019f20605f723e844b8a58af"; }; } { - name = "filesize___filesize_3.6.1.tgz"; + name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; path = fetchurl { - name = "filesize___filesize_3.6.1.tgz"; - url = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz"; - sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317"; + name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"; + sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd"; + }; + } + { + name = "filesize___filesize_6.0.1.tgz"; + path = fetchurl { + name = "filesize___filesize_6.0.1.tgz"; + url = "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz"; + sha1 = "f850b509909c7c86f7e450ea19006c31c2ed3d2f"; }; } { @@ -4537,6 +4833,14 @@ sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; }; } + { + name = "fill_range___fill_range_7.0.1.tgz"; + path = fetchurl { + name = "fill_range___fill_range_7.0.1.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz"; + sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40"; + }; + } { name = "finalhandler___finalhandler_1.1.2.tgz"; path = fetchurl { @@ -4562,11 +4866,19 @@ }; } { - name = "find_up___find_up_3.0.0.tgz"; + name = "find_cache_dir___find_cache_dir_3.3.1.tgz"; path = fetchurl { - name = "find_up___find_up_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; - sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73"; + name = "find_cache_dir___find_cache_dir_3.3.1.tgz"; + url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz"; + sha1 = "89b33fad4a4670daa94f855f7fbe31d6d84fe880"; + }; + } + { + name = "find_up___find_up_4.1.0.tgz"; + path = fetchurl { + name = "find_up___find_up_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz"; + sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"; }; } { @@ -4585,6 +4897,14 @@ sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7"; }; } + { + name = "find_up___find_up_3.0.0.tgz"; + path = fetchurl { + name = "find_up___find_up_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; + sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73"; + }; + } { name = "flat_cache___flat_cache_2.0.1.tgz"; path = fetchurl { @@ -4594,19 +4914,19 @@ }; } { - name = "flatted___flatted_2.0.1.tgz"; + name = "flatted___flatted_2.0.2.tgz"; path = fetchurl { - name = "flatted___flatted_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz"; - sha1 = "69e57caa8f0eacbc281d2e2cb458d46fdb449e08"; + name = "flatted___flatted_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz"; + sha1 = "4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"; }; } { - name = "flatten___flatten_1.0.2.tgz"; + name = "flatten___flatten_1.0.3.tgz"; path = fetchurl { - name = "flatten___flatten_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz"; - sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782"; + name = "flatten___flatten_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz"; + sha1 = "c1283ac9f27b368abc1e36d1ff7b04501a30356b"; }; } { @@ -4626,11 +4946,11 @@ }; } { - name = "follow_redirects___follow_redirects_1.8.1.tgz"; + name = "follow_redirects___follow_redirects_1.11.0.tgz"; path = fetchurl { - name = "follow_redirects___follow_redirects_1.8.1.tgz"; - url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.8.1.tgz"; - sha1 = "24804f9eaab67160b0e840c085885d606371a35b"; + name = "follow_redirects___follow_redirects_1.11.0.tgz"; + url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.11.0.tgz"; + sha1 = "afa14f08ba12a52963140fe43212658897bc0ecb"; }; } { @@ -4666,11 +4986,11 @@ }; } { - name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz"; + name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_3.1.1.tgz"; path = fetchurl { - name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz"; - url = "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz"; - sha1 = "ce1d77190b44d81a761b10b6284a373795e41f0c"; + name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz"; + sha1 = "a1642c0d3e65f50c2cc1742e9c0a80f441f86b19"; }; } { @@ -4714,11 +5034,11 @@ }; } { - name = "fs_extra___fs_extra_7.0.1.tgz"; + name = "fs_constants___fs_constants_1.0.0.tgz"; path = fetchurl { - name = "fs_extra___fs_extra_7.0.1.tgz"; - url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz"; - sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9"; + name = "fs_constants___fs_constants_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz"; + sha1 = "6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"; }; } { @@ -4730,11 +5050,27 @@ }; } { - name = "fs_minipass___fs_minipass_1.2.6.tgz"; + name = "fs_extra___fs_extra_7.0.1.tgz"; path = fetchurl { - name = "fs_minipass___fs_minipass_1.2.6.tgz"; - url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz"; - sha1 = "2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"; + name = "fs_extra___fs_extra_7.0.1.tgz"; + url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz"; + sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9"; + }; + } + { + name = "fs_extra___fs_extra_8.1.0.tgz"; + path = fetchurl { + name = "fs_extra___fs_extra_8.1.0.tgz"; + url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz"; + sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"; + }; + } + { + name = "fs_minipass___fs_minipass_2.1.0.tgz"; + path = fetchurl { + name = "fs_minipass___fs_minipass_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz"; + sha1 = "7f5036fdbf12c63c169190cbe4199c852271f9fb"; }; } { @@ -4754,19 +5090,27 @@ }; } { - name = "fsevents___fsevents_2.0.7.tgz"; + name = "fsevents___fsevents_2.1.2.tgz"; path = fetchurl { - name = "fsevents___fsevents_2.0.7.tgz"; - url = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz"; - sha1 = "382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a"; + name = "fsevents___fsevents_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz"; + sha1 = "4c0a1fb34bc68e543b4b82a9ec392bfbda840805"; }; } { - name = "fsevents___fsevents_1.2.9.tgz"; + name = "fsevents___fsevents_1.2.13.tgz"; path = fetchurl { - name = "fsevents___fsevents_1.2.9.tgz"; - url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz"; - sha1 = "3f5ed66583ccd6f400b5a00db6f7e861363e388f"; + name = "fsevents___fsevents_1.2.13.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz"; + sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38"; + }; + } + { + name = "fsevents___fsevents_2.1.3.tgz"; + path = fetchurl { + name = "fsevents___fsevents_2.1.3.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz"; + sha1 = "fb738703ae8d2f9fe900c33836ddebee8b97f23e"; }; } { @@ -4778,11 +5122,11 @@ }; } { - name = "function.prototype.name___function.prototype.name_1.1.1.tgz"; + name = "function.prototype.name___function.prototype.name_1.1.2.tgz"; path = fetchurl { - name = "function.prototype.name___function.prototype.name_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz"; - sha1 = "6d252350803085abc2ad423d4fe3be2f9cbda392"; + name = "function.prototype.name___function.prototype.name_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.2.tgz"; + sha1 = "5cdf79d7c05db401591dfde83e3b70c5123e9a45"; }; } { @@ -4794,19 +5138,19 @@ }; } { - name = "functions_have_names___functions_have_names_1.1.1.tgz"; + name = "functions_have_names___functions_have_names_1.2.1.tgz"; path = fetchurl { - name = "functions_have_names___functions_have_names_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.1.1.tgz"; - sha1 = "79d35927f07b8e7103d819fed475b64ccf7225ea"; + name = "functions_have_names___functions_have_names_1.2.1.tgz"; + url = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz"; + sha1 = "a981ac397fa0c9964551402cdc5533d7a4d52f91"; }; } { - name = "gauge___gauge_2.7.4.tgz"; + name = "gensync___gensync_1.0.0_beta.1.tgz"; path = fetchurl { - name = "gauge___gauge_2.7.4.tgz"; - url = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz"; - sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7"; + name = "gensync___gensync_1.0.0_beta.1.tgz"; + url = "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz"; + sha1 = "58f4361ff987e5ff6e1e7a210827aa371eaac269"; }; } { @@ -4826,27 +5170,19 @@ }; } { - name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.0.tgz"; + name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.2.tgz"; path = fetchurl { - name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz"; - sha1 = "b877b49a5c16aefac3655f2ed2ea5b684df8d203"; + name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz"; + sha1 = "b5fde77f22cbe35f390b4e089922c50bce6ef664"; }; } { - name = "get_port___get_port_5.0.0.tgz"; + name = "get_port___get_port_5.1.1.tgz"; path = fetchurl { - name = "get_port___get_port_5.0.0.tgz"; - url = "https://registry.yarnpkg.com/get-port/-/get-port-5.0.0.tgz"; - sha1 = "aa22b6b86fd926dd7884de3e23332c9f70c031a6"; - }; - } - { - name = "get_port___get_port_4.2.0.tgz"; - path = fetchurl { - name = "get_port___get_port_4.2.0.tgz"; - url = "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz"; - sha1 = "e37368b1e863b7629c43c5a323625f95cf24b119"; + name = "get_port___get_port_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz"; + sha1 = "0469ed07563479de6efb986baf053dcd7d4e3193"; }; } { @@ -4857,6 +5193,14 @@ sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"; }; } + { + name = "get_stream___get_stream_5.1.0.tgz"; + path = fetchurl { + name = "get_stream___get_stream_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz"; + sha1 = "01203cdc92597f9b909067c3e656cc1f4d3c4dc9"; + }; + } { name = "get_value___get_value_2.0.6.tgz"; path = fetchurl { @@ -4882,11 +5226,11 @@ }; } { - name = "glob_parent___glob_parent_5.0.0.tgz"; + name = "glob_parent___glob_parent_5.1.1.tgz"; path = fetchurl { - name = "glob_parent___glob_parent_5.0.0.tgz"; - url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz"; - sha1 = "1dc99f0f39b006d3e92c2c284068382f0c20e954"; + name = "glob_parent___glob_parent_5.1.1.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz"; + sha1 = "b6c1ef417c4e5663ea498f1c45afac6916bbc229"; }; } { @@ -4898,11 +5242,11 @@ }; } { - name = "glob___glob_7.1.4.tgz"; + name = "glob___glob_7.1.6.tgz"; path = fetchurl { - name = "glob___glob_7.1.4.tgz"; - url = "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz"; - sha1 = "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"; + name = "glob___glob_7.1.6.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz"; + sha1 = "141f33b81a7c2492e125594307480c46679278a6"; }; } { @@ -4929,6 +5273,14 @@ sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e"; }; } + { + name = "globals___globals_12.4.0.tgz"; + path = fetchurl { + name = "globals___globals_12.4.0.tgz"; + url = "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz"; + sha1 = "a18813576a41b00a24a97e7f815918c2e19925f8"; + }; + } { name = "globby___globby_8.0.2.tgz"; path = fetchurl { @@ -4946,11 +5298,11 @@ }; } { - name = "graceful_fs___graceful_fs_4.2.2.tgz"; + name = "graceful_fs___graceful_fs_4.2.4.tgz"; path = fetchurl { - name = "graceful_fs___graceful_fs_4.2.2.tgz"; - url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz"; - sha1 = "6f0952605d0140c1cfdb138ed005775b92d67b02"; + name = "graceful_fs___graceful_fs_4.2.4.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz"; + sha1 = "2256bde14d3632958c465ebc96dc467ca07a29fb"; }; } { @@ -4961,6 +5313,14 @@ sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081"; }; } + { + name = "gud___gud_1.0.0.tgz"; + path = fetchurl { + name = "gud___gud_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz"; + sha1 = "a489581b17e6a70beca9abe3ae57de7a499852c0"; + }; + } { name = "gzip_size___gzip_size_5.1.1.tgz"; path = fetchurl { @@ -4970,19 +5330,11 @@ }; } { - name = "handle_thing___handle_thing_2.0.0.tgz"; + name = "handle_thing___handle_thing_2.0.1.tgz"; path = fetchurl { - name = "handle_thing___handle_thing_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz"; - sha1 = "0e039695ff50c93fc288557d696f3c1dc6776754"; - }; - } - { - name = "handlebars___handlebars_4.2.0.tgz"; - path = fetchurl { - name = "handlebars___handlebars_4.2.0.tgz"; - url = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.2.0.tgz"; - sha1 = "57ce8d2175b9bbb3d8b3cf3e4217b1aec8ddcb2e"; + name = "handle_thing___handle_thing_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz"; + sha1 = "857f79ce359580c340d43081cc648970d0bb234e"; }; } { @@ -5026,19 +5378,19 @@ }; } { - name = "has_symbols___has_symbols_1.0.0.tgz"; + name = "has_flag___has_flag_4.0.0.tgz"; path = fetchurl { - name = "has_symbols___has_symbols_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz"; - sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44"; + name = "has_flag___has_flag_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz"; + sha1 = "944771fd9c81c81265c4d6941860da06bb59479b"; }; } { - name = "has_unicode___has_unicode_2.0.1.tgz"; + name = "has_symbols___has_symbols_1.0.1.tgz"; path = fetchurl { - name = "has_unicode___has_unicode_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz"; - sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9"; + name = "has_symbols___has_symbols_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz"; + sha1 = "9f5214758a44196c406d9bd76cebf81ec2dd31e8"; }; } { @@ -5082,11 +5434,11 @@ }; } { - name = "hash_base___hash_base_3.0.4.tgz"; + name = "hash_base___hash_base_3.1.0.tgz"; path = fetchurl { - name = "hash_base___hash_base_3.0.4.tgz"; - url = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz"; - sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918"; + name = "hash_base___hash_base_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz"; + sha1 = "55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"; }; } { @@ -5114,11 +5466,11 @@ }; } { - name = "history___history_4.9.0.tgz"; + name = "history___history_4.10.1.tgz"; path = fetchurl { - name = "history___history_4.9.0.tgz"; - url = "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz"; - sha1 = "84587c2068039ead8af769e9d6a6860a14fa1bca"; + name = "history___history_4.10.1.tgz"; + url = "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz"; + sha1 = "33371a65e3a83b267434e2b3f3b1b4c58aad4cf3"; }; } { @@ -5129,22 +5481,6 @@ sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1"; }; } - { - name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz"; - path = fetchurl { - name = "hoist_non_react_statics___hoist_non_react_statics_2.5.5.tgz"; - url = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz"; - sha1 = "c5903cf409c0dfd908f388e619d86b9c1174cb47"; - }; - } - { - name = "hoist_non_react_statics___hoist_non_react_statics_3.3.0.tgz"; - path = fetchurl { - name = "hoist_non_react_statics___hoist_non_react_statics_3.3.0.tgz"; - url = "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz"; - sha1 = "b09178f0122184fb95acf525daaecb4d8f45958b"; - }; - } { name = "hoist_non_react_statics___hoist_non_react_statics_3.3.2.tgz"; path = fetchurl { @@ -5154,11 +5490,11 @@ }; } { - name = "hosted_git_info___hosted_git_info_2.8.4.tgz"; + name = "hosted_git_info___hosted_git_info_2.8.8.tgz"; path = fetchurl { - name = "hosted_git_info___hosted_git_info_2.8.4.tgz"; - url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz"; - sha1 = "44119abaf4bc64692a16ace34700fed9c03e2546"; + name = "hosted_git_info___hosted_git_info_2.8.8.tgz"; + url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz"; + sha1 = "7539bd4bc1e0e0a895815a2e0262420b12858488"; }; } { @@ -5202,35 +5538,43 @@ }; } { - name = "html_entities___html_entities_1.2.1.tgz"; + name = "html_entities___html_entities_1.3.1.tgz"; path = fetchurl { - name = "html_entities___html_entities_1.2.1.tgz"; - url = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz"; - sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f"; + name = "html_entities___html_entities_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz"; + sha1 = "fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"; }; } { - name = "html_minifier___html_minifier_3.5.21.tgz"; + name = "html_escaper___html_escaper_2.0.2.tgz"; path = fetchurl { - name = "html_minifier___html_minifier_3.5.21.tgz"; - url = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz"; - sha1 = "d0040e054730e354db008463593194015212d20c"; + name = "html_escaper___html_escaper_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz"; + sha1 = "dfd60027da36a36dfcbe236262c00a5822681453"; }; } { - name = "html_to_react___html_to_react_1.4.1.tgz"; + name = "html_minifier_terser___html_minifier_terser_5.1.0.tgz"; path = fetchurl { - name = "html_to_react___html_to_react_1.4.1.tgz"; - url = "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.1.tgz"; - sha1 = "64f67657c6335056866e334c097556f25894dd47"; + name = "html_minifier_terser___html_minifier_terser_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz"; + sha1 = "95d3df037f04835e9d1a09d1767c0e361a7de916"; }; } { - name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz"; + name = "html_to_react___html_to_react_1.4.2.tgz"; path = fetchurl { - name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz"; - url = "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz"; - sha1 = "2c53083c1151bfec20479b1f8aaf0039e77b5513"; + name = "html_to_react___html_to_react_1.4.2.tgz"; + url = "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.2.tgz"; + sha1 = "7b628ab56cd63a52f2d0b79d0fa838a51f088a57"; + }; + } + { + name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.11.tgz"; + path = fetchurl { + name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.11.tgz"; + url = "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz"; + sha1 = "3059a69144b5aecef97708196ca32f9e68677715"; }; } { @@ -5242,11 +5586,11 @@ }; } { - name = "htmlparser2___htmlparser2_4.0.0.tgz"; + name = "htmlparser2___htmlparser2_4.1.0.tgz"; path = fetchurl { - name = "htmlparser2___htmlparser2_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.0.0.tgz"; - sha1 = "6034658db65b7713a572a9ebf79f650832dceec8"; + name = "htmlparser2___htmlparser2_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz"; + sha1 = "9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78"; }; } { @@ -5298,11 +5642,11 @@ }; } { - name = "http_proxy___http_proxy_1.17.0.tgz"; + name = "http_proxy___http_proxy_1.18.0.tgz"; path = fetchurl { - name = "http_proxy___http_proxy_1.17.0.tgz"; - url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz"; - sha1 = "7ad38494658f84605e2f6db4436df410f4e5be9a"; + name = "http_proxy___http_proxy_1.18.0.tgz"; + url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz"; + sha1 = "dbe55f63e75a347db7f3d99974f2692a314a6a3a"; }; } { @@ -5322,11 +5666,11 @@ }; } { - name = "https_proxy_agent___https_proxy_agent_2.2.2.tgz"; + name = "https_proxy_agent___https_proxy_agent_4.0.0.tgz"; path = fetchurl { - name = "https_proxy_agent___https_proxy_agent_2.2.2.tgz"; - url = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz"; - sha1 = "271ea8e90f836ac9f119daccd39c19ff7dfb0793"; + name = "https_proxy_agent___https_proxy_agent_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz"; + sha1 = "702b71fb5520a132a66de1f67541d9e62154d82b"; }; } { @@ -5345,14 +5689,6 @@ sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b"; }; } - { - name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz"; - path = fetchurl { - name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz"; - sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded"; - }; - } { name = "icss_utils___icss_utils_4.1.1.tgz"; path = fetchurl { @@ -5385,14 +5721,6 @@ sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"; }; } - { - name = "ignore_walk___ignore_walk_3.0.1.tgz"; - path = fetchurl { - name = "ignore_walk___ignore_walk_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz"; - sha1 = "a83e62e7d272ac0e3b551aaa82831a19b69f82f8"; - }; - } { name = "ignore___ignore_3.3.10.tgz"; path = fetchurl { @@ -5442,11 +5770,11 @@ }; } { - name = "import_fresh___import_fresh_3.1.0.tgz"; + name = "import_fresh___import_fresh_3.2.1.tgz"; path = fetchurl { - name = "import_fresh___import_fresh_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz"; - sha1 = "6d33fa1dcef6df930fae003446f33415af905118"; + name = "import_fresh___import_fresh_3.2.1.tgz"; + url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz"; + sha1 = "633ff618506e793af5ac91bf48b72677e15cbe66"; }; } { @@ -5473,6 +5801,14 @@ sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; }; } + { + name = "indent_string___indent_string_4.0.0.tgz"; + path = fetchurl { + name = "indent_string___indent_string_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz"; + sha1 = "624f8f4497d619b2d9768531d58f4122854d7251"; + }; + } { name = "indexes_of___indexes_of_1.0.1.tgz"; path = fetchurl { @@ -5530,19 +5866,19 @@ }; } { - name = "inquirer___inquirer_6.5.0.tgz"; + name = "inquirer___inquirer_7.0.4.tgz"; path = fetchurl { - name = "inquirer___inquirer_6.5.0.tgz"; - url = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz"; - sha1 = "2303317efc9a4ea7ec2e2df6f86569b734accf42"; + name = "inquirer___inquirer_7.0.4.tgz"; + url = "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz"; + sha1 = "99af5bde47153abca23f5c7fc30db247f39da703"; }; } { - name = "inquirer___inquirer_6.5.2.tgz"; + name = "inquirer___inquirer_7.1.0.tgz"; path = fetchurl { - name = "inquirer___inquirer_6.5.2.tgz"; - url = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz"; - sha1 = "ad50942375d036d327ff528c08bd5fab089928ca"; + name = "inquirer___inquirer_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz"; + sha1 = "1298a01859883e17c7264b82870ae1034f92dd29"; }; } { @@ -5553,6 +5889,14 @@ sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907"; }; } + { + name = "internal_slot___internal_slot_1.0.2.tgz"; + path = fetchurl { + name = "internal_slot___internal_slot_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz"; + sha1 = "9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3"; + }; + } { name = "invariant___invariant_2.2.4.tgz"; path = fetchurl { @@ -5585,14 +5929,6 @@ sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a"; }; } - { - name = "ipaddr.js___ipaddr.js_1.9.0.tgz"; - path = fetchurl { - name = "ipaddr.js___ipaddr.js_1.9.0.tgz"; - url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz"; - sha1 = "37df74e430a0e47550fe54a2defe30d8acd95f65"; - }; - } { name = "ipaddr.js___ipaddr.js_1.9.1.tgz"; path = fetchurl { @@ -5609,6 +5945,14 @@ sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"; }; } + { + name = "is_absolute_url___is_absolute_url_3.0.3.tgz"; + path = fetchurl { + name = "is_absolute_url___is_absolute_url_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz"; + sha1 = "96c6a22b6a23929b11ea0afb1836c36ad4a5d698"; + }; + } { name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; path = fetchurl { @@ -5626,19 +5970,19 @@ }; } { - name = "is_alphabetical___is_alphabetical_1.0.3.tgz"; + name = "is_alphabetical___is_alphabetical_1.0.4.tgz"; path = fetchurl { - name = "is_alphabetical___is_alphabetical_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz"; - sha1 = "eb04cc47219a8895d8450ace4715abff2258a1f8"; + name = "is_alphabetical___is_alphabetical_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz"; + sha1 = "9e7d6b94916be22153745d184c298cbf986a686d"; }; } { - name = "is_alphanumerical___is_alphanumerical_1.0.3.tgz"; + name = "is_alphanumerical___is_alphanumerical_1.0.4.tgz"; path = fetchurl { - name = "is_alphanumerical___is_alphanumerical_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz"; - sha1 = "57ae21c374277b3defe0274c640a5704b8f6657c"; + name = "is_alphanumerical___is_alphanumerical_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz"; + sha1 = "7eb9a2431f855f6b1ef1a78e326df515696c4dbf"; }; } { @@ -5673,6 +6017,14 @@ sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; }; } + { + name = "is_binary_path___is_binary_path_2.1.0.tgz"; + path = fetchurl { + name = "is_binary_path___is_binary_path_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz"; + sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09"; + }; + } { name = "is_buffer___is_buffer_1.1.6.tgz"; path = fetchurl { @@ -5682,19 +6034,11 @@ }; } { - name = "is_buffer___is_buffer_2.0.3.tgz"; + name = "is_callable___is_callable_1.1.5.tgz"; path = fetchurl { - name = "is_buffer___is_buffer_2.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz"; - sha1 = "4ecf3fcf749cbd1e472689e109ac66261a25e725"; - }; - } - { - name = "is_callable___is_callable_1.1.4.tgz"; - path = fetchurl { - name = "is_callable___is_callable_1.1.4.tgz"; - url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz"; - sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"; + name = "is_callable___is_callable_1.1.5.tgz"; + url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz"; + sha1 = "f7e46b596890456db74e7f6e976cb3273d06faab"; }; } { @@ -5730,19 +6074,19 @@ }; } { - name = "is_date_object___is_date_object_1.0.1.tgz"; + name = "is_date_object___is_date_object_1.0.2.tgz"; path = fetchurl { - name = "is_date_object___is_date_object_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz"; - sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"; + name = "is_date_object___is_date_object_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz"; + sha1 = "bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"; }; } { - name = "is_decimal___is_decimal_1.0.3.tgz"; + name = "is_decimal___is_decimal_1.0.4.tgz"; path = fetchurl { - name = "is_decimal___is_decimal_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz"; - sha1 = "381068759b9dc807d8c0dc0bfbae2b68e1da48b7"; + name = "is_decimal___is_decimal_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz"; + sha1 = "65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5"; }; } { @@ -5769,6 +6113,14 @@ sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1"; }; } + { + name = "is_docker___is_docker_2.0.0.tgz"; + path = fetchurl { + name = "is_docker___is_docker_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz"; + sha1 = "2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"; + }; + } { name = "is_extendable___is_extendable_0.1.1.tgz"; path = fetchurl { @@ -5809,6 +6161,14 @@ sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; }; } + { + name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz"; + path = fetchurl { + name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"; + sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d"; + }; + } { name = "is_generator_fn___is_generator_fn_2.1.0.tgz"; path = fetchurl { @@ -5834,11 +6194,11 @@ }; } { - name = "is_hexadecimal___is_hexadecimal_1.0.3.tgz"; + name = "is_hexadecimal___is_hexadecimal_1.0.4.tgz"; path = fetchurl { - name = "is_hexadecimal___is_hexadecimal_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz"; - sha1 = "e8a426a69b6d31470d3a33a47bb825cda02506ee"; + name = "is_hexadecimal___is_hexadecimal_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz"; + sha1 = "cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"; }; } { @@ -5857,6 +6217,14 @@ sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; }; } + { + name = "is_number___is_number_7.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz"; + sha1 = "7535345b896734d5f80c4d06c50955527a14f12b"; + }; + } { name = "is_obj___is_obj_1.0.1.tgz"; path = fetchurl { @@ -5866,27 +6234,35 @@ }; } { - name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; + name = "is_obj___is_obj_2.0.0.tgz"; path = fetchurl { - name = "is_path_cwd___is_path_cwd_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz"; - sha1 = "d225ec23132e89edd38fda767472e62e65f1106d"; + name = "is_obj___is_obj_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz"; + sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982"; }; } { - name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; + name = "is_path_cwd___is_path_cwd_2.2.0.tgz"; path = fetchurl { - name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz"; - sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52"; + name = "is_path_cwd___is_path_cwd_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz"; + sha1 = "67d43b82664a7b5191fd9119127eb300048a9fdb"; }; } { - name = "is_path_inside___is_path_inside_1.0.1.tgz"; + name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz"; path = fetchurl { - name = "is_path_inside___is_path_inside_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz"; - sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"; + name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz"; + sha1 = "bfe2dca26c69f397265a4009963602935a053acb"; + }; + } + { + name = "is_path_inside___is_path_inside_2.1.0.tgz"; + path = fetchurl { + name = "is_path_inside___is_path_inside_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz"; + sha1 = "7c9810587d659a40d27bcdb4d5616eab059494b2"; }; } { @@ -5906,19 +6282,11 @@ }; } { - name = "is_promise___is_promise_2.1.0.tgz"; + name = "is_regex___is_regex_1.0.5.tgz"; path = fetchurl { - name = "is_promise___is_promise_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz"; - sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"; - }; - } - { - name = "is_regex___is_regex_1.0.4.tgz"; - path = fetchurl { - name = "is_regex___is_regex_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz"; - sha1 = "5517489b547091b0930e095654ced25ee97e9491"; + name = "is_regex___is_regex_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz"; + sha1 = "39d589a358bf18967f726967120b8fc1aed74eae"; }; } { @@ -5953,6 +6321,14 @@ sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; }; } + { + name = "is_string___is_string_1.0.5.tgz"; + path = fetchurl { + name = "is_string___is_string_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz"; + sha1 = "40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"; + }; + } { name = "is_svg___is_svg_3.0.0.tgz"; path = fetchurl { @@ -5962,11 +6338,11 @@ }; } { - name = "is_symbol___is_symbol_1.0.2.tgz"; + name = "is_symbol___is_symbol_1.0.3.tgz"; path = fetchurl { - name = "is_symbol___is_symbol_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz"; - sha1 = "a055f6ae57192caee329e7a860118b497a950f38"; + name = "is_symbol___is_symbol_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz"; + sha1 = "38e1014b9e6329be0de9d24a414fd7441ec61937"; }; } { @@ -5978,11 +6354,11 @@ }; } { - name = "is_whitespace_character___is_whitespace_character_1.0.3.tgz"; + name = "is_whitespace_character___is_whitespace_character_1.0.4.tgz"; path = fetchurl { - name = "is_whitespace_character___is_whitespace_character_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz"; - sha1 = "b3ad9546d916d7d3ffa78204bca0c26b56257fac"; + name = "is_whitespace_character___is_whitespace_character_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz"; + sha1 = "0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7"; }; } { @@ -5994,11 +6370,11 @@ }; } { - name = "is_word_character___is_word_character_1.0.3.tgz"; + name = "is_word_character___is_word_character_1.0.4.tgz"; path = fetchurl { - name = "is_word_character___is_word_character_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz"; - sha1 = "264d15541cbad0ba833d3992c34e6b40873b08aa"; + name = "is_word_character___is_word_character_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz"; + sha1 = "ce0e73216f98599060592f62ff31354ddbeb0230"; }; } { @@ -6009,6 +6385,14 @@ sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d"; }; } + { + name = "is_wsl___is_wsl_2.2.0.tgz"; + path = fetchurl { + name = "is_wsl___is_wsl_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz"; + sha1 = "74a4c76e77ca9fd3f932f290c17ea326cd157271"; + }; + } { name = "isarray___isarray_0.0.1.tgz"; path = fetchurl { @@ -6098,11 +6482,11 @@ }; } { - name = "istanbul_reports___istanbul_reports_2.2.6.tgz"; + name = "istanbul_reports___istanbul_reports_2.2.7.tgz"; path = fetchurl { - name = "istanbul_reports___istanbul_reports_2.2.6.tgz"; - url = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz"; - sha1 = "7b4f2660d82b29303a8fe6091f8ca4bf058da1af"; + name = "istanbul_reports___istanbul_reports_2.2.7.tgz"; + url = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz"; + sha1 = "5d939f6237d7b48393cc0959eab40cd4fd056931"; }; } { @@ -6137,6 +6521,14 @@ sha1 = "931b7d0d5778a1baf7452cb816e325e3724055da"; }; } + { + name = "jest_diff___jest_diff_25.5.0.tgz"; + path = fetchurl { + name = "jest_diff___jest_diff_25.5.0.tgz"; + url = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz"; + sha1 = "1dd26ed64f96667c068cef026b677dfa01afcfa9"; + }; + } { name = "jest_docblock___jest_docblock_24.9.0.tgz"; path = fetchurl { @@ -6154,11 +6546,11 @@ }; } { - name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz"; + name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_1.0.1.tgz"; path = fetchurl { - name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz"; - sha1 = "aad6393a9d4b565b69a609109bf469f62bf18ccc"; + name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-1.0.1.tgz"; + sha1 = "4cd0042f58b4ab666950d96532ecb2fc188f96fb"; }; } { @@ -6185,6 +6577,14 @@ sha1 = "1684a0c8a50f2e4901b6644ae861f579eed2ef0e"; }; } + { + name = "jest_get_type___jest_get_type_25.2.6.tgz"; + path = fetchurl { + name = "jest_get_type___jest_get_type_25.2.6.tgz"; + url = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz"; + sha1 = "0b0a32fab8908b44d508be81681487dbabb8d877"; + }; + } { name = "jest_haste_map___jest_haste_map_24.9.0.tgz"; path = fetchurl { @@ -6257,14 +6657,6 @@ sha1 = "ad055198959c4cfba8a4f066c673a3f0786507ab"; }; } - { - name = "jest_resolve___jest_resolve_24.8.0.tgz"; - path = fetchurl { - name = "jest_resolve___jest_resolve_24.8.0.tgz"; - url = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz"; - sha1 = "84b8e5408c1f6a11539793e2b5feb1b6e722439f"; - }; - } { name = "jest_resolve___jest_resolve_24.9.0.tgz"; path = fetchurl { @@ -6322,11 +6714,11 @@ }; } { - name = "jest_watch_typeahead___jest_watch_typeahead_0.3.1.tgz"; + name = "jest_watch_typeahead___jest_watch_typeahead_0.4.2.tgz"; path = fetchurl { - name = "jest_watch_typeahead___jest_watch_typeahead_0.3.1.tgz"; - url = "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.3.1.tgz"; - sha1 = "47701024b64b444aa325d801b4b3a6d61ed70701"; + name = "jest_watch_typeahead___jest_watch_typeahead_0.4.2.tgz"; + url = "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz"; + sha1 = "e5be959698a7fa2302229a5082c488c3c8780a4a"; }; } { @@ -6346,27 +6738,27 @@ }; } { - name = "jest___jest_24.8.0.tgz"; + name = "jest_worker___jest_worker_25.5.0.tgz"; path = fetchurl { - name = "jest___jest_24.8.0.tgz"; - url = "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz"; - sha1 = "d5dff1984d0d1002196e9b7f12f75af1b2809081"; + name = "jest_worker___jest_worker_25.5.0.tgz"; + url = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz"; + sha1 = "2611d071b79cea0f43ee57a3d118593ac1547db1"; }; } { - name = "js_base64___js_base64_2.5.1.tgz"; + name = "jest___jest_24.9.0.tgz"; path = fetchurl { - name = "js_base64___js_base64_2.5.1.tgz"; - url = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz"; - sha1 = "1efa39ef2c5f7980bb1784ade4a8af2de3291121"; + name = "jest___jest_24.9.0.tgz"; + url = "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz"; + sha1 = "987d290c05a08b52c56188c1002e368edb007171"; }; } { - name = "js_levenshtein___js_levenshtein_1.1.6.tgz"; + name = "js_base64___js_base64_2.5.2.tgz"; path = fetchurl { - name = "js_levenshtein___js_levenshtein_1.1.6.tgz"; - url = "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz"; - sha1 = "c6cee58eb3550372df8deb85fad5ce66ce01d59d"; + name = "js_base64___js_base64_2.5.2.tgz"; + url = "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz"; + sha1 = "313b6274dda718f714d00b3330bbae6e38e90209"; }; } { @@ -6498,11 +6890,11 @@ }; } { - name = "json5___json5_2.1.0.tgz"; + name = "json5___json5_2.1.3.tgz"; path = fetchurl { - name = "json5___json5_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz"; - sha1 = "e7a0c62c48285c628d20a10b85c89bb807c32850"; + name = "json5___json5_2.1.3.tgz"; + url = "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz"; + sha1 = "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"; }; } { @@ -6530,75 +6922,75 @@ }; } { - name = "jss_plugin_camel_case___jss_plugin_camel_case_10.0.4.tgz"; + name = "jss_plugin_camel_case___jss_plugin_camel_case_10.1.1.tgz"; path = fetchurl { - name = "jss_plugin_camel_case___jss_plugin_camel_case_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.4.tgz"; - sha1 = "3dedecec1e5bba0bf6141c2c05e2ab11ea4b468d"; + name = "jss_plugin_camel_case___jss_plugin_camel_case_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.1.1.tgz"; + sha1 = "8e73ecc4f1d0f8dfe4dd31f6f9f2782588970e78"; }; } { - name = "jss_plugin_default_unit___jss_plugin_default_unit_10.0.4.tgz"; + name = "jss_plugin_default_unit___jss_plugin_default_unit_10.1.1.tgz"; path = fetchurl { - name = "jss_plugin_default_unit___jss_plugin_default_unit_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.4.tgz"; - sha1 = "df03885de20f20a1fc1c21bdb7c62e865ee400d9"; + name = "jss_plugin_default_unit___jss_plugin_default_unit_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.1.1.tgz"; + sha1 = "2df86016dfe73085eead843f5794e3890e9c5c47"; }; } { - name = "jss_plugin_global___jss_plugin_global_10.0.4.tgz"; + name = "jss_plugin_global___jss_plugin_global_10.1.1.tgz"; path = fetchurl { - name = "jss_plugin_global___jss_plugin_global_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.0.4.tgz"; - sha1 = "412245b56133cc88bec654a70d82d5922619f4c5"; + name = "jss_plugin_global___jss_plugin_global_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.1.1.tgz"; + sha1 = "36b0d6d9facb74dfd99590643708a89260747d14"; }; } { - name = "jss_plugin_nested___jss_plugin_nested_10.0.4.tgz"; + name = "jss_plugin_nested___jss_plugin_nested_10.1.1.tgz"; path = fetchurl { - name = "jss_plugin_nested___jss_plugin_nested_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.0.4.tgz"; - sha1 = "4d15ad13995fb6e4125618006473a096d2475d75"; + name = "jss_plugin_nested___jss_plugin_nested_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.1.1.tgz"; + sha1 = "5c3de2b8bda344de1ebcef3a4fd30870a29a8a8c"; }; } { - name = "jss_plugin_props_sort___jss_plugin_props_sort_10.0.4.tgz"; + name = "jss_plugin_props_sort___jss_plugin_props_sort_10.1.1.tgz"; path = fetchurl { - name = "jss_plugin_props_sort___jss_plugin_props_sort_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.4.tgz"; - sha1 = "43c880ff8dfcf858f809f663ece5e65a1d945b5a"; + name = "jss_plugin_props_sort___jss_plugin_props_sort_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.1.1.tgz"; + sha1 = "34bddcbfaf9430ec8ccdf92729f03bb10caf1785"; }; } { - name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.0.4.tgz"; + name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.1.1.tgz"; path = fetchurl { - name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.4.tgz"; - sha1 = "2f4cf4a86ad3eba875bb48cb9f4a7ed35cb354e7"; + name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.1.1.tgz"; + sha1 = "be00dac6fc394aaddbcef5860b9eca6224d96382"; }; } { - name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.0.4.tgz"; + name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.1.1.tgz"; path = fetchurl { - name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.4.tgz"; - sha1 = "1626ef612a4541cff17cf96815e1740155214ed2"; + name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.1.1.tgz"; + sha1 = "8348b20749f790beebab3b6a8f7075b07c2cfcfd"; }; } { - name = "jss___jss_10.0.4.tgz"; + name = "jss___jss_10.1.1.tgz"; path = fetchurl { - name = "jss___jss_10.0.4.tgz"; - url = "https://registry.yarnpkg.com/jss/-/jss-10.0.4.tgz"; - sha1 = "46ebdde1c40c9a079d64f3334cb88ae28fd90bfd"; + name = "jss___jss_10.1.1.tgz"; + url = "https://registry.yarnpkg.com/jss/-/jss-10.1.1.tgz"; + sha1 = "450b27d53761af3e500b43130a54cdbe157ea332"; }; } { - name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz"; + name = "jsx_ast_utils___jsx_ast_utils_2.2.3.tgz"; path = fetchurl { - name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz"; - sha1 = "4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb"; + name = "jsx_ast_utils___jsx_ast_utils_2.2.3.tgz"; + url = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz"; + sha1 = "8a9364e402448a3ce7f14d357738310d9248054f"; }; } { @@ -6642,11 +7034,11 @@ }; } { - name = "kind_of___kind_of_6.0.2.tgz"; + name = "kind_of___kind_of_6.0.3.tgz"; path = fetchurl { - name = "kind_of___kind_of_6.0.2.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz"; - sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051"; + name = "kind_of___kind_of_6.0.3.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz"; + sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd"; }; } { @@ -6705,6 +7097,14 @@ sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2"; }; } + { + name = "levenary___levenary_1.1.1.tgz"; + path = fetchurl { + name = "levenary___levenary_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz"; + sha1 = "842a9ee98d2075aa7faeedbe32679e9205f46f77"; + }; + } { name = "levn___levn_0.3.0.tgz"; path = fetchurl { @@ -6713,6 +7113,14 @@ sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; }; } + { + name = "lines_and_columns___lines_and_columns_1.1.6.tgz"; + path = fetchurl { + name = "lines_and_columns___lines_and_columns_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz"; + sha1 = "1c00c743b433cd0a4e80758f7b64a57440d9ff00"; + }; + } { name = "load_json_file___load_json_file_2.0.0.tgz"; path = fetchurl { @@ -6730,11 +7138,11 @@ }; } { - name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz"; + name = "loader_fs_cache___loader_fs_cache_1.0.3.tgz"; path = fetchurl { - name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz"; - sha1 = "54cedf6b727e1779fd8f01205f05f6e88706f086"; + name = "loader_fs_cache___loader_fs_cache_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz"; + sha1 = "f08657646d607078be2f0a032f8bd69dd6f277d9"; }; } { @@ -6753,6 +7161,14 @@ sha1 = "1ff5dc6911c9f0a062531a4c04b609406108c2c7"; }; } + { + name = "loader_utils___loader_utils_1.4.0.tgz"; + path = fetchurl { + name = "loader_utils___loader_utils_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz"; + sha1 = "c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"; + }; + } { name = "locate_path___locate_path_2.0.0.tgz"; path = fetchurl { @@ -6769,6 +7185,14 @@ sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e"; }; } + { + name = "locate_path___locate_path_5.0.0.tgz"; + path = fetchurl { + name = "locate_path___locate_path_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz"; + sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0"; + }; + } { name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; path = fetchurl { @@ -6833,14 +7257,6 @@ sha1 = "e481310f049d3cf6d47e912ad09313b154f0fb33"; }; } - { - name = "lodash.unescape___lodash.unescape_4.0.1.tgz"; - path = fetchurl { - name = "lodash.unescape___lodash.unescape_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz"; - sha1 = "bf2249886ce514cda112fae9218cdc065211fc9c"; - }; - } { name = "lodash.uniq___lodash.uniq_4.5.0.tgz"; path = fetchurl { @@ -6858,11 +7274,11 @@ }; } { - name = "loglevel___loglevel_1.6.3.tgz"; + name = "loglevel___loglevel_1.6.8.tgz"; path = fetchurl { - name = "loglevel___loglevel_1.6.3.tgz"; - url = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz"; - sha1 = "77f2eb64be55a404c9fd04ad16d57c1d6d6b1280"; + name = "loglevel___loglevel_1.6.8.tgz"; + url = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz"; + sha1 = "8a25fb75d092230ecd4457270d80b54e28011171"; }; } { @@ -6874,11 +7290,11 @@ }; } { - name = "lower_case___lower_case_1.1.4.tgz"; + name = "lower_case___lower_case_2.0.1.tgz"; path = fetchurl { - name = "lower_case___lower_case_1.1.4.tgz"; - url = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz"; - sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"; + name = "lower_case___lower_case_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz"; + sha1 = "39eeb36e396115cc05e29422eaea9e692c9408c7"; }; } { @@ -6897,6 +7313,14 @@ sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5"; }; } + { + name = "make_dir___make_dir_3.1.0.tgz"; + path = fetchurl { + name = "make_dir___make_dir_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz"; + sha1 = "415e967046b3a7f1d185277d84aa58203726a13f"; + }; + } { name = "makeerror___makeerror_1.0.11.tgz"; path = fetchurl { @@ -6938,11 +7362,11 @@ }; } { - name = "markdown_escapes___markdown_escapes_1.0.3.tgz"; + name = "markdown_escapes___markdown_escapes_1.0.4.tgz"; path = fetchurl { - name = "markdown_escapes___markdown_escapes_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz"; - sha1 = "6155e10416efaafab665d466ce598216375195f5"; + name = "markdown_escapes___markdown_escapes_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz"; + sha1 = "c95415ef451499d7602b91095f3c8e8975f78535"; }; } { @@ -6970,11 +7394,11 @@ }; } { - name = "mdn_data___mdn_data_1.1.4.tgz"; + name = "mdn_data___mdn_data_2.0.6.tgz"; path = fetchurl { - name = "mdn_data___mdn_data_1.1.4.tgz"; - url = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz"; - sha1 = "50b5d4ffc4575276573c4eedb8780812a8419f01"; + name = "mdn_data___mdn_data_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz"; + sha1 = "852dc60fcaa5daa2e8cf6c9189c440ed3e042978"; }; } { @@ -7001,6 +7425,14 @@ sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552"; }; } + { + name = "memory_fs___memory_fs_0.5.0.tgz"; + path = fetchurl { + name = "memory_fs___memory_fs_0.5.0.tgz"; + url = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz"; + sha1 = "324c01288b88652966d161db77838720845a8e3c"; + }; + } { name = "merge_deep___merge_deep_3.0.2.tgz"; path = fetchurl { @@ -7026,11 +7458,11 @@ }; } { - name = "merge2___merge2_1.2.4.tgz"; + name = "merge2___merge2_1.3.0.tgz"; path = fetchurl { - name = "merge2___merge2_1.2.4.tgz"; - url = "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz"; - sha1 = "c9269589e6885a60cf80605d9522d4b67ca646e3"; + name = "merge2___merge2_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz"; + sha1 = "5b366ee83b2f1582c48f87e47cf1a9352103ca81"; }; } { @@ -7066,27 +7498,19 @@ }; } { - name = "mime_db___mime_db_1.40.0.tgz"; + name = "mime_db___mime_db_1.44.0.tgz"; path = fetchurl { - name = "mime_db___mime_db_1.40.0.tgz"; - url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz"; - sha1 = "a65057e998db090f732a68f6c276d387d4126c32"; + name = "mime_db___mime_db_1.44.0.tgz"; + url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz"; + sha1 = "fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"; }; } { - name = "mime_db___mime_db_1.41.0.tgz"; + name = "mime_types___mime_types_2.1.27.tgz"; path = fetchurl { - name = "mime_db___mime_db_1.41.0.tgz"; - url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.41.0.tgz"; - sha1 = "9110408e1f6aa1b34aef51f2c9df3caddf46b6a0"; - }; - } - { - name = "mime_types___mime_types_2.1.24.tgz"; - path = fetchurl { - name = "mime_types___mime_types_2.1.24.tgz"; - url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz"; - sha1 = "b6f8d0b3e951efb77dedeca194cff6d16f676f81"; + name = "mime_types___mime_types_2.1.27.tgz"; + url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz"; + sha1 = "47949f98e279ea53119f5722e0f34e529bec009f"; }; } { @@ -7098,19 +7522,11 @@ }; } { - name = "mime___mime_2.4.4.tgz"; + name = "mime___mime_2.4.5.tgz"; path = fetchurl { - name = "mime___mime_2.4.4.tgz"; - url = "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz"; - sha1 = "bd7b91135fc6b01cde3e9bae33d659b63d8857e5"; - }; - } - { - name = "mimic_fn___mimic_fn_1.2.0.tgz"; - path = fetchurl { - name = "mimic_fn___mimic_fn_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz"; - sha1 = "820c86a39334640e99516928bd03fca88057d022"; + name = "mime___mime_2.4.5.tgz"; + url = "https://registry.yarnpkg.com/mime/-/mime-2.4.5.tgz"; + sha1 = "d8de2ecb92982dedbb6541c9b6841d7f218ea009"; }; } { @@ -7122,11 +7538,19 @@ }; } { - name = "mini_css_extract_plugin___mini_css_extract_plugin_0.5.0.tgz"; + name = "mini_create_react_context___mini_create_react_context_0.3.2.tgz"; path = fetchurl { - name = "mini_css_extract_plugin___mini_css_extract_plugin_0.5.0.tgz"; - url = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz"; - sha1 = "ac0059b02b9692515a637115b0cc9fed3a35c7b0"; + name = "mini_create_react_context___mini_create_react_context_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz"; + sha1 = "79fc598f283dd623da8e088b05db8cddab250189"; + }; + } + { + name = "mini_css_extract_plugin___mini_css_extract_plugin_0.9.0.tgz"; + path = fetchurl { + name = "mini_css_extract_plugin___mini_css_extract_plugin_0.9.0.tgz"; + url = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz"; + sha1 = "47f2cf07aa165ab35733b1fc97d4c46c0564339e"; }; } { @@ -7154,43 +7578,43 @@ }; } { - name = "minimist___minimist_0.0.8.tgz"; + name = "minimist___minimist_1.2.5.tgz"; path = fetchurl { - name = "minimist___minimist_0.0.8.tgz"; - url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz"; - sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + name = "minimist___minimist_1.2.5.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz"; + sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602"; }; } { - name = "minimist___minimist_1.2.0.tgz"; + name = "minipass_collect___minipass_collect_1.0.2.tgz"; path = fetchurl { - name = "minimist___minimist_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz"; - sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284"; + name = "minipass_collect___minipass_collect_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz"; + sha1 = "22b813bf745dc6edba2576b940022ad6edc8c617"; }; } { - name = "minimist___minimist_0.0.10.tgz"; + name = "minipass_flush___minipass_flush_1.0.5.tgz"; path = fetchurl { - name = "minimist___minimist_0.0.10.tgz"; - url = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz"; - sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf"; + name = "minipass_flush___minipass_flush_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz"; + sha1 = "82e7135d7e89a50ffe64610a787953c4c4cbb373"; }; } { - name = "minipass___minipass_2.5.0.tgz"; + name = "minipass_pipeline___minipass_pipeline_1.2.2.tgz"; path = fetchurl { - name = "minipass___minipass_2.5.0.tgz"; - url = "https://registry.yarnpkg.com/minipass/-/minipass-2.5.0.tgz"; - sha1 = "dddb1d001976978158a05badfcbef4a771612857"; + name = "minipass_pipeline___minipass_pipeline_1.2.2.tgz"; + url = "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz"; + sha1 = "3dcb6bb4a546e32969c7ad710f2c79a86abba93a"; }; } { - name = "minizlib___minizlib_1.2.1.tgz"; + name = "minipass___minipass_3.1.1.tgz"; path = fetchurl { - name = "minizlib___minizlib_1.2.1.tgz"; - url = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz"; - sha1 = "dd27ea6136243c7c880684e8672bb3a45fd9b614"; + name = "minipass___minipass_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz"; + sha1 = "7607ce778472a185ad6d89082aa2070f79cedcd5"; }; } { @@ -7218,35 +7642,51 @@ }; } { - name = "mkdirp___mkdirp_0.5.1.tgz"; + name = "mkdirp_classic___mkdirp_classic_0.5.3.tgz"; path = fetchurl { - name = "mkdirp___mkdirp_0.5.1.tgz"; - url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz"; - sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + name = "mkdirp_classic___mkdirp_classic_0.5.3.tgz"; + url = "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz"; + sha1 = "fa10c9115cc6d8865be221ba47ee9bed78601113"; }; } { - name = "mobx_react___mobx_react_5.4.4.tgz"; + name = "mkdirp___mkdirp_0.5.5.tgz"; path = fetchurl { - name = "mobx_react___mobx_react_5.4.4.tgz"; - url = "https://registry.yarnpkg.com/mobx-react/-/mobx-react-5.4.4.tgz"; - sha1 = "b3de9c6eabcd0ed8a40036888cb0221ab9568b80"; + name = "mkdirp___mkdirp_0.5.5.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz"; + sha1 = "d91cefd62d1436ca0f41620e251288d420099def"; }; } { - name = "mobx_utils___mobx_utils_5.4.1.tgz"; + name = "mobx_react_lite___mobx_react_lite_2.0.6.tgz"; path = fetchurl { - name = "mobx_utils___mobx_utils_5.4.1.tgz"; - url = "https://registry.yarnpkg.com/mobx-utils/-/mobx-utils-5.4.1.tgz"; - sha1 = "18ff5f9723b27e1ff50ae0b362938a4792eb077a"; + name = "mobx_react_lite___mobx_react_lite_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/mobx-react-lite/-/mobx-react-lite-2.0.6.tgz"; + sha1 = "e1307a2b271c6a6016c8ad815a25014b7f95997d"; }; } { - name = "mobx___mobx_5.13.0.tgz"; + name = "mobx_react___mobx_react_6.2.2.tgz"; path = fetchurl { - name = "mobx___mobx_5.13.0.tgz"; - url = "https://registry.yarnpkg.com/mobx/-/mobx-5.13.0.tgz"; - sha1 = "0fd68f10aa5ff2d146a4ed9e145b53337cfbca59"; + name = "mobx_react___mobx_react_6.2.2.tgz"; + url = "https://registry.yarnpkg.com/mobx-react/-/mobx-react-6.2.2.tgz"; + sha1 = "45e8e7c4894cac8399bba0a91060d7cfb8ea084b"; + }; + } + { + name = "mobx_utils___mobx_utils_5.5.7.tgz"; + path = fetchurl { + name = "mobx_utils___mobx_utils_5.5.7.tgz"; + url = "https://registry.yarnpkg.com/mobx-utils/-/mobx-utils-5.5.7.tgz"; + sha1 = "0ef58f2d5e05ca0e59ba2322f84f9c763de6ce14"; + }; + } + { + name = "mobx___mobx_5.15.4.tgz"; + path = fetchurl { + name = "mobx___mobx_5.15.4.tgz"; + url = "https://registry.yarnpkg.com/mobx/-/mobx-5.15.4.tgz"; + sha1 = "9da1a84e97ba624622f4e55a0bf3300fb931c2ab"; }; } { @@ -7298,19 +7738,19 @@ }; } { - name = "mute_stream___mute_stream_0.0.7.tgz"; + name = "mute_stream___mute_stream_0.0.8.tgz"; path = fetchurl { - name = "mute_stream___mute_stream_0.0.7.tgz"; - url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz"; - sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"; + name = "mute_stream___mute_stream_0.0.8.tgz"; + url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz"; + sha1 = "1630c42b2251ff81e2a283de96a5497ea92e5e0d"; }; } { - name = "nan___nan_2.14.0.tgz"; + name = "nan___nan_2.14.1.tgz"; path = fetchurl { - name = "nan___nan_2.14.0.tgz"; - url = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz"; - sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c"; + name = "nan___nan_2.14.1.tgz"; + url = "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz"; + sha1 = "d7be34dfa3105b91494c3147089315eff8874b01"; }; } { @@ -7329,14 +7769,6 @@ sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"; }; } - { - name = "needle___needle_2.4.0.tgz"; - path = fetchurl { - name = "needle___needle_2.4.0.tgz"; - url = "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz"; - sha1 = "6833e74975c444642590e15a750288c5f939b57c"; - }; - } { name = "negotiator___negotiator_0.6.2.tgz"; path = fetchurl { @@ -7370,11 +7802,11 @@ }; } { - name = "no_case___no_case_2.3.2.tgz"; + name = "no_case___no_case_3.0.3.tgz"; path = fetchurl { - name = "no_case___no_case_2.3.2.tgz"; - url = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz"; - sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac"; + name = "no_case___no_case_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz"; + sha1 = "c21b434c1ffe48b39087e86cfb4d2582e9df18f8"; }; } { @@ -7386,11 +7818,11 @@ }; } { - name = "node_forge___node_forge_0.7.5.tgz"; + name = "node_forge___node_forge_0.9.0.tgz"; path = fetchurl { - name = "node_forge___node_forge_0.7.5.tgz"; - url = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz"; - sha1 = "6c152c345ce11c52f465c2abd957e8639cd674df"; + name = "node_forge___node_forge_0.9.0.tgz"; + url = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz"; + sha1 = "d624050edbb44874adca12bb9a52ec63cb782579"; }; } { @@ -7426,27 +7858,11 @@ }; } { - name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz"; + name = "node_releases___node_releases_1.1.55.tgz"; path = fetchurl { - name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz"; - url = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz"; - sha1 = "39ba4bb1439da030295f899e3b520b7785766149"; - }; - } - { - name = "node_releases___node_releases_1.1.29.tgz"; - path = fetchurl { - name = "node_releases___node_releases_1.1.29.tgz"; - url = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.29.tgz"; - sha1 = "86a57c6587a30ecd6726449e5d293466b0a0bb86"; - }; - } - { - name = "nopt___nopt_4.0.1.tgz"; - path = fetchurl { - name = "nopt___nopt_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz"; - sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d"; + name = "node_releases___node_releases_1.1.55.tgz"; + url = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.55.tgz"; + sha1 = "8af23b7c561d8e2e6e36a46637bab84633b07cee"; }; } { @@ -7481,6 +7897,14 @@ sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942"; }; } + { + name = "normalize_url___normalize_url_1.9.1.tgz"; + path = fetchurl { + name = "normalize_url___normalize_url_1.9.1.tgz"; + url = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz"; + sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c"; + }; + } { name = "normalize_url___normalize_url_3.3.0.tgz"; path = fetchurl { @@ -7497,22 +7921,6 @@ sha1 = "7418c9d6c0533aebaa643414214af53b521d1b28"; }; } - { - name = "npm_bundled___npm_bundled_1.0.6.tgz"; - path = fetchurl { - name = "npm_bundled___npm_bundled_1.0.6.tgz"; - url = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz"; - sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd"; - }; - } - { - name = "npm_packlist___npm_packlist_1.4.4.tgz"; - path = fetchurl { - name = "npm_packlist___npm_packlist_1.4.4.tgz"; - url = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz"; - sha1 = "866224233850ac534b63d1a6e76050092b5d2f44"; - }; - } { name = "npm_run_path___npm_run_path_2.0.2.tgz"; path = fetchurl { @@ -7521,14 +7929,6 @@ sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f"; }; } - { - name = "npmlog___npmlog_4.1.2.tgz"; - path = fetchurl { - name = "npmlog___npmlog_4.1.2.tgz"; - url = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz"; - sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b"; - }; - } { name = "nth_check___nth_check_1.0.2.tgz"; path = fetchurl { @@ -7554,11 +7954,11 @@ }; } { - name = "nwsapi___nwsapi_2.1.4.tgz"; + name = "nwsapi___nwsapi_2.2.0.tgz"; path = fetchurl { - name = "nwsapi___nwsapi_2.1.4.tgz"; - url = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz"; - sha1 = "e006a878db23636f8e8a67d33ca0e4edf61a842f"; + name = "nwsapi___nwsapi_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz"; + sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7"; }; } { @@ -7594,27 +7994,27 @@ }; } { - name = "object_hash___object_hash_1.3.1.tgz"; + name = "object_hash___object_hash_2.0.3.tgz"; path = fetchurl { - name = "object_hash___object_hash_1.3.1.tgz"; - url = "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz"; - sha1 = "fde452098a951cb145f039bb7d455449ddc126df"; + name = "object_hash___object_hash_2.0.3.tgz"; + url = "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz"; + sha1 = "d12db044e03cd2ca3d77c0570d87225b02e1e6ea"; }; } { - name = "object_inspect___object_inspect_1.6.0.tgz"; + name = "object_inspect___object_inspect_1.7.0.tgz"; path = fetchurl { - name = "object_inspect___object_inspect_1.6.0.tgz"; - url = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz"; - sha1 = "c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"; + name = "object_inspect___object_inspect_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz"; + sha1 = "f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"; }; } { - name = "object_is___object_is_1.0.1.tgz"; + name = "object_is___object_is_1.1.2.tgz"; path = fetchurl { - name = "object_is___object_is_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz"; - sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"; + name = "object_is___object_is_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz"; + sha1 = "c5d2e87ff9e119f78b7a088441519e2eec1573b6"; }; } { @@ -7650,27 +8050,27 @@ }; } { - name = "object.entries___object.entries_1.1.0.tgz"; + name = "object.entries___object.entries_1.1.1.tgz"; path = fetchurl { - name = "object.entries___object.entries_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz"; - sha1 = "2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519"; + name = "object.entries___object.entries_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz"; + sha1 = "ee1cf04153de02bb093fec33683900f57ce5399b"; }; } { - name = "object.fromentries___object.fromentries_2.0.0.tgz"; + name = "object.fromentries___object.fromentries_2.0.2.tgz"; path = fetchurl { - name = "object.fromentries___object.fromentries_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz"; - sha1 = "49a543d92151f8277b3ac9600f1e930b189d30ab"; + name = "object.fromentries___object.fromentries_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz"; + sha1 = "4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"; }; } { - name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz"; + name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz"; path = fetchurl { - name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz"; - url = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz"; - sha1 = "8758c846f5b407adab0f236e0986f14b051caa16"; + name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz"; + sha1 = "369bf1f9592d8ab89d712dced5cb81c7c5352649"; }; } { @@ -7682,11 +8082,11 @@ }; } { - name = "object.values___object.values_1.1.0.tgz"; + name = "object.values___object.values_1.1.1.tgz"; path = fetchurl { - name = "object.values___object.values_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz"; - sha1 = "bf6810ef5da3e5325790eaaa2be213ea84624da9"; + name = "object.values___object.values_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz"; + sha1 = "68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"; }; } { @@ -7722,19 +8122,19 @@ }; } { - name = "onetime___onetime_2.0.1.tgz"; + name = "onetime___onetime_5.1.0.tgz"; path = fetchurl { - name = "onetime___onetime_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz"; - sha1 = "067428230fd67443b2794b22bba528b6867962d4"; + name = "onetime___onetime_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz"; + sha1 = "fff0f3c91617fe62bb50189636e99ac8a6df7be5"; }; } { - name = "open___open_6.4.0.tgz"; + name = "open___open_7.0.3.tgz"; path = fetchurl { - name = "open___open_6.4.0.tgz"; - url = "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz"; - sha1 = "5c13e96d0dc894686164f18965ecfe889ecfc8a9"; + name = "open___open_7.0.3.tgz"; + url = "https://registry.yarnpkg.com/open/-/open-7.0.3.tgz"; + sha1 = "db551a1af9c7ab4c7af664139930826138531c48"; }; } { @@ -7745,14 +8145,6 @@ sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc"; }; } - { - name = "optimist___optimist_0.6.1.tgz"; - path = fetchurl { - name = "optimist___optimist_0.6.1.tgz"; - url = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz"; - sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686"; - }; - } { name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz"; path = fetchurl { @@ -7762,11 +8154,11 @@ }; } { - name = "optionator___optionator_0.8.2.tgz"; + name = "optionator___optionator_0.8.3.tgz"; path = fetchurl { - name = "optionator___optionator_0.8.2.tgz"; - url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz"; - sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64"; + name = "optionator___optionator_0.8.3.tgz"; + url = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz"; + sha1 = "84fa1d036fe9d3c7e21d99884b601167ec8fb495"; }; } { @@ -7785,14 +8177,6 @@ sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27"; }; } - { - name = "os_homedir___os_homedir_1.0.2.tgz"; - path = fetchurl { - name = "os_homedir___os_homedir_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; - sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; - }; - } { name = "os_locale___os_locale_3.1.0.tgz"; path = fetchurl { @@ -7809,14 +8193,6 @@ sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; }; } - { - name = "osenv___osenv_0.1.5.tgz"; - path = fetchurl { - name = "osenv___osenv_0.1.5.tgz"; - url = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz"; - sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410"; - }; - } { name = "p_defer___p_defer_1.0.0.tgz"; path = fetchurl { @@ -7858,11 +8234,11 @@ }; } { - name = "p_limit___p_limit_2.2.1.tgz"; + name = "p_limit___p_limit_2.3.0.tgz"; path = fetchurl { - name = "p_limit___p_limit_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz"; - sha1 = "aa07a788cc3151c939b5131f63570f0dd2009537"; + name = "p_limit___p_limit_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz"; + sha1 = "3dd33c647a214fdfffd835933eb086da0dc21db1"; }; } { @@ -7882,11 +8258,27 @@ }; } { - name = "p_map___p_map_1.2.0.tgz"; + name = "p_locate___p_locate_4.1.0.tgz"; path = fetchurl { - name = "p_map___p_map_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz"; - sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b"; + name = "p_locate___p_locate_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz"; + sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07"; + }; + } + { + name = "p_map___p_map_2.1.0.tgz"; + path = fetchurl { + name = "p_map___p_map_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz"; + sha1 = "310928feef9c9ecc65b68b17693018a665cea175"; + }; + } + { + name = "p_map___p_map_3.0.0.tgz"; + path = fetchurl { + name = "p_map___p_map_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz"; + sha1 = "d704d9af8a2ba684e2600d9a215983d4141a979d"; }; } { @@ -7897,6 +8289,14 @@ sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"; }; } + { + name = "p_retry___p_retry_3.0.1.tgz"; + path = fetchurl { + name = "p_retry___p_retry_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz"; + sha1 = "316b4c8893e2c8dc1cfa891f406c4b422bebf328"; + }; + } { name = "p_try___p_try_1.0.0.tgz"; path = fetchurl { @@ -7914,27 +8314,27 @@ }; } { - name = "pako___pako_1.0.10.tgz"; + name = "pako___pako_1.0.11.tgz"; path = fetchurl { - name = "pako___pako_1.0.10.tgz"; - url = "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz"; - sha1 = "4328badb5086a426aa90f541977d4955da5c9732"; + name = "pako___pako_1.0.11.tgz"; + url = "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz"; + sha1 = "6c9599d340d54dfd3946380252a35705a6b992bf"; }; } { - name = "parallel_transform___parallel_transform_1.1.0.tgz"; + name = "parallel_transform___parallel_transform_1.2.0.tgz"; path = fetchurl { - name = "parallel_transform___parallel_transform_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz"; - sha1 = "d410f065b05da23081fcd10f28854c29bda33b06"; + name = "parallel_transform___parallel_transform_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz"; + sha1 = "9049ca37d6cb2182c3b1d2c720be94d14a5814fc"; }; } { - name = "param_case___param_case_2.1.1.tgz"; + name = "param_case___param_case_3.0.3.tgz"; path = fetchurl { - name = "param_case___param_case_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz"; - sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247"; + name = "param_case___param_case_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz"; + sha1 = "4be41f8399eff621c56eebb829a5e451d9801238"; }; } { @@ -7946,11 +8346,11 @@ }; } { - name = "parse_asn1___parse_asn1_5.1.4.tgz"; + name = "parse_asn1___parse_asn1_5.1.5.tgz"; path = fetchurl { - name = "parse_asn1___parse_asn1_5.1.4.tgz"; - url = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz"; - sha1 = "37f6628f823fbdeb2273b4d540434a22f3ef1fcc"; + name = "parse_asn1___parse_asn1_5.1.5.tgz"; + url = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz"; + sha1 = "003271343da58dc94cace494faef3d2147ecea0e"; }; } { @@ -7977,6 +8377,14 @@ sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0"; }; } + { + name = "parse_json___parse_json_5.0.0.tgz"; + path = fetchurl { + name = "parse_json___parse_json_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz"; + sha1 = "73e5114c986d143efa3712d4ea24db9a4266f60f"; + }; + } { name = "parse5___parse5_4.0.0.tgz"; path = fetchurl { @@ -8001,6 +8409,14 @@ sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4"; }; } + { + name = "pascal_case___pascal_case_3.1.1.tgz"; + path = fetchurl { + name = "pascal_case___pascal_case_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz"; + sha1 = "5ac1975133ed619281e88920973d2cd1f279de5f"; + }; + } { name = "pascalcase___pascalcase_0.1.1.tgz"; path = fetchurl { @@ -8041,6 +8457,14 @@ sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; }; } + { + name = "path_exists___path_exists_4.0.0.tgz"; + path = fetchurl { + name = "path_exists___path_exists_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz"; + sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"; + }; + } { name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; path = fetchurl { @@ -8065,6 +8489,14 @@ sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; }; } + { + name = "path_key___path_key_3.1.1.tgz"; + path = fetchurl { + name = "path_key___path_key_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz"; + sha1 = "581f6ade658cbba65a0d3380de7753295054f375"; + }; + } { name = "path_parse___path_parse_1.0.6.tgz"; path = fetchurl { @@ -8082,11 +8514,11 @@ }; } { - name = "path_to_regexp___path_to_regexp_1.7.0.tgz"; + name = "path_to_regexp___path_to_regexp_1.8.0.tgz"; path = fetchurl { - name = "path_to_regexp___path_to_regexp_1.7.0.tgz"; - url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz"; - sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d"; + name = "path_to_regexp___path_to_regexp_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz"; + sha1 = "887b3ba9d84393e87a0a0b9f4cb756198b53548a"; }; } { @@ -8105,6 +8537,14 @@ sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"; }; } + { + name = "path_type___path_type_4.0.0.tgz"; + path = fetchurl { + name = "path_type___path_type_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz"; + sha1 = "84ed01c0a7ba380afe09d90a8c180dcd9d03043b"; + }; + } { name = "pbkdf2___pbkdf2_3.0.17.tgz"; path = fetchurl { @@ -8129,6 +8569,14 @@ sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; }; } + { + name = "picomatch___picomatch_2.2.2.tgz"; + path = fetchurl { + name = "picomatch___picomatch_2.2.2.tgz"; + url = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz"; + sha1 = "21f333e9b6b8eaff02468f5146ea406d345f4dad"; + }; + } { name = "pify___pify_2.3.0.tgz"; path = fetchurl { @@ -8201,6 +8649,22 @@ sha1 = "2749020f239ed990881b1f71210d51eb6523bea3"; }; } + { + name = "pkg_dir___pkg_dir_4.2.0.tgz"; + path = fetchurl { + name = "pkg_dir___pkg_dir_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz"; + sha1 = "f099133df7ede422e81d1d8448270eeb3e4261f3"; + }; + } + { + name = "pkg_up___pkg_up_3.1.0.tgz"; + path = fetchurl { + name = "pkg_up___pkg_up_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz"; + sha1 = "100ec235cc150e4fd42519412596a28512a0def5"; + }; + } { name = "pkg_up___pkg_up_2.0.0.tgz"; path = fetchurl { @@ -8218,27 +8682,27 @@ }; } { - name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz"; + name = "pnp_webpack_plugin___pnp_webpack_plugin_1.6.4.tgz"; path = fetchurl { - name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz"; - url = "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz"; - sha1 = "62a1cd3068f46d564bb33c56eb250e4d586676eb"; + name = "pnp_webpack_plugin___pnp_webpack_plugin_1.6.4.tgz"; + url = "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz"; + sha1 = "c9711ac4dc48a685dabafc86f8b6dd9f8df84149"; }; } { - name = "popper.js___popper.js_1.15.0.tgz"; + name = "popper.js___popper.js_1.16.1.tgz"; path = fetchurl { - name = "popper.js___popper.js_1.15.0.tgz"; - url = "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz"; - sha1 = "5560b99bbad7647e9faa475c6b8056621f5a4ff2"; + name = "popper.js___popper.js_1.16.1.tgz"; + url = "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz"; + sha1 = "2a223cb3dc7b6213d740e40372be40de43e65b1b"; }; } { - name = "portfinder___portfinder_1.0.23.tgz"; + name = "portfinder___portfinder_1.0.26.tgz"; path = fetchurl { - name = "portfinder___portfinder_1.0.23.tgz"; - url = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.23.tgz"; - sha1 = "894db4bcc5daf02b6614517ce89cd21a38226b82"; + name = "portfinder___portfinder_1.0.26.tgz"; + url = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz"; + sha1 = "475658d56ca30bed72ac7f1378ed350bd1b64e70"; }; } { @@ -8250,27 +8714,27 @@ }; } { - name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz"; + name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.2.tgz"; path = fetchurl { - name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz"; - sha1 = "b2a721a0d279c2f9103a36331c88981526428cc7"; + name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz"; + sha1 = "d93e46b504589e94ac7277b0463226c68041a880"; }; } { - name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz"; + name = "postcss_browser_comments___postcss_browser_comments_3.0.0.tgz"; path = fetchurl { - name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz"; - sha1 = "dc48d6a8ddbff188a80a000b7393436cb18aed88"; + name = "postcss_browser_comments___postcss_browser_comments_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz"; + sha1 = "1248d2d935fb72053c8e1f61a84a57292d9f65e9"; }; } { - name = "postcss_calc___postcss_calc_7.0.1.tgz"; + name = "postcss_calc___postcss_calc_7.0.2.tgz"; path = fetchurl { - name = "postcss_calc___postcss_calc_7.0.1.tgz"; - url = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz"; - sha1 = "36d77bab023b0ecbb9789d84dcb23c4941145436"; + name = "postcss_calc___postcss_calc_7.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz"; + sha1 = "504efcd008ca0273120568b0792b16cdcde8aac1"; }; } { @@ -8458,11 +8922,11 @@ }; } { - name = "postcss_initial___postcss_initial_3.0.1.tgz"; + name = "postcss_initial___postcss_initial_3.0.2.tgz"; path = fetchurl { - name = "postcss_initial___postcss_initial_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz"; - sha1 = "99d319669a13d6c06ef8e70d852f68cb1b399b61"; + name = "postcss_initial___postcss_initial_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz"; + sha1 = "f018563694b3c16ae8eaabe3c585ac6319637b2d"; }; } { @@ -8562,27 +9026,27 @@ }; } { - name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz"; + name = "postcss_modules_local_by_default___postcss_modules_local_by_default_3.0.2.tgz"; path = fetchurl { - name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz"; - url = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz"; - sha1 = "dd9953f6dd476b5fd1ef2d8830c8929760b56e63"; + name = "postcss_modules_local_by_default___postcss_modules_local_by_default_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz"; + sha1 = "e8a6561be914aaf3c052876377524ca90dbb7915"; }; } { - name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz"; + name = "postcss_modules_scope___postcss_modules_scope_2.2.0.tgz"; path = fetchurl { - name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz"; - sha1 = "ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb"; + name = "postcss_modules_scope___postcss_modules_scope_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz"; + sha1 = "385cae013cc7743f5a7d7602d1073a89eaae62ee"; }; } { - name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz"; + name = "postcss_modules_values___postcss_modules_values_3.0.0.tgz"; path = fetchurl { - name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz"; - sha1 = "479b46dc0c5ca3dc7fa5270851836b9ec7152f64"; + name = "postcss_modules_values___postcss_modules_values_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz"; + sha1 = "5b5000d6ebae29b4255301b4a3a54574423e7f10"; }; } { @@ -8666,11 +9130,11 @@ }; } { - name = "postcss_normalize___postcss_normalize_7.0.1.tgz"; + name = "postcss_normalize___postcss_normalize_8.0.1.tgz"; path = fetchurl { - name = "postcss_normalize___postcss_normalize_7.0.1.tgz"; - url = "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-7.0.1.tgz"; - sha1 = "eb51568d962b8aa61a8318383c8bb7e54332282e"; + name = "postcss_normalize___postcss_normalize_8.0.1.tgz"; + url = "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-8.0.1.tgz"; + sha1 = "90e80a7763d7fdf2da6f2f0f82be832ce4f66776"; }; } { @@ -8770,11 +9234,11 @@ }; } { - name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz"; + name = "postcss_selector_parser___postcss_selector_parser_3.1.2.tgz"; path = fetchurl { - name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz"; - sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865"; + name = "postcss_selector_parser___postcss_selector_parser_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz"; + sha1 = "b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"; }; } { @@ -8818,11 +9282,11 @@ }; } { - name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz"; + name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz"; path = fetchurl { - name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz"; - url = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz"; - sha1 = "482282c09a42706d1fc9a069b73f44ec08391dc9"; + name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz"; + url = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz"; + sha1 = "443f6a20ced6481a2bda4fa8532a6e55d789a2cb"; }; } { @@ -8834,19 +9298,19 @@ }; } { - name = "postcss___postcss_7.0.14.tgz"; + name = "postcss___postcss_7.0.21.tgz"; path = fetchurl { - name = "postcss___postcss_7.0.14.tgz"; - url = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz"; - sha1 = "4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5"; + name = "postcss___postcss_7.0.21.tgz"; + url = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz"; + sha1 = "06bb07824c19c2021c5d056d5b10c35b989f7e17"; }; } { - name = "postcss___postcss_7.0.17.tgz"; + name = "postcss___postcss_7.0.29.tgz"; path = fetchurl { - name = "postcss___postcss_7.0.17.tgz"; - url = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz"; - sha1 = "4da1bdff5322d4a0acaab4d87f3e782436bad31f"; + name = "postcss___postcss_7.0.29.tgz"; + url = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.29.tgz"; + sha1 = "d3a903872bd52280b83bce38cdc83ce55c06129e"; }; } { @@ -8858,11 +9322,19 @@ }; } { - name = "prettier___prettier_1.18.2.tgz"; + name = "prepend_http___prepend_http_1.0.4.tgz"; path = fetchurl { - name = "prettier___prettier_1.18.2.tgz"; - url = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz"; - sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea"; + name = "prepend_http___prepend_http_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz"; + sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"; + }; + } + { + name = "prettier___prettier_2.0.5.tgz"; + path = fetchurl { + name = "prettier___prettier_2.0.5.tgz"; + url = "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz"; + sha1 = "d6d56282455243f2f92cc1716692c08aa31522d4"; }; } { @@ -8889,6 +9361,14 @@ sha1 = "12fac31b37019a4eea3c11aa9a959eb7628aa7c9"; }; } + { + name = "pretty_format___pretty_format_25.5.0.tgz"; + path = fetchurl { + name = "pretty_format___pretty_format_25.5.0.tgz"; + url = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz"; + sha1 = "7873c1d774f682c34b8d48b6743a2bf2ac55791a"; + }; + } { name = "private___private_0.1.8.tgz"; path = fetchurl { @@ -8929,14 +9409,6 @@ sha1 = "98472870bf228132fcbdd868129bad12c3c029e3"; }; } - { - name = "promise___promise_8.0.3.tgz"; - path = fetchurl { - name = "promise___promise_8.0.3.tgz"; - url = "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz"; - sha1 = "f592e099c6cddc000d538ee7283bb190452b0bf6"; - }; - } { name = "promise___promise_7.3.1.tgz"; path = fetchurl { @@ -8946,11 +9418,19 @@ }; } { - name = "prompts___prompts_2.2.1.tgz"; + name = "promise___promise_8.1.0.tgz"; path = fetchurl { - name = "prompts___prompts_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz"; - sha1 = "f901dd2a2dfee080359c0e20059b24188d75ad35"; + name = "promise___promise_8.1.0.tgz"; + url = "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz"; + sha1 = "697c25c3dfe7435dd79fcd58c38a135888eaf05e"; + }; + } + { + name = "prompts___prompts_2.3.2.tgz"; + path = fetchurl { + name = "prompts___prompts_2.3.2.tgz"; + url = "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz"; + sha1 = "480572d89ecf39566d2bd3fe2c9fccb7c4c0b068"; }; } { @@ -8970,19 +9450,19 @@ }; } { - name = "proxy_addr___proxy_addr_2.0.5.tgz"; + name = "proxy_addr___proxy_addr_2.0.6.tgz"; path = fetchurl { - name = "proxy_addr___proxy_addr_2.0.5.tgz"; - url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz"; - sha1 = "34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"; + name = "proxy_addr___proxy_addr_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz"; + sha1 = "fdc2336505447d3f2f2c638ed272caf614bbb2bf"; }; } { - name = "proxy_from_env___proxy_from_env_1.0.0.tgz"; + name = "proxy_from_env___proxy_from_env_1.1.0.tgz"; path = fetchurl { - name = "proxy_from_env___proxy_from_env_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz"; - sha1 = "33c50398f70ea7eb96d21f7b817630a55791c7ee"; + name = "proxy_from_env___proxy_from_env_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz"; + sha1 = "e102f16ca355424865755d2c9e8ea4f24d58c3e2"; }; } { @@ -8994,11 +9474,11 @@ }; } { - name = "psl___psl_1.3.1.tgz"; + name = "psl___psl_1.8.0.tgz"; path = fetchurl { - name = "psl___psl_1.3.1.tgz"; - url = "https://registry.yarnpkg.com/psl/-/psl-1.3.1.tgz"; - sha1 = "d5aa3873a35ec450bc7db9012ad5a7246f6fc8bd"; + name = "psl___psl_1.8.0.tgz"; + url = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz"; + sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24"; }; } { @@ -9058,11 +9538,11 @@ }; } { - name = "puppeteer___puppeteer_1.19.0.tgz"; + name = "puppeteer___puppeteer_3.0.4.tgz"; path = fetchurl { - name = "puppeteer___puppeteer_1.19.0.tgz"; - url = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.19.0.tgz"; - sha1 = "e3b7b448c2c97933517078d7a2c53687361bebea"; + name = "puppeteer___puppeteer_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-3.0.4.tgz"; + sha1 = "f445aae0a6732c65bbb90e963dcd6fd8fde0d780"; }; } { @@ -9089,6 +9569,14 @@ sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; }; } + { + name = "query_string___query_string_4.3.4.tgz"; + path = fetchurl { + name = "query_string___query_string_4.3.4.tgz"; + url = "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz"; + sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb"; + }; + } { name = "querystring_es3___querystring_es3_0.2.1.tgz"; path = fetchurl { @@ -9162,51 +9650,43 @@ }; } { - name = "rc___rc_1.2.8.tgz"; + name = "react_app_polyfill___react_app_polyfill_1.0.6.tgz"; path = fetchurl { - name = "rc___rc_1.2.8.tgz"; - url = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz"; - sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"; + name = "react_app_polyfill___react_app_polyfill_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz"; + sha1 = "890f8d7f2842ce6073f030b117de9130a5f385f0"; }; } { - name = "react_app_polyfill___react_app_polyfill_1.0.2.tgz"; + name = "react_codemirror2___react_codemirror2_7.1.0.tgz"; path = fetchurl { - name = "react_app_polyfill___react_app_polyfill_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.2.tgz"; - sha1 = "2a51175885c88245a2a356dc46df29f38ec9f060"; + name = "react_codemirror2___react_codemirror2_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/react-codemirror2/-/react-codemirror2-7.1.0.tgz"; + sha1 = "b874a275ad4f6f2ee5adb23b550c0f4b8b82776d"; }; } { - name = "react_codemirror2___react_codemirror2_5.1.0.tgz"; + name = "react_dev_utils___react_dev_utils_10.2.1.tgz"; path = fetchurl { - name = "react_codemirror2___react_codemirror2_5.1.0.tgz"; - url = "https://registry.yarnpkg.com/react-codemirror2/-/react-codemirror2-5.1.0.tgz"; - sha1 = "62de4460178adea40eb52eabf7491669bf3794b8"; + name = "react_dev_utils___react_dev_utils_10.2.1.tgz"; + url = "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.2.1.tgz"; + sha1 = "f6de325ae25fa4d546d09df4bb1befdc6dd19c19"; }; } { - name = "react_dev_utils___react_dev_utils_9.0.3.tgz"; + name = "react_dom___react_dom_16.13.1.tgz"; path = fetchurl { - name = "react_dev_utils___react_dev_utils_9.0.3.tgz"; - url = "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.3.tgz"; - sha1 = "7607455587abb84599451460eb37cef0b684131a"; + name = "react_dom___react_dom_16.13.1.tgz"; + url = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz"; + sha1 = "c1bd37331a0486c078ee54c4740720993b2e0e7f"; }; } { - name = "react_dom___react_dom_16.9.0.tgz"; + name = "react_error_overlay___react_error_overlay_6.0.7.tgz"; path = fetchurl { - name = "react_dom___react_dom_16.9.0.tgz"; - url = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz"; - sha1 = "5e65527a5e26f22ae3701131bcccaee9fb0d3962"; - }; - } - { - name = "react_error_overlay___react_error_overlay_6.0.1.tgz"; - path = fetchurl { - name = "react_error_overlay___react_error_overlay_6.0.1.tgz"; - url = "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.1.tgz"; - sha1 = "b8d3cf9bb991c02883225c48044cb3ee20413e0f"; + name = "react_error_overlay___react_error_overlay_6.0.7.tgz"; + url = "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz"; + sha1 = "1dcfb459ab671d53f660a991513cb2f0a0553108"; }; } { @@ -9218,43 +9698,19 @@ }; } { - name = "react_is___react_is_16.9.0.tgz"; + name = "react_is___react_is_16.13.1.tgz"; path = fetchurl { - name = "react_is___react_is_16.9.0.tgz"; - url = "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz"; - sha1 = "21ca9561399aad0ff1a7701c01683e8ca981edcb"; + name = "react_is___react_is_16.13.1.tgz"; + url = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz"; + sha1 = "789729a4dc36de2999dc156dd6c1d9c18cea56a4"; }; } { - name = "react_is___react_is_16.13.0.tgz"; + name = "react_markdown___react_markdown_4.3.1.tgz"; path = fetchurl { - name = "react_is___react_is_16.13.0.tgz"; - url = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.0.tgz"; - sha1 = "0f37c3613c34fe6b37cd7f763a0d6293ab15c527"; - }; - } - { - name = "react_is___react_is_16.10.0.tgz"; - path = fetchurl { - name = "react_is___react_is_16.10.0.tgz"; - url = "https://registry.yarnpkg.com/react-is/-/react-is-16.10.0.tgz"; - sha1 = "3d6a031e57fff73c3cfa0347feb3e8f40c5141e5"; - }; - } - { - name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz"; - path = fetchurl { - name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz"; - url = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz"; - sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362"; - }; - } - { - name = "react_markdown___react_markdown_4.2.2.tgz"; - path = fetchurl { - name = "react_markdown___react_markdown_4.2.2.tgz"; - url = "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.2.2.tgz"; - sha1 = "b378774fcffb354653db8749153fc8740f9ed2f1"; + name = "react_markdown___react_markdown_4.3.1.tgz"; + url = "https://registry.yarnpkg.com/react-markdown/-/react-markdown-4.3.1.tgz"; + sha1 = "39f0633b94a027445b86c9811142d05381300f2f"; }; } { @@ -9266,35 +9722,35 @@ }; } { - name = "react_router_dom___react_router_dom_4.3.1.tgz"; + name = "react_router_dom___react_router_dom_5.1.2.tgz"; path = fetchurl { - name = "react_router_dom___react_router_dom_4.3.1.tgz"; - url = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz"; - sha1 = "4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6"; + name = "react_router_dom___react_router_dom_5.1.2.tgz"; + url = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz"; + sha1 = "06701b834352f44d37fbb6311f870f84c76b9c18"; }; } { - name = "react_router___react_router_4.3.1.tgz"; + name = "react_router___react_router_5.1.2.tgz"; path = fetchurl { - name = "react_router___react_router_4.3.1.tgz"; - url = "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz"; - sha1 = "aada4aef14c809cb2e686b05cee4742234506c4e"; + name = "react_router___react_router_5.1.2.tgz"; + url = "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz"; + sha1 = "6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418"; }; } { - name = "react_scripts___react_scripts_3.1.1.tgz"; + name = "react_scripts___react_scripts_3.4.1.tgz"; path = fetchurl { - name = "react_scripts___react_scripts_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.1.tgz"; - sha1 = "1796bc92447f3a2d3072c3b71ca99f88d099c48d"; + name = "react_scripts___react_scripts_3.4.1.tgz"; + url = "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.1.tgz"; + sha1 = "f551298b5c71985cc491b9acf3c8e8c0ae3ada0a"; }; } { - name = "react_test_renderer___react_test_renderer_16.9.0.tgz"; + name = "react_test_renderer___react_test_renderer_16.13.1.tgz"; path = fetchurl { - name = "react_test_renderer___react_test_renderer_16.9.0.tgz"; - url = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.9.0.tgz"; - sha1 = "7ed657a374af47af88f66f33a3ef99c9610c8ae9"; + name = "react_test_renderer___react_test_renderer_16.13.1.tgz"; + url = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.1.tgz"; + sha1 = "de25ea358d9012606de51e012d9742e7f0deabc1"; }; } { @@ -9306,19 +9762,19 @@ }; } { - name = "react_transition_group___react_transition_group_4.3.0.tgz"; + name = "react_transition_group___react_transition_group_4.4.1.tgz"; path = fetchurl { - name = "react_transition_group___react_transition_group_4.3.0.tgz"; - url = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz"; - sha1 = "fea832e386cf8796c58b61874a3319704f5ce683"; + name = "react_transition_group___react_transition_group_4.4.1.tgz"; + url = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz"; + sha1 = "63868f9325a38ea5ee9535d828327f85773345c9"; }; } { - name = "react___react_16.9.0.tgz"; + name = "react___react_16.13.1.tgz"; path = fetchurl { - name = "react___react_16.9.0.tgz"; - url = "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz"; - sha1 = "40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa"; + name = "react___react_16.13.1.tgz"; + url = "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz"; + sha1 = "2e818822f1a9743122c063d6410d85c1e3afe48e"; }; } { @@ -9354,19 +9810,19 @@ }; } { - name = "readable_stream___readable_stream_2.3.6.tgz"; + name = "readable_stream___readable_stream_2.3.7.tgz"; path = fetchurl { - name = "readable_stream___readable_stream_2.3.6.tgz"; - url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz"; - sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"; + name = "readable_stream___readable_stream_2.3.7.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz"; + sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57"; }; } { - name = "readable_stream___readable_stream_3.4.0.tgz"; + name = "readable_stream___readable_stream_3.6.0.tgz"; path = fetchurl { - name = "readable_stream___readable_stream_3.4.0.tgz"; - url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz"; - sha1 = "a51c26754658e0a3c21dbf59163bd45ba6f447fc"; + name = "readable_stream___readable_stream_3.6.0.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz"; + sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198"; }; } { @@ -9377,6 +9833,14 @@ sha1 = "0e87622a3325aa33e892285caf8b4e846529a525"; }; } + { + name = "readdirp___readdirp_3.4.0.tgz"; + path = fetchurl { + name = "readdirp___readdirp_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz"; + sha1 = "9fdccdf9e9155805449221ac645e8303ab5b9ada"; + }; + } { name = "realpath_native___realpath_native_1.1.0.tgz"; path = fetchurl { @@ -9402,11 +9866,11 @@ }; } { - name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz"; + name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz"; path = fetchurl { - name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz"; - url = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz"; - sha1 = "ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e"; + name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz"; + url = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz"; + sha1 = "e5de7111d655e7ba60c057dbe9ff37c87e65cdec"; }; } { @@ -9417,14 +9881,6 @@ sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11"; }; } - { - name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz"; - path = fetchurl { - name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz"; - url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz"; - sha1 = "7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5"; - }; - } { name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz"; path = fetchurl { @@ -9442,11 +9898,11 @@ }; } { - name = "regenerator_transform___regenerator_transform_0.14.1.tgz"; + name = "regenerator_transform___regenerator_transform_0.14.4.tgz"; path = fetchurl { - name = "regenerator_transform___regenerator_transform_0.14.1.tgz"; - url = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz"; - sha1 = "3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb"; + name = "regenerator_transform___regenerator_transform_0.14.4.tgz"; + url = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz"; + sha1 = "5266857896518d1616a78a0479337a30ea974cc7"; }; } { @@ -9466,19 +9922,11 @@ }; } { - name = "regexp_tree___regexp_tree_0.1.13.tgz"; + name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz"; path = fetchurl { - name = "regexp_tree___regexp_tree_0.1.13.tgz"; - url = "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.13.tgz"; - sha1 = "5b19ab9377edc68bc3679256840bb29afc158d7f"; - }; - } - { - name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz"; - path = fetchurl { - name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz"; - sha1 = "6b30724e306a27833eeb171b66ac8890ba37e41c"; + name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz"; + sha1 = "7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"; }; } { @@ -9490,27 +9938,35 @@ }; } { - name = "regexpu_core___regexpu_core_4.5.5.tgz"; + name = "regexpp___regexpp_3.1.0.tgz"; path = fetchurl { - name = "regexpu_core___regexpu_core_4.5.5.tgz"; - url = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz"; - sha1 = "aaffe61c2af58269b3e516b61a73790376326411"; + name = "regexpp___regexpp_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz"; + sha1 = "206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"; }; } { - name = "regjsgen___regjsgen_0.5.0.tgz"; + name = "regexpu_core___regexpu_core_4.7.0.tgz"; path = fetchurl { - name = "regjsgen___regjsgen_0.5.0.tgz"; - url = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz"; - sha1 = "a7634dc08f89209c2049adda3525711fb97265dd"; + name = "regexpu_core___regexpu_core_4.7.0.tgz"; + url = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz"; + sha1 = "fcbf458c50431b0bb7b45d6967b8192d91f3d938"; }; } { - name = "regjsparser___regjsparser_0.6.0.tgz"; + name = "regjsgen___regjsgen_0.5.1.tgz"; path = fetchurl { - name = "regjsparser___regjsparser_0.6.0.tgz"; - url = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz"; - sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c"; + name = "regjsgen___regjsgen_0.5.1.tgz"; + url = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz"; + sha1 = "48f0bf1a5ea205196929c0d9798b42d1ed98443c"; + }; + } + { + name = "regjsparser___regjsparser_0.6.4.tgz"; + path = fetchurl { + name = "regjsparser___regjsparser_0.6.4.tgz"; + url = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz"; + sha1 = "a769f8684308401a66e9b529d2436ff4d0666272"; }; } { @@ -9578,27 +10034,27 @@ }; } { - name = "request_promise_core___request_promise_core_1.1.2.tgz"; + name = "request_promise_core___request_promise_core_1.1.3.tgz"; path = fetchurl { - name = "request_promise_core___request_promise_core_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz"; - sha1 = "339f6aababcafdb31c799ff158700336301d3346"; + name = "request_promise_core___request_promise_core_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz"; + sha1 = "e9a3c081b51380dfea677336061fea879a829ee9"; }; } { - name = "request_promise_native___request_promise_native_1.0.7.tgz"; + name = "request_promise_native___request_promise_native_1.0.8.tgz"; path = fetchurl { - name = "request_promise_native___request_promise_native_1.0.7.tgz"; - url = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz"; - sha1 = "a49868a624bdea5069f1251d0a836e0d89aa2c59"; + name = "request_promise_native___request_promise_native_1.0.8.tgz"; + url = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz"; + sha1 = "a455b960b826e44e2bf8999af64dff2bfe58cb36"; }; } { - name = "request___request_2.88.0.tgz"; + name = "request___request_2.88.2.tgz"; path = fetchurl { - name = "request___request_2.88.0.tgz"; - url = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz"; - sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef"; + name = "request___request_2.88.2.tgz"; + url = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz"; + sha1 = "d73c918731cb5a87da047e207234146f664d12b3"; }; } { @@ -9658,19 +10114,19 @@ }; } { - name = "resolve_pathname___resolve_pathname_2.2.0.tgz"; + name = "resolve_pathname___resolve_pathname_3.0.0.tgz"; path = fetchurl { - name = "resolve_pathname___resolve_pathname_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz"; - sha1 = "7e9ae21ed815fd63ab189adeee64dc831eefa879"; + name = "resolve_pathname___resolve_pathname_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz"; + sha1 = "99d02224d3cf263689becbb393bc560313025dcd"; }; } { - name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz"; + name = "resolve_url_loader___resolve_url_loader_3.1.1.tgz"; path = fetchurl { - name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz"; - sha1 = "54d8181d33cd1b66a59544d05cadf8e4aa7d37cc"; + name = "resolve_url_loader___resolve_url_loader_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz"; + sha1 = "28931895fa1eab9be0647d3b2958c100ae3c0bf0"; }; } { @@ -9690,19 +10146,27 @@ }; } { - name = "resolve___resolve_1.12.0.tgz"; + name = "resolve___resolve_1.15.0.tgz"; path = fetchurl { - name = "resolve___resolve_1.12.0.tgz"; - url = "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz"; - sha1 = "3fc644a35c84a48554609ff26ec52b66fa577df6"; + name = "resolve___resolve_1.15.0.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz"; + sha1 = "1b7ca96073ebb52e741ffd799f6b39ea462c67f5"; }; } { - name = "restore_cursor___restore_cursor_2.0.0.tgz"; + name = "resolve___resolve_1.17.0.tgz"; path = fetchurl { - name = "restore_cursor___restore_cursor_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz"; - sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf"; + name = "resolve___resolve_1.17.0.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz"; + sha1 = "b25941b54968231cc2d1bb76a79cb7f2c0bf8444"; + }; + } + { + name = "restore_cursor___restore_cursor_3.1.0.tgz"; + path = fetchurl { + name = "restore_cursor___restore_cursor_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz"; + sha1 = "39f67c54b3a7a58cea5236d95cf0034239631f7e"; }; } { @@ -9713,6 +10177,14 @@ sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; }; } + { + name = "retry___retry_0.12.0.tgz"; + path = fetchurl { + name = "retry___retry_0.12.0.tgz"; + url = "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz"; + sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b"; + }; + } { name = "rework_visit___rework_visit_1.0.0.tgz"; path = fetchurl { @@ -9761,6 +10233,14 @@ sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec"; }; } + { + name = "rimraf___rimraf_3.0.2.tgz"; + path = fetchurl { + name = "rimraf___rimraf_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz"; + sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"; + }; + } { name = "ripemd160___ripemd160_2.0.2.tgz"; path = fetchurl { @@ -9778,11 +10258,11 @@ }; } { - name = "run_async___run_async_2.3.0.tgz"; + name = "run_async___run_async_2.4.1.tgz"; path = fetchurl { - name = "run_async___run_async_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz"; - sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"; + name = "run_async___run_async_2.4.1.tgz"; + url = "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz"; + sha1 = "8440eccf99ea3e70bd409d49aab88e10c189a455"; }; } { @@ -9794,19 +10274,11 @@ }; } { - name = "rx___rx_4.1.0.tgz"; + name = "rxjs___rxjs_6.5.5.tgz"; path = fetchurl { - name = "rx___rx_4.1.0.tgz"; - url = "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz"; - sha1 = "a5f13ff79ef3b740fe30aa803fb09f98805d4782"; - }; - } - { - name = "rxjs___rxjs_6.5.3.tgz"; - path = fetchurl { - name = "rxjs___rxjs_6.5.3.tgz"; - url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz"; - sha1 = "510e26317f4db91a7eb1de77d9dd9ba0a4899a3a"; + name = "rxjs___rxjs_6.5.5.tgz"; + url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz"; + sha1 = "c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"; }; } { @@ -9850,11 +10322,19 @@ }; } { - name = "sass_loader___sass_loader_7.2.0.tgz"; + name = "sanitize.css___sanitize.css_10.0.0.tgz"; path = fetchurl { - name = "sass_loader___sass_loader_7.2.0.tgz"; - url = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz"; - sha1 = "e34115239309d15b2527cb62b5dfefb62a96ff7f"; + name = "sanitize.css___sanitize.css_10.0.0.tgz"; + url = "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-10.0.0.tgz"; + sha1 = "b5cb2547e96d8629a60947544665243b1dc3657a"; + }; + } + { + name = "sass_loader___sass_loader_8.0.2.tgz"; + path = fetchurl { + name = "sass_loader___sass_loader_8.0.2.tgz"; + url = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz"; + sha1 = "debecd8c3ce243c76454f2e8290482150380090d"; }; } { @@ -9874,11 +10354,11 @@ }; } { - name = "scheduler___scheduler_0.15.0.tgz"; + name = "scheduler___scheduler_0.19.1.tgz"; path = fetchurl { - name = "scheduler___scheduler_0.15.0.tgz"; - url = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz"; - sha1 = "6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e"; + name = "scheduler___scheduler_0.19.1.tgz"; + url = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz"; + sha1 = "4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"; }; } { @@ -9890,11 +10370,11 @@ }; } { - name = "schema_utils___schema_utils_2.2.0.tgz"; + name = "schema_utils___schema_utils_2.6.6.tgz"; path = fetchurl { - name = "schema_utils___schema_utils_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz"; - sha1 = "48a065ce219e0cacf4631473159037b2c1ae82da"; + name = "schema_utils___schema_utils_2.6.6.tgz"; + url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.6.tgz"; + sha1 = "299fe6bd4a3365dc23d99fd446caff8f1d6c330c"; }; } { @@ -9906,11 +10386,11 @@ }; } { - name = "selfsigned___selfsigned_1.10.4.tgz"; + name = "selfsigned___selfsigned_1.10.7.tgz"; path = fetchurl { - name = "selfsigned___selfsigned_1.10.4.tgz"; - url = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz"; - sha1 = "cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd"; + name = "selfsigned___selfsigned_1.10.7.tgz"; + url = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz"; + sha1 = "da5819fd049d5574f28e88a9bcc6dbc6e6f3906b"; }; } { @@ -9921,14 +10401,6 @@ sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7"; }; } - { - name = "semver___semver_5.5.0.tgz"; - path = fetchurl { - name = "semver___semver_5.5.0.tgz"; - url = "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz"; - sha1 = "dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"; - }; - } { name = "semver___semver_6.3.0.tgz"; path = fetchurl { @@ -9937,6 +10409,14 @@ sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d"; }; } + { + name = "semver___semver_7.0.0.tgz"; + path = fetchurl { + name = "semver___semver_7.0.0.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz"; + sha1 = "5f3ca35761e47e05b206c6daff2cf814f0316b8e"; + }; + } { name = "send___send_0.17.1.tgz"; path = fetchurl { @@ -9946,11 +10426,11 @@ }; } { - name = "serialize_javascript___serialize_javascript_1.9.0.tgz"; + name = "serialize_javascript___serialize_javascript_2.1.2.tgz"; path = fetchurl { - name = "serialize_javascript___serialize_javascript_1.9.0.tgz"; - url = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.0.tgz"; - sha1 = "5b77019d7c3b85fe91b33ae424c53dcbfb6618bd"; + name = "serialize_javascript___serialize_javascript_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz"; + sha1 = "ecec53b0e0317bdc95ef76ab7074b7384785fa61"; }; } { @@ -10041,6 +10521,14 @@ sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; }; } + { + name = "shebang_command___shebang_command_2.0.0.tgz"; + path = fetchurl { + name = "shebang_command___shebang_command_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz"; + sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea"; + }; + } { name = "shebang_regex___shebang_regex_1.0.0.tgz"; path = fetchurl { @@ -10050,11 +10538,19 @@ }; } { - name = "shell_quote___shell_quote_1.6.1.tgz"; + name = "shebang_regex___shebang_regex_3.0.0.tgz"; path = fetchurl { - name = "shell_quote___shell_quote_1.6.1.tgz"; - url = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz"; - sha1 = "f4781949cce402697127430ea3b3c5476f481767"; + name = "shebang_regex___shebang_regex_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz"; + sha1 = "ae16f1644d873ecad843b0307b143362d4c42172"; + }; + } + { + name = "shell_quote___shell_quote_1.7.2.tgz"; + path = fetchurl { + name = "shell_quote___shell_quote_1.7.2.tgz"; + url = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz"; + sha1 = "67a7d02c76c9da24f99d20808fcaded0e0e04be2"; }; } { @@ -10066,11 +10562,19 @@ }; } { - name = "signal_exit___signal_exit_3.0.2.tgz"; + name = "side_channel___side_channel_1.0.2.tgz"; path = fetchurl { - name = "signal_exit___signal_exit_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz"; - sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d"; + name = "side_channel___side_channel_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz"; + sha1 = "df5d1abadb4e4bf4af1cd8852bf132d2f7876947"; + }; + } + { + name = "signal_exit___signal_exit_3.0.3.tgz"; + path = fetchurl { + name = "signal_exit___signal_exit_3.0.3.tgz"; + url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz"; + sha1 = "a1410c2edd8f077b08b4e253c8eacfcaf057461c"; }; } { @@ -10082,11 +10586,11 @@ }; } { - name = "sisteransi___sisteransi_1.0.3.tgz"; + name = "sisteransi___sisteransi_1.0.5.tgz"; path = fetchurl { - name = "sisteransi___sisteransi_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz"; - sha1 = "98168d62b79e3a5e758e27ae63c4a053d748f4eb"; + name = "sisteransi___sisteransi_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz"; + sha1 = "134d681297756437cc05ca01370d3a7a571075ed"; }; } { @@ -10105,6 +10609,14 @@ sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44"; }; } + { + name = "slash___slash_3.0.0.tgz"; + path = fetchurl { + name = "slash___slash_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz"; + sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634"; + }; + } { name = "slice_ansi___slice_ansi_2.1.0.tgz"; path = fetchurl { @@ -10138,11 +10650,11 @@ }; } { - name = "sockjs_client___sockjs_client_1.3.0.tgz"; + name = "sockjs_client___sockjs_client_1.4.0.tgz"; path = fetchurl { - name = "sockjs_client___sockjs_client_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz"; - sha1 = "12fc9d6cb663da5739d3dc5fb6e8687da95cb177"; + name = "sockjs_client___sockjs_client_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz"; + sha1 = "c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"; }; } { @@ -10153,6 +10665,14 @@ sha1 = "d976bbe800af7bd20ae08598d582393508993c0d"; }; } + { + name = "sort_keys___sort_keys_1.1.2.tgz"; + path = fetchurl { + name = "sort_keys___sort_keys_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz"; + sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad"; + }; + } { name = "source_list_map___source_list_map_2.0.1.tgz"; path = fetchurl { @@ -10162,19 +10682,19 @@ }; } { - name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; + name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; path = fetchurl { - name = "source_map_resolve___source_map_resolve_0.5.2.tgz"; - url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz"; - sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259"; + name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; + url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; + sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a"; }; } { - name = "source_map_support___source_map_support_0.5.13.tgz"; + name = "source_map_support___source_map_support_0.5.19.tgz"; path = fetchurl { - name = "source_map_support___source_map_support_0.5.13.tgz"; - url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz"; - sha1 = "31b24a9c2e73c2de85066c0feb7d44767ed52932"; + name = "source_map_support___source_map_support_0.5.19.tgz"; + url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz"; + sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61"; }; } { @@ -10210,11 +10730,11 @@ }; } { - name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; + name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz"; path = fetchurl { - name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz"; - sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977"; + name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"; + sha1 = "3f28ce1a77a00372683eade4a433183527a2163d"; }; } { @@ -10242,11 +10762,11 @@ }; } { - name = "spdy___spdy_4.0.1.tgz"; + name = "spdy___spdy_4.0.2.tgz"; path = fetchurl { - name = "spdy___spdy_4.0.1.tgz"; - url = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz"; - sha1 = "6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2"; + name = "spdy___spdy_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz"; + sha1 = "b74f466203a3eda452c02492b91fb9e84a27677b"; }; } { @@ -10281,6 +10801,14 @@ sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8"; }; } + { + name = "ssri___ssri_7.1.0.tgz"; + path = fetchurl { + name = "ssri___ssri_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz"; + sha1 = "92c241bf6de82365b5c7fb4bd76e975522e1294d"; + }; + } { name = "stable___stable_0.1.8.tgz"; path = fetchurl { @@ -10298,11 +10826,11 @@ }; } { - name = "state_toggle___state_toggle_1.0.2.tgz"; + name = "state_toggle___state_toggle_1.0.3.tgz"; path = fetchurl { - name = "state_toggle___state_toggle_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz"; - sha1 = "75e93a61944116b4959d665c8db2d243631d6ddc"; + name = "state_toggle___state_toggle_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz"; + sha1 = "e123b16a88e143139b09c6852221bc9815917dfe"; }; } { @@ -10354,11 +10882,19 @@ }; } { - name = "stream_shift___stream_shift_1.0.0.tgz"; + name = "stream_shift___stream_shift_1.0.1.tgz"; path = fetchurl { - name = "stream_shift___stream_shift_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz"; - sha1 = "d5c752825e5367e786f78e18e445ea223a155952"; + name = "stream_shift___stream_shift_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz"; + sha1 = "d7088281559ab2778424279b0877da3c392d5a3d"; + }; + } + { + name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz"; + path = fetchurl { + name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz"; + sha1 = "279b225df1d582b1f54e65addd4352e18faa0713"; }; } { @@ -10369,6 +10905,14 @@ sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed"; }; } + { + name = "string_length___string_length_3.1.0.tgz"; + path = fetchurl { + name = "string_length___string_length_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz"; + sha1 = "107ef8c23456e187a8abd4a61162ff4ac6e25837"; + }; + } { name = "string_width___string_width_1.0.2.tgz"; path = fetchurl { @@ -10394,19 +10938,51 @@ }; } { - name = "string.prototype.trimleft___string.prototype.trimleft_2.0.0.tgz"; + name = "string_width___string_width_4.2.0.tgz"; path = fetchurl { - name = "string.prototype.trimleft___string.prototype.trimleft_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.0.0.tgz"; - sha1 = "68b6aa8e162c6a80e76e3a8a0c2e747186e271ff"; + name = "string_width___string_width_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz"; + sha1 = "952182c46cc7b2c313d1596e623992bd163b72b5"; }; } { - name = "string.prototype.trimright___string.prototype.trimright_2.0.0.tgz"; + name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz"; path = fetchurl { - name = "string.prototype.trimright___string.prototype.trimright_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.0.0.tgz"; - sha1 = "ab4a56d802a01fbe7293e11e84f24dc8164661dd"; + name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz"; + sha1 = "48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e"; + }; + } + { + name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz"; + path = fetchurl { + name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz"; + sha1 = "85812a6b847ac002270f5808146064c995fb6913"; + }; + } + { + name = "string.prototype.trimleft___string.prototype.trimleft_2.1.2.tgz"; + path = fetchurl { + name = "string.prototype.trimleft___string.prototype.trimleft_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz"; + sha1 = "4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc"; + }; + } + { + name = "string.prototype.trimright___string.prototype.trimright_2.1.2.tgz"; + path = fetchurl { + name = "string.prototype.trimright___string.prototype.trimright_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz"; + sha1 = "c76f1cef30f21bbad8afeb8db1511496cfb0f2a3"; + }; + } + { + name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz"; + path = fetchurl { + name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz"; + sha1 = "14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"; }; } { @@ -10434,11 +11010,11 @@ }; } { - name = "strip_ansi___strip_ansi_5.2.0.tgz"; + name = "strip_ansi___strip_ansi_6.0.0.tgz"; path = fetchurl { - name = "strip_ansi___strip_ansi_5.2.0.tgz"; - url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz"; - sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"; + name = "strip_ansi___strip_ansi_6.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz"; + sha1 = "0b1571dd7669ccd4f3e06e14ef1eed26225ae532"; }; } { @@ -10457,6 +11033,14 @@ sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; }; } + { + name = "strip_ansi___strip_ansi_5.2.0.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_5.2.0.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz"; + sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"; + }; + } { name = "strip_bom___strip_bom_3.0.0.tgz"; path = fetchurl { @@ -10482,27 +11066,19 @@ }; } { - name = "strip_json_comments___strip_json_comments_3.0.1.tgz"; + name = "strip_json_comments___strip_json_comments_3.1.0.tgz"; path = fetchurl { - name = "strip_json_comments___strip_json_comments_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz"; - sha1 = "85713975a91fb87bf1b305cca77395e40d2a64a7"; + name = "strip_json_comments___strip_json_comments_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz"; + sha1 = "7638d31422129ecf4457440009fba03f9f9ac180"; }; } { - name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; + name = "style_loader___style_loader_0.23.1.tgz"; path = fetchurl { - name = "strip_json_comments___strip_json_comments_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; - sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; - }; - } - { - name = "style_loader___style_loader_1.0.0.tgz"; - path = fetchurl { - name = "style_loader___style_loader_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz"; - sha1 = "1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82"; + name = "style_loader___style_loader_0.23.1.tgz"; + url = "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz"; + sha1 = "cb9154606f3e771ab6c4ab637026a1049174d925"; }; } { @@ -10538,19 +11114,27 @@ }; } { - name = "svg_parser___svg_parser_2.0.2.tgz"; + name = "supports_color___supports_color_7.1.0.tgz"; path = fetchurl { - name = "svg_parser___svg_parser_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz"; - sha1 = "d134cc396fa2681dc64f518330784e98bd801ec8"; + name = "supports_color___supports_color_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz"; + sha1 = "68e32591df73e25ad1c4b49108a2ec507962bfd1"; }; } { - name = "svgo___svgo_1.3.0.tgz"; + name = "svg_parser___svg_parser_2.0.4.tgz"; path = fetchurl { - name = "svgo___svgo_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz"; - sha1 = "bae51ba95ded9a33a36b7c46ce9c359ae9154313"; + name = "svg_parser___svg_parser_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz"; + sha1 = "fdc2e29e13951736140b76cb122c8ee6630eb6b5"; + }; + } + { + name = "svgo___svgo_1.3.2.tgz"; + path = fetchurl { + name = "svgo___svgo_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz"; + sha1 = "b6dc511c063346c9e415b81e43401145b96d4167"; }; } { @@ -10578,27 +11162,43 @@ }; } { - name = "tar___tar_4.4.10.tgz"; + name = "tar_fs___tar_fs_2.0.1.tgz"; path = fetchurl { - name = "tar___tar_4.4.10.tgz"; - url = "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz"; - sha1 = "946b2810b9a5e0b26140cf78bea6b0b0d689eba1"; + name = "tar_fs___tar_fs_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.1.tgz"; + sha1 = "e44086c1c60d31a4f0cf893b1c4e155dabfae9e2"; }; } { - name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz"; + name = "tar_stream___tar_stream_2.1.2.tgz"; path = fetchurl { - name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz"; - url = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz"; - sha1 = "61b18e40eaee5be97e771cdbb10ed1280888c2b4"; + name = "tar_stream___tar_stream_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.2.tgz"; + sha1 = "6d5ef1a7e5783a95ff70b69b97455a5968dc1325"; }; } { - name = "terser___terser_4.2.1.tgz"; + name = "terser_webpack_plugin___terser_webpack_plugin_2.3.5.tgz"; path = fetchurl { - name = "terser___terser_4.2.1.tgz"; - url = "https://registry.yarnpkg.com/terser/-/terser-4.2.1.tgz"; - sha1 = "1052cfe17576c66e7bc70fcc7119f22b155bdac1"; + name = "terser_webpack_plugin___terser_webpack_plugin_2.3.5.tgz"; + url = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz"; + sha1 = "5ad971acce5c517440ba873ea4f09687de2f4a81"; + }; + } + { + name = "terser_webpack_plugin___terser_webpack_plugin_1.4.3.tgz"; + path = fetchurl { + name = "terser_webpack_plugin___terser_webpack_plugin_1.4.3.tgz"; + url = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz"; + sha1 = "5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"; + }; + } + { + name = "terser___terser_4.6.13.tgz"; + path = fetchurl { + name = "terser___terser_4.6.13.tgz"; + url = "https://registry.yarnpkg.com/terser/-/terser-4.6.13.tgz"; + sha1 = "e879a7364a5e0db52ba4891ecde007422c56a916"; }; } { @@ -10642,11 +11242,11 @@ }; } { - name = "thunky___thunky_1.0.3.tgz"; + name = "thunky___thunky_1.1.0.tgz"; path = fetchurl { - name = "thunky___thunky_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz"; - sha1 = "f5df732453407b09191dae73e2a8cc73f381a826"; + name = "thunky___thunky_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz"; + sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d"; }; } { @@ -10666,11 +11266,11 @@ }; } { - name = "tiny_invariant___tiny_invariant_1.0.6.tgz"; + name = "tiny_invariant___tiny_invariant_1.1.0.tgz"; path = fetchurl { - name = "tiny_invariant___tiny_invariant_1.0.6.tgz"; - url = "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz"; - sha1 = "b3f9b38835e36a41c843a3b0907a5a7b3755de73"; + name = "tiny_invariant___tiny_invariant_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz"; + sha1 = "634c5f8efdc27714b7f386c35e6760991d230875"; }; } { @@ -10729,6 +11329,14 @@ sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; }; } + { + name = "to_regex_range___to_regex_range_5.0.1.tgz"; + path = fetchurl { + name = "to_regex_range___to_regex_range_5.0.1.tgz"; + url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz"; + sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4"; + }; + } { name = "to_regex___to_regex_3.0.2.tgz"; path = fetchurl { @@ -10753,14 +11361,6 @@ sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"; }; } - { - name = "tough_cookie___tough_cookie_2.4.3.tgz"; - path = fetchurl { - name = "tough_cookie___tough_cookie_2.4.3.tgz"; - url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz"; - sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781"; - }; - } { name = "tr46___tr46_1.0.1.tgz"; path = fetchurl { @@ -10770,27 +11370,19 @@ }; } { - name = "tree_kill___tree_kill_1.2.1.tgz"; + name = "tree_kill___tree_kill_1.2.2.tgz"; path = fetchurl { - name = "tree_kill___tree_kill_1.2.1.tgz"; - url = "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz"; - sha1 = "5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a"; + name = "tree_kill___tree_kill_1.2.2.tgz"; + url = "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz"; + sha1 = "4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"; }; } { - name = "trim_right___trim_right_1.0.1.tgz"; + name = "trim_trailing_lines___trim_trailing_lines_1.1.3.tgz"; path = fetchurl { - name = "trim_right___trim_right_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz"; - sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003"; - }; - } - { - name = "trim_trailing_lines___trim_trailing_lines_1.1.2.tgz"; - path = fetchurl { - name = "trim_trailing_lines___trim_trailing_lines_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz"; - sha1 = "d2f1e153161152e9f02fabc670fb40bec2ea2e3a"; + name = "trim_trailing_lines___trim_trailing_lines_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz"; + sha1 = "7f0739881ff76657b7776e10874128004b625a94"; }; } { @@ -10802,35 +11394,35 @@ }; } { - name = "trough___trough_1.0.4.tgz"; + name = "trough___trough_1.0.5.tgz"; path = fetchurl { - name = "trough___trough_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz"; - sha1 = "3b52b1f13924f460c3fbfd0df69b587dbcbc762e"; + name = "trough___trough_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz"; + sha1 = "b8b639cefad7d0bb2abd37d433ff8293efa5f406"; }; } { - name = "ts_pnp___ts_pnp_1.1.2.tgz"; + name = "ts_pnp___ts_pnp_1.1.6.tgz"; path = fetchurl { - name = "ts_pnp___ts_pnp_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz"; - sha1 = "be8e4bfce5d00f0f58e0666a82260c34a57af552"; + name = "ts_pnp___ts_pnp_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz"; + sha1 = "389a24396d425a0d3162e96d2b4638900fdc289a"; }; } { - name = "ts_pnp___ts_pnp_1.1.4.tgz"; + name = "ts_pnp___ts_pnp_1.2.0.tgz"; path = fetchurl { - name = "ts_pnp___ts_pnp_1.1.4.tgz"; - url = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz"; - sha1 = "ae27126960ebaefb874c6d7fa4729729ab200d90"; + name = "ts_pnp___ts_pnp_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz"; + sha1 = "a500ad084b0798f1c3071af391e65912c86bca92"; }; } { - name = "tslib___tslib_1.10.0.tgz"; + name = "tslib___tslib_1.11.2.tgz"; path = fetchurl { - name = "tslib___tslib_1.10.0.tgz"; - url = "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz"; - sha1 = "c3c19f95973fb0a62973fb09d90d961ee43e5c8a"; + name = "tslib___tslib_1.11.2.tgz"; + url = "https://registry.yarnpkg.com/tslib/-/tslib-1.11.2.tgz"; + sha1 = "9c79d83272c9a7aaf166f73915c9667ecdde3cc9"; }; } { @@ -10842,11 +11434,11 @@ }; } { - name = "tslint___tslint_5.20.0.tgz"; + name = "tslint___tslint_6.1.2.tgz"; path = fetchurl { - name = "tslint___tslint_5.20.0.tgz"; - url = "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz"; - sha1 = "fac93bfa79568a5a24e7be9cdde5e02b02d00ec1"; + name = "tslint___tslint_6.1.2.tgz"; + url = "https://registry.yarnpkg.com/tslint/-/tslint-6.1.2.tgz"; + sha1 = "2433c248512cc5a7b2ab88ad44a6b1b34c6911cf"; }; } { @@ -10898,11 +11490,19 @@ }; } { - name = "type_fest___type_fest_0.3.1.tgz"; + name = "type_fest___type_fest_0.11.0.tgz"; path = fetchurl { - name = "type_fest___type_fest_0.3.1.tgz"; - url = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz"; - sha1 = "63d00d204e059474fe5e1b7c011112bbd1dc29e1"; + name = "type_fest___type_fest_0.11.0.tgz"; + url = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz"; + sha1 = "97abf0872310fed88a5c466b25681576145e33f1"; + }; + } + { + name = "type_fest___type_fest_0.8.1.tgz"; + path = fetchurl { + name = "type_fest___type_fest_0.8.1.tgz"; + url = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz"; + sha1 = "09e249ebde851d3b1e48d27c105444667f17b83d"; }; } { @@ -10914,11 +11514,19 @@ }; } { - name = "type___type_1.0.3.tgz"; + name = "type___type_1.2.0.tgz"; path = fetchurl { - name = "type___type_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/type/-/type-1.0.3.tgz"; - sha1 = "16f5d39f27a2d28d86e48f8981859e9d3296c179"; + name = "type___type_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz"; + sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0"; + }; + } + { + name = "type___type_2.0.0.tgz"; + path = fetchurl { + name = "type___type_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz"; + sha1 = "5f16ff6ef2eb44f260494dae271033b29c09a9c3"; }; } { @@ -10930,51 +11538,43 @@ }; } { - name = "typeface_roboto___typeface_roboto_0.0.54.tgz"; + name = "typeface_roboto___typeface_roboto_0.0.75.tgz"; path = fetchurl { - name = "typeface_roboto___typeface_roboto_0.0.54.tgz"; - url = "https://registry.yarnpkg.com/typeface-roboto/-/typeface-roboto-0.0.54.tgz"; - sha1 = "8f02c9a18d1cfa7f49381a6ff0d21ff061f38ad2"; + name = "typeface_roboto___typeface_roboto_0.0.75.tgz"; + url = "https://registry.yarnpkg.com/typeface-roboto/-/typeface-roboto-0.0.75.tgz"; + sha1 = "98d5ba35ec234bbc7172374c8297277099cc712b"; }; } { - name = "typescript___typescript_3.6.2.tgz"; + name = "typescript___typescript_3.8.3.tgz"; path = fetchurl { - name = "typescript___typescript_3.6.2.tgz"; - url = "https://registry.yarnpkg.com/typescript/-/typescript-3.6.2.tgz"; - sha1 = "105b0f1934119dde543ac8eb71af3a91009efe54"; + name = "typescript___typescript_3.8.3.tgz"; + url = "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz"; + sha1 = "409eb8544ea0335711205869ec458ab109ee1061"; }; } { - name = "ua_parser_js___ua_parser_js_0.7.20.tgz"; + name = "ua_parser_js___ua_parser_js_0.7.21.tgz"; path = fetchurl { - name = "ua_parser_js___ua_parser_js_0.7.20.tgz"; - url = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz"; - sha1 = "7527178b82f6a62a0f243d1f94fd30e3e3c21098"; + name = "ua_parser_js___ua_parser_js_0.7.21.tgz"; + url = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz"; + sha1 = "853cf9ce93f642f67174273cc34565ae6f308777"; }; } { - name = "uglify_js___uglify_js_3.4.10.tgz"; + name = "unbzip2_stream___unbzip2_stream_1.4.2.tgz"; path = fetchurl { - name = "uglify_js___uglify_js_3.4.10.tgz"; - url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz"; - sha1 = "9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"; + name = "unbzip2_stream___unbzip2_stream_1.4.2.tgz"; + url = "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.2.tgz"; + sha1 = "84eb9e783b186d8fb397515fbb656f312f1a7dbf"; }; } { - name = "uglify_js___uglify_js_3.6.0.tgz"; + name = "unherit___unherit_1.1.3.tgz"; path = fetchurl { - name = "uglify_js___uglify_js_3.6.0.tgz"; - url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz"; - sha1 = "704681345c53a8b2079fb6cec294b05ead242ff5"; - }; - } - { - name = "unherit___unherit_1.1.2.tgz"; - path = fetchurl { - name = "unherit___unherit_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz"; - sha1 = "14f1f397253ee4ec95cec167762e77df83678449"; + name = "unherit___unherit_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz"; + sha1 = "6c9b503f2b41b262330c80e91c8614abdaa69c22"; }; } { @@ -10994,19 +11594,19 @@ }; } { - name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz"; + name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz"; path = fetchurl { - name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz"; - sha1 = "5b4b426e08d13a80365e0d657ac7a6c1ec46a277"; + name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz"; + sha1 = "0d91f600eeeb3096aa962b1d6fc88876e64ea531"; }; } { - name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz"; + name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz"; path = fetchurl { - name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz"; - sha1 = "a9cc6cc7ce63a0a3023fc99e341b94431d405a57"; + name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz"; + sha1 = "dd57a99f6207bedff4628abefb94c50db941c8f4"; }; } { @@ -11066,11 +11666,11 @@ }; } { - name = "unist_util_remove_position___unist_util_remove_position_1.1.3.tgz"; + name = "unist_util_remove_position___unist_util_remove_position_1.1.4.tgz"; path = fetchurl { - name = "unist_util_remove_position___unist_util_remove_position_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz"; - sha1 = "d91aa8b89b30cb38bad2924da11072faa64fd972"; + name = "unist_util_remove_position___unist_util_remove_position_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz"; + sha1 = "ec037348b6102c897703eee6d0294ca4755a2020"; }; } { @@ -11145,14 +11745,6 @@ sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894"; }; } - { - name = "upper_case___upper_case_1.1.3.tgz"; - path = fetchurl { - name = "upper_case___upper_case_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz"; - sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598"; - }; - } { name = "uri_js___uri_js_4.2.2.tgz"; path = fetchurl { @@ -11170,11 +11762,11 @@ }; } { - name = "url_loader___url_loader_2.1.0.tgz"; + name = "url_loader___url_loader_2.3.0.tgz"; path = fetchurl { - name = "url_loader___url_loader_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz"; - sha1 = "bcc1ecabbd197e913eca23f5e0378e24b4412961"; + name = "url_loader___url_loader_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz"; + sha1 = "e0e2ef658f003efb8ca41b0f3ffbf76bab88658b"; }; } { @@ -11217,6 +11809,14 @@ sha1 = "440f7165a459c9a16dc145eb8e72f35687097030"; }; } + { + name = "util.promisify___util.promisify_1.0.1.tgz"; + path = fetchurl { + name = "util.promisify___util.promisify_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz"; + sha1 = "6baf7774b80eeb0f7520d8b81d07982a59abbaee"; + }; + } { name = "util___util_0.10.3.tgz"; path = fetchurl { @@ -11250,11 +11850,11 @@ }; } { - name = "uuid___uuid_3.3.3.tgz"; + name = "uuid___uuid_3.4.0.tgz"; path = fetchurl { - name = "uuid___uuid_3.3.3.tgz"; - url = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz"; - sha1 = "4568f0216e78760ee1dbf3a4d2cf53e224112866"; + name = "uuid___uuid_3.4.0.tgz"; + url = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz"; + sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee"; }; } { @@ -11274,11 +11874,11 @@ }; } { - name = "value_equal___value_equal_0.4.0.tgz"; + name = "value_equal___value_equal_1.0.1.tgz"; path = fetchurl { - name = "value_equal___value_equal_0.4.0.tgz"; - url = "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz"; - sha1 = "c5bdd2f54ee093c04839d71ce2e4758a6890abc7"; + name = "value_equal___value_equal_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz"; + sha1 = "1e0b794c734c5c0cade179c437d356d931a34d6c"; }; } { @@ -11290,11 +11890,11 @@ }; } { - name = "vendors___vendors_1.0.3.tgz"; + name = "vendors___vendors_1.0.4.tgz"; path = fetchurl { - name = "vendors___vendors_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz"; - sha1 = "a6467781abd366217c050f8202e7e50cc9eef8c0"; + name = "vendors___vendors_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz"; + sha1 = "e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"; }; } { @@ -11306,11 +11906,11 @@ }; } { - name = "vfile_location___vfile_location_2.0.5.tgz"; + name = "vfile_location___vfile_location_2.0.6.tgz"; path = fetchurl { - name = "vfile_location___vfile_location_2.0.5.tgz"; - url = "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz"; - sha1 = "c83eb02f8040228a8d2b3f10e485be3e3433e0a2"; + name = "vfile_location___vfile_location_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz"; + sha1 = "8a274f39411b8719ea5728802e10d9e0dff1519e"; }; } { @@ -11330,19 +11930,19 @@ }; } { - name = "vm_browserify___vm_browserify_1.1.0.tgz"; + name = "vm_browserify___vm_browserify_1.1.2.tgz"; path = fetchurl { - name = "vm_browserify___vm_browserify_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz"; - sha1 = "bd76d6a23323e2ca8ffa12028dc04559c75f9019"; + name = "vm_browserify___vm_browserify_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz"; + sha1 = "78641c488b8e6ca91a75f511e7a3b32a86e5dda0"; }; } { - name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz"; + name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz"; path = fetchurl { - name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz"; - sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045"; + name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz"; + sha1 = "0a89cdf5cc15822df9c360543676963e0cc308cd"; }; } { @@ -11354,11 +11954,11 @@ }; } { - name = "wait_on___wait_on_3.3.0.tgz"; + name = "wait_on___wait_on_5.0.0.tgz"; path = fetchurl { - name = "wait_on___wait_on_3.3.0.tgz"; - url = "https://registry.yarnpkg.com/wait-on/-/wait-on-3.3.0.tgz"; - sha1 = "9940981d047a72a9544a97b8b5fca45b2170a082"; + name = "wait_on___wait_on_5.0.0.tgz"; + url = "https://registry.yarnpkg.com/wait-on/-/wait-on-5.0.0.tgz"; + sha1 = "72e554b338490bbc7131362755ca1af04f46d029"; }; } { @@ -11370,19 +11970,11 @@ }; } { - name = "warning___warning_4.0.3.tgz"; + name = "watchpack___watchpack_1.6.1.tgz"; path = fetchurl { - name = "warning___warning_4.0.3.tgz"; - url = "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz"; - sha1 = "16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3"; - }; - } - { - name = "watchpack___watchpack_1.6.0.tgz"; - path = fetchurl { - name = "watchpack___watchpack_1.6.0.tgz"; - url = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz"; - sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"; + name = "watchpack___watchpack_1.6.1.tgz"; + url = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz"; + sha1 = "280da0a8718592174010c078c7585a74cd8cd0e2"; }; } { @@ -11402,19 +11994,19 @@ }; } { - name = "webpack_dev_middleware___webpack_dev_middleware_3.7.1.tgz"; + name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz"; path = fetchurl { - name = "webpack_dev_middleware___webpack_dev_middleware_3.7.1.tgz"; - url = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.1.tgz"; - sha1 = "1167aea02afa034489869b8368fe9fed1aea7d09"; + name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz"; + url = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz"; + sha1 = "0019c3db716e3fa5cecbf64f2ab88a74bab331f3"; }; } { - name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz"; + name = "webpack_dev_server___webpack_dev_server_3.10.3.tgz"; path = fetchurl { - name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz"; - url = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz"; - sha1 = "1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e"; + name = "webpack_dev_server___webpack_dev_server_3.10.3.tgz"; + url = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz"; + sha1 = "f35945036813e57ef582c2420ef7b470e14d3af0"; }; } { @@ -11426,11 +12018,11 @@ }; } { - name = "webpack_manifest_plugin___webpack_manifest_plugin_2.0.4.tgz"; + name = "webpack_manifest_plugin___webpack_manifest_plugin_2.2.0.tgz"; path = fetchurl { - name = "webpack_manifest_plugin___webpack_manifest_plugin_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz"; - sha1 = "e4ca2999b09557716b8ba4475fb79fab5986f0cd"; + name = "webpack_manifest_plugin___webpack_manifest_plugin_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz"; + sha1 = "19ca69b435b0baec7e29fbe90fb4015de2de4f16"; }; } { @@ -11442,11 +12034,11 @@ }; } { - name = "webpack___webpack_4.39.1.tgz"; + name = "webpack___webpack_4.42.0.tgz"; path = fetchurl { - name = "webpack___webpack_4.39.1.tgz"; - url = "https://registry.yarnpkg.com/webpack/-/webpack-4.39.1.tgz"; - sha1 = "60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8"; + name = "webpack___webpack_4.42.0.tgz"; + url = "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz"; + sha1 = "b901635dd6179391d90740a63c93f76f39883eb8"; }; } { @@ -11498,11 +12090,11 @@ }; } { - name = "whatwg_url___whatwg_url_7.0.0.tgz"; + name = "whatwg_url___whatwg_url_7.1.0.tgz"; path = fetchurl { - name = "whatwg_url___whatwg_url_7.0.0.tgz"; - url = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz"; - sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd"; + name = "whatwg_url___whatwg_url_7.1.0.tgz"; + url = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz"; + sha1 = "c2c492f1eca612988efd3d2266be1b9fc6170d06"; }; } { @@ -11522,27 +12114,19 @@ }; } { - name = "wide_align___wide_align_1.1.3.tgz"; + name = "which___which_2.0.2.tgz"; path = fetchurl { - name = "wide_align___wide_align_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz"; - sha1 = "ae074e6bdc0c14a431e804e624549c633b000457"; + name = "which___which_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz"; + sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"; }; } { - name = "wordwrap___wordwrap_0.0.3.tgz"; + name = "word_wrap___word_wrap_1.2.3.tgz"; path = fetchurl { - name = "wordwrap___wordwrap_0.0.3.tgz"; - url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz"; - sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; - }; - } - { - name = "wordwrap___wordwrap_1.0.0.tgz"; - path = fetchurl { - name = "wordwrap___wordwrap_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz"; - sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; + name = "word_wrap___word_wrap_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz"; + sha1 = "610636f6b1f703891bd34771ccb17fb93b47079c"; }; } { @@ -11745,6 +12329,14 @@ sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"; }; } + { + name = "ws___ws_7.2.5.tgz"; + path = fetchurl { + name = "ws___ws_7.2.5.tgz"; + url = "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz"; + sha1 = "abb1370d4626a5a9cd79d8de404aa18b3465d10d"; + }; + } { name = "x_is_string___x_is_string_0.1.0.tgz"; path = fetchurl { @@ -11762,19 +12354,19 @@ }; } { - name = "xmlchars___xmlchars_2.1.1.tgz"; + name = "xmlchars___xmlchars_2.2.0.tgz"; path = fetchurl { - name = "xmlchars___xmlchars_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz"; - sha1 = "ef1a81c05bff629c2280007f12daca21bd6f6c93"; + name = "xmlchars___xmlchars_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz"; + sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"; }; } { - name = "xregexp___xregexp_4.0.0.tgz"; + name = "xregexp___xregexp_4.3.0.tgz"; path = fetchurl { - name = "xregexp___xregexp_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz"; - sha1 = "e698189de49dd2a18cc5687b05e17c8e43943020"; + name = "xregexp___xregexp_4.3.0.tgz"; + url = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz"; + sha1 = "7e92e73d9174a99a59743f67a4ce879a04b5ae50"; }; } { @@ -11794,51 +12386,67 @@ }; } { - name = "yallist___yallist_3.0.3.tgz"; + name = "yallist___yallist_3.1.1.tgz"; path = fetchurl { - name = "yallist___yallist_3.0.3.tgz"; - url = "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz"; - sha1 = "b4b049e314be545e3ce802236d6cd22cd91c3de9"; + name = "yallist___yallist_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz"; + sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"; }; } { - name = "yargs_parser___yargs_parser_10.1.0.tgz"; + name = "yallist___yallist_4.0.0.tgz"; path = fetchurl { - name = "yargs_parser___yargs_parser_10.1.0.tgz"; - url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz"; - sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8"; + name = "yallist___yallist_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz"; + sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72"; }; } { - name = "yargs_parser___yargs_parser_13.1.1.tgz"; + name = "yaml___yaml_1.9.2.tgz"; path = fetchurl { - name = "yargs_parser___yargs_parser_13.1.1.tgz"; - url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz"; - sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0"; + name = "yaml___yaml_1.9.2.tgz"; + url = "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz"; + sha1 = "f0cfa865f003ab707663e4f04b3956957ea564ed"; }; } { - name = "yargs___yargs_12.0.2.tgz"; + name = "yargs_parser___yargs_parser_11.1.1.tgz"; path = fetchurl { - name = "yargs___yargs_12.0.2.tgz"; - url = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz"; - sha1 = "fe58234369392af33ecbef53819171eff0f5aadc"; + name = "yargs_parser___yargs_parser_11.1.1.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz"; + sha1 = "879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"; }; } { - name = "yargs___yargs_13.3.0.tgz"; + name = "yargs_parser___yargs_parser_13.1.2.tgz"; path = fetchurl { - name = "yargs___yargs_13.3.0.tgz"; - url = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz"; - sha1 = "4c657a55e07e5f2cf947f8a366567c04a0dedc83"; + name = "yargs_parser___yargs_parser_13.1.2.tgz"; + url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz"; + sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38"; }; } { - name = "yauzl___yauzl_2.4.1.tgz"; + name = "yargs___yargs_12.0.5.tgz"; path = fetchurl { - name = "yauzl___yauzl_2.4.1.tgz"; - url = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz"; - sha1 = "9528f442dab1b2284e58b4379bb194e22e0c4005"; + name = "yargs___yargs_12.0.5.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz"; + sha1 = "05f5997b609647b64f66b81e3b4b10a368e7ad13"; + }; + } + { + name = "yargs___yargs_13.3.2.tgz"; + path = fetchurl { + name = "yargs___yargs_13.3.2.tgz"; + url = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz"; + sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"; + }; + } + { + name = "yauzl___yauzl_2.10.0.tgz"; + path = fetchurl { + name = "yauzl___yauzl_2.10.0.tgz"; + url = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz"; + sha1 = "c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"; }; } ]; From 826d4e815d3e979d1a68f828898e2cc6d8de3970 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 20:23:42 +0000 Subject: [PATCH 111/158] unionfs-fuse: 2.0 -> 2.1 --- pkgs/tools/filesystems/unionfs-fuse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/unionfs-fuse/default.nix b/pkgs/tools/filesystems/unionfs-fuse/default.nix index 695e071effc..359d8b7abbe 100644 --- a/pkgs/tools/filesystems/unionfs-fuse/default.nix +++ b/pkgs/tools/filesystems/unionfs-fuse/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "unionfs-fuse"; - version = "2.0"; + version = "2.1"; src = fetchFromGitHub { owner = "rpodgorny"; repo = "unionfs-fuse"; rev = "v${version}"; - sha256 = "0lb8zgdxnjy2fjr2284hvdfn7inc1in44ynzgcr66x54bxzvynj6"; + sha256 = "0bwx70x834qgqh53vqp18bhbxbsny80hz922rbgj8k9wj7cbfilm"; }; patches = From 596c8150e931bffba88dc08300e2022d1b9b70ec Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 20:37:42 +0000 Subject: [PATCH 112/158] uclibc: 1.0.32 -> 1.0.33 --- pkgs/os-specific/linux/uclibc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index 5f401411074..c9da86b7898 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -48,7 +48,7 @@ let UCLIBC_HAS_FPU n ''; - version = "1.0.32"; + version = "1.0.33"; in stdenv.mkDerivation { @@ -58,7 +58,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://downloads.uclibc-ng.org/releases/${version}/uClibc-ng-${version}.tar.bz2"; # from "${url}.sha256"; - sha256 = "0cp4xf3k0ib76xaz6n6i7yybw7s92s607ak8svq1kakwk0d1jjbv"; + sha256 = "0qy9xsqacrhhrxd16azm26pqb2ks6c43wbrlq3i8xmq2917kw3xi"; }; # 'ftw' needed to build acl, a coreutils dependency From f5c0535213267164bf26145cfefb94f5ed58c38e Mon Sep 17 00:00:00 2001 From: "Markus S. Wamser" Date: Sun, 10 May 2020 22:04:39 +0200 Subject: [PATCH 113/158] libfm: fix duplicate inclusion of libfm-extra --- pkgs/development/libraries/libfm/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix index 9145d8fd892..94476984de0 100644 --- a/pkgs/development/libraries/libfm/default.nix +++ b/pkgs/development/libraries/libfm/default.nix @@ -28,6 +28,11 @@ stdenv.mkDerivation rec { "sysconfdir=${placeholder "out"}/etc" ]; + # libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm + postInstall = optional (!extraOnly) '' + rm $out/lib/libfm-extra.so $out/lib/libfm-extra.so.* $out/lib/libfm-extra.la $out/lib/pkgconfig/libfm-extra.pc + ''; + enableParallelBuilding = true; meta = with stdenv.lib; { From 36280307f408119932b752f9cc4a29abe0812dc9 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 10 May 2020 16:20:00 -0500 Subject: [PATCH 114/158] ttygif: enable on darwin --- pkgs/tools/misc/ttygif/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/ttygif/default.nix b/pkgs/tools/misc/ttygif/default.nix index 33cef6a991f..5a14dade01b 100644 --- a/pkgs/tools/misc/ttygif/default.nix +++ b/pkgs/tools/misc/ttygif/default.nix @@ -11,12 +11,12 @@ stdenv.mkDerivation rec { sha256 = "1w9c3h6hik2gglwsw8ww63piy66i4zqr3273wh5rc9r2awiwh643"; }; - makeFlags = [ "PREFIX=${placeholder "out"}" ]; + makeFlags = [ "CC:=$(CC)" "PREFIX=${placeholder "out"}" ]; meta = with stdenv.lib; { homepage = "https://github.com/icholy/ttygif"; description = "Convert terminal recordings to animated gifs"; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.mit; maintainers = with maintainers; [ moaxcp ]; }; From 183378d1d5c97865405e1c55ad28529faa3745ce Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 21:49:32 +0000 Subject: [PATCH 115/158] testssl: 3.0 -> 3.0.1 --- pkgs/applications/networking/testssl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix index cb13d296c2f..557e69b1ee1 100644 --- a/pkgs/applications/networking/testssl/default.nix +++ b/pkgs/applications/networking/testssl/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "testssl.sh"; - version = "3.0"; + version = "3.0.1"; src = fetchFromGitHub { owner = "drwetter"; repo = pname; rev = version; - sha256 = "08i1l835zlzb3qmsnsd5vhsrr82li6fnp5jqxiybbqr5wjz67ssd"; + sha256 = "13vvkn1hna1d1mj8ffg7psrv6ha2jcjrf50qrsb0v0p8hszibavy"; }; nativeBuildInputs = [ makeWrapper ]; From 0d64dc6abfbb6507d9728a8462b7ced4989ae06f Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 18:19:26 -0700 Subject: [PATCH 116/158] rednotebook: 2.18 -> 2.19 (#87478) --- pkgs/applications/editors/rednotebook/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix index 7f94b354dd2..0cfa2b62dce 100644 --- a/pkgs/applications/editors/rednotebook/default.nix +++ b/pkgs/applications/editors/rednotebook/default.nix @@ -5,13 +5,13 @@ buildPythonApplication rec { pname = "rednotebook"; - version = "2.18"; + version = "2.19"; src = fetchFromGitHub { owner = "jendrikseipp"; repo = "rednotebook"; rev = "v${version}"; - sha256 = "1m75ns6vgycyi3zjlc9w2gnry1gyfz1jxhrklcxxi6aap0jxlgnr"; + sha256 = "1y5slcwgs6p5n52whhhjg0c7053688311wnc9wqrk7vjk10qkx9d"; }; # We have not packaged tests. From 33272d9e98275c0ea9528772ee11f2d28ce6630a Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 11 May 2020 01:36:12 +0000 Subject: [PATCH 117/158] xlog: 2.0.17 -> 2.0.19 --- pkgs/applications/radio/xlog/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/radio/xlog/default.nix b/pkgs/applications/radio/xlog/default.nix index 31bcfa463b9..e92c216466f 100644 --- a/pkgs/applications/radio/xlog/default.nix +++ b/pkgs/applications/radio/xlog/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, glib, gtk2, pkgconfig, hamlib }: stdenv.mkDerivation rec { pname = "xlog"; - version = "2.0.17"; + version = "2.0.19"; src = fetchurl { url = "https://download.savannah.gnu.org/releases/xlog/${pname}-${version}.tar.gz"; - sha256 = "0vmn8518zk7qk1mbp1h8dm0f8fx0z0jvmy42c1n15il714lj7vsl"; + sha256 = "0y38gkcm4mgv6wn31pjq6d5bm22m63rpwa55qjmrlywrmw76rppy"; }; # glib-2.62 deprecations From 0e0995d14cca692cd1ddd11fb4a725f7f82eee04 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 11 May 2020 03:04:49 +0000 Subject: [PATCH 118/158] yed: 3.19.1.1 -> 3.20 --- pkgs/applications/graphics/yed/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix index 96515a13724..9472f931246 100644 --- a/pkgs/applications/graphics/yed/default.nix +++ b/pkgs/applications/graphics/yed/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "yEd"; - version = "3.19.1.1"; + version = "3.20"; src = fetchzip { url = "https://www.yworks.com/resources/yed/demo/${pname}-${version}.zip"; - sha256 = "0px88rc1slf7n1n8lpk56hf29ppbnnd4lrqfyggihcr0pxmw157c"; + sha256 = "08j8lpn2nd41gavgrj03rlrxl04wcamq1y02f1x1569ykbhycb3m"; }; nativeBuildInputs = [ makeWrapper unzip ]; From a133193538dd3cb8817491ae27ec977f2e558abc Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Mon, 11 May 2020 15:42:46 +1000 Subject: [PATCH 119/158] tmsu: use $out instead of $bin (#87564) Because of https://github.com/NixOS/nixpkgs/pull/85535 --- pkgs/tools/filesystems/tmsu/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/filesystems/tmsu/default.nix b/pkgs/tools/filesystems/tmsu/default.nix index d8533a4e777..5efa218ed08 100644 --- a/pkgs/tools/filesystems/tmsu/default.nix +++ b/pkgs/tools/filesystems/tmsu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoPackage, fetchgit, fetchFromGitHub, go, fuse, installShellFiles }: +{ stdenv, buildGoPackage, fetchFromGitHub, fuse, installShellFiles }: buildGoPackage rec { pname = "tmsu"; @@ -24,8 +24,8 @@ buildGoPackage rec { ''; postInstall = '' - mv $bin/bin/{TMSU,tmsu} - cp src/misc/bin/* $bin/bin/ + mv $out/bin/{TMSU,tmsu} + cp src/misc/bin/* $out/bin/ installManPage src/misc/man/tmsu.1 installShellCompletion --zsh src/misc/zsh/_tmsu ''; From 9d405dd370246059cf774c2af86438c2e6324240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 11 May 2020 06:49:23 +0100 Subject: [PATCH 120/158] nix-direnv: add preInstall/postInstall hooks --- pkgs/tools/misc/nix-direnv/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix index 2d133795500..299550aa0cb 100644 --- a/pkgs/tools/misc/nix-direnv/default.nix +++ b/pkgs/tools/misc/nix-direnv/default.nix @@ -21,7 +21,9 @@ stdenv.mkDerivation rec { ''; installPhase = '' + runHook preInstall install -m500 -D direnvrc $out/share/nix-direnv/direnvrc + runHook postInstall ''; meta = with stdenv.lib; { From 886f9fc37e967826eefd6f9054fac1acc77088dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 11 May 2020 06:49:37 +0100 Subject: [PATCH 121/158] nix-direnv: add myself as maintainer --- pkgs/tools/misc/nix-direnv/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix index 299550aa0cb..cff7df1801f 100644 --- a/pkgs/tools/misc/nix-direnv/default.nix +++ b/pkgs/tools/misc/nix-direnv/default.nix @@ -31,5 +31,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/nix-community/nix-direnv"; license = licenses.mit; platforms = platforms.unix; + maintainers = with maintainers; [ mic92 ]; }; } From 3a768184f4823175f8f46a10b811242efaf41e40 Mon Sep 17 00:00:00 2001 From: Colby Cellador <44584960+ccellado@users.noreply.github.com> Date: Mon, 11 May 2020 09:59:43 +0300 Subject: [PATCH 122/158] phpPackages: phpmd (#87387) php.packages.phpmd: init at 2.8.2 --- pkgs/top-level/php-packages.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index ff9e96f8b97..0fecf30e736 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -202,7 +202,35 @@ in maintainers = with maintainers; [ javaguirre ] ++ teams.php.members; }; }; + + phpmd = mkDerivation rec { + version = "2.8.2"; + pname = "phpmd"; + src = pkgs.fetchurl { + url = "https://github.com/phpmd/phpmd/releases/download/${version}/phpmd.phar"; + sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb"; + }; + + phases = [ "installPhase" ]; + buildInputs = [ pkgs.makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + install -D $src $out/libexec/phpmd/phpmd.phar + makeWrapper ${php}/bin/php $out/bin/phpmd \ + --add-flags "$out/libexec/phpmd/phpmd.phar" + ''; + + meta = with pkgs.lib; { + description = "PHP code quality analyzer"; + license = licenses.bsd3; + homepage = "https://phpmd.org/"; + maintainers = teams.php.members; + broken = !isPhp74; + }; + }; + phpstan = mkDerivation rec { version = "0.12.19"; pname = "phpstan"; From 56531f45cd4d147530c3f1eae89dd6d78484861c Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Mon, 11 May 2020 08:51:43 +0000 Subject: [PATCH 123/158] ytop: 0.6.0 -> 0.6.1 --- pkgs/tools/system/ytop/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/system/ytop/default.nix b/pkgs/tools/system/ytop/default.nix index 562886ad57e..08e227d2454 100644 --- a/pkgs/tools/system/ytop/default.nix +++ b/pkgs/tools/system/ytop/default.nix @@ -4,18 +4,18 @@ assert stdenv.isDarwin -> IOKit != null; rustPlatform.buildRustPackage rec { pname = "ytop"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = "cjbassi"; repo = pname; rev = version; - sha256 = "1zajgzhhxigga5wc94bmbk8iwx7yc2jq3f0hqadfsa4f0wmpi0nf"; + sha256 = "1p746v9xrfm6avc6v9dvcnpckhvdizzf53pcg9bpcp0lw5sh85da"; }; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ IOKit ]; - cargoSha256 = "1ka9d81ddzz52w75xdiwd2xkv1rlamyvvdax09wanb61zxxwm0i7"; + cargoSha256 = "15cpi0b5yqjwi1liry2q17sn9hpc4xf9gn33ri3rs6ls5qs7j7pa"; meta = with stdenv.lib; { description = "A TUI system monitor written in Rust"; From e7ab236cab9dd6e74526bee282caa001a3374c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20K=C3=A1n=C4=9B?= Date: Mon, 11 May 2020 12:11:58 +0200 Subject: [PATCH 124/158] monero: fix rcp.restricted option According to https://monerodocs.org/interacting/monerod-reference/#node-rpc-api the correct option is restricted-rpc, not restrict-rpc. --- nixos/modules/services/networking/monero.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/monero.nix b/nixos/modules/services/networking/monero.nix index b9536430868..97af2997839 100644 --- a/nixos/modules/services/networking/monero.nix +++ b/nixos/modules/services/networking/monero.nix @@ -26,7 +26,7 @@ let rpc-login=${rpc.user}:${rpc.password} ''} ${optionalString rpc.restricted '' - restrict-rpc=1 + restricted-rpc=1 ''} limit-rate-up=${toString limits.upload} From 088a9495a8f70201baf674cb7f2e7bc7764476d2 Mon Sep 17 00:00:00 2001 From: Linus Heckemann Date: Mon, 11 May 2020 12:18:43 +0200 Subject: [PATCH 125/158] bemenu: 0.3.0 -> 0.4.1 --- pkgs/applications/misc/bemenu/default.nix | 31 ++++++++++++----------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix index 665198b3d1f..5c622d811eb 100644 --- a/pkgs/applications/misc/bemenu/default.nix +++ b/pkgs/applications/misc/bemenu/default.nix @@ -1,32 +1,33 @@ -{ stdenv, fetchFromGitHub, cairo, cmake, libxkbcommon +{ stdenv, lib, fetchFromGitHub, cairo, libxkbcommon , pango, fribidi, harfbuzz, pcre, pkgconfig , ncursesSupport ? true, ncurses ? null -, waylandSupport ? true, wayland ? null +, waylandSupport ? true, wayland ? null, wayland-protocols ? null , x11Support ? true, xlibs ? null, xorg ? null }: assert ncursesSupport -> ncurses != null; -assert waylandSupport -> wayland != null; +assert waylandSupport -> ! lib.elem null [wayland wayland-protocols]; assert x11Support -> xlibs != null && xorg != null; stdenv.mkDerivation rec { pname = "bemenu"; - version = "0.3.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "Cloudef"; repo = pname; rev = version; - sha256 = "03k8wijdgj5nwmvgjhsrlh918n719789fhs4dqm23pd00rapxipk"; + sha256 = "1fjcs9d3533ay3nz79cx3c0lmy2chgragr2lhsy0xl2ckr0iins0"; }; - nativeBuildInputs = [ cmake pkgconfig pcre ]; + nativeBuildInputs = [ pkgconfig pcre ]; - cmakeFlags = [ - "-DBEMENU_CURSES_RENDERER=${if ncursesSupport then "ON" else "OFF"}" - "-DBEMENU_WAYLAND_RENDERER=${if waylandSupport then "ON" else "OFF"}" - "-DBEMENU_X11_RENDERER=${if x11Support then "ON" else "OFF"}" - ]; + makeFlags = ["PREFIX=$(out)"]; + + buildFlags = ["clients"] + ++ lib.optional ncursesSupport "curses" + ++ lib.optional waylandSupport "wayland" + ++ lib.optional x11Support "x11"; buildInputs = with stdenv.lib; [ cairo @@ -34,18 +35,18 @@ stdenv.mkDerivation rec { harfbuzz libxkbcommon pango - ] ++ optionals ncursesSupport [ ncurses ] - ++ optionals waylandSupport [ wayland ] + ] ++ optional ncursesSupport ncurses + ++ optionals waylandSupport [ wayland wayland-protocols ] ++ optionals x11Support [ xlibs.libX11 xlibs.libXinerama xlibs.libXft xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb ]; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://github.com/Cloudef/bemenu"; description = "Dynamic menu library and client program inspired by dmenu"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ thiagokokada ]; + maintainers = with maintainers; [ thiagokokada lheckemann ]; platforms = with platforms; linux; }; } From b95d49d03435c22142790fdd6f978ce0212ddc33 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 11 May 2020 13:17:26 +0200 Subject: [PATCH 126/158] wireguard-tools: 1.0.20200319 -> 1.0.20200510 https://lists.zx2c4.com/pipermail/wireguard/2020-May/005415.html --- pkgs/tools/networking/wireguard-tools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix index 4fac72f7d03..4b6e2aa9f18 100644 --- a/pkgs/tools/networking/wireguard-tools/default.nix +++ b/pkgs/tools/networking/wireguard-tools/default.nix @@ -13,11 +13,11 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "wireguard-tools"; - version = "1.0.20200319"; + version = "1.0.20200510"; src = fetchzip { url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz"; - sha256 = "0g9vlngg9dnh7qqfhaycw35fq8ij5hfz6p1cykh4ncjgr93i7rbx"; + sha256 = "0xqchidfn1j3jq5w7ck570aib12q9z0mfvwhmnyzqxx7d3qh76j6"; }; outputs = [ "out" "man" ]; From ad8238c483133e617fe6dfc8855449c029a3775a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Mon, 11 May 2020 14:14:34 +0200 Subject: [PATCH 127/158] genxword: init at 2.0.1 (#87477) --- pkgs/applications/misc/genxword/default.nix | 54 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 56 insertions(+) create mode 100644 pkgs/applications/misc/genxword/default.nix diff --git a/pkgs/applications/misc/genxword/default.nix b/pkgs/applications/misc/genxword/default.nix new file mode 100644 index 00000000000..215542003ad --- /dev/null +++ b/pkgs/applications/misc/genxword/default.nix @@ -0,0 +1,54 @@ +{ lib +, python3 +, fetchFromGitHub +, gettext +, gobject-introspection +, wrapGAppsHook +, pango +, gtksourceview3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "genxword"; + version = "2.0.1"; + + src = fetchFromGitHub { + owner = "riverrun"; + repo = pname; + rev = "v${version}"; + sha256 = "00czdvyb5wnrk3x0g529afisl8v4frfys9ih0nzf1fs4jkzjcijg"; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection + wrapGAppsHook + ]; + + buildInputs = [ + gobject-introspection + pango + gtksourceview3 + ]; + + propagatedBuildInputs = with python3.pkgs; [ + pycairo + pygobject3 + ]; + + # to prevent double wrapping + dontWrapGApps = true; + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + # there are no tests + doCheck = false; + + meta = with lib; { + inherit (src.meta) homepage; + description = "Crossword generator"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 17aabe58daa..57276594e77 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19387,6 +19387,8 @@ in geany = callPackage ../applications/editors/geany { }; geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { }; + genxword = callPackage ../applications/misc/genxword { }; + geoipupdate = callPackage ../applications/misc/geoipupdate/default.nix { }; ghostwriter = libsForQt5.callPackage ../applications/editors/ghostwriter { }; From 6d183ed8d86d2c60bc55e0676081b72bd31728bc Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 May 2020 08:42:38 -0400 Subject: [PATCH 128/158] linux: 4.14.179 -> 4.14.180 --- pkgs/os-specific/linux/kernel/linux-4.14.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index b3dea589cd6..8629eb8cf72 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.179"; + version = "4.14.180"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "10arrj3ppbxkn15yxqpxlz4k8yp2afzbfpp2nwfy6klhjiffp9sx"; + sha256 = "03pd4wpg526n391jwc0kbmbxi059mvq8d42a9qbym9mnv5rzjkj4"; }; } // (args.argsOverride or {})) From 36a1ca4daaa1838588ea43ab3eac7a29a3607928 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 May 2020 08:42:49 -0400 Subject: [PATCH 129/158] linux: 4.19.121 -> 4.19.122 --- pkgs/os-specific/linux/kernel/linux-4.19.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index 450c44f0aa0..577138542b3 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.121"; + version = "4.19.122"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "11bhjdaihhc42xhf4qxdkkjznc0i6igh0ahjbzr3fb8bmq9sirgv"; + sha256 = "1980vza1vf6cl772dynn4m0rgdjazbn125kd6sb3s06gqn72cl2h"; }; } // (args.argsOverride or {})) From ddd1363bff8284600f5904fcf46c5f0d303bed93 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 May 2020 08:42:56 -0400 Subject: [PATCH 130/158] linux: 4.4.222 -> 4.4.223 --- pkgs/os-specific/linux/kernel/linux-4.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 81b32a932e1..58131815e0f 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.4.222"; + version = "4.4.223"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "02zxy5vjxgrqs0mkz5aj70v6pazhif7x5cm26rf8zh4idpmhk2zh"; + sha256 = "09fln0sdfif2zv2jifp24yiqi0vcyj8fqx2jz91g21zvsxk3x5nd"; }; } // (args.argsOverride or {})) From 39426327ce684e69c5bdbe831a984c20a83e8f4a Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 May 2020 08:43:06 -0400 Subject: [PATCH 131/158] linux: 4.9.222 -> 4.9.223 --- pkgs/os-specific/linux/kernel/linux-4.9.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index a9757aa2f10..9f2c7659abb 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.222"; + version = "4.9.223"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0aajgflf96bj7chbd83rdmgcdwd025c6mz6li4cwbfx7xcb91kjc"; + sha256 = "1r9ag1fhy0g429q44qlqh0qkf42qkhzxa04gxlmnrinqypk00lyg"; }; } // (args.argsOverride or {})) From 98c79eb588b0d19dafa058a8d326cf2199039513 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 May 2020 08:43:15 -0400 Subject: [PATCH 132/158] linux: 5.4.39 -> 5.4.40 --- pkgs/os-specific/linux/kernel/linux-5.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix index 5ca72d8a6a5..ffe59480915 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.4.39"; + version = "5.4.40"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1j35yf1nilb9z7lw8w2drpww7q2zy8zfr0ip8hwcbcd7c5d9chai"; + sha256 = "1ar001rljlr15rcl77la5y1cj3plaqhdblnh87xsmv47fq13yml3"; }; } // (args.argsOverride or {})) From 0010ae4960d35243e7abb046cd26ddda904a4c63 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 May 2020 08:43:23 -0400 Subject: [PATCH 133/158] linux: 5.6.11 -> 5.6.12 --- pkgs/os-specific/linux/kernel/linux-5.6.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.6.nix b/pkgs/os-specific/linux/kernel/linux-5.6.nix index 7cd3987f87c..844fb18c21a 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.6.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.6.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.6.11"; + version = "5.6.12"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1ahv4a3mnszqs3qcnwmhbvjgis1jg37anj5jvn70i7s2k6z6rpfn"; + sha256 = "0892ar2irfhd612sb8jpx85w0wwh4n76jgsv8wb92fp6mim37sns"; }; } // (args.argsOverride or {})) From f565285e6ba9ff65e9db0c2c6bf7da06799e89d7 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 11 May 2020 08:04:59 -0700 Subject: [PATCH 134/158] amass: 3.5.5 -> 3.6.0 (#87578) --- pkgs/tools/networking/amass/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix index be6d05ef426..116b0b25306 100644 --- a/pkgs/tools/networking/amass/default.nix +++ b/pkgs/tools/networking/amass/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "amass"; - version = "3.5.5"; + version = "3.6.0"; src = fetchFromGitHub { owner = "OWASP"; repo = "Amass"; rev = "v${version}"; - sha256 = "1w93ia9jr2afgkbaklx2rj0ccd0ghg1qbdg363aqqvyw40ccya1r"; + sha256 = "05rh61dx4f9kv5p8sahhwwiyivwq438fl30j9d97i4sagvb5jvvm"; }; - modSha256 = "051fxfh7lwrj3hzsgr2c2ga6hksz56673lg35y36sz4d93yldj6f"; + modSha256 = "1k7yd2lh6hwz3qm6ywrlr1qw0asqwdgrpj594v1gvav426yqyr6s"; outputs = [ "out" "wordlists" ]; From 5458f4326eca06ba8d6f21d9e47e0392b99c01ce Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Mon, 4 May 2020 22:18:36 +0200 Subject: [PATCH 135/158] ocamlPackages.async: remove at 112.24.00 This is a legacy version for OCaml 4.02 --- .../ocaml-modules/async/default.nix | 23 ------------------- .../ocaml-modules/janestreet/async.nix | 16 ------------- pkgs/top-level/ocaml-packages.nix | 12 ---------- 3 files changed, 51 deletions(-) delete mode 100644 pkgs/development/ocaml-modules/async/default.nix delete mode 100644 pkgs/development/ocaml-modules/janestreet/async.nix diff --git a/pkgs/development/ocaml-modules/async/default.nix b/pkgs/development/ocaml-modules/async/default.nix deleted file mode 100644 index 230db8189de..00000000000 --- a/pkgs/development/ocaml-modules/async/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{stdenv, buildOcaml, fetchurl, async_kernel_p4, - async_unix_p4, async_extra_p4, pa_ounit}: - -buildOcaml rec { - name = "async"; - version = "112.24.00"; - - minimumSupportedOcamlVersion = "4.02"; - - src = fetchurl { - url = "https://github.com/janestreet/async/archive/${version}.tar.gz"; - sha256 = "ecc4ca939ab098e689332921b110dbaacd06d9f8d8bf697023dfff3ca37dc1e9"; - }; - - propagatedBuildInputs = [ async_kernel_p4 async_unix_p4 async_extra_p4 pa_ounit ]; - - meta = with stdenv.lib; { - homepage = "https://github.com/janestreet/async"; - description = "Jane Street Capital's asynchronous execution library"; - license = licenses.asl20; - maintainers = [ maintainers.ericbmerritt ]; - }; -} diff --git a/pkgs/development/ocaml-modules/janestreet/async.nix b/pkgs/development/ocaml-modules/janestreet/async.nix deleted file mode 100644 index 8f15531403a..00000000000 --- a/pkgs/development/ocaml-modules/janestreet/async.nix +++ /dev/null @@ -1,16 +0,0 @@ -{stdenv, buildOcamlJane, async_kernel, - async_unix, async_extra}: - -buildOcamlJane { - name = "async"; - version = "113.33.03"; - hash = "0wyspkp8k833fh03r3h016nbfn6kjfhvb2bg42cly6agcak59fmr"; - propagatedBuildInputs = [ async_kernel async_unix async_extra ]; - - meta = with stdenv.lib; { - homepage = "https://github.com/janestreet/async"; - description = "Jane Street Capital's asynchronous execution library"; - license = licenses.asl20; - maintainers = [ maintainers.maurer maintainers.ericbmerritt ]; - }; -} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 44b90219606..aadd51e6294 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -42,11 +42,6 @@ let async_unix_p4 = callPackage ../development/ocaml-modules/async_unix { }; - async_p4 = - if lib.versionOlder "4.02" ocaml.version - then callPackage ../development/ocaml-modules/async { } - else null; - atd = callPackage ../development/ocaml-modules/atd { }; atdgen = callPackage ../development/ocaml-modules/atdgen { }; @@ -1213,13 +1208,6 @@ let then callPackage ../development/ocaml-modules/janestreet/async-extra.nix {} else async_extra_p4; - async = - if lib.versionOlder "4.03" ocaml.version - then janeStreet.async - else if lib.versionOlder "4.02" ocaml.version - then callPackage ../development/ocaml-modules/janestreet/async.nix {} - else async_p4; - # Apps / from all-packages ocamlnat = callPackage ../development/ocaml-modules/ocamlnat { }; From d2b532a0d92904ed90b3c89763a30435bb095a5e Mon Sep 17 00:00:00 2001 From: Linus Heckemann Date: Mon, 11 May 2020 17:39:26 +0200 Subject: [PATCH 136/158] bemenu: remove @thiagokokada from maintainers on request --- pkgs/applications/misc/bemenu/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix index 5c622d811eb..8b17ecea3cb 100644 --- a/pkgs/applications/misc/bemenu/default.nix +++ b/pkgs/applications/misc/bemenu/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/Cloudef/bemenu"; description = "Dynamic menu library and client program inspired by dmenu"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ thiagokokada lheckemann ]; + maintainers = with maintainers; [ lheckemann ]; platforms = with platforms; linux; }; } From a8b8942c880f8aec5511664fd8f544570be608b7 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 02:21:08 +0000 Subject: [PATCH 137/158] python27Packages.xapp: 1.8.1 -> 2.0.1 --- pkgs/development/python-modules/xapp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/xapp/default.nix b/pkgs/development/python-modules/xapp/default.nix index 440db343025..de779fc2c00 100644 --- a/pkgs/development/python-modules/xapp/default.nix +++ b/pkgs/development/python-modules/xapp/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "xapp"; - version = "1.8.1"; + version = "2.0.1"; src = fetchFromGitHub { owner = "linuxmint"; repo = "python-xapp"; rev = version; - sha256 = "0vw3cn09nx75lv4d9idp5fdhd81xs279zhbyyilynq29cxxs2zil"; + sha256 = "1pp3z4q6ryxcc26kaq222j53ji110n2v7rx29c7vy1fbb8mq64im"; }; propagatedBuildInputs = [ From 88c4688c253facc62c0a59b245d0b6cbb45a9c29 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 10 May 2020 15:41:44 +0200 Subject: [PATCH 138/158] jc: 1.10.7 -> 1.10.10 Tests were removed from the PyPi distribution, so we need to fetch from GitHub now. See https://github.com/kellyjonbrazil/jc/issues/58 --- pkgs/development/python-modules/jc/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix index 190d469f836..7ab5d230782 100644 --- a/pkgs/development/python-modules/jc/default.nix +++ b/pkgs/development/python-modules/jc/default.nix @@ -1,6 +1,6 @@ { stdenv , buildPythonPackage -, fetchPypi +, fetchFromGitHub , ruamel_yaml , xmltodict , pygments @@ -9,12 +9,14 @@ buildPythonPackage rec { pname = "jc"; - version = "1.10.7"; + version = "1.10.10"; disabled = isPy27; - src = fetchPypi { - inherit pname version; - sha256 = "198vsnh6j0nv9d7msnvw6qr1bzf0nffjsz7clm11bs7fh3ri3qxp"; + src = fetchFromGitHub { + owner = "kellyjonbrazil"; + repo = "jc"; + rev = "v${version}"; + sha256 = "1rkgk1d1gijic6l6rsvz5mpfhdj8l7qc60aqafj27s4yi5bbqrc7"; }; propagatedBuildInputs = [ ruamel_yaml xmltodict pygments ]; From 4d66a37dd5c76996f8068b84ff4c32e75bb81cc8 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Mon, 11 May 2020 13:58:52 -0400 Subject: [PATCH 139/158] texlab: 2.0.0 -> 2.1.0 (#87565) --- pkgs/development/tools/misc/texlab/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix index 5cc67cb5e17..0076884e2ed 100644 --- a/pkgs/development/tools/misc/texlab/default.nix +++ b/pkgs/development/tools/misc/texlab/default.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "texlab"; - version = "2.0.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "latex-lsp"; repo = pname; rev = "v${version}"; - sha256 = "0y8cv8y92a4nqwrvqk2cxgs6nspqjk8jm4spr8rgkwlpfbrg74xn"; + sha256 = "0cmciadiknw6w573v71spzf5ydaz2xxm2snv3n1hks732nahlr56"; }; - cargoSha256 = "1qi1c4v5d5a4xcf1bjbdicrv35w6chl5swlm96c1h3pr9s09lqy7"; + cargoSha256 = "0dhbbni8ia0dkwjacx5jlr5rj7173nsbivm9gjsx9j8ais0f0hff"; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; From 113bd283a427a49591ffded3f5f457b9fe7700b4 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 21:43:48 +0000 Subject: [PATCH 140/158] python27Packages.testfixtures: 6.10.3 -> 6.14.1 --- pkgs/development/python-modules/testfixtures/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix index 0c0db60f2c0..b3db882c82b 100644 --- a/pkgs/development/python-modules/testfixtures/default.nix +++ b/pkgs/development/python-modules/testfixtures/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "testfixtures"; - version = "6.10.3"; + version = "6.14.1"; src = fetchPypi { inherit pname version; - sha256 = "8f22100d4fb841b958f64e71c8820a32dc46f57d4d7e077777b932acd87b7327"; + sha256 = "0rh38zj8wywgqlsi5j75c7drpqhkrg50qknj1kdmvg4kdlab7ljq"; }; checkInputs = [ pytest mock sybil zope_component twisted ]; From 336361c258e8e5ba976d9d5c867da6ba3c916a60 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 05:06:11 +0000 Subject: [PATCH 141/158] python27Packages.yamllint: 1.21.0 -> 1.23.0 --- pkgs/development/python-modules/yamllint/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/yamllint/default.nix b/pkgs/development/python-modules/yamllint/default.nix index b883a3d2bc8..c01c862e2f4 100644 --- a/pkgs/development/python-modules/yamllint/default.nix +++ b/pkgs/development/python-modules/yamllint/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "yamllint"; - version = "1.21.0"; + version = "1.23.0"; src = fetchPypi { inherit pname version; - sha256 = "14yijcnmanyd3s2ir38sxl07rzpxgpgw9s6b8sy68jrl7n5nj7ky"; + sha256 = "1agl80csxhiqglm0idwhw98iqfpp61c9inzcdaz4czsfyivzzwsr"; }; checkInputs = [ nose ]; From 518b577ce92606e0ee06f398de183f46fb68ca1e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 21:23:58 +0000 Subject: [PATCH 142/158] python27Packages.pyudev: 0.21.0 -> 0.22.0 --- pkgs/development/python-modules/pyudev/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyudev/default.nix b/pkgs/development/python-modules/pyudev/default.nix index dedec796e65..c26f9bcabe6 100644 --- a/pkgs/development/python-modules/pyudev/default.nix +++ b/pkgs/development/python-modules/pyudev/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { pname = "pyudev"; - version = "0.21.0"; + version = "0.22.0"; src = fetchPypi { inherit pname version; - sha256 = "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9"; + sha256 = "0xmj6l08iih2js9skjqpv4w7y0dhxyg91zmrs6v5aa65gbmipfv9"; }; postPatch = '' From 31a06c11a8f00c6699ae43112b3abba4aa4ff36b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 21:03:02 +0000 Subject: [PATCH 143/158] python27Packages.rfc3986: 1.3.2 -> 1.4.0 --- pkgs/development/python-modules/rfc3986/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rfc3986/default.nix b/pkgs/development/python-modules/rfc3986/default.nix index 7d8a44365c4..3af6d2f022b 100644 --- a/pkgs/development/python-modules/rfc3986/default.nix +++ b/pkgs/development/python-modules/rfc3986/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "rfc3986"; - version = "1.3.2"; + version = "1.4.0"; src = fetchPypi { inherit pname version; - sha256 = "0344d0bd428126ce554e7ca2b61787b6a28d2bbd19fc70ed2dd85efe31176405"; + sha256 = "17dvx15m3r49bmif5zlli8kzjd6bys6psixzbp14sd5367d9h8qi"; }; checkInputs = [ pytest ]; From 9f1c6fe8e188fc9b148e2fbde06ca462b59f8128 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 20:55:46 +0000 Subject: [PATCH 144/158] python27Packages.subliminal: 2.0.5 -> 2.1.0 --- pkgs/development/python-modules/subliminal/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/subliminal/default.nix b/pkgs/development/python-modules/subliminal/default.nix index 4c8bf7f6ba6..25e20a44118 100644 --- a/pkgs/development/python-modules/subliminal/default.nix +++ b/pkgs/development/python-modules/subliminal/default.nix @@ -28,11 +28,11 @@ buildPythonPackage rec { pname = "subliminal"; - version = "2.0.5"; + version = "2.1.0"; src = fetchPypi { inherit pname version; - sha256 = "1dzv5csjcwgz69aimarx2c6606ckm2gbn4x2mzydcqnyai7sayhl"; + sha256 = "12v2clnbic8320fjsvkg3xfxfa7x8inhjk61z00pzwx46g3rqhy6"; }; propagatedBuildInputs = [ From 9d11fd8f5f5a3d09dbf96925a8efd2e8438405ab Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 19:43:15 +0000 Subject: [PATCH 145/158] python27Packages.snakeviz: 2.0.1 -> 2.1.0 --- pkgs/development/python-modules/snakeviz/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/snakeviz/default.nix b/pkgs/development/python-modules/snakeviz/default.nix index efb0a23a7c6..a34996b8734 100644 --- a/pkgs/development/python-modules/snakeviz/default.nix +++ b/pkgs/development/python-modules/snakeviz/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "snakeviz"; - version = "2.0.1"; + version = "2.1.0"; src = fetchPypi { inherit pname version; - sha256 = "11a8cd4g98vq2x61i99ncl5w83clnndwg909ya4y1cdf0k1ckb40"; + sha256 = "0s6byw23hr2khqx2az36hpi52fk4v6bfm1bb7biaf0d2nrpqgbcj"; }; # Upstream doesn't run tests from setup.py From 24cf81696f3e61e7f48e469ba7430fd2a1e84c2d Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 17:19:04 +0000 Subject: [PATCH 146/158] python37Packages.starlette: 0.13.2 -> 0.13.4 --- pkgs/development/python-modules/starlette/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix index cad0aa79705..842622e56f8 100644 --- a/pkgs/development/python-modules/starlette/default.nix +++ b/pkgs/development/python-modules/starlette/default.nix @@ -26,14 +26,14 @@ buildPythonPackage rec { # https://github.com/tiangolo/fastapi/issues/683. Please update when # possible. FastAPI is currently Starlette's only dependent. - version = "0.13.2"; + version = "0.13.4"; disabled = isPy27; src = fetchFromGitHub { owner = "encode"; repo = pname; rev = version; - sha256 = "1ls8d121zyyhry5ji7gf7vjvhyqdpr4za3qx1llq48943fmaxxpq"; + sha256 = "1rk20rj62iigkkikb80bmalriyg1j3g28s25l8z2gijagv1v5c7l"; }; propagatedBuildInputs = [ From 37d3bd1af75a0e52a7e49262209b7762eb981832 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Mon, 11 May 2020 11:43:40 -0700 Subject: [PATCH 147/158] python3Packages.fastapi: don't pin starlette --- pkgs/development/python-modules/fastapi/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix index 0ed9d42c3b0..3513f57cdbe 100644 --- a/pkgs/development/python-modules/fastapi/default.nix +++ b/pkgs/development/python-modules/fastapi/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "fastapi"; - version = "0.54.0"; + version = "0.54.1"; format = "flit"; disabled = !isPy3k; @@ -24,9 +24,14 @@ buildPythonPackage rec { owner = "tiangolo"; repo = "fastapi"; rev = version; - sha256 = "17bicrpr801z71wrn9iimvh7qk6iwyxvr89ialf0s2rxxa2s0yb5"; + sha256 = "0k0lss8x6lzf0szcli48v28r269fsx1jdkr9q78liz47dz5x03d8"; }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "starlette ==0.13.2" "starlette" + ''; + propagatedBuildInputs = [ uvicorn starlette From 013246780759b5d0a0b4ffd43e28947c792caed3 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 16:24:49 +0000 Subject: [PATCH 148/158] python27Packages.parver: 0.2.1 -> 0.3.0 --- pkgs/development/python-modules/parver/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/parver/default.nix b/pkgs/development/python-modules/parver/default.nix index c71e39ca111..a51f1c00327 100644 --- a/pkgs/development/python-modules/parver/default.nix +++ b/pkgs/development/python-modules/parver/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "parver"; - version = "0.2.1"; + version = "0.3.0"; src = fetchPypi { inherit pname version; - sha256 = "0jzyylcmjxb0agc4fpdnzdnv2ajvp99rs9pz7qcklnhlmy8scdqv"; + sha256 = "0a6jp17c1ag6b9yp5xgy9wvznk3g0v2f8gpwkcwxpyc9ygk98zdm"; }; propagatedBuildInputs = [ six attrs arpeggio ]; From 0f89908eeef67ed23be412d187e872e48be50d11 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 16:45:39 +0000 Subject: [PATCH 149/158] python27Packages.rdflib: 4.2.2 -> 5.0.0 --- pkgs/development/python-modules/rdflib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix index 87d99623057..261ba794e70 100644 --- a/pkgs/development/python-modules/rdflib/default.nix +++ b/pkgs/development/python-modules/rdflib/default.nix @@ -10,11 +10,11 @@ buildPythonPackage rec { pname = "rdflib"; - version = "4.2.2"; + version = "5.0.0"; src = fetchPypi { inherit pname version; - sha256 = "0398c714znnhaa2x7v51b269hk20iz073knq2mvmqp2ma92z27fs"; + sha256 = "0mdi7xh4zcr3ngqwlgqdqf0i5bxghwfddyxdng1zwpiqkpa9s53q"; }; propagatedBuildInputs = [isodate html5lib SPARQLWrapper ]; From 18218babe483778af3f50a97396cc0af7efd8691 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 16:31:21 +0000 Subject: [PATCH 150/158] python37Packages.pyenchant: 2.0.0 -> 3.0.1 --- pkgs/development/python-modules/pyenchant/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyenchant/default.nix b/pkgs/development/python-modules/pyenchant/default.nix index 472cdc7118d..b775a1a0157 100644 --- a/pkgs/development/python-modules/pyenchant/default.nix +++ b/pkgs/development/python-modules/pyenchant/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "pyenchant"; - version = "2.0.0"; + version = "3.0.1"; src = fetchPypi { inherit pname version; - sha256 = "fc31cda72ace001da8fe5d42f11c26e514a91fa8c70468739216ddd8de64e2a0"; + sha256 = "0nfmckqm45fbfz795qw5hgvygdxgxchdiwp3kmm1k05z99j6mlhv"; }; propagatedBuildInputs = [ enchant2 ]; From c2e563d9785de2741a931cdf48af0bb3141e98f8 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 11 May 2020 11:55:14 -0700 Subject: [PATCH 151/158] python2Packages.pyenchant: disable python2 Abandoned upstream --- pkgs/development/python-modules/pyenchant/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/pyenchant/default.nix b/pkgs/development/python-modules/pyenchant/default.nix index b775a1a0157..91626bd5e55 100644 --- a/pkgs/development/python-modules/pyenchant/default.nix +++ b/pkgs/development/python-modules/pyenchant/default.nix @@ -1,5 +1,6 @@ { stdenv , buildPythonPackage +, isPy27 , fetchPypi , enchant2 }: @@ -7,6 +8,7 @@ buildPythonPackage rec { pname = "pyenchant"; version = "3.0.1"; + disabled = isPy27; src = fetchPypi { inherit pname version; From 1d5390bee10e16a78c8180584f7d3472e0f5a216 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 15:57:36 +0000 Subject: [PATCH 152/158] python27Packages.ldap3: 2.6.1 -> 2.7 --- pkgs/development/python-modules/ldap3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix index d9694633704..eb2d09d8d26 100644 --- a/pkgs/development/python-modules/ldap3/default.nix +++ b/pkgs/development/python-modules/ldap3/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "ldap3"; - version = "2.6.1"; + version = "2.7"; src = fetchPypi { inherit pname version; - sha256 = "0ag5xqlki6pjk3f50b8ar8vynx2fmkna7rfampv3kdgwg8z6gjr7"; + sha256 = "1h1q8g1c2nkhx8p5n91bzkvjx5js5didi9xqbnmfrxqbnyc45w0p"; }; propagatedBuildInputs = [ pyasn1 ]; From 3a453bc6323cb45531edf503ffac741a6e780e21 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 16:11:37 +0000 Subject: [PATCH 153/158] python27Packages.plotly: 4.4.1 -> 4.6.0 --- pkgs/development/python-modules/plotly/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix index ecb5f7cc3ad..2d14488c4ee 100644 --- a/pkgs/development/python-modules/plotly/default.nix +++ b/pkgs/development/python-modules/plotly/default.nix @@ -11,11 +11,11 @@ buildPythonPackage rec { pname = "plotly"; - version = "4.4.1"; + version = "4.6.0"; src = fetchPypi { inherit pname version; - sha256 = "acc94f17452471ca3446c2ce491c4d1affb99b9ddd9eac4e05614ac4318f8780"; + sha256 = "0br996lqbyq1prq9hhrzkgpicz5fgvxamzjrrpms20a2y1alkwv1"; }; propagatedBuildInputs = [ From d020db4a44eb3cdc60aff19d21bd704f1f4d8768 Mon Sep 17 00:00:00 2001 From: Aiken Cairncross Date: Mon, 11 May 2020 19:46:44 +0100 Subject: [PATCH 154/158] onnx: 1.6.0 -> 1.7.0 --- .../python-modules/onnx/default.nix | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix index 3e2c8bd499d..6c0560bbaff 100644 --- a/pkgs/development/python-modules/onnx/default.nix +++ b/pkgs/development/python-modules/onnx/default.nix @@ -18,29 +18,18 @@ buildPythonPackage rec { pname = "onnx"; - version = "1.6.0"; + version = "1.7.0"; # Due to Protobuf packaging issues this build of Onnx with Python 2 gives - # errors on import + # errors on import. + # Also support for Python 2 will be deprecated from Onnx v1.8. disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "0ig33jl3591041lyylxp52yi20rfrcqx3i030hd6al8iabzc721v"; + sha256 = "0j6rgfbhsw3a8id8pyg18y93k68lbjbj1kq6qia36h69f6pvlyjy"; }; - # Remove the unqualified requirement for the typing package for running the - # tests. typing is already required for the installation, where it is - # correctly qualified so as to only be required for sufficiently old Python - # versions. - # This patch should be in the next release (>1.6). - patches = [ - (fetchpatch { - url = "https://github.com/onnx/onnx/commit/c963586d0f8dd5740777b2fd06f04ec60816de9f.patch"; - sha256 = "1hl26cw5zckc91gmh0bdah87jyprccxiw0f4i5h1gwkq28hm6wbj"; - }) - ]; - nativeBuildInputs = [ cmake ]; propagatedBuildInputs = [ @@ -61,13 +50,17 @@ buildPythonPackage rec { patchShebangs tools/protoc-gen-mypy.py ''; + preBuild = '' + export MAX_JOBS=$NIX_BUILD_CORES + ''; + # The executables are just utility scripts that aren't too important postInstall = '' rm -r $out/bin ''; - # The setup.py does all the configuration (running CMake) - dontConfigure = true; + # The setup.py does all the configuration + dontUseCmakeConfigure = true; meta = { homepage = "http://onnx.ai"; From 9431a530cd0c3e6f93288854eae5431cf0f0742f Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 10 May 2020 00:53:12 +0000 Subject: [PATCH 155/158] python27Packages.stripe: 2.44.0 -> 2.47.0 --- pkgs/development/python-modules/stripe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix index ff520c5ffe3..109a5f6c769 100644 --- a/pkgs/development/python-modules/stripe/default.nix +++ b/pkgs/development/python-modules/stripe/default.nix @@ -2,7 +2,7 @@ buildPythonPackage rec { pname = "stripe"; - version = "2.44.0"; + version = "2.47.0"; # Tests require network connectivity and there's no easy way to disable # them. ~ C. @@ -10,7 +10,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; - sha256 = "0aaaf8dp989im2n0cdmslq0ys4ia970yl1irhxiwwqarmh6fap5i"; + sha256 = "14skddrf2nl25bvcyys0bgibjqkcivvfdywzldqjzyqvbwr4mkal"; }; propagatedBuildInputs = [ requests ]; From 15d4f7a83191bdadc82cba7d0adbedbdf45421f5 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 18:00:33 +0000 Subject: [PATCH 156/158] python37Packages.sparse: 0.8.0 -> 0.9.1 --- pkgs/development/python-modules/sparse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sparse/default.nix b/pkgs/development/python-modules/sparse/default.nix index 483fc12915f..355453ed26e 100644 --- a/pkgs/development/python-modules/sparse/default.nix +++ b/pkgs/development/python-modules/sparse/default.nix @@ -10,13 +10,13 @@ buildPythonPackage rec { pname = "sparse"; - version = "0.8.0"; + version = "0.9.1"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "a3dc14ee5314caa2e64331b0b50c8f92e8999d7d275179a804a114e6cb1f8b81"; + sha256 = "04gfwm1y9knryx992biniqa3978n3chr38iy3y4i2b8wy52fzy3d"; }; checkInputs = [ pytest ]; From 84701d5f5a7ffbad95168fb9dda30bccc705b7c0 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 9 May 2020 19:50:06 +0000 Subject: [PATCH 157/158] python27Packages.pytest-metadata: 1.8.0 -> 1.9.0 --- pkgs/development/python-modules/pytest-metadata/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytest-metadata/default.nix b/pkgs/development/python-modules/pytest-metadata/default.nix index 369ddf2c476..9b25e2045e9 100644 --- a/pkgs/development/python-modules/pytest-metadata/default.nix +++ b/pkgs/development/python-modules/pytest-metadata/default.nix @@ -3,11 +3,11 @@ buildPythonPackage rec { pname = "pytest-metadata"; - version = "1.8.0"; + version = "1.9.0"; src = fetchPypi { inherit pname version; - sha256 = "1fk6icip2x1nh4kzhbc8cnqrs77avpqvj7ny3xadfh6yhn9aaw90"; + sha256 = "1711gippwsl7c1wi8pc2y75xqq5sn1sscpqvrxjvpjm8pcx2138n"; }; nativeBuildInputs = [ setuptools_scm ]; From 33a756f431c2bae404d1ebbe2bf457405d813566 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sat, 1 Feb 2020 11:20:32 +0000 Subject: [PATCH 158/158] ocamlPackages.lablgtk3: 3.0.beta6 -> 3.1.0 --- pkgs/development/ocaml-modules/lablgtk3/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ocaml-modules/lablgtk3/default.nix b/pkgs/development/ocaml-modules/lablgtk3/default.nix index d49208ede60..641f16f69b0 100644 --- a/pkgs/development/ocaml-modules/lablgtk3/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk3/default.nix @@ -1,14 +1,14 @@ { lib, fetchurl, pkgconfig, buildDunePackage, gtk3, cairo2 }: buildDunePackage rec { - version = "3.0.beta6"; + version = "3.1.0"; pname = "lablgtk3"; minimumOCamlVersion = "4.05"; src = fetchurl { url = "https://github.com/garrigue/lablgtk/releases/download/${version}/lablgtk3-${version}.tbz"; - sha256 = "1jni5cbp54qs7y0dc5zkm28v2brpfwy5miighv7cy0nmmxrsq520"; + sha256 = "1fn04qwgkwc86jndlrnv4vxcmasjsp1mmcgfznahj1ccc7bv47sv"; }; nativeBuildInputs = [ pkgconfig ];