Merge branch 'master'
This commit is contained in:
commit
d16545fc95
|
@ -44,9 +44,9 @@ Nixpkgs and NixOS are built and tested by our continuous integration
|
||||||
system, [Hydra](https://hydra.nixos.org/).
|
system, [Hydra](https://hydra.nixos.org/).
|
||||||
|
|
||||||
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
|
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
|
||||||
* [Continuous package builds for the NixOS 19.03 release](https://hydra.nixos.org/jobset/nixos/release-19.03)
|
* [Continuous package builds for the NixOS 19.09 release](https://hydra.nixos.org/jobset/nixos/release-19.09)
|
||||||
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
|
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
|
||||||
* [Tests for the NixOS 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents)
|
* [Tests for the NixOS 19.09 release](https://hydra.nixos.org/job/nixos/release-19.09/tested#tabs-constituents)
|
||||||
|
|
||||||
Artifacts successfully built with Hydra are published to cache at
|
Artifacts successfully built with Hydra are published to cache at
|
||||||
https://cache.nixos.org/. When successful build and test criteria are
|
https://cache.nixos.org/. When successful build and test criteria are
|
||||||
|
|
|
@ -356,6 +356,16 @@
|
||||||
github = "alunduil";
|
github = "alunduil";
|
||||||
name = "Alex Brandt";
|
name = "Alex Brandt";
|
||||||
};
|
};
|
||||||
|
alva = {
|
||||||
|
email = "alva@skogen.is";
|
||||||
|
github = "fjallarefur";
|
||||||
|
githubId = 42881386;
|
||||||
|
name = "Alva";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "ed25519/0xF53E323342F7A6D3";
|
||||||
|
fingerprint = "B422 CFB1 C9EF 73F7 E1E2 698D F53E 3233 42F7 A6D3A";
|
||||||
|
}];
|
||||||
|
};
|
||||||
amar1729 = {
|
amar1729 = {
|
||||||
email = "amar.paul16@gmail.com";
|
email = "amar.paul16@gmail.com";
|
||||||
github = "amar1729";
|
github = "amar1729";
|
||||||
|
@ -4268,6 +4278,15 @@
|
||||||
githubId = 5698461;
|
githubId = 5698461;
|
||||||
name = "Maciej Kazulak";
|
name = "Maciej Kazulak";
|
||||||
};
|
};
|
||||||
|
mkf = {
|
||||||
|
email = "m@mikf.pl";
|
||||||
|
github = "mkf";
|
||||||
|
name = "Michał Krzysztof Feiler";
|
||||||
|
keys = [{
|
||||||
|
longkeyid = "rsa4096/0xE35C2D7C2C6AC724";
|
||||||
|
fingerprint = "1E36 9940 CC7E 01C4 CFE8 F20A E35C 2D7C 2C6A C724";
|
||||||
|
}];
|
||||||
|
};
|
||||||
mkg = {
|
mkg = {
|
||||||
email = "mkg@vt.edu";
|
email = "mkg@vt.edu";
|
||||||
github = "mkgvt";
|
github = "mkgvt";
|
||||||
|
@ -5904,6 +5923,12 @@
|
||||||
githubId = 819413;
|
githubId = 819413;
|
||||||
name = "Benedict Aas";
|
name = "Benedict Aas";
|
||||||
};
|
};
|
||||||
|
shyim = {
|
||||||
|
email = "s.sayakci@gmail.com";
|
||||||
|
github = "shyim";
|
||||||
|
githubId = 6224096;
|
||||||
|
name = "Soner Sayakci";
|
||||||
|
};
|
||||||
siddharthist = {
|
siddharthist = {
|
||||||
email = "langston.barrett@gmail.com";
|
email = "langston.barrett@gmail.com";
|
||||||
github = "langston-barrett";
|
github = "langston-barrett";
|
||||||
|
@ -7040,6 +7065,12 @@
|
||||||
githubId = 36407913;
|
githubId = 36407913;
|
||||||
name = "Uli Baum";
|
name = "Uli Baum";
|
||||||
};
|
};
|
||||||
|
xfix = {
|
||||||
|
email = "konrad@borowski.pw";
|
||||||
|
github = "xfix";
|
||||||
|
githubId = 1297598;
|
||||||
|
name = "Konrad Borowski";
|
||||||
|
};
|
||||||
xnaveira = {
|
xnaveira = {
|
||||||
email = "xnaveira@gmail.com";
|
email = "xnaveira@gmail.com";
|
||||||
github = "xnaveira";
|
github = "xnaveira";
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
<section xmlns="http://docbook.org/ns/docbook"
|
|
||||||
version="5.0"
|
|
||||||
xml:id="sec-installing-nspawn-container">
|
|
||||||
<title>Installing into a nspawn container</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For installing a NixOS into a systemd nspawn container the NixOS installation tools are needed.
|
|
||||||
If you run another distribution than NixOS on your host,
|
|
||||||
please follow <xref linkend="sec-installing-from-other-distro"/> steps 1, 2, and 3.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Create a NixOS configuration file <filename>/var/lib/machines/my-container/etc/nixos/configuration.nix</filename>.
|
|
||||||
It is important that the container root file system is under <filename>/var/lib/machines</filename>.
|
|
||||||
This is the standard location where <command>machinectl</command> will look for containers.
|
|
||||||
If you choose place the root into another location you need to start the container directly with <command>systemd-nspawn</command>.
|
|
||||||
The file needs to have at least following options enabled:
|
|
||||||
<programlisting>
|
|
||||||
<xref linkend="opt-boot.isContainer"/> = true;
|
|
||||||
<xref linkend="opt-boot.loader.initScript.enable"/> = true;
|
|
||||||
</programlisting>
|
|
||||||
If your host uses <command>systemd-networkd</command> to configure the network,
|
|
||||||
you can also enable <xref linkend="opt-networking.useNetworkd"/> to use networkd default network configuration for your host and container.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Install the container by running following command:
|
|
||||||
<screen>nixos-install --root /var/lib/machines/my-container \
|
|
||||||
--no-channel-copy --no-root-passwd --no-bootloader</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Start the container by running following command:
|
|
||||||
<screen>machinectl start my-container</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</section>
|
|
|
@ -563,8 +563,5 @@ Retype new UNIX password: ***</screen>
|
||||||
<xi:include href="installing-from-other-distro.xml" />
|
<xi:include href="installing-from-other-distro.xml" />
|
||||||
|
|
||||||
<xi:include href="installing-behind-a-proxy.xml" />
|
<xi:include href="installing-behind-a-proxy.xml" />
|
||||||
|
|
||||||
<xi:include href="installing-nspawn-container.xml" />
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Stable channels</emphasis>, such as
|
<emphasis>Stable channels</emphasis>, such as
|
||||||
<literal
|
<literal
|
||||||
xlink:href="https://nixos.org/channels/nixos-19.03">nixos-19.03</literal>.
|
xlink:href="https://nixos.org/channels/nixos-19.09">nixos-19.09</literal>.
|
||||||
These only get conservative bug fixes and package upgrades. For instance,
|
These only get conservative bug fixes and package upgrades. For instance,
|
||||||
a channel update may cause the Linux kernel on your system to be upgraded
|
a channel update may cause the Linux kernel on your system to be upgraded
|
||||||
from 4.19.34 to 4.19.38 (a minor bug fix), but not from
|
from 4.19.34 to 4.19.38 (a minor bug fix), but not from
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
<para>
|
<para>
|
||||||
<emphasis>Small channels</emphasis>, such as
|
<emphasis>Small channels</emphasis>, such as
|
||||||
<literal
|
<literal
|
||||||
xlink:href="https://nixos.org/channels/nixos-19.03-small">nixos-19.03-small</literal>
|
xlink:href="https://nixos.org/channels/nixos-19.09-small">nixos-19.09-small</literal>
|
||||||
or
|
or
|
||||||
<literal
|
<literal
|
||||||
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
|
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
|
||||||
|
@ -63,8 +63,8 @@
|
||||||
<para>
|
<para>
|
||||||
When you first install NixOS, you’re automatically subscribed to the NixOS
|
When you first install NixOS, you’re automatically subscribed to the NixOS
|
||||||
channel that corresponds to your installation source. For instance, if you
|
channel that corresponds to your installation source. For instance, if you
|
||||||
installed from a 19.03 ISO, you will be subscribed to the
|
installed from a 19.09 ISO, you will be subscribed to the
|
||||||
<literal>nixos-19.03</literal> channel. To see which NixOS channel you’re
|
<literal>nixos-19.09</literal> channel. To see which NixOS channel you’re
|
||||||
subscribed to, run the following as root:
|
subscribed to, run the following as root:
|
||||||
<screen>
|
<screen>
|
||||||
# nix-channel --list | grep nixos
|
# nix-channel --list | grep nixos
|
||||||
|
@ -75,13 +75,13 @@ nixos https://nixos.org/channels/nixos-unstable
|
||||||
# nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
|
# nix-channel --add https://nixos.org/channels/<replaceable>channel-name</replaceable> nixos
|
||||||
</screen>
|
</screen>
|
||||||
(Be sure to include the <literal>nixos</literal> parameter at the end.) For
|
(Be sure to include the <literal>nixos</literal> parameter at the end.) For
|
||||||
instance, to use the NixOS 19.03 stable channel:
|
instance, to use the NixOS 19.09 stable channel:
|
||||||
<screen>
|
<screen>
|
||||||
# nix-channel --add https://nixos.org/channels/nixos-19.03 nixos
|
# nix-channel --add https://nixos.org/channels/nixos-19.09 nixos
|
||||||
</screen>
|
</screen>
|
||||||
If you have a server, you may want to use the “small” channel instead:
|
If you have a server, you may want to use the “small” channel instead:
|
||||||
<screen>
|
<screen>
|
||||||
# nix-channel --add https://nixos.org/channels/nixos-19.03-small nixos
|
# nix-channel --add https://nixos.org/channels/nixos-19.09-small nixos
|
||||||
</screen>
|
</screen>
|
||||||
And if you want to live on the bleeding edge:
|
And if you want to live on the bleeding edge:
|
||||||
<screen>
|
<screen>
|
||||||
|
@ -127,7 +127,7 @@ nixos https://nixos.org/channels/nixos-unstable
|
||||||
current channel. (To see when the service runs, see <command>systemctl
|
current channel. (To see when the service runs, see <command>systemctl
|
||||||
list-timers</command>.) You can also specify a channel explicitly, e.g.
|
list-timers</command>.) You can also specify a channel explicitly, e.g.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.03;
|
<xref linkend="opt-system.autoUpgrade.channel"/> = https://nixos.org/channels/nixos-19.09;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -512,6 +512,12 @@
|
||||||
is set to <literal>/var/lib/gitlab/state</literal>, <literal>gitlab</literal> and all parent directories
|
is set to <literal>/var/lib/gitlab/state</literal>, <literal>gitlab</literal> and all parent directories
|
||||||
must be owned by either <literal>root</literal> or the user specified in <option>services.gitlab.user</option>.
|
must be owned by either <literal>root</literal> or the user specified in <option>services.gitlab.user</option>.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
The <option>networking.useDHCP</option> option is unsupported in combination with
|
||||||
|
<option>networking.useNetworkd</option> in anticipation of defaulting to it by default.
|
||||||
|
It has to be set to <literal>false</literal> and enabled per
|
||||||
|
interface with <option>networking.interfaces.<name>.useDHCP = true;</option>
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
|
@ -524,6 +530,17 @@
|
||||||
The <literal>nodejs-11_x</literal> package has been removed as it's EOLed by upstream.
|
The <literal>nodejs-11_x</literal> package has been removed as it's EOLed by upstream.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Because of the systemd upgrade,
|
||||||
|
<application>systemd-timesyncd</application> will no longer work if
|
||||||
|
<option>system.stateVersion</option> is not set correctly. When
|
||||||
|
upgrading from NixOS 19.03, please make sure that
|
||||||
|
<option>system.stateVersion</option> is set to
|
||||||
|
<literal>"19.03"</literal>, or lower if the installation dates back to an
|
||||||
|
earlier version of NixOS.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -722,7 +739,7 @@
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
This also configures the kernel to pass coredumps to <literal>systemd-coredump</literal>,
|
This also configures the kernel to pass core dumps to <literal>systemd-coredump</literal>,
|
||||||
and restricts the SysRq key combinations to the sync command only.
|
and restricts the SysRq key combinations to the sync command only.
|
||||||
These sysctl snippets can be found in <literal>/etc/sysctl.d/50-*.conf</literal>,
|
These sysctl snippets can be found in <literal>/etc/sysctl.d/50-*.conf</literal>,
|
||||||
and overridden via <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link>
|
and overridden via <link linkend="opt-boot.kernel.sysctl">boot.kernel.sysctl</link>
|
||||||
|
@ -731,12 +748,15 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Coredumps are now acquired by <literal>systemd-coredump</literal> by default.
|
Core dumps are now processed by <literal>systemd-coredump</literal>
|
||||||
<literal>systemd-coredump</literal> behaviour can still be modified via
|
by default. <literal>systemd-coredump</literal> behaviour can
|
||||||
<option>systemd.coredump.extraConfig</option>.
|
still be modified via
|
||||||
To stick to the old behaviour (having the kernel dump to a file called <literal>core</literal>
|
<option>systemd.coredump.extraConfig</option>. To stick to the
|
||||||
in the working directory), without piping it through <literal>systemd-coredump</literal>, set
|
old behaviour (having the kernel dump to a file called
|
||||||
<option>boot.kernel.sysctl."kernel.core_pattern"</option> to <literal>"core"</literal>.
|
<literal>core</literal> in the working directory), without piping
|
||||||
|
it through <literal>systemd-coredump</literal>, set
|
||||||
|
<option>systemd.coredump.enable</option> to
|
||||||
|
<literal>false</literal>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
|
|
@ -563,6 +563,24 @@ $fsAndSwap
|
||||||
${\join "", (map { " $_\n" } (uniq @attrs))}}
|
${\join "", (map { " $_\n" } (uniq @attrs))}}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
sub generateNetworkingDhcpConfig {
|
||||||
|
my $config = <<EOF;
|
||||||
|
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
|
||||||
|
# Per-interface useDHCP will be mandatory in the future, so this generated config
|
||||||
|
# replicates the default behaviour.
|
||||||
|
networking.useDHCP = false;
|
||||||
|
EOF
|
||||||
|
|
||||||
|
foreach my $path (glob "/sys/class/net/*") {
|
||||||
|
my $dev = basename($path);
|
||||||
|
if ($dev ne "lo") {
|
||||||
|
$config .= " networking.interfaces.$dev.useDHCP = true;\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($showHardwareConfig) {
|
if ($showHardwareConfig) {
|
||||||
print STDOUT $hwConfig;
|
print STDOUT $hwConfig;
|
||||||
|
@ -606,6 +624,8 @@ EOF
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $networkingDhcpConfig = generateNetworkingDhcpConfig();
|
||||||
|
|
||||||
write_file($fn, <<EOF);
|
write_file($fn, <<EOF);
|
||||||
@configuration@
|
@configuration@
|
||||||
EOF
|
EOF
|
||||||
|
|
|
@ -132,9 +132,8 @@ if [[ -z $noBootLoader ]]; then
|
||||||
echo "installing the boot loader..."
|
echo "installing the boot loader..."
|
||||||
# Grub needs an mtab.
|
# Grub needs an mtab.
|
||||||
ln -sfn /proc/mounts $mountPoint/etc/mtab
|
ln -sfn /proc/mounts $mountPoint/etc/mtab
|
||||||
export NIXOS_INSTALL_BOOTLOADER=1
|
NIXOS_INSTALL_BOOTLOADER=1 nixos-enter --root "$mountPoint" -- /run/current-system/bin/switch-to-configuration boot
|
||||||
fi
|
fi
|
||||||
nixos-enter --root "$mountPoint" -- /run/current-system/bin/switch-to-configuration boot
|
|
||||||
|
|
||||||
# Ask the user to set a root password, but only if the passwd command
|
# Ask the user to set a root password, but only if the passwd command
|
||||||
# exists (i.e. when mutable user accounts are enabled).
|
# exists (i.e. when mutable user accounts are enabled).
|
||||||
|
|
|
@ -96,6 +96,7 @@ in
|
||||||
# networking.hostName = "nixos"; # Define your hostname.
|
# networking.hostName = "nixos"; # Define your hostname.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
$networkingDhcpConfig
|
||||||
# Configure network proxy if necessary
|
# Configure network proxy if necessary
|
||||||
# networking.proxy.default = "http://user:password\@proxy:port/";
|
# networking.proxy.default = "http://user:password\@proxy:port/";
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
|
@ -128,7 +128,10 @@ in {
|
||||||
|
|
||||||
# directory creation needs to be separated from main service
|
# directory creation needs to be separated from main service
|
||||||
# because ReadWritePaths fails when the directory doesn't already exist
|
# because ReadWritePaths fails when the directory doesn't already exist
|
||||||
systemd.tmpfiles.rules = [ "d ${dirOf cfg.output} 0755 root root -" ];
|
systemd.tmpfiles.rules =
|
||||||
|
let dir = dirOf cfg.output; in
|
||||||
|
mkIf (dir != "/var/cache")
|
||||||
|
[ "d ${dir} 0755 root root -" ];
|
||||||
|
|
||||||
systemd.services.update-locatedb =
|
systemd.services.update-locatedb =
|
||||||
{ description = "Update Locate Database";
|
{ description = "Update Locate Database";
|
||||||
|
|
|
@ -233,7 +233,6 @@ with lib;
|
||||||
(mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
|
(mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
|
||||||
(mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
|
(mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
|
||||||
(mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
|
(mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
|
||||||
(mkRemovedOptionModule [ "systemd" "coredump" "enable" ] "Enabled by default. Set boot.kernel.sysctl.\"kernel.core_pattern\" = \"core\"; to disable.")
|
|
||||||
|
|
||||||
# ZSH
|
# ZSH
|
||||||
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
|
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
|
||||||
|
|
|
@ -7,6 +7,11 @@ let
|
||||||
|
|
||||||
ruby = cfg.packages.gitlab.ruby;
|
ruby = cfg.packages.gitlab.ruby;
|
||||||
|
|
||||||
|
postgresqlPackage = if config.services.postgresql.enable then
|
||||||
|
config.services.postgresql.package
|
||||||
|
else
|
||||||
|
pkgs.postgresql;
|
||||||
|
|
||||||
gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
|
gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
|
||||||
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
|
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
|
||||||
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
||||||
|
@ -22,6 +27,9 @@ let
|
||||||
} // cfg.extraDatabaseConfig;
|
} // cfg.extraDatabaseConfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# We only want to create a database if we're actually going to connect to it.
|
||||||
|
databaseActuallyCreateLocally = cfg.databaseCreateLocally && cfg.databaseHost == "";
|
||||||
|
|
||||||
gitalyToml = pkgs.writeText "gitaly.toml" ''
|
gitalyToml = pkgs.writeText "gitaly.toml" ''
|
||||||
socket_path = "${lib.escape ["\""] gitalySocket}"
|
socket_path = "${lib.escape ["\""] gitalySocket}"
|
||||||
bin_dir = "${cfg.packages.gitaly}/bin"
|
bin_dir = "${cfg.packages.gitaly}/bin"
|
||||||
|
@ -138,7 +146,7 @@ let
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
|
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
|
||||||
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
||||||
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
|
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar postgresqlPackage pkgs.coreutils pkgs.procps ]}:$PATH' \
|
||||||
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
|
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
|
||||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||||
'';
|
'';
|
||||||
|
@ -153,7 +161,7 @@ let
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \
|
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \
|
||||||
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
||||||
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
|
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar postgresqlPackage pkgs.coreutils pkgs.procps ]}:$PATH' \
|
||||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -266,8 +274,8 @@ in {
|
||||||
description = ''
|
description = ''
|
||||||
Whether a database should be automatically created on the
|
Whether a database should be automatically created on the
|
||||||
local host. Set this to <literal>false</literal> if you plan
|
local host. Set this to <literal>false</literal> if you plan
|
||||||
on provisioning a local database yourself or use an external
|
on provisioning a local database yourself. This has no effect
|
||||||
one.
|
if <option>services.gitlab.databaseHost</option> is customized.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -557,8 +565,8 @@ in {
|
||||||
|
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
assertion = cfg.databaseCreateLocally -> (cfg.user == cfg.databaseUsername);
|
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.databaseUsername);
|
||||||
message = "For local automatic database provisioning services.gitlab.user and services.gitlab.databaseUsername should be identical.";
|
message = ''For local automatic database provisioning (services.gitlab.databaseCreateLocally == true) with peer authentication (services.gitlab.databaseHost == "") to work services.gitlab.user and services.gitlab.databaseUsername must be identical.'';
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
assertion = (cfg.databaseHost != "") -> (cfg.databasePasswordFile != null);
|
assertion = (cfg.databaseHost != "") -> (cfg.databasePasswordFile != null);
|
||||||
|
@ -592,14 +600,14 @@ in {
|
||||||
services.redis.enable = mkDefault true;
|
services.redis.enable = mkDefault true;
|
||||||
|
|
||||||
# We use postgres as the main data store.
|
# We use postgres as the main data store.
|
||||||
services.postgresql = optionalAttrs cfg.databaseCreateLocally {
|
services.postgresql = optionalAttrs databaseActuallyCreateLocally {
|
||||||
enable = true;
|
enable = true;
|
||||||
ensureUsers = singleton { name = cfg.databaseUsername; };
|
ensureUsers = singleton { name = cfg.databaseUsername; };
|
||||||
};
|
};
|
||||||
# The postgresql module doesn't currently support concepts like
|
# The postgresql module doesn't currently support concepts like
|
||||||
# objects owners and extensions; for now we tack on what's needed
|
# objects owners and extensions; for now we tack on what's needed
|
||||||
# here.
|
# here.
|
||||||
systemd.services.postgresql.postStart = mkAfter (optionalString cfg.databaseCreateLocally ''
|
systemd.services.postgresql.postStart = mkAfter (optionalString databaseActuallyCreateLocally ''
|
||||||
$PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
|
$PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"'
|
||||||
current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
|
current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'")
|
||||||
if [[ "$current_owner" != "${cfg.databaseUsername}" ]]; then
|
if [[ "$current_owner" != "${cfg.databaseUsername}" ]]; then
|
||||||
|
@ -675,7 +683,7 @@ in {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = gitlabEnv;
|
environment = gitlabEnv;
|
||||||
path = with pkgs; [
|
path = with pkgs; [
|
||||||
config.services.postgresql.package
|
postgresqlPackage
|
||||||
gitAndTools.git
|
gitAndTools.git
|
||||||
ruby
|
ruby
|
||||||
openssh
|
openssh
|
||||||
|
@ -756,16 +764,31 @@ in {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = gitlabEnv;
|
environment = gitlabEnv;
|
||||||
path = with pkgs; [
|
path = with pkgs; [
|
||||||
config.services.postgresql.package
|
postgresqlPackage
|
||||||
gitAndTools.git
|
gitAndTools.git
|
||||||
openssh
|
openssh
|
||||||
nodejs
|
nodejs
|
||||||
procps
|
procps
|
||||||
gnupg
|
gnupg
|
||||||
];
|
];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
TimeoutSec = "infinity";
|
||||||
|
Restart = "on-failure";
|
||||||
|
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
|
||||||
|
ExecStartPre = let
|
||||||
|
preStartFullPrivileges = ''
|
||||||
|
shopt -s dotglob nullglob
|
||||||
|
chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/*
|
||||||
|
chown --no-dereference '${cfg.user}':'${cfg.group}' '${cfg.statePath}'/config/*
|
||||||
|
'';
|
||||||
preStart = ''
|
preStart = ''
|
||||||
cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||||
rm -rf ${cfg.statePath}/db/*
|
rm -rf ${cfg.statePath}/db/*
|
||||||
|
rm -rf ${cfg.statePath}/config/initializers/*
|
||||||
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
||||||
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
|
cp -rf --no-preserve=mode ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
|
||||||
|
|
||||||
|
@ -784,6 +807,10 @@ in {
|
||||||
|
|
||||||
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
|
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
|
||||||
|
|
||||||
|
if [[ -h '${cfg.statePath}/config/database.yml' ]]; then
|
||||||
|
rm '${cfg.statePath}/config/database.yml'
|
||||||
|
fi
|
||||||
|
|
||||||
${if cfg.databasePasswordFile != null then ''
|
${if cfg.databasePasswordFile != null then ''
|
||||||
export db_password="$(<'${cfg.databasePasswordFile}')"
|
export db_password="$(<'${cfg.databasePasswordFile}')"
|
||||||
|
|
||||||
|
@ -831,14 +858,10 @@ in {
|
||||||
|
|
||||||
${pkgs.git}/bin/git config --global core.autocrlf "input"
|
${pkgs.git}/bin/git config --global core.autocrlf "input"
|
||||||
'';
|
'';
|
||||||
|
in [
|
||||||
serviceConfig = {
|
"+${pkgs.writeShellScript "gitlab-pre-start-full-privileges" preStartFullPrivileges}"
|
||||||
Type = "simple";
|
"${pkgs.writeShellScript "gitlab-pre-start" preStart}"
|
||||||
User = cfg.user;
|
];
|
||||||
Group = cfg.group;
|
|
||||||
TimeoutSec = "infinity";
|
|
||||||
Restart = "on-failure";
|
|
||||||
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
|
|
||||||
ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
|
ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/unicorn -c ${cfg.statePath}/config/unicorn.rb -E production";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
23
nixos/modules/services/x11/window-managers/cwm.nix
Normal file
23
nixos/modules/services/x11/window-managers/cwm.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.xserver.windowManager.cwm;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.xserver.windowManager.cwm.enable = mkEnableOption "cwm";
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.windowManager.session = singleton
|
||||||
|
{ name = "cwm";
|
||||||
|
start =
|
||||||
|
''
|
||||||
|
cwm &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.cwm ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -11,6 +11,7 @@ in
|
||||||
./2bwm.nix
|
./2bwm.nix
|
||||||
./afterstep.nix
|
./afterstep.nix
|
||||||
./bspwm.nix
|
./bspwm.nix
|
||||||
|
./cwm.nix
|
||||||
./dwm.nix
|
./dwm.nix
|
||||||
./evilwm.nix
|
./evilwm.nix
|
||||||
./exwm.nix
|
./exwm.nix
|
||||||
|
|
|
@ -184,14 +184,7 @@ in
|
||||||
find /var/empty -mindepth 1 -delete
|
find /var/empty -mindepth 1 -delete
|
||||||
chmod 0555 /var/empty
|
chmod 0555 /var/empty
|
||||||
chown root:root /var/empty
|
chown root:root /var/empty
|
||||||
|
|
||||||
${ # reasons for not setting immutable flag:
|
|
||||||
# 1. flag is not changeable inside a container
|
|
||||||
# 2. systemd-nspawn can not perform chown in case of --private-users-chown
|
|
||||||
# then the owner is nobody and ssh will not start
|
|
||||||
optionalString (!config.boot.isContainer) ''
|
|
||||||
${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true
|
${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true
|
||||||
''}
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
system.activationScripts.usrbinenv = if config.environment.usrbinenv != null
|
system.activationScripts.usrbinenv = if config.environment.usrbinenv != null
|
||||||
|
|
|
@ -5,17 +5,20 @@ with lib;
|
||||||
let
|
let
|
||||||
|
|
||||||
inherit (pkgs) plymouth;
|
inherit (pkgs) plymouth;
|
||||||
|
inherit (pkgs) nixos-icons;
|
||||||
|
|
||||||
cfg = config.boot.plymouth;
|
cfg = config.boot.plymouth;
|
||||||
|
|
||||||
breezePlymouth = pkgs.breeze-plymouth.override {
|
nixosBreezePlymouth = pkgs.breeze-plymouth.override {
|
||||||
nixosBranding = true;
|
logoFile = cfg.logo;
|
||||||
nixosVersion = config.system.nixos.release;
|
logoName = "nixos";
|
||||||
|
osName = "NixOS";
|
||||||
|
osVersion = config.system.nixos.release;
|
||||||
};
|
};
|
||||||
|
|
||||||
themesEnv = pkgs.buildEnv {
|
themesEnv = pkgs.buildEnv {
|
||||||
name = "plymouth-themes";
|
name = "plymouth-themes";
|
||||||
paths = [ plymouth breezePlymouth ] ++ cfg.themePackages;
|
paths = [ plymouth ] ++ cfg.themePackages;
|
||||||
};
|
};
|
||||||
|
|
||||||
configFile = pkgs.writeText "plymouthd.conf" ''
|
configFile = pkgs.writeText "plymouthd.conf" ''
|
||||||
|
@ -35,7 +38,7 @@ in
|
||||||
enable = mkEnableOption "Plymouth boot splash screen";
|
enable = mkEnableOption "Plymouth boot splash screen";
|
||||||
|
|
||||||
themePackages = mkOption {
|
themePackages = mkOption {
|
||||||
default = [];
|
default = [ nixosBreezePlymouth ];
|
||||||
type = types.listOf types.package;
|
type = types.listOf types.package;
|
||||||
description = ''
|
description = ''
|
||||||
Extra theme packages for plymouth.
|
Extra theme packages for plymouth.
|
||||||
|
@ -52,10 +55,7 @@ in
|
||||||
|
|
||||||
logo = mkOption {
|
logo = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
default = pkgs.fetchurl {
|
default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
|
||||||
url = "https://nixos.org/logo/nixos-hires.png";
|
|
||||||
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
|
||||||
};
|
|
||||||
defaultText = ''pkgs.fetchurl {
|
defaultText = ''pkgs.fetchurl {
|
||||||
url = "https://nixos.org/logo/nixos-hires.png";
|
url = "https://nixos.org/logo/nixos-hires.png";
|
||||||
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
||||||
|
|
|
@ -546,6 +546,16 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.coredump.enable = mkOption {
|
||||||
|
default = true;
|
||||||
|
type = types.bool;
|
||||||
|
description = ''
|
||||||
|
Whether core dumps should be processed by
|
||||||
|
<command>systemd-coredump</command>. If disabled, core dumps
|
||||||
|
appear in the current directory of the crashing process.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
systemd.coredump.extraConfig = mkOption {
|
systemd.coredump.extraConfig = mkOption {
|
||||||
default = "";
|
default = "";
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
|
@ -861,8 +871,8 @@ in
|
||||||
"tmpfiles.d/journal-nocow.conf".source = "${systemd}/example/tmpfiles.d/journal-nocow.conf";
|
"tmpfiles.d/journal-nocow.conf".source = "${systemd}/example/tmpfiles.d/journal-nocow.conf";
|
||||||
"tmpfiles.d/static-nodes-permissions.conf".source = "${systemd}/example/tmpfiles.d/static-nodes-permissions.conf";
|
"tmpfiles.d/static-nodes-permissions.conf".source = "${systemd}/example/tmpfiles.d/static-nodes-permissions.conf";
|
||||||
"tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf";
|
"tmpfiles.d/systemd.conf".source = "${systemd}/example/tmpfiles.d/systemd.conf";
|
||||||
"tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/system-nspawn.conf";
|
"tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/systemd-nspawn.conf";
|
||||||
"tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/system-tmp.conf";
|
"tmpfiles.d/systemd-tmp.conf".source = "${systemd}/example/tmpfiles.d/systemd-tmp.conf";
|
||||||
"tmpfiles.d/var.conf".source = "${systemd}/example/tmpfiles.d/var.conf";
|
"tmpfiles.d/var.conf".source = "${systemd}/example/tmpfiles.d/var.conf";
|
||||||
"tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
|
"tmpfiles.d/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
|
||||||
|
|
||||||
|
@ -983,6 +993,10 @@ in
|
||||||
# Don't bother with certain units in containers.
|
# Don't bother with certain units in containers.
|
||||||
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
|
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
|
||||||
systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
|
systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
|
||||||
|
|
||||||
|
boot.kernel.sysctl = mkIf (!cfg.coredump.enable) {
|
||||||
|
"kernel.core_pattern" = "core";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# FIXME: Remove these eventually.
|
# FIXME: Remove these eventually.
|
||||||
|
|
|
@ -38,6 +38,12 @@ in
|
||||||
} {
|
} {
|
||||||
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
|
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
|
||||||
message = "networking.defaultGateway6.interface is not supported by networkd.";
|
message = "networking.defaultGateway6.interface is not supported by networkd.";
|
||||||
|
} {
|
||||||
|
assertion = cfg.useDHCP == false;
|
||||||
|
message = ''
|
||||||
|
networking.useDHCP is not supported by networkd.
|
||||||
|
Please use per interface configuration and set the global option to false.
|
||||||
|
'';
|
||||||
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
|
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
|
||||||
assertion = !rstp;
|
assertion = !rstp;
|
||||||
message = "networking.bridges.${n}.rstp is not supported by networkd.";
|
message = "networking.bridges.${n}.rstp is not supported by networkd.";
|
||||||
|
@ -56,9 +62,7 @@ in
|
||||||
genericNetwork = override:
|
genericNetwork = override:
|
||||||
let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
|
let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
|
||||||
++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
|
++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
|
||||||
in {
|
in optionalAttrs (gateway != [ ]) {
|
||||||
DHCP = override (dhcpStr cfg.useDHCP);
|
|
||||||
} // optionalAttrs (gateway != [ ]) {
|
|
||||||
routes = override [
|
routes = override [
|
||||||
{
|
{
|
||||||
routeConfig = {
|
routeConfig = {
|
||||||
|
@ -97,7 +101,7 @@ in
|
||||||
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
|
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
|
||||||
name = mkDefault i.name;
|
name = mkDefault i.name;
|
||||||
DHCP = mkForce (dhcpStr
|
DHCP = mkForce (dhcpStr
|
||||||
(if i.useDHCP != null then i.useDHCP else cfg.useDHCP && interfaceIps i == [ ]));
|
(if i.useDHCP != null then i.useDHCP else false));
|
||||||
address = forEach (interfaceIps i)
|
address = forEach (interfaceIps i)
|
||||||
(ip: "${ip.address}/${toString ip.prefixLength}");
|
(ip: "${ip.address}/${toString ip.prefixLength}");
|
||||||
networkConfig.IPv6PrivacyExtensions = "kernel";
|
networkConfig.IPv6PrivacyExtensions = "kernel";
|
||||||
|
|
|
@ -903,6 +903,11 @@ in
|
||||||
Whether to use DHCP to obtain an IP address and other
|
Whether to use DHCP to obtain an IP address and other
|
||||||
configuration for all network interfaces that are not manually
|
configuration for all network interfaces that are not manually
|
||||||
configured.
|
configured.
|
||||||
|
|
||||||
|
Using this option is highly discouraged and also incompatible with
|
||||||
|
<option>networking.useNetworkd</option>. Please use
|
||||||
|
<option>networking.interfaces.<name>.useDHCP</option> instead
|
||||||
|
and set this to false.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ with lib;
|
||||||
services.udisks2.enable = mkDefault false;
|
services.udisks2.enable = mkDefault false;
|
||||||
powerManagement.enable = mkDefault false;
|
powerManagement.enable = mkDefault false;
|
||||||
|
|
||||||
networking.useHostResolvConf = mkDefault (!config.services.resolved.enable);
|
networking.useHostResolvConf = mkDefault true;
|
||||||
|
|
||||||
# Containers should be light-weight, so start sshd on demand.
|
# Containers should be light-weight, so start sshd on demand.
|
||||||
services.openssh.startWhenNeeded = mkDefault true;
|
services.openssh.startWhenNeeded = mkDefault true;
|
||||||
|
|
|
@ -35,6 +35,7 @@ in
|
||||||
boot-stage1 = handleTest ./boot-stage1.nix {};
|
boot-stage1 = handleTest ./boot-stage1.nix {};
|
||||||
borgbackup = handleTest ./borgbackup.nix {};
|
borgbackup = handleTest ./borgbackup.nix {};
|
||||||
buildbot = handleTest ./buildbot.nix {};
|
buildbot = handleTest ./buildbot.nix {};
|
||||||
|
caddy = handleTest ./caddy.nix {};
|
||||||
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
|
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
|
||||||
cassandra = handleTest ./cassandra.nix {};
|
cassandra = handleTest ./cassandra.nix {};
|
||||||
ceph = handleTestOn ["x86_64-linux"] ./ceph.nix {};
|
ceph = handleTestOn ["x86_64-linux"] ./ceph.nix {};
|
||||||
|
@ -262,7 +263,6 @@ in
|
||||||
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
||||||
systemd = handleTest ./systemd.nix {};
|
systemd = handleTest ./systemd.nix {};
|
||||||
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
||||||
systemd-machinectl = handleTest ./systemd-machinectl.nix {};
|
|
||||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||||
systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
|
systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.nix {};
|
||||||
pdns-recursor = handleTest ./pdns-recursor.nix {};
|
pdns-recursor = handleTest ./pdns-recursor.nix {};
|
||||||
|
|
82
nixos/tests/caddy.nix
Normal file
82
nixos/tests/caddy.nix
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
import ./make-test.nix ({ pkgs, ... }: {
|
||||||
|
name = "caddy";
|
||||||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||||||
|
maintainers = [ xfix ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
webserver = { pkgs, lib, ... }: {
|
||||||
|
services.caddy.enable = true;
|
||||||
|
services.caddy.config = ''
|
||||||
|
http://localhost {
|
||||||
|
gzip
|
||||||
|
|
||||||
|
root ${
|
||||||
|
pkgs.runCommand "testdir" {} ''
|
||||||
|
mkdir "$out"
|
||||||
|
echo hello world > "$out/example.html"
|
||||||
|
''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
nesting.clone = [
|
||||||
|
{
|
||||||
|
services.caddy.config = lib.mkForce ''
|
||||||
|
http://localhost {
|
||||||
|
gzip
|
||||||
|
|
||||||
|
root ${
|
||||||
|
pkgs.runCommand "testdir2" {} ''
|
||||||
|
mkdir "$out"
|
||||||
|
echo changed > "$out/example.html"
|
||||||
|
''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
services.caddy.config = ''
|
||||||
|
http://localhost:8080 {
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = { nodes, ... }: let
|
||||||
|
etagSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-1";
|
||||||
|
justReloadSystem = "${nodes.webserver.config.system.build.toplevel}/fine-tune/child-2";
|
||||||
|
in ''
|
||||||
|
my $url = 'http://localhost/example.html';
|
||||||
|
$webserver->waitForUnit("caddy");
|
||||||
|
$webserver->waitForOpenPort("80");
|
||||||
|
|
||||||
|
sub checkEtag {
|
||||||
|
my $etag = $webserver->succeed(
|
||||||
|
'curl -v '.$url.' 2>&1 | sed -n -e "s/^< [Ee][Tt][Aa][Gg]: *//p"'
|
||||||
|
);
|
||||||
|
$etag =~ s/\r?\n$//;
|
||||||
|
my $httpCode = $webserver->succeed(
|
||||||
|
'curl -w "%{http_code}" -X HEAD -H \'If-None-Match: '.$etag.'\' '.$url
|
||||||
|
);
|
||||||
|
die "HTTP code is not 304" unless $httpCode == 304;
|
||||||
|
return $etag;
|
||||||
|
}
|
||||||
|
|
||||||
|
subtest "check ETag if serving Nix store paths", sub {
|
||||||
|
my $oldEtag = checkEtag;
|
||||||
|
$webserver->succeed("${etagSystem}/bin/switch-to-configuration test >&2");
|
||||||
|
$webserver->sleep(1); # race condition
|
||||||
|
my $newEtag = checkEtag;
|
||||||
|
die "Old ETag $oldEtag is the same as $newEtag" if $oldEtag eq $newEtag;
|
||||||
|
};
|
||||||
|
|
||||||
|
subtest "config is reloaded on nixos-rebuild switch", sub {
|
||||||
|
$webserver->succeed("${justReloadSystem}/bin/switch-to-configuration test >&2");
|
||||||
|
$webserver->waitForOpenPort("8080");
|
||||||
|
};
|
||||||
|
'';
|
||||||
|
})
|
|
@ -23,6 +23,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||||
networking = {
|
networking = {
|
||||||
dhcpcd.enable = false;
|
dhcpcd.enable = false;
|
||||||
useNetworkd = true;
|
useNetworkd = true;
|
||||||
|
useDHCP = false;
|
||||||
interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
|
interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
|
||||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -72,6 +72,7 @@ let
|
||||||
testCases = {
|
testCases = {
|
||||||
loopback = {
|
loopback = {
|
||||||
name = "Loopback";
|
name = "Loopback";
|
||||||
|
machine.networking.useDHCP = false;
|
||||||
machine.networking.useNetworkd = networkd;
|
machine.networking.useNetworkd = networkd;
|
||||||
testScript = ''
|
testScript = ''
|
||||||
startAll;
|
startAll;
|
||||||
|
@ -139,14 +140,16 @@ let
|
||||||
virtualisation.vlans = [ 1 2 ];
|
virtualisation.vlans = [ 1 2 ];
|
||||||
networking = {
|
networking = {
|
||||||
useNetworkd = networkd;
|
useNetworkd = networkd;
|
||||||
useDHCP = true;
|
useDHCP = false;
|
||||||
interfaces.eth1 = {
|
interfaces.eth1 = {
|
||||||
ipv4.addresses = mkOverride 0 [ ];
|
ipv4.addresses = mkOverride 0 [ ];
|
||||||
ipv6.addresses = mkOverride 0 [ ];
|
ipv6.addresses = mkOverride 0 [ ];
|
||||||
|
useDHCP = true;
|
||||||
};
|
};
|
||||||
interfaces.eth2 = {
|
interfaces.eth2 = {
|
||||||
ipv4.addresses = mkOverride 0 [ ];
|
ipv4.addresses = mkOverride 0 [ ];
|
||||||
ipv6.addresses = mkOverride 0 [ ];
|
ipv6.addresses = mkOverride 0 [ ];
|
||||||
|
useDHCP = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -320,13 +323,19 @@ let
|
||||||
virtualisation.vlans = [ 1 ];
|
virtualisation.vlans = [ 1 ];
|
||||||
networking = {
|
networking = {
|
||||||
useNetworkd = networkd;
|
useNetworkd = networkd;
|
||||||
|
useDHCP = false;
|
||||||
firewall.logReversePathDrops = true; # to debug firewall rules
|
firewall.logReversePathDrops = true; # to debug firewall rules
|
||||||
# reverse path filtering rules for the macvlan interface seem
|
# reverse path filtering rules for the macvlan interface seem
|
||||||
# to be incorrect, causing the test to fail. Disable temporarily.
|
# to be incorrect, causing the test to fail. Disable temporarily.
|
||||||
firewall.checkReversePath = false;
|
firewall.checkReversePath = false;
|
||||||
useDHCP = true;
|
|
||||||
macvlans.macvlan.interface = "eth1";
|
macvlans.macvlan.interface = "eth1";
|
||||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
|
interfaces.eth1 = {
|
||||||
|
ipv4.addresses = mkOverride 0 [ ];
|
||||||
|
useDHCP = true;
|
||||||
|
};
|
||||||
|
interfaces.macvlan = {
|
||||||
|
useDHCP = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
testScript = { ... }:
|
testScript = { ... }:
|
||||||
|
@ -440,6 +449,8 @@ let
|
||||||
virtual = {
|
virtual = {
|
||||||
name = "Virtual";
|
name = "Virtual";
|
||||||
machine = {
|
machine = {
|
||||||
|
networking.useNetworkd = networkd;
|
||||||
|
networking.useDHCP = false;
|
||||||
networking.interfaces.tap0 = {
|
networking.interfaces.tap0 = {
|
||||||
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||||
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
|
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
|
||||||
|
@ -489,6 +500,7 @@ let
|
||||||
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
|
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
|
||||||
networking = {
|
networking = {
|
||||||
useNetworkd = networkd;
|
useNetworkd = networkd;
|
||||||
|
useDHCP = false;
|
||||||
interfaces.eth1.ipv6.addresses = singleton {
|
interfaces.eth1.ipv6.addresses = singleton {
|
||||||
address = "fd00:1234:5678:1::1";
|
address = "fd00:1234:5678:1::1";
|
||||||
prefixLength = 64;
|
prefixLength = 64;
|
||||||
|
@ -514,11 +526,12 @@ let
|
||||||
virtualisation.vlans = [ 1 ];
|
virtualisation.vlans = [ 1 ];
|
||||||
networking = {
|
networking = {
|
||||||
useNetworkd = networkd;
|
useNetworkd = networkd;
|
||||||
useDHCP = true;
|
useDHCP = false;
|
||||||
interfaces.eth1 = {
|
interfaces.eth1 = {
|
||||||
preferTempAddress = true;
|
preferTempAddress = true;
|
||||||
ipv4.addresses = mkOverride 0 [ ];
|
ipv4.addresses = mkOverride 0 [ ];
|
||||||
ipv6.addresses = mkOverride 0 [ ];
|
ipv6.addresses = mkOverride 0 [ ];
|
||||||
|
useDHCP = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -526,11 +539,12 @@ let
|
||||||
virtualisation.vlans = [ 1 ];
|
virtualisation.vlans = [ 1 ];
|
||||||
networking = {
|
networking = {
|
||||||
useNetworkd = networkd;
|
useNetworkd = networkd;
|
||||||
useDHCP = true;
|
useDHCP = false;
|
||||||
interfaces.eth1 = {
|
interfaces.eth1 = {
|
||||||
preferTempAddress = false;
|
preferTempAddress = false;
|
||||||
ipv4.addresses = mkOverride 0 [ ];
|
ipv4.addresses = mkOverride 0 [ ];
|
||||||
ipv6.addresses = mkOverride 0 [ ];
|
ipv6.addresses = mkOverride 0 [ ];
|
||||||
|
useDHCP = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,6 +16,7 @@ in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
|
||||||
networking.usePredictableInterfaceNames = lib.mkForce predictable;
|
networking.usePredictableInterfaceNames = lib.mkForce predictable;
|
||||||
networking.useNetworkd = withNetworkd;
|
networking.useNetworkd = withNetworkd;
|
||||||
networking.dhcpcd.enable = !withNetworkd;
|
networking.dhcpcd.enable = !withNetworkd;
|
||||||
|
networking.useDHCP = !withNetworkd;
|
||||||
};
|
};
|
||||||
|
|
||||||
testScript = ''
|
testScript = ''
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
import ./make-test.nix (let
|
|
||||||
|
|
||||||
container = { ... }: {
|
|
||||||
boot.isContainer = true;
|
|
||||||
|
|
||||||
# use networkd to obtain systemd network setup
|
|
||||||
networking.useNetworkd = true;
|
|
||||||
|
|
||||||
# systemd-nspawn expects /sbin/init
|
|
||||||
boot.loader.initScript.enable = true;
|
|
||||||
|
|
||||||
imports = [ ../modules/profiles/minimal.nix ];
|
|
||||||
};
|
|
||||||
|
|
||||||
containerSystem = (import ../lib/eval-config.nix {
|
|
||||||
modules = [ container ];
|
|
||||||
}).config.system.build.toplevel;
|
|
||||||
|
|
||||||
containerName = "container";
|
|
||||||
containerRoot = "/var/lib/machines/${containerName}";
|
|
||||||
|
|
||||||
in {
|
|
||||||
name = "systemd-machinectl";
|
|
||||||
|
|
||||||
machine = { lib, ... }: {
|
|
||||||
# use networkd to obtain systemd network setup
|
|
||||||
networking.useNetworkd = true;
|
|
||||||
|
|
||||||
# open DHCP server on interface to container
|
|
||||||
networking.firewall.trustedInterfaces = [ "ve-+" ];
|
|
||||||
|
|
||||||
# do not try to access cache.nixos.org
|
|
||||||
nix.binaryCaches = lib.mkForce [];
|
|
||||||
|
|
||||||
virtualisation.pathsInNixDB = [ containerSystem ];
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
|
||||||
startAll;
|
|
||||||
|
|
||||||
$machine->waitForUnit("default.target");
|
|
||||||
$machine->succeed("mkdir -p ${containerRoot}");
|
|
||||||
$machine->succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd --no-bootloader");
|
|
||||||
|
|
||||||
$machine->succeed("machinectl start ${containerName}");
|
|
||||||
$machine->waitUntilSucceeds("systemctl -M ${containerName} is-active default.target");
|
|
||||||
$machine->succeed("ping -n -c 1 ${containerName}");
|
|
||||||
$machine->succeed("test `stat ${containerRoot}/var/empty -c %u%g` != 00");
|
|
||||||
|
|
||||||
$machine->succeed("machinectl stop ${containerName}");
|
|
||||||
'';
|
|
||||||
})
|
|
|
@ -2,6 +2,7 @@ let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...
|
||||||
imports = [ common/user-account.nix ];
|
imports = [ common/user-account.nix ];
|
||||||
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
||||||
networking.useNetworkd = true;
|
networking.useNetworkd = true;
|
||||||
|
networking.useDHCP = false;
|
||||||
networking.firewall.enable = false;
|
networking.firewall.enable = false;
|
||||||
virtualisation.vlans = [ 1 ];
|
virtualisation.vlans = [ 1 ];
|
||||||
environment.systemPackages = with pkgs; [ wireguard-tools ];
|
environment.systemPackages = with pkgs; [ wireguard-tools ];
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "flacon";
|
pname = "flacon";
|
||||||
version = "5.4.0";
|
version = "5.5.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "flacon";
|
owner = "flacon";
|
||||||
repo = "flacon";
|
repo = "flacon";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1j8gzk92kn10yb7rmvrnyq0ipda2swnkmsavqsk5ws0z600p3k93";
|
sha256 = "05pvg5xhc2azwzld08m81r4b2krqdbcbm5lmdvg2zkk67xq9pqyd";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
|
nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "padthv1";
|
pname = "padthv1";
|
||||||
version = "0.9.9";
|
version = "0.9.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0axansxwa3vfc1n6a7jbaqyz6wmsffi37i4ggsl08gmqywz255xb";
|
sha256 = "07gpq31a9iwk79yzndqzmw7snap7s4ifnsc4mfwkdga2zx13z0rx";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
|
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
|
||||||
|
|
|
@ -65,5 +65,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
|
|
||||||
maintainers = with maintainers; [ coroa sauyon ];
|
maintainers = with maintainers; [ coroa sauyon ];
|
||||||
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,5 +100,6 @@ mkDerivation rec {
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
|
maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
maintainers = [ maintainers.akru ];
|
maintainers = [ maintainers.akru ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,10 +13,10 @@ assert stdenv ? glibc;
|
||||||
|
|
||||||
let
|
let
|
||||||
platform_major = "4";
|
platform_major = "4";
|
||||||
platform_minor = "12";
|
platform_minor = "13";
|
||||||
year = "2019";
|
year = "2019";
|
||||||
month = "06";
|
month = "09";
|
||||||
timestamp = "201906051800";
|
timestamp = "201909161045";
|
||||||
|
|
||||||
in rec {
|
in rec {
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ in rec {
|
||||||
src =
|
src =
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||||
sha512 = "3mfljabrwbwq256vvsp9qjb96hzlbpwgnb3wz806pbyh0ibfq6s1hn8kh5aaa2da5821v0ykcxa12jagj7naqp4g91jqxp1wb1ygz2q";
|
sha512 = "0s9wvxd1bahlcdw7l6cyfi59p78j6gym3a3mn1z6dm6swxgyb2wjjl7hx8bkg0zs8x31bwllpdq22y2vcm6j57h40v53l3xkhy73m8v";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ in rec {
|
||||||
src =
|
src =
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||||
sha512 = "18p6xz6rq4w6j39b2k9kjpz8s1nljfq44g2cmvxqjgjfkq8lk4ij73ssyv1raly4wkm7r22ixacswdjmyj942k5vpv9y11i91hp1scv";
|
sha512 = "09nc7ipv67h0gr7lkxsbxrgj9gn48348asn03ylcvflyrcxghqs8n11a75rwvdj98igdzpw922saicx5lqq5g2flfqiga97lwwhfiz5";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ in rec {
|
||||||
src =
|
src =
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
|
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
|
||||||
sha512 = "0qiyk95qhdqcfgg5hgc7pcpbpjy9jnx7l3vb7s4cgijdz2xz0n5psh11lpj3whk2amh4iwkyx7kn8fxdq7lm03rlgx67cbk7p8my16m";
|
sha512 = "2c40wwrc2ip32n0m5cs8ds0g7cs7018acw8gjkd23msa4pr9x9511c3dj6rbnn1hwzf9yjq6vnjmib5qarxd3vly76jwxhf867l1f7v";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ in rec {
|
||||||
src =
|
src =
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
|
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
|
||||||
sha512 = "3bbc8d66ms7nhg6f8gb0bnzjqz26wixpipn4n9qf0azcplrv2j91z8hjw1fx39dx4pqnsf442bkgab4qqhkpks7qq54110l01q6gvy9";
|
sha512 = "2vm646d1crzzzysll3p5pjfljfjzxx4qd37dqcp6xjm91zg8iskli688h0lgla0rmbwz5kj509jp22m4rxkp3cbgd006dd0jr3icdls";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ in rec {
|
||||||
src =
|
src =
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
|
||||||
sha512 = "20qs1aagh4drsycvar3x42zy422zl34yg1p3vhxbqfbf7v3z1d3cxs9ah61x4bdxx9bkfwchasqp1wr15nflch9g0i50bdki3cgng1d";
|
sha512 = "3zyxqd8iwrfgjjg91dfi4bda61rd2717hy53swmbygi48zaaam70swx997yp5qzxwjp3macdslfk6sqhq2qlcdwcdl6dmkry018jh7b";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -254,12 +254,12 @@ rec {
|
||||||
|
|
||||||
cdt = buildEclipseUpdateSite rec {
|
cdt = buildEclipseUpdateSite rec {
|
||||||
name = "cdt-${version}";
|
name = "cdt-${version}";
|
||||||
version = "9.8.1";
|
version = "9.9.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.8/${name}/${name}.zip";
|
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.9/${name}/${name}.zip";
|
||||||
sha256 = "0kxmwz75i8mv4wics9n0hspxhzl3glf5ry2v5mnl5j9gcf73b0nv";
|
sha256 = "1vgx7ggilfwmx0bjrhk7mwlwg1c8lb141ilj3vzwxivlffihy054";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -474,12 +474,12 @@ rec {
|
||||||
|
|
||||||
jdt = buildEclipseUpdateSite rec {
|
jdt = buildEclipseUpdateSite rec {
|
||||||
name = "jdt-${version}";
|
name = "jdt-${version}";
|
||||||
version = "4.12";
|
version = "4.13";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.12-201906051800/org.eclipse.jdt-4.12.zip;
|
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.13-201909161045/org.eclipse.jdt-4.13.zip;
|
||||||
sha256 = "0qscvqg69z4554n1yhl0xg1xz8ln3qsbgfzi7cg3xnnwnxfqz9cb";
|
sha256 = "0sfpxph0cszcx1cihzzjn60qid8sxgl2xyr9x46fld4ian5a7vbr";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.35";
|
version = "1.36";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.geany.org/${pname}-${version}.tar.bz2";
|
url = "https://download.geany.org/${pname}-${version}.tar.bz2";
|
||||||
sha256 = "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim";
|
sha256 = "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig intltool libintl ];
|
nativeBuildInputs = [ pkgconfig intltool libintl ];
|
||||||
|
|
|
@ -39,11 +39,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnome-builder";
|
pname = "gnome-builder";
|
||||||
version = "3.34.0";
|
version = "3.34.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "19i2ipgw48fpd50wacwyhj35hajlg7qcyxpj8rsqk4g21ijfykrg";
|
sha256 = "19018pq94cxf6fywd7fsmy98x56by5zfmh140pl530gaaw84cvhb";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "manuskript";
|
pname = "manuskript";
|
||||||
version = "0.9.0";
|
version = "0.10.0";
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
repo = pname;
|
repo = pname;
|
||||||
owner = "olivierkes";
|
owner = "olivierkes";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "13y1s0kba1ib6g977n7h920kyr7abdw03kpal512m7iwa9g2kdw8";
|
sha256 = "0q413vym7hzjpyg3krj5y63hwpncdifjkyswqmr76zg5yqnklnh3";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
|
|
|
@ -20,11 +20,11 @@ let
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "nano";
|
pname = "nano";
|
||||||
version = "4.4";
|
version = "4.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
|
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia";
|
sha256 = "0czmz1yq8s5qcxcmfjdxzg9nkhbmlc9q1nz04jvf57fdbs7w7mfy";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
||||||
|
|
|
@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://sourceforge.net/projects/nedit;
|
homepage = "https://sourceforge.net/projects/nedit";
|
||||||
|
description = "A fast, compact Motif/X11 plain text editor";
|
||||||
platforms = with platforms; linux ++ darwin;
|
platforms = with platforms; linux ++ darwin;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
description = "A hex editor";
|
||||||
maintainers = with maintainers; [ peterhoeg bkchr ];
|
maintainers = with maintainers; [ peterhoeg bkchr ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
|
|
@ -9,11 +9,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kodelife";
|
pname = "kodelife";
|
||||||
version = "0.8.3.93";
|
version = "0.8.5.99";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
|
url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
|
||||||
sha256 = "1gidh0745g5mc8h5ypm2wamv1paymnrq3nh3yx1j70jwjg8v2v7g";
|
sha256 = "189i2j6kaygjb5pccynxv4pwqpy67jf9nfi7fjfhbrmjpqnmkp90";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
|
@ -51,6 +51,6 @@ stdenv.mkDerivation {
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = [ maintainers.MtP ];
|
maintainers = [ maintainers.MtP ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
broken = stdenv.isAarch64;
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cbatticon";
|
pname = "cbatticon";
|
||||||
version = "1.6.9";
|
version = "1.6.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "valr";
|
owner = "valr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf";
|
sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig gettext ];
|
nativeBuildInputs = [ pkgconfig gettext ];
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dbeaver-ce";
|
pname = "dbeaver-ce";
|
||||||
version = "6.2.1";
|
version = "6.2.2";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "dbeaver";
|
name = "dbeaver";
|
||||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
||||||
sha256 = "1ix6isahpk7zk741wdx5cf4i13wc5gp0j1gj4ja80bzfswbc38na";
|
sha256 = "0qpa0wh5lr5lxk9cdv5p1cmbdk1kw1lfqmsfgqxvgfysc1mgjgp1";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -138,5 +138,6 @@ in stdenv.mkDerivation rec {
|
||||||
vidbina
|
vidbina
|
||||||
];
|
];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
70
pkgs/applications/misc/formatter/default.nix
Normal file
70
pkgs/applications/misc/formatter/default.nix
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, pkgconfig
|
||||||
|
, pantheon
|
||||||
|
, python3
|
||||||
|
, substituteAll
|
||||||
|
, glib
|
||||||
|
, gtk3
|
||||||
|
, dosfstools
|
||||||
|
, e2fsprogs
|
||||||
|
, exfat
|
||||||
|
, hfsprogs
|
||||||
|
, ntfs3g
|
||||||
|
, libgee
|
||||||
|
, wrapGAppsHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "formatter";
|
||||||
|
version = "0.3.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Djaler";
|
||||||
|
repo = "Formatter";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "145742dk16736zxj30rzn61h4k0xpggfsbqkxllxd302mgbmxlzq";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./fix-paths.patch;
|
||||||
|
ext4 = "${e2fsprogs}/bin/mkfs.ext4";
|
||||||
|
exfat = "${exfat}/bin/mkfs.exfat";
|
||||||
|
fat = "${dosfstools}/bin/mkfs.fat";
|
||||||
|
ntfs = "${ntfs3g}/bin/mkfs.ntfs";
|
||||||
|
hfsplus = "${hfsprogs}/bin/mkfs.hfsplus";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
pantheon.vala
|
||||||
|
pkgconfig
|
||||||
|
python3
|
||||||
|
wrapGAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libgee
|
||||||
|
pantheon.granite
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
chmod +x meson/post_install.py
|
||||||
|
patchShebangs meson/post_install.py
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A simple formatter designed for elementary OS";
|
||||||
|
homepage = "https://github.com/Djaler/Formatter";
|
||||||
|
maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.lgpl2Plus;
|
||||||
|
};
|
||||||
|
}
|
53
pkgs/applications/misc/formatter/fix-paths.patch
Normal file
53
pkgs/applications/misc/formatter/fix-paths.patch
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
diff --git a/src/Objects/DeviceFormatter.vala b/src/Objects/DeviceFormatter.vala
|
||||||
|
index cf6a3b8..0de10a9 100644
|
||||||
|
--- a/src/Objects/DeviceFormatter.vala
|
||||||
|
+++ b/src/Objects/DeviceFormatter.vala
|
||||||
|
@@ -62,42 +62,42 @@ namespace Formatter {
|
||||||
|
string drive_identifier = drive.get_identifier ("unix-device");
|
||||||
|
switch (filesystem) {
|
||||||
|
case Formatter.Filesystems.EXT4:
|
||||||
|
- spawn_args = {"pkexec", "mkfs.ext4", drive_identifier, "-F"};
|
||||||
|
+ spawn_args = {"pkexec", "@ext4@", drive_identifier, "-F"};
|
||||||
|
if (label != "") {
|
||||||
|
spawn_args += "-L";
|
||||||
|
spawn_args += label;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Formatter.Filesystems.EXFAT:
|
||||||
|
- spawn_args = {"pkexec", "mkfs.exfat", drive_identifier};
|
||||||
|
+ spawn_args = {"pkexec", "@exfat@", drive_identifier};
|
||||||
|
if (label != "") {
|
||||||
|
spawn_args += "-n";
|
||||||
|
spawn_args += label;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Formatter.Filesystems.FAT16:
|
||||||
|
- spawn_args = {"pkexec", "mkfs.fat", "-F16", "-I", drive_identifier};
|
||||||
|
+ spawn_args = {"pkexec", "@fat@", "-F16", "-I", drive_identifier};
|
||||||
|
if (label != "") {
|
||||||
|
spawn_args += "-n";
|
||||||
|
spawn_args += label;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Formatter.Filesystems.FAT32:
|
||||||
|
- spawn_args = {"pkexec", "mkfs.fat", "-F32", "-I", drive_identifier};
|
||||||
|
+ spawn_args = {"pkexec", "@fat@", "-F32", "-I", drive_identifier};
|
||||||
|
if (label != "") {
|
||||||
|
spawn_args += "-n";
|
||||||
|
spawn_args += label;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Formatter.Filesystems.NTFS:
|
||||||
|
- spawn_args = {"pkexec", "mkfs.ntfs", drive_identifier, "-f", "-F"};
|
||||||
|
+ spawn_args = {"pkexec", "@ntfs@", drive_identifier, "-f", "-F"};
|
||||||
|
if (label != "") {
|
||||||
|
spawn_args += "-L";
|
||||||
|
spawn_args += label;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Formatter.Filesystems.HFS_PLUS:
|
||||||
|
- spawn_args = {"pkexec", "mkfs.hfsplus", drive_identifier};
|
||||||
|
+ spawn_args = {"pkexec", "@hfsplus@", drive_identifier};
|
||||||
|
if (label != "") {
|
||||||
|
spawn_args += "-v";
|
||||||
|
spawn_args += label;
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "girara";
|
pname = "girara";
|
||||||
version = "0.3.2";
|
version = "0.3.3";
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pwmt.org/projects/girara/download/${pname}-${version}.tar.xz";
|
url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p";
|
sha256 = "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
|
nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
|
||||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = https://pwmt.org/projects/girara/;
|
homepage = "https://git.pwmt.org/pwmt/girara";
|
||||||
description = "User interface library";
|
description = "User interface library";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
girara is a library that implements a GTK based VIM-like user interface
|
girara is a library that implements a GTK based VIM-like user interface
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jgmenu";
|
pname = "jgmenu";
|
||||||
version = "3.3";
|
version = "3.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "johanmalm";
|
owner = "johanmalm";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "02qpvlmcis7217hkqilhszza4g1smb4byx4gihgp5207aj8qhz0l";
|
sha256 = "1cikndf71wi17qld3rwp38gk0q7zic707zzz0mr7cgn86dc4if3d";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
gettext, glib, portaudio }:
|
gettext, glib, portaudio }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "opencpn";
|
pname = "opencpn-unstable";
|
||||||
version = "5.0.0";
|
version = "2019-05-15";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OpenCPN";
|
owner = "OpenCPN";
|
||||||
repo = "OpenCPN";
|
repo = "OpenCPN";
|
||||||
rev = "v${version}";
|
rev = "83a3c4b5ff011d4eb070f009e0a46d194b177047";
|
||||||
sha256 = "1xv3h6svw9aay5ixpql231md3pf00qxvhg62z88daraf18hlkfja";
|
sha256 = "00s1mxnkf1gg41hrz0zp8ypkp98py0m1c22im2zd09k6lcddxw5p";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
|
@ -58,6 +58,7 @@ in stdenv.mkDerivation {
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = stdenv.lib.licenses.gpl2;
|
||||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||||
maintainers = with maintainers; [ elitak ];
|
maintainers = with maintainers; [ elitak ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,5 +45,6 @@ llvmPackages.stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ tmplt ];
|
maintainers = with maintainers; [ tmplt ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,43 +1,41 @@
|
||||||
{ stdenv, lib, mkDerivation, fetchFromGitHub, fetchpatch
|
{ lib, mkDerivation, fetchFromGitHub
|
||||||
, git, gnupg, pass, qtbase, qtsvg, qttools, qmake
|
, git, gnupg, pass, pwgen
|
||||||
|
, qtbase, qtsvg, qttools, qmake
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qtpass";
|
pname = "qtpass";
|
||||||
version = "1.3.0";
|
version = "1.3.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "IJHack";
|
owner = "IJHack";
|
||||||
repo = "QtPass";
|
repo = "QtPass";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0v3ca4fdjk6l24vc9wlc0i7r6fdj85kjmnb7jvicd3f8xi9mvhnv";
|
sha256 = "025sdk4fq71jgfs54zj7ssgvlci8vvjkqdckgbwz0nqrynlljy08";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
|
buildInputs = [ git gnupg pass qtbase qtsvg ];
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake ];
|
nativeBuildInputs = [ qmake qttools ];
|
||||||
|
|
||||||
# Fix missing app icon on Wayland. Has been upstreamed and should be safe to
|
|
||||||
# remove in versions > 1.3.0
|
|
||||||
patches = [
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/IJHack/QtPass/commit/aba8c4180f0ab3d66c44f88b21f137b19d17bde8.patch";
|
|
||||||
sha256 = "009bcq0d75khmaligzd7736xdzy6a8s1m9dgqybn70h801h92fcr";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
qmakeFlags = [
|
||||||
|
# setup hook only sets QMAKE_LRELEASE, set QMAKE_LUPDATE too:
|
||||||
|
"QMAKE_LUPDATE=${qttools.dev}/bin/lupdate"
|
||||||
|
];
|
||||||
|
|
||||||
qtWrapperArgs = [
|
qtWrapperArgs = [
|
||||||
"--suffix PATH : ${lib.makeBinPath [ git gnupg pass ]}"
|
"--suffix PATH : ${lib.makeBinPath [ git gnupg pass pwgen ]}"
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
install -D qtpass.desktop $out/share/applications/qtpass.desktop
|
install -D qtpass.desktop -t $out/share/applications
|
||||||
install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg
|
install -D artwork/icon.svg $out/share/icons/hicolor/scalable/apps/qtpass-icon.svg
|
||||||
|
install -D qtpass.1 -t $out/share/man/man1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "A multi-platform GUI for pass, the standard unix password manager";
|
description = "A multi-platform GUI for pass, the standard unix password manager";
|
||||||
homepage = https://qtpass.org;
|
homepage = https://qtpass.org;
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
|
|
|
@ -37,6 +37,7 @@ in stdenv.mkDerivation {
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = [ maintainers.krav ];
|
maintainers = [ maintainers.krav ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,5 +17,7 @@ buildGoPackage rec {
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
license = stdenv.lib.licenses.isc;
|
license = stdenv.lib.licenses.isc;
|
||||||
|
homepage = "https://github.com/schachmat/wego";
|
||||||
|
description = "Weather app for the terminal";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,11 +10,11 @@ with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zathura-core";
|
pname = "zathura-core";
|
||||||
version = "0.4.3";
|
version = "0.4.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pwmt.org/projects/zathura/download/zathura-${version}.tar.xz";
|
url = "https://git.pwmt.org/pwmt/zathura/-/archive/${version}/zathura-${version}.tar.gz";
|
||||||
sha256 = "0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky";
|
sha256 = "0v5klgr009rsxi41h73k0398jbgmgh37asvwz2w15i4fzmw89jgb";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "bin" "man" "dev" "out" ];
|
outputs = [ "bin" "man" "dev" "out" ];
|
||||||
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = https://pwmt.org/projects/zathura/;
|
homepage = "https://git.pwmt.org/pwmt/zathura";
|
||||||
description = "A core component for zathura PDF viewer";
|
description = "A core component for zathura PDF viewer";
|
||||||
license = licenses.zlib;
|
license = licenses.zlib;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
|
|
@ -1,26 +1,18 @@
|
||||||
{ stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
|
{ stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
|
||||||
, RSupport? true, R
|
, RSupport? true, R
|
||||||
, mesosSupport ? true, mesos
|
, mesosSupport ? true, mesos
|
||||||
, version
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
sha256 = {
|
|
||||||
"1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf";
|
|
||||||
"2.4.3" = "1dvvr1q3dz961bl7qigxngrp4ssrbll3g1s6nkra6gyr83pis96c";
|
|
||||||
}.${version};
|
|
||||||
in
|
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "spark";
|
pname = "spark";
|
||||||
inherit version;
|
version = "2.4.4";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
inherit sha256;
|
|
||||||
url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
|
url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
|
||||||
|
sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
|
buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
|
||||||
|
|
|
@ -97,8 +97,8 @@ in rec {
|
||||||
terraform_0_11-full = terraform_0_11.full;
|
terraform_0_11-full = terraform_0_11.full;
|
||||||
|
|
||||||
terraform_0_12 = pluggable (generic {
|
terraform_0_12 = pluggable (generic {
|
||||||
version = "0.12.9";
|
version = "0.12.10";
|
||||||
sha256 = "14js4n08rg30y0jrm0na79syglpb64cb7cxys0x3w47pcbgymrka";
|
sha256 = "0bmqcmzjsrpvvnd9pn40f774c8jy6j810qz0njxqh60yh27f5rhx";
|
||||||
patches = [ ./provider-path.patch ];
|
patches = [ ./provider-path.patch ];
|
||||||
passthru = { inherit plugins; };
|
passthru = { inherit plugins; };
|
||||||
});
|
});
|
||||||
|
|
|
@ -53,5 +53,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
maintainers = with maintainers; [ dotlambda nicknovitski ];
|
maintainers = with maintainers; [ dotlambda nicknovitski ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
|
||||||
maintainers = with maintainers; [ orivej ];
|
maintainers = with maintainers; [ orivej ];
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
|
{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
|
||||||
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
|
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
|
||||||
, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
|
, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
|
||||||
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
, dee, ffmpeg_4, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "telegram-desktop";
|
pname = "telegram-desktop";
|
||||||
version = "1.8.13";
|
version = "1.8.15";
|
||||||
# Note: Due to our strong dependency on the Arch patches it's probably best
|
# Note: Due to our strong dependency on the Arch patches it's probably best
|
||||||
# to also wait for the Arch update (especially if the patches don't apply).
|
# to also wait for the Arch update (especially if the patches don't apply).
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ mkDerivation rec {
|
||||||
owner = "telegramdesktop";
|
owner = "telegramdesktop";
|
||||||
repo = "tdesktop";
|
repo = "tdesktop";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "19p4cjzk7jyhrd4sd8dq1r1zksff23zyg5rh5vlr3kqd372bffzz";
|
sha256 = "03173y2nlkf757llgpia8p2dkkwsjra7b6qm5nhmkcwcm8kmsvyy";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
qtbase qtimageformats gtk3 libappindicator-gtk3
|
qtbase qtimageformats gtk3 libappindicator-gtk3
|
||||||
dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
|
dee ffmpeg_4 openalSoft minizip libopus alsaLib libpulseaudio range-v3
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "Link-local XMPP connection manager for Telepathy";
|
description = "Link-local XMPP connection manager for Telepathy";
|
||||||
platforms = platforms.gnu ++ platforms.linux; # Random choice
|
platforms = platforms.gnu ++ platforms.linux; # Random choice
|
||||||
maintainers = [ maintainers.lethalman ];
|
maintainers = [ maintainers.lethalman ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,12 +19,12 @@ let
|
||||||
|
|
||||||
version = {
|
version = {
|
||||||
x86_64-linux = "3.10.2904";
|
x86_64-linux = "3.10.2904";
|
||||||
x86_64-darwin = "3.10.3133";
|
x86_64-darwin = "3.10.3215";
|
||||||
}.${system} or throwSystem;
|
}.${system} or throwSystem;
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "1vrz4568mlhylx17jw4z452f0vrd8yd8qkbpkcvnsbhs6k066xcn";
|
x86_64-linux = "1vrz4568mlhylx17jw4z452f0vrd8yd8qkbpkcvnsbhs6k066xcn";
|
||||||
x86_64-darwin = "0d8g9fl3yciqp3aic374rzcywb5d5yipgni992khsfdfqhcvm3x9";
|
x86_64-darwin = "0ygm3fgy9k1dp2kjfwsrrwq1i88wgxc6k8y80yz61ivdawgph9wa";
|
||||||
}.${system} or throwSystem;
|
}.${system} or throwSystem;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -25,5 +25,6 @@ stdenv.mkDerivation {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ mog ];
|
maintainers = with maintainers; [ mog ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,11 +4,11 @@ with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mpop";
|
pname = "mpop";
|
||||||
version = "1.4.5";
|
version = "1.4.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1m6743j8g777lijvxqw2wz6pv2g5a9wlh6zq7awk0hvd44xp4sav";
|
sha256 = "0q4ifzvl1gcndvqqqk7n9mc599r4s2knxjc7alflwb366fql58gv";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
|
@ -9,11 +9,11 @@ let
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "msmtp";
|
pname = "msmtp";
|
||||||
version = "1.8.5";
|
version = "1.8.6";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0fczpfxlr62wkr7bwhp24clxg962k5khgz14h818qyy4v77dl4qn";
|
sha256 = "1qa260xrm0fzlwxpjvgvq39m4dfkskjlyb7m4y2vlr8c8d3z29b6";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,32 +1,28 @@
|
||||||
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig
|
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, qt5
|
||||||
, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf3_6, speex, libcap
|
, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
|
||||||
, alsaLib, python
|
, alsaLib, python
|
||||||
, jackSupport ? false, libjack2 ? null
|
, jackSupport ? false, libjack2 ? null
|
||||||
, speechdSupport ? false, speechd ? null
|
, speechdSupport ? false, speechd ? null
|
||||||
, pulseSupport ? false, libpulseaudio ? null
|
, pulseSupport ? false, libpulseaudio ? null
|
||||||
, iceSupport ? false, zeroc-ice ? null, zeroc-ice-36 ? null
|
, iceSupport ? false, zeroc-ice ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert jackSupport -> libjack2 != null;
|
assert jackSupport -> libjack2 != null;
|
||||||
assert speechdSupport -> speechd != null;
|
assert speechdSupport -> speechd != null;
|
||||||
assert pulseSupport -> libpulseaudio != null;
|
assert pulseSupport -> libpulseaudio != null;
|
||||||
assert iceSupport -> zeroc-ice != null && zeroc-ice-36 != null;
|
assert iceSupport -> zeroc-ice != null;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
let
|
let
|
||||||
generic = overrides: source: (if source.qtVersion == 5 then qt5.mkDerivation else stdenv.mkDerivation) (source // overrides // {
|
generic = overrides: source: qt5.mkDerivation (source // overrides // {
|
||||||
name = "${overrides.type}-${source.version}";
|
name = "${overrides.type}-${source.version}";
|
||||||
|
|
||||||
patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
|
patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig python ]
|
nativeBuildInputs = [ pkgconfig python qt5.qmake ]
|
||||||
++ { qt4 = [ qmake4Hook ]; qt5 = [ qt5.qmake ]; }."qt${toString source.qtVersion}"
|
|
||||||
++ (overrides.nativeBuildInputs or [ ]);
|
++ (overrides.nativeBuildInputs or [ ]);
|
||||||
|
|
||||||
# protobuf is freezed to 3.6 because of this bug: https://github.com/mumble-voip/mumble/issues/3617
|
buildInputs = [ boost protobuf avahi ]
|
||||||
# this could be reverted to the latest version in a future release of mumble as it is already fixed in master
|
|
||||||
buildInputs = [ boost protobuf3_6 avahi ]
|
|
||||||
++ optional (source.qtVersion == 4) qt4
|
|
||||||
++ (overrides.buildInputs or [ ]);
|
++ (overrides.buildInputs or [ ]);
|
||||||
|
|
||||||
qmakeFlags = [
|
qmakeFlags = [
|
||||||
|
@ -76,9 +72,8 @@ let
|
||||||
client = source: generic {
|
client = source: generic {
|
||||||
type = "mumble";
|
type = "mumble";
|
||||||
|
|
||||||
nativeBuildInputs = optional (source.qtVersion == 5) qt5.qttools;
|
nativeBuildInputs = [ qt5.qttools ];
|
||||||
buildInputs = [ libopus libsndfile speex ]
|
buildInputs = [ libopus libsndfile speex qt5.qtsvg ]
|
||||||
++ optional (source.qtVersion == 5) qt5.qtsvg
|
|
||||||
++ optional stdenv.isLinux alsaLib
|
++ optional stdenv.isLinux alsaLib
|
||||||
++ optional jackSupport libjack2
|
++ optional jackSupport libjack2
|
||||||
++ optional speechdSupport speechd
|
++ optional speechdSupport speechd
|
||||||
|
@ -107,18 +102,18 @@ let
|
||||||
'';
|
'';
|
||||||
} source;
|
} source;
|
||||||
|
|
||||||
server = source: let ice = if source.qtVersion == 4 then zeroc-ice-36 else zeroc-ice; in generic {
|
server = source: generic {
|
||||||
type = "murmur";
|
type = "murmur";
|
||||||
|
|
||||||
postPatch = optional iceSupport ''
|
postPatch = optional iceSupport ''
|
||||||
grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${ice.dev}/share/ice/,g'
|
grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc-ice.dev}/share/ice/,g'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"CONFIG+=no-client"
|
"CONFIG+=no-client"
|
||||||
] ++ optional (!iceSupport) "CONFIG+=no-ice";
|
] ++ optional (!iceSupport) "CONFIG+=no-ice";
|
||||||
|
|
||||||
buildInputs = [ libcap ] ++ optional iceSupport ice;
|
buildInputs = [ libcap ] ++ optional iceSupport zeroc-ice;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
# bin stuff
|
# bin stuff
|
||||||
|
@ -126,48 +121,19 @@ let
|
||||||
'';
|
'';
|
||||||
} source;
|
} source;
|
||||||
|
|
||||||
stableSource = rec {
|
source = rec {
|
||||||
version = "1.2.19";
|
version = "1.3.0";
|
||||||
qtVersion = 4;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://github.com/mumble-voip/mumble/releases/download/${version}/mumble-${version}.tar.gz";
|
|
||||||
sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Fix compile error against boost 1.66 (#33655):
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/mumble-voip/mumble/commit/"
|
|
||||||
+ "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
|
|
||||||
sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
|
|
||||||
})
|
|
||||||
# Fixes hang on reconfiguring audio (often including startup)
|
|
||||||
# https://github.com/mumble-voip/mumble/pull/3418
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/mumble-voip/mumble/commit/"
|
|
||||||
+ "fbbdf2e8ab7d93ed6f7680268ad0689b7eaa71ad.patch";
|
|
||||||
sha256 = "1yhj62mlwm6q42i4aclbia645ha97d3j4ycxhgafr46dbjs0gani";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
rcSource = rec {
|
|
||||||
version = "1.3.0-rc2";
|
|
||||||
qtVersion = 5;
|
|
||||||
|
|
||||||
# Needs submodules
|
# Needs submodules
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mumble-voip";
|
owner = "mumble-voip";
|
||||||
repo = "mumble";
|
repo = "mumble";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "00irlzz5q4drmsfbwrkyy7p7w8a5fc1ip5vyicq3g3cy58dprpqr";
|
sha256 = "0g5ri84gg0x3crhpxlzawf9s9l4hdna6aqw6qbdpx1hjlf5k6g8k";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
mumble = client stableSource;
|
mumble = client source;
|
||||||
mumble_rc = client rcSource;
|
murmur = server source;
|
||||||
murmur = server stableSource;
|
|
||||||
murmur_rc = server rcSource;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,13 +10,13 @@ with lib;
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qbittorrent";
|
pname = "qbittorrent";
|
||||||
version = "4.1.7";
|
version = "4.1.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "qbittorrent";
|
owner = "qbittorrent";
|
||||||
repo = "qbittorrent";
|
repo = "qbittorrent";
|
||||||
rev = "release-${version}";
|
rev = "release-${version}";
|
||||||
sha256 = "1z4k64h3ik1a7ir4v9g3ar1wq8zfh4r2pq43hr2wvlamm2111gdv";
|
sha256 = "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w";
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
||||||
|
|
|
@ -4,22 +4,22 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "08kdxsg9npb1nmlr2jyq7p238735kqkp7c5xckxn6rc4cp12n2y2";
|
x86_64-linux = "0mixw2sk7li1hjagibwzdgbfnrih5acricczqmfks1gsinjqrn82";
|
||||||
i686-linux = "11r5d4234zbkkgyrd7q9x3w7s7lailnq7z4x8cnhpr8vipzrg7h2";
|
i386-linux = "1gshd4vm8ysn636r1z44vmzdzrgybsmj8ma4zdabvs9jsbm2da3c";
|
||||||
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
|
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
|
||||||
|
|
||||||
arch = {
|
arch = {
|
||||||
x86_64-linux = "amd64";
|
x86_64-linux = "amd64";
|
||||||
i686-linux = "i686";
|
i386-linux = "i386";
|
||||||
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
|
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
|
||||||
|
|
||||||
description = "Desktop sharing application, providing remote support and online meetings";
|
description = "Desktop sharing application, providing remote support and online meetings";
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
desktopItem = makeDesktopItem {
|
||||||
name = "anydesk";
|
name = "AnyDesk";
|
||||||
exec = "@out@/bin/anydesk";
|
exec = "@out@/bin/anydesk";
|
||||||
icon = "anydesk";
|
icon = "anydesk";
|
||||||
desktopName = "anydesk";
|
desktopName = "AnyDesk";
|
||||||
genericName = description;
|
genericName = description;
|
||||||
categories = "Application;Network;";
|
categories = "Application;Network;";
|
||||||
startupNotify = "false";
|
startupNotify = "false";
|
||||||
|
@ -27,7 +27,7 @@ let
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "anydesk";
|
pname = "anydesk";
|
||||||
version = "4.0.1";
|
version = "5.1.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
|
url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
|
||||||
|
@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
|
||||||
pangox_compat polkit polkit_gnome
|
pangox_compat polkit polkit_gnome
|
||||||
] ++ (with xorg; [
|
] ++ (with xorg; [
|
||||||
libxcb libX11 libXdamage libXext libXfixes libXi libXmu
|
libxcb libX11 libXdamage libXext libXfixes libXi libXmu
|
||||||
libXrandr libXtst libXt libICE libSM
|
libXrandr libXtst libXt libICE libSM libXrender
|
||||||
]);
|
]);
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
@ -50,7 +50,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
mkdir -p $out/bin $out/share/{applications,doc/anydesk,icons/hicolor}
|
mkdir -p $out/bin $out/share/{applications,doc/anydesk,icons/hicolor}
|
||||||
install -m755 anydesk $out/bin/anydesk
|
install -m755 anydesk $out/bin/anydesk
|
||||||
cp changelog copyright README $out/share/doc/anydesk
|
cp copyright README $out/share/doc/anydesk
|
||||||
cp -r icons/* $out/share/icons/hicolor/
|
cp -r icons/* $out/share/icons/hicolor/
|
||||||
cp ${desktopItem}/share/applications/*.desktop $out/share/applications
|
cp ${desktopItem}/share/applications/*.desktop $out/share/applications
|
||||||
|
|
||||||
|
@ -75,6 +75,6 @@ in stdenv.mkDerivation rec {
|
||||||
homepage = https://www.anydesk.com;
|
homepage = https://www.anydesk.com;
|
||||||
license = licenses.unfree;
|
license = licenses.unfree;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ peterhoeg ];
|
maintainers = with maintainers; [ shyim ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,11 +13,11 @@ with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "znc";
|
pname = "znc";
|
||||||
version = "1.7.4";
|
version = "1.7.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://znc.in/releases/archive/${pname}-${version}.tar.gz";
|
url = "https://znc.in/releases/archive/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0wcvqkpin8w4i72alnn0nxnrc9ih543qs34hqpk9xmz6m0hjk8xi";
|
sha256 = "08a7yb2xs85hyyz8dpzfbsfjwj2r6kcii022lj3l4rf8hl9ix558";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
|
@ -79,15 +79,15 @@ in {
|
||||||
|
|
||||||
fish = zncDerivation rec {
|
fish = zncDerivation rec {
|
||||||
name = "znc-fish-${version}";
|
name = "znc-fish-${version}";
|
||||||
version = "git-2014-10-10";
|
version = "git-2017-06-26";
|
||||||
module_name = "fish";
|
module_name = "fish";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
# this fork works with ZNC 1.6
|
# this fork works with ZNC 1.7
|
||||||
owner = "jarrydpage";
|
owner = "oilslump";
|
||||||
repo = "znc-fish";
|
repo = "znc-fish";
|
||||||
rev = "9c580e018a1a08374e814fc06f551281cff827de";
|
rev = "7d91467dbb195f7b591567911210523c6087662e";
|
||||||
sha256 = "0yvs0jkwwp18qxqvw1dvir91ggczz56ka00k0zlsb81csdi8xfvl";
|
sha256 = "1ky5xg17k5f393whrv5iv8zsmdvdyk2f7z5qdsmxcwy3pdxy6vsm";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = https://kmymoney.org/;
|
homepage = https://kmymoney.org/;
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
license = lib.licenses.gpl2Plus;
|
license = lib.licenses.gpl2Plus;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,5 +37,6 @@ mkDerivation rec {
|
||||||
license = with licenses; [ gpl3 ];
|
license = with licenses; [ gpl3 ];
|
||||||
maintainers = with maintainers; [ joko ];
|
maintainers = with maintainers; [ joko ];
|
||||||
homepage = https://skrooge.org/;
|
homepage = https://skrooge.org/;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,5 +26,6 @@ stdenv.mkDerivation rec { pname = "EZminc";
|
||||||
maintainers = with maintainers; [ bcdarwin ];
|
maintainers = with maintainers; [ bcdarwin ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
|
||||||
longDescription = ''PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc.'';
|
longDescription = ''PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc.'';
|
||||||
license = "non-commercial";
|
license = "non-commercial";
|
||||||
homepage = http://abacus.gene.ucl.ac.uk/software/paml.html;
|
homepage = http://abacus.gene.ucl.ac.uk/software/paml.html;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
|
||||||
homepage = https://github.com/Illumina/strelka;
|
homepage = https://github.com/Illumina/strelka;
|
||||||
maintainers = with maintainers; [ jbedo ];
|
maintainers = with maintainers; [ jbedo ];
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,5 +47,6 @@ python3Packages.buildPythonApplication {
|
||||||
description = description;
|
description = description;
|
||||||
homepage = https://www.pymol.org/;
|
homepage = https://www.pymol.org/;
|
||||||
license = licenses.psfl;
|
license = licenses.psfl;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gtkwave";
|
pname = "gtkwave";
|
||||||
version = "3.3.101";
|
version = "3.3.102";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz";
|
url = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1j6capxwgi8aj3sgqg1r7161icni9y8y93g1rl3bzd3s40jcyhsz";
|
sha256 = "1izyfx6b1n9nr08c7q0gkgcf0q04bb4qz92ckwh74n5l5nwprfw0";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
|
|
@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ berce ];
|
maintainers = with maintainers; [ berce ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,13 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "hol_light-2019-03-27";
|
name = "hol_light-2019-10-06";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jrh13";
|
owner = "jrh13";
|
||||||
repo = "hol-light";
|
repo = "hol-light";
|
||||||
rev = "a2b487b38d9da47350f1b4316e34a8fa4cf7a40a";
|
rev = "5c91b2ded8a66db571824ecfc18b4536c103b23e";
|
||||||
sha256 = "1qlidl15qi8w4si8wxcmj8yg2srsb0q4k1ad9yd91sgx9h9aq8fk";
|
sha256 = "0sxsk8z08ba0q5aixdyczcx5l29lb51ba4ip3d2fry7y604kjsx6";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ocaml camlp5 ];
|
buildInputs = [ ocaml camlp5 ];
|
||||||
|
|
|
@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
|
||||||
license = stdenv.lib.licenses.mit;
|
license = stdenv.lib.licenses.mit;
|
||||||
maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
|
maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,5 +32,6 @@ stdenv.mkDerivation {
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ thoughtpolice gebner ];
|
maintainers = with maintainers; [ thoughtpolice gebner ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,7 @@ let
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = if includeGplCode then licenses.gpl2 else licenses.mit;
|
license = if includeGplCode then licenses.gpl2 else licenses.mit;
|
||||||
homepage = https://github.com/sambayless/monosat;
|
homepage = https://github.com/sambayless/monosat;
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,22 @@
|
||||||
|
{ stdenv, fetchurl, cmake
|
||||||
{ stdenv, fetchurl, cmake,
|
, singlePrec ? true
|
||||||
singlePrec ? true,
|
, mpiEnabled ? false
|
||||||
mpiEnabled ? false,
|
, fftw
|
||||||
fftw,
|
, openmpi
|
||||||
openmpi
|
, perl
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "gromacs-2019.3";
|
name = "gromacs-2019.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.3.tar.gz";
|
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.4.tar.gz";
|
||||||
sha256 = "0wvm6lj4hbasl2qkjcpicqjh7abxji4196dd2hmwlyivpycaa4a2";
|
sha256 = "0rqqrbjrdhprlw2z6cqid59xwxfdx05ikvywppvdp8f8vzp6chxs";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [cmake fftw]
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ fftw perl ]
|
||||||
++ (stdenv.lib.optionals mpiEnabled [ openmpi ]);
|
++ (stdenv.lib.optionals mpiEnabled [ openmpi ]);
|
||||||
|
|
||||||
cmakeFlags = ''
|
cmakeFlags = ''
|
||||||
|
|
|
@ -69,5 +69,6 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ pxc ];
|
maintainers = with maintainers; [ pxc ];
|
||||||
|
broken = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fossil";
|
pname = "fossil";
|
||||||
version = "2.9";
|
version = "2.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
urls =
|
urls =
|
||||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||||
"https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
|
"https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
|
||||||
];
|
];
|
||||||
name = "${pname}-${version}.tar.gz";
|
name = "${pname}-${version}.tar.gz";
|
||||||
sha256 = "0kwb7pkp7y2my916rhyl6kmcf0fk8gkzaxzy13hfgqs35nlsvchw";
|
sha256 = "041bs4fgk52fw58p7s084pxk9d9vs5v2f2pjbznqawz75inpg8yq";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ zlib openssl readline sqlite which ed ]
|
buildInputs = [ zlib openssl readline sqlite which ed ]
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "git-remote-hg";
|
pname = "git-remote-hg";
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mnauw";
|
owner = "mnauw";
|
||||||
repo = "git-remote-hg";
|
repo = "git-remote-hg";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0anl054zdi5rg5m4bm1n763kbdjkpdws3c89c8w8m5gq1ifsbd4d";
|
sha256 = "1by5ygqvq9ww990kdrjndaqsssyf2jc4n380f9pfh2avsr7871wc";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ mercurial.python mercurial makeWrapper
|
buildInputs = [ mercurial.python mercurial makeWrapper
|
||||||
|
|
|
@ -8,13 +8,13 @@ with stdenv.lib;
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "gitea";
|
pname = "gitea";
|
||||||
version = "1.9.3";
|
version = "1.9.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "go-gitea";
|
owner = "go-gitea";
|
||||||
repo = "gitea";
|
repo = "gitea";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0g6ch85dq4vazxnr6g78wgqrnfa955395y1zws0a50h0wfxpdjis";
|
sha256 = "1f4bdn04pbbmnf03c58jqjl2m629137py6l06mkh63jip32a6l1z";
|
||||||
# Required to generate the same checksum on MacOS due to unicode encoding differences
|
# Required to generate the same checksum on MacOS due to unicode encoding differences
|
||||||
# More information: https://github.com/NixOS/nixpkgs/pull/48128
|
# More information: https://github.com/NixOS/nixpkgs/pull/48128
|
||||||
extraPostFetch = ''
|
extraPostFetch = ''
|
||||||
|
|
|
@ -1,32 +1,13 @@
|
||||||
{
|
{
|
||||||
"ce": {
|
"version": "12.3.5",
|
||||||
"version": "12.1.6",
|
"repo_hash": "12ywspgnbwm232vmzbqhkqmwmcrb9pvihsayzmw0cxvhlfwq6995",
|
||||||
"repo_hash": "0zyqxzyb1m8qa94iiyqf5ivqxrg60y378r94fsixy17fbh4y7sa6",
|
|
||||||
"deb_hash": "14bwcmwar44pjnjr6fdn2h9y92vyfva0kb76d4pz8pqc9pfm2hmg",
|
|
||||||
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_12.1.6-ce.0_amd64.deb/download.deb",
|
|
||||||
"owner": "gitlab-org",
|
"owner": "gitlab-org",
|
||||||
"repo": "gitlab-ce",
|
"repo": "gitlab",
|
||||||
"rev": "v12.1.6",
|
"rev": "v12.3.5-ee",
|
||||||
"passthru": {
|
"passthru": {
|
||||||
"GITALY_SERVER_VERSION": "1.53.2",
|
"GITALY_SERVER_VERSION": "1.65.1",
|
||||||
"GITLAB_PAGES_VERSION": "1.7.1",
|
"GITLAB_PAGES_VERSION": "1.9.0",
|
||||||
"GITLAB_SHELL_VERSION": "9.3.0",
|
"GITLAB_SHELL_VERSION": "10.0.0",
|
||||||
"GITLAB_WORKHORSE_VERSION": "8.7.0"
|
"GITLAB_WORKHORSE_VERSION": "8.10.0"
|
||||||
}
|
|
||||||
},
|
|
||||||
"ee": {
|
|
||||||
"version": "12.1.6",
|
|
||||||
"repo_hash": "1lxci1hwcccgw567c5733yl95xsxr4gnw41m48igdw9y8p6g7zbc",
|
|
||||||
"deb_hash": "0yjilhf4bjhl1a596x6n4cvjklfbrwhymslhx977nfjazfb5slx3",
|
|
||||||
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_12.1.6-ee.0_amd64.deb/download.deb",
|
|
||||||
"owner": "gitlab-org",
|
|
||||||
"repo": "gitlab-ee",
|
|
||||||
"rev": "v12.1.6-ee",
|
|
||||||
"passthru": {
|
|
||||||
"GITALY_SERVER_VERSION": "1.53.2",
|
|
||||||
"GITLAB_PAGES_VERSION": "1.7.1",
|
|
||||||
"GITLAB_SHELL_VERSION": "9.3.0",
|
|
||||||
"GITLAB_WORKHORSE_VERSION": "8.7.0"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,13 +1,24 @@
|
||||||
{ stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
|
{ stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
|
||||||
, ruby, tzdata, git, nettools, nixosTests
|
, ruby, tzdata, git, nettools, nixosTests, nodejs
|
||||||
, gitlabEnterprise ? false
|
, gitlabEnterprise ? false, callPackage, yarn
|
||||||
|
, yarn2nix-moretea
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
data = (builtins.fromJSON (builtins.readFile ./data.json));
|
||||||
|
|
||||||
|
version = data.version;
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
owner = data.owner;
|
||||||
|
repo = data.repo;
|
||||||
|
rev = data.rev;
|
||||||
|
sha256 = data.repo_hash;
|
||||||
|
};
|
||||||
|
|
||||||
rubyEnv = bundlerEnv rec {
|
rubyEnv = bundlerEnv rec {
|
||||||
name = "gitlab-env-${version}";
|
name = "gitlab-env-${version}";
|
||||||
inherit ruby;
|
inherit ruby;
|
||||||
gemdir = ./rubyEnv- + (if gitlabEnterprise then "ee" else "ce");
|
gemdir = ./rubyEnv;
|
||||||
gemset =
|
gemset =
|
||||||
let x = import (gemdir + "/gemset.nix");
|
let x = import (gemdir + "/gemset.nix");
|
||||||
in x // {
|
in x // {
|
||||||
|
@ -19,35 +30,71 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
groups = [
|
groups = [
|
||||||
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test"
|
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
|
||||||
];
|
];
|
||||||
# N.B. omniauth_oauth2_generic and apollo_upload_server both provide a
|
# N.B. omniauth_oauth2_generic and apollo_upload_server both provide a
|
||||||
# `console` executable.
|
# `console` executable.
|
||||||
ignoreCollisions = true;
|
ignoreCollisions = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
flavour = if gitlabEnterprise then "ee" else "ce";
|
yarnOfflineCache = (callPackage ./yarnPkgs.nix {}).offline_cache;
|
||||||
data = (builtins.fromJSON (builtins.readFile ./data.json)).${flavour};
|
|
||||||
|
|
||||||
version = data.version;
|
assets = stdenv.mkDerivation {
|
||||||
sources = {
|
pname = "gitlab-assets";
|
||||||
gitlab = fetchFromGitLab {
|
inherit version src;
|
||||||
owner = data.owner;
|
|
||||||
repo = data.repo;
|
nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn ];
|
||||||
rev = data.rev;
|
|
||||||
sha256 = data.repo_hash;
|
configurePhase = ''
|
||||||
};
|
runHook preConfigure
|
||||||
gitlabDeb = fetchurl {
|
|
||||||
url = data.deb_url;
|
# Some rake tasks try to run yarn automatically, which won't work
|
||||||
sha256 = data.deb_hash;
|
rm lib/tasks/yarn.rake
|
||||||
};
|
|
||||||
|
# The rake tasks won't run without a basic configuration in place
|
||||||
|
mv config/database.yml.env config/database.yml
|
||||||
|
mv config/gitlab.yml.example config/gitlab.yml
|
||||||
|
|
||||||
|
# Yarn and bundler wants a real home directory to write cache, config, etc to
|
||||||
|
export HOME=$NIX_BUILD_TOP/fake_home
|
||||||
|
|
||||||
|
# Make yarn install packages from our offline cache, not the registry
|
||||||
|
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
|
||||||
|
|
||||||
|
# Fixup "resolved"-entries in yarn.lock to match our offline cache
|
||||||
|
${yarn2nix-moretea.fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
|
||||||
|
|
||||||
|
yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
|
||||||
|
|
||||||
|
patchShebangs node_modules/
|
||||||
|
|
||||||
|
runHook postConfigure
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
|
||||||
|
bundle exec rake gettext:po_to_json RAILS_ENV=production NODE_ENV=production
|
||||||
|
bundle exec rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
|
||||||
|
bundle exec rake webpack:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=4096"
|
||||||
|
bundle exec rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
|
||||||
|
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mv public/assets $out
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "gitlab${if gitlabEnterprise then "-ee" else ""}-${version}";
|
name = "gitlab${lib.optionalString gitlabEnterprise "-ee"}-${version}";
|
||||||
|
|
||||||
src = sources.gitlab;
|
inherit src;
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools
|
rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools
|
||||||
|
@ -56,10 +103,15 @@ stdenv.mkDerivation {
|
||||||
patches = [ ./remove-hardcoded-locations.patch ];
|
patches = [ ./remove-hardcoded-locations.patch ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
${lib.optionalString (!gitlabEnterprise) ''
|
||||||
|
# Remove all proprietary components
|
||||||
|
rm -rf ee
|
||||||
|
''}
|
||||||
|
|
||||||
# For reasons I don't understand "bundle exec" ignores the
|
# For reasons I don't understand "bundle exec" ignores the
|
||||||
# RAILS_ENV causing tests to be executed that fail because we're
|
# RAILS_ENV causing tests to be executed that fail because we're
|
||||||
# not installing development and test gems above. Deleting the
|
# not installing development and test gems above. Deleting the
|
||||||
# tests works though.:
|
# tests works though.
|
||||||
rm lib/tasks/test.rake
|
rm lib/tasks/test.rake
|
||||||
|
|
||||||
rm config/initializers/gitlab_shell_secret_token.rb
|
rm config/initializers/gitlab_shell_secret_token.rb
|
||||||
|
@ -69,27 +121,15 @@ stdenv.mkDerivation {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
mv config/gitlab.yml.example config/gitlab.yml
|
|
||||||
|
|
||||||
# Building this requires yarn, node &c, so we just get it from the deb
|
|
||||||
ar p ${sources.gitlabDeb} data.tar.gz | gunzip > gitlab-deb-data.tar
|
|
||||||
# Work around unpacking deb containing binary with suid bit
|
|
||||||
tar -f gitlab-deb-data.tar --delete ./opt/gitlab/embedded/bin/ksu
|
|
||||||
tar -xf gitlab-deb-data.tar
|
|
||||||
rm gitlab-deb-data.tar
|
|
||||||
|
|
||||||
mv -v opt/gitlab/embedded/service/gitlab-rails/public/assets public
|
|
||||||
rm -rf opt # only directory in data.tar.gz
|
|
||||||
|
|
||||||
mv config/gitlab.yml config/gitlab.yml.example
|
|
||||||
rm -f config/secrets.yml
|
rm -f config/secrets.yml
|
||||||
mv config config.dist
|
mv config config.dist
|
||||||
|
rm -r tmp
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
rm -r tmp
|
|
||||||
mkdir -p $out/share
|
mkdir -p $out/share
|
||||||
cp -r . $out/share/gitlab
|
cp -r . $out/share/gitlab
|
||||||
|
ln -sf ${assets} $out/share/gitlab/public/assets
|
||||||
rm -rf $out/share/gitlab/log
|
rm -rf $out/share/gitlab/log
|
||||||
ln -sf /run/gitlab/log $out/share/gitlab/log
|
ln -sf /run/gitlab/log $out/share/gitlab/log
|
||||||
ln -sf /run/gitlab/uploads $out/share/gitlab/public/uploads
|
ln -sf /run/gitlab/uploads $out/share/gitlab/public/uploads
|
||||||
|
@ -102,7 +142,7 @@ stdenv.mkDerivation {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit rubyEnv;
|
inherit rubyEnv assets;
|
||||||
ruby = rubyEnv.wrappedRuby;
|
ruby = rubyEnv.wrappedRuby;
|
||||||
GITALY_SERVER_VERSION = data.passthru.GITALY_SERVER_VERSION;
|
GITALY_SERVER_VERSION = data.passthru.GITALY_SERVER_VERSION;
|
||||||
GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION;
|
GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION;
|
||||||
|
@ -116,7 +156,7 @@ stdenv.mkDerivation {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = http://www.gitlab.com/;
|
homepage = http://www.gitlab.com/;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ fpletz globin krav ];
|
maintainers = with maintainers; [ fpletz globin krav talyz ];
|
||||||
} // (if gitlabEnterprise then
|
} // (if gitlabEnterprise then
|
||||||
{
|
{
|
||||||
license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE
|
license = licenses.unfreeRedistributable; # https://gitlab.com/gitlab-org/gitlab-ee/raw/master/LICENSE
|
||||||
|
|
|
@ -6,8 +6,7 @@ gem 'bundler', '>= 1.17.3'
|
||||||
gem 'rugged', '~> 0.28'
|
gem 'rugged', '~> 0.28'
|
||||||
gem 'github-linguist', '~> 6.1', require: 'linguist'
|
gem 'github-linguist', '~> 6.1', require: 'linguist'
|
||||||
gem 'gitlab-markup', '~> 1.7.0'
|
gem 'gitlab-markup', '~> 1.7.0'
|
||||||
gem 'activesupport', '~> 5.1.7'
|
gem 'activesupport', '~> 5.2.3'
|
||||||
gem 'gitaly-proto', '~> 1.36.0'
|
|
||||||
gem 'rdoc', '~> 4.2'
|
gem 'rdoc', '~> 4.2'
|
||||||
gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false
|
gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false
|
||||||
gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
|
gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
|
||||||
|
@ -17,7 +16,7 @@ gem 'faraday', '~> 0.12'
|
||||||
gem 'rbtrace', require: false
|
gem 'rbtrace', require: false
|
||||||
|
|
||||||
# Labkit provides observability functionality
|
# Labkit provides observability functionality
|
||||||
gem 'gitlab-labkit', '~> 0.3.0'
|
gem 'gitlab-labkit', '~> 0.5.0'
|
||||||
|
|
||||||
# Detects the open source license the repository includes
|
# Detects the open source license the repository includes
|
||||||
# This version needs to be in sync with GitLab CE/EE
|
# This version needs to be in sync with GitLab CE/EE
|
||||||
|
|
|
@ -2,20 +2,20 @@ GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
abstract_type (0.0.7)
|
abstract_type (0.0.7)
|
||||||
actionpack (5.1.7)
|
actionpack (5.2.3)
|
||||||
actionview (= 5.1.7)
|
actionview (= 5.2.3)
|
||||||
activesupport (= 5.1.7)
|
activesupport (= 5.2.3)
|
||||||
rack (~> 2.0)
|
rack (~> 2.0)
|
||||||
rack-test (>= 0.6.3)
|
rack-test (>= 0.6.3)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.0)
|
||||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||||
actionview (5.1.7)
|
actionview (5.2.3)
|
||||||
activesupport (= 5.1.7)
|
activesupport (= 5.2.3)
|
||||||
builder (~> 3.1)
|
builder (~> 3.1)
|
||||||
erubi (~> 1.4)
|
erubi (~> 1.4)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.0)
|
||||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||||
activesupport (5.1.7)
|
activesupport (5.2.3)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
i18n (>= 0.7, < 2)
|
i18n (>= 0.7, < 2)
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
|
@ -46,11 +46,9 @@ GEM
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
faraday (0.15.4)
|
faraday (0.15.4)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
ffi (1.10.0)
|
ffi (1.11.1)
|
||||||
gemojione (3.3.0)
|
gemojione (3.3.0)
|
||||||
json
|
json
|
||||||
gitaly-proto (1.36.0)
|
|
||||||
grpc (~> 1.0)
|
|
||||||
github-linguist (6.4.1)
|
github-linguist (6.4.1)
|
||||||
charlock_holmes (~> 0.7.6)
|
charlock_holmes (~> 0.7.6)
|
||||||
escape_utils (~> 1.2.0)
|
escape_utils (~> 1.2.0)
|
||||||
|
@ -73,12 +71,13 @@ GEM
|
||||||
diff-lcs (~> 1.1)
|
diff-lcs (~> 1.1)
|
||||||
mime-types (>= 1.16)
|
mime-types (>= 1.16)
|
||||||
posix-spawn (~> 0.3)
|
posix-spawn (~> 0.3)
|
||||||
gitlab-labkit (0.3.0)
|
gitlab-labkit (0.5.2)
|
||||||
actionpack (~> 5)
|
actionpack (~> 5)
|
||||||
activesupport (~> 5)
|
activesupport (~> 5)
|
||||||
grpc (~> 1.19.0)
|
grpc (~> 1.19)
|
||||||
jaeger-client (~> 0.10)
|
jaeger-client (~> 0.10)
|
||||||
opentracing (~> 0.4)
|
opentracing (~> 0.4)
|
||||||
|
redis (> 3.0.0, < 5.0.0)
|
||||||
gitlab-markup (1.7.0)
|
gitlab-markup (1.7.0)
|
||||||
gollum-grit_adapter (1.0.1)
|
gollum-grit_adapter (1.0.1)
|
||||||
gitlab-grit (~> 2.7, >= 2.7.1)
|
gitlab-grit (~> 2.7, >= 2.7.1)
|
||||||
|
@ -111,10 +110,10 @@ GEM
|
||||||
mime-types-data (3.2019.0331)
|
mime-types-data (3.2019.0331)
|
||||||
mini_portile2 (2.4.0)
|
mini_portile2 (2.4.0)
|
||||||
minitest (5.11.3)
|
minitest (5.11.3)
|
||||||
msgpack (1.2.10)
|
msgpack (1.3.0)
|
||||||
multi_json (1.13.1)
|
multi_json (1.13.1)
|
||||||
multipart-post (2.0.0)
|
multipart-post (2.0.0)
|
||||||
nokogiri (1.10.3)
|
nokogiri (1.10.4)
|
||||||
mini_portile2 (~> 2.4.0)
|
mini_portile2 (~> 2.4.0)
|
||||||
nokogumbo (1.5.0)
|
nokogumbo (1.5.0)
|
||||||
nokogiri
|
nokogiri
|
||||||
|
@ -139,7 +138,7 @@ GEM
|
||||||
rails-dom-testing (2.0.3)
|
rails-dom-testing (2.0.3)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
rails-html-sanitizer (1.0.4)
|
rails-html-sanitizer (1.2.0)
|
||||||
loofah (~> 2.2, >= 2.2.2)
|
loofah (~> 2.2, >= 2.2.2)
|
||||||
rainbow (3.0.0)
|
rainbow (3.0.0)
|
||||||
rbtrace (0.4.11)
|
rbtrace (0.4.11)
|
||||||
|
@ -147,7 +146,8 @@ GEM
|
||||||
msgpack (>= 0.4.3)
|
msgpack (>= 0.4.3)
|
||||||
optimist (>= 3.0.0)
|
optimist (>= 3.0.0)
|
||||||
rdoc (4.3.0)
|
rdoc (4.3.0)
|
||||||
rouge (3.5.1)
|
redis (4.1.2)
|
||||||
|
rouge (3.11.0)
|
||||||
rspec (3.8.0)
|
rspec (3.8.0)
|
||||||
rspec-core (~> 3.8.0)
|
rspec-core (~> 3.8.0)
|
||||||
rspec-expectations (~> 3.8.0)
|
rspec-expectations (~> 3.8.0)
|
||||||
|
@ -175,7 +175,7 @@ GEM
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (>= 1.4.0, < 1.7)
|
unicode-display_width (>= 1.4.0, < 1.7)
|
||||||
ruby-progressbar (1.10.0)
|
ruby-progressbar (1.10.0)
|
||||||
rugged (0.28.1)
|
rugged (0.28.3.1)
|
||||||
safe_yaml (1.0.5)
|
safe_yaml (1.0.5)
|
||||||
sanitize (4.6.6)
|
sanitize (4.6.6)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
|
@ -213,15 +213,14 @@ PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
activesupport (~> 5.1.7)
|
activesupport (~> 5.2.3)
|
||||||
bundler (>= 1.17.3)
|
bundler (>= 1.17.3)
|
||||||
factory_bot
|
factory_bot
|
||||||
faraday (~> 0.12)
|
faraday (~> 0.12)
|
||||||
gitaly-proto (~> 1.36.0)
|
|
||||||
github-linguist (~> 6.1)
|
github-linguist (~> 6.1)
|
||||||
gitlab-gollum-lib (~> 4.2.7.7)
|
gitlab-gollum-lib (~> 4.2.7.7)
|
||||||
gitlab-gollum-rugged_adapter (~> 0.4.4.2)
|
gitlab-gollum-rugged_adapter (~> 0.4.4.2)
|
||||||
gitlab-labkit (~> 0.3.0)
|
gitlab-labkit (~> 0.5.0)
|
||||||
gitlab-markup (~> 1.7.0)
|
gitlab-markup (~> 1.7.0)
|
||||||
google-protobuf (~> 3.7.1)
|
google-protobuf (~> 3.7.1)
|
||||||
grpc (~> 1.19.0)
|
grpc (~> 1.19.0)
|
||||||
|
|
|
@ -17,14 +17,14 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in buildGoPackage rec {
|
in buildGoPackage rec {
|
||||||
version = "1.53.2";
|
version = "1.65.1";
|
||||||
pname = "gitaly";
|
pname = "gitaly";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitaly";
|
repo = "gitaly";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0x4dhqaxx6n5jlcvf69rglxiz11037ghgcnskks6qnlcbkd85j3d";
|
sha256 = "1a39i723na2xk4363a7v48ba23vi04qpg0119dw09g13m0k5hjc3";
|
||||||
};
|
};
|
||||||
|
|
||||||
goPackagePath = "gitlab.com/gitlab-org/gitaly";
|
goPackagePath = "gitlab.com/gitlab-org/gitaly";
|
||||||
|
@ -40,7 +40,7 @@ in buildGoPackage rec {
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $ruby
|
mkdir -p $ruby
|
||||||
cp -rv $src/ruby/{bin,lib,git-hooks,gitlab-shell} $ruby
|
cp -rv $src/ruby/{bin,lib,proto,git-hooks,gitlab-shell} $ruby
|
||||||
|
|
||||||
# gitlab-shell will try to read its config relative to the source
|
# gitlab-shell will try to read its config relative to the source
|
||||||
# code by default which doesn't work in nixos because it's a
|
# code by default which doesn't work in nixos because it's a
|
||||||
|
|
|
@ -270,6 +270,33 @@
|
||||||
sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
|
sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/kr/pretty";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/kr/pretty";
|
||||||
|
rev = "v0.1.0";
|
||||||
|
sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/kr/pty";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/kr/pty";
|
||||||
|
rev = "v1.1.1";
|
||||||
|
sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/kr/text";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/kr/text";
|
||||||
|
rev = "v0.1.0";
|
||||||
|
sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
goPackagePath = "github.com/libgit2/git2go";
|
goPackagePath = "github.com/libgit2/git2go";
|
||||||
fetch = {
|
fetch = {
|
||||||
|
@ -477,15 +504,6 @@
|
||||||
sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
|
sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
|
||||||
goPackagePath = "gitlab.com/gitlab-org/gitaly-proto";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://gitlab.com/gitlab-org/gitaly-proto.git";
|
|
||||||
rev = "v1.36.0";
|
|
||||||
sha256 = "0xma8ys3lf1bdhlkmcis31xs1h1dshcr5796wwfwnzijwk6422m3";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
goPackagePath = "gitlab.com/gitlab-org/labkit";
|
goPackagePath = "gitlab.com/gitlab-org/labkit";
|
||||||
fetch = {
|
fetch = {
|
||||||
|
@ -509,8 +527,8 @@
|
||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://go.googlesource.com/crypto";
|
url = "https://go.googlesource.com/crypto";
|
||||||
rev = "c2843e01d9a2";
|
rev = "20be4c3c3ed5";
|
||||||
sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
|
sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -554,8 +572,8 @@
|
||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://go.googlesource.com/sys";
|
url = "https://go.googlesource.com/sys";
|
||||||
rev = "d0b11bdaac8a";
|
rev = "953cdadca894";
|
||||||
sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
|
sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -626,8 +644,8 @@
|
||||||
fetch = {
|
fetch = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://gopkg.in/check.v1";
|
url = "https://gopkg.in/check.v1";
|
||||||
rev = "20d25e280405";
|
rev = "788fd7840127";
|
||||||
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
|
sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,10 +13,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52";
|
sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.1.7";
|
version = "5.2.3";
|
||||||
};
|
};
|
||||||
actionview = {
|
actionview = {
|
||||||
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
|
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
|
||||||
|
@ -24,10 +24,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0i2j580njb767yhf0k5ih3qqg38ybiah80ai8dsr6kjjw35aj747";
|
sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.1.7";
|
version = "5.2.3";
|
||||||
};
|
};
|
||||||
activesupport = {
|
activesupport = {
|
||||||
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
|
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
|
||||||
|
@ -35,10 +35,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91";
|
sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.1.7";
|
version = "5.2.3";
|
||||||
};
|
};
|
||||||
adamantium = {
|
adamantium = {
|
||||||
dependencies = ["ice_nine" "memoizable"];
|
dependencies = ["ice_nine" "memoizable"];
|
||||||
|
@ -205,12 +205,14 @@
|
||||||
version = "0.15.4";
|
version = "0.15.4";
|
||||||
};
|
};
|
||||||
ffi = {
|
ffi = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
|
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.10.0";
|
version = "1.11.1";
|
||||||
};
|
};
|
||||||
gemojione = {
|
gemojione = {
|
||||||
dependencies = ["json"];
|
dependencies = ["json"];
|
||||||
|
@ -221,17 +223,6 @@
|
||||||
};
|
};
|
||||||
version = "3.3.0";
|
version = "3.3.0";
|
||||||
};
|
};
|
||||||
gitaly-proto = {
|
|
||||||
dependencies = ["grpc"];
|
|
||||||
groups = ["default"];
|
|
||||||
platforms = [];
|
|
||||||
source = {
|
|
||||||
remotes = ["https://rubygems.org"];
|
|
||||||
sha256 = "11bkrf2z5ppp55cipawdpinrva42x12grp2gl1dp1jdb35crqick";
|
|
||||||
type = "gem";
|
|
||||||
};
|
|
||||||
version = "1.36.0";
|
|
||||||
};
|
|
||||||
github-linguist = {
|
github-linguist = {
|
||||||
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
|
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -283,15 +274,15 @@
|
||||||
version = "2.8.2";
|
version = "2.8.2";
|
||||||
};
|
};
|
||||||
gitlab-labkit = {
|
gitlab-labkit = {
|
||||||
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
|
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "redis"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1";
|
sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.3.0";
|
version = "0.5.2";
|
||||||
};
|
};
|
||||||
gitlab-markup = {
|
gitlab-markup = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -489,10 +480,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch";
|
sha256 = "1186lhwnxiw5ryv6dbxrsfy0fajfll2l95kf9pmca50iyiqi86zn";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.2.10";
|
version = "1.3.0";
|
||||||
};
|
};
|
||||||
multi_json = {
|
multi_json = {
|
||||||
source = {
|
source = {
|
||||||
|
@ -516,10 +507,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
|
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.10.3";
|
version = "1.10.4";
|
||||||
};
|
};
|
||||||
nokogumbo = {
|
nokogumbo = {
|
||||||
dependencies = ["nokogiri"];
|
dependencies = ["nokogiri"];
|
||||||
|
@ -649,10 +640,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
|
sha256 = "0ilwxzm3a7bql5c9q2n9g9nb1hax7vd8d65a5yp3d967ld97nvrq";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.4";
|
version = "1.2.0";
|
||||||
};
|
};
|
||||||
rainbow = {
|
rainbow = {
|
||||||
source = {
|
source = {
|
||||||
|
@ -679,15 +670,25 @@
|
||||||
};
|
};
|
||||||
version = "4.3.0";
|
version = "4.3.0";
|
||||||
};
|
};
|
||||||
|
redis = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "4.1.2";
|
||||||
|
};
|
||||||
rouge = {
|
rouge = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
|
sha256 = "1zsyv6abqrk7lpql5f1ja4m88bfy9qndi8xykpss6cpvjdmi3ydb";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.5.1";
|
version = "3.11.0";
|
||||||
};
|
};
|
||||||
rspec = {
|
rspec = {
|
||||||
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
|
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
|
||||||
|
@ -778,10 +779,10 @@
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
|
sha256 = "03w3k7j27kgzpcc3halkd3w0b677sny2lfwm2lwn2n1ac20dzjc6";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.28.1";
|
version = "0.28.3.1";
|
||||||
};
|
};
|
||||||
safe_yaml = {
|
safe_yaml = {
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
|
group :development, :test do
|
||||||
|
gem 'listen', '~> 0.5.0'
|
||||||
|
gem 'pry', '~> 0.12.2'
|
||||||
|
gem 'rspec', '~> 3.8.0'
|
||||||
|
gem 'rspec-parameterized', '~> 0.4.0'
|
||||||
|
gem 'rubocop', '0.49.1', require: false
|
||||||
|
gem 'simplecov', '~> 0.9.0', require: false
|
||||||
|
gem 'vcr', '~> 4.0.0'
|
||||||
|
gem 'webmock', '~> 3.4.0'
|
||||||
|
end
|
|
@ -0,0 +1,109 @@
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
abstract_type (0.0.7)
|
||||||
|
adamantium (0.2.0)
|
||||||
|
ice_nine (~> 0.11.0)
|
||||||
|
memoizable (~> 0.4.0)
|
||||||
|
addressable (2.5.2)
|
||||||
|
public_suffix (>= 2.0.2, < 4.0)
|
||||||
|
ast (2.4.0)
|
||||||
|
binding_of_caller (0.8.0)
|
||||||
|
debug_inspector (>= 0.0.1)
|
||||||
|
coderay (1.1.2)
|
||||||
|
concord (0.1.5)
|
||||||
|
adamantium (~> 0.2.0)
|
||||||
|
equalizer (~> 0.0.9)
|
||||||
|
crack (0.4.3)
|
||||||
|
safe_yaml (~> 1.0.0)
|
||||||
|
debug_inspector (0.0.3)
|
||||||
|
diff-lcs (1.3)
|
||||||
|
docile (1.1.5)
|
||||||
|
equalizer (0.0.11)
|
||||||
|
hashdiff (0.3.7)
|
||||||
|
ice_nine (0.11.2)
|
||||||
|
listen (0.5.3)
|
||||||
|
memoizable (0.4.2)
|
||||||
|
thread_safe (~> 0.3, >= 0.3.1)
|
||||||
|
method_source (0.9.2)
|
||||||
|
multi_json (1.13.1)
|
||||||
|
parallel (1.12.1)
|
||||||
|
parser (2.5.1.2)
|
||||||
|
ast (~> 2.4.0)
|
||||||
|
powerpack (0.1.2)
|
||||||
|
proc_to_ast (0.1.0)
|
||||||
|
coderay
|
||||||
|
parser
|
||||||
|
unparser
|
||||||
|
procto (0.0.3)
|
||||||
|
pry (0.12.2)
|
||||||
|
coderay (~> 1.1.0)
|
||||||
|
method_source (~> 0.9.0)
|
||||||
|
public_suffix (3.0.3)
|
||||||
|
rainbow (2.2.2)
|
||||||
|
rake
|
||||||
|
rake (12.3.3)
|
||||||
|
rspec (3.8.0)
|
||||||
|
rspec-core (~> 3.8.0)
|
||||||
|
rspec-expectations (~> 3.8.0)
|
||||||
|
rspec-mocks (~> 3.8.0)
|
||||||
|
rspec-core (3.8.0)
|
||||||
|
rspec-support (~> 3.8.0)
|
||||||
|
rspec-expectations (3.8.1)
|
||||||
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
|
rspec-support (~> 3.8.0)
|
||||||
|
rspec-mocks (3.8.0)
|
||||||
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
|
rspec-support (~> 3.8.0)
|
||||||
|
rspec-parameterized (0.4.0)
|
||||||
|
binding_of_caller
|
||||||
|
parser
|
||||||
|
proc_to_ast
|
||||||
|
rspec (>= 2.13, < 4)
|
||||||
|
unparser
|
||||||
|
rspec-support (3.8.0)
|
||||||
|
rubocop (0.49.1)
|
||||||
|
parallel (~> 1.10)
|
||||||
|
parser (>= 2.3.3.1, < 3.0)
|
||||||
|
powerpack (~> 0.1)
|
||||||
|
rainbow (>= 1.99.1, < 3.0)
|
||||||
|
ruby-progressbar (~> 1.7)
|
||||||
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
||||||
|
ruby-progressbar (1.9.0)
|
||||||
|
safe_yaml (1.0.4)
|
||||||
|
simplecov (0.9.2)
|
||||||
|
docile (~> 1.1.0)
|
||||||
|
multi_json (~> 1.0)
|
||||||
|
simplecov-html (~> 0.9.0)
|
||||||
|
simplecov-html (0.9.0)
|
||||||
|
thread_safe (0.3.6)
|
||||||
|
unicode-display_width (1.4.0)
|
||||||
|
unparser (0.2.8)
|
||||||
|
abstract_type (~> 0.0.7)
|
||||||
|
adamantium (~> 0.2.0)
|
||||||
|
concord (~> 0.1.5)
|
||||||
|
diff-lcs (~> 1.3)
|
||||||
|
equalizer (~> 0.0.9)
|
||||||
|
parser (>= 2.3.1.2, < 2.6)
|
||||||
|
procto (~> 0.0.2)
|
||||||
|
vcr (4.0.0)
|
||||||
|
webmock (3.4.2)
|
||||||
|
addressable (>= 2.3.6)
|
||||||
|
crack (>= 0.3.2)
|
||||||
|
hashdiff
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
listen (~> 0.5.0)
|
||||||
|
pry (~> 0.12.2)
|
||||||
|
rspec (~> 3.8.0)
|
||||||
|
rspec-parameterized (~> 0.4.0)
|
||||||
|
rubocop (= 0.49.1)
|
||||||
|
simplecov (~> 0.9.0)
|
||||||
|
vcr (~> 4.0.0)
|
||||||
|
webmock (~> 3.4.0)
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
1.16.3
|
|
@ -1,32 +1,43 @@
|
||||||
{ stdenv, ruby, bundler, fetchFromGitLab, go }:
|
{ stdenv, ruby, bundler, fetchFromGitLab, buildGoPackage, bundlerEnv }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
version = "9.3.0";
|
|
||||||
pname = "gitlab-shell";
|
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "10.0.0";
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-shell";
|
repo = "gitlab-shell";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1r000h4sgplx7giqvqs5iy0zh3drf6qa1iiq0mxlk3h9fshs1348";
|
sha256 = "0n1llkb0jrqxm10l9wqmqxjycydqphgz0chbbf395d8pywyz826x";
|
||||||
};
|
};
|
||||||
|
rubyEnv = bundlerEnv {
|
||||||
|
name = "gitlab-shell-env";
|
||||||
|
inherit ruby;
|
||||||
|
gemdir = ./.;
|
||||||
|
};
|
||||||
|
goPackage = buildGoPackage {
|
||||||
|
pname = "gitlab-shell-go";
|
||||||
|
inherit src version;
|
||||||
|
|
||||||
buildInputs = [ ruby bundler go ];
|
patches = [ ./remove-hardcoded-locations-go.patch ];
|
||||||
|
|
||||||
patches = [ ./remove-hardcoded-locations.patch ];
|
goPackagePath = "gitlab.com/gitlab-org/gitlab-shell";
|
||||||
|
goDeps = ./deps.nix;
|
||||||
|
|
||||||
installPhase = ''
|
# gitlab-shell depends on an older version of gitaly which
|
||||||
export GOCACHE="$TMPDIR/go-cache"
|
# contains old, vendored versions of some packages; gitlab-shell
|
||||||
|
# also explicitly depends on newer versions of these libraries,
|
||||||
ruby bin/compile
|
# but buildGoPackage exposes the vendored versions instead,
|
||||||
mkdir -p $out/
|
# leading to compilation errors. Since the vendored libraries
|
||||||
cp -R . $out/
|
# aren't used here anyway, we'll just remove them.
|
||||||
|
postConfigure = ''
|
||||||
# Nothing to install ATM for non-development but keeping the
|
rm -r "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/gitaly/vendor/"
|
||||||
# install command anyway in case that changes in the future:
|
|
||||||
export HOME=$(pwd)
|
|
||||||
bundle install -j4 --verbose --local --deployment --without development test
|
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "gitlab-shell";
|
||||||
|
inherit src version;
|
||||||
|
|
||||||
|
patches = [ ./remove-hardcoded-locations-ruby.patch ];
|
||||||
|
|
||||||
# gitlab-shell will try to read its config relative to the source
|
# gitlab-shell will try to read its config relative to the source
|
||||||
# code by default which doesn't work in nixos because it's a
|
# code by default which doesn't work in nixos because it's a
|
||||||
|
@ -37,11 +48,25 @@ stdenv.mkDerivation rec {
|
||||||
"'/run/gitlab/shell-config.yml'"
|
"'/run/gitlab/shell-config.yml'"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
buildInputs = [ rubyEnv.wrappedRuby ];
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/
|
||||||
|
cp -R . $out/
|
||||||
|
cp ${goPackage.bin}/bin/* $out/bin/
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "SSH access and repository management app for GitLab";
|
description = "SSH access and repository management app for GitLab";
|
||||||
homepage = http://www.gitlab.com/;
|
homepage = http://www.gitlab.com/;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ fpletz globin ];
|
maintainers = with maintainers; [ fpletz globin talyz ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
507
pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
generated
Normal file
507
pkgs/applications/version-management/gitlab/gitlab-shell/deps.nix
generated
Normal file
|
@ -0,0 +1,507 @@
|
||||||
|
# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
|
||||||
|
[
|
||||||
|
{
|
||||||
|
goPackagePath = "bou.ke/monkey";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/bouk/monkey";
|
||||||
|
rev = "v1.0.1";
|
||||||
|
sha256 = "050y07pwx5zk7fchp0lhf35w417sml7lxkkzly8f932fy25rydz5";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "cloud.google.com/go";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://code.googlesource.com/gocloud";
|
||||||
|
rev = "v0.26.0";
|
||||||
|
sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/certifi/gocertifi";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/certifi/gocertifi";
|
||||||
|
rev = "ee1a9a0726d2";
|
||||||
|
sha256 = "08l6lqaw83pva6fa0aafmhmy1mhb145av21772zfh3ij809a37i4";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/client9/misspell";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/client9/misspell";
|
||||||
|
rev = "v0.3.4";
|
||||||
|
sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/codahale/hdrhistogram";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/codahale/hdrhistogram";
|
||||||
|
rev = "3a0bb77429bd";
|
||||||
|
sha256 = "1zampgfjbxy192cbwdi7g86l1idxaam96d834wncnpfdwgh5kl57";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/davecgh/go-spew";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/davecgh/go-spew";
|
||||||
|
rev = "v1.1.1";
|
||||||
|
sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/fsnotify/fsnotify";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/fsnotify/fsnotify";
|
||||||
|
rev = "v1.4.7";
|
||||||
|
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/getsentry/raven-go";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/getsentry/raven-go";
|
||||||
|
rev = "v0.1.0";
|
||||||
|
sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/gogo/protobuf";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/gogo/protobuf";
|
||||||
|
rev = "v1.1.1";
|
||||||
|
sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/golang/glog";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/glog";
|
||||||
|
rev = "23def4e6c14b";
|
||||||
|
sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/golang/lint";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/lint";
|
||||||
|
rev = "06c8688daad7";
|
||||||
|
sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/golang/mock";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/mock";
|
||||||
|
rev = "v1.1.1";
|
||||||
|
sha256 = "0ap8wb6pdl6ccmdb43advjll2ly4sz26wsc3axw0hbrjrybybzgy";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/golang/protobuf";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/protobuf";
|
||||||
|
rev = "v1.2.0";
|
||||||
|
sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/grpc-ecosystem/go-grpc-middleware";
|
||||||
|
rev = "v1.0.0";
|
||||||
|
sha256 = "0lwgxih021xfhfb1xb9la5f98bpgpaiz63sbllx77qwwl2rmhrsp";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/hpcloud/tail";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/hpcloud/tail";
|
||||||
|
rev = "v1.0.0";
|
||||||
|
sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/kisielk/gotool";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/kisielk/gotool";
|
||||||
|
rev = "v1.0.0";
|
||||||
|
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/lightstep/lightstep-tracer-go";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/lightstep/lightstep-tracer-go";
|
||||||
|
rev = "v0.15.6";
|
||||||
|
sha256 = "10n5r66g44s6rnz5kf86s4a3p1g55kc1kxqhnk7bx7mlayndgpmb";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/mattn/go-shellwords";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/mattn/go-shellwords";
|
||||||
|
rev = "2444a32a19f4";
|
||||||
|
sha256 = "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/onsi/ginkgo";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/onsi/ginkgo";
|
||||||
|
rev = "v1.7.0";
|
||||||
|
sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/onsi/gomega";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/onsi/gomega";
|
||||||
|
rev = "v1.4.3";
|
||||||
|
sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/opentracing/opentracing-go";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/opentracing/opentracing-go";
|
||||||
|
rev = "v1.0.2";
|
||||||
|
sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/otiai10/copy";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/otiai10/copy";
|
||||||
|
rev = "v1.0.1";
|
||||||
|
sha256 = "0xmy0kfcx48q10s040579pcjswfaxlwhv7a2z07z9r92fdrgw03k";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/otiai10/curr";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/otiai10/curr";
|
||||||
|
rev = "f5a3d24e5776";
|
||||||
|
sha256 = "01k33ifs9n0pnhwhbfb9ws3q5sa37fi7dhir5vjakpfzdin07y4w";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/otiai10/mint";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/otiai10/mint";
|
||||||
|
rev = "v1.2.4";
|
||||||
|
sha256 = "1mf7b8h3akxbpj1rf3nk0ccqk5idd6z2gh9gm31phr7ll4gykn2m";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/philhofer/fwd";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/philhofer/fwd";
|
||||||
|
rev = "v1.0.0";
|
||||||
|
sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/pkg/errors";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/pkg/errors";
|
||||||
|
rev = "v0.8.0";
|
||||||
|
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/pmezard/go-difflib";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/pmezard/go-difflib";
|
||||||
|
rev = "v1.0.0";
|
||||||
|
sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/sirupsen/logrus";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/sirupsen/logrus";
|
||||||
|
rev = "v1.0.5";
|
||||||
|
sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/stretchr/testify";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/stretchr/testify";
|
||||||
|
rev = "v1.2.2";
|
||||||
|
sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/tinylib/msgp";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/tinylib/msgp";
|
||||||
|
rev = "v1.0.2";
|
||||||
|
sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/uber-go/atomic";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/uber-go/atomic";
|
||||||
|
rev = "v1.3.2";
|
||||||
|
sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/uber/jaeger-client-go";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/uber/jaeger-client-go";
|
||||||
|
rev = "v2.15.0";
|
||||||
|
sha256 = "0ki23m9zrf3vxp839fnp9ckr4m28y6mpad8g5s5lr5k8jkl0sfwj";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "github.com/uber/jaeger-lib";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/uber/jaeger-lib";
|
||||||
|
rev = "v1.5.0";
|
||||||
|
sha256 = "113fwpn80ylx970w8h7nfqnhh18dpx1jadbk7rbr8k68q4di4y0q";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gitlab.com/gitlab-org/gitaly";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gitlab.com/gitlab-org/gitaly.git";
|
||||||
|
rev = "v1.7.0";
|
||||||
|
sha256 = "1hhiyw1ag22mgn6chp8lf29y2fgj90xyb7wjd6s30hayqja7knh1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gitlab.com/gitlab-org/gitaly-proto";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gitlab.com/gitlab-org/gitaly-proto.git";
|
||||||
|
rev = "v1.12.0";
|
||||||
|
sha256 = "02aqw1q8n84v4f3rc0x7hsg0gkmbqkznp9cl6vrhjvsisv38v695";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gitlab.com/gitlab-org/labkit";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gitlab.com/gitlab-org/labkit.git";
|
||||||
|
rev = "0c3fc7cdd57c";
|
||||||
|
sha256 = "0fpn37v7dhhdgd63v4mq9cna9wdzrsfams13qmjmps3xpdw2wr9i";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "go.uber.org/atomic";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/uber-go/atomic";
|
||||||
|
rev = "v1.3.2";
|
||||||
|
sha256 = "11pzvjys5ddjjgrv94pgk9pnip9yyb54z7idf33zk7p7xylpnsv6";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/crypto";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/crypto";
|
||||||
|
rev = "182114d58262";
|
||||||
|
sha256 = "0dhagsjpk3wn2f7w148v0h9i651jpk4c0mlsy5sihcnmqz8s764l";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/lint";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/lint";
|
||||||
|
rev = "06c8688daad7";
|
||||||
|
sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/net";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/net";
|
||||||
|
rev = "10aee1819953";
|
||||||
|
sha256 = "1rd6y0fr2gqhx3bsy0ahnacqzbxijkx8wyfmamrb3wbzc01091rl";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/oauth2";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/oauth2";
|
||||||
|
rev = "d2e6202438be";
|
||||||
|
sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/sync";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/sync";
|
||||||
|
rev = "1d60e4601c6f";
|
||||||
|
sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/sys";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/sys";
|
||||||
|
rev = "70b957f3b65e";
|
||||||
|
sha256 = "146jwkr39asigqbsnsigxpkpb4vydld4k9q34xvvw0bp10qzjxxw";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/text";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/text";
|
||||||
|
rev = "v0.3.0";
|
||||||
|
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "golang.org/x/tools";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://go.googlesource.com/tools";
|
||||||
|
rev = "6cd1fcedba52";
|
||||||
|
sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "google.golang.org/appengine";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/golang/appengine";
|
||||||
|
rev = "v1.1.0";
|
||||||
|
sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "google.golang.org/genproto";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/google/go-genproto";
|
||||||
|
rev = "bd91e49a0898";
|
||||||
|
sha256 = "1f5q04h03q6fksbfkhz13ai5849rkkb8xrmmi7cxs4lzsi6ixkg8";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "google.golang.org/grpc";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/grpc/grpc-go";
|
||||||
|
rev = "v1.16.0";
|
||||||
|
sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/DataDog/dd-trace-go.v1";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/DataDog/dd-trace-go.v1";
|
||||||
|
rev = "v1.9.0";
|
||||||
|
sha256 = "1zfbsmm8fbcwhd6j28q3ijyswn1d3dyhydx3ckqpkkp6qiam3c2j";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/airbrake/gobrake.v2";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/airbrake/gobrake.v2";
|
||||||
|
rev = "v2.0.9";
|
||||||
|
sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/check.v1";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/check.v1";
|
||||||
|
rev = "20d25e280405";
|
||||||
|
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/fsnotify.v1";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/fsnotify.v1";
|
||||||
|
rev = "v1.4.7";
|
||||||
|
sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/gemnasium/logrus-airbrake-hook.v2";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2";
|
||||||
|
rev = "v2.1.2";
|
||||||
|
sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/tomb.v1";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/tomb.v1";
|
||||||
|
rev = "dd632973f1e7";
|
||||||
|
sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "gopkg.in/yaml.v2";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://gopkg.in/yaml.v2";
|
||||||
|
rev = "v2.2.1";
|
||||||
|
sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
goPackagePath = "honnef.co/go/tools";
|
||||||
|
fetch = {
|
||||||
|
type = "git";
|
||||||
|
url = "https://github.com/dominikh/go-tools";
|
||||||
|
rev = "88497007e858";
|
||||||
|
sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,451 @@
|
||||||
|
{
|
||||||
|
abstract_type = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.0.7";
|
||||||
|
};
|
||||||
|
adamantium = {
|
||||||
|
dependencies = ["ice_nine" "memoizable"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.2.0";
|
||||||
|
};
|
||||||
|
addressable = {
|
||||||
|
dependencies = ["public_suffix"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.5.2";
|
||||||
|
};
|
||||||
|
ast = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.4.0";
|
||||||
|
};
|
||||||
|
binding_of_caller = {
|
||||||
|
dependencies = ["debug_inspector"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "05syqlks7463zsy1jdfbbdravdhj9hpj5pv2m74blqpv8bq4vv5g";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.8.0";
|
||||||
|
};
|
||||||
|
coderay = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.1.2";
|
||||||
|
};
|
||||||
|
concord = {
|
||||||
|
dependencies = ["adamantium" "equalizer"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1b6cdn0fg4n9gzbdr7zyf4jq40y6h0c0g9cra7wk9hhmsylk91bg";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.1.5";
|
||||||
|
};
|
||||||
|
crack = {
|
||||||
|
dependencies = ["safe_yaml"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0abb0fvgw00akyik1zxnq7yv391va148151qxdghnzngv66bl62k";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.4.3";
|
||||||
|
};
|
||||||
|
debug_inspector = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.0.3";
|
||||||
|
};
|
||||||
|
diff-lcs = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.3";
|
||||||
|
};
|
||||||
|
docile = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.1.5";
|
||||||
|
};
|
||||||
|
equalizer = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.0.11";
|
||||||
|
};
|
||||||
|
hashdiff = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.3.7";
|
||||||
|
};
|
||||||
|
ice_nine = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1nv35qg1rps9fsis28hz2cq2fx1i96795f91q4nmkm934xynll2x";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.11.2";
|
||||||
|
};
|
||||||
|
listen = {
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0inlw7vix61170vjr87h9izhjm5dbby8rbfrf1iryiv7b3kyvkxl";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.5.3";
|
||||||
|
};
|
||||||
|
memoizable = {
|
||||||
|
dependencies = ["thread_safe"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.4.2";
|
||||||
|
};
|
||||||
|
method_source = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.9.2";
|
||||||
|
};
|
||||||
|
multi_json = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.13.1";
|
||||||
|
};
|
||||||
|
parallel = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.12.1";
|
||||||
|
};
|
||||||
|
parser = {
|
||||||
|
dependencies = ["ast"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.5.1.2";
|
||||||
|
};
|
||||||
|
powerpack = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.1.2";
|
||||||
|
};
|
||||||
|
proc_to_ast = {
|
||||||
|
dependencies = ["coderay" "parser" "unparser"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "14c65w48bbzp5lh1cngqd1y25kqvfnq1iy49hlzshl12dsk3z9wj";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.1.0";
|
||||||
|
};
|
||||||
|
procto = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.0.3";
|
||||||
|
};
|
||||||
|
pry = {
|
||||||
|
dependencies = ["coderay" "method_source"];
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.12.2";
|
||||||
|
};
|
||||||
|
public_suffix = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.0.3";
|
||||||
|
};
|
||||||
|
rainbow = {
|
||||||
|
dependencies = ["rake"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.2.2";
|
||||||
|
};
|
||||||
|
rake = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1cvaqarr1m84mhc006g3l1vw7sa5qpkcw0138lsxlf769zdllsgp";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "12.3.3";
|
||||||
|
};
|
||||||
|
rspec = {
|
||||||
|
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.8.0";
|
||||||
|
};
|
||||||
|
rspec-core = {
|
||||||
|
dependencies = ["rspec-support"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.8.0";
|
||||||
|
};
|
||||||
|
rspec-expectations = {
|
||||||
|
dependencies = ["diff-lcs" "rspec-support"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0vfqqcjmhdq25jrc8rd7nx4n8xid7s1ynv65ph06bk2xafn3rgll";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.8.1";
|
||||||
|
};
|
||||||
|
rspec-mocks = {
|
||||||
|
dependencies = ["diff-lcs" "rspec-support"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.8.0";
|
||||||
|
};
|
||||||
|
rspec-parameterized = {
|
||||||
|
dependencies = ["binding_of_caller" "parser" "proc_to_ast" "rspec" "unparser"];
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0arynbr6cfjhccwc8gy2xf87nybdnncsnmfwknnh8s7d4mj730p0";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.4.0";
|
||||||
|
};
|
||||||
|
rspec-support = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.8.0";
|
||||||
|
};
|
||||||
|
rubocop = {
|
||||||
|
dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1mqyylfzch0967w7nfnqza84sqhljijd9y4bnq8hcmrscch75cxw";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.49.1";
|
||||||
|
};
|
||||||
|
ruby-progressbar = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1igh1xivf5h5g3y5m9b4i4j2mhz2r43kngh4ww3q1r80ch21nbfk";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.9.0";
|
||||||
|
};
|
||||||
|
safe_yaml = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.0.4";
|
||||||
|
};
|
||||||
|
simplecov = {
|
||||||
|
dependencies = ["docile" "multi_json" "simplecov-html"];
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1a3wy9zlmfwl3f47cibnxyxrgfz16y6fmy0dj1vyidzyys4mvy12";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.9.2";
|
||||||
|
};
|
||||||
|
simplecov-html = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0jv9pmpaxihrcsgcf6mgl3qg7rhf9scl5l2k67d768w9cz63xgvc";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.9.0";
|
||||||
|
};
|
||||||
|
thread_safe = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.3.6";
|
||||||
|
};
|
||||||
|
unicode-display_width = {
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.4.0";
|
||||||
|
};
|
||||||
|
unparser = {
|
||||||
|
dependencies = ["abstract_type" "adamantium" "concord" "diff-lcs" "equalizer" "parser" "procto"];
|
||||||
|
groups = ["default" "development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0rh1649846ac17av30x0b0v9l45v0x1j2y1i8m1a7xdd0v4sld0z";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.2.8";
|
||||||
|
};
|
||||||
|
vcr = {
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0qh7lkj9b0shph84dw1wsrlaprl0jn1i4339fpsfy99402290zrr";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "4.0.0";
|
||||||
|
};
|
||||||
|
webmock = {
|
||||||
|
dependencies = ["addressable" "crack" "hashdiff"];
|
||||||
|
groups = ["development" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "03994dxs4xayvkxqp01dd1ivhg4xxx7z35f7cxw7y2mwj3xn24ib";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.4.2";
|
||||||
|
};
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue