Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2017-01-18 15:54:04 +01:00
commit 40003aa2ed
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
280 changed files with 10014 additions and 5985 deletions

View file

@ -22,3 +22,7 @@ indent_size = 2
[*.{sh,py,pl}]
indent_style = space
indent_size = 4
# Match diffs, avoid to trim trailing whitespace
[*.{diff,patch}]
trim_trailing_whitespace = false

View file

@ -17,66 +17,6 @@
derivations or even the whole package set.
</para>
<section xml:id="sec-pkgs-overridePackages">
<title>pkgs.overridePackages</title>
<para>
This function inside the nixpkgs expression (<varname>pkgs</varname>)
can be used to override the set of packages itself.
</para>
<para>
Warning: this function is expensive and must not be used from within
the nixpkgs repository.
</para>
<para>
Example usage:
<programlisting>let
pkgs = import &lt;nixpkgs&gt; {};
newpkgs = pkgs.overridePackages (self: super: {
foo = super.foo.override { ... };
};
in ...</programlisting>
</para>
<para>
The resulting <varname>newpkgs</varname> will have the new <varname>foo</varname>
expression, and all other expressions depending on <varname>foo</varname> will also
use the new <varname>foo</varname> expression.
</para>
<para>
The behavior of this function is similar to <link
linkend="sec-modify-via-packageOverrides">config.packageOverrides</link>.
</para>
<para>
The <varname>self</varname> parameter refers to the final package set with the
applied overrides. Using this parameter may lead to infinite recursion if not
used consciously.
</para>
<para>
The <varname>super</varname> parameter refers to the old package set.
It's equivalent to <varname>pkgs</varname> in the above example.
</para>
<para>
Note that in previous versions of nixpkgs, this method replaced any changes from <link
linkend="sec-modify-via-packageOverrides">config.packageOverrides</link>,
along with that from previous calls if this function was called repeatedly.
Now those previous changes will be preserved so this function can be "chained" meaningfully.
To recover the old behavior, make sure <varname>config.packageOverrides</varname> is unset,
and call this only once off a "freshly" imported nixpkgs:
<programlisting>let
pkgs = import &lt;nixpkgs&gt; { config: {}; };
newpkgs = pkgs.overridePackages ...;
in ...</programlisting>
</para>
</section>
<section xml:id="sec-pkg-override">
<title>&lt;pkg&gt;.override</title>
@ -91,12 +31,12 @@
Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<programlisting>pkgs.overridePackages (self: super: {
<programlisting>import pkgs.path { overlays = [ (self: super: {
foo = super.foo.override { barSupport = true ; };
})</programlisting>
})]};</programlisting>
<programlisting>mypkg = pkgs.callPackage ./mypkg.nix {
mydep = pkgs.mydep.override { ... };
})</programlisting>
}</programlisting>
</para>
<para>

View file

@ -737,18 +737,18 @@ in (pkgs.python35.override {inherit packageOverrides;}).withPackages (ps: [ps.bl
```
The requested package `blaze` depends on `pandas` which itself depends on `scipy`.
If you want the whole of Nixpkgs to use your modifications, then you can use `pkgs.overridePackages`
If you want the whole of Nixpkgs to use your modifications, then you can use `overlays`
as explained in this manual. In the following example we build a `inkscape` using a different version of `numpy`.
```
let
pkgs = import <nixpkgs> {};
newpkgs = pkgs.overridePackages ( pkgsself: pkgssuper: {
newpkgs = import pkgs.path { overlays = [ (pkgsself: pkgssuper: {
python27 = let
packageOverrides = self: super: {
numpy = super.numpy_1_10;
};
in pkgssuper.python27.override {inherit packageOverrides;};
} );
} ) ]; };
in newpkgs.inkscape
```
@ -804,6 +804,55 @@ If you want to create a Python environment for development, then the recommended
method is to use `nix-shell`, either with or without the `python.buildEnv`
function.
### How to consume python modules using pip in a virtualenv like I am used to on other Operating Systems ?
This is an example of a `default.nix` for a `nix-shell`, which allows to consume a `virtualenv` environment,
and install python modules through `pip` the traditional way.
Create this `default.nix` file, together with a `requirements.txt` and simply execute `nix-shell`.
```
with import <nixpkgs> {};
with pkgs.python27Packages;
stdenv.mkDerivation {
name = "impurePythonEnv";
buildInputs = [
# these packages are required for virtualenv and pip to work:
#
python27Full
python27Packages.virtualenv
python27Packages.pip
# the following packages are related to the dependencies of your python
# project.
# In this particular example the python modules listed in the
# requirements.tx require the following packages to be installed locally
# in order to compile any binary extensions they may require.
#
taglib
openssl
git
libxml2
libxslt
libzip
stdenv
zlib ];
src = null;
shellHook = ''
# set SOURCE_DATE_EPOCH so that we can use python wheels
SOURCE_DATE_EPOCH=$(date +%s)
virtualenv --no-setuptools venv
export PATH=$PWD/venv/bin:$PATH
pip install -r requirements.txt
'';
}
```
Note that the `pip install` is an imperative action. So every time `nix-shell`
is executed it will attempt to download the python modules listed in
requirements.txt. However these will be cached locally within the `virtualenv`
folder and not downloaded again.
## Contributing

View file

@ -18,6 +18,7 @@
<xi:include href="meta.xml" />
<xi:include href="languages-frameworks/index.xml" />
<xi:include href="package-notes.xml" />
<xi:include href="overlays.xml" />
<xi:include href="coding-conventions.xml" />
<xi:include href="submitting-changes.xml" />
<xi:include href="reviewing-contributions.xml" />

99
doc/overlays.xml Normal file
View file

@ -0,0 +1,99 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-overlays">
<title>Overlays</title>
<para>This chapter describes how to extend and change Nixpkgs packages using
overlays. Overlays are used to add layers in the fix-point used by Nixpkgs
to compose the set of all packages.</para>
<!--============================================================-->
<section xml:id="sec-overlays-install">
<title>Installing Overlays</title>
<para>The set of overlays is looked for in the following places. The
first one present is considered, and all the rest are ignored:
<orderedlist>
<listitem>
<para>As an argument of the imported attribute set. When importing Nixpkgs,
the <varname>overlays</varname> attribute argument can be set to a list of
functions, which is described in <xref linkend="sec-overlays-layout"/>.</para>
</listitem>
<listitem>
<para>In the directory pointed by the environment variable
<varname>NIXPKGS_OVERLAYS</varname>.</para>
</listitem>
<listitem>
<para>In the directory <filename>~/.nixpkgs/overlays/</filename>.</para>
</listitem>
</orderedlist>
</para>
<para>For the second and third options, the directory should contain Nix expressions defining the
overlays. Each overlay can be a file, a directory containing a
<filename>default.nix</filename>, or a symlink to one of those. The expressions should follow
the syntax described in <xref linkend="sec-overlays-layout"/>.</para>
<para>The order of the overlay layers can influence the recipe of packages if multiple layers override
the same recipe. In the case where overlays are loaded from a directory, they are loaded in
alphabetical order.</para>
<para>To install an overlay using the last option, you can clone the overlay's repository and add
a symbolic link to it in <filename>~/.nixpkgs/overlays/</filename> directory.</para>
</section>
<!--============================================================-->
<section xml:id="sec-overlays-layout">
<title>Overlays Layout</title>
<para>Overlays are expressed as Nix functions which accept 2 arguments and return a set of
packages.</para>
<programlisting>
self: super:
{
boost = super.boost.override {
python = self.python3;
};
rr = super.callPackage ./pkgs/rr {
stdenv = self.stdenv_32bit;
};
}
</programlisting>
<para>The first argument, usually named <varname>self</varname>, corresponds to the final package
set. You should use this set for the dependencies of all packages specified in your
overlay. For example, all the dependencies of <varname>rr</varname> in the example above come
from <varname>self</varname>, as well as the overriden dependencies used in the
<varname>boost</varname> override.</para>
<para>The second argument, usually named <varname>super</varname>,
corresponds to the result of the evaluation of the previous stages of
Nixpkgs. It does not contain any of the packages added by the current
overlay nor any of the following overlays. This set should be used either
to refer to packages you wish to override, or to access functions defined
in Nixpkgs. For example, the original recipe of <varname>boost</varname>
in the above example, comes from <varname>super</varname>, as well as the
<varname>callPackage</varname> function.</para>
<para>The value returned by this function should be a set similar to
<filename>pkgs/top-level/all-packages.nix</filename>, which contains
overridden and/or new packages.</para>
</section>
</chapter>

View file

@ -221,6 +221,7 @@
joamaki = "Jussi Maki <joamaki@gmail.com>";
joelmo = "Joel Moberg <joel.moberg@gmail.com>";
joelteon = "Joel Taylor <me@joelt.io>";
johbo = "Johannes Bornhold <johannes@bornhold.name>";
joko = "Ioannis Koutras <ioannis.koutras@gmail.com>";
jonafato = "Jon Banafato <jon@jonafato.com>";
jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
@ -247,6 +248,7 @@
ldesgoui = "Lucas Desgouilles <ldesgoui@gmail.com>";
league = "Christopher League <league@contrapunctus.net>";
lebastr = "Alexander Lebedev <lebastr@gmail.com>";
leemachin = "Lee Machin <me@mrl.ee>";
leenaars = "Michiel Leenaars <ml.software@leenaa.rs>";
leonardoce = "Leonardo Cecchi <leonardo.cecchi@gmail.com>";
lethalman = "Luca Bruno <lucabru@src.gnome.org>";

View file

@ -11,7 +11,9 @@ has the following highlights: </para>
<itemizedlist>
<listitem>
<para></para>
<para>Nixpkgs is now extensible through overlays. See the <link
xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install">Nixpkgs
manual</link> for more information.</para>
</listitem>
</itemizedlist>
@ -28,6 +30,14 @@ has the following highlights: </para>
following incompatible changes:</para>
<itemizedlist>
<listitem>
<para>
<literal>stdenv.overrides</literal> is now expected to take <literal>self</literal>
and <literal>super</literal> arguments. See <literal>lib.trivial.extends</literal>
for what those parameters represent.
</para>
</listitem>
<listitem>
<para>
<literal>gnome</literal> alias has been removed along with
@ -88,6 +98,32 @@ following incompatible changes:</para>
<literal>networking.timeServers</literal>.
</para>
</listitem>
<listitem>
<para><literal>overridePackages</literal> function no longer exists.
It is replaced by <link
xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install">
overlays</link>. For example, the following code:
<programlisting>
let
pkgs = import &lt;nixpkgs&gt; {};
in
pkgs.overridePackages (self: super: ...)
</programlisting>
should be replaced by:
<programlisting>
let
pkgs = import &lt;nixpkgs&gt; {};
in
import pkgs.path { overlays = [(self: super: ...)] }
</programlisting>
</para>
</listitem>
</itemizedlist>

View file

@ -19,7 +19,7 @@ rm -f ec2-amis.nix
types="hvm pv"
stores="ebs s3"
regions="eu-west-1 eu-central-1 us-east-1 us-east-2 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ap-northeast-2 sa-east-1 ap-south-1"
regions="eu-west-1 eu-west-2 eu-central-1 us-east-1 us-east-2 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ap-northeast-2 sa-east-1 ap-south-1"
for type in $types; do
link=$stateDir/$type

View file

@ -160,6 +160,13 @@ in {
if activated.
'';
};
config = mkOption {
type = types.attrsOf types.unspecified;
default = {};
description = ''Config of the pulse daemon. See <literal>man pulse-daemon.conf</literal>.'';
example = literalExample ''{ flat-volumes = "no"; }'';
};
};
zeroconf = {
@ -204,10 +211,13 @@ in {
(mkIf cfg.enable {
environment.systemPackages = [ overriddenPackage ];
environment.etc = singleton {
target = "asound.conf";
source = alsaConf;
};
environment.etc = [
{ target = "asound.conf";
source = alsaConf; }
{ target = "pulse/daemon.conf";
source = writeText "daemon.conf" (lib.generators.toKeyValue {} cfg.daemon.config); }
];
# Allow PulseAudio to get realtime priority using rtkit.
security.rtkit.enable = true;

View file

@ -0,0 +1,40 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.hardware.ckb;
in
{
options.hardware.ckb = {
enable = mkEnableOption "the Corsair keyboard/mouse driver";
package = mkOption {
type = types.package;
default = pkgs.ckb;
defaultText = "pkgs.ckb";
description = ''
The package implementing the Corsair keyboard/mouse driver.
'';
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.services.ckb = {
description = "Corsair Keyboard Daemon";
wantedBy = ["multi-user.target"];
script = "${cfg.package}/bin/ckb-daemon";
serviceConfig = {
Restart = "always";
StandardOutput = "syslog";
};
};
};
meta = {
maintainers = with lib.maintainers; [ kierdavis ];
};
}

View file

@ -1,5 +1,5 @@
{
x86_64-linux = "/nix/store/m8z91vpfxyszhjpq4wl8m1zwlqik4fkn-nix-1.11.5";
i686-linux = "/nix/store/vk71likl32igqg6apqsj52ln3vhkq1pa-nix-1.11.5";
x86_64-darwin = "/nix/store/qfwm0b5qkr8v8gsv9dh2z3arky9p1myg-nix-1.11.5";
x86_64-linux = "/nix/store/qdkzm17csr24snk247a1s0c47ikq5sl6-nix-1.11.6";
i686-linux = "/nix/store/hiwp53747lxlniqy5wpbql5izjrs8z0z-nix-1.11.6";
x86_64-darwin = "/nix/store/hca2hqcvwncf23hiqyqgwbsdy8vvl9xv-nix-1.11.6";
}

View file

@ -282,6 +282,7 @@
infinoted = 264;
keystone = 265;
glance = 266;
couchpotato = 267;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -534,6 +535,7 @@
infinoted = 264;
keystone = 265;
glance = 266;
couchpotato = 267;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View file

@ -29,11 +29,19 @@ let
};
configType = mkOptionType {
name = "nixpkgs config";
name = "nixpkgs-config";
description = "nixpkgs config";
check = traceValIfNot isConfig;
merge = args: fold (def: mergeConfig def.value) {};
};
overlayType = mkOptionType {
name = "nixpkgs-overlay";
description = "nixpkgs overlay";
check = builtins.isFunction;
merge = lib.mergeOneOption;
};
in
{
@ -43,23 +51,37 @@ in
default = {};
example = literalExample
''
{ firefox.enableGeckoMediaPlayer = true;
packageOverrides = pkgs: {
firefox60Pkgs = pkgs.firefox60Pkgs.override {
enableOfficialBranding = true;
};
};
}
{ firefox.enableGeckoMediaPlayer = true; }
'';
type = configType;
description = ''
The configuration of the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to set
package configuration options, and to override packages
globally through the <varname>packageOverrides</varname>
option. The latter is a function that takes as an argument
the <emphasis>original</emphasis> Nixpkgs, and must evaluate
to a set of new or overridden packages.
package configuration options.
'';
};
nixpkgs.overlays = mkOption {
default = [];
example = literalExample
''
[ (self: super: {
openssh = super.openssh.override {
hpnSupport = true;
withKerberos = true;
kerberos = self.libkrb5;
};
};
) ]
'';
type = types.listOf overlayType;
description = ''
List of overlays to use with the Nix Packages collection.
(For details, see the Nixpkgs documentation.) It allows
you to override packages globally. This is a function that
takes as an argument the <emphasis>original</emphasis> Nixpkgs.
The first argument should be used for finding dependencies, and
the second should be used for overriding recipes.
'';
};

View file

@ -26,6 +26,7 @@
./config/vpnc.nix
./config/zram.nix
./hardware/all-firmware.nix
./hardware/ckb.nix
./hardware/cpu/amd-microcode.nix
./hardware/cpu/intel-microcode.nix
./hardware/ksm.nix
@ -66,6 +67,7 @@
./programs/bash/bash.nix
./programs/blcr.nix
./programs/cdemu.nix
./programs/chromium.nix
./programs/command-not-found/command-not-found.nix
./programs/dconf.nix
./programs/environment.nix
@ -241,6 +243,7 @@
./services/misc/cpuminer-cryptonight.nix
./services/misc/cgminer.nix
./services/misc/confd.nix
./services/misc/couchpotato.nix
./services/misc/devmon.nix
./services/misc/dictd.nix
./services/misc/dysnomia.nix
@ -294,6 +297,7 @@
./services/misc/uhub.nix
./services/misc/zookeeper.nix
./services/monitoring/apcupsd.nix
./services/monitoring/arbtt.nix
./services/monitoring/bosun.nix
./services/monitoring/cadvisor.nix
./services/monitoring/collectd.nix

View file

@ -0,0 +1,85 @@
{ config, lib, ... }:
with lib;
let
cfg = config.programs.chromium;
defaultProfile = filterAttrs (k: v: v != null) {
HomepageLocation = cfg.homepageLocation;
DefaultSearchProviderSearchURL = cfg.defaultSearchProviderSearchURL;
DefaultSearchProviderSuggestURL = cfg.defaultSearchProviderSuggestURL;
ExtensionInstallForcelist = map (extension:
"${extension};https://clients2.google.com/service/update2/crx"
) cfg.extensions;
};
in
{
###### interface
options = {
programs.chromium = {
enable = mkEnableOption "<command>chromium</command> policies";
extensions = mkOption {
type = types.listOf types.str;
description = ''
List of chromium extensions to install.
For list of plugins ids see id in url of extensions on
<link xlink:href="https://chrome.google.com/webstore/category/extensions">chrome web store</link>
page.
'';
default = [];
example = literalExample ''
[
"chlffgpmiacpedhhbkiomidkjlcfhogd" # pushbullet
"mbniclmhobmnbdlbpiphghaielnnpgdp" # lightshot
"gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
]
'';
};
homepageLocation = mkOption {
type = types.nullOr types.str;
description = "Chromium default homepage";
default = null;
example = "https://nixos.org";
};
defaultSearchProviderSearchURL = mkOption {
type = types.nullOr types.str;
description = "Chromium default search provider url.";
default = null;
example =
"https://encrypted.google.com/search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:
searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}ie={inputEncoding}";
};
defaultSearchProviderSuggestURL = mkOption {
type = types.nullOr types.str;
description = "Chromium default search provider url for suggestions.";
default = null;
example =
"https://encrypted.google.com/complete/search?output=chrome&q={searchTerms}";
};
extraOpts = mkOption {
type = types.attrs;
description = ''
Extra chromium policy options, see
<link xlink:href="https://www.chromium.org/administrators/policy-list-3">https://www.chromium.org/administrators/policy-list-3</link>
for a list of avalible options
'';
default = {};
};
};
};
###### implementation
config = lib.mkIf cfg.enable {
environment.etc."chromium/policies/managed/default.json".text = builtins.toJSON defaultProfile;
environment.etc."chromium/policies/managed/extra.json".text = builtins.toJSON cfg.extraOpts;
};
}

View file

@ -1,4 +1,4 @@
{ config, lib, ... }:
{ config, lib, pkgs, ... }:
let
cfg = config.programs.nano;
@ -20,16 +20,22 @@ in
example = ''
set nowrap
set tabstospaces
set tabsize 4
set tabsize 2
'';
};
syntaxHighlight = lib.mkOption {
type = lib.types.bool;
default = true;
description = "Whether to enable syntax highlight for various languages.";
};
};
};
###### implementation
config = lib.mkIf (cfg.nanorc != "") {
environment.etc."nanorc".text = cfg.nanorc;
environment.etc."nanorc".text = lib.concatStrings [ cfg.nanorc
(lib.optionalString cfg.syntaxHighlight ''include "${pkgs.nano}/share/nano/*.nanorc"'') ];
};
}

View file

@ -91,6 +91,13 @@ in
'';
type = types.bool;
};
enableAutosuggestions = mkOption {
default = false;
description = ''
Enable zsh-autosuggestions
'';
};
};
@ -116,11 +123,6 @@ in
setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK
${cfge.interactiveShellInit}
${cfg.promptInit}
${zshAliases}
# Tell zsh how to find installed completions
for p in ''${(z)NIX_PROFILES}; do
fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions)
@ -132,6 +134,16 @@ in
"source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
}
${optionalString (cfg.enableAutosuggestions)
"source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
}
${zshAliases}
${cfg.promptInit}
${cfge.interactiveShellInit}
HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help"
'';

View file

@ -164,6 +164,9 @@ with lib;
else { addr = value inetAddr; port = value inetPort; }
))
# dhcpd
(mkRenamedOptionModule [ "services" "dhcpd" ] [ "services" "dhcpd4" ])
# Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
(mkRemovedOptionModule [ "programs" "bash" "enable" ] "")

View file

@ -18,22 +18,30 @@ in
default = [];
description = "List of files containing AppArmor profiles.";
};
packages = mkOption {
type = types.listOf types.package;
default = [];
description = "List of packages to be added to apparmor's include path";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.apparmor-utils ];
systemd.services.apparmor = {
systemd.services.apparmor = let
paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
([ pkgs.apparmor-profiles ] ++ cfg.packages);
in {
wantedBy = [ "local-fs.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";
ExecStart = concatMapStrings (p:
''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv -I ${pkgs.apparmor-profiles}/etc/apparmor.d "${p}" ; ''
ExecStart = map (p:
''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv ${paths} "${p}"''
) cfg.profiles;
ExecStop = concatMapStrings (p:
''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}" ; ''
ExecStop = map (p:
''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
) cfg.profiles;
};
};

View file

@ -737,6 +737,8 @@ in {
wantedBy = [ "multi-user.target" ];
after = [ "kube-apiserver.service" ];
serviceConfig = {
RestartSec = "30s";
Restart = "on-failure";
ExecStart = ''${cfg.package}/bin/kube-controller-manager \
--address=${cfg.controllerManager.address} \
--port=${toString cfg.controllerManager.port} \

View file

@ -143,7 +143,10 @@ let
done
echo "Generating hwdb database..."
${udev}/bin/udevadm hwdb --update --root=$(pwd)
# hwdb --update doesn't return error code even on errors!
res="$(${udev}/bin/udevadm hwdb --update --root=$(pwd) 2>&1)"
echo "$res"
[ -z "$(echo "$res" | egrep '^Error')" ]
mv etc/udev/hwdb.bin $out
'';

View file

@ -241,6 +241,9 @@ in
RuntimeDirectory = [ "dovecot2" ];
};
# When copying sieve scripts preserve the original time stamp
# (should be 0) so that the compiled sieve script is newer than
# the source file and Dovecot won't try to compile it.
preStart = ''
rm -rf ${stateDir}/sieve
'' + optionalString (cfg.sieveScripts != {}) ''
@ -248,11 +251,11 @@ in
${concatStringsSep "\n" (mapAttrsToList (to: from: ''
if [ -d '${from}' ]; then
mkdir '${stateDir}/sieve/${to}'
cp "${from}/"*.sieve '${stateDir}/sieve/${to}'
cp -p "${from}/"*.sieve '${stateDir}/sieve/${to}'
else
cp '${from}' '${stateDir}/sieve/${to}'
cp -p '${from}' '${stateDir}/sieve/${to}'
fi
${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/sieve/${to}'
${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/sieve/${to}'
'') cfg.sieveScripts)}
chown -R '${cfg.mailUser}:${cfg.mailGroup}' '${stateDir}/sieve'
'';

View file

@ -0,0 +1,50 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.couchpotato;
in
{
options = {
services.couchpotato = {
enable = mkEnableOption "CouchPotato Server";
};
};
config = mkIf cfg.enable {
systemd.services.couchpotato = {
description = "CouchPotato Server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -p /var/lib/couchpotato
chown -R couchpotato:couchpotato /var/lib/couchpotato
'';
serviceConfig = {
Type = "simple";
User = "couchpotato";
Group = "couchpotato";
PermissionsStartOnly = "true";
ExecStart = "${pkgs.couchpotato}/bin/couchpotato";
Restart = "on-failure";
};
};
users.extraUsers = singleton
{ name = "couchpotato";
group = "couchpotato";
home = "/var/lib/couchpotato/";
description = "CouchPotato daemon user";
uid = config.ids.uids.couchpotato;
};
users.extraGroups = singleton
{ name = "couchpotato";
gid = config.ids.gids.couchpotato;
};
};
}

View file

@ -0,0 +1,63 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.arbtt;
in {
options = {
services.arbtt = {
enable = mkOption {
type = types.bool;
default = false;
example = true;
description = ''
Enable the arbtt statistics capture service.
'';
};
package = mkOption {
type = types.package;
default = pkgs.haskellPackages.arbtt;
defaultText = "pkgs.haskellPackages.arbtt";
example = literalExample "pkgs.haskellPackages.arbtt";
description = ''
The package to use for the arbtt binaries.
'';
};
logFile = mkOption {
type = types.str;
default = "%h/.arbtt/capture.log";
example = "/home/username/.arbtt-capture.log";
description = ''
The log file for captured samples.
'';
};
sampleRate = mkOption {
type = types.int;
default = 60;
example = 120;
description = ''
The sampling interval in seconds.
'';
};
};
};
config = mkIf cfg.enable {
systemd.user.services.arbtt = {
description = "arbtt statistics capture service";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${cfg.package}/bin/arbtt-capture --logfile=${cfg.logFile} --sample-rate=${toString cfg.sampleRate}";
Restart = "always";
};
};
};
meta.maintainers = [ maintainers.michaelpj ];
}

View file

@ -5,6 +5,10 @@ with lib;
let
cfg = config.services.prometheus.alertmanager;
mkConfigFile = pkgs.writeText "alertmanager.yml" (builtins.toJSON cfg.configuration);
alertmanagerYml =
if cfg.configText != null then
pkgs.writeText "alertmanager.yml" cfg.configText
else mkConfigFile;
in {
options = {
services.prometheus.alertmanager = {
@ -34,6 +38,17 @@ in {
'';
};
configText = mkOption {
type = types.nullOr types.lines;
default = null;
description = ''
Alertmanager configuration as YAML text. If non-null, this option
defines the text that is written to alertmanager.yml. If null, the
contents of alertmanager.yml is generated from the structured config
options.
'';
};
logFormat = mkOption {
type = types.nullOr types.str;
default = null;
@ -96,7 +111,7 @@ in {
after = [ "network.target" ];
script = ''
${pkgs.prometheus-alertmanager.bin}/bin/alertmanager \
-config.file ${mkConfigFile} \
-config.file ${alertmanagerYml} \
-web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
-log.level ${cfg.logLevel} \
${optionalString (cfg.webExternalUrl != null) ''-web.external-url ${cfg.webExternalUrl} \''}

View file

@ -67,6 +67,14 @@ in
'';
};
emptyRepo = mkOption {
type = types.bool;
default = false;
description = ''
If set to true, the repo won't be initialized with help files
'';
};
extraFlags = mkOption {
type = types.listOf types.str;
description = "Extra flags passed to the IPFS daemon";
@ -103,16 +111,17 @@ in
after = [ "network.target" "local-fs.target" ];
path = [ pkgs.ipfs pkgs.su pkgs.bash ];
preStart =
''
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}
if [[ ! -d ${cfg.dataDir}/.ipfs ]]; then
cd ${cfg.dataDir}
${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c "${ipfs}/bin/ipfs init"
fi
${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c "${ipfs}/bin/ipfs config Addresses.API ${cfg.apiAddress}"
${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c "${ipfs}/bin/ipfs config Addresses.Gateway ${cfg.gatewayAddress}"
'';
preStart = ''
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}
if [[ ! -d ${cfg.dataDir}/.ipfs ]]; then
cd ${cfg.dataDir}
${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c \
"${ipfs}/bin/ipfs init ${if cfg.emptyRepo then "-e" else ""}"
fi
${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c \
"${ipfs}/bin/ipfs --local config Addresses.API ${cfg.apiAddress} && \
${ipfs}/bin/ipfs --local config Addresses.Gateway ${cfg.gatewayAddress}"
'';
serviceConfig = {
ExecStart = "${ipfs}/bin/ipfs daemon ${ipfsFlags}";

View file

@ -132,7 +132,8 @@ in
login=${config.services.ddclient.username}
password=${config.services.ddclient.password}
protocol=${config.services.ddclient.protocol}
server=${config.services.ddclient.server}
${let server = config.services.ddclient.server; in
lib.optionalString (server != "") "server=${server}"}
ssl=${if config.services.ddclient.ssl then "yes" else "no"}
wildcard=YES
${config.services.ddclient.domain}

View file

@ -4,11 +4,10 @@ with lib;
let
cfg = config.services.dhcpd;
cfg4 = config.services.dhcpd4;
cfg6 = config.services.dhcpd6;
stateDir = "/var/lib/dhcp"; # Don't use /var/state/dhcp; not FHS-compliant.
configFile = if cfg.configFile != null then cfg.configFile else pkgs.writeText "dhcpd.conf"
writeConfig = cfg: pkgs.writeText "dhcpd.conf"
''
default-lease-time 600;
max-lease-time 7200;
@ -29,6 +28,154 @@ let
}
'';
dhcpdService = postfix: cfg: optionalAttrs cfg.enable {
"dhcpd${postfix}" = {
description = "DHCPv${postfix} server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
preStart = ''
mkdir -m 755 -p ${cfg.stateDir}
touch ${cfg.stateDir}/dhcpd.leases
'';
serviceConfig =
let
configFile = if cfg.configFile != null then cfg.configFile else writeConfig cfg;
args = [ "@${pkgs.dhcp}/sbin/dhcpd" "dhcpd${postfix}" "-${postfix}"
"-pf" "/run/dhcpd${postfix}/dhcpd.pid"
"-cf" "${configFile}"
"-lf" "${cfg.stateDir}/dhcpd.leases"
"-user" "dhcpd" "-group" "nogroup"
] ++ cfg.extraFlags
++ cfg.interfaces;
in {
ExecStart = concatMapStringsSep " " escapeShellArg args;
Type = "forking";
Restart = "always";
RuntimeDirectory = [ "dhcpd${postfix}" ];
PIDFile = "/run/dhcpd${postfix}/dhcpd.pid";
};
};
};
machineOpts = {...}: {
config = {
hostName = mkOption {
type = types.str;
example = "foo";
description = ''
Hostname which is assigned statically to the machine.
'';
};
ethernetAddress = mkOption {
type = types.str;
example = "00:16:76:9a:32:1d";
description = ''
MAC address of the machine.
'';
};
ipAddress = mkOption {
type = types.str;
example = "192.168.1.10";
description = ''
IP address of the machine.
'';
};
};
};
dhcpConfig = postfix: {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable the DHCPv${postfix} server.
'';
};
stateDir = mkOption {
type = types.path;
# We use /var/lib/dhcp for DHCPv4 to save backwards compatibility.
default = "/var/lib/dhcp${if postfix == "4" then "" else postfix}";
description = ''
State directory for the DHCP server.
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.5;
option domain-name-servers 130.161.158.4, 130.161.33.17, 130.161.180.1;
option domain-name "example.org";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
'';
description = ''
Extra text to be appended to the DHCP server configuration
file. Currently, you almost certainly need to specify something
there, such as the options specifying the subnet mask, DNS servers,
etc.
'';
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [];
description = ''
Additional command line flags to be passed to the dhcpd daemon.
'';
};
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
The path of the DHCP server configuration file. If no file
is specified, a file is generated using the other options.
'';
};
interfaces = mkOption {
type = types.listOf types.str;
default = ["eth0"];
description = ''
The interfaces on which the DHCP server should listen.
'';
};
machines = mkOption {
type = types.listOf (types.submodule machineOpts);
default = [];
example = [
{ hostName = "foo";
ethernetAddress = "00:16:76:9a:32:1d";
ipAddress = "192.168.1.10";
}
{ hostName = "bar";
ethernetAddress = "00:19:d1:1d:c4:9a";
ipAddress = "192.168.1.11";
}
];
description = ''
A list mapping Ethernet addresses to IPv${postfix} addresses for the
DHCP server.
'';
};
};
in
{
@ -37,85 +184,15 @@ in
options = {
services.dhcpd = {
enable = mkOption {
default = false;
description = "
Whether to enable the DHCP server.
";
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.5;
option domain-name-servers 130.161.158.4, 130.161.33.17, 130.161.180.1;
option domain-name "example.org";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
'';
description = "
Extra text to be appended to the DHCP server configuration
file. Currently, you almost certainly need to specify
something here, such as the options specifying the subnet
mask, DNS servers, etc.
";
};
extraFlags = mkOption {
default = "";
example = "-6";
description = "
Additional command line flags to be passed to the dhcpd daemon.
";
};
configFile = mkOption {
default = null;
description = "
The path of the DHCP server configuration file. If no file
is specified, a file is generated using the other options.
";
};
interfaces = mkOption {
default = ["eth0"];
description = "
The interfaces on which the DHCP server should listen.
";
};
machines = mkOption {
default = [];
example = [
{ hostName = "foo";
ethernetAddress = "00:16:76:9a:32:1d";
ipAddress = "192.168.1.10";
}
{ hostName = "bar";
ethernetAddress = "00:19:d1:1d:c4:9a";
ipAddress = "192.168.1.11";
}
];
description = "
A list mapping ethernet addresses to IP addresses for the
DHCP server.
";
};
};
services.dhcpd4 = dhcpConfig "4";
services.dhcpd6 = dhcpConfig "6";
};
###### implementation
config = mkIf config.services.dhcpd.enable {
config = mkIf (cfg4.enable || cfg6.enable) {
users = {
extraUsers.dhcpd = {
@ -124,36 +201,7 @@ in
};
};
systemd.services.dhcpd =
{ description = "DHCP server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pkgs.dhcp ];
preStart =
''
mkdir -m 755 -p ${stateDir}
touch ${stateDir}/dhcpd.leases
mkdir -m 755 -p /run/dhcpd
chown dhcpd /run/dhcpd
'';
serviceConfig =
{ ExecStart = "@${pkgs.dhcp}/sbin/dhcpd dhcpd"
+ " -pf /run/dhcpd/dhcpd.pid -cf ${configFile}"
+ " -lf ${stateDir}/dhcpd.leases -user dhcpd -group nogroup"
+ " ${cfg.extraFlags}"
+ " ${toString cfg.interfaces}";
Restart = "always";
Type = "forking";
PIDFile = "/run/dhcpd/dhcpd.pid";
};
};
systemd.services = dhcpdService "4" cfg4 // dhcpdService "6" cfg6;
};

View file

@ -172,13 +172,16 @@ let
}-j nixos-fw-accept
''}
# Accept all ICMPv6 messages except redirects and node
# information queries (type 139). See RFC 4890, section
# 4.4.
${optionalString config.networking.enableIPv6 ''
# Accept all ICMPv6 messages except redirects and node
# information queries (type 139). See RFC 4890, section
# 4.4.
ip6tables -A nixos-fw -p icmpv6 --icmpv6-type redirect -j DROP
ip6tables -A nixos-fw -p icmpv6 --icmpv6-type 139 -j DROP
ip6tables -A nixos-fw -p icmpv6 -j nixos-fw-accept
# Allow this host to act as a DHCPv6 client
ip6tables -A nixos-fw -d fe80::/64 -p udp --dport 546 -j nixos-fw-accept
''}
${cfg.extraCommands}

View file

@ -82,7 +82,6 @@ in
serviceConfig = {
Restart = "always";
RestartSec = "5s";
ExecStartPre = "${cfg.package}/bin/miredo-checkconf -f ${miredoConf}";
ExecStart = "${cfg.package}/bin/miredo -c ${miredoConf} -p ${pidFile} -f";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
};

View file

@ -81,6 +81,7 @@ in
users.extraUsers = singleton {
name = clamavUser;
uid = config.ids.uids.clamav;
group = clamavGroup;
description = "ClamAV daemon user";
home = stateDir;
};

View file

@ -39,6 +39,13 @@ in
type = types.path;
description = "The data directory, for storing certificates.";
};
package = mkOption {
default = pkgs.caddy;
defaultText = "pkgs.caddy";
type = types.package;
description = "Caddy package to use.";
};
};
config = mkIf cfg.enable {
@ -47,7 +54,7 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''${pkgs.caddy.bin}/bin/caddy -conf=${configFile} \
ExecStart = ''${cfg.package.bin}/bin/caddy -conf=${configFile} \
-ca=${cfg.ca} -email=${cfg.email} ${optionalString cfg.agree "-agree"}
'';
Type = "simple";

View file

@ -41,7 +41,7 @@ with lib;
{ description = "Terminal Server";
path =
[ pkgs.xorgserver.out pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth
[ pkgs.xorg.xorgserver.out pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth
pkgs.nettools pkgs.shadow pkgs.procps pkgs.utillinux pkgs.bash
];

View file

@ -34,24 +34,20 @@ if [ -z "$container" ]; then
fi
# Likewise, stage 1 mounts /proc, /dev, /sys and /run, so if we don't have a
# Likewise, stage 1 mounts /proc, /dev and /sys, so if we don't have a
# stage 1, we need to do that here.
# We check for each mountpoint separately to avoid esoteric failure modes
# if only a subset was mounted by whatever called us.
specialMount() {
local device="$1"
local mountPoint="$2"
local options="$3"
local fsType="$4"
if [ ! -e /proc/1 ]; then
specialMount() {
local device="$1"
local mountPoint="$2"
local options="$3"
local fsType="$4"
if mountpoint -q "$mountpoint"; then
return 0
fi
mkdir -m 0755 -p "$mountPoint"
mount -n -t "$fsType" -o "$options" "$device" "$mountPoint"
}
source @earlyMountScript@
mkdir -m 0755 -p "$mountPoint"
mount -n -t "$fsType" -o "$options" "$device" "$mountPoint"
}
source @earlyMountScript@
fi
echo "booting system configuration $systemConfig" > /dev/kmsg

View file

@ -135,51 +135,59 @@ let self = {
"16.03".us-west-2.pv-ebs = "ami-5e61a23e";
"16.03".us-west-2.pv-s3 = "ami-734c8f13";
# 16.09.666.3738950
"16.09".ap-northeast-1.hvm-ebs = "ami-35578954";
"16.09".ap-northeast-1.hvm-s3 = "ami-d6528cb7";
"16.09".ap-northeast-1.pv-ebs = "ami-07548a66";
"16.09".ap-northeast-1.pv-s3 = "ami-f1548a90";
"16.09".ap-northeast-2.hvm-ebs = "ami-d48753ba";
"16.09".ap-northeast-2.hvm-s3 = "ami-4c865222";
"16.09".ap-northeast-2.pv-ebs = "ami-ca8551a4";
"16.09".ap-northeast-2.pv-s3 = "ami-9c8551f2";
"16.09".ap-south-1.hvm-ebs = "ami-922450fd";
"16.09".ap-south-1.hvm-s3 = "ami-6d3a4e02";
"16.09".ap-south-1.pv-ebs = "ami-4d394d22";
"16.09".ap-south-1.pv-s3 = "ami-17384c78";
"16.09".ap-southeast-1.hvm-ebs = "ami-f824809b";
"16.09".ap-southeast-1.hvm-s3 = "ami-f924809a";
"16.09".ap-southeast-1.pv-ebs = "ami-af2480cc";
"16.09".ap-southeast-1.pv-s3 = "ami-5826823b";
"16.09".ap-southeast-2.hvm-ebs = "ami-40fecd23";
"16.09".ap-southeast-2.hvm-s3 = "ami-48fecd2b";
"16.09".ap-southeast-2.pv-ebs = "ami-dffecdbc";
"16.09".ap-southeast-2.pv-s3 = "ami-e0fccf83";
"16.09".eu-central-1.hvm-ebs = "ami-1d8b7472";
"16.09".eu-central-1.hvm-s3 = "ami-1c8b7473";
"16.09".eu-central-1.pv-ebs = "ami-8c8d72e3";
"16.09".eu-central-1.pv-s3 = "ami-3488775b";
"16.09".eu-west-1.hvm-ebs = "ami-15662766";
"16.09".eu-west-1.hvm-s3 = "ami-476b2a34";
"16.09".eu-west-1.pv-ebs = "ami-876928f4";
"16.09".eu-west-1.pv-s3 = "ami-70682903";
"16.09".sa-east-1.hvm-ebs = "ami-27bc2e4b";
"16.09".sa-east-1.hvm-s3 = "ami-e4b92b88";
"16.09".sa-east-1.pv-ebs = "ami-4dbe2c21";
"16.09".sa-east-1.pv-s3 = "ami-77fc6e1b";
"16.09".us-east-1.hvm-ebs = "ami-93347684";
"16.09".us-east-1.hvm-s3 = "ami-5e347649";
"16.09".us-east-1.pv-ebs = "ami-b0387aa7";
"16.09".us-east-1.pv-s3 = "ami-51357746";
"16.09".us-west-1.hvm-ebs = "ami-06337a66";
"16.09".us-west-1.hvm-s3 = "ami-76307916";
"16.09".us-west-1.pv-ebs = "ami-fd327b9d";
"16.09".us-west-1.pv-s3 = "ami-cc347dac";
"16.09".us-west-2.hvm-ebs = "ami-49fe2729";
"16.09".us-west-2.hvm-s3 = "ami-93fc25f3";
"16.09".us-west-2.pv-ebs = "ami-14fe2774";
"16.09".us-west-2.pv-s3 = "ami-74f12814";
# 16.09.1508.3909827
"16.09".ap-northeast-1.hvm-ebs = "ami-68453b0f";
"16.09".ap-northeast-1.hvm-s3 = "ami-f9bec09e";
"16.09".ap-northeast-1.pv-ebs = "ami-254a3442";
"16.09".ap-northeast-1.pv-s3 = "ami-ef473988";
"16.09".ap-northeast-2.hvm-ebs = "ami-18ae7f76";
"16.09".ap-northeast-2.hvm-s3 = "ami-9eac7df0";
"16.09".ap-northeast-2.pv-ebs = "ami-57aa7b39";
"16.09".ap-northeast-2.pv-s3 = "ami-5cae7f32";
"16.09".ap-south-1.hvm-ebs = "ami-b3f98fdc";
"16.09".ap-south-1.hvm-s3 = "ami-98e690f7";
"16.09".ap-south-1.pv-ebs = "ami-aef98fc1";
"16.09".ap-south-1.pv-s3 = "ami-caf88ea5";
"16.09".ap-southeast-1.hvm-ebs = "ami-80fb51e3";
"16.09".ap-southeast-1.hvm-s3 = "ami-2df3594e";
"16.09".ap-southeast-1.pv-ebs = "ami-37f05a54";
"16.09".ap-southeast-1.pv-s3 = "ami-27f35944";
"16.09".ap-southeast-2.hvm-ebs = "ami-57ece834";
"16.09".ap-southeast-2.hvm-s3 = "ami-87f4f0e4";
"16.09".ap-southeast-2.pv-ebs = "ami-d8ede9bb";
"16.09".ap-southeast-2.pv-s3 = "ami-a6ebefc5";
"16.09".eu-central-1.hvm-ebs = "ami-1b884774";
"16.09".eu-central-1.hvm-s3 = "ami-b08c43df";
"16.09".eu-central-1.pv-ebs = "ami-888946e7";
"16.09".eu-central-1.pv-s3 = "ami-06874869";
"16.09".eu-west-1.hvm-ebs = "ami-1ed3e76d";
"16.09".eu-west-1.hvm-s3 = "ami-73d1e500";
"16.09".eu-west-1.pv-ebs = "ami-44c0f437";
"16.09".eu-west-1.pv-s3 = "ami-f3d8ec80";
"16.09".eu-west-2.hvm-ebs = "ami-2c9c9648";
"16.09".eu-west-2.hvm-s3 = "ami-6b9e940f";
"16.09".eu-west-2.pv-ebs = "ami-f1999395";
"16.09".eu-west-2.pv-s3 = "ami-bb9f95df";
"16.09".sa-east-1.hvm-ebs = "ami-a11882cd";
"16.09".sa-east-1.hvm-s3 = "ami-7726bc1b";
"16.09".sa-east-1.pv-ebs = "ami-9725bffb";
"16.09".sa-east-1.pv-s3 = "ami-b027bddc";
"16.09".us-east-1.hvm-ebs = "ami-854ca593";
"16.09".us-east-1.hvm-s3 = "ami-2241a834";
"16.09".us-east-1.pv-ebs = "ami-a441a8b2";
"16.09".us-east-1.pv-s3 = "ami-e841a8fe";
"16.09".us-east-2.hvm-ebs = "ami-3f41645a";
"16.09".us-east-2.hvm-s3 = "ami-804065e5";
"16.09".us-east-2.pv-ebs = "ami-f1466394";
"16.09".us-east-2.pv-s3 = "ami-05426760";
"16.09".us-west-1.hvm-ebs = "ami-c2efbca2";
"16.09".us-west-1.hvm-s3 = "ami-d71042b7";
"16.09".us-west-1.pv-ebs = "ami-04e8bb64";
"16.09".us-west-1.pv-s3 = "ami-31e9ba51";
"16.09".us-west-2.hvm-ebs = "ami-6449f504";
"16.09".us-west-2.hvm-s3 = "ami-344af654";
"16.09".us-west-2.pv-ebs = "ami-6d4af60d";
"16.09".us-west-2.pv-s3 = "ami-de48f4be";
latest = self."16.09";
}; in self

View file

@ -62,19 +62,17 @@ in
</citerefentry>.
'';
};
};
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.lxc ];
environment.etc."lxc/lxc.conf".text = cfg.systemConfig;
environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig;
environment.etc."lxc/default.conf".text = cfg.defaultConfig;
security.apparmor.packages = [ pkgs.lxc ];
security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ];
};
}

View file

@ -59,6 +59,7 @@ in {
virtualisation.diskSize = 2048;
programs.bash.enableCompletion = true;
environment.systemPackages = with pkgs; [ netcat bind ];
services.kubernetes.roles = ["master" "node"];
virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0";

View file

@ -10,29 +10,61 @@ let
vlanIfs = range 1 (length config.virtualisation.vlans);
in {
virtualisation.vlans = [ 1 2 3 ];
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
networking = {
useDHCP = false;
useNetworkd = networkd;
firewall.allowPing = true;
firewall.checkReversePath = true;
firewall.allowedUDPPorts = [ 547 ];
interfaces = mkOverride 0 (listToAttrs (flip map vlanIfs (n:
nameValuePair "eth${toString n}" {
ipAddress = "192.168.${toString n}.1";
prefixLength = 24;
ipv6Address = "fd00:1234:5678:${toString n}::1";
ipv6PrefixLength = 64;
})));
};
services.dhcpd = {
services.dhcpd4 = {
enable = true;
interfaces = map (n: "eth${toString n}") vlanIfs;
extraConfig = ''
option subnet-mask 255.255.255.0;
authoritative;
'' + flip concatMapStrings vlanIfs (n: ''
subnet 192.168.${toString n}.0 netmask 255.255.255.0 {
option broadcast-address 192.168.${toString n}.255;
option routers 192.168.${toString n}.1;
# XXX: technically it's _not guaranteed_ that IP addresses will be
# issued from the first item in range onwards! We assume that in
# our tests however.
range 192.168.${toString n}.2 192.168.${toString n}.254;
}
'');
};
services.radvd = {
enable = true;
config = flip concatMapStrings vlanIfs (n: ''
interface eth${toString n} {
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
prefix fd00:1234:5678:${toString n}::/64 {
AdvAutonomous off;
};
};
'');
};
services.dhcpd6 = {
enable = true;
interfaces = map (n: "eth${toString n}") vlanIfs;
extraConfig = ''
authoritative;
'' + flip concatMapStrings vlanIfs (n: ''
subnet6 fd00:1234:5678:${toString n}::/64 {
range6 fd00:1234:5678:${toString n}::2 fd00:1234:5678:${toString n}::2;
}
'');
};
};
testCases = {
@ -108,8 +140,14 @@ let
useNetworkd = networkd;
firewall.allowPing = true;
useDHCP = true;
interfaces.eth1.ip4 = mkOverride 0 [ ];
interfaces.eth2.ip4 = mkOverride 0 [ ];
interfaces.eth1 = {
ip4 = mkOverride 0 [ ];
ip6 = mkOverride 0 [ ];
};
interfaces.eth2 = {
ip4 = mkOverride 0 [ ];
ip6 = mkOverride 0 [ ];
};
};
};
testScript = { nodes, ... }:
@ -121,21 +159,31 @@ let
# Wait until we have an ip address on each interface
$client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
$client->waitUntilSucceeds("ip addr show dev eth1 | grep -q 'fd00:1234:5678:1:'");
$client->waitUntilSucceeds("ip addr show dev eth2 | grep -q '192.168.2'");
$client->waitUntilSucceeds("ip addr show dev eth2 | grep -q 'fd00:1234:5678:2:'");
# Test vlan 1
$client->waitUntilSucceeds("ping -c 1 192.168.1.1");
$client->waitUntilSucceeds("ping -c 1 192.168.1.2");
$client->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:1::1");
$client->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:1::2");
$router->waitUntilSucceeds("ping -c 1 192.168.1.1");
$router->waitUntilSucceeds("ping -c 1 192.168.1.2");
$router->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:1::1");
$router->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:1::2");
# Test vlan 2
$client->waitUntilSucceeds("ping -c 1 192.168.2.1");
$client->waitUntilSucceeds("ping -c 1 192.168.2.2");
$client->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:2::1");
$client->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:2::2");
$router->waitUntilSucceeds("ping -c 1 192.168.2.1");
$router->waitUntilSucceeds("ping -c 1 192.168.2.2");
$router->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:2::1");
$router->waitUntilSucceeds("ping6 -c 1 fd00:1234:5678:2::2");
'';
};
dhcpOneIf = {

View file

@ -39,7 +39,7 @@ in stdenv.mkDerivation {
store historical records of the ledger and participate in consensus.
'';
homepage = https://www.stellar.org/;
platforms = platforms.linux;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ chris-martin ];
license = licenses.asl20;
};

View file

@ -2,8 +2,8 @@
, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango
, perl, pkgconfig, python2, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }:
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
, perl, pkgconfig, python2, rubberband, serd, sord, sratom, suil, taglib, vampSDK }:
let
@ -38,12 +38,12 @@ stdenv.mkDerivation rec {
sha256 = "0pnnx22asizin5rvf352nfv6003zarw3jd64magp10310wrfiwbq";
};
buildInputs =
buildInputs =
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
makeWrapper pango perl pkgconfig python2 rubberband serd sord-svn sratom suil taglib vampSDK
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
makeWrapper pango perl pkgconfig python2 rubberband serd sord sratom suil taglib vampSDK
];
patchPhase = ''

View file

@ -2,8 +2,8 @@
, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango
, perl, pkgconfig, python2, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }:
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
, perl, pkgconfig, python2, rubberband, serd, sord, sratom, suil, taglib, vampSDK }:
let
@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
makeWrapper pango perl pkgconfig python2 rubberband serd sord-svn sratom suil taglib vampSDK
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
makeWrapper pango perl pkgconfig python2 rubberband serd sord sratom suil taglib vampSDK
];
# ardour's wscript has a "tarball" target but that required the git revision

View file

@ -2,8 +2,8 @@
, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper
, perl, pkgconfig, python2, rubberband, serd, sord-svn, sratom
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper
, perl, pkgconfig, python2, rubberband, serd, sord, sratom
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }:
let
@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
makeWrapper pango perl pkgconfig python2 rubberband serd sord-svn
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2
makeWrapper pango perl pkgconfig python2 rubberband serd sord
sratom suil taglib vampSDK libarchive
];

View file

@ -2,7 +2,7 @@
utillinux, pythonPackages, libnotify }:
stdenv.mkDerivation {
name = "clerk-unstable-2016-10-14";
name = "clerk-2016-10-14";
src = fetchFromGitHub {
owner = "carnager";

View file

@ -1,5 +1,5 @@
{ stdenv, fetchgit, boost, ganv, glibmm, gtk2, gtkmm2, libjack2, lilv
, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom
, suil
}:
@ -14,21 +14,21 @@ stdenv.mkDerivation rec {
};
buildInputs = [
boost ganv glibmm gtk2 gtkmm2 libjack2 lilv lv2Unstable makeWrapper pkgconfig
boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper pkgconfig
python raul serd sord sratom suil
];
configurePhase = ''
sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript
python waf configure --prefix=$out
${python.interpreter} waf configure --prefix=$out
'';
propagatedBuildInputs = [ rdflib ];
buildPhase = "python waf";
buildPhase = "${python.interpreter} waf";
installPhase = ''
python waf install
${python.interpreter} waf install
for program in ingenams ingenish
do
wrapProgram $out/bin/$program \

View file

@ -5,13 +5,13 @@
pythonPackages.buildPythonApplication rec {
name = "mopidy-${version}";
version = "2.0.1";
version = "2.1.0";
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
rev = "v${version}";
sha256 = "15i17rj2bh2kda6d6rwcjhs2m3nfsrcyq3lj9vbgmacg0cdb22pp";
sha256 = "0krq5fbscqxayyc4vxai7iwxm2kdbgs5jicrdb013v04phw2za06";
};
nativeBuildInputs = [ wrapGAppsHook ];

View file

@ -6,7 +6,7 @@ assert stdenv.system == "x86_64-linux";
let
# Please update the stable branch!
version = "1.0.45.186.g3b5036d6-95";
version = "1.0.47.13.gd8e05b1f-47";
deps = [
alsaLib
@ -51,7 +51,7 @@ stdenv.mkDerivation {
src =
fetchurl {
url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
sha256 = "0fpvz1mzyva1sypg4gjmrv0clckb0c3xwjfcxnb8gvkxx9vm56p1";
sha256 = "0079vq2nw07795jyqrjv68sc0vqjy6abjh6jjd5cg3hqlxdf4ckz";
};
buildInputs = [ dpkg makeWrapper ];

View file

@ -9,7 +9,6 @@
, gnugrep
, gnutar
, gzip
, jdk
, fontconfig
, freetype
, libpulseaudio
@ -29,6 +28,7 @@
, writeTextFile
, xkeyboard_config
, zlib
, fontsConf
}:
let
@ -44,50 +44,57 @@ let
];
installPhase = ''
cp -r . $out
wrapProgram $out/bin/studio.sh --set PATH "${stdenv.lib.makeBinPath [
wrapProgram $out/bin/studio.sh \
--set PATH "${stdenv.lib.makeBinPath [
# Checked in studio.sh
coreutils
findutils
gnugrep
jdk
which
# Checked in studio.sh
coreutils
findutils
gnugrep
which
# For Android emulator
file
glxinfo
pciutils
setxkbmap
# For Android emulator
file
glxinfo
pciutils
setxkbmap
# Used during setup wizard
gnutar
gzip
# Used during setup wizard
gnutar
gzip
# Runtime stuff
git
# Runtime stuff
git
]}" --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
# Gradle wants libstdc++.so.6
stdenv.cc.cc.lib
# mksdcard wants 32 bit libstdc++.so.6
pkgsi686Linux.stdenv.cc.cc.lib
]}" \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
# aapt wants libz.so.1
zlib
pkgsi686Linux.zlib
# Support multiple monitors
libXrandr
# Crash at startup without these
fontconfig
freetype
libXext
libXi
libXrender
libXtst
# For Android emulator
libpulseaudio
libX11
libXext
libXrender
libXtst
libXi
freetype
fontconfig
]}" --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb"
# Gradle wants libstdc++.so.6
stdenv.cc.cc.lib
# mksdcard wants 32 bit libstdc++.so.6
pkgsi686Linux.stdenv.cc.cc.lib
# aapt wants libz.so.1
zlib
pkgsi686Linux.zlib
# Support multiple monitors
libXrandr
# For Android emulator
libpulseaudio
libX11
]}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
--set FONTCONFIG_FILE ${fontsConf}
'';
src = fetchurl {
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atom-${version}";
version = "1.12.9";
version = "1.13.0";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "1yp4wwv0vxsad7jqkn2rj4n7k2ccgqscs89p3j6z8vpm6as0i6sg";
sha256 = "17k4v5hibaq4zi86y1sjx09hqng4sm3lr024v2mjnhj65m2nhjb8";
name = "${name}.deb";
};

View file

@ -1,16 +1,17 @@
{ stdenv, fetchurl, intltool, pkgconfig , gtk, libxml2
, enchant, gucharmap, python
{ stdenv, fetchurl, intltool, wrapGAppsHook, pkgconfig , gtk, libxml2
, enchant, gucharmap, python, gnome3
}:
stdenv.mkDerivation rec {
name = "bluefish-2.2.7";
name = "bluefish-2.2.9";
src = fetchurl {
url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
sha256 = "1psqx3ljz13ylqs4zkaxv9lv1hgzld6904kdp0alwx99p5rlnlr3";
sha256 = "1l7pg6h485yj84i34jr09y8qzc1yr4ih6w5jdhmnrg156db7nwav";
};
buildInputs = [ intltool pkgconfig gtk libxml2
nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
buildInputs = [ gnome3.defaultIconTheme gtk libxml2
enchant gucharmap python ];
meta = with stdenv.lib; {

View file

@ -175,10 +175,10 @@
}) {};
auctex = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "auctex";
version = "11.89.8";
version = "11.90.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-11.89.8.tar";
sha256 = "0rilldzb7sm7k22vfifdsnxz1an94jnn1bn8gfmqkac4g9cskl46";
url = "https://elpa.gnu.org/packages/auctex-11.90.0.tar";
sha256 = "04nsndwcf0dimgc2p1yzzrymc36amzdnjg0158nxplmjkzdp28gy";
};
packageRequires = [];
meta = {
@ -295,10 +295,10 @@
}) {};
cl-lib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "cl-lib";
version = "0.5";
version = "0.6.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cl-lib-0.5.el";
sha256 = "1z4ffcx7b95bxz52586lhvdrdm5vp473g3afky9h5my3jp5cd994";
url = "https://elpa.gnu.org/packages/cl-lib-0.6.1.el";
sha256 = "00w7bw6wkig13pngijh7ns45s1jn5kkbbjaqznsdh6jk5x089j9y";
};
packageRequires = [];
meta = {
@ -306,6 +306,19 @@
license = lib.licenses.free;
};
}) {};
cobol-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "cobol-mode";
version = "1.0.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/cobol-mode-1.0.0.el";
sha256 = "1zmcfpl7v787yacc7gxm8mkp53fmrznp5mnad628phf3vj4kwnxi";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/cobol-mode.html";
license = lib.licenses.free;
};
}) {};
coffee-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "coffee-mode";
version = "0.4.1.1";
@ -809,10 +822,10 @@
gnugo = callPackage ({ ascii-art-to-unicode, cl-lib ? null, elpaBuild, fetchurl, lib, xpm }:
elpaBuild {
pname = "gnugo";
version = "3.0.0";
version = "3.0.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/gnugo-3.0.0.tar";
sha256 = "0b94kbqxir023wkmqn9kpjjj2v0gcz856mqipz30gxjbjj42w27x";
url = "https://elpa.gnu.org/packages/gnugo-3.0.1.tar";
sha256 = "08z2hg9mvsxdznq027cmwhkb5i7n7s9r2kvd4jha9xskrcnzj3pp";
};
packageRequires = [ ascii-art-to-unicode cl-lib xpm ];
meta = {
@ -956,10 +969,10 @@
js2-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "js2-mode";
version = "20160623";
version = "20170116";
src = fetchurl {
url = "https://elpa.gnu.org/packages/js2-mode-20160623.tar";
sha256 = "057djy6amda8kyprkb3v733d21nlmq5fgfazi65fywlfwyq1adxs";
url = "https://elpa.gnu.org/packages/js2-mode-20170116.tar";
sha256 = "1z4k7710yz1fbm2w8m17q81yyp8sxllld0zmgfnc336iqrc07hmk";
};
packageRequires = [ cl-lib emacs ];
meta = {
@ -2103,10 +2116,10 @@
ztree = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "ztree";
version = "1.0.4";
version = "1.0.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ztree-1.0.4.tar";
sha256 = "0xiiaa660s8z7901siwvmqkqz30agfzsy3zcyry2r017m3ghqjph";
url = "https://elpa.gnu.org/packages/ztree-1.0.5.tar";
sha256 = "14pbbsyav1dzz8m8waqdcmcx9bhw5g8m2kh1ahpxc3i2lfhdan1x";
};
packageRequires = [ cl-lib ];
meta = {

File diff suppressed because it is too large Load diff

View file

@ -172,12 +172,12 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "2016.3";
version = "2016.3.2";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "1bp2a1x8nl5flklf160n7ka5clnb0xx9gwv5zd9li2bsf04zlzf3";
sha256 = "0ngign34gq7i121ss2s9wfziy3vkv1jb79pw8nf1qp7rb15xn4vc";
};
wmClass = "jetbrains-idea-ce";
};
@ -340,12 +340,12 @@ in
datagrip = buildDataGrip rec {
name = "datagrip-${version}";
version = "2016.3";
version = "2016.3.2";
description = "Your Swiss Army Knife for Databases and SQL";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
sha256 = "10nah7v330qrrczzz5jldnr0k7w2xzljiny32gm9pqmjbl0i70il";
sha256 = "19njb6i7nl6szql7cy99jmig59b304c6im3988p1dd8dj2j6csv3";
};
wmClass = "jetbrains-datagrip";
};

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl
{ stdenv, fetchurl, fetchFromGitHub
, ncurses
, texinfo
, gettext ? null
@ -10,7 +10,14 @@ assert enableNls -> (gettext != null);
with stdenv.lib;
stdenv.mkDerivation rec {
let
nixSyntaxHighlight = fetchFromGitHub {
owner = "seitz";
repo = "nanonix";
rev = "17e0de65e1cbba3d6baa82deaefa853b41f5c161";
sha256 = "1g51h65i31andfs2fbp1v3vih9405iknqn11fzywjxji00kjqv5s";
};
in stdenv.mkDerivation rec {
name = "nano-${version}";
version = "2.7.3";
src = fetchurl {
@ -30,6 +37,10 @@ stdenv.mkDerivation rec {
substituteInPlace src/text.c --replace "__time_t" "time_t"
'';
postInstall = ''
cp ${nixSyntaxHighlight}/nix.nanorc $out/share/nano/
'';
meta = {
homepage = http://www.nano-editor.org/;
description = "A small, user-friendly console text editor";

View file

@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
patchPhase = ''
sed -i build/configure \
-e s@vi_cv_path_preserve=no@vi_cv_path_preserve=/tmp/vi.recover@ \
-e s@/var/tmp@@
-e s@/var/tmp@@ \
-e s@-lcurses@-lncurses@
'';
configurePhase = ''

View file

@ -2,22 +2,23 @@
makeWrapper, libXScrnSaver }:
let
version = "1.8.0";
rev = "38746938a4ab94f2f57d9e1309c51fd6fb37553d";
version = "1.8.1";
rev = "ee428b0eead68bf0fb99ab5fdc4439be227b6281";
channel = "stable";
sha256 = if stdenv.system == "i686-linux" then "0p7r1i71v2ab4dzlwh43hqih958a31cqskf64ds4vgc35x2mfjcq"
else if stdenv.system == "x86_64-linux" then "1k15701jskk7w5kwzlzfri96vvw7fcinyfqqafls8nms8h5csv76"
else if stdenv.system == "x86_64-darwin" then "12fqz62gs2wcg2wwx1k6gv2gqil9c54yq254vk3rqdf82q9zyapk"
sha256 = if stdenv.system == "i686-linux" then "f48c2eb302de0742612f6c5e4ec4842fa474a85c1bcf421456526c9472d4641f"
else if stdenv.system == "x86_64-linux" then "99bd463707f3a21bc949eec3e857c80aafef8f66e06a295148c1c23875244760"
else if stdenv.system == "x86_64-darwin" then "9202c85669853b07d1cbac9e6bcb01e7c08e13fd2a2b759dd53994e0fa51e7a1"
else throw "Unsupported system: ${stdenv.system}";
urlBase = "https://az764295.vo.msecnd.net/stable/${rev}/";
urlBase = "https://az764295.vo.msecnd.net/${channel}/${rev}/";
urlStr = if stdenv.system == "i686-linux" then
urlBase + "code-stable-code_${version}-1481650382_i386.tar.gz"
urlBase + "code-${channel}-code_${version}-1482159060_i386.tar.gz"
else if stdenv.system == "x86_64-linux" then
urlBase + "code-stable-code_${version}-1481651903_amd64.tar.gz"
urlBase + "code-${channel}-code_${version}-1482158209_amd64.tar.gz"
else if stdenv.system == "x86_64-darwin" then
urlBase + "VSCode-darwin-stable.zip"
urlBase + "VSCode-darwin-${channel}.zip"
else throw "Unsupported system: ${stdenv.system}";
in
stdenv.mkDerivation rec {
@ -33,10 +34,7 @@ in
name = "code";
exec = "code";
icon = "code";
comment = ''
Code editor redefined and optimized for building and debugging modern
web and cloud applications
'';
comment = "Code editor redefined and optimized for building and debugging modern web and cloud applications";
desktopName = "Visual Studio Code";
genericName = "Text Editor";
categories = "GNOME;GTK;Utility;TextEditor;Development;";

View file

@ -59,7 +59,7 @@ stdenv.mkDerivation {
postInstall = ''
wrapProgram $out/bin/grass70 \
--set PYTHONPATH $PYTHONPATH \
--set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable}
--set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable} \
--suffix LD_LIBRARY_PATH ':' '${gdal}/lib'
ln -s $out/grass-*/lib $out/lib
'';

View file

@ -1,6 +1,7 @@
{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
, ApplicationServices
}:
let
@ -58,7 +59,7 @@ stdenv.mkDerivation rec {
]
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
[ openexr librsvg openjpeg ]
;
++ lib.optional stdenv.isDarwin ApplicationServices;
propagatedBuildInputs =
[ bzip2 freetype libjpeg lcms2 ]

View file

@ -1,6 +1,7 @@
{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
, ApplicationServices
}:
let
@ -70,7 +71,7 @@ stdenv.mkDerivation rec {
]
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
[ openexr librsvg openjpeg ]
;
++ lib.optional stdenv.isDarwin ApplicationServices;
propagatedBuildInputs =
[ bzip2 freetype libjpeg lcms2 ]

View file

@ -1,7 +1,8 @@
{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf
, pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
, python2Packages, libart_lgpl, libexif, gettext, xorg }:
, python2Packages, libart_lgpl, libexif, gettext, xorg
, AppKit, Cocoa, gtk-mac-integration }:
let
inherit (python2Packages) pygtk wrapPython python;
@ -26,7 +27,8 @@ in stdenv.mkDerivation rec {
libmng librsvg libwmf zlib libzip ghostscript aalib jasper
python pygtk libart_lgpl libexif gettext xorg.libXpm
wrapPython
];
]
++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ];
pythonPath = [ pygtk ];
@ -51,6 +53,6 @@ in stdenv.mkDerivation rec {
description = "The GNU Image Manipulation Program";
homepage = http://www.gimp.org/;
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.unix;
};
}

View file

@ -16,7 +16,6 @@
let
version = "1.0";
pkgversion = "1";
arch = if stdenv.system == "x86_64-linux" then
"x64"
@ -26,8 +25,8 @@ let
abort "Unsupported platform";
in
stdenv.mkDerivation {
name = "unigine-valley-${version}-${pkgversion}";
stdenv.mkDerivation rec {
name = "unigine-valley-${version}";
src = fetchurl {
url = "http://assets.unigine.com/d/Unigine_Valley-${version}.run";
@ -35,6 +34,7 @@ in
};
sourceRoot = "Unigine_Valley-${version}";
instPath = "lib/unigine/valley";
buildInputs = [file makeWrapper];
@ -56,22 +56,16 @@ in
./extractor.run --target $sourceRoot
'';
# The executable loads libGPUMonitor_${arch}.so "manually" (i.e. not through the ELF interpreter).
# However, it still uses the RPATH to look for it.
patchPhase = ''
# Patch ELF files.
elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1)
for elf in $elfs; do
echo "Patching $elf"
patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true
done
'';
configurePhase = "";
buildPhase = "";
installPhase = ''
instdir=$out/opt/unigine/valley
instdir=$out/${instPath}
# Install executables and libraries
mkdir -p $instdir/bin
@ -94,10 +88,12 @@ in
--prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath
'';
stripDebugList = ["${instPath}/bin"];
meta = {
description = "The Unigine Valley GPU benchmarking tool";
homepage = "http://unigine.com/products/benchmarks/valley/";
license = stdenv.lib.licenses.unfree; # see also: /nix/store/*-unigine-valley-1.0/opt/unigine/valley/documentation/License.pdf
license = stdenv.lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf
maintainers = [ stdenv.lib.maintainers.kierdavis ];
platforms = ["x86_64-linux" "i686-linux"];
};

View file

@ -0,0 +1,30 @@
{stdenv, fetchurl, libX11, libXft}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "xfractint";
version = "20.04p14";
# or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
src = fetchurl {
url = "https://www.fractint.net/ftp/current/linux/xfractint-${version}.tar.gz";
sha256 = "0jdqr639z862qrswwk5srmv4fj5d7rl8kcscpn6mlkx4jvjmca0f";
};
buildInputs = [libX11 libXft];
configurePhase = ''
sed -e 's@/usr/bin/@@' -i Makefile
'';
makeFlags = ["PREFIX=$(out)"];
meta = {
inherit version;
description = "";
# Code cannot be used in commercial programs
# Looks like the definition hinges on the price, not license
license = stdenv.lib.licenses.unfree;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = "https://www.fractint.net/";
};
}

View file

@ -3,6 +3,11 @@
, libgnomecanvas, libgnomeprint, libgnomeprintui
, pango, libX11, xproto, zlib, poppler
, autoconf, automake, libtool, pkgconfig}:
let
isGdkQuartzBackend = (gtk2.gdktarget == "quartz");
in
stdenv.mkDerivation rec {
version = "0.4.8";
name = "xournal-" + version;
@ -21,7 +26,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
NIX_LDFLAGS = [ "-lX11" "-lz" ];
patches = stdenv.lib.optionals isGdkQuartzBackend [
./gdk-quartz-backend.patch
];
NIX_LDFLAGS = [ "-lz" ]
++ stdenv.lib.optionals (!isGdkQuartzBackend) [ "-lX11" ];
desktopItem = makeDesktopItem {
name = name;

View file

@ -0,0 +1,90 @@
diff -rup xournal-0.4.8-orig/src/Makefile.am xournal-0.4.8/src/Makefile.am
--- xournal-0.4.8-orig/src/Makefile.am 2012-07-04 23:12:47.000000000 +0200
+++ xournal-0.4.8/src/Makefile.am 2016-12-25 03:04:00.000000000 +0100
@@ -31,6 +31,5 @@ if WIN32
xournal_LDFLAGS = -mwindows
xournal_LDADD = win32/xournal.res ttsubset/libttsubset.a @PACKAGE_LIBS@ $(INTLLIBS) -lz
else
- xournal_LDADD = ttsubset/libttsubset.a @PACKAGE_LIBS@ $(INTLLIBS) -lX11 -lz -lm
+ xournal_LDADD = ttsubset/libttsubset.a @PACKAGE_LIBS@ $(INTLLIBS) -lz -lm
endif
-
diff -rup xournal-0.4.8-orig/src/xo-file.c xournal-0.4.8/src/xo-file.c
--- xournal-0.4.8-orig/src/xo-file.c 2014-06-28 21:52:25.000000000 +0200
+++ xournal-0.4.8/src/xo-file.c 2016-12-25 03:07:19.000000000 +0100
@@ -31,11 +31,6 @@
#include <glib/gstdio.h>
#include <poppler/glib/poppler.h>
-#ifndef WIN32
- #include <gdk/gdkx.h>
- #include <X11/Xlib.h>
-#endif
-
#include "xournal.h"
#include "xo-interface.h"
#include "xo-support.h"
@@ -1275,50 +1270,8 @@ GList *attempt_load_gv_bg(char *filename
struct Background *attempt_screenshot_bg(void)
{
-#ifndef WIN32
- struct Background *bg;
- GdkPixbuf *pix;
- XEvent x_event;
- GdkWindow *window;
- GdkColormap *cmap;
- int x,y,w,h;
- Window x_root, x_win;
-
- x_root = gdk_x11_get_default_root_xwindow();
-
- if (!XGrabButton(GDK_DISPLAY(), AnyButton, AnyModifier, x_root,
- False, ButtonReleaseMask, GrabModeAsync, GrabModeSync, None, None))
- return NULL;
-
- XWindowEvent (GDK_DISPLAY(), x_root, ButtonReleaseMask, &x_event);
- XUngrabButton(GDK_DISPLAY(), AnyButton, AnyModifier, x_root);
-
- x_win = x_event.xbutton.subwindow;
- if (x_win == None) x_win = x_root;
-
- window = gdk_window_foreign_new_for_display(gdk_display_get_default(), x_win);
-
- gdk_window_get_geometry(window, &x, &y, &w, &h, NULL);
- cmap = gdk_drawable_get_colormap(window);
- if (cmap == NULL) cmap = gdk_colormap_get_system();
-
- pix = gdk_pixbuf_get_from_drawable(NULL, window,
- cmap, 0, 0, 0, 0, w, h);
-
- if (pix == NULL) return NULL;
-
- bg = g_new(struct Background, 1);
- bg->type = BG_PIXMAP;
- bg->canvas_item = NULL;
- bg->pixbuf = pix;
- bg->pixbuf_scale = DEFAULT_ZOOM;
- bg->filename = new_refstring(NULL);
- bg->file_domain = DOMAIN_ATTACH;
- return bg;
-#else
// not implemented under WIN32
return FALSE;
-#endif
}
/************** pdf annotation ***************/
diff -rup xournal-0.4.8-orig/src/xo-misc.c xournal-0.4.8/src/xo-misc.c
--- xournal-0.4.8-orig/src/xo-misc.c 2014-06-28 15:17:44.000000000 +0200
+++ xournal-0.4.8/src/xo-misc.c 2016-12-25 03:05:50.000000000 +0100
@@ -2288,9 +2288,7 @@ void hide_unimplemented(void)
}
/* screenshot feature doesn't work yet in Win32 */
-#ifdef WIN32
gtk_widget_hide(GET_COMPONENT("journalScreenshot"));
-#endif
}
// toggle fullscreen mode

View file

@ -10,11 +10,11 @@ let
};
in
stdenv.mkDerivation rec {
name = "ding-1.8";
name = "ding-1.8.1";
src = fetchurl {
url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/${name}.tar.gz";
sha256 = "00z97ndwmzsgig9q6y98y8nbxy76pyi9qyj5qfpbbck24gakpz5l";
sha256 = "0chjqs3z9zs1w3l7b5lsaj682rgnkf9kibcbzhggqqcn1pbvl5sq";
};
buildInputs = [ aspellEnv fortune gnugrep makeWrapper tk tre ];
@ -36,11 +36,11 @@ stdenv.mkDerivation rec {
sed -i "s@/usr/bin/ding@$out/bin/ding@g" ding.desktop
cp ding $out/bin/
cp de-en.txt $out/share/dict/
cp ding.1 $out/share/man/man1/
cp ding.png $out/share/pixmaps/
cp ding.desktop $out/share/applications/
cp -v ding $out/bin/
cp -v de-en.txt $out/share/dict/
cp -v ding.1 $out/share/man/man1/
cp -v ding.png $out/share/pixmaps/
cp -v ding.desktop $out/share/applications/
wrapProgram $out/bin/ding --prefix PATH : ${stdenv.lib.makeBinPath [ gnugrep aspellEnv tk fortune ]} --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\""
'';

View file

@ -1,16 +1,16 @@
{ stdenv, fetchFromGitHub, cmake, boost, miniupnpc, pkgconfig, unbound }:
let
version = "0.9.4";
version = "0.10.1";
in
stdenv.mkDerivation {
name = "monero-${version}";
src = fetchFromGitHub {
owner = "monero-project";
repo = "bitmonero";
repo = "monero";
rev = "v${version}";
sha256 = "1qzpy1mxz0ky6hfk1gf67ybbr9xy6p6irh6zwri35h1gb97sbc3c";
sha256 = "1zngskpgxz3vqq348h0mab2kv95z6g9ckvqkr77mx15m5z3qi6aw";
};
nativeBuildInputs = [ cmake pkgconfig ];
@ -27,19 +27,17 @@ stdenv.mkDerivation {
installPhase = ''
install -Dt "$out/bin/" \
bin/bitmonerod \
bin/blockchain_converter \
bin/blockchain_dump \
bin/blockchain_export \
bin/blockchain_import \
bin/cn_deserialize \
bin/simpleminer \
bin/simplewallet
bin/monerod \
bin/monero-blockchain-export \
bin/monero-blockchain-import \
bin/monero-utils-deserialize \
bin/monero-wallet-cli \
bin/monero-wallet-rpc
'';
meta = with stdenv.lib; {
description = "Private, secure, untraceable currency";
homepage = http://monero.cc/;
homepage = https://getmonero.org/;
license = licenses.bsd3;
maintainers = [ maintainers.ehmry ];
platforms = [ "x86_64-linux" ];

View file

@ -3,12 +3,12 @@
}:
stdenv.mkDerivation rec {
version = "1.3.0";
version = "1.3.1";
name = "rofi-${version}";
src = fetchurl {
url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.xz";
sha256 = "1a65ai93ygras5bi7wc0s5i3zqslzqlnw3klq3sdnp2p0d6hjjqn";
url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/${name}.tar.gz";
sha256 = "09i3vd8k6zqphrm382fglsmxc4q6dg00xddzl96kakszgvdd4qfs";
};
preConfigure = ''

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "styx-${version}";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "styx-static";
repo = "styx";
rev = "v${version}";
sha256 = "1s4465absxqwlwhn5rf51h0s1rw25ls581yjg0fy9kbyhy979qvs";
sha256 = "0v36i40cwrajsd02xjfdldih5g493m28lhzgjg1gd3pwk2yd6rm1";
};
setSourceRoot = "cd styx-*/src; export sourceRoot=`pwd`";
@ -26,20 +26,27 @@ stdenv.mkDerivation rec {
multimarkdown
];
outputs = [ "out" "lib" ];
installPhase = ''
mkdir $out
install -D -m 777 styx.sh $out/bin/styx
mkdir -p $out/share/styx
cp -r lib $out/share/styx
cp -r scaffold $out/share/styx
cp builder.nix $out/share/styx
mkdir -p $out/share/doc/styx
asciidoctor doc/manual.adoc -o $out/share/doc/styx/index.html
asciidoctor doc/index.adoc -o $out/share/doc/styx/index.html
asciidoctor doc/styx-themes.adoc -o $out/share/doc/styx/styx-themes.html
cp -r doc/imgs $out/share/doc/styx/
substituteAllInPlace $out/bin/styx
substituteAllInPlace $out/share/doc/styx/index.html
substituteAllInPlace $out/share/doc/styx/styx-themes.html
mkdir $lib
cp -r lib/* $lib
'';
meta = with stdenv.lib; {

View file

@ -7,7 +7,7 @@ let
src = fetchFromGitHub ({
owner = "styx-static";
repo = "styx-theme-${args.themeName}";
repo = "styx-theme-${args.themeName}";
} // args.src);
installPhase = ''
@ -28,10 +28,10 @@ in
{
agency = mkThemeDrv {
themeName = "agency";
version = "2016-12-03";
version = "20167-01-17";
src = {
rev = "3604239cc5d940eee9c14ad2540d68a53cfebd7e";
sha256 = "1kk8d5a3lb7fx1avivjd49gv0ffq7ppiswmwqlcsq87h2dbrqf61";
rev = "3201f65841c9e7f97cc0ab0264cafb01b1620ed7";
sha256 = "1b3547lzmhs1lmr9gln1yvh5xrsg92m8ngrjwf0ny91y81x04da6";
};
meta = {
license = stdenv.lib.licenses.asl20;
@ -44,28 +44,40 @@ in
};
};
generic-templates = mkThemeDrv {
themeName = "generic-templates";
version = "2017-01-18";
src = {
rev = "af7cd527584322d8731a306a137a1794b18ad71a";
sha256 = "18zk4qihi8iw5dxkm9sf6cjai1mf22l6q1ykkrgaxjd5709is0li";
};
meta = {
license = stdenv.lib.licenses.mit;
};
};
hyde = mkThemeDrv {
themeName = "hyde";
version = "2016-12-03";
version = "2017-01-17";
src = {
rev = "b6b9b77839959fbf3c9ca3a4488617fa1831cd28";
sha256 = "0d1k03mjn08s3rpc5rdivb8ahr345kblhqyihxnfgd1501ih9pg6";
rev = "22caf4edc738f399bb1013d8e968d111c7fa2a59";
sha256 = "1a2j3m941vc2pyb1dz341ww5l3xblg527szfrfqh588lmsrkdqb6";
};
meta = {
license = stdenv.lib.licenses.mit;
longDescription = ''
Hyde is a brazen two-column Jekyll theme that pairs a prominent sidebar
with uncomplicated content.
Port of the Jekyll Hyde theme to styx; Hyde is a brazen two-column
Styx theme that pairs a prominent sidebar with uncomplicated content.
'';
};
};
orbit = mkThemeDrv {
themeName = "orbit";
version = "2016-12-03";
version = "2017-01-17";
src = {
rev = "1d41745c689c4336d4e2bfbb2483b80e67ec96e4";
sha256 = "19pp9dykqxmrixn3cvqpdpcqy547y9n5izqhz0c4a11mmm0v3v64";
rev = "b5896e25561f05e026b34d04ad95a647ddfc3d03";
sha256 = "11p11f2d0swgjil5hfx153yw13p7pcp6fwx1bnvxrlfmmx9x2yj5";
};
meta = {
license = stdenv.lib.licenses.cc-by-30;
@ -77,10 +89,10 @@ in
showcase = mkThemeDrv {
themeName = "showcase";
version = "2016-12-04";
version = "2017-01-17";
src = {
rev = "33feb0a09183e88d3580e9444ea36a255dffef60";
sha256 = "01ighlnrja442ip5fhllydl77bfdz8yig80spmizivdfxdrdiyyf";
rev = "1b4b9d4af29c05aaadfd58233f0e3f61fac726af";
sha256 = "0mwd1ycwvlv15y431336wwlv8mdv0ikz1aymh3yxhjyxqllc2snk";
};
meta = {
license = stdenv.lib.licenses.mit;

View file

@ -94,12 +94,12 @@ let
flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}";
version = "24.0.0.186";
version = "24.0.0.194";
src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
+ "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "1pwayhnfjvb6gal5msw0k8rv4h6jvl0mpfsi0jqlka00cnyfjqpd";
sha256 = "1l9gz81mwb4p1yj9n8s7hrkxdyw0amcpcc3295dq7zhsr35dm76z";
stripRoot = false;
};

View file

@ -51,18 +51,18 @@ stdenv.mkDerivation rec {
# You can get the upstream version and SHA-1 hash from the following URLs:
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | grep -E 'Version|SHA1'
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-i386/Packages | grep -E 'Version|SHA1'
version = "5.41.0.0";
version = "5.41.3.0";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
sha1 = "1c3cc0411444587b56178de4868eb5d0ff742ec0";
sha1 = "0bbc3d6997ba22ce712d93e5bc336c894b54fc81";
}
else if stdenv.system == "i686-linux" then
fetchurl {
url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
sha1 = "0d31d726c5e9a49917e2749e73386b1c0fdcb376";
sha1 = "6eae0544858f85c68b0cc46d7786e990bd94f139";
}
else throw "Google Talk does not support your platform.";

View file

@ -4,12 +4,12 @@ let
then "linux-amd64"
else "darwin-amd64";
checksum = if stdenv.isLinux
then "1797ab74720f122432eace591fb415e5e5f5db97f4b6608ca8dbe59bae988374"
else "2b522dcfe27e987138f7826c79fb26a187075dd9be5c5a4c76fd6846bf109014";
then "8bb6f9d336ca7913556e463c5b65eb8d69778c518df2fab0d20be943fbf0efc1"
else "94c9f2d511aec3d4b7dcc5f0ce6f846506169b4eb7235e1dc137d08edf408098";
in
stdenv.mkDerivation rec {
pname = "helm";
version = "2.1.2";
version = "2.1.3";
name = "${pname}-${version}";
src = fetchurl {

View file

@ -17,13 +17,13 @@ with lib;
stdenv.mkDerivation rec {
name = "kubernetes-${version}";
version = "1.4.6";
version = "1.5.2";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "kubernetes";
rev = "v${version}";
sha256 = "1n5ppzr9hnn7ljfdgx40rnkn6n6a9ya0qyrhjhpnbfwz5mdp8ws3";
sha256 = "1ps9bn5gqknyjv0b9jvp7xg3cyd4anq11j785p22347al0b8w81v";
};
buildInputs = [ makeWrapper which go rsync go-bindata ];
@ -33,8 +33,9 @@ stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace "hack/lib/golang.sh" --replace "_cgo" ""
substituteInPlace "hack/generate-docs.sh" --replace "make" "make SHELL=${stdenv.shell}"
substituteInPlace "hack/update-munge-docs.sh" --replace "make" "make SHELL=${stdenv.shell}"
substituteInPlace "hack/update-munge-docs.sh" --replace "kube::util::git_upstream_remote_name" "echo origin"
# hack/update-munge-docs.sh only performs some tests on the documentation.
# They broke building k8s; disabled for now.
echo "true" > "hack/update-munge-docs.sh"
patchShebangs ./hack
'';

View file

@ -4,12 +4,12 @@ let
then "linux-amd64"
else "darwin-amd64";
checksum = if stdenv.isLinux
then "17r8w4lvj7fhh7qppi9z5i2fpqqry4s61zjr9zmsbybc5flnsw2j"
else "0jf0kd1mm35qcf0ydr5yyzfq6qi8ifxchvpjsydb1gm1kikp5g3p";
then "1g6k3va84nm2h9z2ywbbkc8jabgkarqlf8wv1sp2p6s6hw7hi5h3"
else "0jpwyvgpl34n07chcyd7ldvk3jq3rx72cp8yf0bh7gnzr5lcnxnc";
in
stdenv.mkDerivation rec {
pname = "minikube";
version = "0.13.1";
version = "0.15.0";
name = "${pname}-${version}";
src = fetchurl {
@ -30,9 +30,6 @@ stdenv.mkDerivation rec {
installPhase = ''
cp $src $out/bin/${pname}
chmod +x $out/bin/${pname}
mkdir -p $out/share/bash-completion/completions/
HOME=$(pwd) $out/bin/minikube completion bash > $out/share/bash-completion/completions/minikube
'';
meta = with stdenv.lib; {

View file

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "terraform-${version}";
version = "0.8.2";
version = "0.8.4";
rev = "v${version}";
goPackagePath = "github.com/hashicorp/terraform";
@ -11,7 +11,7 @@ buildGoPackage rec {
inherit rev;
owner = "hashicorp";
repo = "terraform";
sha256 = "1645la750lqx2m57sbl6xg1cnqgwrfk5dhcw08wm4z7zxdnqys7b";
sha256 = "0wjz7plzi7bgrbw22kgqpbai1j3rmqayrmjcp9dq6a361l9a0msw";
};
postInstall = ''

View file

@ -2,16 +2,15 @@
buildGoPackage rec {
name = "terragrunt-${version}";
version = "0.8.0";
rev = "v${version}";
version = "0.9.1";
goPackagePath = "github.com/gruntwork-io/terragrunt";
src = fetchFromGitHub {
inherit rev;
rev = "v${version}";
owner = "gruntwork-io";
repo = "terragrunt";
sha256 = "1d035p2r6d8c1crxvpi5ayb9jx6f2pdgzw2197zhllavyi8n8dw1";
sha256 = "19im4sazw09854lnzalljwx22qswly8ffyys3yrjkd2l9vfxfly3";
};
goDeps = ./deps.nix;
@ -20,7 +19,7 @@ buildGoPackage rec {
postInstall = ''
wrapProgram $bin/bin/terragrunt \
--suffix PATH : ${lib.makeBinPath [ terraform ]}
--set TERRAGRUNT_TFPATH ${lib.getBin terraform}/bin/terraform
'';
meta = with stdenv.lib; {

View file

@ -5,8 +5,8 @@
fetch = {
type = "git";
url = "https://github.com/aws/aws-sdk-go";
rev = "8649d278323ebf6bd20c9cd56ecb152b1c617375";
sha256 = "0m2nxdlvi90vw68ds9qby291skc5d0dgqi3pkalr8ma3kd9r9khv";
rev = "5e1afe1c0a077fb2da9b5f74232b790d99397ce8";
sha256 = "073yx5acqybw0h2zshg209wmldm0g5h5x9bhbn6h08ak0r4i80al";
};
}
{
@ -32,8 +32,8 @@
fetch = {
type = "git";
url = "https://github.com/mattn/go-zglob";
rev = "0b24567ec079616e9897f635f542e3bf56abb3d0";
sha256 = "0380dqsy0qdjranl5qfmmcr6a4g7sw4z26g1bld9y1s66madl03l";
rev = "1783ae1a9f7ff3a79240e8c249d8b575d70a6528";
sha256 = "0g4ih6swqpq0bqwsv5mv8ymicgr92xh9i6sm1793lqwb63x8ga1x";
};
}
{

View file

@ -23,11 +23,11 @@
let
# NOTE: When updating, please also update in current stable,
# as older versions stop working
version = "16.4.30";
version = "17.4.33";
sha256 =
{
"x86_64-linux" = "0inwc12d14i6gyfllxbhizb434a7vy0l5nvc07kz0bca7c4665wb";
"i686-linux" = "0pdn8558ll317k3jrrjir90pn6abwbm99y9wzdq39wxj4dmrlh6w";
"x86_64-linux" = "0q3afwzd48mdv4mj4zbm6bvafj4hv18ianzhwjxz5dj6njv7s47y";
"i686-linux" = "0wgq94if8wx08kqzsj6n20aia29h1qfn448ww63yn8dvkp6nlpya";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch =

View file

@ -2,15 +2,16 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "bitlbee-3.4.2";
name = "bitlbee-3.5";
src = fetchurl {
url = "mirror://bitlbee/src/${name}.tar.gz";
sha256 = "0mza8lnfwibmklz8hdzg4f7p83hblf4h6fbf7d732kzpvra5bj39";
sha256 = "06c371bjly38yrkvfwdh5rjfx9xfl7bszyhrlbldy0xk38c057al";
};
buildInputs = [ gnutls glib pkgconfig libotr python ]
++ optional doCheck check;
nativeBuildInputs = [ pkgconfig ] ++ optional doCheck check;
buildInputs = [ gnutls glib libotr python ];
configureFlags = [
"--gcov=1"

View file

@ -7,7 +7,7 @@
, enableRST ? true
, enableSpelling ? true, gtkspell2 ? null
, enableNotifications ? false
, enableOmemoPluginDependencies ? false
, enableOmemoPluginDependencies ? true
, extraPythonPackages ? pkgs: []
}:

View file

@ -3,7 +3,7 @@
, breakpad, ffmpeg, openalSoft, openssl, zlib, libexif, lzma, libopus
, gtk2, glib, cairo, pango, gdk_pixbuf, atk, libappindicator-gtk2
, libwebp, libunity, dee, libdbusmenu-glib, libva-full, wayland
, xcbutilrenderutil, icu, libSM, libICE, libproxy
, xcbutilrenderutil, icu, libSM, libICE, libproxy, libvdpau
, libxcb, xcbutilwm, xcbutilimage, xcbutilkeysyms, libxkbcommon
, libpng, libjpeg, freetype, harfbuzz, pcre16, xproto, libX11
@ -19,20 +19,20 @@ let
in stdenv.mkDerivation rec {
name = "telegram-desktop-${version}";
version = "0.10.19";
version = "1.0.0";
qtVersion = lib.replaceStrings ["."] ["_"] packagedQt;
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
sha256 = "1p07kxfmcd90sx9bq046x03h1h807vs0pn64lfghr6m6ln8z44s3";
sha256 = "1qxzi82cgd8klk6rn83rzrmik0s76alarfaknknww5iw5px7gi8b";
};
tgaur = fetchgit {
url = "https://aur.archlinux.org/telegram-desktop.git";
rev = "99bb0519f14e23fafb6884fe296d34b6f8bed5c3";
sha256 = "0z5m3binbl06kk34plmfblhqz6hlnkbnjb93sam0c6c995k3sz82";
rev = "957a76f9fb691486341bcf4781ad0ef3d16f6b69";
sha256 = "01nrvvq0mrdyvamjgqr4z5aahyd1wrf28jyddpfsnixp2w5kxqj8";
};
buildInputs = [
@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
# Qt dependencies
libxcb xcbutilwm xcbutilimage xcbutilkeysyms libxkbcommon
libpng libjpeg freetype harfbuzz pcre16 xproto libX11
inputproto sqlite dbus libwebp wayland
inputproto sqlite dbus libwebp wayland libvdpau
];
nativeBuildInputs = [ pkgconfig gyp cmake ];

View file

@ -1,6 +1,9 @@
{ stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper
, openssl, curl, libevent, inotify-tools, systemd, zlib
, enableGTK3 ? false, gtk3
, enableSystemd ? stdenv.isLinux
, enableDaemon ? true
, enableCli ? true
}:
let
@ -17,18 +20,24 @@ stdenv.mkDerivation rec {
sha256 = "0pykmhi7pdmzq47glbj8i2im6iarp4wnj4l1pyvsrnba61f0939s";
};
buildInputs = [ pkgconfig intltool file openssl curl libevent inotify-tools zlib ]
buildInputs = [ pkgconfig intltool file openssl curl libevent zlib ]
++ optionals enableGTK3 [ gtk3 makeWrapper ]
++ optional stdenv.isLinux systemd;
++ optionals enableSystemd [ systemd ]
++ optionals stdenv.isLinux [ inotify-tools ];
postPatch = ''
substituteInPlace ./configure \
--replace "libsystemd-daemon" "libsystemd" \
--replace "/usr/bin/file" "${file}/bin/file"
--replace "/usr/bin/file" "${file}/bin/file" \
--replace "test ! -d /Developer/SDKs/MacOSX10.5.sdk" "false"
'';
configureFlags = [ "--with-systemd-daemon" ]
++ [ "--enable-cli" ]
configureFlags = [
("--enable-cli=" + (if enableCli then "yes" else "no"))
("--enable-daemon=" + (if enableDaemon then "yes" else "no"))
"--disable-mac" # requires xcodebuild
]
++ optional enableSystemd "--with-systemd-daemon"
++ optional enableGTK3 "--with-gtk";
preFixup = optionalString enableGTK3 /* gsettings schemas for file dialogues */ ''
@ -37,6 +46,8 @@ stdenv.mkDerivation rec {
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation";
meta = with stdenv.lib; {
description = "A fast, easy and free BitTorrent client";
longDescription = ''
@ -53,7 +64,7 @@ stdenv.mkDerivation rec {
homepage = http://www.transmissionbt.com/;
license = licenses.gpl2; # parts are under MIT
maintainers = with maintainers; [ astsmtl vcunat wizeman ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View file

@ -1,14 +1,20 @@
{ stdenv, lib, fetchFromGitHub, go, pkgs }:
let
removeExpr = ref: ''
sed -i "s,${ref},$(echo "${ref}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" \
'';
in
stdenv.mkDerivation rec {
version = "0.14.18";
version = "0.14.19";
name = "syncthing-${version}";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
sha256 = "099r1n9awznv17ac1fm4ff6az40bvk6xxwaw8x8fx7ikqi1wv8vp";
sha256 = "16wpw9ndx3x37mfnymp2fx9n2az9ibyr61zgq3mh2mszzzl7bkcg";
};
buildInputs = [ go ];
@ -42,6 +48,10 @@ stdenv.mkDerivation rec {
--replace /usr/bin/syncthing $out/bin/syncthing
'';
preFixup = ''
find $out/bin -type f -exec ${removeExpr go} '{}' '+'
'';
meta = with stdenv.lib; {
homepage = https://www.syncthing.net/;
description = "Open Source Continuous File Synchronization";

View file

@ -0,0 +1,35 @@
{ stdenv, fetchurl, python2Packages, librsvg }:
with stdenv.lib;
python2Packages.buildPythonApplication rec {
name = "tryton-${version}";
version = "4.2.1";
src = fetchurl {
url = "mirror://pypi/t/tryton/${name}.tar.gz";
sha256 = "1ry3kvbk769m8rwqa90pplfvmmgsv4jj9w1aqhv892smia8f0ybm";
};
propagatedBuildInputs = with python2Packages; [
chardet
dateutil
pygtk
librsvg
];
makeWrapperArgs = [
''--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"''
];
meta = {
description = "The client of the Tryton application platform";
longDescription = ''
The client for Tryton, a three-tier high-level general purpose
application platform under the license GPL-3 written in Python and using
PostgreSQL as database engine.
It is the core base of a complete business solution providing
modularity, scalability and security.
'';
homepage = http://www.tryton.org/;
license = licenses.gpl3Plus;
maintainers = [ maintainers.johbo ];
};
}

View file

@ -1,26 +1,25 @@
{ stdenv, fetchurl, perl, nettools, java, polyml }:
{ stdenv, fetchurl, perl, nettools, java, polyml, z3 }:
# nettools needed for hostname
let
dirname = "Isabelle2016";
theories = ["HOL" "FOL" "ZF"];
dirname = "Isabelle2016-1";
in
stdenv.mkDerivation {
name = "isabelle-2016";
inherit dirname theories;
name = "isabelle-2016-1";
inherit dirname;
src = if stdenv.isDarwin
then fetchurl {
url = "http://isabelle.in.tum.de/website-${dirname}/dist/${dirname}.dmg";
sha256 = "0wawf0cjc52h8hif1867p33qhlh6qz0fy5i2kr1gbf7psickd6iw";
sha256 = "0553l7m2z32ajmiv6sgg11rh16n490w8i4q9hr7vx4zzggr9nrlr";
}
else fetchurl {
url = "http://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
sha256 = "0jh1qrsyib13fycymwvw7dq7xfy4iyplwq0s65ash842cdzkbxb4";
sha256 = "1w1cgfmmi1sr43z6hczyc29lxlnlz7dd8fa88ai44wkc13y05b5r";
};
buildInputs = [ perl polyml ]
buildInputs = [ perl polyml z3 ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ nettools java ];
sourceRoot = dirname;
@ -42,7 +41,14 @@ stdenv.mkDerivation {
--replace '$POLYML_HOME/$PLATFORM/polyml' ${polyml}/bin/poly
substituteInPlace lib/scripts/run-polyml* lib/scripts/polyml-version \
--replace '$ML_HOME/poly' ${polyml}/bin/poly
'';
substituteInPlace contrib/z3*/etc/settings \
--replace '$Z3_HOME/z3' '${z3}/bin/z3'
'' + (if ! stdenv.isLinux then "" else ''
arch=${if stdenv.system == "x86_64-linux" then "x86_64-linux" else "x86-linux"}
for f in contrib/*/$arch/{bash_process,epclextract,eprover,nunchaku,SPASS}; do
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f"
done
'');
installPhase = ''
mkdir -p $out/bin

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "lean-${version}";
version = "2017-01-06";
version = "2017-01-14";
src = fetchFromGitHub {
owner = "leanprover";
repo = "lean";
rev = "6f8ccb5873b6f72d735e700e25044e99c6ebb7b6";
sha256 = "1nxbqdc6faxivbrifb7b9j5zl5kml9w5pa63afh93z2ng7mn0jyg";
rev = "6e9a6d15dbfba3e8a1560d2cfcdbc7d81314d7bb";
sha256 = "0wi1jssj1bi45rji4prlnvzs8nr48mqnj9yg5vnhah4rsjwl20km";
};
buildInputs = [ gmp mpfr cmake gperftools ];

View file

@ -0,0 +1,21 @@
{ stdenv, fetchFromGitHub, pythonPackages }:
pythonPackages.buildPythonApplication rec {
name = "git-crecord-${version}";
version = "20161216.0";
src = fetchFromGitHub {
owner = "andrewshadura";
repo = "git-crecord";
rev = version;
sha256 = "0v3y90zi43myyi4k7q3892dcrbyi9dn2q6xgk12nw9db9zil269i";
};
propagatedBuildInputs = with pythonPackages; [ docutils ];
meta = {
homepage = https://github.com/andrewshadura/git-crecord;
description = "Git subcommand to interactively select changes to commit or stage";
license = stdenv.lib.licenses.gpl2Plus;
};
}

View file

@ -1,14 +1,14 @@
{ stdenv, ruby, bundler, fetchFromGitLab }:
stdenv.mkDerivation rec {
version = "3.6.6";
version = "4.1.1";
name = "gitlab-shell-${version}";
srcs = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-shell";
rev = "v${version}";
sha256 = "1dg9ldsyly2r3amkl0d96m084az360b7nz9rhhf61x06d4z09xif";
sha256 = "1i7dqs0csqcjwkvg8csz5f1zxy1inrzxzz3g9j618aldqxzjfgnr";
};
buildInputs = [

View file

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitLab, git, go }:
stdenv.mkDerivation rec {
version = "0.8.5";
version = "1.2.1";
name = "gitlab-workhorse-${version}";
srcs = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-workhorse";
rev = "v${version}";
sha256 = "0q6kd59sb5wm63r8zdvbkn4j6fk2n743pjhkbmg4rzngvjivxqzr";
sha256 = "1z4iyymld3pssf1dwar0hy6c5hii79gk4k59mqj0mgy2k73405y0";
};
buildInputs = [ git go ];

View file

@ -22,17 +22,17 @@ gem 'doorkeeper', '~> 4.2.0'
gem 'omniauth', '~> 1.3.1'
gem 'omniauth-auth0', '~> 1.4.1'
gem 'omniauth-azure-oauth2', '~> 0.0.6'
gem 'omniauth-bitbucket', '~> 0.0.2'
gem 'omniauth-cas3', '~> 1.1.2'
gem 'omniauth-facebook', '~> 4.0.0'
gem 'omniauth-github', '~> 1.1.1'
gem 'omniauth-gitlab', '~> 1.0.0'
gem 'omniauth-gitlab', '~> 1.0.2'
gem 'omniauth-google-oauth2', '~> 0.4.1'
gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
gem 'omniauth-saml', '~> 1.7.0'
gem 'omniauth-shibboleth', '~> 1.2.0'
gem 'omniauth-twitter', '~> 1.2.0'
gem 'omniauth_crowd', '~> 2.2.0'
gem 'omniauth-authentiq', '~> 0.2.0'
gem 'rack-oauth2', '~> 1.2.1'
gem 'jwt'
@ -67,8 +67,8 @@ gem 'gollum-rugged_adapter', '~> 0.4.2', require: false
gem 'github-linguist', '~> 4.7.0', require: 'linguist'
# API
gem 'grape', '~> 0.15.0'
gem 'grape-entity', '~> 0.4.2'
gem 'grape', '~> 0.18.0'
gem 'grape-entity', '~> 0.6.0'
gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
# Pagination
@ -85,13 +85,15 @@ gem 'dropzonejs-rails', '~> 0.7.1'
# for backups
gem 'fog-aws', '~> 0.9'
gem 'fog-azure', '~> 0.0'
gem 'fog-core', '~> 1.40'
gem 'fog-google', '~> 0.5'
gem 'fog-local', '~> 0.3'
gem 'fog-google', '~> 0.3'
gem 'fog-openstack', '~> 0.1'
gem 'fog-rackspace', '~> 0.1.1'
# for Google storage
gem 'google-api-client', '~> 0.8.6'
# for aws storage
gem 'unf', '~> 0.1.4'
@ -100,11 +102,11 @@ gem 'seed-fu', '~> 2.3.5'
# Markdown and HTML processing
gem 'html-pipeline', '~> 1.11.0'
gem 'deckar01-task_list', '1.0.5', require: 'task_list/railtie'
gem 'gitlab-markup', '~> 1.5.0'
gem 'deckar01-task_list', '1.0.6', require: 'task_list/railtie'
gem 'gitlab-markup', '~> 1.5.1'
gem 'redcarpet', '~> 3.3.3'
gem 'RedCloth', '~> 4.3.2'
gem 'rdoc', '~>3.6'
gem 'rdoc', '~> 4.2'
gem 'org-ruby', '~> 0.9.12'
gem 'creole', '~> 0.5.0'
gem 'wikicloth', '0.8.1'
@ -117,7 +119,7 @@ gem 'truncato', '~> 0.7.8'
gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2', '< 1.6.8'
# Diffs
gem 'diffy', '~> 3.0.3'
gem 'diffy', '~> 3.1.0'
# Application server
group :unicorn do
@ -134,9 +136,10 @@ gem 'after_commit_queue', '~> 1.3.0'
gem 'acts-as-taggable-on', '~> 4.0'
# Background jobs
gem 'sidekiq', '~> 4.2'
gem 'sidekiq-cron', '~> 0.4.0'
gem 'sidekiq', '~> 4.2.7'
gem 'sidekiq-cron', '~> 0.4.4'
gem 'redis-namespace', '~> 1.5.2'
gem 'sidekiq-limit_fetch', '~> 3.4'
# HTTP requests
gem 'httparty', '~> 0.13.3'
@ -152,7 +155,7 @@ gem 'settingslogic', '~> 2.0.9'
gem 'version_sorter', '~> 2.1.0'
# Cache
gem 'redis-rails', '~> 4.0.0'
gem 'redis-rails', '~> 5.0.1'
# Redis
gem 'redis', '~> 3.2'
@ -161,6 +164,9 @@ gem 'connection_pool', '~> 2.0'
# HipChat integration
gem 'hipchat', '~> 1.5.0'
# JIRA integration
gem 'jira-ruby', '~> 1.1.2'
# Flowdock integration
gem 'gitlab-flowdock-git-hook', '~> 1.0.1'
@ -168,7 +174,7 @@ gem 'gitlab-flowdock-git-hook', '~> 1.0.1'
gem 'gemnasium-gitlab-service', '~> 0.2'
# Slack integration
gem 'slack-notifier', '~> 1.2.0'
gem 'slack-notifier', '~> 1.5.1'
# Asana integration
gem 'asana', '~> 0.4.0'
@ -176,6 +182,9 @@ gem 'asana', '~> 0.4.0'
# FogBugz integration
gem 'ruby-fogbugz', '~> 0.2.1'
# Kubernetes integration
gem 'kubeclient', '~> 2.2.0'
# d3
gem 'd3_rails', '~> 3.5.0'
@ -193,7 +202,7 @@ gem 'loofah', '~> 2.0.3'
gem 'licensee', '~> 8.0.0'
# Protect against bruteforcing
gem 'rack-attack', '~> 4.3.1'
gem 'rack-attack', '~> 4.4.1'
# Ace editor
gem 'ace-rails-ap', '~> 4.1.0'
@ -214,8 +223,7 @@ gem 'chronic_duration', '~> 0.10.6'
gem 'sass-rails', '~> 5.0.6'
gem 'coffee-rails', '~> 4.1.0'
gem 'uglifier', '~> 2.7.2'
gem 'turbolinks', '~> 2.5.0'
gem 'jquery-turbolinks', '~> 2.1.0'
gem 'gitlab-turbolinks-classic', '~> 2.5', '>= 2.5.6'
gem 'addressable', '~> 2.3.8'
gem 'bootstrap-sass', '~> 3.3.0'
@ -257,22 +265,19 @@ group :development do
gem 'better_errors', '~> 1.0.1'
gem 'binding_of_caller', '~> 0.7.2'
# Docs generator
gem 'sdoc', '~> 0.3.20'
# thin instead webrick
gem 'thin', '~> 1.7.0'
end
group :development, :test do
gem 'byebug', '~> 8.2.1', platform: :mri
gem 'pry-byebug', '~> 3.4.1', platform: :mri
gem 'pry-rails', '~> 0.3.4'
gem 'awesome_print', '~> 1.2.0', require: false
gem 'fuubar', '~> 2.0.0'
gem 'database_cleaner', '~> 1.5.0'
gem 'factory_girl_rails', '~> 4.6.0'
gem 'factory_girl_rails', '~> 4.7.0'
gem 'rspec-rails', '~> 3.5.0'
gem 'rspec-retry', '~> 0.4.5'
gem 'spinach-rails', '~> 0.2.1'
@ -310,6 +315,8 @@ group :development, :test do
gem 'knapsack', '~> 1.11.0'
gem 'activerecord_sane_schema_dumper', '0.2'
gem 'stackprof', '~> 0.2.10'
end
group :test do
@ -326,21 +333,18 @@ gem 'newrelic_rpm', '~> 3.16'
gem 'octokit', '~> 4.3.0'
gem 'mail_room', '~> 0.8.1'
gem 'mail_room', '~> 0.9.0'
gem 'email_reply_parser', '~> 0.5.8'
gem 'html2text'
gem 'ruby-prof', '~> 0.16.2'
## CI
gem 'activerecord-session_store', '~> 1.0.0'
gem 'nested_form', '~> 0.3.2'
# OAuth
gem 'oauth2', '~> 1.2.0'
# Soft deletion
gem 'paranoia', '~> 2.0'
gem 'paranoia', '~> 2.2'
# Health check
gem 'health_check', '~> 2.2.0'

View file

@ -34,12 +34,6 @@ GEM
arel (~> 6.0)
activerecord-nulldb-adapter (0.3.3)
activerecord (>= 2.0.0)
activerecord-session_store (1.0.0)
actionpack (>= 4.0, < 5.1)
activerecord (>= 4.0, < 5.1)
multi_json (~> 1.11, >= 1.11.2)
rack (>= 1.5.2, < 3)
railties (>= 4.0, < 5.1)
activerecord_sane_schema_dumper (0.2)
rails (>= 4, < 5)
activesupport (4.2.7.1)
@ -66,6 +60,10 @@ GEM
attr_encrypted (3.0.3)
encryptor (~> 3.0.0)
attr_required (1.0.0)
autoparse (0.3.3)
addressable (>= 2.3.1)
extlib (>= 0.9.15)
multi_json (>= 1.0.0)
autoprefixer-rails (6.2.3)
execjs
json
@ -74,21 +72,6 @@ GEM
descendants_tracker (~> 0.0.4)
ice_nine (~> 0.11.0)
thread_safe (~> 0.3, >= 0.3.1)
azure (0.7.5)
addressable (~> 2.3)
azure-core (~> 0.1)
faraday (~> 0.9)
faraday_middleware (~> 0.10)
json (~> 1.8)
mime-types (>= 1, < 3.0)
nokogiri (~> 1.6)
systemu (~> 2.6)
thor (~> 0.19)
uuid (~> 2.0)
azure-core (0.1.2)
faraday (~> 0.9)
faraday_middleware (~> 0.10)
nokogiri (~> 1.6)
babel-source (5.8.35)
babel-transpiler (0.7.0)
babel-source (>= 4.0, < 6)
@ -114,7 +97,7 @@ GEM
bundler-audit (0.5.0)
bundler (~> 1.2)
thor (~> 0.18)
byebug (8.2.1)
byebug (9.0.6)
capybara (2.6.2)
addressable
mime-types (>= 1.16)
@ -149,7 +132,7 @@ GEM
coffee-script-source (1.10.0)
colorize (0.7.7)
concurrent-ruby (1.0.2)
connection_pool (2.2.0)
connection_pool (2.2.1)
crack (0.4.3)
safe_yaml (~> 1.0.0)
creole (0.5.0)
@ -161,7 +144,7 @@ GEM
database_cleaner (1.5.3)
debug_inspector (0.0.2)
debugger-ruby_core_source (1.3.8)
deckar01-task_list (1.0.5)
deckar01-task_list (1.0.6)
activesupport (~> 4.0)
html-pipeline
rack (~> 1.0)
@ -182,8 +165,10 @@ GEM
railties
rotp (~> 2.0)
diff-lcs (1.2.5)
diffy (3.0.7)
diffy (3.1.0)
docile (1.1.5)
domain_name (0.5.20161021)
unf (>= 0.0.5, < 1.0.0)
doorkeeper (4.2.0)
railties (>= 4.2)
dropzonejs-rails (0.7.2)
@ -200,10 +185,11 @@ GEM
excon (0.52.0)
execjs (2.6.0)
expression_parser (0.9.0)
factory_girl (4.5.0)
extlib (0.9.16)
factory_girl (4.7.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.6.0)
factory_girl (~> 4.5.0)
factory_girl_rails (4.7.0)
factory_girl (~> 4.7.0)
railties (>= 3.0.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
@ -225,16 +211,11 @@ GEM
fog-json (~> 1.0)
fog-xml (~> 0.1)
ipaddress (~> 0.8)
fog-azure (0.0.2)
azure (~> 0.6)
fog-core (~> 1.27)
fog-json (~> 1.0)
fog-xml (~> 0.1)
fog-core (1.42.0)
builder
excon (~> 0.49)
formatador (~> 0.2)
fog-google (0.3.2)
fog-google (0.5.0)
fog-core
fog-json
fog-xml
@ -284,7 +265,9 @@ GEM
diff-lcs (~> 1.1)
mime-types (>= 1.16, < 3)
posix-spawn (~> 0.3)
gitlab-markup (1.5.0)
gitlab-markup (1.5.1)
gitlab-turbolinks-classic (2.5.6)
coffee-rails
gitlab_git (10.7.0)
activesupport (~> 4.0)
charlock_holmes (~> 0.7.3)
@ -314,17 +297,36 @@ GEM
json
multi_json
request_store (>= 1.0)
grape (0.15.0)
google-api-client (0.8.7)
activesupport (>= 3.2, < 5.0)
addressable (~> 2.3)
autoparse (~> 0.3)
extlib (~> 0.9)
faraday (~> 0.9)
googleauth (~> 0.3)
launchy (~> 2.4)
multi_json (~> 1.10)
retriable (~> 1.4)
signet (~> 0.6)
googleauth (0.5.1)
faraday (~> 0.9)
jwt (~> 1.4)
logging (~> 2.0)
memoist (~> 0.12)
multi_json (~> 1.11)
os (~> 0.9)
signet (~> 0.7)
grape (0.18.0)
activesupport
builder
hashie (>= 2.1.0)
multi_json (>= 1.3.2)
multi_xml (>= 0.5.2)
mustermann-grape (~> 0.4.0)
rack (>= 1.3.0)
rack-accept
rack-mount
virtus (>= 1.0.0)
grape-entity (0.4.8)
grape-entity (0.6.0)
activesupport
multi_json (>= 1.3.2)
haml (4.0.7)
@ -347,7 +349,18 @@ GEM
html-pipeline (1.11.0)
activesupport (>= 2)
nokogiri (~> 1.4)
html2text (0.2.0)
nokogiri (~> 1.6)
htmlentities (4.3.4)
http (0.9.8)
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.1)
http_parser.rb (0.6.0)
httparty (0.13.7)
json (~> 1.8)
multi_xml (>= 0.5.2)
@ -358,14 +371,14 @@ GEM
cause
json
ipaddress (0.8.3)
jira-ruby (1.1.2)
activesupport
oauth (~> 0.5, >= 0.5.0)
jquery-atwho-rails (1.3.2)
jquery-rails (4.1.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-turbolinks (2.1.0)
railties (>= 3.1.0)
turbolinks
jquery-ui-rails (5.0.5)
railties (>= 3.2.16)
json (1.8.3)
@ -379,6 +392,10 @@ GEM
knapsack (1.11.0)
rake
timecop (>= 0.1.0)
kubeclient (2.2.0)
http (= 0.9.8)
recursive-open-struct (= 1.0.0)
rest-client
launchy (2.4.3)
addressable (~> 2.3)
letter_opener (1.4.1)
@ -398,13 +415,16 @@ GEM
listen (3.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
little-plugger (1.1.4)
logging (2.1.0)
little-plugger (~> 1.1)
multi_json (~> 1.10)
loofah (2.0.3)
nokogiri (>= 1.5.9)
macaddr (1.7.1)
systemu (~> 2.6.2)
mail (2.6.4)
mime-types (>= 1.16, < 4)
mail_room (0.8.1)
mail_room (0.9.0)
memoist (0.15.0)
method_source (0.8.2)
mime-types (2.99.3)
mimemagic (0.3.0)
@ -414,16 +434,20 @@ GEM
multi_json (1.12.1)
multi_xml (0.5.5)
multipart-post (2.0.0)
mustermann (0.4.0)
tool (~> 0.2)
mustermann-grape (0.4.0)
mustermann (= 0.4.0)
mysql2 (0.3.20)
nested_form (0.3.2)
net-ldap (0.12.1)
net-ssh (3.0.1)
netrc (0.11.0)
newrelic_rpm (3.16.0.318)
nokogiri (1.6.7.2)
mini_portile2 (~> 2.1.0)
pkg-config (~> 1.1.7)
numerizer (0.1.1)
oauth (0.4.7)
oauth (0.5.1)
oauth2 (1.2.0)
faraday (>= 0.8, < 0.10)
jwt (~> 1.0)
@ -438,14 +462,12 @@ GEM
rack (>= 1.0, < 3)
omniauth-auth0 (1.4.1)
omniauth-oauth2 (~> 1.1)
omniauth-authentiq (0.2.2)
omniauth-oauth2 (~> 1.3, >= 1.3.1)
omniauth-azure-oauth2 (0.0.6)
jwt (~> 1.0)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.1)
omniauth-bitbucket (0.0.2)
multi_json (~> 1.7)
omniauth (~> 1.1)
omniauth-oauth (~> 1.0)
omniauth-cas3 (1.1.3)
addressable (~> 2.3)
nokogiri (~> 1.6.6)
@ -455,7 +477,7 @@ GEM
omniauth-github (1.1.2)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.1)
omniauth-gitlab (1.0.1)
omniauth-gitlab (1.0.2)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.0)
omniauth-google-oauth2 (0.4.1)
@ -490,8 +512,9 @@ GEM
org-ruby (0.9.12)
rubypants (~> 0.2)
orm_adapter (0.5.0)
paranoia (2.1.4)
activerecord (~> 4.0)
os (0.9.6)
paranoia (2.2.0)
activerecord (>= 4.0, < 5.1)
parser (2.3.1.4)
ast (~> 2.2)
pg (0.18.4)
@ -513,17 +536,18 @@ GEM
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
pry-byebug (3.4.1)
byebug (~> 9.0)
pry (~> 0.10)
pry-rails (0.3.4)
pry (>= 0.9.10)
pyu-ruby-sasl (0.0.3.3)
rack (1.6.4)
rack (1.6.5)
rack-accept (0.4.5)
rack (>= 0.4)
rack-attack (4.3.1)
rack-attack (4.4.1)
rack
rack-cors (0.4.0)
rack-mount (0.8.3)
rack (>= 1.0.0)
rack-oauth2 (1.2.3)
activesupport (>= 2.3)
attr_required (>= 0.0.5)
@ -566,38 +590,44 @@ GEM
ffi (>= 0.5.0)
rblineprof (0.3.6)
debugger-ruby_core_source (~> 1.3)
rdoc (3.12.2)
rdoc (4.2.2)
json (~> 1.4)
recaptcha (3.0.0)
json
recursive-open-struct (1.0.0)
redcarpet (3.3.3)
redis (3.2.2)
redis-actionpack (4.0.1)
actionpack (~> 4)
redis-rack (~> 1.5.0)
redis-store (~> 1.1.0)
redis-activesupport (4.1.5)
activesupport (>= 3, < 5)
redis-store (~> 1.1.0)
redis-actionpack (5.0.1)
actionpack (>= 4.0, < 6)
redis-rack (>= 1, < 3)
redis-store (>= 1.1.0, < 1.4.0)
redis-activesupport (5.0.1)
activesupport (>= 3, < 6)
redis-store (~> 1.2.0)
redis-namespace (1.5.2)
redis (~> 3.0, >= 3.0.4)
redis-rack (1.5.0)
redis-rack (1.6.0)
rack (~> 1.5)
redis-store (~> 1.1.0)
redis-rails (4.0.0)
redis-actionpack (~> 4)
redis-activesupport (~> 4)
redis-store (~> 1.1.0)
redis-store (1.1.7)
redis-store (~> 1.2.0)
redis-rails (5.0.1)
redis-actionpack (~> 5.0.0)
redis-activesupport (~> 5.0.0)
redis-store (~> 1.2.0)
redis-store (1.2.0)
redis (>= 2.2)
request_store (1.3.1)
rerun (0.11.0)
listen (~> 3.0)
responders (2.3.0)
railties (>= 4.2.0, < 5.1)
rest-client (2.0.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
retriable (1.4.1)
rinku (2.0.0)
rotp (2.1.2)
rouge (2.0.6)
rouge (2.0.7)
rqrcode (0.7.0)
chunky_png
rqrcode-rails3 (0.1.7)
@ -662,9 +692,6 @@ GEM
scss_lint (0.47.1)
rake (>= 0.9, < 11)
sass (~> 3.4.15)
sdoc (0.3.20)
json (>= 1.1.3)
rdoc (~> 3.10)
seed-fu (2.3.6)
activerecord (>= 3.1)
activesupport (>= 3.1)
@ -678,21 +705,28 @@ GEM
rack
shoulda-matchers (2.8.0)
activesupport (>= 3.0.0)
sidekiq (4.2.1)
sidekiq (4.2.7)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
rack-protection (~> 1.5)
rack-protection (>= 1.5.0)
redis (~> 3.2, >= 3.2.1)
sidekiq-cron (0.4.0)
sidekiq-cron (0.4.4)
redis-namespace (>= 1.5.2)
rufus-scheduler (>= 2.0.24)
sidekiq (>= 4.0.0)
sidekiq (>= 4.2.1)
sidekiq-limit_fetch (3.4.0)
sidekiq (>= 4)
signet (0.7.3)
addressable (~> 2.3)
faraday (~> 0.9)
jwt (~> 1.5)
multi_json (~> 1.10)
simplecov (0.12.0)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
slack-notifier (1.2.1)
slack-notifier (1.5.1)
slop (3.6.0)
spinach (0.8.10)
colorize
@ -722,6 +756,7 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
stackprof (0.2.10)
state_machines (0.4.0)
state_machines-activemodel (0.4.0)
activemodel (>= 4.1, < 5.1)
@ -733,7 +768,6 @@ GEM
sys-filesystem (1.1.6)
ffi
sysexits (1.2.0)
systemu (2.6.5)
teaspoon (1.1.5)
railties (>= 3.2.5, < 6)
teaspoon-jasmine (2.2.0)
@ -750,11 +784,10 @@ GEM
tilt (2.0.5)
timecop (0.8.1)
timfel-krb5-auth (0.8.3)
tool (0.2.3)
truncato (0.7.8)
htmlentities (~> 4.3.1)
nokogiri (~> 1.6.1)
turbolinks (2.5.3)
coffee-rails
tzinfo (1.2.2)
thread_safe (~> 0.1)
u2f (0.2.1)
@ -773,8 +806,6 @@ GEM
get_process_mem (~> 0)
unicorn (>= 4, < 6)
uniform_notifier (1.10.0)
uuid (2.3.8)
macaddr (~> 1.0)
version_sorter (2.1.0)
virtus (1.0.5)
axiom-types (~> 0.1)
@ -810,7 +841,6 @@ DEPENDENCIES
RedCloth (~> 4.3.2)
ace-rails-ap (~> 4.1.0)
activerecord-nulldb-adapter
activerecord-session_store (~> 1.0.0)
activerecord_sane_schema_dumper (= 0.2)
acts-as-taggable-on (~> 4.0)
addressable (~> 2.3.8)
@ -831,7 +861,6 @@ DEPENDENCIES
browser (~> 2.2)
bullet (~> 5.2.0)
bundler-audit (~> 0.5.0)
byebug (~> 8.2.1)
capybara (~> 2.6.2)
capybara-screenshot (~> 1.0.0)
carrierwave (~> 0.10.0)
@ -843,22 +872,21 @@ DEPENDENCIES
creole (~> 0.5.0)
d3_rails (~> 3.5.0)
database_cleaner (~> 1.5.0)
deckar01-task_list (= 1.0.5)
deckar01-task_list (= 1.0.6)
default_value_for (~> 3.0.0)
devise (~> 4.2)
devise-two-factor (~> 3.0.0)
diffy (~> 3.0.3)
diffy (~> 3.1.0)
doorkeeper (~> 4.2.0)
dropzonejs-rails (~> 0.7.1)
email_reply_parser (~> 0.5.8)
email_spec (~> 1.6.0)
factory_girl_rails (~> 4.6.0)
factory_girl_rails (~> 4.7.0)
ffaker (~> 2.0.0)
flay (~> 2.6.1)
fog-aws (~> 0.9)
fog-azure (~> 0.0)
fog-core (~> 1.40)
fog-google (~> 0.3)
fog-google (~> 0.5)
fog-local (~> 0.3)
fog-openstack (~> 0.1)
fog-rackspace (~> 0.1.1)
@ -869,39 +897,42 @@ DEPENDENCIES
gemojione (~> 3.0)
github-linguist (~> 4.7.0)
gitlab-flowdock-git-hook (~> 1.0.1)
gitlab-markup (~> 1.5.0)
gitlab-markup (~> 1.5.1)
gitlab-turbolinks-classic (~> 2.5, >= 2.5.6)
gitlab_git (~> 10.7.0)
gitlab_omniauth-ldap (~> 1.2.1)
gollum-lib (~> 4.2)
gollum-rugged_adapter (~> 0.4.2)
gon (~> 6.1.0)
grape (~> 0.15.0)
grape-entity (~> 0.4.2)
google-api-client (~> 0.8.6)
grape (~> 0.18.0)
grape-entity (~> 0.6.0)
haml_lint (~> 0.18.2)
hamlit (~> 2.6.1)
health_check (~> 2.2.0)
hipchat (~> 1.5.0)
html-pipeline (~> 1.11.0)
html2text
httparty (~> 0.13.3)
influxdb (~> 0.2)
jira-ruby (~> 1.1.2)
jquery-atwho-rails (~> 1.3.2)
jquery-rails (~> 4.1.0)
jquery-turbolinks (~> 2.1.0)
jquery-ui-rails (~> 5.0.0)
json-schema (~> 2.6.2)
jwt
kaminari (~> 0.17.0)
knapsack (~> 1.11.0)
kubeclient (~> 2.2.0)
letter_opener_web (~> 1.3.0)
license_finder (~> 2.1.0)
licensee (~> 8.0.0)
loofah (~> 2.0.3)
mail_room (~> 0.8.1)
mail_room (~> 0.9.0)
method_source (~> 0.8)
minitest (~> 5.7.0)
mousetrap-rails (~> 1.4.6)
mysql2 (~> 0.3.16)
nested_form (~> 0.3.2)
net-ssh (~> 3.0.1)
newrelic_rpm (~> 3.16)
nokogiri (~> 1.6.7, >= 1.6.7.2)
@ -910,12 +941,12 @@ DEPENDENCIES
oj (~> 2.17.4)
omniauth (~> 1.3.1)
omniauth-auth0 (~> 1.4.1)
omniauth-authentiq (~> 0.2.0)
omniauth-azure-oauth2 (~> 0.0.6)
omniauth-bitbucket (~> 0.0.2)
omniauth-cas3 (~> 1.1.2)
omniauth-facebook (~> 4.0.0)
omniauth-github (~> 1.1.1)
omniauth-gitlab (~> 1.0.0)
omniauth-gitlab (~> 1.0.2)
omniauth-google-oauth2 (~> 0.4.1)
omniauth-kerberos (~> 0.3.0)
omniauth-saml (~> 1.7.0)
@ -923,24 +954,25 @@ DEPENDENCIES
omniauth-twitter (~> 1.2.0)
omniauth_crowd (~> 2.2.0)
org-ruby (~> 0.9.12)
paranoia (~> 2.0)
paranoia (~> 2.2)
pg (~> 0.18.2)
poltergeist (~> 1.9.0)
premailer-rails (~> 1.9.0)
pry-byebug (~> 3.4.1)
pry-rails (~> 0.3.4)
rack-attack (~> 4.3.1)
rack-attack (~> 4.4.1)
rack-cors (~> 0.4.0)
rack-oauth2 (~> 1.2.1)
rails (= 4.2.7.1)
rails-deprecated_sanitizer (~> 1.0.3)
rainbow (~> 2.1.0)
rblineprof (~> 0.3.6)
rdoc (~> 3.6)
rdoc (~> 4.2)
recaptcha (~> 3.0)
redcarpet (~> 3.3.3)
redis (~> 3.2)
redis-namespace (~> 1.5.2)
redis-rails (~> 4.0.0)
redis-rails (~> 5.0.1)
request_store (~> 1.3)
rerun (~> 0.11.0)
responders (~> 2.0)
@ -955,17 +987,17 @@ DEPENDENCIES
sanitize (~> 2.0)
sass-rails (~> 5.0.6)
scss_lint (~> 0.47.0)
sdoc (~> 0.3.20)
seed-fu (~> 2.3.5)
select2-rails (~> 3.5.9)
sentry-raven (~> 2.0.0)
settingslogic (~> 2.0.9)
sham_rack (~> 1.3.6)
shoulda-matchers (~> 2.8.0)
sidekiq (~> 4.2)
sidekiq-cron (~> 0.4.0)
sidekiq (~> 4.2.7)
sidekiq-cron (~> 0.4.4)
sidekiq-limit_fetch (~> 3.4)
simplecov (= 0.12.0)
slack-notifier (~> 1.2.0)
slack-notifier (~> 1.5.1)
spinach-rails (~> 0.2.1)
spinach-rerun-reporter (~> 0.0.2)
spring (~> 1.7.0)
@ -974,6 +1006,7 @@ DEPENDENCIES
spring-commands-teaspoon (~> 0.0.2)
sprockets (~> 3.7.0)
sprockets-es6 (~> 0.9.2)
stackprof (~> 0.2.10)
state_machines-activerecord (~> 0.4.0)
sys-filesystem (~> 1.1.6)
teaspoon (~> 1.1.0)
@ -982,7 +1015,6 @@ DEPENDENCIES
thin (~> 1.7.0)
timecop (~> 0.8.0)
truncato (~> 0.7.8)
turbolinks (~> 2.5.0)
u2f (~> 0.2.1)
uglifier (~> 2.7.2)
underscore-rails (~> 1.8.0)
@ -997,4 +1029,4 @@ DEPENDENCIES
wikicloth (= 0.8.1)
BUNDLED WITH
1.13.5
1.13.7

View file

@ -24,7 +24,7 @@ in
stdenv.mkDerivation rec {
name = "gitlab-${version}";
version = "8.13.5";
version = "8.15.4";
buildInputs = [ env ruby bundler tzdata git nodejs procps ];
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
owner = "gitlabhq";
repo = "gitlabhq";
rev = "v${version}";
sha256 = "1ir52fdg81jawkfk03xj6c2j4lmw8sy4mwc25p024l0zpsg2gpz3";
sha256 = "1cd6dl8niy1xxifxdrm1kwm8qhy4x4zyvwdsb722kr136rwnxm84";
};
patches = [

View file

@ -63,14 +63,6 @@
};
version = "0.3.3";
};
activerecord-session_store = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1b8q5p7wl0xpmlcjig2im1yryzj4aipvw7zq3z1ig8fdg4m2m943";
type = "gem";
};
version = "1.0.0";
};
activerecord_sane_schema_dumper = {
source = {
remotes = ["https://rubygems.org"];
@ -175,6 +167,14 @@
};
version = "1.0.0";
};
autoparse = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1q5wkd8gc2ckmgry9fba4b8vxb5kr8k8gqq2wycbirgq06mbllb6";
type = "gem";
};
version = "0.3.3";
};
autoprefixer-rails = {
source = {
remotes = ["https://rubygems.org"];
@ -199,22 +199,6 @@
};
version = "0.1.1";
};
azure = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vfnx47ihizg1d6szdyf48xfdghjfk66k4r39z6b0gl5i40vcm8v";
type = "gem";
};
version = "0.7.5";
};
azure-core = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "016krlc7wfg27zgg5i6j0pys32ra8jszgls8wz4dz64h2zf1kd7a";
type = "gem";
};
version = "0.1.2";
};
babel-source = {
source = {
remotes = ["https://rubygems.org"];
@ -330,10 +314,10 @@
byebug = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yx89b7vh5mbvxyi8n7zl25ia1bqdj71995m4daj6d41rnkmrpnc";
sha256 = "1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0";
type = "gem";
};
version = "8.2.1";
version = "9.0.6";
};
capybara = {
source = {
@ -466,10 +450,10 @@
connection_pool = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1b2bb3k39ni5mzcnqlv9y4yjkbin20s7dkwzp0jw2jf1rmzcgrmy";
sha256 = "17vpaj6kyf2i8bimaxz7rg1kyadf4d10642ja67qiqlhwgczl2w7";
type = "gem";
};
version = "2.2.0";
version = "2.2.1";
};
crack = {
source = {
@ -538,10 +522,10 @@
deckar01-task_list = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1x2va9b7p2x82ind3cbk9dr4pk97c4g7vqccwzb20xdwdq0q4j91";
sha256 = "0nfbja4br77ad79snq2a7wg38vvvf5brchv12vfk9vpbzzyfdnrq";
type = "gem";
};
version = "1.0.5";
version = "1.0.6";
};
default_value_for = {
source = {
@ -586,10 +570,10 @@
diffy = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0il0ri511g9rm88qbvncbzgwc6wk6265hmnf7grcczmrs1z49vl0";
sha256 = "1azibizfv91sjbzhjqj1pg2xcv8z9b8a7z6kb3wpl4hpj5hil5kj";
type = "gem";
};
version = "3.0.7";
version = "3.1.0";
};
docile = {
source = {
@ -599,6 +583,14 @@
};
version = "1.1.5";
};
domain_name = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1y5c96gzyh6z4nrnkisljqngfvljdba36dww657ka0x7khzvx7jl";
type = "gem";
};
version = "0.5.20161021";
};
doorkeeper = {
source = {
remotes = ["https://rubygems.org"];
@ -695,21 +687,29 @@
};
version = "0.9.0";
};
extlib = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cbw3vgb189z3vfc1arijmsd604m3w5y5xvdfkrblc9qh7sbk2rh";
type = "gem";
};
version = "0.9.16";
};
factory_girl = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qn34ba1midnzms1854yzx0g16sgy7bd9wcsvs66rxd65idsay20";
sha256 = "1xzl4z9z390fsnyxp10c9if2n46zan3n6zwwpfnwc33crv4s410i";
type = "gem";
};
version = "4.5.0";
version = "4.7.0";
};
factory_girl_rails = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "00vngc59bww75hqkr1hbnvnqm5763w0jlv3lsq3js1r1wxdzix2r";
sha256 = "0hzpirb33xdqaz44i1mbcfv0icjrghhgaz747llcfsflljd4pa4r";
type = "gem";
};
version = "4.6.0";
version = "4.7.0";
};
faraday = {
source = {
@ -775,14 +775,6 @@
};
version = "0.11.0";
};
fog-azure = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bdgzn1a1z79drfvashs6gzpg98dijvxm168cq0czzkx3wvbrfcl";
type = "gem";
};
version = "0.0.2";
};
fog-core = {
source = {
remotes = ["https://rubygems.org"];
@ -794,10 +786,10 @@
fog-google = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vzwid3s4c39fqixg1zb0dr5g3q6lafm9pan6bk3csys62v6fnm9";
sha256 = "06irf9gcg5v8iwaa5qilhwir6gl82rrp7jyyw87ad15v8p3xa59f";
type = "gem";
};
version = "0.3.2";
version = "0.5.0";
};
fog-json = {
source = {
@ -939,10 +931,18 @@
gitlab-markup = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yxwp4q0dwiykxv24x2yhvnn59wmw1jv0vz3d8hjw44nn9jxn25a";
sha256 = "1aam7zvvbai5nv7vf0c0640pvik6s71f276lip4yb4slbg0pfpn2";
type = "gem";
};
version = "1.5.0";
version = "1.5.1";
};
gitlab-turbolinks-classic = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zfqwa1pahhcz1yxvwigg94bck2zsqk2jsrc0wdcybhr0iwi5jra";
type = "gem";
};
version = "2.5.6";
};
gitlab_git = {
source = {
@ -1000,21 +1000,37 @@
};
version = "6.1.0";
};
google-api-client = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "11wr57j9fp6x6fym4k1a7jqp72qgc8l24mfwb4y55bbvdmkv1b2d";
type = "gem";
};
version = "0.8.7";
};
googleauth = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nzkg63s161c6jsia92c1jfwpayzbpwn588smd286idn07y0az2m";
type = "gem";
};
version = "0.5.1";
};
grape = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "13rbm0whhirpzn2n58kjyvqn9989vvipynlxsj1ihmwp8xsmcj1i";
sha256 = "17spanyj7kpvqm4ap82vq4s1hlrad5mcv8rj4q1mva40zg1f8cgj";
type = "gem";
};
version = "0.15.0";
version = "0.18.0";
};
grape-entity = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hxghs2p9ncvdwhp6dwr1a74g552c49dd0jzy0szp4pg2xjbgjk8";
sha256 = "18jhjn1164z68xrjz23wf3qha3x9az086dr7p6405jv6rszyxihq";
type = "gem";
};
version = "0.4.8";
version = "0.6.0";
};
haml = {
source = {
@ -1072,6 +1088,14 @@
};
version = "1.11.0";
};
html2text = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kxdj8pf9pss9xgs8aac0alj5g1fi225yzdhh33lzampkazg1hii";
type = "gem";
};
version = "0.2.0";
};
htmlentities = {
source = {
remotes = ["https://rubygems.org"];
@ -1080,6 +1104,38 @@
};
version = "4.3.4";
};
http = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ll9x8qjp97l8gj0jx23nj7xvm0rsxj5pb3d19f7bhmdb70r0xsi";
type = "gem";
};
version = "0.9.8";
};
http-cookie = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
type = "gem";
};
version = "1.0.3";
};
http-form_data = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "10r6hy8wcf8n4nbdmdz9hrm8mg45lncfc7anaycpzrhfp3949xh9";
type = "gem";
};
version = "1.0.1";
};
"http_parser.rb" = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
type = "gem";
};
version = "0.6.0";
};
httparty = {
source = {
remotes = ["https://rubygems.org"];
@ -1128,6 +1184,14 @@
};
version = "0.8.3";
};
jira-ruby = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "03n76a8m2d352q29j3yna1f9g3xg9dc9p3fvvx77w67h19ks7zrf";
type = "gem";
};
version = "1.1.2";
};
jquery-atwho-rails = {
source = {
remotes = ["https://rubygems.org"];
@ -1144,14 +1208,6 @@
};
version = "4.1.1";
};
jquery-turbolinks = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d23mnl3lgamk9ziw4yyv2ixck6d8s8xp4f9pmwimk0by0jq7xhc";
type = "gem";
};
version = "2.1.0";
};
jquery-ui-rails = {
source = {
remotes = ["https://rubygems.org"];
@ -1208,6 +1264,14 @@
};
version = "1.11.0";
};
kubeclient = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "09hr5cb6rzf9876wa0c8pv3kxjj4s8hcjpf7jjdg2n9prb7hhmgi";
type = "gem";
};
version = "2.2.0";
};
launchy = {
source = {
remotes = ["https://rubygems.org"];
@ -1256,6 +1320,22 @@
};
version = "3.0.5";
};
little-plugger = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
type = "gem";
};
version = "1.1.4";
};
logging = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1agk0dv5lxn0qpnxadi6dvg36pc0x5fsrmzhw4sc91x52mjc381l";
type = "gem";
};
version = "2.1.0";
};
loofah = {
source = {
remotes = ["https://rubygems.org"];
@ -1264,14 +1344,6 @@
};
version = "2.0.3";
};
macaddr = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1clii8mvhmh5lmnm95ljnjygyiyhdpja85c5vy487rhxn52scn0b";
type = "gem";
};
version = "1.7.1";
};
mail = {
source = {
remotes = ["https://rubygems.org"];
@ -1283,10 +1355,18 @@
mail_room = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "15zjqscdzm4rv8qpz8y8334nc5kvlqp0xk4wiics98hbjs8cd59i";
sha256 = "17q8km4n9jzjb5vj3hhyv4bwr1gxdh84yghvcdrmq88jh5ki8p8k";
type = "gem";
};
version = "0.8.1";
version = "0.9.0";
};
memoist = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yd3rd7bnbhn9n47qlhcii5z89liabdjhy3is3h6gq77gyfk4f5q";
type = "gem";
};
version = "0.15.0";
};
method_source = {
source = {
@ -1360,6 +1440,22 @@
};
version = "2.0.0";
};
mustermann = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0km27zp3mnlmh157nmj3pyd2g7n2da4dh4mr0psq53a9r0d4gli8";
type = "gem";
};
version = "0.4.0";
};
mustermann-grape = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g6kf753v0kf8zfz0z46kyb7cbpinpc3qqh02qm4s9n49s1v2fva";
type = "gem";
};
version = "0.4.0";
};
mysql2 = {
source = {
remotes = ["https://rubygems.org"];
@ -1368,14 +1464,6 @@
};
version = "0.3.20";
};
nested_form = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0f053j4zfagxyym28msxj56hrpvmyv4lzxy2c5c270f7xbbnii5i";
type = "gem";
};
version = "0.3.2";
};
net-ldap = {
source = {
remotes = ["https://rubygems.org"];
@ -1392,6 +1480,14 @@
};
version = "3.0.1";
};
netrc = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
type = "gem";
};
version = "0.11.0";
};
newrelic_rpm = {
source = {
remotes = ["https://rubygems.org"];
@ -1419,10 +1515,10 @@
oauth = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k5j09p3al3clpjl6lax62qmhy43f3j3g7i6f9l4dbs6r5vpv95w";
sha256 = "1awhy8ddhixch44y68lail3h1d214rnl3y1yzk0msq5g4z2l62ky";
type = "gem";
};
version = "0.4.7";
version = "0.5.1";
};
oauth2 = {
source = {
@ -1464,6 +1560,14 @@
};
version = "1.4.1";
};
omniauth-authentiq = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "01br0snvbxbx1zgs857alfs0ay3xhgdjgk4hc2vjzf3jn6bwizvk";
type = "gem";
};
version = "0.2.2";
};
omniauth-azure-oauth2 = {
source = {
remotes = ["https://rubygems.org"];
@ -1472,14 +1576,6 @@
};
version = "0.0.6";
};
omniauth-bitbucket = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lals2z1yixffrc97zh7zn1jpz9l6vpb3alcp13im42dq9q0g845";
type = "gem";
};
version = "0.0.2";
};
omniauth-cas3 = {
source = {
remotes = ["https://rubygems.org"];
@ -1507,10 +1603,10 @@
omniauth-gitlab = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "083yyc8612kq8ygd8y7s8lxg2d51jcsakbs4pa19aww67gcm72iz";
sha256 = "0hv672p372jq7p9p6dw8i7qyisbny3lq0si077yys1fy4bjw127x";
type = "gem";
};
version = "1.0.1";
version = "1.0.2";
};
omniauth-google-oauth2 = {
source = {
@ -1600,13 +1696,21 @@
};
version = "0.5.0";
};
os = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz";
type = "gem";
};
version = "0.9.6";
};
paranoia = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0z2smnnghjhcs4l5fkz9scs1kj0bvj2n8xmzcvw4rg9yprdnlxr0";
sha256 = "1kfznq6lba1xb3nskvn8kdb08ljh4a0lvbm3lv91xvj6n9hm15k0";
type = "gem";
};
version = "2.1.4";
version = "2.2.0";
};
parser = {
source = {
@ -1680,6 +1784,14 @@
};
version = "0.10.3";
};
pry-byebug = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "147kiwnggdzz7jvlplfi0baffng808rb5lk263qxp648k8x03vgc";
type = "gem";
};
version = "3.4.1";
};
pry-rails = {
source = {
remotes = ["https://rubygems.org"];
@ -1699,10 +1811,10 @@
rack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5";
sha256 = "1374xyh8nnqb8sy6g9gcvchw8gifckn5v3bhl6dzbwwsx34qz7gz";
type = "gem";
};
version = "1.6.4";
version = "1.6.5";
};
rack-accept = {
source = {
@ -1715,10 +1827,10 @@
rack-attack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ihic8ar2ddfv15p5gia8nqzsl3y7iayg5v4rmg72jlvikgsabls";
sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1";
type = "gem";
};
version = "4.3.1";
version = "4.4.1";
};
rack-cors = {
source = {
@ -1728,14 +1840,6 @@
};
version = "0.4.0";
};
rack-mount = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "09a1qfaxxsll1kbgz7z0q0nr48sfmfm7akzaviis5bjpa5r00ld2";
type = "gem";
};
version = "0.8.3";
};
rack-oauth2 = {
source = {
remotes = ["https://rubygems.org"];
@ -1851,10 +1955,10 @@
rdoc = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1v9k4sp5yzj2bshngckdvivj6bszciskk1nd2r3wri2ygs7vgqm8";
sha256 = "027dvwz1g1h4bm40v3kxqbim4p7ww4fcmxa2l1mvwiqm5cjiqd7k";
type = "gem";
};
version = "3.12.2";
version = "4.2.2";
};
recaptcha = {
source = {
@ -1864,6 +1968,14 @@
};
version = "3.0.0";
};
recursive-open-struct = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "102bgpfkjsaghpb1qs1ah5s89100dchpimzah2wxdy9rv9318rqw";
type = "gem";
};
version = "1.0.0";
};
redcarpet = {
source = {
remotes = ["https://rubygems.org"];
@ -1891,18 +2003,18 @@
redis-actionpack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jjl6dhhpdapdaywq5iqz7z36mwbw0cn0m30wcc5wcbv7xmiiygw";
sha256 = "0gnkqi7cji2q5yfwm8b752k71pqrb3dqksv983yrf23virqnjfjr";
type = "gem";
};
version = "4.0.1";
version = "5.0.1";
};
redis-activesupport = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "10y3kybz21n2z11478sf0cp4xzclvxf0b428787brmgpc6i7p7zg";
sha256 = "0i0r23rv32k25jqwbr4cb73alyaxwvz9crdaw3gv26h1zjrdjisd";
type = "gem";
};
version = "4.1.5";
version = "5.0.1";
};
redis-namespace = {
source = {
@ -1915,26 +2027,26 @@
redis-rack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1y1mxx8gn0krdrpwllv7fqsbvki1qjnb2dz8b4q9gwc326829gk8";
sha256 = "0fbxl5gv8krjf6n88gvn44xbzhfnsysnzawz7zili298ak98lsb3";
type = "gem";
};
version = "1.5.0";
version = "1.6.0";
};
redis-rails = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0igww7hb58aq74mh50dli3zjg78b54y8nhd0h1h9vz4vgjd4q8m7";
sha256 = "04l2y26k4v30p3dx0pqf9gz257q73qzgrfqf3qv6bxwyv8z9f5hm";
type = "gem";
};
version = "4.0.0";
version = "5.0.1";
};
redis-store = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gf462p0wx4hn7m1m8ghs701n6xx0ijzm5cff9xfagd2s6va145m";
sha256 = "1da15wr3wc1d4hqy7h7smdc2k2jpfac3waa9d65si6f4dmqymkkq";
type = "gem";
};
version = "1.1.7";
version = "1.2.0";
};
request_store = {
source = {
@ -1960,6 +2072,22 @@
};
version = "2.3.0";
};
rest-client = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1v2jp2ilpb2rm97yknxcnay9lfagcm4k82pfsmmcm9v290xm1ib7";
type = "gem";
};
version = "2.0.0";
};
retriable = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cmhwgv5r4vn7iqy4bfbnbb73pzl8ik69zrwq9vdim45v8b13gsj";
type = "gem";
};
version = "1.4.1";
};
rinku = {
source = {
remotes = ["https://rubygems.org"];
@ -1979,10 +2107,10 @@
rouge = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "182hp2fh6gd3p5c862i36k6jxkc02mhi08qd94gsyfj3v34ngza0";
sha256 = "0sfikq1q8xyqqx690iiz7ybhzx87am4w50w8f2nq36l3asw4x89d";
type = "gem";
};
version = "2.0.6";
version = "2.0.7";
};
rqrcode = {
source = {
@ -2200,14 +2328,6 @@
};
version = "0.47.1";
};
sdoc = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "17l8qk0ld47z4h5avcnylvds8nc6dp25zc64w23z8li2hs341xf2";
type = "gem";
};
version = "0.3.20";
};
seed-fu = {
source = {
remotes = ["https://rubygems.org"];
@ -2267,18 +2387,34 @@
sidekiq = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1l9ji9lmgvgc9p45js3hrbpv6fj0kvrvx5lkrjd751g8r3h98z0l";
sha256 = "0d711y4s5clh5xx9k12c8c3x84xxqk61qwykya2xw39fqcxgzx04";
type = "gem";
};
version = "4.2.1";
version = "4.2.7";
};
sidekiq-cron = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xnbvh8kjv6954vsiwfcpp7bn8sgpwvnyapnq7b94w8h7kj3ykqy";
sha256 = "1bsi80hyfh0lgpcdphxn2aw7av3d8xd87bmx6jz6lj7lw49gzkda";
type = "gem";
};
version = "0.4.0";
version = "0.4.4";
};
sidekiq-limit_fetch = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ykpqw2nc9fs4v0slk5n4m42n3ihwwkk5mcyw3rz51blrdzj92kr";
type = "gem";
};
version = "3.4.0";
};
signet = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "149668991xqibvm8kvl10kzy891yd6f994b4gwlx6c3vl24v5jq6";
type = "gem";
};
version = "0.7.3";
};
simplecov = {
source = {
@ -2299,10 +2435,10 @@
slack-notifier = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "08z6fv186yw1nrpl6zwp3lwqksin145aa1jv6jf00bnv3sicliiz";
sha256 = "0xavibxh00gy62mm79l6id9l2fldjmdqifk8alqfqy5z38ffwah6";
type = "gem";
};
version = "1.2.1";
version = "1.5.1";
};
slop = {
source = {
@ -2392,6 +2528,14 @@
};
version = "3.1.1";
};
stackprof = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c88j2d6ipjw5s3hgdgfww37gysgrkicawagj33hv3knijjc9ski";
type = "gem";
};
version = "0.2.10";
};
state_machines = {
source = {
remotes = ["https://rubygems.org"];
@ -2440,14 +2584,6 @@
};
version = "1.2.0";
};
systemu = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gmkbakhfci5wnmbfx5i54f25j9zsvbw858yg3jjhfs5n4ad1xq1";
type = "gem";
};
version = "2.6.5";
};
teaspoon = {
source = {
remotes = ["https://rubygems.org"];
@ -2528,6 +2664,14 @@
};
version = "0.8.3";
};
tool = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1iymkxi4lv2b2k905s9pl4d9k9k4455ksk3a98ssfn7y94h34np0";
type = "gem";
};
version = "0.2.3";
};
truncato = {
source = {
remotes = ["https://rubygems.org"];
@ -2536,14 +2680,6 @@
};
version = "0.7.8";
};
turbolinks = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ddrx25vvvqxlz4h59lrmjhc2bfwxf4bpicvyhgbpjd48ckj81jn";
type = "gem";
};
version = "2.5.3";
};
tzinfo = {
source = {
remotes = ["https://rubygems.org"];
@ -2624,14 +2760,6 @@
};
version = "1.10.0";
};
uuid = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gr2mxg27l380wpiy66mgv9wq02myj6m4gmp6c4g1vsbzkh0213v";
type = "gem";
};
version = "2.3.8";
};
version_sorter = {
source = {
remotes = ["https://rubygems.org"];

View file

@ -27,9 +27,9 @@ index 5511d71..38d357e 100644
arel (~> 6.0)
+ activerecord-nulldb-adapter (0.3.3)
+ activerecord (>= 2.0.0)
activerecord-session_store (1.0.0)
actionpack (>= 4.0, < 5.1)
activerecord (>= 4.0, < 5.1)
activerecord_sane_schema_dumper (0.2)
rails (>= 4, < 5)
activesupport (4.2.7.1)
@@ -396,7 +398,7 @@ GEM
method_source (0.8.2)
mime-types (2.99.2)
@ -55,6 +55,6 @@ index 5511d71..38d357e 100644
RedCloth (~> 4.3.2)
ace-rails-ap (~> 4.1.0)
+ activerecord-nulldb-adapter
activerecord-session_store (~> 1.0.0)
acts-as-taggable-on (~> 3.4)
activerecord_sane_schema_dumper (= 0.2)
acts-as-taggable-on (~> 4.0)
addressable (~> 2.3.8)

View file

@ -14,11 +14,11 @@
}:
let
version = "2.6.16";
version = "2.6.18";
src = fetchurl {
url = "mirror://sourceforge/avidemux/avidemux/${version}/avidemux_${version}.tar.gz";
sha256 = "0jipvpvw871qhhkyykrrrqc9vfbw24v243vzmm8lqifj73h6qvgc";
sha256 = "1zmacx8wdhbjc8hpf8hmdmbh2pbkdkcyb23cl3j1mx7vkw06c31l";
};
common = {

View file

@ -4,17 +4,17 @@
stdenv.mkDerivation rec {
name = "makemkv-${ver}";
ver = "1.9.10";
ver = "1.10.4";
builder = ./builder.sh;
src_bin = fetchurl {
url = "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz";
sha256 = "1i5nqk5gyin6rgvc0fy96pdzq0wsmfvsm6w9mfsibj0yrfqnhi6r";
sha256 = "bc6f66897c09b0b756b352cc02a092c5b3a9547e4c129b3472ae4c605eff94aa";
};
src_oss = fetchurl {
url = "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz";
sha256 = "1ypc2hisx71kpmjwxnlq6zh4q6r2i1p32gapb0ampjflcjyvx5dk";
sha256 = "bacbd6a27ebd67f2e6f6c4356cafb92918d54a8bb15872f694232043039f63c4";
};
buildInputs = [openssl qt4 mesa zlib pkgconfig libav];

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, fetchFromGitHub, makeWrapper
, docutils, perl, pkgconfig, python3, which, ffmpeg
, docutils, perl, pkgconfig, python3, which, ffmpeg_3_2
, freefont_ttf, freetype, libass, libpthreadstubs
, lua, lua5_sockets, libuchardet, libiconv ? null, darwin
@ -79,13 +79,13 @@ let
};
in stdenv.mkDerivation rec {
name = "mpv-${version}";
version = "0.22.0";
version = "0.23.0";
src = fetchFromGitHub {
owner = "mpv-player";
repo = "mpv";
rev = "v${version}";
sha256 = "0mv8fs2zxp6pvpi5xdrpvvqcaa5f0c83jdfi0pfqnwbpkz1kb9s6";
sha256 = "02k8p4z1mwxxlg9spwwrlcciia80kyrpp09hpl60g22h85jj1ng9";
};
patchPhase = ''
@ -112,7 +112,7 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python3 which ];
buildInputs = [
ffmpeg freetype libass libpthreadstubs
ffmpeg_3_2 freetype libass libpthreadstubs
lua lua5_sockets libuchardet
] ++ optional alsaSupport alsaLib
++ optional xvSupport libXv

View file

@ -3,11 +3,11 @@
let
pythonEnv = python3.withPackages (ps: with ps; [ pyqt5 sip ]);
in stdenv.mkDerivation {
name = "qarte-3.2.0";
name = "qarte-3.2.0+158";
src = fetchbzr {
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-3;
rev = "146";
sha256 = "0dvl38dknmnj2p4yr25p88kw3mh502c6qdp2bd43bhd2sqc3b0v0";
rev = "158";
sha256 = "0nj9yxylz1nz0hdjm0jzrq2l3dgfdqkafwxnzydp6qv6261w564n";
};
buildInputs = [ makeWrapper pythonEnv ];

View file

@ -1,11 +0,0 @@
--- a/src/basegui.cpp 2014-08-20 01:04:51.000000000 +0100
+++ b/src/basegui.cpp 2014-10-11 10:25:57.561983556 +0100
@@ -5235,7 +5235,7 @@
#ifdef YOUTUBE_SUPPORT
void BaseGui::showTubeBrowser() {
qDebug("BaseGui::showTubeBrowser");
- QString exec = Paths::appPath() + "/smtube";
+ QString exec = "smtube";
qDebug("BaseGui::showTubeBrowser: '%s'", exec.toUtf8().constData());
if (!QProcess::startDetached(exec, QStringList())) {
QMessageBox::warning(this, "SMPlayer",

View file

@ -1,16 +1,15 @@
{ stdenv, fetchurl, qmakeHook, qtscript }:
stdenv.mkDerivation rec {
name = "smplayer-16.1.0";
name = "smplayer-16.11.0";
src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "1jfqpmbbjrs9lna44dp10zblj7b0cras9sb0nczycpkcsdi9np6j";
sha256 = "0nhbr33p21qb7n6wry0nkavl5nfjzl5yylrhnxz0pyv69n5msfp5";
};
patches = [ ./basegui.cpp.patch ];
buildInputs = [ qmakeHook qtscript ];
buildInputs = [ qtscript ];
nativeBuildInputs = [ qmakeHook ];
dontUseQmakeConfigure = true;

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