diff --git a/.dir-locals.el b/.dir-locals.el deleted file mode 100644 index a53c8aa6db54..000000000000 --- a/.dir-locals.el +++ /dev/null @@ -1,8 +0,0 @@ -;;; Directory Local Variables -;;; For more information see (info "(emacs) Directory Variables") - -((nil - (bug-reference-bug-regexp . "\\(\\(?:[Ii]ssue \\|[Ff]ixe[ds] \\|[Rr]esolve[ds]? \\|[Cc]lose[ds]? \\|[Pp]\\(?:ull [Rr]equest\\|[Rr]\\) \\|(\\)#\\([0-9]+\\))?\\)") - (bug-reference-url-format . "https://github.com/NixOS/nixpkgs/issues/%s")) - (nix-mode - (tab-width . 2))) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 2b88f15d276e..07eddc80c253 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -20,7 +20,7 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license. (Motivation for change. Additional information.) ``` - For consistency, there should not be a period at the end of the commit message. + For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message). Examples: diff --git a/doc/functions/library/attrsets.xml b/doc/functions/library/attrsets.xml index 6f23e267bab2..65d0b40e2e82 100644 --- a/doc/functions/library/attrsets.xml +++ b/doc/functions/library/attrsets.xml @@ -966,5 +966,766 @@ lib.attrsets.mapAttrsToList (name: value: "${name}=${value}") itself to attribute sets. Also, the first argument of the argument function is a list of the names of the containing attributes. + + + + + f + + + + [ String ] -> Any -> Any + + + Given a list of attribute names and value, return a new value. + + + + + name_path + + + + The list of attribute names to this value. + + + For example, the name_path for the + example string in the attribute set { foo + = { bar = "example"; }; } is [ "foo" "bar" + ]. + + + + + + value + + + + The attribute's value. + + + + + + + + + set + + + + The attribute set to recursively map over. + + + + + + + A contrived example of using <function>lib.attrsets.mapAttrsRecursive</function> + { + n = { + a = "n-a-A"; + m = { + b = "n-m-b-B"; + c = "n-m-c-C"; + }; + }; + d = "d-D"; + } + ]]> + + + +
+ <function>lib.attrsets.mapAttrsRecursiveCond</function> + + mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([ String ] -> Any -> Any) -> AttrSet -> AttrSet + + + + + + Like mapAttrsRecursive, but it takes an additional + predicate function that tells it whether to recursive into an attribute set. + If it returns false, mapAttrsRecursiveCond does not + recurse, but does apply the map function. It is returns true, it does + recurse, and does not apply the map function. + + + + + + cond + + + + (AttrSet -> Bool) + + + Determine if mapAttrsRecursive should recurse deeper + in to the attribute set. + + + + + attributeset + + + + An attribute set. + + + + + + + + + f + + + + [ String ] -> Any -> Any + + + Given a list of attribute names and value, return a new value. + + + + + name_path + + + + The list of attribute names to this value. + + + For example, the name_path for the + example string in the attribute set { foo + = { bar = "example"; }; } is [ "foo" "bar" + ]. + + + + + + value + + + + The attribute's value. + + + + + + + + + set + + + + The attribute set to recursively map over. + + + + + + + Only convert attribute values to JSON if the containing attribute set is marked for recursion + { + dorecur = { + hello = "\"there\""; + recurse = "true"; + }; + dontrecur = "{\"converted-to\":\"json\"}"; + } + ]]> + +
+ +
+ <function>lib.attrsets.genAttrs</function> + + genAttrs :: [ String ] -> (String -> Any) -> AttrSet + + + + + + Generate an attribute set by mapping a function over a list of attribute + names. + + + + + + names + + + + Names of values in the resulting attribute set. + + + + + + f + + + + String -> Any + + + Takes the name of the attribute and return the attribute's value. + + + + + name + + + + The name of the attribute to generate a value for. + + + + + + + + + + Generate an attrset based on names only + { foo = "x_foo"; bar = "x_bar"; } + ]]> + +
+ +
+ <function>lib.attrsets.isDerivation</function> + + isDerivation :: Any -> Bool + + + + + + Check whether the argument is a derivation. Any set with { type = + "derivation"; } counts as a derivation. + + + + + + value + + + + The value which is possibly a derivation. + + + + + + + A package is a derivation + {}).ruby +=> true + ]]> + + + + Anything else is not a derivation + false + ]]> + +
+ +
+ <function>lib.attrsets.toDerivation</function> + + toDerivation :: Path -> Derivation + + + + + + Converts a store path to a fake derivation. + + + + + + path + + + + A store path to convert to a derivation. + + + + +
+ +
+ <function>lib.attrsets.optionalAttrs</function> + + optionalAttrs :: Bool -> AttrSet + + + + + + Conditionally return an attribute set or an empty attribute set. + + + + + + cond + + + + Condition under which the as attribute set is + returned. + + + + + + as + + + + The attribute set to return if cond is true. + + + + + + + Return the provided attribute set when <varname>cond</varname> is true + { my = "set"; } + ]]> + + + + Return an empty attribute set when <varname>cond</varname> is false + { } + ]]> + +
+ +
+ <function>lib.attrsets.zipAttrsWithNames</function> + + zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet + + + + + + Merge sets of attributes and use the function f to merge + attribute values where the attribute name is in names. + + + + + + names + + + + A list of attribute names to zip. + + + + + + f + + + + (String -> [ Any ] -> Any + + + Accepts an attribute name, all the values, and returns a combined value. + + + + + name + + + + The name of the attribute each value came from. + + + + + + vs + + + + A list of values collected from the list of attribute sets. + + + + + + + + + sets + + + + A list of attribute sets to zip together. + + + + + + + Summing a list of attribute sets of numbers + { a = "a 11"; b = "b 101"; } + ]]> + +
+ +
+ <function>lib.attrsets.zipAttrsWith</function> + + zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet + + + + + + Merge sets of attributes and use the function f to merge + attribute values. Similar to + where + all key names are passed for names. + + + + + + f + + + + (String -> [ Any ] -> Any + + + Accepts an attribute name, all the values, and returns a combined value. + + + + + name + + + + The name of the attribute each value came from. + + + + + + vs + + + + A list of values collected from the list of attribute sets. + + + + + + + + + sets + + + + A list of attribute sets to zip together. + + + + + + + Summing a list of attribute sets of numbers + { a = "a 11"; b = "b 101"; c = "c 1001"; } + ]]> + +
+ +
+ <function>lib.attrsets.zipAttrs</function> + + zipAttrsWith :: [ AttrSet ] -> AttrSet + + + + + + Merge sets of attributes and combine each attribute value in to a list. + Similar to + where the merge function returns a list of all values. + + + + + + sets + + + + A list of attribute sets to zip together. + + + + + + + Combining a list of attribute sets + { a = [ 1 10 ]; b = [ 1 100 ]; c = [ 1 1000 ]; } + ]]> + +
+ +
+ <function>lib.attrsets.recursiveUpdateUntil</function> + + recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet + + + + + + Does the same as the update operator // except that + attributes are merged until the given predicate is verified. The predicate + should accept 3 arguments which are the path to reach the attribute, a part + of the first attribute set and a part of the second attribute set. When the + predicate is verified, the value of the first attribute set is replaced by + the value of the second attribute set. + + + + + + pred + + + + [ String ] -> AttrSet -> AttrSet -> Bool + + + + + path + + + + The path to the values in the left and right hand sides. + + + + + + l + + + + The left hand side value. + + + + + + r + + + + The right hand side value. + + + + + + + + + lhs + + + + The left hand attribute set of the merge. + + + + + + rhs + + + + The right hand attribute set of the merge. + + + + + + + Recursively merging two attribute sets + { + foo.bar = 1; # 'foo.*' from the second set + foo.quz = 2; # + bar = 3; # 'bar' from the first set + baz = 4; # 'baz' from the second set +} + ]]> + +
+ +
+ <function>lib.attrsets.recursiveUpdate</function> + + recursiveUpdate :: AttrSet -> AttrSet -> AttrSet + + + + + + A recursive variant of the update operator //. The + recursion stops when one of the attribute values is not an attribute set, in + which case the right hand side value takes precedence over the left hand + side value. + + + + + + lhs + + + + The left hand attribute set of the merge. + + + + + + rhs + + + + The right hand attribute set of the merge. + + + + + + + Recursively merging two attribute sets + { + boot.loader.grub.enable = true; + boot.loader.grub.device = ""; +} +]]> +
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 5eabb866654e..b52b79c62d91 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -186,7 +186,7 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th `toolz` package. ```nix -{ # ... +{ lib, buildPythonPackage, fetchPypi }: toolz = buildPythonPackage rec { pname = "toolz"; @@ -199,8 +199,8 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th doCheck = false; - meta = { - homepage = "https://github.com/pytoolz/toolz/"; + meta = with lib; { + homepage = https://github.com/pytoolz/toolz; description = "List processing tools and functional utilities"; license = licenses.bsd3; maintainers = with maintainers; [ fridh ]; @@ -267,12 +267,13 @@ that we introduced with the `let` expression. #### Handling dependencies -Our example, `toolz`, does not have any dependencies on other Python -packages or system libraries. According to the manual, `buildPythonPackage` -uses the arguments `buildInputs` and `propagatedBuildInputs` to specify dependencies. If something is -exclusively a build-time dependency, then the dependency should be included as a -`buildInput`, but if it is (also) a runtime dependency, then it should be added -to `propagatedBuildInputs`. Test dependencies are considered build-time dependencies. +Our example, `toolz`, does not have any dependencies on other Python packages or +system libraries. According to the manual, `buildPythonPackage` uses the +arguments `buildInputs` and `propagatedBuildInputs` to specify dependencies. If +something is exclusively a build-time dependency, then the dependency should be +included as a `buildInput`, but if it is (also) a runtime dependency, then it +should be added to `propagatedBuildInputs`. Test dependencies are considered +build-time dependencies and passed to `checkInputs`. The following example shows which arguments are given to `buildPythonPackage` in order to build [`datashape`](https://github.com/blaze/datashape). @@ -292,7 +293,7 @@ order to build [`datashape`](https://github.com/blaze/datashape). checkInputs = with self; [ pytest ]; propagatedBuildInputs = with self; [ numpy multipledispatch dateutil ]; - meta = { + meta = with lib; { homepage = https://github.com/ContinuumIO/datashape; description = "A data description language"; license = licenses.bsd2; @@ -326,7 +327,7 @@ when building the bindings and are therefore added as `buildInputs`. buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ]; - meta = { + meta = with lib; { description = "Pythonic binding for the libxml2 and libxslt libraries"; homepage = https://lxml.de; license = licenses.bsd3; @@ -370,9 +371,9 @@ and `CFLAGS`. export CFLAGS="-I${pkgs.fftw.dev}/include -I${pkgs.fftwFloat.dev}/include -I${pkgs.fftwLongDouble.dev}/include" ''; - meta = { + meta = with lib; { description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms"; - homepage = http://hgomersall.github.com/pyFFTW/; + homepage = http://hgomersall.github.com/pyFFTW; license = with licenses; [ bsd2 bsd3 ]; maintainers = with maintainers; [ fridh ]; }; @@ -478,8 +479,6 @@ don't explicitly define which `python` derivation should be used. In the above example we use `buildPythonPackage` that is part of the set `python35Packages`, and in this case the `python35` interpreter is automatically used. - - ## Reference ### Interpreters @@ -549,31 +548,31 @@ The `buildPythonPackage` function is implemented in The following is an example: ```nix +{ lib, buildPythonPackage, fetchPypi, hypothesis, setuptools_scm, attrs, py, setuptools, six, pluggy }: buildPythonPackage rec { - version = "3.3.1"; pname = "pytest"; - - preCheck = '' - # don't test bash builtins - rm testing/test_argcomplete.py - ''; + version = "3.3.1"; src = fetchPypi { inherit pname version; sha256 = "cf8436dc59d8695346fcd3ab296de46425ecab00d64096cebe79fb51ecb2eb93"; }; + postPatch = '' + # don't test bash builtins + rm testing/test_argcomplete.py + ''; + checkInputs = [ hypothesis ]; buildInputs = [ setuptools_scm ]; propagatedBuildInputs = [ attrs py setuptools six pluggy ]; - meta = with stdenv.lib; { + meta = with lib; { maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; description = "Framework for writing tests"; }; } - ``` The `buildPythonPackage` mainly does four things: @@ -655,6 +654,39 @@ Another difference is that `buildPythonPackage` by default prefixes the names of the packages with the version of the interpreter. Because this is irrelevant for applications, the prefix is omitted. +When packaging a python application with `buildPythonApplication`, it should be +called with `callPackage` and passed `python` or `pythonPackages` (possibly +specifying an interpreter version), like this: + +```nix +{ lib, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "luigi"; + version = "2.7.9"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "035w8gqql36zlan0xjrzz9j4lh9hs0qrsgnbyw07qs7lnkvbdv9x"; + }; + + propagatedBuildInputs = with python3Packages; [ tornado_4 pythondaemon ]; + + meta = with lib; { + ... + }; +} +``` + +This is then added to `all-packages.nix` just as any other application would be. + +```nix +luigi = callPackage ../applications/networking/cluster/luigi { }; +``` + +Since the package is an application, a consumer doesn't need to care about +python versions or modules, which is why they don't go in `pythonPackages`. + #### `toPythonApplication` function A distinction is made between applications and libraries, however, sometimes a diff --git a/lib/customisation.nix b/lib/customisation.nix index df9d977e9ec7..68062dd0daf0 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -196,7 +196,7 @@ rec { newScope = scope: newScope (self // scope); callPackage = self.newScope {}; overrideScope = g: lib.warn - "`overrideScope` (from `lib.makeScope`) is deprecated. Do `overrideScope' (self: self: { … })` instead of `overrideScope (super: self: { … })`. All other overrides have the parameters in that order, including other definitions of `overrideScope`. This was the only definition violating the pattern." + "`overrideScope` (from `lib.makeScope`) is deprecated. Do `overrideScope' (self: super: { … })` instead of `overrideScope (super: self: { … })`. All other overrides have the parameters in that order, including other definitions of `overrideScope`. This was the only definition violating the pattern." (makeScope newScope (lib.fixedPoints.extends (lib.flip g) f)); overrideScope' = g: makeScope newScope (lib.fixedPoints.extends g f); packages = f; diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index c2ee829529dc..8ba03a63fd8d 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -28,7 +28,7 @@ rec { }; armv7l-hf-multiplatform = rec { - config = "armv7a-unknown-linux-gnueabihf"; + config = "armv7l-unknown-linux-gnueabihf"; platform = platforms.armv7l-hf-multiplatform; }; diff --git a/lib/types.nix b/lib/types.nix index 4e44e7521c4b..ca6794e274c3 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -194,7 +194,10 @@ rec { # separator between the values). separatedString = sep: mkOptionType rec { name = "separatedString"; - description = "string"; + description = if sep == "" + then "Concatenated string" # for types.string. + else "strings concatenated with ${builtins.toJSON sep}" + ; check = isString; merge = loc: defs: concatStringsSep sep (getValues defs); functor = (defaultFunctor name) // { diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fd79376b14d3..e7756f0bff11 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -520,6 +520,11 @@ github = "bgamari"; name = "Ben Gamari"; }; + bhall = { + email = "brendan.j.hall@bath.edu"; + github = "brendan-hall"; + name = "Brendan Hall"; + }; bhipple = { email = "bhipple@protonmail.com"; github = "bhipple"; @@ -1195,6 +1200,11 @@ github = "eduarrrd"; name = "Eduard Bachmakov"; }; + edude03 = { + email = "michael@melenion.com"; + github = "edude03"; + name = "Michael Francis"; + }; edwtjo = { email = "ed@cflags.cc"; github = "edwtjo"; @@ -2148,6 +2158,11 @@ github = "kiloreux"; name = "Kiloreux Emperex"; }; + kimburgess = { + email = "kim@acaprojects.com"; + github = "kimburgess"; + name = "Kim Burgess"; + }; kini = { email = "keshav.kini@gmail.com"; github = "kini"; @@ -3125,6 +3140,11 @@ github = "pacien"; name = "Pacien Tran-Girard"; }; + paddygord = { + email = "pgpatrickgordon@gmail.com"; + github = "paddygord"; + name = "Patrick Gordon"; + }; paholg = { email = "paho@paholg.com"; github = "paholg"; diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 2b68def95b70..8e94f946c5ee 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -115,10 +115,17 @@ - Add a swap partition. The size required will vary - according to needs, here a 8GiB one is created. The space left in front - (512MiB) will be used by the boot partition. -# parted /dev/sda -- mkpart primary linux-swap 512MiB 8.5GiB + Add the root partition. This will fill the disk + except for the end part, where the swap will live, and the space left in + front (512MiB) which will be used by the boot partition. +# parted /dev/sda -- mkpart primary 512MiB -8GiB + + + + + Next, add a swap partition. The size required will + vary according to needs, here a 8GiB one is created. +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% The swap partition size rules are no different than for other Linux @@ -127,20 +134,13 @@ - - - Next, add the root partition. This will fill the - remainder ending part of the disk. -# parted /dev/sda -- mkpart primary 8.5GiB -1MiB - - Finally, the boot partition. NixOS by default uses the ESP (EFI system partition) as its /boot partition. It uses the initially reserved 512MiB at the start of the disk. -# parted /dev/sda -- mkpart ESP fat32 1M 512MiB +# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB # parted /dev/sda -- set 3 boot on @@ -177,9 +177,16 @@ - Add a swap partition. The size required will vary - according to needs, here a 8GiB one is created. -# parted /dev/sda -- mkpart primary linux-swap 1M 8GiB + Add the root partition. This will fill the the disk + except for the end part, where the swap will live. +# parted /dev/sda -- mkpart primary 1MiB -8GiB + + + + + Finally, add a swap partition. The size required + will vary according to needs, here a 8GiB one is created. +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% The swap partition size rules are no different than for other Linux @@ -188,13 +195,6 @@ - - - Finally, add the root partition. This will fill the - remainder of the disk. -# parted /dev/sda -- mkpart primary 8GiB -1s - - @@ -486,17 +486,17 @@ $ nix-env -i w3m Example partition schemes for NixOS on <filename>/dev/sda</filename> (MBR) # parted /dev/sda -- mklabel msdos -# parted /dev/sda -- mkpart primary linux-swap 1M 8GiB -# parted /dev/sda -- mkpart primary 8GiB -1s +# parted /dev/sda -- mkpart primary 1MiB -8GiB +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% Example partition schemes for NixOS on <filename>/dev/sda</filename> (UEFI) # parted /dev/sda -- mklabel gpt -# parted /dev/sda -- mkpart primary linux-swap 512MiB 8.5GiB -# parted /dev/sda -- mkpart primary 8.5GiB -1MiB -# parted /dev/sda -- mkpart ESP fat32 1M 512MiB +# parted /dev/sda -- mkpart primary 512MiB -8GiB +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% +# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB # parted /dev/sda -- set 3 boot on diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml index 9cb5b93f27cb..c4847b60e274 100644 --- a/nixos/doc/manual/release-notes/rl-1903.xml +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -113,6 +113,15 @@ (i.e. users.users.yourusername.extraGroups = ["video"];). + + + Buildbot now supports Python 3 and its packages have been moved to + pythonPackages. The options + and + can be used to select + the Python 2 or 3 version of the package. + + diff --git a/nixos/modules/config/krb5/default.nix b/nixos/modules/config/krb5/default.nix index c22e99a0a2f1..87021a27d34f 100644 --- a/nixos/modules/config/krb5/default.nix +++ b/nixos/modules/config/krb5/default.nix @@ -79,7 +79,7 @@ in { options = { krb5 = { - enable = mkEnableOption "Whether to enable Kerberos V."; + enable = mkEnableOption "building krb5.conf, configuration file for Kerberos V"; kerberos = mkOption { type = types.package; diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 3c24dab85e4d..c07e19bd03c4 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -140,7 +140,7 @@ in if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas fi - + ${config.environment.extraSetup} ''; }; diff --git a/nixos/modules/config/xdg/mime.nix b/nixos/modules/config/xdg/mime.nix index 4323a49ea1dd..cd1064630fbc 100644 --- a/nixos/modules/config/xdg/mime.nix +++ b/nixos/modules/config/xdg/mime.nix @@ -24,11 +24,11 @@ with lib; environment.extraSetup = '' if [ -w $out/share/mime ] && [ -d $out/share/mime/packages ]; then - XDG_DATA_DIRS=$out/share ${pkgs.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null + XDG_DATA_DIRS=$out/share ${pkgs.buildPackages.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null fi if [ -w $out/share/applications ]; then - ${pkgs.desktop-file-utils}/bin/update-desktop-database $out/share/applications + ${pkgs.buildPackages.desktop-file-utils}/bin/update-desktop-database $out/share/applications fi ''; }; diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index 6a7105e9cdaa..09d53c322fb3 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -166,7 +166,7 @@ in if [ -w $out/share/info ]; then shopt -s nullglob for i in $out/share/info/*.info $out/share/info/*.info.gz; do - ${pkgs.texinfo}/bin/install-info $i $out/share/info/dir + ${pkgs.buildPackages.texinfo}/bin/install-info $i $out/share/info/dir done fi ''; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b6849a4df574..f55c32fa511d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -735,12 +735,14 @@ ./services/x11/display-managers/lightdm.nix ./services/x11/display-managers/sddm.nix ./services/x11/display-managers/slim.nix + ./services/x11/display-managers/startx.nix ./services/x11/display-managers/xpra.nix ./services/x11/fractalart.nix ./services/x11/hardware/libinput.nix ./services/x11/hardware/multitouch.nix ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix + ./services/x11/gdk-pixbuf.nix ./services/x11/redshift.nix ./services/x11/urxvtd.nix ./services/x11/window-managers/awesome.nix diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix index c3f742acde2e..5948fe11f92b 100644 --- a/nixos/modules/programs/fish.nix +++ b/nixos/modules/programs/fish.nix @@ -9,7 +9,7 @@ let cfg = config.programs.fish; fishAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k} '${v}'") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}") cfg.shellAliases ); in diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 8d767de37f00..0f07e6133bb5 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -6,8 +6,12 @@ with lib; let cfg = config.services.buildbot-master; + + python = cfg.package.pythonModule; + escapeStr = s: escape ["'"] s; - masterCfg = if cfg.masterCfg == null then pkgs.writeText "master.cfg" '' + + defaultMasterCfg = pkgs.writeText "master.cfg" '' from buildbot.plugins import * factory = util.BuildFactory() c = BuildmasterConfig = dict( @@ -27,8 +31,28 @@ let factory.addStep(step) ${cfg.extraConfig} - '' - else cfg.masterCfg; + ''; + + tacFile = pkgs.writeText "buildbot-master.tac" '' + import os + + from twisted.application import service + from buildbot.master import BuildMaster + + basedir = '${cfg.buildbotDir}' + + configfile = '${cfg.masterCfg}' + + # Default umask for server + umask = None + + # note: this line is matched against to check that this is a buildmaster + # directory; do not edit it. + application = service.Application('buildmaster') + + m = BuildMaster(basedir, configfile, umask) + m.setServiceParent(application) + ''; in { options = { @@ -66,9 +90,9 @@ in { }; masterCfg = mkOption { - type = types.nullOr types.path; + type = types.path; description = "Optionally pass master.cfg path. Other options in this configuration will be ignored."; - default = null; + default = defaultMasterCfg; example = "/etc/nixos/buildbot/master.cfg"; }; @@ -175,18 +199,25 @@ in { package = mkOption { type = types.package; - default = pkgs.buildbot-full; - defaultText = "pkgs.buildbot-full"; + default = pkgs.pythonPackages.buildbot-full; + defaultText = "pkgs.pythonPackages.buildbot-full"; description = "Package to use for buildbot."; - example = literalExample "pkgs.buildbot-full"; + example = literalExample "pkgs.python3Packages.buildbot-full"; }; packages = mkOption { - default = with pkgs; [ python27Packages.twisted git ]; + default = [ pkgs.git ]; example = literalExample "[ pkgs.git ]"; type = types.listOf types.package; description = "Packages to add to PATH for the buildbot process."; }; + + pythonPackages = mkOption { + default = pythonPackages: with pythonPackages; [ ]; + defaultText = "pythonPackages: with pythonPackages; [ ]"; + description = "Packages to add the to the PYTHONPATH of the buildbot process."; + example = literalExample "pythonPackages: with pythonPackages; [ requests ]"; + }; }; }; @@ -210,14 +241,15 @@ in { description = "Buildbot Continuous Integration Server."; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; - path = cfg.packages; + path = cfg.packages ++ cfg.pythonPackages python.pkgs; + environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ cfg.package ])}/${python.sitePackages}"; preStart = '' - env > envvars - mkdir -vp ${cfg.buildbotDir} - ln -sfv ${masterCfg} ${cfg.buildbotDir}/master.cfg - rm -fv $cfg.buildbotDir}/buildbot.tac - ${cfg.package}/bin/buildbot create-master ${cfg.buildbotDir} + mkdir -vp "${cfg.buildbotDir}" + # Link the tac file so buildbot command line tools recognize the directory + ln -sf "${tacFile}" "${cfg.buildbotDir}/buildbot.tac" + ${cfg.package}/bin/buildbot create-master --db "${cfg.dbUrl}" "${cfg.buildbotDir}" + rm -f buildbot.tac.new master.cfg.sample ''; serviceConfig = { @@ -225,12 +257,11 @@ in { User = cfg.user; Group = cfg.group; WorkingDirectory = cfg.home; - ExecStart = "${cfg.package}/bin/buildbot start --nodaemon ${cfg.buildbotDir}"; + # NOTE: call twistd directly with stdout logging for systemd + ExecStart = "${python.pkgs.twisted}/bin/twistd -o --nodaemon --pidfile= --logfile - --python ${tacFile}"; }; - }; }; meta.maintainers = with lib.maintainers; [ nand0p mic92 ]; - } diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix index 67c541570b97..4130ec918a70 100644 --- a/nixos/modules/services/continuous-integration/buildbot/worker.nix +++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix @@ -7,6 +7,40 @@ with lib; let cfg = config.services.buildbot-worker; + python = cfg.package.pythonModule; + + tacFile = pkgs.writeText "aur-buildbot-worker.tac" '' + import os + from io import open + + from buildbot_worker.bot import Worker + from twisted.application import service + + basedir = '${cfg.buildbotDir}' + + # note: this line is matched against to check that this is a worker + # directory; do not edit it. + application = service.Application('buildbot-worker') + + master_url_split = '${cfg.masterUrl}'.split(':') + buildmaster_host = master_url_split[0] + port = int(master_url_split[1]) + workername = '${cfg.workerUser}' + + with open('${cfg.workerPassFile}', 'r', encoding='utf-8') as passwd_file: + passwd = passwd_file.read().strip('\r\n') + keepalive = 600 + umask = None + maxdelay = 300 + numcpus = None + allow_shutdown = None + + s = Worker(buildmaster_host, port, workername, passwd, basedir, + keepalive, umask=umask, maxdelay=maxdelay, + numcpus=numcpus, allow_shutdown=allow_shutdown) + s.setServiceParent(application) + ''; + in { options = { services.buildbot-worker = { @@ -59,6 +93,23 @@ in { description = "Specifies the Buildbot Worker password."; }; + workerPassFile = mkOption { + type = types.path; + description = "File used to store the Buildbot Worker password"; + }; + + hostMessage = mkOption { + default = null; + type = types.nullOr types.str; + description = "Description of this worker"; + }; + + adminMessage = mkOption { + default = null; + type = types.nullOr types.str; + description = "Name of the administrator of this worker"; + }; + masterUrl = mkOption { default = "localhost:9989"; type = types.str; @@ -67,23 +118,24 @@ in { package = mkOption { type = types.package; - default = pkgs.buildbot-worker; - defaultText = "pkgs.buildbot-worker"; + default = pkgs.pythonPackages.buildbot-worker; + defaultText = "pkgs.pythonPackages.buildbot-worker"; description = "Package to use for buildbot worker."; - example = literalExample "pkgs.buildbot-worker"; + example = literalExample "pkgs.python3Packages.buildbot-worker"; }; packages = mkOption { - default = with pkgs; [ python27Packages.twisted git ]; + default = with pkgs; [ git ]; example = literalExample "[ pkgs.git ]"; type = types.listOf types.package; description = "Packages to add to PATH for the buildbot process."; }; - }; }; config = mkIf cfg.enable { + services.buildbot-worker.workerPassFile = mkDefault (pkgs.writeText "buildbot-worker-password" cfg.workerPass); + users.groups = optional (cfg.group == "bbworker") { name = "bbworker"; }; @@ -104,11 +156,16 @@ in { after = [ "network.target" "buildbot-master.service" ]; wantedBy = [ "multi-user.target" ]; path = cfg.packages; + environment.PYTHONPATH = "${python.withPackages (p: [ cfg.package ])}/${python.sitePackages}"; preStart = '' - mkdir -vp ${cfg.buildbotDir} - rm -fv $cfg.buildbotDir}/buildbot.tac - ${cfg.package}/bin/buildbot-worker create-worker ${cfg.buildbotDir} ${cfg.masterUrl} ${cfg.workerUser} ${cfg.workerPass} + mkdir -vp "${cfg.buildbotDir}/info" + ${optionalString (cfg.hostMessage != null) '' + ln -sf "${pkgs.writeText "buildbot-worker-host" cfg.hostMessage}" "${cfg.buildbotDir}/info/host" + ''} + ${optionalString (cfg.adminMessage != null) '' + ln -sf "${pkgs.writeText "buildbot-worker-admin" cfg.adminMessage}" "${cfg.buildbotDir}/info/admin" + ''} ''; serviceConfig = { @@ -116,11 +173,9 @@ in { User = cfg.user; Group = cfg.group; WorkingDirectory = cfg.home; - Environment = "PYTHONPATH=${cfg.package}/lib/python2.7/site-packages:${pkgs.python27Packages.future}/lib/python2.7/site-packages"; # NOTE: call twistd directly with stdout logging for systemd - #ExecStart = "${cfg.package}/bin/buildbot-worker start --nodaemon ${cfg.buildbotDir}"; - ExecStart = "${pkgs.python27Packages.twisted}/bin/twistd -n -l - -y ${cfg.buildbotDir}/buildbot.tac"; + ExecStart = "${python.pkgs.twisted}/bin/twistd --nodaemon --pidfile= --logfile - --python ${tacFile}"; }; }; diff --git a/nixos/modules/services/logging/journaldriver.nix b/nixos/modules/services/logging/journaldriver.nix index 74ac3d4c2365..9bd581e9ec0e 100644 --- a/nixos/modules/services/logging/journaldriver.nix +++ b/nixos/modules/services/logging/journaldriver.nix @@ -7,7 +7,7 @@ # to be set. # # For further information please consult the documentation in the -# upstream repository at: https://github.com/aprilabank/journaldriver/ +# upstream repository at: https://github.com/tazjin/journaldriver/ { config, lib, pkgs, ...}: diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix index 0d91b247cd34..492c64583219 100644 --- a/nixos/modules/services/mail/rmilter.nix +++ b/nixos/modules/services/mail/rmilter.nix @@ -52,7 +52,7 @@ in enable = mkOption { type = types.bool; - default = cfg.rspamd.enable; + default = false; description = "Whether to run the rmilter daemon."; }; diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix index bba11796a3d3..ff01a5dee53d 100644 --- a/nixos/modules/services/mail/rspamd.nix +++ b/nixos/modules/services/mail/rspamd.nix @@ -159,7 +159,7 @@ in services.rspamd = { - enable = mkEnableOption "Whether to run the rspamd daemon."; + enable = mkEnableOption "rspamd, the Rapid spam filtering system"; debug = mkOption { type = types.bool; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 24379ec27354..5e171c08d893 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -399,8 +399,8 @@ in systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ]; systemd.services.nix-daemon = - { path = [ nix pkgs.utillinux ] - ++ optionals cfg.distributedBuilds [ config.programs.ssh.package pkgs.gzip ] + { path = [ nix pkgs.utillinux config.programs.ssh.package ] + ++ optionals cfg.distributedBuilds [ pkgs.gzip ] ++ optionals (!isNix20) [ pkgs.openssl.bin ]; environment = cfg.envVars diff --git a/nixos/modules/services/misc/nix-optimise.nix b/nixos/modules/services/misc/nix-optimise.nix index 6f75e4dd03ea..416529f690e0 100644 --- a/nixos/modules/services/misc/nix-optimise.nix +++ b/nixos/modules/services/misc/nix-optimise.nix @@ -40,6 +40,8 @@ in systemd.services.nix-optimise = { description = "Nix Store Optimiser"; + # No point running it inside a nixos-container. It should be on the host instead. + unitConfig.ConditionVirtualization = "!container"; serviceConfig.ExecStart = "${config.nix.package}/bin/nix-store --optimise"; startAt = optionals cfg.automatic cfg.dates; }; diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index f763ba21d0b2..8d25ac5cb76f 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.redmine; - bundle = "${pkgs.redmine}/share/redmine/bin/bundle"; + bundle = "${cfg.package}/share/redmine/bin/bundle"; databaseYml = pkgs.writeText "database.yml" '' production: @@ -15,6 +15,7 @@ let port: ${toString cfg.database.port} username: ${cfg.database.user} password: #dbpass# + ${optionalString (cfg.database.socket != null) "socket: ${cfg.database.socket}"} ''; configurationYml = pkgs.writeText "configuration.yml" '' @@ -29,6 +30,19 @@ let ${cfg.extraConfig} ''; + unpackTheme = unpack "theme"; + unpackPlugin = unpack "plugin"; + unpack = id: (name: source: + pkgs.stdenv.mkDerivation { + name = "redmine-${id}-${name}"; + buildInputs = [ pkgs.unzip ]; + buildCommand = '' + mkdir -p $out + cd $out + unpackFile ${source} + ''; + }); + in { @@ -40,6 +54,14 @@ in description = "Enable the Redmine service."; }; + package = mkOption { + type = types.package; + default = pkgs.redmine; + defaultText = "pkgs.redmine"; + description = "Which Redmine package to use."; + example = "pkgs.redmine.override { ruby = pkgs.ruby_2_3; }"; + }; + user = mkOption { type = types.str; default = "redmine"; @@ -52,6 +74,12 @@ in description = "Group under which Redmine is ran."; }; + port = mkOption { + type = types.int; + default = 3000; + description = "Port on which Redmine is ran."; + }; + stateDir = mkOption { type = types.str; default = "/var/lib/redmine"; @@ -66,6 +94,41 @@ in See https://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration ''; + example = literalExample '' + email_delivery: + delivery_method: smtp + smtp_settings: + address: mail.example.com + port: 25 + ''; + }; + + themes = mkOption { + type = types.attrsOf types.path; + default = {}; + description = "Set of themes."; + example = literalExample '' + { + dkuk-redmine_alex_skin = builtins.fetchurl { + url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip; + sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl"; + }; + } + ''; + }; + + plugins = mkOption { + type = types.attrsOf types.path; + default = {}; + description = "Set of plugins."; + example = literalExample '' + { + redmine_env_auth = builtins.fetchurl { + url = https://github.com/Intera/redmine_env_auth/archive/0.6.zip; + sha256 = "0yyr1yjd8gvvh832wdc8m3xfnhhxzk2pk3gm2psg5w9jdvd6skak"; + }; + } + ''; }; database = { @@ -78,7 +141,7 @@ in host = mkOption { type = types.str; - default = "127.0.0.1"; + default = (if cfg.database.socket != null then "localhost" else "127.0.0.1"); description = "Database host address."; }; @@ -119,6 +182,13 @@ in . ''; }; + + socket = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/mysqld/mysqld.sock"; + description = "Path to the unix socket file to use for authentication."; + }; }; }; }; @@ -126,17 +196,20 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = cfg.database.passwordFile != null || cfg.database.password != ""; - message = "either services.redmine.database.passwordFile or services.redmine.database.password must be set"; + { assertion = cfg.database.passwordFile != null || cfg.database.password != "" || cfg.database.socket != null; + message = "one of services.redmine.database.socket, services.redmine.database.passwordFile, or services.redmine.database.password must be set"; + } + { assertion = cfg.database.socket != null -> (cfg.database.type == "mysql2"); + message = "Socket authentication is only available for the mysql2 database type"; } ]; - environment.systemPackages = [ pkgs.redmine ]; + environment.systemPackages = [ cfg.package ]; systemd.services.redmine = { after = [ "network.target" (if cfg.database.type == "mysql2" then "mysql.service" else "postgresql.service") ]; wantedBy = [ "multi-user.target" ]; - environment.HOME = "${pkgs.redmine}/share/redmine"; + environment.HOME = "${cfg.package}/share/redmine"; environment.RAILS_ENV = "production"; environment.RAILS_CACHE = "${cfg.stateDir}/cache"; environment.REDMINE_LANG = "en"; @@ -151,43 +224,80 @@ in subversion ]; preStart = '' - # start with a fresh config directory every time - rm -rf ${cfg.stateDir}/config - cp -r ${pkgs.redmine}/share/redmine/config.dist ${cfg.stateDir}/config + # ensure cache directory exists for db:migrate command + mkdir -p "${cfg.stateDir}/cache" - # create the basic state directory layout pkgs.redmine expects - mkdir -p /run/redmine + # create the basic directory layout the redmine package expects + mkdir -p /run/redmine/public for i in config files log plugins tmp; do - mkdir -p ${cfg.stateDir}/$i - ln -fs ${cfg.stateDir}/$i /run/redmine/$i + mkdir -p "${cfg.stateDir}/$i" + ln -fs "${cfg.stateDir}/$i" /run/redmine/ done - # ensure cache directory exists for db:migrate command - mkdir -p ${cfg.stateDir}/cache + for i in plugin_assets themes; do + mkdir -p "${cfg.stateDir}/public/$i" + ln -fs "${cfg.stateDir}/public/$i" /run/redmine/public/ + done + + + # start with a fresh config directory + # the config directory is copied instead of linked as some mutable data is stored in there + rm -rf "${cfg.stateDir}/config/"* + cp -r ${cfg.package}/share/redmine/config.dist/* "${cfg.stateDir}/config/" # link in the application configuration - ln -fs ${configurationYml} ${cfg.stateDir}/config/configuration.yml + ln -fs ${configurationYml} "${cfg.stateDir}/config/configuration.yml" - chmod -R ug+rwX,o-rwx+x ${cfg.stateDir}/ - # handle database.passwordFile + # link in all user specified themes + rm -rf "${cfg.stateDir}/public/themes/"* + for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do + ln -fs $theme/* "${cfg.stateDir}/public/themes" + done + + # link in redmine provided themes + ln -sf ${cfg.package}/share/redmine/public/themes.dist/* "${cfg.stateDir}/public/themes/" + + + # link in all user specified plugins + rm -rf "${cfg.stateDir}/plugins/"* + for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do + ln -fs $plugin/* "${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}" + done + + + # ensure correct permissions for most files + chmod -R ug+rwX,o-rwx+x "${cfg.stateDir}/" + + + # handle database.passwordFile & permissions DBPASS=$(head -n1 ${cfg.database.passwordFile}) - cp -f ${databaseYml} ${cfg.stateDir}/config/database.yml - sed -e "s,#dbpass#,$DBPASS,g" -i ${cfg.stateDir}/config/database.yml - chmod 440 ${cfg.stateDir}/config/database.yml + cp -f ${databaseYml} "${cfg.stateDir}/config/database.yml" + sed -e "s,#dbpass#,$DBPASS,g" -i "${cfg.stateDir}/config/database.yml" + chmod 440 "${cfg.stateDir}/config/database.yml" + # generate a secret token if required if ! test -e "${cfg.stateDir}/config/initializers/secret_token.rb"; then ${bundle} exec rake generate_secret_token - chmod 440 ${cfg.stateDir}/config/initializers/secret_token.rb + chmod 440 "${cfg.stateDir}/config/initializers/secret_token.rb" fi - # ensure everything is owned by ${cfg.user} - chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir} - ${bundle} exec rake db:migrate - ${bundle} exec rake redmine:load_default_data + # ensure everything is owned by ${cfg.user} + chown -R ${cfg.user}:${cfg.group} "${cfg.stateDir}" + + + # execute redmine required commands prior to starting the application + # NOTE: su required in case using mysql socket authentication + /run/wrappers/bin/su -s ${pkgs.bash}/bin/bash -m -l redmine -c '${bundle} exec rake db:migrate' + /run/wrappers/bin/su -s ${pkgs.bash}/bin/bash -m -l redmine -c '${bundle} exec rake redmine:load_default_data' + + + # log files don't exist until after first command has been executed + # correct ownership of files generated by calling exec rake ... + chown -R ${cfg.user}:${cfg.group} "${cfg.stateDir}/log" ''; serviceConfig = { @@ -196,13 +306,13 @@ in User = cfg.user; Group = cfg.group; TimeoutSec = "300"; - WorkingDirectory = "${pkgs.redmine}/share/redmine"; - ExecStart="${bundle} exec rails server webrick -e production -P ${cfg.stateDir}/redmine.pid"; + WorkingDirectory = "${cfg.package}/share/redmine"; + ExecStart="${bundle} exec rails server webrick -e production -p ${toString cfg.port} -P '${cfg.stateDir}/redmine.pid'"; }; }; - users.extraUsers = optionalAttrs (cfg.user == "redmine") (singleton + users.users = optionalAttrs (cfg.user == "redmine") (singleton { name = "redmine"; group = cfg.group; home = cfg.stateDir; @@ -210,7 +320,7 @@ in uid = config.ids.uids.redmine; }); - users.extraGroups = optionalAttrs (cfg.group == "redmine") (singleton + users.groups = optionalAttrs (cfg.group == "redmine") (singleton { name = "redmine"; gid = config.ids.gids.redmine; }); diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 1d5f400250fd..ae8caac436da 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -123,15 +123,13 @@ let systemd.services."prometheus-${name}-exporter" = mkMerge ([{ wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - serviceConfig = { - Restart = mkDefault "always"; - PrivateTmp = mkDefault true; - WorkingDirectory = mkDefault /tmp; - } // mkIf (!(serviceOpts.serviceConfig.DynamicUser or false)) { - User = conf.user; - Group = conf.group; - }; - } serviceOpts ]); + serviceConfig.Restart = mkDefault "always"; + serviceConfig.PrivateTmp = mkDefault true; + serviceConfig.WorkingDirectory = mkDefault /tmp; + } serviceOpts ] ++ optional (serviceOpts.serviceConfig.DynamicUser or false) { + serviceConfig.User = conf.user; + serviceConfig.Group = conf.group; + }); }; in { @@ -172,5 +170,8 @@ in }) exporterOpts) ); - meta.doc = ./exporters.xml; + meta = { + doc = ./exporters.xml; + maintainers = [ maintainers.willibutz ]; + }; } diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix index 8dbf2d735ab9..aaed76175b84 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix @@ -69,6 +69,7 @@ in path = [ pkgs.varnish ]; serviceConfig = { DynamicUser = true; + RestartSec = mkDefault 1; ExecStart = '' ${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \ --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ diff --git a/nixos/modules/services/networking/pptpd.nix b/nixos/modules/services/networking/pptpd.nix index 56a612b91052..d8b9e8f8341a 100644 --- a/nixos/modules/services/networking/pptpd.nix +++ b/nixos/modules/services/networking/pptpd.nix @@ -5,7 +5,7 @@ with lib; { options = { services.pptpd = { - enable = mkEnableOption "Whether pptpd should be run on startup."; + enable = mkEnableOption "pptpd, the Point-to-Point Tunneling Protocol daemon"; serverIp = mkOption { type = types.string; diff --git a/nixos/modules/services/networking/xl2tpd.nix b/nixos/modules/services/networking/xl2tpd.nix index 46111a76af80..d0a3ed7bb5e0 100644 --- a/nixos/modules/services/networking/xl2tpd.nix +++ b/nixos/modules/services/networking/xl2tpd.nix @@ -5,7 +5,7 @@ with lib; { options = { services.xl2tpd = { - enable = mkEnableOption "Whether xl2tpd should be run on startup."; + enable = mkEnableOption "xl2tpd, the Layer 2 Tunnelling Protocol Daemon"; serverIp = mkOption { type = types.string; diff --git a/nixos/modules/services/networking/xrdp.nix b/nixos/modules/services/networking/xrdp.nix index 61f22a366a02..9ed3025e47d4 100644 --- a/nixos/modules/services/networking/xrdp.nix +++ b/nixos/modules/services/networking/xrdp.nix @@ -36,7 +36,7 @@ in services.xrdp = { - enable = mkEnableOption "Whether xrdp should be run on startup."; + enable = mkEnableOption "xrdp, the Remote Desktop Protocol server"; package = mkOption { type = types.package; diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index dbf18ec1d114..1031d6f3d7e2 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -250,7 +250,7 @@ in drivers = mkOption { type = types.listOf types.path; default = []; - example = literalExample "[ pkgs.gutenprint pkgs.hplip pkgs.splix ]"; + example = literalExample "with pkgs; [ gutenprint hplip splix cups-googlecloudprint ]"; description = '' CUPS drivers to use. Drivers provided by CUPS, cups-filters, Ghostscript and Samba are added unconditionally. If this list contains diff --git a/nixos/modules/services/system/saslauthd.nix b/nixos/modules/services/system/saslauthd.nix index c8ddca9a0db6..8fcf4fb91fc4 100644 --- a/nixos/modules/services/system/saslauthd.nix +++ b/nixos/modules/services/system/saslauthd.nix @@ -16,7 +16,7 @@ in services.saslauthd = { - enable = mkEnableOption "Whether to enable the Cyrus SASL authentication daemon."; + enable = mkEnableOption "saslauthd, the Cyrus SASL authentication daemon"; package = mkOption { default = pkgs.cyrus_sasl.bin; diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index 44c3df1d057b..db4c8e1a3d85 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -114,6 +114,21 @@ in { ''; }; + poolConfig = mkOption { + type = types.lines; + default = '' + pm = dynamic + pm.max_children = 32 + pm.start_servers = 2 + pm.min_spare_servers = 2 + pm.max_spare_servers = 4 + pm.max_requests = 500 + ''; + description = '' + Options for nextcloud's PHP pool. See the documentation on php-fpm.conf for details on configuration directives. + ''; + }; + config = { dbtype = mkOption { type = types.enum [ "sqlite" "pgsql" "mysql" ]; @@ -339,11 +354,7 @@ in { listen.group = nginx user = nextcloud group = nginx - pm = dynamic - pm.max_children = 32 - pm.start_servers = 2 - pm.min_spare_servers = 2 - pm.max_spare_servers = 4 + ${cfg.poolConfig} env[NEXTCLOUD_CONFIG_DIR] = ${cfg.home}/config env[PATH] = /run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin ${phpAdminValues} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index eb86f7b53bb6..0d5b860d4617 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -133,7 +133,6 @@ in { fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell-fonts ]; - services.xserver.displayManager.gdm.enable = mkDefault true; services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]; services.xserver.displayManager.sessionCommands = '' diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 11c1aa4315a8..704cc78c1528 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -185,10 +185,8 @@ in target = "X11/xkb"; }; - environment.variables = { - # Enable GTK applications to load SVG icons - GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; - }; + # Enable GTK applications to load SVG icons + services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; fonts.fonts = with pkgs; [ noto-fonts hack-font ]; fonts.fontconfig.defaultFonts = { diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 75b9a76e1924..dabf09418da7 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -101,10 +101,11 @@ in ]; environment.variables = { - GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; GIO_EXTRA_MODULES = [ "${pkgs.xfce.gvfs}/lib/gio/modules" ]; }; + services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ]; + services.xserver.desktopManager.session = [{ name = "xfce"; bgSupport = true; diff --git a/nixos/modules/services/x11/display-managers/startx.nix b/nixos/modules/services/x11/display-managers/startx.nix new file mode 100644 index 000000000000..15609540a6e7 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/startx.nix @@ -0,0 +1,44 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.xserver.displayManager.startx; + +in + +{ + + ###### interface + + options = { + services.xserver.displayManager.startx = { + enable = mkOption { + default = false; + description = '' + Whether to enable the dummy "startx" pseudo-display manager, + which allows users to start X manually via the "startx" command + from a vt shell. The X server runs under the user's id, not as root. + The user must provide a ~/.xinintrc file containing session startup + commands, see startx(1). This is not autmatically generated + from the desktopManager and windowManager settings. + ''; + }; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + services.xserver = { + exportConfiguration = true; + displayManager.job.execCmd = ""; + displayManager.lightdm.enable = lib.mkForce false; + }; + systemd.services.display-manager.enable = false; + environment.systemPackages = with pkgs; [ xorg.xinit ]; + }; + +} diff --git a/nixos/modules/services/x11/gdk-pixbuf.nix b/nixos/modules/services/x11/gdk-pixbuf.nix new file mode 100644 index 000000000000..58faa8e2f9df --- /dev/null +++ b/nixos/modules/services/x11/gdk-pixbuf.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.gdk-pixbuf; + + # Get packages to generate the cache for. We always include gdk_pixbuf. + effectivePackages = unique ([pkgs.gdk_pixbuf] ++ cfg.modulePackages); + + # Generate the cache file by running gdk-pixbuf-query-loaders for each + # package and concatenating the results. + loadersCache = pkgs.runCommand "gdk-pixbuf-loaders.cache" {} '' + ( + for package in ${concatStringsSep " " effectivePackages}; do + module_dir="$package/${pkgs.gdk_pixbuf.moduleDir}" + if [[ ! -d $module_dir ]]; then + echo "Warning (services.xserver.gdk-pixbuf): missing module directory $module_dir" 1>&2 + continue + fi + GDK_PIXBUF_MODULEDIR="$module_dir" \ + ${pkgs.gdk_pixbuf.dev}/bin/gdk-pixbuf-query-loaders + done + ) > "$out" + ''; +in + +{ + options = { + services.xserver.gdk-pixbuf.modulePackages = mkOption { + type = types.listOf types.package; + default = [ ]; + description = "Packages providing GDK-Pixbuf modules, for cache generation."; + }; + }; + + # If there is any package configured in modulePackages, we generate the + # loaders.cache based on that and set the environment variable + # GDK_PIXBUF_MODULE_FILE to point to it. + config = mkIf (cfg.modulePackages != []) { + environment.variables = { + GDK_PIXBUF_MODULE_FILE = "${loadersCache}"; + }; + }; +} diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 1079089bc5a8..018e7b2e7f89 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -7,19 +7,19 @@ let commonFunctions = '' die() { - echo "$@" >&2 - exit 1 + echo "$@" >&2 + exit 1 } dev_exist() { - local target="$1" - if [ -e $target ]; then - return 0 - else - local uuid=$(echo -n $target | sed -e 's,UUID=\(.*\),\1,g') - local dev=$(blkid --uuid $uuid) - return $? - fi + local target="$1" + if [ -e $target ]; then + return 0 + else + local uuid=$(echo -n $target | sed -e 's,UUID=\(.*\),\1,g') + blkid --uuid $uuid >/dev/null + return $? + fi } wait_target() { @@ -51,30 +51,30 @@ let } wait_yubikey() { - local secs="''${1:-10}" + local secs="''${1:-10}" - ykinfo -v 1>/dev/null 2>&1 - if [ $? != 0 ]; then - echo -n "Waiting $secs seconds for Yubikey to appear..." - local success=false - for try in $(seq $secs); do - echo -n . - sleep 1 - ykinfo -v 1>/dev/null 2>&1 - if [ $? == 0 ]; then - success=true - break - fi - done - if [ $success == true ]; then - echo " - success"; - return 0 - else - echo " - failure"; - return 1 - fi - fi - return 0 + ykinfo -v 1>/dev/null 2>&1 + if [ $? != 0 ]; then + echo -n "Waiting $secs seconds for Yubikey to appear..." + local success=false + for try in $(seq $secs); do + echo -n . + sleep 1 + ykinfo -v 1>/dev/null 2>&1 + if [ $? == 0 ]; then + success=true + break + fi + done + if [ $success == true ]; then + echo " - success"; + return 0 + else + echo " - failure"; + return 1 + fi + fi + return 0 } ''; diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index f58b68cb3353..f4cf9753c0a1 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -251,9 +251,9 @@ let postInstall = '' echo checking syntax # check both with bash - ${pkgs.bash}/bin/sh -n $target + ${pkgs.buildPackages.bash}/bin/sh -n $target # and with ash shell, just in case - ${extraUtils}/bin/ash -n $target + ${pkgs.buildPackages.busybox}/bin/ash -n $target ''; inherit udevRules extraUtils modulesClosure; diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index af61c95da0af..93dfefdce902 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -85,7 +85,8 @@ let after = [ "network-pre.target" "systemd-udevd.service" "systemd-sysctl.service" ]; before = [ "network.target" "shutdown.target" ]; wants = [ "network.target" ]; - partOf = map (i: "network-addresses-${i.name}.service") interfaces; + # exclude bridges from the partOf relationship to fix container networking bug #47210 + partOf = map (i: "network-addresses-${i.name}.service") (filter (i: !(hasAttr i.name cfg.bridges)) interfaces); conflicts = [ "shutdown.target" ]; wantedBy = [ "multi-user.target" ] ++ optional hasDefaultGatewaySet "network-online.target"; diff --git a/nixos/modules/virtualisation/qemu-guest-agent.nix b/nixos/modules/virtualisation/qemu-guest-agent.nix index e0d2b3dc509d..665224e35d8c 100644 --- a/nixos/modules/virtualisation/qemu-guest-agent.nix +++ b/nixos/modules/virtualisation/qemu-guest-agent.nix @@ -25,7 +25,7 @@ in { systemd.services.qemu-guest-agent = { description = "Run the QEMU Guest Agent"; serviceConfig = { - ExecStart = "${pkgs.kvm.ga}/bin/qemu-ga"; + ExecStart = "${pkgs.qemu.ga}/bin/qemu-ga"; Restart = "always"; RestartSec = 0; }; diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index 3d4c06f1f23f..60048911658c 100644 --- a/nixos/modules/virtualisation/virtualbox-image.nix +++ b/nixos/modules/virtualisation/virtualbox-image.nix @@ -12,7 +12,7 @@ in { virtualbox = { baseImageSize = mkOption { type = types.int; - default = 100 * 1024; + default = 10 * 1024; description = '' The size of the VirtualBox base image in MiB. ''; diff --git a/nixos/modules/virtualisation/xe-guest-utilities.nix b/nixos/modules/virtualisation/xe-guest-utilities.nix index d703353858c0..675cf9297371 100644 --- a/nixos/modules/virtualisation/xe-guest-utilities.nix +++ b/nixos/modules/virtualisation/xe-guest-utilities.nix @@ -5,7 +5,7 @@ let in { options = { services.xe-guest-utilities = { - enable = mkEnableOption "Whether to enable the Xen guest utilities daemon."; + enable = mkEnableOption "the Xen guest utilities daemon"; }; }; config = mkIf cfg.enable { diff --git a/nixos/release.nix b/nixos/release.nix index 8016dba09152..5412080cca18 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -257,7 +257,7 @@ in rec { tests.boot = callSubTests tests/boot.nix {}; tests.boot-stage1 = callTest tests/boot-stage1.nix {}; tests.borgbackup = callTest tests/borgbackup.nix {}; - tests.buildbot = callTest tests/buildbot.nix {}; + tests.buildbot = callSubTests tests/buildbot.nix {}; tests.cadvisor = callTestOnMatchingSystems ["x86_64-linux"] tests/cadvisor.nix {}; tests.ceph = callTestOnMatchingSystems ["x86_64-linux"] tests/ceph.nix {}; tests.certmgr = callSubTests tests/certmgr.nix {}; @@ -390,12 +390,14 @@ in rec { tests.predictable-interface-names = callSubTests tests/predictable-interface-names.nix {}; tests.printing = callTest tests/printing.nix {}; tests.prometheus = callTest tests/prometheus.nix {}; + tests.prometheus-exporters = callTest tests/prometheus-exporters.nix {}; tests.prosody = callTest tests/prosody.nix {}; tests.proxy = callTest tests/proxy.nix {}; tests.quagga = callTest tests/quagga.nix {}; tests.quake3 = callTest tests/quake3.nix {}; tests.rabbitmq = callTest tests/rabbitmq.nix {}; tests.radicale = callTest tests/radicale.nix {}; + tests.redmine = callTest tests/redmine.nix {}; tests.rspamd = callSubTests tests/rspamd.nix {}; tests.runInMachine = callTest tests/run-in-machine.nix {}; tests.rxe = callTest tests/rxe.nix {}; diff --git a/nixos/tests/buildbot.nix b/nixos/tests/buildbot.nix index cf408dc7fec9..399fd39005e2 100644 --- a/nixos/tests/buildbot.nix +++ b/nixos/tests/buildbot.nix @@ -1,111 +1,117 @@ -# Test ensures buildbot master comes up correctly and workers can connect +{ system ? builtins.currentSystem }: -import ./make-test.nix ({ pkgs, ... } : { - name = "buildbot"; +with import ../lib/testing.nix { inherit system; }; - nodes = { - bbmaster = { pkgs, ... }: { - services.buildbot-master = { - enable = true; - package = pkgs.buildbot-full; +let + # Test ensures buildbot master comes up correctly and workers can connect + mkBuildbotTest = python: makeTest { + name = "buildbot"; - # NOTE: use fake repo due to no internet in hydra ci - factorySteps = [ - "steps.Git(repourl='git://gitrepo/fakerepo.git', mode='incremental')" - "steps.ShellCommand(command=['bash', 'fakerepo.sh'])" - ]; - changeSource = [ - "changes.GitPoller('git://gitrepo/fakerepo.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)" - ]; + nodes = { + bbmaster = { pkgs, ... }: { + services.buildbot-master = { + enable = true; + package = python.pkgs.buildbot-full; + + # NOTE: use fake repo due to no internet in hydra ci + factorySteps = [ + "steps.Git(repourl='git://gitrepo/fakerepo.git', mode='incremental')" + "steps.ShellCommand(command=['bash', 'fakerepo.sh'])" + ]; + changeSource = [ + "changes.GitPoller('git://gitrepo/fakerepo.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)" + ]; + }; + networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ]; + environment.systemPackages = with pkgs; [ git python.pkgs.buildbot-full ]; }; - networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ]; - environment.systemPackages = with pkgs; [ git buildbot-full ]; - }; - bbworker = { pkgs, ... }: { - services.buildbot-worker = { - enable = true; - masterUrl = "bbmaster:9989"; + bbworker = { pkgs, ... }: { + services.buildbot-worker = { + enable = true; + masterUrl = "bbmaster:9989"; + }; + environment.systemPackages = with pkgs; [ git python.pkgs.buildbot-worker ]; + }; + + gitrepo = { pkgs, ... }: { + services.openssh.enable = true; + networking.firewall.allowedTCPPorts = [ 22 9418 ]; + environment.systemPackages = with pkgs; [ git ]; }; - environment.systemPackages = with pkgs; [ git buildbot-worker ]; }; - gitrepo = { pkgs, ... }: { - services.openssh.enable = true; - networking.firewall.allowedTCPPorts = [ 22 9418 ]; - environment.systemPackages = with pkgs; [ git ]; - }; + testScript = '' + #Start up and populate fake repo + $gitrepo->waitForUnit("multi-user.target"); + print($gitrepo->execute(" \ + git config --global user.name 'Nobody Fakeuser' && \ + git config --global user.email 'nobody\@fakerepo.com' && \ + rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo && \ + mkdir -pv /srv/repos/fakerepo ~/.ssh && \ + ssh-keyscan -H gitrepo > ~/.ssh/known_hosts && \ + cat ~/.ssh/known_hosts && \ + cd /srv/repos/fakerepo && \ + git init && \ + echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh && \ + cat fakerepo.sh && \ + touch .git/git-daemon-export-ok && \ + git add fakerepo.sh .git/git-daemon-export-ok && \ + git commit -m fakerepo && \ + git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr & \ + ")); + + # Test gitrepo + $bbmaster->waitForUnit("network-online.target"); + #$bbmaster->execute("nc -z gitrepo 9418"); + print($bbmaster->execute(" \ + rm -rfv /tmp/fakerepo && \ + git clone git://gitrepo/fakerepo /tmp/fakerepo && \ + pwd && \ + ls -la && \ + ls -la /tmp/fakerepo \ + ")); + + # Test start master and connect worker + $bbmaster->waitForUnit("buildbot-master.service"); + $bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/; + $bbworker->waitForUnit("network-online.target"); + $bbworker->execute("nc -z bbmaster 8010"); + $bbworker->execute("nc -z bbmaster 9989"); + $bbworker->waitForUnit("buildbot-worker.service"); + print($bbworker->execute("ls -la /home/bbworker/worker")); + + + # Test stop buildbot master and worker + print($bbmaster->execute(" \ + systemctl -l --no-pager status buildbot-master && \ + systemctl stop buildbot-master \ + ")); + $bbworker->fail("nc -z bbmaster 8010"); + $bbworker->fail("nc -z bbmaster 9989"); + print($bbworker->execute(" \ + systemctl -l --no-pager status buildbot-worker && \ + systemctl stop buildbot-worker && \ + ls -la /home/bbworker/worker \ + ")); + + + # Test buildbot daemon mode + $bbmaster->execute("buildbot create-master /tmp"); + $bbmaster->execute("mv -fv /tmp/master.cfg.sample /tmp/master.cfg"); + $bbmaster->execute("sed -i 's/8010/8011/' /tmp/master.cfg"); + $bbmaster->execute("buildbot start /tmp"); + $bbworker->execute("nc -z bbmaster 8011"); + $bbworker->waitUntilSucceeds("curl -s --head http://bbmaster:8011") =~ /200 OK/; + $bbmaster->execute("buildbot stop /tmp"); + $bbworker->fail("nc -z bbmaster 8011"); + + ''; + + meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ]; + }; - - testScript = '' - #Start up and populate fake repo - $gitrepo->waitForUnit("multi-user.target"); - print($gitrepo->execute(" \ - git config --global user.name 'Nobody Fakeuser' && \ - git config --global user.email 'nobody\@fakerepo.com' && \ - rm -rvf /srv/repos/fakerepo.git /tmp/fakerepo && \ - mkdir -pv /srv/repos/fakerepo ~/.ssh && \ - ssh-keyscan -H gitrepo > ~/.ssh/known_hosts && \ - cat ~/.ssh/known_hosts && \ - cd /srv/repos/fakerepo && \ - git init && \ - echo -e '#!/bin/sh\necho fakerepo' > fakerepo.sh && \ - cat fakerepo.sh && \ - touch .git/git-daemon-export-ok && \ - git add fakerepo.sh .git/git-daemon-export-ok && \ - git commit -m fakerepo && \ - git daemon --verbose --export-all --base-path=/srv/repos --reuseaddr & \ - ")); - - # Test gitrepo - $bbmaster->waitForUnit("network-online.target"); - #$bbmaster->execute("nc -z gitrepo 9418"); - print($bbmaster->execute(" \ - rm -rfv /tmp/fakerepo && \ - git clone git://gitrepo/fakerepo /tmp/fakerepo && \ - pwd && \ - ls -la && \ - ls -la /tmp/fakerepo \ - ")); - - # Test start master and connect worker - $bbmaster->waitForUnit("buildbot-master.service"); - $bbmaster->waitUntilSucceeds("curl -s --head http://bbmaster:8010") =~ /200 OK/; - $bbworker->waitForUnit("network-online.target"); - $bbworker->execute("nc -z bbmaster 8010"); - $bbworker->execute("nc -z bbmaster 9989"); - $bbworker->waitForUnit("buildbot-worker.service"); - print($bbworker->execute("ls -la /home/bbworker/worker")); - - - # Test stop buildbot master and worker - print($bbmaster->execute(" \ - systemctl -l --no-pager status buildbot-master && \ - systemctl stop buildbot-master \ - ")); - $bbworker->fail("nc -z bbmaster 8010"); - $bbworker->fail("nc -z bbmaster 9989"); - print($bbworker->execute(" \ - systemctl -l --no-pager status buildbot-worker && \ - systemctl stop buildbot-worker && \ - ls -la /home/bbworker/worker \ - ")); - - - # Test buildbot daemon mode - # NOTE: daemon mode tests disabled due to broken PYTHONPATH child inheritence - # - #$bbmaster->execute("buildbot create-master /tmp"); - #$bbmaster->execute("mv -fv /tmp/master.cfg.sample /tmp/master.cfg"); - #$bbmaster->execute("sed -i 's/8010/8011/' /tmp/master.cfg"); - #$bbmaster->execute("buildbot start /tmp"); - #$bbworker->execute("nc -z bbmaster 8011"); - #$bbworker->waitUntilSucceeds("curl -s --head http://bbmaster:8011") =~ /200 OK/; - #$bbmaster->execute("buildbot stop /tmp"); - #$bbworker->fail("nc -z bbmaster 8011"); - - ''; - - meta.maintainers = with pkgs.stdenv.lib.maintainers; [ nand0p ]; - -}) +in { + python2 = mkBuildbotTest pkgs.python2; + python3 = mkBuildbotTest pkgs.python3; +} diff --git a/nixos/tests/codimd.nix b/nixos/tests/codimd.nix index 9dedac96844a..562f6f24f999 100644 --- a/nixos/tests/codimd.nix +++ b/nixos/tests/codimd.nix @@ -40,8 +40,7 @@ import ./make-test.nix ({ pkgs, lib, ... }: subtest "CodiMD sqlite", sub { $codimdSqlite->waitForUnit("codimd.service"); $codimdSqlite->waitForOpenPort(3000); - $codimdSqlite->sleep(10); # avoid 503 during startup - $codimdSqlite->succeed("curl -sSf http://localhost:3000/new"); + $codimdSqlite->waitUntilSucceeds("curl -sSf http://localhost:3000/new"); }; subtest "CodiMD postgres", sub { @@ -49,8 +48,7 @@ import ./make-test.nix ({ pkgs, lib, ... }: $codimdPostgres->waitForUnit("codimd.service"); $codimdPostgres->waitForOpenPort(5432); $codimdPostgres->waitForOpenPort(3000); - $codimdPostgres->sleep(10); # avoid 503 during startup - $codimdPostgres->succeed("curl -sSf http://localhost:3000/new"); + $codimdPostgres->waitUntilSucceeds("curl -sSf http://localhost:3000/new"); }; ''; }) diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix new file mode 100644 index 000000000000..2f2c06dcb7d6 --- /dev/null +++ b/nixos/tests/prometheus-exporters.nix @@ -0,0 +1,297 @@ +import ./make-test.nix ({ lib, pkgs, ... }: +let + escape' = str: lib.replaceChars [''"'' "$" "\n"] [''\\\"'' "\\$" ""] str; + +/* + * The attrset `exporterTests` contains one attribute + * for each exporter test. Each of these attributes + * is expected to be an attrset containing: + * + * `exporterConfig`: + * this attribute set contains config for the exporter itself + * + * `exporterTest` + * this attribute set contains test instructions + * + * `metricProvider` (optional) + * this attribute contains additional machine config + * + * Example: + * exporterTests. = { + * exporterConfig = { + * enable = true; + * }; + * metricProvider = { + * services..enable = true; + * }; + * exporterTest = '' + * waitForUnit("prometheus--exporter.service"); + * waitForOpenPort("1234"); + * succeed("curl -sSf 'localhost:1234/metrics'"); + * ''; + * }; + * + * # this would generate the following test config: + * + * nodes. = { + * services.prometheus. = { + * enable = true; + * }; + * services..enable = true; + * }; + * + * testScript = '' + * $->start(); + * $->waitForUnit("prometheus--exporter.service"); + * $->waitForOpenPort("1234"); + * $->succeed("curl -sSf 'localhost:1234/metrics'"); + * $->shutdown(); + * ''; + */ + + exporterTests = { + + blackbox = { + exporterConfig = { + enable = true; + configFile = pkgs.writeText "config.yml" (builtins.toJSON { + modules.icmp_v6 = { + prober = "icmp"; + icmp.preferred_ip_protocol = "ip6"; + }; + }); + }; + exporterTest = '' + waitForUnit("prometheus-blackbox-exporter.service"); + waitForOpenPort(9115); + succeed("curl -sSf 'http://localhost:9115/probe?target=localhost&module=icmp_v6' | grep -q 'probe_success 1'"); + ''; + }; + + collectd = { + exporterConfig = { + enable = true; + extraFlags = [ "--web.collectd-push-path /collectd" ]; + }; + exporterTest =let postData = escape' '' + [{ + "values":[23], + "dstypes":["gauge"], + "type":"gauge", + "interval":1000, + "host":"testhost", + "plugin":"testplugin", + "time":$(date +%s) + }] + ''; in '' + waitForUnit("prometheus-collectd-exporter.service"); + waitForOpenPort(9103); + succeed("curl -sSfH 'Content-Type: application/json' -X POST --data \"${postData}\" localhost:9103/collectd"); + succeed("curl -sSf localhost:9103/metrics | grep -q 'collectd_testplugin_gauge{instance=\"testhost\"} 23'"); + ''; + }; + + dnsmasq = { + exporterConfig = { + enable = true; + leasesPath = "/var/lib/dnsmasq/dnsmasq.leases"; + }; + metricProvider = { + services.dnsmasq.enable = true; + }; + exporterTest = '' + waitForUnit("prometheus-dnsmasq-exporter.service"); + waitForOpenPort(9153); + succeed("curl -sSf http://localhost:9153/metrics | grep -q 'dnsmasq_leases 0'"); + ''; + }; + + dovecot = { + exporterConfig = { + enable = true; + scopes = [ "global" ]; + socketPath = "/var/run/dovecot2/old-stats"; + user = "root"; # <- don't use user root in production + }; + metricProvider = { + services.dovecot2.enable = true; + }; + exporterTest = '' + waitForUnit("prometheus-dovecot-exporter.service"); + waitForOpenPort(9166); + succeed("curl -sSf http://localhost:9166/metrics | grep -q 'dovecot_up{scope=\"global\"} 1'"); + ''; + }; + + fritzbox = { # TODO add proper test case + exporterConfig = { + enable = true; + }; + exporterTest = '' + waitForUnit("prometheus-fritzbox-exporter.service"); + waitForOpenPort(9133); + succeed("curl -sSf http://localhost:9133/metrics | grep -q 'fritzbox_exporter_collect_errors 0'"); + ''; + }; + + json = { + exporterConfig = { + enable = true; + url = "http://localhost"; + configFile = pkgs.writeText "json-exporter-conf.json" (builtins.toJSON [{ + name = "json_test_metric"; + path = "$.test"; + }]); + }; + metricProvider = { + systemd.services.prometheus-json-exporter.after = [ "nginx.service" ]; + services.nginx = { + enable = true; + virtualHosts.localhost.locations."/".extraConfig = '' + return 200 "{\"test\":1}"; + ''; + }; + }; + exporterTest = '' + waitForUnit("nginx.service"); + waitForOpenPort(80); + waitForUnit("prometheus-json-exporter.service"); + waitForOpenPort(7979); + succeed("curl -sSf localhost:7979/metrics | grep -q 'json_test_metric 1'"); + ''; + }; + + nginx = { + exporterConfig = { + enable = true; + }; + metricProvider = { + services.nginx = { + enable = true; + statusPage = true; + virtualHosts."/".extraConfig = "return 204;"; + }; + }; + exporterTest = '' + waitForUnit("nginx.service") + waitForUnit("prometheus-nginx-exporter.service") + waitForOpenPort(9113) + succeed("curl -sSf http://localhost:9113/metrics | grep -q 'nginx_up 1'") + ''; + }; + + node = { + exporterConfig = { + enable = true; + }; + exporterTest = '' + waitForUnit("prometheus-node-exporter.service"); + waitForOpenPort(9100); + succeed("curl -sSf http://localhost:9100/metrics | grep -q 'node_exporter_build_info{.\\+} 1'"); + ''; + }; + + postfix = { + exporterConfig = { + enable = true; + }; + metricProvider = { + services.postfix.enable = true; + }; + exporterTest = '' + waitForUnit("prometheus-postfix-exporter.service"); + waitForOpenPort(9154); + succeed("curl -sSf http://localhost:9154/metrics | grep -q 'postfix_smtpd_connects_total 0'"); + ''; + }; + + snmp = { + exporterConfig = { + enable = true; + configuration.default = { + version = 2; + auth.community = "public"; + }; + }; + exporterTest = '' + waitForUnit("prometheus-snmp-exporter.service"); + waitForOpenPort(9116); + succeed("curl -sSf localhost:9116/metrics | grep -q 'snmp_request_errors_total 0'"); + ''; + }; + + surfboard = { + exporterConfig = { + enable = true; + modemAddress = "localhost"; + }; + metricProvider = { + systemd.services.prometheus-surfboard-exporter.after = [ "nginx.service" ]; + services.nginx = { + enable = true; + virtualHosts.localhost.locations."/cgi-bin/status".extraConfig = '' + return 204; + ''; + }; + }; + exporterTest = '' + waitForUnit("nginx.service"); + waitForOpenPort(80); + waitForUnit("prometheus-surfboard-exporter.service"); + waitForOpenPort(9239); + succeed("curl -sSf localhost:9239/metrics | grep -q 'surfboard_up 1'"); + ''; + }; + + varnish = { + exporterConfig = { + enable = true; + instance = "/var/spool/varnish/varnish"; + group = "varnish"; + }; + metricProvider = { + systemd.services.prometheus-varnish-exporter.after = [ + "varnish.service" + ]; + services.varnish = { + enable = true; + config = '' + vcl 4.0; + backend default { + .host = "127.0.0.1"; + .port = "80"; + } + ''; + }; + }; + exporterTest = '' + waitForUnit("prometheus-varnish-exporter.service"); + waitForOpenPort(9131); + succeed("curl -sSf http://localhost:9131/metrics | grep -q 'varnish_up 1'"); + ''; + }; + }; + + nodes = lib.mapAttrs (exporter: testConfig: lib.mkMerge [{ + services.prometheus.exporters.${exporter} = testConfig.exporterConfig; + } testConfig.metricProvider or {}]) exporterTests; + + testScript = lib.concatStrings (lib.mapAttrsToList (exporter: testConfig: ('' + subtest "${exporter}", sub { + ${"$"+exporter}->start(); + ${lib.concatStringsSep " " (map (line: '' + ${"$"+exporter}->${line}; + '') (lib.splitString "\n" (lib.removeSuffix "\n" testConfig.exporterTest)))} + ${"$"+exporter}->shutdown(); + }; + '')) exporterTests); +in +{ + name = "prometheus-exporters"; + + inherit nodes testScript; + + meta = with lib.maintainers; { + maintainers = [ willibutz ]; + }; +}) diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix new file mode 100644 index 000000000000..330f72854cac --- /dev/null +++ b/nixos/tests/redmine.nix @@ -0,0 +1,40 @@ +import ./make-test.nix ({ pkgs, lib, ... }: +{ + name = "redmine"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = + { config, pkgs, ... }: + { services.mysql.enable = true; + services.mysql.package = pkgs.mariadb; + services.mysql.ensureDatabases = [ "redmine" ]; + services.mysql.ensureUsers = [ + { name = "redmine"; + ensurePermissions = { "redmine.*" = "ALL PRIVILEGES"; }; + } + ]; + + services.redmine.enable = true; + services.redmine.database.socket = "/run/mysqld/mysqld.sock"; + services.redmine.plugins = { + redmine_env_auth = pkgs.fetchurl { + url = https://github.com/Intera/redmine_env_auth/archive/0.6.zip; + sha256 = "0yyr1yjd8gvvh832wdc8m3xfnhhxzk2pk3gm2psg5w9jdvd6skak"; + }; + }; + services.redmine.themes = { + dkuk-redmine_alex_skin = pkgs.fetchurl { + url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip; + sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl"; + }; + }; + }; + + testScript = '' + startAll; + + $machine->waitForUnit('redmine.service'); + $machine->waitForOpenPort('3000'); + $machine->succeed("curl --fail http://localhost:3000/"); + ''; +}) diff --git a/pkgs/applications/altcoins/nano-wallet/default.nix b/pkgs/applications/altcoins/nano-wallet/default.nix index 3426d8d07a08..22da11cdd63b 100644 --- a/pkgs/applications/altcoins/nano-wallet/default.nix +++ b/pkgs/applications/altcoins/nano-wallet/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "nano-wallet-${version}"; - version = "16.1"; + version = "16.2"; src = fetchFromGitHub { owner = "nanocurrency"; repo = "raiblocks"; rev = "V${version}"; - sha256 = "0sk9g4fv494a5w75vs5a3s5c139lxzz1svz0cn1hkhxqlmz8w081"; + sha256 = "18zp4xl5iwwrnzrqzsygdrym5565v8dpfz0jxczw21896kw1i9i7"; fetchSubmodules = true; }; diff --git a/pkgs/applications/audio/aeolus/default.nix b/pkgs/applications/audio/aeolus/default.nix index 68a9bb63e2e0..7b80b32331bc 100644 --- a/pkgs/applications/audio/aeolus/default.nix +++ b/pkgs/applications/audio/aeolus/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "aeolus-${version}"; - version = "0.9.5"; + version = "0.9.7"; src = fetchurl { url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "0wfp8ihldyq2dhdyy7ld7z0zzfvnwam1dvbxnpd9d6xgc4k3j4nv"; + sha256 = "0lhbr95hmbfj8ynbcpawn7jzjbpvrkm6k2yda39yhqk1bzg38v2k"; }; buildInputs = [ diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index 1989fd1400d4..fc32eb799cf9 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -7,12 +7,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "2.2.2"; + version = "2.3.0"; name = "audacity-${version}"; src = fetchurl { url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz"; - sha256 = "18q7i77ynihx7xp45lz2lv0k0wrh6736pcrivlpwrxjgbvyqx7km"; + sha256 = "0pi7ksm8hfvwbn580z4kkc55sbaylrrr7v08s04dmdgfvil7y4ip"; }; preConfigure = /* we prefer system-wide libs */ '' diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index 2ba35a9a0444..ec9122406993 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -4,7 +4,7 @@ , gobjectIntrospection, wrapGAppsHook }: python3.pkgs.buildPythonApplication rec { - version = "0.9.601"; + version = "0.9.604"; name = "lollypop-${version}"; format = "other"; @@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "029hyylwjsbwkw1v75nbkkmrncgz30y2qwdysmpz0xyb5q7x6zbj"; + sha256 = "0pfljs5q0xzqll6dybslin4nr7w18bn1yi0xn79vh44zn3l0r8q4"; }; nativeBuildInputs = with python3.pkgs; [ diff --git a/pkgs/applications/audio/midisheetmusic/default.nix b/pkgs/applications/audio/midisheetmusic/default.nix index 26962ad9cc85..448977e5705b 100644 --- a/pkgs/applications/audio/midisheetmusic/default.nix +++ b/pkgs/applications/audio/midisheetmusic/default.nix @@ -5,7 +5,7 @@ let version = "2.6"; in stdenv.mkDerivation { - name = "midisheetmusic"; + name = "midisheetmusic-${version}"; src = fetchurl { url = "mirror://sourceforge/midisheetmusic/MidiSheetMusic-${version}-linux-src.tar.gz"; diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index f58e75c9e263..31b8bce90f49 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -29,11 +29,11 @@ # handle that. stdenv.mkDerivation rec { - name = "qmmp-1.2.3"; + name = "qmmp-1.2.4"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "05lqmj22vr5ch1i0928d64ybdnn3qc66s9lgarx5s6x6ffr6589j"; + sha256 = "0rmfd6h0186b6n4g079d8kshdmp3k5n8w06a1l41m4p3fgq08j92"; }; buildInputs = diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 81cda4edaedb..cbcf5220564b 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -126,6 +126,9 @@ stdenv.mkDerivation { --prefix LD_LIBRARY_PATH : "$librarypath" \ --prefix PATH : "${gnome3.zenity}/bin" + # fix Icon line in the desktop file (#48062) + sed -i "s:^Icon=.*:Icon=spotify-client:" "$out/share/spotify/spotify.desktop" + # Desktop file mkdir -p "$out/share/applications/" cp "$out/share/spotify/spotify.desktop" "$out/share/applications/" diff --git a/pkgs/applications/audio/tetraproc/default.nix b/pkgs/applications/audio/tetraproc/default.nix index 535d53d99eeb..257963de256f 100644 --- a/pkgs/applications/audio/tetraproc/default.nix +++ b/pkgs/applications/audio/tetraproc/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "tetraproc-${version}"; - version = "0.8.2"; + version = "0.8.6"; src = fetchurl { url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "17y3vbm5f6h5cmh3yfxjgqz4xhfwpkla3lqfspnbm4ndlzmfpykv"; + sha256 = "02155ljfwgvfgq9z258fb4z7jrz7qx022d054fj5gr0v007cv0r7"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index 25b5cad34dd2..6cfba39ed4b3 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -73,8 +73,8 @@ let }; in stdenv.lib.mapAttrs common { atom = { - version = "1.31.0"; - sha256 = "184vsj7qcpzwiq2v5kh8i21wfzhinhybxmr71y41sjqp78s2gy57"; + version = "1.31.2"; + sha256 = "1szx9p2nz1qzjpig0l8h4hj5mqwpjvkcynn8crh21drply4bpfr0"; }; atom-beta = { diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix index a2337483bf1f..b14065429152 100644 --- a/pkgs/applications/editors/okteta/default.nix +++ b/pkgs/applications/editors/okteta/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "okteta-${version}"; - version = "0.25.3"; + version = "0.25.4"; src = fetchurl { url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz"; - sha256 = "0mm6pmk7k9c581b12a3wl0ayhadvyymfzmscy9x32b391qy9inai"; + sha256 = "0liar1xbns6mr6j320nyxqfii82i4ysp62hf3j6jg1112v874amf"; }; nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ]; diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index 87a525b33021..dcec9fdfef95 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,12 +1,12 @@ { lib, fetchFromGitHub }: rec { - version = "8.1.0348"; + version = "8.1.0450"; src = fetchFromGitHub { owner = "vim"; repo = "vim"; rev = "v${version}"; - sha256 = "0f18kpywnph708mvj1fpi06qb53nbhc26ngjh2kvfxwawn63k8ab"; + sha256 = "1zhggpn4i704apfqn2kqr717kz9dvkjwnbmc3ydza621zjyrnxb2"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix index 3f23021b6d82..b8a717fc0e70 100644 --- a/pkgs/applications/editors/vscode/default.nix +++ b/pkgs/applications/editors/vscode/default.nix @@ -2,7 +2,7 @@ gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }: let - version = "1.27.2"; + version = "1.28.0"; channel = "stable"; plat = { @@ -12,9 +12,9 @@ let }.${stdenv.hostPlatform.system}; sha256 = { - "i686-linux" = "33704d089b03c636e8c46d434068c97b66e5a9d323b991bd327067aa90e87afa"; - "x86_64-linux" = "11023c652dd89bde1b7fbc8a7dc04fd4f87df3bfe6952a1c0ad75ab861e3196d"; - "x86_64-darwin" = "d1f2d046775406e6f339883dab432fcaa149e763ccfcd017556a46e890de6476"; + "i686-linux" = "0f54py00lmw96x47nk823gwxxc9kr9haaa821ggi974ycr54af0y"; + "x86_64-linux" = "07bbzm1159k2gkajj6z7dsr0kmadd5gx721w92r252i5hcwg5sx4"; + "x86_64-darwin" = "019cl2rswls3gwwa8y70cllc4jnd8xj0y2m9rvg2rz695snp6rcm"; }.${stdenv.hostPlatform.system}; archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz"; diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix index a1f26f7bc09f..222328d2b917 100644 --- a/pkgs/applications/graphics/dia/default.nix +++ b/pkgs/applications/graphics/dia/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perl, perlXMLParser, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-theme, -gtk-mac-integration }: +gtk-mac-integration-gtk2 }: stdenv.mkDerivation rec { name = "dia-${version}"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { [ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5 libxslt docbook_xsl libart_lgpl hicolor-icon-theme ] ++ stdenv.lib.optional withGNOME libgnomeui - ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration; + ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration-gtk2; nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool perl ]; diff --git a/pkgs/applications/misc/airspy/default.nix b/pkgs/applications/misc/airspy/default.nix index 9b6771a3925b..2042f1047b22 100644 --- a/pkgs/applications/misc/airspy/default.nix +++ b/pkgs/applications/misc/airspy/default.nix @@ -28,7 +28,7 @@ in meta = with stdenv.lib; { homepage = https://github.com/airspy/airspyone_host; description = "Host tools and driver library for the AirSpy SDR"; - license = licenses.free; + license = licenses.bsd3; platforms = with platforms; linux ++ darwin; maintainers = with maintainers; [ markuskowa ]; }; diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 34e46e9fa0f0..e4dffa98f39a 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, - fetchgit, + fetchFromGitHub, rustPlatform, cmake, makeWrapper, @@ -51,18 +51,16 @@ let ]; in buildRustPackage rec { name = "alacritty-unstable-${version}"; - version = "0.2.0"; + version = "0.2.1"; - # At the moment we cannot handle git dependencies in buildRustPackage. - # This fork only replaces rust-fontconfig/libfontconfig with a git submodules. - src = fetchgit { - url = https://github.com/Mic92/alacritty.git; - rev = "rev-${version}"; - sha256 = "1c9izflacm693rwkxwakxgnpkvxwc8mqasr5p7x0ys6xg91h9sxn"; - fetchSubmodules = true; + src = fetchFromGitHub { + owner = "jwilm"; + repo = "alacritty"; + rev = "v${version}"; + sha256 = "1402axwjz70gg6ylhhm82f1rl6xvxkr1qy0jx3r4r32vzfap1l67"; }; - cargoSha256 = "1ijgkwv9ij4haig1h6n2b9xbhp5vahy9vp1sx72wxaaj9476msjx"; + cargoSha256 = "0slcyn77svj0686g1vk7kgndzirpkba9jwwybgsdl755r53dswk0"; nativeBuildInputs = [ cmake diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix index 7b34674c2183..39a87314ca7b 100644 --- a/pkgs/applications/misc/copyq/default.nix +++ b/pkgs/applications/misc/copyq/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "CopyQ-${version}"; - version = "3.5.0"; + version = "3.6.1"; src = fetchFromGitHub { owner = "hluk"; repo = "CopyQ"; rev = "v${version}"; - sha256 = "0hzdv6rhjpq9yrfafnkc6d8m5pzw9qr520vsjf2gn1819gdybmr0"; + sha256 = "0drhafnr1d595wa8zwvmgmrrqb86navdk4iw6ly6gmh0i800wz0z"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix index 25ea9ef06b84..ac8d082513b2 100644 --- a/pkgs/applications/misc/gcalcli/default.nix +++ b/pkgs/applications/misc/gcalcli/default.nix @@ -1,38 +1,9 @@ -{ stdenv, lib, fetchFromGitHub, python2 +{ stdenv, lib, fetchFromGitHub, python3 , libnotify ? null }: -let - py = python2.override { - packageOverrides = self: super: { - google_api_python_client = super.google_api_python_client.overridePythonAttrs (oldAttrs: rec { - version = "1.5.1"; - src = oldAttrs.src.override { - inherit version; - sha256 = "1ggxk094vqr4ia6yq7qcpa74b4x5cjd5mj74rq0xx9wp2jkrxmig"; - }; - }); +with python3.pkgs; - oauth2client = super.oauth2client.overridePythonAttrs (oldAttrs: rec { - version = "1.4.12"; - src = oldAttrs.src.override { - inherit version; - sha256 = "0phfk6s8bgpap5xihdk1xv2lakdk1pb3rg6hp2wsg94hxcxnrakl"; - }; - }); - - uritemplate = super.uritemplate.overridePythonAttrs (oldAttrs: rec { - version = "0.6"; - src = oldAttrs.src.override { - inherit version; - sha256 = "1zapwg406vkwsirnzc6mwq9fac4az8brm6d9bp5xpgkyxc5263m3"; - }; - # there are no checks in this version - doCheck = false; - }); - }; - }; - -in with py.pkgs; buildPythonApplication rec { +buildPythonApplication rec { version = "4.0.0a4"; name = "gcalcli-${version}"; @@ -45,7 +16,6 @@ in with py.pkgs; buildPythonApplication rec { propagatedBuildInputs = [ dateutil gflags httplib2 parsedatetime six vobject - # overridden google_api_python_client oauth2client uritemplate ] ++ lib.optional (!isPy3k) futures; @@ -59,8 +29,8 @@ in with py.pkgs; buildPythonApplication rec { doCheck = false; meta = with lib; { - homepage = https://github.com/insanum/gcalcli; description = "CLI for Google Calendar"; + homepage = https://github.com/insanum/gcalcli; license = licenses.mit; maintainers = with maintainers; [ nocoolnametom ]; inherit version; diff --git a/pkgs/applications/misc/glava/default.nix b/pkgs/applications/misc/glava/default.nix index 1eb0d0048f64..7e32e566234e 100644 --- a/pkgs/applications/misc/glava/default.nix +++ b/pkgs/applications/misc/glava/default.nix @@ -5,17 +5,6 @@ let inherit (stdenv.lib) optional makeLibraryPath; - # gl.xml - gl = fetchurl { - url = https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/56312cfe680e4be5ae61bbf1c628e420f8731718/xml/gl.xml; - sha256 = "1c45bcgaxiic5gmb3gkrd9qcvascvij97vz5y6fc3a2y7x3gjc5l"; - }; - # EGL 1.5 - egl = fetchurl { - url = https://www.khronos.org/registry/EGL/api/KHR/khrplatform.h; - sha256 = "0p0vs4siiya05cvbqq7cw3ci2zvvlfh8kycgm9k9cwvmrkj08349"; - }; - wrapperScript = writeScript "glava" '' #!${stdenv.shell} case "$1" in @@ -33,12 +22,12 @@ let in stdenv.mkDerivation rec { name = "glava-${version}"; - version = "1.5.1"; + version = "1.5.5"; src = fetchgit { url = "https://github.com/wacossusca34/glava.git"; rev = "v${version}"; - sha256 = "1k8x0a0g2pm7ficsk4az9s7mjbm85a987apjg5c4y6iyldxgd6sb"; + sha256 = "0mpbgllwz45wkax6pgvnh1pz2q4yvbzq2l8z8kff13wrsdvl8lh0"; }; buildInputs = [ @@ -54,12 +43,8 @@ in python3 ]; - patchPhase = '' - mkdir -p glad/include/KHR - - cp ${gl} glad/gl.xml - cp ${egl} glad/include/KHR/khrplatform.h - patchShebangs . + preConfigure = '' + export CFLAGS="-march=native" ''; makeFlags = optional (!enableGlfw) "DISABLE_GLFW=1"; diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix index b12b84d106dc..413679afd219 100644 --- a/pkgs/applications/misc/gramps/default.nix +++ b/pkgs/applications/misc/gramps/default.nix @@ -1,7 +1,9 @@ { stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3, pango, gobjectIntrospection, wrapGAppsHook, # Optional packages: - enableOSM ? true, osm-gps-map + enableOSM ? true, osm-gps-map, + enableGraphviz ? true, graphviz, + enableGhostscript ? true, ghostscript }: let @@ -14,6 +16,11 @@ in buildPythonApplication rec { buildInputs = [ intltool gtk3 gobjectIntrospection pango gnome3.gexiv2 ] # Map support ++ stdenv.lib.optional enableOSM osm-gps-map + # Graphviz support + ++ stdenv.lib.optional enableGraphviz graphviz + # Ghostscript support + ++ stdenv.lib.optional enableGhostscript ghostscript + ; src = fetchFromGitHub { @@ -53,5 +60,6 @@ in buildPythonApplication rec { description = "Genealogy software"; homepage = https://gramps-project.org; license = licenses.gpl2; + maintainers = with maintainers; [ joncojonathan ]; }; } diff --git a/pkgs/applications/misc/gutenberg/default.nix b/pkgs/applications/misc/gutenberg/default.nix index c5982f68201d..c71dcf2e0182 100644 --- a/pkgs/applications/misc/gutenberg/default.nix +++ b/pkgs/applications/misc/gutenberg/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { name = "gutenberg-${version}"; - version = "0.4.1"; + version = "0.4.2"; src = fetchFromGitHub { owner = "Keats"; repo = "gutenberg"; rev = "v${version}"; - sha256 = "0is7156aim2ad8xg2f5068crc4gfvm89x8gxa25vc25p0yr1bpla"; + sha256 = "0kzxz26khk5rwb9mz0wi9r8y7r93w4n2dbq6v2qr07cy5h14pa6w"; }; - cargoSha256 = "146vlr85n9d06am5ki76fh1vb5r8a4lzx5b7dmgi292kc3dsn41z"; + cargoSha256 = "0n4ji06chybmcvg5yz6cnhzqh162zhh5xpbz374a796dwp1132m8"; nativeBuildInputs = [ cmake pkgconfig openssl ]; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ]; diff --git a/pkgs/applications/misc/limesuite/default.nix b/pkgs/applications/misc/limesuite/default.nix index 070073ea3e2c..e1cdc4a0f863 100644 --- a/pkgs/applications/misc/limesuite/default.nix +++ b/pkgs/applications/misc/limesuite/default.nix @@ -4,7 +4,7 @@ } : let - version = "18.06.0"; + version = "18.10.0"; in stdenv.mkDerivation { name = "limesuite-${version}"; @@ -13,9 +13,11 @@ in stdenv.mkDerivation { owner = "myriadrf"; repo = "LimeSuite"; rev = "v${version}"; - sha256 = "0j6mxlvij2k6ib1d9jwzvilmqgm1h0q7wy9sf8a6bvidwlphvy25"; + sha256 = "0nbyvcdwvfvln1wic9qwb7y221v3jv454gp5v6ms9112a41zj46h"; }; + enableParallelBuilding = true; + nativeBuildInputs = [ cmake ]; buildInputs = [ @@ -36,10 +38,6 @@ in stdenv.mkDerivation { mkdir -p $out/share/limesuite cp bin/Release/lms7suite_mcu/* $out/share/limesuite - - cp bin/dualRXTX $out/bin - cp bin/basicRX $out/bin - cp bin/singleRX $out/bin ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix index 0ea530b6bf1c..7b0e299924cb 100644 --- a/pkgs/applications/misc/pwsafe/default.nix +++ b/pkgs/applications/misc/pwsafe/default.nix @@ -1,25 +1,31 @@ -{ stdenv, fetchFromGitHub, wxGTK, libuuid, xercesc, zip , libXt, libXtst -, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, yubikey-personalization +{ stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl +, wxGTK31, libXi, libXt, libXtst, xercesc, xextproto +, libqrencode, libuuid, libyubikey, yubikey-personalization }: stdenv.mkDerivation rec { - name = "pwsafe-${version}"; - version = "0.99"; + pname = "pwsafe"; + version = "1.06"; + name = "${pname}-${version}"; src = fetchFromGitHub { - owner = "pwsafe"; - repo = "pwsafe"; + owner = "${pname}"; + repo = "${pname}"; rev = "${version}BETA"; - sha256 = "1bkimz4g9v9kfjkqr3dqddh4jps7anzc1hgmirmmhwpac0xdp60g"; + sha256 = "1q3xi7i4r3nmz3hc79lx8l15sr1nqhwbi3lrnfqr356nv6aaf03y"; }; - makefile = "Makefile.linux"; - makeFlags = "YBPERS_LIBPATH=${yubikey-personalization}/lib"; - - buildFlags = "unicoderelease"; - buildInputs = [ wxGTK libuuid gettext perl zip - xercesc libXt libXtst libXi xextproto - pkgconfig libyubikey yubikey-personalization ]; + nativeBuildInputs = [ cmake pkgconfig zip ]; + buildInputs = [ + gettext perl libqrencode libuuid + libXi libXt libXtst wxGTK31 xercesc xextproto + libyubikey yubikey-personalization + ]; + cmakeFlags = [ + "-DNO_GTEST=ON" + "-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1" + ]; + enableParallelBuilding = true; postPatch = '' # Fix perl scripts used during the build. @@ -40,31 +46,7 @@ stdenv.mkDerivation rec { done ''; - installPhase = '' - mkdir -p $out/bin \ - $out/share/applications \ - $out/share/pwsafe/xml \ - $out/share/icons/hicolor/48x48/apps \ - $out/share/doc/passwordsafe/help \ - $out/share/man/man1 \ - $out/share/locale - - (cd help && make -f Makefile.linux) - cp help/help*.zip $out/share/doc/passwordsafe/help - - (cd src/ui/wxWidgets/I18N && make mos) - cp -dr src/ui/wxWidgets/I18N/mos/* $out/share/locale/ - # */ - - cp README.txt docs/ReleaseNotes.txt docs/ChangeLog.txt \ - LICENSE install/copyright $out/share/doc/passwordsafe - - cp src/ui/wxWidgets/GCCUnicodeRelease/pwsafe $out/bin/ - cp install/graphics/pwsafe.png $out/share/icons/hicolor/48x48/apps - cp docs/pwsafe.1 $out/share/man/man1 - cp xml/* $out/share/pwsafe/xml - # */ - ''; + installFlags = [ "PREFIX=$(out)" ]; meta = with stdenv.lib; { description = "A password database utility"; @@ -77,8 +59,8 @@ stdenv.mkDerivation rec { username/password combinations that you use. ''; - homepage = http://passwordsafe.sourceforge.net/; - maintainers = with maintainers; [ pjones ]; + homepage = https://pwsafe.org/; + maintainers = with maintainers; [ c0bw3b pjones ]; platforms = platforms.linux; license = licenses.artistic2; }; diff --git a/pkgs/applications/misc/slic3r/prusa3d.nix b/pkgs/applications/misc/slic3r/prusa3d.nix index 9f4036c3f967..7df4007cf403 100644 --- a/pkgs/applications/misc/slic3r/prusa3d.nix +++ b/pkgs/applications/misc/slic3r/prusa3d.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages, boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU, - glew, eigen, curl }: + glew, eigen, curl, gtest, nlopt, pcre, xorg }: let AlienWxWidgets = perlPackages.buildPerlPackage rec { name = "Alien-wxWidgets-0.69"; @@ -33,22 +33,28 @@ let in stdenv.mkDerivation rec { name = "slic3r-prusa-edition-${version}"; - version = "1.40.1"; + version = "1.41.0"; enableParallelBuilding = true; - buildInputs = [ + nativeBuildInputs = [ cmake - curl - perl makeWrapper + ]; + + buildInputs = [ + curl eigen glew + pcre + perl tbb which Wx WxGLCanvas - ] ++ (with perlPackages; [ + xorg.libXdmcp + xorg.libpthreadstubs + ] ++ checkInputs ++ (with perlPackages; [ boost ClassXSAccessor EncodeLocale @@ -72,8 +78,24 @@ stdenv.mkDerivation rec { XMLSAX ]); + checkInputs = [ gtest ]; + + # The build system uses custom logic - defined in + # xs/src/libnest2d/cmake_modules/FindNLopt.cmake in the package source - + # for finding the nlopt library, which doesn't pick up the package in the nix store. + # We need to set the path via the NLOPT environment variable instead. + NLOPT = "${nlopt}"; + prePatch = '' + # In nix ioctls.h isn't available from the standard kernel-headers package + # on other distributions. As the copy in glibc seems to be identical to the + # one in the kernel, we use that one instead. sed -i 's|"/usr/include/asm-generic/ioctls.h"||g' xs/src/libslic3r/GCodeSender.cpp + + # PERL_VENDORARCH and PERL_VENDORLIB aren't set correctly by the build + # system, so we have to override them. Setting them as environment variables + # doesn't work though, so substituting the paths directly in CMakeLists.txt + # seems to be the easiest way. sed -i "s|\''${PERL_VENDORARCH}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt sed -i "s|\''${PERL_VENDORLIB}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt ''; @@ -92,7 +114,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "prusa3d"; repo = "Slic3r"; - sha256 = "022mdz8824wg68qwgd49gnplw7wn84hqw113xh8l25v3j1jb9zmc"; + sha256 = "1al60hrqbhl05dnsr99hzbmxmn26fyx19sc5zxv816x3q6px9n2d"; rev = "version_${version}"; }; @@ -100,7 +122,7 @@ stdenv.mkDerivation rec { description = "G-code generator for 3D printer"; homepage = https://github.com/prusa3d/Slic3r; license = licenses.agpl3; - platforms = platforms.linux; maintainers = with maintainers; [ tweber ]; + broken = stdenv.hostPlatform.isAarch64; }; } diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix index 01782d18b12b..ed7f2b27c381 100644 --- a/pkgs/applications/misc/xdgmenumaker/default.nix +++ b/pkgs/applications/misc/xdgmenumaker/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "xdgmenumaker-${version}"; - version = "1.4"; + version = "1.5"; src = fetchFromGitHub { owner = "gapan"; repo = "xdgmenumaker"; rev = version; - sha256 = "0i909dk9chdsc7njp5llgm5xlag4lr0nkxkwl1g5lf8cvdjrawh2"; + sha256 = "1vrsp5c1ah7p4dpwd6aqvinpwzd8crdimvyyr3lbm3c6cwpyjmif"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index 9faa7e5e31fd..60e94e137676 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -98,11 +98,11 @@ let flash = stdenv.mkDerivation rec { name = "flashplayer-ppapi-${version}"; - version = "31.0.0.108"; + version = "31.0.0.122"; src = fetchzip { url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; - sha256 = "0dcwyx0fp7wbsx0cyi7xpwq0nnvcvkzfgi6zyy75487820ssc4h1"; + sha256 = "16cx92lq7zx8k22mfnsfjj09kyh3fi266qc5vvjz5b2rj53rmkdg"; stripRoot = false; }; diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index df53068713de..ea67a62c107a 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -1,4 +1,4 @@ #!/bin/sh -e cd "$(dirname "$0")" -sp="$(nix-build -Q --no-out-link update.nix -A update)" +sp="$(nix-build --builders "" -Q --no-out-link update.nix -A update)" cat "$sp" > upstream-info.nix diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index ebf730129079..a26c8b8ddded 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { beta = { - sha256 = "0i3iz6c05ykqxbq58sx954nky0gd0schl7ik2r56p3jqsk8cfnhn"; - sha256bin64 = "03k5y1nyzx26mxwxmdijkl2kj49vm5vhbxhakfxxjg3r1v0rsqrs"; - version = "69.0.3497.81"; + sha256 = "16biicw86mnjrmjazfbml2pf4rykhbvsz854cyfnpjhcvmlh24jp"; + sha256bin64 = "07jr1sqsxfdy3rymylkbpbgi79j9b2pax4igdzj943d0nbka84y5"; + version = "70.0.3538.35"; }; dev = { - sha256 = "1lx6dfd6w675b4kyrci8ikc8rfmjc1aqmm7bimxp3h4p97j5wml1"; - sha256bin64 = "0fsxj9h25glp3akw0x2rc488w5zr5v5yvl6ry7fy8w70fqgynffj"; - version = "70.0.3538.9"; + sha256 = "0fmkhvvydinv5f543n7rrmsv99rf0skwwhlpmszvspx6y4wz9smv"; + sha256bin64 = "0plr8ph78kfg2dpyacjy3aw3msfif95fqpb8xx0n8whkkpbl9968"; + version = "71.0.3559.6"; }; stable = { - sha256 = "0i3iz6c05ykqxbq58sx954nky0gd0schl7ik2r56p3jqsk8cfnhn"; - sha256bin64 = "1f3shb85jynxq37vjxxkkxrjayqgvpss1zws5i28x6i9nygfzay7"; - version = "69.0.3497.81"; + sha256 = "0dcyzsb70ssx5hd2b25ab3ydpqh7crhxab9zzi5gn99ywxh1afg3"; + sha256bin64 = "0w56k7hmdi9knjaw67kdmyz0fdkjmk2ldh2n4l1c6szkr66vq30q"; + version = "69.0.3497.100"; }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix index 07ef1397f9fb..38b064ec6e29 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix @@ -73,7 +73,7 @@ let in stdenv.mkDerivation rec { name = "flashplayer-${version}"; - version = "31.0.0.108"; + version = "31.0.0.122"; src = fetchurl { url = @@ -84,14 +84,14 @@ stdenv.mkDerivation rec { sha256 = if debug then if arch == "x86_64" then - "1mn29ahxjf6pdy2zp2na14cz46jrl88f54kp3bs3cz75syyizyb6" + "0mjyb8mk4av8cia34gmqi0n4nq0spiblgn18z6f4nkx12wgdka2c" else - "0inpj6bcsn5lh8gdv1wxpgipzrmpc553nhr68a55b2wff9fkv1ci" + "07qgawd4xgy9690gbx0c6k97cp7lp04l70ccp4jd81y4xjsc9bq3" else if arch == "x86_64" then - "1dfgsl5jf8ja9f7wwkzj5bfz1v5rdsyf4qhg1shqqldadmyyha7p" + "0264kcn0frgcl7zfd60ybs4r7x1p3f8nj496z264ax6qc390qr02" else - "0yiqwwqs3z9zzkfgqzjwqqdr2vaj1ia5xychs9fgxix3y4j934da"; + "0w170wz920imca8wc7kggl2vldn9k7cqm2xwvx8yqqi1p42a1941"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix index 03255e6eecc0..108d7c5f4a1a 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { name = "flashplayer-standalone-${version}"; - version = "31.0.0.108"; + version = "31.0.0.122"; src = fetchurl { url = @@ -59,9 +59,9 @@ stdenv.mkDerivation rec { "https://fpdownload.macromedia.com/pub/flashplayer/updaters/31/flash_player_sa_linux.x86_64.tar.gz"; sha256 = if debug then - "0i047fvj3x9lx7x8bf7jl1ybf9xpmr6g77q0h7n2s8qvscsw0pmm" + "1psd49bxn6w6kgcjhml44g5wb4za18m8apas8qyly4xcapdylias" else - "19wfs452ix57yfi4cy2din6mi5jky9hjzbdjny1bl8w32fy8xmm3"; + "0g3h31pdxw91r3067zrkgyziwl18i5kidwx83y13ff4d17v999ss"; }; nativeBuildInputs = [ unzip ]; diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index 72ab44e1934a..be88dc5ae0eb 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -1,50 +1,48 @@ -{ stdenv, fetchurl, kubectl }: -let - isLinux = stdenv.isLinux; - arch = if isLinux - then "linux-amd64" - else "darwin-amd64"; - checksum = if isLinux - then "18bk4zqdxdrdcl34qay5mpzzywy9srmpz3mm91l0za6nhqapb902" - else "03xb73769awc6dpvz86nqm9fbgp3yrw30kf5lphf76klk2ii66sm"; - pname = "helm"; - version = "2.11.0"; -in -stdenv.mkDerivation { - name = "${pname}-${version}"; +{ stdenv, buildGoPackage, fetchFromGitHub }: - src = fetchurl { - url = "https://kubernetes-helm.storage.googleapis.com/helm-v${version}-${arch}.tar.gz"; - sha256 = checksum; +buildGoPackage rec { + version = "2.11.0"; + name = "helm-${version}"; + + src = fetchFromGitHub { + owner = "helm"; + repo = "helm"; + rev = "v${version}"; + sha256 = "1z810a6mxyrrw4i908dip8aqsj95c0kmv6xpb1wwhskg1zmf85wk"; }; - preferLocalBuild = true; + goPackagePath = "k8s.io/helm"; + subPackages = [ "cmd/helm" "cmd/tiller" "cmd/rudder" ]; - buildInputs = [ ]; + goDeps = ./deps.nix; - propagatedBuildInputs = [ kubectl ]; - - phases = [ "buildPhase" "installPhase" ]; - - buildPhase = '' - mkdir -p $out/bin + # Thsese are the original flags from the helm makefile + buildFlagsArray = '' + -ldflags= + -w + -s ''; - installPhase = '' - tar -xvzf $src - cp ${arch}/helm $out/bin/${pname} - chmod +x $out/bin/${pname} - mkdir -p $out/share/bash-completion/completions - mkdir -p $out/share/zsh/site-functions - $out/bin/helm completion bash > $out/share/bash-completion/completions/helm - $out/bin/helm completion zsh > $out/share/zsh/site-functions/_helm + preBuild = '' + # This is a hack(?) to flatten the dependency tree the same way glide or dep would + # Otherwise you'll get errors like + # have DeepCopyObject() "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime".Object + # want DeepCopyObject() "k8s.io/apimachinery/pkg/runtime".Object + rm -rf $NIX_BUILD_TOP/go/src/k8s.io/kubernetes/vendor + rm -rf $NIX_BUILD_TOP/go/src/k8s.io/apiextensions-apiserver/vendor + ''; + + postInstall = '' + mkdir -p $bin/share/bash-completion/completions + mkdir -p $bin/share/zsh/site-functions + $bin/bin/helm completion bash > $bin/share/bash-completion/completions/helm + $bin/bin/helm completion zsh > $bin/share/zsh/site-functions/_helm ''; meta = with stdenv.lib; { homepage = https://github.com/kubernetes/helm; description = "A package manager for kubernetes"; license = licenses.asl20; - maintainers = [ maintainers.rlupton20 ]; - platforms = [ "x86_64-linux" ] ++ platforms.darwin; + maintainers = [ maintainers.rlupton20 maintainers.edude03 ]; }; } diff --git a/pkgs/applications/networking/cluster/helm/deps.nix b/pkgs/applications/networking/cluster/helm/deps.nix new file mode 100644 index 000000000000..36bd3406f5bf --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/deps.nix @@ -0,0 +1,840 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/gocloud"; + rev = "3b1ae45394a234c385be014e9a488f2bb6eef821"; + sha256 = "0alb495ql6s02kb6lxcbnlkdcmhixyl8zv11sgrkhsk1bckzh119"; + }; + } + { + goPackagePath = "github.com/Azure/go-ansiterm"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-ansiterm"; + rev = "19f72df4d05d31cbe1c56bfc8045c96babff6c7e"; + sha256 = "0663w5m5qlidpj17s5pqp6rhl0phw7vypf104n04dvdy5nd418ix"; + }; + } + { + goPackagePath = "github.com/Azure/go-autorest"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-autorest"; + rev = "1ff28809256a84bb6966640ff3d0371af82ccba4"; + sha256 = "0sxvj2j1833bqwxvhq3wq3jgq73rnb81pnzvl0x3y1m0hzpaf2zv"; + }; + } + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "b26d9c308763d68093482582cea63d69be07a0f0"; + sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry"; + }; + } + { + goPackagePath = "github.com/MakeNowJust/heredoc"; + fetch = { + type = "git"; + url = "https://github.com/MakeNowJust/heredoc"; + rev = "bb23615498cded5e105af4ce27de75b089cbe851"; + sha256 = "17m780i9afj3sbmcrgwgzarfly4x9376w56qblkqnzdkv6vps22i"; + }; + } + { + goPackagePath = "github.com/Masterminds/semver"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/semver"; + rev = "517734cc7d6470c0d07130e40fd40bdeb9bcd3fd"; + sha256 = "1625b5sxpmlz60jw67j1ljfcc09d4lhxg3z6gc4am8s2rrdgwij6"; + }; + } + { + goPackagePath = "github.com/Masterminds/sprig"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/sprig"; + rev = "15f9564e7e9cf0da02a48e0d25f12a7b83559aa6"; + sha256 = "1k5pfx9hxzb70kh73a009ikr3vqlq0jvzvbyvxz9x7a7yc4r5b14"; + }; + } + { + goPackagePath = "github.com/Masterminds/vcs"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/vcs"; + rev = "3084677c2c188840777bff30054f2b553729d329"; + sha256 = "1062m73h0pp5d0574lf6px4jsjgywnsbkw50inxx3zal5r185ydm"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/purell"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/purell"; + rev = "8a290539e2e8629dbc4e6bad948158f790ec31f4"; + sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/urlesc"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/urlesc"; + rev = "5bd2802263f21d8788851d5305584c82a5c75d7e"; + sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp"; + }; + } + { + goPackagePath = "github.com/aokoli/goutils"; + fetch = { + type = "git"; + url = "https://github.com/aokoli/goutils"; + rev = "9c37978a95bd5c709a15883b6242714ea6709e64"; + sha256 = "1c51qgk4pjc8c776h7589c3d14791h86f1yj3ykg4q7vlcf9xrnr"; + }; + } + { + goPackagePath = "github.com/asaskevich/govalidator"; + fetch = { + type = "git"; + url = "https://github.com/asaskevich/govalidator"; + rev = "7664702784775e51966f0885f5cd27435916517b"; + sha256 = "1lmynw9vkgrxv7nh60wdywv0nx4gjlkiar433wydhpc2h3m5q968"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "3ac7bf7a47d159a033b107610db8a1b6575507a4"; + sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r"; + }; + } + { + goPackagePath = "github.com/chai2010/gettext-go"; + fetch = { + type = "git"; + url = "https://github.com/chai2010/gettext-go"; + rev = "bf70f2a70fb1b1f36d90d671a72795984eab0fcb"; + sha256 = "0bwjwvjl7zqm7kxram1rzz0ri3h897kiin13ljy9hx3fzz1i9lml"; + }; + } + { + goPackagePath = "github.com/cpuguy83/go-md2man"; + fetch = { + type = "git"; + url = "https://github.com/cpuguy83/go-md2man"; + rev = "71acacd42f85e5e82f70a55327789582a5200a90"; + sha256 = "0hmkrq4gdzb6mwllmh4p1y7vrz7hyr8xqagpk9nyr5dhygvnnq2v"; + }; + } + { + goPackagePath = "github.com/cyphar/filepath-securejoin"; + fetch = { + type = "git"; + url = "https://github.com/cyphar/filepath-securejoin"; + rev = "a261ee33d7a517f054effbf451841abaafe3e0fd"; + sha256 = "0id32zjb92wm569m29nfrzz5mw9z1glr3klayr6j134pp4h1sgq4"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "782f4967f2dc4564575ca782fe2d04090b5faca8"; + sha256 = "1ypijjawqc0xgmgim42260ibcyclfgfizicz5cbvndw4plqfsswk"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"; + sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp"; + }; + } + { + goPackagePath = "github.com/docker/distribution"; + fetch = { + type = "git"; + url = "https://github.com/docker/distribution"; + rev = "edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c"; + sha256 = "1nqjaq1q6fs3c0avpb02sib0a906xfbk3m74hk2mqjdbyx9y8b4m"; + }; + } + { + goPackagePath = "github.com/docker/docker"; + fetch = { + type = "git"; + url = "https://github.com/docker/docker"; + rev = "4f3616fb1c112e206b88cb7a9922bf49067a7756"; + sha256 = "0zmsqm1lkwggfqgy2rw34g4g2jlvr6mvcsh65fmpdb30l65iaqzf"; + }; + } + { + goPackagePath = "github.com/docker/go-connections"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-connections"; + rev = "3ede32e2033de7505e6500d6c868c2b9ed9f169d"; + sha256 = "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0"; + }; + } + { + goPackagePath = "github.com/docker/go-units"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-units"; + rev = "9e638d38cf6977a37a8ea0078f3ee75a7cdb2dd1"; + sha256 = "1sqwvcszxqpv77xf2d8fxvryxphdwj9v8f93231wpnk9kpilhyii"; + }; + } + { + goPackagePath = "github.com/docker/spdystream"; + fetch = { + type = "git"; + url = "https://github.com/docker/spdystream"; + rev = "449fdfce4d962303d702fec724ef0ad181c92528"; + sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl"; + }; + } + { + goPackagePath = "github.com/evanphx/json-patch"; + fetch = { + type = "git"; + url = "https://github.com/evanphx/json-patch"; + rev = "94e38aa1586e8a6c8a75770bddf5ff84c48a106b"; + sha256 = "1c9gzc3gb76lm5famc0345y90is1lyffn39bmdr0xk19462f8av5"; + }; + } + { + goPackagePath = "github.com/exponent-io/jsonpath"; + fetch = { + type = "git"; + url = "https://github.com/exponent-io/jsonpath"; + rev = "d6023ce2651d8eafb5c75bb0c7167536102ec9f5"; + sha256 = "1qkzaxsjs7yg1672sk67nr119j7jc4751yzgii0j3nbipjv321kc"; + }; + } + { + goPackagePath = "github.com/fatih/camelcase"; + fetch = { + type = "git"; + url = "https://github.com/fatih/camelcase"; + rev = "f6a740d52f961c60348ebb109adde9f4635d7540"; + sha256 = "15vb86adns1izvbzjw0lmmzrwlarhbxw5qalhx10vzzdx73wh4ai"; + }; + } + { + goPackagePath = "github.com/ghodss/yaml"; + fetch = { + type = "git"; + url = "https://github.com/ghodss/yaml"; + rev = "73d445a93680fa1a78ae23a5839bad48f32ba1ee"; + sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7"; + }; + } + { + goPackagePath = "github.com/go-openapi/jsonpointer"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/jsonpointer"; + rev = "46af16f9f7b149af66e5d1bd010e3574dc06de98"; + sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc"; + }; + } + { + goPackagePath = "github.com/go-openapi/jsonreference"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/jsonreference"; + rev = "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272"; + sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis"; + }; + } + { + goPackagePath = "github.com/go-openapi/spec"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/spec"; + rev = "1de3e0542de65ad8d75452a595886fdd0befb363"; + sha256 = "13i9y71fk9vr2abvpsk04k55il32ly3fjinvl1zlamh9mi2mdzf4"; + }; + } + { + goPackagePath = "github.com/go-openapi/swag"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/swag"; + rev = "f3f9494671f93fcff853e3c6e9e948b3eb71e590"; + sha256 = "13lqn4xqy9vma9aqsjb0fzfzi0q8l6dmg65sjxqdxf3q6gzkvmjy"; + }; + } + { + goPackagePath = "github.com/gobwas/glob"; + fetch = { + type = "git"; + url = "https://github.com/gobwas/glob"; + rev = "5ccd90ef52e1e632236f7326478d4faa74f99438"; + sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "c0656edd0d9eab7c66d1eb0c568f9039345796f7"; + sha256 = "0b943dhx571lhgcs3rqzy0092mi2x5mwy2kl7g8rryhy3r5rzrz9"; + }; + } + { + goPackagePath = "github.com/golang/glog"; + fetch = { + type = "git"; + url = "https://github.com/golang/glog"; + rev = "44145f04b68cf362d9c4df2182967c2275eaefed"; + sha256 = "1k7sf6qmpgm0iw81gx2dwggf9di6lgw0n54mni7862hihwfrb5rq"; + }; + } + { + goPackagePath = "github.com/golang/groupcache"; + fetch = { + type = "git"; + url = "https://github.com/golang/groupcache"; + rev = "02826c3e79038b59d737d3b1c0a1d937f71a4433"; + sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"; + sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v"; + }; + } + { + goPackagePath = "github.com/google/btree"; + fetch = { + type = "git"; + url = "https://github.com/google/btree"; + rev = "7d79101e329e5a3adf994758c578dab82b90c017"; + sha256 = "1c1hsy5s2pfawg3l9954jmqmy4yc2zp3f7i87m00km2yqgb8xpd0"; + }; + } + { + goPackagePath = "github.com/google/gofuzz"; + fetch = { + type = "git"; + url = "https://github.com/google/gofuzz"; + rev = "44d81051d367757e1c7c6a5a86423ece9afcf63c"; + sha256 = "0ivq2sl2fv8x0xxrcys27c42s8yq7irgl7lp6l0im9i7ky63nk0i"; + }; + } + { + goPackagePath = "github.com/google/uuid"; + fetch = { + type = "git"; + url = "https://github.com/google/uuid"; + rev = "064e2069ce9c359c118179501254f67d7d37ba24"; + sha256 = "1b1ibx3rbiv7xwa9kz4b4zpp1fza5cjnn8v6749b4vrkjjmp3rqb"; + }; + } + { + goPackagePath = "github.com/googleapis/gnostic"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gnostic"; + rev = "0c5108395e2debce0d731cf0287ddf7242066aba"; + sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc"; + }; + } + { + goPackagePath = "github.com/gophercloud/gophercloud"; + fetch = { + type = "git"; + url = "https://github.com/gophercloud/gophercloud"; + rev = "781450b3c4fcb4f5182bcc5133adb4b2e4a09d1d"; + sha256 = "0xvapk94p1259k8arvwyvhwvcnzma9vdg12g750cgz2ghkzvfhff"; + }; + } + { + goPackagePath = "github.com/gosuri/uitable"; + fetch = { + type = "git"; + url = "https://github.com/gosuri/uitable"; + rev = "36ee7e946282a3fb1cfecd476ddc9b35d8847e42"; + sha256 = "1ff68fv9g1df91fwbrcq83ar429gb4fi2vsd22zjmhvmbqx2zkil"; + }; + } + { + goPackagePath = "github.com/gregjones/httpcache"; + fetch = { + type = "git"; + url = "https://github.com/gregjones/httpcache"; + rev = "787624de3eb7bd915c329cba748687a3b22666a6"; + sha256 = "1zqlg9pkj7r6fqw7wv3ywvbz3bh0hvzifs2scgcraj812q5189w5"; + }; + } + { + goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus"; + fetch = { + type = "git"; + url = "https://github.com/grpc-ecosystem/go-grpc-prometheus"; + rev = "0c1b191dbfe51efdabe3c14b9f6f3b96429e0722"; + sha256 = "0d7vybd4yy9a9clk03578xdpyhifxsy3qv6iiglrrnblbmpgksjc"; + }; + } + { + goPackagePath = "github.com/hashicorp/golang-lru"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/golang-lru"; + rev = "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4"; + sha256 = "1z3h4aca31l3qs0inqr5l49vrlycpjm7vq1l9nh1mp0mb2ij0kmp"; + }; + } + { + goPackagePath = "github.com/huandu/xstrings"; + fetch = { + type = "git"; + url = "https://github.com/huandu/xstrings"; + rev = "3959339b333561bf62a38b424fd41517c2c90f40"; + sha256 = "0f1jyd80grpr88gwhljx2x0xgsyzw07807n4z4axxxlybh5f0nh1"; + }; + } + { + goPackagePath = "github.com/imdario/mergo"; + fetch = { + type = "git"; + url = "https://github.com/imdario/mergo"; + rev = "6633656539c1639d9d78127b7d47c622b5d7b6dc"; + sha256 = "1fffbq1l17i0gynmvcxypl7d9h4v81g5vlimiph5bfgf4sp4db7g"; + }; + } + { + goPackagePath = "github.com/inconshreveable/mousetrap"; + fetch = { + type = "git"; + url = "https://github.com/inconshreveable/mousetrap"; + rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; + sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "f2b4162afba35581b6d4a50d3b8f34e33c144682"; + sha256 = "0siqfghsm2lkdwinvg8x5gls3p76rq3cdm59c1r4x0b2mdfhnvcd"; + }; + } + { + goPackagePath = "github.com/mailru/easyjson"; + fetch = { + type = "git"; + url = "https://github.com/mailru/easyjson"; + rev = "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"; + sha256 = "0d9m8kyhbawa452vnwn255xxnh6pkp3im0d2310rw1k14nh3yh1p"; + }; + } + { + goPackagePath = "github.com/mattn/go-runewidth"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-runewidth"; + rev = "d6bea18f789704b5f83375793155289da36a3c7f"; + sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a"; + sha256 = "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-wordwrap"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-wordwrap"; + rev = "ad45545899c7b13c020ea92b2072220eefad42b8"; + sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9"; + }; + } + { + goPackagePath = "github.com/modern-go/concurrent"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/concurrent"; + rev = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"; + sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; + }; + } + { + goPackagePath = "github.com/modern-go/reflect2"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/reflect2"; + rev = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"; + sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49"; + }; + } + { + goPackagePath = "github.com/opencontainers/go-digest"; + fetch = { + type = "git"; + url = "https://github.com/opencontainers/go-digest"; + rev = "a6d0ee40d4207ea02364bd3b9e8e77b9159ba1eb"; + sha256 = "1paz3na2xkhi10p5bk7f7gbh5yykfgr9f9i2gcc13rb461yq6fmg"; + }; + } + { + goPackagePath = "github.com/opencontainers/image-spec"; + fetch = { + type = "git"; + url = "https://github.com/opencontainers/image-spec"; + rev = "372ad780f63454fbbbbcc7cf80e5b90245c13e13"; + sha256 = "0wajddbm49bfybkab9midilg18zvdvvsffwhkq7bpp7inj4jnsvs"; + }; + } + { + goPackagePath = "github.com/petar/GoLLRB"; + fetch = { + type = "git"; + url = "https://github.com/petar/GoLLRB"; + rev = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4"; + sha256 = "01xp3lcamqkvl91jg6ly202gdsgf64j39rkrcqxi6v4pbrcv7hz0"; + }; + } + { + goPackagePath = "github.com/peterbourgon/diskv"; + fetch = { + type = "git"; + url = "https://github.com/peterbourgon/diskv"; + rev = "5f041e8faa004a95c88a202771f4cc3e991971e6"; + sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; + sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "d8ed2627bdf02c080bf22230dbb337003b7aba2d"; + sha256 = "0w1jp4k4zbnrxh3jvh8fgbjgqpf2hg31pbj8fb32kh26px9ldpbs"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "c5b7fccd204277076155f10851dad72b76a49317"; + sha256 = "1xqny3147g12n4j03kxm8s9mvdbs3ln6i56c655mybrn9jjy48kd"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6"; + sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207"; + sha256 = "0i6mpcnsawi7f00rfmjfjq8llaplyzq4xrkrawlcgfd762p5hnp8"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "65c1f6f8f0fc1e2185eb9863a3bc751496404259"; + sha256 = "0jfzmr8642hr04naim1maa3wklxvcxklykri2z7k4ayizc974lkq"; + }; + } + { + goPackagePath = "github.com/russross/blackfriday"; + fetch = { + type = "git"; + url = "https://github.com/russross/blackfriday"; + rev = "300106c228d52c8941d4b3de6054a6062a86dda3"; + sha256 = "1bcqwb9lk2sijn5q3kqp7sadhh0ysbxlj5bxjspk9yp5bp733cbh"; + }; + } + { + goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; + fetch = { + type = "git"; + url = "https://github.com/shurcooL/sanitized_anchor_name"; + rev = "10ef21a441db47d8b13ebcc5fd2310f636973c77"; + sha256 = "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "89742aefa4b206dcf400792f3bd35b542998eb3b"; + sha256 = "0hk7fabx59msg2y0iik6xvfp80s73ybrwlcshbm9ds91iqbkcxi6"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "c439c4fa093711d42e1b01acb1235b52004753c1"; + sha256 = "14v5vhb180yzaknxnm8j4n9jai58b0y2nzrqzpdq7bj9slsga1vd"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; + sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "e3a8ff8ce36581f87a15341206f205b1da467059"; + sha256 = "179k26lcgafkbjylbhgj2f5pnh52bmv19rr1w95gca944blw8yga"; + }; + } + { + goPackagePath = "github.com/technosophos/moniker"; + fetch = { + type = "git"; + url = "https://github.com/technosophos/moniker"; + rev = "a5dbd03a2245d554160e3ae6bfdcf969fe58b431"; + sha256 = "1z273gvbwr09lcxwd10wyvxmxjln93r952sr1w9hqxcgc1f8l3vl"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "49796115aa4b964c318aad4f3084fdb41e9aa067"; + sha256 = "0pcq2drkzsw585xi6rda8imd7a139prrmvgmv8nz0zgzk6g4dy59"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "1c05540f6879653db88113bc4a2b70aec4bd491f"; + sha256 = "0h8yqb0vcqgllgydrf9d3rzp83w8wlr8f0nm6r1rwf2qg30pq1pd"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"; + sha256 = "151in8qcf5y97ziavl6b03vgw4r87zqx5kg4vjhjszjbh60cfswp"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "43eea11bc92608addb41b8a406b0407495c106f6"; + sha256 = "0k9wy278f5753d130p8asva2g573vi6wviwkxwwnpxni118knq1l"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "b19bf474d317b857955b12035d2c5acb57ce8b01"; + sha256 = "0wc8csaafp0ps9jb2hdk8d6xpyw1axhk1np73h0z17x09zk3ylcr"; + }; + } + { + goPackagePath = "golang.org/x/time"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/time"; + rev = "f51c12702a4d776e4c1fa9b0fabab841babae631"; + sha256 = "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "12d5545dc1cfa6047a286d5e853841b6471f4c19"; + sha256 = "1bv6cjakhi6j3s1bqb3n45qrmvf20qkhwxllvi94jag4i7hd91w8"; + }; + } + { + goPackagePath = "google.golang.org/genproto"; + fetch = { + type = "git"; + url = "https://github.com/google/go-genproto"; + rev = "09f6ed296fc66555a25fe4ce95173148778dfa85"; + sha256 = "06x5wr7vjsnvv35rpv7jaklilksqbzsbqk8bxababw8vr6avfwki"; + }; + } + { + goPackagePath = "google.golang.org/grpc"; + fetch = { + type = "git"; + url = "https://github.com/grpc/grpc-go"; + rev = "5ffe3083946d5603a0578721101dc8165b1d5b5f"; + sha256 = "1ij3sy49xfihwpcpiwd68mlfkrk375kdh6r6jlqka18zalxgpaan"; + }; + } + { + goPackagePath = "gopkg.in/inf.v0"; + fetch = { + type = "git"; + url = "https://github.com/go-inf/inf"; + rev = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"; + sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82"; + }; + } + { + goPackagePath = "gopkg.in/square/go-jose.v2"; + fetch = { + type = "git"; + url = "https://github.com/square/go-jose"; + rev = "f8f38de21b4dcd69d0413faf231983f5fd6634b1"; + sha256 = "1bjrs3xq3m2ckfds0l4wqf81311ymm9agipmkllbvkadac156dsa"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://github.com/go-yaml/yaml"; + rev = "670d4cfef0544295bc27a114dbac37980d83185a"; + sha256 = "182x97q4826cpzybkrl8icyx1n6l1z0kspmbz33fh901v10b6322"; + }; + } + { + goPackagePath = "k8s.io/api"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/api"; + rev = "2d6f90ab1293a1fb871cf149423ebb72aa7423aa"; + sha256 = "1cwrwdm104xd3608b1a5mw6a19w45532p647xdwnyn62rw2f08jx"; + }; + } + { + goPackagePath = "k8s.io/apiextensions-apiserver"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apiextensions-apiserver"; + rev = "898b0eda132e1aeac43a459785144ee4bf9b0a2e"; + sha256 = "1zn4i4wfmk3y36n6mqcidgsp4aqzwy5w9749zjl2bfbwzpk81bcp"; + }; + } + { + goPackagePath = "k8s.io/apimachinery"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apimachinery"; + rev = "103fd098999dc9c0c88536f5c9ad2e5da39373ae"; + sha256 = "04navnpm59d75dhlz07rmay7m2izrf4m0i9xklxzqg7mlk9g20jc"; + }; + } + { + goPackagePath = "k8s.io/apiserver"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apiserver"; + rev = "8b122ec9e3bbab91a262d17a39325e69349dc44d"; + sha256 = "0qfxjypa10s16sll2a75kn2ddjddr2xsa5rsiaxar3gs5pqvq1h5"; + }; + } + { + goPackagePath = "k8s.io/client-go"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/client-go"; + rev = "59698c7d9724b0f95f9dc9e7f7dfdcc3dfeceb82"; + sha256 = "0f069d1msdb2x4yvwv0wa3hzanl97csg4hsp1pycxpnqck6qx6qh"; + }; + } + { + goPackagePath = "k8s.io/kube-openapi"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/kube-openapi"; + rev = "91cfa479c814065e420cee7ed227db0f63a5854e"; + sha256 = "0l9yvc7gfa8i4snpv1d13vy03dplzp2jh47rqr3fhiihcz2wx4s7"; + }; + } + { + goPackagePath = "k8s.io/kubernetes"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/kubernetes"; + rev = "2e809eed16445fff9dcbfc56e9936cf76ccbdadc"; + sha256 = "13fzcbjfc5c35gy66nbn1ms63b8bj3g8z7wja0p8dd3yj9lcj68h"; + }; + } + { + goPackagePath = "k8s.io/utils"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/utils"; + rev = "258e2a2fa64568210fbd6267cf1d8fd87c3cb86e"; + sha256 = "1mbw3q03sflrdgj6l7q3frqzb5f78n0m0gzjm228sy1wnm4c3760"; + }; + } + { + goPackagePath = "vbom.ml/util"; + fetch = { + type = "git"; + url = "https://github.com/fvbommel/util"; + rev = "db5cfe13f5cc80a4990d98e2e1b0707a4d1a5394"; + sha256 = "1k9c3ihhkrcmhd26pwd62mp2ll7icr2q65i5pkymnfnhhv40p682"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix index 358f4cdb7df7..73ec998ed8e8 100644 --- a/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/pkgs/applications/networking/cluster/helmfile/default.nix @@ -1,6 +1,6 @@ { lib, buildGoPackage, fetchFromGitHub, makeWrapper, kubernetes-helm, ... }: -let version = "0.19.0"; in +let version = "0.40.1"; in buildGoPackage { name = "helmfile-${version}"; @@ -9,13 +9,18 @@ buildGoPackage { owner = "roboll"; repo = "helmfile"; rev = "v${version}"; - sha256 = "0wjzzaygdnnvyi5a78bhmz2sxc4gykdl00h78dkgvj7aaw05s9yd"; + sha256 = "02ir10070rpayv9s53anldwjy5ggl268shgf085d188wl6vshaiv"; }; goPackagePath = "github.com/roboll/helmfile"; nativeBuildInputs = [ makeWrapper ]; + buildFlagsArray = '' + -ldflags= + -X main.Version=${version} + ''; + postInstall = '' wrapProgram $bin/bin/helmfile \ --prefix PATH : ${lib.makeBinPath [ kubernetes-helm ]} diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index 776a1667514f..343380c60751 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -15,13 +15,13 @@ with lib; stdenv.mkDerivation rec { name = "kubernetes-${version}"; - version = "1.12.0"; + version = "1.12.1"; src = fetchFromGitHub { owner = "kubernetes"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "0bnfhrli9xqf7ygfq5i5p6nsgv7ic57b5b705zbqsxrc24pvsy4s"; + sha256 = "1gm0v5p008w9i4k94ddjdyfqfsbx7a6ngmh81p155599hifm32zc"; }; buildInputs = [ removeReferencesTo makeWrapper which go_1_10 rsync go-bindata ]; diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index c68fb48fa1a4..c44b7ac1dc76 100644 --- a/pkgs/applications/networking/cluster/minikube/default.nix +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -14,7 +14,7 @@ let in buildGoPackage rec { pname = "minikube"; name = "${pname}-${version}"; - version = "0.29.0"; + version = "0.30.0"; kubernetesVersion = "1.11.2"; @@ -24,7 +24,7 @@ in buildGoPackage rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "09px8pxml7xrnfhyjvlhf1hw7zdj9sw47a0fv5wj5aard54lhs1l"; + sha256 = "02jxwh8qrvjn31rzjwx23908nd1i592drfdykxbc5b6a62fwp02z"; }; buildInputs = [ go-bindata makeWrapper gpgme ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin vmnet; diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix index b3b13539ff50..702a7cb7eb1e 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/default.nix +++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -22,6 +22,7 @@ let }; in { + gandi = callPackage ./gandi {}; ibm = callPackage ./ibm {}; libvirt = callPackage ./libvirt {}; } // lib.mapAttrs (n: v: toDrv v) list diff --git a/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix new file mode 100644 index 000000000000..291698f3065f --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, buildGoPackage }: +buildGoPackage rec { + name = "terraform-provider-gandi-${version}"; + version = "1.0.0"; + + goPackagePath = "github.com/tiramiseb/terraform-provider-gandi"; + goDeps = ./deps.nix; + + src = fetchFromGitHub { + owner = "tiramiseb"; + repo = "terraform-provider-gandi"; + rev = "v${version}"; + sha256 = "0byydpqsimvnk11bh9iz8zlxbsmsk65w55pvkp18vjzqrhf4kyfv"; + }; + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postBuild = "mv go/bin/terraform-provider-gandi{,_v${version}}"; + + meta = with stdenv.lib; { + description = "Terraform provider for the Gandi LiveDNS service."; + homepage = "https://github.com/tiramiseb/terraform-provider-gandi"; + license = licenses.mpl20; + maintainers = with maintainers; [ manveru ]; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix b/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix new file mode 100644 index 000000000000..3d4a3547502d --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix @@ -0,0 +1,21 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +[ + { + goPackagePath = "github.com/hashicorp/terraform"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/terraform"; + rev = "27b720113ed5143a870ec151b3b7c9d955a09bc0"; + sha256 = "1f0hwdf2z68p0ll3pgrx949h09q52gcfaxap0zz52m7px98sfab4"; + }; + } + { + goPackagePath = "github.com/tiramiseb/go-gandi-livedns"; + fetch = { + type = "git"; + url = "https://github.com/tiramiseb/go-gandi-livedns"; + rev = "4773a84f8ee7365ed21edc6cd0602aaf93e94e59"; + sha256 = "1i8s7yclrkhf974vs2splh5symzk0ym54px0bc216bq4ifzkwkqc"; + }; + } +] diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix index 70639e364c3e..d10043751599 100644 --- a/pkgs/applications/networking/flexget/default.nix +++ b/pkgs/applications/networking/flexget/default.nix @@ -36,11 +36,11 @@ with python'.pkgs; buildPythonApplication rec { pname = "FlexGet"; - version = "2.14.21"; + version = "2.15.1"; src = fetchPypi { inherit pname version; - sha256 = "08z0pf1g5xp3760da48v9h9hja2j8cgrwkgim156drk259bf5vm2"; + sha256 = "0c0qyafm01j94m9vky6x4k6j6g3nygzhgm79fb25brc2fyydkm3c"; }; postPatch = '' diff --git a/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix index 00636c7c1e9a..4dd26103cbe6 100644 --- a/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix @@ -2,13 +2,14 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "bitlbee-discord-2017-12-27"; + name = "bitlbee-discord-${version}"; + version = "0.4.1"; src = fetchFromGitHub { - rev = "6a03db169ad44fee55609ecd16e19f3c0f99a182"; + rev = version; owner = "sm00th"; repo = "bitlbee-discord"; - sha256 = "1ci9a12c6zg8d6i9f95pq6dal79cp4klmmsyj8ag2gin90kl3x95"; + sha256 = "1n3xw5mcmg7224r09gbm39bd6h2158dwl6jx21290636b4345f4c"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix index 777057b327b0..7fe68163ab96 100644 --- a/pkgs/applications/networking/instant-messengers/dino/default.nix +++ b/pkgs/applications/networking/instant-messengers/dino/default.nix @@ -13,13 +13,13 @@ }: stdenv.mkDerivation rec { - name = "dino-unstable-2018-09-05"; + name = "dino-unstable-2018-09-21"; src = fetchFromGitHub { owner = "dino"; repo = "dino"; - rev = "79e0aee5fdb90830fad748fdfae717cb5fbf91f9"; - sha256 = "1sfh729fg6c5ds3rcma13paqnvv58jln34s93j74jnca19wgn7k5"; + rev = "6b7ef800f54e781a618425236ba8d4ed2f2fef9c"; + sha256 = "1si815b6y06lridj88hws0dgq54w9jfam9sqbrq3cfcvmhc38ysk"; fetchSubmodules = true; }; diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix index 810720baa7ca..6e78a9034aec 100644 --- a/pkgs/applications/networking/instant-messengers/nheko/default.nix +++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix @@ -20,13 +20,13 @@ let in stdenv.mkDerivation rec { name = "nheko-${version}"; - version = "0.6.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "mujx"; repo = "nheko"; rev = "v${version}"; - sha256 = "00jigca7kcqwm57qalz7ifz9p6v7p3pnamjvpkxjjix2rm9wmg2q"; + sha256 = "014k68mmw3ys7ldgj96kkr1i1lyv2nk89wndkqznsizcr3097fn5"; }; # If, on Darwin, you encounter the error @@ -70,5 +70,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ ekleog fpletz ]; platforms = platforms.unix; license = licenses.gpl3Plus; + knownVulnerabilities = [ "No longer maintained" ]; }; } diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index 9b14ac6f2c3c..56bf7ee078db 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -4,8 +4,8 @@ let mkTelegram = args: qt5.callPackage (import ./generic.nix args) { }; stableVersion = { stable = true; - version = "1.4.0"; - sha256Hash = "1zlsvbk9vgsqwplcswh2q0mqjdqf5md1043paab02wy3qg2x37d8"; + version = "1.4.2"; + sha256Hash = "025qld597b6x7wbf1y1qpcsz0brpf3qsqj650mq9fpps1yi1vfk7"; # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk archPatchesRevision = "388730"; archPatchesHash = "1gvisz36bc6bl4zcpjyyk0a2dl6ixp65an8wgm2lkc9mhkl783q7"; diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix index ce73acf8d596..ac58d4f39d6f 100644 --- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix +++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix @@ -6,7 +6,7 @@ with stdenv.lib; let bits = "x86_64"; - version = "3.14.10"; + version = "4.3.0"; desktopItem = makeDesktopItem rec { name = "Wavebox"; @@ -23,7 +23,7 @@ in stdenv.mkDerivation rec { name = "wavebox-${version}"; src = fetchurl { url = "https://github.com/wavebox/waveboxapp/releases/download/v${version}/${tarball}"; - sha256 = "06ce349f561c6122b2d326e9a1363fb358e263c81a7d1d08723ec567235bbd74"; + sha256 = "0kdg5q9rv8nxlg5jhmdfy5vv7gkdswzhy49af29d3zf57z69187c"; }; # don't remove runtime deps diff --git a/pkgs/applications/networking/mailreaders/astroid/default.nix b/pkgs/applications/networking/mailreaders/astroid/default.nix index 0cb07b8ce755..8dd23df7749c 100644 --- a/pkgs/applications/networking/mailreaders/astroid/default.nix +++ b/pkgs/applications/networking/mailreaders/astroid/default.nix @@ -1,36 +1,31 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk +{ stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk222x , libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf, vim_configurable , makeWrapper, python3, python3Packages , vim ? vim_configurable.override { features = "normal"; gui = "auto"; } +, ronn }: stdenv.mkDerivation rec { name = "astroid-${version}"; - version = "0.13"; + version = "0.14"; src = fetchFromGitHub { owner = "astroidmail"; repo = "astroid"; rev = "v${version}"; - sha256 = "105x5g44hng3fi03h67j3an53088148jbq8726nmcp0zs0cy9gac"; + sha256 = "1wkv1icsx3g3gq485dnvcdhr9srrjgz4ws1i1krcw9n61bj7gxh8"; }; - nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ]; + nativeBuildInputs = [ cmake ronn pkgconfig wrapGAppsHook ]; - buildInputs = [ gnome3.gtkmm gmime3 webkitgtk libsass gnome3.libpeas + buildInputs = [ gnome3.gtkmm gmime3 webkitgtk222x libsass gnome3.libpeas python3 python3Packages.pygobject3 notmuch boost gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme glib-networking protobuf ] ++ (if vim == null then [] else [ vim ]); - patches = [ - # TODO: remove when https://github.com/astroidmail/astroid/pull/531 - # is released - ./run_tests.diff - ]; - postPatch = '' sed -i "s~gvim ~${vim}/bin/vim -g ~g" src/config.cc sed -i "s~ -geom 10x10~~g" src/config.cc diff --git a/pkgs/applications/networking/mailreaders/astroid/run_tests.diff b/pkgs/applications/networking/mailreaders/astroid/run_tests.diff deleted file mode 100644 index 21b466741ce1..000000000000 --- a/pkgs/applications/networking/mailreaders/astroid/run_tests.diff +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/tests/run_test.sh b/tests/run_test.sh -index f2ea7d7..927c61d 100755 ---- a/tests/run_test.sh -+++ b/tests/run_test.sh -@@ -1,4 +1,4 @@ --#! /bin/bash -+#! /usr/bin/env bash - # - # Set up environment and run test specified on command line - diff --git a/pkgs/applications/networking/nload/default.nix b/pkgs/applications/networking/nload/default.nix index 879461c8acd5..2c16fabc5c41 100644 --- a/pkgs/applications/networking/nload/default.nix +++ b/pkgs/applications/networking/nload/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses }: +{ stdenv, fetchurl, fetchpatch, ncurses }: stdenv.mkDerivation rec { version = "0.7.4"; @@ -9,6 +9,19 @@ stdenv.mkDerivation rec { sha256 = "1rb9skch2kgqzigf19x8bzk211jdfjfdkrcvaqyj89jy2pkm3h61"; }; + patches = [ + # Fixes an ugly bug of graphs scrolling to the side, corrupting the view. + # There is an upstream fix, but not a new upstream release that includes it. + # Other distributions like Gentoo also patch this as a result; see: + # https://github.com/rolandriegel/nload/issues/3#issuecomment-427579143 + # TODO Remove when https://github.com/rolandriegel/nload/issues/3 is merged and available + (fetchpatch { + url = "https://github.com/rolandriegel/nload/commit/8a93886e0fb33a81b8fe32e88ee106a581fedd34.patch"; + name = "nload-0.7.4-Eliminate-flicker-on-some-terminals.patch"; + sha256 = "10yppy5l50wzpcvagsqkbyf1rcan6aj30am4rw8hmkgnbidf4zbq"; + }) + ]; + buildInputs = [ ncurses ]; meta = { diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index f7f989dc3a9d..3930ea4ff11f 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "pjsip-${version}"; - version = "2.7.2"; + version = "2.8"; src = fetchurl { url = "http://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2"; - sha256 = "0wiph6g51wanzwjjrpwsz63amgvly8g08jz033gnwqmppa584b4w"; + sha256 = "0ybg0113rp3fk49rm2v0pcgqb28h3dv1pdy9594w2ggiz7bhngah"; }; buildInputs = [ openssl libsamplerate alsaLib ]; diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix index b59219d99366..b6c54a6d4525 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 { name = "resilio-sync-${version}"; - version = "2.6.0"; + version = "2.6.1"; src = fetchurl { url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz"; sha256 = { - "x86_64-linux" = "0041axi9carspkfaxvyirfvsa29zz55al01x90nh93nzxvpvywsz"; - "i686-linux" = "1ar36lp4f6a1z9i82g3gpak4q4ny09faqxdd59q1pvfzq25ypdhs"; + "x86_64-linux" = "02wbllrj80kqpyywfr05fsqpgwrv2i8smr3gfdpn7ni9b8hkj0ji"; + "i686-linux" = "02zhh6gfds6miznbx30ghzihhm330mh5xnm42mxj8j29aqlzgd95"; }.${stdenv.hostPlatform.system}; }; diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix index dcb76320a9b5..802f558731a8 100644 --- a/pkgs/applications/science/astronomy/gildas/default.nix +++ b/pkgs/applications/science/astronomy/gildas/default.nix @@ -7,8 +7,8 @@ let in stdenv.mkDerivation rec { - srcVersion = "oct18a"; - version = "20181001_a"; + srcVersion = "oct18b"; + version = "20181001_b"; name = "gildas-${version}"; src = fetchurl { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { # source code of the previous release to a different directory urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.gz" "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.gz" ]; - sha256 = "091941a74kaw3xqsmqda7bj972cafi8ppj2c5xq0mca2c075dyfx"; + sha256 = "1q54q7y4zdax9vr28pvmy5g34kyr92jr3v1rkpjw7lxjafyqwy27"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/logic/coq/8.3.nix b/pkgs/applications/science/logic/coq/8.3.nix deleted file mode 100644 index 341267b2cebe..000000000000 --- a/pkgs/applications/science/logic/coq/8.3.nix +++ /dev/null @@ -1,82 +0,0 @@ -# - coqide compilation can be disabled by setting lablgtk to null; -# - The csdp program used for the Micromega tactic is statically referenced. -# However, coq can build without csdp by setting it to null. -# In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found. - -{ stdenv, lib, make, fetchurl -, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null }: - -assert lib.versionOlder ocaml.version "4"; - -let - version = "8.3pl4"; - buildIde = lablgtk != null; - ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; - idePatch = if buildIde then '' - substituteInPlace scripts/coqmktop.ml --replace \ - "\"-I\"; \"+lablgtk2\"" \ - "\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\"" - '' else ""; - csdpPatch = if csdp != null then '' - substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp" - substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.search_exe_in_path \"csdp\"" "Some \"${csdp}/bin/csdp\"" - '' else ""; -in - -stdenv.mkDerivation { - name = "coq-${version}"; - - src = fetchurl { - url = "https://coq.inria.fr/V${version}/files/coq-${version}.tar.gz"; - sha256 = "17d3lmchmqir1rawnr52g78srg4wkd7clzpzfsivxc4y1zp6rwkr"; - }; - - buildInputs = [ make ocaml findlib camlp5 ncurses lablgtk ]; - - prefixKey = "-prefix "; - - preConfigure = '' - configureFlagsArray=( - -opt - -camldir ${ocaml}/bin - -camlp5dir $(ocamlfind query camlp5) - ${ideFlags} - ) - ''; - - buildFlags = "world"; # Debug with "world VERBOSE=1"; - - patches = [ ./configure.8.3.patch ]; - - postPatch = '' - UNAME=$(type -tp uname) - RM=$(type -tp rm) - substituteInPlace configure --replace "/bin/uname" "$UNAME" - substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" - ${idePatch} - ${csdpPatch} - ''; - - # This post install step is needed to build ssrcoqide from the ssreflect package - # It could be made optional, but I see little harm in including it in the default - # distribution -- roconnor - # This will likely no longer be necessary for coq >= 8.4. -- roconnor - postInstall = if buildIde then '' - cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/ - '' else ""; - - meta = with stdenv.lib; { - description = "Coq proof assistant"; - longDescription = '' - Coq is a formal proof management system. It provides a formal language - to write mathematical definitions, executable algorithms and theorems - together with an environment for semi-interactive development of - machine-checked proofs. - ''; - homepage = http://coq.inria.fr; - license = licenses.lgpl21; - branch = "8.3"; - maintainers = with maintainers; [ roconnor vbgl ]; - platforms = with platforms; linux; - }; -} diff --git a/pkgs/applications/science/logic/coq/configure.8.3.patch b/pkgs/applications/science/logic/coq/configure.8.3.patch deleted file mode 100644 index 431cccac4b0b..000000000000 --- a/pkgs/applications/science/logic/coq/configure.8.3.patch +++ /dev/null @@ -1,1112 +0,0 @@ -diff -Nuar coq-8.3pl3-orig/configure coq-8.3pl3/configure ---- coq-8.3pl3-orig/configure 2011-12-19 22:57:30.000000000 +0100 -+++ coq-8.3pl3/configure 2012-03-17 16:38:16.000000000 +0100 -@@ -395,7 +395,6 @@ - ocamlyaccexec=$CAMLBIN/ocamlyacc - ocamlmktopexec=$CAMLBIN/ocamlmktop - ocamlmklibexec=$CAMLBIN/ocamlmklib -- camlp4oexec=$CAMLBIN/camlp4o - esac - - if test ! -f "$CAMLC" ; then -@@ -628,7 +627,7 @@ - no) LABLGTKLIB=+lablgtk2 # Pour le message - LABLGTKINCLUDES="-I $LABLGTKLIB";; # Pour le makefile - yes) LABLGTKLIB="$lablgtkdir" # Pour le message -- LABLGTKINCLUDES="-I \"$LABLGTKLIB\"";; # Pour le makefile -+ LABLGTKINCLUDES="-I $LABLGTKLIB";; # Pour le makefile - esac;; - no) LABLGTKINCLUDES="";; - esac -diff -Nuar coq-8.3pl3-orig/configure~ coq-8.3pl3/configure~ ---- coq-8.3pl3-orig/configure~ 1970-01-01 01:00:00.000000000 +0100 -+++ coq-8.3pl3/configure~ 2011-12-19 22:57:30.000000000 +0100 -@@ -0,0 +1,1088 @@ -+#!/bin/sh -+ -+################################## -+# -+# Configuration script for Coq -+# -+################################## -+ -+VERSION=8.3pl3 -+VOMAGIC=08300 -+STATEMAGIC=58300 -+DATE=`LANG=C date +"%B %Y"` -+ -+# Create the bin/ directory if non-existent -+test -d bin || mkdir bin -+ -+# a local which command for sh -+which () { -+IFS=":" # set words separator in PATH to be ':' (it allows spaces in dirnames) -+for i in $PATH; do -+ if test -z "$i"; then i=.; fi -+ if [ -f "$i/$1" ] ; then -+ IFS=" " -+ echo "$i/$1" -+ break -+ fi -+done -+} -+ -+usage () { -+ printf "Available options for configure are:\n" -+ echo "-help" -+ printf "\tDisplays this help page\n" -+ echo "-prefix " -+ printf "\tSet installation directory to \n" -+ echo "-local" -+ printf "\tSet installation directory to the current source tree\n" -+ echo "-coqrunbyteflags" -+ printf "\tSet link flags for VM-dependent bytecode (coqtop)\n" -+ echo "-coqtoolsbyteflags" -+ printf "\tSet link flags for VM-independant bytecode (coqdep, coqdoc, ...)\n" -+ echo "-custom" -+ printf "\tGenerate all bytecode executables with -custom (not recommended)\n" -+ echo "-src" -+ printf "\tSpecifies the source directory\n" -+ echo "-bindir" -+ echo "-libdir" -+ echo "-mandir" -+ echo "-docdir" -+ printf "\tSpecifies where to install bin/lib/man/doc files resp.\n" -+ echo "-emacslib" -+ echo "-emacs" -+ printf "\tSpecifies where emacs files are to be installed\n" -+ echo "-coqdocdir" -+ printf "\tSpecifies where Coqdoc style files are to be installed\n" -+ echo "-camldir" -+ printf "\tSpecifies the path to the OCaml library\n" -+ echo "-lablgtkdir" -+ printf "\tSpecifies the path to the Lablgtk library\n" -+ echo "-camlp5dir" -+ printf "\tSpecifies where to look for the Camlp5 library and tells to use it\n" -+ echo "-arch" -+ printf "\tSpecifies the architecture\n" -+ echo "-opt" -+ printf "\tSpecifies whether or not to use OCaml *.opt optimized compilers\n" -+ echo "-natdynlink (yes|no)" -+ printf "\tSpecifies whether or not to use dynamic loading of native code\n" -+ echo "-coqide (opt|byte|no)" -+ printf "\tSpecifies whether or not to compile Coqide\n" -+ echo "-browser " -+ printf "\tUse to open URL %%s\n" -+ echo "-with-doc (yes|no)" -+ printf "\tSpecifies whether or not to compile the documentation\n" -+ echo "-with-geoproof (yes|no)" -+ printf "\tSpecifies whether or not to use Geoproof binding\n" -+ echo "-with-cc " -+ echo "-with-ar " -+ echo "-with-ranlib " -+ printf "\tTells configure where to find gcc/ar/ranlib executables\n" -+ echo "-byte-only" -+ printf "\tCompiles only bytecode version of Coq\n" -+ echo "-debug" -+ printf "\tAdd debugging information in the Coq executables\n" -+ echo "-profile" -+ printf "\tAdd profiling information in the Coq executables\n" -+ echo "-annotate" -+ printf "\tCompiles Coq with -dtypes option\n" -+} -+ -+ -+# Default OCaml binaries -+bytecamlc=ocamlc -+nativecamlc=ocamlopt -+ocamlmklibexec=ocamlmklib -+ocamlexec=ocaml -+ocamldepexec=ocamldep -+ocamldocexec=ocamldoc -+ocamllexexec=ocamllex -+ocamlyaccexec=ocamlyacc -+ocamlmktopexec=ocamlmktop -+camlp4oexec=camlp4o -+ -+ -+coq_debug_flag= -+coq_debug_flag_opt= -+coq_profile_flag= -+coq_annotate_flag= -+best_compiler=opt -+cflags="-fno-defer-pop -Wall -Wno-unused" -+natdynlink=yes -+ -+gcc_exec=gcc -+ar_exec=ar -+ranlib_exec=ranlib -+ -+local=false -+coqrunbyteflags_spec=no -+coqtoolsbyteflags_spec=no -+custom_spec=no -+src_spec=no -+prefix_spec=no -+bindir_spec=no -+libdir_spec=no -+mandir_spec=no -+docdir_spec=no -+emacslib_spec=no -+emacs_spec=no -+camldir_spec=no -+lablgtkdir_spec=no -+coqdocdir_spec=no -+arch_spec=no -+coqide_spec=no -+browser_spec=no -+wwwcoq_spec=no -+with_geoproof=false -+with_doc=all -+with_doc_spec=no -+force_caml_version=no -+force_caml_version_spec=no -+ -+COQSRC=`pwd` -+ -+# Parse command-line arguments -+ -+while : ; do -+ case "$1" in -+ "") break;; -+ -help|--help) usage -+ exit;; -+ -prefix|--prefix) prefix_spec=yes -+ prefix="$2" -+ shift;; -+ -local|--local) local=true;; -+ -coqrunbyteflags|--coqrunbyteflags) coqrunbyteflags_spec=yes -+ coqrunbyteflags="$2" -+ shift;; -+ -coqtoolsbyteflags|--coqtoolsbyteflags) coqtoolsbyteflags_spec=yes -+ coqtoolsbyteflags="$2" -+ shift;; -+ -custom|--custom) custom_spec=yes -+ shift;; -+ -src|--src) src_spec=yes -+ COQSRC="$2" -+ shift;; -+ -bindir|--bindir) bindir_spec=yes -+ bindir="$2" -+ shift;; -+ -libdir|--libdir) libdir_spec=yes -+ libdir="$2" -+ shift;; -+ -mandir|--mandir) mandir_spec=yes -+ mandir="$2" -+ shift;; -+ -docdir|--docdir) docdir_spec=yes -+ docdir="$2" -+ shift;; -+ -emacslib|--emacslib) emacslib_spec=yes -+ emacslib="$2" -+ shift;; -+ -emacs |--emacs) emacs_spec=yes -+ emacs="$2" -+ shift;; -+ -coqdocdir|--coqdocdir) coqdocdir_spec=yes -+ coqdocdir="$2" -+ shift;; -+ -camldir|--camldir) camldir_spec=yes -+ camldir="$2" -+ shift;; -+ -lablgtkdir|--lablgtkdir) lablgtkdir_spec=yes -+ lablgtkdir="$2" -+ shift;; -+ -camlp5dir|--camlp5dir) -+ camlp5dir="$2" -+ shift;; -+ -arch|--arch) arch_spec=yes -+ arch=$2 -+ shift;; -+ -opt|--opt) bytecamlc=ocamlc.opt -+ camlp4oexec=camlp4o # can't add .opt since dyn load'll be required -+ nativecamlc=ocamlopt.opt;; -+ -natdynlink|--natdynlink) case "$2" in -+ yes) natdynlink=yes;; -+ *) natdynlink=no -+ esac -+ shift;; -+ -coqide|--coqide) coqide_spec=yes -+ case "$2" in -+ byte|opt) COQIDE=$2;; -+ *) COQIDE=no -+ esac -+ shift;; -+ -browser|--browser) browser_spec=yes -+ BROWSER=$2 -+ shift;; -+ -coqwebsite|--coqwebsite) wwwcoq_spec=yes -+ WWWCOQ=$2 -+ shift;; -+ -with-doc|--with-doc) with_doc_spec=yes -+ case "$2" in -+ yes|all) with_doc=all;; -+ *) with_doc=no -+ esac -+ shift;; -+ -with-geoproof|--with-geoproof) -+ case "$2" in -+ yes) with_geoproof=true;; -+ no) with_geoproof=false;; -+ esac -+ shift;; -+ -with-cc|-with-gcc|--with-cc|--with-gcc) -+ gcc_spec=yes -+ gcc_exec=$2 -+ shift;; -+ -with-ar|--with-ar) -+ ar_spec=yes -+ ar_exec=$2 -+ shift;; -+ -with-ranlib|--with-ranlib) -+ ranlib_spec=yes -+ ranlib_exec=$2 -+ shift;; -+ -byte-only|-byteonly|--byteonly|--byte-only) best_compiler=byte;; -+ -debug|--debug) coq_debug_flag=-g;; -+ -profile|--profile) coq_profile_flag=-p;; -+ -annotate|--annotate) coq_annotate_flag=-dtypes;; -+ -force-caml-version|--force-caml-version|-force-ocaml-version|--force-ocaml-version) -+ force_caml_version_spec=yes -+ force_caml_version=yes;; -+ *) echo "Unknown option \"$1\"." 1>&2; usage; exit 2;; -+ esac -+ shift -+done -+ -+if [ $prefix_spec = yes -a $local = true ] ; then -+ echo "Options -prefix and -local are incompatible." -+ echo "Configure script failed!" -+ exit 1 -+fi -+ -+# compile date -+DATEPGM=`which date` -+case $DATEPGM in -+ "") echo "I can't find the program \"date\" in your path." -+ echo "Please give me the current date" -+ read COMPILEDATE;; -+ *) COMPILEDATE=`date +"%h %d %Y %H:%M:%S"`;; -+esac -+ -+# Architecture -+ -+case $arch_spec in -+ no) -+ # First we test if we are running a Cygwin system -+ if [ `uname -s | cut -c -6` = "CYGWIN" ] ; then -+ ARCH="win32" -+ else -+ # If not, we determine the architecture -+ if test -x /bin/arch ; then -+ ARCH=`/bin/arch` -+ elif test -x /usr/bin/arch ; then -+ ARCH=`/usr/bin/arch` -+ elif test -x /usr/ucb/arch ; then -+ ARCH=`/usr/ucb/arch` -+ elif test -x /bin/uname ; then -+ ARCH=`/bin/uname -s` -+ elif test -x /usr/bin/uname ; then -+ ARCH=`/usr/bin/uname -s` -+ else -+ echo "I can not automatically find the name of your architecture." -+ printf "%s"\ -+ "Give me a name, please [win32 for Win95, Win98 or WinNT]: " -+ read ARCH -+ fi -+ fi;; -+ yes) ARCH=$arch -+esac -+ -+# executable extension -+ -+case $ARCH in -+ win32) -+ EXE=".exe" -+ DLLEXT=".dll";; -+ *) EXE="" -+ DLLEXT=".so" -+esac -+ -+# Is the source tree checked out from a recognised -+# version control system ? -+if test -e .svn/entries ; then -+ checkedout=svn -+elif [ -d '{arch}' ]; then -+ checkedout=gnuarch -+elif [ -z "${GIT_DIR}" ] && [ -d .git ] || [ -d "${GIT_DIR}" ]; then -+ checkedout=git -+else -+ checkedout=0 -+fi -+ -+# make command -+ -+MAKE=`which make` -+if [ "$MAKE" != "" ]; then -+ MAKEVERSION=`$MAKE -v | head -1 | cut -d" " -f3` -+ MAKEVERSIONMAJOR=`echo $MAKEVERSION | cut -d. -f1` -+ MAKEVERSIONMINOR=`echo $MAKEVERSION | cut -d. -f2` -+ if [ "$MAKEVERSIONMAJOR" -eq 3 -a "$MAKEVERSIONMINOR" -ge 81 ]; then -+ echo "You have GNU Make $MAKEVERSION. Good!" -+ else -+ OK="no" -+ if [ -x ./make ]; then -+ MAKEVERSION=`./make -v | head -1` -+ if [ "$MAKEVERSION" = "GNU Make 3.81" ]; then OK="yes"; fi -+ fi -+ if [ $OK = "no" ]; then -+ echo "GNU Make >= 3.81 is needed." -+ echo "Make 3.81 can be downloaded from ftp://ftp.gnu.org/gnu/make/make-3.81.tar.gz" -+ echo "then locally installed on a Unix-style system by issuing:" -+ echo " tar xzvf make-3.81.tar.gz" -+ echo " cd make-3.81" -+ echo " ./configure" -+ echo " make" -+ echo " mv make .." -+ echo " cd .." -+ echo "Restart then the configure script and later use ./make instead of make." -+ exit 1 -+ else -+ echo "You have locally installed GNU Make 3.81. Good!" -+ fi -+ fi -+else -+ echo "Cannot find GNU Make >= 3.81." -+fi -+ -+# Browser command -+ -+if [ "$browser_spec" = "no" ]; then -+ case $ARCH in -+ win32) BROWSER='C:\PROGRA~1\INTERN~1\IEXPLORE %s' ;; -+ *) BROWSER='firefox -remote "OpenURL(%s,new-tab)" || firefox %s &' ;; -+ esac -+fi -+ -+if [ "$wwwcoq_spec" = "no" ]; then -+ WWWCOQ="http://coq.inria.fr/" -+fi -+ -+######################################### -+# Objective Caml programs -+ -+case $camldir_spec in -+ no) CAMLC=`which $bytecamlc` -+ case "$CAMLC" in -+ "") echo "$bytecamlc is not present in your path!" -+ echo "Give me manually the path to the $bytecamlc executable [/usr/local/bin by default]: " -+ read CAMLC -+ -+ case "$CAMLC" in -+ "") CAMLC=/usr/local/bin/$bytecamlc;; -+ */ocamlc|*/ocamlc.opt) true;; -+ */) CAMLC="${CAMLC}"$bytecamlc;; -+ *) CAMLC="${CAMLC}"/$bytecamlc;; -+ esac -+ esac -+ CAMLBIN=`dirname "$CAMLC"`;; -+ yes) CAMLC=$camldir/$bytecamlc -+ -+ CAMLBIN=`dirname "$CAMLC"` -+ bytecamlc="$CAMLC" -+ nativecamlc=$CAMLBIN/$nativecamlc -+ ocamlexec=$CAMLBIN/ocaml -+ ocamldepexec=$CAMLBIN/ocamldep -+ ocamldocexec=$CAMLBIN/ocamldoc -+ ocamllexexec=$CAMLBIN/ocamllex -+ ocamlyaccexec=$CAMLBIN/ocamlyacc -+ ocamlmktopexec=$CAMLBIN/ocamlmktop -+ ocamlmklibexec=$CAMLBIN/ocamlmklib -+ camlp4oexec=$CAMLBIN/camlp4o -+esac -+ -+if test ! -f "$CAMLC" ; then -+ echo "I can not find the executable '$CAMLC'. Have you installed it?" -+ echo "Configuration script failed!" -+ exit 1 -+fi -+ -+# Under Windows, OCaml only understands Windows filenames (C:\...) -+case $ARCH in -+ win32) CAMLBIN=`cygpath -m ${CAMLBIN}`;; -+esac -+ -+CAMLVERSION=`"$bytecamlc" -version` -+ -+case $CAMLVERSION in -+ 1.*|2.*|3.00|3.01|3.02|3.03|3.03alpha|3.04|3.05beta|3.05|3.06|3.07*|3.08*|3.09*) -+ echo "Your version of Objective-Caml is $CAMLVERSION." -+ if [ "$force_caml_version" = "yes" ]; then -+ echo "*Warning* You are compiling Coq with an outdated version of Objective-Caml." -+ else -+ echo " You need Objective-Caml 3.10.2 or later." -+ echo " Configuration script failed!" -+ exit 1 -+ fi;; -+ ?*) -+ CAMLP4COMPAT="-loc loc" -+ echo "You have Objective-Caml $CAMLVERSION. Good!";; -+ *) -+ echo "I found the Objective-Caml compiler but cannot find its version number!" -+ echo "Is it installed properly?" -+ echo "Configuration script failed!" -+ exit 1;; -+esac -+ -+CAMLTAG=OCAML`echo $CAMLVERSION | sed -e "s/\([1-9]\)\.\([0-9]*\).*/\1\2/g"` -+ -+# For coqmktop & bytecode compiler -+ -+case $ARCH in -+ win32) # Awfull trick to get around a ^M problem at the end of CAMLLIB -+ CAMLLIB=`"$CAMLC" -where | sed -e 's/^\(.*\)$/\1/'` ;; -+ *) -+ CAMLLIB=`"$CAMLC" -where` -+esac -+ -+if [ "$coq_debug_flag" = "-g" ]; then -+ case $CAMLTAG in -+ OCAML31*) -+ # Compilation debug flag -+ coq_debug_flag_opt="-g" -+ ;; -+ esac -+fi -+ -+# Native dynlink -+if [ "$natdynlink" = "yes" -a -f `"$CAMLC" -where`/dynlink.cmxa ]; then -+ HASNATDYNLINK=true -+else -+ HASNATDYNLINK=false -+fi -+ -+case $HASNATDYNLINK,`uname -s`,`uname -r`,$CAMLVERSION in -+ true,Darwin,9.*,3.11.*) # ocaml 3.11.0 dynlink on MacOS 10.5 is buggy -+ NATDYNLINKFLAG=os5fixme;; -+ #Possibly a problem on 10.6.0/10.6.1/10.6.2 -+ #May just be a 32 vs 64 problem for all 10.6.* -+ true,Darwin,10.0.*,3.11.*) # Possibly a problem on 10.6.0 -+ NATDYNLINKFLAG=os5fixme;; -+ true,Darwin,10.1.*,3.11.*) # Possibly a problem on 10.6.1 -+ NATDYNLINKFLAG=os5fixme;; -+ true,Darwin,10.2.*,3.11.*) # Possibly a problem on 10.6.2 -+ NATDYNLINKFLAG=os5fixme;; -+ true,Darwin,10.*,3.11.*) -+ if [ `getconf LONG_BIT` = "32" ]; then -+ # Still a problem for x86_32 -+ NATDYNLINKFLAG=os5fixme -+ else -+ # Not a problem for x86_64 -+ NATDYNLINKFLAG=$HASNATDYNLINK -+ fi;; -+ *) -+ NATDYNLINKFLAG=$HASNATDYNLINK;; -+esac -+ -+# Camlp4 / Camlp5 configuration -+ -+if [ "$camlp5dir" != "" ]; then -+ CAMLP4=camlp5 -+ CAMLP4LIB=$camlp5dir -+ if [ ! -f $camlp5dir/camlp5.cma ]; then -+ echo "Cannot find camlp5 libraries in $camlp5dir (camlp5.cma not found)." -+ echo "Configuration script failed!" -+ exit 1 -+ fi -+ camlp4oexec=`echo $camlp4oexec | sed -e 's/4/5/'` -+else -+ case $CAMLTAG in -+ OCAML31*) -+ if [ -x "${CAMLLIB}/camlp5" ]; then -+ CAMLP4LIB=+camlp5 -+ elif [ -x "${CAMLLIB}/site-lib/camlp5" ]; then -+ CAMLP4LIB=+site-lib/camlp5 -+ else -+ echo "Objective Caml $CAMLVERSION found but no Camlp5 installed." -+ echo "Configuration script failed!" -+ exit 1 -+ fi -+ CAMLP4=camlp5 -+ camlp4oexec=`echo $camlp4oexec | sed -e 's/4/5/'` -+ ;; -+ *) -+ CAMLP4=camlp4 -+ CAMLP4LIB=+camlp4 -+ ;; -+ esac -+fi -+ -+if [ "$CAMLP4" = "camlp5" ] && `$camlp4oexec -v 2>&1 | grep -q 5.00`; then -+ echo "Camlp5 version 5.00 not supported: versions 4.0x or >= 5.01 are OK" -+ echo "(depending also on your ocaml version)." -+ echo "Configuration script failed!" -+ exit 1 -+fi -+ -+ -+case $CAMLP4LIB in -+ +*) FULLCAMLP4LIB=$CAMLLIB/`echo $CAMLP4LIB | cut -b 2-`;; -+ *) FULLCAMLP4LIB=$CAMLP4LIB;; -+esac -+ -+# Assume that camlp(4|5) binaries are at the same place as ocaml ones -+# (this should become configurable some day) -+CAMLP4BIN=${CAMLBIN} -+ -+# do we have a native compiler: test of ocamlopt and its version -+ -+if [ "$best_compiler" = "opt" ] ; then -+ if test -e "$nativecamlc" || test -e "`which $nativecamlc`"; then -+ CAMLOPTVERSION=`"$nativecamlc" -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' ` -+ if [ "`uname -s`" = "Darwin" -a "$ARCH" = "i386" ]; then -+ case $CAMLOPTVERSION in -+ 3.09.3|3.1?*) ;; -+ *) echo "Native compilation on MacOS X Pentium requires Objective-Caml >= 3.09.3," -+ best_compiler=byte -+ echo "only the bytecode version of Coq will be available." -+ esac -+ elif [ ! -f $FULLCAMLP4LIB/gramlib.cmxa ]; then -+ best_compiler=byte -+ echo "Cannot find native-code $CAMLP4," -+ echo "only the bytecode version of Coq will be available." -+ else -+ if [ "$CAMLOPTVERSION" != "$CAMLVERSION" ] ; then -+ echo "Native and bytecode compilers do not have the same version!" -+ fi -+ echo "You have native-code compilation. Good!" -+ fi -+ else -+ best_compiler=byte -+ echo "You have only bytecode compilation." -+ fi -+fi -+ -+# OS dependent libraries -+ -+case $ARCH in -+ sun4*) OS=`uname -r` -+ case $OS in -+ 5*) OS="Sun Solaris $OS" -+ OSDEPLIBS="-cclib -lunix -cclib -lnsl -cclib -lsocket";; -+ *) OS="Sun OS $OS" -+ OSDEPLIBS="-cclib -lunix" -+ esac;; -+ alpha) OSDEPLIBS="-cclib -lunix";; -+ win32) OS="Win32" -+ OSDEPLIBS="-cclib -lunix" -+ cflags="-mno-cygwin $cflags";; -+ *) OSDEPLIBS="-cclib -lunix" -+esac -+ -+# lablgtk2 and CoqIDE -+ -+# -byte-only should imply -coqide byte, unless the user decides otherwise -+ -+if [ "$best_compiler" = "byte" -a "$coqide_spec" = "no" ]; then -+ coqide_spec=yes -+ COQIDE=byte -+fi -+ -+# Which coqide is asked ? which one is possible ? -+ -+if [ "$coqide_spec" = "yes" -a "$COQIDE" = "no" ]; then -+ echo "CoqIde disabled as requested." -+else -+ case $lablgtkdir_spec in -+ no) -+ if [ -f "${CAMLLIB}/lablgtk2/glib.mli" ]; then -+ lablgtkdir=${CAMLLIB}/lablgtk2 -+ elif [ -f "${CAMLLIB}/site-lib/lablgtk2/glib.mli" ]; then -+ lablgtkdir=${CAMLLIB}/site-lib/lablgtk2 -+ fi;; -+ yes) -+ if [ ! -f "$lablgtkdir/glib.mli" ]; then -+ echo "Incorrect LablGtk2 library (glib.mli not found)." -+ echo "Configuration script failed!" -+ exit 1 -+ fi;; -+ esac -+ if [ "$lablgtkdir" = "" ]; then -+ echo "LablGtk2 not found: CoqIde will not be available." -+ COQIDE=no -+ elif [ -z "`grep -w convert_with_fallback "$lablgtkdir/glib.mli"`" ]; then -+ echo "LablGtk2 found but too old: CoqIde will not be available." -+ COQIDE=no; -+ elif [ "$coqide_spec" = "yes" -a "$COQIDE" = "byte" ]; then -+ echo "LablGtk2 found, bytecode CoqIde will be used as requested." -+ COQIDE=byte -+ elif [ ! -f "${CAMLLIB}/threads/threads.cmxa" ]; then -+ echo "LablGtk2 found, no native threads: bytecode CoqIde will be available." -+ COQIDE=byte -+ else -+ echo "LablGtk2 found, native threads: native CoqIde will be available." -+ COQIDE=opt -+ fi -+fi -+ -+case $COQIDE in -+ byte|opt) -+ case $lablgtkdir_spec in -+ no) LABLGTKLIB=+lablgtk2 # Pour le message -+ LABLGTKINCLUDES="-I $LABLGTKLIB";; # Pour le makefile -+ yes) LABLGTKLIB="$lablgtkdir" # Pour le message -+ LABLGTKINCLUDES="-I \"$LABLGTKLIB\"";; # Pour le makefile -+ esac;; -+ no) LABLGTKINCLUDES="";; -+esac -+ -+# strip command -+ -+case $ARCH in -+ win32) -+ # true -> strip : it exists under cygwin ! -+ STRIPCOMMAND="strip";; -+ *) -+ if [ "$coq_profile_flag" = "-p" ] || [ "$coq_debug_flag" = "-g" ] || -+ [ "`uname -s`" = "Darwin" -a "$HASNATDYNLINK" = "true" ] -+ then -+ STRIPCOMMAND="true" -+ else -+ STRIPCOMMAND="strip" -+ fi -+esac -+ -+# mktexlsr -+#MKTEXLSR=`which mktexlsr` -+#case $MKTEXLSR in -+# "") MKTEXLSR=true;; -+#esac -+ -+# " -+### Test if documentation can be compiled (latex, hevea) -+ -+if test "$with_doc" = "all" -+then -+ for cmd in "latex" "hevea" ; do -+ if test ! -x "`which $cmd`" -+ then -+ echo "$cmd was not found; documentation will not be available" -+ with_doc=no -+ break -+ fi -+ done -+fi -+ -+########################################### -+# bindir, libdir, mandir, docdir, etc. -+ -+case $src_spec in -+ no) COQTOP=${COQSRC} -+esac -+ -+# OCaml only understand Windows filenames (C:\...) -+case $ARCH in -+ win32) COQTOP=`cygpath -m ${COQTOP}` -+esac -+ -+case $ARCH in -+ win32) -+ bindir_def='C:\coq\bin' -+ libdir_def='C:\coq\lib' -+ mandir_def='C:\coq\man' -+ docdir_def='C:\coq\doc' -+ emacslib_def='C:\coq\emacs' -+ coqdocdir_def='C:\coq\latex';; -+ *) -+ bindir_def=/usr/local/bin -+ libdir_def=/usr/local/lib/coq -+ mandir_def=/usr/local/man -+ docdir_def=/usr/local/share/doc/coq -+ emacslib_def=/usr/local/share/emacs/site-lisp -+ coqdocdir_def=/usr/local/share/texmf/tex/latex/misc;; -+esac -+ -+emacs_def=emacs -+ -+case $bindir_spec/$prefix_spec/$local in -+ yes/*/*) BINDIR=$bindir ;; -+ */yes/*) BINDIR=$prefix/bin ;; -+ */*/true) BINDIR=$COQTOP/bin ;; -+ *) printf "Where should I install the Coq binaries [$bindir_def]? " -+ read BINDIR -+ case $BINDIR in -+ "") BINDIR=$bindir_def;; -+ *) true;; -+ esac;; -+esac -+ -+case $libdir_spec/$prefix_spec/$local in -+ yes/*/*) LIBDIR=$libdir;; -+ */yes/*) -+ case $ARCH in -+ win32) LIBDIR=$prefix ;; -+ *) LIBDIR=$prefix/lib/coq ;; -+ esac ;; -+ */*/true) LIBDIR=$COQTOP ;; -+ *) printf "Where should I install the Coq library [$libdir_def]? " -+ read LIBDIR -+ case $LIBDIR in -+ "") LIBDIR=$libdir_def;; -+ *) true;; -+ esac;; -+esac -+ -+case $mandir_spec/$prefix_spec/$local in -+ yes/*/*) MANDIR=$mandir;; -+ */yes/*) MANDIR=$prefix/man ;; -+ */*/true) MANDIR=$COQTOP/man ;; -+ *) printf "Where should I install the Coq man pages [$mandir_def]? " -+ read MANDIR -+ case $MANDIR in -+ "") MANDIR=$mandir_def;; -+ *) true;; -+ esac;; -+esac -+ -+case $docdir_spec/$prefix_spec/$local in -+ yes/*/*) DOCDIR=$docdir; HTMLREFMANDIR=$DOCDIR/html/refman;; -+ */yes/*) DOCDIR=$prefix/share/doc/coq; HTMLREFMANDIR=$DOCDIR/html/refman;; -+ */*/true) DOCDIR=$COQTOP/doc; HTMLREFMANDIR=$DOCDIR/refman/html;; -+ *) printf "Where should I install the Coq documentation [$docdir_def]? " -+ read DOCDIR -+ case $DOCDIR in -+ "") DOCDIR=$docdir_def; HTMLREFMANDIR=$DOCDIR/html/refman;; -+ *) true;; -+ esac;; -+esac -+ -+case $emacslib_spec/$prefix_spec/$local in -+ yes/*/*) EMACSLIB=$emacslib;; -+ */yes/*) -+ case $ARCH in -+ win32) EMACSLIB=$prefix/emacs ;; -+ *) EMACSLIB=$prefix/share/emacs/site-lisp ;; -+ esac ;; -+ */*/true) EMACSLIB=$COQTOP/tools/emacs ;; -+ *) printf "Where should I install the Coq Emacs mode [$emacslib_def]? " -+ read EMACSLIB -+ case $EMACSLIB in -+ "") EMACSLIB=$emacslib_def;; -+ *) true;; -+ esac;; -+esac -+ -+case $coqdocdir_spec/$prefix_spec/$local in -+ yes/*/*) COQDOCDIR=$coqdocdir;; -+ */yes/*) -+ case $ARCH in -+ win32) COQDOCDIR=$prefix/latex ;; -+ *) COQDOCDIR=$prefix/share/emacs/site-lisp ;; -+ esac ;; -+ */*/true) COQDOCDIR=$COQTOP/tools/coqdoc ;; -+ *) printf "Where should I install Coqdoc TeX/LaTeX files [$coqdocdir_def]? " -+ read COQDOCDIR -+ case $COQDOCDIR in -+ "") COQDOCDIR=$coqdocdir_def;; -+ *) true;; -+ esac;; -+esac -+ -+# Determine if we enable -custom by default (Windows and MacOS) -+CUSTOM_OS=no -+if [ "$ARCH" = "win32" ] || [ "`uname -s`" = "Darwin" ]; then -+ CUSTOM_OS=yes -+fi -+ -+BUILDLDPATH="# you might want to set CAML_LD_LIBRARY_PATH by hand!" -+case $coqrunbyteflags_spec/$local/$custom_spec/$CUSTOM_OS in -+ yes/*/*/*) COQRUNBYTEFLAGS="$coqrunbyteflags";; -+ */*/yes/*|*/*/*/yes) COQRUNBYTEFLAGS="-custom";; -+ */true/*/*) COQRUNBYTEFLAGS="-dllib -lcoqrun -dllpath '$COQTOP'/kernel/byterun";; -+ *) -+ COQRUNBYTEFLAGS="-dllib -lcoqrun -dllpath '$LIBDIR'" -+ BUILDLDPATH="export CAML_LD_LIBRARY_PATH='$COQTOP'/kernel/byterun";; -+esac -+case $coqtoolsbyteflags_spec/$custom_spec/$CUSTOM_OS in -+ yes/*/*) COQTOOLSBYTEFLAGS="$coqtoolsbyteflags";; -+ */yes/*|*/*/yes) COQTOOLSBYTEFLAGS="-custom";; -+ *) COQTOOLSBYTEFLAGS="";; -+esac -+ -+# case $emacs_spec in -+# no) printf "Which Emacs command should I use to compile coq.el [$emacs_def]? " -+# read EMACS -+ -+# case $EMACS in -+# "") EMACS=$emacs_def;; -+# *) true;; -+# esac;; -+# yes) EMACS=$emacs;; -+# esac -+ -+ -+ -+########################################### -+# Summary of the configuration -+ -+echo "" -+echo " Coq top directory : $COQTOP" -+echo " Architecture : $ARCH" -+if test ! -z "$OS" ; then -+ echo " Operating system : $OS" -+fi -+echo " Coq VM bytecode link flags : $COQRUNBYTEFLAGS" -+echo " Coq tools bytecode link flags : $COQTOOLSBYTEFLAGS" -+echo " OS dependent libraries : $OSDEPLIBS" -+echo " Objective-Caml/Camlp4 version : $CAMLVERSION" -+echo " Objective-Caml/Camlp4 binaries in : $CAMLBIN" -+echo " Objective-Caml library in : $CAMLLIB" -+echo " Camlp4 library in : $CAMLP4LIB" -+if test "$best_compiler" = opt ; then -+echo " Native dynamic link support : $HASNATDYNLINK" -+fi -+if test "$COQIDE" != "no"; then -+echo " Lablgtk2 library in : $LABLGTKLIB" -+fi -+if test "$with_doc" = "all"; then -+echo " Documentation : All" -+else -+echo " Documentation : None" -+fi -+echo " CoqIde : $COQIDE" -+echo " Web browser : $BROWSER" -+echo " Coq web site : $WWWCOQ" -+echo "" -+ -+echo " Paths for true installation:" -+echo " binaries will be copied in $BINDIR" -+echo " library will be copied in $LIBDIR" -+echo " man pages will be copied in $MANDIR" -+echo " documentation will be copied in $DOCDIR" -+echo " emacs mode will be copied in $EMACSLIB" -+echo "" -+ -+################################################## -+# Building the $COQTOP/dev/ocamldebug-coq file -+################################################## -+ -+OCAMLDEBUGCOQ=$COQSRC/dev/ocamldebug-coq -+ -+if test "$coq_debug_flag" = "-g" ; then -+ rm -f $OCAMLDEBUGCOQ -+ sed -e "s|COQTOPDIRECTORY|$COQTOP|" \ -+ -e "s|COQLIBDIRECTORY|$LIBDIR|" \ -+ -e "s|CAMLBINDIRECTORY|$CAMLBIN|" \ -+ -e "s|CAMLP4LIBDIRECTORY|$FULLCAMLP4LIB|"\ -+ $OCAMLDEBUGCOQ.template > $OCAMLDEBUGCOQ -+ chmod a-w,a+x $OCAMLDEBUGCOQ -+fi -+ -+#################################################### -+# Fixing lablgtk types (before/after 2.6.0) -+#################################################### -+ -+if [ ! "$COQIDE" = "no" ]; then -+ if grep "class view " "$lablgtkdir/gText.mli" | grep -q "\[>" ; then -+ if grep -q "?accepts_tab:bool" "$lablgtkdir/gText.mli" ; then -+ cp -f ide/undo_lablgtk_ge212.mli ide/undo.mli -+ else -+ cp -f ide/undo_lablgtk_ge26.mli ide/undo.mli -+ fi -+ else -+ cp -f ide/undo_lablgtk_lt26.mli ide/undo.mli -+ fi -+fi -+ -+############################################## -+# Creation of configuration files -+############################################## -+ -+mlconfig_file="$COQSRC/config/coq_config.ml" -+config_file="$COQSRC/config/Makefile" -+config_template="$COQSRC/config/Makefile.template" -+ -+ -+### Warning !! -+### After this line, be careful when using variables, -+### since some of them (e.g. $COQSRC) will be escaped -+ -+ -+# An escaped version of a variable -+escape_var () { -+"$ocamlexec" 2>&1 1>/dev/null < $mlconfig_file -+(* DO NOT EDIT THIS FILE: automatically generated by ../configure *) -+ -+let local = $local -+let coqrunbyteflags = "$COQRUNBYTEFLAGS" -+let coqlib = "$LIBDIR" -+let coqsrc = "$COQSRC" -+let ocaml = "$ocamlexec" -+let ocamlc = "$bytecamlc" -+let ocamlopt = "$nativecamlc" -+let ocamlmklib = "$ocamlmklibexec" -+let ocamldep = "$ocamldepexec" -+let ocamldoc = "$ocamldocexec" -+let ocamlyacc = "$ocamlyaccexec" -+let ocamllex = "$ocamllexexec" -+let camlbin = "$CAMLBIN" -+let camllib = "$CAMLLIB" -+let camlp4 = "$CAMLP4" -+let camlp4o = "$camlp4oexec" -+let camlp4bin = "$CAMLP4BIN" -+let camlp4lib = "$CAMLP4LIB" -+let camlp4compat = "$CAMLP4COMPAT" -+let coqideincl = "$LABLGTKINCLUDES" -+let cflags = "$cflags" -+let best = "$best_compiler" -+let arch = "$ARCH" -+let has_coqide = "$COQIDE" -+let has_natdynlink = $HASNATDYNLINK -+let natdynlinkflag = "$NATDYNLINKFLAG" -+let osdeplibs = "$OSDEPLIBS" -+let version = "$VERSION" -+let caml_version = "$CAMLVERSION" -+let date = "$DATE" -+let compile_date = "$COMPILEDATE" -+let vo_magic_number = $VOMAGIC -+let state_magic_number = $STATEMAGIC -+let exec_extension = "$EXE" -+let with_geoproof = ref $with_geoproof -+let browser = "$BROWSER" -+let wwwcoq = "$WWWCOQ" -+let wwwrefman = wwwcoq ^ "distrib/" ^ version ^ "/refman/" -+let wwwstdlib = wwwcoq ^ "distrib/" ^ version ^ "/stdlib/" -+let localwwwrefman = "file://$HTMLREFMANDIR/" -+ -+END_OF_COQ_CONFIG -+ -+# to be sure printf is found on windows when spaces occur in PATH variable -+PRINTF=`which printf` -+ -+# Subdirectories of theories/ added in coq_config.ml -+subdirs () { -+ (cd $1; find * \( -name .svn -prune \) -o \( -type d -exec $PRINTF "\"%s\";\n" {} \; \) >> "$mlconfig_file") -+} -+ -+echo "let theories_dirs = [" >> "$mlconfig_file" -+subdirs theories -+echo "]" >> "$mlconfig_file" -+ -+echo "let plugins_dirs = [" >> "$mlconfig_file" -+subdirs plugins -+echo "]" >> "$mlconfig_file" -+ -+chmod a-w "$mlconfig_file" -+ -+ -+############################################### -+# Building the $COQTOP/config/Makefile file -+############################################### -+ -+rm -f "$config_file" -+ -+sed -e "s|LOCALINSTALLATION|$local|" \ -+ -e "s|XCOQRUNBYTEFLAGS|$COQRUNBYTEFLAGS|" \ -+ -e "s|XCOQTOOLSBYTEFLAGS|$COQTOOLSBYTEFLAGS|" \ -+ -e "s|COQSRCDIRECTORY|$COQSRC|" \ -+ -e "s|COQVERSION|$VERSION|" \ -+ -e "s|BINDIRDIRECTORY|$BINDIR|" \ -+ -e "s|COQLIBDIRECTORY|$LIBDIR|" \ -+ -e "s|BUILDLDPATH=|$BUILDLDPATH|" \ -+ -e "s|MANDIRDIRECTORY|$MANDIR|" \ -+ -e "s|DOCDIRDIRECTORY|$DOCDIR|" \ -+ -e "s|EMACSLIBDIRECTORY|$EMACSLIB|" \ -+ -e "s|EMACSCOMMAND|$EMACS|" \ -+ -e "s|COQDOCDIRECTORY|$COQDOCDIR|" \ -+ -e "s|MKTEXLSRCOMMAND|$MKTEXLSR|" \ -+ -e "s|ARCHITECTURE|$ARCH|" \ -+ -e "s|OSDEPENDENTLIBS|$OSDEPLIBS|" \ -+ -e "s|OSDEPENDENTP4OPTFLAGS|$OSDEPP4OPTFLAGS|" \ -+ -e "s|CAMLLIBDIRECTORY|$CAMLLIB|" \ -+ -e "s|CAMLTAG|$CAMLTAG|" \ -+ -e "s|CAMLP4BINDIRECTORY|$CAMLP4BIN|" \ -+ -e "s|CAMLP4LIBDIRECTORY|$CAMLP4LIB|" \ -+ -e "s|CAMLP4TOOL|$camlp4oexec|" \ -+ -e "s|CAMLP4COMPATFLAGS|$CAMLP4COMPAT|" \ -+ -e "s|LABLGTKINCLUDES|$LABLGTKINCLUDES|" \ -+ -e "s|COQDEBUGFLAGOPT|$coq_debug_flag_opt|" \ -+ -e "s|COQDEBUGFLAG|$coq_debug_flag|" \ -+ -e "s|COQPROFILEFLAG|$coq_profile_flag|" \ -+ -e "s|CAMLANNOTATEFLAG|$coq_annotate_flag|" \ -+ -e "s|CCOMPILEFLAGS|$cflags|" \ -+ -e "s|BESTCOMPILER|$best_compiler|" \ -+ -e "s|DLLEXTENSION|$DLLEXT|" \ -+ -e "s|EXECUTEEXTENSION|$EXE|" \ -+ -e "s|BYTECAMLC|$bytecamlc|" \ -+ -e "s|OCAMLMKLIBEXEC|$ocamlmklibexec|" \ -+ -e "s|NATIVECAMLC|$nativecamlc|" \ -+ -e "s|OCAMLEXEC|$ocamlexec|" \ -+ -e "s|OCAMLDEPEXEC|$ocamldepexec|" \ -+ -e "s|OCAMLDOCEXEC|$ocamldocexec|" \ -+ -e "s|OCAMLLEXEXEC|$ocamllexexec|" \ -+ -e "s|OCAMLYACCEXEC|$ocamlyaccexec|" \ -+ -e "s|CAMLMKTOPEXEC|$ocamlmktopexec|" \ -+ -e "s|CCEXEC|$gcc_exec|" \ -+ -e "s|AREXEC|$ar_exec|" \ -+ -e "s|RANLIBEXEC|$ranlib_exec|" \ -+ -e "s|STRIPCOMMAND|$STRIPCOMMAND|" \ -+ -e "s|COQIDEOPT|$COQIDE|" \ -+ -e "s|CHECKEDOUTSOURCETREE|$checkedout|" \ -+ -e "s|WITHDOCOPT|$with_doc|" \ -+ -e "s|HASNATIVEDYNLINK|$NATDYNLINKFLAG|" \ -+ "$config_template" > "$config_file" -+ -+chmod a-w "$config_file" -+ -+################################################## -+# The end -+#################################################### -+ -+echo "If anything in the above is wrong, please restart './configure'." -+echo -+echo "*Warning* To compile the system for a new architecture" -+echo " don't forget to do a 'make archclean' before './configure'." -+ -+# $Id: configure 14833 2011-12-19 21:57:30Z notin $ diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 0ede4230aa6d..23f1ff85edf0 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -27,7 +27,6 @@ let "8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd"; }."${version}"; coq-version = builtins.substring 0 3 version; - camlp5 = ocamlPackages.camlp5_strict; ideFlags = if buildIde then "-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; csdpPatch = if csdp != null then '' substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp" @@ -37,8 +36,8 @@ self = stdenv.mkDerivation { name = "coq-${version}"; passthru = { - inherit coq-version camlp5; - inherit (ocamlPackages) ocaml findlib num; + inherit coq-version; + inherit (ocamlPackages) ocaml camlp5 findlib num; emacsBufferSetup = pkgs: '' ; Propagate coq paths to children (inherit-local-permanent coq-prog-name "${self}/bin/coqtop") @@ -93,7 +92,7 @@ self = stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib camlp5 ncurses ocamlPackages.num ] + buildInputs = [ ncurses ] ++ (with ocamlPackages; [ ocaml findlib camlp5 num ]) ++ stdenv.lib.optional buildIde ocamlPackages.lablgtk; postPatch = '' diff --git a/pkgs/applications/science/logic/coq/no-codesign.patch b/pkgs/applications/science/logic/coq/no-codesign.patch deleted file mode 100644 index 0f917fbf56d4..000000000000 --- a/pkgs/applications/science/logic/coq/no-codesign.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/Makefile.build b/Makefile.build -index 2963a3d..876479c 100644 ---- a/Makefile.build -+++ b/Makefile.build -@@ -101,13 +101,8 @@ BYTEFLAGS=$(CAMLDEBUG) $(USERFLAGS) - OPTFLAGS=$(CAMLDEBUGOPT) $(CAMLTIMEPROF) $(USERFLAGS) - DEPFLAGS= $(LOCALINCLUDES) -I ide -I ide/utils - --ifeq ($(ARCH),Darwin) --LINKMETADATA=-ccopt "-sectcreate __TEXT __info_plist config/Info-$(notdir $@).plist" --CODESIGN=codesign -s - --else - LINKMETADATA= - CODESIGN=true --endif - - define bestocaml - $(if $(OPT),\ - diff --git a/pkgs/applications/science/logic/matita/130312.nix b/pkgs/applications/science/logic/matita/130312.nix deleted file mode 100644 index 573b0ad7e4b5..000000000000 --- a/pkgs/applications/science/logic/matita/130312.nix +++ /dev/null @@ -1,65 +0,0 @@ -{stdenv, fetchurl, ocaml, findlib, gdome2, ocaml_expat, gmetadom, ocaml_http, lablgtk, ocaml_mysql, ocamlnet, ulex08, camlzip, ocaml_pcre, automake, autoconf }: - -let - version = "0.99.1pre130312"; - pname = "matita"; -in - -stdenv.mkDerivation { - name = "${pname}-${version}"; - - src = fetchurl { - url = "http://matita.cs.unibo.it/sources/${pname}_130312.tar.gz"; - sha256 = "13mjvvldv53dcdid6wmc6g8yn98xca26xq2rgq2jg700lqsni59s"; - }; - - sourceRoot="${pname}-${version}"; - - unpackPhase = '' - mkdir $sourceRoot - tar -xvzf $src -C $sourceRoot - echo "source root is $sourceRoot" - ''; - - prePatch = '' - autoreconf -fvi - ''; - - buildInputs = [ocaml findlib gdome2 ocaml_expat gmetadom ocaml_http lablgtk ocaml_mysql ocamlnet ulex08 camlzip ocaml_pcre automake autoconf]; - - postPatch = '' - BASH=$(type -tp bash) - substituteInPlace components/Makefile --replace "SHELL=/bin/bash" "SHELL=$BASH" - substituteInPlace matita/Makefile --replace "SHELL=/bin/bash" "SHELL=$BASH" - substituteInPlace configure --replace "ulex08" "ulex" - substituteInPlace components/METAS/meta.helm-content_pres.src --replace "ulex08" "ulex" - substituteInPlace components/content_pres/Makefile --replace "ulex08" "ulex" - substituteInPlace components/METAS/meta.helm-grafite_parser.src --replace "ulex08" "ulex" - substituteInPlace components/grafite_parser/Makefile --replace "ulex08" "ulex" - substituteInPlace configure --replace "zip" "camlzip" - substituteInPlace components/METAS/meta.helm-getter.src --replace "zip" "camlzip" - substituteInPlace components/METAS/meta.helm-xml.src --replace "zip" "camlzip" - ''; - - patches = [ ./configure_130312.patch ]; - - preConfigure = '' - # Setup for findlib. - OCAMLPATH=$(pwd)/components/METAS:$OCAMLPATH - RTDIR=$out/share/matita - export configureFlags="--with-runtime-dir=$RTDIR" - ''; - - postInstall = '' - mkdir -p $out/bin - ln -vs $RTDIR/matita $RTDIR/matitac $RTDIR/matitaclean $RTDIR/matitadep $RTDIR/matitawiki $out/bin - ''; - - meta = { - homepage = http://matita.cs.unibo.it/; - description = "Matita is an experimental, interactive theorem prover"; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = [ stdenv.lib.maintainers.roconnor ]; - broken = true; - }; -} diff --git a/pkgs/applications/science/logic/matita/Makefile.patch b/pkgs/applications/science/logic/matita/Makefile.patch deleted file mode 100644 index 64c9a13f2d07..000000000000 --- a/pkgs/applications/science/logic/matita/Makefile.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- matita-0.5.8/Makefile 2009-12-01 18:21:00.000000000 -0500 -+++ matita-0.5.8/Makefile 2010-09-16 10:33:59.665461260 -0400 -@@ -38,7 +38,7 @@ - uninstall: $(foreach d,$(SUBDIRS),rec@uninstall@$(d)) - - rec@%: -- $(MAKE) -C $(word 2, $(subst @, ,$*)) $(word 1, $(subst @, ,$*)) DESTDIR=$(shell pwd)/$(DESTDIR) -+ $(MAKE) -C $(word 2, $(subst @, ,$*)) $(word 1, $(subst @, ,$*)) - - # {{{ Distribution stuff - diff --git a/pkgs/applications/science/logic/matita/configure.patch b/pkgs/applications/science/logic/matita/configure.patch deleted file mode 100644 index 9a3bbbb13f52..000000000000 --- a/pkgs/applications/science/logic/matita/configure.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- zzz/matita-0.5.8/configure 2009-12-01 18:21:00.000000000 -0500 -+++ matita-0.5.8/configure 2010-09-07 19:57:29.732139550 -0400 -@@ -1895,6 +1895,7 @@ - # look for METAS dir - - LIBSPATH="`pwd`/components" -+OLDCAMLPATH="$OCAMLPATH" - OCAMLPATH="$LIBSPATH/METAS" - - # creating META.* -@@ -1917,7 +1918,7 @@ - gdome2 \ - http \ - lablgtk2 \ --lablgtksourceview2.gtksourceview2 \ -+lablgtk2.gtksourceview \ - lablgtkmathview \ - mysql \ - netstring \ -@@ -1951,14 +1952,14 @@ - $FINDLIB_CREQUIRES \ - lablgtk2.glade \ - lablgtkmathview \ --lablgtksourceview2.gtksourceview2 \ -+lablgtk2.gtksourceview \ - helm-xmldiff \ - " - for r in $FINDLIB_LIBSREQUIRES $FINDLIB_REQUIRES - do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $r ocaml library" >&5 - $as_echo_n "checking for $r ocaml library... " >&6; } -- if OCAMLPATH=$OCAMLPATH $OCAMLFIND query $r &> /dev/null; then -+ if OCAMLPATH=$OCAMLPATH:$OLDCAMLPATH $OCAMLFIND query $r &> /dev/null; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } - else diff --git a/pkgs/applications/science/logic/matita/configure_130312.patch b/pkgs/applications/science/logic/matita/configure_130312.patch deleted file mode 100644 index 255feec566bf..000000000000 --- a/pkgs/applications/science/logic/matita/configure_130312.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- matita/configure 2011-11-22 06:04:17.000000000 -0500 -+++ matita/configure 2011-11-24 11:43:11.584847938 -0500 -@@ -1905,6 +1905,7 @@ - # look for METAS dir - - LIBSPATH="`pwd`/components" -+OLDCAMLPATH="$OCAMLPATH" - OCAMLPATH="$LIBSPATH/METAS" - - # creating META.* -@@ -1927,7 +1928,7 @@ - gdome2 \ - http \ - lablgtk2 \ --lablgtksourceview2.gtksourceview2 \ -+lablgtk2.gtksourceview \ - mysql \ - netstring \ - ulex08 \ -@@ -1953,13 +1954,13 @@ - FINDLIB_REQUIRES="\ - $FINDLIB_CREQUIRES \ - lablgtk2.glade \ --lablgtksourceview2.gtksourceview2 \ -+lablgtk2.gtksourceview \ - " - for r in $FINDLIB_LIBSREQUIRES $FINDLIB_REQUIRES - do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $r ocaml library" >&5 - $as_echo_n "checking for $r ocaml library... " >&6; } -- if OCAMLPATH=$OCAMLPATH $OCAMLFIND query $r &> /dev/null; then -+ if OCAMLPATH=$OCAMLPATH:$OLDCAMLPATH $OCAMLFIND query $r &> /dev/null; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } - else diff --git a/pkgs/applications/science/logic/matita/default.nix b/pkgs/applications/science/logic/matita/default.nix deleted file mode 100644 index 5495f61bfd88..000000000000 --- a/pkgs/applications/science/logic/matita/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{stdenv, fetchurl, ocaml, findlib, gdome2, ocaml_expat, gmetadom, ocaml_http, lablgtk, lablgtkmathview, ocaml_mysql, ocaml_sqlite3, ocamlnet, ulex08, camlzip, ocaml_pcre }: - -let - version = "0.5.8"; - pname = "matita"; -in - -stdenv.mkDerivation { - name = "${pname}-${version}"; - - src = fetchurl { - url = "http://matita.cs.unibo.it/FILES/${pname}-${version}.orig.tar.gz"; - sha256 = "04sxklfak71khy1f07ks5c6163jbpxv6fmaw03fx8gwwlvpmzglh"; - }; - - buildInputs = [ocaml findlib gdome2 ocaml_expat gmetadom ocaml_http lablgtk lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet ulex08 camlzip ocaml_pcre ]; - - postPatch = '' - BASH=$(type -tp bash) - substituteInPlace components/Makefile --replace "SHELL=/bin/bash" "SHELL=$BASH" - substituteInPlace matita/Makefile --replace "SHELL=/bin/bash" "SHELL=$BASH" - substituteInPlace configure --replace "ulex08" "ulex" - substituteInPlace components/METAS/meta.helm-content_pres.src --replace "ulex08" "ulex" - substituteInPlace components/content_pres/Makefile --replace "ulex08" "ulex" - substituteInPlace components/METAS/meta.helm-grafite_parser.src --replace "ulex08" "ulex" - substituteInPlace components/grafite_parser/Makefile --replace "ulex08" "ulex" - substituteInPlace configure --replace "zip" "camlzip" - substituteInPlace components/METAS/meta.helm-getter.src --replace "zip" "camlzip" - substituteInPlace components/METAS/meta.helm-xml.src --replace "zip" "camlzip" - ''; - - patches = [ ./configure.patch ./Makefile.patch ]; - - preConfigure = '' - # Setup for findlib. - OCAMLPATH=$(pwd)/components/METAS:$OCAMLPATH - RTDIR=$out/share/matita - export configureFlags="--with-runtime-dir=$RTDIR" - ''; - - postInstall = '' - mkdir -p $out/bin - ln -vs $RTDIR/matita $RTDIR/matitac $RTDIR/matitaclean $RTDIR/matitadep $RTDIR/matitawiki $out/bin - ''; - - meta = { - homepage = http://matita.cs.unibo.it/; - description = "Experimental, interactive theorem prover"; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = [ stdenv.lib.maintainers.roconnor ]; - }; -} diff --git a/pkgs/applications/science/logic/prooftree/default.nix b/pkgs/applications/science/logic/prooftree/default.nix index 2d5fcfd2d261..1f6620a2872d 100644 --- a/pkgs/applications/science/logic/prooftree/default.nix +++ b/pkgs/applications/science/logic/prooftree/default.nix @@ -1,16 +1,17 @@ -{stdenv, fetchurl, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null}: +{ stdenv, fetchurl, pkgconfig, ncurses, ocamlPackages }: -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "prooftree-${version}"; - version = "0.12"; + version = "0.13"; src = fetchurl { url = "https://askra.de/software/prooftree/releases/prooftree-${version}.tar.gz"; - sha256 = "08yp66j05pdkdpv9xkfqymqy82mir5xbwfh9mkzhh219xkps4b4m"; + sha256 = "0z1z4wqbqwgppkh2bm89fgy07a0y2m6g4lvcyzs09sm1ysklk2dh"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ocaml findlib camlp5 ncurses lablgtk ]; + buildInputs = [ ncurses ] ++ (with ocamlPackages; [ + ocaml findlib camlp5 lablgtk ]); dontAddPrefix = true; configureFlags = [ "--prefix" "$(out)" ]; @@ -39,4 +40,4 @@ stdenv.mkDerivation (rec { maintainers = [ maintainers.jwiegley ]; license = licenses.gpl3; }; -}) +} diff --git a/pkgs/applications/version-management/gitaly/default.nix b/pkgs/applications/version-management/gitaly/default.nix index b7eee8926aa5..9523059b42f2 100644 --- a/pkgs/applications/version-management/gitaly/default.nix +++ b/pkgs/applications/version-management/gitaly/default.nix @@ -7,14 +7,14 @@ let gemdir = ./.; }; in buildGoPackage rec { - version = "0.120.0"; + version = "0.125.0"; name = "gitaly-${version}"; src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - sha256 = "0jsk6n1vmddpnnccr8mjvcsfjzaagqy1600q5yss6lbz896w2bx4"; + sha256 = "14a4qgpnspzw9cjqh6gbw3771bxfm789ibvmvb8jc4pklvbyl4mi"; }; goPackagePath = "gitlab.com/gitlab-org/gitaly"; @@ -27,7 +27,7 @@ in buildGoPackage rec { postInstall = '' mkdir -p $ruby - cp -rv $src/ruby/{bin,lib,vendor} $ruby + cp -rv $src/ruby/{bin,lib} $ruby ''; outputs = [ "bin" "out" "ruby" ]; diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix index 1fe8c844ebf0..16acf2a91d70 100644 --- a/pkgs/applications/version-management/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix @@ -2,18 +2,18 @@ stdenv.mkDerivation rec { name = "gitlab-workhorse-${version}"; - version = "6.1.0"; + version = "6.1.1"; srcs = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-workhorse"; rev = "v${version}"; - sha256 = "0h0mqalia4ldb2icr2h6x75pnr5jb5y23pi4kv4ri3w3ddnl74bq"; + sha256 = "1dwvk86bfsqgkp0mwz71yis3i7aypjf96r3hsjkgpd27hwbjgxbr"; }; buildInputs = [ git go ]; - patches = [ ./remove-hardcoded-paths.patch ]; + patches = [ ./remove-hardcoded-paths.patch ./deterministic-build.patch ]; makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" ]; diff --git a/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch b/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch new file mode 100644 index 000000000000..da6dc5493ac5 --- /dev/null +++ b/pkgs/applications/version-management/gitlab-workhorse/deterministic-build.patch @@ -0,0 +1,11 @@ +--- a/Makefile 2018-10-08 12:45:15.206269937 +0200 ++++ b/Makefile 2018-10-08 12:45:24.435366307 +0200 +@@ -6,7 +6,7 @@ + BIN_BUILD_DIR := $(TARGET_DIR)/bin + PKG_BUILD_DIR := $(TARGET_DIR)/src/$(PKG) + COVERAGE_DIR := $(TARGET_DIR)/cover +-VERSION := $(shell git describe)-$(shell date -u +%Y%m%d.%H%M%S) ++VERSION := 6.1.1 + GOBUILD := go build -ldflags "-X main.Version=$(VERSION)" + EXE_ALL := gitlab-zip-cat gitlab-zip-metadata gitlab-workhorse + INSTALL := install diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix index 98e2e739e0d7..c1a4392ec0ef 100644 --- a/pkgs/applications/version-management/gitlab/default.nix +++ b/pkgs/applications/version-management/gitlab/default.nix @@ -7,33 +7,33 @@ let rubyEnv = bundlerEnv { name = "gitlab-env-${version}"; inherit ruby; - gemdir = ./.; + gemdir = ./rubyEnv- + "${if gitlabEnterprise then "ee" else "ce"}"; groups = [ "default" "unicorn" "ed25519" "metrics" ]; }; - version = "11.3.0"; + version = "11.3.4"; sources = if gitlabEnterprise then { gitlabDeb = fetchurl { url = "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_${version}-ee.0_amd64.deb/download.deb"; - sha256 = "1l5cfbc45xa3gq90wyly3szn93szh162g9szc6dnkqx0db70j9l3"; + sha256 = "1cgwm6g1mij1958mdyds8f76qjw39nllsr23dvsqgf60h4vbsdfd"; }; gitlab = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-ee"; rev = "v${version}-ee"; - sha256 = "0gmainjhs21hipbvshga5dzkjrpmlkk9vxxnxgwjaqbg9wrhw47m"; + sha256 = "1ifaa879l85d4yfzrgszrgj04bfjxjh3n7v31zfb6lsqmh87xbm4"; }; } else { gitlabDeb = fetchurl { url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_${version}-ce.0_amd64.deb/download.deb"; - sha256 = "162xy8xpa2qhz10nh2dw0vbd0665pz9984vnim9i30xcafr5picq"; + sha256 = "0hls81ns9n10xrzw0b9pn1916445irqrysbicsdl8kdn83ds35p7"; }; gitlab = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-ce"; rev = "v${version}"; - sha256 = "158n2qnp1zsj5kk2w3v9xyakgdb739n955hlq3i9sl80q8f4xda3"; + sha256 = "0dymr706yn917niybg2gj1pkgrzgiirbv4ib9pkgs140kbf3hn0c"; }; }; diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile similarity index 100% rename from pkgs/applications/version-management/gitlab/Gemfile rename to pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock similarity index 100% rename from pkgs/applications/version-management/gitlab/Gemfile.lock rename to pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix similarity index 100% rename from pkgs/applications/version-management/gitlab/gemset.nix rename to pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile new file mode 100644 index 000000000000..86502db9d26e --- /dev/null +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile @@ -0,0 +1,461 @@ +# --- Special code for migrating to Rails 5.0 --- +def rails5? + %w[1 true].include?(ENV["RAILS5"]) +end + +gem_versions = {} +gem_versions['activerecord_sane_schema_dumper'] = rails5? ? '1.0' : '0.2' +gem_versions['default_value_for'] = rails5? ? '~> 3.0.5' : '~> 3.0.0' +gem_versions['rails'] = rails5? ? '5.0.7' : '4.2.10' +gem_versions['rails-i18n'] = rails5? ? '~> 5.1' : '~> 4.0.9' +# --- The end of special code for migrating to Rails 5.0 --- + +source 'https://rubygems.org' + +gem 'rails', gem_versions['rails'] +gem 'rails-deprecated_sanitizer', '~> 1.0.3' + +# Responders respond_to and respond_with +gem 'responders', '~> 2.0' + +gem 'sprockets', '~> 3.7.0' + +# Default values for AR models +gem 'default_value_for', gem_versions['default_value_for'] + +# Supported DBs +gem 'mysql2', '~> 0.4.10', group: :mysql +gem 'pg', '~> 0.18.2', group: :postgres + +gem 'rugged', '~> 0.27' +gem 'grape-path-helpers', '~> 1.0' + +gem 'faraday', '~> 0.12' + +# Authentication libraries +gem 'devise', '~> 4.4' +gem 'doorkeeper', '~> 4.3' +gem 'doorkeeper-openid_connect', '~> 1.5' +gem 'omniauth', '~> 1.8' +gem 'omniauth-auth0', '~> 2.0.0' +gem 'omniauth-azure-oauth2', '~> 0.0.9' +gem 'omniauth-cas3', '~> 1.1.4' +gem 'omniauth-facebook', '~> 4.0.0' +gem 'omniauth-github', '~> 1.3' +gem 'omniauth-gitlab', '~> 1.0.2' +gem 'omniauth-google-oauth2', '~> 0.5.3' +gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos +gem 'omniauth-oauth2-generic', '~> 0.2.2' +gem 'omniauth-saml', '~> 1.10' +gem 'omniauth-shibboleth', '~> 1.3.0' +gem 'omniauth-twitter', '~> 1.4' +gem 'omniauth_crowd', '~> 2.2.0' +gem 'omniauth-authentiq', '~> 0.3.3' +gem 'rack-oauth2', '~> 1.2.1' +gem 'jwt', '~> 1.5.6' + +# Kerberos authentication. EE-only +gem 'gssapi', group: :kerberos + +# Spam and anti-bot protection +gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails' +gem 'akismet', '~> 2.0' + +# Two-factor authentication +gem 'devise-two-factor', '~> 3.0.0' +gem 'rqrcode-rails3', '~> 0.1.7' +gem 'attr_encrypted', '~> 3.1.0' +gem 'u2f', '~> 0.2.1' + +# GitLab Pages +gem 'validates_hostname', '~> 1.0.6' + +# Browser detection +gem 'browser', '~> 2.5' + +# GPG +gem 'gpgme' + +# LDAP Auth +# GitLab fork with several improvements to original library. For full list of changes +# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master +gem 'gitlab_omniauth-ldap', '~> 2.0.4', require: 'omniauth-ldap' +gem 'net-ldap' + +# Git Wiki +# Required manually in config/initializers/gollum.rb to control load order +gem 'gitlab-gollum-lib', '~> 4.2', require: false + +gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4', require: false + +# Language detection +gem 'github-linguist', '~> 5.3.3', require: 'linguist' + +# API +gem 'grape', '~> 1.0' +gem 'grape-entity', '~> 0.7.1' +gem 'rack-cors', '~> 1.0.0', require: 'rack/cors' + +# GraphQL API +gem 'graphql', '~> 1.8.0' +gem 'graphiql-rails', '~> 1.4.10' + +# Disable strong_params so that Mash does not respond to :permitted? +gem 'hashie-forbidden_attributes' + +# Pagination +gem 'kaminari', '~> 1.0' + +# HAML +gem 'hamlit', '~> 2.8.8' + +# Files attachments +# Locked until https://github.com/carrierwaveuploader/carrierwave/pull/2332/files is merged. +# config/initializers/carrierwave_patch.rb can be removed once that change is released. +gem 'carrierwave', '= 1.2.3' +gem 'mini_magick' + +# Drag and Drop UI +gem 'dropzonejs-rails', '~> 0.7.1' + +# for backups +gem 'fog-aws', '~> 2.0.1' +gem 'fog-core', '~> 1.44' +gem 'fog-google', '~> 1.7.1' +gem 'fog-local', '~> 0.3' +gem 'fog-openstack', '~> 0.1' +gem 'fog-rackspace', '~> 0.1.1' +gem 'fog-aliyun', '~> 0.2.0' + +# for Google storage +gem 'google-api-client', '~> 0.23' + +# for aws storage +gem 'unf', '~> 0.1.4' + +# Seed data +gem 'seed-fu', '~> 2.3.7' + +# Search +gem 'elasticsearch-model', '~> 0.1.9' +gem 'elasticsearch-rails', '~> 0.1.9' +gem 'elasticsearch-api', '5.0.3' +gem 'aws-sdk' +gem 'faraday_middleware-aws-signers-v4' + +# Markdown and HTML processing +gem 'html-pipeline', '~> 2.8' +gem 'deckar01-task_list', '2.0.0' +gem 'gitlab-markup', '~> 1.6.4' +gem 'redcarpet', '~> 3.4' +gem 'commonmarker', '~> 0.17' +gem 'RedCloth', '~> 4.3.2' +gem 'rdoc', '~> 6.0' +gem 'org-ruby', '~> 0.9.12' +gem 'creole', '~> 0.5.0' +gem 'wikicloth', '0.8.1' +gem 'asciidoctor', '~> 1.5.6' +gem 'asciidoctor-plantuml', '0.0.8' +gem 'rouge', '~> 3.1' +gem 'truncato', '~> 0.7.9' +gem 'bootstrap_form', '~> 2.7.0' +gem 'nokogiri', '~> 1.8.2' + +# Calendar rendering +gem 'icalendar' + +# Diffs +gem 'diffy', '~> 3.1.0' + +# Application server +group :unicorn do + gem 'unicorn', '~> 5.1.0' + gem 'unicorn-worker-killer', '~> 0.4.4' +end + +# State machine +gem 'state_machines-activerecord', '~> 0.5.1' + +# Issue tags +gem 'acts-as-taggable-on', '~> 5.0' + +# Background jobs +gem 'sidekiq', '~> 5.1' +gem 'sidekiq-cron', '~> 0.6.0' +gem 'redis-namespace', '~> 1.6.0' +gem 'sidekiq-limit_fetch', '~> 3.4', require: false + +# Cron Parser +gem 'rufus-scheduler', '~> 3.4' + +# HTTP requests +gem 'httparty', '~> 0.13.3' + +# Colored output to console +gem 'rainbow', '~> 3.0' + +# Progress bar +gem 'ruby-progressbar' + +# GitLab settings +gem 'settingslogic', '~> 2.0.9' + +# Linear-time regex library for untrusted regular expressions +gem 're2', '~> 1.1.1' + +# Misc + +gem 'version_sorter', '~> 2.1.0' + +# Export Ruby Regex to Javascript +gem 'js_regex', '~> 2.2.1' + +# User agent parsing +gem 'device_detector' + +# Cache +gem 'redis-rails', '~> 5.0.2' + +# Redis +gem 'redis', '~> 3.2' +gem 'connection_pool', '~> 2.0' + +# HipChat integration +gem 'hipchat', '~> 1.5.0' + +# JIRA integration +gem 'jira-ruby', '~> 1.4' + +# Flowdock integration +gem 'gitlab-flowdock-git-hook', '~> 1.0.1' + +# Slack integration +gem 'slack-notifier', '~> 1.5.1' + +# Hangouts Chat integration +gem 'hangouts-chat', '~> 0.0.5' + +# Asana integration +gem 'asana', '~> 0.6.0' + +# FogBugz integration +gem 'ruby-fogbugz', '~> 0.2.1' + +# Kubernetes integration +gem 'kubeclient', '~> 3.1.0' + +# Sanitize user input +gem 'sanitize', '~> 4.6' +gem 'babosa', '~> 1.0.2' + +# Sanitizes SVG input +gem 'loofah', '~> 2.2' + +# Working with license +gem 'licensee', '~> 8.9' + +# Protect against bruteforcing +gem 'rack-attack', '~> 4.4.1' + +# Ace editor +gem 'ace-rails-ap', '~> 4.1.0' + +# Keyboard shortcuts +gem 'mousetrap-rails', '~> 1.4.6' + +# Detect and convert string character encoding +gem 'charlock_holmes', '~> 0.7.5' + +# Faster blank +gem 'fast_blank' + +# Parse time & duration +gem 'chronic', '~> 0.10.2' +gem 'chronic_duration', '~> 0.10.6' + +gem 'webpack-rails', '~> 0.9.10' +gem 'rack-proxy', '~> 0.6.0' + +gem 'sass-rails', '~> 5.0.6' +gem 'uglifier', '~> 2.7.2' + +gem 'addressable', '~> 2.5.2' +gem 'font-awesome-rails', '~> 4.7' +gem 'gemojione', '~> 3.3' +gem 'gon', '~> 6.2' +gem 'jquery-atwho-rails', '~> 1.3.2' +gem 'request_store', '~> 1.3' +gem 'select2-rails', '~> 3.5.9' +gem 'virtus', '~> 1.0.1' +gem 'base32', '~> 0.3.0' + +gem "gitlab-license", "~> 1.0" + +# Sentry integration +gem 'sentry-raven', '~> 2.7' + +gem 'premailer-rails', '~> 1.9.7' + +# I18n +gem 'ruby_parser', '~> 3.8', require: false +gem 'rails-i18n', gem_versions['rails-i18n'] +gem 'gettext_i18n_rails', '~> 1.8.0' +gem 'gettext_i18n_rails_js', '~> 1.3' +gem 'gettext', '~> 3.2.2', require: false, group: :development + +gem 'batch-loader', '~> 1.2.1' + +# Perf bar +gem 'peek', '~> 1.0.1' +gem 'peek-gc', '~> 0.0.2' +gem 'peek-mysql2', '~> 1.1.0', group: :mysql +gem 'peek-pg', '~> 1.3.0', group: :postgres +gem 'peek-rblineprof', '~> 0.2.0' +gem 'peek-redis', '~> 1.2.0' +gem 'peek-sidekiq', '~> 1.0.3' + +# Metrics +group :metrics do + gem 'method_source', '~> 0.8', require: false + gem 'influxdb', '~> 0.2', require: false + + # Prometheus + gem 'prometheus-client-mmap', '~> 0.9.4' + gem 'raindrops', '~> 0.18' +end + +group :development do + gem 'foreman', '~> 0.84.0' + gem 'brakeman', '~> 4.2', require: false + + gem 'letter_opener_web', '~> 1.3.0' + gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false + + # Better errors handler + gem 'better_errors', '~> 2.1.0' + gem 'binding_of_caller', '~> 0.7.2' + + # thin instead webrick + gem 'thin', '~> 1.7.0' +end + +group :development, :test do + gem 'bootsnap', '~> 1.3' + gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET'] + gem 'pry-byebug', '~> 3.4.1', platform: :mri + gem 'pry-rails', '~> 0.3.4' + + gem 'awesome_print', require: false + gem 'fuubar', '~> 2.2.0' + + gem 'database_cleaner', '~> 1.5.0' + gem 'factory_bot_rails', '~> 4.8.2' + gem 'rspec-rails', '~> 3.7.0' + gem 'rspec-retry', '~> 0.4.5' + gem 'rspec_profiling', '~> 0.0.5' + gem 'rspec-set', '~> 0.1.3' + gem 'rspec-parameterized', require: false + + # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) + gem 'minitest', '~> 5.7.0' + + # Generate Fake data + gem 'ffaker', '~> 2.4' + + gem 'capybara', '~> 2.15' + gem 'capybara-screenshot', '~> 1.0.0' + gem 'selenium-webdriver', '~> 3.12' + + gem 'spring', '~> 2.0.0' + gem 'spring-commands-rspec', '~> 1.0.4' + + gem 'gitlab-styles', '~> 2.4', require: false + # Pin these dependencies, otherwise a new rule could break the CI pipelines + gem 'rubocop', '~> 0.54.0' + gem 'rubocop-rspec', '~> 1.22.1' + + gem 'scss_lint', '~> 0.56.0', require: false + gem 'haml_lint', '~> 0.26.0', require: false + gem 'simplecov', '~> 0.14.0', require: false + gem 'bundler-audit', '~> 0.5.0', require: false + + gem 'benchmark-ips', '~> 2.3.0', require: false + + gem 'license_finder', '~> 5.4', require: false + gem 'knapsack', '~> 1.16' + + gem 'activerecord_sane_schema_dumper', gem_versions['activerecord_sane_schema_dumper'] + + gem 'stackprof', '~> 0.2.10', require: false + + gem 'simple_po_parser', '~> 1.1.2', require: false + + gem 'timecop', '~> 0.8.0' +end + +group :test do + gem 'shoulda-matchers', '~> 3.1.2', require: false + gem 'email_spec', '~> 2.2.0' + gem 'json-schema', '~> 2.8.0' + gem 'webmock', '~> 2.3.2' + gem 'rails-controller-testing' if rails5? # Rails5 only gem. + gem 'test_after_commit', '~> 1.1' unless rails5? # Remove this gem when migrated to rails 5.0. It's been integrated to rails 5.0. + gem 'sham_rack', '~> 1.3.6' + gem 'concurrent-ruby', '~> 1.0.5' + gem 'test-prof', '~> 0.2.5' + gem 'rspec_junit_formatter' +end + +gem 'octokit', '~> 4.9' + +gem 'mail_room', '~> 0.9.1' + +gem 'email_reply_trimmer', '~> 0.1' +gem 'html2text' + +gem 'ruby-prof', '~> 0.17.0' +gem 'rbtrace', '~> 0.4', require: false + +# OAuth +gem 'oauth2', '~> 1.4' + +# Health check +gem 'health_check', '~> 2.6.0' + +# System information +gem 'vmstat', '~> 2.3.0' +gem 'sys-filesystem', '~> 1.1.6' + +# NTP client +gem 'net-ntp' + +# SSH host key support +gem 'net-ssh', '~> 5.0' +gem 'sshkey', '~> 1.9.0' + +# Required for ED25519 SSH host key support +group :ed25519 do + gem 'ed25519', '~> 1.2' + gem 'bcrypt_pbkdf', '~> 1.0' +end + +# Gitaly GRPC client +gem 'gitaly-proto', '~> 0.117.0', require: 'gitaly' +gem 'grpc', '~> 1.11.0' + +# Locked until https://github.com/google/protobuf/issues/4210 is closed +gem 'google-protobuf', '= 3.5.1' + +gem 'toml-rb', '~> 1.0.0', require: false + +# Feature toggles +gem 'flipper', '~> 0.13.0' +gem 'flipper-active_record', '~> 0.13.0' +gem 'flipper-active_support_cache_store', '~> 0.13.0' + +# Structured logging +gem 'lograge', '~> 0.5' +gem 'grape_logging', '~> 1.7' + +# Asset synchronization +gem 'asset_sync', '~> 2.4' diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock new file mode 100644 index 000000000000..d7c4f80efd15 --- /dev/null +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock @@ -0,0 +1,1239 @@ +GEM + remote: https://rubygems.org/ + specs: + RedCloth (4.3.2) + abstract_type (0.0.7) + ace-rails-ap (4.1.2) + actionmailer (4.2.10) + actionpack (= 4.2.10) + actionview (= 4.2.10) + activejob (= 4.2.10) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 1.0, >= 1.0.5) + actionpack (4.2.10) + actionview (= 4.2.10) + activesupport (= 4.2.10) + rack (~> 1.6) + rack-test (~> 0.6.2) + rails-dom-testing (~> 1.0, >= 1.0.5) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (4.2.10) + activesupport (= 4.2.10) + builder (~> 3.1) + erubis (~> 2.7.0) + rails-dom-testing (~> 1.0, >= 1.0.5) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (4.2.10) + activesupport (= 4.2.10) + globalid (>= 0.3.0) + activemodel (4.2.10) + activesupport (= 4.2.10) + builder (~> 3.1) + activerecord (4.2.10) + activemodel (= 4.2.10) + activesupport (= 4.2.10) + arel (~> 6.0) + activerecord_sane_schema_dumper (0.2) + rails (>= 4, < 5) + activesupport (4.2.10) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + acts-as-taggable-on (5.0.0) + activerecord (>= 4.2.8) + adamantium (0.2.0) + ice_nine (~> 0.11.0) + memoizable (~> 0.4.0) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + aes_key_wrap (1.0.1) + akismet (2.0.0) + arel (6.0.4) + asana (0.6.0) + faraday (~> 0.9) + faraday_middleware (~> 0.9) + faraday_middleware-multi_json (~> 0.0) + oauth2 (~> 1.0) + asciidoctor (1.5.6.2) + asciidoctor-plantuml (0.0.8) + asciidoctor (~> 1.5) + asset_sync (2.4.0) + activemodel (>= 4.1.0) + fog-core + mime-types (>= 2.99) + unf + ast (2.4.0) + atomic (1.1.99) + attr_encrypted (3.1.0) + encryptor (~> 3.0.0) + attr_required (1.0.0) + awesome_print (1.8.0) + aws-sdk (2.9.32) + aws-sdk-resources (= 2.9.32) + aws-sdk-core (2.9.32) + aws-sigv4 (~> 1.0) + jmespath (~> 1.0) + aws-sdk-resources (2.9.32) + aws-sdk-core (= 2.9.32) + aws-sigv4 (1.0.0) + axiom-types (0.1.1) + descendants_tracker (~> 0.0.4) + ice_nine (~> 0.11.0) + thread_safe (~> 0.3, >= 0.3.1) + babosa (1.0.2) + base32 (0.3.2) + batch-loader (1.2.1) + bcrypt (3.1.12) + bcrypt_pbkdf (1.0.0) + benchmark-ips (2.3.0) + better_errors (2.1.1) + coderay (>= 1.0.0) + erubis (>= 2.6.6) + rack (>= 0.9.0) + bindata (2.4.3) + binding_of_caller (0.7.2) + debug_inspector (>= 0.0.1) + bootsnap (1.3.1) + msgpack (~> 1.0) + bootstrap_form (2.7.0) + brakeman (4.2.1) + browser (2.5.3) + builder (3.2.3) + bullet (5.5.1) + activesupport (>= 3.0.0) + uniform_notifier (~> 1.10.0) + bundler-audit (0.5.0) + bundler (~> 1.2) + thor (~> 0.18) + byebug (9.0.6) + capybara (2.15.1) + addressable + mini_mime (>= 0.1.3) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + xpath (~> 2.0) + capybara-screenshot (1.0.14) + capybara (>= 1.0, < 3) + launchy + carrierwave (1.2.3) + activemodel (>= 4.0.0) + activesupport (>= 4.0.0) + mime-types (>= 1.16) + cause (0.1) + charlock_holmes (0.7.6) + childprocess (0.9.0) + ffi (~> 1.0, >= 1.0.11) + chronic (0.10.2) + chronic_duration (0.10.6) + numerizer (~> 0.1.1) + chunky_png (1.3.5) + citrus (3.0.2) + coderay (1.1.2) + coercible (1.0.0) + descendants_tracker (~> 0.0.1) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concord (0.1.5) + adamantium (~> 0.2.0) + equalizer (~> 0.0.9) + concurrent-ruby (1.0.5) + concurrent-ruby-ext (1.0.5) + concurrent-ruby (= 1.0.5) + connection_pool (2.2.1) + crack (0.4.3) + safe_yaml (~> 1.0.0) + crass (1.0.4) + creole (0.5.0) + css_parser (1.5.0) + addressable + daemons (1.2.3) + database_cleaner (1.5.3) + debug_inspector (0.0.2) + debugger-ruby_core_source (1.3.8) + deckar01-task_list (2.0.0) + html-pipeline + declarative (0.0.10) + declarative-option (0.1.0) + default_value_for (3.0.2) + activerecord (>= 3.2.0, < 5.1) + descendants_tracker (0.0.4) + thread_safe (~> 0.3, >= 0.3.1) + device_detector (1.0.0) + devise (4.4.3) + bcrypt (~> 3.0) + orm_adapter (~> 0.1) + railties (>= 4.1.0, < 6.0) + responders + warden (~> 1.2.3) + devise-two-factor (3.0.0) + activesupport + attr_encrypted (>= 1.3, < 4, != 2) + devise (~> 4.0) + railties + rotp (~> 2.0) + diff-lcs (1.3) + diffy (3.1.0) + docile (1.1.5) + domain_name (0.5.20180417) + unf (>= 0.0.5, < 1.0.0) + doorkeeper (4.3.2) + railties (>= 4.2) + doorkeeper-openid_connect (1.5.0) + doorkeeper (~> 4.3) + json-jwt (~> 1.6) + dropzonejs-rails (0.7.2) + rails (> 3.1) + ed25519 (1.2.4) + elasticsearch (5.0.3) + elasticsearch-api (= 5.0.3) + elasticsearch-transport (= 5.0.3) + elasticsearch-api (5.0.3) + multi_json + elasticsearch-model (0.1.9) + activesupport (> 3) + elasticsearch (> 0.4) + hashie + elasticsearch-rails (0.1.9) + elasticsearch-transport (5.0.3) + faraday + multi_json + email_reply_trimmer (0.1.6) + email_spec (2.2.0) + htmlentities (~> 4.3.3) + launchy (~> 2.1) + mail (~> 2.7) + encryptor (3.0.0) + equalizer (0.0.11) + erubis (2.7.0) + escape_utils (1.1.1) + et-orbi (1.0.3) + tzinfo + eventmachine (1.0.8) + excon (0.62.0) + execjs (2.6.0) + expression_parser (0.9.0) + factory_bot (4.8.2) + activesupport (>= 3.0.0) + factory_bot_rails (4.8.2) + factory_bot (~> 4.8.2) + railties (>= 3.0.0) + faraday (0.12.2) + multipart-post (>= 1.2, < 3) + faraday_middleware (0.12.2) + faraday (>= 0.7.4, < 1.0) + faraday_middleware-aws-signers-v4 (0.1.7) + aws-sdk-resources (~> 2) + faraday (~> 0.9) + faraday_middleware-multi_json (0.0.6) + faraday_middleware + multi_json + fast_blank (1.0.0) + fast_gettext (1.6.0) + ffaker (2.4.0) + ffi (1.9.25) + flipper (0.13.0) + flipper-active_record (0.13.0) + activerecord (>= 3.2, < 6) + flipper (~> 0.13.0) + flipper-active_support_cache_store (0.13.0) + activesupport (>= 3.2, < 6) + flipper (~> 0.13.0) + flowdock (0.7.1) + httparty (~> 0.7) + multi_json + fog-aliyun (0.2.0) + fog-core (~> 1.27) + fog-json (~> 1.0) + ipaddress (~> 0.8) + xml-simple (~> 1.1) + fog-aws (2.0.1) + fog-core (~> 1.38) + fog-json (~> 1.0) + fog-xml (~> 0.1) + ipaddress (~> 0.8) + fog-core (1.45.0) + builder + excon (~> 0.58) + formatador (~> 0.2) + fog-google (1.7.1) + fog-core + fog-json + fog-xml + google-api-client (~> 0.23.0) + fog-json (1.0.2) + fog-core (~> 1.0) + multi_json (~> 1.10) + fog-local (0.3.1) + fog-core (~> 1.27) + fog-openstack (0.1.21) + fog-core (>= 1.40) + fog-json (>= 1.0) + ipaddress (>= 0.8) + fog-rackspace (0.1.1) + fog-core (>= 1.35) + fog-json (>= 1.0) + fog-xml (>= 0.1) + ipaddress (>= 0.8) + fog-xml (0.1.3) + fog-core + nokogiri (>= 1.5.11, < 2.0.0) + font-awesome-rails (4.7.0.1) + railties (>= 3.2, < 5.1) + foreman (0.84.0) + thor (~> 0.19.1) + formatador (0.2.5) + fuubar (2.2.0) + rspec-core (~> 3.0) + ruby-progressbar (~> 1.4) + gemojione (3.3.0) + json + get_process_mem (0.2.0) + gettext (3.2.9) + locale (>= 2.0.5) + text (>= 1.3.0) + gettext_i18n_rails (1.8.0) + fast_gettext (>= 0.9.0) + gettext_i18n_rails_js (1.3.0) + gettext (>= 3.0.2) + gettext_i18n_rails (>= 0.7.1) + po_to_json (>= 1.0.0) + rails (>= 3.2.0) + gitaly-proto (0.117.0) + google-protobuf (~> 3.1) + grpc (~> 1.10) + github-linguist (5.3.3) + charlock_holmes (~> 0.7.5) + escape_utils (~> 1.1.0) + mime-types (>= 1.19) + rugged (>= 0.25.1) + github-markup (1.7.0) + gitlab-flowdock-git-hook (1.0.1) + flowdock (~> 0.7) + gitlab-grit (>= 2.4.1) + multi_json + gitlab-gollum-lib (4.2.7.5) + gemojione (~> 3.2) + github-markup (~> 1.6) + gollum-grit_adapter (~> 1.0) + nokogiri (>= 1.6.1, < 2.0) + rouge (~> 3.1) + sanitize (~> 4.6.4) + stringex (~> 2.6) + gitlab-gollum-rugged_adapter (0.4.4.1) + mime-types (>= 1.15) + rugged (~> 0.25) + gitlab-grit (2.8.2) + charlock_holmes (~> 0.6) + diff-lcs (~> 1.1) + mime-types (>= 1.16) + posix-spawn (~> 0.3) + gitlab-license (1.0.0) + gitlab-markup (1.6.4) + gitlab-styles (2.4.1) + rubocop (~> 0.54.0) + rubocop-gitlab-security (~> 0.1.0) + rubocop-rspec (~> 1.19) + gitlab_omniauth-ldap (2.0.4) + net-ldap (~> 0.16) + omniauth (~> 1.3) + pyu-ruby-sasl (>= 0.0.3.3, < 0.1) + rubyntlm (~> 0.5) + globalid (0.4.1) + activesupport (>= 4.2.0) + gollum-grit_adapter (1.0.1) + gitlab-grit (~> 2.7, >= 2.7.1) + gon (6.2.0) + actionpack (>= 3.0) + multi_json + request_store (>= 1.0) + google-api-client (0.23.4) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.5, < 0.7.0) + httpclient (>= 2.8.1, < 3.0) + mime-types (~> 3.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.0) + google-protobuf (3.5.1) + googleapis-common-protos-types (1.0.1) + google-protobuf (~> 3.0) + googleauth (0.6.2) + faraday (~> 0.12) + jwt (>= 1.4, < 3.0) + logging (~> 2.0) + memoist (~> 0.12) + multi_json (~> 1.11) + os (~> 0.9) + signet (~> 0.7) + gpgme (2.0.13) + mini_portile2 (~> 2.1) + grape (1.0.3) + activesupport + builder + mustermann-grape (~> 1.0.0) + rack (>= 1.3.0) + rack-accept + virtus (>= 1.0.0) + grape-entity (0.7.1) + activesupport (>= 4.0) + multi_json (>= 1.3.2) + grape-path-helpers (1.0.6) + activesupport (>= 4, < 5.1) + grape (~> 1.0) + rake (~> 12) + grape_logging (1.7.0) + grape + graphiql-rails (1.4.10) + railties + sprockets-rails + graphql (1.8.1) + grpc (1.11.0) + google-protobuf (~> 3.1) + googleapis-common-protos-types (~> 1.0.0) + googleauth (>= 0.5.1, < 0.7) + gssapi (1.2.0) + ffi (>= 1.0.1) + haml (5.0.4) + temple (>= 0.8.0) + tilt + haml_lint (0.26.0) + haml (>= 4.0, < 5.1) + rainbow + rake (>= 10, < 13) + rubocop (>= 0.49.0) + sysexits (~> 1.1) + hamlit (2.8.8) + temple (>= 0.8.0) + thor + tilt + hangouts-chat (0.0.5) + hashdiff (0.3.4) + hashie (3.5.7) + hashie-forbidden_attributes (0.1.1) + hashie (>= 3.0) + health_check (2.6.0) + rails (>= 4.0) + hipchat (1.5.2) + httparty + mimemagic + html-pipeline (2.8.4) + activesupport (>= 2) + nokogiri (>= 1.4) + html2text (0.2.0) + nokogiri (~> 1.6) + htmlentities (4.3.4) + http (2.2.2) + addressable (~> 2.3) + http-cookie (~> 1.0) + http-form_data (~> 1.0.1) + http_parser.rb (~> 0.6.0) + http-cookie (1.0.3) + domain_name (~> 0.5) + http-form_data (1.0.3) + http_parser.rb (0.6.0) + httparty (0.13.7) + json (~> 1.8) + multi_xml (>= 0.5.2) + httpclient (2.8.3) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + icalendar (2.4.1) + ice_nine (0.11.2) + influxdb (0.2.3) + cause + json + ipaddress (0.8.3) + jira-ruby (1.4.1) + activesupport + multipart-post + oauth (~> 0.5, >= 0.5.0) + jmespath (1.3.1) + jquery-atwho-rails (1.3.2) + js_regex (2.2.1) + regexp_parser (>= 0.4.11, <= 0.5.0) + json (1.8.6) + json-jwt (1.9.4) + activesupport + aes_key_wrap + bindata + json-schema (2.8.0) + addressable (>= 2.4) + jwt (1.5.6) + kaminari (1.0.1) + activesupport (>= 4.1.0) + kaminari-actionview (= 1.0.1) + kaminari-activerecord (= 1.0.1) + kaminari-core (= 1.0.1) + kaminari-actionview (1.0.1) + actionview + kaminari-core (= 1.0.1) + kaminari-activerecord (1.0.1) + activerecord + kaminari-core (= 1.0.1) + kaminari-core (1.0.1) + kgio (2.10.0) + knapsack (1.16.0) + rake + kubeclient (3.1.0) + http (~> 2.2.2) + recursive-open-struct (~> 1.0, >= 1.0.4) + rest-client (~> 2.0) + launchy (2.4.3) + addressable (~> 2.3) + letter_opener (1.4.1) + launchy (~> 2.2) + letter_opener_web (1.3.0) + actionmailer (>= 3.2) + letter_opener (~> 1.0) + railties (>= 3.2) + license_finder (5.4.0) + bundler + rubyzip + thor + toml (= 0.2.0) + with_env (= 1.1.0) + xml-simple + licensee (8.9.2) + rugged (~> 0.24) + little-plugger (1.1.4) + locale (2.1.2) + logging (2.2.2) + little-plugger (~> 1.1) + multi_json (~> 1.10) + lograge (0.10.0) + actionpack (>= 4) + activesupport (>= 4) + railties (>= 4) + request_store (~> 1.0) + loofah (2.2.2) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.0) + mini_mime (>= 0.1.1) + mail_room (0.9.1) + memoist (0.16.0) + memoizable (0.4.2) + thread_safe (~> 0.3, >= 0.3.1) + method_source (0.9.0) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mimemagic (0.3.0) + mini_magick (4.8.0) + mini_mime (1.0.0) + mini_portile2 (2.3.0) + minitest (5.7.0) + mousetrap-rails (1.4.6) + msgpack (1.2.4) + multi_json (1.13.1) + multi_xml (0.6.0) + multipart-post (2.0.0) + mustermann (1.0.2) + mustermann-grape (1.0.0) + mustermann (~> 1.0.0) + mysql2 (0.4.10) + net-ldap (0.16.0) + net-ntp (2.1.3) + net-ssh (5.0.1) + netrc (0.11.0) + nokogiri (1.8.4) + mini_portile2 (~> 2.3.0) + nokogumbo (1.5.0) + nokogiri + numerizer (0.1.1) + oauth (0.5.4) + oauth2 (1.4.0) + faraday (>= 0.8, < 0.13) + jwt (~> 1.0) + multi_json (~> 1.3) + multi_xml (~> 0.5) + rack (>= 1.2, < 3) + octokit (4.9.0) + sawyer (~> 0.8.0, >= 0.5.3) + omniauth (1.8.1) + hashie (>= 3.4.6, < 3.6.0) + rack (>= 1.6.2, < 3) + omniauth-auth0 (2.0.0) + omniauth-oauth2 (~> 1.4) + omniauth-authentiq (0.3.3) + jwt (>= 1.5) + omniauth-oauth2 (>= 1.5) + omniauth-azure-oauth2 (0.0.9) + jwt (~> 1.0) + omniauth (~> 1.0) + omniauth-oauth2 (~> 1.4) + omniauth-cas3 (1.1.4) + addressable (~> 2.3) + nokogiri (~> 1.7, >= 1.7.1) + omniauth (~> 1.2) + omniauth-facebook (4.0.0) + omniauth-oauth2 (~> 1.2) + omniauth-github (1.3.0) + omniauth (~> 1.5) + omniauth-oauth2 (>= 1.4.0, < 2.0) + omniauth-gitlab (1.0.3) + omniauth (~> 1.0) + omniauth-oauth2 (~> 1.0) + omniauth-google-oauth2 (0.5.3) + jwt (>= 1.5) + omniauth (>= 1.1.1) + omniauth-oauth2 (>= 1.5) + omniauth-kerberos (0.3.0) + omniauth-multipassword + timfel-krb5-auth (~> 0.8) + omniauth-multipassword (0.4.2) + omniauth (~> 1.0) + omniauth-oauth (1.1.0) + oauth + omniauth (~> 1.0) + omniauth-oauth2 (1.5.0) + oauth2 (~> 1.1) + omniauth (~> 1.2) + omniauth-oauth2-generic (0.2.2) + omniauth-oauth2 (~> 1.0) + omniauth-saml (1.10.0) + omniauth (~> 1.3, >= 1.3.2) + ruby-saml (~> 1.7) + omniauth-shibboleth (1.3.0) + omniauth (>= 1.0.0) + omniauth-twitter (1.4.0) + omniauth-oauth (~> 1.1) + rack + omniauth_crowd (2.2.3) + activesupport + nokogiri (>= 1.4.4) + omniauth (~> 1.0) + org-ruby (0.9.12) + rubypants (~> 0.2) + orm_adapter (0.5.0) + os (0.9.6) + parallel (1.12.1) + parser (2.5.1.0) + ast (~> 2.4.0) + parslet (1.8.2) + peek (1.0.1) + concurrent-ruby (>= 0.9.0) + concurrent-ruby-ext (>= 0.9.0) + railties (>= 4.0.0) + peek-gc (0.0.2) + peek + peek-mysql2 (1.1.0) + atomic (>= 1.0.0) + mysql2 + peek + peek-pg (1.3.0) + concurrent-ruby + concurrent-ruby-ext + peek + pg + peek-rblineprof (0.2.0) + peek + rblineprof + peek-redis (1.2.0) + atomic (>= 1.0.0) + peek + redis + peek-sidekiq (1.0.3) + atomic (>= 1.0.0) + peek + sidekiq + pg (0.18.4) + po_to_json (1.0.1) + json (>= 1.6.0) + posix-spawn (0.3.13) + powerpack (0.1.1) + premailer (1.10.4) + addressable + css_parser (>= 1.4.10) + htmlentities (>= 4.0.0) + premailer-rails (1.9.7) + actionmailer (>= 3, < 6) + premailer (~> 1.7, >= 1.7.9) + proc_to_ast (0.1.0) + coderay + parser + unparser + procto (0.0.3) + prometheus-client-mmap (0.9.4) + pry (0.11.3) + coderay (~> 1.1.0) + method_source (~> 0.9.0) + pry-byebug (3.4.3) + byebug (>= 9.0, < 9.1) + pry (~> 0.10) + pry-rails (0.3.5) + pry (>= 0.9.10) + public_suffix (3.0.2) + pyu-ruby-sasl (0.0.3.3) + rack (1.6.10) + rack-accept (0.4.5) + rack (>= 0.4) + rack-attack (4.4.1) + rack + rack-cors (1.0.2) + rack-oauth2 (1.2.3) + activesupport (>= 2.3) + attr_required (>= 0.0.5) + httpclient (>= 2.4) + multi_json (>= 1.3.6) + rack (>= 1.1) + rack-protection (2.0.1) + rack + rack-proxy (0.6.0) + rack + rack-test (0.6.3) + rack (>= 1.0) + rails (4.2.10) + actionmailer (= 4.2.10) + actionpack (= 4.2.10) + actionview (= 4.2.10) + activejob (= 4.2.10) + activemodel (= 4.2.10) + activerecord (= 4.2.10) + activesupport (= 4.2.10) + bundler (>= 1.3.0, < 2.0) + railties (= 4.2.10) + sprockets-rails + rails-deprecated_sanitizer (1.0.3) + activesupport (>= 4.2.0.alpha) + rails-dom-testing (1.0.9) + activesupport (>= 4.2.0, < 5.0) + nokogiri (~> 1.6) + rails-deprecated_sanitizer (>= 1.0.1) + rails-html-sanitizer (1.0.4) + loofah (~> 2.2, >= 2.2.2) + rails-i18n (4.0.9) + i18n (~> 0.7) + railties (~> 4.0) + railties (4.2.10) + actionpack (= 4.2.10) + activesupport (= 4.2.10) + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rainbow (3.0.0) + raindrops (0.18.0) + rake (12.3.1) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + rblineprof (0.3.6) + debugger-ruby_core_source (~> 1.3) + rbtrace (0.4.10) + ffi (>= 1.0.6) + msgpack (>= 0.4.3) + trollop (>= 1.16.2) + rdoc (6.0.4) + re2 (1.1.1) + recaptcha (3.0.0) + json + recursive-open-struct (1.1.0) + redcarpet (3.4.0) + redis (3.3.5) + redis-actionpack (5.0.2) + actionpack (>= 4.0, < 6) + redis-rack (>= 1, < 3) + redis-store (>= 1.1.0, < 2) + redis-activesupport (5.0.4) + activesupport (>= 3, < 6) + redis-store (>= 1.3, < 2) + redis-namespace (1.6.0) + redis (>= 3.0.4) + redis-rack (2.0.4) + rack (>= 1.5, < 3) + redis-store (>= 1.2, < 2) + redis-rails (5.0.2) + redis-actionpack (>= 5.0, < 6) + redis-activesupport (>= 5.0, < 6) + redis-store (>= 1.2, < 2) + redis-store (1.4.1) + redis (>= 2.2, < 5) + regexp_parser (0.5.0) + representable (3.0.4) + declarative (< 0.1.0) + declarative-option (< 0.2.0) + uber (< 0.2.0) + request_store (1.3.1) + responders (2.4.0) + actionpack (>= 4.2.0, < 5.3) + railties (>= 4.2.0, < 5.3) + rest-client (2.0.2) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) + retriable (3.1.2) + rinku (2.0.0) + rotp (2.1.2) + rouge (3.2.1) + rqrcode (0.7.0) + chunky_png + rqrcode-rails3 (0.1.7) + rqrcode (>= 0.4.2) + rspec (3.7.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-core (3.7.1) + rspec-support (~> 3.7.0) + rspec-expectations (3.7.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.7.0) + rspec-mocks (3.7.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.7.0) + rspec-parameterized (0.4.0) + binding_of_caller + parser + proc_to_ast + rspec (>= 2.13, < 4) + unparser + rspec-rails (3.7.2) + actionpack (>= 3.0) + activesupport (>= 3.0) + railties (>= 3.0) + rspec-core (~> 3.7.0) + rspec-expectations (~> 3.7.0) + rspec-mocks (~> 3.7.0) + rspec-support (~> 3.7.0) + rspec-retry (0.4.5) + rspec-core + rspec-set (0.1.3) + rspec-support (3.7.1) + rspec_junit_formatter (0.2.3) + builder (< 4) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_profiling (0.0.5) + activerecord + pg + rails + sqlite3 + rubocop (0.54.0) + parallel (~> 1.10) + parser (>= 2.5) + powerpack (~> 0.1) + rainbow (>= 2.2.2, < 4.0) + ruby-progressbar (~> 1.7) + unicode-display_width (~> 1.0, >= 1.0.1) + rubocop-gitlab-security (0.1.1) + rubocop (>= 0.51) + rubocop-rspec (1.22.2) + rubocop (>= 0.52.1) + ruby-enum (0.7.2) + i18n + ruby-fogbugz (0.2.1) + crack (~> 0.4) + ruby-prof (0.17.0) + ruby-progressbar (1.9.0) + ruby-saml (1.7.2) + nokogiri (>= 1.5.10) + ruby_parser (3.9.0) + sexp_processor (~> 4.1) + rubyntlm (0.6.2) + rubypants (0.2.0) + rubyzip (1.2.2) + rufus-scheduler (3.4.0) + et-orbi (~> 1.0) + rugged (0.27.4) + safe_yaml (1.0.4) + sanitize (4.6.6) + crass (~> 1.0.2) + nokogiri (>= 1.4.4) + nokogumbo (~> 1.4) + sass (3.5.5) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.0.6) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + sawyer (0.8.1) + addressable (>= 2.3.5, < 2.6) + faraday (~> 0.8, < 1.0) + scss_lint (0.56.0) + rake (>= 0.9, < 13) + sass (~> 3.5.3) + seed-fu (2.3.7) + activerecord (>= 3.1) + activesupport (>= 3.1) + select2-rails (3.5.9.3) + thor (~> 0.14) + selenium-webdriver (3.12.0) + childprocess (~> 0.5) + rubyzip (~> 1.2) + sentry-raven (2.7.2) + faraday (>= 0.7.6, < 1.0) + settingslogic (2.0.9) + sexp_processor (4.9.0) + sham_rack (1.3.6) + rack + shoulda-matchers (3.1.2) + activesupport (>= 4.0.0) + sidekiq (5.1.3) + concurrent-ruby (~> 1.0) + connection_pool (~> 2.2, >= 2.2.0) + rack-protection (>= 1.5.0) + redis (>= 3.3.5, < 5) + sidekiq-cron (0.6.0) + rufus-scheduler (>= 3.3.0) + sidekiq (>= 4.2.1) + sidekiq-limit_fetch (3.4.0) + sidekiq (>= 4) + signet (0.8.1) + addressable (~> 2.3) + faraday (~> 0.9) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simple_po_parser (1.1.2) + simplecov (0.14.1) + docile (~> 1.1.0) + json (>= 1.8, < 3) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.0) + slack-notifier (1.5.1) + spring (2.0.1) + activesupport (>= 4.2) + spring-commands-rspec (1.0.4) + spring (>= 0.9.1) + sprockets (3.7.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.1) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + sqlite3 (1.3.13) + sshkey (1.9.0) + stackprof (0.2.10) + state_machines (0.5.0) + state_machines-activemodel (0.5.1) + activemodel (>= 4.1, < 6.0) + state_machines (>= 0.5.0) + state_machines-activerecord (0.5.1) + activerecord (>= 4.1, < 6.0) + state_machines-activemodel (>= 0.5.0) + stringex (2.8.4) + sys-filesystem (1.1.6) + ffi + sysexits (1.2.0) + temple (0.8.0) + test-prof (0.2.5) + test_after_commit (1.1.0) + activerecord (>= 3.2) + text (1.3.1) + thin (1.7.0) + daemons (~> 1.0, >= 1.0.9) + eventmachine (~> 1.0, >= 1.0.4) + rack (>= 1, < 3) + thor (0.19.4) + thread_safe (0.3.6) + tilt (2.0.8) + timecop (0.8.1) + timfel-krb5-auth (0.8.3) + toml (0.2.0) + parslet (~> 1.8.0) + toml-rb (1.0.0) + citrus (~> 3.0, > 3.0) + trollop (2.1.3) + truncato (0.7.10) + htmlentities (~> 4.3.1) + nokogiri (~> 1.8.0, >= 1.7.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + u2f (0.2.1) + uber (0.1.0) + uglifier (2.7.2) + execjs (>= 0.3.0) + json (>= 1.8.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.5) + unicode-display_width (1.3.2) + unicorn (5.1.0) + kgio (~> 2.6) + raindrops (~> 0.7) + unicorn-worker-killer (0.4.4) + get_process_mem (~> 0) + unicorn (>= 4, < 6) + uniform_notifier (1.10.0) + unparser (0.2.7) + abstract_type (~> 0.0.7) + adamantium (~> 0.2.0) + concord (~> 0.1.5) + diff-lcs (~> 1.3) + equalizer (~> 0.0.9) + parser (>= 2.3.1.2, < 2.6) + procto (~> 0.0.2) + validates_hostname (1.0.6) + activerecord (>= 3.0) + activesupport (>= 3.0) + version_sorter (2.1.0) + virtus (1.0.5) + axiom-types (~> 0.1) + coercible (~> 1.0) + descendants_tracker (~> 0.0, >= 0.0.3) + equalizer (~> 0.0, >= 0.0.9) + vmstat (2.3.0) + warden (1.2.7) + rack (>= 1.0) + webmock (2.3.2) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff + webpack-rails (0.9.10) + railties (>= 3.2.0) + wikicloth (0.8.1) + builder + expression_parser + rinku + with_env (1.1.0) + xml-simple (1.1.5) + xpath (2.1.0) + nokogiri (~> 1.3) + +PLATFORMS + ruby + +DEPENDENCIES + RedCloth (~> 4.3.2) + ace-rails-ap (~> 4.1.0) + activerecord_sane_schema_dumper (= 0.2) + acts-as-taggable-on (~> 5.0) + addressable (~> 2.5.2) + akismet (~> 2.0) + asana (~> 0.6.0) + asciidoctor (~> 1.5.6) + asciidoctor-plantuml (= 0.0.8) + asset_sync (~> 2.4) + attr_encrypted (~> 3.1.0) + awesome_print + aws-sdk + babosa (~> 1.0.2) + base32 (~> 0.3.0) + batch-loader (~> 1.2.1) + bcrypt_pbkdf (~> 1.0) + benchmark-ips (~> 2.3.0) + better_errors (~> 2.1.0) + binding_of_caller (~> 0.7.2) + bootsnap (~> 1.3) + bootstrap_form (~> 2.7.0) + brakeman (~> 4.2) + browser (~> 2.5) + bullet (~> 5.5.0) + bundler-audit (~> 0.5.0) + capybara (~> 2.15) + capybara-screenshot (~> 1.0.0) + carrierwave (= 1.2.3) + charlock_holmes (~> 0.7.5) + chronic (~> 0.10.2) + chronic_duration (~> 0.10.6) + commonmarker (~> 0.17) + concurrent-ruby (~> 1.0.5) + connection_pool (~> 2.0) + creole (~> 0.5.0) + database_cleaner (~> 1.5.0) + deckar01-task_list (= 2.0.0) + default_value_for (~> 3.0.0) + device_detector + devise (~> 4.4) + devise-two-factor (~> 3.0.0) + diffy (~> 3.1.0) + doorkeeper (~> 4.3) + doorkeeper-openid_connect (~> 1.5) + dropzonejs-rails (~> 0.7.1) + ed25519 (~> 1.2) + elasticsearch-api (= 5.0.3) + elasticsearch-model (~> 0.1.9) + elasticsearch-rails (~> 0.1.9) + email_reply_trimmer (~> 0.1) + email_spec (~> 2.2.0) + factory_bot_rails (~> 4.8.2) + faraday (~> 0.12) + faraday_middleware-aws-signers-v4 + fast_blank + ffaker (~> 2.4) + flipper (~> 0.13.0) + flipper-active_record (~> 0.13.0) + flipper-active_support_cache_store (~> 0.13.0) + fog-aliyun (~> 0.2.0) + fog-aws (~> 2.0.1) + fog-core (~> 1.44) + fog-google (~> 1.7.1) + fog-local (~> 0.3) + fog-openstack (~> 0.1) + fog-rackspace (~> 0.1.1) + font-awesome-rails (~> 4.7) + foreman (~> 0.84.0) + fuubar (~> 2.2.0) + gemojione (~> 3.3) + gettext (~> 3.2.2) + gettext_i18n_rails (~> 1.8.0) + gettext_i18n_rails_js (~> 1.3) + gitaly-proto (~> 0.117.0) + github-linguist (~> 5.3.3) + gitlab-flowdock-git-hook (~> 1.0.1) + gitlab-gollum-lib (~> 4.2) + gitlab-gollum-rugged_adapter (~> 0.4.4) + gitlab-license (~> 1.0) + gitlab-markup (~> 1.6.4) + gitlab-styles (~> 2.4) + gitlab_omniauth-ldap (~> 2.0.4) + gon (~> 6.2) + google-api-client (~> 0.23) + google-protobuf (= 3.5.1) + gpgme + grape (~> 1.0) + grape-entity (~> 0.7.1) + grape-path-helpers (~> 1.0) + grape_logging (~> 1.7) + graphiql-rails (~> 1.4.10) + graphql (~> 1.8.0) + grpc (~> 1.11.0) + gssapi + haml_lint (~> 0.26.0) + hamlit (~> 2.8.8) + hangouts-chat (~> 0.0.5) + hashie-forbidden_attributes + health_check (~> 2.6.0) + hipchat (~> 1.5.0) + html-pipeline (~> 2.8) + html2text + httparty (~> 0.13.3) + icalendar + influxdb (~> 0.2) + jira-ruby (~> 1.4) + jquery-atwho-rails (~> 1.3.2) + js_regex (~> 2.2.1) + json-schema (~> 2.8.0) + jwt (~> 1.5.6) + kaminari (~> 1.0) + knapsack (~> 1.16) + kubeclient (~> 3.1.0) + letter_opener_web (~> 1.3.0) + license_finder (~> 5.4) + licensee (~> 8.9) + lograge (~> 0.5) + loofah (~> 2.2) + mail_room (~> 0.9.1) + method_source (~> 0.8) + mini_magick + minitest (~> 5.7.0) + mousetrap-rails (~> 1.4.6) + mysql2 (~> 0.4.10) + net-ldap + net-ntp + net-ssh (~> 5.0) + nokogiri (~> 1.8.2) + oauth2 (~> 1.4) + octokit (~> 4.9) + omniauth (~> 1.8) + omniauth-auth0 (~> 2.0.0) + omniauth-authentiq (~> 0.3.3) + omniauth-azure-oauth2 (~> 0.0.9) + omniauth-cas3 (~> 1.1.4) + omniauth-facebook (~> 4.0.0) + omniauth-github (~> 1.3) + omniauth-gitlab (~> 1.0.2) + omniauth-google-oauth2 (~> 0.5.3) + omniauth-kerberos (~> 0.3.0) + omniauth-oauth2-generic (~> 0.2.2) + omniauth-saml (~> 1.10) + omniauth-shibboleth (~> 1.3.0) + omniauth-twitter (~> 1.4) + omniauth_crowd (~> 2.2.0) + org-ruby (~> 0.9.12) + peek (~> 1.0.1) + peek-gc (~> 0.0.2) + peek-mysql2 (~> 1.1.0) + peek-pg (~> 1.3.0) + peek-rblineprof (~> 0.2.0) + peek-redis (~> 1.2.0) + peek-sidekiq (~> 1.0.3) + pg (~> 0.18.2) + premailer-rails (~> 1.9.7) + prometheus-client-mmap (~> 0.9.4) + pry-byebug (~> 3.4.1) + pry-rails (~> 0.3.4) + rack-attack (~> 4.4.1) + rack-cors (~> 1.0.0) + rack-oauth2 (~> 1.2.1) + rack-proxy (~> 0.6.0) + rails (= 4.2.10) + rails-deprecated_sanitizer (~> 1.0.3) + rails-i18n (~> 4.0.9) + rainbow (~> 3.0) + raindrops (~> 0.18) + rblineprof (~> 0.3.6) + rbtrace (~> 0.4) + rdoc (~> 6.0) + re2 (~> 1.1.1) + recaptcha (~> 3.0) + redcarpet (~> 3.4) + redis (~> 3.2) + redis-namespace (~> 1.6.0) + redis-rails (~> 5.0.2) + request_store (~> 1.3) + responders (~> 2.0) + rouge (~> 3.1) + rqrcode-rails3 (~> 0.1.7) + rspec-parameterized + rspec-rails (~> 3.7.0) + rspec-retry (~> 0.4.5) + rspec-set (~> 0.1.3) + rspec_junit_formatter + rspec_profiling (~> 0.0.5) + rubocop (~> 0.54.0) + rubocop-rspec (~> 1.22.1) + ruby-fogbugz (~> 0.2.1) + ruby-prof (~> 0.17.0) + ruby-progressbar + ruby_parser (~> 3.8) + rufus-scheduler (~> 3.4) + rugged (~> 0.27) + sanitize (~> 4.6) + sass-rails (~> 5.0.6) + scss_lint (~> 0.56.0) + seed-fu (~> 2.3.7) + select2-rails (~> 3.5.9) + selenium-webdriver (~> 3.12) + sentry-raven (~> 2.7) + settingslogic (~> 2.0.9) + sham_rack (~> 1.3.6) + shoulda-matchers (~> 3.1.2) + sidekiq (~> 5.1) + sidekiq-cron (~> 0.6.0) + sidekiq-limit_fetch (~> 3.4) + simple_po_parser (~> 1.1.2) + simplecov (~> 0.14.0) + slack-notifier (~> 1.5.1) + spring (~> 2.0.0) + spring-commands-rspec (~> 1.0.4) + sprockets (~> 3.7.0) + sshkey (~> 1.9.0) + stackprof (~> 0.2.10) + state_machines-activerecord (~> 0.5.1) + sys-filesystem (~> 1.1.6) + test-prof (~> 0.2.5) + test_after_commit (~> 1.1) + thin (~> 1.7.0) + timecop (~> 0.8.0) + toml-rb (~> 1.0.0) + truncato (~> 0.7.9) + u2f (~> 0.2.1) + uglifier (~> 2.7.2) + unf (~> 0.1.4) + unicorn (~> 5.1.0) + unicorn-worker-killer (~> 0.4.4) + validates_hostname (~> 1.0.6) + version_sorter (~> 2.1.0) + virtus (~> 1.0.1) + vmstat (~> 2.3.0) + webmock (~> 2.3.2) + webpack-rails (~> 0.9.10) + wikicloth (= 0.8.1) + +BUNDLED WITH + 1.16.4 diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix new file mode 100644 index 000000000000..a067d1e42722 --- /dev/null +++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix @@ -0,0 +1,3681 @@ +{ + abstract_type = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14"; + type = "gem"; + }; + version = "0.0.7"; + }; + ace-rails-ap = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14wj9gsiy7rm0lvs27ffsrh92wndjksj6rlfj3n7jhv1v77w9v2h"; + type = "gem"; + }; + version = "4.1.2"; + }; + actionmailer = { + dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ivyjsapqgn1xfb2p8yqjrg2jldqm5r7hxrjxq6kdr05gk4fsg59"; + type = "gem"; + }; + version = "4.2.10"; + }; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l6agrxdaishxjx2zc2x8md95plfp39bfskzgs6v9gsdp2y2arpx"; + type = "gem"; + }; + version = "4.2.10"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jrx2pmkywk70z7n17gw3jrcdw3n03wdzvg45bnq8wxshl1lmbhv"; + type = "gem"; + }; + version = "4.2.10"; + }; + activejob = { + dependencies = ["activesupport" "globalid"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10jsa5pqklcsd2npicqxr5abjlwi53di2brpzgz35k557fkpc1z8"; + type = "gem"; + }; + version = "4.2.10"; + }; + activemodel = { + dependencies = ["activesupport" "builder"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c4vj9xajxa906bqbcjpni74nya6rh2nbb15gl8xm0vl9zf3ll9v"; + type = "gem"; + }; + version = "4.2.10"; + }; + activerecord = { + dependencies = ["activemodel" "activesupport" "arel"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lws9y4p9c2vnmv3ddfpv8jh6azlddppl3fi31vahaz14ifxjk5s"; + type = "gem"; + }; + version = "4.2.10"; + }; + activerecord_sane_schema_dumper = { + dependencies = ["rails"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "122c7v7lvs0gwckvx2rar07waxnx1vv0lryz322nybb69d8vbhl6"; + type = "gem"; + }; + version = "0.2"; + }; + activesupport = { + dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7"; + type = "gem"; + }; + version = "4.2.10"; + }; + acts-as-taggable-on = { + dependencies = ["activerecord"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kvbhlansqiz1xp5r28cv27ghbfmx4b39cv51w6xrhkb52bskn3i"; + type = "gem"; + }; + version = "5.0.0"; + }; + adamantium = { + dependencies = ["ice_nine" "memoizable"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak"; + type = "gem"; + }; + version = "0.2.0"; + }; + addressable = { + dependencies = ["public_suffix"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; + type = "gem"; + }; + version = "2.5.2"; + }; + aes_key_wrap = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0li86k0g812jkzrppb2fvqngvzp09nygywjpn81nx90s01wxqw07"; + type = "gem"; + }; + version = "1.0.1"; + }; + akismet = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hqpn25iyypkwkrqaibjm5nss5jmlkrddhia7frmz94prvyjr02w"; + type = "gem"; + }; + version = "2.0.0"; + }; + arel = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nfcrdiys6q6ylxiblky9jyssrw2xj96fmxmal7f4f0jj3417vj4"; + type = "gem"; + }; + version = "6.0.4"; + }; + asana = { + dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bn7f3sc2f02g871jd0y6qdhixn464mflkjchp56x6kcnyqy24z6"; + type = "gem"; + }; + version = "0.6.0"; + }; + asciidoctor = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zq3az4836nxkc8g5wnnbzmarw7663s1ky6gf8pc04sfpa8n2l3f"; + type = "gem"; + }; + version = "1.5.6.2"; + }; + asciidoctor-plantuml = { + dependencies = ["asciidoctor"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x092ldl8p7svczg4lnrnp0h918acnflh7jz5qwv40ksh1fflqna"; + type = "gem"; + }; + version = "0.0.8"; + }; + asset_sync = { + dependencies = ["activemodel" "fog-core" "mime-types" "unf"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wjd662yyg72dwwc6cav7gk2bjv9nkhn056f03h8zmyank451hdf"; + type = "gem"; + }; + version = "2.4.0"; + }; + ast = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7"; + type = "gem"; + }; + version = "2.4.0"; + }; + atomic = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kh9rvhjn4dndbfsk3yjq7alds6s2j70rc4k8wdwdyibab8a8gq9"; + type = "gem"; + }; + version = "1.1.99"; + }; + attr_encrypted = { + dependencies = ["encryptor"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ncv2az1zlj33bsllr6q1qdvbw42gv91lxq0ryclbv8l8xh841jg"; + type = "gem"; + }; + version = "3.1.0"; + }; + attr_required = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pawa2i7gw9ppj6fq6y288da1ncjpzsmc6kx7z63mjjvypa5q3dc"; + type = "gem"; + }; + version = "1.0.0"; + }; + awesome_print = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14arh1ixfsd6j5md0agyzvksm5svfkvchb90fp32nn7y3avcmc2h"; + type = "gem"; + }; + version = "1.8.0"; + }; + aws-sdk = { + dependencies = ["aws-sdk-resources"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03r754cqa0jayf1nxpcmp1anaypxwpcjyjaq5cz7i04l9jdxvsnn"; + type = "gem"; + }; + version = "2.9.32"; + }; + aws-sdk-core = { + dependencies = ["aws-sigv4" "jmespath"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pq09wwb74y4m5adk4hi4zlz05q6sxjxij6g71v6nkd0z83hi34x"; + type = "gem"; + }; + version = "2.9.32"; + }; + aws-sdk-resources = { + dependencies = ["aws-sdk-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15m56k12x9gzkcyhwrab1qhi3wqla0qmv84dkqcjwp44d7c2xjyi"; + type = "gem"; + }; + version = "2.9.32"; + }; + aws-sigv4 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cnrfxbaxn86qrxhfidg10f89ka1hddihakdhcvnri0dljaw7dsz"; + type = "gem"; + }; + version = "1.0.0"; + }; + axiom-types = { + dependencies = ["descendants_tracker" "ice_nine" "thread_safe"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10q3k04pll041mkgy0m5fn2b1lazm6ly1drdbcczl5p57lzi3zy1"; + type = "gem"; + }; + version = "0.1.1"; + }; + babosa = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05rgxg4pz4bc4xk34w5grv0yp1j94wf571w84lf3xgqcbs42ip2f"; + type = "gem"; + }; + version = "1.0.2"; + }; + base32 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b7y8sy6j9v1lvfzd4va88k5vg9yh0xcjzzn3llcw7yxqlcrnbjk"; + type = "gem"; + }; + version = "0.3.2"; + }; + batch-loader = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nvmwzn8q6dkp2n8wz47z7gldj3yrj7h6syy0cwrkzi19bfvxba2"; + type = "gem"; + }; + version = "1.2.1"; + }; + bcrypt = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy"; + type = "gem"; + }; + version = "3.1.12"; + }; + bcrypt_pbkdf = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cj4k13c7qvvck7y25i3xarvyqq8d27vl61jddifkc7llnnap1hv"; + type = "gem"; + }; + version = "1.0.0"; + }; + benchmark-ips = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh681m54qdsdyvpvflj1wpnj3ybspbpjkr4cnlrl4nk4yikli0j"; + type = "gem"; + }; + version = "2.3.0"; + }; + better_errors = { + dependencies = ["coderay" "erubis" "rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11csk41yhijqvp0dkky0cjl8kn6blw4jhr8b6v4islfvvayddcxc"; + type = "gem"; + }; + version = "2.1.1"; + }; + bindata = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kxy917xyxckifmnawff65j7g6yb3wh2s45npjq9lqjbi1p86lsr"; + type = "gem"; + }; + version = "2.4.3"; + }; + binding_of_caller = { + dependencies = ["debug_inspector"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15jg6dkaq2nzcd602d7ppqbdxw3aji961942w93crs6qw4n6h9yk"; + type = "gem"; + }; + version = "0.7.2"; + }; + bootsnap = { + dependencies = ["msgpack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1i3llrdqkndxzhv1a7a2yjpavmdabyq5ps296vmb32hv8fy95xk9"; + type = "gem"; + }; + version = "1.3.1"; + }; + bootstrap_form = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sw88vi5sb48xzgwclic38jdgmcbvah2qfi3rijrlmi1wai4j1fw"; + type = "gem"; + }; + version = "2.7.0"; + }; + brakeman = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "161l4ln7x1vnqrcvbvglznf46f0lvq305vq211xaxp4fv4wwv89v"; + type = "gem"; + }; + version = "4.2.1"; + }; + browser = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sdx0ny34i6vqxdsc7sy9g0nafdbrw8kvvb5xh9m18x1bzpqk92f"; + type = "gem"; + }; + version = "2.5.3"; + }; + builder = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1"; + type = "gem"; + }; + version = "3.2.3"; + }; + bullet = { + dependencies = ["activesupport" "uniform_notifier"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pdq3ckmwxnwrdm2x89zfj68h0yhiln35y8wps2nkvam4kpivyr5"; + type = "gem"; + }; + version = "5.5.1"; + }; + bundler-audit = { + dependencies = ["thor"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gr7k6m9fda7m66irxzydm8v9xbmlryjj65cagwm1zyi5f317srb"; + type = "gem"; + }; + version = "0.5.0"; + }; + byebug = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0"; + type = "gem"; + }; + version = "9.0.6"; + }; + capybara = { + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bahhwrd1rpfhci1x57yz0df9plziipljbw3p4k6mlash4wq6w92"; + type = "gem"; + }; + version = "2.15.1"; + }; + capybara-screenshot = { + dependencies = ["capybara" "launchy"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xy79lf3rwn3602r4hqm9s8a03bhlf6hzwdi6345dzrkmhwwj2ij"; + type = "gem"; + }; + version = "1.0.14"; + }; + carrierwave = { + dependencies = ["activemodel" "activesupport" "mime-types"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs"; + type = "gem"; + }; + version = "1.2.3"; + }; + cause = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0digirxqlwdg79mkbn70yc7i9i1qnclm2wjbrc47kqv6236bpj00"; + type = "gem"; + }; + version = "0.1"; + }; + charlock_holmes = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5"; + type = "gem"; + }; + version = "0.7.6"; + }; + childprocess = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p"; + type = "gem"; + }; + version = "0.9.0"; + }; + chronic = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn"; + type = "gem"; + }; + version = "0.10.2"; + }; + chronic_duration = { + dependencies = ["numerizer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k7sx3xqbrn6s4pishh2pgr4kw6fmw63h00lh503l66k8x0qvigs"; + type = "gem"; + }; + version = "0.10.6"; + }; + chunky_png = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn"; + type = "gem"; + }; + version = "1.3.5"; + }; + citrus = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l7nhk3gkm1hdchkzzhg2f70m47pc0afxfpl6mkiibc9qcpl3hjf"; + type = "gem"; + }; + version = "3.0.2"; + }; + coderay = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; + type = "gem"; + }; + version = "1.1.2"; + }; + coercible = { + dependencies = ["descendants_tracker"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p5azydlsz0nkxmcq0i1gzmcfq02lgxc4as7wmf47j1c6ljav0ah"; + type = "gem"; + }; + version = "1.0.0"; + }; + commonmarker = { + dependencies = ["ruby-enum"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pmjm87p0hxnknp33cxyvkgbr1swfp9gcznssmalm9z8kwyancb9"; + type = "gem"; + }; + version = "0.17.13"; + }; + concord = { + dependencies = ["adamantium" "equalizer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg"; + type = "gem"; + }; + version = "0.1.5"; + }; + concurrent-ruby = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"; + type = "gem"; + }; + version = "1.0.5"; + }; + concurrent-ruby-ext = { + dependencies = ["concurrent-ruby"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "119l554zi3720d3rk670ldcqhsgmfii28a9z307v4mwdjckdm4gp"; + type = "gem"; + }; + version = "1.0.5"; + }; + connection_pool = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17vpaj6kyf2i8bimaxz7rg1kyadf4d10642ja67qiqlhwgczl2w7"; + type = "gem"; + }; + version = "2.2.1"; + }; + crack = { + dependencies = ["safe_yaml"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k"; + type = "gem"; + }; + version = "0.4.3"; + }; + crass = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi"; + type = "gem"; + }; + version = "1.0.4"; + }; + creole = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm"; + type = "gem"; + }; + version = "0.5.0"; + }; + css_parser = { + dependencies = ["addressable"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jlr17cn044yaq4l3d9p42g3bghnamwsprq9c39xn6pxjrn5k1hy"; + type = "gem"; + }; + version = "1.5.0"; + }; + daemons = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b839hryy9sg7x3knsa1d6vfiyvn0mlsnhsb6an8zsalyrz1zgqg"; + type = "gem"; + }; + version = "1.2.3"; + }; + database_cleaner = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj"; + type = "gem"; + }; + version = "1.5.3"; + }; + debug_inspector = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "109761g00dbrw5q0dfnbqg8blfm699z4jj70l4zrgf9mzn7ii50m"; + type = "gem"; + }; + version = "0.0.2"; + }; + debugger-ruby_core_source = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd"; + type = "gem"; + }; + version = "1.3.8"; + }; + deckar01-task_list = { + dependencies = ["html-pipeline"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0w6qsk712ic6vx9ydmix2ys95zwpkvdx3a9xxi8bdqlpgh1ipm9j"; + type = "gem"; + }; + version = "2.0.0"; + }; + declarative = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j"; + type = "gem"; + }; + version = "0.0.10"; + }; + declarative-option = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p"; + type = "gem"; + }; + version = "0.1.0"; + }; + default_value_for = { + dependencies = ["activerecord"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "014482mxjrc227fxv6vff6ccjr9dr0ydz52flxslsa7biq542k73"; + type = "gem"; + }; + version = "3.0.2"; + }; + descendants_tracker = { + dependencies = ["thread_safe"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79"; + type = "gem"; + }; + version = "0.0.4"; + }; + device_detector = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zbsjj1bgwmsiqiw6x5fzbzp25xc10c02s37ggl2635ha0qzn05q"; + type = "gem"; + }; + version = "1.0.0"; + }; + devise = { + dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xmxfhym0yxwb0zwmmzhdiykbpyqqm3id02g7rf3vcgbc1lqvdnj"; + type = "gem"; + }; + version = "4.4.3"; + }; + devise-two-factor = { + dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pkldws5lga4mlv4xmcrfb0yivl6qad0l8qyb2hdb50adv6ny4gs"; + type = "gem"; + }; + version = "3.0.0"; + }; + diff-lcs = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; + type = "gem"; + }; + version = "1.3"; + }; + diffy = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1azibizfv91sjbzhjqj1pg2xcv8z9b8a7z6kb3wpl4hpj5hil5kj"; + type = "gem"; + }; + version = "3.1.0"; + }; + docile = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; + type = "gem"; + }; + version = "1.1.5"; + }; + domain_name = { + dependencies = ["unf"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; + type = "gem"; + }; + version = "0.5.20180417"; + }; + doorkeeper = { + dependencies = ["railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022r03i830b2lvmr0xzlj6ivlvc1zr64hy4a4bsy3flv94da77rz"; + type = "gem"; + }; + version = "4.3.2"; + }; + doorkeeper-openid_connect = { + dependencies = ["doorkeeper" "json-jwt"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wgrz0xcply5vl6d1m62blqwcbn4v0b27bswyws2y9wbyglz6f95"; + type = "gem"; + }; + version = "1.5.0"; + }; + dropzonejs-rails = { + dependencies = ["rails"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vqqxzv6qdqy47m2q28adnmccfvc17p2bmkkaqjvrczrhvkkha64"; + type = "gem"; + }; + version = "0.7.2"; + }; + ed25519 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw"; + type = "gem"; + }; + version = "1.2.4"; + }; + elasticsearch = { + dependencies = ["elasticsearch-api" "elasticsearch-transport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fik4nrxyi28zy1xwi4rygn0pf1sm1gskcrvbsnmqfrsdd6l4ga4"; + type = "gem"; + }; + version = "5.0.3"; + }; + elasticsearch-api = { + dependencies = ["multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0aal128hq59l5kscl2ag2cv24g1sp5ysdb4jxkqmj0b1l9rv16mw"; + type = "gem"; + }; + version = "5.0.3"; + }; + elasticsearch-model = { + dependencies = ["activesupport" "elasticsearch" "hashie"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10kbsdxd192g8x60fhaxs4gqpgwag68d53flcw8rwvdm0i8smyzf"; + type = "gem"; + }; + version = "0.1.9"; + }; + elasticsearch-rails = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "081hm2dc3l6kky027wm3s8k6lmiygg0hnrggnidchbl94nlalw2z"; + type = "gem"; + }; + version = "0.1.9"; + }; + elasticsearch-transport = { + dependencies = ["faraday" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a7fak70ajdqw1ahd2gmgijka52pjjfr3chaakkxa5fk3rwwna26"; + type = "gem"; + }; + version = "5.0.3"; + }; + email_reply_trimmer = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vijywhy1acsq4187ss6w8a7ksswaf1d5np3wbj962b6rqif5vcz"; + type = "gem"; + }; + version = "0.1.6"; + }; + email_spec = { + dependencies = ["htmlentities" "launchy" "mail"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yadaif80cf2ry0nvhir1s70xmm22xzncq6vfvvffdd8h02ridv0"; + type = "gem"; + }; + version = "2.2.0"; + }; + encryptor = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb"; + type = "gem"; + }; + version = "3.0.0"; + }; + equalizer = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; + type = "gem"; + }; + version = "0.0.11"; + }; + erubis = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3"; + type = "gem"; + }; + version = "2.7.0"; + }; + escape_utils = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "088r5c2mz2vy2jbbx1xjbi8msnzg631ggli29nhik2spbcp1z6vh"; + type = "gem"; + }; + version = "1.1.1"; + }; + et-orbi = { + dependencies = ["tzinfo"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1apn9gzgbgs7z6p6l3rv66vrfwyfh68p2rxkybh10vx82fp6g0wi"; + type = "gem"; + }; + version = "1.0.3"; + }; + eventmachine = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frvpk3p73xc64qkn0ymll3flvn4xcycq5yx8a43zd3gyzc1ifjp"; + type = "gem"; + }; + version = "1.0.8"; + }; + excon = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15l9w0938c19nxmrp09n75qpmm64k12xj69h47yvxzcxcpbgnkb2"; + type = "gem"; + }; + version = "0.62.0"; + }; + execjs = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0grlxwiccbnflxs30r3h7g23xnps5knav1jyqkk3anvm8363ifjw"; + type = "gem"; + }; + version = "2.6.0"; + }; + expression_parser = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib"; + type = "gem"; + }; + version = "0.9.0"; + }; + factory_bot = { + dependencies = ["activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r975ba6y0mcy3aya099gpnjn5gf1h6fbw8f3smmjay5zvin3nwx"; + type = "gem"; + }; + version = "4.8.2"; + }; + factory_bot_rails = { + dependencies = ["factory_bot" "railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cdbp12ih2w77l331frv8gv6bv9dinn1663dy1jn0gb9ss1hwvs2"; + type = "gem"; + }; + version = "4.8.2"; + }; + faraday = { + dependencies = ["multipart-post"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2"; + type = "gem"; + }; + version = "0.12.2"; + }; + faraday_middleware = { + dependencies = ["faraday"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d"; + type = "gem"; + }; + version = "0.12.2"; + }; + faraday_middleware-aws-signers-v4 = { + dependencies = ["aws-sdk-resources" "faraday"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y88xcbq8k2ijhsqdava5493p26k49agvnzca6vkl3qwfv3ambhp"; + type = "gem"; + }; + version = "0.1.7"; + }; + faraday_middleware-multi_json = { + dependencies = ["faraday_middleware" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q"; + type = "gem"; + }; + version = "0.0.6"; + }; + fast_blank = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56"; + type = "gem"; + }; + version = "1.0.0"; + }; + fast_gettext = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s42dsy3rh9h37d16pwhswf2q9cx25v5fn3q881b5iz6fvdjixv3"; + type = "gem"; + }; + version = "1.6.0"; + }; + ffaker = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rlfvf2iakphs3krxy1hiywr2jzmrhvhig8n8fw6rcivpz9v52ry"; + type = "gem"; + }; + version = "2.4.0"; + }; + ffi = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + type = "gem"; + }; + version = "1.9.25"; + }; + flipper = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pdj9y3k6padiicfraxw9ibx9fm8yi2ihh608736lq5nnbf3k6gw"; + type = "gem"; + }; + version = "0.13.0"; + }; + flipper-active_record = { + dependencies = ["activerecord" "flipper"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rgm4h5h6xcbf17z47sw8ancaxva8x4hwlxmyqpm0vzj1pnc47c1"; + type = "gem"; + }; + version = "0.13.0"; + }; + flipper-active_support_cache_store = { + dependencies = ["activesupport" "flipper"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zpikmfhadb7l1ny6xbhk5d4840im6yq0wvfsnlw718spxi4ccgk"; + type = "gem"; + }; + version = "0.13.0"; + }; + flowdock = { + dependencies = ["httparty" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04nrvg4gzgabf5mnnhccl8bwrkvn3y4pm7a1dqzqhpvfr4m5pafg"; + type = "gem"; + }; + version = "0.7.1"; + }; + fog-aliyun = { + dependencies = ["fog-core" "fog-json" "ipaddress" "xml-simple"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x66xyrw4ahyr6f9masiqmz5q6h8scv46y59crnfp8dj7r52hw8m"; + type = "gem"; + }; + version = "0.2.0"; + }; + fog-aws = { + dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00skbbgvhqzq6gpgzmw0957n0wf1y3vjgrdyq3sib0ghpyfgmig3"; + type = "gem"; + }; + version = "2.0.1"; + }; + fog-core = { + dependencies = ["builder" "excon" "formatador"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02449kh2x3zj9xxszm02vy8zpbsrykvjrg5gj3kqcy2yizy2bhp3"; + type = "gem"; + }; + version = "1.45.0"; + }; + fog-google = { + dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0azs1i061ig0x1cljdy68hjskzj8d25xkq8nqf3z7qya5lmfn1z2"; + type = "gem"; + }; + version = "1.7.1"; + }; + fog-json = { + dependencies = ["fog-core" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0advkkdjajkym77r3c0bg2rlahl2akj0vl4p5r273k2qmi16n00r"; + type = "gem"; + }; + version = "1.0.2"; + }; + fog-local = { + dependencies = ["fog-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q1hyga02l9civ0b9gvfdmscvwv2jr4dq87q2g3qxh2974x213mn"; + type = "gem"; + }; + version = "0.3.1"; + }; + fog-openstack = { + dependencies = ["fog-core" "fog-json" "ipaddress"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ii0q22bdv170f7b007k9jlph40rn7fnzd84vaxhf4zhjhaijmys"; + type = "gem"; + }; + version = "0.1.21"; + }; + fog-rackspace = { + dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y2bli061g37l9p4w0ljqbmg830rp2qz6sf8b0ck4cnx68j7m32a"; + type = "gem"; + }; + version = "0.1.1"; + }; + fog-xml = { + dependencies = ["fog-core" "nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n"; + type = "gem"; + }; + version = "0.1.3"; + }; + font-awesome-rails = { + dependencies = ["railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qc07vj7qyllrj7lr7wl89l5ir0gj104rc7sds2jynzmrqsamnlw"; + type = "gem"; + }; + version = "4.7.0.1"; + }; + foreman = { + dependencies = ["thor"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06mq39lpmc17bxzlwhad9d8i0lcnbb08xr18smh2x79mm631wsw0"; + type = "gem"; + }; + version = "0.84.0"; + }; + formatador = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gc26phrwlmlqrmz4bagq1wd5b7g64avpx0ghxr9xdxcvmlii0l0"; + type = "gem"; + }; + version = "0.2.5"; + }; + fuubar = { + dependencies = ["rspec-core" "ruby-progressbar"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jlv2wisgnim29h47shvqhipbz1wgndfdr7i6y5wcfag0z2660lv"; + type = "gem"; + }; + version = "2.2.0"; + }; + gemojione = { + dependencies = ["json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ayk8r147k1s38nj18pwk76npx1p7jhi86silk800nj913pjvrhj"; + type = "gem"; + }; + version = "3.3.0"; + }; + get_process_mem = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "025f7v6bpbgsa2nr0hzv2riggj8qmzbwcyxfgjidpmwh5grh7j29"; + type = "gem"; + }; + version = "0.2.0"; + }; + gettext = { + dependencies = ["locale" "text"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0764vj7gacn0aypm2bf6m46dzjzwzrjlmbyx6qwwwzbmi94r40wr"; + type = "gem"; + }; + version = "3.2.9"; + }; + gettext_i18n_rails = { + dependencies = ["fast_gettext"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vs918a03mqvx9aczaqdg9d2q9s3c6swqavzn82qgq5i822czrcm"; + type = "gem"; + }; + version = "1.8.0"; + }; + gettext_i18n_rails_js = { + dependencies = ["gettext" "gettext_i18n_rails" "po_to_json" "rails"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11yn5cf92wsmlj5c1065mg6swf8gq9l6g9ahikvvyf9npvjay42x"; + type = "gem"; + }; + version = "1.3.0"; + }; + gitaly-proto = { + dependencies = ["google-protobuf" "grpc"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ixgzw4clmhjhmv3fy9niq4x16k1yn9iyjbc99z5674xlp7nm40i"; + type = "gem"; + }; + version = "0.117.0"; + }; + github-linguist = { + dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kgashbqpypv329m63b85ri1dx0gppwd0832hvwh124lk5b19drk"; + type = "gem"; + }; + version = "5.3.3"; + }; + github-markup = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp"; + type = "gem"; + }; + version = "1.7.0"; + }; + gitlab-flowdock-git-hook = { + dependencies = ["flowdock" "gitlab-grit" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8"; + type = "gem"; + }; + version = "1.0.1"; + }; + gitlab-gollum-lib = { + dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15h6a7lsfkm967d5dhjlbcm2lnl1l9akzvaq92qlxq40r5apw0kn"; + type = "gem"; + }; + version = "4.2.7.5"; + }; + gitlab-gollum-rugged_adapter = { + dependencies = ["mime-types" "rugged"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "092i02k3kd4ghk1h1l5yrvi9b180dgfxrvwni26facb2kc9f3wbi"; + type = "gem"; + }; + version = "0.4.4.1"; + }; + gitlab-grit = { + dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xgs3l81ghlc5nm75n0pz7b2cj3hpscfq5iy27c483nnjn2v5mc4"; + type = "gem"; + }; + version = "2.8.2"; + }; + gitlab-license = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q26cgp3ln3b36n3sc69r6hxafkxjwdr3m0d7jlch5j7vyib9bih"; + type = "gem"; + }; + version = "1.0.0"; + }; + gitlab-markup = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1v6w3z7smmkqnhphb4ghgpqg61vimflqzpszybji0li99f2k1jb6"; + type = "gem"; + }; + version = "1.6.4"; + }; + gitlab-styles = { + dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ywizn3191mjl7ibxlfajaxm5vkywwl4i9q2xh6miq37nk2q98dx"; + type = "gem"; + }; + version = "2.4.1"; + }; + gitlab_omniauth-ldap = { + dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cpjadx852vw1gv5cm1qiqq6mclglzqajw7q572zncw4q3ji2fkv"; + type = "gem"; + }; + version = "2.0.4"; + }; + globalid = { + dependencies = ["activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38"; + type = "gem"; + }; + version = "0.4.1"; + }; + gollum-grit_adapter = { + dependencies = ["gitlab-grit"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b"; + type = "gem"; + }; + version = "1.0.1"; + }; + gon = { + dependencies = ["actionpack" "multi_json" "request_store"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q9nvnw98mbb40h7mlzn1zk40r2l29yybhinmiqhrq8a6adsv806"; + type = "gem"; + }; + version = "6.2.0"; + }; + google-api-client = { + dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05h2lca9b334ayabgs3h0mzc2wg3csvkqv1lv3iirpgf90ypbk1k"; + type = "gem"; + }; + version = "0.23.4"; + }; + google-protobuf = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s8ijd9wdrkqwsb6nasrsv7f9i5im2nyax7f7jlb5y9vh8nl98qi"; + type = "gem"; + }; + version = "3.5.1"; + }; + googleapis-common-protos-types = { + dependencies = ["google-protobuf"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yf10s7w8wpa49hc86z7z2fkn9yz7j2njz0n8xmqb24ji090z4ck"; + type = "gem"; + }; + version = "1.0.1"; + }; + googleauth = { + dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f"; + type = "gem"; + }; + version = "0.6.2"; + }; + gpgme = { + dependencies = ["mini_portile2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fclgx3pg3sihk9xn3amcf8db0q749dsqkycayn1c8x134zml3gb"; + type = "gem"; + }; + version = "2.0.13"; + }; + grape = { + dependencies = ["activesupport" "builder" "mustermann-grape" "rack" "rack-accept" "virtus"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lz17804lpip6cm3g0j9xyzc38lxsn84cl3v3ixn6djnwlmp6427"; + type = "gem"; + }; + version = "1.0.3"; + }; + grape-entity = { + dependencies = ["activesupport" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w78wylkhdkc0s6n6d20hggbb3pl3ladzzd5lx6ack2iswybx7b9"; + type = "gem"; + }; + version = "0.7.1"; + }; + grape-path-helpers = { + dependencies = ["activesupport" "grape" "rake"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13h5575xfc144wsr48sp3qngpwvh4ikz4r3m55j8jmdr6sa16rbw"; + type = "gem"; + }; + version = "1.0.6"; + }; + grape_logging = { + dependencies = ["grape"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lg2vhk0dlnyqs2rz8wilfm039q5mbsp5nvf51asir48a1rf9yza"; + type = "gem"; + }; + version = "1.7.0"; + }; + graphiql-rails = { + dependencies = ["railties" "sprockets-rails"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10q5zipwgjgaan9lfqakdkm5ry8afgkq79bkimgksn6jyyvpz6w8"; + type = "gem"; + }; + version = "1.4.10"; + }; + graphql = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10bnl8yjyg5x6h787cfkpd5gphl5z5jblj8fc9lbmgk27n2knssl"; + type = "gem"; + }; + version = "1.8.1"; + }; + grpc = { + dependencies = ["google-protobuf" "googleapis-common-protos-types" "googleauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1is4czi3i7y6zyxzyrpsma1z91axmc0jz2ngr6ckixqd3629npkz"; + type = "gem"; + }; + version = "1.11.0"; + }; + gssapi = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j93nsf9j57p7x4aafalvjg8hia2mmqv3aky7fmw2ck5yci343ix"; + type = "gem"; + }; + version = "1.2.0"; + }; + haml = { + dependencies = ["temple" "tilt"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q0a9fvqh8kn6wm97fcks6qzbjd400bv8bx748w8v87m7p4klhac"; + type = "gem"; + }; + version = "5.0.4"; + }; + haml_lint = { + dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04illnjl9hsg7wqf8x5s108m5is9aj52g80c6nrgsksyp4vh9ynn"; + type = "gem"; + }; + version = "0.26.0"; + }; + hamlit = { + dependencies = ["temple" "thor" "tilt"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hk338vkzmwszxdh0q02iw88rbr3bj3fd7fzn4psm8wy80zcgl9i"; + type = "gem"; + }; + version = "2.8.8"; + }; + hangouts-chat = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dmnv3723c22683bzys8walkl6wi74xzawxjbhwqzjdbwk3bdgmx"; + type = "gem"; + }; + version = "0.0.5"; + }; + hashdiff = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n6hj7k7b9hazac0j48ypbak2nqi5wy4nh5cjra6xl3a92r8db0a"; + type = "gem"; + }; + version = "0.3.4"; + }; + hashie = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hh5lybf8hm7d7xs4xm8hxvm8xqrs2flc8fnwkrclaj746izw6xb"; + type = "gem"; + }; + version = "3.5.7"; + }; + hashie-forbidden_attributes = { + dependencies = ["hashie"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1chgg5d2iddja6ww02x34g8avg11fzmzcb8yvnqlykii79zx6vis"; + type = "gem"; + }; + version = "0.1.1"; + }; + health_check = { + dependencies = ["rails"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mfa180nyzz1j0abfihm5nm3lmzq99362ibcphky6rh5vwhckvm8"; + type = "gem"; + }; + version = "2.6.0"; + }; + hipchat = { + dependencies = ["httparty" "mimemagic"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k"; + type = "gem"; + }; + version = "1.5.2"; + }; + html-pipeline = { + dependencies = ["activesupport" "nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mpj5y13jk1arqkhdk66n49kyglmci980c1l6np7pqgyjllb68ad"; + type = "gem"; + }; + version = "2.8.4"; + }; + html2text = { + dependencies = ["nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kxdj8pf9pss9xgs8aac0alj5g1fi225yzdhh33lzampkazg1hii"; + type = "gem"; + }; + version = "0.2.0"; + }; + htmlentities = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; + type = "gem"; + }; + version = "4.3.4"; + }; + http = { + dependencies = ["addressable" "http-cookie" "http-form_data" "http_parser.rb"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kcd9qp8vm1rkyp7gfh8j0dbl3zpi97vz2vbhpbcsdsa7l21a59r"; + type = "gem"; + }; + version = "2.2.2"; + }; + http-cookie = { + dependencies = ["domain_name"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g"; + type = "gem"; + }; + version = "1.0.3"; + }; + http-form_data = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j8dwwbfpf8kc0lcsqcgy29lflszd1x4d7kc0f7227892m7r6y0m"; + type = "gem"; + }; + version = "1.0.3"; + }; + "http_parser.rb" = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; + type = "gem"; + }; + version = "0.6.0"; + }; + httparty = { + dependencies = ["json" "multi_xml"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c9gvg6dqw2h3qyaxhrq1pzm6r69zfcmfh038wyhisqsd39g9hr2"; + type = "gem"; + }; + version = "0.13.7"; + }; + httpclient = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; + type = "gem"; + }; + version = "2.8.3"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; + type = "gem"; + }; + version = "0.9.5"; + }; + icalendar = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xsydpp2xph00awi25axv2mwjd5p2rlgd4qb3kh05lvq795kirxd"; + type = "gem"; + }; + version = "2.4.1"; + }; + ice_nine = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x"; + type = "gem"; + }; + version = "0.11.2"; + }; + influxdb = { + dependencies = ["cause" "json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vhg5nd88nwvfa76lqcczld916nljswwq6clsixrzi3js8ym9y1w"; + type = "gem"; + }; + version = "0.2.3"; + }; + ipaddress = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; + type = "gem"; + }; + version = "0.8.3"; + }; + jira-ruby = { + dependencies = ["activesupport" "multipart-post" "oauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14019mliqwcppj6qp2wdhh5gbvs2yh2idibag13m9a18ag965bhw"; + type = "gem"; + }; + version = "1.4.1"; + }; + jmespath = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07w8ipjg59qavijq59hl82zs74jf3jsp7vxl9q3a2d0wpv5akz3y"; + type = "gem"; + }; + version = "1.3.1"; + }; + jquery-atwho-rails = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g8239cddyi48i5n0hq2acg9k7n7jilhby9g36zd19mwqyia16w9"; + type = "gem"; + }; + version = "1.3.2"; + }; + js_regex = { + dependencies = ["regexp_parser"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lnyd4c7lybhra3l6dai7j83lh3xapqjb340pp0h4bnqjgx52bkf"; + type = "gem"; + }; + version = "2.2.1"; + }; + json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5"; + type = "gem"; + }; + version = "1.8.6"; + }; + json-jwt = { + dependencies = ["activesupport" "aes_key_wrap" "bindata"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "065k7vffdki73f4nz89lxi6wxmcw5dlf593831pgvlbralll6x3r"; + type = "gem"; + }; + version = "1.9.4"; + }; + json-schema = { + dependencies = ["addressable"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11di8qyam6bmqn0fvvvf3crgaqy4sil0d406ymx0jacn3ff98ymz"; + type = "gem"; + }; + version = "2.8.0"; + }; + jwt = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "124zz1142bi2if7hl5pcrcamwchv4icyr5kaal9m2q6wqbdl6aw4"; + type = "gem"; + }; + version = "1.5.6"; + }; + kaminari = { + dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0invfvfb252ihsdr65rylkvd1x2wy004jval52v3i8ybb0jhc5hi"; + type = "gem"; + }; + version = "1.0.1"; + }; + kaminari-actionview = { + dependencies = ["actionview" "kaminari-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mhhsm6xhmwqc7hfw7xnk1kdbfg468bqs5awcqm5j6j8b9zyjvdi"; + type = "gem"; + }; + version = "1.0.1"; + }; + kaminari-activerecord = { + dependencies = ["activerecord" "kaminari-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kb5aj6iy1cwcq5548jd3w1ipxicnzmnx2ay1s4hvad2gvrd4g93"; + type = "gem"; + }; + version = "1.0.1"; + }; + kaminari-core = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r2n293ad1xr9wgn8cr53nfzwls4w3p1xi4kjfjgl1z0yf05mpwr"; + type = "gem"; + }; + version = "1.0.1"; + }; + kgio = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y6wl3vpp82rdv5g340zjgkmy6fny61wib7xylyg0d09k5f26118"; + type = "gem"; + }; + version = "2.10.0"; + }; + knapsack = { + dependencies = ["rake"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q2y7mb8ii1ncdrlp46l9v2x909gdnjaid2dg5gcicj39hna36di"; + type = "gem"; + }; + version = "1.16.0"; + }; + kubeclient = { + dependencies = ["http" "recursive-open-struct" "rest-client"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1czzdp9lfsrah2jkaddkqzmphyvnk096zm1ra6jddh626d8d53r4"; + type = "gem"; + }; + version = "3.1.0"; + }; + launchy = { + dependencies = ["addressable"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2"; + type = "gem"; + }; + version = "2.4.3"; + }; + letter_opener = { + dependencies = ["launchy"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pcrdbxvp2x5six8fqn8gf09bn9rd3jga76ds205yph5m8fsda21"; + type = "gem"; + }; + version = "1.4.1"; + }; + letter_opener_web = { + dependencies = ["actionmailer" "letter_opener" "railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "050x5cwqbxj2cydd2pzy9vfhmpgn1w6lfbwjaax1m1vpkn3xg9bv"; + type = "gem"; + }; + version = "1.3.0"; + }; + license_finder = { + dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01rhqm5m3m22gq6q9f1x9fh3x3wrf9khnnsycblj0xg5frdjv77v"; + type = "gem"; + }; + version = "5.4.0"; + }; + licensee = { + dependencies = ["rugged"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0w6d2smhg3kzcx4m2ii06akakypwhiglansk51bpx290hhc8h3pc"; + type = "gem"; + }; + version = "8.9.2"; + }; + little-plugger = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; + type = "gem"; + }; + version = "1.1.4"; + }; + locale = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sls9bq4krx0fmnzmlbn64dw23c4d6pz46ynjzrn9k8zyassdd0x"; + type = "gem"; + }; + version = "2.1.2"; + }; + logging = { + dependencies = ["little-plugger" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; + type = "gem"; + }; + version = "2.2.2"; + }; + lograge = { + dependencies = ["actionpack" "activesupport" "railties" "request_store"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00lcn7s3slfn32di4qwlx2yj5f9r2pcnd0naxrvqqwypcg1z2sdd"; + type = "gem"; + }; + version = "0.10.0"; + }; + loofah = { + dependencies = ["crass" "nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yjs6wbcj3n06d3xjqpy3qbpx0bfa12h3x2rbpc2k33ldjlkx6zy"; + type = "gem"; + }; + version = "2.2.2"; + }; + mail = { + dependencies = ["mini_mime"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz"; + type = "gem"; + }; + version = "2.7.0"; + }; + mail_room = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16b8yjd1if665mwaindwys06nkkcs0jw3dcsqvn6qbp6alfigqaa"; + type = "gem"; + }; + version = "0.9.1"; + }; + memoist = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh"; + type = "gem"; + }; + version = "0.16.0"; + }; + memoizable = { + dependencies = ["thread_safe"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; + type = "gem"; + }; + version = "0.4.2"; + }; + method_source = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xqj21j3vfq4ldia6i2akhn2qd84m0iqcnsl49kfpq3xk6x0dzgn"; + type = "gem"; + }; + version = "0.9.0"; + }; + mime-types = { + dependencies = ["mime-types-data"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m"; + type = "gem"; + }; + version = "3.1"; + }; + mime-types-data = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm"; + type = "gem"; + }; + version = "3.2016.0521"; + }; + mimemagic = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9"; + type = "gem"; + }; + version = "0.3.0"; + }; + mini_magick = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1djxfs9rxw6q6vr6wb4ndxhp1vj1zbwb55s1kf6mz9bzgmswqg0n"; + type = "gem"; + }; + version = "4.8.0"; + }; + mini_mime = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lwhlvjqaqfm6k3ms4v29sby9y7m518ylsqz2j74i740715yl5c8"; + type = "gem"; + }; + version = "1.0.0"; + }; + mini_portile2 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + type = "gem"; + }; + version = "2.3.0"; + }; + minitest = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8"; + type = "gem"; + }; + version = "5.7.0"; + }; + mousetrap-rails = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m"; + type = "gem"; + }; + version = "1.4.6"; + }; + msgpack = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + type = "gem"; + }; + version = "1.2.4"; + }; + multi_json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + type = "gem"; + }; + version = "1.13.1"; + }; + multi_xml = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; + type = "gem"; + }; + version = "0.6.0"; + }; + multipart-post = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; + type = "gem"; + }; + version = "2.0.0"; + }; + mustermann = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07sb7fckrraqh48fjnqf6yl7vxxabfx0qrsrhfdz67pd838g4k8g"; + type = "gem"; + }; + version = "1.0.2"; + }; + mustermann-grape = { + dependencies = ["mustermann"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10xdggddjl8nraq7pbli31lwgrzxzz8gp558i811lsv71fqbmhzr"; + type = "gem"; + }; + version = "1.0.0"; + }; + mysql2 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qjd97w6a0w9aldsrhb2y6jrc4wnnlbj5j8kcl7pp7vviwa0r5iq"; + type = "gem"; + }; + version = "0.4.10"; + }; + net-ldap = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fh4l8zfsrvghanpnjxk944k7yl093qpw4759xs6f1v9kb73ihfq"; + type = "gem"; + }; + version = "0.16.0"; + }; + net-ntp = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z96m7nnb9f634cz4i6p0x89z7g9i9h97cnk5f3x3q5x090kzisv"; + type = "gem"; + }; + version = "2.1.3"; + }; + net-ssh = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hj2i8rk5wb6235r5n19in1hkrp1fbz2bf40xmagavb5ahv7205w"; + type = "gem"; + }; + version = "5.0.1"; + }; + netrc = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; + type = "gem"; + }; + version = "0.11.0"; + }; + nokogiri = { + dependencies = ["mini_portile2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h9nml9h3m0mpvmh8jfnqvblnz5n5y3mmhgfc38avfmfzdrq9bgc"; + type = "gem"; + }; + version = "1.8.4"; + }; + nokogumbo = { + dependencies = ["nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09qc1c7acv9qm48vk2kzvnrq4ij8jrql1cv33nmv2nwmlggy0jyj"; + type = "gem"; + }; + version = "1.5.0"; + }; + numerizer = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vrk9jbv4p4dcz0wzr72wrf5kajblhc5l9qf7adbcwi4qvz9xv0h"; + type = "gem"; + }; + version = "0.1.1"; + }; + oauth = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y"; + type = "gem"; + }; + version = "0.5.4"; + }; + oauth2 = { + dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "094hmmfms8vpm6nwglpl7jmlv85nlfzl0kik4fizgx1rg70a6mr5"; + type = "gem"; + }; + version = "1.4.0"; + }; + octokit = { + dependencies = ["sawyer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ssn5iyax07a22mvmj0y45bfy8ali129bl1qmasp6bcg03bvk298"; + type = "gem"; + }; + version = "4.9.0"; + }; + omniauth = { + dependencies = ["hashie" "rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; + type = "gem"; + }; + version = "1.8.1"; + }; + omniauth-auth0 = { + dependencies = ["omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0id5gn14av81kh41cq4q6c9knyvzl7vc4rs3m4pmpd43g2z6jdw2"; + type = "gem"; + }; + version = "2.0.0"; + }; + omniauth-authentiq = { + dependencies = ["jwt" "omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k7vajxwplsp188xfj4mi9iqbc7f7djqh02by4mphc51hl87kcqi"; + type = "gem"; + }; + version = "0.3.3"; + }; + omniauth-azure-oauth2 = { + dependencies = ["jwt" "omniauth" "omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ck5616fjik0dw89xvak1mi8ijcv10lsh6n9h4107l5dys2g3jfx"; + type = "gem"; + }; + version = "0.0.9"; + }; + omniauth-cas3 = { + dependencies = ["addressable" "nokogiri" "omniauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "191b4jm4djmmy54yxfxj3c889r2wn3g6sfsdj6l1rjy0kw1m2qgx"; + type = "gem"; + }; + version = "1.1.4"; + }; + omniauth-facebook = { + dependencies = ["omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03zjla9i446fk1jkw7arh67c39jfhp5bhkmhvbw8vczxr1jkbbh5"; + type = "gem"; + }; + version = "4.0.0"; + }; + omniauth-github = { + dependencies = ["omniauth" "omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yg7k4p95ybcsii17spqarl8rpfzkq0kb19ab6wl4lc922zgfbqc"; + type = "gem"; + }; + version = "1.3.0"; + }; + omniauth-gitlab = { + dependencies = ["omniauth" "omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19ydk2zd2mz8zi80z3l03pajpm9357sg3lrankrcb3pirkkdb9fp"; + type = "gem"; + }; + version = "1.0.3"; + }; + omniauth-google-oauth2 = { + dependencies = ["jwt" "omniauth" "omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rvdac08vgrxcblq8w2hqj080v2cwv3cigxdzs11gz4d538zjnym"; + type = "gem"; + }; + version = "0.5.3"; + }; + omniauth-kerberos = { + dependencies = ["omniauth-multipassword" "timfel-krb5-auth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05xsv76qjxcxzrvabaar2bchv7435y8l2j0wk4zgchh3yv85kiq7"; + type = "gem"; + }; + version = "0.3.0"; + }; + omniauth-multipassword = { + dependencies = ["omniauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qykp76hw80lkgb39hyzrv68hkbivc8cv0vbvrnycjh9fwfp1lv8"; + type = "gem"; + }; + version = "0.4.2"; + }; + omniauth-oauth = { + dependencies = ["oauth" "omniauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n5vk4by7hkyc09d9blrw2argry5awpw4gbw1l4n2s9b3j4qz037"; + type = "gem"; + }; + version = "1.1.0"; + }; + omniauth-oauth2 = { + dependencies = ["oauth2" "omniauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr"; + type = "gem"; + }; + version = "1.5.0"; + }; + omniauth-oauth2-generic = { + dependencies = ["omniauth-oauth2"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m6vpip3rm1spx1x9y1kjczzailsph1xqgaakqylzq3jqkv18273"; + type = "gem"; + }; + version = "0.2.2"; + }; + omniauth-saml = { + dependencies = ["omniauth" "ruby-saml"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17lji8i4q9k3yi8lmjwlw8rfpp2sc74jv8d6flgq85lg5brfqq1p"; + type = "gem"; + }; + version = "1.10.0"; + }; + omniauth-shibboleth = { + dependencies = ["omniauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04yin7j8xpr8llvank3ivzahqkc6ss5bppc7q6znzdswxmf75fxh"; + type = "gem"; + }; + version = "1.3.0"; + }; + omniauth-twitter = { + dependencies = ["omniauth-oauth" "rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; + type = "gem"; + }; + version = "1.4.0"; + }; + omniauth_crowd = { + dependencies = ["activesupport" "nokogiri" "omniauth"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12g5ck05h6kr9mnp870x8pkxsadg81ca70hg8n3k8xx007lfw2q7"; + type = "gem"; + }; + version = "2.2.3"; + }; + org-ruby = { + dependencies = ["rubypants"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk"; + type = "gem"; + }; + version = "0.9.12"; + }; + orm_adapter = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fg9jpjlzf5y49qs9mlpdrgs5rpcyihq1s4k79nv9js0spjhnpda"; + type = "gem"; + }; + version = "0.5.0"; + }; + os = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz"; + type = "gem"; + }; + version = "0.9.6"; + }; + parallel = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67"; + type = "gem"; + }; + version = "1.12.1"; + }; + parser = { + dependencies = ["ast"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1af7aa1c2npi8dkshgm3f8qyacabm94ckrdz7b8vd3f8zzswqzp9"; + type = "gem"; + }; + version = "2.5.1.0"; + }; + parslet = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12nrzfwjphjlakb9pmpj70hgjwgzvnr8i1zfzddifgyd44vspl88"; + type = "gem"; + }; + version = "1.8.2"; + }; + peek = { + dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1998vcsli215d6qrn9821gr2qip60xki2p7n2dpn8i1n68hyshcn"; + type = "gem"; + }; + version = "1.0.1"; + }; + peek-gc = { + dependencies = ["peek"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "094h3mr9q8wzbqsj0girpyjvj4bcxax8m438igp42n75xv0bhwi9"; + type = "gem"; + }; + version = "0.0.2"; + }; + peek-mysql2 = { + dependencies = ["atomic" "mysql2" "peek"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bb2fzx3dwj7k6sc87jwhjk8vzp8dskv49j141xx15vvkg603j8k"; + type = "gem"; + }; + version = "1.1.0"; + }; + peek-pg = { + dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17yk8xrh7yh57wg6vi3s8km9qd9f910n94r511mdyqd7aizlfb7c"; + type = "gem"; + }; + version = "1.3.0"; + }; + peek-rblineprof = { + dependencies = ["peek" "rblineprof"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ywk1gvsnhrkhqq2ibwsg7099kg5m2vs4nmzy0wf65kb0ywl0m9c"; + type = "gem"; + }; + version = "0.2.0"; + }; + peek-redis = { + dependencies = ["atomic" "peek" "redis"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v91cni591d9wdrmvgam20gr3504x84mh1l95da4rz5a9436jm33"; + type = "gem"; + }; + version = "1.2.0"; + }; + peek-sidekiq = { + dependencies = ["atomic" "peek" "sidekiq"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y7s32p6cp66z1hpd1wcv4crmvvvcag5i39aazclckjsfpdfn24x"; + type = "gem"; + }; + version = "1.0.3"; + }; + pg = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32"; + type = "gem"; + }; + version = "0.18.4"; + }; + po_to_json = { + dependencies = ["json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xvanl437305mry1gd57yvcg7xrfhri91czr32bjr8j2djm8hwba"; + type = "gem"; + }; + version = "1.0.1"; + }; + posix-spawn = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw"; + type = "gem"; + }; + version = "0.3.13"; + }; + powerpack = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43"; + type = "gem"; + }; + version = "0.1.1"; + }; + premailer = { + dependencies = ["addressable" "css_parser" "htmlentities"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10w6f7r6snpkcnv3byxma9b08lyqzcfxkm083scb2dr2ly4xkzyf"; + type = "gem"; + }; + version = "1.10.4"; + }; + premailer-rails = { + dependencies = ["actionmailer" "premailer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05czxmx6hnykg6g23hy2ww2bf86a69njbi02sv7lrds4w776jhim"; + type = "gem"; + }; + version = "1.9.7"; + }; + proc_to_ast = { + dependencies = ["coderay" "parser" "unparser"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14c65w48bbzp5lh1cngqd1y25kqvfnq1iy49hlzshl12dsk3z9wj"; + type = "gem"; + }; + version = "0.1.0"; + }; + procto = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c"; + type = "gem"; + }; + version = "0.0.3"; + }; + prometheus-client-mmap = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14ww8c2qy43jw3fzmq54hsljmqmlx9a7zg9sv6ddw48qy118ls10"; + type = "gem"; + }; + version = "0.9.4"; + }; + pry = { + dependencies = ["coderay" "method_source"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g"; + type = "gem"; + }; + version = "0.11.3"; + }; + pry-byebug = { + dependencies = ["byebug" "pry"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g820bqmlq8vvh78895zgrzgmj3g6n63px7cba11s02lpz56630n"; + type = "gem"; + }; + version = "3.4.3"; + }; + pry-rails = { + dependencies = ["pry"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v8xlzzb535k7wcl0vrpday237xwc04rr9v3gviqzasl7ydw32x6"; + type = "gem"; + }; + version = "0.3.5"; + }; + public_suffix = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s"; + type = "gem"; + }; + version = "3.0.2"; + }; + pyu-ruby-sasl = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rcpjiz9lrvyb3rd8k8qni0v4ps08psympffyldmmnrqayyad0sn"; + type = "gem"; + }; + version = "0.0.3.3"; + }; + rack = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0in0amn0kwvzmi8h5zg6ijrx5wpsf8h96zrfmnk1kwh2ql4sxs2q"; + type = "gem"; + }; + version = "1.6.10"; + }; + rack-accept = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936"; + type = "gem"; + }; + version = "0.4.5"; + }; + rack-attack = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1"; + type = "gem"; + }; + version = "4.4.1"; + }; + rack-cors = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j27vy1bmhbqcyzhxg8d07qassmax769xjalfwcwz6qfiq8cf013"; + type = "gem"; + }; + version = "1.0.2"; + }; + rack-oauth2 = { + dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j7fh3fyajpfwg47gyfd8spavn7lmd6dcm468w7lhnhcviy5vmyf"; + type = "gem"; + }; + version = "1.2.3"; + }; + rack-protection = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ywmgh7x8ljf7jfnq5hmfzki3f803waji3fcvi107w7mlyflbng7"; + type = "gem"; + }; + version = "2.0.1"; + }; + rack-proxy = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bpbcb9ch94ha2q7gdri88ry7ch0z6ian289kah9ayxyqg19j6f4"; + type = "gem"; + }; + version = "0.6.0"; + }; + rack-test = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; + type = "gem"; + }; + version = "0.6.3"; + }; + rails = { + dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15vbdlkmlh470g7msqhmcmhxhi4finv3cjg595x9viafvphnf40l"; + type = "gem"; + }; + version = "4.2.10"; + }; + rails-deprecated_sanitizer = { + dependencies = ["activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj"; + type = "gem"; + }; + version = "1.0.3"; + }; + rails-dom-testing = { + dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wssfqpn00byhvp2372p99mphkcj8qx6pf6646avwr9ifvq0q1x6"; + type = "gem"; + }; + version = "1.0.9"; + }; + rails-html-sanitizer = { + dependencies = ["loofah"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr"; + type = "gem"; + }; + version = "1.0.4"; + }; + rails-i18n = { + dependencies = ["i18n" "railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17a02f2671pw5r2hl2n3isiz6w9wy2dxq8g52srciyl1xcmvsw01"; + type = "gem"; + }; + version = "4.0.9"; + }; + railties = { + dependencies = ["actionpack" "activesupport" "rake" "thor"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0snymfqj2cql0gp51i6a44avcirdridc15yggnxjj9raa9f3229p"; + type = "gem"; + }; + version = "4.2.10"; + }; + rainbow = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; + type = "gem"; + }; + version = "3.0.0"; + }; + raindrops = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0854mial50yhvdv0d2r41xxl47v7z2f4nx49js42hygv7rf1mscz"; + type = "gem"; + }; + version = "0.18.0"; + }; + rake = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; + type = "gem"; + }; + version = "12.3.1"; + }; + rb-fsevent = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fbpmjypwxkb8r7y1kmhmyp6gawa4byw0yb3jc3dn9ly4ld9lizf"; + type = "gem"; + }; + version = "0.10.2"; + }; + rb-inotify = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + type = "gem"; + }; + version = "0.9.10"; + }; + rblineprof = { + dependencies = ["debugger-ruby_core_source"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6"; + type = "gem"; + }; + version = "0.3.6"; + }; + rbtrace = { + dependencies = ["ffi" "msgpack" "trollop"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj9xwazjp0g0fmhvc918irzcp2wyciwqzr0y199vc7r5qdr4sqv"; + type = "gem"; + }; + version = "0.4.10"; + }; + rdoc = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0anv42cqcdc6g4n386mrva7mgav5i0c2ry3yzvzzc6z6hymkmcr7"; + type = "gem"; + }; + version = "6.0.4"; + }; + re2 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00wf9k1hkv3z3nfkrnfyyfq9ah0l7k14awqys3h2hqz4c21pqd2i"; + type = "gem"; + }; + version = "1.1.1"; + }; + recaptcha = { + dependencies = ["json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pppfgica4629i8gbji6pnh681wjf03m6m1ix2ficpnqg2z7gl9n"; + type = "gem"; + }; + version = "3.0.0"; + }; + recursive-open-struct = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wfcyigmf5mwrxy76p0bi4sdb4h9afs8jc73pjav5cnqszljjl3c"; + type = "gem"; + }; + version = "1.1.0"; + }; + redcarpet = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; + type = "gem"; + }; + version = "3.4.0"; + }; + RedCloth = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy"; + type = "gem"; + }; + version = "4.3.2"; + }; + redis = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i415x8gi0c5vsiy6ikvx5js6fhc4x80a5lqv8iidy2iymd20irv"; + type = "gem"; + }; + version = "3.3.5"; + }; + redis-actionpack = { + dependencies = ["actionpack" "redis-rack" "redis-store"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63"; + type = "gem"; + }; + version = "5.0.2"; + }; + redis-activesupport = { + dependencies = ["activesupport" "redis-store"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rq5dhrzc1l8c7f5gx9r7mvnsk5206dfwih3yv5si5rf42nx2ay5"; + type = "gem"; + }; + version = "5.0.4"; + }; + redis-namespace = { + dependencies = ["redis"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r7daagrjjribn098dxwbv9zivrbq2rsffbkj2ccxyn9lmjjbgah"; + type = "gem"; + }; + version = "1.6.0"; + }; + redis-rack = { + dependencies = ["rack" "redis-store"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0px0wv8zripc6lrn3k0k61j6nlxda145q8sz50yvnig17wlk36gb"; + type = "gem"; + }; + version = "2.0.4"; + }; + redis-rails = { + dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hjvkyaw5hgz7v6fgwdk8pb966z44h1gv8jarmb0gwhkqmjnsh40"; + type = "gem"; + }; + version = "5.0.2"; + }; + redis-store = { + dependencies = ["redis"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00yh8rhv91vxjlqs4ylic99m9npjxmgib2vjj8hgzk1174y6vcmq"; + type = "gem"; + }; + version = "1.4.1"; + }; + regexp_parser = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1375q2v74cccjh290d9x28fdircvy18v6h0ww7a8i66qhh1jf2pb"; + type = "gem"; + }; + version = "0.5.0"; + }; + representable = { + dependencies = ["declarative" "declarative-option" "uber"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07"; + type = "gem"; + }; + version = "3.0.4"; + }; + request_store = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1va9x0b3ww4chcfqlmi8b14db39di1mwa7qrjbh7ma0lhndvs2zv"; + type = "gem"; + }; + version = "1.3.1"; + }; + responders = { + dependencies = ["actionpack" "railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rhdyyvvm26f2l3fgwdp6xasfl2y0whwgy766bhdwz697mf78zfn"; + type = "gem"; + }; + version = "2.4.0"; + }; + rest-client = { + dependencies = ["http-cookie" "mime-types" "netrc"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j"; + type = "gem"; + }; + version = "2.0.2"; + }; + retriable = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha"; + type = "gem"; + }; + version = "3.1.2"; + }; + rinku = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11cakxzp7qi04d41hbqkh92n52mm4z2ba8sqyhxbmfi4kypmls9y"; + type = "gem"; + }; + version = "2.0.0"; + }; + rotp = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1w8d6svhq3y9y952r8cqirxvdx12zlkb7zxjb44bcbidb2sisy4d"; + type = "gem"; + }; + version = "2.1.2"; + }; + rouge = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h79gn2wmn1wix2d27lgiaimccyj8gvizrllyym500pir408x62f"; + type = "gem"; + }; + version = "3.2.1"; + }; + rqrcode = { + dependencies = ["chunky_png"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb"; + type = "gem"; + }; + version = "0.7.0"; + }; + rqrcode-rails3 = { + dependencies = ["rqrcode"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg"; + type = "gem"; + }; + version = "0.1.7"; + }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0134g96wzxjlig2gxzd240gm2dxfw8izcyi2h6hjmr40syzcyx01"; + type = "gem"; + }; + version = "3.7.0"; + }; + rspec-core = { + dependencies = ["rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zvjbymx3avxm3lf8v4gka3a862vnaxldmwvp6767bpy48nhnvjj"; + type = "gem"; + }; + version = "3.7.1"; + }; + rspec-expectations = { + dependencies = ["diff-lcs" "rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fw06wm8jdj8k7wrb8xmzj0fr1wjyb0ya13x31hidnyblm41hmvy"; + type = "gem"; + }; + version = "3.7.0"; + }; + rspec-mocks = { + dependencies = ["diff-lcs" "rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b02ya3qhqgmcywqv4570dlhav70r656f7dmvwg89whpkq1z1xr3"; + type = "gem"; + }; + version = "3.7.0"; + }; + rspec-parameterized = { + dependencies = ["binding_of_caller" "parser" "proc_to_ast" "rspec" "unparser"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0arynbr6cfjhccwc8gy2xf87nybdnncsnmfwknnh8s7d4mj730p0"; + type = "gem"; + }; + version = "0.4.0"; + }; + rspec-rails = { + dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cdcnbv5dppwy3b4jdp5a0wd9m07a8wlqwb9yazn8i7k1k2mwgvx"; + type = "gem"; + }; + version = "3.7.2"; + }; + rspec-retry = { + dependencies = ["rspec-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0izvxab7jvk25kaprk0i72asjyh1ip3cm70bgxlm8lpid35qjar6"; + type = "gem"; + }; + version = "0.4.5"; + }; + rspec-set = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06vw8b5w1a58838cw9ssmy3r6f8vrjh54h7dp97rwv831gn5zlyk"; + type = "gem"; + }; + version = "0.1.3"; + }; + rspec-support = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nl30xb6jmcl0awhqp6jycl01wdssblifwy921phfml70rd9flj1"; + type = "gem"; + }; + version = "3.7.1"; + }; + rspec_junit_formatter = { + dependencies = ["builder" "rspec-core"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hphl8iggqh1mpbbv0avf8735x6jgry5wmkqyzgv1zwnimvja1ai"; + type = "gem"; + }; + version = "0.2.3"; + }; + rspec_profiling = { + dependencies = ["activerecord" "pg" "rails" "sqlite3"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g7q7gav26bpiprx4dhlvdh4zdrhwiky9jbmsp14gyfiabqdz4sz"; + type = "gem"; + }; + version = "0.0.5"; + }; + rubocop = { + dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "106y99lq0fg62k3vk1w5wwb4vq16pnh4l61skc82xck627z0h8is"; + type = "gem"; + }; + version = "0.54.0"; + }; + rubocop-gitlab-security = { + dependencies = ["rubocop"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v0040kpx46fxz3p7dsdjgvsx89qjhwy17n8vxnqg9a7g1rfvxln"; + type = "gem"; + }; + version = "0.1.1"; + }; + rubocop-rspec = { + dependencies = ["rubocop"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vk51h9swvgshan8vp8yjz03qv9vn5vs29i9iddhjwcwgzsganla"; + type = "gem"; + }; + version = "1.22.2"; + }; + ruby-enum = { + dependencies = ["i18n"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h62avini866kxpjzqxlqnajma3yvj0y25l6hn9h2mv5pp6fcrhx"; + type = "gem"; + }; + version = "0.7.2"; + }; + ruby-fogbugz = { + dependencies = ["crack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jj0gpkycbrivkh2q3429vj6mbgx6axxisg69slj3c4mgvzfgchm"; + type = "gem"; + }; + version = "0.2.1"; + }; + ruby-prof = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02z4lh1iv1d8751a1l6r4hfc9mp61gf80g4qc4l6gbync3j3hf2c"; + type = "gem"; + }; + version = "0.17.0"; + }; + ruby-progressbar = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk"; + type = "gem"; + }; + version = "1.9.0"; + }; + ruby-saml = { + dependencies = ["nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k9d88fa8bp5szivbwq0qi960y3r2kp6jhnkmsp3n2rvwpn936i3"; + type = "gem"; + }; + version = "1.7.2"; + }; + ruby_parser = { + dependencies = ["sexp_processor"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18apbsmmivgc1schfxmkp429aijrwy8psm30dwx5cpmpjf48ir3n"; + type = "gem"; + }; + version = "3.9.0"; + }; + rubyntlm = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy"; + type = "gem"; + }; + version = "0.6.2"; + }; + rubypants = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vpdkrc4c8qhrxph41wqwswl28q5h5h994gy4c1mlrckqzm3hzph"; + type = "gem"; + }; + version = "0.2.0"; + }; + rubyzip = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; + type = "gem"; + }; + version = "1.2.2"; + }; + rufus-scheduler = { + dependencies = ["et-orbi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0343xrx4gbld5w2ydh9d2a7pw7lllvrsa691bgjq7p9g44ry1vq8"; + type = "gem"; + }; + version = "3.4.0"; + }; + rugged = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y6k5yrfmhc1v4albbpa3xzl28vk5lric3si8ada28sp9mmk2x72"; + type = "gem"; + }; + version = "0.27.4"; + }; + safe_yaml = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + type = "gem"; + }; + version = "1.0.4"; + }; + sanitize = { + dependencies = ["crass" "nokogiri" "nokogumbo"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j4j2a2mkk1a70vbx959pvx0gvr1zb9snjwvsppwj28bp0p0b2bv"; + type = "gem"; + }; + version = "4.6.6"; + }; + sass = { + dependencies = ["sass-listen"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10401m2xlv6vaxfwzy4xxmk51ddcnkvwi918cw3jkki0qqdl7d8v"; + type = "gem"; + }; + version = "3.5.5"; + }; + sass-listen = { + dependencies = ["rb-fsevent" "rb-inotify"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; + type = "gem"; + }; + version = "4.0.0"; + }; + sass-rails = { + dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb"; + type = "gem"; + }; + version = "5.0.6"; + }; + sawyer = { + dependencies = ["addressable" "faraday"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; + type = "gem"; + }; + version = "0.8.1"; + }; + scss_lint = { + dependencies = ["rake" "sass"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01bfkrjn1i0hfg1ifwn1rs7vqwdbdw158krwr5fm6iasd9zgl10g"; + type = "gem"; + }; + version = "0.56.0"; + }; + seed-fu = { + dependencies = ["activerecord" "activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x6gclryl0hds3zms095d2iyafcvm2kfrm7362vrkxws7r2775pi"; + type = "gem"; + }; + version = "2.3.7"; + }; + select2-rails = { + dependencies = ["thor"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ni2k74n73y3gv56gs37gkjlh912szjf6k9j483wz41m3xvlz7fj"; + type = "gem"; + }; + version = "3.5.9.3"; + }; + selenium-webdriver = { + dependencies = ["childprocess" "rubyzip"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07bl3wjkf254r3ljfl4qdazz5aw60s6nqjwrbbgq754j9b7226kz"; + type = "gem"; + }; + version = "3.12.0"; + }; + sentry-raven = { + dependencies = ["faraday"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yf2gysjw6sy1xcp2jw35z9cp83pwx33lq0qyvaqbs969j4993r4"; + type = "gem"; + }; + version = "2.7.2"; + }; + settingslogic = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ria5zcrk1nf0b9yia15mdpzw0dqr6wjpbj8dsdbbps81lfsj9ar"; + type = "gem"; + }; + version = "2.0.9"; + }; + sexp_processor = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c6kp2qxq550hz7gsxqi37irxn3vynkz7ibgy9hfwqymf6y1jdik"; + type = "gem"; + }; + version = "4.9.0"; + }; + sham_rack = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zs6hpgg87x5jrykjxgfp2i7m5aja53s5kamdhxam16wki1hid3i"; + type = "gem"; + }; + version = "1.3.6"; + }; + shoulda-matchers = { + dependencies = ["activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a"; + type = "gem"; + }; + version = "3.1.2"; + }; + sidekiq = { + dependencies = ["concurrent-ruby" "connection_pool" "rack-protection" "redis"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0af7sh9ckds36wv80azlanw1ch29nbvr1w3m00mlj1hbk2il6cxh"; + type = "gem"; + }; + version = "5.1.3"; + }; + sidekiq-cron = { + dependencies = ["rufus-scheduler" "sidekiq"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04mq83rzvq4wbc4h0rn00sawgv039j8s2p0wnlqb4sgf55gc0dzj"; + type = "gem"; + }; + version = "0.6.0"; + }; + sidekiq-limit_fetch = { + dependencies = ["sidekiq"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ykpqw2nc9fs4v0slk5n4m42n3ihwwkk5mcyw3rz51blrdzj92kr"; + type = "gem"; + }; + version = "3.4.0"; + }; + signet = { + dependencies = ["addressable" "faraday" "jwt" "multi_json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv"; + type = "gem"; + }; + version = "0.8.1"; + }; + simple_po_parser = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08wkp4gcrd89k5yari9j94if9ffkj3rka4llcwrhdgsi3l15p5f3"; + type = "gem"; + }; + version = "1.1.2"; + }; + simplecov = { + dependencies = ["docile" "json" "simplecov-html"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww"; + type = "gem"; + }; + version = "0.14.1"; + }; + simplecov-html = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qni8g0xxglkx25w54qcfbi4wjkpvmb28cb7rj5zk3iqynjcdrqf"; + type = "gem"; + }; + version = "0.10.0"; + }; + slack-notifier = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xavibxh00gy62mm79l6id9l2fldjmdqifk8alqfqy5z38ffwah6"; + type = "gem"; + }; + version = "1.5.1"; + }; + spring = { + dependencies = ["activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wwbyg2nab2k4hdpd1i65qmnfixry29b4yqynrqfnmjghn0xvc7x"; + type = "gem"; + }; + version = "2.0.1"; + }; + spring-commands-rspec = { + dependencies = ["spring"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2"; + type = "gem"; + }; + version = "1.0.4"; + }; + sprockets = { + dependencies = ["concurrent-ruby" "rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; + type = "gem"; + }; + version = "3.7.2"; + }; + sprockets-rails = { + dependencies = ["actionpack" "activesupport" "sprockets"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1"; + type = "gem"; + }; + version = "3.2.1"; + }; + sqlite3 = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i"; + type = "gem"; + }; + version = "1.3.13"; + }; + sshkey = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g02lh50jd5z4l9bp7xirnfn3n1dh9lr06dv3xh0kr3yhsny059h"; + type = "gem"; + }; + version = "1.9.0"; + }; + stackprof = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c88j2d6ipjw5s3hgdgfww37gysgrkicawagj33hv3knijjc9ski"; + type = "gem"; + }; + version = "0.2.10"; + }; + state_machines = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00mi16hg3rhkxz4y58s173cbnjlba41y9bfcim90p4ja6yfj9ri3"; + type = "gem"; + }; + version = "0.5.0"; + }; + state_machines-activemodel = { + dependencies = ["activemodel" "state_machines"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0chhm5hs1y83dq8haff10m66r3yrm7jab35r9xg6adn6qd8ynv2l"; + type = "gem"; + }; + version = "0.5.1"; + }; + state_machines-activerecord = { + dependencies = ["activerecord" "state_machines-activemodel"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00h07gd4kb22ahgv61r8zca9hqxaw44fnk2sc28j00c1nmwsw6r3"; + type = "gem"; + }; + version = "0.5.1"; + }; + stringex = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c5dfrjzkskzfsdvwsviq4111rwwpbk9022nxwdidz014mky5vi1"; + type = "gem"; + }; + version = "2.8.4"; + }; + sys-filesystem = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "092wj7936i5inzafi09wqh5c8dbak588q21k652dsrdjf5qi10zq"; + type = "gem"; + }; + version = "1.1.6"; + }; + sysexits = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr"; + type = "gem"; + }; + version = "1.2.0"; + }; + temple = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; + type = "gem"; + }; + version = "0.8.0"; + }; + test-prof = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08nvn3c1mzgcjgk9lr3py0zjd8fjjrm3ncn9rpqkfbx429mgw2l3"; + type = "gem"; + }; + version = "0.2.5"; + }; + test_after_commit = { + dependencies = ["activerecord"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s8pz00xq28lsa1rfczm83yqwk8wcb5dqw2imlj8gldnsdapcyc2"; + type = "gem"; + }; + version = "1.1.0"; + }; + text = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x6kkmsr49y3rnrin91rv8mpc3dhrf3ql08kbccw8yffq61brfrg"; + type = "gem"; + }; + version = "1.3.1"; + }; + thin = { + dependencies = ["daemons" "eventmachine" "rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dq9q7qyjyg4444bmn12r2s0mir8dqnvc037y0zidhbyaavrv95q"; + type = "gem"; + }; + version = "1.7.0"; + }; + thor = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns"; + type = "gem"; + }; + version = "0.19.4"; + }; + thread_safe = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; + tilt = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + type = "gem"; + }; + version = "2.0.8"; + }; + timecop = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vwbkwqyxhavzvr1820hqwz43ylnfcf6w4x6sag0nghi44sr9kmx"; + type = "gem"; + }; + version = "0.8.1"; + }; + timfel-krb5-auth = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "105vajc0jkqgcx1wbp0ad262sdry4l1irk7jpaawv8vzfjfqqf5b"; + type = "gem"; + }; + version = "0.8.3"; + }; + toml = { + dependencies = ["parslet"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xj460rkyqvg74xc8kivmbvgc46c6mm7r8mbjs5m2gq8khf8sbki"; + type = "gem"; + }; + version = "0.2.0"; + }; + toml-rb = { + dependencies = ["citrus"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pz6z1mc7rnv4chkbx3mdn4q1lpp0j596dq57kbq39jv0wn0wi4d"; + type = "gem"; + }; + version = "1.0.0"; + }; + trollop = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rzx9rkacpq58dsvbbzs4cpybls1v1h36xskkfs5q2askpdr00wq"; + type = "gem"; + }; + version = "2.1.3"; + }; + truncato = { + dependencies = ["htmlentities" "nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1x4fhfi4p7ah9sshfhbk9j145s1ailbyj0dxnvqirs9kk10x2d1b"; + type = "gem"; + }; + version = "0.7.10"; + }; + tzinfo = { + dependencies = ["thread_safe"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; + type = "gem"; + }; + version = "1.2.5"; + }; + u2f = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lsm1hvwcaa9sq13ab1l1zjk0fgcy951ay11v2acx0h6q1iv21vr"; + type = "gem"; + }; + version = "0.2.1"; + }; + uber = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv"; + type = "gem"; + }; + version = "0.1.0"; + }; + uglifier = { + dependencies = ["execjs" "json"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mzs64z3m1b98rh6ssxpqfz9sc87f6ml6906b0m57vydzfgrh1cz"; + type = "gem"; + }; + version = "2.7.2"; + }; + unf = { + dependencies = ["unf_ext"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06p1i6qhy34bpb8q8ms88y6f2kz86azwm098yvcc0nyqk9y729j1"; + type = "gem"; + }; + version = "0.0.7.5"; + }; + unicode-display_width = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x31fgv1acywbb50prp7y4fr677c2d9gsl6wxmfcrlxbwz7nxn5n"; + type = "gem"; + }; + version = "1.3.2"; + }; + unicorn = { + dependencies = ["kgio" "raindrops"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rcvg9381yw3wrnpny5c01mvm35caycshvfbg96wagjhscw6l72v"; + type = "gem"; + }; + version = "5.1.0"; + }; + unicorn-worker-killer = { + dependencies = ["get_process_mem" "unicorn"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rrdxpwdsapx47axjin8ymxb4f685qlpx8a26bql4ay1559c3gva"; + type = "gem"; + }; + version = "0.4.4"; + }; + uniform_notifier = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jha0l7x602g5rvah960xl9r0f3q25gslj39i0x1vai8i5z6zr1l"; + type = "gem"; + }; + version = "1.10.0"; + }; + unparser = { + dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k2asbk9k5kzq8jidy3frqcmn58i9cvaizn8f6g5xlx1pn70bx1w"; + type = "gem"; + }; + version = "0.2.7"; + }; + validates_hostname = { + dependencies = ["activerecord" "activesupport"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04p1l0v98j4ffvaks1ig9mygx5grpbpdgz7haq3mygva9iy8ykja"; + type = "gem"; + }; + version = "1.0.6"; + }; + version_sorter = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1smi0bf8pgx23014nkpfg29qnmlpgvwmn30q0ca7qrfbha2mjwdr"; + type = "gem"; + }; + version = "2.1.0"; + }; + virtus = { + dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06iphwi3c4f7y9i2rvhvaizfswqbaflilziz4dxqngrdysgkn1fk"; + type = "gem"; + }; + version = "1.0.5"; + }; + vmstat = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vb5mwc71p8rlm30hnll3lb4z70ipl5rmilskpdrq2mxwfilcm5b"; + type = "gem"; + }; + version = "2.3.0"; + }; + warden = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0va966lhpylcwbqb9n151kkihx30agh0a57mwjwdxyanll4s1q12"; + type = "gem"; + }; + version = "1.2.7"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04hkcqsmbfnp8g237pisnc834vpgildklicbjbyikqg0bg1rwcy5"; + type = "gem"; + }; + version = "2.3.2"; + }; + webpack-rails = { + dependencies = ["railties"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l0jzw05yk1c19q874nhkanrn2ik7hjbr2vjcdnk1fqp2f3ypzvv"; + type = "gem"; + }; + version = "0.9.10"; + }; + wikicloth = { + dependencies = ["builder" "expression_parser" "rinku"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jp6c2yzyqbap8jdiw8yz6l08sradky1llhyhmrg934l1b5akj3s"; + type = "gem"; + }; + version = "0.8.1"; + }; + with_env = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r5ns064mbb99hf1dyxsk9183hznc5i7mn3bi86zka6dlvqf9csh"; + type = "gem"; + }; + version = "1.1.0"; + }; + xml-simple = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xlqplda3fix5pcykzsyzwgnbamb3qrqkgbrhhfz2a2fxhrkvhw8"; + type = "gem"; + }; + version = "1.1.5"; + }; + xpath = { + dependencies = ["nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ha626m6fh50fpilb9pdnmq9xl586w7c0zyidg895c3iq13rqgyw"; + type = "gem"; + }; + version = "2.1.0"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 41809e83b457..5464f605cbdb 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -4,7 +4,7 @@ let # if you bump version, update pkgs.tortoisehg too or ping maintainer - version = "4.7.1"; + version = "4.7.2"; name = "mercurial-${version}"; inherit (python2Packages) docutils hg-git dulwich python; in python2Packages.buildPythonApplication { @@ -13,7 +13,7 @@ in python2Packages.buildPythonApplication { src = fetchurl { url = "https://mercurial-scm.org/release/${name}.tar.gz"; - sha256 = "03217dk8jh2ckrqqhqyahw44f5j2aq3kv03ba5v2b11i3hy3h0w5"; + sha256 = "1yq9r8s9jzj8hk2yizjk25s4w16yx9b8mbdj6wp8ld7j2r15kw4p"; }; inherit python; # pass it so that the same version can be used in hg2git diff --git a/pkgs/applications/version-management/redmine/Gemfile b/pkgs/applications/version-management/redmine/Gemfile index 744d6bfdd74e..a5c509f81a9a 100644 --- a/pkgs/applications/version-management/redmine/Gemfile +++ b/pkgs/applications/version-management/redmine/Gemfile @@ -54,60 +54,26 @@ platforms :mri, :mingw, :x64_mingw do end end -# Include database gems for the adapters found in the database -# configuration file -require 'erb' -require 'yaml' - -# NixOS - manually added to ensure mysql and postgres will always be include +# Include database gems for the database adapters NixOS supports gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw] gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw] -database_file = File.join(File.dirname(__FILE__), "config/database.yml") -if File.exist?(database_file) - database_config = YAML::load(ERB.new(IO.read(database_file)).result) - adapters = database_config.values.map {|c| c['adapter']}.compact.uniq - if adapters.any? - adapters.each do |adapter| - case adapter - when 'mysql2' - gem "mysql2", "~> 0.4.6", :platforms => [:mri, :mingw, :x64_mingw] - when /postgresql/ - gem "pg", "~> 0.18.1", :platforms => [:mri, :mingw, :x64_mingw] - when /sqlite3/ - gem "sqlite3", (RUBY_VERSION < "2.0" && RUBY_PLATFORM =~ /mingw/ ? "1.3.12" : "~>1.3.12"), - :platforms => [:mri, :mingw, :x64_mingw] - when /sqlserver/ - gem "tiny_tds", (RUBY_VERSION >= "2.0" ? "~> 1.0.5" : "~> 0.7.0"), :platforms => [:mri, :mingw, :x64_mingw] - gem "activerecord-sqlserver-adapter", :platforms => [:mri, :mingw, :x64_mingw] - else - warn("Unknown database adapter `#{adapter}` found in config/database.yml, use Gemfile.local to load your own database gems") - end - end - else - warn("No adapter found in config/database.yml, please configure it first") - end -else - warn("Please configure your config/database.yml first") +group :development do + gem "rdoc", "~> 4.3" + gem "yard" end -# NixOS - manually removed because I couldn't figure out how to get "bundle exec rails server webrick -e production" to ignore these groups -#group :development do -# gem "rdoc", "~> 4.3" -# gem "yard" -#end - -#group :test do -# gem "minitest" -# gem "rails-dom-testing" -# gem "mocha" -# gem "simplecov", "~> 0.9.1", :require => false -# # TODO: remove this after upgrading to Rails 5 -# gem "test_after_commit", "~> 0.4.2" -# # For running UI tests -# gem "capybara" -# gem "selenium-webdriver", "~> 2.53.4" -#end +group :test do + gem "minitest" + gem "rails-dom-testing" + gem "mocha" + gem "simplecov", "~> 0.9.1", :require => false + # TODO: remove this after upgrading to Rails 5 + gem "test_after_commit", "~> 0.4.2" + # For running UI tests + gem "capybara" + gem "selenium-webdriver", "~> 2.53.4" +end local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local") if File.exists?(local_gemfile) diff --git a/pkgs/applications/version-management/redmine/Gemfile.lock b/pkgs/applications/version-management/redmine/Gemfile.lock index 589537c2af75..54eed51cd868 100644 --- a/pkgs/applications/version-management/redmine/Gemfile.lock +++ b/pkgs/applications/version-management/redmine/Gemfile.lock @@ -41,12 +41,23 @@ GEM public_suffix (>= 2.0.2, < 4.0) arel (6.0.4) builder (3.2.3) + capybara (3.9.0) + addressable + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + xpath (~> 3.1) + childprocess (0.9.0) + ffi (~> 1.0, >= 1.0.11) coderay (1.1.2) concurrent-ruby (1.0.5) crass (1.0.4) css_parser (1.6.0) addressable + docile (1.1.5) erubis (2.7.0) + ffi (1.9.25) globalid (0.4.1) activesupport (>= 4.2.0) htmlentities (4.3.4) @@ -59,15 +70,20 @@ GEM nokogiri (>= 1.5.9) mail (2.6.6) mime-types (>= 1.16, < 4) + metaclass (0.0.4) mime-types (3.2.2) mime-types-data (~> 3.2015) mime-types-data (3.2018.0812) mimemagic (0.3.2) + mini_mime (1.0.1) mini_portile2 (2.3.0) minitest (5.11.3) + mocha (1.7.0) + metaclass (~> 0.0.1) + multi_json (1.13.1) mysql2 (0.4.10) net-ldap (0.12.1) - nokogiri (1.8.4) + nokogiri (1.8.5) mini_portile2 (~> 2.3.0) pg (0.18.4) protected_attributes (1.1.4) @@ -104,10 +120,11 @@ GEM rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (12.3.1) - rbpdf (1.19.5) + rbpdf (1.19.6) htmlentities rbpdf-font (~> 1.19.0) rbpdf-font (1.19.1) + rdoc (4.3.0) redcarpet (3.4.0) request_store (1.0.5) rmagick (2.16.0) @@ -118,6 +135,16 @@ GEM railties (>= 3.0, < 5.1) roadie (~> 3.1) ruby-openid (2.3.0) + rubyzip (1.2.2) + selenium-webdriver (2.53.4) + childprocess (~> 0.5) + rubyzip (~> 1.0) + websocket (~> 1.0) + simplecov (0.9.2) + docile (~> 1.1.0) + multi_json (~> 1.0) + simplecov-html (~> 0.9.0) + simplecov-html (0.9.0) sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -125,22 +152,31 @@ GEM actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) + test_after_commit (0.4.2) + activerecord (>= 3.2) thor (0.20.0) thread_safe (0.3.6) tzinfo (1.2.5) thread_safe (~> 0.1) + websocket (1.2.8) + xpath (3.1.0) + nokogiri (~> 1.8) + yard (0.9.16) PLATFORMS ruby DEPENDENCIES actionpack-xml_parser + capybara coderay (~> 1.1.1) i18n (~> 0.7.0) jquery-rails (~> 3.1.4) mail (~> 2.6.4) mime-types (~> 3.0) mimemagic + minitest + mocha mysql2 (~> 0.4.6) net-ldap (~> 0.12.0) nokogiri (~> 1.8.1) @@ -148,15 +184,21 @@ DEPENDENCIES protected_attributes rack-openid rails (= 4.2.8) + rails-dom-testing rails-html-sanitizer (>= 1.0.3) rbpdf (~> 1.19.3) + rdoc (~> 4.3) redcarpet (~> 3.4.0) request_store (= 1.0.5) rmagick (>= 2.14.0) roadie (~> 3.2.1) roadie-rails (~> 1.1.1) ruby-openid (~> 2.3.0) + selenium-webdriver (~> 2.53.4) + simplecov (~> 0.9.1) + test_after_commit (~> 0.4.2) tzinfo-data + yard BUNDLED WITH - 1.16.1 + 1.16.3 diff --git a/pkgs/applications/version-management/redmine/default.nix b/pkgs/applications/version-management/redmine/default.nix index 3c3fd4da33d4..d07e0f3e4544 100644 --- a/pkgs/applications/version-management/redmine/default.nix +++ b/pkgs/applications/version-management/redmine/default.nix @@ -7,6 +7,7 @@ let inherit ruby; gemdir = ./.; + groups = [ "ldap" "openid" ]; }; in stdenv.mkDerivation rec { @@ -21,15 +22,15 @@ in buildPhase = '' mv config config.dist + mv public/themes public/themes.dist ''; installPhase = '' mkdir -p $out/share cp -r . $out/share/redmine - - for i in config files log plugins tmp; do + for i in config files log plugins public/plugin_assets public/themes tmp; do rm -rf $out/share/redmine/$i - ln -fs /run/redmine/$i $out/share/redmine/ + ln -fs /run/redmine/$i $out/share/redmine/$i done ''; @@ -39,4 +40,4 @@ in maintainers = [ maintainers.garbas ]; license = licenses.gpl2; }; - } + } \ No newline at end of file diff --git a/pkgs/applications/version-management/redmine/gemset.nix b/pkgs/applications/version-management/redmine/gemset.nix index 7423fcdb9fb9..fe56298056b1 100644 --- a/pkgs/applications/version-management/redmine/gemset.nix +++ b/pkgs/applications/version-management/redmine/gemset.nix @@ -96,6 +96,24 @@ }; version = "3.2.3"; }; + capybara = { + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sz6ick0pn7886jh9fd4571wyplshnpb95pr22ds4hd51zcrnfi4"; + type = "gem"; + }; + version = "3.9.0"; + }; + childprocess = { + dependencies = ["ffi"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p"; + type = "gem"; + }; + version = "0.9.0"; + }; coderay = { source = { remotes = ["https://rubygems.org"]; @@ -129,6 +147,14 @@ }; version = "1.6.0"; }; + docile = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"; + type = "gem"; + }; + version = "1.1.5"; + }; erubis = { source = { remotes = ["https://rubygems.org"]; @@ -137,6 +163,14 @@ }; version = "2.7.0"; }; + ffi = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + type = "gem"; + }; + version = "1.9.25"; + }; globalid = { dependencies = ["activesupport"]; source = { @@ -189,6 +223,14 @@ }; version = "2.6.6"; }; + metaclass = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5"; + type = "gem"; + }; + version = "0.0.4"; + }; mime-types = { dependencies = ["mime-types-data"]; source = { @@ -214,6 +256,14 @@ }; version = "0.3.2"; }; + mini_mime = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; + type = "gem"; + }; + version = "1.0.1"; + }; mini_portile2 = { source = { remotes = ["https://rubygems.org"]; @@ -230,6 +280,23 @@ }; version = "5.11.3"; }; + mocha = { + dependencies = ["metaclass"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13whjmrm4n48rwx7h7a2jwa5grar3m0fxspbm2pm4lyp7hi119c1"; + type = "gem"; + }; + version = "1.7.0"; + }; + multi_json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; + type = "gem"; + }; + version = "1.13.1"; + }; mysql2 = { source = { remotes = ["https://rubygems.org"]; @@ -250,10 +317,10 @@ dependencies = ["mini_portile2"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1h9nml9h3m0mpvmh8jfnqvblnz5n5y3mmhgfc38avfmfzdrq9bgc"; + sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz"; type = "gem"; }; - version = "1.8.4"; + version = "1.8.5"; }; pg = { source = { @@ -363,10 +430,10 @@ dependencies = ["htmlentities" "rbpdf-font"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "021fda3gcz9pyydxnn40vs1nrkycwslb9ip4q0yg3hlip41k1b49"; + sha256 = "159vg56bzy09f6zrh9h3rxm2r0vkvsfn9qczqmv1vi5xkd918s0d"; type = "gem"; }; - version = "1.19.5"; + version = "1.19.6"; }; rbpdf-font = { source = { @@ -376,6 +443,14 @@ }; version = "1.19.1"; }; + rdoc = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c"; + type = "gem"; + }; + version = "4.3.0"; + }; redcarpet = { source = { remotes = ["https://rubygems.org"]; @@ -426,6 +501,40 @@ }; version = "2.3.0"; }; + rubyzip = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; + type = "gem"; + }; + version = "1.2.2"; + }; + selenium-webdriver = { + dependencies = ["childprocess" "rubyzip" "websocket"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15qyf7b9fa2nxhhwp551b9fjj82kb3wmy65559yrrcwpdadqvcs4"; + type = "gem"; + }; + version = "2.53.4"; + }; + simplecov = { + dependencies = ["docile" "multi_json" "simplecov-html"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12"; + type = "gem"; + }; + version = "0.9.2"; + }; + simplecov-html = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jv9pmpaxihrcsgcf6mgl3qg7rhf9scl5l2k67d768w9cz63xgvc"; + type = "gem"; + }; + version = "0.9.0"; + }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; source = { @@ -444,6 +553,15 @@ }; version = "3.2.1"; }; + test_after_commit = { + dependencies = ["activerecord"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fzg8qan6f0n0ynr594bld2k0rwwxj99yzhiga2f3pkj9ina1abb"; + type = "gem"; + }; + version = "0.4.2"; + }; thor = { source = { remotes = ["https://rubygems.org"]; @@ -469,4 +587,29 @@ }; version = "1.2.5"; }; + websocket = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f11rcn4qgffb1rq4kjfwi7di79w8840x9l74pkyif5arp0mb08x"; + type = "gem"; + }; + version = "1.2.8"; + }; + xpath = { + dependencies = ["nokogiri"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y61ijvv04bwga802s8py5xd7fcxci6478wgr9wkd35p45x20jzi"; + type = "gem"; + }; + version = "3.1.0"; + }; + yard = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67"; + type = "gem"; + }; + version = "0.9.16"; + }; } \ No newline at end of file diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index cacad5a3e629..3bb8f31b9872 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -30,13 +30,13 @@ let optional = stdenv.lib.optional; in stdenv.mkDerivation rec { name = "obs-studio-${version}"; - version = "22.0.2"; + version = "22.0.3"; src = fetchFromGitHub { owner = "jp9000"; repo = "obs-studio"; rev = "${version}"; - sha256 = "1bgp2lirpsbp54vvl3p345njlpgv0d78vac2aqwbl34wqx5sqdk0"; + sha256 = "0ri9qkqk3h71b1a5bwpjzqdr21bbmfqbykg48l779d20zln23n1i"; }; nativeBuildInputs = [ cmake diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix index 6d0344d46865..968d998792df 100644 --- a/pkgs/applications/virtualization/xen/generic.nix +++ b/pkgs/applications/virtualization/xen/generic.nix @@ -234,5 +234,6 @@ stdenv.mkDerivation (rec { + withXenfiles (name: x: ''* ${name}: ${x.meta.description or "(No description)"}.''); platforms = [ "x86_64-linux" ]; maintainers = with stdenv.lib.maintainers; [ eelco tstrobel oxij ]; + license = stdenv.lib.licenses.gpl2; } // (config.meta or {}); } // removeAttrs config [ "xenfiles" "buildInputs" "patches" "postPatch" "meta" ]) diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 1d5de052f893..5fdcf520440e 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -91,8 +91,10 @@ in stdenv.mkDerivation (args // { installPhase = args.installPhase or '' runHook preInstall - mkdir -p $out/bin - find target/release -maxdepth 1 -executable -type f -exec cp "{}" $out/bin \; + mkdir -p $out/bin $out/lib + find target/release -maxdepth 1 -type f -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \) -print0 | xargs -r -0 cp -t $out/bin + find target/release -maxdepth 1 -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" -print0 | xargs -r -0 cp -t $out/lib + rmdir --ignore-fail-on-non-empty $out/lib $out/bin runHook postInstall ''; diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix index 1efd4145ce03..83cae45426f7 100644 --- a/pkgs/data/icons/papirus-icon-theme/default.nix +++ b/pkgs/data/icons/papirus-icon-theme/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "papirus-icon-theme-${version}"; - version = "20180816"; + version = "20181007"; src = fetchFromGitHub { owner = "PapirusDevelopmentTeam"; repo = "papirus-icon-theme"; rev = version; - sha256 = "0rmf5hvp6711pyqdq5sdxkrjr21nbk6113r4a7d8735ynvm8znkk"; + sha256 = "1hv526k0ykq2yj9f6bcl711sgdxwx5y0yqjf5acpvcmx9pm58vz5"; }; nativeBuildInputs = [ gtk3 ]; diff --git a/pkgs/desktops/deepin/dde-api/default.nix b/pkgs/desktops/deepin/dde-api/default.nix new file mode 100644 index 000000000000..d8452e5f7a38 --- /dev/null +++ b/pkgs/desktops/deepin/dde-api/default.nix @@ -0,0 +1,60 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, +go-gir-generator, glib, gtk3, poppler, librsvg, pulseaudio, alsaLib, +libcanberra, gnome3, deepin-gettext-tools, go }: + +buildGoPackage rec { + name = "${pname}-${version}"; + pname = "dde-api"; + version = "3.1.30"; + + goPackagePath = "pkg.deepin.io/dde/api"; + + src = fetchFromGitHub { + owner = "linuxdeepin"; + repo = pname; + rev = version; + sha256 = "0piw6ka2xcbd5vi7m33d1afdjbb7nycxvmai530ka6r2xjabrkir"; + }; + + goDeps = ./deps.nix; + + nativeBuildInputs = [ + pkgconfig + go-gir-generator + deepin-gettext-tools + ]; + + buildInputs = [ + glib + gtk3 + poppler + librsvg + pulseaudio + alsaLib + libcanberra + gnome3.libgudev + ]; + + postPatch = '' + sed -i -e "s|/var|$bin/var|" Makefile + ''; + + buildPhase = '' + make -C go/src/${goPackagePath} + ''; + + installPhase = '' + make install PREFIX="$bin" SYSTEMD_LIB_DIR="$bin/lib" -C go/src/${goPackagePath} + mkdir -p $out/share + mv $bin/share/gocode $out/share/go + remove-references-to -t ${go} $bin/bin/* $bin/lib/deepin-api/* + ''; + + meta = with stdenv.lib; { + description = "Go-lang bindings for dde-daemon"; + homepage = https://github.com/linuxdeepin/dde-api; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/desktops/deepin/dde-api/deps.nix b/pkgs/desktops/deepin/dde-api/deps.nix new file mode 100644 index 000000000000..9df368325e3c --- /dev/null +++ b/pkgs/desktops/deepin/dde-api/deps.nix @@ -0,0 +1,129 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +[ + { + goPackagePath = "github.com/alecthomas/template"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/template"; + rev = "a0175ee3bccc567396460bf5acd36800cb10c49c"; + sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj"; + }; + } + { + goPackagePath = "github.com/alecthomas/units"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/units"; + rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a"; + sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl"; + }; + } + { + goPackagePath = "github.com/cryptix/wav"; + fetch = { + type = "git"; + url = "https://github.com/cryptix/wav"; + rev = "8bdace674401f0bd3b63c65479b6a6ff1f9d5e44"; + sha256 = "18nyqv0ic35fs9fny8sj84c00vbxs8mnric6vr6yl42624fh5id6"; + }; + } + { + goPackagePath = "github.com/disintegration/imaging"; + fetch = { + type = "git"; + url = "https://github.com/disintegration/imaging"; + rev = "32df9565b4e0c1460f1915d53f6ff198d9a41af2"; + sha256 = "1nkmaav375fv4610g8i9bam33pv4aa4fy2n4nypprhc7vq0svwkm"; + }; + } + { + goPackagePath = "github.com/kr/pretty"; + fetch = { + type = "git"; + url = "https://github.com/kr/pretty"; + rev = "73f6ac0b30a98e433b289500d779f50c1a6f0712"; + sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp"; + }; + } + { + goPackagePath = "github.com/kr/text"; + fetch = { + type = "git"; + url = "https://github.com/kr/text"; + rev = "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f"; + sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"; + }; + } + { + goPackagePath = "github.com/linuxdeepin/go-dbus-factory"; + fetch = { + type = "git"; + url = "https://github.com/linuxdeepin/go-dbus-factory"; + rev = "2a30fc6fb47b70b8879855df8e29c8f581c419aa"; + sha256 = "0b0j47n3bb5fd04p01jla6k9vz2ck8l8512ga0xsn78177yb2z0w"; + }; + } + { + goPackagePath = "github.com/linuxdeepin/go-x11-client"; + fetch = { + type = "git"; + url = "https://github.com/linuxdeepin/go-x11-client"; + rev = "8f12fd35ff10b391f0321aa41b94db6acd951ea3"; + sha256 = "1axxzzhbiwvi76d19bix3zm5wv3qmlq0wgji9mwjbmkb4bvp0v3d"; + }; + } + { + goPackagePath = "github.com/nfnt/resize"; + fetch = { + type = "git"; + url = "https://github.com/nfnt/resize"; + rev = "83c6a9932646f83e3267f353373d47347b6036b2"; + sha256 = "005cpiwq28krbjf0zjwpfh63rp4s4is58700idn24fs3g7wdbwya"; + }; + } + { + goPackagePath = "golang.org/x/image"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/image"; + rev = "991ec62608f3c0da01d400756917825d1e2fd528"; + sha256 = "0jipi9czjczi6hlqb5kchgml8r6h6qyb4gqrb0nnb63m25510019"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "146acd28ed5894421fb5aac80ca93bc1b1f46f87"; + sha256 = "0d177474z85nvxz8ch6y9wjqz288844wwx8q9za3x2njnk4jbgxj"; + }; + } + { + goPackagePath = "gopkg.in/alecthomas/kingpin.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/alecthomas/kingpin.v2"; + rev = "947dcec5ba9c011838740e680966fd7087a71d0d"; + sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"; + }; + } + { + goPackagePath = "gopkg.in/check.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/check.v1"; + rev = "788fd78401277ebd861206a03c884797c6ec5541"; + sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"; + }; + } + { + goPackagePath = "pkg.deepin.io/lib"; + fetch = { + type = "git"; + url = "https://github.com/linuxdeepin/go-lib.git"; + rev = "f09dcc32fc5a36b53ff7760e5a06e7f8f97b81f9"; + sha256 = "1z4iw7h6lknm9jrna2c73icg1a1mxvzrqdhgjvaiww89mql1jzb4"; + }; + } +] diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix index f85d51b2072d..1ef7177e94d4 100644 --- a/pkgs/desktops/deepin/default.nix +++ b/pkgs/desktops/deepin/default.nix @@ -4,6 +4,7 @@ let packages = self: with self; { dbus-factory = callPackage ./dbus-factory { }; + dde-api = callPackage ./dde-api { }; dde-calendar = callPackage ./dde-calendar { }; dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { }; deepin-gettext-tools = callPackage ./deepin-gettext-tools { }; diff --git a/pkgs/desktops/deepin/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-gir-generator/default.nix index cc05f6f055b0..d5ec29f1ef8b 100644 --- a/pkgs/desktops/deepin/go-gir-generator/default.nix +++ b/pkgs/desktops/deepin/go-gir-generator/default.nix @@ -22,9 +22,13 @@ stdenv.mkDerivation rec { libgudev ]; + postPatch = '' + sed -i -e 's:/share/gocode:/share/go:' Makefile + ''; + makeFlags = [ "PREFIX=$(out)" - "HOME=$(TMP)" + "GOCACHE=off" ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix index effb3d521ef6..2acf04e657a3 100644 --- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix @@ -36,7 +36,7 @@ in stdenv.mkDerivation rec { # /nix/store/*-cheese-3.28.0/include/cheese/cheese-widget.h:26:10: fatal error: clutter-gtk/clutter-gtk.h: No such file or directory # #include # ^~~~~~~~~~~~~~~~~~~~~~~~~~~ - NIX_CFLAGS_COMPILE = "-I${clutter-gtk}/include/clutter-gtk-1.0"; + NIX_CFLAGS_COMPILE = "-I${stdenv.lib.getDev clutter-gtk}/include/clutter-gtk-1.0"; doCheck = true; diff --git a/pkgs/development/compilers/futhark/default.nix b/pkgs/development/compilers/futhark/default.nix new file mode 100644 index 000000000000..890be3431c3a --- /dev/null +++ b/pkgs/development/compilers/futhark/default.nix @@ -0,0 +1,55 @@ +# Generated using `cabal2nix --hpack .`, then replace src +{ mkDerivation, alex, array, base, bifunctors, binary, blaze-html +, bytestring, containers, data-binary-ieee754, directory +, directory-tree, dlist, extra, file-embed, filepath, gitrev, happy +, haskeline, hpack, HUnit, json, language-c-quote, mainland-pretty +, markdown, mtl, neat-interpolation, parallel, parsec, process +, process-extras, QuickCheck, random, raw-strings-qq, regex-tdfa +, srcloc, stdenv, template-haskell, temporary, test-framework +, test-framework-hunit, test-framework-quickcheck2, text +, th-lift-instances, transformers, vector, vector-binary-instances +, zlib, fetchFromGitHub +}: +mkDerivation { + pname = "futhark"; + version = "0.6.2"; + src = fetchFromGitHub { + owner = "diku-dk"; + repo = "futhark"; + rev = "v0.6.2"; + sha256 = "0yj7n01swpvqblybdnks3mjf0mzf1gdg2b2cpxdpxnrjw5j0pnq2"; + }; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + array base bifunctors binary blaze-html bytestring containers + data-binary-ieee754 directory directory-tree dlist extra file-embed + filepath gitrev language-c-quote mainland-pretty markdown mtl + neat-interpolation parallel parsec process raw-strings-qq + regex-tdfa srcloc template-haskell text th-lift-instances + transformers vector vector-binary-instances zlib + ]; + libraryToolDepends = [ alex happy hpack ]; + executableHaskellDepends = [ + array base bifunctors binary blaze-html bytestring containers + data-binary-ieee754 directory directory-tree dlist extra file-embed + filepath gitrev haskeline json language-c-quote mainland-pretty + markdown mtl neat-interpolation parallel parsec process + process-extras random raw-strings-qq regex-tdfa srcloc + template-haskell temporary text th-lift-instances transformers + vector vector-binary-instances zlib + ]; + testHaskellDepends = [ + array base bifunctors binary blaze-html bytestring containers + data-binary-ieee754 directory directory-tree dlist extra file-embed + filepath gitrev HUnit language-c-quote mainland-pretty markdown mtl + neat-interpolation parallel parsec process QuickCheck + raw-strings-qq regex-tdfa srcloc template-haskell test-framework + test-framework-hunit test-framework-quickcheck2 text + th-lift-instances transformers vector vector-binary-instances zlib + ]; + preConfigure = "hpack"; + homepage = "https://futhark-lang.org"; + description = "An optimising compiler for a functional, array-oriented language"; + license = stdenv.lib.licenses.isc; +} diff --git a/pkgs/development/compilers/oraclejdk/jdk10-linux.nix b/pkgs/development/compilers/oraclejdk/jdk10-linux.nix index de063500b709..23f44331dd89 100644 --- a/pkgs/development/compilers/oraclejdk/jdk10-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk10-linux.nix @@ -150,6 +150,7 @@ let result = stdenv.mkDerivation rec { meta = with stdenv.lib; { license = licenses.unfree; platforms = [ "x86_64-linux" ]; # some inherit jre.meta.platforms + knownVulnerabilities = [ "Support ended in September 2018. Use OpenJDK or JDK 8." ]; }; }; in result diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 47415ac9177b..7d785093f9b3 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -6,11 +6,11 @@ let rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); - version = "1.29.0"; - cargoVersion = "1.29.0"; + version = "1.29.1"; + cargoVersion = "1.29.1"; src = fetchurl { url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; - sha256 = "1sb15znckj8pc8q3g7cq03pijnida6cg64yqmgiayxkzskzk9sx4"; + sha256 = "0jd3c57x3yndizns4pb68nh25si47agfmrdvf9nwwsyfcs5p5c7i"; }; in rec { rustc = callPackage ./rustc.nix { diff --git a/pkgs/development/coq-modules/fiat/HEAD.nix b/pkgs/development/coq-modules/fiat/HEAD.nix index bc5c0fdd6bb7..b970747c7726 100644 --- a/pkgs/development/coq-modules/fiat/HEAD.nix +++ b/pkgs/development/coq-modules/fiat/HEAD.nix @@ -1,23 +1,22 @@ -{stdenv, fetchgit, coq, ocamlPackages, python27}: +{stdenv, fetchgit, coq, python27}: stdenv.mkDerivation rec { name = "coq-fiat-${coq.coq-version}-unstable-${version}"; - version = "2018-02-27"; + version = "2016-10-24"; src = fetchgit { url = "https://github.com/mit-plv/fiat.git"; - rev = "253fc133397f73d6daed0b9518ca7ab5507a1cb0"; - sha256 = "0b5z7nz0cr1s7vy04s996dj0pd7ljqx6g5a8syh4hy2z87ijkjzd"; + rev = "7feb6c64be9ebcc05924ec58fe1463e73ec8206a"; + sha256 = "0griqc675yylf9rvadlfsabz41qy5f5idya30p5rv6ysiakxya64"; }; - buildInputs = [ ocamlPackages.ocaml ocamlPackages.camlp5_transitional - ocamlPackages.findlib python27 ]; + buildInputs = [ coq.ocaml coq.camlp5 python27 ]; propagatedBuildInputs = [ coq ]; doCheck = false; - enableParallelBuilding = true; + enableParallelBuilding = false; buildPhase = "make -j$NIX_BUILD_CORES"; installPhase = '' @@ -34,6 +33,6 @@ stdenv.mkDerivation rec { }; passthru = { - compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ]; + compatibleCoqVersions = v: v == "8.5"; }; } diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 8ff6aed506f2..15bd1507cc93 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -704,9 +704,6 @@ self: super: { then appendConfigureFlag super.gtk "-fhave-quartz-gtk" else super.gtk; - # vaultenv is not available from Hackage. - vaultenv = self.callPackage ../tools/haskell/vaultenv { }; - # https://github.com/Philonous/hs-stun/pull/1 # Remove if a version > 0.1.0.1 ever gets released. stunclient = overrideCabal super.stunclient (drv: { @@ -947,9 +944,6 @@ self: super: { # Tries to read a file it is not allowed to in the test suite load-env = dontCheck super.load-env; - # Add support for https://github.com/haskell-hvr/multi-ghc-travis. - multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis {}; - # https://github.com/yesodweb/Shelly.hs/issues/162 shelly = dontCheck super.shelly; diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index bb9b0e5d5fe6..523f4ed0212c 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -528,4 +528,19 @@ self: super: builtins.intersectAttrs super { # The test-suite requires a running PostgreSQL server. Frames-beam = dontCheck super.Frames-beam; + + futhark = with pkgs; + let path = stdenv.lib.makeBinPath [ gcc ]; + in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: { + postInstall = '' + wrapProgram $out/bin/futhark-c \ + --prefix PATH : "${path}" + + wrapProgram $out/bin/futhark-opencl \ + --prefix PATH : "${path}" \ + --set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \ + --set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \ + --set NIX_CFLAGS_LINK "-L${opencl-icd}/lib" + ''; + }); } diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix index b8943a55394a..a4f0399cf3c6 100644 --- a/pkgs/development/haskell-modules/default.nix +++ b/pkgs/development/haskell-modules/default.nix @@ -4,6 +4,7 @@ , packageSetConfig ? (self: super: {}) , overrides ? (self: super: {}) , initialPackages ? import ./initial-packages.nix +, nonHackagePackages ? import ./non-hackage-packages.nix , configurationCommon ? import ./configuration-common.nix , configurationNix ? import ./configuration-nix.nix }: @@ -26,7 +27,9 @@ let (extends packageSetConfig (extends compilerConfig (extends commonConfiguration - (extends nixConfiguration haskellPackages))))); + (extends nixConfiguration + (extends nonHackagePackages + haskellPackages)))))); in diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix new file mode 100644 index 000000000000..68fcbdb79a5d --- /dev/null +++ b/pkgs/development/haskell-modules/non-hackage-packages.nix @@ -0,0 +1,18 @@ +# EXTRA HASKELL PACKAGES NOT ON HACKAGE +# +# This file should only contain packages that are not in ./hackage-packages.nix. +# Attributes in this set should be nothing more than a callPackage call. +# Overrides to these packages should go to either configuration-nix.nix, +# configuration-common.nix or to one of the compiler specific configuration +# files. +self: super: { + + multi-ghc-travis = throw ("haskellPackages.multi-ghc-travis has been renamed" + + "to haskell-ci, which is now on hackage"); + + # https://github.com/channable/vaultenv/issues/1 + vaultenv = self.callPackage ../tools/haskell/vaultenv { }; + + # https://github.com/diku-dk/futhark/issues/614 + futhark = self.callPackage ../compilers/futhark { }; +} diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 9393c87b0a88..f6ff1e0db864 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -18,7 +18,7 @@ , enableKernelPoll ? true , javacSupport ? false, javacPackages ? [ openjdk ] , odbcSupport ? false, odbcPackages ? [ unixODBC ] -, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ] +, wxSupport ? !stdenv.isDarwin, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ] , preUnpack ? "", postUnpack ? "" , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? "" , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? "" diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index f2b900412081..42cc2a518d62 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -40,19 +40,17 @@ let disallowedReferences = [ stdenv.cc ]; patches = - [ ] - # Do not look in /usr etc. for dependencies. - ++ optional (versionOlder version "5.26") ./no-sys-dirs.patch - ++ optional (versionAtLeast version "5.26") ./no-sys-dirs-5.26.patch - ++ optional (versionAtLeast version "5.24") ( + [ + # Do not look in /usr etc. for dependencies. + ./no-sys-dirs-5.26.patch # Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360 - fetchurlBoot { + (fetchurlBoot { url = "https://rt.perl.org/Public/Ticket/Attachment/1502646/807252/0001-Fix-missing-build-dependency-for-pods.patch"; sha256 = "1bb4mldfp8kq1scv480wm64n2jdsqa3ar46cjp1mjpby8h5dr2r0"; }) + ] ++ optional stdenv.isSunOS ./ld-shared.patch - ++ optional stdenv.isDarwin ./cpp-precomp.patch - ++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch + ++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ] ++ optional crossCompiling ./MakeMaker-cross.patch; postPatch = '' @@ -155,11 +153,11 @@ let platforms = platforms.all; }; } // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec { - crossVersion = "1.2"; + crossVersion = "ab8d05c9e695d3db4f7dc15c70f23623349c2f49"; # Oct 03, 2018 perl-cross-src = fetchurlBoot { - url = "https://github.com/arsv/perl-cross/releases/download/${crossVersion}/perl-cross-${crossVersion}.tar.gz"; - sha256 = "02cic7lk91hgmsg8klkm2kv88m2a8y22m4m8gl4ydxbap2z7g42r"; + url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz"; + sha256 = "1g7p7mqmx8x3diqvbh881gr72d106cn6yvm4gx7f0ars3n3b3wj0"; }; depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ]; diff --git a/pkgs/development/interpreters/perl/no-sys-dirs.patch b/pkgs/development/interpreters/perl/no-sys-dirs.patch deleted file mode 100644 index 1793273a76f9..000000000000 --- a/pkgs/development/interpreters/perl/no-sys-dirs.patch +++ /dev/null @@ -1,250 +0,0 @@ -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure ---- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200 -+++ perl-5.20.0/Configure 2014-06-25 10:43:35.368285986 +0200 -@@ -106,15 +106,7 @@ - fi - - : Proper PATH setting --paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin' --paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin" --paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin" --paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin" --paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb" --paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin" --paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib" --paths="$paths /sbin /usr/sbin /usr/libexec" --paths="$paths /system/gnu_library/bin" -+paths='' - - for p in $paths - do -@@ -1337,8 +1329,7 @@ - archname='' - : Possible local include directories to search. - : Set locincpth to "" in a hint file to defeat local include searches. --locincpth="/usr/local/include /opt/local/include /usr/gnu/include" --locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include" -+locincpth="" - : - : no include file wanted by default - inclwanted='' -@@ -1349,17 +1340,12 @@ - - libnames='' - : change the next line if compiling for Xenix/286 on Xenix/386 --xlibpth='/usr/lib/386 /lib/386' -+xlibpth='' - : Possible local library directories to search. --loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib" --loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib" -+loclibpth="" - - : general looking path for locating libraries --glibpth="/lib /usr/lib $xlibpth" --glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib" --test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth" --test -f /shlib/libc.so && glibpth="/shlib $glibpth" --test -d /usr/lib64 && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64" -+glibpth="" - - : Private path used by Configure to find libraries. Its value - : is prepended to libpth. This variable takes care of special -@@ -1391,8 +1377,6 @@ - libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD" - : We probably want to search /usr/shlib before most other libraries. - : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist. --glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'` --glibpth="/usr/shlib $glibpth" - : Do not use vfork unless overridden by a hint file. - usevfork=false - -@@ -2446,7 +2430,6 @@ - zip - " - pth=`echo $PATH | sed -e "s/$p_/ /g"` --pth="$pth $sysroot/lib $sysroot/usr/lib" - for file in $loclist; do - eval xxx=\$$file - case "$xxx" in -@@ -4936,7 +4919,7 @@ - : Set private lib path - case "$plibpth" in - '') if ./mips; then -- plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib" -+ plibpth="$incpath/usr/lib" - fi;; - esac - case "$libpth" in -@@ -8600,13 +8583,8 @@ - echo " " - case "$sysman" in - '') -- syspath='/usr/share/man/man1 /usr/man/man1' -- syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1" -- syspath="$syspath /usr/man/u_man/man1" -- syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1" -- syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1" -- syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1" -- sysman=`./loc . /usr/man/man1 $syspath` -+ syspath='' -+ sysman='' - ;; - esac - if $test -d "$sysman"; then -@@ -19900,9 +19878,10 @@ - case "$full_ar" in - '') full_ar=$ar ;; - esac -+full_ar=ar - - : Store the full pathname to the sed program for use in the C program --full_sed=$sed -+full_sed=sed - - : see what type gids are declared as in the kernel - echo " " -Only in perl-5.20.0/: Configure.orig -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL ---- perl-5.20.0-orig/ext/Errno/Errno_pm.PL 2014-05-26 15:34:20.000000000 +0200 -+++ perl-5.20.0/ext/Errno/Errno_pm.PL 2014-06-25 10:31:24.317970047 +0200 -@@ -126,11 +126,7 @@ - if ($dep =~ /(\S+errno\.h)/) { - $file{$1} = 1; - } -- } elsif ($^O eq 'linux' && -- $Config{gccversion} ne '' && -- $Config{gccversion} !~ /intel/i -- # might be using, say, Intel's icc -- ) { -+ } elsif (0) { - # When cross-compiling we may store a path for gcc's "sysroot" option: - my $sysroot = $Config{sysroot} || ''; - # Some Linuxes have weird errno.hs which generate -Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh ---- perl-5.20.0-orig/hints/freebsd.sh 2014-01-31 22:55:51.000000000 +0100 -+++ perl-5.20.0/hints/freebsd.sh 2014-06-25 10:25:53.263964680 +0200 -@@ -119,21 +119,21 @@ - objformat=`/usr/bin/objformat` - if [ x$objformat = xaout ]; then - if [ -e /usr/lib/aout ]; then -- libpth="/usr/lib/aout /usr/local/lib /usr/lib" -- glibpth="/usr/lib/aout /usr/local/lib /usr/lib" -+ libpth="" -+ glibpth="" - fi - lddlflags='-Bshareable' - else -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - fi - cccdlflags='-DPIC -fPIC' - ;; - *) -- libpth="/usr/lib /usr/local/lib" -- glibpth="/usr/lib /usr/local/lib" -+ libpth="" -+ glibpth="" - ldflags="-Wl,-E " - lddlflags="-shared " - cccdlflags='-DPIC -fPIC' -diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh ---- perl-5.20.0-orig/hints/linux.sh 2014-05-26 15:34:20.000000000 +0200 -+++ perl-5.20.0/hints/linux.sh 2014-06-25 10:33:47.354883843 +0200 -@@ -150,25 +150,6 @@ - ;; - esac - --# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries --# (such as -lm) in /lib or /usr/lib. So we have to ask gcc to tell us --# where to look. We don't want gcc's own libraries, however, so we --# filter those out. --# This could be conditional on Unbuntu, but other distributions may --# follow suit, and this scheme seems to work even on rather old gcc's. --# This unconditionally uses gcc because even if the user is using another --# compiler, we still need to find the math library and friends, and I don't --# know how other compilers will cope with that situation. --# Morever, if the user has their own gcc earlier in $PATH than the system gcc, --# we don't want its libraries. So we try to prefer the system gcc --# Still, as an escape hatch, allow Configure command line overrides to --# plibpth to bypass this check. --if [ -x /usr/bin/gcc ] ; then -- gcc=/usr/bin/gcc --else -- gcc=gcc --fi -- - case "$plibpth" in - '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries | - cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'` -@@ -178,32 +159,6 @@ - ;; - esac - --case "$libc" in --'') --# If you have glibc, then report the version for ./myconfig bug reporting. --# (Configure doesn't need to know the specific version since it just uses --# gcc to load the library for all tests.) --# We don't use __GLIBC__ and __GLIBC_MINOR__ because they --# are insufficiently precise to distinguish things like --# libc-2.0.6 and libc-2.0.7. -- for p in $plibpth -- do -- for trylib in libc.so.6 libc.so -- do -- if $test -e $p/$trylib; then -- libc=`ls -l $p/$trylib | awk '{print $NF}'` -- if $test "X$libc" != X; then -- break -- fi -- fi -- done -- if $test "X$libc" != X; then -- break -- fi -- done -- ;; --esac -- - # Are we using ELF? Thanks to Kenneth Albanowski - # for this test. - cat >try.c <<'EOM' -@@ -367,33 +322,6 @@ - ;; - esac - --# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than --# true libraries. The scripts cause binding against static --# version of -lgdbm which is a bad idea. So if we have 'nm' --# make sure it can read the file --# NI-S 2003/08/07 --case "$nm" in -- '') ;; -- *) -- for p in $plibpth -- do -- if $test -r $p/libndbm.so; then -- if $nm $p/libndbm.so >/dev/null 2>&1 ; then -- echo 'Your shared -lndbm seems to be a real library.' -- _libndbm_real=1 -- break -- fi -- fi -- done -- if $test "X$_libndbm_real" = X; then -- echo 'Your shared -lndbm is not a real library.' -- set `echo X "$libswanted "| sed -e 's/ ndbm / /'` -- shift -- libswanted="$*" -- fi -- ;; --esac -- - # Linux on Synology. - if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then - # Tested on Synology DS213 and DS413 diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 67c38a354b43..f9938de6f59d 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -227,7 +227,7 @@ in { # We can't update the darwin versions because they simply don't compile at # all due to a bug in the intl extensions. # - # The bug so far is present in 7.1.21, 7.1.22, 7.2.9, 7.2.10. + # The bug so far is present in 7.1.21, 7.1.22, 7.1.23, 7.2.9, 7.2.10, 7.2.11. php71 = generic ( if stdenv.isDarwin then @@ -237,8 +237,8 @@ in { } else { - version = "7.1.22"; - sha256 = "0qz74qdlk19cw478f42ckyw5r074y0fg73r2bzlhm0dar0cizsf8"; + version = "7.1.23"; + sha256 = "0jyc5q666xh808sgy78cfylkhy5ma2zdg88jlxhagyphv23aly9d"; } ); @@ -250,8 +250,8 @@ in { } else { - version = "7.2.10"; - sha256 = "17fsvdi6ihjghjsz9kk2li2rwrknm2ccb6ys0xmn789116d15dh1"; + version = "7.2.11"; + sha256 = "1idlv04j1l2d0bn5nvfrapcpjh6ayj1n4y80lqvnp5h75m07y3aa"; } ); } diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix index 36d7912d0f8a..66d540f8d66b 100644 --- a/pkgs/development/libraries/accountsservice/default.nix +++ b/pkgs/development/libraries/accountsservice/default.nix @@ -1,22 +1,26 @@ { stdenv, fetchurl, pkgconfig, glib, intltool, makeWrapper, shadow -, libtool, gobjectIntrospection, polkit, systemd, coreutils }: +, gobjectIntrospection, polkit, systemd, coreutils, meson, dbus +, ninja, python3 }: stdenv.mkDerivation rec { name = "accountsservice-${version}"; - version = "0.6.50"; + version = "0.6.54"; src = fetchurl { url = "https://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz"; - sha256 = "0jn7vg1z4vxnna0hl33hbcb4bb3zpilxc2vyclh24vx4vvsjhn83"; + sha256 = "1b115n0a4yfa06kgxc69qfc1rc0w4frgs3id3029czkrhhn0ds96"; }; - nativeBuildInputs = [ pkgconfig makeWrapper ]; + nativeBuildInputs = [ pkgconfig makeWrapper meson ninja python3 ]; - buildInputs = [ glib intltool libtool gobjectIntrospection polkit systemd ]; + buildInputs = [ glib intltool gobjectIntrospection polkit systemd dbus ]; - configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" - "--localstatedir=/var" ]; + mesonFlags = [ "-Dsystemdsystemunitdir=etc/systemd/system" + "-Dlocalstatedir=/var" ]; prePatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + substituteInPlace src/daemon.c --replace '"/usr/sbin/useradd"' '"${shadow}/bin/useradd"' \ --replace '"/usr/sbin/userdel"' '"${shadow}/bin/userdel"' substituteInPlace src/user.c --replace '"/usr/sbin/usermod"' '"${shadow}/bin/usermod"' \ diff --git a/pkgs/development/libraries/accountsservice/no-create-dirs.patch b/pkgs/development/libraries/accountsservice/no-create-dirs.patch index f26f5c738227..ef1a59b0249f 100644 --- a/pkgs/development/libraries/accountsservice/no-create-dirs.patch +++ b/pkgs/development/libraries/accountsservice/no-create-dirs.patch @@ -1,13 +1,15 @@ ---- a/src/Makefile.in 2014-04-23 22:30:00.276005326 +0200 -+++ b/src/Makefile.in 2014-04-23 22:30:16.809409113 +0200 -@@ -881,8 +881,8 @@ - gdbus-codegen --generate-c-code accounts-user-generated --c-namespace Accounts --interface-prefix=org.freedesktop.Accounts. $(top_srcdir)/data/org.freedesktop.Accounts.User.xml +diff --git a/meson_post_install.py b/meson_post_install.py +index ba95055..17f7926 100644 +--- a/meson_post_install.py ++++ b/meson_post_install.py +@@ -9,8 +9,8 @@ localstatedir = os.path.normpath(destdir + os.sep + sys.argv[1]) + # FIXME: meson will not track the creation of these directories + # https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/uninstall.py#L39 + dst_dirs = [ +- os.path.join(localstatedir, 'lib', 'AccountsService', 'icons'), +- os.path.join(localstatedir, 'lib', 'AccountsService', 'users'), ++ #os.path.join(localstatedir, 'lib', 'AccountsService', 'icons'), ++ #os.path.join(localstatedir, 'lib', 'AccountsService', 'users'), + ] - install-data-hook: -- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users" -- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons" -+# $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users" -+# $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons" - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. + for dst_dir in dst_dirs: diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix index 21d9ce23d319..f53aa873b482 100644 --- a/pkgs/development/libraries/allegro/default.nix +++ b/pkgs/development/libraries/allegro/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { version="4.4.2"; src = fetchurl { - url = "http://download.gna.org/allegro/allegro/${version}/${name}.tar.gz"; + url = "https://github.com/liballeg/allegro5/releases/download/${version}/${name}.tar.gz"; sha256 = "1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v"; }; diff --git a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix index e3c0f0394772..320fc41f76c5 100644 --- a/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix +++ b/pkgs/development/libraries/audio/zita-alsa-pcmi/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { name = "zita-alsa-pcmi-${version}"; - version = "0.2.0"; + version = "0.3.2"; src = fetchurl { url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"; + sha256 = "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s"; }; buildInputs = [ alsaLib ]; buildPhase = '' - cd libs + cd source make PREFIX="$out" # create lib link for building apps @@ -19,8 +19,8 @@ stdenv.mkDerivation rec { # apps cd ../apps - CXXFLAGS+=" -I../libs" \ - LDFLAGS+=" -L../libs" \ + CXXFLAGS+=" -I../source" \ + LDFLAGS+=" -L../source" \ make PREFIX="$out" ''; @@ -30,9 +30,9 @@ stdenv.mkDerivation rec { mkdir "$out/include" mkdir "$out/bin" - cd ../libs + cd ../source - # libs + # source install -Dm755 libzita-alsa-pcmi.so.$version \ "$out/lib/libzita-alsa-pcmi.so.$version" @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { install -Dm755 ../apps/alsa_delay \ "$out/bin/alsa_delay" install -Dm755 ../apps/alsa_loopback \ - "$out/bin/alsa_delay" + "$out/bin/alsa_loopback" ''; meta = { diff --git a/pkgs/development/libraries/audio/zita-convolver/default.nix b/pkgs/development/libraries/audio/zita-convolver/default.nix index 11a06d4f39ac..4fc5c12ccc4c 100644 --- a/pkgs/development/libraries/audio/zita-convolver/default.nix +++ b/pkgs/development/libraries/audio/zita-convolver/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { name = "zita-convolver-${version}"; - version = "4.0.0"; + version = "4.0.3"; src = fetchurl { url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "0fx7f48ls0rlndqrmd4k7ifpnml39yxzc2f0n6xyysypgn06y673"; + sha256 = "0prji66p86z2bzminywkwchr5bfgxcg2i8y803pydd1hzf2198cs"; }; buildInputs = [ fftwFloat ]; patchPhase = '' - cd libs + cd source sed -e "s@ldconfig@@" -i Makefile ''; diff --git a/pkgs/development/libraries/audio/zita-resampler/default.nix b/pkgs/development/libraries/audio/zita-resampler/default.nix index 00a0a5082137..e9cccab39f02 100644 --- a/pkgs/development/libraries/audio/zita-resampler/default.nix +++ b/pkgs/development/libraries/audio/zita-resampler/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "zita-resampler-${version}"; - version = "1.6.0"; + version = "1.6.2"; src = fetchurl { url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "1w48lp99jn4wh687cvbnbnjgaraqzkb4bgir16cp504x55v8v20h"; + sha256 = "1my5k2dh2dkvjp6xjnf9qy6i7s28z13kw1n9pwa4a2cpwbzawfr3"; }; makeFlags = [ @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { ]; patchPhase = '' - cd libs + cd source sed -e "s@ldconfig@@" -i Makefile ''; diff --git a/pkgs/development/libraries/brigand/default.nix b/pkgs/development/libraries/brigand/default.nix new file mode 100644 index 000000000000..b4a57396cc8b --- /dev/null +++ b/pkgs/development/libraries/brigand/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + name = "brigand-${version}"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "edouarda"; + repo = "brigand"; + rev = "4db9f665b4ece31b51aaf35b499b2c8e5811efa3"; + sha256 = "14b8r3s24zq0l3addy3irzxs5cyqn3763y5s310lmzzswgj1v7r4"; + }; + + nativeBuildInputs = [ cmake ]; + + meta = with stdenv.lib; { + description = "Instant compile time C++ 11 metaprogramming library"; + longDescription = '' + Brigand is a light-weight, fully functional, instant-compile time C++ 11 meta-programming library. + Everything you were doing with Boost.MPL can be done with Brigand. And if that's not the case, open an issue!''; + homepage = https://github.com/edouarda/brigand; + license = licenses.boost; + maintainers = with maintainers; [ pmiddend ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix index 208288bfca1d..0f897d97467f 100644 --- a/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix +++ b/pkgs/development/libraries/dbus-sharp-glib/dbus-sharp-glib-1.0.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "D-Bus for .NET: GLib integration module"; platforms = platforms.linux; + license = licenses.mit; }; } diff --git a/pkgs/development/libraries/dbus-sharp-glib/default.nix b/pkgs/development/libraries/dbus-sharp-glib/default.nix index ef1ddd9bfff5..cd020317f4c2 100644 --- a/pkgs/development/libraries/dbus-sharp-glib/default.nix +++ b/pkgs/development/libraries/dbus-sharp-glib/default.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "D-Bus for .NET: GLib integration module"; platforms = platforms.linux; + license = licenses.mit; }; } diff --git a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix index 013913e52972..18ea3ad3ecb7 100644 --- a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix +++ b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix @@ -20,5 +20,6 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "D-Bus for .NET"; platforms = platforms.linux; + license = licenses.mit; }; } diff --git a/pkgs/development/libraries/dbus-sharp/default.nix b/pkgs/development/libraries/dbus-sharp/default.nix index 855dd9f3832e..2704ef2de9fd 100644 --- a/pkgs/development/libraries/dbus-sharp/default.nix +++ b/pkgs/development/libraries/dbus-sharp/default.nix @@ -23,5 +23,6 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "D-Bus for .NET"; platforms = platforms.linux; + license = licenses.mit; }; } diff --git a/pkgs/development/libraries/dclxvi/default.nix b/pkgs/development/libraries/dclxvi/default.nix index 47f3794f5ad5..1f8f9a4e69cc 100644 --- a/pkgs/development/libraries/dclxvi/default.nix +++ b/pkgs/development/libraries/dclxvi/default.nix @@ -31,5 +31,6 @@ stdenv.mkDerivation { description = "Naehrig, Niederhagen and Schwabe's pairings code, massaged into a shared library"; maintainers = with maintainers; [ wkennington ]; platforms = platforms.x86_64; + license = licenses.publicDomain; }; } diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix index 5cd004c8d136..01600f90f284 100644 --- a/pkgs/development/libraries/eccodes/default.nix +++ b/pkgs/development/libraries/eccodes/default.nix @@ -6,11 +6,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "eccodes-${version}"; - version = "2.8.2"; + version = "2.9.0"; src = fetchurl { - url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz"; - sha256 = "0aki7llrdfj6273yjy8yv0d027sdbv8xs3iv68fb69s0clyygrin"; + url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-${version}-Source.tar.gz"; + sha256 = "1mh9zkfb5dj3j8fk3gdhz2bp6z13nik5pmynpf5l6qy3lhgyn17z"; }; nativeBuildInputs = [ cmake ]; @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = https://software.ecmwf.int/wiki/display/ECC/; + homepage = https://confluence.ecmwf.int/display/ECC/; license = licenses.asl20; maintainers = with maintainers; [ knedlsepp ]; platforms = platforms.unix; diff --git a/pkgs/development/libraries/enchant/default.nix b/pkgs/development/libraries/enchant/default.nix index c51475ecc2a9..a9446306d335 100644 --- a/pkgs/development/libraries/enchant/default.nix +++ b/pkgs/development/libraries/enchant/default.nix @@ -13,9 +13,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ aspell glib hunspell hspell ]; - meta = { + meta = with stdenv.lib; { description = "Generic spell checking library"; homepage = http://www.abisource.com/enchant; - platforms = stdenv.lib.platforms.unix; + platforms = platforms.unix; + license = licenses.lgpl21; }; } diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix index 020d04542864..924fb52b0900 100644 --- a/pkgs/development/libraries/farstream/default.nix +++ b/pkgs/development/libraries/farstream/default.nix @@ -24,10 +24,10 @@ in stdenv.mkDerivation rec { gst-plugins-good gst-plugins-bad gst-libav ]; - meta = { + meta = with stdenv.lib; { homepage = https://www.freedesktop.org/wiki/Software/Farstream; description = "Audio/Video Communications Framework formely known as farsight"; - maintainers = [ ]; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; + license = licenses.lgpl21; }; } diff --git a/pkgs/development/libraries/fcppt/default.nix b/pkgs/development/libraries/fcppt/default.nix index 660cdfa6414b..49e929821f7f 100644 --- a/pkgs/development/libraries/fcppt/default.nix +++ b/pkgs/development/libraries/fcppt/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchFromGitHub, cmake, boost }: +{ stdenv, fetchFromGitHub, cmake, boost, brigand }: stdenv.mkDerivation rec { name = "fcppt-${version}"; - version = "2.5.0"; + version = "2.9.0"; src = fetchFromGitHub { owner = "freundlich"; repo = "fcppt"; rev = version; - sha256 = "0pjldwwxgnzjfd04cy29a9mn2szq4v2mjnw0367kxd141q2iglqi"; + sha256 = "0zyqgmi1shjbwin1lx428v7vbi6jnywb1d47dascdn89r5gz6klv"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ boost ]; - cmakeFlags = [ "-DENABLE_EXAMPLES=false" "-DENABLE_TEST=false" ]; + cmakeFlags = [ "-DENABLE_EXAMPLES=false" "-DENABLE_TEST=false" "-DBrigand_INCLUDE_DIR=${brigand}/include" ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/giflib/libungif.nix b/pkgs/development/libraries/giflib/libungif.nix index 357ca751ccf1..6336d30aebad 100644 --- a/pkgs/development/libraries/giflib/libungif.nix +++ b/pkgs/development/libraries/giflib/libungif.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - meta = { - platforms = stdenv.lib.platforms.unix; + meta = with stdenv.lib; { + description = "Library and utilities for processing GIFs"; + platforms = platforms.unix; + license = licenses.mit; }; } diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index b2c0a9f89a48..482710f18df5 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -63,6 +63,7 @@ stdenv.mkDerivation rec { homepage = http://live.gnome.org/GObjectIntrospection; maintainers = with maintainers; [ lovek323 lethalman ]; platforms = platforms.unix; + license = with licenses; [ gpl2 lgpl2 ]; longDescription = '' GObject introspection is a middleware layer between C libraries (using diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix index aa670cd4c86b..52c087b19147 100644 --- a/pkgs/development/libraries/grantlee/5/default.nix +++ b/pkgs/development/libraries/grantlee/5/default.nix @@ -46,6 +46,7 @@ mkDerivation rec { homepage = http://gitorious.org/grantlee; maintainers = [ maintainers.ttuegel ]; + license = licenses.lgpl21; inherit (qtbase.meta) platforms; }; } diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix index 9dde67b5c795..1446e339745e 100644 --- a/pkgs/development/libraries/grantlee/default.nix +++ b/pkgs/development/libraries/grantlee/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { and the design of Django is reused in Grantlee.''; homepage = http://gitorious.org/grantlee; - maintainers = [ ]; + license = stdenv.lib.licenses.lgpl21; inherit (qt4.meta) platforms; }; } diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix index a9e7f9fcff3e..a099643061a1 100644 --- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix @@ -25,7 +25,8 @@ stdenv.mkDerivation rec { cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF"; - meta = { - platforms = stdenv.lib.platforms.linux; + meta = with stdenv.lib; { + platforms = platforms.linux; + license = licenses.lgpl21; }; } diff --git a/pkgs/development/libraries/gtk-sharp-beans/default.nix b/pkgs/development/libraries/gtk-sharp-beans/default.nix index b92bbf64514e..7f35f088da2b 100644 --- a/pkgs/development/libraries/gtk-sharp-beans/default.nix +++ b/pkgs/development/libraries/gtk-sharp-beans/default.nix @@ -18,7 +18,8 @@ stdenv.mkDerivation rec { dontStrip = true; meta = with stdenv.lib; { - description = "gtk-sharp-beans binds some API from Gtk+ that isn't in Gtk# 2.12.x"; + description = "Binds some API from Gtk+ that isn't in Gtk# 2.12.x"; platforms = platforms.linux; + license = licenses.lgpl21; }; } diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix index 5b3ca828a3f8..c037db97c044 100644 --- a/pkgs/development/libraries/gtk-sharp/2.0.nix +++ b/pkgs/development/libraries/gtk-sharp/2.0.nix @@ -46,7 +46,10 @@ stdenv.mkDerivation { gtk = gtk2; }; - meta = { - platforms = stdenv.lib.platforms.linux; + meta = with stdenv.lib; { + description = "Graphical User Interface Toolkit for mono and .Net"; + homepage = https://www.mono-project.com/docs/gui/gtksharp; + platforms = platforms.linux; + license = licenses.gpl2; }; } diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/development/libraries/gtkspell/default.nix index 22094f3a3f64..14676be0dcb9 100644 --- a/pkgs/development/libraries/gtkspell/default.nix +++ b/pkgs/development/libraries/gtkspell/default.nix @@ -2,16 +2,19 @@ stdenv.mkDerivation { name = "gtkspell-2.0.16"; - + src = fetchurl { url = mirror://sourceforge/gtkspell/gtkspell-2.0.16.tar.gz; sha256 = "00hdv28bp72kg1mq2jdz1sdw2b8mb9iclsp7jdqwpck705bdriwg"; }; - + nativeBuildInputs = [ pkgconfig ]; buildInputs = [aspell gtk2 enchant intltool]; - meta = { - platforms = stdenv.lib.platforms.unix; + meta = with stdenv.lib; { + description = "Word-processor-style highlighting and replacement of misspelled words"; + homepage = http://gtkspell.sourceforge.net; + platforms = platforms.unix; + license = licenses.gpl2; }; } diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 383f7f60f9bf..130bc6f97bf0 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -8,7 +8,7 @@ }: let - version = "1.8.8"; + version = "1.9.0"; inherit (stdenv.lib) optional optionals optionalString; in @@ -17,7 +17,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2"; - sha256 = "1ag3scnm1fcviqgx2p4858y433mr0ndqw6zccnccrqcr9mpcird8"; + sha256 = "004b4j812wgfv8pmcypyrlwrjfa6149lwpz5df6rnm5cy0msdv0i"; }; postPatch = '' @@ -63,6 +63,7 @@ stdenv.mkDerivation { homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz; downloadPage = "https://www.freedesktop.org/software/harfbuzz/release/"; maintainers = [ maintainers.eelco ]; + license = licenses.mit; platforms = with platforms; linux ++ darwin; inherit version; updateWalker = true; diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix index 20dda589b9cc..32743e617970 100644 --- a/pkgs/development/libraries/hspell/default.nix +++ b/pkgs/development/libraries/hspell/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { version = "1.1"; }; - PERL_USE_UNSAFE_INC = stdenv.lib.optionalString (stdenv.lib.versionAtLeast (stdenv.lib.getVersion perl) "5.26") "1"; + PERL_USE_UNSAFE_INC = "1"; src = fetchurl { url = "${meta.homepage}${name}.tar.gz"; @@ -18,10 +18,10 @@ stdenv.mkDerivation rec { patchPhase = ''patchShebangs .''; buildInputs = [ perl zlib ]; - meta = { + meta = with stdenv.lib; { description = "Hebrew spell checker"; homepage = http://hspell.ivrix.org.il/; - platforms = stdenv.lib.platforms.all; - maintainers = [ ]; + platforms = platforms.all; + license = licenses.gpl2; }; } diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix index b3914a4438b3..62c3d79cf9a1 100644 --- a/pkgs/development/libraries/hunspell/default.nix +++ b/pkgs/development/libraries/hunspell/default.nix @@ -48,6 +48,7 @@ stdenv.mkDerivation rec { * Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2]), UNO. ''; platforms = platforms.all; + license = with licenses; [ gpl2 lgpl21 mpl11 ]; maintainers = with stdenv.lib.maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix index 90a16bcf7f94..8f38170d87e4 100644 --- a/pkgs/development/libraries/hwloc/default.nix +++ b/pkgs/development/libraries/hwloc/default.nix @@ -7,15 +7,16 @@ assert x11Support -> libX11 != null && cairo != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "hwloc-1.11.10"; + name = "hwloc-2.0.2"; src = fetchurl { - url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2"; - sha256 = "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b"; + url = "http://www.open-mpi.org/software/hwloc/v2.0/downloads/${name}.tar.bz2"; + sha256 = "1phc863d5b2fvwpyyq4mlh4rkjdslh6h0h197zmyk3prwrq7si8l"; }; configureFlags = [ "--localstatedir=/var" + "--enable-netloc" ]; # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo. @@ -75,7 +76,7 @@ stdenv.mkDerivation rec { # http://www.open-mpi.org/projects/hwloc/license.php license = licenses.bsd3; homepage = https://www.open-mpi.org/projects/hwloc/; - maintainers = with maintainers; [ fpletz ]; + maintainers = with maintainers; [ fpletz markuskowa ]; platforms = platforms.all; }; } diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix index f99aa0b6f0cf..516e4184623a 100644 --- a/pkgs/development/libraries/hyena/default.nix +++ b/pkgs/development/libraries/hyena/default.nix @@ -36,5 +36,6 @@ stdenv.mkDerivation rec { ''; platforms = platforms.all; maintainers = with maintainers; [ obadz ]; + license = licenses.mit; }; } diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix index dda1435c1dac..ddce76b10f72 100644 --- a/pkgs/development/libraries/id3lib/default.nix +++ b/pkgs/development/libraries/id3lib/default.nix @@ -17,7 +17,10 @@ stdenv.mkDerivation { doCheck = false; # fails to compile - meta = { - platforms = stdenv.lib.platforms.unix; + meta = with stdenv.lib; { + description = "Library for reading, writing, and manipulating ID3v1 and ID3v2 tags"; + homepage = http://id3lib.sourceforge.net; + platforms = platforms.unix; + license = licenses.lgpl2; }; } diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix index 585f6f18bbab..b99a3c7059aa 100644 --- a/pkgs/development/libraries/libblockdev/default.nix +++ b/pkgs/development/libraries/libblockdev/default.nix @@ -4,7 +4,7 @@ }: let - version = "2.19"; + version = "2.20"; in stdenv.mkDerivation rec { name = "libblockdev-${version}"; @@ -12,7 +12,7 @@ in stdenv.mkDerivation rec { owner = "storaged-project"; repo = "libblockdev"; rev = "${version}-1"; - sha256 = "1ny31vaarzbpw0h863p2r5cvjsfs77d33nnisf8bhjc6ps6js3ys"; + sha256 = "13xy8vx2dnnxczpnwapchc5ncigcxb2fhpmrmglbpkjqmhn2zbdj"; }; outputs = [ "out" "dev" "devdoc" ]; diff --git a/pkgs/development/libraries/libclthreads/default.nix b/pkgs/development/libraries/libclthreads/default.nix index 6d37eb19c712..a2f6858a05c9 100644 --- a/pkgs/development/libraries/libclthreads/default.nix +++ b/pkgs/development/libraries/libclthreads/default.nix @@ -2,20 +2,17 @@ stdenv.mkDerivation rec { name = "libclthreads-${version}"; - version = "2.4.0"; + version = "2.4.2"; src = fetchurl { url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${version}.tar.bz2"; - sha256 = "1s8xx99z6llv46cvkllmd72v2pkzbfl5gngcql85mf14mxkdb7x6"; + sha256 = "0cbs1w89q8wfjrrhvxf6xk0y02nkjl5hd0yb692c8ma01i6b2nf6"; }; patchPhase = '' - # Fix hardcoded paths to executables - sed -e "s@/usr/bin/install@install@" -i ./Makefile - sed -e "s@/sbin/ldconfig@ldconfig@" -i ./Makefile - - # Remove useless symlink: /lib64 -> /lib - sed -e '/ln -sf \$(CLTHREADS_MIN) \$(PREFIX)\/\$(LIBDIR)\/\$(CLTHREADS_SO)/d' -i ./Makefile + cd source + # don't run ldconfig: + sed -e "/ldconfig/d" -i ./Makefile ''; makeFlags = [ @@ -24,12 +21,13 @@ stdenv.mkDerivation rec { ]; preInstall = '' - # The Makefile does not create the include directory + # The Makefile does not create the include and lib directories mkdir -p $out/include + mkdir -p $out/lib ''; postInstall = '' - ln -s $out/lib/libclthreads.so.${version} $out/lib/libclthreads.so + ln $out/lib/libclthreads.so $out/lib/libclthreads.so.2 ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libclxclient/default.nix b/pkgs/development/libraries/libclxclient/default.nix index ce67a8efa80e..6e6ca647fc0f 100644 --- a/pkgs/development/libraries/libclxclient/default.nix +++ b/pkgs/development/libraries/libclxclient/default.nix @@ -1,20 +1,28 @@ -{ stdenv, fetchurl, libclthreads, libX11, libXft, xorg }: +{ stdenv, fetchurl, libclthreads, libX11, libXft, xorg, pkgconfig }: stdenv.mkDerivation rec { name = "libclxclient-${version}"; - version = "3.9.0"; + version = "3.9.2"; src = fetchurl { url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clxclient-${version}.tar.bz2"; - sha256 = "14l7xrh964gllymraq4n5pgax94p5jsfjslqi5c6637zc4lmgnl0"; + sha256 = "10bq6fy8d3pr1x2x3xx9qhf2hdxrwdgvg843a2y6lx70y1jfj0c5"; }; buildInputs = [ libclthreads libX11 libXft xorg.xproto ]; + nativeBuildInputs = [ pkgconfig ]; + NIX_CFLAGS_COMPILE = "-I${xorg.xproto}/include -I${libXft.dev}/include"; patchPhase = '' - sed -e "s@ldconfig@@" -i Makefile + cd source + # use pkg-config instead of pkgcon: + sed -e 's/pkgconf/pkg-config/g' -i ./Makefile + # don't run ldconfig: + sed -e "/ldconfig/d" -i ./Makefile + # make sure it can find clxclient.h: + sed -e 's//"clxclient.h"/' -i ./enumip.cc ''; makeFlags = [ diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix index 4da0738fde5e..e3d5c7d6424e 100644 --- a/pkgs/development/libraries/libcouchbase/default.nix +++ b/pkgs/development/libraries/libcouchbase/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "libcouchbase-${version}"; - version = "2.9.4"; + version = "2.9.5"; src = fetchFromGitHub { owner = "couchbase"; repo = "libcouchbase"; rev = version; - sha256 = "0d6lmnr5yfpkzr1yr6f2ilxprl6v9r4r7917k4iz0wc3jlcndwl3"; + sha256 = "18l3579b47l8d6nhv0xls8pybkqdmdkw8jg4inalnx3g7ydqfn00"; }; cmakeFlags = "-DLCB_NO_MOCK=ON"; diff --git a/pkgs/development/libraries/libdap/default.nix b/pkgs/development/libraries/libdap/default.nix index 5a0006ad6c6e..d399998455e1 100644 --- a/pkgs/development/libraries/libdap/default.nix +++ b/pkgs/development/libraries/libdap/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, bison, libuuid, curl, libxml2, flex }: stdenv.mkDerivation rec { - version = "3.19.1"; + version = "3.20.0"; name = "libdap-${version}"; nativeBuildInputs = [ bison flex ]; @@ -9,12 +9,12 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://www.opendap.org/pub/source/${name}.tar.gz"; - sha256 = "0gnki93z3kkzp65x7n1kancy7bd503j4qja5fhzvm1gkmi5l65aj"; + sha256 = "0cr3d7dlzq583dqqrkbs1bkcrwag4hp7hwrx5c0mjk7q4vrslh92"; }; meta = with stdenv.lib; { description = "A C++ SDK which contains an implementation of DAP"; - homepage = https://www.opendap.org/download/libdap; + homepage = https://www.opendap.org/software/libdap; license = licenses.lgpl2; maintainers = [ maintainers.bzizou ]; platforms = platforms.linux; diff --git a/pkgs/development/libraries/libmesode/default.nix b/pkgs/development/libraries/libmesode/default.nix index 1becd0ee8ef6..e46eb9208de6 100644 --- a/pkgs/development/libraries/libmesode/default.nix +++ b/pkgs/development/libraries/libmesode/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "libmesode-${version}"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = "boothj5"; repo = "libmesode"; rev = version; - sha256 = "1zb1x422zkpnxrz9d2b7pmi8ms60lbw49yh78mydqfypsmj2iyfh"; + sha256 = "06f5nfaypvxrbsinxa1k2vrxrs7kqmg38g4wwwk5d63hpn1pj8ak"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix index 73d2db8e9993..e608ea300d1a 100644 --- a/pkgs/development/libraries/libuv/default.nix +++ b/pkgs/development/libraries/libuv/default.nix @@ -1,14 +1,14 @@ { stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }: stdenv.mkDerivation rec { - version = "1.23.0"; + version = "1.23.1"; name = "libuv-${version}"; src = fetchFromGitHub { owner = "libuv"; repo = "libuv"; rev = "v${version}"; - sha256 = "1yfx99f7qnq3qvcgbnih27dgwfg6c51xw6n6n2c3c1wb3mh95im0"; + sha256 = "14h8dcyx81sbckbgmqhagncyz8s6z6qzpx0fy8p79whq5hb3f4jg"; }; patches = [ diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index aca9a237b0c7..ff45162c5a89 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -67,7 +67,7 @@ let in let - version = "18.2.1"; + version = "18.2.2"; branch = head (splitString "." version); in @@ -81,7 +81,7 @@ let self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" ]; - sha256 = "0mhhr1id11s1fbdxbvr4a81xjh1nsznpra9dl36bv2hq7mpxqdln"; + sha256 = "1i3ky3d210vi3f5hlr9la1kspdyv093npndxsbzdklw95aqq5fn3"; }; prePatch = "patchShebangs ."; diff --git a/pkgs/development/libraries/termbox/default.nix b/pkgs/development/libraries/termbox/default.nix new file mode 100644 index 000000000000..0898289978a2 --- /dev/null +++ b/pkgs/development/libraries/termbox/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, python3 }: + +stdenv.mkDerivation rec { + name = "termbox-${version}"; + version = "1.1.2"; + src = fetchFromGitHub { + owner = "nsf"; + repo = "termbox"; + rev = "v${version}"; + sha256 = "08yqxzb8fny8806p7x8a6f3phhlbfqdd7dhkv25calswj7w1ssvs"; + }; + nativeBuildInputs = [ python3 ]; + configurePhase = "python3 ./waf configure --prefix=$out"; + buildPhase = "python3 ./waf build"; + installPhase = "python3 ./waf install --destdir=$out"; + meta = with stdenv.lib; { + description = "Library for writing text-based user interfaces"; + license = licenses.mit; + homepage = "https://github.com/nsf/termbox#readme"; + downloadPage = "https://github.com/nsf/termbox/releases"; + maintainers = with maintainers; [ fgaz ]; + }; +} + diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix index 77c0b4a1a460..c139b5be1027 100644 --- a/pkgs/development/libraries/ti-rpc/default.nix +++ b/pkgs/development/libraries/ti-rpc/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "07anqypf7c719x9y683qz65cxllmzlgmlab2hlahrqcj4bq2k99c"; }; + outputs = [ "out" "dev" ]; + postPatch = '' sed '1i#include ' -i src/xdr_sizeof.c '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix index 2a07eba261b7..dd3f14f91928 100644 --- a/pkgs/development/libraries/vulkan-headers/default.nix +++ b/pkgs/development/libraries/vulkan-headers/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { name = "vulkan-headers-${version}"; - version = "1.1.82.0"; + version = "1.1.85"; buildInputs = [ cmake ]; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { owner = "KhronosGroup"; repo = "Vulkan-Headers"; rev = "sdk-${version}"; - sha256 = "1pp0kmgd89g8rz6qqfqmdmv209s0d6hbsshrzrlwrdm6dc25f20p"; + sha256 = "0cj4bd396qddh3nxvr7grnpfz89g3sbvm21cx4k3ga52sp1rslpb"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/webkitgtk/2.22.nix b/pkgs/development/libraries/webkitgtk/2.22.nix new file mode 100644 index 000000000000..7eae5819daf1 --- /dev/null +++ b/pkgs/development/libraries/webkitgtk/2.22.nix @@ -0,0 +1,83 @@ +{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake, ninja +, pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls, libgcrypt +, gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core +, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit +, libidn, libedit, readline, libGLU_combined, libintl +, enableGeoLocation ? true, geoclue2, sqlite +, enableGtk2Plugins ? false, gtk2 ? null +, gst-plugins-base, gst-plugins-bad, woff2 +}: + +assert enableGeoLocation -> geoclue2 != null; +assert enableGtk2Plugins -> gtk2 != null; +assert stdenv.isDarwin -> !enableGtk2Plugins; + +with stdenv.lib; +stdenv.mkDerivation rec { + name = "webkitgtk-${version}"; + version = "2.22.2"; + + meta = { + description = "Web content rendering engine, GTK+ port"; + homepage = https://webkitgtk.org/; + license = licenses.bsd2; + platforms = platforms.linux; + hydraPlatforms = []; + maintainers = with maintainers; [ ]; + }; + + src = fetchurl { + url = "https://webkitgtk.org/releases/${name}.tar.xz"; + sha256 = "1flrbr8pzbrlwv09b4pmgh6vklw7jghd2lgrhcb72vl9s7a8fm1l"; + }; + + patches = optionals stdenv.isDarwin [ + ## TODO add necessary patches for Darwin + ]; + + postPatch = '' + patchShebangs . + ''; + + cmakeFlags = [ + "-DPORT=GTK" + "-DUSE_LIBHYPHEN=0" + "-DENABLE_INTROSPECTION=ON" + ] + ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF" + ++ optional stdenv.isLinux "-DENABLE_GLES2=ON" + ++ optionals stdenv.isDarwin [ + "-DUSE_SYSTEM_MALLOC=ON" + "-DUSE_ACCELERATE=0" + "-DENABLE_MINIBROWSER=OFF" + "-DENABLE_VIDEO=ON" + "-DENABLE_QUARTZ_TARGET=ON" + "-DENABLE_X11_TARGET=OFF" + "-DENABLE_OPENGL=OFF" + "-DENABLE_WEB_AUDIO=OFF" + "-DENABLE_WEBGL=OFF" + "-DENABLE_GRAPHICS_CONTEXT_3D=OFF" + "-DENABLE_GTKDOC=OFF" + ]; + + nativeBuildInputs = [ + cmake ninja perl python2 ruby bison gperf + pkgconfig gettext gobjectIntrospection + ]; + + buildInputs = [ + libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2 + libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit + sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core + ] ++ optional enableGeoLocation geoclue2 + ++ optional enableGtk2Plugins gtk2 + ++ (with xorg; [ libXdmcp libXt libXtst libXdamage ]) + ++ optionals stdenv.isDarwin [ libedit readline libGLU_combined ] + ++ optional stdenv.isLinux wayland; + + propagatedBuildInputs = [ + libsoup gtk3 + ]; + + outputs = [ "out" "dev" ]; +} diff --git a/pkgs/development/libraries/yojimbo/default.nix b/pkgs/development/libraries/yojimbo/default.nix new file mode 100644 index 000000000000..9a3416a368bb --- /dev/null +++ b/pkgs/development/libraries/yojimbo/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, premake5, doxygen, libsodium, mbedtls }: + +stdenv.mkDerivation rec { + name = "yojimbo"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "networkprotocol"; + repo = "yojimbo"; + rev = "e02219c102d9b440290539036992d77608eab3b0"; + sha256 = "0jn25ddv73hwjals883a910m66kwj6glxxhnmn96bpzsvsaimnkr"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ premake5 doxygen ]; + propagatedBuildInputs = [ libsodium mbedtls ]; + + buildPhase = '' + premake5 gmake + make all + premake5 docs + ''; + + installPhase = '' + install -Dm555 -t $out/lib bin/libyojimbo.a + install -Dm444 -t $out/include yojimbo.h + mkdir -p $out/share/doc/yojimbo + cp -r docs/html $out/share/doc/yojimbo + ''; + + meta = with stdenv.lib; { + description = "A network library for client/server games with dedicated servers"; + longDescription = '' + yojimbo is a network library for client/server games with dedicated servers. + It's designed around the networking requirements of competitive multiplayer games like first person shooters. + As such it provides a time critical networking layer on top of UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance. + ''; + homepage = https://github.com/networkprotocol/yojimbo; + license = licenses.bsd3; + platforms = platforms.x86_64; + maintainers = with maintainers; [ paddygord ]; + }; +} diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix index db188a720b88..3eecb9b45b7d 100644 --- a/pkgs/development/ocaml-modules/elpi/default.nix +++ b/pkgs/development/ocaml-modules/elpi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, ocaml, findlib, camlp5_strict +{ stdenv, fetchFromGitHub, ocaml, findlib, camlp5 , ppx_tools_versioned, ppx_deriving, re }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ ocaml findlib ppx_tools_versioned ]; - propagatedBuildInputs = [ camlp5_strict ppx_deriving re ]; + propagatedBuildInputs = [ camlp5 ppx_deriving re ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ulex/0.8/camlp5.patch b/pkgs/development/ocaml-modules/ulex/0.8/camlp5.patch deleted file mode 100644 index 2fa92527035e..000000000000 --- a/pkgs/development/ocaml-modules/ulex/0.8/camlp5.patch +++ /dev/null @@ -1,72 +0,0 @@ -Author: Stefano Zacchiroli -Description: build (and install) using camlp5 instead of camlp4 ---- ulex0.8.orig/META -+++ ulex0.8/META -@@ -1,5 +1,5 @@ - version = "0.8" --requires = "camlp4" -+requires = "camlp5" - description = "Runtime support for ulex" - archive(byte) = "ulexing.cma" - archive(native) = "ulexing.cmxa" ---- ulex0.8.orig/Makefile -+++ ulex0.8/Makefile -@@ -20,7 +20,7 @@ - ocamlopt -a -o ulexing.cmxa $(ULEXING) - - pa_ulex.cma: $(ULEX) -- ocamlc -a -o pa_ulex.cma -pp 'camlp4o pa_extend.cmo q_MLast.cmo' -I +camlp4 $(ULEX) -+ ocamlc -a -o pa_ulex.cma -pp 'camlp5o pa_extend.cmo q_MLast.cmo' -I `camlp5 -where` $(ULEX) - - pa_ulex.ml: pa_ulex.ml.src - ocaml mk_pa_ulex.ml -@@ -29,14 +29,14 @@ - rm -f *.cm* *~ test custom_ulexing *.o *.a *.html *.css pa_ulex.ml - - view_test: pa_ulex.cma -- camlp4o ./pa_ulex.cma pr_o.cmo -sep "\n" test.ml -+ camlp5o ./pa_ulex.cma pr_o.cmo -sep "\n" test.ml - - run_test: ulexing.cma pa_ulex.cma -- ocamlc -o test -pp 'camlp4o ./pa_ulex.cma' ulexing.cma test.ml -+ ocamlc -o test -pp 'camlp5o ./pa_ulex.cma' ulexing.cma test.ml - ./test - - custom_ulexing: ulexing.cma pa_ulex.cma -- ocamlc -o custom_ulexing -pp 'camlp4o ./pa_ulex.cma' ulexing.cma custom_ulexing.ml -+ ocamlc -o custom_ulexing -pp 'camlp5o ./pa_ulex.cma' ulexing.cma custom_ulexing.ml - - - doc: ---- ulex0.8.orig/README -+++ ulex0.8/README -@@ -142,7 +142,7 @@ - - Compilation of OCaml files with lexer specifications: - -- ocamlfind ocamlc -c -package ulex -syntax camlp4o my_file.ml -+ ocamlfind ocamlc -c -package ulex -syntax camlp5o my_file.ml - - When linking, you must also include the ulex package: - ocamlfind ocamlc -o my_prog -linkpkg -package ulex my_file.cmo ---- ulex0.8.orig/mk_pa_ulex.ml -+++ ulex0.8/mk_pa_ulex.ml -@@ -1,10 +1,4 @@ - let s = float_of_string (String.sub (Sys.ocaml_version) 0 4) in --if (s < 3.09) then ( - print_endline "Old camlp4 (loc)"; - Sys.command "sed s/_loc/loc/ < pa_ulex.ml.src > pa_ulex.ml" --) --else ( -- print_endline "New camlp4 (_loc)"; -- Sys.command "cp pa_ulex.ml.src pa_ulex.ml" --) - ---- ulex0.8.orig/pa_ulex.ml.src -+++ ulex0.8/pa_ulex.ml.src -@@ -1,4 +1,4 @@ --let _loc = (Lexing.dummy_pos,Lexing.dummy_pos) -+let _loc = Stdpp.dummy_loc - - (* Named regexp *) - diff --git a/pkgs/development/ocaml-modules/ulex/0.8/default.nix b/pkgs/development/ocaml-modules/ulex/0.8/default.nix deleted file mode 100644 index 6c0cf9214f29..000000000000 --- a/pkgs/development/ocaml-modules/ulex/0.8/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{stdenv, fetchurl, ocaml, findlib, camlp5 }: - -let - pname = "ulex"; -in - -if stdenv.lib.versionAtLeast ocaml.version "4.06" -then throw "ulex-0.8 is not available for OCaml ${ocaml.version}" -else - -stdenv.mkDerivation rec { - name = "${pname}-${version}"; - version = "0.8"; - - src = fetchurl { - url = "http://www.cduce.org/download/old/${pname}-${version}.tar.gz"; - sha256 = "19faabg8hzz155xlzmjwsl59d7slahb5m1l9zh1fqvvpp81r26cp"; - }; - - buildInputs = [ocaml findlib camlp5]; - - createFindlibDestdir = true; - - patches = [ ./meta_version.patch ./camlp5.patch ]; - - propagatedBuildInputs = [ camlp5 ]; - - buildFlags = "all all.opt"; - - meta = { - homepage = http://www.cduce.org/download.html; - description = "A lexer generator for Unicode and OCaml"; - license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.roconnor ]; - }; -} diff --git a/pkgs/development/ocaml-modules/ulex/0.8/meta_version.patch b/pkgs/development/ocaml-modules/ulex/0.8/meta_version.patch deleted file mode 100644 index 7a39510cf0b4..000000000000 --- a/pkgs/development/ocaml-modules/ulex/0.8/meta_version.patch +++ /dev/null @@ -1,10 +0,0 @@ -Author: Stefano Zacchiroli -Description: fix a typo in the findlib package version number specified in META ---- ulex0.8.orig/META -+++ ulex0.8/META -@@ -1,4 +1,4 @@ --version = "0.7" -+version = "0.8" - requires = "camlp4" - description = "Runtime support for ulex" - archive(byte) = "ulexing.cma" diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix index 1d7e6d17ffb7..a44c7ac6568b 100644 --- a/pkgs/development/perl-modules/generic/default.nix +++ b/pkgs/development/perl-modules/generic/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation ( # current directory (".") is removed from @INC in Perl 5.26 but many old libs rely on it # https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC - PERL_USE_UNSAFE_INC = lib.optionalString (lib.versionAtLeast (lib.getVersion perl) "5.26") "1"; + PERL_USE_UNSAFE_INC = "1"; meta.homepage = "https://metacpan.org/release/${(builtins.parseDrvName name).name}"; } @@ -33,7 +33,7 @@ stdenv.mkDerivation ( ) // { - name = "perl${lib.getVersion perl}-${name}"; + name = "perl${perl.version}-${name}"; builder = ./builder.sh; nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ]; inherit perl; diff --git a/pkgs/development/python-modules/astroid/1.6.nix b/pkgs/development/python-modules/astroid/1.6.nix new file mode 100644 index 000000000000..ca26da5a3737 --- /dev/null +++ b/pkgs/development/python-modules/astroid/1.6.nix @@ -0,0 +1,39 @@ +{ lib, fetchPypi, buildPythonPackage, pythonOlder, isPyPy +, lazy-object-proxy, six, wrapt, enum34, singledispatch, backports_functools_lru_cache +, pytest +}: + +buildPythonPackage rec { + pname = "astroid"; + version = "1.6.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "0fir4b67sm7shcacah9n61pvq313m523jb4q80sycrh3p8nmi6zw"; + }; + + # From astroid/__pkginfo__.py + propagatedBuildInputs = [ + lazy-object-proxy + six + wrapt + enum34 + singledispatch + backports_functools_lru_cache + ]; + + checkInputs = [ pytest ]; + + checkPhase = '' + # test_builtin_help is broken + pytest -k "not test_builtin_help" astroid + ''; + + meta = with lib; { + description = "An abstract syntax tree for Python with inference support"; + homepage = https://github.com/PyCQA/astroid; + license = licenses.lgpl2; + platforms = platforms.all; + maintainers = with maintainers; [ nand0p ]; + }; +} diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix index ccf6f4055269..d773c08e189a 100644 --- a/pkgs/development/python-modules/astroid/default.nix +++ b/pkgs/development/python-modules/astroid/default.nix @@ -22,8 +22,8 @@ buildPythonPackage rec { checkInputs = [ pytestrunner pytest ]; meta = with lib; { - description = "A abstract syntax tree for Python with inference support"; - homepage = https://bitbucket.org/logilab/astroid; + description = "An abstract syntax tree for Python with inference support"; + homepage = https://github.com/PyCQA/astroid; license = licenses.lgpl2; platforms = platforms.all; maintainers = with maintainers; [ nand0p ]; diff --git a/pkgs/development/python-modules/atom/default.nix b/pkgs/development/python-modules/atom/default.nix new file mode 100644 index 000000000000..0a7dbf561a0f --- /dev/null +++ b/pkgs/development/python-modules/atom/default.nix @@ -0,0 +1,23 @@ +{ lib, buildPythonPackage, fetchPypi, future }: + +buildPythonPackage rec { + pname = "atom"; + version = "0.4.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0awzja4k3f32y01gd068yyxvh35km62m4wka0vbg1yyy37ahgjmv"; + }; + + propagatedBuildInputs = [ future ]; + + # Tests not released to pypi + doCheck = true; + + meta = with lib; { + description = "Memory efficient Python objects"; + maintainers = [ maintainers.bhipple ]; + homepage = https://github.com/nucleic/atom; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix index 04aa9411247e..f618b05373a7 100644 --- a/pkgs/development/python-modules/autobahn/default.nix +++ b/pkgs/development/python-modules/autobahn/default.nix @@ -1,7 +1,6 @@ -{ stdenv, buildPythonPackage, fetchPypi, isPy3k, isPy33, - unittest2, mock, pytest, trollius, asyncio, - pytest-asyncio, futures, cffi, - six, twisted, txaio, zope_interface +{ lib, buildPythonPackage, fetchPypi, isPy3k, isPy33, + six, txaio, twisted, zope_interface, cffi, asyncio, trollius, futures, + mock, pytest }: buildPythonPackage rec { pname = "autobahn"; @@ -12,21 +11,18 @@ buildPythonPackage rec { sha256 = "b69858e0be4bff8437b0bd82a0db1cbef7405e16bd9354ba587c043d6d5e1ad9"; }; - # Upstream claim python2 support, but tests require pytest-asyncio which - # is pythn3 only. Therefore, tests are skipped for python2. - doCheck = isPy3k; - checkInputs = stdenv.lib.optionals isPy3k [ unittest2 mock pytest pytest-asyncio ]; - propagatedBuildInputs = [ cffi six twisted zope_interface txaio ] ++ - (stdenv.lib.optional isPy33 asyncio) ++ - (stdenv.lib.optionals (!isPy3k) [ trollius futures ]); + propagatedBuildInputs = [ six txaio twisted zope_interface cffi ] ++ + (lib.optional isPy33 asyncio) ++ + (lib.optionals (!isPy3k) [ trollius futures ]); + checkInputs = [ mock pytest ]; checkPhase = '' runHook preCheck USE_TWISTED=true py.test $out runHook postCheck ''; - meta = with stdenv.lib; { + meta = with lib; { description = "WebSocket and WAMP in Python for Twisted and asyncio."; homepage = "https://crossbar.io/autobahn"; license = licenses.mit; diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix index 7e68265eed83..4440edc22362 100644 --- a/pkgs/development/python-modules/av/default.nix +++ b/pkgs/development/python-modules/av/default.nix @@ -4,7 +4,7 @@ , nose , pillow , numpy -, ffmpeg_2 +, ffmpeg_4 , git , libav , pkgconfig @@ -12,16 +12,16 @@ buildPythonPackage rec { pname = "av"; - version = "0.4.1"; + version = "0.5.3"; src = fetchPypi { inherit pname version; - sha256 = "bf9a8d113392c6a445f424e16f9e64ac53d1db1548731e6326763d555647c24f"; + sha256 = "0k5nbff8c2wxc8wnyn1qghndbd2rjck1y3552s63w41mccj1k1qr"; }; - buildInputs = [ nose pillow numpy ffmpeg_2 git libav pkgconfig ]; + buildInputs = [ nose pillow numpy ffmpeg_4 git pkgconfig ]; - # Because of https://github.com/mikeboers/PyAV/issues/152 + # Tests require downloading files from internet doCheck = false; meta = { @@ -29,4 +29,4 @@ buildPythonPackage rec { homepage = https://github.com/mikeboers/PyAV/; license = lib.licenses.bsd2; }; -} \ No newline at end of file +} diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix new file mode 100644 index 000000000000..0110aa92c061 --- /dev/null +++ b/pkgs/development/python-modules/buildbot/default.nix @@ -0,0 +1,94 @@ +{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k, + python, twisted, jinja2, zope_interface, future, sqlalchemy, + sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, treq, txrequests, + txgithub, pyjade, boto3, moto, mock, lz4, setuptoolsTrial, isort, pylint, + flake8, buildbot-worker, buildbot-pkg, glibcLocales }: + +let + withPlugins = plugins: buildPythonPackage { + name = "${package.name}-with-plugins"; + phases = [ "installPhase" "fixupPhase" ]; + buildInputs = [ makeWrapper ]; + propagatedBuildInputs = plugins ++ package.propagatedBuildInputs; + + installPhase = '' + makeWrapper ${package}/bin/buildbot $out/bin/buildbot \ + --prefix PYTHONPATH : "${package}/${python.sitePackages}:$PYTHONPATH" + ln -sfv ${package}/lib $out/lib + ''; + + passthru = package.passthru // { + withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); + }; + }; + + package = buildPythonPackage rec { + pname = "buildbot"; + version = "1.4.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "0dfa926nh642i3bnpzlz0q347zicyx6wswjfqbniri59ya64fncx"; + }; + + propagatedBuildInputs = [ + # core + twisted + jinja2 + zope_interface + future + sqlalchemy + sqlalchemy_migrate + dateutil + txaio + autobahn + pyjwt + + # tls + twisted.extras.tls + ]; + + checkInputs = [ + treq + txrequests + pyjade + boto3 + moto + mock + lz4 + setuptoolsTrial + isort + pylint + flake8 + buildbot-worker + buildbot-pkg + glibcLocales + ]; + + patches = [ + # This patch disables the test that tries to read /etc/os-release which + # is not accessible in sandboxed builds. + ./skip_test_linux_distro.patch + ]; + + LC_ALL = "en_US.UTF-8"; + + # TimeoutErrors on slow machines -> aarch64 + doCheck = !stdenv.isAarch64; + + postPatch = '' + substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" + ''; + + passthru = { + inherit withPlugins; + }; + + meta = with lib; { + homepage = http://buildbot.net/; + description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + license = licenses.gpl2; + }; + }; +in package diff --git a/pkgs/development/tools/build-managers/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix similarity index 65% rename from pkgs/development/tools/build-managers/buildbot/pkg.nix rename to pkgs/development/python-modules/buildbot/pkg.nix index 11f5be4e98e9..b9358b1c420b 100644 --- a/pkgs/development/tools/build-managers/buildbot/pkg.nix +++ b/pkgs/development/python-modules/buildbot/pkg.nix @@ -1,24 +1,21 @@ -{ stdenv, buildPythonPackage, fetchPypi, setuptools }: +{ lib, buildPythonPackage, fetchPypi, setuptools }: buildPythonPackage rec { - name = "${pname}-${version}"; pname = "buildbot-pkg"; - version = "1.2.0"; + version = "1.4.0"; src = fetchPypi { inherit pname version; - sha256 = "70f429311c5812ffd334f023f4f50b904be5c672c8674ee6d28a11a7c096f18a"; + sha256 = "06f4jvczbg9km0gfmcd1ljplf5w8za27i9ap9jnyqgh3j77smd7a"; }; - propagatedBuildInputs = [ setuptools ]; - postPatch = '' # Their listdir function filters out `node_modules` folders. # Do we have to care about that with Nix...? substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" "" ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://buildbot.net/; description = "Buildbot Packaging Helper"; maintainers = with maintainers; [ nand0p ryansydnor ]; diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix new file mode 100644 index 000000000000..bdc67d178d44 --- /dev/null +++ b/pkgs/development/python-modules/buildbot/plugins.nix @@ -0,0 +1,103 @@ +{ lib, buildPythonPackage, fetchPypi, buildbot, buildbot-pkg }: + +{ + www = buildPythonPackage rec { + pname = "buildbot_www"; + inherit (buildbot-pkg) version; + + # NOTE: wheel is used due to buildbot circular dependency + format = "wheel"; + + src = fetchPypi { + inherit pname version format; + sha256 = "1m5dsp1gn9m5vfh5hnqp8g6hmhw1f1ydnassd33nhk521f2akz0v"; + }; + + meta = with lib; { + homepage = http://buildbot.net/; + description = "Buildbot UI"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + license = licenses.gpl2; + }; + }; + + console-view = buildPythonPackage rec { + pname = "buildbot-console-view"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + sha256 = "0vblaxmihgb4w9aa5q0wcgvxs7qzajql8s22w0pl9qs494g05s9r"; + }; + + propagatedBuildInputs = [ buildbot-pkg ]; + checkInputs = [ buildbot ]; + + meta = with lib; { + homepage = http://buildbot.net/; + description = "Buildbot Console View Plugin"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + license = licenses.gpl2; + }; + }; + + waterfall-view = buildPythonPackage rec { + pname = "buildbot-waterfall-view"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + sha256 = "18v1a6dapwjc2s9hi0cv3ry3s048w84md908zwaa3033gz3zwzy7"; + }; + + propagatedBuildInputs = [ buildbot-pkg ]; + checkInputs = [ buildbot ]; + + meta = with lib; { + homepage = http://buildbot.net/; + description = "Buildbot Waterfall View Plugin"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + license = licenses.gpl2; + }; + }; + + grid-view = buildPythonPackage rec { + pname = "buildbot-grid-view"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + sha256 = "0iawsy892v6rn88hsgiiwaf689jqzhnb2wbxh6zkz3c0hvq4g0qd"; + }; + + propagatedBuildInputs = [ buildbot-pkg ]; + checkInputs = [ buildbot ]; + + meta = with lib; { + homepage = http://buildbot.net/; + description = "Buildbot Grid View Plugin"; + maintainers = with maintainers; [ nand0p ]; + license = licenses.gpl2; + }; + }; + + wsgi-dashboards = buildPythonPackage rec { + pname = "buildbot-wsgi-dashboards"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + sha256 = "00cpjna3bffh1qbq6a3sqffd1g7qhbrmn9gpzxf9k38jam6jgfpz"; + }; + + propagatedBuildInputs = [ buildbot-pkg ]; + checkInputs = [ buildbot ]; + + meta = with lib; { + homepage = http://buildbot.net/; + description = "Buildbot WSGI dashboards Plugin"; + maintainers = with maintainers; [ ]; + license = licenses.gpl2; + }; + }; +} diff --git a/pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch b/pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch similarity index 100% rename from pkgs/development/tools/build-managers/buildbot/skip_test_linux_distro.patch rename to pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch diff --git a/pkgs/development/tools/build-managers/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix similarity index 60% rename from pkgs/development/tools/build-managers/buildbot/worker.nix rename to pkgs/development/python-modules/buildbot/worker.nix index 4fabad9d3701..4e54276f8aed 100644 --- a/pkgs/development/tools/build-managers/buildbot/worker.nix +++ b/pkgs/development/python-modules/buildbot/worker.nix @@ -1,23 +1,23 @@ -{ stdenv, pythonPackages }: +{ lib, buildPythonPackage, fetchPypi, python, setuptoolsTrial, mock, twisted, future }: -pythonPackages.buildPythonApplication (rec { - name = "${pname}-${version}"; +buildPythonPackage (rec { pname = "buildbot-worker"; version = "1.4.0"; - src = pythonPackages.fetchPypi { + src = fetchPypi { inherit pname version; sha256 = "12zvf4c39b6s4g1f2w407q8kkw602m88rc1ggi4w9pkw3bwbxrgy"; }; - buildInputs = with pythonPackages; [ setuptoolsTrial mock ]; - propagatedBuildInputs = with pythonPackages; [ twisted future ]; + propagatedBuildInputs = [ twisted future ]; + + checkInputs = [ setuptoolsTrial mock ]; postPatch = '' substituteInPlace buildbot_worker/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = http://buildbot.net/; description = "Buildbot Worker Daemon"; maintainers = with maintainers; [ nand0p ryansydnor ]; diff --git a/pkgs/development/python-modules/escapism/default.nix b/pkgs/development/python-modules/escapism/default.nix new file mode 100644 index 000000000000..b2ac36582357 --- /dev/null +++ b/pkgs/development/python-modules/escapism/default.nix @@ -0,0 +1,24 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "escapism"; + version = "1.0.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "5f1cc1fa04a95f5b85b3da194750f8a71846d493ea332f62e8798949f10c9b86"; + }; + + # No tests distributed + doCheck = false; + + meta = with pkgs.lib; { + description = "Simple, generic API for escaping strings"; + homepage = "https://github.com/minrk/escapism"; + license = licenses.mit; + maintainers = with maintainers; [ bzizou ]; + }; +} diff --git a/pkgs/development/python-modules/facebook-sdk/default.nix b/pkgs/development/python-modules/facebook-sdk/default.nix new file mode 100644 index 000000000000..249acb262fba --- /dev/null +++ b/pkgs/development/python-modules/facebook-sdk/default.nix @@ -0,0 +1,32 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +, requests +, python +}: + +buildPythonPackage rec { + pname = "facebook-sdk"; + version = "3.0.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "f3d450ec313b62d3716fadc4e5098183760e1d2a9e0434a94b74e59ea6ea3e4d"; + }; + + propagatedBuildInputs = [ requests ]; + + # checks require network + doCheck = false; + + checkPhase = '' + ${python.interpreter} test/test_facebook.py + ''; + + meta = with pkgs.lib; { + description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK"; + homepage = https://github.com/pythonforfacebook/facebook-sdk; + license = licenses.asl20 ; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/filterpy/default.nix b/pkgs/development/python-modules/filterpy/default.nix new file mode 100644 index 000000000000..47f2c083d8a3 --- /dev/null +++ b/pkgs/development/python-modules/filterpy/default.nix @@ -0,0 +1,35 @@ +{ stdenv +, buildPythonPackage +, fetchPypi +, numpy +, scipy +, matplotlib +, pytest +}: + +buildPythonPackage rec { + version = "1.4.5"; + pname = "filterpy"; + + src = fetchPypi { + inherit pname version; + extension = "zip"; + sha256 = "4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ numpy scipy matplotlib ]; + + # single test fails (even on master branch of repository) + # project does not use CI + checkPhase = '' + pytest --ignore=filterpy/common/tests/test_discretization.py + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/rlabbe/filterpy; + description = "Kalman filtering and optimal estimation library"; + license = licenses.mit; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/hyperlink/default.nix b/pkgs/development/python-modules/hyperlink/default.nix index 53a245c45dcf..2e2e4e1cb774 100644 --- a/pkgs/development/python-modules/hyperlink/default.nix +++ b/pkgs/development/python-modules/hyperlink/default.nix @@ -11,12 +11,6 @@ buildPythonPackage rec { propagatedBuildInputs = [ idna ]; - checkInputs = [ pytest ]; - - checkPhase = '' - py.test $out - ''; - meta = with stdenv.lib; { description = "A featureful, correct URL for Python"; license = licenses.mit; diff --git a/pkgs/development/python-modules/ibmquantumexperience/default.nix b/pkgs/development/python-modules/ibmquantumexperience/default.nix index 82f6cb144ac7..22b809c46c20 100644 --- a/pkgs/development/python-modules/ibmquantumexperience/default.nix +++ b/pkgs/development/python-modules/ibmquantumexperience/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "IBMQuantumExperience"; - version = "2.0.2"; + version = "2.0.3"; src = fetchPypi { inherit pname version; - sha256 = "f2a5662d7457c297af0751985979e64a88569beb07cfedad0ce1dfa5a7237842"; + sha256 = "c5dbcc140344c7bdf545ad59db87f31a90ca35107c40d6cae1489bb997a47ba9"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/osmnx/default.nix b/pkgs/development/python-modules/osmnx/default.nix new file mode 100755 index 000000000000..c34b75bd0415 --- /dev/null +++ b/pkgs/development/python-modules/osmnx/default.nix @@ -0,0 +1,33 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, geopandas, descartes, matplotlib, networkx, numpy +, pandas, requests, Rtree, shapely, pytest, coverage, coveralls, folium, scikitlearn, scipy}: + +buildPythonPackage rec { + pname = "osmnx"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "gboeing"; + repo = pname; + rev = "v${version}"; + sha256 = "1pn2v3dhbmb0yhqif9padg7x3sdx27pgfr95i3kxj4v0yrviaf9k"; + }; + + propagatedBuildInputs = [ geopandas descartes matplotlib networkx numpy pandas requests Rtree shapely folium scikitlearn scipy ]; + + checkInputs = [ coverage pytest coveralls ]; + #Fails when using sandboxing as it requires internet connection, works fine without it + doCheck = false; + + #Check phase for the record + #checkPhase = '' + # coverage run --source osmnx -m pytest --verbose + #''; + + meta = with stdenv.lib; { + description = "A package to easily download, construct, project, visualize, and analyze complex street networks from OpenStreetMap with NetworkX."; + homepage = https://github.com/gboeing/osmnx; + license = licenses.mit; + maintainers = with maintainers; [ psyanticy ]; + }; +} + diff --git a/pkgs/development/python-modules/pylint/1.9.nix b/pkgs/development/python-modules/pylint/1.9.nix new file mode 100644 index 000000000000..ad3140cf1572 --- /dev/null +++ b/pkgs/development/python-modules/pylint/1.9.nix @@ -0,0 +1,49 @@ +{ stdenv, lib, buildPythonPackage, fetchPypi, python, astroid, six, isort, + mccabe, configparser, backports_functools_lru_cache, singledispatch, + pytest, pytestrunner, pyenchant }: + +buildPythonPackage rec { + pname = "pylint"; + version = "1.9.2"; + + src = fetchPypi { + inherit pname version; + sha256 = "1cxr1j037hsm4spmvl64v2j2rdq72pc2z0gnn3iggd4np6y21wpz"; + }; + + checkInputs = [ pytest pytestrunner pyenchant ]; + + propagatedBuildInputs = [ astroid six isort mccabe configparser backports_functools_lru_cache singledispatch ]; + + postPatch = lib.optionalString stdenv.isDarwin '' + # Remove broken darwin test + rm -vf pylint/test/test_functional.py + ''; + + checkPhase = '' + pytest pylint/test -k "not ${lib.concatStringsSep " and not " ( + [ # Broken test + "test_good_comprehension_checks" + # See PyCQA/pylint#2535 + "test_libmodule" ] ++ + # Disable broken darwin tests + lib.optionals stdenv.isDarwin [ + "test_parallel_execution" + "test_py3k_jobs_option" + ] + )}" + ''; + + postInstall = '' + mkdir -p $out/share/emacs/site-lisp + cp "elisp/"*.el $out/share/emacs/site-lisp/ + ''; + + meta = with lib; { + homepage = https://github.com/PyCQA/pylint; + description = "A bug and style checker for Python"; + platforms = platforms.all; + license = licenses.gpl1Plus; + maintainers = with maintainers; [ nand0p ]; + }; +} diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix index c9a44548c142..4f4eb3cfc731 100644 --- a/pkgs/development/python-modules/pylint/default.nix +++ b/pkgs/development/python-modules/pylint/default.nix @@ -1,5 +1,5 @@ -{ stdenv, buildPythonPackage, fetchPypi, python, pythonOlder, astroid, isort, - pytest, pytestrunner, mccabe, pytest_xdist, pyenchant }: +{ stdenv, lib, buildPythonPackage, fetchPypi, python, pythonOlder, astroid, + isort, mccabe, pytest, pytestrunner, pyenchant }: buildPythonPackage rec { pname = "pylint"; @@ -12,21 +12,25 @@ buildPythonPackage rec { sha256 = "31142f764d2a7cd41df5196f9933b12b7ee55e73ef12204b648ad7e556c119fb"; }; - checkInputs = [ pytest pytestrunner pytest_xdist pyenchant ]; + checkInputs = [ pytest pytestrunner pyenchant ]; propagatedBuildInputs = [ astroid isort mccabe ]; - postPatch = '' + postPatch = lib.optionalString stdenv.isDarwin '' # Remove broken darwin test rm -vf pylint/test/test_functional.py ''; checkPhase = '' - cat pylint/test/test_self.py - # Disable broken darwin tests - pytest pylint/test -k "not test_parallel_execution \ - and not test_py3k_jobs_option \ - and not test_good_comprehension_checks" + pytest pylint/test -k "not ${lib.concatStringsSep " and not " ( + # Broken test + [ "test_good_comprehension_checks" ] ++ + # Disable broken darwin tests + lib.optionals stdenv.isDarwin [ + "test_parallel_execution" + "test_py3k_jobs_option" + ] + )}" ''; postInstall = '' @@ -34,8 +38,8 @@ buildPythonPackage rec { cp "elisp/"*.el $out/share/emacs/site-lisp/ ''; - meta = with stdenv.lib; { - homepage = https://www.logilab.org/project/pylint; + meta = with lib; { + homepage = https://github.com/PyCQA/pylint; description = "A bug and style checker for Python"; platforms = platforms.all; license = licenses.gpl1Plus; diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix index 6146159ad0ab..deb9cbdb7d0a 100644 --- a/pkgs/development/python-modules/pytest/default.nix +++ b/pkgs/development/python-modules/pytest/default.nix @@ -37,8 +37,10 @@ buildPythonPackage rec { ''; meta = with stdenv.lib; { - maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; - platforms = platforms.unix; + homepage = https://docs.pytest.org; description = "Framework for writing tests"; + maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; + license = licenses.mit; + platforms = platforms.unix; }; } diff --git a/pkgs/development/python-modules/qasm2image/default.nix b/pkgs/development/python-modules/qasm2image/default.nix index 5f7cded86fda..429159d05d7d 100644 --- a/pkgs/development/python-modules/qasm2image/default.nix +++ b/pkgs/development/python-modules/qasm2image/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "qasm2image"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { - owner = "nelimeee"; + owner = "nelimee"; repo = "qasm2image"; - rev = "57a640621bbbc74244f07e2e068a26411b0d9b24"; - sha256 = "1ha5vfl4jfwcwbipsq07xlknkrvx79z5bwbzndybclyk9pa69dlz"; + rev = "2c01756946ba9782973359dbd7bbf6651af6bee5"; + sha256 = "1bnkzv7wrdvrq71dmsqanb3v2hcsxh5zaglfcxm2d9zzpmvb4a2n"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix index 0f02560c81f8..1938cb37c75a 100644 --- a/pkgs/development/python-modules/qiskit/default.nix +++ b/pkgs/development/python-modules/qiskit/default.nix @@ -13,19 +13,21 @@ , requests , requests_ntlm , IBMQuantumExperience +, jsonschema +, psutil , cmake , llvmPackages }: buildPythonPackage rec { pname = "qiskit"; - version = "0.5.7"; + version = "0.6.1"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "a5a2c6c074f8479dc83d1d599dfebf2363402a182835b8fa5742804055148b17"; + sha256 = "601e8db4db470593b94a32495c6e90e2db11a9382817a34584520573a7b8cc38"; }; buildInputs = [ cmake ] @@ -43,6 +45,8 @@ buildPythonPackage rec { requests requests_ntlm IBMQuantumExperience + jsonschema + psutil ]; # Pypi's tarball doesn't contain tests diff --git a/pkgs/development/python-modules/rfc-bibtex/default.nix b/pkgs/development/python-modules/rfc-bibtex/default.nix new file mode 100644 index 000000000000..a1626d6b65c3 --- /dev/null +++ b/pkgs/development/python-modules/rfc-bibtex/default.nix @@ -0,0 +1,20 @@ +{ stdenv, buildPythonApplication, fetchPypi, isPy3k }: + +buildPythonApplication rec { + pname = "rfc-bibtex"; + version = "0.2.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1p8xjgq4rig1jgqy5jqh34mbifxgxsyyxh8sizwz2wyixf8by8lq"; + }; + + disabled = !isPy3k; + + meta = with stdenv.lib; { + homepage = ttps://github.com/iluxonchik/rfc-bibtex/; + description = "Generate Bibtex entries for IETF RFCs and Internet-Drafts"; + license = licenses.mit; + maintainers = with maintainers; [ teto ]; + }; +} diff --git a/pkgs/development/python-modules/sphinx-jinja/default.nix b/pkgs/development/python-modules/sphinx-jinja/default.nix new file mode 100644 index 000000000000..375f59ec3f91 --- /dev/null +++ b/pkgs/development/python-modules/sphinx-jinja/default.nix @@ -0,0 +1,27 @@ +{ lib, buildPythonPackage, fetchPypi, pbr, sphinx, sphinx-testing, nose, glibcLocales }: + +buildPythonPackage rec { + pname = "sphinx-jinja"; + version = "1.1.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "02pgp9pbn0zrs0lggrc74mv6cvlnlq8wib84ga6yjvq30gda9v8q"; + }; + + buildInputs = [ pbr ]; + propagatedBuildInputs = [ sphinx ]; + + checkInputs = [ sphinx-testing nose glibcLocales ]; + + checkPhase = '' + # Zip (epub) does not support files with epoch timestamp + LC_ALL="en_US.UTF-8" nosetests -e test_build_epub + ''; + + meta = with lib; { + description = "Sphinx extension to include jinja templates in documentation"; + maintainers = with maintainers; [ nand0p ]; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix index 8a5609c1cd9f..41269aa6567f 100644 --- a/pkgs/development/python-modules/sqlalchemy-migrate/default.nix +++ b/pkgs/development/python-modules/sqlalchemy-migrate/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPythonPackage, fetchPypi, python +{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, python , unittest2, scripttest, pytz, pylint, mock , testtools, pbr, tempita, decorator, sqlalchemy , six, sqlparse, testrepository @@ -12,6 +12,12 @@ buildPythonPackage rec { sha256 = "0ld2bihp9kmf57ykgzrfgxs4j9kxlw79sgdj9sfn47snw3izb2p6"; }; + # See: https://review.openstack.org/#/c/608382/ + patches = [ (fetchpatch { + url = https://github.com/openstack/sqlalchemy-migrate/pull/18.patch; + sha256 = "1qyfq2m7w7xqf0r9bc2x42qcra4r9k9l9g1jy5j0fvlb6bvvjj07"; + }) ]; + checkInputs = [ unittest2 scripttest pytz mock testtools testrepository ]; propagatedBuildInputs = [ pbr tempita decorator sqlalchemy six sqlparse ]; @@ -32,10 +38,8 @@ buildPythonPackage rec { ${python.interpreter} setup.py test ''; - doCheck = true; - meta = with stdenv.lib; { - homepage = http://code.google.com/p/sqlalchemy-migrate/; + homepage = https://github.com/openstack/sqlalchemy-migrate; description = "Schema migration tools for SQLAlchemy"; license = licenses.asl20; maintainers = with maintainers; [ makefu ]; diff --git a/pkgs/development/python-modules/tempita/default.nix b/pkgs/development/python-modules/tempita/default.nix new file mode 100644 index 000000000000..318c47d21608 --- /dev/null +++ b/pkgs/development/python-modules/tempita/default.nix @@ -0,0 +1,21 @@ +{ lib, buildPythonPackage, fetchFromGitHub, nose }: + +buildPythonPackage rec { + version = "0.5.3-2016-09-28"; + name = "tempita-${version}"; + + src = fetchFromGitHub { + owner = "gjhiggins"; + repo = "tempita"; + rev = "47414a7c6e46a9a9afe78f0bce2ea299fa84d10"; + sha256 = "0f33jjjs5rvp7ar2j6ggyfykcrsrn04jaqcq71qfvycf6b7nw3rn"; + }; + + buildInputs = [ nose ]; + + meta = { + homepage = https://github.com/gjhiggins/tempita; + description = "A very small text templating language"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/tinycss/default.nix b/pkgs/development/python-modules/tinycss/default.nix new file mode 100644 index 000000000000..ab6a4183df50 --- /dev/null +++ b/pkgs/development/python-modules/tinycss/default.nix @@ -0,0 +1,35 @@ +{ pkgs +, buildPythonPackage +, fetchPypi +, pytest +, python +, cssutils +, isPyPy +}: + +buildPythonPackage rec { + pname = "tinycss"; + version = "0.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "12306fb50e5e9e7eaeef84b802ed877488ba80e35c672867f548c0924a76716e"; + }; + + checkInputs = [ pytest ]; + propagatedBuildInputs = [ cssutils ]; + + checkPhase = '' + py.test $out/${python.sitePackages} + ''; + + # Disable Cython tests for PyPy + TINYCSS_SKIP_SPEEDUPS_TESTS = pkgs.lib.optional isPyPy true; + + meta = with pkgs.lib; { + description = "Complete yet simple CSS parser for Python"; + license = licenses.bsd3; + homepage = https://pythonhosted.org/tinycss/; + maintainers = [ maintainers.costrouc ]; + }; +} diff --git a/pkgs/development/python-modules/toolz/default.nix b/pkgs/development/python-modules/toolz/default.nix index 0fea8f1ab751..974e3a43bc7c 100644 --- a/pkgs/development/python-modules/toolz/default.nix +++ b/pkgs/development/python-modules/toolz/default.nix @@ -21,10 +21,10 @@ buildPythonPackage rec{ nosetests toolz/tests ''; - meta = { - homepage = https://github.com/pytoolz/toolz/; + meta = with lib; { + homepage = https://github.com/pytoolz/toolz; description = "List processing tools and functional utilities"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ fridh ]; + license = licenses.bsd3; + maintainers = with maintainers; [ fridh ]; }; } diff --git a/pkgs/development/python-modules/trollius/default.nix b/pkgs/development/python-modules/trollius/default.nix index 6d43aa8da869..01ad57e55d7d 100644 --- a/pkgs/development/python-modules/trollius/default.nix +++ b/pkgs/development/python-modules/trollius/default.nix @@ -1,45 +1,49 @@ -{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, isPyPy, mock, futures }: +{ lib, stdenv, buildPythonPackage, fetchPypi, isPy3k, mock, unittest2, six, futures }: + buildPythonPackage rec { pname = "trollius"; - version = "1.0.4"; + version = "2.2"; src = fetchPypi { inherit pname version; - sha256 = "0xny8y12x3wrflmyn6xi8a7n3m3ac80fgmgzphx5jbbaxkjcm148"; + sha256 = "093978388qvw5hyscbbj062dbdc2761xs9yzrq26mh63g689lnxk"; }; - checkInputs = [ mock ]; + checkInputs = [ mock ] ++ lib.optional (!isPy3k) unittest2; - propagatedBuildInputs = lib.optionals (isPy27 || isPyPy) [ futures ]; + propagatedBuildInputs = [ six ] ++ lib.optional (!isPy3k) futures; patches = [ ./tests.patch ]; - # Some of the tests fail on darwin with `error: AF_UNIX path too long' - # because of the *long* path names for sockets - patchPhase = lib.optionalString stdenv.isDarwin '' - sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py - sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py - sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py - sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py - sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py - sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py - sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py - sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py - sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py - sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py - sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py - sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py - sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py - sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py - sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py - sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py + postPatch = '' + # Overrides PYTHONPATH causing dependencies not to be found + sed -i -e "s|test_env_var_debug|skip_test_env_var_debug|g" tests/test_tasks.py + '' + lib.optionalString stdenv.isDarwin '' + # Some of the tests fail on darwin with `error: AF_UNIX path too long' + # because of the *long* path names for sockets + sed -i -e "s|test_create_ssl_unix_connection|skip_test_create_ssl_unix_connection|g" tests/test_events.py + sed -i -e "s|test_create_unix_connection|skip_test_create_unix_connection|g" tests/test_events.py + sed -i -e "s|test_create_unix_server_existing_path_nonsock|skip_test_create_unix_server_existing_path_nonsock|g" tests/test_unix_events.py + sed -i -e "s|test_create_unix_server_existing_path_sock|skip_test_create_unix_server_existing_path_sock|g" tests/test_unix_events.py + sed -i -e "s|test_create_unix_server_ssl_verified|skip_test_create_unix_server_ssl_verified|g" tests/test_events.py + sed -i -e "s|test_create_unix_server_ssl_verify_failed|skip_test_create_unix_server_ssl_verify_failed|g" tests/test_events.py + sed -i -e "s|test_create_unix_server_ssl|skip_test_create_unix_server_ssl|g" tests/test_events.py + sed -i -e "s|test_create_unix_server|skip_test_create_unix_server|g" tests/test_events.py + sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|g" tests/test_streams.py + sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|g" tests/test_streams.py + sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|g" tests/test_streams.py + sed -i -e "s|test_pause_reading|skip_test_pause_reading|g" tests/test_subprocess.py + sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|g" tests/test_events.py + sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|g" tests/test_streams.py + sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|g" tests/test_events.py + sed -i -e "s|test_write_pty|skip_test_write_pty|g" tests/test_events.py ''; meta = with stdenv.lib; { - description = "Port of the Tulip project (asyncio module, PEP 3156) on Python 2"; - homepage = "https://bitbucket.org/enovance/trollius"; + description = "Port of the asyncio project to Python 2.7"; + homepage = https://github.com/vstinner/trollius; license = licenses.asl20; maintainers = with maintainers; [ garbas ]; }; diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index eb9be9ed18c9..8640d43775dc 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -319,6 +319,10 @@ in dontUseCmakeConfigure = true; }; + sassc = attrs: { + nativeBuildInputs = [ rake ]; + }; + scrypt = attrs: if stdenv.isDarwin then { dontBuild = false; diff --git a/pkgs/development/tools/analysis/cpplint/default.nix b/pkgs/development/tools/analysis/cpplint/default.nix new file mode 100644 index 000000000000..10ed99e3ffe6 --- /dev/null +++ b/pkgs/development/tools/analysis/cpplint/default.nix @@ -0,0 +1,29 @@ +{ lib, pythonPackages, fetchFromGitHub }: + +pythonPackages.buildPythonApplication rec { + pname = "cpplint"; + version = "1.3.0"; + + # Fetch from github instead of pypi, since the test cases are not in the pypi archive + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "107v7bp35kxbv9v7wl79h7115z1m4b48rhasp0cnivql1grd277i"; + }; + + postPatch = '' + patchShebangs cpplint_unittest.py + ''; + + checkPhase = '' + ./cpplint_unittest.py + ''; + + meta = with lib; { + homepage = https://github.com/cpplint/cpplint; + description = "Static code checker for C++"; + maintainers = [ maintainers.bhipple ]; + license = [ licenses.bsd3 ]; + }; +} diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix index 187b2d7b03f9..89b0a33c0682 100644 --- a/pkgs/development/tools/analysis/pmd/default.nix +++ b/pkgs/development/tools/analysis/pmd/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pmd-${version}"; - version = "6.7.0"; + version = "6.8.0"; buildInputs = [ unzip ]; src = fetchurl { url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip"; - sha256 = "0bnbr8zq28dgvwka563g5lbya5jhmjrahnbwagcs4afpsrm7zj6c"; + sha256 = "1vfkg2l3sl5ahhs89nvkg0z1ah1k67c44nwpvaymq73rb2bb8ibr"; }; installPhase = '' @@ -16,10 +16,11 @@ stdenv.mkDerivation rec { cp -R * $out ''; - meta = { - description = "Scans Java source code and looks for potential problems"; - homepage = http://pmd.sourceforge.net/; - platforms = stdenv.lib.platforms.unix; + meta = with stdenv.lib; { + description = "An extensible cross-language static code analyzer."; + homepage = https://pmd.github.io/; + platforms = platforms.unix; + license = with licenses; [ bsdOriginal asl20 ]; }; } diff --git a/pkgs/development/tools/analysis/retdec/default.nix b/pkgs/development/tools/analysis/retdec/default.nix index a4c62e6fc32c..428ca259f496 100644 --- a/pkgs/development/tools/analysis/retdec/default.nix +++ b/pkgs/development/tools/analysis/retdec/default.nix @@ -1,121 +1,218 @@ -{ stdenv, fetchFromGitHub, fetchurl, fetchzip, -# Native build inputs -cmake, -autoconf, automake, libtool, -pkgconfig, -bison, flex, -groff, -perl, -python, -# Runtime tools -time, -upx, -# Build inputs -ncurses, -libffi, -libxml2, -zlib, -# PE (Windows) data, huge space savings if not needed -withPEPatterns ? false, +{ stdenv +, fetchFromGitHub +, fetchzip +, lib +, callPackage +, openssl +, cmake +, autoconf +, automake +, libtool +, pkgconfig +, bison +, flex +, groff +, perl +, python3 +, time +, upx +, ncurses +, libffi +, libxml2 +, zlib +, withPEPatterns ? false }: let - release = "3.0"; - + capstone = fetchFromGitHub { + owner = "avast-tl"; + repo = "capstone"; + rev = "27c713fe4f6eaf9721785932d850b6291a6073fe"; + sha256 = "105z1g9q7s6n15qpln9vzhlij7vj6cyc5dqdr05n7wzjvlagwgxc"; + }; + elfio = fetchFromGitHub { + owner = "avast-tl"; + repo = "elfio"; + rev = "998374baace397ea98f3b1d768e81c978b4fba41"; + sha256 = "09n34rdp0wpm8zy30zx40wkkc4gbv2k3cv181y6c1260rllwk5d1"; + }; + keystone = fetchFromGitHub { # only for tests + owner = "keystone-engine"; + repo = "keystone"; + rev = "d7ba8e378e5284e6384fc9ecd660ed5f6532e922"; + sha256 = "1yzw3v8xvxh1rysh97y0i8y9svzbglx2zbsqjhrfx18vngh0x58f"; + }; + libdwarf = fetchFromGitHub { + owner = "avast-tl"; + repo = "libdwarf"; + rev = "85465d5e235cc2d2f90d04016d6aca1a452d0e73"; + sha256 = "11y62r65py8yp57i57a4cymxispimn62by9z4j2g19hngrpsgbki"; + }; + llvm = fetchFromGitHub { + owner = "avast-tl"; + repo = "llvm"; + rev = "725d0cee133c6ab9b95c493f05de3b08016f5c3c"; + sha256 = "0dzvafmn4qs62w1y9vh0a11clpj6q3hb41aym4izpcyybjndf9bq"; + }; + pelib = fetchFromGitHub { + owner = "avast-tl"; + repo = "pelib"; + rev = "a7004b2e80e4f6dc984f78b821e7b585a586050d"; + sha256 = "0nyrb3g749lxgcymz1j584xbb1x6rvy1mc700lyn0brznvqsm81n"; + }; rapidjson = fetchFromGitHub { owner = "Tencent"; repo = "rapidjson"; rev = "v1.1.0"; sha256 = "1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"; }; + yaracpp = callPackage ./yaracpp.nix {}; # is its own package because it needs a patch + yaramod = fetchFromGitHub { + owner = "avast-tl"; + repo = "yaramod"; + rev = "v2.1.2"; + sha256 = "1rpyqzkrqvk721hf75wb7aasw5mzp9wz4j89p0x1l9p5x1b3maz3"; + }; jsoncpp = fetchFromGitHub { owner = "open-source-parsers"; repo = "jsoncpp"; - rev = "1.8.3"; - sha256 = "05gkmg6r94q8a0qdymarcjlnlvmy9s365m9jhz3ysvi71cr31lkz"; + rev = "1.8.4"; + sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm"; }; - googletest = fetchFromGitHub { + googletest = fetchFromGitHub { # only for tests owner = "google"; repo = "googletest"; - rev = "release-1.8.0"; - sha256 = "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"; + rev = "83fa0cb17dad47a1d905526dcdddb5b96ed189d2"; + sha256 = "1c2r0p9v7vz2vasy8bknfb448l6wsvzw35s8hmc5z013z5502mpk"; }; tinyxml2 = fetchFromGitHub { owner = "leethomason"; repo = "tinyxml2"; - rev = "5.0.1"; + rev = "cc1745b552dd12bb1297a99f82044f83b06729e0"; sha256 = "015g8520a0c55gwmv7pfdsgfz2rpdmh3d1nq5n9bd65n35492s3q"; }; - yara = fetchurl { - url = "https://github.com/avast-tl/yara/archive/v1.0-retdec.zip"; - sha256 = "1bjrkgp1sgld2y7gvwrlrz5fs16521ink6xyq72v7yxj3vfa9gps"; - }; - openssl = fetchurl { - url = "https://www.openssl.org/source/openssl-1.1.0f.tar.gz"; - sha256 = "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj"; + + retdec-support = let + version = "2018-02-08"; # make sure to adjust both hashes (once with withPEPatterns=true and once withPEPatterns=false) + in fetchzip { + url = "https://github.com/avast-tl/retdec-support/releases/download/${version}/retdec-support_${version}.tar.xz"; + sha256 = if withPEPatterns then "148i8flbyj1y4kfdyzsz7jsj38k4h97npjxj18h6v4wksd4m4jm7" + else "0ixv9qyqq40pzyqy6v9jf5rxrvivjb0z0zn260nbmb9gk765bacy"; + stripRoot = false; + # Removing PE signatures reduces this from 3.8GB -> 642MB (uncompressed) + extraPostFetch = lib.optionalString (!withPEPatterns) '' + rm -r "$out/generic/yara_patterns/static-code/pe" + ''; + } // { + inherit version; # necessary to check the version against the expected version }; - retdec-support = fetchzip { - url = "https://github.com/avast-tl/retdec-support/releases/download/2017-12-12/retdec-support_2017-12-12.tar.xz"; - sha256 = if withPEPatterns then "0pchl7hb42dm0sdbmpr8d3c6xc0lm6cs4p6g6kdb2cr9c99gjzn3" - else "1hcyq6bf4wk739kb53ic2bs71gsbx6zd07pc07lzfnxf8k497mhv"; - # Removing PE signatures reduces this from 3.8GB -> 642MB (uncompressed) - extraPostFetch = stdenv.lib.optionalString (!withPEPatterns) '' - rm -rf $out/generic/yara_patterns/static-code/pe - ''; - }; + # patch CMakeLists.txt for a dependency and compare the versions to the ones expected by upstream + # this has to be applied for every dependency (which it is in postPatch) + patchDep = dep: '' + # check if our version of dep is the same version that upstream expects + echo "Checking version of ${dep.dep_name}" + expected_rev="$( sed -n -e 's|.*URL https://github.com/.*/archive/\(.*\)\.zip.*|\1|p' "deps/${dep.dep_name}/CMakeLists.txt" )" + if [ "$expected_rev" != '${dep.rev}' ]; then + echo "The ${dep.dep_name} dependency has the wrong version: ${dep.rev} while $expected_rev is expected." + exit 1 + fi + + # patch the CMakeLists.txt file to use our local copy of the dependency instead of fetching it at build time + sed -i -e 's|URL .*|URL ${dep}|' "deps/${dep.dep_name}/CMakeLists.txt" + ''; + in stdenv.mkDerivation rec { name = "retdec-${version}"; - version = "${release}.0"; + + # If you update this you will also need to adjust the versions of the updated dependencies. You can do this by first just updating retdec + # itself and trying to build it. The build should fail and tell you which dependencies you have to upgrade to which versions. + # I've notified upstream about this problem here: + # https://github.com/avast-tl/retdec/issues/412 + version = "3.2"; src = fetchFromGitHub { owner = "avast-tl"; repo = "retdec"; - name = "retdec-${release}"; - rev = "refs/tags/v${release}"; - sha256 = "0cpc5lxg8qphdzl3gg9dx992ar35r8ik8wyysr91l2qvfhx93wks"; - fetchSubmodules = true; + name = "retdec-${version}"; + rev = "refs/tags/v${version}"; + sha256 = "0chky656lsddn20bnm3pmz6ix20y4a0y8swwr42hrhi01vkhmzrp"; }; - nativeBuildInputs = [ cmake autoconf automake libtool pkgconfig bison flex groff perl python ]; + nativeBuildInputs = [ + cmake + autoconf + automake + libtool + pkgconfig + bison + flex + groff + perl + python3 + ]; - buildInputs = [ ncurses libffi libxml2 zlib ]; + buildInputs = [ + openssl + ncurses + libffi + libxml2 + zlib + ]; - prePatch = '' - find . -wholename "*/deps/rapidjson/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${rapidjson}|' - find . -wholename "*/deps/jsoncpp/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${jsoncpp}|' - find . -wholename "*/deps/googletest/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${googletest}|' - find . -wholename "*/deps/tinyxml2/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|GIT_REPOSITORY.*|URL ${tinyxml2}|' + cmakeFlags = [ + "-DRETDEC_TESTS=ON" # build tests + ]; - find . -wholename "*/yaracpp/deps/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|URL .*|URL ${yara}|' + # all dependencies that are normally fetched during build time (the subdirectories of `deps`) + # all of these need to be fetched through nix and the CMakeLists files need to be patched not to fetch them themselves + external_deps = [ + (capstone // { dep_name = "capstone"; }) + (elfio // { dep_name = "elfio"; }) + (googletest // { dep_name = "googletest"; }) + (jsoncpp // { dep_name = "jsoncpp"; }) + (keystone // { dep_name = "keystone"; }) + (libdwarf // { dep_name = "libdwarf"; }) + (llvm // { dep_name = "llvm"; }) + (pelib // { dep_name = "pelib"; }) + (rapidjson // { dep_name = "rapidjson"; }) + (tinyxml2 // { dep_name = "tinyxml2"; }) + (yaracpp // { dep_name = "yaracpp"; }) + (yaramod // { dep_name = "yaramod"; }) + ]; - find . -wholename "*/deps/openssl/CMakeLists.txt" -print0 | \ - xargs -0 sed -i -e 's|OPENSSL_URL .*)|OPENSSL_URL ${openssl})|' + postPatch = (lib.concatMapStrings patchDep external_deps) + '' + # install retdec-support + echo "Checking version of retdec-support" + expected_version="$( sed -n -e "s|^version = '\(.*\)'$|\1|p" 'cmake/install-share.py' )" + if [ "$expected_version" != '${retdec-support.version}' ]; then + echo "The retdec-support dependency has the wrong version: ${retdec-support.version} while $expected_version is expected." + exit 1 + fi + mkdir -p "$out/share/retdec" + cp -r ${retdec-support} "$out/share/retdec/support" # write permission needed during install + chmod -R u+w "$out/share/retdec/support" + # python file originally responsible for fetching the retdec-support archive to $out/share/retdec + # that is not necessary anymore, so empty the file + echo > cmake/install-share.py - cat > cmake/install-share.sh < aarch64 - doCheck = !stdenv.isAarch64; - - postPatch = '' - substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" - ''; - - passthru = { inherit withPlugins; }; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot is an open-source continuous integration framework for automating software build, test, and release processes"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; -in package diff --git a/pkgs/development/tools/build-managers/buildbot/plugins.nix b/pkgs/development/tools/build-managers/buildbot/plugins.nix deleted file mode 100644 index 430cdee3ca8c..000000000000 --- a/pkgs/development/tools/build-managers/buildbot/plugins.nix +++ /dev/null @@ -1,105 +0,0 @@ -{ stdenv, pythonPackages, buildbot-pkg }: - -{ - www = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot_www"; - version = buildbot-pkg.version; - - # NOTE: wheel is used due to buildbot circular dependency - format = "wheel"; - - src = pythonPackages.fetchPypi { - inherit pname version format; - sha256 = "001kxjcyn5sxiq7m1izy4djj7alw6qpgaid4f518s9xgm4a8hwcb"; - }; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot UI"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; - - console-view = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-console-view"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "11p9l9r9rh8cq0ihzjcdxfbi55n7inbsz45zqq67rkvqn5nhj5b6"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Console View Plugin"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; - - waterfall-view = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-waterfall-view"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "1yx63frfpbvwy4hfib1psyq5ad0wysyzfrla8d7lgbdaip021wzw"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Waterfall View Plugin"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - license = licenses.gpl2; - }; - }; - - grid-view = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-grid-view"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "06my75hli3w1skdkx1qz6zqw2wckanhrcvlqm4inylj9v9pcrgv6"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Grid View Plugin"; - maintainers = with maintainers; [ nand0p ]; - license = licenses.gpl2; - }; - }; - - wsgi-dashboards = pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "buildbot-wsgi-dashboards"; - version = buildbot-pkg.version; - - src = pythonPackages.fetchPypi { - inherit pname version; - sha256 = "073gz44fa5k1p8k46k0ld9gg16j8zdj6sc297qfyqpiw28ybhc5s"; - }; - - propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot WSGI dashboards Plugin"; - maintainers = with maintainers; [ ]; - license = licenses.gpl2; - }; - }; - -} diff --git a/pkgs/development/tools/ejson/Gemfile b/pkgs/development/tools/ejson/Gemfile new file mode 100644 index 000000000000..f860fe5075d4 --- /dev/null +++ b/pkgs/development/tools/ejson/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' + +gem 'fpm' +gem 'ronn' diff --git a/pkgs/development/tools/ejson/Gemfile.lock b/pkgs/development/tools/ejson/Gemfile.lock new file mode 100644 index 000000000000..bc72352c7ab1 --- /dev/null +++ b/pkgs/development/tools/ejson/Gemfile.lock @@ -0,0 +1,54 @@ +GEM + remote: https://rubygems.org/ + specs: + arr-pm (0.0.10) + cabin (> 0) + backports (3.8.0) + cabin (0.9.0) + childprocess (0.7.1) + ffi (~> 1.0, >= 1.0.11) + clamp (1.0.1) + dotenv (2.2.1) + ffi (1.9.18) + fpm (1.9.2) + arr-pm (~> 0.0.10) + backports (>= 2.6.2) + cabin (>= 0.6.0) + childprocess + clamp (~> 1.0.0) + ffi + json (>= 1.7.7, < 2.0) + pleaserun (~> 0.0.29) + ruby-xz + stud + hpricot (0.8.6) + insist (1.0.0) + io-like (0.3.0) + json (1.8.6) + mustache (0.99.8) + pleaserun (0.0.30) + cabin (> 0) + clamp + dotenv + insist + mustache (= 0.99.8) + stud + rdiscount (2.2.0.1) + ronn (0.7.3) + hpricot (>= 0.8.2) + mustache (>= 0.7.0) + rdiscount (>= 1.5.8) + ruby-xz (0.2.3) + ffi (~> 1.9) + io-like (~> 0.3) + stud (0.0.23) + +PLATFORMS + ruby + +DEPENDENCIES + fpm + ronn + +BUNDLED WITH + 1.16.0 diff --git a/pkgs/development/tools/ejson/default.nix b/pkgs/development/tools/ejson/default.nix new file mode 100644 index 000000000000..80129f318e39 --- /dev/null +++ b/pkgs/development/tools/ejson/default.nix @@ -0,0 +1,46 @@ +{ lib, bundlerEnv, ruby, buildGoPackage, fetchFromGitHub }: +let + # needed for manpage generation + gems = bundlerEnv { + name = "ejson-gems"; + gemdir = ./.; + inherit ruby; + }; +in buildGoPackage rec { + name = "ejson-${version}"; + version = "1.2.0"; + rev = "v${version}"; + + nativeBuildInputs = [ gems ]; + + goPackagePath = "github.com/Shopify/ejson"; + subPackages = [ "cmd/ejson" ]; + + goDeps = ./deps.nix; + + src = fetchFromGitHub { + owner = "Shopify"; + repo = "ejson"; + inherit rev; + sha256 = "07ig24fryb9n0mfyqb0sgpj7di9y7wbvh2ppwfs2jqfpvpncd7yh"; + }; + + # set HOME, otherwise bundler will insert stuff in the manpages + postBuild = '' + cd go/src/$goPackagePath + HOME=$PWD make man + ''; + + postInstall = '' + mkdir -p $out/share + cp -r build/man $out/share + ''; + + meta = with lib; { + description = "A small library to manage encrypted secrets using asymmetric encryption."; + license = licenses.mit; + homepage = https://github.com/Shopify/ejson; + platforms = platforms.unix; + maintainers = [ maintainers.manveru ]; + }; +} diff --git a/pkgs/development/tools/ejson/deps.nix b/pkgs/development/tools/ejson/deps.nix new file mode 100644 index 000000000000..b0c7defc5d78 --- /dev/null +++ b/pkgs/development/tools/ejson/deps.nix @@ -0,0 +1,48 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "github.com/codegangsta/cli"; + fetch = { + type = "git"; + url = "https://github.com/codegangsta/cli"; + rev = "9908e96513e5a94de37004098a3974a567f18111"; + sha256 = "0g6sihdb53nlf770dp3jc0qqxnlir5n2yjbp5p5vf7kcj3p54p34"; + }; + } + { + goPackagePath = "github.com/dustin/gojson"; + fetch = { + type = "git"; + url = "https://github.com/dustin/gojson"; + rev = "057ac0edc14e44d03df3bb03449e666ff50884c1"; + sha256 = "1kzzbi5yshcg1v99gab5ymd3psild3p0rbq9jf7mssjvh11yza6f"; + }; + } + { + goPackagePath = "github.com/smartystreets/goconvey"; + fetch = { + type = "git"; + url = "https://github.com/smartystreets/goconvey"; + rev = "90f2eae17a8bdcbe3f6f654fc76af7f39e97d7b9"; + sha256 = "0s984ksmc8npf642nwwd1a81c2sfi613v7yia9jff710i5472fah"; + }; + } + { + goPackagePath = "github.com/urfave/cli"; + fetch = { + type = "git"; + url = "https://github.com/urfave/cli"; + rev = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1"; + sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "ca7e7f10cb9fd9c1a6ff7f60436c086d73714180"; + sha256 = "02wmfdq40fjszrd9l2w4c1g34zxnxyydwr4sqvp2blmw2s6ww4bx"; + }; + } +] \ No newline at end of file diff --git a/pkgs/development/tools/ejson/gemset.nix b/pkgs/development/tools/ejson/gemset.nix new file mode 100644 index 000000000000..b6fb1473d222 --- /dev/null +++ b/pkgs/development/tools/ejson/gemset.nix @@ -0,0 +1,188 @@ +{ + arr-pm = { + dependencies = ["cabin"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07yx1g1nh4zdy38i2id1xyp42fvj4vl6i196jn7szvjfm0jx98hg"; + type = "gem"; + }; + version = "0.0.10"; + }; + backports = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17pcz0z6jms5jydr1r95kf1bpk3ms618hgr26c62h34icy9i1dpm"; + type = "gem"; + }; + version = "3.8.0"; + }; + cabin = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b3b8j3iqnagjfn1261b9ncaac9g44zrx1kcg81yg4z9i513kici"; + type = "gem"; + }; + version = "0.9.0"; + }; + childprocess = { + dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04cypmwyy4aj5p9b5dmpwiz5p1gzdpz6jaxb42fpckdbmkpvn6j1"; + type = "gem"; + }; + version = "0.7.1"; + }; + clamp = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jb6l4scp69xifhicb5sffdixqkw8wgkk9k2q57kh2y36x1px9az"; + type = "gem"; + }; + version = "1.0.1"; + }; + dotenv = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pgzlvs0sswnqlgfm9gkz2hlhkc0zd3vnlp2vglb1wbgnx37pjjv"; + type = "gem"; + }; + version = "2.2.1"; + }; + ffi = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0"; + type = "gem"; + }; + version = "1.9.18"; + }; + fpm = { + dependencies = ["arr-pm" "backports" "cabin" "childprocess" "clamp" "ffi" "json" "pleaserun" "ruby-xz" "stud"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09vzjsiwa2dlhph6fc519x5l0bfn2qfhayfld48cdl2561x5c7fb"; + type = "gem"; + }; + version = "1.9.2"; + }; + hpricot = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jn8x9ch79gqmnzgyz78kppavjh5lqx0y0r6frykga2b86rz9s6z"; + type = "gem"; + }; + version = "0.8.6"; + }; + insist = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bw3bdwns14mapbgb8cbjmr0amvwz8y72gyclq04xp43wpp5jrvg"; + type = "gem"; + }; + version = "1.0.0"; + }; + io-like = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04nn0s2wmgxij3k760h3r8m1dgih5dmd9h4v1nn085yi824i5z6k"; + type = "gem"; + }; + version = "0.3.0"; + }; + json = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qmj7fypgb9vag723w1a49qihxrcf5shzars106ynw2zk352gbv5"; + type = "gem"; + }; + version = "1.8.6"; + }; + mustache = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2"; + type = "gem"; + }; + version = "0.99.8"; + }; + pleaserun = { + dependencies = ["cabin" "clamp" "dotenv" "insist" "mustache" "stud"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hgnrl67zkqaxmfkwbyscawj4wqjm7h8khpbj58s6iw54wp3408p"; + type = "gem"; + }; + version = "0.0.30"; + }; + rdiscount = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3"; + type = "gem"; + }; + version = "2.2.0.1"; + }; + ronn = { + dependencies = ["hpricot" "mustache" "rdiscount"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07plsxxfx5bxdk72ii9za6km0ziqlq8jh3bicr4774dalga6zpw2"; + type = "gem"; + }; + version = "0.7.3"; + }; + ruby-xz = { + dependencies = ["ffi" "io-like"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11bgpvvk0098ghvlxr4i713jmi2izychalgikwvdwmpb452r3ndw"; + type = "gem"; + }; + version = "0.2.3"; + }; + stud = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qpb57cbpm9rwgsygqxifca0zma87drnlacv49cqs2n5iyi6z8kb"; + type = "gem"; + }; + version = "0.0.23"; + }; +} \ No newline at end of file diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix index dfb603d101fc..7469d506244b 100644 --- a/pkgs/development/tools/goa/default.nix +++ b/pkgs/development/tools/goa/default.nix @@ -1,8 +1,8 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper }: +{ stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "goa-${version}"; - version = "1.0.0"; + version = "1.4.0"; goPackagePath = "github.com/goadesign/goa"; subPackages = [ "goagen" ]; @@ -11,7 +11,7 @@ buildGoPackage rec { owner = "goadesign"; repo = "goa"; rev = "v${version}"; - sha256 = "13401jf907z3qh11h9clb3z0i0fshwkmhx11fq9z6vx01x8x2in1"; + sha256 = "1qx3c7dyq5wqxidfrk3ywc55fk64najj63f2jmfisfq4ixgwxdw9"; }; goDeps = ./deps.nix; diff --git a/pkgs/development/tools/goa/deps.nix b/pkgs/development/tools/goa/deps.nix index 14e9234be8a2..d92489259055 100644 --- a/pkgs/development/tools/goa/deps.nix +++ b/pkgs/development/tools/goa/deps.nix @@ -1,39 +1,12 @@ -# This file was generated by go2nix. +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 [ - { - goPackagePath = "github.com/armon/go-metrics"; - fetch = { - type = "git"; - url = "https://github.com/armon/go-metrics"; - rev = "3df31a1ada83e310c2e24b267c8e8b68836547b4"; - sha256 = "1l99f1bzvdhyqhnsrpi1pd07bps0msilzilrd7m4w7i1m5kra529"; - }; - } { goPackagePath = "github.com/dimfeld/httppath"; fetch = { type = "git"; url = "https://github.com/dimfeld/httppath"; - rev = "c8e499c3ef3c3e272ed8bdcc1ccf39f73c88debc"; - sha256 = "0452zvrzjvy8pk5q6ykivz2cks082r4lmh7hghscxfqw6gf3siwi"; - }; - } - { - goPackagePath = "github.com/dimfeld/httptreemux"; - fetch = { - type = "git"; - url = "https://github.com/dimfeld/httptreemux"; - rev = "96acf0909c0b45ebf4a25a816cedc6d317e63679"; - sha256 = "0f9qbm1b8l7b21i2v8vmjyzfwf1mgkvxlk5250bwkp5i8n4ml2r6"; - }; - } - { - goPackagePath = "github.com/goadesign/goa"; - fetch = { - type = "git"; - url = "https://github.com/goadesign/goa"; - rev = "ea323df387ea68f8ac9fd79336f523c25e12c92e"; - sha256 = "13401jf907z3qh11h9clb3z0i0fshwkmhx11fq9z6vx01x8x2in1"; + rev = "ee938bf735983d53694d79138ad9820efff94c92"; + sha256 = "1c1kic8g3r78g6h4xl8n2ac1waxsb9fqz40k20ypi08k24mv3ha9"; }; } { @@ -41,8 +14,8 @@ fetch = { type = "git"; url = "https://github.com/manveru/faker"; - rev = "717f7cf83fb78669bfab612749c2e8ff63d5be11"; - sha256 = "1p6laz0hnb2vhfvam83rz6vl2amajqa6nifnsj2lg3mcs9ga8c0f"; + rev = "9fbc68a78c4dbc7914e1a23f88f126bea4383b97"; + sha256 = "1cnrf4wdjhxd9fryhlp2krl9acz6dzwic89gshs49pg3aajlf4dy"; }; } { @@ -50,8 +23,8 @@ fetch = { type = "git"; url = "https://github.com/satori/go.uuid"; - rev = "0aa62d5ddceb50dbcb909d790b5345affd3669b6"; - sha256 = "1vfzfcspanxcbpdpv49580rh6kamzcs3lm70xnx724mkwi41zi8w"; + rev = "36e9d2ebbde5e3f13ab2e25625fd453271d6522e"; + sha256 = "0nc0ggn0a6bcwdrwinnx3z6889x65c20a2dwja0n8can3xblxs35"; }; } { @@ -59,8 +32,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/cobra"; - rev = "9c28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744"; - sha256 = "02bgp0yy9bi05k2in9axqi3db1c6mjffdsmki51pn9iryxz4zkh3"; + rev = "4dab30cb33e6633c33c787106bafbfbfdde7842d"; + sha256 = "1g7p7c2azqaxbfkx5yaznk0z1inqnajlbwv921k6vh8i1xdblxk5"; }; } { @@ -68,8 +41,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/pflag"; - rev = "c7e63cf4530bcd3ba943729cee0efeff2ebea63f"; - sha256 = "197mlkgb01zk86fxfl8r8maymcxsspqblg7hmngjxf7ivdid1i1l"; + rev = "1ce0cc6db4029d97571db82f85092fccedb572ce"; + sha256 = "02wsc01npnpc7srqw7rzaihn2hjmrkfy2x412fxbb675j2hk9cx6"; }; } { @@ -81,22 +54,13 @@ sha256 = "113kx47ryhyb803v8ckizlrc34cmwcwb0h28v34bahd2mir8nq3l"; }; } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "71a035914f99bb58fe82eac0f1289f10963d876c"; - sha256 = "06m16c9vkwc8m2mcxcxa7p8mb26ikc810lgzd5m8k1r6lp3hc8wm"; - }; - } { goPackagePath = "golang.org/x/tools"; fetch = { type = "git"; url = "https://go.googlesource.com/tools"; - rev = "f1a397bba50dee815e8c73f3ec94ffc0e8df1a09"; - sha256 = "1wy8nn2vg70n98g80i1zrk49129phyfbzxbicj748bmf82rnaxzg"; + rev = "f60d9635b16a5a57b06eaa119614ba4df421966a"; + sha256 = "1h587gvgwlpjdn8q3s8i1blfwfklqi0cpb0szj99w1mkgl0ads13"; }; } { @@ -104,8 +68,9 @@ fetch = { type = "git"; url = "https://gopkg.in/yaml.v2"; - rev = "31c299268d302dd0aa9a0dcf765a3d58971ac83f"; - sha256 = "14jkpa8g0s448n2x5qdi05m59ncsdscby1wy2p089zxl9nqavm8h"; + rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; }; } ] + diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix new file mode 100644 index 000000000000..87571f1fcbb7 --- /dev/null +++ b/pkgs/development/tools/lazygit/default.nix @@ -0,0 +1,27 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "lazygit-${version}"; + version = "0.4"; + + goPackagePath = "github.com/jesseduffield/lazygit"; + + src = fetchFromGitHub { + owner = "jesseduffield"; + repo = "lazygit"; + rev = "v${version}"; + sha256 = "0piljnwv778z7zc1pglkidiys1a3yv4d7z9wsrcj1nszlcn3ifyz"; + }; + + postPatch = '' + rm -rf scripts + ''; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Simple terminal UI for git commands"; + license = licenses.mit; + maintainers = with stdenv.lib.maintainers; [ fpletz ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index 7e2dc49fe0f2..311b206fa910 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, gettext, LocaleGettext }: stdenv.mkDerivation rec { - name = "help2man-1.47.6"; + name = "help2man-1.47.7"; src = fetchurl { url = "mirror://gnu/help2man/${name}.tar.xz"; - sha256 = "0vz4dlrvy4vc6l7w0a7n668pfa0rdm73wr2gar58wqranyah46yr"; + sha256 = "03gckfr2980qn319c02vflq7d75vq2qdkxrw80kb9g84xn48wnsq"; }; nativeBuildInputs = [ gettext LocaleGettext ]; diff --git a/pkgs/development/tools/ocaml/camlp5/5.15.nix b/pkgs/development/tools/ocaml/camlp5/5.15.nix deleted file mode 100644 index 2e03bb8025ef..000000000000 --- a/pkgs/development/tools/ocaml/camlp5/5.15.nix +++ /dev/null @@ -1,46 +0,0 @@ -{stdenv, fetchurl, ocaml, transitional ? false}: - -let - pname = "camlp5"; - webpage = http://pauillac.inria.fr/~ddr/camlp5/; - metafile = ./META; -in - -assert !stdenv.lib.versionOlder "4.00" ocaml.version; - -stdenv.mkDerivation rec { - - name = "${pname}${if transitional then "_transitional" else ""}-${version}"; - version = "5.15"; - - src = fetchurl { - url = "${webpage}/distrib/src/${pname}-${version}.tgz"; - sha256 = "1sx5wlfpydqskm97gp7887p3avbl3vanlmrwj35wx5mbzj6kn9nq"; - }; - - buildInputs = [ ocaml ]; - - prefixKey = "-prefix "; - - preConfigure = "configureFlagsArray=(" + (if transitional then "--transitional" else "--strict") + - " --libdir $out/lib/ocaml/${ocaml.version}/site-lib)"; - - buildFlags = "world.opt"; - - postInstall = "cp ${metafile} $out/lib/ocaml/${ocaml.version}/site-lib/camlp5/META"; - - meta = { - description = "Preprocessor-pretty-printer for OCaml"; - longDescription = '' - Camlp5 is a preprocessor and pretty-printer for OCaml programs. - It also provides parsing and printing tools. - ''; - homepage = "${webpage}"; - license = stdenv.lib.licenses.bsd3; - branch = "5"; - platforms = ocaml.meta.platforms or []; - maintainers = [ - stdenv.lib.maintainers.z77z - ]; - }; -} diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index 4ad1bfb3234d..d74b480c9c5a 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -1,10 +1,9 @@ -{ stdenv, fetchzip, ocaml, findlib, yojson -, withEmacsMode ? false, emacs }: +{ stdenv, fetchzip, ocaml, findlib, dune, yojson }: assert stdenv.lib.versionAtLeast ocaml.version "4.02"; let - version = "3.1.0"; + version = "3.2.1"; in stdenv.mkDerivation { @@ -13,15 +12,12 @@ stdenv.mkDerivation { src = fetchzip { url = "https://github.com/ocaml/merlin/archive/v${version}.tar.gz"; - sha256 = "1vf0c2mmflp94r8hshb44lsvnfdy03ld6mld2n79cdxr3zl24ci2"; + sha256 = "1szv2b7d12ll5n6pvnhlv3a6vnlyrkpya4l9fiyyiwyvgd4xzxwf"; }; - buildInputs = [ ocaml findlib yojson ] - ++ stdenv.lib.optional withEmacsMode emacs; + buildInputs = [ ocaml findlib dune yojson ]; - preConfigure = "mkdir -p $out/bin"; - prefixKey = "--prefix "; - configureFlags = stdenv.lib.optional withEmacsMode "--enable-compiled-emacs-mode"; + inherit (dune) installPhase; meta = with stdenv.lib; { description = "An editor-independent tool to ease the development of programs in OCaml"; diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix index 55902f48bb73..ecc86d51a06e 100644 --- a/pkgs/development/tools/profiling/systemtap/default.nix +++ b/pkgs/development/tools/profiling/systemtap/default.nix @@ -5,9 +5,9 @@ let ## fetchgit info url = git://sourceware.org/git/systemtap.git; - rev = "4051c70c9318c837981384cbb23f3e9eb1bd0892"; - sha256 = "0sd8n3j3rishks3gyqj2jyqhps7hmlfjyz8i0w8v98cczhhh04rq"; - version = "2017.10.18"; + rev = "release-${version}"; + sha256 = "0hckbmrlcz5nj438409fmdjjaaqzf68r2242v10lkssw5daia1gj"; + version = "3.3"; inherit (kernel) stdenv; inherit (stdenv) lib; @@ -18,12 +18,6 @@ let src = fetchgit { inherit url rev sha256; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ elfutils gettext python2 python2Packages.setuptools ]; - # FIXME: Workaround for bug in kbuild, where quoted -I"/foo" flags would get mangled in out-of-tree kbuild dirs - postPatch = '' - substituteInPlace buildrun.cxx --replace \ - 'o << "EXTRA_CFLAGS += -I\"" << s.runtime_path << "\"" << endl;' \ - 'o << "EXTRA_CFLAGS += -I" << s.runtime_path << endl;' - ''; enableParallelBuilding = true; }; @@ -53,7 +47,7 @@ in runCommand "systemtap-${kernel.version}-${version}" { }; } '' mkdir -p $out/bin - for bin in $stapBuild/bin/*; do # hello emacs */ + for bin in $stapBuild/bin/*; do ln -s $bin $out/bin done rm $out/bin/stap $out/bin/dtrace diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix index 0463ab3ba0af..836003eeb736 100644 --- a/pkgs/development/tools/rust/bindgen/default.nix +++ b/pkgs/development/tools/rust/bindgen/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { name = "rust-bindgen-${version}"; - version = "0.40.0"; + version = "0.42.2"; src = fetchFromGitHub { owner = "rust-lang-nursery"; repo = "rust-bindgen"; rev = "v${version}"; - sha256 = "0d7jqgi3aadwqcxiaz7axsq9h6n2i42yd3q0p1hc5l0kcdwwbj5k"; + sha256 = "10h0h7x8yf4dsyw2p2nas2jg5p3i29np0y3rfzrdq898d70gvq4j"; }; - cargoSha256 = "1rjyazhnk9xihqw1qzkkcrab627lqbj789g5d5nb8bn2hkbdx5d6"; + cargoSha256 = "01jvi86xgz0r7ia9agnfpms6b6x68lzwj6f085m0w659i94acgpi"; libclang = llvmPackages.libclang.lib; #for substituteAll diff --git a/pkgs/development/web/now-cli/default.nix b/pkgs/development/web/now-cli/default.nix new file mode 100644 index 000000000000..911e03daa371 --- /dev/null +++ b/pkgs/development/web/now-cli/default.nix @@ -0,0 +1,87 @@ +{ stdenv, lib, fetchurl }: +stdenv.mkDerivation rec { + name = "now-cli-${version}"; + version = "11.4.6"; + + # TODO: switch to building from source, if possible + src = fetchurl { + url = "https://github.com/zeit/now-cli/releases/download/${version}/now-linux.gz"; + sha256 = "1bl0yrzxdfy6sks674qlfch8mg3b0x1wj488v83glags8ibsg3cl"; + }; + + sourceRoot = "."; + unpackCmd = '' + gunzip -c $curSrc > now-linux + ''; + + buildPhase = ":"; + + installPhase = '' + mkdir $out + mkdir $out/bin + cp now-linux $out/bin/now + ''; + + # now is a node program packaged using zeit/pkg. + # thus, it contains hardcoded offsets. + # patchelf shifts these locations when it expands headers. + + # this could probably be generalised into allowing any program packaged + # with zeit/pkg to be run on nixos. + + preFixup = let + libPath = lib.makeLibraryPath [stdenv.cc.cc]; + in '' + + orig_size=$(stat --printf=%s $out/bin/now) + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/now + patchelf --set-rpath ${libPath} $out/bin/now + chmod +x $out/bin/now + + new_size=$(stat --printf=%s $out/bin/now) + + ###### zeit-pkg fixing starts here. + # we're replacing plaintext js code that looks like + # PAYLOAD_POSITION = '1234 ' | 0 + # [...] + # PRELUDE_POSITION = '1234 ' | 0 + # ^-----20-chars-----^^------22-chars------^ + # ^-- grep points here + # + # var_* are as described above + # shift_by seems to be safe so long as all patchelf adjustments occur + # before any locations pointed to by hardcoded offsets + + var_skip=20 + var_select=22 + shift_by=$(expr $new_size - $orig_size) + + function fix_offset { + # $1 = name of variable to adjust + location=$(grep -obUam1 "$1" $out/bin/now | cut -d: -f1) + location=$(expr $location + $var_skip) + + value=$(dd if=$out/bin/now iflag=count_bytes,skip_bytes skip=$location \ + bs=1 count=$var_select status=none) + value=$(expr $shift_by + $value) + + echo -n $value | dd of=$out/bin/now bs=1 seek=$location conv=notrunc + } + + fix_offset PAYLOAD_POSITION + fix_offset PRELUDE_POSITION + + ''; + dontStrip = true; + + + + meta = with stdenv.lib; { + homepage = https://zeit.co/now; + description = "The Command Line Interface for Now - Global Serverless Deployments"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.bhall ]; + }; +} \ No newline at end of file diff --git a/pkgs/games/boohu/default.nix b/pkgs/games/boohu/default.nix new file mode 100644 index 000000000000..92eccd67a1f1 --- /dev/null +++ b/pkgs/games/boohu/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, buildGoPackage}: + +buildGoPackage rec { + + name = "boohu-${version}"; + version = "0.10.0"; + + goPackagePath = "git.tuxfamily.org/boohu/boohu.git"; + + src = fetchurl { + url = "https://download.tuxfamily.org/boohu/downloads/boohu-${version}.tar.gz"; + sha256 = "a4d1fc488cfeecbe0a5e9be1836d680951941014f926351692a8dbed9042eba6"; + }; + + buildFlags = "--tags ansi"; + + postInstall = "mv $bin/bin/boohu.git $bin/bin/boohu"; + + meta = with stdenv.lib; { + description = "A new roguelike game"; + longDescription = '' + Break Out Of Hareka's Underground (Boohu) is a roguelike game mainly + inspired from DCSS and its tavern, with some ideas from Brogue, but + aiming for very short games, almost no character building, and a + simplified inventory. + ''; + homepage = https://download.tuxfamily.org/boohu/index.html; + license = licenses.isc; + platforms = platforms.unix; + maintainers = with maintainers; [freepotion]; + }; +} diff --git a/pkgs/games/ja2-stracciatella/default.nix b/pkgs/games/ja2-stracciatella/default.nix index 0e5702d46146..5dbab979272c 100644 --- a/pkgs/games/ja2-stracciatella/default.nix +++ b/pkgs/games/ja2-stracciatella/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { ./remove-rust-buildstep.patch ]; preConfigure = '' - sed -i -e 's|rust-stracciatella|${libstracciatella}/bin/libstracciatella.so|g' CMakeLists.txt + sed -i -e 's|rust-stracciatella|${libstracciatella}/lib/libstracciatella.so|g' CMakeLists.txt cmakeFlagsArray+=("-DEXTRA_DATA_DIR=$out/share/ja2") ''; diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix index 069ed900e8f0..d0649237b127 100644 --- a/pkgs/games/openra/default.nix +++ b/pkgs/games/openra/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { name = "openra-${version}"; - version = "20180307"; + version = "20180923"; meta = with stdenv.lib; { description = "Real Time Strategy game engine recreating the C&C titles"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { owner = "OpenRA"; repo = "OpenRA"; rev = "release-${version}"; - sha256 = "05c6vrmlgzfxgfx1idqmp6czmr079px3n57q5ahnwzqvcl11a2jj"; + sha256 = "1pgi3zaq9fwwdq6yh19bwxscslqgabjxkvl9bcn1a5agy4bfbqk5"; extraPostFetch = '' sed -i 's,curl,curl --insecure,g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh @@ -64,7 +64,8 @@ stdenv.mkDerivation rec { in '' wrapProgram $out/lib/openra/launch-game.sh \ --prefix PATH : "${binaries}" \ - --prefix LD_LIBRARY_PATH : "${runtime}" + --prefix LD_LIBRARY_PATH : "${runtime}" \ + --set TERM "xterm" mkdir -p $out/bin makeWrapper $out/lib/openra/launch-game.sh $out/bin/openra --run "cd $out/lib/openra" diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix index 9a82c678f370..211172cee203 100644 --- a/pkgs/games/openxcom/default.nix +++ b/pkgs/games/openxcom/default.nix @@ -1,14 +1,14 @@ {stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib, openssl, libyamlcpp, boost , SDL, SDL_image, SDL_mixer, SDL_gfx }: -let version = "1.0.0.2018.01.28"; in +let version = "1.0.0.2018.10.08"; in stdenv.mkDerivation { name = "openxcom-${version}"; src = fetchFromGitHub { owner = "SupSuper"; repo = "OpenXcom"; - rev = "b148916268a6ce104c3b6b7eb4d9e0487cba5487"; - sha256 = "1128ip3g4aw59f3f23mvlyhl8xckhwjjw9rd7wn7xv51hxdh191c"; + rev = "13049d617fe762b91893faaf7c14ddefa49e2f1d"; + sha256 = "0vpcfk3g1bnwwmrln14jkj2wvw2z8igxw2mdb7c3y66466wm93ig"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix index 8ceff15b93d0..1cd87541b8c3 100644 --- a/pkgs/games/urbanterror/default.nix +++ b/pkgs/games/urbanterror/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { name = "urbanterror-${version}"; - version = "4.3.3"; + version = "4.3.4"; srcs = [ (fetchurl { - url = "http://cdn.fs1.urbanterror.info/urt/43/releases/zips/UrbanTerror433_full.zip"; - sha256 = "0rrh08ypnw805gd2wrs6af34nvp02x7vggfp0ymcmbr44wcjfn63"; + url = "http://cdn.urbanterror.info/urt/43/releases/zips/UrbanTerror434_full.zip"; + sha256 = "1rx4nnndsk88nvd7k4p35cw6znclkkzm2bl5j6vn6mjjdk66jrki"; }) (fetchurl { - url = "https://github.com/Barbatos/ioq3-for-UrbanTerror-4/archive/release-${version}.zip"; - sha256 = "1624zsnr02nhdksmwnwmvw129lw3afd8h0hvv2j8qmcyxa7jw68b"; + url = "https://github.com/FrozenSand/ioq3-for-UrbanTerror-4/archive/release-${version}.zip"; + sha256 = "1s9pmw7rbnzwzl1llcs0kr2krf4daf8hhnz1j89qk4bq9a9qfp71"; }) ]; diff --git a/pkgs/misc/cups/drivers/googlecloudprint/default.nix b/pkgs/misc/cups/drivers/googlecloudprint/default.nix new file mode 100644 index 000000000000..b3fc87fbf1da --- /dev/null +++ b/pkgs/misc/cups/drivers/googlecloudprint/default.nix @@ -0,0 +1,64 @@ +{ stdenv, lib, fetchFromGitHub, python2, python2Packages, file, makeWrapper, cups }: + +# Setup instructions can be found at https://github.com/simoncadman/CUPS-Cloud-Print#configuration +# So the nix version is something like: +# nix run nixpkgs.cups-googlecloudprint -c sudo setupcloudprint +# nix run nixpkgs.cups-googlecloudprint -c sudo listcloudprinters + +let pythonEnv = python2.buildEnv.override { + extraLibs = with python2Packages; [ + six + httplib2 + pycups + ]; +}; + +in stdenv.mkDerivation rec { + name = "cups-googlecloudprint-${version}"; + version = "20160502"; + + src = fetchFromGitHub { + owner = "simoncadman"; + repo = "CUPS-Cloud-Print"; + rev = version; + sha256 = "0760i12w7jrhq7fsgyz3yqla5cvpjb45n6m2jz96wsy3p3xf6dzz"; + }; + + buildInputs = [ cups makeWrapper ]; + + cupsgroup = "nonexistantgroup"; + NOPERMS = 1; + + postConfigure = '' + substituteInPlace Makefile --replace "${cups}" "$out" + ''; + + postInstall = '' + pushd "$out" + for s in lib/cups/backend/gcp lib/cups/driver/cupscloudprint + do + echo "Wrapping $s..." + wrapProgram "$out/$s" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups" + done + + mkdir bin + + for s in share/cloudprint-cups/*.py + do + if [ -x "$s" ] # Only wrapping those Python scripts marked as executable + then + o="bin/$(echo $s | sed 's,share/cloudprint-cups/\(.*\).py,\1,')" + echo "Wrapping $o -> $s..." + makeWrapper "$out/$s" "$o" --set PATH "${lib.makeBinPath [pythonEnv file]}" --prefix PYTHONPATH : "$out/share/cloudprint-cups" + fi + done + popd + ''; + + meta = with stdenv.lib; { + description = "Google Cloud Print driver for CUPS, allows printing to printers hosted on Google Cloud Print"; + homepage = http://ccp.niftiestsoftware.com; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index c2665353a390..b1af27807316 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -56,8 +56,8 @@ in rec { winetricks = fetchFromGitHub rec { # https://github.com/Winetricks/winetricks/releases - version = "20180603"; - sha256 = "02valprlb64cc40ivd8sxgxy2hsgqn22s49a47inl6pknj5nmvar"; + version = "20180815"; + sha256 = "0ksz2jkpqq8vnsc511zag9zcx8486hs8mwlmkkygljc8ylb1ibn5"; owner = "Winetricks"; repo = "winetricks"; rev = version; diff --git a/pkgs/misc/themes/equilux-theme/default.nix b/pkgs/misc/themes/equilux-theme/default.nix new file mode 100644 index 000000000000..42fe402a4860 --- /dev/null +++ b/pkgs/misc/themes/equilux-theme/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }: + +stdenv.mkDerivation rec { + name = "equilux-theme-${version}"; + version = "20180927"; + + src = fetchFromGitHub { + owner = "ddnexus"; + repo = "equilux-theme"; + rev = "equilux-v${version}"; + sha256 = "1j7ykygmwv3dmzqdc9byir86sjz6ykhv9bv1pll1bjvvnaalyzgk"; + }; + + nativeBuildInputs = [ gnome3.glib libxml2 bc ]; + + buildInputs = [ gnome3.gnome-themes-extra gdk_pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + dontBuild = true; + + installPhase = '' + patchShebangs install.sh + sed -i install.sh \ + -e "s|if .*which gnome-shell.*;|if true;|" \ + -e "s|CURRENT_GS_VERSION=.*$|CURRENT_GS_VERSION=${stdenv.lib.versions.majorMinor gnome3.gnome-shell.version}|" + mkdir -p $out/share/themes + ./install.sh --dest $out/share/themes + rm $out/share/themes/*/COPYING + ''; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "A Material Design theme for GNOME/GTK+ based desktop environments"; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = [ maintainers.fpletz ]; + }; +} diff --git a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix index b14008e11f10..631c59523e2a 100644 --- a/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix +++ b/pkgs/os-specific/darwin/reattach-to-user-namespace/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "reattach-to-user-namespace-${version}"; - version = "2.6"; + version = "2.7"; src = fetchurl { - url = "https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/archive/v2.6.tar.gz"; - sha256 = "1d8ynzkdlxyyky9f88f7z50g9lwdydkpb2n7gkw3jgl2ac569xc0"; + url = "https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/archive/v${version}.tar.gz"; + sha256 = "00mjyj8yicrpnlm46rlbkvxgl5381l8xawh7rmjk10p3zrm56jbv"; }; buildFlags = "ARCHES=x86_64"; diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix index 730df56a6429..3c7e2f98b890 100644 --- a/pkgs/os-specific/linux/evdi/default.nix +++ b/pkgs/os-specific/linux/evdi/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "evdi-${version}"; - version = "1.5.0"; + version = "1.5.0.2"; src = fetchFromGitHub { owner = "DisplayLink"; repo = "evdi"; rev = "v${version}"; - sha256 = "01z7bx5rgpb5lc4c6dxfiv52ni25564djxmvmgy3d7r1x1mqhxgs"; + sha256 = "1wjk023lpjxnspfl34c6rzkrixahfdzdkmc3hnmrdw12s3i6ca5x"; }; nativeBuildInputs = kernel.moduleBuildDependencies; @@ -29,6 +29,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.gpl2; homepage = http://www.displaylink.com/; - broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "4.15"; + broken = versionOlder kernel.version "4.9" || versionAtLeast kernel.version "4.15" || stdenv.isAarch64; }; } diff --git a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix index 0ccc8acfdca9..dcd5b4763ff1 100644 --- a/pkgs/os-specific/linux/iio-sensor-proxy/default.nix +++ b/pkgs/os-specific/linux/iio-sensor-proxy/default.nix @@ -3,19 +3,23 @@ stdenv.mkDerivation rec { name = "iio-sensor-proxy-${version}"; - version = "2.4"; + version = "2.5"; src = fetchFromGitHub { owner = "hadess"; repo = "iio-sensor-proxy"; rev = version; - sha256 = "1c8izq73c00gvv0jc6zby5hcircs4cb16a1d3ivp1i1iflknj46n"; + sha256 = "06x1vvslsa44bgw8s5rr17q9i2ssbw0x04l75zsy3rql9r3y2jzg"; }; configurePhase = '' + runHook preConfigure + ./autogen.sh --prefix=$out \ --with-udevrulesdir=$out/lib/udev/rules.d \ --with-systemdsystemunitdir=$out/lib/systemd/system + + runHook postConfigure ''; buildInputs = [ diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index bfade509fcac..a37e65f8cb50 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -25,6 +25,19 @@ stdenv.mkDerivation rec { # Add Neo keymap subdirectory sed -i -e 's,^KEYMAPSUBDIRS *= *,&i386/neo ,' data/Makefile.am + # Renaming keymaps with name clashes, because loadkeys just picks + # the first keymap it sees. The clashing names lead to e.g. + # "loadkeys no" defaulting to a norwegian dvorak map instead of + # the much more common qwerty one. + pushd data/keymaps/i386 + mv qwertz/cz{,-qwertz}.map + mv olpc/es{,-olpc}.map + mv olpc/pt{,-olpc}.map + mv dvorak/{no.map,dvorak-no.map} + mv fgGIod/trf{,-fgGIod}.map + mv colemak/{en-latin9,colemak}.map + popd + # Fix the path to gzip/bzip2. substituteInPlace src/libkeymap/findfile.c \ --replace gzip ${gzip}/bin/gzip \ diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 6755e8f90ee1..9afc81eddf52 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.74"; + version = "4.14.75"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${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 = "0wjw05brv7l1qpi38drc2z01sa7kpk3kadw36gx9cbvvzn4r3rkh"; + sha256 = "084176rl51ls0dhy39vpj9fhasm4436iqv6aa0s5a74g1cixg4sh"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.18.nix b/pkgs/os-specific/linux/kernel/linux-4.18.nix index aa936929a44c..2b65ed377ffc 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.18.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.18.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.18.12"; + version = "4.18.13"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${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 = "1icz2nkhkb1xhpmc9gxfhc3ywkni8nywk25ixrmgcxp5rgcmlsl4"; + sha256 = "0l4n72gajgw2vqghl6ps0yjy1safnypyzkcp841zkkwinp3a31yw"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index bafa975b6184..39e96d4b5dc2 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.159"; + version = "4.4.160"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1hivz1pyy4scp4s09ibz36ni4d1pwivizwls5dbh5qjy0pdvn00f"; + sha256 = "1i0wqccab2xxjsx58pgzgbmm5cclfd3hh3yjasnfrqsdaarxvgkd"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index cdd2c67d25b2..24c11fca7935 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.131"; + version = "4.9.132"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0q2xmbkh42ikw26bdxgk1f9192hygyq9ffkhjfpr0fcx8sak5nsp"; + sha256 = "1lz53r6p293y5fwx7pz9ymj9sss3wmip8hcc48zwkcwm8phnmrk7"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix index 642653259c34..c0e8e1292330 100644 --- a/pkgs/os-specific/linux/mcelog/default.nix +++ b/pkgs/os-specific/linux/mcelog/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "mcelog-${version}"; - version = "160"; + version = "161"; src = fetchFromGitHub { owner = "andikleen"; repo = "mcelog"; rev = "v${version}"; - sha256 = "1m985wvdykl3003967lp1i7707qhwdj3h13cl8g1afjaip9ccd48"; + sha256 = "1bqz53xgvwab3r487ihri3nvk7nsgjykdv8m993983vxsi2bgjmz"; }; postPatch = '' diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix index 72095bc8cdab..f6f6c10112a7 100644 --- a/pkgs/os-specific/linux/mwprocapture/default.nix +++ b/pkgs/os-specific/linux/mwprocapture/default.nix @@ -15,17 +15,15 @@ let in stdenv.mkDerivation rec { name = "mwprocapture-1.2.${version}-${kernel.version}"; - version = "3773"; + version = "3950"; src = fetchurl { url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz"; - sha256 = "1ri7c4l4xgkhpz0f15jra1p7mpzi8ir6lpwjm7q7hc9m4cvxcs1g"; + sha256 = "1im3k533r6c0dx08h9wjfbhadzk7zawrxxaz7v94c92m3q133ys6"; }; nativeBuildInputs = [ kernel.moduleBuildDependencies ]; - patches = [ ./linux_4_14_fix.patch ]; - preConfigure = '' cd ./src diff --git a/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch deleted file mode 100644 index 94da5a00a2e2..000000000000 --- a/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.c ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c ---- ProCaptureForLinux_3773/src/sources/ospi/linux-file.c 2017-12-15 01:59:57.000000000 -0800 -+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c 2017-12-23 22:47:33.666823299 -0800 -@@ -7,8 +7,9 @@ - - #include "linux-file.h" - --#include - #include -+#include -+#include - - struct file *linux_file_open(const char *path, int flags, int mode) - { -@@ -28,29 +29,36 @@ - filp_close(file, NULL); - } - --ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size) -+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size) - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) -+ return(kernel_read(file, data, size, &offset)); -+#else - mm_segment_t oldfs; - ssize_t ret; - - oldfs = get_fs(); - set_fs(get_ds()); -- ret = vfs_read(file, data, size, &offset); -+ ret = vfs_read(file, (unsigned char *)data, size, &offset); - set_fs(oldfs); - - return ret; -+#endif - } - --ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size) -+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size) - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) -+ return(kernel_write(file, data, size, &offset)); -+#else - mm_segment_t oldfs; - ssize_t ret; - - oldfs = get_fs(); - set_fs(get_ds()); -- ret = vfs_write(file, data, size, &offset); -+ ret = vfs_write(file, (const unsigned char *)data, size, &offset); - set_fs(oldfs); - - return ret; -+#endif - } -- -diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.h ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h ---- ProCaptureForLinux_3773/src/sources/ospi/linux-file.h 2017-12-15 01:59:57.000000000 -0800 -+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h 2017-12-23 22:46:22.028545189 -0800 -@@ -13,9 +13,9 @@ - - void linux_file_close(struct file *file); - --ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size); -+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size); - --ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size); -+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size); - - #endif /* __LINUX_FILE_H__ */ - diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index 86e9e0d3d4d0..7235d8415f55 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -5,14 +5,9 @@ let statdPath = lib.makeBinPath [ systemd utillinux coreutils ]; +in - # Not nice; feel free to find a nicer solution. - kerberosEnv = buildEnv { - name = "kerberos-env-${kerberos.version}"; - paths = with lib; [ (getDev kerberos) (getLib kerberos) ]; - }; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "nfs-utils-${version}"; version = "2.3.3"; @@ -34,10 +29,19 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; + preConfigure = + '' + substituteInPlace configure \ + --replace '$dir/include/gssapi' ${lib.getDev kerberos}/include/gssapi \ + --replace '$dir/bin/krb5-config' ${lib.getDev kerberos}/bin/krb5-config + ''; + + #configureScript = "bash -x configure"; + configureFlags = [ "--enable-gss" "--with-statedir=/var/lib/nfs" - "--with-krb5=${kerberosEnv}" + "--with-krb5=${lib.getLib kerberos}" "--with-systemd=${placeholder "out"}/etc/systemd/system" "--enable-libmount-mount" "--with-pluginpath=${placeholder "lib"}/lib/libnfsidmap" # this installs libnfsidmap @@ -97,6 +101,8 @@ in stdenv.mkDerivation rec { # One test fails on mips. doCheck = !stdenv.isMips; + disallowedReferences = [ (lib.getDev kerberos) ]; + meta = with stdenv.lib; { description = "Linux user-space NFS utilities"; diff --git a/pkgs/os-specific/linux/numactl/default.nix b/pkgs/os-specific/linux/numactl/default.nix index bf21f92bd66d..3c02cf2bb889 100644 --- a/pkgs/os-specific/linux/numactl/default.nix +++ b/pkgs/os-specific/linux/numactl/default.nix @@ -13,11 +13,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook ]; - patches = stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch { - url = https://git.alpinelinux.org/cgit/aports/plain/testing/numactl/musl.patch?id=0592b128c71c3e70d493bc7a13caed0d7fae91dd; - sha256 = "080b0sygmg7104qbbh1amh3b322yyiajwi2d3d0vayffgva0720v"; - }); - postPatch = '' patchShebangs test ''; diff --git a/pkgs/os-specific/linux/piper/default.nix b/pkgs/os-specific/linux/piper/default.nix index 3e774faaffe2..a3ae0b74f126 100644 --- a/pkgs/os-specific/linux/piper/default.nix +++ b/pkgs/os-specific/linux/piper/default.nix @@ -1,5 +1,6 @@ { stdenv, meson, ninja, pkgconfig, gettext, fetchFromGitHub, python3 -, wrapGAppsHook, gtk3, glib, desktop-file-utils, appstream-glib, gnome3 }: +, wrapGAppsHook, gtk3, glib, desktop-file-utils, appstream-glib, gnome3 +, gobjectIntrospection }: python3.pkgs.buildPythonApplication rec { pname = "piper-${version}"; @@ -14,7 +15,7 @@ python3.pkgs.buildPythonApplication rec { sha256 = "1ny0vf8ym9v040cb5h084k5wwn929fnhq9infbdq8f8vvy61magb"; }; - nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook desktop-file-utils appstream-glib ]; + nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook desktop-file-utils appstream-glib gobjectIntrospection ]; buildInputs = [ gtk3 glib gnome3.defaultIconTheme python3 ]; propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ]; diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix index 8b3906dedb1f..68e51afdf1bb 100644 --- a/pkgs/os-specific/linux/psmisc/default.nix +++ b/pkgs/os-specific/linux/psmisc/default.nix @@ -15,7 +15,11 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake gettext ]; buildInputs = [ ncurses ]; - preConfigure = '' + preConfigure = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + # Goes past the rpl_malloc linking failure + export ac_cv_func_malloc_0_nonnull=yes + export ac_cv_func_realloc_0_nonnull=yes + '' + '' echo $version > .tarball-version ./autogen.sh ''; diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index a816a2139395..4f59828098c3 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -2,7 +2,7 @@ , gnome3, gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash , expat, libxslt, docbook_xsl, utillinux, mdadm, libgudev, libblockdev, parted , gobjectIntrospection, docbook_xml_dtd_412, docbook_xml_dtd_43 -, libxfs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g +, xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g }: let @@ -33,7 +33,7 @@ in stdenv.mkDerivation rec { }) (substituteAll { src = ./force-path.patch; - path = stdenv.lib.makeBinPath [ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils libxfs ntfs3g parted utillinux ]; + path = stdenv.lib.makeBinPath [ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils xfsprogs ntfs3g parted utillinux ]; }) ]; diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix index ba0e57bb2be8..e016c5860f74 100644 --- a/pkgs/servers/computing/slurm/default.nix +++ b/pkgs/servers/computing/slurm/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, libtool, curl -, python, munge, perl, pam, openssl +, python, munge, perl, pam, openssl, zlib , ncurses, mysql, gtk2, lua, hwloc, numactl -, readline, freeipmi, libssh2, xorg +, readline, freeipmi, libssh2, xorg, lz4 # enable internal X11 support via libssh2 , enableX11 ? true }: @@ -34,16 +34,18 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig libtool ]; buildInputs = [ - curl python munge perl pam openssl - mysql.connector-c ncurses gtk2 + curl python munge perl pam openssl zlib + mysql.connector-c ncurses gtk2 lz4 lua hwloc numactl readline freeipmi ] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ]; configureFlags = with stdenv.lib; - [ "--with-munge=${munge}" - "--with-ssl=${openssl.dev}" + [ "--with-freeipmi=${freeipmi}" "--with-hwloc=${hwloc.dev}" - "--with-freeipmi=${freeipmi}" + "--with-lz4=${lz4.dev}" + "--with-munge=${munge}" + "--with-ssl=${openssl.dev}" + "--with-zlib=${zlib}" "--sysconfdir=/etc/slurm" ] ++ (optional (gtk2 == null) "--disable-gtktest") ++ (optional enableX11 "--with-libssh2=${libssh2.dev}"); diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index 3837f06264b7..64b78d335f79 100644 --- a/pkgs/servers/dns/knot-dns/default.nix +++ b/pkgs/servers/dns/knot-dns/default.nix @@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in # Note: ATM only the libraries have been tested in nixpkgs. stdenv.mkDerivation rec { name = "knot-dns-${version}"; - version = "2.7.2"; + version = "2.7.3"; src = fetchurl { url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz"; - sha256 = "cb70b2ee1c7ecbaad8774a1e0c449a68c6a6f7c9d60595524f003201d6e38431"; + sha256 = "8717c0f34e441e96bc32bc93b48333ea9c094c5075f91575e40ac30fcf6692df"; }; outputs = [ "bin" "out" "dev" ]; diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix index 49f212a8fe57..f830f0acee35 100644 --- a/pkgs/servers/http/nginx/mainline.nix +++ b/pkgs/servers/http/nginx/mainline.nix @@ -1,6 +1,6 @@ { callPackage, ... }@args: callPackage ./generic.nix (args // { - version = "1.15.3"; - sha256 = "11dysslkz76cdzhshc6w5qivdplk10pjpb73li0d1sz2qf8zp4ck"; + version = "1.15.5"; + sha256 = "0vxfbnc1794al60d9mhjw1w72x5jslfwq51vvs38568liyd8hfhs"; }) diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix index 5b7f433feb63..3e628f876dd7 100644 --- a/pkgs/servers/mail/dovecot/default.nix +++ b/pkgs/servers/mail/dovecot/default.nix @@ -8,7 +8,7 @@ }: stdenv.mkDerivation rec { - name = "dovecot-2.3.2.1"; + name = "dovecot-2.3.3"; nativeBuildInputs = [ perl pkgconfig ]; buildInputs = @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://dovecot.org/releases/2.3/${name}.tar.gz"; - sha256 = "0d2ffbicgl3wswbnyjbw6qigz7r1aqzprpchbwp5cynw122i2raa"; + sha256 = "13kd0rxdg9scwnx6n24p6mv8p6dyh7v8s7sqv55gp2i54pp2gbqm"; }; preConfigure = '' diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix index 1b744181096c..a0b03193729a 100644 --- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "dovecot-pigeonhole-${version}"; - version = "0.5.2"; + version = "0.5.3"; src = fetchurl { url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz"; - sha256 = "0d95q2yj2f750jwg599jlizlglldcz9hs52y4mhrflwfqlaqw3lm"; + sha256 = "08i6vw6k2v906s4sc6wl9ffpz6blzdga6vglqpqjm7jzq10jfbz0"; }; buildInputs = [ dovecot openssl ]; diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index 2fec42edff33..72d5f124c63d 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { ]; # needs to find a local perl module during build - PERL_USE_UNSAFE_INC = stdenv.lib.optionalString (stdenv.lib.versionAtLeast (stdenv.lib.getVersion perl) "5.26") "1"; + PERL_USE_UNSAFE_INC = "1"; # TODO: tests are failing http://munin-monitoring.org/ticket/1390#comment:1 # NOTE: important, test command always exits with 0, think of a way to abort the build once tests pass diff --git a/pkgs/servers/monitoring/net-snmp/CVE-2018-18065.patch b/pkgs/servers/monitoring/net-snmp/CVE-2018-18065.patch new file mode 100644 index 000000000000..c33f7bb03fa8 --- /dev/null +++ b/pkgs/servers/monitoring/net-snmp/CVE-2018-18065.patch @@ -0,0 +1,30 @@ +commit 7ffb8e25a0db851953155de91f0170e9bf8c457d +Author: Robert Story +Date: Thu Oct 6 10:43:10 2016 -0400 + + CHANGES: BUG: 2743: snmpd crashes when receiving a GetNext PDU with multiple Varbinds + + skip out-of-range varbinds when calling next handler + +diff --git a/agent/helpers/table.c b/agent/helpers/table.c +index 32a08033a..2666638b5 100644 +--- a/agent/helpers/table.c ++++ b/agent/helpers/table.c +@@ -340,6 +340,8 @@ table_helper_handler(netsnmp_mib_handler *handler, + else if (reqinfo->mode == MODE_GET) + table_helper_cleanup(reqinfo, request, + SNMP_NOSUCHOBJECT); ++ else ++ request->processed = 1; /* skip if next handler called */ + continue; + } + +@@ -409,6 +411,8 @@ table_helper_handler(netsnmp_mib_handler *handler, + else if (reqinfo->mode == MODE_GET) + table_helper_cleanup(reqinfo, request, + SNMP_NOSUCHOBJECT); ++ else ++ request->processed = 1; /* skip if next handler called */ + continue; + } + /* diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix index a6b738270a9a..0e7a53306eb4 100644 --- a/pkgs/servers/monitoring/net-snmp/default.nix +++ b/pkgs/servers/monitoring/net-snmp/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { (fetchAlpinePatch "fix-includes.patch" "0zpkbb6k366qpq4dax5wknwprhwnhighcp402mlm7950d39zfa3m") (fetchAlpinePatch "netsnmp-swinst-crash.patch" "0gh164wy6zfiwiszh58fsvr25k0ns14r3099664qykgpmickkqid") (fetchAlpinePatch "remove-U64-typedef.patch" "1msxyhcqkvhqa03dwb50288g7f6nbrcd9cs036m9xc8jdgjb8k8j") + ./CVE-2018-18065.patch ]; preConfigure = diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix index 38b789261773..516a537bb247 100644 --- a/pkgs/servers/monitoring/prometheus/alertmanager.nix +++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "alertmanager-${version}"; - version = "0.15.1"; + version = "0.15.2"; rev = "v${version}"; goPackagePath = "github.com/prometheus/alertmanager"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "prometheus"; repo = "alertmanager"; - sha256 = "110l8xy3bkgq137hvvz2v5cr464j02fy43lvgd3l8n5v8qmv81vy"; + sha256 = "1r4j22jnxayicz9hn0pwm77cgzzywr5haq0hwz6sx5j2xwjmnwm7"; }; # Tests exist, but seem to clash with the firewall. diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix index b254b8470c42..2430a8cf1711 100644 --- a/pkgs/servers/monitoring/prometheus/default.nix +++ b/pkgs/servers/monitoring/prometheus/default.nix @@ -50,7 +50,7 @@ in rec { }; prometheus_2 = generic { - version = "2.3.2"; - sha256 = "09q3p3kvgrvgyfkkvpy2mmlr6jxzxad6nzjni3iycs4bahsxl27a"; + version = "2.4.3"; + sha256 = "1kci2zhh4ixil0b72d138vm8006y117mw51wsyz8j0gyy4180msj"; }; } diff --git a/pkgs/servers/monitoring/uchiwa/bower-packages.nix b/pkgs/servers/monitoring/uchiwa/bower-packages.nix index f18ea3875516..a8180c5de3dc 100644 --- a/pkgs/servers/monitoring/uchiwa/bower-packages.nix +++ b/pkgs/servers/monitoring/uchiwa/bower-packages.nix @@ -1,7 +1,7 @@ # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix) { fetchbower, buildEnv }: buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [ - (fetchbower "uchiwa-web" "1.2.0" "1.2.0" "0733ha6bahzg9qlvhz75agi8hwwqdk99hfx9j8dhpdf1v5xkj2fz") + (fetchbower "uchiwa-web" "1.3.1" "1.3.1" "0vhfwm4z3d4v4p2vfq1vvk4fifxm43f8lyccwpgmw153z4gj14gk") (fetchbower "angular" "1.6.10" "~1.6.3" "0ag8xddsgxx5yka4wjq4ala4y6z3x2g1vc3x7a1n291fzz26p7ws") (fetchbower "angular-bootstrap" "2.2.0" "~2.2.0" "11r2nlwp6xrim2y6lnrr8v064mx3bmlxchqpg1i803v9zxz3q53d") (fetchbower "angular-cookies" "1.6.10" "~1.6.3" "0bjgmz5jnw06dfxhq9sajj62fk0b3v4j9p7nb45x8bl8rzkf25pn") @@ -19,7 +19,7 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [ (fetchbower "highlightjs" "9.1.0" "~9.1.0" "0ld1da3h416a5j8v3v50rrpm4xwvvq8k8y2vwncvaqm9cqddz4s3") (fetchbower "moment" "2.16.0" "~2.16.0" "1mji892i60f2aw3vhl6878acrcgh0ycn3r4af0ivnjf8az2b9n71") (fetchbower "moment-picker" "0.9.11" "~0.9.7" "0p2g6rp2kcixydrga9lfihg4bxb598rvpi8n8l59mp549diy7vsb") - (fetchbower "ua-parser-js" "0.7.17" "~0.7.12" "1dx46rm9han9fj409rjxrlnrk9zxmaqbnn62ljnh32ihngd4yxh0") + (fetchbower "ua-parser-js" "0.7.18" "~0.7.12" "0qi7y5yrsdh2brpmwx0xs53bzr4pja5x1k2875x6zh259ag3zdkn") (fetchbower "jsoneditor" "5.5.11" "~5.5.10" "1gfsf8jqnd3hb3r9s9246mg40iqxk2ix8k4bjnrsbfmg6cd3xw6x") (fetchbower "jquery" "3.3.1" ">= 1.9.0" "1l891s3vgnpi1g8ksplid9jvrvnnv6lci8vraix4ssy50i264rkx") ]; } diff --git a/pkgs/servers/monitoring/uchiwa/src.nix b/pkgs/servers/monitoring/uchiwa/src.nix index 0cf6815fbe5d..51c343d01da8 100644 --- a/pkgs/servers/monitoring/uchiwa/src.nix +++ b/pkgs/servers/monitoring/uchiwa/src.nix @@ -1,4 +1,4 @@ { - version = "1.2.0-1"; - sha256 = "1gj9cr0gkiivxdlq7ha6gxq9s8s26j79crijkrlrsqpg59jz063p"; + version = "1.3.1-1"; + sha256 = "1cjb7k19iy79hh9gbjx67yrz44y92s516d0h403bf6w272g23yzi"; } diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix index d99542d3ea27..e9f5e0898720 100644 --- a/pkgs/servers/web-apps/codimd/default.nix +++ b/pkgs/servers/web-apps/codimd/default.nix @@ -114,7 +114,7 @@ stdenv.mkDerivation rec { patches = [ (fetchpatch { # fixes for configurable paths url = "https://patch-diff.githubusercontent.com/raw/hackmdio/codimd/pull/940.patch"; - sha256 = "0n9lfaxirngywx8m5f0nqzykqdjzc8f3cl10ir1g7s5kq4zc7hhn"; + sha256 = "0w1cvnp3k1n8690gzlrfijisn182i0v8psjs3df394rfx2347xyp"; }) ]; diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix index a9b34824e494..2c89ea0f2c60 100644 --- a/pkgs/shells/powershell/default.nix +++ b/pkgs/shells/powershell/default.nix @@ -4,8 +4,8 @@ let platformString = if stdenv.isDarwin then "osx" else if stdenv.isLinux then "linux" else throw "unsupported platform"; - platformSha = if stdenv.isDarwin then "01j92myljgphf68la9q753m5wgfmd0kwlsk441yic7qshcly5xkw" - else if stdenv.isLinux then "0al1mrlz3m5ksnq86mqm0axb8bjdxa05j2p5y9bmcykrgkdwi3vk" + platformSha = if stdenv.isDarwin then "0jngmqxjiiz5dpgky027wl0s3nn321rxs6kxab27kmp031j65x8g" + else if stdenv.isLinux then "0nmqv32mck16b7zljfpb9ydg3h2jvcqrid9ga2i5wac26x3ix531" else throw "unsupported platform"; platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else if stdenv.isLinux then "LD_LIBRARY_PATH" @@ -14,7 +14,7 @@ let platformString = if stdenv.isDarwin then "osx" in stdenv.mkDerivation rec { name = "powershell-${version}"; - version = "6.0.4"; + version = "6.1.0"; src = fetchzip { url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-x64.tar.gz"; @@ -25,15 +25,12 @@ stdenv.mkDerivation rec { buildInputs = [ less ] ++ libraries; nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; - # TODO: remove PAGER after upgrading to v6.1.0-preview.1 or later as it has been addressed in - # https://github.com/PowerShell/PowerShell/pull/6144 installPhase = '' mkdir -p $out/bin mkdir -p $out/share/powershell cp -r * $out/share/powershell - rm $out/share/powershell/DELETE_ME_TO_DISABLE_CONSOLEHOST_TELEMETRY makeWrapper $out/share/powershell/pwsh $out/bin/pwsh --prefix ${platformLdLibraryPath} : "${stdenv.lib.makeLibraryPath libraries}" \ - --set PAGER ${less}/bin/less --set TERM xterm + --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1 ''; dontStrip = true; diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix index d8ae32c6ee4c..44016b801e5d 100644 --- a/pkgs/tools/X11/xdg-utils/default.nix +++ b/pkgs/tools/X11/xdg-utils/default.nix @@ -17,11 +17,11 @@ in stdenv.mkDerivation rec { name = "xdg-utils-${version}"; - version = "1.1.2"; + version = "1.1.3"; src = fetchurl { url = "https://portland.freedesktop.org/download/${name}.tar.gz"; - sha256 = "1k4b4m3aiyqn9k12a0ihcdahzlspl3zhskmm1d7228dvqvi546cm"; + sha256 = "1nai806smz3zcb2l5iny4x7li0fak0rzmjg6vlyhdqm8z25b166p"; }; # just needed when built from git diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 915144daa908..3e4d49108b71 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -14,11 +14,11 @@ let xf86videodummy = callPackage ./xf86videodummy { }; in buildPythonApplication rec { pname = "xpra"; - version = "2.3.3"; + version = "2.3.4"; src = fetchurl { url = "https://xpra.org/src/${pname}-${version}.tar.xz"; - sha256 = "1azvvddjfq7lb5kmbn0ilgq2nf7pmymsc3b9lhbjld6w156qdv01"; + sha256 = "0wa3kx54himy3i1b2801hlzfilh3cf4kjk40k1cjl0ds28m5hija"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/tools/X11/xsecurelock/default.nix b/pkgs/tools/X11/xsecurelock/default.nix index 4ee51100b339..88e36bfde39c 100644 --- a/pkgs/tools/X11/xsecurelock/default.nix +++ b/pkgs/tools/X11/xsecurelock/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig , libX11, libXcomposite, libXft, libXmu, pam, apacheHttpd, imagemagick -, pamtester, xscreensaver }: +, pamtester, xscreensaver, xset }: stdenv.mkDerivation rec { name = "xsecurelock-${version}"; @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { "--with-xscreensaver=${xscreensaver}/libexec/xscreensaver" ]; + preInstall = '' + substituteInPlace helpers/saver_blank \ + --replace 'protect xset' 'protect ${xset}/bin/xset' + ''; + meta = with lib; { description = "X11 screen lock utility with security in mind"; homepage = https://github.com/google/xsecurelock; diff --git a/pkgs/tools/admin/fastlane/Gemfile.lock b/pkgs/tools/admin/fastlane/Gemfile.lock index 9cb80eb131c0..631d9cb9628a 100644 --- a/pkgs/tools/admin/fastlane/Gemfile.lock +++ b/pkgs/tools/admin/fastlane/Gemfile.lock @@ -4,7 +4,7 @@ GEM CFPropertyList (3.0.0) addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) - atomos (0.1.2) + atomos (0.1.3) babosa (1.0.2) claide (1.0.2) colored (1.2) @@ -13,20 +13,20 @@ GEM highline (~> 1.7.2) declarative (0.0.10) declarative-option (0.1.0) - domain_name (0.5.20170404) + domain_name (0.5.20180417) unf (>= 0.0.5, < 1.0.0) - dotenv (2.2.2) + dotenv (2.5.0) emoji_regex (0.1.1) excon (0.62.0) - faraday (0.14.0) + faraday (0.15.3) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) faraday (>= 0.7.4) http-cookie (~> 1.0.0) faraday_middleware (0.12.2) faraday (>= 0.7.4, < 1.0) - fastimage (2.1.1) - fastlane (2.91.0) + fastimage (2.1.4) + fastlane (2.105.2) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) babosa (>= 1.0.2, < 2.0.0) @@ -41,7 +41,7 @@ GEM faraday_middleware (~> 0.9) fastimage (>= 2.1.0, < 3.0.0) gh_inspector (>= 1.1.2, < 2.0.0) - google-api-client (>= 0.13.1, < 0.14.0) + google-api-client (>= 0.21.2, < 0.24.0) highline (>= 1.7.2, < 2.0.0) json (< 3.0.0) mini_magick (~> 4.5.1) @@ -50,7 +50,7 @@ GEM multipart-post (~> 2.0.0) plist (>= 3.1.0, < 4.0.0) public_suffix (~> 2.0.0) - rubyzip (>= 1.1.0, < 2.0.0) + rubyzip (>= 1.2.2, < 2.0.0) security (= 0.1.3) simctl (~> 1.6.3) slack-notifier (>= 2.0.0, < 3.0.0) @@ -59,24 +59,24 @@ GEM tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) - xcodeproj (>= 1.5.7, < 2.0.0) - xcpretty (>= 0.2.4, < 1.0.0) + xcodeproj (>= 1.6.0, < 2.0.0) + xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) gh_inspector (1.1.3) - google-api-client (0.13.6) + google-api-client (0.23.9) addressable (~> 2.5, >= 2.5.1) - googleauth (~> 0.5) + googleauth (>= 0.5, < 0.7.0) httpclient (>= 2.8.1, < 3.0) mime-types (~> 3.0) representable (~> 3.0) retriable (>= 2.0, < 4.0) - googleauth (0.6.2) + signet (~> 0.9) + googleauth (0.6.6) faraday (~> 0.12) jwt (>= 1.4, < 3.0) - logging (~> 2.0) memoist (~> 0.12) multi_json (~> 1.11) - os (~> 0.9) + os (>= 0.9, < 2.0) signet (~> 0.7) highline (1.7.10) http-cookie (1.0.3) @@ -84,60 +84,56 @@ GEM httpclient (2.8.3) json (2.1.0) jwt (2.1.0) - little-plugger (1.1.4) - logging (2.2.2) - little-plugger (~> 1.1) - multi_json (~> 1.10) memoist (0.16.0) - mime-types (3.1) + mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2016.0521) + mime-types-data (3.2018.0812) mini_magick (4.5.1) multi_json (1.13.1) multi_xml (0.6.0) multipart-post (2.0.0) - nanaimo (0.2.5) - naturally (2.1.0) - os (0.9.6) + nanaimo (0.2.6) + naturally (2.2.0) + os (1.0.0) plist (3.4.0) public_suffix (2.0.5) representable (3.0.4) declarative (< 0.1.0) declarative-option (< 0.2.0) uber (< 0.2.0) - retriable (3.1.1) + retriable (3.1.2) rouge (2.0.7) - rubyzip (1.2.1) + rubyzip (1.2.2) security (0.1.3) - signet (0.8.1) + signet (0.10.0) addressable (~> 2.3) faraday (~> 0.9) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simctl (1.6.3) + simctl (1.6.5) CFPropertyList naturally slack-notifier (2.3.2) terminal-notifier (1.8.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - tty-cursor (0.5.0) - tty-screen (0.6.4) + tty-cursor (0.6.0) + tty-screen (0.6.5) tty-spinner (0.8.0) tty-cursor (>= 0.5.0) uber (0.1.0) unf (0.1.4) unf_ext unf_ext (0.0.7.5) - unicode-display_width (1.3.0) + unicode-display_width (1.4.0) word_wrap (1.0.0) - xcodeproj (1.5.7) + xcodeproj (1.6.0) CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.2) + atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.2.4) - xcpretty (0.2.8) + nanaimo (~> 0.2.6) + xcpretty (0.3.0) rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.0) xcpretty (~> 0.2, >= 0.0.7) @@ -149,4 +145,4 @@ DEPENDENCIES fastlane BUNDLED WITH - 1.14.6 + 1.16.3 diff --git a/pkgs/tools/admin/fastlane/default.nix b/pkgs/tools/admin/fastlane/default.nix index b9008c919bf3..8aba7524008b 100644 --- a/pkgs/tools/admin/fastlane/default.nix +++ b/pkgs/tools/admin/fastlane/default.nix @@ -1,11 +1,27 @@ -{ lib, bundlerEnv, ruby }: +{ stdenv, bundlerEnv, ruby, makeWrapper }: -bundlerEnv rec { - inherit ruby; +stdenv.mkDerivation rec { + name = "${pname}-${version}"; pname = "fastlane"; - gemdir = ./.; + version = (import ./gemset.nix).fastlane.version; - meta = with lib; { + nativeBuildInputs = [ makeWrapper ]; + + env = bundlerEnv { + name = "${name}-gems"; + inherit pname ruby; + gemdir = ./.; + }; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p $out/bin + makeWrapper ${env}/bin/fastlane $out/bin/fastlane \ + --set FASTLANE_SKIP_UPDATE_CHECK 1 + ''; + + meta = with stdenv.lib; { description = "A tool to automate building and releasing iOS and Android apps"; longDescription = "fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application."; homepage = https://github.com/fastlane/fastlane; diff --git a/pkgs/tools/admin/fastlane/gemset.nix b/pkgs/tools/admin/fastlane/gemset.nix index 4a0d0467d804..c2133c7c8c9c 100644 --- a/pkgs/tools/admin/fastlane/gemset.nix +++ b/pkgs/tools/admin/fastlane/gemset.nix @@ -11,10 +11,10 @@ atomos = { source = { remotes = ["https://rubygems.org"]; - sha256 = "10z69hjv30r2w5q5wmlf0cq4jv3w744jrac8ylln8sf45ckqj7wk"; + sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; type = "gem"; }; - version = "0.1.2"; + version = "0.1.3"; }; babosa = { source = { @@ -85,18 +85,18 @@ dependencies = ["unf"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf"; + sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"; type = "gem"; }; - version = "0.5.20170404"; + version = "0.5.20180417"; }; dotenv = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1f9s04xwa9gcsql734nwxvacgsl1si7xka4g4w3r6d3ab8a274y9"; + sha256 = "1va5y19f7l5jh53vz5vibz618lg8z93k5m2k70l25s9k46v2gfm3"; type = "gem"; }; - version = "2.2.2"; + version = "2.5.0"; }; emoji_regex = { source = { @@ -118,10 +118,10 @@ dependencies = ["multipart-post"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c3x3s8vb5nf7inyfvhdxwa4q3swmnacpxby6pish5fgmhws7zrr"; + sha256 = "16hwxc8v0z6gkanckjhx0ffgqmzpc4ywz4dfhxpjlz2mbz8d5m52"; type = "gem"; }; - version = "0.14.0"; + version = "0.15.3"; }; faraday-cookie_jar = { dependencies = ["faraday" "http-cookie"]; @@ -144,19 +144,19 @@ fastimage = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0dzv34dgpw1sakj4wdd26dnw1z7iwvwfdvfr9aiirspabibfq6vc"; + sha256 = "0i7p9jgb9x1lxkhkwq8xlq7an5qbgdq6gsyrbs2xnf5ffa8yx1i2"; type = "gem"; }; - version = "2.1.1"; + version = "2.1.4"; }; fastlane = { dependencies = ["CFPropertyList" "addressable" "babosa" "colored" "commander-fastlane" "dotenv" "emoji_regex" "excon" "faraday" "faraday-cookie_jar" "faraday_middleware" "fastimage" "gh_inspector" "google-api-client" "highline" "json" "mini_magick" "multi_json" "multi_xml" "multipart-post" "plist" "public_suffix" "rubyzip" "security" "simctl" "slack-notifier" "terminal-notifier" "terminal-table" "tty-screen" "tty-spinner" "word_wrap" "xcodeproj" "xcpretty" "xcpretty-travis-formatter"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "04k6pn95qbpvbmqxrs4pngvfyk4pifcv8is3819b33p754pkiqrp"; + sha256 = "1fq1zqvwim939klkx2893cbm1v4gi3a991qrj8933l3qg1y41fx2"; type = "gem"; }; - version = "2.91.0"; + version = "2.105.2"; }; gh_inspector = { source = { @@ -167,22 +167,22 @@ version = "1.1.3"; }; google-api-client = { - dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"]; + dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable" "signet"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ac9qa0kwnirkvwz2w9zf07lqcgbmnvgd1wg8xxyjbadwsbpyf1y"; + sha256 = "1z925kbqyaxdi6ld3gvaqc9527xfi8k3rr6snq5mvx5kibdi072a"; type = "gem"; }; - version = "0.13.6"; + version = "0.23.9"; }; googleauth = { - dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"]; + dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f"; + sha256 = "1747p1dhpvz76i98xnjrvaj785y1232svm0nc8g9by6pz835gp2l"; type = "gem"; }; - version = "0.6.2"; + version = "0.6.6"; }; highline = { source = { @@ -225,23 +225,6 @@ }; version = "2.1.0"; }; - little-plugger = { - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; - type = "gem"; - }; - version = "1.1.4"; - }; - logging = { - dependencies = ["little-plugger" "multi_json"]; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn"; - type = "gem"; - }; - version = "2.2.2"; - }; memoist = { source = { remotes = ["https://rubygems.org"]; @@ -254,18 +237,18 @@ dependencies = ["mime-types-data"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m"; + sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; type = "gem"; }; - version = "3.1"; + version = "3.2.2"; }; mime-types-data = { source = { remotes = ["https://rubygems.org"]; - sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm"; + sha256 = "07wvp0aw2gjm4njibb70as6rh5hi1zzri5vky1q6jx95h8l56idc"; type = "gem"; }; - version = "3.2016.0521"; + version = "3.2018.0812"; }; mini_magick = { source = { @@ -302,26 +285,26 @@ nanaimo = { source = { remotes = ["https://rubygems.org"]; - sha256 = "03x5f7hk0s21hlkj309w0qipjxz34kyd3c5yj25zq3s2yyn57idi"; + sha256 = "0ajfyaqjw3dzykk612yw8sm21savfqy292hgps8h8l4lvxww1lz6"; type = "gem"; }; - version = "0.2.5"; + version = "0.2.6"; }; naturally = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0avn8b2qbfm22afln2p7rky73zns8c444mdhdh4ki8hbjsn0f8cx"; + sha256 = "0dzqdawqr4agx7zr1fr5zxdwl8vb5rhpz57l1lk7d2y46ha6l4l7"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.0"; }; os = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz"; + sha256 = "1s401gvhqgs2r8hh43ia205mxsy1wc0ib4k76wzkdpspfcnfr1rk"; type = "gem"; }; - version = "0.9.6"; + version = "1.0.0"; }; plist = { source = { @@ -351,10 +334,10 @@ retriable = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0pnriyn9zh120hxm92vb12hfsf7c98nawyims1shxj3ldpl0l3ar"; + sha256 = "1q48hqws2dy1vws9schc0kmina40gy7sn5qsndpsfqdslh65snha"; type = "gem"; }; - version = "3.1.1"; + version = "3.1.2"; }; rouge = { source = { @@ -367,10 +350,10 @@ rubyzip = { source = { remotes = ["https://rubygems.org"]; - sha256 = "06js4gznzgh8ac2ldvmjcmg9v1vg9llm357yckkpylaj6z456zqz"; + sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj"; type = "gem"; }; - version = "1.2.1"; + version = "1.2.2"; }; security = { source = { @@ -384,19 +367,19 @@ dependencies = ["addressable" "faraday" "jwt" "multi_json"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv"; + sha256 = "14rhv3riz6ki4ix4l79b6ckq7d015673gxkxvzdcxjl1h8plpdcy"; type = "gem"; }; - version = "0.8.1"; + version = "0.10.0"; }; simctl = { dependencies = ["CFPropertyList" "naturally"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l1hwxkbpgfhla6dbf0f6nhj794c0k6ilxlh07zcm8by3vdrsvib"; + sha256 = "0bbvbpdk955q1g797md960fdznw6p6hmj2pc62yrbpvb1ymag1sf"; type = "gem"; }; - version = "1.6.3"; + version = "1.6.5"; }; slack-notifier = { source = { @@ -426,18 +409,18 @@ tty-cursor = { source = { remotes = ["https://rubygems.org"]; - sha256 = "0xmggqwbikamd4qjwvahrv0vpbznm06bqpl498pb5fy3pra2xyxz"; + sha256 = "1f4rsapf4apaxn11xnqrq7axgrlvn6pdlqxqb2g34jnpfh5yrk1i"; type = "gem"; }; - version = "0.5.0"; + version = "0.6.0"; }; tty-screen = { source = { remotes = ["https://rubygems.org"]; - sha256 = "19iq03prqjbm0nr7yn0181lph52d994jwbcsqss3lwpwkl20s6bv"; + sha256 = "0azpjgyhdm8ycblnx9crq3dgb2x8yg454a13n60zfpsc0n138sw1"; type = "gem"; }; - version = "0.6.4"; + version = "0.6.5"; }; tty-spinner = { dependencies = ["tty-cursor"]; @@ -476,10 +459,10 @@ unicode-display_width = { source = { remotes = ["https://rubygems.org"]; - sha256 = "12pi0gwqdnbx1lv5136v3vyr0img9wr0kxcn4wn54ipq4y41zxq8"; + sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57"; type = "gem"; }; - version = "1.3.0"; + version = "1.4.0"; }; word_wrap = { source = { @@ -493,19 +476,19 @@ dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "16743g16mrh47f1lxkbw28xn9mmlf1r0zicin4malalsxxkc7ykz"; + sha256 = "1f4shbzff3wsk1jq0v9bs10496qdx69k2jfpf11p4q2ik3jdnsv7"; type = "gem"; }; - version = "1.5.7"; + version = "1.6.0"; }; xcpretty = { dependencies = ["rouge"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1b8x9m53a1hbw0lamffjm4m1ydigj3azl97jc5w7prv1bm27s2y3"; + sha256 = "1xq47q2h5llj7b54rws4796904vnnjz7qqnacdv7wlp3gdbwrivm"; type = "gem"; }; - version = "0.2.8"; + version = "0.3.0"; }; xcpretty-travis-formatter = { dependencies = ["xcpretty"]; diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix index 4886217211df..5430c2cb73e7 100644 --- a/pkgs/tools/archivers/p7zip/default.nix +++ b/pkgs/tools/archivers/p7zip/default.nix @@ -20,6 +20,10 @@ stdenv.mkDerivation rec { # I think this is a typo and should be CXX? Either way let's kill it sed -i '/XX=\/usr/d' makefile.macosx_llvm_64bits + '' + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + substituteInPlace makefile.machine \ + --replace 'CC=gcc' 'CC=${stdenv.cc.targetPrefix}gcc' \ + --replace 'CXX=g++' 'CXX=${stdenv.cc.targetPrefix}g++' ''; preConfigure = '' diff --git a/pkgs/tools/audio/liquidsoap/full.nix b/pkgs/tools/audio/liquidsoap/full.nix index eb544fc693e4..7ef0793a4831 100644 --- a/pkgs/tools/audio/liquidsoap/full.nix +++ b/pkgs/tools/audio/liquidsoap/full.nix @@ -4,10 +4,11 @@ , libsamplerate, libmad, taglib, lame, libogg , libvorbis, speex, libtheora, libopus, fdk_aac , faad2, flac, ladspaH, ffmpeg, frei0r, dssi -, }: +}: let - version = "1.1.1"; + pname = "liquidsoap"; + version = "1.3.4"; packageFilters = map (p: "-e '/ocaml-${p}/d'" ) [ "gstreamer" "shine" "aacplus" "schroedinger" @@ -15,14 +16,21 @@ let ]; in stdenv.mkDerivation { - name = "liquidsoap-full-${version}"; + name = "${pname}-full-${version}"; src = fetchurl { - url = "mirror://sourceforge/project/savonet/liquidsoap/${version}/liquidsoap-${version}-full.tar.gz"; - sha256 = "1w1grgja5yibph90vsxj7ffkpz1sgzmr54jj52s8889dpy609wqa"; + url = "https://github.com/savonet/${pname}/releases/download/${version}/${pname}-${version}-full.tar.bz2"; + sha256 = "11l1h42sljfxcdhddc8klya4bk99j7a1pndwnzvscb04pvmfmlk0"; }; - preConfigure = "sed ${toString packageFilters} PACKAGES.default > PACKAGES"; + preConfigure = /* we prefer system-wide libs */ '' + sed -i "s|gsed|sed|" Makefile + make bootstrap + # autoreconf -vi # use system libraries + + sed ${toString packageFilters} PACKAGES.default > PACKAGES + ''; + configureFlags = [ "--localstatedir=/var" ]; buildInputs = @@ -35,6 +43,8 @@ stdenv.mkDerivation { ocamlPackages.camomile ]; + hardeningDisable = [ "format" "fortify" ]; + meta = with stdenv.lib; { description = "Swiss-army knife for multimedia streaming"; homepage = http://liquidsoap.fm/; diff --git a/pkgs/tools/audio/mpdsync/default.nix b/pkgs/tools/audio/mpdsync/default.nix new file mode 100644 index 000000000000..51f5ba656168 --- /dev/null +++ b/pkgs/tools/audio/mpdsync/default.nix @@ -0,0 +1,24 @@ +{ stdenv, python2, fetchFromGitHub }: +with python2.pkgs; +stdenv.mkDerivation { + name = "mpdsync-2017-06-15"; + + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "mpdsync"; + rev = "da90058f44dd9578cc5f2fb96a1fb2b26da40d07"; + sha256 = "1mfg3ipqj5dvyyqbgp6ia6sc1ja5gmm2c9mfrwx0jw2dl182if6q"; + }; + + pythonPath = [ mpd2 ]; + + nativeBuildInputs = [ + wrapPython + ]; + + dontBuild = true; + + installPhase = "install -D mpdsync.py $out/bin/mpdsync"; + postFixup = "wrapPythonPrograms"; + +} diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix index 20e1853a3af6..a1428a257742 100644 --- a/pkgs/tools/filesystems/f2fs-tools/default.nix +++ b/pkgs/tools/filesystems/f2fs-tools/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "1.11.0"; src = fetchgit { - url = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git"; + url = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git"; rev = "refs/tags/v${version}"; sha256 = "188yv77ga466wpzbirsx6vspym8idaschgi7cx92z4jwqpnkk5gv"; }; diff --git a/pkgs/tools/inputmethods/m17n-lib/otf.nix b/pkgs/tools/inputmethods/m17n-lib/otf.nix index 6e13b4a949c4..95eea7641875 100644 --- a/pkgs/tools/inputmethods/m17n-lib/otf.nix +++ b/pkgs/tools/inputmethods/m17n-lib/otf.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, libXaw, freetype }: + stdenv.mkDerivation rec { name = "libotf-0.9.16"; @@ -7,8 +8,16 @@ stdenv.mkDerivation rec { sha256 = "0sq6g3xaxw388akws6qrllp3kp2sxgk2dv4j79k6mm52rnihrnv8"; }; + outputs = [ "out" "dev" ]; + buildInputs = [ libXaw freetype ]; + postInstall = + '' + mkdir -p $dev/bin + mv $out/bin/libotf-config $dev/bin/ + ''; + meta = { homepage = http://www.nongnu.org/m17n/; description = "Multilingual text processing library (libotf)"; diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix index 0eff3f0c3916..5a69a6ae7ad2 100644 --- a/pkgs/tools/misc/cloc/default.nix +++ b/pkgs/tools/misc/cloc/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "cloc-${version}"; - version = "1.78"; + version = "1.80"; src = fetchFromGitHub { owner = "AlDanial"; repo = "cloc"; - rev = version; - sha256 = "030cnvl83hgynri3jimhhqp238375m1g6liqfiggl0habrnlbck2"; + rev = "v${version}"; + sha256 = "0zmkjpv4dbdr29x95j4i585wz4rxwlrkp6ldfr5wiw83h90n0ilp"; }; setSourceRoot = '' diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 582f8d8f05f9..de97e94ae42e 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch; # The test tends to fail on btrfs and maybe other unusual filesystems. - postPatch = optionalString (!stdenv.hostPlatform.isDarwin) '' + postPatch = '' sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh sed '2i echo Skipping rm deep-2 test && exit 0' -i ./tests/rm/deep-2.sh @@ -89,7 +89,7 @@ stdenv.mkDerivation rec { postInstall = optionalString (stdenv.hostPlatform != stdenv.buildPlatform && !minimal) '' rm $out/share/man/man1/* - cp ${buildPackages.coreutils}/share/man/man1/* $out/share/man/man1 + cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1 '' # du: 8.7 M locale + 0.4 M man pages + optionalString minimal '' diff --git a/pkgs/tools/misc/envdir-go/default.nix b/pkgs/tools/misc/envdir-go/default.nix new file mode 100644 index 000000000000..ea08608da01c --- /dev/null +++ b/pkgs/tools/misc/envdir-go/default.nix @@ -0,0 +1,27 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + version = "1.0.0"; + name = "envdir-${version}"; + + goPackagePath = "github.com/d10n/envdir"; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "d10n"; + repo = "envdir"; + sha256 = "1wdlblj127skgynf9amk7waabc3abbyxys9dvyc6c72zpcpdy5nc"; + }; + + preBuild = '' + # TODO: is there a way to get the commit ref so we can set main.buildCommit? + buildFlagsArray+=("-ldflags" "-X main.buildDate=1970-01-01T00:00:00+0000 -X main.buildVersion=${version}") +''; + + meta = { + description = "A go rewrite of envdir"; + homepage = https://github.com/d10n/envdir; + maintainers = with stdenv.lib.maintainers; [ edude03 ]; + }; +} diff --git a/pkgs/tools/misc/grub/default.nix b/pkgs/tools/misc/grub/default.nix index f5ba8b7fe100..87e9814d8993 100644 --- a/pkgs/tools/misc/grub/default.nix +++ b/pkgs/tools/misc/grub/default.nix @@ -1,12 +1,10 @@ -{stdenv, fetchurl, autoreconfHook, texinfo, buggyBiosCDSupport ? true}: +{ stdenv, fetchurl, autoreconfHook, texinfo, buggyBiosCDSupport ? true }: -let -in stdenv.mkDerivation { name = "grub-0.97-73"; src = fetchurl { - url = ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz; + url = https://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz; sha256 = "02r6b52r0nsp6ryqfiqchnl7r1d9smm80sqx24494gmx5p8ia7af"; }; @@ -29,6 +27,8 @@ stdenv.mkDerivation { passthru.grubTarget = ""; meta = with stdenv.lib; { + homepage = https://www.gnu.org/software/grub; + description = "GRand Unified Bootloader"; license = licenses.gpl2; platforms = platforms.linux; }; diff --git a/pkgs/tools/misc/journaldriver/default.nix b/pkgs/tools/misc/journaldriver/default.nix index 58c9ee770b7f..e97f4048f0ff 100644 --- a/pkgs/tools/misc/journaldriver/default.nix +++ b/pkgs/tools/misc/journaldriver/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { name = "journaldriver-${version}"; - version = "1.0.0"; - cargoSha256 = "04llhriwsrjqnkbjgd22nhci6zmhadclnd8r2bw5092gwdamf49k"; + version = "1.1.0"; + cargoSha256 = "03rq96hzv97wh2gbzi8sz796bqgh6pbpvdn0zy6zgq2f2sgkavsl"; src = fetchFromGitHub { - owner = "aprilabank"; + owner = "tazjin"; repo = "journaldriver"; rev = "v${version}"; - sha256 = "1163ghf7dxxchyawdaa7zdi8ly2pxmc005c2k549larbirjjbmgc"; + sha256 = "0672iq6s9klb1p37hciyl7snbjgjw98kwrbfkypv07lplc5qcnrf"; }; buildInputs = [ openssl systemd ]; @@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Log forwarder from journald to Stackdriver Logging"; - homepage = "https://github.com/aprilabank/journaldriver"; + homepage = "https://github.com/tazjin/journaldriver"; license = licenses.gpl3; maintainers = [ maintainers.tazjin ]; platforms = platforms.linux; diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index 1753f52ab1b6..fd641ea613d5 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -23,6 +23,12 @@ stdenv.mkDerivation rec { stripLen = 1; }); + postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) + # XXX: Awful hack to allow cross-compilation. + '' sed -i ./configure \ + -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g' + ''; # " + buildInputs = [ ncurses ] ++ stdenv.lib.optional stdenv.isLinux pam ++ stdenv.lib.optional stdenv.isDarwin utmp; diff --git a/pkgs/tools/misc/teleconsole/default.nix b/pkgs/tools/misc/teleconsole/default.nix new file mode 100644 index 000000000000..2d3eb91250a8 --- /dev/null +++ b/pkgs/tools/misc/teleconsole/default.nix @@ -0,0 +1,34 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "teleconsole-${version}"; + version = "0.4.0"; + + goPackagePath = "github.com/gravitational/teleconsole"; + + src = fetchFromGitHub { + owner = "gravitational"; + repo = "teleconsole"; + rev = version; + sha256 = "01552422n0bj1iaaw6pvg9l1qr66r69sdsngxbcdjn1xh3mj74sm"; + }; + + goDeps = ./deps.nix; + + CGO_ENABLED = 1; + buildFlags = "-ldflags"; + + meta = with stdenv.lib; { + homepage = "https://www.teleconsole.com/"; + description = "Share your terminal session with people you trust"; + license = licenses.asl20; + platforms = platforms.all; + # Builds for Aarch64 not possible in the current release due to + # incompatibilities further up the dependency chain. + # See: + # - https://github.com/gravitational/teleport/issues/679 + # - https://github.com/kr/pty/issues/27 + broken = stdenv.isAarch64; + maintainers = [ maintainers.kimburgess ]; + }; +} diff --git a/pkgs/tools/misc/teleconsole/deps.nix b/pkgs/tools/misc/teleconsole/deps.nix new file mode 100644 index 000000000000..f13529d4b25a --- /dev/null +++ b/pkgs/tools/misc/teleconsole/deps.nix @@ -0,0 +1,13 @@ +[ + # Teleport v2.0.0-alpha.4 required for build. + # See https://github.com/gravitational/teleconsole/blob/09591f227c2a8df4c68af8bc4adfadfc596f4ed2/Makefile#L8 + { + goPackagePath = "github.com/gravitational/teleport"; + fetch = { + type = "git"; + url = "https://github.com/gravitational/teleport"; + rev = "2cb40abd8ea8fb2915304ea4888b5b9f3e5bc223"; + sha256 = "1xw3bfnjbj88x465snwwzn4bmpmzmsrq9r0pkj388qwvfrclgnfk"; + }; + } +] diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix index 0655264cc542..c273ef879682 100644 --- a/pkgs/tools/misc/vdirsyncer/default.nix +++ b/pkgs/tools/misc/vdirsyncer/default.nix @@ -41,7 +41,7 @@ in pythonPackages.buildPythonApplication rec { preBuild = '' mkdir -p rust/target/release - ln -s ${native}/bin/libvdirsyncer_rustext* rust/target/release/ + ln -s ${native}/lib/libvdirsyncer_rustext* rust/target/release/ ''; LC_ALL = "en_US.utf8"; diff --git a/pkgs/tools/misc/yubikey-manager/default.nix b/pkgs/tools/misc/yubikey-manager/default.nix index c8c0ba706c36..140e322c862b 100644 --- a/pkgs/tools/misc/yubikey-manager/default.nix +++ b/pkgs/tools/misc/yubikey-manager/default.nix @@ -2,11 +2,11 @@ yubikey-personalization, libu2f-host, libusb1 }: pythonPackages.buildPythonPackage rec { - name = "yubikey-manager-0.7.0"; + name = "yubikey-manager-1.0.0"; srcs = fetchurl { url = "https://developers.yubico.com/yubikey-manager/Releases/${name}.tar.gz"; - sha256 = "13vvl3jc5wg6d4h5cpaf969apsbf72dxad560d02ly061ss856zr"; + sha256 = "1qdb2b3mv4wafghnmv3sxw4fh7cjc06hnkdimfnwmqcjafzvbawd"; }; propagatedBuildInputs = diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix index 55abeb4f583d..101f2a635a4b 100644 --- a/pkgs/tools/networking/i2p/default.nix +++ b/pkgs/tools/networking/i2p/default.nix @@ -2,10 +2,10 @@ let wrapper = stdenv.mkDerivation rec { name = "wrapper-${version}"; - version = "3.5.32"; + version = "3.5.35"; src = fetchurl { url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz"; - sha256 = "1v388p5jjbpwybw0zjv5glzny17fwdwppaci2lqcsnm6qw0667f1"; + sha256 = "0mjyw9ays9v6lnj21pmfd3qdvd9b6rwxfmw3pg6z0kyf2jadixw2"; }; buildInputs = [ jdk ]; buildPhase = '' @@ -27,10 +27,10 @@ let wrapper = stdenv.mkDerivation rec { in stdenv.mkDerivation rec { - name = "i2p-0.9.35"; + name = "i2p-0.9.37"; src = fetchurl { url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz"; - sha256 = "02p76vn1777lgv4zs27r6i9s4yk7b2x61b25i8dqmn6j60y3fa4g"; + sha256 = "1lmqdqavy471s187y0lhckznlxx6id6h0dlwlyif2vr8c0pwv2q9"; }; buildInputs = [ jdk ant gettext which ]; patches = [ ./i2p.patch ]; diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index 01b979c3c5bf..66d9434a470a 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus-glib, gnome3 -, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables +{ stdenv, fetchurl, fetchpatch, substituteAll, intltool, pkgconfig, dbus-glib +, gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables , libgcrypt, dnsmasq, bluez5, readline , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup , ethtool, gnused, coreutils, file, inetutils, kmod, jansson, libxslt @@ -67,13 +67,13 @@ in stdenv.mkDerivation rec { patches = [ # https://bugzilla.gnome.org/show_bug.cgi?id=796751 - (fetchurl { + (fetchpatch { url = https://bugzilla.gnome.org/attachment.cgi?id=372953; - sha256 = "1crjplyiiipkhjjlifrv6hhvxinlcxd6irp9ijbc7jij31g44i0a"; + sha256 = "0xg7bzs6dvkbv2qp67i7mi1c5yrmfd471xgmlkn15b33pqkzy3mc"; }) - (fetchurl { + (fetchpatch { url = https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/0a3755c1799d3a4dc1875d4c59c7c568a64c8456.patch; - sha256 = "af1717f7c6fdd6dadb4082dd847f4bbc42cf1574833299f3e47024e785533f2e"; + sha256 = "0r7338q3za7mf419a244vi65b1q497rg84avijybmv6w4x6p1ksd"; }) (substituteAll { src = ./fix-paths.patch; diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix index 8c4462c36bcf..de2fb1472aa9 100644 --- a/pkgs/tools/networking/ntp/default.nix +++ b/pkgs/tools/networking/ntp/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { "--with-openssl-libdir=${openssl.out}/lib" "--with-openssl-incdir=${openssl.dev}/include" "--enable-ignore-dns-errors" + "--with-yielding-select=yes" ] ++ stdenv.lib.optional stdenv.isLinux "--enable-linuxcaps" ++ stdenv.lib.optional withSeccomp "--enable-libseccomp"; diff --git a/pkgs/tools/networking/opensm/default.nix b/pkgs/tools/networking/opensm/default.nix index a053c82a8264..ea20306e26f2 100644 --- a/pkgs/tools/networking/opensm/default.nix +++ b/pkgs/tools/networking/opensm/default.nix @@ -1,20 +1,26 @@ -{ stdenv, fetchgit, autoconf, automake, libtool, bison, flex, rdma-core }: +{ stdenv, fetchFromGitHub, autoconf, automake, libtool, bison, flex, rdma-core }: stdenv.mkDerivation rec { name = "opensm-${version}"; - version = "3.3.20"; + version = "3.3.21"; - src = fetchgit { - url = git://git.openfabrics.org/~halr/opensm.git; - rev = name; - sha256 = "1hlrn5z32yd4w8bj4z6bsfv84pk178s4rnppbabyjqv1rg3c58wl"; + src = fetchFromGitHub { + owner = "linux-rdma"; + repo = "opensm"; + rev = "${version}"; + sha256 = "0iikw28vslxq3baq9qmmw08yay7l524wciz7dv7km09ylcbx23b7"; }; nativeBuildInputs = [ autoconf automake libtool bison flex ]; buildInputs = [ rdma-core ]; - preConfigure = "bash ./autogen.sh"; + preConfigure = '' + patchShebangs ./autogen.sh + ./autogen.sh + ''; + + enableParallelBuilding = true; meta = with stdenv.lib; { description = "Infiniband subnet manager"; diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index 04a77176682d..96bc2c56ece8 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -37,6 +37,13 @@ stdenv.mkDerivation rec { patches = [ + # Remove on update! + (fetchpatch { + name = "fix-tunnel-forwarding.diff"; + url = "https://github.com/openssh/openssh-portable/commit/cfb1d9bc767.diff"; + sha256 = "1mszj7f1kj6bazr7asbi1bi4238lfpilpp98f6c1dn3py4fbsdg8"; + }) + ./locale_archive.patch ./fix-host-key-algorithms-plus.patch diff --git a/pkgs/tools/networking/quickserve/default.nix b/pkgs/tools/networking/quickserve/default.nix new file mode 100644 index 000000000000..06e5918dccd8 --- /dev/null +++ b/pkgs/tools/networking/quickserve/default.nix @@ -0,0 +1,35 @@ +{ stdenv, makeWrapper, fetchzip, python3, python3Packages, writeScript }: +let + threaded_servers = python3Packages.buildPythonPackage { + name = "threaded_servers"; + src = fetchzip { + url = https://xyne.archlinux.ca/projects/python3-threaded_servers/src/python3-threaded_servers-2018.6.tar.xz; + sha256 = "1irliz90a1dk4lyl7mrfq8qnnrfad9czvbcw1spc13zyai66iyhf"; + }; + + # stuff we don't care about pacserve + doCheck = false; + }; + wrappedPython = python3.withPackages (_: [ threaded_servers ]); +in stdenv.mkDerivation { + name = "quickserve"; + version = "2018"; + + unpackPhase = ":"; + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + makeWrapper ${wrappedPython}/bin/python $out/bin/quickserve \ + --add-flags -mThreadedServers.PeeredQuickserve + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "A simple HTTP server for quickly sharing files."; + homepage = https://xyne.archlinux.ca/projects/quickserve/; + license = licenses.gpl2; + maintainers = with maintainers; [ lassulus ]; + }; +} diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix index a009e76d9e0a..f26cef3e61d3 100644 --- a/pkgs/tools/networking/unbound/default.nix +++ b/pkgs/tools/networking/unbound/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "unbound-${version}"; - version = "1.7.3"; + version = "1.8.0"; src = fetchurl { url = "https://unbound.net/downloads/${name}.tar.gz"; - sha256 = "c11de115d928a6b48b2165e0214402a7a7da313cd479203a7ce7a8b62cba602d"; + sha256 = "0gxqc4ynd2g1a5dwaazqh9n8injh49a7dz0l9bbxqgv47dnrvxvq"; }; outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB diff --git a/pkgs/tools/package-management/nix-index/default.nix b/pkgs/tools/package-management/nix-index/default.nix index b5d66bec5cca..d0a81140fc83 100644 --- a/pkgs/tools/package-management/nix-index/default.nix +++ b/pkgs/tools/package-management/nix-index/default.nix @@ -1,20 +1,21 @@ -{ lib, rustPlatform, fetchFromGitHub, pkgconfig, openssl, curl }: +{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, curl +, Security +}: -with rustPlatform; - -buildRustPackage rec { +rustPlatform.buildRustPackage rec { name = "nix-index-${version}"; - version = "0.1.1"; + version = "0.1.2"; src = fetchFromGitHub { owner = "bennofs"; repo = "nix-index"; rev = "v${version}"; - sha256 = "17pms3cq3i3jan1irxgqfr3nrjy6zb21y07pwqp9v08hyrjpfqin"; + sha256 = "05fqfwz34n4ijw7ydw2n6bh4bv64rhks85cn720sy5r7bmhfmfa8"; }; - cargoSha256 = "0b7xwcgjds80g08sx91lqip8syb52n458si4q4xycvvsand5fa10"; + cargoSha256 = "045qm7cyg3sdvf22i8b9cz8gsvggs5bn9xz8k1pvn5gxb7zj24cx"; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ openssl curl]; + buildInputs = [ openssl curl ] + ++ stdenv.lib.optional stdenv.isDarwin Security; postInstall = '' mkdir -p $out/etc/profile.d @@ -23,7 +24,7 @@ buildRustPackage rec { --replace "@out@" "$out" ''; - meta = with lib; { + meta = with stdenv.lib; { description = "A files database for nixpkgs"; homepage = https://github.com/bennofs/nix-index; license = with licenses; [ bsd3 ]; diff --git a/pkgs/tools/security/cfssl/default.nix b/pkgs/tools/security/cfssl/default.nix index 2391ea1b859b..750539b3ace8 100644 --- a/pkgs/tools/security/cfssl/default.nix +++ b/pkgs/tools/security/cfssl/default.nix @@ -27,8 +27,8 @@ buildGoPackage rec { meta = with stdenv.lib; { homepage = https://cfssl.org/; description = "Cloudflare's PKI and TLS toolkit"; - platforms = platforms.linux; license = licenses.bsd2; maintainers = with maintainers; [ mbrgm ]; + platforms = platforms.all; }; } diff --git a/pkgs/tools/security/duo-unix/default.nix b/pkgs/tools/security/duo-unix/default.nix index 3ef07c44f501..a76e88772bcf 100644 --- a/pkgs/tools/security/duo-unix/default.nix +++ b/pkgs/tools/security/duo-unix/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "duo-unix-${version}"; - version = "1.10.4"; + version = "1.10.5"; src = fetchurl { url = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz"; - sha256 = "1pbl6ii7sh66i277s5mqpnv092jd2q52qis3ar4lwy4mywfvrhjp"; + sha256 = "1h88gwvbh8vwwga7d65iwa9qrmyx23wh5m0rmlv8qbx4fyj7q1f9"; }; buildInputs = [ pam openssl zlib ]; diff --git a/pkgs/tools/security/gnupg/1compat.nix b/pkgs/tools/security/gnupg/1compat.nix index eadfbe230b3f..371a7ca67afd 100644 --- a/pkgs/tools/security/gnupg/1compat.nix +++ b/pkgs/tools/security/gnupg/1compat.nix @@ -4,14 +4,22 @@ stdenv.mkDerivation { name = "gnupg1compat-${gnupg.version}"; builder = writeScript "gnupg1compat-builder" '' + PATH=${coreutils}/bin # First symlink all top-level dirs - ${coreutils}/bin/mkdir -p $out - ${coreutils}/bin/ln -s "${gnupg}/"* $out + mkdir -p $out + ln -s "${gnupg}/"* $out # Replace bin with directory and symlink it contents - ${coreutils}/bin/rm $out/bin - ${coreutils}/bin/mkdir -p $out/bin - ${coreutils}/bin/ln -s "${gnupg}/bin/"* $out/bin + rm $out/bin + mkdir -p $out/bin + ln -s "${gnupg}/bin/"* $out/bin + + # Add symlinks for any executables that end in 2 and lack any non-*2 version + for f in $out/bin/*2; do + [[ -x $f ]] || continue # ignore failed globs and non-executable files + [[ -e ''${f%2} ]] && continue # ignore commands that already have non-*2 versions + ln -s -- "''${f##*/}" "''${f%2}" + done ''; meta = gnupg.meta // { diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix index 9404cb1d0655..6ae2bbc436ed 100644 --- a/pkgs/tools/security/gnupg/20.nix +++ b/pkgs/tools/security/gnupg/20.nix @@ -12,7 +12,8 @@ with stdenv.lib; assert guiSupport -> pinentry != null; stdenv.mkDerivation rec { - name = "gnupg-2.0.30"; + name = "gnupg-${version}"; + version = "2.0.30"; src = fetchurl { url = "mirror://gnupg/gnupg/${name}.tar.bz2"; diff --git a/pkgs/tools/security/kbfs/default.nix b/pkgs/tools/security/kbfs/default.nix index ff153fddf4d3..f5b2ba3803c8 100644 --- a/pkgs/tools/security/kbfs/default.nix +++ b/pkgs/tools/security/kbfs/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "kbfs-${version}"; - version = "2.5.0"; + version = "2.6.0"; goPackagePath = "github.com/keybase/kbfs"; subPackages = [ "kbfsfuse" "kbfsgit/git-remote-keybase" ]; @@ -13,7 +13,7 @@ buildGoPackage rec { owner = "keybase"; repo = "kbfs"; rev = "v${version}"; - sha256 = "196w7vvi49xpmzn9d75qr5a1b8w23931544kx9bkc9bbwbjfc4la"; + sha256 = "0i4f1bc0gcnax572s749m7zcpy53a0f9yzi4lwc312zzxi7krz2f"; }; buildFlags = [ "-tags production" ]; diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix index beea202a9562..555244bc38cd 100644 --- a/pkgs/tools/security/keybase/default.nix +++ b/pkgs/tools/security/keybase/default.nix @@ -4,7 +4,7 @@ buildGoPackage rec { name = "keybase-${version}"; - version = "2.5.0"; + version = "2.7.3"; goPackagePath = "github.com/keybase/client"; subPackages = [ "go/keybase" ]; @@ -15,7 +15,7 @@ buildGoPackage rec { owner = "keybase"; repo = "client"; rev = "v${version}"; - sha256 = "0fa55nizld8q0szhlpsf75ifb53js3crh98xmf8mn4bvms7d0x09"; + sha256 = "1sw6v3vf544vp8grw8p287cx078mr9v0v1wffcj6f9p9shlwj7ic"; }; buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ]; diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix index c8bbe42c9d6a..8831f26a42d5 100644 --- a/pkgs/tools/security/keybase/gui.nix +++ b/pkgs/tools/security/keybase/gui.nix @@ -38,10 +38,10 @@ let in stdenv.mkDerivation rec { name = "keybase-gui-${version}"; - version = "2.5.0-20180807164805.0fda758997"; + version = "2.7.0-20180926133747.0d62c866fc"; src = fetchurl { url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version}_amd64.deb"; - sha256 = "135sm3h5i2h9j06py827psjbhhiqy1mb133s92p7jp6q1mhr8j1x"; + sha256 = "0a0ax3skfw398vcjl7822qp7160lbll1snwdqsa13dy8qrjl1byp"; }; phases = ["unpackPhase" "installPhase" "fixupPhase"]; unpackPhase = '' diff --git a/pkgs/tools/security/nsjail/default.nix b/pkgs/tools/security/nsjail/default.nix index 8f087ef3d93c..80398d2d30cb 100644 --- a/pkgs/tools/security/nsjail/default.nix +++ b/pkgs/tools/security/nsjail/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchFromGitHub, autoconf, pkgconfig, libtool -, bison, flex, libnl, protobuf, protobufc }: +{ stdenv, fetchFromGitHub, autoconf, bison, flex, libtool, pkgconfig, which +, libnl, protobuf, protobufc }: stdenv.mkDerivation rec { name = "nsjail-${version}"; - version = "2.2"; + version = "2.7"; src = fetchFromGitHub { owner = "google"; repo = "nsjail"; rev = version; fetchSubmodules = true; - sha256 = "11323j5wd02nm8ibvzbzq7dla70bmcldc71lv5bpk4x7h64ai14v"; + sha256 = "13s1bi2b80rlwrgls1bx4bk140qhncwdamm9q51jd677s0i3xg3s"; }; - nativeBuildInputs = [ autoconf libtool pkgconfig ]; - buildInputs = [ bison flex libnl protobuf protobufc ]; + nativeBuildInputs = [ autoconf bison flex libtool pkgconfig which ]; + buildInputs = [ libnl protobuf protobufc ]; enableParallelBuilding = true; installPhase = '' diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix index 5b67a6d89ceb..42f1df8b3842 100644 --- a/pkgs/tools/security/pcsctools/default.nix +++ b/pkgs/tools/security/pcsctools/default.nix @@ -6,17 +6,15 @@ let deps = lib.makeBinPath [ wget coreutils ]; in stdenv.mkDerivation rec { - name = "pcsc-tools-1.4.25"; + name = "pcsc-tools-1.5.3"; src = fetchurl { - url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${name}.tar.gz"; - sha256 = "0iqcy28pb963ds4pjrpi37577vm6nkgf3i0b3rr978jy9qi1bix9"; + url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${name}.tar.bz2"; + sha256 = "050x3yqd5ywl385zai3k1zhbm2lz1f5ksalfpm9hd86s50f03ans"; }; buildInputs = [ udev dbus perl pcsclite ]; - makeFlags = [ "DESTDIR=$(out)" ]; - nativeBuildInputs = [ makeWrapper pkgconfig ]; postInstall = '' diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix index a0f7d0f6287f..597047a679bb 100644 --- a/pkgs/tools/security/vault/default.nix +++ b/pkgs/tools/security/vault/default.nix @@ -11,13 +11,13 @@ let }; in stdenv.mkDerivation rec { name = "vault-${version}"; - version = "0.11.1"; + version = "0.11.2"; src = fetchFromGitHub { owner = "hashicorp"; repo = "vault"; rev = "v${version}"; - sha256 = "1ydnb9z6rd5ck6wza5ir6927xq375i1a9zh5p2xanp29ly6ijiiz"; + sha256 = "0lckpfp1yw6rfq2cardsp2qjiajg706qjk98cycrlsa5nr2csafa"; }; nativeBuildInputs = [ go gox removeReferencesTo ]; diff --git a/pkgs/tools/text/dos2unix/default.nix b/pkgs/tools/text/dos2unix/default.nix index 2db82c36a72a..dd0d1bbc9410 100644 --- a/pkgs/tools/text/dos2unix/default.nix +++ b/pkgs/tools/text/dos2unix/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { --replace /usr $out ''; - buildInputs = [ perl gettext ]; + nativeBuildInputs = [ perl gettext ]; meta = with stdenv.lib; { homepage = http://waterlan.home.xs4all.nl/dos2unix.html; diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix index e22850a63f01..238dba3a9f1e 100644 --- a/pkgs/tools/text/gnupatch/default.nix +++ b/pkgs/tools/text/gnupatch/default.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = stdenv.lib.optional doCheck ed; nativeBuildInputs = [ autoreconfHook ]; configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ @@ -31,6 +30,7 @@ stdenv.mkDerivation rec { ]; doCheck = stdenv.hostPlatform.libc != "musl"; # not cross; + checkInputs = [ed]; meta = { description = "GNU Patch, a program to apply differences to files"; diff --git a/pkgs/tools/text/par/default.nix b/pkgs/tools/text/par/default.nix index c7a686201b0d..5f9ca5212d30 100644 --- a/pkgs/tools/text/par/default.nix +++ b/pkgs/tools/text/par/default.nix @@ -28,9 +28,11 @@ stdenv.mkDerivation { ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.nicemice.net/par/; description = "Paragraph reflow for email"; - platforms = stdenv.lib.platforms.unix; + platforms = platforms.unix; + # See https://fedoraproject.org/wiki/Licensing/Par for license details + license = licenses.free; }; } diff --git a/pkgs/tools/typesetting/scdoc/default.nix b/pkgs/tools/typesetting/scdoc/default.nix index 3a4c7813c695..270fd7da1717 100644 --- a/pkgs/tools/typesetting/scdoc/default.nix +++ b/pkgs/tools/typesetting/scdoc/default.nix @@ -1,13 +1,12 @@ -{ stdenv, fetchgit }: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { name = "scdoc-${version}"; version = "1.5.1"; - src = fetchgit { - url = "https://git.sr.ht/~sircmpwn/scdoc"; - rev = version; - sha256 = "0fm3x6ma1pzlajfcy32ayqrcab8lwl64nxfaqgc6019mxw87y1ja"; + src = fetchurl { + url = "https://git.sr.ht/~sircmpwn/scdoc/archive/${version}.tar.gz"; + sha256 = "0hcwpyy97afwq40qn8jq75f1b2p0172lil1v0hs9a0rislpqk5nm"; }; postPatch = '' @@ -26,7 +25,7 @@ stdenv.mkDerivation rec { scdoc is a simple man page generator written for POSIX systems written in C99. ''; - homepage = https://git.sr.ht/~sircmpwn/scdoc/; + homepage = https://git.sr.ht/~sircmpwn/scdoc; license = licenses.mit; platforms = platforms.unix; maintainers = with maintainers; [ primeos ]; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 92a0f2b45709..0abf0e608466 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -49,6 +49,11 @@ mapAliases ({ bashCompletion = bash-completion; # Added 2016-09-28 bridge_utils = bridge-utils; # added 2015-02-20 btrfsProgs = btrfs-progs; # added 2016-01-03 + buildbot = pythonPackages.buildbot; # added 2018-10-11 + buildbot-full = pythonPackages.buildbot-full; # added 2018-10-11 + buildbot-pkg = pythonPackages.buildbot-pkg; # added 2018-10-11 + buildbot-ui = pythonPackages.buildbot-ui; # added 2018-10-11 + buildbot-worker = pythonPackages.buildbot-worker; # added 2018-10-11 bundler_HEAD = bundler; # added 2015-11-15 cantarell_fonts = cantarell-fonts; # added 2018-03-03 checkbashism = checkbashisms; # added 2016-08-16 @@ -329,7 +334,6 @@ mapAliases ({ callPackage_i686 = pkgsi686Linux.callPackage; inherit (ocaml-ng) # added 2016-09-14 - ocamlPackages_3_10_0 ocamlPackages_3_11_2 ocamlPackages_3_12_1 ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02 ocamlPackages_4_03 ocamlPackages_latest; @@ -348,10 +352,6 @@ mapAliases ({ gst-ffmpeg = pkgs.gst-ffmpeg; }; } // (with ocaml-ng; { # added 2016-09-14 - ocaml_3_08_0 = ocamlPackages_3_08_0.ocaml; - ocaml_3_10_0 = ocamlPackages_3_10_0.ocaml; - ocaml_3_11_2 = ocamlPackages_3_11_2.ocaml; - ocaml_3_12_1 = ocamlPackages_3_12_1.ocaml; ocaml_4_00_1 = ocamlPackages_4_00_1.ocaml; ocaml_4_01_0 = ocamlPackages_4_01_0.ocaml; ocaml_4_02 = ocamlPackages_4_02.ocaml; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f1e2930a83c8..8f4bc519285f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -963,6 +963,8 @@ with pkgs; brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { }; + brigand = callPackage ../development/libraries/brigand { }; + brltty = callPackage ../tools/misc/brltty { alsaSupport = (!stdenv.isDarwin); systemdSupport = stdenv.isLinux; @@ -1298,6 +1300,8 @@ with pkgs; et = callPackage ../applications/misc/et {}; + ejson = callPackage ../development/tools/ejson {}; + eternal-terminal = callPackage ../tools/networking/eternal-terminal {}; f3 = callPackage ../tools/filesystems/f3 { }; @@ -1332,6 +1336,8 @@ with pkgs; fsmark = callPackage ../tools/misc/fsmark { }; + futhark = haskell.lib.justStaticExecutables haskellPackages.futhark; + fwup = callPackage ../tools/misc/fwup { }; fzf = callPackage ../tools/misc/fzf { }; @@ -3591,8 +3597,7 @@ with pkgs; lesspipe = callPackage ../tools/misc/lesspipe { }; liquidsoap = callPackage ../tools/audio/liquidsoap/full.nix { - ffmpeg = ffmpeg_2; - ocamlPackages = ocaml-ng.ocamlPackages_4_02; + ffmpeg = ffmpeg-full; }; lksctp-tools = callPackage ../os-specific/linux/lksctp-tools { }; @@ -3760,6 +3765,8 @@ with pkgs; npm2nix = nodePackages.npm2nix; + now-cli = callPackage ../development/web/now-cli {}; + file-rename = callPackage ../tools/filesystems/file-rename { }; kea = callPackage ../tools/networking/kea { @@ -4322,9 +4329,7 @@ with pkgs; pulsemixer = callPackage ../tools/audio/pulsemixer { }; - pwsafe = callPackage ../applications/misc/pwsafe { - wxGTK = wxGTK30; - }; + pwsafe = callPackage ../applications/misc/pwsafe { }; niff = callPackage ../tools/package-management/niff { }; @@ -4925,6 +4930,8 @@ with pkgs; qtikz = libsForQt5.callPackage ../applications/graphics/ktikz { }; + quickserve = callPackage ../tools/networking/quickserve { }; + quicktun = callPackage ../tools/networking/quicktun { }; quilt = callPackage ../development/tools/quilt { }; @@ -4967,7 +4974,7 @@ with pkgs; redir = callPackage ../tools/networking/redir { }; - redmine = callPackage ../applications/version-management/redmine { }; + redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_4; }; redsocks = callPackage ../tools/networking/redsocks { }; @@ -5549,6 +5556,8 @@ with pkgs; teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { }; + teleconsole = callPackage ../tools/misc/teleconsole { }; + telegraf = callPackage ../servers/monitoring/telegraf { }; teleport = callPackage ../servers/teleport {}; @@ -6211,7 +6220,9 @@ with pkgs; libxml2 = libxml2Python; }; - xsecurelock = callPackage ../tools/X11/xsecurelock { }; + xsecurelock = callPackage ../tools/X11/xsecurelock { + xset = xorg.xset; + }; xsel = callPackage ../tools/misc/xsel { }; @@ -8126,21 +8137,6 @@ with pkgs; buck = callPackage ../development/tools/build-managers/buck { }; - buildbot = callPackage ../development/tools/build-managers/buildbot { - pythonPackages = python2Packages; - }; - buildbot-worker = callPackage ../development/tools/build-managers/buildbot/worker.nix { - pythonPackages = python2Packages; - }; - buildbot-pkg = callPackage ../development/tools/build-managers/buildbot/pkg.nix { - inherit (python2Packages) buildPythonPackage fetchPypi setuptools; - }; - buildbot-plugins = callPackages ../development/tools/build-managers/buildbot/plugins.nix { - pythonPackages = python2Packages; - }; - buildbot-ui = buildbot.withPlugins (with self.buildbot-plugins; [ www ]); - buildbot-full = buildbot.withPlugins (with self.buildbot-plugins; [ www console-view waterfall-view grid-view wsgi-dashboards ]); - buildkite-agent = buildkite-agent2; buildkite-agent2 = callPackage ../development/tools/continuous-integration/buildkite-agent/2.x.nix { }; buildkite-agent3 = callPackage ../development/tools/continuous-integration/buildkite-agent/3.x.nix { }; @@ -8255,6 +8251,8 @@ with pkgs; cppcheck = callPackage ../development/tools/analysis/cppcheck { }; + cpplint = callPackage ../development/tools/analysis/cpplint { }; + cquery = callPackage ../development/tools/misc/cquery { llvmPackages = llvmPackages_6; }; @@ -8551,6 +8549,8 @@ with pkgs; kythe = callPackage ../development/tools/kythe { }; + lazygit = callPackage ../development/tools/lazygit { }; + Literate = callPackage ../development/tools/literate-programming/Literate {}; lcov = callPackage ../development/tools/analysis/lcov { }; @@ -8604,7 +8604,7 @@ with pkgs; msitools = callPackage ../development/tools/misc/msitools { }; - multi-ghc-travis = haskell.lib.justStaticExecutables haskellPackages.multi-ghc-travis; + haskell-ci = haskell.lib.justStaticExecutables haskellPackages.haskell-ci; neoload = callPackage ../development/tools/neoload { licenseAccepted = (config.neoload.accept_license or false); @@ -12366,6 +12366,8 @@ with pkgs; telepathy-qt = callPackage ../development/libraries/telepathy/qt { qtbase = qt4; }; + termbox = callPackage ../development/libraries/termbox { }; + tevent = callPackage ../development/libraries/tevent { python = python2; }; @@ -12568,6 +12570,13 @@ with pkgs; stdenv = overrideCC stdenv gcc6; }; + webkitgtk222x = callPackage ../development/libraries/webkitgtk/2.22.nix { + harfbuzz = harfbuzzFull; + inherit (gst_all_1) gst-plugins-base gst-plugins-bad; + stdenv = overrideCC stdenv gcc6; + }; + + webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override { withGtk2 = true; enableIntrospection = false; @@ -12688,6 +12697,8 @@ with pkgs; yajl = callPackage ../development/libraries/yajl { }; + yojimbo = callPackage ../development/libraries/yojimbo { }; + yubioath-desktop = callPackage ../applications/misc/yubioath-desktop { }; yubico-piv-tool = callPackage ../tools/misc/yubico-piv-tool { }; @@ -15066,6 +15077,8 @@ with pkgs; envypn-font = callPackage ../data/fonts/envypn-font { }; + envdir = callPackage ../tools/misc/envdir-go { }; + fantasque-sans-mono = callPackage ../data/fonts/fantasque-sans-mono {}; fira = callPackage ../data/fonts/fira { }; @@ -19922,6 +19935,8 @@ with pkgs; blobby = callPackage ../games/blobby { }; + boohu = callPackage ../games/boohu { }; + braincurses = callPackage ../games/braincurses { }; brogue = callPackage ../games/brogue { }; @@ -21164,12 +21179,11 @@ with pkgs; boogie = dotnetPackages.Boogie; inherit (callPackage ./coq-packages.nix { - inherit (ocaml-ng) ocamlPackages_3_12_1 - ocamlPackages_4_02 + inherit (ocaml-ng) ocamlPackages_4_02 ocamlPackages_4_05 ; }) mkCoqPackages - coq_8_3 coq_8_4 coq_8_5 coq_8_6 coq_8_7 coq_8_8 + coq_8_4 coq_8_5 coq_8_6 coq_8_7 coq_8_8 coqPackages_8_5 coqPackages_8_6 coqPackages_8_7 coqPackages_8_8 coqPackages coq ; @@ -21248,10 +21262,6 @@ with pkgs; ltl2ba = callPackage ../applications/science/logic/ltl2ba {}; - inherit (ocaml-ng.ocamlPackages_3_11_2) matita; - - matita_130312 = lowPrio ocamlPackages.matita_130312; - metis-prover = callPackage ../applications/science/logic/metis-prover { }; mcrl2 = callPackage ../applications/science/logic/mcrl2 { }; @@ -21271,10 +21281,7 @@ with pkgs; libpoly = callPackage ../applications/science/logic/poly {}; - prooftree = (with ocaml-ng.ocamlPackages_4_01_0; - callPackage ../applications/science/logic/prooftree { - camlp5 = camlp5_transitional; - }); + prooftree = callPackage ../applications/science/logic/prooftree {}; prover9 = callPackage ../applications/science/logic/prover9 { }; @@ -21676,6 +21683,8 @@ with pkgs; cups-brother-hl1110 = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1110 { }; + cups-googlecloudprint = callPackage ../misc/cups/drivers/googlecloudprint { }; + # this driver ships with pre-compiled 32-bit binary libraries cnijfilter_2_80 = pkgsi686Linux.callPackage ../misc/cups/drivers/cnijfilter_2_80 { }; @@ -21720,6 +21729,8 @@ with pkgs; electricsheep = callPackage ../misc/screensavers/electricsheep { }; + equilux-theme = callPackage ../misc/themes/equilux-theme { }; + flam3 = callPackage ../tools/graphics/flam3 { }; glee = callPackage ../tools/graphics/glee { }; @@ -21962,7 +21973,9 @@ with pkgs; nix-info = callPackage ../tools/nix/info { }; nix-info-tested = nix-info.override { doCheck = true; }; - nix-index = callPackage ../tools/package-management/nix-index { }; + nix-index = callPackage ../tools/package-management/nix-index { + inherit (darwin.apple_sdk.frameworks) Security; + }; nix-pin = callPackage ../tools/package-management/nix-pin { }; @@ -22103,6 +22116,8 @@ with pkgs; retrofe = callPackage ../misc/emulators/retrofe { }; + rfc-bibtex = python3Packages.callPackage ../development/python-modules/rfc-bibtex { }; + rpl = callPackage ../tools/text/rpl { pythonPackages = python3Packages; }; diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index bc21137903af..ca367aeb0d1a 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -1,6 +1,5 @@ { lib, callPackage, newScope, recurseIntoAttrs , gnumake3 -, ocamlPackages_3_12_1 , ocamlPackages_4_02 , ocamlPackages_4_05 }: @@ -56,15 +55,8 @@ in rec { let self = mkCoqPackages' self coq; in filterCoqPackages coq self; - coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix { - make = gnumake3; - inherit (ocamlPackages_3_12_1) ocaml findlib; - camlp5 = ocamlPackages_3_12_1.camlp5_transitional; - lablgtk = ocamlPackages_3_12_1.lablgtk_2_14; - }; coq_8_4 = callPackage ../applications/science/logic/coq/8.4.nix { - inherit (ocamlPackages_4_02) ocaml findlib lablgtk; - camlp5 = ocamlPackages_4_02.camlp5_transitional; + inherit (ocamlPackages_4_02) ocaml findlib lablgtk camlp5; }; coq_8_5 = callPackage ../applications/science/logic/coq { ocamlPackages = ocamlPackages_4_05; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 7de4bf3fad40..c9df0f908ee2 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -88,27 +88,10 @@ let then callPackage ../development/tools/ocaml/camlp4 { } else null; - camlp5_old_strict = - if lib.versionOlder "4.00" ocaml.version - then camlp5_6_strict - else callPackage ../development/tools/ocaml/camlp5/5.15.nix { }; + camlp5 = callPackage ../development/tools/ocaml/camlp5 { }; - camlp5_old_transitional = - if lib.versionOlder "4.00" ocaml.version - then camlp5_6_transitional - else callPackage ../development/tools/ocaml/camlp5/5.15.nix { - transitional = true; - }; - - camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { }; - - camlp5_6_transitional = callPackage ../development/tools/ocaml/camlp5 { - transitional = true; - }; - - camlp5_strict = camlp5_6_strict; - - camlp5_transitional = camlp5_6_transitional; + # Compatibility alias + camlp5_strict = camlp5; camlpdf = callPackage ../development/ocaml-modules/camlpdf { }; @@ -604,10 +587,6 @@ let ulex = callPackage ../development/ocaml-modules/ulex { }; - ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 { - camlp5 = camlp5_transitional; - }; - textutils_p4 = callPackage ../development/ocaml-modules/textutils { }; tls = callPackage ../development/ocaml-modules/tls { @@ -1058,16 +1037,7 @@ let enableX11 = config.unison.enableX11 or true; }; - hol_light = callPackage ../applications/science/logic/hol_light { - inherit num; - camlp5 = camlp5_strict; - }; - - matita = callPackage ../applications/science/logic/matita { - ulex08 = ulex08.override { camlp5 = camlp5_old_transitional; }; - }; - - matita_130312 = callPackage ../applications/science/logic/matita/130312.nix { }; + hol_light = callPackage ../applications/science/logic/hol_light { }; }; in (ocamlPackages.janeStreet // ocamlPackages); @@ -1077,14 +1047,6 @@ in rec inherit mkOcamlPackages; - ocamlPackages_3_08_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.08.0.nix { }) (self: super: { lablgtk = self.lablgtk_2_14; }); - - ocamlPackages_3_10_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.10.0.nix { }) (self: super: { lablgtk = self.lablgtk_2_14; }); - - ocamlPackages_3_11_2 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.11.2.nix { }) (self: super: { lablgtk = self.lablgtk_2_14; }); - - ocamlPackages_3_12_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.12.1.nix { }) (self: super: { camlimages = self.camlimages_4_0; }); - ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { }) (self: super: { }); ocamlPackages_4_01_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.01.0.nix { }) (self: super: { }); diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4fe08fb6ecb8..ff7d672da36c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7,6 +7,8 @@ {config, pkgs, fetchurl, fetchFromGitHub, stdenv, gnused, perl, overrides}: +# cpan2nix assumes that perl-packages.nix will be used only with perl 5.26 or above +assert stdenv.lib.versionAtLeast perl.version "5.26"; let inherit (stdenv.lib) maintainers; self = _self // overrides; @@ -1857,7 +1859,7 @@ let url = "mirror://cpan/authors/id/J/JS/JSWARTZ/${name}.tar.gz"; sha256 = "c7f1a2b3570a8fede484e933f89ba1729e0abd05935791d146c522dd120ee851"; }; - preConfigure = stdenv.lib.optionalString (stdenv.lib.versionAtLeast perl.version "5.26") '' + preConfigure = '' # fix error 'Unescaped left brace in regex is illegal here in regex' substituteInPlace lib/CHI/t/Driver/Subcache/l1_cache.pm --replace 'qr/CHI stats: {' 'qr/CHI stats: \{' ''; @@ -2095,7 +2097,7 @@ let url = "mirror://cpan/authors/id/E/EV/EVO/${name}.tar.gz"; sha256 = "0ricb0mn0i06ngfhq5y035yx8i7ahlx83yyqwixqmv6hg4p79b5c"; }; - preConfigure = stdenv.lib.optionalString (stdenv.lib.versionAtLeast perl.version "5.26") '' + preConfigure = '' # fix error 'Unescaped left brace in regex is illegal here in regex' substituteInPlace tests/xemulator/class_methodmaker/Test.pm --replace 's/(TEST\s{)/$1/g' 's/(TEST\s\{)/$1/g' ''; @@ -14841,7 +14843,7 @@ let meta = { description = "Aggregate C<*.t> tests to make them run faster"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; - broken = stdenv.lib.versionAtLeast perl.version "5.26"; # This module only works with Test::More version < 1.3, but you have 1.302133 + broken = true; # This module only works with Test::More version < 1.3, but you have 1.302133 }; }; @@ -16967,7 +16969,7 @@ let meta = { description = "Turns ref() into a multimethod"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; - broken = stdenv.lib.versionAtLeast perl.version "5.26"; # 'OP {aka struct op}' has no member named 'op_sibling' + broken = true; # 'OP {aka struct op}' has no member named 'op_sibling' }; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8f04a0e710d5..62b77b187bc7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -190,7 +190,9 @@ in { astral = callPackage ../development/python-modules/astral { }; - astropy = callPackage ../development/python-modules/astropy { }; + astropy = callPackage ../development/python-modules/astropy { }; + + atom = callPackage ../development/python-modules/atom { }; augeas = callPackage ../development/python-modules/augeas { inherit (pkgs) augeas; @@ -302,6 +304,8 @@ in { fido2 = callPackage ../development/python-modules/fido2 { }; + filterpy = callPackage ../development/python-modules/filterpy { }; + fire = callPackage ../development/python-modules/fire { }; fuse = callPackage ../development/python-modules/fuse-python { fuse = pkgs.fuse; }; @@ -376,6 +380,8 @@ in { ordered-set = callPackage ../development/python-modules/ordered-set { }; + osmnx = callPackage ../development/python-modules/osmnx { }; + outcome = callPackage ../development/python-modules/outcome {}; palettable = callPackage ../development/python-modules/palettable { }; @@ -732,7 +738,8 @@ in { # argparse is part of stdlib in 2.7 and 3.2+ argparse = null; - astroid = callPackage ../development/python-modules/astroid { }; + astroid = if isPy3k then callPackage ../development/python-modules/astroid { } + else callPackage ../development/python-modules/astroid/1.6.nix { }; attrdict = callPackage ../development/python-modules/attrdict { }; @@ -744,9 +751,7 @@ in { autopep8 = callPackage ../development/python-modules/autopep8 { }; - av = callPackage ../development/python-modules/av { - inherit (pkgs) ffmpeg_2 git libav pkgconfig; - }; + av = callPackage ../development/python-modules/av { }; avro = callPackage ../development/python-modules/avro {}; @@ -1416,6 +1421,13 @@ in { bugzilla = callPackage ../development/python-modules/bugzilla { }; + buildbot = callPackage ../development/python-modules/buildbot { }; + buildbot-plugins = pkgs.recurseIntoAttrs (callPackage ../development/python-modules/buildbot/plugins.nix { }); + buildbot-ui = self.buildbot.withPlugins (with self.buildbot-plugins; [ www ]); + buildbot-full = self.buildbot.withPlugins (with self.buildbot-plugins; [ www console-view waterfall-view grid-view wsgi-dashboards ]); + buildbot-worker = callPackage ../development/python-modules/buildbot/worker.nix { }; + buildbot-pkg = callPackage ../development/python-modules/buildbot/pkg.nix { }; + check-manifest = callPackage ../development/python-modules/check-manifest { }; devpi-common = callPackage ../development/python-modules/devpi-common { }; @@ -1967,32 +1979,7 @@ in { pytest-sugar = callPackage ../development/python-modules/pytest-sugar { }; - tinycss = buildPythonPackage rec { - name = "tinycss-${version}"; - version = "0.3"; - - src = pkgs.fetchurl { - url = "mirror://pypi/t/tinycss/${name}.tar.gz"; - sha256 = "1pichqra4wk86142hqgvy9s5x6c5k5zhy8l9qxr0620pqk8spbd4"; - }; - - buildInputs = with self; [ pytest ]; - - propagatedBuildInputs = with self; [ cssutils ]; - - checkPhase = '' - py.test $out/${python.sitePackages} - ''; - - # Disable Cython tests for PyPy - TINYCSS_SKIP_SPEEDUPS_TESTS = optional isPyPy true; - - meta = { - description = "Complete yet simple CSS parser for Python"; - license = licenses.bsd3; - homepage = https://pythonhosted.org/tinycss/; - }; - }; + tinycss = callPackage ../development/python-modules/tinycss { }; tinycss2 = callPackage ../development/python-modules/tinycss2 { }; @@ -2221,25 +2208,7 @@ in { enzyme = callPackage ../development/python-modules/enzyme {}; - escapism = buildPythonPackage rec { - name = "escapism-${version}"; - version = "0.0.1"; - - src = pkgs.fetchurl { - url = "mirror://pypi/e/escapism/${name}.tar.gz"; - sha256 = "1yfyxwxb864xrmrrqgp85xgsh4yrrq5mmzvkdg19jwr7rm6sqx9p"; - }; - - # No tests distributed - doCheck = false; - - meta = { - description = "Simple, generic API for escaping strings"; - homepage = "https://github.com/minrk/escapism"; - license = licenses.mit; - maintainers = with maintainers; [ bzizou ]; - }; - }; + escapism = callPackage ../development/python-modules/escapism { }; etcd = buildPythonPackage rec { name = "etcd-${version}"; @@ -2365,22 +2334,7 @@ in { ezdxf = callPackage ../development/python-modules/ezdxf {}; - facebook-sdk = buildPythonPackage rec { - name = "facebook-sdk-0.4.0"; - - disabled = isPy3k; - - src = pkgs.fetchurl { - url = "mirror://pypi/f/facebook-sdk/facebook-sdk-0.4.0.tar.gz"; - sha256 = "5a96c54d06213039dff1fe1fabc51972e394666cd6d83ea70f7c2e67472d9b72"; - }; - - meta = with pkgs.stdenv.lib; { - description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK"; - homepage = https://github.com/pythonforfacebook/facebook-sdk; - license = licenses.asl20 ; - }; - }; + facebook-sdk = callPackage ../development/python-modules/facebook-sdk { }; face_recognition = callPackage ../development/python-modules/face_recognition { }; @@ -10255,7 +10209,8 @@ in { pygpgme = callPackage ../development/python-modules/pygpgme { }; - pylint = callPackage ../development/python-modules/pylint { }; + pylint = if isPy3k then callPackage ../development/python-modules/pylint { } + else callPackage ../development/python-modules/pylint/1.9.nix { }; pyopencl = callPackage ../development/python-modules/pyopencl { }; @@ -13006,26 +12961,7 @@ in { }; }); - sphinx-jinja = buildPythonPackage (rec { - name = "${pname}-${version}"; - pname = "sphinx-jinja"; - version = "0.2.1"; - src = pkgs.fetchurl { - url = "mirror://pypi/s/${pname}/${name}.tar.gz"; - sha256 = "1zsnhc573rvaww9qqyzs4f5h4hhvxklvppv14450vi5dk8rij81z"; - }; - buildInputs = with self; [ sphinx-testing pytest pbr]; - propagatedBuildInputs = with self; [ sphinx blockdiag ]; - checkPhase = '' - py.test -k "not test_build_epub" - ''; - disabled = isPy3k; - meta = { - description = "includes jinja templates in a documentation"; - maintainers = with maintainers; [ nand0p ]; - license = licenses.mit; - }; - }); + sphinx-jinja = callPackage ../development/python-modules/sphinx-jinja { }; sphinx_pypi_upload = buildPythonPackage (rec { name = "Sphinx-PyPI-upload-0.2.1"; @@ -13358,24 +13294,7 @@ in { }; }; - tempita = buildPythonPackage rec { - version = "0.5.2"; - name = "tempita-${version}"; - - src = pkgs.fetchurl { - url = "mirror://pypi/T/Tempita/Tempita-${version}.tar.gz"; - sha256 = "cacecf0baa674d356641f1d406b8bff1d756d739c46b869a54de515d08e6fc9c"; - }; - - disabled = isPy3k; - - buildInputs = with self; [ nose ]; - - meta = { - homepage = http://pythonpaste.org/tempita/; - description = "A very small text templating language"; - }; - }; + tempita = callPackage ../development/python-modules/tempita { }; terminado = callPackage ../development/python-modules/terminado { }; diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix index 41fdc22d1477..82a781083e2c 100644 --- a/pkgs/top-level/splice.nix +++ b/pkgs/top-level/splice.nix @@ -24,15 +24,6 @@ lib: pkgs: actuallySplice: let - defaultBuildBuildScope = pkgs.buildPackages.buildPackages // pkgs.buildPackages.buildPackages.xorg; - defaultBuildHostScope = pkgs.buildPackages // pkgs.buildPackages.xorg; - defaultBuildTargetScope = - if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform - then defaultBuildHostScope - else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; defaultHostTargetScope; - defaultHostHostScope = {}; # unimplemented - defaultHostTargetScope = pkgs // pkgs.xorg; - defaultTargetTargetScope = pkgs.targetPackages // pkgs.targetPackages.xorg or {}; spliceReal = { pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget , pkgsHostHost, pkgsHostTarget @@ -105,19 +96,24 @@ let } @ args: if actuallySplice then spliceReal args else pkgsHostTarget; - splicedPackages = splicePackages { - pkgsBuildBuild = defaultBuildBuildScope; - pkgsBuildHost = defaultBuildHostScope; - pkgsBuildTarget = defaultBuildTargetScope; - pkgsHostHost = defaultHostHostScope; - pkgsHostTarget = defaultHostTargetScope; - pkgsTargetTarget = defaultTargetTargetScope; + splicedPackages = splicePackages rec { + pkgsBuildBuild = pkgs.buildPackages.buildPackages; + pkgsBuildHost = pkgs.buildPackages; + pkgsBuildTarget = + if pkgs.stdenv.targetPlatform == pkgs.stdenv.hostPlatform + then pkgsBuildHost + else assert pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform; pkgsHostTarget; + pkgsHostHost = {}; # unimplemented + pkgsHostTarget = pkgs; + pkgsTargetTarget = pkgs.targetPackages; } // { # These should never be spliced under any circumstances inherit (pkgs) pkgs buildPackages targetPackages; inherit (pkgs.stdenv) buildPlatform targetPlatform hostPlatform; }; + splicedPackagesWithXorg = splicedPackages // splicedPackages.xorg; + in { @@ -128,9 +124,9 @@ in # `newScope' for sets of packages in `pkgs' (see e.g. `gnome' below). callPackage = pkgs.newScope {}; - callPackages = lib.callPackagesWith splicedPackages; + callPackages = lib.callPackagesWith splicedPackagesWithXorg; - newScope = extra: lib.callPackageWith (splicedPackages // extra); + newScope = extra: lib.callPackageWith (splicedPackagesWithXorg // extra); # Haskell package sets need this because they reimplement their own # `newScope`.