Merge branch 'master' into staging
This commit is contained in:
commit
37242d98de
@ -774,6 +774,21 @@ The `buildPythonPackage` function sets `DETERMINISTIC_BUILD=1` and
|
||||
Both are also exported in `nix-shell`.
|
||||
|
||||
|
||||
### Automatic tests
|
||||
|
||||
It is recommended to test packages as part of the build process.
|
||||
Source distributions (`sdist`) often include test files, but not always.
|
||||
|
||||
By default the command `python setup.py test` is run as part of the
|
||||
`checkPhase`, but often it is necessary to pass a custom `checkPhase`. An
|
||||
example of such a situation is when `py.test` is used.
|
||||
|
||||
#### Common issues
|
||||
|
||||
- Non-working tests can often be deselected. In the case of `py.test`: `py.test -k 'not function_name and not other_function'`.
|
||||
- Unicode issues can typically be fixed by including `glibcLocales` in `buildInputs` and exporting `LC_ALL=en_US.utf-8`.
|
||||
- Tests that attempt to access `$HOME` can be fixed by using the following work-around before running tests (e.g. `preCheck`): `export HOME=$(mktemp -d)`
|
||||
|
||||
## FAQ
|
||||
|
||||
### How to solve circular dependencies?
|
||||
@ -985,8 +1000,9 @@ rec {
|
||||
|
||||
Following rules are desired to be respected:
|
||||
|
||||
* Python libraries are supposed to be called from `python-packages.nix` and packaged with `buildPythonPackage`. The expression of a library should be in `pkgs/development/python-modules/<name>/default.nix`. Libraries in `pkgs/top-level/python-packages.nix` are sorted quasi-alphabetically to avoid merge conflicts.
|
||||
* Python libraries are called from `python-packages.nix` and packaged with `buildPythonPackage`. The expression of a library should be in `pkgs/development/python-modules/<name>/default.nix`. Libraries in `pkgs/top-level/python-packages.nix` are sorted quasi-alphabetically to avoid merge conflicts.
|
||||
* Python applications live outside of `python-packages.nix` and are packaged with `buildPythonApplication`.
|
||||
* Make sure libraries build for all Python interpreters.
|
||||
* By default we enable tests. Make sure the tests are found and, in the case of libraries, are passing for all interpreters. If certain tests fail they can be disabled individually. Try to avoid disabling the tests altogether. In any case, when you disable tests, leave a comment explaining why.
|
||||
* Commit names of Python libraries should include `pythonPackages`, for example `pythonPackages.numpy: 1.11 -> 1.12`.
|
||||
* Commit names of Python libraries should reflect that they are Python libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`.
|
||||
|
||||
|
@ -113,6 +113,7 @@
|
||||
cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
|
||||
cmcdragonkai = "Roger Qiu <roger.qiu@matrix.ai>";
|
||||
cmfwyp = "cmfwyp <cmfwyp@riseup.net>";
|
||||
cobbal = "Andrew Cobb <andrew.cobb@gmail.com>";
|
||||
coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
|
||||
codsl = "codsl <codsl@riseup.net>";
|
||||
codyopel = "Cody Opel <codyopel@gmail.com>";
|
||||
|
@ -176,7 +176,7 @@ following incompatible changes:</para>
|
||||
streamlined. Desktop users should be able to simply set
|
||||
<programlisting>security.grsecurity.enable = true</programlisting> to get
|
||||
a reasonably secure system without having to sacrifice too much
|
||||
functionality. See <xref linkend="sec-grsecurity" /> for documentation
|
||||
functionality.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>Special filesystems, like <literal>/proc</literal>,
|
||||
|
@ -184,6 +184,15 @@ rmdir /var/lib/ipfs/.ipfs
|
||||
<literal>services.xserver.libinput.enable</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
grsecurity/PaX support has been dropped, following upstream's
|
||||
decision to cease free support. See
|
||||
<link xlink:href="https://grsecurity.net/passing_the_baton.php">
|
||||
upstream's announcement</link> for more information.
|
||||
No complete replacement for grsecurity/PaX is available presently.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Other notable improvements:</para>
|
||||
|
@ -121,7 +121,6 @@
|
||||
./security/chromium-suid-sandbox.nix
|
||||
./security/dhparams.nix
|
||||
./security/duosec.nix
|
||||
./security/grsecurity.nix
|
||||
./security/hidepid.nix
|
||||
./security/lock-kernel-modules.nix
|
||||
./security/oath.nix
|
||||
|
@ -124,26 +124,6 @@ with lib;
|
||||
(mkRenamedOptionModule [ "services" "iodined" "extraConfig" ] [ "services" "iodine" "server" "extraConfig" ])
|
||||
(mkRemovedOptionModule [ "services" "iodined" "client" ] "")
|
||||
|
||||
# Grsecurity
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "kernelPatch" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "mode" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "priority" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "system" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "virtualisationConfig" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "hardwareVirtualisation" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "virtualisationSoftware" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "sysctl" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "denyChrootChmod" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "denyChrootCaps" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "denyUSB" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "restrictProc" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "restrictProcWithGroup" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "unrestrictProcGid" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "disableRBAC" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "disableSimultConnect" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "verboseVersion" ] "")
|
||||
(mkRemovedOptionModule [ "security" "grsecurity" "config" "kernelExtraConfig" ] "")
|
||||
|
||||
# Unity3D
|
||||
(mkRenamedOptionModule [ "programs" "unity3d" "enable" ] [ "security" "chromiumSuidSandbox" "enable" ])
|
||||
|
||||
|
@ -19,9 +19,6 @@ in
|
||||
|
||||
Also, if the URL chrome://sandbox tells you that "You are not adequately
|
||||
sandboxed!", turning this on might resolve the issue.
|
||||
|
||||
Finally, if you have <option>security.grsecurity</option> enabled and you
|
||||
use Chromium, you probably need this.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -1,169 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.security.grsecurity;
|
||||
grsecLockPath = "/proc/sys/kernel/grsecurity/grsec_lock";
|
||||
|
||||
# Ascertain whether NixOS container support is required
|
||||
containerSupportRequired =
|
||||
config.boot.enableContainers && config.containers != {};
|
||||
in
|
||||
|
||||
{
|
||||
meta = {
|
||||
maintainers = with maintainers; [ ];
|
||||
doc = ./grsecurity.xml;
|
||||
};
|
||||
|
||||
options.security.grsecurity = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable grsecurity/PaX.
|
||||
'';
|
||||
};
|
||||
|
||||
lockTunables = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to automatically lock grsecurity tunables
|
||||
(<option>boot.kernel.sysctl."kernel.grsecurity.*"</option>). Disable
|
||||
this to allow runtime configuration of grsecurity features. Activate
|
||||
the <literal>grsec-lock</literal> service unit to prevent further
|
||||
configuration until the next reboot.
|
||||
'';
|
||||
};
|
||||
|
||||
disableEfiRuntimeServices = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to disable access to EFI runtime services. Enabling EFI runtime
|
||||
services creates a venue for code injection attacks on the kernel and
|
||||
should be disabled if at all possible. Changing this option enters into
|
||||
effect upon reboot.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
boot.kernelPackages = mkForce pkgs.linuxPackages_grsec_nixos;
|
||||
|
||||
boot.kernelParams = [ "grsec_sysfs_restrict=0" ]
|
||||
++ optional cfg.disableEfiRuntimeServices "noefi";
|
||||
|
||||
nixpkgs.config.grsecurity = true;
|
||||
|
||||
# Install PaX related utillities into the system profile.
|
||||
environment.systemPackages = with pkgs; [ gradm paxctl pax-utils ];
|
||||
|
||||
# Install rules for the grsec device node
|
||||
services.udev.packages = [ pkgs.gradm ];
|
||||
|
||||
# This service unit is responsible for locking the grsecurity tunables. The
|
||||
# unit is always defined, but only activated on bootup if lockTunables is
|
||||
# toggled. When lockTunables is toggled, failure to activate the unit will
|
||||
# enter emergency mode. The intent is to make it difficult to silently
|
||||
# enter multi-user mode without having locked the tunables. Some effort is
|
||||
# made to ensure that starting the unit is an idempotent operation.
|
||||
systemd.services.grsec-lock = {
|
||||
description = "Lock grsecurity tunables";
|
||||
|
||||
wantedBy = optional cfg.lockTunables "multi-user.target";
|
||||
|
||||
wants = [ "local-fs.target" "systemd-sysctl.service" ];
|
||||
after = [ "local-fs.target" "systemd-sysctl.service" ];
|
||||
conflicts = [ "shutdown.target" ];
|
||||
|
||||
restartIfChanged = false;
|
||||
|
||||
script = ''
|
||||
if ${pkgs.gnugrep}/bin/grep -Fq 0 ${grsecLockPath} ; then
|
||||
echo -n 1 > ${grsecLockPath}
|
||||
fi
|
||||
'';
|
||||
|
||||
unitConfig = {
|
||||
ConditionPathIsReadWrite = grsecLockPath;
|
||||
DefaultDependencies = false;
|
||||
} // optionalAttrs cfg.lockTunables {
|
||||
OnFailure = "emergency.target";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Configure system tunables
|
||||
boot.kernel.sysctl = {
|
||||
# Read-only under grsecurity
|
||||
"kernel.kptr_restrict" = mkForce null;
|
||||
|
||||
# All grsec tunables default to off, those not enabled below are
|
||||
# *disabled*. We use mkDefault to allow expert users to override
|
||||
# our choices, but use mkForce where tunables would outright
|
||||
# conflict with other settings.
|
||||
|
||||
# Enable all chroot restrictions by default (overwritten as
|
||||
# necessary below)
|
||||
"kernel.grsecurity.chroot_caps" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_bad_rename" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_chmod" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_chroot" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_fchdir" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_mknod" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_mount" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_pivot" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_shmat" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_sysctl" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_deny_unix" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_enforce_chdir" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_findtask" = mkDefault 1;
|
||||
"kernel.grsecurity.chroot_restrict_nice" = mkDefault 1;
|
||||
|
||||
# Enable various grsec protections
|
||||
"kernel.grsecurity.consistent_setxid" = mkDefault 1;
|
||||
"kernel.grsecurity.deter_bruteforce" = mkDefault 1;
|
||||
"kernel.grsecurity.fifo_restrictions" = mkDefault 1;
|
||||
"kernel.grsecurity.harden_ipc" = mkDefault 1;
|
||||
"kernel.grsecurity.harden_ptrace" = mkDefault 1;
|
||||
"kernel.grsecurity.harden_tty" = mkDefault 1;
|
||||
"kernel.grsecurity.ip_blackhole" = mkDefault 1;
|
||||
"kernel.grsecurity.linking_restrictions" = mkDefault 1;
|
||||
"kernel.grsecurity.ptrace_readexec" = mkDefault 1;
|
||||
|
||||
# Enable auditing
|
||||
"kernel.grsecurity.audit_ptrace" = mkDefault 1;
|
||||
"kernel.grsecurity.forkfail_logging" = mkDefault 1;
|
||||
"kernel.grsecurity.rwxmap_logging" = mkDefault 1;
|
||||
"kernel.grsecurity.signal_logging" = mkDefault 1;
|
||||
"kernel.grsecurity.timechange_logging" = mkDefault 1;
|
||||
} // optionalAttrs config.nix.useSandbox {
|
||||
# chroot(2) restrictions that conflict with sandboxed Nix builds
|
||||
"kernel.grsecurity.chroot_caps" = mkForce 0;
|
||||
"kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
|
||||
"kernel.grsecurity.chroot_deny_chroot" = mkForce 0;
|
||||
"kernel.grsecurity.chroot_deny_mount" = mkForce 0;
|
||||
"kernel.grsecurity.chroot_deny_pivot" = mkForce 0;
|
||||
} // optionalAttrs containerSupportRequired {
|
||||
# chroot(2) restrictions that conflict with NixOS lightweight containers
|
||||
"kernel.grsecurity.chroot_caps" = mkForce 0;
|
||||
"kernel.grsecurity.chroot_deny_chmod" = mkForce 0;
|
||||
"kernel.grsecurity.chroot_deny_mount" = mkForce 0;
|
||||
"kernel.grsecurity.chroot_restrict_nice" = mkForce 0;
|
||||
# Disable privileged IO by default, unless X is enabled
|
||||
} // optionalAttrs (!config.services.xserver.enable) {
|
||||
"kernel.grsecurity.disable_priv_io" = mkDefault 1;
|
||||
};
|
||||
|
||||
};
|
||||
}
|
@ -1,385 +0,0 @@
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-grsecurity">
|
||||
|
||||
<title>Grsecurity/PaX</title>
|
||||
|
||||
<para>
|
||||
Grsecurity/PaX is a set of patches against the Linux kernel that
|
||||
implements an extensive suite of
|
||||
<link xlink:href="https://grsecurity.net/features.php">features</link>
|
||||
designed to increase the difficulty of exploiting kernel and
|
||||
application bugs.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The NixOS grsecurity/PaX module is designed with casual users in mind and is
|
||||
intended to be compatible with normal desktop usage, without
|
||||
<emphasis>unnecessarily</emphasis> compromising security. The
|
||||
following sections describe the configuration and administration of
|
||||
a grsecurity/PaX enabled NixOS system. For more comprehensive
|
||||
coverage, please refer to the
|
||||
<link xlink:href="https://en.wikibooks.org/wiki/Grsecurity">grsecurity wikibook</link>
|
||||
and the
|
||||
<link xlink:href="https://wiki.archlinux.org/index.php/Grsecurity">Arch
|
||||
Linux wiki page on grsecurity</link>.
|
||||
|
||||
<warning><para>Upstream has ceased free support for grsecurity/PaX. See
|
||||
<link xlink:href="https://grsecurity.net/passing_the_baton.php">
|
||||
the announcement</link> for more information. Consequently, NixOS
|
||||
support for grsecurity/PaX also must cease. Enabling this module will
|
||||
result in a build error.</para></warning>
|
||||
<note><para>We standardise on a desktop oriented configuration primarily due
|
||||
to lack of resources. The grsecurity/PaX configuration state space is huge
|
||||
and each configuration requires quite a bit of testing to ensure that the
|
||||
resulting packages work as advertised. Defining additional package sets
|
||||
would likely result in a large number of functionally broken packages, to
|
||||
nobody's benefit.</para></note>
|
||||
</para>
|
||||
|
||||
<sect1 xml:id="sec-grsec-enable"><title>Enabling grsecurity/PaX</title>
|
||||
|
||||
<para>
|
||||
To make use of grsecurity/PaX on NixOS, add the following to your
|
||||
<filename>configuration.nix</filename>:
|
||||
<programlisting>
|
||||
security.grsecurity.enable = true;
|
||||
</programlisting>
|
||||
followed by
|
||||
<programlisting>
|
||||
# nixos-rebuild boot
|
||||
# reboot
|
||||
</programlisting>
|
||||
<note><para>
|
||||
Enabling the grsecurity module overrides
|
||||
<option>boot.kernelPackages</option>, to reduce the risk of
|
||||
misconfiguration. <xref linkend="sec-grsec-custom-kernel" />
|
||||
describes how to use a custom kernel package set.
|
||||
</para></note>
|
||||
|
||||
For most users, further configuration should be unnecessary. All users
|
||||
are encouraged to look over <xref linkend="sec-grsec-security" /> before
|
||||
using the system, however. If you experience problems, please refer to
|
||||
<xref linkend="sec-grsec-issues" />.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Once booted into the new system, you can optionally use
|
||||
<command>paxtest</command> to exercise various PaX features:
|
||||
<screen><![CDATA[
|
||||
# nix-shell -p paxtest --command 'paxtest blackhat'
|
||||
Executable anonymous mapping : Killed
|
||||
Executable bss : Killed
|
||||
# ... remaining output truncated for brevity
|
||||
]]></screen>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sec-grsec-declarative-tuning"><title>Declarative tuning</title>
|
||||
|
||||
<para>
|
||||
The default configuration mode is strictly declarative. Some features
|
||||
simply cannot be changed at all after boot, while others are locked once the
|
||||
system is up and running. Moreover, changes to the configuration enter
|
||||
into effect only upon booting into the new system.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The NixOS module exposes a limited number of options for tuning the behavior
|
||||
of grsecurity/PaX. These are options thought to be of particular interest
|
||||
to most users. For experts, further tuning is possible via
|
||||
<option>boot.kernelParams</option> (see
|
||||
<xref linkend="sec-grsec-kernel-params" />) and
|
||||
<option>boot.kernel.sysctl."kernel.grsecurity.*"</option> (the wikibook
|
||||
contains an <link xlink:href="https://en.wikibooks.org/wiki/Grsecurity/Appendix/Sysctl_Options">
|
||||
exhaustive listing of grsecurity sysctl tunables</link>).
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sec-grsec-manual-tuning"><title>Manual tuning</title>
|
||||
|
||||
<para>
|
||||
To permit manual tuning of grsecurity runtime parameters, set:
|
||||
<programlisting>
|
||||
security.grsecurity.lockTunables = false;
|
||||
</programlisting>
|
||||
Once booted into this system, grsecurity features that have a corresponding
|
||||
sysctl tunable can be changed without rebooting, either by switching into
|
||||
a new system profile or via the <command>sysctl</command> utility.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To lock all grsecurity tunables until the next boot, do:
|
||||
<screen>
|
||||
# systemctl start grsec-lock
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sec-grsec-security"><title>Security considerations</title>
|
||||
|
||||
<para>
|
||||
The NixOS kernel is built using upstream's recommended settings for a
|
||||
desktop deployment that generally favours security over performance. This
|
||||
section details deviations from upstream's recommendations that may
|
||||
compromise security.
|
||||
|
||||
<warning><para>There may be additional problems not covered here!</para>
|
||||
</warning>
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>
|
||||
The following hardening features are disabled in the NixOS kernel:
|
||||
<itemizedlist>
|
||||
<listitem><para>Kernel symbol hiding: rendered useless by redistributing
|
||||
kernel objects.</para></listitem>
|
||||
|
||||
<listitem><para>Randomization of kernel structures: rendered useless by
|
||||
redistributing kernel objects.</para></listitem>
|
||||
|
||||
<listitem><para>TCP simultaneous OPEN connection is permitted: breaking
|
||||
strict TCP conformance is inappropriate for a general purpose kernel.
|
||||
The trade-off is that an attacker may be able to deny outgoing
|
||||
connections if they are able to guess the source port allocated by your
|
||||
OS for that connection <emphasis>and</emphasis> also manage to initiate
|
||||
a TCP simultaneous OPEN on that port before the connection is actually
|
||||
established.</para></listitem>
|
||||
|
||||
<listitem><para>Trusted path execution: a desirable feature, but
|
||||
requires some more work to operate smoothly on NixOS.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
The NixOS module conditionally weakens <command>chroot</command>
|
||||
restrictions to accommodate NixOS lightweight containers and sandboxed Nix
|
||||
builds. This can be problematic if the deployment also runs privileged
|
||||
network facing processes that <emphasis>rely</emphasis> on
|
||||
<command>chroot</command> for isolation.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
The NixOS kernel is patched to allow usermode helpers from anywhere in the
|
||||
Nix store. A usermode helper is an executable called by the kernel in
|
||||
certain circumstances, e.g., <command>modprobe</command>. Vanilla
|
||||
grsecurity only allows usermode helpers from paths typically owned by the
|
||||
super user. The NixOS kernel allows an attacker to inject malicious code
|
||||
into the Nix store which could then be executed by the kernel as a
|
||||
usermode helper.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
The following features are disabled because they overlap with
|
||||
vanilla kernel mechanisms:
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para><filename class="directory">/proc</filename> hardening:
|
||||
use <option>security.hideProcessInformation</option> instead. This
|
||||
trades weaker protection for greater compatibility.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para><command>dmesg</command> restrictions:
|
||||
use <option>boot.kernel.sysctl."kernel.dmesg_restrict"</option> instead
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sec-grsec-custom-kernel"><title>Using a custom grsecurity/PaX kernel</title>
|
||||
|
||||
<para>
|
||||
The NixOS kernel is likely to be either too permissive or too restrictive
|
||||
for many deployment scenarios. In addition to producing a kernel more
|
||||
suitable for a particular deployment, a custom kernel may improve security
|
||||
by depriving an attacker the ability to study the kernel object code, adding
|
||||
yet more guesswork to successfully carry out certain exploits.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To build a custom kernel using upstream's recommended settings for server
|
||||
deployments, while still using the NixOS module:
|
||||
<programlisting>
|
||||
nixpkgs.config.packageOverrides = super: {
|
||||
linux_grsec_nixos = super.linux_grsec_nixos.override {
|
||||
extraConfig = ''
|
||||
GRKERNSEC_CONFIG_AUTO y
|
||||
GRKERNSEC_CONFIG_SERVER y
|
||||
GRKERNSEC_CONFIG_SECURITY y
|
||||
'';
|
||||
};
|
||||
};
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The grsecurity/PaX wikibook provides an exhaustive listing of
|
||||
<link xlink:href="https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options">kernel configuration options</link>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The NixOS module makes several assumptions about the kernel and so
|
||||
may be incompatible with your customised kernel. Currently, the only way
|
||||
to work around these incompatibilities is to eschew the NixOS
|
||||
module.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If not using the NixOS module, a custom grsecurity package set can
|
||||
be specified inline instead, as in
|
||||
<programlisting>
|
||||
boot.kernelPackages =
|
||||
let
|
||||
kernel = pkgs.linux_grsec_nixos.override {
|
||||
extraConfig = /* as above */;
|
||||
};
|
||||
self = pkgs.linuxPackagesFor kernel self;
|
||||
in self;
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sec-grsec-pax-flags"><title>Per-executable PaX flags</title>
|
||||
|
||||
<para>
|
||||
Manual tuning of per-file PaX flags for executables in the Nix store is
|
||||
impossible on a properly configured system. If a package in Nixpkgs fails
|
||||
due to PaX, that is a bug in the package recipe and should be reported to
|
||||
the maintainer (including relevant <command>dmesg</command> output).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For executables installed outside of the Nix store, PaX flags can be set
|
||||
using the <command>paxctl</command> utility:
|
||||
<programlisting>
|
||||
paxctl -czem <replaceable>foo</replaceable>
|
||||
</programlisting>
|
||||
|
||||
<warning>
|
||||
<para><command>paxctl</command> overwrites files in-place.</para>
|
||||
</warning>
|
||||
|
||||
Equivalently, on file systems that support extended attributes:
|
||||
<programlisting>
|
||||
setfattr -n user.pax.flags -v em <replaceable>foo</replaceable>
|
||||
</programlisting>
|
||||
|
||||
<!-- TODO: PaX flags via RBAC policy -->
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sec-grsec-issues"><title>Issues and work-arounds</title>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>User namespaces require <literal>CAP_SYS_ADMIN</literal>:
|
||||
consequently, unprivileged namespaces are unsupported. Applications that
|
||||
rely on namespaces for sandboxing must use a privileged helper. For chromium
|
||||
there is <option>security.chromiumSuidSandbox.enable</option>.</para></listitem>
|
||||
|
||||
<listitem><para>Access to EFI runtime services is disabled by default:
|
||||
this plugs a potential code injection attack vector; use
|
||||
<option>security.grsecurity.disableEfiRuntimeServices</option> to override
|
||||
this behavior.</para></listitem>
|
||||
|
||||
<listitem><para>User initiated autoloading of modules (e.g., when
|
||||
using fuse or loop devices) is disallowed; either load requisite modules
|
||||
as root or add them to <option>boot.kernelModules</option>.</para></listitem>
|
||||
|
||||
<listitem><para>Virtualization: KVM is the preferred virtualization
|
||||
solution. Xen, Virtualbox, and VMWare are
|
||||
<emphasis>unsupported</emphasis> and most likely require a custom kernel.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Attaching <command>gdb</command> to a running process is disallowed by
|
||||
default: unprivileged users can only ptrace processes that are children of
|
||||
the ptracing process. To relax this restriction, set
|
||||
<programlisting>
|
||||
boot.kernel.sysctl."kernel.grsecurity.harden_ptrace" = 0;
|
||||
</programlisting>
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Overflows in boot critical code (e.g., the root filesystem module) can
|
||||
render the system unbootable. Work around by setting
|
||||
<programlisting>
|
||||
boot.kernelParams = [ "pax_size_overflow_report_only" ];
|
||||
</programlisting>
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
The <citerefentry><refentrytitle>modify_ldt
|
||||
</refentrytitle><manvolnum>2</manvolnum></citerefentry> syscall is disabled
|
||||
by default. This restriction can interfere with programs designed to run
|
||||
legacy 16-bit or segmented 32-bit code. To support applications that rely
|
||||
on this syscall, set
|
||||
<programlisting>
|
||||
boot.kernel.sysctl."kernel.modify_ldt" = 1;
|
||||
</programlisting>
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
The gitlab service (<xref linkend="module-services-gitlab" />)
|
||||
requires a variant of the <literal>ruby</literal> interpreter
|
||||
built without `mprotect()` hardening, as in
|
||||
<programlisting>
|
||||
services.gitlab.packages.gitlab = pkgs.gitlab.override {
|
||||
ruby = pkgs.ruby.overrideAttrs (attrs: {
|
||||
postFixup = "paxmark m $out/bin/ruby";
|
||||
});
|
||||
};
|
||||
</programlisting>
|
||||
</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sec-grsec-kernel-params"><title>Grsecurity/PaX kernel parameters</title>
|
||||
|
||||
<para>
|
||||
The NixOS kernel supports the following kernel command line parameters:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
<literal>pax_nouderef</literal>: disable UDEREF (separate kernel and
|
||||
user address spaces).
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
<literal>pax_weakuderef</literal>: enable a faster but
|
||||
weaker variant of UDEREF on 64-bit processors with PCID support
|
||||
(check <code>grep pcid /proc/cpuinfo</code>).
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
<literal>pax_sanitize_slab={off|fast|full}</literal>: control kernel
|
||||
slab object sanitization. Defaults to <literal>fast</literal>
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
<literal>pax_size_overflow_report_only</literal>: log size overflow
|
||||
violations but leave the violating task running
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
<literal>grsec_sysfs_restrict=[0|1]</literal>: toggle sysfs
|
||||
restrictions. The NixOS module sets this to <literal>0</literal>
|
||||
for systemd compatibility
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
</chapter>
|
@ -270,8 +270,8 @@ in
|
||||
|
||||
${optionalString haveLocalDB ''
|
||||
if ! [ -e ${baseDir}/.db-created ]; then
|
||||
${config.services.postgresql.package}/bin/createuser hydra
|
||||
${config.services.postgresql.package}/bin/createdb -O hydra hydra
|
||||
${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createuser hydra
|
||||
${pkgs.sudo}/bin/sudo -u ${config.services.postgresql.superUser} ${config.services.postgresql.package}/bin/createdb -O hydra hydra
|
||||
touch ${baseDir}/.db-created
|
||||
fi
|
||||
''}
|
||||
|
@ -38,9 +38,6 @@ let
|
||||
|
||||
pre84 = versionOlder (builtins.parseDrvName postgresql.name).version "8.4";
|
||||
|
||||
# NixOS traditionally used `root` as superuser, most other distros use `postgres`. From 17.09
|
||||
# we also try to follow this standard
|
||||
superuser = (if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root");
|
||||
|
||||
in
|
||||
|
||||
@ -151,6 +148,16 @@ in
|
||||
Contents of the <filename>recovery.conf</filename> file.
|
||||
'';
|
||||
};
|
||||
superUser = mkOption {
|
||||
type = types.str;
|
||||
default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
|
||||
internal = true;
|
||||
description = ''
|
||||
NixOS traditionally used `root` as superuser, most other distros use `postgres`.
|
||||
From 17.09 we also try to follow this standard. Internal since changing this value
|
||||
would lead to breakage while setting up databases.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@ -215,7 +222,7 @@ in
|
||||
''
|
||||
# Initialise the database.
|
||||
if ! test -e ${cfg.dataDir}/PG_VERSION; then
|
||||
initdb -U ${superuser}
|
||||
initdb -U ${cfg.superUser}
|
||||
# See postStart!
|
||||
touch "${cfg.dataDir}/.first_startup"
|
||||
fi
|
||||
@ -247,14 +254,14 @@ in
|
||||
# Wait for PostgreSQL to be ready to accept connections.
|
||||
postStart =
|
||||
''
|
||||
while ! ${pkgs.sudo}/bin/sudo -u ${superuser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do
|
||||
while ! ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do
|
||||
if ! kill -0 "$MAINPID"; then exit 1; fi
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
if test -e "${cfg.dataDir}/.first_startup"; then
|
||||
${optionalString (cfg.initialScript != null) ''
|
||||
${pkgs.sudo}/bin/sudo -u ${superuser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres
|
||||
${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres
|
||||
''}
|
||||
rm -f "${cfg.dataDir}/.first_startup"
|
||||
fi
|
||||
|
@ -10,10 +10,12 @@ let
|
||||
ruby = cfg.packages.gitlab.ruby;
|
||||
bundler = pkgs.bundler;
|
||||
|
||||
gemHome = "${cfg.packages.gitlab.env}/${ruby.gemPath}";
|
||||
gemHome = "${cfg.packages.gitlab.ruby-env}/${ruby.gemPath}";
|
||||
|
||||
gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
|
||||
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
|
||||
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
|
||||
pgSuperUser = config.services.postgresql.superUser;
|
||||
|
||||
databaseYml = ''
|
||||
production:
|
||||
@ -25,6 +27,17 @@ let
|
||||
encoding: utf8
|
||||
'';
|
||||
|
||||
gitalyToml = pkgs.writeText "gitaly.toml" ''
|
||||
socket_path = "${lib.escape ["\""] gitalySocket}"
|
||||
# prometheus metrics
|
||||
|
||||
${concatStringsSep "\n" (attrValues (mapAttrs (k: v: ''
|
||||
[[storage]]
|
||||
name = "${lib.escape ["\""] k}"
|
||||
path = "${lib.escape ["\""] v.path}"
|
||||
'') gitlabConfig.production.repositories.storages))}
|
||||
'';
|
||||
|
||||
gitlabShellYml = ''
|
||||
user: ${cfg.user}
|
||||
gitlab_url: "http+unix://${pathUrlQuote gitlabSocket}"
|
||||
@ -46,6 +59,7 @@ let
|
||||
secret_key_base: ${cfg.secrets.secret}
|
||||
otp_key_base: ${cfg.secrets.otp}
|
||||
db_key_base: ${cfg.secrets.db}
|
||||
jws_private_key: ${builtins.toJSON cfg.secrets.jws}
|
||||
'';
|
||||
|
||||
gitlabConfig = {
|
||||
@ -69,7 +83,8 @@ let
|
||||
container_registry = true;
|
||||
};
|
||||
};
|
||||
repositories.storages.default = "${cfg.statePath}/repositories";
|
||||
repositories.storages.default.path = "${cfg.statePath}/repositories";
|
||||
repositories.storages.default.gitaly_address = "unix:${gitalySocket}";
|
||||
artifacts.enabled = true;
|
||||
lfs.enabled = true;
|
||||
gravatar.enabled = true;
|
||||
@ -105,9 +120,9 @@ let
|
||||
GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
|
||||
GITLAB_LOG_PATH = "${cfg.statePath}/log";
|
||||
GITLAB_SHELL_PATH = "${cfg.packages.gitlab-shell}";
|
||||
GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
|
||||
GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/home/config.yml";
|
||||
GITLAB_SHELL_SECRET_PATH = "${cfg.statePath}/config/gitlab_shell_secret";
|
||||
GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/shell/hooks";
|
||||
GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/home/hooks";
|
||||
RAILS_ENV = "production";
|
||||
};
|
||||
|
||||
@ -115,15 +130,15 @@ let
|
||||
|
||||
gitlab-rake = pkgs.stdenv.mkDerivation rec {
|
||||
name = "gitlab-rake";
|
||||
buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.env pkgs.makeWrapper ];
|
||||
buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.ruby-env pkgs.makeWrapper ];
|
||||
phases = "installPhase fixupPhase";
|
||||
buildPhase = "";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
makeWrapper ${cfg.packages.gitlab.env}/bin/bundle $out/bin/gitlab-bundle \
|
||||
makeWrapper ${cfg.packages.gitlab.ruby-env}/bin/bundle $out/bin/gitlab-bundle \
|
||||
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
|
||||
--set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
|
||||
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip config.services.postgresql.package ]}:$PATH' \
|
||||
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package ]}:$PATH' \
|
||||
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
|
||||
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
|
||||
makeWrapper $out/bin/gitlab-bundle $out/bin/gitlab-rake \
|
||||
@ -182,6 +197,13 @@ in {
|
||||
description = "Reference to the gitlab-workhorse package";
|
||||
};
|
||||
|
||||
packages.gitaly = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.gitaly;
|
||||
defaultText = "pkgs.gitaly";
|
||||
description = "Reference to the gitaly package";
|
||||
};
|
||||
|
||||
statePath = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/gitlab/state";
|
||||
@ -359,6 +381,19 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
secrets.jws = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
The secret is used to encrypt session keys. If you change or lose
|
||||
this key, users will be disconnected.
|
||||
|
||||
Make sure the secret is an RSA private key in PEM format. You can
|
||||
generate one with
|
||||
|
||||
openssl genrsa 2048openssl genpkey -algorithm RSA -out - -pkeyopt rsa_keygen_bits:2048
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
@ -428,7 +463,24 @@ in {
|
||||
TimeoutSec = "300";
|
||||
Restart = "on-failure";
|
||||
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
|
||||
ExecStart="${cfg.packages.gitlab.env}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
|
||||
ExecStart="${cfg.packages.gitlab.ruby-env}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.gitaly = {
|
||||
after = [ "network.target" "gitlab.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment.HOME = gitlabEnv.HOME;
|
||||
path = with pkgs; [ gitAndTools.git ];
|
||||
serviceConfig = {
|
||||
#PermissionsStartOnly = true; # preStart must be run as root
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
TimeoutSec = "300";
|
||||
Restart = "on-failure";
|
||||
WorkingDirectory = gitlabEnv.HOME;
|
||||
ExecStart = "${cfg.packages.gitaly}/bin/gitaly ${gitalyToml}";
|
||||
};
|
||||
};
|
||||
|
||||
@ -477,6 +529,7 @@ in {
|
||||
gitAndTools.git
|
||||
openssh
|
||||
nodejs
|
||||
procps
|
||||
];
|
||||
preStart = ''
|
||||
mkdir -p ${cfg.backupPath}
|
||||
@ -486,12 +539,11 @@ in {
|
||||
mkdir -p ${gitlabConfig.production.shared.path}/lfs-objects
|
||||
mkdir -p ${gitlabConfig.production.shared.path}/pages
|
||||
mkdir -p ${cfg.statePath}/log
|
||||
mkdir -p ${cfg.statePath}/shell
|
||||
mkdir -p ${cfg.statePath}/tmp/pids
|
||||
mkdir -p ${cfg.statePath}/tmp/sockets
|
||||
|
||||
rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
|
||||
mkdir -p ${cfg.statePath}/config ${cfg.statePath}/shell
|
||||
rm -rf ${cfg.statePath}/config ${cfg.statePath}/home/hooks
|
||||
mkdir -p ${cfg.statePath}/config
|
||||
|
||||
tr -dc A-Za-z0-9 < /dev/urandom | head -c 32 > ${cfg.statePath}/config/gitlab_shell_secret
|
||||
|
||||
@ -507,7 +559,6 @@ in {
|
||||
mkdir -p ${gitlabEnv.HOME}/.ssh
|
||||
touch ${gitlabEnv.HOME}/.ssh/authorized_keys
|
||||
chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
|
||||
chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}/
|
||||
|
||||
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
|
||||
${optionalString cfg.smtp.enable ''
|
||||
@ -532,14 +583,14 @@ in {
|
||||
|
||||
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
|
||||
if ! test -e "${cfg.statePath}/db-created"; then
|
||||
psql postgres -c "CREATE ROLE ${cfg.databaseUsername} WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
|
||||
${config.services.postgresql.package}/bin/createdb --owner ${cfg.databaseUsername} ${cfg.databaseName} || true
|
||||
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "CREATE ROLE ${cfg.databaseUsername} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${cfg.databasePassword}'"
|
||||
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} ${config.services.postgresql.package}/bin/createdb --owner ${cfg.databaseUsername} ${cfg.databaseName}
|
||||
touch "${cfg.statePath}/db-created"
|
||||
fi
|
||||
fi
|
||||
|
||||
# enable required pg_trgm extension for gitlab
|
||||
psql gitlab -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
|
||||
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql gitlab -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
|
||||
# Always do the db migrations just to be sure the database is up-to-date
|
||||
${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production
|
||||
|
||||
@ -555,7 +606,8 @@ in {
|
||||
# Change permissions in the last step because some of the
|
||||
# intermediary scripts like to create directories as root.
|
||||
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}
|
||||
chmod -R u+rwX,go-rwx+X ${cfg.statePath}
|
||||
chmod -R ug+rwX,o-rwx+X ${cfg.statePath}
|
||||
chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
@ -566,7 +618,7 @@ in {
|
||||
TimeoutSec = "300";
|
||||
Restart = "on-failure";
|
||||
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
|
||||
ExecStart = "${cfg.packages.gitlab.env}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
|
||||
ExecStart = "${cfg.packages.gitlab.ruby-env}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -57,7 +57,7 @@ in {
|
||||
after = [ "network.target" ];
|
||||
description = "Deluge BitTorrent WebUI";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.pythonPackages.deluge ];
|
||||
path = [ pkgs.deluge ];
|
||||
serviceConfig.ExecStart = "${pkgs.deluge}/bin/deluge --ui web";
|
||||
serviceConfig.User = "deluge";
|
||||
serviceConfig.Group = "deluge";
|
||||
|
@ -60,10 +60,7 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.hicolor_icon_theme
|
||||
pkgs.mate.mate-icon-theme
|
||||
] ++
|
||||
environment.systemPackages =
|
||||
pkgs.mate.basePackages ++
|
||||
(removePackagesByName
|
||||
pkgs.mate.extraPackages
|
||||
|
@ -12,6 +12,9 @@ import warnings
|
||||
import ctypes
|
||||
libc = ctypes.CDLL("libc.so.6")
|
||||
import re
|
||||
import datetime
|
||||
import glob
|
||||
import os.path
|
||||
|
||||
def copy_if_not_exists(source, dest):
|
||||
if not os.path.exists(dest):
|
||||
@ -24,7 +27,7 @@ def system_dir(profile, generation):
|
||||
return "/nix/var/nix/profiles/system-%d-link" % (generation)
|
||||
|
||||
BOOT_ENTRY = """title NixOS{profile}
|
||||
version Generation {generation}
|
||||
version Generation {generation} {description}
|
||||
linux {kernel}
|
||||
initrd {initrd}
|
||||
options {kernel_params}
|
||||
@ -54,6 +57,26 @@ def copy_from_profile(profile, generation, name, dry_run=False):
|
||||
copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path))
|
||||
return efi_file_path
|
||||
|
||||
def describe_generation(generation_dir):
|
||||
try:
|
||||
with open("%s/nixos-version" % generation_dir) as f:
|
||||
nixos_version = f.read()
|
||||
except IOError:
|
||||
nixos_version = "Unknown"
|
||||
|
||||
kernel_dir = os.path.dirname(os.path.realpath("%s/kernel" % generation_dir))
|
||||
module_dir = glob.glob("%s/lib/modules/*" % kernel_dir)[0]
|
||||
kernel_version = os.path.basename(module_dir)
|
||||
|
||||
build_time = int(os.path.getctime(generation_dir))
|
||||
build_date = datetime.datetime.fromtimestamp(build_time).strftime('%F')
|
||||
|
||||
description = "NixOS {}, Linux Kernel {}, Built on {}".format(
|
||||
nixos_version, kernel_version, build_date
|
||||
)
|
||||
|
||||
return description
|
||||
|
||||
def write_entry(profile, generation, machine_id):
|
||||
kernel = copy_from_profile(profile, generation, "kernel")
|
||||
initrd = copy_from_profile(profile, generation, "initrd")
|
||||
@ -69,6 +92,7 @@ def write_entry(profile, generation, machine_id):
|
||||
generation_dir = os.readlink(system_dir(profile, generation))
|
||||
tmp_path = "%s.tmp" % (entry_file)
|
||||
kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir)
|
||||
|
||||
with open("%s/kernel-params" % (generation_dir)) as params_file:
|
||||
kernel_params = kernel_params + params_file.read()
|
||||
with open(tmp_path, 'w') as f:
|
||||
@ -76,7 +100,8 @@ def write_entry(profile, generation, machine_id):
|
||||
generation=generation,
|
||||
kernel=kernel,
|
||||
initrd=initrd,
|
||||
kernel_params=kernel_params))
|
||||
kernel_params=kernel_params,
|
||||
description=describe_generation(generation_dir)))
|
||||
if machine_id is not None:
|
||||
f.write("machine-id %s\n" % machine_id)
|
||||
os.rename(tmp_path, entry_file)
|
||||
|
32
nixos/tests/hydra.nix
Normal file
32
nixos/tests/hydra.nix
Normal file
@ -0,0 +1,32 @@
|
||||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
name = "hydra-init-localdb";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ pstn ];
|
||||
};
|
||||
|
||||
machine =
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.hydra = {
|
||||
enable = true;
|
||||
|
||||
#Hydra needs those settings to start up, so we add something not harmfull.
|
||||
hydraURL = "example.com";
|
||||
notificationSender = "example@example.com";
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
# let the system boot up
|
||||
$machine->waitForUnit("multi-user.target");
|
||||
# test whether the database is running
|
||||
$machine->succeed("systemctl status postgresql.service");
|
||||
# test whether the actual hydra daemons are running
|
||||
$machine->succeed("systemctl status hydra-queue-runner.service");
|
||||
$machine->succeed("systemctl status hydra-init.service");
|
||||
$machine->succeed("systemctl status hydra-evaluator.service");
|
||||
$machine->succeed("systemctl status hydra-send-stats.service");
|
||||
'';
|
||||
})
|
@ -1,8 +1,9 @@
|
||||
{
|
||||
alsaLib,
|
||||
boost,
|
||||
cln,
|
||||
cmake,
|
||||
fetchgit,
|
||||
fetchFromGitHub,
|
||||
gcc,
|
||||
ginac,
|
||||
jamomacore,
|
||||
@ -10,9 +11,13 @@
|
||||
libsndfile,
|
||||
ninja,
|
||||
portaudio,
|
||||
portmidi,
|
||||
qtbase,
|
||||
qtdeclarative,
|
||||
qtimageformats,
|
||||
qtmultimedia,
|
||||
qtquickcontrols2,
|
||||
qtserialport,
|
||||
qtsvg,
|
||||
qttools,
|
||||
qtwebsockets,
|
||||
@ -21,18 +26,19 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.0.0-a67";
|
||||
version = "1.0.0-b31";
|
||||
name = "i-score-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/OSSIA/i-score.git";
|
||||
rev = "ede2453b139346ae46702b5e2643c5488f8c89fb";
|
||||
sha256 = "0cl9vdmxkshdacgpp7s2rg40b7xbsjrzw916jds9i3rpq1pcy5pj";
|
||||
leaveDotGit = true;
|
||||
deepClone = true;
|
||||
src = fetchFromGitHub {
|
||||
owner = "OSSIA";
|
||||
repo = "i-score";
|
||||
rev = "v${version}";
|
||||
sha256 = "0g7s6n11w3wflrv5i2047dxx56lryms7xj0mznnlk5bii7g8dxzb";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
alsaLib
|
||||
boost
|
||||
cln
|
||||
cmake
|
||||
@ -43,9 +49,13 @@ stdenv.mkDerivation rec {
|
||||
libsndfile
|
||||
ninja
|
||||
portaudio
|
||||
portmidi
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtimageformats
|
||||
qtmultimedia
|
||||
qtquickcontrols2
|
||||
qtserialport
|
||||
qtsvg
|
||||
qttools
|
||||
qtwebsockets
|
||||
@ -59,17 +69,11 @@ stdenv.mkDerivation rec {
|
||||
"-DISCORE_BUILD_FOR_PACKAGE_MANAGER=True"
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
sed -e '77d' -i CMake/modules/GetGitRevisionDescription.cmake
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cmake --build . --target install
|
||||
'';
|
||||
postInstall = ''rm $out/bin/i-score.sh'';
|
||||
|
||||
meta = {
|
||||
description = "An interactive sequencer for the intermedia arts";
|
||||
|
@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
buildInputs = [ scons pkgconfig libsamplerate libsndfile liblo libjack2 boost ];
|
||||
NIX_CFLAGS_COMPILE = "-fpermissive";
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p $out
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
|
||||
, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit, gcc6
|
||||
, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit
|
||||
, qt4 ? null
|
||||
, withQt5 ? false, qtbase
|
||||
}:
|
||||
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
buildInputs = [
|
||||
pam libxcb glib libXdmcp itstool libxml2 libxklavier libgcrypt
|
||||
qt4 libaudit gcc6
|
||||
qt4 libaudit
|
||||
] ++ optional withQt5 qtbase;
|
||||
|
||||
configureFlags = [
|
||||
|
@ -27,9 +27,9 @@ in rec {
|
||||
|
||||
preview = mkStudio rec {
|
||||
pname = "android-studio-preview";
|
||||
version = "3.0.0.10"; # "Android Studio 3.0 Beta 2"
|
||||
build = "171.4263559";
|
||||
sha256Hash = "0bya69qa50s6dbvlzb198b5w6ixs21y6b56v3v1xjb3kndf9y44w";
|
||||
version = "3.0.0.12"; # "Android Studio 3.0 Beta 4"
|
||||
build = "171.4304935";
|
||||
sha256Hash = "127ys250m1gdglj5y2qzxl73kh5qb4zlwyf79as7765mmcfcikn5";
|
||||
|
||||
meta = stable.meta // {
|
||||
description = "The Official IDE for Android (preview version)";
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, libjpeg, mesa, freeglut, zlib, cmake, libX11, libxml2, libpng,
|
||||
libXxf86vm, gcc6 }:
|
||||
libXxf86vm }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "freepv-0.3.0";
|
||||
@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
buildInputs = [ libjpeg mesa freeglut zlib cmake libX11 libxml2 libpng
|
||||
libXxf86vm gcc6 ];
|
||||
libXxf86vm ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/GECKO/d' CMakeLists.txt
|
||||
|
@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
|
||||
name = "lensfun-0.3.patch";
|
||||
sha256 = "0ys45x4r4bjjlx0zpd5d56rgjz7k8gxili4r4k8zx3zfka4a3zwv";
|
||||
})
|
||||
./gcc6.patch
|
||||
];
|
||||
|
||||
postPatch = '' # kinda icky
|
||||
|
13
pkgs/applications/graphics/photivo/gcc6.patch
Normal file
13
pkgs/applications/graphics/photivo/gcc6.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git c/Sources/ptImage.cpp i/Sources/ptImage.cpp
|
||||
index 9c95093..623c157 100755
|
||||
--- c/Sources/ptImage.cpp
|
||||
+++ i/Sources/ptImage.cpp
|
||||
@@ -5291,7 +5291,7 @@ ptImage* ptImage::Box(const uint16_t MaxRadius, float* Mask) {
|
||||
NewRow = NewRow < 0? -NewRow : NewRow > Height1? Height1_2-NewRow : NewRow ;
|
||||
NewRow *= m_Width;
|
||||
for(j = -IntRadius; j <= IntRadius; j++) {
|
||||
- if (Dist[abs(i)][abs(j)] < Radius) {
|
||||
+ if (Dist[int16_t(abs(i))][int16_t(abs(j))] < Radius) {
|
||||
NewCol = Col+j;
|
||||
NewCol = NewCol < 0? -NewCol : NewCol > Width1? Width1_2-NewCol : NewCol ;
|
||||
|
@ -9,10 +9,13 @@ stdenv.mkDerivation {
|
||||
sha256 = "1qvqzgzb0dzq82fa1ffs6hyij655rajnfwkljk1y0mnkygnha1xv";
|
||||
};
|
||||
|
||||
patches = fetchurl {
|
||||
url = http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_0.7.3-3.diff.gz;
|
||||
sha256 = "0cp4jz3sg9g86vprh90pmwpcfla79f0dr50w14yh01k0yaq70fs8";
|
||||
};
|
||||
patches = [
|
||||
(fetchurl {
|
||||
url = http://ftp.de.debian.org/debian/pool/main/j/jigdo/jigdo_0.7.3-4.diff.gz;
|
||||
sha256 = "03zsh57fijciiv23lf55k6fbfhhzm866xjhx83x54v5s1g2h6m8y";
|
||||
})
|
||||
./sizewidth.patch
|
||||
];
|
||||
|
||||
buildInputs = [ db gtk2 bzip2 ];
|
||||
|
||||
|
40
pkgs/applications/misc/jigdo/sizewidth.patch
Normal file
40
pkgs/applications/misc/jigdo/sizewidth.patch
Normal file
@ -0,0 +1,40 @@
|
||||
diff --git i/src/mkimage.cc w/src/mkimage.cc
|
||||
index 02e65b1..b263796 100755
|
||||
--- i/src/mkimage.cc
|
||||
+++ w/src/mkimage.cc
|
||||
@@ -285,27 +285,27 @@ bostream& JigdoDescVec::put(bostream& file, MD5Sum* md) const {
|
||||
//______________________________________________________________________
|
||||
|
||||
namespace {
|
||||
- const int SIZE_WIDTH = 12;
|
||||
+ const int MKIMAGE_SIZE_WIDTH = 12;
|
||||
}
|
||||
|
||||
ostream& JigdoDesc::ImageInfo::put(ostream& s) const {
|
||||
- s << "image-info " << setw(SIZE_WIDTH) << size() << " "
|
||||
+ s << "image-info " << setw(MKIMAGE_SIZE_WIDTH) << size() << " "
|
||||
<< md5() << ' ' << blockLength() << '\n';
|
||||
return s;
|
||||
}
|
||||
ostream& JigdoDesc::UnmatchedData::put(ostream& s) const {
|
||||
- s << "in-template " << setw(SIZE_WIDTH) << offset() << ' '
|
||||
- << setw(SIZE_WIDTH) << size() << '\n';
|
||||
+ s << "in-template " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
|
||||
+ << setw(MKIMAGE_SIZE_WIDTH) << size() << '\n';
|
||||
return s;
|
||||
}
|
||||
ostream& JigdoDesc::MatchedFile::put(ostream& s) const {
|
||||
- s << "need-file " << setw(SIZE_WIDTH) << offset() << ' '
|
||||
- << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
|
||||
+ s << "need-file " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
|
||||
+ << setw(MKIMAGE_SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
|
||||
return s;
|
||||
}
|
||||
ostream& JigdoDesc::WrittenFile::put(ostream& s) const {
|
||||
- s << "have-file " << setw(SIZE_WIDTH) << offset() << ' '
|
||||
- << setw(SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
|
||||
+ s << "have-file " << setw(MKIMAGE_SIZE_WIDTH) << offset() << ' '
|
||||
+ << setw(MKIMAGE_SIZE_WIDTH) << size() << ' ' << md5() << ' ' << rsync() << '\n';
|
||||
return s;
|
||||
}
|
||||
|
66
pkgs/applications/misc/kupfer/default.nix
Normal file
66
pkgs/applications/misc/kupfer/default.nix
Normal file
@ -0,0 +1,66 @@
|
||||
{ stdenv
|
||||
, makeWrapper
|
||||
, fetchurl
|
||||
, intltool
|
||||
, python3Packages
|
||||
, gtk3
|
||||
, dbus
|
||||
, libwnck3
|
||||
, keybinder3
|
||||
, hicolor_icon_theme
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
with python3Packages;
|
||||
|
||||
buildPythonApplication rec {
|
||||
name = "kupfer-${version}";
|
||||
version = "319";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/kupferlauncher/kupfer/releases/download/v${version}/kupfer-v${version}.tar.xz";
|
||||
sha256 = "0c9xjx13r8ckfr4az116bhxsd3pk78v04c3lz6lqhraak0rp4d92";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook intltool ];
|
||||
buildInputs = [ hicolor_icon_theme docutils libwnck3 keybinder3 ];
|
||||
propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
python ./waf configure --prefix=$prefix
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
python ./waf
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = let
|
||||
pythonPath = (stdenv.lib.concatMapStringsSep ":"
|
||||
(m: "${m}/lib/${python.libPrefix}/site-packages")
|
||||
propagatedBuildInputs);
|
||||
in ''
|
||||
runHook preInstall
|
||||
python ./waf install
|
||||
|
||||
gappsWrapperArgs+=(
|
||||
"--prefix" "PYTHONPATH" : "${pythonPath}"
|
||||
"--set" "PYTHONNOUSERSITE" "1"
|
||||
)
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = false; # no tests
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A smart, quick launcher";
|
||||
homepage = "https://kupferlauncher.github.io/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ cobbal ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -4,7 +4,7 @@
|
||||
AC_PREREQ([2.53])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_SRCDIR(src/ekiga.cpp)
|
||||
-AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar])
|
||||
+AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar subdir-objects])
|
||||
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
AC_CONFIG_HEADERS([config.h])
|
@ -1,31 +0,0 @@
|
||||
--- a/m4/ax_boost_base.m4
|
||||
+++ b/m4/ax_boost_base.m4
|
||||
@@ -33,7 +33,7 @@
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
-#serial 20
|
||||
+#serial 22
|
||||
|
||||
AC_DEFUN([AX_BOOST_BASE],
|
||||
[
|
||||
@@ -91,9 +91,17 @@ if test "x$want_boost" = "xyes"; then
|
||||
dnl are found, e.g. when only header-only libraries are installed!
|
||||
libsubdirs="lib"
|
||||
ax_arch=`uname -m`
|
||||
- if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then
|
||||
+ case $ax_arch in
|
||||
+ x86_64|ppc64|s390x|sparc64|aarch64)
|
||||
libsubdirs="lib64 lib lib64"
|
||||
- fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+
|
||||
+ dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give
|
||||
+ dnl them priority over the other paths since, if libs are found there, they
|
||||
+ dnl are almost assuredly the ones desired.
|
||||
+ AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
+ libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs"
|
||||
|
||||
dnl first we check the system location for boost libraries
|
||||
dnl this location ist chosen if boost libraries are installed with the --layout=system option
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, glib, fetchurl, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
|
||||
{ stdenv, glib, fetchurl, fetchpatch, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
|
||||
, perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook
|
||||
, libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
|
||||
, pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme
|
||||
@ -34,7 +34,17 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [ ./autofoo.patch ./boost.patch ];
|
||||
patches = [
|
||||
(fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/autofoo.patch;
|
||||
sha256 = "1vyagslws4mm9yfz1m5p1kv9sxmk5lls9vxpm6j72q2ahsgydzx4";
|
||||
})
|
||||
(fetchpatch { url = https://sources.debian.net/data/main/e/ekiga/4.0.1-7/debian/patches/boost.patch;
|
||||
sha256 = "01k0rw8ibrrf9zn9lx6dzbrgy58w089hqxqxqdv9whb65cldlj5s";
|
||||
})
|
||||
(fetchpatch { url = https://src.fedoraproject.org/rpms/ekiga/raw/dbf5f5ba449d22bd79f0394cddb7d4d8a88ec6ac/f/ekiga-4.0.1-libresolv.patch;
|
||||
sha256 = "18wc68im8422ibpa0gkrkgjq41m7hikaha3xqmjs2km45i1cwcaz";
|
||||
})
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out"/bin/ekiga \
|
||||
@ -45,7 +55,6 @@ stdenv.mkDerivation rec {
|
||||
description = "VOIP/Videoconferencing app with full SIP and H.323 support";
|
||||
maintainers = [ maintainers.raskin ];
|
||||
platforms = platforms.linux;
|
||||
broken = true; # because of glibc-2.25
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -20,11 +20,11 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mutt-${version}";
|
||||
version = "1.8.3";
|
||||
version = "1.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz";
|
||||
sha256 = "0hpd896mw630sd6ps60hpka8cg691nvr627n8kmabv7zcxnp90cv";
|
||||
sha256 = "1m72z5schbagd0a00fv8q0nrnkz9zrgvmdb5yplnmwm1sfapavgc";
|
||||
};
|
||||
|
||||
patchPhase = optionalString (openssl != null) ''
|
||||
|
@ -6,7 +6,7 @@ stdenv.mkDerivation rec
|
||||
{ name = "iv-19";
|
||||
src = fetchurl
|
||||
{ url = "http://www.neuron.yale.edu/ftp/neuron/versions/v${neuron-version}/${name}.tar.gz";
|
||||
sha256 = "1q22vjngvn3m61mjxynkik7pxvsgc9a0ym46qpa84hmz1v86mdrw";
|
||||
sha256 = "07a3g8zzay4h0bls7fh89dd0phn7s34c2g15pij6dsnwpmjg06yx";
|
||||
};
|
||||
nativeBuildInputs = [ patchelf ];
|
||||
buildInputs = [ libXext ];
|
||||
|
@ -14,14 +14,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "neuron-${version}";
|
||||
version = "7.4";
|
||||
version = "7.5";
|
||||
|
||||
nativeBuildInputs = [ which pkgconfig automake autoconf libtool ];
|
||||
buildInputs = [ ncurses readline python mpi iv ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.neuron.yale.edu/ftp/neuron/versions/v${version}/nrn-${version}.tar.gz";
|
||||
sha256 = "1rid8cmv5mca0vqkgwahm0prkwkbdvchgw2bdwvx4adkn8bbl0ql";
|
||||
sha256 = "0f26v3qvzblcdjg7isq0m9j2q8q7x3vhmkfllv8lsr3gyj44lljf";
|
||||
};
|
||||
|
||||
patches = (stdenv.lib.optional (stdenv.isDarwin) [ ./neuron-carbon-disable.patch ]);
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "iverilog-${version}";
|
||||
version = "2016.05.21";
|
||||
version = "2017.08.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "steveicarus";
|
||||
repo = "iverilog";
|
||||
rev = "45fbf558065c0fdac9aa088ecd34e9bf49e81305";
|
||||
sha256 = "137p7gkmp5kwih93i2a3lcf36a6k38j7fxglvw9y59w0233vj452";
|
||||
rev = "ac87138c44cd6089046668c59a328b4d14c16ddc";
|
||||
sha256 = "1npv0533h0h2wxrxkgiaxqiasw2p4kj2vv5bd69w5xld227xcwpg";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A high-performance theorem prover and SMT solver";
|
||||
homepage = "http://yices.csl.sri.com";
|
||||
license = licenses.unfreeRedistributable;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = [ maintainers.thoughtpolice ];
|
||||
};
|
||||
|
@ -1,46 +0,0 @@
|
||||
{ stdenv, fetchFromGitHub, python2 }:
|
||||
|
||||
# Copied shamelessly from the normal z3 .nix
|
||||
|
||||
let
|
||||
python = python2;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "z3_opt-${version}";
|
||||
version = "4.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Z3Prover";
|
||||
repo = "z3";
|
||||
rev = "9377779e5818b2ca15c4f39921b2ba3a42f948e7";
|
||||
sha256 = "15d6hsb61hrm5vy3l2gnkrfnqr68lvspnznm17vyhm61ld33yaff";
|
||||
};
|
||||
|
||||
buildInputs = [ python ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configurePhase = "${python.interpreter} scripts/mk_make.py --prefix=$out && cd build";
|
||||
|
||||
# z3's install phase is stupid because it tries to calculate the
|
||||
# python package store location itself, meaning it'll attempt to
|
||||
# write files into the nix store, and fail.
|
||||
soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/${python.sitePackages} $out/include
|
||||
cp ../src/api/z3*.h $out/include
|
||||
cp ../src/api/c++/z3*.h $out/include
|
||||
cp z3 $out/bin
|
||||
cp libz3${soext} $out/lib
|
||||
cp libz3${soext} $out/${python.sitePackages}
|
||||
cp z3*.pyc $out/${python.sitePackages}
|
||||
cp ../src/api/python/*.py $out/${python.sitePackages}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A high-performance theorem prover and SMT solver, optimization edition";
|
||||
homepage = "https://github.com/Z3Prover/z3";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice sheganinans ];
|
||||
};
|
||||
}
|
||||
|
31
pkgs/applications/version-management/gitaly/default.nix
Normal file
31
pkgs/applications/version-management/gitaly/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, fetchFromGitLab, git, go }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.21.2";
|
||||
name = "gitaly-${version}";
|
||||
|
||||
srcs = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
sha256 = "025r6vcra2bjm6xggcgnsqgkpvd7y2w73ff6lxrn06lbr4dfbfrf";
|
||||
};
|
||||
|
||||
buildInputs = [ git go ];
|
||||
|
||||
buildPhase = ''
|
||||
make PREFIX=$out
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
make install PREFIX=$out
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.gitlab.com/;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ roblabla ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
@ -1,23 +1,24 @@
|
||||
{ stdenv, ruby, bundler, fetchFromGitLab }:
|
||||
{ stdenv, ruby, bundler, fetchFromGitLab, go }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.1.1";
|
||||
version = "5.3.1";
|
||||
name = "gitlab-shell-${version}";
|
||||
|
||||
srcs = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-shell";
|
||||
rev = "v${version}";
|
||||
sha256 = "1i7dqs0csqcjwkvg8csz5f1zxy1inrzxzz3g9j618aldqxzjfgnr";
|
||||
sha256 = "1w5j66qq9kzcjzz9hhd2zdmvffzk9986m8nprfy5q4k9kglph53q";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
ruby bundler
|
||||
ruby bundler go
|
||||
];
|
||||
|
||||
patches = [ ./remove-hardcoded-locations.patch ];
|
||||
patches = [ ./remove-hardcoded-locations.patch ./fixes.patch ];
|
||||
|
||||
installPhase = ''
|
||||
ruby bin/compile
|
||||
mkdir -p $out/
|
||||
cp -R . $out/
|
||||
|
||||
@ -49,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||
#
|
||||
# TODO: Are there any security implications? The commit adding
|
||||
# unsetenv_others didn't mention anything...
|
||||
#
|
||||
#
|
||||
# Kernel::exec({'PATH' => ENV['PATH'], 'LD_LIBRARY_PATH' => ENV['LD_LIBRARY_PATH'], 'GL_ID' => ENV['GL_ID']}, *args, unsetenv_others: true)
|
||||
substituteInPlace lib/gitlab_shell.rb --replace\
|
||||
" *args, unsetenv_others: true)"\
|
||||
|
@ -0,0 +1,17 @@
|
||||
diff --git a/support/go_build.rb b/support/go_build.rb
|
||||
index 82f94d2..40ba35e 100644
|
||||
--- a/support/go_build.rb
|
||||
+++ b/support/go_build.rb
|
||||
@@ -25,9 +25,8 @@ module GoBuild
|
||||
def run!(env, cmd)
|
||||
raise "env must be a hash" unless env.is_a?(Hash)
|
||||
raise "cmd must be an array" unless cmd.is_a?(Array)
|
||||
-
|
||||
- if !system(env, *cmd)
|
||||
- abort "command failed: #{env.inspect} #{cmd.join(' ')}"
|
||||
- end
|
||||
+ puts "Starting #{env.inspect} #{cmd.join(' ')}"
|
||||
+ Process::wait(Process::spawn(env, *cmd))
|
||||
+ abort "command failed: #{env.inspect} #{cmd.join(' ')}" unless $?.exitstatus == 0
|
||||
end
|
||||
end
|
@ -1,9 +1,9 @@
|
||||
diff --git a/lib/gitlab_projects.rb b/lib/gitlab_projects.rb
|
||||
index c1d175a..7f7fd2f 100644
|
||||
index 0b11ce3..ffc3faf 100644
|
||||
--- a/lib/gitlab_projects.rb
|
||||
+++ b/lib/gitlab_projects.rb
|
||||
@@ -5,7 +5,7 @@ require_relative 'gitlab_config'
|
||||
require_relative 'gitlab_logger'
|
||||
@@ -8,7 +8,7 @@ require_relative 'gitlab_metrics'
|
||||
require_relative 'gitlab_reference_counter'
|
||||
|
||||
class GitlabProjects
|
||||
- GLOBAL_HOOKS_DIRECTORY = File.join(ROOT_PATH, 'hooks')
|
||||
@ -11,3 +11,17 @@ index c1d175a..7f7fd2f 100644
|
||||
|
||||
# Project name is a directory name for repository with .git at the end
|
||||
# It may be namespaced or not. Like repo.git or gitlab/repo.git
|
||||
diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
|
||||
index e7d0254..181ec8a 100644
|
||||
--- a/lib/gitlab_shell.rb
|
||||
+++ b/lib/gitlab_shell.rb
|
||||
@@ -163,7 +163,8 @@ class GitlabShell
|
||||
end
|
||||
|
||||
# We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
|
||||
- Kernel::exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH)
|
||||
+ # Except we don't, because we're already in the right directory on nixos !
|
||||
+ Kernel::exec(env, *args, unsetenv_others: true)
|
||||
end
|
||||
|
||||
def api
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchFromGitLab, git, go }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.3.0";
|
||||
version = "2.3.0";
|
||||
name = "gitlab-workhorse-${version}";
|
||||
|
||||
srcs = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-workhorse";
|
||||
rev = "v${version}";
|
||||
sha256 = "06pxnb675c5fwk7rv6fjh0cwbdylrdbjcyf8b0pins8jl0ix0szy";
|
||||
sha256 = "07b82kjfm8r3ql55ifl0zbifnnsbvng4zlzjpbsb7lisg26s97w8";
|
||||
};
|
||||
|
||||
buildInputs = [ git go ];
|
||||
|
@ -1,6 +1,6 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'rails', '4.2.7.1'
|
||||
gem 'rails', '4.2.8'
|
||||
gem 'rails-deprecated_sanitizer', '~> 1.0.3'
|
||||
|
||||
# Responders respond_to and respond_with
|
||||
@ -15,27 +15,31 @@ gem 'default_value_for', '~> 3.0.0'
|
||||
gem 'mysql2', '~> 0.3.16', group: :mysql
|
||||
gem 'pg', '~> 0.18.2', group: :postgres
|
||||
|
||||
gem 'rugged', '~> 0.24.0'
|
||||
gem 'rugged', '~> 0.25.1.1'
|
||||
|
||||
gem 'faraday', '~> 0.12'
|
||||
|
||||
# Authentication libraries
|
||||
gem 'devise', '~> 4.2'
|
||||
gem 'doorkeeper', '~> 4.2.0'
|
||||
gem 'omniauth', '~> 1.3.2'
|
||||
gem 'omniauth-auth0', '~> 1.4.1'
|
||||
gem 'omniauth-azure-oauth2', '~> 0.0.6'
|
||||
gem 'omniauth-cas3', '~> 1.1.2'
|
||||
gem 'omniauth-facebook', '~> 4.0.0'
|
||||
gem 'omniauth-github', '~> 1.1.1'
|
||||
gem 'omniauth-gitlab', '~> 1.0.2'
|
||||
gem 'devise', '~> 4.2'
|
||||
gem 'doorkeeper', '~> 4.2.0'
|
||||
gem 'doorkeeper-openid_connect', '~> 1.1.0'
|
||||
gem 'omniauth', '~> 1.4.2'
|
||||
gem 'omniauth-auth0', '~> 1.4.1'
|
||||
gem 'omniauth-azure-oauth2', '~> 0.0.6'
|
||||
gem 'omniauth-cas3', '~> 1.1.2'
|
||||
gem 'omniauth-facebook', '~> 4.0.0'
|
||||
gem 'omniauth-github', '~> 1.1.1'
|
||||
gem 'omniauth-gitlab', '~> 1.0.2'
|
||||
gem 'omniauth-google-oauth2', '~> 0.4.1'
|
||||
gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
|
||||
gem 'omniauth-saml', '~> 1.7.0'
|
||||
gem 'omniauth-shibboleth', '~> 1.2.0'
|
||||
gem 'omniauth-twitter', '~> 1.2.0'
|
||||
gem 'omniauth_crowd', '~> 2.2.0'
|
||||
gem 'omniauth-authentiq', '~> 0.2.0'
|
||||
gem 'rack-oauth2', '~> 1.2.1'
|
||||
gem 'jwt', '~> 1.5.6'
|
||||
gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
|
||||
gem 'omniauth-oauth2-generic', '~> 0.2.2'
|
||||
gem 'omniauth-saml', '~> 1.7.0'
|
||||
gem 'omniauth-shibboleth', '~> 1.2.0'
|
||||
gem 'omniauth-twitter', '~> 1.2.0'
|
||||
gem 'omniauth_crowd', '~> 2.2.0'
|
||||
gem 'omniauth-authentiq', '~> 0.3.0'
|
||||
gem 'rack-oauth2', '~> 1.2.1'
|
||||
gem 'jwt', '~> 1.5.6'
|
||||
|
||||
# Spam and anti-bot protection
|
||||
gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails'
|
||||
@ -56,20 +60,24 @@ gem 'browser', '~> 2.2'
|
||||
# LDAP Auth
|
||||
# GitLab fork with several improvements to original library. For full list of changes
|
||||
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
|
||||
gem 'gitlab_omniauth-ldap', '~> 1.2.1', require: 'omniauth-ldap'
|
||||
gem 'gitlab_omniauth-ldap', '~> 2.0.2', require: 'omniauth-ldap'
|
||||
gem 'net-ldap'
|
||||
|
||||
# Git Wiki
|
||||
# Required manually in config/initializers/gollum.rb to control load order
|
||||
gem 'gollum-lib', '~> 4.2', require: false
|
||||
gem 'gollum-rugged_adapter', '~> 0.4.2', require: false
|
||||
gem 'gollum-rugged_adapter', '~> 0.4.4', require: false
|
||||
|
||||
# Language detection
|
||||
gem 'github-linguist', '~> 4.7.0', require: 'linguist'
|
||||
|
||||
# API
|
||||
gem 'grape', '~> 0.18.0'
|
||||
gem 'grape', '~> 0.19.0'
|
||||
gem 'grape-entity', '~> 0.6.0'
|
||||
gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
|
||||
gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
|
||||
|
||||
# Disable strong_params so that Mash does not respond to :permitted?
|
||||
gem 'hashie-forbidden_attributes'
|
||||
|
||||
# Pagination
|
||||
gem 'kaminari', '~> 0.17.0'
|
||||
@ -78,18 +86,19 @@ gem 'kaminari', '~> 0.17.0'
|
||||
gem 'hamlit', '~> 2.6.1'
|
||||
|
||||
# Files attachments
|
||||
gem 'carrierwave', '~> 0.10.0'
|
||||
gem 'carrierwave', '~> 1.1'
|
||||
|
||||
# Drag and Drop UI
|
||||
gem 'dropzonejs-rails', '~> 0.7.1'
|
||||
|
||||
# for backups
|
||||
gem 'fog-aws', '~> 0.9'
|
||||
gem 'fog-core', '~> 1.40'
|
||||
gem 'fog-core', '~> 1.44'
|
||||
gem 'fog-google', '~> 0.5'
|
||||
gem 'fog-local', '~> 0.3'
|
||||
gem 'fog-openstack', '~> 0.1'
|
||||
gem 'fog-rackspace', '~> 0.1.1'
|
||||
gem 'fog-aliyun', '~> 0.1.0'
|
||||
|
||||
# for Google storage
|
||||
gem 'google-api-client', '~> 0.8.6'
|
||||
@ -101,23 +110,24 @@ gem 'unf', '~> 0.1.4'
|
||||
gem 'seed-fu', '~> 2.3.5'
|
||||
|
||||
# Markdown and HTML processing
|
||||
gem 'html-pipeline', '~> 1.11.0'
|
||||
gem 'deckar01-task_list', '1.0.6', require: 'task_list/railtie'
|
||||
gem 'gitlab-markup', '~> 1.5.1'
|
||||
gem 'redcarpet', '~> 3.3.3'
|
||||
gem 'RedCloth', '~> 4.3.2'
|
||||
gem 'rdoc', '~> 4.2'
|
||||
gem 'org-ruby', '~> 0.9.12'
|
||||
gem 'creole', '~> 0.5.0'
|
||||
gem 'wikicloth', '0.8.1'
|
||||
gem 'asciidoctor', '~> 1.5.2'
|
||||
gem 'html-pipeline', '~> 1.11.0'
|
||||
gem 'deckar01-task_list', '2.0.0'
|
||||
gem 'gitlab-markup', '~> 1.5.1'
|
||||
gem 'redcarpet', '~> 3.4'
|
||||
gem 'RedCloth', '~> 4.3.2'
|
||||
gem 'rdoc', '~> 4.2'
|
||||
gem 'org-ruby', '~> 0.9.12'
|
||||
gem 'creole', '~> 0.5.0'
|
||||
gem 'wikicloth', '0.8.1'
|
||||
gem 'asciidoctor', '~> 1.5.2'
|
||||
gem 'asciidoctor-plantuml', '0.0.7'
|
||||
gem 'rouge', '~> 2.0'
|
||||
gem 'truncato', '~> 0.7.8'
|
||||
gem 'rouge', '~> 2.0'
|
||||
gem 'truncato', '~> 0.7.8'
|
||||
gem 'bootstrap_form', '~> 2.7.0'
|
||||
|
||||
# See https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
|
||||
# and https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
|
||||
gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2', '< 1.6.8'
|
||||
gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2'
|
||||
|
||||
# Diffs
|
||||
gem 'diffy', '~> 3.1.0'
|
||||
@ -137,20 +147,26 @@ gem 'after_commit_queue', '~> 1.3.0'
|
||||
gem 'acts-as-taggable-on', '~> 4.0'
|
||||
|
||||
# Background jobs
|
||||
gem 'sidekiq', '~> 4.2.7'
|
||||
gem 'sidekiq-cron', '~> 0.4.4'
|
||||
gem 'sidekiq', '~> 5.0'
|
||||
gem 'sidekiq-cron', '~> 0.6.0'
|
||||
gem 'redis-namespace', '~> 1.5.2'
|
||||
gem 'sidekiq-limit_fetch', '~> 3.4'
|
||||
|
||||
# Cron Parser
|
||||
gem 'rufus-scheduler', '~> 3.4'
|
||||
|
||||
# HTTP requests
|
||||
gem 'httparty', '~> 0.13.3'
|
||||
|
||||
# Colored output to console
|
||||
gem 'rainbow', '~> 2.1.0'
|
||||
gem 'rainbow', '~> 2.2'
|
||||
|
||||
# GitLab settings
|
||||
gem 'settingslogic', '~> 2.0.9'
|
||||
|
||||
# Linear-time regex library for untrusted regular expressions
|
||||
gem 're2', '~> 1.0.0'
|
||||
|
||||
# Misc
|
||||
|
||||
gem 'version_sorter', '~> 2.1.0'
|
||||
@ -178,7 +194,7 @@ gem 'gemnasium-gitlab-service', '~> 0.2'
|
||||
gem 'slack-notifier', '~> 1.5.1'
|
||||
|
||||
# Asana integration
|
||||
gem 'asana', '~> 0.4.0'
|
||||
gem 'asana', '~> 0.6.0'
|
||||
|
||||
# FogBugz integration
|
||||
gem 'ruby-fogbugz', '~> 0.2.1'
|
||||
@ -200,7 +216,7 @@ gem 'babosa', '~> 1.0.2'
|
||||
gem 'loofah', '~> 2.0.3'
|
||||
|
||||
# Working with license
|
||||
gem 'licensee', '~> 8.0.0'
|
||||
gem 'licensee', '~> 8.7.0'
|
||||
|
||||
# Protect against bruteforcing
|
||||
gem 'rack-attack', '~> 4.4.1'
|
||||
@ -221,50 +237,69 @@ gem 'oj', '~> 2.17.4'
|
||||
gem 'chronic', '~> 0.10.2'
|
||||
gem 'chronic_duration', '~> 0.10.6'
|
||||
|
||||
gem 'webpack-rails', '~> 0.9.9'
|
||||
gem 'webpack-rails', '~> 0.9.10'
|
||||
gem 'rack-proxy', '~> 0.6.0'
|
||||
|
||||
gem 'sass-rails', '~> 5.0.6'
|
||||
gem 'coffee-rails', '~> 4.1.0'
|
||||
gem 'uglifier', '~> 2.7.2'
|
||||
|
||||
gem 'addressable', '~> 2.3.8'
|
||||
gem 'bootstrap-sass', '~> 3.3.0'
|
||||
gem 'font-awesome-rails', '~> 4.6.1'
|
||||
gem 'gemojione', '~> 3.0'
|
||||
gem 'gon', '~> 6.1.0'
|
||||
gem 'addressable', '~> 2.3.8'
|
||||
gem 'bootstrap-sass', '~> 3.3.0'
|
||||
gem 'font-awesome-rails', '~> 4.7'
|
||||
gem 'gemojione', '~> 3.0'
|
||||
gem 'gon', '~> 6.1.0'
|
||||
gem 'jquery-atwho-rails', '~> 1.3.2'
|
||||
gem 'jquery-rails', '~> 4.1.0'
|
||||
gem 'jquery-ui-rails', '~> 5.0.0'
|
||||
gem 'request_store', '~> 1.3'
|
||||
gem 'select2-rails', '~> 3.5.9'
|
||||
gem 'virtus', '~> 1.0.1'
|
||||
gem 'net-ssh', '~> 3.0.1'
|
||||
gem 'base32', '~> 0.3.0'
|
||||
gem 'jquery-rails', '~> 4.1.0'
|
||||
gem 'request_store', '~> 1.3'
|
||||
gem 'select2-rails', '~> 3.5.9'
|
||||
gem 'virtus', '~> 1.0.1'
|
||||
gem 'net-ssh', '~> 3.0.1'
|
||||
gem 'base32', '~> 0.3.0'
|
||||
|
||||
# Sentry integration
|
||||
gem 'sentry-raven', '~> 2.0.0'
|
||||
gem 'sentry-raven', '~> 2.5.3'
|
||||
|
||||
gem 'premailer-rails', '~> 1.9.0'
|
||||
gem 'premailer-rails', '~> 1.9.7'
|
||||
|
||||
# I18n
|
||||
gem 'ruby_parser', '~> 3.8', require: false
|
||||
gem 'rails-i18n', '~> 4.0.9'
|
||||
gem 'gettext_i18n_rails', '~> 1.8.0'
|
||||
gem 'gettext_i18n_rails_js', '~> 1.2.0'
|
||||
gem 'gettext', '~> 3.2.2', require: false, group: :development
|
||||
|
||||
# Perf bar
|
||||
gem 'peek', '~> 1.0.1'
|
||||
gem 'peek-gc', '~> 0.0.2'
|
||||
gem 'peek-host', '~> 1.0.0'
|
||||
gem 'peek-mysql2', '~> 1.1.0', group: :mysql
|
||||
gem 'peek-performance_bar', '~> 1.2.1'
|
||||
gem 'peek-pg', '~> 1.3.0', group: :postgres
|
||||
gem 'peek-rblineprof', '~> 0.2.0'
|
||||
gem 'peek-redis', '~> 1.2.0'
|
||||
gem 'peek-sidekiq', '~> 1.0.3'
|
||||
|
||||
# Metrics
|
||||
group :metrics do
|
||||
gem 'allocations', '~> 1.0', require: false, platform: :mri
|
||||
gem 'method_source', '~> 0.8', require: false
|
||||
gem 'influxdb', '~> 0.2', require: false
|
||||
|
||||
# Prometheus
|
||||
gem 'prometheus-client-mmap', '~>0.7.0.beta11'
|
||||
gem 'raindrops', '~> 0.18'
|
||||
end
|
||||
|
||||
group :development do
|
||||
gem 'foreman', '~> 0.78.0'
|
||||
gem 'brakeman', '~> 3.4.0', require: false
|
||||
gem 'brakeman', '~> 3.6.0', require: false
|
||||
|
||||
gem 'letter_opener_web', '~> 1.3.0'
|
||||
gem 'bullet', '~> 5.2.0', require: false
|
||||
gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
|
||||
gem 'web-console', '~> 2.0'
|
||||
|
||||
# Better errors handler
|
||||
gem 'better_errors', '~> 1.0.1'
|
||||
gem 'better_errors', '~> 2.1.0'
|
||||
gem 'binding_of_caller', '~> 0.7.2'
|
||||
|
||||
# thin instead webrick
|
||||
@ -272,19 +307,21 @@ group :development do
|
||||
end
|
||||
|
||||
group :development, :test do
|
||||
gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
|
||||
gem 'pry-byebug', '~> 3.4.1', platform: :mri
|
||||
gem 'pry-rails', '~> 0.3.4'
|
||||
|
||||
gem 'awesome_print', '~> 1.2.0', require: false
|
||||
gem 'fuubar', '~> 2.0.0'
|
||||
|
||||
gem 'database_cleaner', '~> 1.5.0'
|
||||
gem 'database_cleaner', '~> 1.5.0'
|
||||
gem 'factory_girl_rails', '~> 4.7.0'
|
||||
gem 'rspec-rails', '~> 3.5.0'
|
||||
gem 'rspec-retry', '~> 0.4.5'
|
||||
gem 'spinach-rails', '~> 0.2.1'
|
||||
gem 'rspec-rails', '~> 3.5.0'
|
||||
gem 'rspec-retry', '~> 0.4.5'
|
||||
gem 'spinach-rails', '~> 0.2.1'
|
||||
gem 'spinach-rerun-reporter', '~> 0.0.2'
|
||||
gem 'rspec_profiling'
|
||||
gem 'rspec_profiling', '~> 0.0.5'
|
||||
gem 'rspec-set', '~> 0.1.3'
|
||||
|
||||
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
|
||||
gem 'minitest', '~> 5.7.0'
|
||||
@ -292,20 +329,20 @@ group :development, :test do
|
||||
# Generate Fake data
|
||||
gem 'ffaker', '~> 2.4'
|
||||
|
||||
gem 'capybara', '~> 2.6.2'
|
||||
gem 'capybara', '~> 2.6.2'
|
||||
gem 'capybara-screenshot', '~> 1.0.0'
|
||||
gem 'poltergeist', '~> 1.9.0'
|
||||
gem 'poltergeist', '~> 1.9.0'
|
||||
|
||||
gem 'spring', '~> 1.7.0'
|
||||
gem 'spring-commands-rspec', '~> 1.0.4'
|
||||
gem 'spring-commands-spinach', '~> 1.1.0'
|
||||
gem 'spring', '~> 2.0.0'
|
||||
gem 'spring-commands-rspec', '~> 1.0.4'
|
||||
gem 'spring-commands-spinach', '~> 1.1.0'
|
||||
|
||||
gem 'rubocop', '~> 0.46.0', require: false
|
||||
gem 'rubocop-rspec', '~> 1.9.1', require: false
|
||||
gem 'rubocop', '~> 0.47.1', require: false
|
||||
gem 'rubocop-rspec', '~> 1.15.0', require: false
|
||||
gem 'scss_lint', '~> 0.47.0', require: false
|
||||
gem 'haml_lint', '~> 0.18.2', require: false
|
||||
gem 'simplecov', '0.12.0', require: false
|
||||
gem 'flay', '~> 2.6.1', require: false
|
||||
gem 'haml_lint', '~> 0.21.0', require: false
|
||||
gem 'simplecov', '~> 0.14.0', require: false
|
||||
gem 'flay', '~> 2.8.0', require: false
|
||||
gem 'bundler-audit', '~> 0.5.0', require: false
|
||||
|
||||
gem 'benchmark-ips', '~> 2.3.0', require: false
|
||||
@ -322,17 +359,16 @@ group :test do
|
||||
gem 'shoulda-matchers', '~> 2.8.0', require: false
|
||||
gem 'email_spec', '~> 1.6.0'
|
||||
gem 'json-schema', '~> 2.6.2'
|
||||
gem 'webmock', '~> 1.21.0'
|
||||
gem 'webmock', '~> 2.3.2'
|
||||
gem 'test_after_commit', '~> 1.1'
|
||||
gem 'sham_rack', '~> 1.3.6'
|
||||
gem 'timecop', '~> 0.8.0'
|
||||
gem 'concurrent-ruby', '~> 1.0.5'
|
||||
end
|
||||
|
||||
gem 'newrelic_rpm', '~> 3.16'
|
||||
|
||||
gem 'octokit', '~> 4.6.2'
|
||||
|
||||
gem 'mail_room', '~> 0.9.0'
|
||||
gem 'mail_room', '~> 0.9.1'
|
||||
|
||||
gem 'email_reply_trimmer', '~> 0.1'
|
||||
gem 'html2text'
|
||||
@ -340,16 +376,25 @@ gem 'html2text'
|
||||
gem 'ruby-prof', '~> 0.16.2'
|
||||
|
||||
# OAuth
|
||||
gem 'oauth2', '~> 1.2.0'
|
||||
gem 'oauth2', '~> 1.4'
|
||||
|
||||
# Soft deletion
|
||||
gem 'paranoia', '~> 2.2'
|
||||
gem 'paranoia', '~> 2.3.1'
|
||||
|
||||
# Health check
|
||||
gem 'health_check', '~> 2.2.0'
|
||||
gem 'health_check', '~> 2.6.0'
|
||||
|
||||
# System information
|
||||
gem 'vmstat', '~> 2.3.0'
|
||||
gem 'sys-filesystem', '~> 1.1.6'
|
||||
|
||||
gem "activerecord-nulldb-adapter"
|
||||
# Gitaly GRPC client
|
||||
gem 'gitaly', '~> 0.14.0'
|
||||
|
||||
gem 'toml-rb', '~> 0.3.15', require: false
|
||||
|
||||
# Feature toggles
|
||||
gem 'flipper', '~> 0.10.2'
|
||||
gem 'flipper-active_record', '~> 0.10.2'
|
||||
|
||||
gem 'activerecord-nulldb-adapter'
|
||||
|
@ -2,43 +2,42 @@ GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
RedCloth (4.3.2)
|
||||
ace-rails-ap (4.1.0)
|
||||
actionmailer (4.2.7.1)
|
||||
actionpack (= 4.2.7.1)
|
||||
actionview (= 4.2.7.1)
|
||||
activejob (= 4.2.7.1)
|
||||
ace-rails-ap (4.1.2)
|
||||
actionmailer (4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activejob (= 4.2.8)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
actionpack (4.2.7.1)
|
||||
actionview (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
actionpack (4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
rack (~> 1.6)
|
||||
rack-test (~> 0.6.2)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
actionview (4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
actionview (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
builder (~> 3.1)
|
||||
erubis (~> 2.7.0)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
activejob (4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
activejob (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
globalid (>= 0.3.0)
|
||||
activemodel (4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
activemodel (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
builder (~> 3.1)
|
||||
activerecord (4.2.7.1)
|
||||
activemodel (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
activerecord (4.2.8)
|
||||
activemodel (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
arel (~> 6.0)
|
||||
activerecord-nulldb-adapter (0.3.3)
|
||||
activerecord-nulldb-adapter (0.3.7)
|
||||
activerecord (>= 2.0.0)
|
||||
activerecord_sane_schema_dumper (0.2)
|
||||
rails (>= 4, < 5)
|
||||
activesupport (4.2.7.1)
|
||||
activesupport (4.2.8)
|
||||
i18n (~> 0.7)
|
||||
json (~> 1.7, >= 1.7.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
@ -49,8 +48,8 @@ GEM
|
||||
activerecord (>= 3.0)
|
||||
akismet (2.0.0)
|
||||
allocations (1.0.5)
|
||||
arel (6.0.3)
|
||||
asana (0.4.0)
|
||||
arel (6.0.4)
|
||||
asana (0.6.0)
|
||||
faraday (~> 0.9)
|
||||
faraday_middleware (~> 0.9)
|
||||
faraday_middleware-multi_json (~> 0.0)
|
||||
@ -59,6 +58,7 @@ GEM
|
||||
asciidoctor-plantuml (0.0.7)
|
||||
asciidoctor (~> 1.5)
|
||||
ast (2.3.0)
|
||||
atomic (1.1.99)
|
||||
attr_encrypted (3.0.3)
|
||||
encryptor (~> 3.0.0)
|
||||
attr_required (1.0.0)
|
||||
@ -78,18 +78,21 @@ GEM
|
||||
base32 (0.3.2)
|
||||
bcrypt (3.1.11)
|
||||
benchmark-ips (2.3.0)
|
||||
better_errors (1.0.1)
|
||||
better_errors (2.1.1)
|
||||
coderay (>= 1.0.0)
|
||||
erubis (>= 2.6.6)
|
||||
rack (>= 0.9.0)
|
||||
bindata (2.3.5)
|
||||
binding_of_caller (0.7.2)
|
||||
debug_inspector (>= 0.0.1)
|
||||
bootstrap-sass (3.3.6)
|
||||
autoprefixer-rails (>= 5.2.1)
|
||||
sass (>= 3.3.4)
|
||||
brakeman (3.4.1)
|
||||
bootstrap_form (2.7.0)
|
||||
brakeman (3.6.1)
|
||||
browser (2.2.0)
|
||||
builder (3.2.2)
|
||||
bullet (5.2.0)
|
||||
builder (3.2.3)
|
||||
bullet (5.5.1)
|
||||
activesupport (>= 3.0.0)
|
||||
uniform_notifier (~> 1.10.0)
|
||||
bundler-audit (0.5.0)
|
||||
@ -103,13 +106,12 @@ GEM
|
||||
rack (>= 1.0.0)
|
||||
rack-test (>= 0.5.4)
|
||||
xpath (~> 2.0)
|
||||
capybara-screenshot (1.0.11)
|
||||
capybara-screenshot (1.0.14)
|
||||
capybara (>= 1.0, < 3)
|
||||
launchy
|
||||
carrierwave (0.10.0)
|
||||
activemodel (>= 3.2.0)
|
||||
activesupport (>= 3.2.0)
|
||||
json (>= 1.7)
|
||||
carrierwave (1.1.0)
|
||||
activemodel (>= 4.0.0)
|
||||
activesupport (>= 4.0.0)
|
||||
mime-types (>= 1.16)
|
||||
cause (0.1)
|
||||
charlock_holmes (0.7.3)
|
||||
@ -117,8 +119,9 @@ GEM
|
||||
chronic_duration (0.10.6)
|
||||
numerizer (~> 0.1.1)
|
||||
chunky_png (1.3.5)
|
||||
citrus (3.0.2)
|
||||
cliver (0.3.2)
|
||||
coderay (1.1.0)
|
||||
coderay (1.1.1)
|
||||
coercible (1.0.0)
|
||||
descendants_tracker (~> 0.0.1)
|
||||
coffee-rails (4.1.1)
|
||||
@ -129,12 +132,14 @@ GEM
|
||||
execjs
|
||||
coffee-script-source (1.10.0)
|
||||
colorize (0.7.7)
|
||||
concurrent-ruby (1.0.2)
|
||||
concurrent-ruby (1.0.5)
|
||||
concurrent-ruby-ext (1.0.5)
|
||||
concurrent-ruby (= 1.0.5)
|
||||
connection_pool (2.2.1)
|
||||
crack (0.4.3)
|
||||
safe_yaml (~> 1.0.0)
|
||||
creole (0.5.0)
|
||||
css_parser (1.4.1)
|
||||
css_parser (1.5.0)
|
||||
addressable
|
||||
d3_rails (3.5.11)
|
||||
railties (>= 3.1.0)
|
||||
@ -142,10 +147,8 @@ GEM
|
||||
database_cleaner (1.5.3)
|
||||
debug_inspector (0.0.2)
|
||||
debugger-ruby_core_source (1.3.8)
|
||||
deckar01-task_list (1.0.6)
|
||||
activesupport (~> 4.0)
|
||||
deckar01-task_list (2.0.0)
|
||||
html-pipeline
|
||||
rack (~> 1.0)
|
||||
default_value_for (3.0.2)
|
||||
activerecord (>= 3.2.0, < 5.1)
|
||||
descendants_tracker (0.0.4)
|
||||
@ -169,6 +172,9 @@ GEM
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
doorkeeper (4.2.0)
|
||||
railties (>= 4.2)
|
||||
doorkeeper-openid_connect (1.1.2)
|
||||
doorkeeper (~> 4.0)
|
||||
json-jwt (~> 1.6)
|
||||
dropzonejs-rails (0.7.2)
|
||||
rails (> 3.1)
|
||||
email_reply_trimmer (0.1.6)
|
||||
@ -179,8 +185,10 @@ GEM
|
||||
equalizer (0.0.11)
|
||||
erubis (2.7.0)
|
||||
escape_utils (1.1.1)
|
||||
et-orbi (1.0.3)
|
||||
tzinfo
|
||||
eventmachine (1.0.8)
|
||||
excon (0.52.0)
|
||||
excon (0.55.0)
|
||||
execjs (2.6.0)
|
||||
expression_parser (0.9.0)
|
||||
extlib (0.9.16)
|
||||
@ -189,27 +197,39 @@ GEM
|
||||
factory_girl_rails (4.7.0)
|
||||
factory_girl (~> 4.7.0)
|
||||
railties (>= 3.0.0)
|
||||
faraday (0.9.2)
|
||||
faraday (0.12.1)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
faraday_middleware (0.10.0)
|
||||
faraday (>= 0.7.4, < 0.10)
|
||||
faraday_middleware (0.11.0.1)
|
||||
faraday (>= 0.7.4, < 1.0)
|
||||
faraday_middleware-multi_json (0.0.6)
|
||||
faraday_middleware
|
||||
multi_json
|
||||
fast_gettext (1.4.0)
|
||||
ffaker (2.4.0)
|
||||
ffi (1.9.10)
|
||||
flay (2.6.1)
|
||||
flay (2.8.1)
|
||||
erubis (~> 2.7.0)
|
||||
path_expander (~> 1.0)
|
||||
ruby_parser (~> 3.0)
|
||||
sexp_processor (~> 4.0)
|
||||
flipper (0.10.2)
|
||||
flipper-active_record (0.10.2)
|
||||
activerecord (>= 3.2, < 6)
|
||||
flipper (~> 0.10.2)
|
||||
flowdock (0.7.1)
|
||||
httparty (~> 0.7)
|
||||
multi_json
|
||||
fog-aws (0.11.0)
|
||||
fog-aliyun (0.1.0)
|
||||
fog-core (~> 1.27)
|
||||
fog-json (~> 1.0)
|
||||
ipaddress (~> 0.8)
|
||||
xml-simple (~> 1.1)
|
||||
fog-aws (0.13.0)
|
||||
fog-core (~> 1.38)
|
||||
fog-json (~> 1.0)
|
||||
fog-xml (~> 0.1)
|
||||
ipaddress (~> 0.8)
|
||||
fog-core (1.42.0)
|
||||
fog-core (1.44.1)
|
||||
builder
|
||||
excon (~> 0.49)
|
||||
formatador (~> 0.2)
|
||||
@ -231,10 +251,10 @@ GEM
|
||||
fog-json (>= 1.0)
|
||||
fog-xml (>= 0.1)
|
||||
ipaddress (>= 0.8)
|
||||
fog-xml (0.1.2)
|
||||
fog-xml (0.1.3)
|
||||
fog-core
|
||||
nokogiri (~> 1.5, >= 1.5.11)
|
||||
font-awesome-rails (4.6.1.0)
|
||||
nokogiri (>= 1.5.11, < 2.0.0)
|
||||
font-awesome-rails (4.7.0.1)
|
||||
railties (>= 3.2, < 5.1)
|
||||
foreman (0.78.0)
|
||||
thor (~> 0.19.1)
|
||||
@ -247,7 +267,20 @@ GEM
|
||||
gemojione (3.0.1)
|
||||
json
|
||||
get_process_mem (0.2.0)
|
||||
gettext (3.2.2)
|
||||
locale (>= 2.0.5)
|
||||
text (>= 1.3.0)
|
||||
gettext_i18n_rails (1.8.0)
|
||||
fast_gettext (>= 0.9.0)
|
||||
gettext_i18n_rails_js (1.2.0)
|
||||
gettext (>= 3.0.2)
|
||||
gettext_i18n_rails (>= 0.7.1)
|
||||
po_to_json (>= 1.0.0)
|
||||
rails (>= 3.2.0)
|
||||
gherkin-ruby (0.3.2)
|
||||
gitaly (0.14.0)
|
||||
google-protobuf (~> 3.1)
|
||||
grpc (~> 1.0)
|
||||
github-linguist (4.7.6)
|
||||
charlock_holmes (~> 0.7.3)
|
||||
escape_utils (~> 1.1.0)
|
||||
@ -264,11 +297,11 @@ GEM
|
||||
mime-types (>= 1.16, < 3)
|
||||
posix-spawn (~> 0.3)
|
||||
gitlab-markup (1.5.1)
|
||||
gitlab_omniauth-ldap (1.2.1)
|
||||
net-ldap (~> 0.9)
|
||||
omniauth (~> 1.0)
|
||||
pyu-ruby-sasl (~> 0.0.3.1)
|
||||
rubyntlm (~> 0.3)
|
||||
gitlab_omniauth-ldap (2.0.2)
|
||||
net-ldap (~> 0.16)
|
||||
omniauth (~> 1.3)
|
||||
pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
|
||||
rubyntlm (~> 0.5)
|
||||
globalid (0.3.7)
|
||||
activesupport (>= 4.1.0)
|
||||
gollum-grit_adapter (1.0.1)
|
||||
@ -280,9 +313,9 @@ GEM
|
||||
rouge (~> 2.0)
|
||||
sanitize (~> 2.1.0)
|
||||
stringex (~> 2.5.1)
|
||||
gollum-rugged_adapter (0.4.2)
|
||||
gollum-rugged_adapter (0.4.4)
|
||||
mime-types (>= 1.15)
|
||||
rugged (~> 0.24.0, >= 0.21.3)
|
||||
rugged (~> 0.25)
|
||||
gon (6.1.0)
|
||||
actionpack (>= 3.0)
|
||||
json
|
||||
@ -299,6 +332,7 @@ GEM
|
||||
multi_json (~> 1.10)
|
||||
retriable (~> 1.4)
|
||||
signet (~> 0.6)
|
||||
google-protobuf (3.2.0.2)
|
||||
googleauth (0.5.1)
|
||||
faraday (~> 0.9)
|
||||
jwt (~> 1.4)
|
||||
@ -307,7 +341,7 @@ GEM
|
||||
multi_json (~> 1.11)
|
||||
os (~> 0.9)
|
||||
signet (~> 0.7)
|
||||
grape (0.18.0)
|
||||
grape (0.19.1)
|
||||
activesupport
|
||||
builder
|
||||
hashie (>= 2.1.0)
|
||||
@ -320,19 +354,25 @@ GEM
|
||||
grape-entity (0.6.0)
|
||||
activesupport
|
||||
multi_json (>= 1.3.2)
|
||||
grpc (1.4.0)
|
||||
google-protobuf (~> 3.1)
|
||||
googleauth (~> 0.5.1)
|
||||
haml (4.0.7)
|
||||
tilt
|
||||
haml_lint (0.18.2)
|
||||
haml_lint (0.21.0)
|
||||
haml (~> 4.0)
|
||||
rake (>= 10, < 12)
|
||||
rubocop (>= 0.36.0)
|
||||
rake (>= 10, < 13)
|
||||
rubocop (>= 0.47.0)
|
||||
sysexits (~> 1.1)
|
||||
hamlit (2.6.1)
|
||||
temple (~> 0.7.6)
|
||||
thor
|
||||
tilt
|
||||
hashie (3.4.4)
|
||||
health_check (2.2.1)
|
||||
hashdiff (0.3.4)
|
||||
hashie (3.5.5)
|
||||
hashie-forbidden_attributes (0.1.1)
|
||||
hashie (>= 3.0)
|
||||
health_check (2.6.0)
|
||||
rails (>= 4.0)
|
||||
hipchat (1.5.2)
|
||||
httparty
|
||||
@ -356,8 +396,8 @@ GEM
|
||||
json (~> 1.8)
|
||||
multi_xml (>= 0.5.2)
|
||||
httpclient (2.8.2)
|
||||
i18n (0.7.0)
|
||||
ice_nine (0.11.1)
|
||||
i18n (0.8.1)
|
||||
ice_nine (0.11.2)
|
||||
influxdb (0.2.3)
|
||||
cause
|
||||
json
|
||||
@ -370,9 +410,13 @@ GEM
|
||||
rails-dom-testing (>= 1, < 3)
|
||||
railties (>= 4.2.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
jquery-ui-rails (5.0.5)
|
||||
railties (>= 3.2.16)
|
||||
json (1.8.3)
|
||||
json (1.8.6)
|
||||
json-jwt (1.7.1)
|
||||
activesupport
|
||||
bindata
|
||||
multi_json (>= 1.3)
|
||||
securecompare
|
||||
url_safe_base64
|
||||
json-schema (2.6.2)
|
||||
addressable (~> 2.3.8)
|
||||
jwt (1.5.6)
|
||||
@ -401,56 +445,56 @@ GEM
|
||||
rubyzip
|
||||
thor
|
||||
xml-simple
|
||||
licensee (8.0.0)
|
||||
rugged (>= 0.24b)
|
||||
licensee (8.7.0)
|
||||
rugged (~> 0.24)
|
||||
little-plugger (1.1.4)
|
||||
logging (2.1.0)
|
||||
locale (2.1.2)
|
||||
logging (2.2.2)
|
||||
little-plugger (~> 1.1)
|
||||
multi_json (~> 1.10)
|
||||
loofah (2.0.3)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.6.4)
|
||||
mail (2.6.5)
|
||||
mime-types (>= 1.16, < 4)
|
||||
mail_room (0.9.0)
|
||||
mail_room (0.9.1)
|
||||
memoist (0.15.0)
|
||||
method_source (0.8.2)
|
||||
mime-types (2.99.3)
|
||||
mimemagic (0.3.0)
|
||||
mini_portile2 (2.1.0)
|
||||
minitest (5.7.0)
|
||||
mmap2 (2.2.7)
|
||||
mousetrap-rails (1.4.6)
|
||||
multi_json (1.12.1)
|
||||
multi_xml (0.5.5)
|
||||
multi_xml (0.6.0)
|
||||
multipart-post (2.0.0)
|
||||
mustermann (0.4.0)
|
||||
tool (~> 0.2)
|
||||
mustermann-grape (0.4.0)
|
||||
mustermann (= 0.4.0)
|
||||
mysql2 (0.3.20)
|
||||
net-ldap (0.12.1)
|
||||
net-ldap (0.16.0)
|
||||
net-ssh (3.0.1)
|
||||
netrc (0.11.0)
|
||||
newrelic_rpm (3.16.0.318)
|
||||
nokogiri (1.6.7.2)
|
||||
nokogiri (1.6.8.1)
|
||||
mini_portile2 (~> 2.1.0)
|
||||
pkg-config (~> 1.1.7)
|
||||
numerizer (0.1.1)
|
||||
oauth (0.5.1)
|
||||
oauth2 (1.2.0)
|
||||
faraday (>= 0.8, < 0.10)
|
||||
oauth2 (1.4.0)
|
||||
faraday (>= 0.8, < 0.13)
|
||||
jwt (~> 1.0)
|
||||
multi_json (~> 1.3)
|
||||
multi_xml (~> 0.5)
|
||||
rack (>= 1.2, < 3)
|
||||
octokit (4.6.2)
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
oj (2.17.4)
|
||||
omniauth (1.3.2)
|
||||
oj (2.17.5)
|
||||
omniauth (1.4.2)
|
||||
hashie (>= 1.2, < 4)
|
||||
rack (>= 1.0, < 3)
|
||||
omniauth-auth0 (1.4.1)
|
||||
omniauth-oauth2 (~> 1.1)
|
||||
omniauth-authentiq (0.2.2)
|
||||
omniauth-authentiq (0.3.0)
|
||||
omniauth-oauth2 (~> 1.3, >= 1.3.1)
|
||||
omniauth-azure-oauth2 (0.0.6)
|
||||
jwt (~> 1.0)
|
||||
@ -469,11 +513,10 @@ GEM
|
||||
omniauth (~> 1.0)
|
||||
omniauth-oauth2 (~> 1.0)
|
||||
omniauth-google-oauth2 (0.4.1)
|
||||
addressable (~> 2.3)
|
||||
jwt (~> 1.0)
|
||||
jwt (~> 1.5.2)
|
||||
multi_json (~> 1.3)
|
||||
omniauth (>= 1.1.1)
|
||||
omniauth-oauth2 (~> 1.3.1)
|
||||
omniauth-oauth2 (>= 1.3.1)
|
||||
omniauth-kerberos (0.3.0)
|
||||
omniauth-multipassword
|
||||
timfel-krb5-auth (~> 0.8)
|
||||
@ -485,6 +528,8 @@ GEM
|
||||
omniauth-oauth2 (1.3.1)
|
||||
oauth2 (~> 1.0)
|
||||
omniauth (~> 1.2)
|
||||
omniauth-oauth2-generic (0.2.2)
|
||||
omniauth-oauth2 (~> 1.0)
|
||||
omniauth-saml (1.7.0)
|
||||
omniauth (~> 1.3)
|
||||
ruby-saml (~> 1.4)
|
||||
@ -501,12 +546,44 @@ GEM
|
||||
rubypants (~> 0.2)
|
||||
orm_adapter (0.5.0)
|
||||
os (0.9.6)
|
||||
paranoia (2.2.0)
|
||||
activerecord (>= 4.0, < 5.1)
|
||||
parser (2.3.1.4)
|
||||
paranoia (2.3.1)
|
||||
activerecord (>= 4.0, < 5.2)
|
||||
parser (2.4.0.0)
|
||||
ast (~> 2.2)
|
||||
path_expander (1.0.1)
|
||||
peek (1.0.1)
|
||||
concurrent-ruby (>= 0.9.0)
|
||||
concurrent-ruby-ext (>= 0.9.0)
|
||||
railties (>= 4.0.0)
|
||||
peek-gc (0.0.2)
|
||||
peek
|
||||
peek-host (1.0.0)
|
||||
peek
|
||||
peek-mysql2 (1.1.0)
|
||||
atomic (>= 1.0.0)
|
||||
mysql2
|
||||
peek
|
||||
peek-performance_bar (1.2.1)
|
||||
peek (>= 0.1.0)
|
||||
peek-pg (1.3.0)
|
||||
concurrent-ruby
|
||||
concurrent-ruby-ext
|
||||
peek
|
||||
pg
|
||||
peek-rblineprof (0.2.0)
|
||||
peek
|
||||
rblineprof
|
||||
peek-redis (1.2.0)
|
||||
atomic (>= 1.0.0)
|
||||
peek
|
||||
redis
|
||||
peek-sidekiq (1.0.3)
|
||||
atomic (>= 1.0.0)
|
||||
peek
|
||||
sidekiq
|
||||
pg (0.18.4)
|
||||
pkg-config (1.1.7)
|
||||
po_to_json (1.0.1)
|
||||
json (>= 1.6.0)
|
||||
poltergeist (1.9.0)
|
||||
capybara (~> 2.1)
|
||||
cliver (~> 0.3.1)
|
||||
@ -514,20 +591,23 @@ GEM
|
||||
websocket-driver (>= 0.2.0)
|
||||
posix-spawn (0.3.11)
|
||||
powerpack (0.1.1)
|
||||
premailer (1.8.6)
|
||||
css_parser (>= 1.3.6)
|
||||
premailer (1.10.4)
|
||||
addressable
|
||||
css_parser (>= 1.4.10)
|
||||
htmlentities (>= 4.0.0)
|
||||
premailer-rails (1.9.2)
|
||||
premailer-rails (1.9.7)
|
||||
actionmailer (>= 3, < 6)
|
||||
premailer (~> 1.7, >= 1.7.9)
|
||||
pry (0.10.3)
|
||||
prometheus-client-mmap (0.7.0.beta11)
|
||||
mmap2 (~> 2.2, >= 2.2.7)
|
||||
pry (0.10.4)
|
||||
coderay (~> 1.1.0)
|
||||
method_source (~> 0.8.1)
|
||||
slop (~> 3.4)
|
||||
pry-byebug (3.4.1)
|
||||
pry-byebug (3.4.2)
|
||||
byebug (~> 9.0)
|
||||
pry (~> 0.10)
|
||||
pry-rails (0.3.4)
|
||||
pry-rails (0.3.5)
|
||||
pry (>= 0.9.10)
|
||||
pyu-ruby-sasl (0.0.3.3)
|
||||
rack (1.6.5)
|
||||
@ -548,42 +628,47 @@ GEM
|
||||
rack
|
||||
rack-test (0.6.3)
|
||||
rack (>= 1.0)
|
||||
rails (4.2.7.1)
|
||||
actionmailer (= 4.2.7.1)
|
||||
actionpack (= 4.2.7.1)
|
||||
actionview (= 4.2.7.1)
|
||||
activejob (= 4.2.7.1)
|
||||
activemodel (= 4.2.7.1)
|
||||
activerecord (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
rails (4.2.8)
|
||||
actionmailer (= 4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activejob (= 4.2.8)
|
||||
activemodel (= 4.2.8)
|
||||
activerecord (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
bundler (>= 1.3.0, < 2.0)
|
||||
railties (= 4.2.7.1)
|
||||
railties (= 4.2.8)
|
||||
sprockets-rails
|
||||
rails-deprecated_sanitizer (1.0.3)
|
||||
activesupport (>= 4.2.0.alpha)
|
||||
rails-dom-testing (1.0.7)
|
||||
rails-dom-testing (1.0.8)
|
||||
activesupport (>= 4.2.0.beta, < 5.0)
|
||||
nokogiri (~> 1.6.0)
|
||||
nokogiri (~> 1.6)
|
||||
rails-deprecated_sanitizer (>= 1.0.1)
|
||||
rails-html-sanitizer (1.0.3)
|
||||
loofah (~> 2.0)
|
||||
railties (4.2.7.1)
|
||||
actionpack (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
rails-i18n (4.0.9)
|
||||
i18n (~> 0.7)
|
||||
railties (~> 4.0)
|
||||
railties (4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
rainbow (2.1.0)
|
||||
raindrops (0.17.0)
|
||||
rainbow (2.2.2)
|
||||
rake
|
||||
raindrops (0.18.0)
|
||||
rake (10.5.0)
|
||||
rblineprof (0.3.6)
|
||||
debugger-ruby_core_source (~> 1.3)
|
||||
rdoc (4.2.2)
|
||||
json (~> 1.4)
|
||||
re2 (1.0.0)
|
||||
recaptcha (3.0.0)
|
||||
json
|
||||
recursive-open-struct (1.0.0)
|
||||
redcarpet (3.3.3)
|
||||
redis (3.2.2)
|
||||
redcarpet (3.4.0)
|
||||
redis (3.3.3)
|
||||
redis-actionpack (5.0.1)
|
||||
actionpack (>= 4.0, < 6)
|
||||
redis-rack (>= 1, < 3)
|
||||
@ -612,7 +697,7 @@ GEM
|
||||
retriable (1.4.1)
|
||||
rinku (2.0.0)
|
||||
rotp (2.1.2)
|
||||
rouge (2.0.7)
|
||||
rouge (2.1.0)
|
||||
rqrcode (0.7.0)
|
||||
chunky_png
|
||||
rqrcode-rails3 (0.1.7)
|
||||
@ -639,19 +724,20 @@ GEM
|
||||
rspec-support (~> 3.5.0)
|
||||
rspec-retry (0.4.5)
|
||||
rspec-core
|
||||
rspec-set (0.1.3)
|
||||
rspec-support (3.5.0)
|
||||
rspec_profiling (0.0.4)
|
||||
rspec_profiling (0.0.5)
|
||||
activerecord
|
||||
pg
|
||||
rails
|
||||
sqlite3
|
||||
rubocop (0.46.0)
|
||||
parser (>= 2.3.1.1, < 3.0)
|
||||
rubocop (0.47.1)
|
||||
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)
|
||||
rubocop-rspec (1.9.1)
|
||||
rubocop-rspec (1.15.0)
|
||||
rubocop (>= 0.42.0)
|
||||
ruby-fogbugz (0.2.1)
|
||||
crack (~> 0.4)
|
||||
@ -659,13 +745,14 @@ GEM
|
||||
ruby-progressbar (1.8.1)
|
||||
ruby-saml (1.4.1)
|
||||
nokogiri (>= 1.5.10)
|
||||
ruby_parser (3.8.2)
|
||||
ruby_parser (3.9.0)
|
||||
sexp_processor (~> 4.1)
|
||||
rubyntlm (0.5.2)
|
||||
rubyntlm (0.6.2)
|
||||
rubypants (0.2.0)
|
||||
rubyzip (1.2.1)
|
||||
rufus-scheduler (3.1.10)
|
||||
rugged (0.24.0)
|
||||
rufus-scheduler (3.4.0)
|
||||
et-orbi (~> 1.0)
|
||||
rugged (0.25.1.1)
|
||||
safe_yaml (1.0.4)
|
||||
sanitize (2.1.0)
|
||||
nokogiri (>= 1.4.4)
|
||||
@ -682,27 +769,27 @@ GEM
|
||||
scss_lint (0.47.1)
|
||||
rake (>= 0.9, < 11)
|
||||
sass (~> 3.4.15)
|
||||
securecompare (1.0.0)
|
||||
seed-fu (2.3.6)
|
||||
activerecord (>= 3.1)
|
||||
activesupport (>= 3.1)
|
||||
select2-rails (3.5.9.3)
|
||||
thor (~> 0.14)
|
||||
sentry-raven (2.0.2)
|
||||
faraday (>= 0.7.6, < 0.10.x)
|
||||
sentry-raven (2.5.3)
|
||||
faraday (>= 0.7.6, < 1.0)
|
||||
settingslogic (2.0.9)
|
||||
sexp_processor (4.7.0)
|
||||
sexp_processor (4.9.0)
|
||||
sham_rack (1.3.6)
|
||||
rack
|
||||
shoulda-matchers (2.8.0)
|
||||
activesupport (>= 3.0.0)
|
||||
sidekiq (4.2.7)
|
||||
sidekiq (5.0.0)
|
||||
concurrent-ruby (~> 1.0)
|
||||
connection_pool (~> 2.2, >= 2.2.0)
|
||||
rack-protection (>= 1.5.0)
|
||||
redis (~> 3.2, >= 3.2.1)
|
||||
sidekiq-cron (0.4.4)
|
||||
redis-namespace (>= 1.5.2)
|
||||
rufus-scheduler (>= 2.0.24)
|
||||
redis (~> 3.3, >= 3.3.3)
|
||||
sidekiq-cron (0.6.0)
|
||||
rufus-scheduler (>= 3.3.0)
|
||||
sidekiq (>= 4.2.1)
|
||||
sidekiq-limit_fetch (3.4.0)
|
||||
sidekiq (>= 4)
|
||||
@ -711,7 +798,7 @@ GEM
|
||||
faraday (~> 0.9)
|
||||
jwt (~> 1.5)
|
||||
multi_json (~> 1.10)
|
||||
simplecov (0.12.0)
|
||||
simplecov (0.14.1)
|
||||
docile (~> 1.1.0)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov-html (~> 0.10.0)
|
||||
@ -728,19 +815,20 @@ GEM
|
||||
spinach (>= 0.4)
|
||||
spinach-rerun-reporter (0.0.2)
|
||||
spinach (~> 0.8)
|
||||
spring (1.7.2)
|
||||
spring (2.0.1)
|
||||
activesupport (>= 4.2)
|
||||
spring-commands-rspec (1.0.4)
|
||||
spring (>= 0.9.1)
|
||||
spring-commands-spinach (1.1.0)
|
||||
spring (>= 0.9.1)
|
||||
sprockets (3.7.0)
|
||||
sprockets (3.7.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
sprockets-rails (3.1.1)
|
||||
sprockets-rails (3.2.0)
|
||||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
sqlite3 (1.3.11)
|
||||
sqlite3 (1.3.13)
|
||||
stackprof (0.2.10)
|
||||
state_machines (0.4.0)
|
||||
state_machines-activemodel (0.4.0)
|
||||
@ -756,15 +844,18 @@ GEM
|
||||
temple (0.7.7)
|
||||
test_after_commit (1.1.0)
|
||||
activerecord (>= 3.2)
|
||||
text (1.3.1)
|
||||
thin (1.7.0)
|
||||
daemons (~> 1.0, >= 1.0.9)
|
||||
eventmachine (~> 1.0, >= 1.0.4)
|
||||
rack (>= 1, < 3)
|
||||
thor (0.19.1)
|
||||
thread_safe (0.3.5)
|
||||
tilt (2.0.5)
|
||||
thor (0.19.4)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.0.6)
|
||||
timecop (0.8.1)
|
||||
timfel-krb5-auth (0.8.3)
|
||||
toml-rb (0.3.15)
|
||||
citrus (~> 3.0, > 3.0)
|
||||
tool (0.2.3)
|
||||
truncato (0.7.8)
|
||||
htmlentities (~> 4.3.1)
|
||||
@ -779,7 +870,7 @@ GEM
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.2)
|
||||
unicode-display_width (1.1.1)
|
||||
unicode-display_width (1.1.3)
|
||||
unicorn (5.1.0)
|
||||
kgio (~> 2.6)
|
||||
raindrops (~> 0.7)
|
||||
@ -787,6 +878,7 @@ GEM
|
||||
get_process_mem (~> 0)
|
||||
unicorn (>= 4, < 6)
|
||||
uniform_notifier (1.10.0)
|
||||
url_safe_base64 (0.2.2)
|
||||
validates_hostname (1.0.6)
|
||||
activerecord (>= 3.0)
|
||||
activesupport (>= 3.0)
|
||||
@ -799,16 +891,12 @@ GEM
|
||||
vmstat (2.3.0)
|
||||
warden (1.2.6)
|
||||
rack (>= 1.0)
|
||||
web-console (2.3.0)
|
||||
activemodel (>= 4.0)
|
||||
binding_of_caller (>= 0.7.2)
|
||||
railties (>= 4.0)
|
||||
sprockets-rails (>= 2.0, < 4.0)
|
||||
webmock (1.21.0)
|
||||
webmock (2.3.2)
|
||||
addressable (>= 2.3.6)
|
||||
crack (>= 0.3.2)
|
||||
webpack-rails (0.9.9)
|
||||
rails (>= 3.2.0)
|
||||
hashdiff
|
||||
webpack-rails (0.9.10)
|
||||
railties (>= 3.2.0)
|
||||
websocket-driver (0.6.3)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.2)
|
||||
@ -833,7 +921,7 @@ DEPENDENCIES
|
||||
after_commit_queue (~> 1.3.0)
|
||||
akismet (~> 2.0)
|
||||
allocations (~> 1.0)
|
||||
asana (~> 0.4.0)
|
||||
asana (~> 0.6.0)
|
||||
asciidoctor (~> 1.5.2)
|
||||
asciidoctor-plantuml (= 0.0.7)
|
||||
attr_encrypted (~> 3.0.0)
|
||||
@ -841,60 +929,72 @@ DEPENDENCIES
|
||||
babosa (~> 1.0.2)
|
||||
base32 (~> 0.3.0)
|
||||
benchmark-ips (~> 2.3.0)
|
||||
better_errors (~> 1.0.1)
|
||||
better_errors (~> 2.1.0)
|
||||
binding_of_caller (~> 0.7.2)
|
||||
bootstrap-sass (~> 3.3.0)
|
||||
brakeman (~> 3.4.0)
|
||||
bootstrap_form (~> 2.7.0)
|
||||
brakeman (~> 3.6.0)
|
||||
browser (~> 2.2)
|
||||
bullet (~> 5.2.0)
|
||||
bullet (~> 5.5.0)
|
||||
bundler-audit (~> 0.5.0)
|
||||
capybara (~> 2.6.2)
|
||||
capybara-screenshot (~> 1.0.0)
|
||||
carrierwave (~> 0.10.0)
|
||||
carrierwave (~> 1.1)
|
||||
charlock_holmes (~> 0.7.3)
|
||||
chronic (~> 0.10.2)
|
||||
chronic_duration (~> 0.10.6)
|
||||
coffee-rails (~> 4.1.0)
|
||||
concurrent-ruby (~> 1.0.5)
|
||||
connection_pool (~> 2.0)
|
||||
creole (~> 0.5.0)
|
||||
d3_rails (~> 3.5.0)
|
||||
database_cleaner (~> 1.5.0)
|
||||
deckar01-task_list (= 1.0.6)
|
||||
deckar01-task_list (= 2.0.0)
|
||||
default_value_for (~> 3.0.0)
|
||||
devise (~> 4.2)
|
||||
devise-two-factor (~> 3.0.0)
|
||||
diffy (~> 3.1.0)
|
||||
doorkeeper (~> 4.2.0)
|
||||
doorkeeper-openid_connect (~> 1.1.0)
|
||||
dropzonejs-rails (~> 0.7.1)
|
||||
email_reply_trimmer (~> 0.1)
|
||||
email_spec (~> 1.6.0)
|
||||
factory_girl_rails (~> 4.7.0)
|
||||
faraday (~> 0.12)
|
||||
ffaker (~> 2.4)
|
||||
flay (~> 2.6.1)
|
||||
flay (~> 2.8.0)
|
||||
flipper (~> 0.10.2)
|
||||
flipper-active_record (~> 0.10.2)
|
||||
fog-aliyun (~> 0.1.0)
|
||||
fog-aws (~> 0.9)
|
||||
fog-core (~> 1.40)
|
||||
fog-core (~> 1.44)
|
||||
fog-google (~> 0.5)
|
||||
fog-local (~> 0.3)
|
||||
fog-openstack (~> 0.1)
|
||||
fog-rackspace (~> 0.1.1)
|
||||
font-awesome-rails (~> 4.6.1)
|
||||
font-awesome-rails (~> 4.7)
|
||||
foreman (~> 0.78.0)
|
||||
fuubar (~> 2.0.0)
|
||||
gemnasium-gitlab-service (~> 0.2)
|
||||
gemojione (~> 3.0)
|
||||
gettext (~> 3.2.2)
|
||||
gettext_i18n_rails (~> 1.8.0)
|
||||
gettext_i18n_rails_js (~> 1.2.0)
|
||||
gitaly (~> 0.14.0)
|
||||
github-linguist (~> 4.7.0)
|
||||
gitlab-flowdock-git-hook (~> 1.0.1)
|
||||
gitlab-markup (~> 1.5.1)
|
||||
gitlab_omniauth-ldap (~> 1.2.1)
|
||||
gitlab_omniauth-ldap (~> 2.0.2)
|
||||
gollum-lib (~> 4.2)
|
||||
gollum-rugged_adapter (~> 0.4.2)
|
||||
gollum-rugged_adapter (~> 0.4.4)
|
||||
gon (~> 6.1.0)
|
||||
google-api-client (~> 0.8.6)
|
||||
grape (~> 0.18.0)
|
||||
grape (~> 0.19.0)
|
||||
grape-entity (~> 0.6.0)
|
||||
haml_lint (~> 0.18.2)
|
||||
haml_lint (~> 0.21.0)
|
||||
hamlit (~> 2.6.1)
|
||||
health_check (~> 2.2.0)
|
||||
hashie-forbidden_attributes
|
||||
health_check (~> 2.6.0)
|
||||
hipchat (~> 1.5.0)
|
||||
html-pipeline (~> 1.11.0)
|
||||
html2text
|
||||
@ -903,7 +1003,6 @@ DEPENDENCIES
|
||||
jira-ruby (~> 1.1.2)
|
||||
jquery-atwho-rails (~> 1.3.2)
|
||||
jquery-rails (~> 4.1.0)
|
||||
jquery-ui-rails (~> 5.0.0)
|
||||
json-schema (~> 2.6.2)
|
||||
jwt (~> 1.5.6)
|
||||
kaminari (~> 0.17.0)
|
||||
@ -911,22 +1010,22 @@ DEPENDENCIES
|
||||
kubeclient (~> 2.2.0)
|
||||
letter_opener_web (~> 1.3.0)
|
||||
license_finder (~> 2.1.0)
|
||||
licensee (~> 8.0.0)
|
||||
licensee (~> 8.7.0)
|
||||
loofah (~> 2.0.3)
|
||||
mail_room (~> 0.9.0)
|
||||
mail_room (~> 0.9.1)
|
||||
method_source (~> 0.8)
|
||||
minitest (~> 5.7.0)
|
||||
mousetrap-rails (~> 1.4.6)
|
||||
mysql2 (~> 0.3.16)
|
||||
net-ldap
|
||||
net-ssh (~> 3.0.1)
|
||||
newrelic_rpm (~> 3.16)
|
||||
nokogiri (< 1.6.8, ~> 1.6.7, >= 1.6.7.2)
|
||||
oauth2 (~> 1.2.0)
|
||||
nokogiri (~> 1.6.7, >= 1.6.7.2)
|
||||
oauth2 (~> 1.4)
|
||||
octokit (~> 4.6.2)
|
||||
oj (~> 2.17.4)
|
||||
omniauth (~> 1.3.2)
|
||||
omniauth (~> 1.4.2)
|
||||
omniauth-auth0 (~> 1.4.1)
|
||||
omniauth-authentiq (~> 0.2.0)
|
||||
omniauth-authentiq (~> 0.3.0)
|
||||
omniauth-azure-oauth2 (~> 0.0.6)
|
||||
omniauth-cas3 (~> 1.1.2)
|
||||
omniauth-facebook (~> 4.0.0)
|
||||
@ -934,28 +1033,42 @@ DEPENDENCIES
|
||||
omniauth-gitlab (~> 1.0.2)
|
||||
omniauth-google-oauth2 (~> 0.4.1)
|
||||
omniauth-kerberos (~> 0.3.0)
|
||||
omniauth-oauth2-generic (~> 0.2.2)
|
||||
omniauth-saml (~> 1.7.0)
|
||||
omniauth-shibboleth (~> 1.2.0)
|
||||
omniauth-twitter (~> 1.2.0)
|
||||
omniauth_crowd (~> 2.2.0)
|
||||
org-ruby (~> 0.9.12)
|
||||
paranoia (~> 2.2)
|
||||
paranoia (~> 2.3.1)
|
||||
peek (~> 1.0.1)
|
||||
peek-gc (~> 0.0.2)
|
||||
peek-host (~> 1.0.0)
|
||||
peek-mysql2 (~> 1.1.0)
|
||||
peek-performance_bar (~> 1.2.1)
|
||||
peek-pg (~> 1.3.0)
|
||||
peek-rblineprof (~> 0.2.0)
|
||||
peek-redis (~> 1.2.0)
|
||||
peek-sidekiq (~> 1.0.3)
|
||||
pg (~> 0.18.2)
|
||||
poltergeist (~> 1.9.0)
|
||||
premailer-rails (~> 1.9.0)
|
||||
premailer-rails (~> 1.9.7)
|
||||
prometheus-client-mmap (~> 0.7.0.beta11)
|
||||
pry-byebug (~> 3.4.1)
|
||||
pry-rails (~> 0.3.4)
|
||||
rack-attack (~> 4.4.1)
|
||||
rack-cors (~> 0.4.0)
|
||||
rack-oauth2 (~> 1.2.1)
|
||||
rack-proxy (~> 0.6.0)
|
||||
rails (= 4.2.7.1)
|
||||
rails (= 4.2.8)
|
||||
rails-deprecated_sanitizer (~> 1.0.3)
|
||||
rainbow (~> 2.1.0)
|
||||
rails-i18n (~> 4.0.9)
|
||||
rainbow (~> 2.2)
|
||||
raindrops (~> 0.18)
|
||||
rblineprof (~> 0.3.6)
|
||||
rdoc (~> 4.2)
|
||||
re2 (~> 1.0.0)
|
||||
recaptcha (~> 3.0)
|
||||
redcarpet (~> 3.3.3)
|
||||
redcarpet (~> 3.4)
|
||||
redis (~> 3.2)
|
||||
redis-namespace (~> 1.5.2)
|
||||
redis-rails (~> 5.0.1)
|
||||
@ -965,29 +1078,32 @@ DEPENDENCIES
|
||||
rqrcode-rails3 (~> 0.1.7)
|
||||
rspec-rails (~> 3.5.0)
|
||||
rspec-retry (~> 0.4.5)
|
||||
rspec_profiling
|
||||
rubocop (~> 0.46.0)
|
||||
rubocop-rspec (~> 1.9.1)
|
||||
rspec-set (~> 0.1.3)
|
||||
rspec_profiling (~> 0.0.5)
|
||||
rubocop (~> 0.47.1)
|
||||
rubocop-rspec (~> 1.15.0)
|
||||
ruby-fogbugz (~> 0.2.1)
|
||||
ruby-prof (~> 0.16.2)
|
||||
rugged (~> 0.24.0)
|
||||
ruby_parser (~> 3.8)
|
||||
rufus-scheduler (~> 3.4)
|
||||
rugged (~> 0.25.1.1)
|
||||
sanitize (~> 2.0)
|
||||
sass-rails (~> 5.0.6)
|
||||
scss_lint (~> 0.47.0)
|
||||
seed-fu (~> 2.3.5)
|
||||
select2-rails (~> 3.5.9)
|
||||
sentry-raven (~> 2.0.0)
|
||||
sentry-raven (~> 2.5.3)
|
||||
settingslogic (~> 2.0.9)
|
||||
sham_rack (~> 1.3.6)
|
||||
shoulda-matchers (~> 2.8.0)
|
||||
sidekiq (~> 4.2.7)
|
||||
sidekiq-cron (~> 0.4.4)
|
||||
sidekiq (~> 5.0)
|
||||
sidekiq-cron (~> 0.6.0)
|
||||
sidekiq-limit_fetch (~> 3.4)
|
||||
simplecov (= 0.12.0)
|
||||
simplecov (~> 0.14.0)
|
||||
slack-notifier (~> 1.5.1)
|
||||
spinach-rails (~> 0.2.1)
|
||||
spinach-rerun-reporter (~> 0.0.2)
|
||||
spring (~> 1.7.0)
|
||||
spring (~> 2.0.0)
|
||||
spring-commands-rspec (~> 1.0.4)
|
||||
spring-commands-spinach (~> 1.1.0)
|
||||
sprockets (~> 3.7.0)
|
||||
@ -997,6 +1113,7 @@ DEPENDENCIES
|
||||
test_after_commit (~> 1.1)
|
||||
thin (~> 1.7.0)
|
||||
timecop (~> 0.8.0)
|
||||
toml-rb (~> 0.3.15)
|
||||
truncato (~> 0.7.8)
|
||||
u2f (~> 0.2.1)
|
||||
uglifier (~> 2.7.2)
|
||||
@ -1008,10 +1125,9 @@ DEPENDENCIES
|
||||
version_sorter (~> 2.1.0)
|
||||
virtus (~> 1.0.1)
|
||||
vmstat (~> 2.3.0)
|
||||
web-console (~> 2.0)
|
||||
webmock (~> 1.21.0)
|
||||
webpack-rails (~> 0.9.9)
|
||||
webmock (~> 2.3.2)
|
||||
webpack-rails (~> 0.9.10)
|
||||
wikicloth (= 0.8.1)
|
||||
|
||||
BUNDLED WITH
|
||||
1.14.5
|
||||
1.15.1
|
||||
|
@ -1,29 +1,85 @@
|
||||
{ stdenv, lib, bundler, fetchurl, fetchFromGitHub, bundlerEnv, libiconv, ruby
|
||||
, tzdata, git, nodejs, procps, dpkg
|
||||
{ pkgs, stdenv, lib, bundler, fetchurl, fetchFromGitHub, bundlerEnv, libiconv
|
||||
, ruby, tzdata, git, nodejs, procps, dpkg, yarn
|
||||
}:
|
||||
|
||||
/* When updating the Gemfile add `gem "activerecord-nulldb-adapter"`
|
||||
to allow building the assets without a database */
|
||||
|
||||
let
|
||||
env = bundlerEnv {
|
||||
# Taken from yarn2nix
|
||||
buildYarnPackageDeps = {
|
||||
name,
|
||||
packageJson,
|
||||
yarnLock,
|
||||
yarnNix,
|
||||
pkgConfig ? {},
|
||||
yarnFlags ? []
|
||||
}:
|
||||
let
|
||||
offlineCache = (pkgs.callPackage yarnNix {}).offline_cache;
|
||||
extraBuildInputs = (lib.flatten (builtins.map (key:
|
||||
pkgConfig.${key} . buildInputs or []
|
||||
) (builtins.attrNames pkgConfig)));
|
||||
postInstall = (builtins.map (key:
|
||||
if (pkgConfig.${key} ? postInstall) then
|
||||
''
|
||||
for f in $(find -L -path '*/node_modules/${key}' -type d); do
|
||||
(cd "$f" && (${pkgConfig.${key}.postInstall}))
|
||||
done
|
||||
''
|
||||
else
|
||||
""
|
||||
) (builtins.attrNames pkgConfig));
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "${name}-modules";
|
||||
|
||||
phases = ["buildPhase"];
|
||||
buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
|
||||
|
||||
buildPhase = ''
|
||||
# Yarn writes cache directories etc to $HOME.
|
||||
export HOME=`pwd`/yarn_home
|
||||
cp ${packageJson} ./package.json
|
||||
cp ${yarnLock} ./yarn.lock
|
||||
chmod +w ./yarn.lock
|
||||
yarn config --offline set yarn-offline-mirror ${offlineCache}
|
||||
# Do not look up in the registry, but in the offline cache.
|
||||
# TODO: Ask upstream to fix this mess.
|
||||
sed -i -E 's|^(\s*resolved\s*")https?://.*/|\1|' yarn.lock
|
||||
yarn install ${lib.escapeShellArgs yarnFlags}
|
||||
${lib.concatStringsSep "\n" postInstall}
|
||||
mkdir $out
|
||||
mv node_modules $out/
|
||||
patchShebangs $out
|
||||
'';
|
||||
};
|
||||
node-env = buildYarnPackageDeps {
|
||||
name = "gitlab";
|
||||
packageJson = ./package.json;
|
||||
yarnLock = ./yarn.lock;
|
||||
yarnNix = ./yarn.nix;
|
||||
yarnFlags = [
|
||||
"--offline"
|
||||
"--frozen-lockfile"
|
||||
"--ignore-engines"
|
||||
"--ignore-scripts"
|
||||
];
|
||||
# pkgConfig might need to come from node-packages ?
|
||||
};
|
||||
ruby-env = bundlerEnv {
|
||||
name = "gitlab-env-0.2";
|
||||
inherit ruby;
|
||||
gemdir = ./.;
|
||||
meta = with lib; {
|
||||
homepage = http://www.gitlab.com/;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
maintainers = with maintainers; [ fpletz globin ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
};
|
||||
|
||||
version = "8.17.8";
|
||||
|
||||
gitlabDeb = fetchurl {
|
||||
url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_${version}-ce.0_amd64.deb/download";
|
||||
sha256 = "0r4f1illaalhrvc6zgq19g4jcs77jf665l8bgx6pyvw45yn6wv7h";
|
||||
};
|
||||
version = "9.4.5";
|
||||
|
||||
in
|
||||
|
||||
@ -31,14 +87,14 @@ stdenv.mkDerivation rec {
|
||||
name = "gitlab-${version}";
|
||||
|
||||
buildInputs = [
|
||||
env ruby bundler tzdata git nodejs procps dpkg
|
||||
ruby-env ruby bundler tzdata git nodejs procps dpkg yarn
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gitlabhq";
|
||||
repo = "gitlabhq";
|
||||
rev = "v${version}";
|
||||
sha256 = "041ld3na8m42akqpljipid984d0mv0wzk2p1630fncc1w3iaq06d";
|
||||
sha256 = "1jdvgpzkrap9n9pclyi5ln5l5qfhj4y8ygb1w90jkgrd785bg573";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -73,13 +129,18 @@ stdenv.mkDerivation rec {
|
||||
buildPhase = ''
|
||||
mv config/gitlab.yml.example config/gitlab.yml
|
||||
|
||||
dpkg --fsys-tarfile ${gitlabDeb} | tar -x --no-same-permissions --no-same-owner
|
||||
mv -v opt/gitlab/embedded/service/gitlab-rails/public/assets public
|
||||
rm -rf opt
|
||||
# Emulate yarn install --production --pure-lockfile
|
||||
mkdir -p node_modules/
|
||||
ln -s ${node-env}/node_modules/* node_modules/
|
||||
ln -s ${node-env}/node_modules/.bin node_modules/
|
||||
|
||||
# Compile assets. We skip the yarn check because it fails
|
||||
export GITLAB_DATABASE_ADAPTER=nulldb
|
||||
export SKIP_STORAGE_VALIDATION=true
|
||||
rake assets:precompile RAILS_ENV=production
|
||||
rake gettext:compile RAILS_ENV=production
|
||||
rake rake:assets:precompile RAILS_ENV=production NODE_ENV=production
|
||||
rake webpack:compile RAILS_ENV=production NODE_ENV=production
|
||||
rake gitlab:assets:fix_urls RAILS_ENV=production NODE_ENV=production
|
||||
|
||||
mv config/gitlab.yml config/gitlab.yml.example
|
||||
rm config/secrets.yml
|
||||
@ -98,7 +159,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit env;
|
||||
inherit ruby-env;
|
||||
inherit ruby;
|
||||
};
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,56 +1,27 @@
|
||||
diff --git a/Gemfile b/Gemfile
|
||||
index 68547b6..60aaf99 100644
|
||||
index 3748ae7aee..25d2938b78 100644
|
||||
--- a/Gemfile
|
||||
+++ b/Gemfile
|
||||
@@ -118,7 +118,7 @@ gem 'rouge', '~> 2.0'
|
||||
|
||||
# See https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
|
||||
# and https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
|
||||
-gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2'
|
||||
+gem 'nokogiri', '~> 1.6.7', '>= 1.6.7.2', '< 1.6.8'
|
||||
|
||||
# Diffs
|
||||
gem 'diffy', '~> 3.0.3'
|
||||
@@ -351,3 +351,5 @@ gem 'health_check', '~> 2.1.0'
|
||||
# System information
|
||||
gem 'vmstat', '~> 2.1.1'
|
||||
gem 'sys-filesystem', '~> 1.1.6'
|
||||
@@ -389,3 +389,5 @@ gem 'toml-rb', '~> 0.3.15', require: false
|
||||
# Feature toggles
|
||||
gem 'flipper', '~> 0.10.2'
|
||||
gem 'flipper-active_record', '~> 0.10.2'
|
||||
+
|
||||
+gem "activerecord-nulldb-adapter"
|
||||
+gem 'activerecord-nulldb-adapter'
|
||||
diff --git a/Gemfile.lock b/Gemfile.lock
|
||||
index 5511d71..38d357e 100644
|
||||
index 0de8746109..f263c643bd 100644
|
||||
--- a/Gemfile.lock
|
||||
+++ b/Gemfile.lock
|
||||
@@ -32,6 +32,8 @@ GEM
|
||||
activemodel (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
activemodel (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
arel (~> 6.0)
|
||||
+ activerecord-nulldb-adapter (0.3.3)
|
||||
+ activerecord-nulldb-adapter (0.3.7)
|
||||
+ activerecord (>= 2.0.0)
|
||||
activerecord_sane_schema_dumper (0.2)
|
||||
rails (>= 4, < 5)
|
||||
activesupport (4.2.7.1)
|
||||
@@ -396,7 +398,7 @@ GEM
|
||||
method_source (0.8.2)
|
||||
mime-types (2.99.2)
|
||||
mimemagic (0.3.0)
|
||||
- mini_portile2 (2.1.0)
|
||||
+ mini_portile2 (2.0.0)
|
||||
minitest (5.7.0)
|
||||
mousetrap-rails (1.4.6)
|
||||
multi_json (1.12.1)
|
||||
@@ -407,8 +409,8 @@ GEM
|
||||
net-ldap (0.12.1)
|
||||
net-ssh (3.0.1)
|
||||
newrelic_rpm (3.16.0.318)
|
||||
- nokogiri (1.6.8)
|
||||
- mini_portile2 (~> 2.1.0)
|
||||
+ nokogiri (1.6.7.2)
|
||||
+ mini_portile2 (~> 2.0.0.rc2)
|
||||
pkg-config (~> 1.1.7)
|
||||
numerizer (0.1.1)
|
||||
oauth (0.4.7)
|
||||
@@ -800,6 +802,7 @@ PLATFORMS
|
||||
activesupport (4.2.8)
|
||||
@@ -906,6 +908,7 @@ PLATFORMS
|
||||
DEPENDENCIES
|
||||
RedCloth (~> 4.3.2)
|
||||
ace-rails-ap (~> 4.1.0)
|
||||
|
88
pkgs/applications/version-management/gitlab/package.json
Normal file
88
pkgs/applications/version-management/gitlab/package.json
Normal file
@ -0,0 +1,88 @@
|
||||
{
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev-server": "nodemon --watch config/webpack.config.js -- ./node_modules/.bin/webpack-dev-server --config config/webpack.config.js",
|
||||
"eslint": "eslint --max-warnings 0 --ext .js,.vue .",
|
||||
"eslint-fix": "eslint --max-warnings 0 --ext .js,.vue --fix .",
|
||||
"eslint-report": "eslint --max-warnings 0 --ext .js,.vue --format html --output-file ./eslint-report.html .",
|
||||
"karma": "karma start config/karma.config.js --single-run",
|
||||
"karma-coverage": "BABEL_ENV=coverage karma start config/karma.config.js --single-run",
|
||||
"karma-start": "karma start config/karma.config.js",
|
||||
"webpack": "webpack --config config/webpack.config.js",
|
||||
"webpack-prod": "NODE_ENV=production webpack --config config/webpack.config.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"babel-core": "^6.22.1",
|
||||
"babel-eslint": "^7.2.1",
|
||||
"babel-loader": "^6.2.10",
|
||||
"babel-plugin-transform-define": "^1.2.0",
|
||||
"babel-preset-latest": "^6.24.0",
|
||||
"babel-preset-stage-2": "^6.22.0",
|
||||
"bootstrap-sass": "^3.3.6",
|
||||
"compression-webpack-plugin": "^0.3.2",
|
||||
"core-js": "^2.4.1",
|
||||
"css-loader": "^0.28.0",
|
||||
"d3": "^3.5.11",
|
||||
"deckar01-task_list": "^2.0.0",
|
||||
"document-register-element": "^1.3.0",
|
||||
"dropzone": "^4.2.0",
|
||||
"emoji-unicode-version": "^0.2.1",
|
||||
"eslint-plugin-html": "^2.0.1",
|
||||
"exports-loader": "^0.6.4",
|
||||
"file-loader": "^0.11.1",
|
||||
"jed": "^1.1.1",
|
||||
"jquery": "^2.2.1",
|
||||
"jquery-ujs": "^1.2.1",
|
||||
"js-cookie": "^2.1.3",
|
||||
"jszip": "^3.1.3",
|
||||
"jszip-utils": "^0.0.2",
|
||||
"marked": "^0.3.6",
|
||||
"mousetrap": "^1.4.6",
|
||||
"name-all-modules-plugin": "^1.0.1",
|
||||
"pdfjs-dist": "^1.8.252",
|
||||
"pikaday": "^1.5.1",
|
||||
"prismjs": "^1.6.0",
|
||||
"raphael": "^2.2.7",
|
||||
"raven-js": "^3.14.0",
|
||||
"raw-loader": "^0.5.1",
|
||||
"react-dev-utils": "^0.5.2",
|
||||
"select2": "3.5.2-browserify",
|
||||
"sql.js": "^0.4.0",
|
||||
"stats-webpack-plugin": "^0.4.3",
|
||||
"three": "^0.84.0",
|
||||
"three-orbit-controls": "^82.1.0",
|
||||
"three-stl-loader": "^1.0.4",
|
||||
"timeago.js": "^2.0.5",
|
||||
"underscore": "^1.8.3",
|
||||
"url-loader": "^0.5.8",
|
||||
"visibilityjs": "^1.2.4",
|
||||
"vue": "^2.2.6",
|
||||
"vue-loader": "^11.3.4",
|
||||
"vue-resource": "^0.9.3",
|
||||
"vue-template-compiler": "^2.2.6",
|
||||
"webpack": "^2.6.1",
|
||||
"webpack-bundle-analyzer": "^2.8.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-plugin-istanbul": "^4.0.0",
|
||||
"eslint": "^3.10.1",
|
||||
"eslint-config-airbnb-base": "^10.0.1",
|
||||
"eslint-import-resolver-webpack": "^0.8.1",
|
||||
"eslint-plugin-filenames": "^1.1.0",
|
||||
"eslint-plugin-import": "^2.2.0",
|
||||
"eslint-plugin-jasmine": "^2.1.0",
|
||||
"eslint-plugin-promise": "^3.5.0",
|
||||
"istanbul": "^0.4.5",
|
||||
"jasmine-core": "^2.6.3",
|
||||
"jasmine-jquery": "^2.1.1",
|
||||
"karma": "^1.7.0",
|
||||
"karma-chrome-launcher": "^2.1.1",
|
||||
"karma-coverage-istanbul-reporter": "^0.2.0",
|
||||
"karma-jasmine": "^1.1.0",
|
||||
"karma-mocha-reporter": "^2.2.2",
|
||||
"karma-sourcemap-loader": "^0.3.7",
|
||||
"karma-webpack": "^2.0.2",
|
||||
"nodemon": "^1.11.0",
|
||||
"webpack-dev-server": "^2.4.2"
|
||||
}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
diff --git a/config/environments/production.rb b/config/environments/production.rb
|
||||
index a9d8ac4..85f13f5 100644
|
||||
index c5cbfcf64c..e40f10e25f 100644
|
||||
--- a/config/environments/production.rb
|
||||
+++ b/config/environments/production.rb
|
||||
@@ -70,14 +70,16 @@ Rails.application.configure do
|
||||
@ -24,10 +24,10 @@ index a9d8ac4..85f13f5 100644
|
||||
+ config.active_record.dump_schema_after_migration = false
|
||||
end
|
||||
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
|
||||
index 1470a6e..1b2660d 100644
|
||||
index 0b33783869..cd4e41d9bd 100644
|
||||
--- a/config/gitlab.yml.example
|
||||
+++ b/config/gitlab.yml.example
|
||||
@@ -476,7 +476,7 @@ production: &base
|
||||
@@ -521,7 +521,7 @@ production: &base
|
||||
# CAUTION!
|
||||
# Use the default values unless you really know what you are doing
|
||||
git:
|
||||
@ -37,10 +37,10 @@ index 1470a6e..1b2660d 100644
|
||||
# Given in number of bytes per git object (e.g. a commit)
|
||||
# This value can be increased if you have very large commits
|
||||
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
|
||||
index 195108b..e55b11d 100644
|
||||
index 8ddf8e4d2e..559cf9adf7 100644
|
||||
--- a/config/initializers/1_settings.rb
|
||||
+++ b/config/initializers/1_settings.rb
|
||||
@@ -192,7 +192,7 @@ Settings.gitlab['user'] ||= 'git'
|
||||
@@ -219,7 +219,7 @@ Settings.gitlab['user'] ||= 'git'
|
||||
Settings.gitlab['user_home'] ||= begin
|
||||
Etc.getpwnam(Settings.gitlab['user']).dir
|
||||
rescue ArgumentError # no user configured
|
||||
@ -49,7 +49,7 @@ index 195108b..e55b11d 100644
|
||||
end
|
||||
Settings.gitlab['time_zone'] ||= nil
|
||||
Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
|
||||
@@ -362,7 +362,7 @@ Settings.backup['upload']['encryption'] ||= nil
|
||||
@@ -454,7 +454,7 @@ Settings.backup['upload']['storage_class'] ||= nil
|
||||
#
|
||||
Settings['git'] ||= Settingslogic.new({})
|
||||
Settings.git['max_size'] ||= 20971520 # 20.megabytes
|
||||
@ -59,7 +59,7 @@ index 195108b..e55b11d 100644
|
||||
|
||||
# Important: keep the satellites.path setting until GitLab 9.0 at
|
||||
diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
|
||||
index 59b2114..4f4a39a 100644
|
||||
index 59b21149a9..4f4a39a06c 100644
|
||||
--- a/lib/gitlab/logger.rb
|
||||
+++ b/lib/gitlab/logger.rb
|
||||
@@ -13,20 +13,20 @@ module Gitlab
|
||||
@ -87,51 +87,74 @@ index 59b2114..4f4a39a 100644
|
||||
end
|
||||
end
|
||||
diff --git a/lib/gitlab/uploads_transfer.rb b/lib/gitlab/uploads_transfer.rb
|
||||
index be8fcc7..7642d74 100644
|
||||
index b5f4124052..f72c556983 100644
|
||||
--- a/lib/gitlab/uploads_transfer.rb
|
||||
+++ b/lib/gitlab/uploads_transfer.rb
|
||||
@@ -29,7 +29,7 @@ module Gitlab
|
||||
end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
module Gitlab
|
||||
class UploadsTransfer < ProjectTransfer
|
||||
def root_dir
|
||||
- File.join(Rails.root, "public", "uploads")
|
||||
+ ENV['GITLAB_UPLOADS_PATH'] || File.join(Rails.root, "public", "uploads")
|
||||
- File.join(CarrierWave.root, FileUploader.base_dir)
|
||||
+ ENV['GITLAB_UPLOADS_PATH'] || File.join(CarrierWave.root, FileUploader.base_dir)
|
||||
end
|
||||
end
|
||||
end
|
||||
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
|
||||
index 5f4a6bb..01b4cfd 100644
|
||||
--- a/lib/tasks/gitlab/check.rake
|
||||
+++ b/lib/tasks/gitlab/check.rake
|
||||
@@ -223,7 +223,7 @@ namespace :gitlab do
|
||||
def check_log_writable
|
||||
print "Log directory writable? ... "
|
||||
diff --git a/lib/system_check/app/log_writable_check.rb b/lib/system_check/app/log_writable_check.rb
|
||||
index 3e0c436d6e..28cefc5514 100644
|
||||
--- a/lib/system_check/app/log_writable_check.rb
|
||||
+++ b/lib/system_check/app/log_writable_check.rb
|
||||
@@ -21,7 +21,7 @@ module SystemCheck
|
||||
private
|
||||
|
||||
- log_path = Rails.root.join("log")
|
||||
+ log_path = ENV["GITLAB_LOG_PATH"]
|
||||
def log_path
|
||||
- Rails.root.join('log')
|
||||
+ ENV["GITLAB_LOG_PATH"]
|
||||
end
|
||||
end
|
||||
end
|
||||
diff --git a/lib/system_check/app/uploads_directory_exists_check.rb b/lib/system_check/app/uploads_directory_exists_check.rb
|
||||
index 7026d0ba07..6d88b8b9fb 100644
|
||||
--- a/lib/system_check/app/uploads_directory_exists_check.rb
|
||||
+++ b/lib/system_check/app/uploads_directory_exists_check.rb
|
||||
@@ -4,12 +4,13 @@ module SystemCheck
|
||||
set_name 'Uploads directory exists?'
|
||||
|
||||
if File.writable?(log_path)
|
||||
puts "yes".color(:green)
|
||||
@@ -263,10 +263,11 @@ namespace :gitlab do
|
||||
def check_uploads
|
||||
print "Uploads directory setup correctly? ... "
|
||||
def check?
|
||||
- File.directory?(Rails.root.join('public/uploads'))
|
||||
+ File.directory?(ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads'))
|
||||
end
|
||||
|
||||
- unless File.directory?(Rails.root.join('public/uploads'))
|
||||
+ uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
|
||||
+ unless File.directory?(uploads_dir)
|
||||
puts "no".color(:red)
|
||||
def show_error
|
||||
+ uploads_dir = ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
|
||||
try_fixing_it(
|
||||
- "sudo -u #{gitlab_user} mkdir #{Rails.root}/public/uploads"
|
||||
+ "sudo -u #{gitlab_user} mkdir #{uploads_dir}"
|
||||
)
|
||||
for_more_information(
|
||||
see_installation_guide_section "GitLab"
|
||||
@@ -275,7 +276,7 @@ namespace :gitlab do
|
||||
return
|
||||
see_installation_guide_section 'GitLab'
|
||||
diff --git a/lib/system_check/app/uploads_path_permission_check.rb b/lib/system_check/app/uploads_path_permission_check.rb
|
||||
index 7df6c06025..bb447c16b2 100644
|
||||
--- a/lib/system_check/app/uploads_path_permission_check.rb
|
||||
+++ b/lib/system_check/app/uploads_path_permission_check.rb
|
||||
@@ -25,7 +25,7 @@ module SystemCheck
|
||||
private
|
||||
|
||||
def rails_uploads_path
|
||||
- Rails.root.join('public/uploads')
|
||||
+ ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads')
|
||||
end
|
||||
|
||||
- upload_path = File.realpath(Rails.root.join('public/uploads'))
|
||||
+ upload_path = File.realpath(Rails.root.join(uploads_dir))
|
||||
upload_path_tmp = File.join(upload_path, 'tmp')
|
||||
def uploads_fullpath
|
||||
diff --git a/lib/system_check/app/uploads_path_tmp_permission_check.rb b/lib/system_check/app/uploads_path_tmp_permission_check.rb
|
||||
index b276a81eac..070e3ebd81 100644
|
||||
--- a/lib/system_check/app/uploads_path_tmp_permission_check.rb
|
||||
+++ b/lib/system_check/app/uploads_path_tmp_permission_check.rb
|
||||
@@ -33,7 +33,7 @@ module SystemCheck
|
||||
end
|
||||
|
||||
if File.stat(upload_path).mode == 040700
|
||||
def uploads_fullpath
|
||||
- File.realpath(Rails.root.join('public/uploads'))
|
||||
+ File.realpath(ENV['GITLAB_UPLOADS_PATH'] || Rails.root.join('public/uploads'))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
5939
pkgs/applications/version-management/gitlab/yarn.lock
Normal file
5939
pkgs/applications/version-management/gitlab/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
8501
pkgs/applications/version-management/gitlab/yarn.nix
Normal file
8501
pkgs/applications/version-management/gitlab/yarn.nix
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libxml2, libsecret, poppler, itstool, mate, wrapGAppsHook }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libxml2, libsecret, poppler, itstool, mate, hicolor_icon_theme, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "atril-${version}";
|
||||
@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
|
||||
libsecret
|
||||
libxml2
|
||||
poppler
|
||||
hicolor_icon_theme
|
||||
mate.mate-desktop
|
||||
];
|
||||
|
||||
|
@ -23,6 +23,7 @@ let
|
||||
mate-icon-theme = callPackage ./mate-icon-theme { };
|
||||
mate-icon-theme-faenza = callPackage ./mate-icon-theme-faenza { };
|
||||
mate-menus = callPackage ./mate-menus { };
|
||||
mate-notification-daemon = callPackage ./mate-notification-daemon { };
|
||||
mate-panel = callPackage ./mate-panel { };
|
||||
mate-session-manager = callPackage ./mate-session-manager { };
|
||||
mate-settings-daemon = callPackage ./mate-settings-daemon { };
|
||||
@ -41,6 +42,7 @@ let
|
||||
mate-desktop
|
||||
mate-icon-theme
|
||||
mate-menus
|
||||
mate-notification-daemon
|
||||
mate-panel
|
||||
mate-session-manager
|
||||
mate-settings-daemon
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gnome3, mate, wrapGAppsHook }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "engrampa-${version}";
|
||||
@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
|
||||
libxml2
|
||||
gnome3.gtk
|
||||
mate.caja
|
||||
hicolor_icon_theme
|
||||
mate.mate-desktop
|
||||
];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, shared_mime_info, gnome3, mate, wrapGAppsHook }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, shared_mime_info, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "eom-${version}";
|
||||
@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
|
||||
pkgconfig
|
||||
intltool
|
||||
itstool
|
||||
hicolor_icon_theme
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
|
@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
|
||||
"--enable-locations-compression"
|
||||
];
|
||||
|
||||
preFixup = "rm -f $out/share/icons/mate/icon-theme.cache";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Library to access weather information from online services for MATE";
|
||||
homepage = https://github.com/mate-desktop/libmateweather;
|
||||
|
@ -1,4 +1,7 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus_glib, libxklavier, libcanberra_gtk3, desktop_file_utils, gnome3, mate, wrapGAppsHook }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus_glib,
|
||||
libxklavier, libcanberra_gtk3, librsvg, libappindicator-gtk3,
|
||||
desktop_file_utils, gnome3, mate, hicolor_icon_theme, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mate-control-center-${version}";
|
||||
@ -24,8 +27,11 @@ stdenv.mkDerivation rec {
|
||||
dbus_glib
|
||||
libxklavier
|
||||
libcanberra_gtk3
|
||||
librsvg
|
||||
libappindicator-gtk3
|
||||
gnome3.gtk
|
||||
gnome3.dconf
|
||||
hicolor_icon_theme
|
||||
mate.mate-desktop
|
||||
mate.libmatekbd
|
||||
mate.mate-menus
|
||||
|
@ -20,11 +20,6 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
gnome3.dconf
|
||||
gnome3.gtk
|
||||
gnome3.defaultIconTheme
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
gnome3.gnome_themes_standard
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
36
pkgs/desktops/mate/mate-notification-daemon/default.nix
Normal file
36
pkgs/desktops/mate/mate-notification-daemon/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, dbus_glib, libcanberra_gtk3,
|
||||
libnotify, libwnck3, gnome3, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mate-notification-daemon-${version}";
|
||||
version = "${major-ver}.${minor-ver}";
|
||||
major-ver = "1.18";
|
||||
minor-ver = "0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
|
||||
sha256 = "0rhhv99ipxy7l4fdgwvqp3g0c3d4njq0fhkag2vs1nwc6kx0h7sc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
intltool
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dbus_glib
|
||||
libcanberra_gtk3
|
||||
libnotify
|
||||
libwnck3
|
||||
gnome3.gtk
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Notification daemon for MATE";
|
||||
homepage = https://github.com/mate-desktop/mate-notification-daemon;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus_glib, libwnck3, librsvg, libxml2, gnome3, mate, wrapGAppsHook }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus_glib, libwnck3, librsvg, libxml2, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mate-panel-${version}";
|
||||
@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
|
||||
libwnck3
|
||||
librsvg
|
||||
libxml2
|
||||
hicolor_icon_theme
|
||||
gnome3.gtk
|
||||
gnome3.dconf
|
||||
mate.libmateweather
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, systemd, xtrans, xorg, gnome3, mate, wrapGAppsHook }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus_glib, systemd, xtrans, xorg, gnome3, mate, hicolor_icon_theme, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mate-session-manager-${version}";
|
||||
@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
|
||||
dbus_glib
|
||||
systemd
|
||||
xtrans
|
||||
hicolor_icon_theme
|
||||
xorg.libSM
|
||||
gnome3.gtk3
|
||||
gnome3.gsettings_desktop_schemas
|
||||
|
@ -131,11 +131,11 @@
|
||||
};
|
||||
};
|
||||
kscreenlocker = {
|
||||
version = "5.10.5";
|
||||
version = "5.10.5.1";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/plasma/5.10.5/kscreenlocker-5.10.5.tar.xz";
|
||||
sha256 = "07c8x4pj9adwwm5036wbrrw2sj8xi9d8b6d7qya6bam9xrq0mxkb";
|
||||
name = "kscreenlocker-5.10.5.tar.xz";
|
||||
url = "${mirror}/stable/plasma/5.10.5/kscreenlocker-5.10.5.1.tar.xz";
|
||||
sha256 = "03ih0dyyjljv40wl7mpbssfirkkljw8mnpjjhzk357lzadkplzvp";
|
||||
name = "kscreenlocker-5.10.5.1.tar.xz";
|
||||
};
|
||||
};
|
||||
ksshaskpass = {
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "arachne-pnr-${version}";
|
||||
version = "2016.08.18";
|
||||
version = "2017.06.29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cseed";
|
||||
repo = "arachne-pnr";
|
||||
rev = "52e69ed207342710080d85c7c639480e74a021d7";
|
||||
sha256 = "15bdw5yxj76lxrwksp6liwmr6l1x77isf4bs50ys9rsnmiwh8c3w";
|
||||
rev = "7e135edb31feacde85ec5b7e5c03fc9157080977";
|
||||
sha256 = "1wszcx6hgw4q4r778zswrlwdwvwxq834bkajck8w9yfqwxs9lmq8";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
the IceStorm [2] icepack command.
|
||||
'';
|
||||
homepage = https://github.com/cseed/arachne-pnr;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ stdenv.lib.maintainers.shell ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
|
@ -21,42 +21,42 @@ let
|
||||
else
|
||||
throw "openjdk requires i686-linux or x86_64 linux";
|
||||
|
||||
update = "152";
|
||||
build = "04";
|
||||
update = "144";
|
||||
build = "01";
|
||||
baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
|
||||
repover = "jdk8u${update}-b${build}";
|
||||
paxflags = if stdenv.isi686 then "msp" else "m";
|
||||
jdk8 = fetchurl {
|
||||
url = "${baseurl}/archive/${repover}.tar.gz";
|
||||
sha256 = "1hnpbx0v89jmbg58ym4zm255da11zf5jq8y5s58zj4x2z6b1fpxi";
|
||||
sha256 = "08b7ia2ifvcl8xnpflf019ak3xcbdjnxcy1mhfp3nbfsbk2sia45";
|
||||
};
|
||||
langtools = fetchurl {
|
||||
url = "${baseurl}/langtools/archive/${repover}.tar.gz";
|
||||
sha256 = "060q01msfyspn14c9mkf9x0l8sprki9n8zb3cwlgglhnr2d4gfbr";
|
||||
sha256 = "0g7q6ljvn79psrcak3l4imd27w047ngavn9jcn3xwivg5wppsfks";
|
||||
};
|
||||
hotspot = fetchurl {
|
||||
url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
|
||||
sha256 = "0705667y6llsmszvdcbhbxzbn1csv1f2rlyghwggx5xnaq46dhx6";
|
||||
sha256 = "1hbbzf0m2a78dm8pyvc11jwfpj7q67pvjrp3hf0cnc38k9mzrn8q";
|
||||
};
|
||||
corba = fetchurl {
|
||||
url = "${baseurl}/corba/archive/${repover}.tar.gz";
|
||||
sha256 = "13f4h43lw9q1292fymn2d7whwvccpkcqraasdhvzf904101xcpsl";
|
||||
sha256 = "1znc0prsb814ggm6qjgbsykm864mwypnxgi9w9f9riq8gs0578gh";
|
||||
};
|
||||
jdk = fetchurl {
|
||||
url = "${baseurl}/jdk/archive/${repover}.tar.gz";
|
||||
sha256 = "16wqinqv0aqyf6jg3nsn6rj5s7ggq82wvx86zm584g56011vkgf6";
|
||||
sha256 = "0gx5md1v1jmqhdwcc7smpf46sgp4alvb6jz3n6yjlcyfzk92yi78";
|
||||
};
|
||||
jaxws = fetchurl {
|
||||
url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
|
||||
sha256 = "0japl4nyb8y3w1mpfpkxn5vkf8fap1rg340vjnb6qm6fpqvl964f";
|
||||
sha256 = "0ad9w7gnwlpdssw2p3kfny02mmvzc6z8i2n7qq0177ml48c88iji";
|
||||
};
|
||||
jaxp = fetchurl {
|
||||
url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
|
||||
sha256 = "024zphx9r92ws9xjihvhyrbbbamfl7js0s24ff577v5z5gdb1lly";
|
||||
sha256 = "14yzbbishsyrzmymws6mnndqj6hvs69ivfdbjhgwi0wl23g9siym";
|
||||
};
|
||||
nashorn = fetchurl {
|
||||
url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
|
||||
sha256 = "1crnbjjv1s6ndqpllcrggcpsxvqcnpr58zp51y0hjz3m3gpsxwcq";
|
||||
sha256 = "175q29n4bfmm1cyyga7x58zhh6ann9rm3wibw0scrhgy23lx052x";
|
||||
};
|
||||
openjdk8 = stdenv.mkDerivation {
|
||||
name = "openjdk-8u${update}b${build}";
|
||||
@ -100,8 +100,9 @@ let
|
||||
substituteInPlace hotspot/make/linux/makefiles/dtrace.make --replace /usr/include/sys/sdt.h "/no-such-path"
|
||||
''
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1306558
|
||||
# https://github.com/JetBrains/jdk8u/commit/eaa5e0711a43d64874111254d74893fa299d5716
|
||||
+ stdenv.lib.optionalString stdenv.cc.isGNU ''
|
||||
NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks"
|
||||
NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks -std=gnu++98 -Wno-error"
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
@ -246,7 +247,7 @@ let
|
||||
homepage = http://openjdk.java.net/;
|
||||
license = licenses.gpl2;
|
||||
description = "The open-source Java Development Kit";
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
maintainers = with maintainers; [ edwtjo nequissimus ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbcl-${version}";
|
||||
version = "1.3.20";
|
||||
version = "1.3.21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
|
||||
sha256 = "0qhzrl2msdyzqp3165qlh9s6jrif5rddsmj9q50z0bxnaf0330jj";
|
||||
sha256 = "13hmavfmxsqp2s89aa6kljpgjm6c2063bgrz0maq1ms1y3052k38";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, makeWrapper
|
||||
, llvmPackages_4, hiredis, z3_opt, gtest
|
||||
, llvmPackages_4, hiredis, z3, gtest
|
||||
}:
|
||||
|
||||
let
|
||||
@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
|
||||
cp -v ./souper $out/bin/
|
||||
cp -v ./clang-souper $out/bin/
|
||||
wrapProgram "$out/bin/souper" \
|
||||
--add-flags "-z3-path=\"${z3_opt}/bin/z3\""
|
||||
--add-flags "-z3-path=\"${z3}/bin/z3\""
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -2,10 +2,10 @@
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
date = "20170710";
|
||||
date = "20170821";
|
||||
version = "0.9.27pre-${date}";
|
||||
rev = "2acb04f7f2077a4cff103421d79ceee48441918a";
|
||||
sha256 = "1rh89dx1myqfm752d4rlzrm8aadfm17fm88ps0q9ibmbxavb45qw";
|
||||
rev = "b8fe8fc2105455eb5004be89fa8575aa928a18f3";
|
||||
sha256 = "0rsv5pikm7ai2n7r93qlbvkyky23dsgc3sdc83crbcxjjk6xh378";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -2,21 +2,21 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "yosys-${version}";
|
||||
version = "2016.11.25";
|
||||
version = "2017.09.01";
|
||||
|
||||
srcs = [
|
||||
(fetchFromGitHub {
|
||||
owner = "cliffordwolf";
|
||||
repo = "yosys";
|
||||
rev = "5c2c78e2dd12a860f830dafd73fbed8edf1a3823";
|
||||
sha256 = "1cvfkg0hllp7k2g52mxczd8d0ad7inlpkg27rrbyani2kg0066bk";
|
||||
rev = "18609f3df82a3403c41d552908183f7e49ff5678";
|
||||
sha256 = "0qdjxqg3l098g8pda5a4cif4bd78rx7vilv3z62r56ppj55mgw96";
|
||||
name = "yosys";
|
||||
})
|
||||
(fetchFromBitbucket {
|
||||
owner = "alanmi";
|
||||
repo = "abc";
|
||||
rev = "238674cd44f2";
|
||||
sha256 = "18xk7lqai05am11zymixilgam4jvz5f2jwy9cgillz035man2yzw";
|
||||
rev = "ff5be0604997";
|
||||
sha256 = "08gdvxm44dvhgjw6lf2jx0xyk6h4ai37h6b88dysvaa69sx7rh8n";
|
||||
name = "yosys-abc";
|
||||
})
|
||||
];
|
||||
|
@ -73,6 +73,17 @@ rec {
|
||||
|
||||
disableHardening = drv: flags: overrideCabal drv (drv: { hardeningDisable = flags; });
|
||||
|
||||
# Controls if Nix should strip the binary files (removes debug symbols)
|
||||
doStrip = drv: overrideCabal drv (drv: { dontStrip = false; });
|
||||
dontStrip = drv: overrideCabal drv (drv: { dontStrip = true; });
|
||||
|
||||
# Useful for debugging segfaults with gdb.
|
||||
# -g: enables debugging symbols
|
||||
# --disable-*-stripping: tell GHC not to strip resulting binaries
|
||||
# dontStrip: see above
|
||||
enableDWARFDebugging = drv:
|
||||
appendConfigureFlag (dontStrip drv) "--ghc-options=-g --disable-executable-stripping --disable-library-stripping";
|
||||
|
||||
sdistTarball = pkg: lib.overrideDerivation pkg (drv: {
|
||||
name = "${drv.pname}-source-${drv.version}";
|
||||
# Since we disable the haddock phase, we also need to override the
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, nix, git, gcc6 }: let
|
||||
{ stdenv, fetchurl, pkgconfig, nix, git }: let
|
||||
version = "4.1.6";
|
||||
in stdenv.mkDerivation {
|
||||
name = "nix-exec-${version}";
|
||||
@ -8,7 +8,7 @@ in stdenv.mkDerivation {
|
||||
sha256 = "0slpsnzzzdkf5d9za7j4kr15jr4mn1k9klfsxibzy47b2bx1vkar";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig nix git gcc6 ];
|
||||
buildInputs = [ pkgconfig nix git ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-std=c++1y";
|
||||
|
||||
|
@ -1,25 +1,25 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, gettext, gtk3, intltool, glib
|
||||
, gtk_doc, autoconf, automake, libtool, libarchive, libyaml
|
||||
, gtk_doc, autoconf, automake, libtool, libarchive
|
||||
, gobjectIntrospection, sqlite, libsoup, gcab, attr, acl, docbook_xsl
|
||||
, libuuid, json_glib, autoconf-archive, gperf
|
||||
, libuuid, json_glib, autoconf-archive, meson, gperf, ninja
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "appstream-glib-0.6.13";
|
||||
name = "appstream-glib-0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hughsie";
|
||||
repo = "appstream-glib";
|
||||
rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
|
||||
sha256 = "1csscszdp1imd0hiib6xx7mfylfl1r64xmma14p5jq1yprprpa9h";
|
||||
sha256 = "1jvwfida12d2snc8p9lpbpqzrixw2naaiwfmsrldwkrxsj3i19pl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool autoconf-archive ];
|
||||
nativeBuildInputs = [ meson pkgconfig ninja ];
|
||||
buildInputs = [ glib gtk_doc gettext sqlite libsoup
|
||||
gcab attr acl docbook_xsl libuuid json_glib
|
||||
libarchive libyaml gobjectIntrospection gperf ];
|
||||
libarchive gobjectIntrospection gperf ];
|
||||
propagatedBuildInputs = [ gtk3 ];
|
||||
configureScript = "./autogen.sh";
|
||||
mesonFlags = [ "-Denable-rpm=false" "-Denable-stemmer=false" "-Denable-dep11=false" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Objects and helper methods to read and write AppStream metadata";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom, gcc6
|
||||
{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom
|
||||
, withQt4 ? true, qt4 ? null
|
||||
, withQt5 ? false, qt5 ? null }:
|
||||
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1kji3lhha26qr6xm9j8ic5c40zbrrb5qnwm2qxzmsfxgmrz29wkf";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom gcc6 ]
|
||||
buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom ]
|
||||
++ (lib.optionals withQt4 [ qt4 ])
|
||||
++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
|
||||
|
||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.gnu.org/software/libgcrypt/;
|
||||
description = "General-pupose cryptographic library";
|
||||
description = "General-purpose cryptographic library";
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.wkennington maintainers.vrthra ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, jsoncpp, argtable, curl, libmicrohttpd
|
||||
, doxygen, catch, pkgconfig, git, gcc6
|
||||
, doxygen, catch, pkgconfig, git
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
function fixRunPath {
|
||||
p=$(patchelf --print-rpath $1)
|
||||
q="$p:${stdenv.lib.makeLibraryPath [ gcc6 jsoncpp argtable libmicrohttpd curl ]}:$out/lib"
|
||||
q="$p:${stdenv.lib.makeLibraryPath [ jsoncpp argtable libmicrohttpd curl ]}:$out/lib"
|
||||
patchelf --set-rpath $q $1
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
||||
cp -r Install/* $out
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gcc6 ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ cmake jsoncpp argtable curl libmicrohttpd doxygen catch ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -85,8 +85,8 @@ stdenv.mkDerivation rec {
|
||||
sed -e "/gettext\.sh/a \\\n# Added in nixpkgs:\ngettext() { \"${gettext}/bin/gettext\" \"\$@\"; }" \
|
||||
-i "$out/libexec/libvirt-guests.sh"
|
||||
|
||||
substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
|
||||
'' + optionalString stdenv.isLinux ''
|
||||
substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
|
||||
rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
|
||||
wrapProgram $out/sbin/libvirtd \
|
||||
--prefix PATH : ${makeBinPath [ iptables iproute pmutils numad numactl ]}
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-D__STDC_CONSTANT_MACROS=1";
|
||||
NIX_CFLAGS_COMPILE = "-D__STDC_CONSTANT_MACROS=1 -std=gnu++98";
|
||||
|
||||
patches = [ ./disable-samples-ftbfs.diff ./libav9.patch ./libav10.patch ];
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, bison, flex, unixODBC
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC
|
||||
, openssl, openldap, cyrus_sasl, kerberos, expat, SDL, libdv, libv4l, alsaLib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -9,12 +9,24 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1jf27mjz8vqnclhrhrpn7niz4c177kcjbd1hc7vn65ihcqfz05rs";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-std=gnu++98";
|
||||
|
||||
buildInputs = [ pkgconfig bison flex unixODBC openssl openldap
|
||||
cyrus_sasl kerberos expat SDL libdv libv4l alsaLib ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [ ./bison.patch ./sslv3.patch ];
|
||||
patches = [
|
||||
(fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/bison-fix;
|
||||
sha256 = "0vzv9kyn9s628z8wy2gva380gi1rmhxilwlg5pikl5a0wn8p46nw";
|
||||
})
|
||||
(fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/no-sslv3;
|
||||
sha256 = "172s1dnnrl54p9sf1nl7s475sm78rpw3p8jxi0pdx6izzl8hcdr0";
|
||||
})
|
||||
(fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/gcc-5_support;
|
||||
sha256 = "0pf2yj0150r4cnc6nv65mclrm3dillqh1xjk7m6gsjnk9b96i5d4";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Portable Tools from OPAL VoIP";
|
||||
|
@ -1,16 +0,0 @@
|
||||
--- ptlib-2.10.11/src/ptclib/pssl.cxx 2016-02-07 09:54:36.326325637 +0000
|
||||
+++ ptlib-2.10.11/src/ptclib/pssl.cxx 2016-02-07 09:55:55.677870908 +0000
|
||||
@@ -805,11 +805,13 @@
|
||||
SSL_METHOD * meth;
|
||||
|
||||
switch (method) {
|
||||
+#if !defined(OPENSSL_NO_SSL3)
|
||||
case SSLv3:
|
||||
meth = SSLv3_method();
|
||||
break;
|
||||
+#endif
|
||||
case TLSv1:
|
||||
meth = TLSv1_method();
|
||||
break;
|
||||
case SSLv23:
|
||||
default:
|
@ -1,16 +1,21 @@
|
||||
Prerequisite: have Quicklisp installed somehow.
|
||||
Want to add a package? There are 3 simple steps!
|
||||
1. Add the needed system names to quicklisp-to-nix-systems.txt.
|
||||
2. cd <path to quicklisp-to-nix-systems.txt> ; nix-shell --run 'quicklisp-to-nix .'
|
||||
3. Add native libraries and whatever else is needed to quicklisp-to-nix-overrides.nix.
|
||||
|
||||
Add to LD_LIBRARY_PATH all the things listed in quicklisp-to-nix-overrides.nix
|
||||
for library propagatedBuildInputs (a lot of these are done via addNativeLibs).
|
||||
To update to a more recent quicklisp dist modify
|
||||
lispPackages.quicklisp to have a more recent distinfo.
|
||||
|
||||
Current list is:
|
||||
openssl fuse libuv mariadb libfixposix libev sqlite
|
||||
quicklisp-to-nix-system-info is responsible for installing a quicklisp
|
||||
package into an isolated environment and figuring out which packages
|
||||
are required by that system. It also extracts other information that
|
||||
is readily available once the system is loaded. The information
|
||||
produced by this program is fed into quicklisp-to-nix. You usually
|
||||
don't need to run this program unless you're trying to understand why
|
||||
quicklisp-to-nix failed to handle a system. The technique used by
|
||||
quicklisp-to-nix-system-info is described in its source.
|
||||
|
||||
Add the needed system names to quicklisp-to-nix-systems.txt and load
|
||||
quicklisp-to-nix/ql-to-nix.lisp and call
|
||||
(ql-to-nix "/path/to/nixpkgs/pkgs/development/lisp-modules/") which is often
|
||||
just (ql-to-nix ".")
|
||||
|
||||
Add native libraries and whatever else is needed to overrides.
|
||||
|
||||
The lispPackages set is supposed to be buildable in its entirety.
|
||||
quicklisp-to-nix is responsible for reading
|
||||
quicklisp-to-nix-systems.txt, running quicklisp-to-nix-system-info,
|
||||
and generating the nix packages associated with the closure of
|
||||
quicklisp systems.
|
||||
|
@ -1,7 +1,10 @@
|
||||
args @ {stdenv, clwrapper, baseName, packageName ? baseName, testSystems ? [packageName]
|
||||
args @ {stdenv, clwrapper, baseName, packageName ? baseName
|
||||
, parasites ? []
|
||||
, buildSystems ? ([packageName] ++ parasites)
|
||||
, version ? "latest"
|
||||
, src, description, deps, buildInputs ? [], meta ? {}, overrides?(x: {})
|
||||
, propagatedBuildInputs ? []}:
|
||||
, propagatedBuildInputs ? []
|
||||
, asdFilesToKeep ? [(builtins.concatStringsSep "" [packageName ".asd"])]}:
|
||||
let
|
||||
deployConfigScript = ''
|
||||
outhash="$out"
|
||||
@ -43,11 +46,34 @@ let
|
||||
echo "export LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${NIX_LISP_LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH\"" >> "$launch_script"
|
||||
echo '"${clwrapper}/bin/common-lisp.sh" "$@"' >> "$launch_script"
|
||||
'';
|
||||
moveAsdFiles = ''
|
||||
find $out/lib/common-lisp/ -name '*.asd' | while read ASD_FILE; do
|
||||
KEEP_THIS_ASD=0
|
||||
for ALLOWED_ASD in $asdFilesToKeep; do
|
||||
ALLOWED_ASD="/$ALLOWED_ASD"
|
||||
ALLOWED_ASD_LENGTH=${"$"}{#ALLOWED_ASD}
|
||||
ASD_FILE_LENGTH=${"$"}{#ASD_FILE}
|
||||
ASD_FILE_SUFFIX_INDEX=$(expr "$ASD_FILE_LENGTH" - "$ALLOWED_ASD_LENGTH")
|
||||
ASD_FILE_SUFFIX_INDEX=$(expr "$ASD_FILE_SUFFIX_INDEX" + 1)
|
||||
echo $ALLOWED_ASD $ASD_FILE $ASD_FILE_SUFFIX_INDEX $(expr substr "$ASD_FILE" "$ASD_FILE_SUFFIX_INDEX" "$ASD_FILE_LENGTH")
|
||||
if [ "$(expr substr "$ASD_FILE" "$ASD_FILE_SUFFIX_INDEX" "$ASD_FILE_LENGTH")" == "$ALLOWED_ASD" ]; then
|
||||
KEEP_THIS_ASD=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "$KEEP_THIS_ASD" == 0 ]; then
|
||||
mv "$ASD_FILE"{,.sibling}
|
||||
fi
|
||||
done
|
||||
'';
|
||||
basePackage = {
|
||||
name = "lisp-${baseName}-${version}";
|
||||
inherit src;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
inherit deployConfigScript deployLaunchScript;
|
||||
inherit asdFilesToKeep moveAsdFiles;
|
||||
installPhase = ''
|
||||
eval "$preInstall"
|
||||
|
||||
@ -58,18 +84,19 @@ basePackage = {
|
||||
|
||||
${deployConfigScript}
|
||||
${deployLaunchScript}
|
||||
${moveAsdFiles}
|
||||
|
||||
${stdenv.lib.concatMapStrings (testSystem: ''
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK='nix_lisp_run_single_form "(progn
|
||||
(asdf:compile-system :${testSystem})
|
||||
(asdf:load-system :${testSystem})
|
||||
(asdf:operate (quote asdf::compile-bundle-op) :${testSystem})
|
||||
(ignore-errors (asdf:operate (quote asdf::deploy-asd-op) :${testSystem}))
|
||||
)"' \
|
||||
"$out/bin/${args.baseName}-lisp-launcher.sh"
|
||||
'') testSystems}
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK='nix_lisp_run_single_form "(progn
|
||||
${stdenv.lib.concatMapStrings (system: ''
|
||||
(asdf:compile-system :${system})
|
||||
(asdf:load-system :${system})
|
||||
(asdf:operate (quote asdf::compile-bundle-op) :${system})
|
||||
(ignore-errors (asdf:operate (quote asdf::deploy-asd-op) :${system}))
|
||||
'') buildSystems}
|
||||
)"' \
|
||||
"$out/bin/${args.baseName}-lisp-launcher.sh"
|
||||
|
||||
eval "$postInstall"
|
||||
'';
|
||||
|
@ -1,4 +1,4 @@
|
||||
{stdenv, clwrapper, pkgs}:
|
||||
{stdenv, clwrapper, pkgs, sbcl, coreutils, nix, asdf}:
|
||||
let lispPackages = rec {
|
||||
inherit pkgs clwrapper stdenv;
|
||||
nixLib = pkgs.lib;
|
||||
@ -6,37 +6,11 @@ let lispPackages = rec {
|
||||
|
||||
buildLispPackage = callPackage ./define-package.nix;
|
||||
|
||||
esrap-peg = buildLispPackage rec {
|
||||
baseName = "esrap-peg";
|
||||
version = "git-20170320";
|
||||
description = "A wrapper around Esrap to allow generating Esrap grammars from PEG definitions";
|
||||
deps = with (pkgs.quicklispPackagesFor clwrapper); [alexandria cl-ppcre-template cl-unification esrap iterate];
|
||||
src = pkgs.fetchgit {
|
||||
url = "https://github.com/fb08af68/esrap-peg.git";
|
||||
sha256 = "15yiial7cy2nbgszqxd26qqcc6n3pw5qlrppzx0mfr3xbd9pvzby";
|
||||
rev = ''5a559b0030ecbf5e14cb070b0dc240535faa3402'';
|
||||
};
|
||||
};
|
||||
|
||||
clx-xkeyboard = buildLispPackage rec {
|
||||
baseName = "clx-xkeyboard";
|
||||
testSystems = ["xkeyboard"];
|
||||
version = "git-20150523";
|
||||
description = "CLX support for X Keyboard extensions";
|
||||
deps = with (pkgs.quicklispPackagesFor clwrapper); [clx];
|
||||
# Source type: git
|
||||
src = pkgs.fetchgit {
|
||||
url = ''https://github.com/filonenko-mikhail/clx-xkeyboard'';
|
||||
sha256 = "11b34da7d354a709a24774032e85a8947be023594f8a333eaff6d4aa79f2b3db";
|
||||
rev = ''11455d36283ef31c498bd58ffebf48c0f6b86ea6'';
|
||||
};
|
||||
};
|
||||
|
||||
quicklisp = buildLispPackage rec {
|
||||
baseName = "quicklisp";
|
||||
version = "2017-03-06";
|
||||
|
||||
testSystems = [];
|
||||
buildSystems = [];
|
||||
|
||||
description = "The Common Lisp package manager";
|
||||
deps = [];
|
||||
@ -50,8 +24,8 @@ let lispPackages = rec {
|
||||
quicklispdist = pkgs.fetchurl {
|
||||
# Will usually be replaced with a fresh version anyway, but needs to be
|
||||
# a valid distinfo.txt
|
||||
url = "http://beta.quicklisp.org/dist/quicklisp/2016-03-18/distinfo.txt";
|
||||
sha256 = "13mvign4rsicfvg3vs3vj1qcjvj2m1aqhq93ck0sgizxfcj5167m";
|
||||
url = "http://beta.quicklisp.org/dist/quicklisp/2017-07-25/distinfo.txt";
|
||||
sha256 = "165fd4a10zc3mxyy7wr4i2r3n6fzd1wd2hgzfyp32xlc41qj2ajf";
|
||||
};
|
||||
buildPhase = '' true; '';
|
||||
postInstall = ''
|
||||
@ -61,5 +35,46 @@ let lispPackages = rec {
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
quicklisp-to-nix-system-info = stdenv.mkDerivation rec {
|
||||
name = "quicklisp-to-nix-system-info-${version}";
|
||||
version = "1.0.0";
|
||||
src = ./quicklisp-to-nix;
|
||||
nativeBuildInputs = [sbcl];
|
||||
buildInputs = [
|
||||
lispPackages.quicklisp coreutils
|
||||
];
|
||||
touch = coreutils;
|
||||
nix-prefetch-url = nix;
|
||||
inherit quicklisp;
|
||||
buildPhase = ''
|
||||
${sbcl}/bin/sbcl --eval '(load #P"${asdf}/lib/common-lisp/asdf/build/asdf.lisp")' --load $src/system-info.lisp --eval '(ql-to-nix-system-info::dump-image)'
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp quicklisp-to-nix-system-info $out/bin
|
||||
'';
|
||||
dontStrip = true;
|
||||
};
|
||||
|
||||
quicklisp-to-nix = stdenv.mkDerivation rec {
|
||||
name = "quicklisp-to-nix-${version}";
|
||||
version = "1.0.0";
|
||||
src = ./quicklisp-to-nix;
|
||||
buildDependencies = [sbcl quicklisp-to-nix-system-info];
|
||||
touch = coreutils;
|
||||
nix-prefetch-url = nix;
|
||||
inherit quicklisp;
|
||||
deps = [];
|
||||
system-info = quicklisp-to-nix-system-info;
|
||||
buildPhase = ''
|
||||
${sbcl}/bin/sbcl --eval '(load #P"${asdf}/lib/common-lisp/asdf/build/asdf.lisp")' --load $src/ql-to-nix.lisp --eval '(ql-to-nix::dump-image)'
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp quicklisp-to-nix $out/bin
|
||||
'';
|
||||
dontStrip = true;
|
||||
};
|
||||
};
|
||||
in lispPackages
|
||||
|
@ -1,13 +0,0 @@
|
||||
{quicklisp-to-nix-packages}:
|
||||
with quicklisp-to-nix-packages;
|
||||
rec {
|
||||
cffi-grovel = cffi;
|
||||
|
||||
cxml-test = null;
|
||||
cxml-dom = null;
|
||||
cxml-klacks = null;
|
||||
cxml-xml = null;
|
||||
|
||||
cl-async-util = cl-async-base;
|
||||
cl-async = cl-async-base;
|
||||
}
|
@ -5,33 +5,26 @@ rec {
|
||||
|
||||
description = ''markdown processor in CL using esrap parser.'';
|
||||
|
||||
deps = [ args."split-sequence" args."esrap" args."alexandria" ];
|
||||
deps = [ args."alexandria" args."esrap" args."split-sequence" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/3bmd/2016-12-04/3bmd-20161204-git.tgz'';
|
||||
sha256 = ''158rymq6ra9ipmkqrqmgr4ay5m46cdxxha03622svllhyf7xzypx'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "3bmd";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/3bmd[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["3bmd.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM 3bmd DESCRIPTION markdown processor in CL using esrap parser. SHA256 158rymq6ra9ipmkqrqmgr4ay5m46cdxxha03622svllhyf7xzypx URL
|
||||
http://beta.quicklisp.org/archive/3bmd/2016-12-04/3bmd-20161204-git.tgz MD5 b80864c74437e0cfb66663e9bbf08fed NAME 3bmd TESTNAME NIL FILENAME _3bmd DEPS
|
||||
((NAME split-sequence FILENAME split-sequence) (NAME esrap FILENAME esrap) (NAME alexandria FILENAME alexandria)) DEPENDENCIES
|
||||
(split-sequence esrap alexandria) VERSION 20161204-git SIBLINGS
|
||||
(3bmd-ext-code-blocks 3bmd-ext-definition-lists 3bmd-ext-tables 3bmd-ext-wiki-links 3bmd-youtube-tests 3bmd-youtube)) */
|
||||
/* (SYSTEM 3bmd DESCRIPTION markdown processor in CL using esrap parser. SHA256
|
||||
158rymq6ra9ipmkqrqmgr4ay5m46cdxxha03622svllhyf7xzypx URL
|
||||
http://beta.quicklisp.org/archive/3bmd/2016-12-04/3bmd-20161204-git.tgz MD5
|
||||
b80864c74437e0cfb66663e9bbf08fed NAME 3bmd FILENAME _3bmd DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME esrap FILENAME esrap)
|
||||
(NAME split-sequence FILENAME split-sequence))
|
||||
DEPENDENCIES (alexandria esrap split-sequence) VERSION 20161204-git
|
||||
SIBLINGS
|
||||
(3bmd-ext-code-blocks 3bmd-ext-definition-lists 3bmd-ext-tables
|
||||
3bmd-ext-wiki-links 3bmd-youtube-tests 3bmd-youtube)
|
||||
PARASITES NIL) */
|
||||
|
@ -5,31 +5,23 @@ rec {
|
||||
|
||||
description = ''ABNF Parser Generator, per RFC2234'';
|
||||
|
||||
deps = [ args."cl-ppcre" args."esrap" ];
|
||||
deps = [ args."alexandria" args."cl-ppcre" args."esrap" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz'';
|
||||
sha256 = ''00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "abnf";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/abnf[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["abnf.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM abnf DESCRIPTION ABNF Parser Generator, per RFC2234 SHA256 00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687 URL
|
||||
http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz MD5 311c2b17e49666dac1c2bb45256be708 NAME abnf TESTNAME NIL FILENAME abnf
|
||||
DEPS ((NAME cl-ppcre FILENAME cl-ppcre) (NAME esrap FILENAME esrap)) DEPENDENCIES (cl-ppcre esrap) VERSION cl-20150608-git SIBLINGS NIL) */
|
||||
/* (SYSTEM abnf DESCRIPTION ABNF Parser Generator, per RFC2234 SHA256
|
||||
00x95h7v5q7azvr9wrpcfcwsq3sdipjr1hgq9a9lbimp8gfbz687 URL
|
||||
http://beta.quicklisp.org/archive/cl-abnf/2015-06-08/cl-abnf-20150608-git.tgz
|
||||
MD5 311c2b17e49666dac1c2bb45256be708 NAME abnf FILENAME abnf DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre)
|
||||
(NAME esrap FILENAME esrap))
|
||||
DEPENDENCIES (alexandria cl-ppcre esrap) VERSION cl-20150608-git SIBLINGS
|
||||
NIL PARASITES NIL) */
|
||||
|
@ -11,25 +11,16 @@ rec {
|
||||
url = ''http://beta.quicklisp.org/archive/alexandria/2017-06-30/alexandria-20170630-git.tgz'';
|
||||
sha256 = ''1ch7987ijs5gz5dk3i02bqgb2bn7s9p3sfsrwq4fp1sxykwr9fis'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "alexandria";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/alexandria[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["alexandria.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM alexandria DESCRIPTION Alexandria is a collection of portable public domain utilities. SHA256 1ch7987ijs5gz5dk3i02bqgb2bn7s9p3sfsrwq4fp1sxykwr9fis
|
||||
URL http://beta.quicklisp.org/archive/alexandria/2017-06-30/alexandria-20170630-git.tgz MD5 ce5427881c909981192f870cb52ff59f NAME alexandria TESTNAME NIL
|
||||
FILENAME alexandria DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (alexandria-tests)) */
|
||||
/* (SYSTEM alexandria DESCRIPTION
|
||||
Alexandria is a collection of portable public domain utilities. SHA256
|
||||
1ch7987ijs5gz5dk3i02bqgb2bn7s9p3sfsrwq4fp1sxykwr9fis URL
|
||||
http://beta.quicklisp.org/archive/alexandria/2017-06-30/alexandria-20170630-git.tgz
|
||||
MD5 ce5427881c909981192f870cb52ff59f NAME alexandria FILENAME alexandria
|
||||
DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (alexandria-tests)
|
||||
PARASITES NIL) */
|
||||
|
@ -3,33 +3,25 @@ rec {
|
||||
baseName = ''anaphora'';
|
||||
version = ''20170227-git'';
|
||||
|
||||
parasites = [ "anaphora/test" ];
|
||||
|
||||
description = ''The Anaphoric Macro Package from Hell'';
|
||||
|
||||
deps = [ ];
|
||||
deps = [ args."rt" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/anaphora/2017-02-27/anaphora-20170227-git.tgz'';
|
||||
sha256 = ''1inv6bcly6r7yixj1pp0i4h0y7lxyv68mk9wsi5iwi9gx6000yd9'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "anaphora";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/anaphora[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["anaphora.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM anaphora DESCRIPTION The Anaphoric Macro Package from Hell SHA256 1inv6bcly6r7yixj1pp0i4h0y7lxyv68mk9wsi5iwi9gx6000yd9 URL
|
||||
http://beta.quicklisp.org/archive/anaphora/2017-02-27/anaphora-20170227-git.tgz MD5 6121d9bbc92df29d823b60ae0d0c556d NAME anaphora TESTNAME NIL FILENAME
|
||||
anaphora DEPS NIL DEPENDENCIES NIL VERSION 20170227-git SIBLINGS NIL) */
|
||||
/* (SYSTEM anaphora DESCRIPTION The Anaphoric Macro Package from Hell SHA256
|
||||
1inv6bcly6r7yixj1pp0i4h0y7lxyv68mk9wsi5iwi9gx6000yd9 URL
|
||||
http://beta.quicklisp.org/archive/anaphora/2017-02-27/anaphora-20170227-git.tgz
|
||||
MD5 6121d9bbc92df29d823b60ae0d0c556d NAME anaphora FILENAME anaphora DEPS
|
||||
((NAME rt FILENAME rt)) DEPENDENCIES (rt) VERSION 20170227-git SIBLINGS NIL
|
||||
PARASITES (anaphora/test)) */
|
||||
|
@ -11,25 +11,15 @@ rec {
|
||||
url = ''http://beta.quicklisp.org/archive/array-utils/2017-06-30/array-utils-20170630-git.tgz'';
|
||||
sha256 = ''1nj42w2q11qdg65cviaj514pcql1gi729mcsj5g2vy17pr298zgb'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "array-utils";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/array-utils[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["array-utils.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM array-utils DESCRIPTION A few utilities for working with arrays. SHA256 1nj42w2q11qdg65cviaj514pcql1gi729mcsj5g2vy17pr298zgb URL
|
||||
http://beta.quicklisp.org/archive/array-utils/2017-06-30/array-utils-20170630-git.tgz MD5 550b37bc0eccfafa889de00b59c422dc NAME array-utils TESTNAME NIL
|
||||
FILENAME array-utils DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (array-utils-test)) */
|
||||
/* (SYSTEM array-utils DESCRIPTION A few utilities for working with arrays.
|
||||
SHA256 1nj42w2q11qdg65cviaj514pcql1gi729mcsj5g2vy17pr298zgb URL
|
||||
http://beta.quicklisp.org/archive/array-utils/2017-06-30/array-utils-20170630-git.tgz
|
||||
MD5 550b37bc0eccfafa889de00b59c422dc NAME array-utils FILENAME array-utils
|
||||
DEPS NIL DEPENDENCIES NIL VERSION 20170630-git SIBLINGS (array-utils-test)
|
||||
PARASITES NIL) */
|
||||
|
@ -0,0 +1,26 @@
|
||||
args @ { fetchurl, ... }:
|
||||
rec {
|
||||
baseName = ''asdf-finalizers'';
|
||||
version = ''20170403-git'';
|
||||
|
||||
description = ''Enforced calling of finalizers for Lisp code'';
|
||||
|
||||
deps = [ ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz'';
|
||||
sha256 = ''1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj'';
|
||||
};
|
||||
|
||||
packageName = "asdf-finalizers";
|
||||
|
||||
asdFilesToKeep = ["asdf-finalizers.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM asdf-finalizers DESCRIPTION
|
||||
Enforced calling of finalizers for Lisp code SHA256
|
||||
1w2ka0123icbjba7ngdd6h93j72g236h6jw4bsmvsak69fj0ybxj URL
|
||||
http://beta.quicklisp.org/archive/asdf-finalizers/2017-04-03/asdf-finalizers-20170403-git.tgz
|
||||
MD5 a9e3c960e6b6fdbd69640b520ef8044b NAME asdf-finalizers FILENAME
|
||||
asdf-finalizers DEPS NIL DEPENDENCIES NIL VERSION 20170403-git SIBLINGS
|
||||
(asdf-finalizers-test list-of) PARASITES NIL) */
|
@ -11,26 +11,16 @@ rec {
|
||||
url = ''http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz'';
|
||||
sha256 = ''0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "asdf-system-connections";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/asdf-system-connections[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["asdf-system-connections.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM asdf-system-connections DESCRIPTION Allows for ASDF system to be connected so that auto-loading may occur. SHA256
|
||||
0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq URL
|
||||
http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz MD5 23bdbb69c433568e3e15ed705b803992 NAME
|
||||
asdf-system-connections TESTNAME NIL FILENAME asdf-system-connections DEPS NIL DEPENDENCIES NIL VERSION 20170124-git SIBLINGS NIL) */
|
||||
/* (SYSTEM asdf-system-connections DESCRIPTION
|
||||
Allows for ASDF system to be connected so that auto-loading may occur.
|
||||
SHA256 0h8237bq3niw6glcsps77n1ykcmc5bjkcrbjyxjgkmcb1c5kwwpq URL
|
||||
http://beta.quicklisp.org/archive/asdf-system-connections/2017-01-24/asdf-system-connections-20170124-git.tgz
|
||||
MD5 23bdbb69c433568e3e15ed705b803992 NAME asdf-system-connections FILENAME
|
||||
asdf-system-connections DEPS NIL DEPENDENCIES NIL VERSION 20170124-git
|
||||
SIBLINGS NIL PARASITES NIL) */
|
||||
|
@ -5,32 +5,26 @@ rec {
|
||||
|
||||
description = ''Some useful streams based on Babel's encoding code'';
|
||||
|
||||
deps = [ args."trivial-gray-streams" args."alexandria" ];
|
||||
deps = [ args."alexandria" args."babel" args."trivial-features" args."trivial-gray-streams" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz'';
|
||||
sha256 = ''0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "babel-streams";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/babel-streams[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["babel-streams.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM babel-streams DESCRIPTION Some useful streams based on Babel's encoding code SHA256 0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
|
||||
http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel-streams TESTNAME NIL FILENAME
|
||||
babel-streams DEPS ((NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME alexandria FILENAME alexandria)) DEPENDENCIES
|
||||
(trivial-gray-streams alexandria) VERSION babel-20170630-git SIBLINGS (babel-tests babel)) */
|
||||
/* (SYSTEM babel-streams DESCRIPTION
|
||||
Some useful streams based on Babel's encoding code SHA256
|
||||
0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
|
||||
http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz
|
||||
MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel-streams FILENAME
|
||||
babel-streams DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
|
||||
(NAME trivial-features FILENAME trivial-features)
|
||||
(NAME trivial-gray-streams FILENAME trivial-gray-streams))
|
||||
DEPENDENCIES (alexandria babel trivial-features trivial-gray-streams)
|
||||
VERSION babel-20170630-git SIBLINGS (babel-tests babel) PARASITES NIL) */
|
||||
|
@ -5,32 +5,23 @@ rec {
|
||||
|
||||
description = ''Babel, a charset conversion library.'';
|
||||
|
||||
deps = [ args."trivial-features" args."alexandria" ];
|
||||
deps = [ args."alexandria" args."trivial-features" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz'';
|
||||
sha256 = ''0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "babel";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/babel[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["babel.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM babel DESCRIPTION Babel, a charset conversion library. SHA256 0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
|
||||
http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel TESTNAME NIL FILENAME babel DEPS
|
||||
((NAME trivial-features FILENAME trivial-features) (NAME alexandria FILENAME alexandria)) DEPENDENCIES (trivial-features alexandria) VERSION 20170630-git
|
||||
SIBLINGS (babel-streams babel-tests)) */
|
||||
/* (SYSTEM babel DESCRIPTION Babel, a charset conversion library. SHA256
|
||||
0w1jfzdklk5zz9vgplr2a0vc6gybrwl8wa72nj6xs4ihp7spf0lx URL
|
||||
http://beta.quicklisp.org/archive/babel/2017-06-30/babel-20170630-git.tgz
|
||||
MD5 aa7eff848b97bb7f7aa6bdb43a081964 NAME babel FILENAME babel DEPS
|
||||
((NAME alexandria FILENAME alexandria)
|
||||
(NAME trivial-features FILENAME trivial-features))
|
||||
DEPENDENCIES (alexandria trivial-features) VERSION 20170630-git SIBLINGS
|
||||
(babel-streams babel-tests) PARASITES NIL) */
|
||||
|
@ -11,25 +11,15 @@ rec {
|
||||
url = ''http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz'';
|
||||
sha256 = ''0l053fb5fdz1q6dyfgys6nmbairc3aig4wjl5abpf8b1paf7gzq9'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "blackbird";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/blackbird[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["blackbird.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM blackbird DESCRIPTION A promise implementation for Common Lisp. SHA256 0l053fb5fdz1q6dyfgys6nmbairc3aig4wjl5abpf8b1paf7gzq9 URL
|
||||
http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz MD5 5cb13dc06a0eae8dcba14714d2b5365d NAME blackbird TESTNAME NIL FILENAME
|
||||
blackbird DEPS ((NAME vom FILENAME vom)) DEPENDENCIES (vom) VERSION 20160531-git SIBLINGS (blackbird-test)) */
|
||||
/* (SYSTEM blackbird DESCRIPTION A promise implementation for Common Lisp.
|
||||
SHA256 0l053fb5fdz1q6dyfgys6nmbairc3aig4wjl5abpf8b1paf7gzq9 URL
|
||||
http://beta.quicklisp.org/archive/blackbird/2016-05-31/blackbird-20160531-git.tgz
|
||||
MD5 5cb13dc06a0eae8dcba14714d2b5365d NAME blackbird FILENAME blackbird DEPS
|
||||
((NAME vom FILENAME vom)) DEPENDENCIES (vom) VERSION 20160531-git SIBLINGS
|
||||
(blackbird-test) PARASITES NIL) */
|
||||
|
@ -3,34 +3,28 @@ rec {
|
||||
baseName = ''bordeaux-threads'';
|
||||
version = ''v0.8.5'';
|
||||
|
||||
parasites = [ "bordeaux-threads/test" ];
|
||||
|
||||
description = ''Bordeaux Threads makes writing portable multi-threaded apps simple.'';
|
||||
|
||||
deps = [ args."alexandria" ];
|
||||
deps = [ args."alexandria" args."fiveam" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/bordeaux-threads/2016-03-18/bordeaux-threads-v0.8.5.tgz'';
|
||||
sha256 = ''09q1xd3fca6ln6mh45cx24xzkrcnvhgl5nn9g2jv0rwj1m2xvbpd'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "bordeaux-threads";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/bordeaux-threads[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["bordeaux-threads.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM bordeaux-threads DESCRIPTION Bordeaux Threads makes writing portable multi-threaded apps simple. SHA256
|
||||
09q1xd3fca6ln6mh45cx24xzkrcnvhgl5nn9g2jv0rwj1m2xvbpd URL http://beta.quicklisp.org/archive/bordeaux-threads/2016-03-18/bordeaux-threads-v0.8.5.tgz MD5
|
||||
67e363a363e164b6f61a047957b8554e NAME bordeaux-threads TESTNAME NIL FILENAME bordeaux-threads DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES
|
||||
(alexandria) VERSION v0.8.5 SIBLINGS NIL) */
|
||||
/* (SYSTEM bordeaux-threads DESCRIPTION
|
||||
Bordeaux Threads makes writing portable multi-threaded apps simple. SHA256
|
||||
09q1xd3fca6ln6mh45cx24xzkrcnvhgl5nn9g2jv0rwj1m2xvbpd URL
|
||||
http://beta.quicklisp.org/archive/bordeaux-threads/2016-03-18/bordeaux-threads-v0.8.5.tgz
|
||||
MD5 67e363a363e164b6f61a047957b8554e NAME bordeaux-threads FILENAME
|
||||
bordeaux-threads DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME fiveam FILENAME fiveam))
|
||||
DEPENDENCIES (alexandria fiveam) VERSION v0.8.5 SIBLINGS NIL PARASITES
|
||||
(bordeaux-threads/test)) */
|
||||
|
@ -5,36 +5,33 @@ rec {
|
||||
|
||||
description = ''Web Application Framework for Common Lisp'';
|
||||
|
||||
deps = [ args."myway" args."local-time" args."do-urlencode" args."clack-v1-compat" args."cl-syntax-annot" args."cl-syntax" args."cl-project" args."cl-ppcre" args."cl-emb" args."anaphora" ];
|
||||
deps = [ args."anaphora" args."cl-emb" args."cl-ppcre" args."cl-project" args."cl-syntax" args."cl-syntax-annot" args."clack-v1-compat" args."do-urlencode" args."local-time" args."myway" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/caveman/2017-06-30/caveman-20170630-git.tgz'';
|
||||
sha256 = ''0wpjnskcvrgvqn9gbr43yqnpcxfmdggbiyaxz9rrhgcis2rwjkj2'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "caveman";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/caveman[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["caveman.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM caveman DESCRIPTION Web Application Framework for Common Lisp SHA256 0wpjnskcvrgvqn9gbr43yqnpcxfmdggbiyaxz9rrhgcis2rwjkj2 URL
|
||||
http://beta.quicklisp.org/archive/caveman/2017-06-30/caveman-20170630-git.tgz MD5 774f85fa78792bde012bad78efff4b53 NAME caveman TESTNAME NIL FILENAME
|
||||
caveman DEPS
|
||||
((NAME myway FILENAME myway) (NAME local-time FILENAME local-time) (NAME do-urlencode FILENAME do-urlencode)
|
||||
(NAME clack-v1-compat FILENAME clack-v1-compat) (NAME cl-syntax-annot FILENAME cl-syntax-annot) (NAME cl-syntax FILENAME cl-syntax)
|
||||
(NAME cl-project FILENAME cl-project) (NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-emb FILENAME cl-emb) (NAME anaphora FILENAME anaphora))
|
||||
DEPENDENCIES (myway local-time do-urlencode clack-v1-compat cl-syntax-annot cl-syntax cl-project cl-ppcre cl-emb anaphora) VERSION 20170630-git SIBLINGS
|
||||
(caveman-middleware-dbimanager caveman-test caveman2-db caveman2-test caveman2)) */
|
||||
/* (SYSTEM caveman DESCRIPTION Web Application Framework for Common Lisp SHA256
|
||||
0wpjnskcvrgvqn9gbr43yqnpcxfmdggbiyaxz9rrhgcis2rwjkj2 URL
|
||||
http://beta.quicklisp.org/archive/caveman/2017-06-30/caveman-20170630-git.tgz
|
||||
MD5 774f85fa78792bde012bad78efff4b53 NAME caveman FILENAME caveman DEPS
|
||||
((NAME anaphora FILENAME anaphora) (NAME cl-emb FILENAME cl-emb)
|
||||
(NAME cl-ppcre FILENAME cl-ppcre) (NAME cl-project FILENAME cl-project)
|
||||
(NAME cl-syntax FILENAME cl-syntax)
|
||||
(NAME cl-syntax-annot FILENAME cl-syntax-annot)
|
||||
(NAME clack-v1-compat FILENAME clack-v1-compat)
|
||||
(NAME do-urlencode FILENAME do-urlencode)
|
||||
(NAME local-time FILENAME local-time) (NAME myway FILENAME myway))
|
||||
DEPENDENCIES
|
||||
(anaphora cl-emb cl-ppcre cl-project cl-syntax cl-syntax-annot
|
||||
clack-v1-compat do-urlencode local-time myway)
|
||||
VERSION 20170630-git SIBLINGS
|
||||
(caveman-middleware-dbimanager caveman-test caveman2-db caveman2-test
|
||||
caveman2)
|
||||
PARASITES NIL) */
|
||||
|
@ -5,32 +5,26 @@ rec {
|
||||
|
||||
description = ''The CFFI Groveller'';
|
||||
|
||||
deps = [ args."alexandria" ];
|
||||
deps = [ args."alexandria" args."babel" args."cffi" args."cffi-toolchain" args."trivial-features" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz'';
|
||||
sha256 = ''12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "cffi-grovel";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cffi-grovel[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["cffi-grovel.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM cffi-grovel DESCRIPTION The CFFI Groveller SHA256 12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
|
||||
http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5 7589b6437fec19fdabc65892536c3dc3 NAME cffi-grovel TESTNAME NIL FILENAME cffi-grovel
|
||||
DEPS ((NAME alexandria FILENAME alexandria)) DEPENDENCIES (alexandria) VERSION cffi_0.19.0 SIBLINGS
|
||||
(cffi-examples cffi-libffi cffi-tests cffi-toolchain cffi-uffi-compat cffi)) */
|
||||
/* (SYSTEM cffi-grovel DESCRIPTION The CFFI Groveller SHA256
|
||||
12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
|
||||
http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5
|
||||
7589b6437fec19fdabc65892536c3dc3 NAME cffi-grovel FILENAME cffi-grovel DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
|
||||
(NAME cffi FILENAME cffi) (NAME cffi-toolchain FILENAME cffi-toolchain)
|
||||
(NAME trivial-features FILENAME trivial-features))
|
||||
DEPENDENCIES (alexandria babel cffi cffi-toolchain trivial-features)
|
||||
VERSION cffi_0.19.0 SIBLINGS
|
||||
(cffi-examples cffi-libffi cffi-tests cffi-toolchain cffi-uffi-compat cffi)
|
||||
PARASITES NIL) */
|
||||
|
@ -0,0 +1,31 @@
|
||||
args @ { fetchurl, ... }:
|
||||
rec {
|
||||
baseName = ''cffi-toolchain'';
|
||||
version = ''cffi_0.19.0'';
|
||||
|
||||
description = ''The CFFI toolchain'';
|
||||
|
||||
deps = [ args."alexandria" args."babel" args."cffi" args."trivial-features" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz'';
|
||||
sha256 = ''12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9'';
|
||||
};
|
||||
|
||||
packageName = "cffi-toolchain";
|
||||
|
||||
asdFilesToKeep = ["cffi-toolchain.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM cffi-toolchain DESCRIPTION The CFFI toolchain SHA256
|
||||
12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
|
||||
http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5
|
||||
7589b6437fec19fdabc65892536c3dc3 NAME cffi-toolchain FILENAME
|
||||
cffi-toolchain DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
|
||||
(NAME cffi FILENAME cffi)
|
||||
(NAME trivial-features FILENAME trivial-features))
|
||||
DEPENDENCIES (alexandria babel cffi trivial-features) VERSION cffi_0.19.0
|
||||
SIBLINGS
|
||||
(cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-uffi-compat cffi)
|
||||
PARASITES NIL) */
|
@ -3,35 +3,32 @@ rec {
|
||||
baseName = ''cffi'';
|
||||
version = ''cffi_0.19.0'';
|
||||
|
||||
parasites = [ "cffi/c2ffi" "cffi/c2ffi-generator" ];
|
||||
|
||||
description = ''The Common Foreign Function Interface'';
|
||||
|
||||
deps = [ args."uiop" args."trivial-features" args."babel" args."alexandria" ];
|
||||
deps = [ args."alexandria" args."babel" args."cl-json" args."cl-ppcre" args."trivial-features" args."uiop" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz'';
|
||||
sha256 = ''12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "cffi";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cffi[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["cffi.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM cffi DESCRIPTION The Common Foreign Function Interface SHA256 12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
|
||||
http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5 7589b6437fec19fdabc65892536c3dc3 NAME cffi TESTNAME NIL FILENAME cffi DEPS
|
||||
((NAME uiop FILENAME uiop) (NAME trivial-features FILENAME trivial-features) (NAME babel FILENAME babel) (NAME alexandria FILENAME alexandria))
|
||||
DEPENDENCIES (uiop trivial-features babel alexandria) VERSION cffi_0.19.0 SIBLINGS
|
||||
(cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-toolchain cffi-uffi-compat)) */
|
||||
/* (SYSTEM cffi DESCRIPTION The Common Foreign Function Interface SHA256
|
||||
12v3ha0qp3f9lq2h3d7y3mwdq216nsdfig0s3c4akw90rsbnydj9 URL
|
||||
http://beta.quicklisp.org/archive/cffi/2017-06-30/cffi_0.19.0.tgz MD5
|
||||
7589b6437fec19fdabc65892536c3dc3 NAME cffi FILENAME cffi DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
|
||||
(NAME cl-json FILENAME cl-json) (NAME cl-ppcre FILENAME cl-ppcre)
|
||||
(NAME trivial-features FILENAME trivial-features)
|
||||
(NAME uiop FILENAME uiop))
|
||||
DEPENDENCIES (alexandria babel cl-json cl-ppcre trivial-features uiop)
|
||||
VERSION cffi_0.19.0 SIBLINGS
|
||||
(cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-toolchain
|
||||
cffi-uffi-compat)
|
||||
PARASITES (cffi/c2ffi cffi/c2ffi-generator)) */
|
||||
|
@ -11,25 +11,15 @@ rec {
|
||||
url = ''http://beta.quicklisp.org/archive/chipz/2016-03-18/chipz-20160318-git.tgz'';
|
||||
sha256 = ''1dpsg8kd43k075xihb0szcq1f7iq8ryg5r77x5wi6hy9jhpq8826'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "chipz";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/chipz[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["chipz.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM chipz DESCRIPTION A library for decompressing deflate, zlib, and gzip data SHA256 1dpsg8kd43k075xihb0szcq1f7iq8ryg5r77x5wi6hy9jhpq8826 URL
|
||||
http://beta.quicklisp.org/archive/chipz/2016-03-18/chipz-20160318-git.tgz MD5 625cb9c551f3692799e2029d4a0dd7e9 NAME chipz TESTNAME NIL FILENAME chipz DEPS
|
||||
NIL DEPENDENCIES NIL VERSION 20160318-git SIBLINGS NIL) */
|
||||
/* (SYSTEM chipz DESCRIPTION
|
||||
A library for decompressing deflate, zlib, and gzip data SHA256
|
||||
1dpsg8kd43k075xihb0szcq1f7iq8ryg5r77x5wi6hy9jhpq8826 URL
|
||||
http://beta.quicklisp.org/archive/chipz/2016-03-18/chipz-20160318-git.tgz
|
||||
MD5 625cb9c551f3692799e2029d4a0dd7e9 NAME chipz FILENAME chipz DEPS NIL
|
||||
DEPENDENCIES NIL VERSION 20160318-git SIBLINGS NIL PARASITES NIL) */
|
||||
|
@ -11,25 +11,15 @@ rec {
|
||||
url = ''http://beta.quicklisp.org/archive/chunga/2014-12-17/chunga-1.1.6.tgz'';
|
||||
sha256 = ''1ivdfi9hjkzp2anhpjm58gzrjpn6mdsp35km115c1j1c4yhs9lzg'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "chunga";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/chunga[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["chunga.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM chunga DESCRIPTION NIL SHA256 1ivdfi9hjkzp2anhpjm58gzrjpn6mdsp35km115c1j1c4yhs9lzg URL
|
||||
http://beta.quicklisp.org/archive/chunga/2014-12-17/chunga-1.1.6.tgz MD5 75f5c4f9dec3a8a181ed5ef7e5d700b5 NAME chunga TESTNAME NIL FILENAME chunga DEPS
|
||||
((NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES (trivial-gray-streams) VERSION 1.1.6 SIBLINGS NIL) */
|
||||
/* (SYSTEM chunga DESCRIPTION NIL SHA256
|
||||
1ivdfi9hjkzp2anhpjm58gzrjpn6mdsp35km115c1j1c4yhs9lzg URL
|
||||
http://beta.quicklisp.org/archive/chunga/2014-12-17/chunga-1.1.6.tgz MD5
|
||||
75f5c4f9dec3a8a181ed5ef7e5d700b5 NAME chunga FILENAME chunga DEPS
|
||||
((NAME trivial-gray-streams FILENAME trivial-gray-streams)) DEPENDENCIES
|
||||
(trivial-gray-streams) VERSION 1.1.6 SIBLINGS NIL PARASITES NIL) */
|
||||
|
@ -5,32 +5,26 @@ rec {
|
||||
|
||||
description = ''Circularly readable streams for Common Lisp'';
|
||||
|
||||
deps = [ args."trivial-gray-streams" args."fast-io" ];
|
||||
deps = [ args."alexandria" args."fast-io" args."static-vectors" args."trivial-gray-streams" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz'';
|
||||
sha256 = ''1i29b9sciqs5x59hlkdj2r4siyqgrwj5hb4lnc80jgfqvzbq4128'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "circular-streams";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/circular-streams[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["circular-streams.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM circular-streams DESCRIPTION Circularly readable streams for Common Lisp SHA256 1i29b9sciqs5x59hlkdj2r4siyqgrwj5hb4lnc80jgfqvzbq4128 URL
|
||||
http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz MD5 2383f3b82fa3335d9106e1354a678db8 NAME circular-streams
|
||||
TESTNAME NIL FILENAME circular-streams DEPS ((NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME fast-io FILENAME fast-io)) DEPENDENCIES
|
||||
(trivial-gray-streams fast-io) VERSION 20161204-git SIBLINGS (circular-streams-test)) */
|
||||
/* (SYSTEM circular-streams DESCRIPTION
|
||||
Circularly readable streams for Common Lisp SHA256
|
||||
1i29b9sciqs5x59hlkdj2r4siyqgrwj5hb4lnc80jgfqvzbq4128 URL
|
||||
http://beta.quicklisp.org/archive/circular-streams/2016-12-04/circular-streams-20161204-git.tgz
|
||||
MD5 2383f3b82fa3335d9106e1354a678db8 NAME circular-streams FILENAME
|
||||
circular-streams DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME fast-io FILENAME fast-io)
|
||||
(NAME static-vectors FILENAME static-vectors)
|
||||
(NAME trivial-gray-streams FILENAME trivial-gray-streams))
|
||||
DEPENDENCIES (alexandria fast-io static-vectors trivial-gray-streams)
|
||||
VERSION 20161204-git SIBLINGS (circular-streams-test) PARASITES NIL) */
|
||||
|
@ -3,38 +3,35 @@ rec {
|
||||
baseName = ''cl+ssl'';
|
||||
version = ''cl+ssl-20170725-git'';
|
||||
|
||||
parasites = [ "openssl-1.1.0" ];
|
||||
|
||||
description = ''Common Lisp interface to OpenSSL.'';
|
||||
|
||||
deps = [ args."uiop" args."trivial-gray-streams" args."trivial-garbage" args."trivial-features" args."flexi-streams" args."cffi" args."bordeaux-threads" args."alexandria" ];
|
||||
deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."flexi-streams" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."uiop" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = ''http://beta.quicklisp.org/archive/cl+ssl/2017-07-25/cl+ssl-20170725-git.tgz'';
|
||||
sha256 = ''1p5886l5bwz4bj2xy8mpsjswg103b8saqdnw050a4wk9shpj1j69'';
|
||||
};
|
||||
|
||||
|
||||
packageName = "cl+ssl";
|
||||
|
||||
overrides = x: {
|
||||
postInstall = ''
|
||||
find "$out/lib/common-lisp/" -name '*.asd' | grep -iv '/cl+ssl[.]asd${"$"}' |
|
||||
while read f; do
|
||||
env -i \
|
||||
NIX_LISP="$NIX_LISP" \
|
||||
NIX_LISP_PRELAUNCH_HOOK="nix_lisp_run_single_form '(progn
|
||||
(asdf:load-system :$(basename "$f" .asd))
|
||||
(asdf:perform (quote asdf:compile-bundle-op) :$(basename "$f" .asd))
|
||||
(ignore-errors (asdf:perform (quote asdf:deliver-asd-op) :$(basename "$f" .asd)))
|
||||
)'" \
|
||||
"$out"/bin/*-lisp-launcher.sh ||
|
||||
mv "$f"{,.sibling}; done || true
|
||||
'';
|
||||
};
|
||||
asdFilesToKeep = ["cl+ssl.asd"];
|
||||
overrides = x: x;
|
||||
}
|
||||
/* (SYSTEM cl+ssl DESCRIPTION Common Lisp interface to OpenSSL. SHA256 1p5886l5bwz4bj2xy8mpsjswg103b8saqdnw050a4wk9shpj1j69 URL
|
||||
http://beta.quicklisp.org/archive/cl+ssl/2017-07-25/cl+ssl-20170725-git.tgz MD5 3458c83f442395e0492c7e9b9720a1f2 NAME cl+ssl TESTNAME NIL FILENAME cl+ssl
|
||||
DEPS
|
||||
((NAME uiop FILENAME uiop) (NAME trivial-gray-streams FILENAME trivial-gray-streams) (NAME trivial-garbage FILENAME trivial-garbage)
|
||||
(NAME trivial-features FILENAME trivial-features) (NAME flexi-streams FILENAME flexi-streams) (NAME cffi FILENAME cffi)
|
||||
(NAME bordeaux-threads FILENAME bordeaux-threads) (NAME alexandria FILENAME alexandria))
|
||||
DEPENDENCIES (uiop trivial-gray-streams trivial-garbage trivial-features flexi-streams cffi bordeaux-threads alexandria) VERSION cl+ssl-20170725-git
|
||||
SIBLINGS (cl+ssl.test)) */
|
||||
/* (SYSTEM cl+ssl DESCRIPTION Common Lisp interface to OpenSSL. SHA256
|
||||
1p5886l5bwz4bj2xy8mpsjswg103b8saqdnw050a4wk9shpj1j69 URL
|
||||
http://beta.quicklisp.org/archive/cl+ssl/2017-07-25/cl+ssl-20170725-git.tgz
|
||||
MD5 3458c83f442395e0492c7e9b9720a1f2 NAME cl+ssl FILENAME cl+ssl DEPS
|
||||
((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
|
||||
(NAME bordeaux-threads FILENAME bordeaux-threads)
|
||||
(NAME cffi FILENAME cffi) (NAME flexi-streams FILENAME flexi-streams)
|
||||
(NAME trivial-features FILENAME trivial-features)
|
||||
(NAME trivial-garbage FILENAME trivial-garbage)
|
||||
(NAME trivial-gray-streams FILENAME trivial-gray-streams)
|
||||
(NAME uiop FILENAME uiop))
|
||||
DEPENDENCIES
|
||||
(alexandria babel bordeaux-threads cffi flexi-streams trivial-features
|
||||
trivial-garbage trivial-gray-streams uiop)
|
||||
VERSION cl+ssl-20170725-git SIBLINGS (cl+ssl.test) PARASITES
|
||||
(openssl-1.1.0)) */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user