mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-29 06:45:54 +03:00
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/).
|
||||
|
||||
* [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 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
|
||||
https://cache.nixos.org/. When successful build and test criteria are
|
||||
|
@ -356,6 +356,16 @@
|
||||
github = "alunduil";
|
||||
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 = {
|
||||
email = "amar.paul16@gmail.com";
|
||||
github = "amar1729";
|
||||
@ -4268,6 +4278,15 @@
|
||||
githubId = 5698461;
|
||||
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 = {
|
||||
email = "mkg@vt.edu";
|
||||
github = "mkgvt";
|
||||
@ -5904,6 +5923,12 @@
|
||||
githubId = 819413;
|
||||
name = "Benedict Aas";
|
||||
};
|
||||
shyim = {
|
||||
email = "s.sayakci@gmail.com";
|
||||
github = "shyim";
|
||||
githubId = 6224096;
|
||||
name = "Soner Sayakci";
|
||||
};
|
||||
siddharthist = {
|
||||
email = "langston.barrett@gmail.com";
|
||||
github = "langston-barrett";
|
||||
@ -7040,6 +7065,12 @@
|
||||
githubId = 36407913;
|
||||
name = "Uli Baum";
|
||||
};
|
||||
xfix = {
|
||||
email = "konrad@borowski.pw";
|
||||
github = "xfix";
|
||||
githubId = 1297598;
|
||||
name = "Konrad Borowski";
|
||||
};
|
||||
xnaveira = {
|
||||
email = "xnaveira@gmail.com";
|
||||
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-behind-a-proxy.xml" />
|
||||
|
||||
<xi:include href="installing-nspawn-container.xml" />
|
||||
|
||||
</section>
|
||||
</chapter>
|
||||
|
@ -14,7 +14,7 @@
|
||||
<para>
|
||||
<emphasis>Stable channels</emphasis>, such as
|
||||
<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,
|
||||
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
|
||||
@ -38,7 +38,7 @@
|
||||
<para>
|
||||
<emphasis>Small channels</emphasis>, such as
|
||||
<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
|
||||
<literal
|
||||
xlink:href="https://nixos.org/channels/nixos-unstable-small">nixos-unstable-small</literal>.
|
||||
@ -63,8 +63,8 @@
|
||||
<para>
|
||||
When you first install NixOS, you’re automatically subscribed to the NixOS
|
||||
channel that corresponds to your installation source. For instance, if you
|
||||
installed from a 19.03 ISO, you will be subscribed to the
|
||||
<literal>nixos-19.03</literal> channel. To see which NixOS channel you’re
|
||||
installed from a 19.09 ISO, you will be subscribed to the
|
||||
<literal>nixos-19.09</literal> channel. To see which NixOS channel you’re
|
||||
subscribed to, run the following as root:
|
||||
<screen>
|
||||
# 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
|
||||
</screen>
|
||||
(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>
|
||||
# nix-channel --add https://nixos.org/channels/nixos-19.03 nixos
|
||||
# nix-channel --add https://nixos.org/channels/nixos-19.09 nixos
|
||||
</screen>
|
||||
If you have a server, you may want to use the “small” channel instead:
|
||||
<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>
|
||||
And if you want to live on the bleeding edge:
|
||||
<screen>
|
||||
@ -127,7 +127,7 @@ nixos https://nixos.org/channels/nixos-unstable
|
||||
current channel. (To see when the service runs, see <command>systemctl
|
||||
list-timers</command>.) You can also specify a channel explicitly, e.g.
|
||||
<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>
|
||||
</para>
|
||||
</section>
|
||||
|
@ -512,6 +512,12 @@
|
||||
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>.
|
||||
</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>
|
||||
<para>
|
||||
@ -524,6 +530,17 @@
|
||||
The <literal>nodejs-11_x</literal> package has been removed as it's EOLed by upstream.
|
||||
</para>
|
||||
</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>
|
||||
</section>
|
||||
|
||||
@ -722,7 +739,7 @@
|
||||
</para>
|
||||
</listitem>
|
||||
</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.
|
||||
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>
|
||||
@ -731,12 +748,15 @@
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Coredumps are now acquired by <literal>systemd-coredump</literal> by default.
|
||||
<literal>systemd-coredump</literal> behaviour can still be modified via
|
||||
<option>systemd.coredump.extraConfig</option>.
|
||||
To stick to the old behaviour (having the kernel dump to a file called <literal>core</literal>
|
||||
in the working directory), without piping it through <literal>systemd-coredump</literal>, set
|
||||
<option>boot.kernel.sysctl."kernel.core_pattern"</option> to <literal>"core"</literal>.
|
||||
Core dumps are now processed by <literal>systemd-coredump</literal>
|
||||
by default. <literal>systemd-coredump</literal> behaviour can
|
||||
still be modified via
|
||||
<option>systemd.coredump.extraConfig</option>. To stick to the
|
||||
old behaviour (having the kernel dump to a file called
|
||||
<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>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -563,6 +563,24 @@ $fsAndSwap
|
||||
${\join "", (map { " $_\n" } (uniq @attrs))}}
|
||||
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) {
|
||||
print STDOUT $hwConfig;
|
||||
@ -606,6 +624,8 @@ EOF
|
||||
EOF
|
||||
}
|
||||
|
||||
my $networkingDhcpConfig = generateNetworkingDhcpConfig();
|
||||
|
||||
write_file($fn, <<EOF);
|
||||
@configuration@
|
||||
EOF
|
||||
|
@ -132,9 +132,8 @@ if [[ -z $noBootLoader ]]; then
|
||||
echo "installing the boot loader..."
|
||||
# Grub needs an 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
|
||||
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
|
||||
# exists (i.e. when mutable user accounts are enabled).
|
||||
|
@ -96,6 +96,7 @@ in
|
||||
# networking.hostName = "nixos"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
$networkingDhcpConfig
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password\@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
@ -128,7 +128,10 @@ in {
|
||||
|
||||
# directory creation needs to be separated from main service
|
||||
# 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 =
|
||||
{ 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" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile 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
|
||||
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
|
||||
|
@ -7,6 +7,11 @@ let
|
||||
|
||||
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";
|
||||
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
|
||||
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
||||
@ -22,6 +27,9 @@ let
|
||||
} // 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" ''
|
||||
socket_path = "${lib.escape ["\""] gitalySocket}"
|
||||
bin_dir = "${cfg.packages.gitaly}/bin"
|
||||
@ -138,7 +146,7 @@ let
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
|
||||
${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' \
|
||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||
'';
|
||||
@ -153,7 +161,7 @@ let
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rails $out/bin/gitlab-rails \
|
||||
${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'
|
||||
'';
|
||||
};
|
||||
@ -266,8 +274,8 @@ in {
|
||||
description = ''
|
||||
Whether a database should be automatically created on the
|
||||
local host. Set this to <literal>false</literal> if you plan
|
||||
on provisioning a local database yourself or use an external
|
||||
one.
|
||||
on provisioning a local database yourself. This has no effect
|
||||
if <option>services.gitlab.databaseHost</option> is customized.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -557,8 +565,8 @@ in {
|
||||
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.databaseCreateLocally -> (cfg.user == cfg.databaseUsername);
|
||||
message = "For local automatic database provisioning services.gitlab.user and services.gitlab.databaseUsername should be identical.";
|
||||
assertion = databaseActuallyCreateLocally -> (cfg.user == cfg.databaseUsername);
|
||||
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);
|
||||
@ -592,14 +600,14 @@ in {
|
||||
services.redis.enable = mkDefault true;
|
||||
|
||||
# We use postgres as the main data store.
|
||||
services.postgresql = optionalAttrs cfg.databaseCreateLocally {
|
||||
services.postgresql = optionalAttrs databaseActuallyCreateLocally {
|
||||
enable = true;
|
||||
ensureUsers = singleton { name = cfg.databaseUsername; };
|
||||
};
|
||||
# The postgresql module doesn't currently support concepts like
|
||||
# objects owners and extensions; for now we tack on what's needed
|
||||
# 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}"'
|
||||
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
|
||||
@ -675,7 +683,7 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = gitlabEnv;
|
||||
path = with pkgs; [
|
||||
config.services.postgresql.package
|
||||
postgresqlPackage
|
||||
gitAndTools.git
|
||||
ruby
|
||||
openssh
|
||||
@ -756,81 +764,13 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = gitlabEnv;
|
||||
path = with pkgs; [
|
||||
config.services.postgresql.package
|
||||
postgresqlPackage
|
||||
gitAndTools.git
|
||||
openssh
|
||||
nodejs
|
||||
procps
|
||||
gnupg
|
||||
];
|
||||
preStart = ''
|
||||
cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||
rm -rf ${cfg.statePath}/db/*
|
||||
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
|
||||
|
||||
${cfg.packages.gitlab-shell}/bin/install
|
||||
|
||||
${optionalString cfg.smtp.enable ''
|
||||
install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
|
||||
${optionalString (cfg.smtp.passwordFile != null) ''
|
||||
smtp_password=$(<'${cfg.smtp.passwordFile}')
|
||||
${pkgs.replace}/bin/replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
|
||||
''}
|
||||
''}
|
||||
|
||||
(
|
||||
umask u=rwx,g=,o=
|
||||
|
||||
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/gitlab_shell_secret
|
||||
|
||||
${if cfg.databasePasswordFile != null then ''
|
||||
export db_password="$(<'${cfg.databasePasswordFile}')"
|
||||
|
||||
if [[ -z "$db_password" ]]; then
|
||||
>&2 echo "Database password was an empty string!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
||||
'.production.password = $ENV.db_password' \
|
||||
>'${cfg.statePath}/config/database.yml'
|
||||
''
|
||||
else ''
|
||||
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
||||
>'${cfg.statePath}/config/database.yml'
|
||||
''
|
||||
}
|
||||
|
||||
${utils.genJqSecretsReplacementSnippet
|
||||
gitlabConfig
|
||||
"${cfg.statePath}/config/gitlab.yml"
|
||||
}
|
||||
|
||||
if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
|
||||
rm '${cfg.statePath}/config/secrets.yml'
|
||||
fi
|
||||
|
||||
export secret="$(<'${cfg.secrets.secretFile}')"
|
||||
export db="$(<'${cfg.secrets.dbFile}')"
|
||||
export otp="$(<'${cfg.secrets.otpFile}')"
|
||||
export jws="$(<'${cfg.secrets.jwsFile}')"
|
||||
${pkgs.jq}/bin/jq -n '{production: {secret_key_base: $ENV.secret,
|
||||
otp_key_base: $ENV.otp,
|
||||
db_key_base: $ENV.db,
|
||||
openid_connect_signing_key: $ENV.jws}}' \
|
||||
> '${cfg.statePath}/config/secrets.yml'
|
||||
)
|
||||
|
||||
initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
|
||||
${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
|
||||
GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
|
||||
|
||||
# We remove potentially broken links to old gitlab-shell versions
|
||||
rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
|
||||
|
||||
${pkgs.git}/bin/git config --global core.autocrlf "input"
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
@ -839,6 +779,89 @@ in {
|
||||
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 = ''
|
||||
cp -f ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
|
||||
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/db/* ${cfg.statePath}/db
|
||||
|
||||
${cfg.packages.gitlab-shell}/bin/install
|
||||
|
||||
${optionalString cfg.smtp.enable ''
|
||||
install -m u=rw ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
|
||||
${optionalString (cfg.smtp.passwordFile != null) ''
|
||||
smtp_password=$(<'${cfg.smtp.passwordFile}')
|
||||
${pkgs.replace}/bin/replace-literal -e '@smtpPassword@' "$smtp_password" '${cfg.statePath}/config/initializers/smtp_settings.rb'
|
||||
''}
|
||||
''}
|
||||
|
||||
(
|
||||
umask u=rwx,g=,o=
|
||||
|
||||
${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 ''
|
||||
export db_password="$(<'${cfg.databasePasswordFile}')"
|
||||
|
||||
if [[ -z "$db_password" ]]; then
|
||||
>&2 echo "Database password was an empty string!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
||||
'.production.password = $ENV.db_password' \
|
||||
>'${cfg.statePath}/config/database.yml'
|
||||
''
|
||||
else ''
|
||||
${pkgs.jq}/bin/jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \
|
||||
>'${cfg.statePath}/config/database.yml'
|
||||
''
|
||||
}
|
||||
|
||||
${utils.genJqSecretsReplacementSnippet
|
||||
gitlabConfig
|
||||
"${cfg.statePath}/config/gitlab.yml"
|
||||
}
|
||||
|
||||
if [[ -h '${cfg.statePath}/config/secrets.yml' ]]; then
|
||||
rm '${cfg.statePath}/config/secrets.yml'
|
||||
fi
|
||||
|
||||
export secret="$(<'${cfg.secrets.secretFile}')"
|
||||
export db="$(<'${cfg.secrets.dbFile}')"
|
||||
export otp="$(<'${cfg.secrets.otpFile}')"
|
||||
export jws="$(<'${cfg.secrets.jwsFile}')"
|
||||
${pkgs.jq}/bin/jq -n '{production: {secret_key_base: $ENV.secret,
|
||||
otp_key_base: $ENV.otp,
|
||||
db_key_base: $ENV.db,
|
||||
openid_connect_signing_key: $ENV.jws}}' \
|
||||
> '${cfg.statePath}/config/secrets.yml'
|
||||
)
|
||||
|
||||
initial_root_password="$(<'${cfg.initialRootPasswordFile}')"
|
||||
${gitlab-rake}/bin/gitlab-rake gitlab:db:configure GITLAB_ROOT_PASSWORD="$initial_root_password" \
|
||||
GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
|
||||
|
||||
# We remove potentially broken links to old gitlab-shell versions
|
||||
rm -Rf ${cfg.statePath}/repositories/**/*.git/hooks
|
||||
|
||||
${pkgs.git}/bin/git config --global core.autocrlf "input"
|
||||
'';
|
||||
in [
|
||||
"+${pkgs.writeShellScript "gitlab-pre-start-full-privileges" preStartFullPrivileges}"
|
||||
"${pkgs.writeShellScript "gitlab-pre-start" preStart}"
|
||||
];
|
||||
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
|
||||
./afterstep.nix
|
||||
./bspwm.nix
|
||||
./cwm.nix
|
||||
./dwm.nix
|
||||
./evilwm.nix
|
||||
./exwm.nix
|
||||
|
@ -184,14 +184,7 @@ in
|
||||
find /var/empty -mindepth 1 -delete
|
||||
chmod 0555 /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
|
||||
''}
|
||||
'';
|
||||
|
||||
system.activationScripts.usrbinenv = if config.environment.usrbinenv != null
|
||||
|
@ -5,17 +5,20 @@ with lib;
|
||||
let
|
||||
|
||||
inherit (pkgs) plymouth;
|
||||
inherit (pkgs) nixos-icons;
|
||||
|
||||
cfg = config.boot.plymouth;
|
||||
|
||||
breezePlymouth = pkgs.breeze-plymouth.override {
|
||||
nixosBranding = true;
|
||||
nixosVersion = config.system.nixos.release;
|
||||
nixosBreezePlymouth = pkgs.breeze-plymouth.override {
|
||||
logoFile = cfg.logo;
|
||||
logoName = "nixos";
|
||||
osName = "NixOS";
|
||||
osVersion = config.system.nixos.release;
|
||||
};
|
||||
|
||||
themesEnv = pkgs.buildEnv {
|
||||
name = "plymouth-themes";
|
||||
paths = [ plymouth breezePlymouth ] ++ cfg.themePackages;
|
||||
paths = [ plymouth ] ++ cfg.themePackages;
|
||||
};
|
||||
|
||||
configFile = pkgs.writeText "plymouthd.conf" ''
|
||||
@ -35,7 +38,7 @@ in
|
||||
enable = mkEnableOption "Plymouth boot splash screen";
|
||||
|
||||
themePackages = mkOption {
|
||||
default = [];
|
||||
default = [ nixosBreezePlymouth ];
|
||||
type = types.listOf types.package;
|
||||
description = ''
|
||||
Extra theme packages for plymouth.
|
||||
@ -52,10 +55,7 @@ in
|
||||
|
||||
logo = mkOption {
|
||||
type = types.path;
|
||||
default = pkgs.fetchurl {
|
||||
url = "https://nixos.org/logo/nixos-hires.png";
|
||||
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
|
||||
};
|
||||
default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
|
||||
defaultText = ''pkgs.fetchurl {
|
||||
url = "https://nixos.org/logo/nixos-hires.png";
|
||||
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 {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
@ -861,8 +871,8 @@ in
|
||||
"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/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-tmp.conf".source = "${systemd}/example/tmpfiles.d/system-tmp.conf";
|
||||
"tmpfiles.d/systemd-nspawn.conf".source = "${systemd}/example/tmpfiles.d/systemd-nspawn.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/x11.conf".source = "${systemd}/example/tmpfiles.d/x11.conf";
|
||||
|
||||
@ -983,6 +993,10 @@ in
|
||||
# Don't bother with certain units in containers.
|
||||
systemd.services.systemd-remount-fs.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.
|
||||
|
@ -38,6 +38,12 @@ in
|
||||
} {
|
||||
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
|
||||
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, ... }: {
|
||||
assertion = !rstp;
|
||||
message = "networking.bridges.${n}.rstp is not supported by networkd.";
|
||||
@ -56,9 +62,7 @@ in
|
||||
genericNetwork = override:
|
||||
let gateway = optional (cfg.defaultGateway != null) cfg.defaultGateway.address
|
||||
++ optional (cfg.defaultGateway6 != null) cfg.defaultGateway6.address;
|
||||
in {
|
||||
DHCP = override (dhcpStr cfg.useDHCP);
|
||||
} // optionalAttrs (gateway != [ ]) {
|
||||
in optionalAttrs (gateway != [ ]) {
|
||||
routes = override [
|
||||
{
|
||||
routeConfig = {
|
||||
@ -97,7 +101,7 @@ in
|
||||
networks."40-${i.name}" = mkMerge [ (genericNetwork mkDefault) {
|
||||
name = mkDefault i.name;
|
||||
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)
|
||||
(ip: "${ip.address}/${toString ip.prefixLength}");
|
||||
networkConfig.IPv6PrivacyExtensions = "kernel";
|
||||
|
@ -903,6 +903,11 @@ in
|
||||
Whether to use DHCP to obtain an IP address and other
|
||||
configuration for all network interfaces that are not manually
|
||||
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;
|
||||
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.
|
||||
services.openssh.startWhenNeeded = mkDefault true;
|
||||
|
@ -35,6 +35,7 @@ in
|
||||
boot-stage1 = handleTest ./boot-stage1.nix {};
|
||||
borgbackup = handleTest ./borgbackup.nix {};
|
||||
buildbot = handleTest ./buildbot.nix {};
|
||||
caddy = handleTest ./caddy.nix {};
|
||||
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
|
||||
cassandra = handleTest ./cassandra.nix {};
|
||||
ceph = handleTestOn ["x86_64-linux"] ./ceph.nix {};
|
||||
@ -262,7 +263,6 @@ in
|
||||
syncthing-relay = handleTest ./syncthing-relay.nix {};
|
||||
systemd = handleTest ./systemd.nix {};
|
||||
systemd-confinement = handleTest ./systemd-confinement.nix {};
|
||||
systemd-machinectl = handleTest ./systemd-machinectl.nix {};
|
||||
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
|
||||
systemd-networkd-wireguard = handleTest ./systemd-networkd-wireguard.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 = {
|
||||
dhcpcd.enable = false;
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
interfaces.eth1.ipv6.addresses = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ];
|
||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||
};
|
||||
|
@ -72,6 +72,7 @@ let
|
||||
testCases = {
|
||||
loopback = {
|
||||
name = "Loopback";
|
||||
machine.networking.useDHCP = false;
|
||||
machine.networking.useNetworkd = networkd;
|
||||
testScript = ''
|
||||
startAll;
|
||||
@ -139,14 +140,16 @@ let
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = true;
|
||||
useDHCP = false;
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = mkOverride 0 [ ];
|
||||
ipv6.addresses = mkOverride 0 [ ];
|
||||
useDHCP = true;
|
||||
};
|
||||
interfaces.eth2 = {
|
||||
ipv4.addresses = mkOverride 0 [ ];
|
||||
ipv6.addresses = mkOverride 0 [ ];
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -320,13 +323,19 @@ let
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
firewall.logReversePathDrops = true; # to debug firewall rules
|
||||
# reverse path filtering rules for the macvlan interface seem
|
||||
# to be incorrect, causing the test to fail. Disable temporarily.
|
||||
firewall.checkReversePath = false;
|
||||
useDHCP = true;
|
||||
macvlans.macvlan.interface = "eth1";
|
||||
interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = mkOverride 0 [ ];
|
||||
useDHCP = true;
|
||||
};
|
||||
interfaces.macvlan = {
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = { ... }:
|
||||
@ -440,6 +449,8 @@ let
|
||||
virtual = {
|
||||
name = "Virtual";
|
||||
machine = {
|
||||
networking.useNetworkd = networkd;
|
||||
networking.useDHCP = false;
|
||||
networking.interfaces.tap0 = {
|
||||
ipv4.addresses = [ { address = "192.168.1.1"; prefixLength = 24; } ];
|
||||
ipv6.addresses = [ { address = "2001:1470:fffd:2096::"; prefixLength = 64; } ];
|
||||
@ -489,6 +500,7 @@ let
|
||||
boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = false;
|
||||
interfaces.eth1.ipv6.addresses = singleton {
|
||||
address = "fd00:1234:5678:1::1";
|
||||
prefixLength = 64;
|
||||
@ -514,11 +526,12 @@ let
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = true;
|
||||
useDHCP = false;
|
||||
interfaces.eth1 = {
|
||||
preferTempAddress = true;
|
||||
ipv4.addresses = mkOverride 0 [ ];
|
||||
ipv6.addresses = mkOverride 0 [ ];
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -526,11 +539,12 @@ let
|
||||
virtualisation.vlans = [ 1 ];
|
||||
networking = {
|
||||
useNetworkd = networkd;
|
||||
useDHCP = true;
|
||||
useDHCP = false;
|
||||
interfaces.eth1 = {
|
||||
preferTempAddress = false;
|
||||
ipv4.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.useNetworkd = withNetworkd;
|
||||
networking.dhcpcd.enable = !withNetworkd;
|
||||
networking.useDHCP = !withNetworkd;
|
||||
};
|
||||
|
||||
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 ];
|
||||
systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
|
||||
networking.useNetworkd = true;
|
||||
networking.useDHCP = false;
|
||||
networking.firewall.enable = false;
|
||||
virtualisation.vlans = [ 1 ];
|
||||
environment.systemPackages = with pkgs; [ wireguard-tools ];
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flacon";
|
||||
version = "5.4.0";
|
||||
version = "5.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flacon";
|
||||
repo = "flacon";
|
||||
rev = "v${version}";
|
||||
sha256 = "1j8gzk92kn10yb7rmvrnyq0ipda2swnkmsavqsk5ws0z600p3k93";
|
||||
sha256 = "05pvg5xhc2azwzld08m81r4b2krqdbcbm5lmdvg2zkk67xq9pqyd";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "padthv1";
|
||||
version = "0.9.9";
|
||||
version = "0.9.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
|
||||
sha256 = "0axansxwa3vfc1n6a7jbaqyz6wmsffi37i4ggsl08gmqywz255xb";
|
||||
sha256 = "07gpq31a9iwk79yzndqzmw7snap7s4ifnsc4mfwkdga2zx13z0rx";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
|
||||
|
@ -65,5 +65,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
maintainers = with maintainers; [ coroa sauyon ];
|
||||
homepage = https://quodlibet.readthedocs.io/en/latest/;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -100,5 +100,6 @@ mkDerivation rec {
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ Phlogistique kamilchm ];
|
||||
platforms = lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -26,5 +26,6 @@ rustPlatform.buildRustPackage rec {
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.akru ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -13,10 +13,10 @@ assert stdenv ? glibc;
|
||||
|
||||
let
|
||||
platform_major = "4";
|
||||
platform_minor = "12";
|
||||
platform_minor = "13";
|
||||
year = "2019";
|
||||
month = "06";
|
||||
timestamp = "201906051800";
|
||||
month = "09";
|
||||
timestamp = "201909161045";
|
||||
|
||||
in rec {
|
||||
|
||||
@ -34,7 +34,7 @@ in rec {
|
||||
src =
|
||||
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";
|
||||
sha512 = "3mfljabrwbwq256vvsp9qjb96hzlbpwgnb3wz806pbyh0ibfq6s1hn8kh5aaa2da5821v0ykcxa12jagj7naqp4g91jqxp1wb1ygz2q";
|
||||
sha512 = "0s9wvxd1bahlcdw7l6cyfi59p78j6gym3a3mn1z6dm6swxgyb2wjjl7hx8bkg0zs8x31bwllpdq22y2vcm6j57h40v53l3xkhy73m8v";
|
||||
};
|
||||
};
|
||||
|
||||
@ -46,7 +46,7 @@ in rec {
|
||||
src =
|
||||
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";
|
||||
sha512 = "18p6xz6rq4w6j39b2k9kjpz8s1nljfq44g2cmvxqjgjfkq8lk4ij73ssyv1raly4wkm7r22ixacswdjmyj942k5vpv9y11i91hp1scv";
|
||||
sha512 = "09nc7ipv67h0gr7lkxsbxrgj9gn48348asn03ylcvflyrcxghqs8n11a75rwvdj98igdzpw922saicx5lqq5g2flfqiga97lwwhfiz5";
|
||||
};
|
||||
};
|
||||
|
||||
@ -58,7 +58,7 @@ in rec {
|
||||
src =
|
||||
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";
|
||||
sha512 = "0qiyk95qhdqcfgg5hgc7pcpbpjy9jnx7l3vb7s4cgijdz2xz0n5psh11lpj3whk2amh4iwkyx7kn8fxdq7lm03rlgx67cbk7p8my16m";
|
||||
sha512 = "2c40wwrc2ip32n0m5cs8ds0g7cs7018acw8gjkd23msa4pr9x9511c3dj6rbnn1hwzf9yjq6vnjmib5qarxd3vly76jwxhf867l1f7v";
|
||||
};
|
||||
};
|
||||
|
||||
@ -88,7 +88,7 @@ in rec {
|
||||
src =
|
||||
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";
|
||||
sha512 = "3bbc8d66ms7nhg6f8gb0bnzjqz26wixpipn4n9qf0azcplrv2j91z8hjw1fx39dx4pqnsf442bkgab4qqhkpks7qq54110l01q6gvy9";
|
||||
sha512 = "2vm646d1crzzzysll3p5pjfljfjzxx4qd37dqcp6xjm91zg8iskli688h0lgla0rmbwz5kj509jp22m4rxkp3cbgd006dd0jr3icdls";
|
||||
};
|
||||
};
|
||||
|
||||
@ -100,7 +100,7 @@ in rec {
|
||||
src =
|
||||
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";
|
||||
sha512 = "20qs1aagh4drsycvar3x42zy422zl34yg1p3vhxbqfbf7v3z1d3cxs9ah61x4bdxx9bkfwchasqp1wr15nflch9g0i50bdki3cgng1d";
|
||||
sha512 = "3zyxqd8iwrfgjjg91dfi4bda61rd2717hy53swmbygi48zaaam70swx997yp5qzxwjp3macdslfk6sqhq2qlcdwcdl6dmkry018jh7b";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -254,12 +254,12 @@ rec {
|
||||
|
||||
cdt = buildEclipseUpdateSite rec {
|
||||
name = "cdt-${version}";
|
||||
version = "9.8.1";
|
||||
version = "9.9.0";
|
||||
|
||||
src = fetchzip {
|
||||
stripRoot = false;
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.8/${name}/${name}.zip";
|
||||
sha256 = "0kxmwz75i8mv4wics9n0hspxhzl3glf5ry2v5mnl5j9gcf73b0nv";
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.9/${name}/${name}.zip";
|
||||
sha256 = "1vgx7ggilfwmx0bjrhk7mwlwg1c8lb141ilj3vzwxivlffihy054";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
@ -474,12 +474,12 @@ rec {
|
||||
|
||||
jdt = buildEclipseUpdateSite rec {
|
||||
name = "jdt-${version}";
|
||||
version = "4.12";
|
||||
version = "4.13";
|
||||
|
||||
src = fetchzip {
|
||||
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;
|
||||
sha256 = "0qscvqg69z4554n1yhl0xg1xz8ln3qsbgfzi7cg3xnnwnxfqz9cb";
|
||||
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 = "0sfpxph0cszcx1cihzzjn60qid8sxgl2xyr9x46fld4ian5a7vbr";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -3,7 +3,7 @@
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
version = "1.35";
|
||||
version = "1.36";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.geany.org/${pname}-${version}.tar.bz2";
|
||||
sha256 = "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim";
|
||||
sha256 = "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool libintl ];
|
||||
|
@ -39,11 +39,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-builder";
|
||||
version = "3.34.0";
|
||||
version = "3.34.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "19i2ipgw48fpd50wacwyhj35hajlg7qcyxpj8rsqk4g21ijfykrg";
|
||||
sha256 = "19018pq94cxf6fywd7fsmy98x56by5zfmh140pl530gaaw84cvhb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "manuskript";
|
||||
version = "0.9.0";
|
||||
version = "0.10.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec {
|
||||
repo = pname;
|
||||
owner = "olivierkes";
|
||||
rev = version;
|
||||
sha256 = "13y1s0kba1ib6g977n7h920kyr7abdw03kpal512m7iwa9g2kdw8";
|
||||
sha256 = "0q413vym7hzjpyg3krj5y63hwpncdifjkyswqmr76zg5yqnklnh3";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||
|
@ -20,11 +20,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "nano";
|
||||
version = "4.4";
|
||||
version = "4.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
|
||||
sha256 = "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia";
|
||||
sha256 = "0czmz1yq8s5qcxcmfjdxzg9nkhbmlc9q1nz04jvf57fdbs7w7mfy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
||||
|
@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
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;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
|
@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
license = licenses.gpl2;
|
||||
description = "A hex editor";
|
||||
maintainers = with maintainers; [ peterhoeg bkchr ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kodelife";
|
||||
version = "0.8.3.93";
|
||||
version = "0.8.5.99";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
|
||||
sha256 = "1gidh0745g5mc8h5ypm2wamv1paymnrq3nh3yx1j70jwjg8v2v7g";
|
||||
sha256 = "189i2j6kaygjb5pccynxv4pwqpy67jf9nfi7fjfhbrmjpqnmkp90";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
@ -51,6 +51,6 @@ stdenv.mkDerivation {
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.MtP ];
|
||||
platforms = platforms.linux;
|
||||
broken = stdenv.isAarch64;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cbatticon";
|
||||
version = "1.6.9";
|
||||
version = "1.6.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "valr";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf";
|
||||
sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gettext ];
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dbeaver-ce";
|
||||
version = "6.2.1";
|
||||
version = "6.2.2";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "dbeaver";
|
||||
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
|
||||
sha256 = "1ix6isahpk7zk741wdx5cf4i13wc5gp0j1gj4ja80bzfswbc38na";
|
||||
sha256 = "0qpa0wh5lr5lxk9cdv5p1cmbdk1kw1lfqmsfgqxvgfysc1mgjgp1";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -138,5 +138,6 @@ in stdenv.mkDerivation rec {
|
||||
vidbina
|
||||
];
|
||||
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 {
|
||||
pname = "girara";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/girara/download/${pname}-${version}.tar.xz";
|
||||
sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p";
|
||||
url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "13vr62kkkqs2xsrmsn114n6c6084ix1qyjksczqsc3s2y3bdsmj4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkgconfig gettext check dbus xvfb_run ];
|
||||
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://pwmt.org/projects/girara/;
|
||||
homepage = "https://git.pwmt.org/pwmt/girara";
|
||||
description = "User interface library";
|
||||
longDescription = ''
|
||||
girara is a library that implements a GTK based VIM-like user interface
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jgmenu";
|
||||
version = "3.3";
|
||||
version = "3.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johanmalm";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "02qpvlmcis7217hkqilhszza4g1smb4byx4gihgp5207aj8qhz0l";
|
||||
sha256 = "1cikndf71wi17qld3rwp38gk0q7zic707zzz0mr7cgn86dc4if3d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,14 +2,14 @@
|
||||
gettext, glib, portaudio }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opencpn";
|
||||
version = "5.0.0";
|
||||
pname = "opencpn-unstable";
|
||||
version = "2019-05-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenCPN";
|
||||
repo = "OpenCPN";
|
||||
rev = "v${version}";
|
||||
sha256 = "1xv3h6svw9aay5ixpql231md3pf00qxvhg62z88daraf18hlkfja";
|
||||
rev = "83a3c4b5ff011d4eb070f009e0a46d194b177047";
|
||||
sha256 = "00s1mxnkf1gg41hrz0zp8ypkp98py0m1c22im2zd09k6lcddxw5p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -58,6 +58,7 @@ in stdenv.mkDerivation {
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ elitak ];
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -45,5 +45,6 @@ llvmPackages.stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tmplt ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -1,43 +1,41 @@
|
||||
{ stdenv, lib, mkDerivation, fetchFromGitHub, fetchpatch
|
||||
, git, gnupg, pass, qtbase, qtsvg, qttools, qmake
|
||||
{ lib, mkDerivation, fetchFromGitHub
|
||||
, git, gnupg, pass, pwgen
|
||||
, qtbase, qtsvg, qttools, qmake
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qtpass";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IJHack";
|
||||
repo = "QtPass";
|
||||
rev = "v${version}";
|
||||
sha256 = "0v3ca4fdjk6l24vc9wlc0i7r6fdj85kjmnb7jvicd3f8xi9mvhnv";
|
||||
sha256 = "025sdk4fq71jgfs54zj7ssgvlci8vvjkqdckgbwz0nqrynlljy08";
|
||||
};
|
||||
|
||||
buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
|
||||
buildInputs = [ git gnupg pass qtbase qtsvg ];
|
||||
|
||||
nativeBuildInputs = [ qmake ];
|
||||
|
||||
# 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";
|
||||
})
|
||||
];
|
||||
nativeBuildInputs = [ qmake qttools ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
qmakeFlags = [
|
||||
# setup hook only sets QMAKE_LRELEASE, set QMAKE_LUPDATE too:
|
||||
"QMAKE_LUPDATE=${qttools.dev}/bin/lupdate"
|
||||
];
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--suffix PATH : ${lib.makeBinPath [ git gnupg pass ]}"
|
||||
"--suffix PATH : ${lib.makeBinPath [ git gnupg pass pwgen ]}"
|
||||
];
|
||||
|
||||
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 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";
|
||||
homepage = https://qtpass.org;
|
||||
license = licenses.gpl3;
|
||||
|
@ -37,6 +37,7 @@ in stdenv.mkDerivation {
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.krav ];
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -17,5 +17,7 @@ buildGoPackage rec {
|
||||
|
||||
meta = {
|
||||
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 {
|
||||
pname = "zathura-core";
|
||||
version = "0.4.3";
|
||||
version = "0.4.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pwmt.org/projects/zathura/download/zathura-${version}.tar.xz";
|
||||
sha256 = "0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky";
|
||||
url = "https://git.pwmt.org/pwmt/zathura/-/archive/${version}/zathura-${version}.tar.gz";
|
||||
sha256 = "0v5klgr009rsxi41h73k0398jbgmgh37asvwz2w15i4fzmw89jgb";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "man" "dev" "out" ];
|
||||
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
homepage = https://pwmt.org/projects/zathura/;
|
||||
homepage = "https://git.pwmt.org/pwmt/zathura";
|
||||
description = "A core component for zathura PDF viewer";
|
||||
license = licenses.zlib;
|
||||
platforms = platforms.unix;
|
||||
|
@ -1,26 +1,18 @@
|
||||
{ stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop
|
||||
, RSupport? true, R
|
||||
, mesosSupport ? true, mesos
|
||||
, version
|
||||
}:
|
||||
|
||||
let
|
||||
sha256 = {
|
||||
"1.6.3" = "142hw73wf20d846l83ydx0yg7qj5qxywm4h7qrhwnd7lsy2sbnjf";
|
||||
"2.4.3" = "1dvvr1q3dz961bl7qigxngrp4ssrbll3g1s6nkra6gyr83pis96c";
|
||||
}.${version};
|
||||
in
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "spark";
|
||||
inherit version;
|
||||
version = "2.4.4";
|
||||
|
||||
src = fetchzip {
|
||||
inherit sha256;
|
||||
url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz";
|
||||
sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ]
|
||||
|
@ -97,8 +97,8 @@ in rec {
|
||||
terraform_0_11-full = terraform_0_11.full;
|
||||
|
||||
terraform_0_12 = pluggable (generic {
|
||||
version = "0.12.9";
|
||||
sha256 = "14js4n08rg30y0jrm0na79syglpb64cb7cxys0x3w47pcbgymrka";
|
||||
version = "0.12.10";
|
||||
sha256 = "0bmqcmzjsrpvvnd9pn40f774c8jy6j810qz0njxqh60yh27f5rhx";
|
||||
patches = [ ./provider-path.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
|
@ -53,5 +53,6 @@ rustPlatform.buildRustPackage rec {
|
||||
maintainers = with maintainers; [ dotlambda nicknovitski ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ orivej ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ mkDerivation, lib, fetchFromGitHub, fetchsvn, fetchpatch
|
||||
, pkgconfig, pythonPackages, cmake, wrapGAppsHook, wrapQtAppsHook, gcc9
|
||||
, 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;
|
||||
|
||||
mkDerivation rec {
|
||||
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
|
||||
# to also wait for the Arch update (especially if the patches don't apply).
|
||||
|
||||
@ -17,7 +17,7 @@ mkDerivation rec {
|
||||
owner = "telegramdesktop";
|
||||
repo = "tdesktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "19p4cjzk7jyhrd4sd8dq1r1zksff23zyg5rh5vlr3kqd372bffzz";
|
||||
sha256 = "03173y2nlkf757llgpia8p2dkkwsjra7b6qm5nhmkcwcm8kmsvyy";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -59,7 +59,7 @@ mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
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;
|
||||
|
@ -22,5 +22,6 @@ stdenv.mkDerivation rec {
|
||||
description = "Link-local XMPP connection manager for Telepathy";
|
||||
platforms = platforms.gnu ++ platforms.linux; # Random choice
|
||||
maintainers = [ maintainers.lethalman ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -19,12 +19,12 @@ let
|
||||
|
||||
version = {
|
||||
x86_64-linux = "3.10.2904";
|
||||
x86_64-darwin = "3.10.3133";
|
||||
x86_64-darwin = "3.10.3215";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1vrz4568mlhylx17jw4z452f0vrd8yd8qkbpkcvnsbhs6k066xcn";
|
||||
x86_64-darwin = "0d8g9fl3yciqp3aic374rzcywb5d5yipgni992khsfdfqhcvm3x9";
|
||||
x86_64-darwin = "0ygm3fgy9k1dp2kjfwsrrwq1i88wgxc6k8y80yz61ivdawgph9wa";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -25,5 +25,6 @@ stdenv.mkDerivation {
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -4,11 +4,11 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mpop";
|
||||
version = "1.4.5";
|
||||
version = "1.4.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "1m6743j8g777lijvxqw2wz6pv2g5a9wlh6zq7awk0hvd44xp4sav";
|
||||
sha256 = "0q4ifzvl1gcndvqqqk7n9mc599r4s2knxjc7alflwb366fql58gv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -9,11 +9,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "msmtp";
|
||||
version = "1.8.5";
|
||||
version = "1.8.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "0fczpfxlr62wkr7bwhp24clxg962k5khgz14h818qyy4v77dl4qn";
|
||||
sha256 = "1qa260xrm0fzlwxpjvgvq39m4dfkskjlyb7m4y2vlr8c8d3z29b6";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,32 +1,28 @@
|
||||
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig
|
||||
, qt4, qmake4Hook, qt5, avahi, boost, libopus, libsndfile, protobuf3_6, speex, libcap
|
||||
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, qt5
|
||||
, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
|
||||
, alsaLib, python
|
||||
, jackSupport ? false, libjack2 ? null
|
||||
, speechdSupport ? false, speechd ? null
|
||||
, pulseSupport ? false, libpulseaudio ? null
|
||||
, iceSupport ? false, zeroc-ice ? null, zeroc-ice-36 ? null
|
||||
, iceSupport ? false, zeroc-ice ? null
|
||||
}:
|
||||
|
||||
assert jackSupport -> libjack2 != null;
|
||||
assert speechdSupport -> speechd != null;
|
||||
assert pulseSupport -> libpulseaudio != null;
|
||||
assert iceSupport -> zeroc-ice != null && zeroc-ice-36 != null;
|
||||
assert iceSupport -> zeroc-ice != null;
|
||||
|
||||
with stdenv.lib;
|
||||
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}";
|
||||
|
||||
patches = (source.patches or []) ++ optional jackSupport ./mumble-jack-support.patch;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig python ]
|
||||
++ { qt4 = [ qmake4Hook ]; qt5 = [ qt5.qmake ]; }."qt${toString source.qtVersion}"
|
||||
nativeBuildInputs = [ pkgconfig python qt5.qmake ]
|
||||
++ (overrides.nativeBuildInputs or [ ]);
|
||||
|
||||
# protobuf is freezed to 3.6 because of this bug: https://github.com/mumble-voip/mumble/issues/3617
|
||||
# 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
|
||||
buildInputs = [ boost protobuf avahi ]
|
||||
++ (overrides.buildInputs or [ ]);
|
||||
|
||||
qmakeFlags = [
|
||||
@ -76,9 +72,8 @@ let
|
||||
client = source: generic {
|
||||
type = "mumble";
|
||||
|
||||
nativeBuildInputs = optional (source.qtVersion == 5) qt5.qttools;
|
||||
buildInputs = [ libopus libsndfile speex ]
|
||||
++ optional (source.qtVersion == 5) qt5.qtsvg
|
||||
nativeBuildInputs = [ qt5.qttools ];
|
||||
buildInputs = [ libopus libsndfile speex qt5.qtsvg ]
|
||||
++ optional stdenv.isLinux alsaLib
|
||||
++ optional jackSupport libjack2
|
||||
++ optional speechdSupport speechd
|
||||
@ -107,18 +102,18 @@ let
|
||||
'';
|
||||
} source;
|
||||
|
||||
server = source: let ice = if source.qtVersion == 4 then zeroc-ice-36 else zeroc-ice; in generic {
|
||||
server = source: generic {
|
||||
type = "murmur";
|
||||
|
||||
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 = [
|
||||
"CONFIG+=no-client"
|
||||
] ++ optional (!iceSupport) "CONFIG+=no-ice";
|
||||
|
||||
buildInputs = [ libcap ] ++ optional iceSupport ice;
|
||||
buildInputs = [ libcap ] ++ optional iceSupport zeroc-ice;
|
||||
|
||||
installPhase = ''
|
||||
# bin stuff
|
||||
@ -126,48 +121,19 @@ let
|
||||
'';
|
||||
} source;
|
||||
|
||||
stableSource = rec {
|
||||
version = "1.2.19";
|
||||
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;
|
||||
source = rec {
|
||||
version = "1.3.0";
|
||||
|
||||
# Needs submodules
|
||||
src = fetchFromGitHub {
|
||||
owner = "mumble-voip";
|
||||
repo = "mumble";
|
||||
rev = version;
|
||||
sha256 = "00irlzz5q4drmsfbwrkyy7p7w8a5fc1ip5vyicq3g3cy58dprpqr";
|
||||
sha256 = "0g5ri84gg0x3crhpxlzawf9s9l4hdna6aqw6qbdpx1hjlf5k6g8k";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
};
|
||||
in {
|
||||
mumble = client stableSource;
|
||||
mumble_rc = client rcSource;
|
||||
murmur = server stableSource;
|
||||
murmur_rc = server rcSource;
|
||||
mumble = client source;
|
||||
murmur = server source;
|
||||
}
|
||||
|
@ -10,13 +10,13 @@ with lib;
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "qbittorrent";
|
||||
version = "4.1.7";
|
||||
version = "4.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qbittorrent";
|
||||
repo = "qbittorrent";
|
||||
rev = "release-${version}";
|
||||
sha256 = "1z4k64h3ik1a7ir4v9g3ar1wq8zfh4r2pq43hr2wvlamm2111gdv";
|
||||
sha256 = "1mx59mazfmd5yaqdgb6cm8hr5sbp2xgzz3y3yipq1fwq85dj3r5w";
|
||||
};
|
||||
|
||||
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
||||
|
@ -4,22 +4,22 @@
|
||||
|
||||
let
|
||||
sha256 = {
|
||||
x86_64-linux = "08kdxsg9npb1nmlr2jyq7p238735kqkp7c5xckxn6rc4cp12n2y2";
|
||||
i686-linux = "11r5d4234zbkkgyrd7q9x3w7s7lailnq7z4x8cnhpr8vipzrg7h2";
|
||||
x86_64-linux = "0mixw2sk7li1hjagibwzdgbfnrih5acricczqmfks1gsinjqrn82";
|
||||
i386-linux = "1gshd4vm8ysn636r1z44vmzdzrgybsmj8ma4zdabvs9jsbm2da3c";
|
||||
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
|
||||
|
||||
arch = {
|
||||
x86_64-linux = "amd64";
|
||||
i686-linux = "i686";
|
||||
i386-linux = "i386";
|
||||
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
|
||||
|
||||
description = "Desktop sharing application, providing remote support and online meetings";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "anydesk";
|
||||
name = "AnyDesk";
|
||||
exec = "@out@/bin/anydesk";
|
||||
icon = "anydesk";
|
||||
desktopName = "anydesk";
|
||||
desktopName = "AnyDesk";
|
||||
genericName = description;
|
||||
categories = "Application;Network;";
|
||||
startupNotify = "false";
|
||||
@ -27,7 +27,7 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "anydesk";
|
||||
version = "4.0.1";
|
||||
version = "5.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
|
||||
@ -40,7 +40,7 @@ in stdenv.mkDerivation rec {
|
||||
pangox_compat polkit polkit_gnome
|
||||
] ++ (with xorg; [
|
||||
libxcb libX11 libXdamage libXext libXfixes libXi libXmu
|
||||
libXrandr libXtst libXt libICE libSM
|
||||
libXrandr libXtst libXt libICE libSM libXrender
|
||||
]);
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
@ -50,7 +50,7 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
mkdir -p $out/bin $out/share/{applications,doc/anydesk,icons/hicolor}
|
||||
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 ${desktopItem}/share/applications/*.desktop $out/share/applications
|
||||
|
||||
@ -75,6 +75,6 @@ in stdenv.mkDerivation rec {
|
||||
homepage = https://www.anydesk.com;
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
maintainers = with maintainers; [ shyim ];
|
||||
};
|
||||
}
|
||||
|
@ -13,11 +13,11 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "znc";
|
||||
version = "1.7.4";
|
||||
version = "1.7.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://znc.in/releases/archive/${pname}-${version}.tar.gz";
|
||||
sha256 = "0wcvqkpin8w4i72alnn0nxnrc9ih543qs34hqpk9xmz6m0hjk8xi";
|
||||
sha256 = "08a7yb2xs85hyyz8dpzfbsfjwj2r6kcii022lj3l4rf8hl9ix558";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -79,15 +79,15 @@ in {
|
||||
|
||||
fish = zncDerivation rec {
|
||||
name = "znc-fish-${version}";
|
||||
version = "git-2014-10-10";
|
||||
version = "git-2017-06-26";
|
||||
module_name = "fish";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
# this fork works with ZNC 1.6
|
||||
owner = "jarrydpage";
|
||||
# this fork works with ZNC 1.7
|
||||
owner = "oilslump";
|
||||
repo = "znc-fish";
|
||||
rev = "9c580e018a1a08374e814fc06f551281cff827de";
|
||||
sha256 = "0yvs0jkwwp18qxqvw1dvir91ggczz56ka00k0zlsb81csdi8xfvl";
|
||||
rev = "7d91467dbb195f7b591567911210523c6087662e";
|
||||
sha256 = "1ky5xg17k5f393whrv5iv8zsmdvdyk2f7z5qdsmxcwy3pdxy6vsm";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -70,5 +70,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://kmymoney.org/;
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -37,5 +37,6 @@ mkDerivation rec {
|
||||
license = with licenses; [ gpl3 ];
|
||||
maintainers = with maintainers; [ joko ];
|
||||
homepage = https://skrooge.org/;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -26,5 +26,6 @@ stdenv.mkDerivation rec { pname = "EZminc";
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
platforms = platforms.unix;
|
||||
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.'';
|
||||
license = "non-commercial";
|
||||
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;
|
||||
maintainers = with maintainers; [ jbedo ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
broken = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -47,5 +47,6 @@ python3Packages.buildPythonApplication {
|
||||
description = description;
|
||||
homepage = https://www.pymol.org/;
|
||||
license = licenses.psfl;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtkwave";
|
||||
version = "3.3.101";
|
||||
version = "3.3.102";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz";
|
||||
sha256 = "1j6capxwgi8aj3sgqg1r7161icni9y8y93g1rl3bzd3s40jcyhsz";
|
||||
sha256 = "1izyfx6b1n9nr08c7q0gkgcf0q04bb4qz92ckwh74n5l5nwprfw0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -52,5 +52,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ berce ];
|
||||
platforms = with platforms; linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -21,13 +21,13 @@ let
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "hol_light-2019-03-27";
|
||||
name = "hol_light-2019-10-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jrh13";
|
||||
repo = "hol-light";
|
||||
rev = "a2b487b38d9da47350f1b4316e34a8fa4cf7a40a";
|
||||
sha256 = "1qlidl15qi8w4si8wxcmj8yg2srsb0q4k1ad9yd91sgx9h9aq8fk";
|
||||
rev = "5c91b2ded8a66db571824ecfc18b4536c103b23e";
|
||||
sha256 = "0sxsk8z08ba0q5aixdyczcx5l29lb51ba4ip3d2fry7y604kjsx6";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml camlp5 ];
|
||||
|
@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -32,5 +32,6 @@ stdenv.mkDerivation {
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ thoughtpolice gebner ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ let
|
||||
platforms = platforms.unix;
|
||||
license = if includeGplCode then licenses.gpl2 else licenses.mit;
|
||||
homepage = https://github.com/sambayless/monosat;
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
|
||||
@ -64,4 +65,4 @@ let
|
||||
--replace '../../../../libmonosat.so' '${core}/lib/libmonosat.so'
|
||||
'';
|
||||
};
|
||||
in core
|
||||
in core
|
||||
|
@ -1,27 +1,28 @@
|
||||
|
||||
{ stdenv, fetchurl, cmake,
|
||||
singlePrec ? true,
|
||||
mpiEnabled ? false,
|
||||
fftw,
|
||||
openmpi
|
||||
{ stdenv, fetchurl, cmake
|
||||
, singlePrec ? true
|
||||
, mpiEnabled ? false
|
||||
, fftw
|
||||
, openmpi
|
||||
, perl
|
||||
}:
|
||||
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gromacs-2019.3";
|
||||
name = "gromacs-2019.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.3.tar.gz";
|
||||
sha256 = "0wvm6lj4hbasl2qkjcpicqjh7abxji4196dd2hmwlyivpycaa4a2";
|
||||
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.4.tar.gz";
|
||||
sha256 = "0rqqrbjrdhprlw2z6cqid59xwxfdx05ikvywppvdp8f8vzp6chxs";
|
||||
};
|
||||
|
||||
buildInputs = [cmake fftw]
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ fftw perl ]
|
||||
++ (stdenv.lib.optionals mpiEnabled [ openmpi ]);
|
||||
|
||||
cmakeFlags = ''
|
||||
${if singlePrec then "-DGMX_DOUBLE=OFF" else "-DGMX_DOUBLE=ON -DGMX_DEFAULT_SUFFIX=OFF"}
|
||||
${if mpiEnabled then "-DGMX_MPI:BOOL=TRUE
|
||||
-DGMX_CPU_ACCELERATION:STRING=SSE4.1
|
||||
${if mpiEnabled then "-DGMX_MPI:BOOL=TRUE
|
||||
-DGMX_CPU_ACCELERATION:STRING=SSE4.1
|
||||
-DGMX_OPENMP:BOOL=TRUE
|
||||
-DGMX_THREAD_MPI:BOOL=FALSE"
|
||||
else "-DGMX_MPI:BOOL=FALSE" }
|
||||
|
@ -69,5 +69,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ pxc ];
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fossil";
|
||||
version = "2.9";
|
||||
version = "2.10";
|
||||
|
||||
src = fetchurl {
|
||||
urls =
|
||||
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
"https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz"
|
||||
];
|
||||
name = "${pname}-${version}.tar.gz";
|
||||
sha256 = "0kwb7pkp7y2my916rhyl6kmcf0fk8gkzaxzy13hfgqs35nlsvchw";
|
||||
sha256 = "041bs4fgk52fw58p7s084pxk9d9vs5v2f2pjbznqawz75inpg8yq";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib openssl readline sqlite which ed ]
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "git-remote-hg";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mnauw";
|
||||
repo = "git-remote-hg";
|
||||
rev = "v${version}";
|
||||
sha256 = "0anl054zdi5rg5m4bm1n763kbdjkpdws3c89c8w8m5gq1ifsbd4d";
|
||||
sha256 = "1by5ygqvq9ww990kdrjndaqsssyf2jc4n380f9pfh2avsr7871wc";
|
||||
};
|
||||
|
||||
buildInputs = [ mercurial.python mercurial makeWrapper
|
||||
|
@ -8,13 +8,13 @@ with stdenv.lib;
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "gitea";
|
||||
version = "1.9.3";
|
||||
version = "1.9.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-gitea";
|
||||
repo = "gitea";
|
||||
rev = "v${version}";
|
||||
sha256 = "0g6ch85dq4vazxnr6g78wgqrnfa955395y1zws0a50h0wfxpdjis";
|
||||
sha256 = "1f4bdn04pbbmnf03c58jqjl2m629137py6l06mkh63jip32a6l1z";
|
||||
# Required to generate the same checksum on MacOS due to unicode encoding differences
|
||||
# More information: https://github.com/NixOS/nixpkgs/pull/48128
|
||||
extraPostFetch = ''
|
||||
|
@ -1,32 +1,13 @@
|
||||
{
|
||||
"ce": {
|
||||
"version": "12.1.6",
|
||||
"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",
|
||||
"repo": "gitlab-ce",
|
||||
"rev": "v12.1.6",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
"version": "12.3.5",
|
||||
"repo_hash": "12ywspgnbwm232vmzbqhkqmwmcrb9pvihsayzmw0cxvhlfwq6995",
|
||||
"owner": "gitlab-org",
|
||||
"repo": "gitlab",
|
||||
"rev": "v12.3.5-ee",
|
||||
"passthru": {
|
||||
"GITALY_SERVER_VERSION": "1.65.1",
|
||||
"GITLAB_PAGES_VERSION": "1.9.0",
|
||||
"GITLAB_SHELL_VERSION": "10.0.0",
|
||||
"GITLAB_WORKHORSE_VERSION": "8.10.0"
|
||||
}
|
||||
}
|
@ -1,13 +1,24 @@
|
||||
{ stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
|
||||
, ruby, tzdata, git, nettools, nixosTests
|
||||
, gitlabEnterprise ? false
|
||||
, ruby, tzdata, git, nettools, nixosTests, nodejs
|
||||
, gitlabEnterprise ? false, callPackage, yarn
|
||||
, yarn2nix-moretea
|
||||
}:
|
||||
|
||||
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 {
|
||||
name = "gitlab-env-${version}";
|
||||
inherit ruby;
|
||||
gemdir = ./rubyEnv- + (if gitlabEnterprise then "ee" else "ce");
|
||||
gemdir = ./rubyEnv;
|
||||
gemset =
|
||||
let x = import (gemdir + "/gemset.nix");
|
||||
in x // {
|
||||
@ -19,35 +30,71 @@ let
|
||||
};
|
||||
};
|
||||
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
|
||||
# `console` executable.
|
||||
ignoreCollisions = true;
|
||||
};
|
||||
|
||||
flavour = if gitlabEnterprise then "ee" else "ce";
|
||||
data = (builtins.fromJSON (builtins.readFile ./data.json)).${flavour};
|
||||
yarnOfflineCache = (callPackage ./yarnPkgs.nix {}).offline_cache;
|
||||
|
||||
version = data.version;
|
||||
sources = {
|
||||
gitlab = fetchFromGitLab {
|
||||
owner = data.owner;
|
||||
repo = data.repo;
|
||||
rev = data.rev;
|
||||
sha256 = data.repo_hash;
|
||||
};
|
||||
gitlabDeb = fetchurl {
|
||||
url = data.deb_url;
|
||||
sha256 = data.deb_hash;
|
||||
};
|
||||
assets = stdenv.mkDerivation {
|
||||
pname = "gitlab-assets";
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
# Some rake tasks try to run yarn automatically, which won't work
|
||||
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
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gitlab${if gitlabEnterprise then "-ee" else ""}-${version}";
|
||||
name = "gitlab${lib.optionalString gitlabEnterprise "-ee"}-${version}";
|
||||
|
||||
src = sources.gitlab;
|
||||
inherit src;
|
||||
|
||||
buildInputs = [
|
||||
rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler tzdata git nettools
|
||||
@ -56,10 +103,15 @@ stdenv.mkDerivation {
|
||||
patches = [ ./remove-hardcoded-locations.patch ];
|
||||
|
||||
postPatch = ''
|
||||
${lib.optionalString (!gitlabEnterprise) ''
|
||||
# Remove all proprietary components
|
||||
rm -rf ee
|
||||
''}
|
||||
|
||||
# For reasons I don't understand "bundle exec" ignores the
|
||||
# RAILS_ENV causing tests to be executed that fail because we're
|
||||
# not installing development and test gems above. Deleting the
|
||||
# tests works though.:
|
||||
# tests works though.
|
||||
rm lib/tasks/test.rake
|
||||
|
||||
rm config/initializers/gitlab_shell_secret_token.rb
|
||||
@ -69,27 +121,15 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
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
|
||||
mv config config.dist
|
||||
rm -r tmp
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
rm -r tmp
|
||||
mkdir -p $out/share
|
||||
cp -r . $out/share/gitlab
|
||||
ln -sf ${assets} $out/share/gitlab/public/assets
|
||||
rm -rf $out/share/gitlab/log
|
||||
ln -sf /run/gitlab/log $out/share/gitlab/log
|
||||
ln -sf /run/gitlab/uploads $out/share/gitlab/public/uploads
|
||||
@ -102,7 +142,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit rubyEnv;
|
||||
inherit rubyEnv assets;
|
||||
ruby = rubyEnv.wrappedRuby;
|
||||
GITALY_SERVER_VERSION = data.passthru.GITALY_SERVER_VERSION;
|
||||
GITLAB_PAGES_VERSION = data.passthru.GITLAB_PAGES_VERSION;
|
||||
@ -116,7 +156,7 @@ stdenv.mkDerivation {
|
||||
meta = with lib; {
|
||||
homepage = http://www.gitlab.com/;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ fpletz globin krav ];
|
||||
maintainers = with maintainers; [ fpletz globin krav talyz ];
|
||||
} // (if gitlabEnterprise then
|
||||
{
|
||||
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 'github-linguist', '~> 6.1', require: 'linguist'
|
||||
gem 'gitlab-markup', '~> 1.7.0'
|
||||
gem 'activesupport', '~> 5.1.7'
|
||||
gem 'gitaly-proto', '~> 1.36.0'
|
||||
gem 'activesupport', '~> 5.2.3'
|
||||
gem 'rdoc', '~> 4.2'
|
||||
gem 'gitlab-gollum-lib', '~> 4.2.7.7', 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
|
||||
|
||||
# Labkit provides observability functionality
|
||||
gem 'gitlab-labkit', '~> 0.3.0'
|
||||
gem 'gitlab-labkit', '~> 0.5.0'
|
||||
|
||||
# Detects the open source license the repository includes
|
||||
# This version needs to be in sync with GitLab CE/EE
|
||||
|
@ -2,20 +2,20 @@ GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
abstract_type (0.0.7)
|
||||
actionpack (5.1.7)
|
||||
actionview (= 5.1.7)
|
||||
activesupport (= 5.1.7)
|
||||
actionpack (5.2.3)
|
||||
actionview (= 5.2.3)
|
||||
activesupport (= 5.2.3)
|
||||
rack (~> 2.0)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
actionview (5.1.7)
|
||||
activesupport (= 5.1.7)
|
||||
actionview (5.2.3)
|
||||
activesupport (= 5.2.3)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
activesupport (5.1.7)
|
||||
activesupport (5.2.3)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
@ -46,11 +46,9 @@ GEM
|
||||
activesupport (>= 4.2.0)
|
||||
faraday (0.15.4)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
ffi (1.10.0)
|
||||
ffi (1.11.1)
|
||||
gemojione (3.3.0)
|
||||
json
|
||||
gitaly-proto (1.36.0)
|
||||
grpc (~> 1.0)
|
||||
github-linguist (6.4.1)
|
||||
charlock_holmes (~> 0.7.6)
|
||||
escape_utils (~> 1.2.0)
|
||||
@ -73,12 +71,13 @@ GEM
|
||||
diff-lcs (~> 1.1)
|
||||
mime-types (>= 1.16)
|
||||
posix-spawn (~> 0.3)
|
||||
gitlab-labkit (0.3.0)
|
||||
gitlab-labkit (0.5.2)
|
||||
actionpack (~> 5)
|
||||
activesupport (~> 5)
|
||||
grpc (~> 1.19.0)
|
||||
grpc (~> 1.19)
|
||||
jaeger-client (~> 0.10)
|
||||
opentracing (~> 0.4)
|
||||
redis (> 3.0.0, < 5.0.0)
|
||||
gitlab-markup (1.7.0)
|
||||
gollum-grit_adapter (1.0.1)
|
||||
gitlab-grit (~> 2.7, >= 2.7.1)
|
||||
@ -111,10 +110,10 @@ GEM
|
||||
mime-types-data (3.2019.0331)
|
||||
mini_portile2 (2.4.0)
|
||||
minitest (5.11.3)
|
||||
msgpack (1.2.10)
|
||||
msgpack (1.3.0)
|
||||
multi_json (1.13.1)
|
||||
multipart-post (2.0.0)
|
||||
nokogiri (1.10.3)
|
||||
nokogiri (1.10.4)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
nokogumbo (1.5.0)
|
||||
nokogiri
|
||||
@ -139,7 +138,7 @@ GEM
|
||||
rails-dom-testing (2.0.3)
|
||||
activesupport (>= 4.2.0)
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.0.4)
|
||||
rails-html-sanitizer (1.2.0)
|
||||
loofah (~> 2.2, >= 2.2.2)
|
||||
rainbow (3.0.0)
|
||||
rbtrace (0.4.11)
|
||||
@ -147,7 +146,8 @@ GEM
|
||||
msgpack (>= 0.4.3)
|
||||
optimist (>= 3.0.0)
|
||||
rdoc (4.3.0)
|
||||
rouge (3.5.1)
|
||||
redis (4.1.2)
|
||||
rouge (3.11.0)
|
||||
rspec (3.8.0)
|
||||
rspec-core (~> 3.8.0)
|
||||
rspec-expectations (~> 3.8.0)
|
||||
@ -175,7 +175,7 @@ GEM
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 1.7)
|
||||
ruby-progressbar (1.10.0)
|
||||
rugged (0.28.1)
|
||||
rugged (0.28.3.1)
|
||||
safe_yaml (1.0.5)
|
||||
sanitize (4.6.6)
|
||||
crass (~> 1.0.2)
|
||||
@ -213,15 +213,14 @@ PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
activesupport (~> 5.1.7)
|
||||
activesupport (~> 5.2.3)
|
||||
bundler (>= 1.17.3)
|
||||
factory_bot
|
||||
faraday (~> 0.12)
|
||||
gitaly-proto (~> 1.36.0)
|
||||
github-linguist (~> 6.1)
|
||||
gitlab-gollum-lib (~> 4.2.7.7)
|
||||
gitlab-gollum-rugged_adapter (~> 0.4.4.2)
|
||||
gitlab-labkit (~> 0.3.0)
|
||||
gitlab-labkit (~> 0.5.0)
|
||||
gitlab-markup (~> 1.7.0)
|
||||
google-protobuf (~> 3.7.1)
|
||||
grpc (~> 1.19.0)
|
||||
|
@ -17,14 +17,14 @@ let
|
||||
};
|
||||
};
|
||||
in buildGoPackage rec {
|
||||
version = "1.53.2";
|
||||
version = "1.65.1";
|
||||
pname = "gitaly";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
sha256 = "0x4dhqaxx6n5jlcvf69rglxiz11037ghgcnskks6qnlcbkd85j3d";
|
||||
sha256 = "1a39i723na2xk4363a7v48ba23vi04qpg0119dw09g13m0k5hjc3";
|
||||
};
|
||||
|
||||
goPackagePath = "gitlab.com/gitlab-org/gitaly";
|
||||
@ -40,7 +40,7 @@ in buildGoPackage rec {
|
||||
|
||||
postInstall = ''
|
||||
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
|
||||
# code by default which doesn't work in nixos because it's a
|
||||
|
@ -270,6 +270,33 @@
|
||||
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";
|
||||
fetch = {
|
||||
@ -477,15 +504,6 @@
|
||||
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";
|
||||
fetch = {
|
||||
@ -509,8 +527,8 @@
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/crypto";
|
||||
rev = "c2843e01d9a2";
|
||||
sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
|
||||
rev = "20be4c3c3ed5";
|
||||
sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
|
||||
};
|
||||
}
|
||||
{
|
||||
@ -554,8 +572,8 @@
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sys";
|
||||
rev = "d0b11bdaac8a";
|
||||
sha256 = "18yfsmw622l7gc5sqriv5qmck6903vvhivpzp8i3xfy3z33dybdl";
|
||||
rev = "953cdadca894";
|
||||
sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
|
||||
};
|
||||
}
|
||||
{
|
||||
@ -626,8 +644,8 @@
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://gopkg.in/check.v1";
|
||||
rev = "20d25e280405";
|
||||
sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
|
||||
rev = "788fd7840127";
|
||||
sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -13,10 +13,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0zyi3dc50ii2msdkawaf11y4xw645ig57ha2jfnr8lpr8s1nlh52";
|
||||
sha256 = "1s2iay17i2k0xx36cmnpbrmr5w6x70jk7fq1d8w70xcdw5chm0w1";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.1.7";
|
||||
version = "5.2.3";
|
||||
};
|
||||
actionview = {
|
||||
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
|
||||
@ -24,10 +24,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0i2j580njb767yhf0k5ih3qqg38ybiah80ai8dsr6kjjw35aj747";
|
||||
sha256 = "1v49rgf8305grqf6gq7qa47qhamr369igyy0giycz60x86afyr4h";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.1.7";
|
||||
version = "5.2.3";
|
||||
};
|
||||
activesupport = {
|
||||
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
|
||||
@ -35,10 +35,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0znhiy90hdlx66jqhaycin4qrphrymsw68c36a1an7g481zvfv91";
|
||||
sha256 = "110vp4frgkw3mpzlmshg2f2ig09cknls2w68ym1r1s39d01v0mi8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.1.7";
|
||||
version = "5.2.3";
|
||||
};
|
||||
adamantium = {
|
||||
dependencies = ["ice_nine" "memoizable"];
|
||||
@ -205,12 +205,14 @@
|
||||
version = "0.15.4";
|
||||
};
|
||||
ffi = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
|
||||
sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.0";
|
||||
version = "1.11.1";
|
||||
};
|
||||
gemojione = {
|
||||
dependencies = ["json"];
|
||||
@ -221,17 +223,6 @@
|
||||
};
|
||||
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 = {
|
||||
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
|
||||
groups = ["default"];
|
||||
@ -283,15 +274,15 @@
|
||||
version = "2.8.2";
|
||||
};
|
||||
gitlab-labkit = {
|
||||
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing"];
|
||||
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "redis"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0dvapmdc9axm9dq2gg89qrqb318rkrsabpyybrqvcx1ipbi5k3a1";
|
||||
sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.0";
|
||||
version = "0.5.2";
|
||||
};
|
||||
gitlab-markup = {
|
||||
groups = ["default"];
|
||||
@ -489,10 +480,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1w38hilm3dk42dwk8ygiq49bl4in7y80hfqr63hk54mj4gmzi6ch";
|
||||
sha256 = "1186lhwnxiw5ryv6dbxrsfy0fajfll2l95kf9pmca50iyiqi86zn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.10";
|
||||
version = "1.3.0";
|
||||
};
|
||||
multi_json = {
|
||||
source = {
|
||||
@ -516,10 +507,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
|
||||
sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.10.3";
|
||||
version = "1.10.4";
|
||||
};
|
||||
nokogumbo = {
|
||||
dependencies = ["nokogiri"];
|
||||
@ -649,10 +640,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
|
||||
sha256 = "0ilwxzm3a7bql5c9q2n9g9nb1hax7vd8d65a5yp3d967ld97nvrq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.4";
|
||||
version = "1.2.0";
|
||||
};
|
||||
rainbow = {
|
||||
source = {
|
||||
@ -679,15 +670,25 @@
|
||||
};
|
||||
version = "4.3.0";
|
||||
};
|
||||
redis = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.1.2";
|
||||
};
|
||||
rouge = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0yfhazlhjc4abgzhkgq8zqmdphvkh52211widkl4zhsbhqh8wg2q";
|
||||
sha256 = "1zsyv6abqrk7lpql5f1ja4m88bfy9qndi8xykpss6cpvjdmi3ydb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.5.1";
|
||||
version = "3.11.0";
|
||||
};
|
||||
rspec = {
|
||||
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
|
||||
@ -778,10 +779,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1yiszpz6y13vvgh3fss1l0ipp0zgsbbc8c28vynnpdyx1sy6krp6";
|
||||
sha256 = "03w3k7j27kgzpcc3halkd3w0b677sny2lfwm2lwn2n1ac20dzjc6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.28.1";
|
||||
version = "0.28.3.1";
|
||||
};
|
||||
safe_yaml = {
|
||||
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,47 +1,72 @@
|
||||
{ stdenv, ruby, bundler, fetchFromGitLab, go }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "9.3.0";
|
||||
pname = "gitlab-shell";
|
||||
{ stdenv, ruby, bundler, fetchFromGitLab, buildGoPackage, bundlerEnv }:
|
||||
|
||||
let
|
||||
version = "10.0.0";
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-shell";
|
||||
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 = ''
|
||||
export GOCACHE="$TMPDIR/go-cache"
|
||||
# gitlab-shell depends on an older version of gitaly which
|
||||
# contains old, vendored versions of some packages; gitlab-shell
|
||||
# also explicitly depends on newer versions of these libraries,
|
||||
# but buildGoPackage exposes the vendored versions instead,
|
||||
# leading to compilation errors. Since the vendored libraries
|
||||
# aren't used here anyway, we'll just remove them.
|
||||
postConfigure = ''
|
||||
rm -r "$NIX_BUILD_TOP/go/src/gitlab.com/gitlab-org/gitaly/vendor/"
|
||||
'';
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "gitlab-shell";
|
||||
inherit src version;
|
||||
|
||||
ruby bin/compile
|
||||
mkdir -p $out/
|
||||
cp -R . $out/
|
||||
|
||||
# Nothing to install ATM for non-development but keeping the
|
||||
# install command anyway in case that changes in the future:
|
||||
export HOME=$(pwd)
|
||||
bundle install -j4 --verbose --local --deployment --without development test
|
||||
'';
|
||||
patches = [ ./remove-hardcoded-locations-ruby.patch ];
|
||||
|
||||
# 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
|
||||
# read-only filesystem
|
||||
postPatch = ''
|
||||
substituteInPlace lib/gitlab_config.rb --replace \
|
||||
"File.join(ROOT_PATH, 'config.yml')" \
|
||||
"'/run/gitlab/shell-config.yml'"
|
||||
"File.join(ROOT_PATH, '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; {
|
||||
description = "SSH access and repository management app for GitLab";
|
||||
homepage = http://www.gitlab.com/;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ fpletz globin ];
|
||||
maintainers = with maintainers; [ fpletz globin talyz ];
|
||||
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 New Issue
Block a user