Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Frederik Rietdijk 2017-09-05 10:11:06 +02:00
commit d7ef196c26
113 changed files with 2897 additions and 15463 deletions

View file

@ -5,10 +5,7 @@
<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->
- [ ] Tested using sandboxing
([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS,
or option `build-use-sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file)
on non-NixOS)
- [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `build-use-sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS)
- Built on platform(s)
- [ ] NixOS
- [ ] macOS

View file

@ -198,7 +198,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
eupl11 = spdx {
spdxId = "EUPL-1.1";
fullname = "European Union Public License 1.1";
fullName = "European Union Public License 1.1";
};
fdl12 = spdx {
@ -363,7 +363,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
};
miros = {
fullname = "MirOS License";
fullName = "MirOS License";
url = https://opensource.org/licenses/MirOS;
};

View file

@ -252,6 +252,7 @@
igsha = "Igor Sharonov <igor.sharonov@gmail.com>";
ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>";
infinisil = "Silvan Mosberger <infinisil@icloud.com>";
ironpinguin = "Michele Catalano <michele@catalano.de>";
ivan-tkatchev = "Ivan Tkatchev <tkatchev@gmail.com>";
j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
jagajaga = "Arseniy Seroka <ars.seroka@gmail.com>";

View file

@ -193,6 +193,15 @@ rmdir /var/lib/ipfs/.ipfs
No complete replacement for grsecurity/PaX is available presently.
</para>
</listitem>
<listitem>
<para>
The <literal>gnupg</literal> package used to suffix its programs
with <literal>2</literal>, like <command>gpg2</command> and
<command>gpgv2</command>. This suffix has since been dropped,
and the programs are now simply <command>gpg</command>,
<command>gpgv</command>, etc.
</para>
</listitem>
</itemizedlist>
<para>Other notable improvements:</para>

View file

@ -43,7 +43,7 @@ with lib;
<literal>"all"</literal> means that all locales supported by
Glibc will be installed. A full list of supported locales
can be found at <link
xlink:href="http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc"/>.
xlink:href="https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED"/>.
'';
};

View file

@ -204,6 +204,7 @@
./services/desktops/gnome3/gnome-online-miners.nix
./services/desktops/gnome3/gnome-terminal-server.nix
./services/desktops/gnome3/gnome-user-share.nix
./services/desktops/gnome3/gpaste.nix
./services/desktops/gnome3/gvfs.nix
./services/desktops/gnome3/seahorse.nix
./services/desktops/gnome3/sushi.nix
@ -587,6 +588,7 @@
./services/web-apps/frab.nix
./services/web-apps/mattermost.nix
./services/web-apps/nixbot.nix
./services/web-apps/nexus.nix
./services/web-apps/pgpkeyserver-lite.nix
./services/web-apps/piwik.nix
./services/web-apps/pump.io.nix

View file

@ -0,0 +1,30 @@
# GPaste daemon.
{ config, lib, ... }:
with lib;
let
gnome3 = config.environment.gnome3.packageSet;
in
{
###### interface
options = {
services.gnome3.gpaste = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable GPaste, a clipboard manager.
'';
};
};
};
###### implementation
config = mkIf config.services.gnome3.gpaste.enable {
environment.systemPackages = [ gnome3.gpaste ];
services.dbus.packages = [ gnome3.gpaste ];
services.xserver.desktopManager.gnome3.sessionPath = [ gnome3.gpaste ];
systemd.packages = [ gnome3.gpaste ];
};
}

View file

@ -10,7 +10,7 @@ let
ruby = cfg.packages.gitlab.ruby;
bundler = pkgs.bundler;
gemHome = "${cfg.packages.gitlab.ruby-env}/${ruby.gemPath}";
gemHome = "${cfg.packages.gitlab.rubyEnv}/${ruby.gemPath}";
gitlabSocket = "${cfg.statePath}/tmp/sockets/gitlab.socket";
gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket";
@ -29,7 +29,13 @@ let
gitalyToml = pkgs.writeText "gitaly.toml" ''
socket_path = "${lib.escape ["\""] gitalySocket}"
# prometheus metrics
prometheus_listen_addr = "localhost:9236"
[gitaly-ruby]
dir = "${cfg.packages.gitaly.ruby}"
[gitlab-shell]
dir = "${cfg.packages.gitlab-shell}"
${concatStringsSep "\n" (attrValues (mapAttrs (k: v: ''
[[storage]]
@ -54,6 +60,11 @@ let
namespace: resque:gitlab
'';
redisYml = ''
production:
url: redis://localhost:6379/
'';
secretsYml = ''
production:
secret_key_base: ${cfg.secrets.secret}
@ -101,11 +112,22 @@ let
upload_pack = true;
receive_pack = true;
};
workhorse = {
secret_file = "${cfg.statePath}/.gitlab_workhorse_secret";
};
git = {
bin_path = "git";
max_size = 20971520; # 20MB
timeout = 10;
};
monitoring = {
ip_whitelist = [ "127.0.0.0/8" "::1/128" ];
sidekiq_exporter = {
enable = true;
address = "localhost";
port = 3807;
};
};
extra = {};
};
};
@ -123,6 +145,8 @@ let
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}/home/hooks";
GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "gitlab-redis.yml" redisYml;
prometheus_multiproc_dir = "/run/gitlab";
RAILS_ENV = "production";
};
@ -130,12 +154,12 @@ let
gitlab-rake = pkgs.stdenv.mkDerivation rec {
name = "gitlab-rake";
buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.ruby-env pkgs.makeWrapper ];
buildInputs = [ cfg.packages.gitlab cfg.packages.gitlab.rubyEnv pkgs.makeWrapper ];
phases = "installPhase fixupPhase";
buildPhase = "";
installPhase = ''
mkdir -p $out/bin
makeWrapper ${cfg.packages.gitlab.ruby-env}/bin/bundle $out/bin/gitlab-bundle \
makeWrapper ${cfg.packages.gitlab.rubyEnv}/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 pkgs.git pkgs.gnutar config.services.postgresql.package ]}:$PATH' \
@ -455,6 +479,7 @@ in {
ruby
openssh
nodejs
gnupg
];
serviceConfig = {
Type = "simple";
@ -463,7 +488,7 @@ in {
TimeoutSec = "300";
Restart = "on-failure";
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
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\"";
ExecStart="${cfg.packages.gitlab.rubyEnv}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\"";
};
};
@ -471,7 +496,7 @@ in {
after = [ "network.target" "gitlab.service" ];
wantedBy = [ "multi-user.target" ];
environment.HOME = gitlabEnv.HOME;
path = with pkgs; [ gitAndTools.git ];
path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv ];
serviceConfig = {
#PermissionsStartOnly = true; # preStart must be run as root
Type = "simple";
@ -515,7 +540,7 @@ in {
+ "-listenAddr /run/gitlab/gitlab-workhorse.socket "
+ "-authSocket ${gitlabSocket} "
+ "-documentRoot ${cfg.packages.gitlab}/share/gitlab/public "
+ "-secretPath ${cfg.packages.gitlab}/share/gitlab/.gitlab_workhorse_secret";
+ "-secretPath ${cfg.statePath}/.gitlab_workhorse_secret";
};
};
@ -551,7 +576,8 @@ in {
# symlinked in the gitlab package to /run/gitlab/uploads to make it
# configurable
mkdir -p /run/gitlab
mkdir -p ${cfg.statePath}/uploads
mkdir -p ${cfg.statePath}/{log,uploads}
ln -sf ${cfg.statePath}/log /run/gitlab/log
ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
chown -R ${cfg.user}:${cfg.group} /run/gitlab
@ -599,7 +625,7 @@ in {
# up the initial database
if ! test -e "${cfg.statePath}/db-seeded"; then
${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \
GITLAB_ROOT_PASSWORD="${cfg.initialRootPassword}" GITLAB_ROOT_EMAIL="${cfg.initialRootEmail}"
GITLAB_ROOT_PASSWORD='${cfg.initialRootPassword}' GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
touch "${cfg.statePath}/db-seeded"
fi
@ -618,7 +644,7 @@ in {
TimeoutSec = "300";
Restart = "on-failure";
WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab";
ExecStart = "${cfg.packages.gitlab.ruby-env}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec \"unicorn -c ${cfg.statePath}/config/unicorn.rb -E production\"";
};
};

View file

@ -0,0 +1,100 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.nexus;
in
{
options = {
services.nexus = {
enable = mkEnableOption "SonarType Nexus3 OSS service";
user = mkOption {
type = types.str;
default = "nexus";
description = "User which runs Nexus3.";
};
group = mkOption {
type = types.str;
default = "nexus";
description = "Group which runs Nexus3.";
};
home = mkOption {
type = types.str;
default = "/var/lib/sonatype-work";
description = "Home directory of the Nexus3 instance.";
};
listenAddress = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Address to listen on.";
};
listenPort = mkOption {
type = types.int;
default = 8081;
description = "Port to listen on.";
};
};
};
config = mkIf cfg.enable {
users.extraUsers."${cfg.user}" = {
isSystemUser = true;
group = cfg.group;
};
users.extraGroups."${cfg.group}" = {};
systemd.services.nexus = {
description = "SonarType Nexus3";
wantedBy = [ "multi-user.target" ];
path = [ cfg.home ];
environment = {
NEXUS_USER = cfg.user;
NEXUS_HOME = cfg.home;
};
preStart = ''
mkdir -p ${cfg.home}/nexus3/etc
ln -sf ${cfg.home} /run/sonatype-work
chown -R ${cfg.user}:${cfg.group} ${cfg.home}
if [ ! -f ${cfg.home}/nexus3/etc/nexus.properties ]; then
echo "# Jetty section" > ${cfg.home}/nexus3/etc/nexus.properties
echo "application-port=${toString cfg.listenPort}" >> ${cfg.home}/nexus3/etc/nexus.properties
echo "application-host=${toString cfg.listenAddress}" >> ${cfg.home}/nexus3/etc/nexus.properties
else
sed 's/^application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties
sed 's/^# application-port=.*/application-port=${toString cfg.listenPort}/' -i ${cfg.home}/nexus3/etc/nexus.properties
sed 's/^application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties
sed 's/^# application-host=.*/application-host=${toString cfg.listenAddress}/' -i ${cfg.home}/nexus3/etc/nexus.properties
fi
'';
script = "${pkgs.nexus}/bin/nexus run";
serviceConfig = {
User = cfg.user;
Group = cfg.group;
PrivateTmp = true;
PermissionsStartOnly = true;
LimitNOFILE = 102642;
};
};
};
meta.maintainers = with stdenv.lib.maintainers; [ ironpinguin ];
}

View file

@ -507,7 +507,6 @@ in
example = literalExample ''
{
"hydra.example.com" = {
addSSL = true;
forceSSL = true;
enableACME = true;
locations."/" = {

View file

@ -34,6 +34,12 @@ in
};
pulseaudio = mkEnableOption "pulseaudio audio streaming.";
extraOptions = mkOption {
description = "Extra xpra options";
default = [];
type = types.listOf types.str;
};
};
};
@ -233,7 +239,8 @@ in
--socket-dirs=/var/run/xpra \
--xvfb="xpra_Xdummy ${concatStringsSep " " dmcfg.xserverArgs}" \
${optionalString (cfg.bindTcp != null) "--bind-tcp=${cfg.bindTcp}"} \
--auth=${cfg.auth}
--auth=${cfg.auth} \
${concatStringsSep " " cfg.extraOptions}
'';
};

34
nixos/tests/nexus.nix Normal file
View file

@ -0,0 +1,34 @@
# verifies:
# 1. nexus service starts on server
# 2. nexus user can be extended on server
# 3. nexus service not can startup on server (creating database and all other initial stuff)
import ./make-test.nix ({ pkgs, ...} : {
name = "nexus";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ironpinguin ];
};
nodes = {
server =
{ config, pkgs, ... }:
{ virtualisation.memorySize = 2048;
services.nexus.enable = true;
users.extraUsers.nexus.extraGroups = [ "users" ];
};
};
testScript = ''
startAll;
$server->waitForUnit("nexus");
print $server->execute("sudo -u nexus groups");
$server->mustSucceed("sudo -u nexus groups | grep nexus | grep users");
$server->waitForOpenPort(8081);
'';
})

View file

@ -1,20 +1,28 @@
{ stdenv, lib, clang, buildGoPackage, fetchgit }:
{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "go-ethereum-${version}";
version = "1.6.6";
rev = "refs/tags/v${version}";
version = "1.6.7";
goPackagePath = "github.com/ethereum/go-ethereum";
buildInputs = [ clang ];
preBuild = "export CC=clang";
# Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
hardeningDisable = [ "fortify" ];
src = fetchgit {
inherit rev;
url = "https://${goPackagePath}";
sha256 = "066s7fp9pbyq670xwnib4p7zaxs941r9kpvj2hm6bkr28yrpvp1a";
src = fetchFromGitHub {
owner = "ethereum";
repo = "go-ethereum";
rev = "v${version}";
sha256 = "19cq0pmif4y33v34jzvam4mcszl8vf2saf2gzfz01l4x1iv4hf1r";
};
# Fix cyclic referencing on Darwin
postInstall = stdenv.lib.optionalString (stdenv.isDarwin) ''
for file in $bin/bin/*; do
# Not all files are referencing $out/lib so consider this step non-critical
install_name_tool -delete_rpath $out/lib $file || true
done
'';
meta = {
homepage = https://ethereum.github.io/go-ethereum/;
description = "Official golang implementation of the Ethereum protocol";

View file

@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
GenericName=Digital Audio Workstation
Comment=Multitrack harddisk recorder
Exec=$out/bin/ardour5
Icon=$out/share/ardour5/icons/ardour_icon_256px.png
Icon=$out/share/ardour5/resources/Ardour-icon_256px.png
Terminal=false
Type=Application
X-MultipleArgs=false

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
, libtool, libuv, luajit, luaPackages, ncurses, perl, pkgconfig
, libtool, libuv, luajit, luajitPackages, luaPackages, ncurses, perl, pkgconfig
, unibilium, makeWrapper, vimUtils, xsel, gperf
, withPython ? true, pythonPackages, extraPythonPackages ? []
@ -115,7 +115,7 @@ let
LUA_PATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaPath lualibs);
LUA_CPATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaCPath lualibs);
lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
lualibs = [ luaPackages.mpack luaPackages.lpeg luajitPackages.lpeg luaPackages.luabitop ];
cmakeFlags = [
"-DLUA_PRG=${luaPackages.lua}/bin/lua"

View file

@ -9,11 +9,11 @@ let
in
stdenv.mkDerivation rec {
version = "0.4.8";
version = "0.4.8.2016";
name = "xournal-" + version;
src = fetchurl {
url = "mirror://sourceforge/xournal/${name}.tar.gz";
sha256 = "0c7gjcqhygiyp0ypaipdaxgkbivg6q45vhsj8v5jsi9nh6iqff13";
sha256 = "09i88v3wacmx7f96dmq0l3afpyv95lh6jrx16xzm0jd1szdrhn5j";
};
buildInputs = [
@ -26,10 +26,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
patches = stdenv.lib.optionals isGdkQuartzBackend [
./gdk-quartz-backend.patch
];
NIX_LDFLAGS = [ "-lz" ]
++ stdenv.lib.optionals (!isGdkQuartzBackend) [ "-lX11" ];

View file

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

View file

@ -29,13 +29,13 @@ let
in
buildRustPackage rec {
name = "alacritty-unstable-2017-08-28";
name = "alacritty-unstable-2017-09-02";
src = fetchFromGitHub {
owner = "jwilm";
repo = "alacritty";
rev = "c4ece6dde3c9dcf825a44aa775535a65c0c376a6";
sha256 = "1n1ncz45h0zgprsm2wkj11i9wwpg3kba4wv5mcs1xx793aq16x82";
rev = "22fa4260fc9210fbb5288090df79c92e7b3788e4";
sha256 = "0jjvvm0fm25p1h1rgfqlnhq4bwrjdxpb2pgnmpik9pl7qwy3q7s1";
};
depsSha256 = "19lrj4i6vzmf22r6xg99zcwvzjpiar8pqin1m2nvv78xzxx5yvgb";

View file

@ -300,6 +300,10 @@ stdenv.mkDerivation rec {
PULSE_SERVER="\''${PULSE_SERVER:-}" \
PULSE_COOKIE="\''${PULSE_COOKIE:-}" \
\
TOR_SKIP_LAUNCH="\''${TOR_SKIP_LAUNCH:-}" \
TOR_CONTROL_PORT="\''${TOR_CONTROL_PORT:-}" \
TOR_SOCKS_PORT="\''${TOR_SOCKS_PORT:-}" \
\
GST_PLUGIN_SYSTEM_PATH="${optionalString mediaSupport gstPluginsPath}" \
GST_REGISTRY="/dev/null" \
GST_REGISTRY_UPDATE="no" \

View file

@ -3,12 +3,14 @@
, openssl ? null
, cyrus_sasl ? null
, gpgme ? null
, kerberos ? null
, headerCache ? true
, sslSupport ? true
, saslSupport ? true
, gpgmeSupport ? true
, imapSupport ? true
, withSidebar ? true
, gssSupport ? true
}:
assert headerCache -> gdbm != null;
@ -35,6 +37,7 @@ stdenv.mkDerivation rec {
[ ncurses which perl ]
++ optional headerCache gdbm
++ optional sslSupport openssl
++ optional gssSupport kerberos
++ optional saslSupport cyrus_sasl
++ optional gpgmeSupport gpgme;
@ -58,6 +61,7 @@ stdenv.mkDerivation rec {
# I set the value 'mailbox' because it is a default in the configure script
"--with-homespool=mailbox"
] ++ optional sslSupport "--with-ssl"
++ optional gssSupport "--with-gss"
++ optional saslSupport "--with-sasl";
meta = {

View file

@ -60,7 +60,7 @@ let
meta = {
description = "Low-latency, high quality voice chat software";
homepage = http://mumble.sourceforge.net/;
homepage = https://mumble.info;
license = licenses.bsd3;
maintainers = with maintainers; [ viric jgeerds wkennington ];
platforms = platforms.linux;

View file

@ -7,11 +7,11 @@
mkDerivation rec {
name = "skrooge-${version}";
version = "2.8.1";
version = "2.9.0";
src = fetchurl {
url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
sha256 = "0q34fh86yjd471jf6xa87vy4l8i1s3gqjzqrxbh0rnr79avns5lg";
sha256 = "1dbvdrkdpgv39v8h7k3mri0nzlslfyd5kk410czj0jdn4qq400md";
};
nativeBuildInputs = [ cmake extra-cmake-modules shared_mime_info ];

View file

@ -0,0 +1,5 @@
source 'https://rubygems.org'
gem 'github-linguist', '~> 4.7.0', require: 'linguist'
gem 'gitaly', '~> 0.30.0'
gem 'activesupport'

View file

@ -0,0 +1,70 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (5.0.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (~> 0.7)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.5.1)
public_suffix (~> 2.0, >= 2.0.2)
charlock_holmes (0.7.5)
concurrent-ruby (1.0.5)
escape_utils (1.1.1)
faraday (0.12.2)
multipart-post (>= 1.2, < 3)
gitaly (0.30.0)
google-protobuf (~> 3.1)
grpc (~> 1.0)
github-linguist (4.7.6)
charlock_holmes (~> 0.7.3)
escape_utils (~> 1.1.0)
mime-types (>= 1.19)
rugged (>= 0.23.0b)
google-protobuf (3.3.0)
googleauth (0.5.3)
faraday (~> 0.12)
jwt (~> 1.4)
logging (~> 2.0)
memoist (~> 0.12)
multi_json (~> 1.11)
os (~> 0.9)
signet (~> 0.7)
grpc (1.4.1)
google-protobuf (~> 3.1)
googleauth (~> 0.5.1)
i18n (0.8.1)
jwt (1.5.6)
little-plugger (1.1.4)
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
memoist (0.16.0)
mime-types (3.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521)
minitest (5.9.1)
multi_json (1.12.1)
multipart-post (2.0.0)
os (0.9.6)
public_suffix (2.0.5)
rugged (0.26.0)
signet (0.7.3)
addressable (~> 2.3)
faraday (~> 0.9)
jwt (~> 1.5)
multi_json (~> 1.10)
thread_safe (0.3.6)
tzinfo (1.2.2)
thread_safe (~> 0.1)
PLATFORMS
ruby
DEPENDENCIES
activesupport
gitaly (~> 0.30.0)
github-linguist (~> 4.7.0)
BUNDLED WITH
1.15.3

View file

@ -1,26 +1,34 @@
{ stdenv, fetchFromGitLab, git, go }:
{ stdenv, fetchFromGitLab, buildGoPackage, ruby, bundlerEnv }:
stdenv.mkDerivation rec {
version = "0.21.2";
let
rubyEnv = bundlerEnv {
name = "gitaly-env";
inherit ruby;
gemdir = ./.;
};
in buildGoPackage rec {
version = "0.33.0";
name = "gitaly-${version}";
srcs = fetchFromGitLab {
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "025r6vcra2bjm6xggcgnsqgkpvd7y2w73ff6lxrn06lbr4dfbfrf";
sha256 = "1x23z3a0svychs1kc9cbiskl0dp7ji9ddzqr6md22jiy6vgwx2wa";
};
buildInputs = [ git go ];
goPackagePath = "gitlab.com/gitlab-org/gitaly";
buildPhase = ''
make PREFIX=$out
passthru = {
inherit rubyEnv;
};
postInstall = ''
mkdir -p $ruby
cp -rv $src/ruby/{bin,lib,vendor} $ruby
'';
installPhase = ''
mkdir -p $out/bin
make install PREFIX=$out
'';
outputs = [ "bin" "out" "ruby" ];
meta = with stdenv.lib; {
homepage = http://www.gitlab.com/;

View file

@ -0,0 +1,229 @@
{
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vgjr48yiynwf9rh2nsxa8w134na0805l40chf9g9scii9k70rj9";
type = "gem";
};
version = "5.0.0.1";
};
addressable = {
dependencies = ["public_suffix"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1i8q32a4gr0zghxylpyy7jfqwxvwrivsxflg9mks6kx92frh75mh";
type = "gem";
};
version = "2.5.1";
};
charlock_holmes = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "09dn56sx0kcw0k8ypiynhnhhiq7ff9m7b57l8wvnxj82wxsjb54y";
type = "gem";
};
version = "0.7.5";
};
concurrent-ruby = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
type = "gem";
};
version = "1.0.5";
};
escape_utils = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "088r5c2mz2vy2jbbx1xjbi8msnzg631ggli29nhik2spbcp1z6vh";
type = "gem";
};
version = "1.1.1";
};
faraday = {
dependencies = ["multipart-post"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2";
type = "gem";
};
version = "0.12.2";
};
gitaly = {
dependencies = ["google-protobuf" "grpc"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16ya0vqmrr3nsrsrcph1rqnb43gpvszhvs8v6viki5lvg9rdxb67";
type = "gem";
};
version = "0.30.0";
};
github-linguist = {
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c8w92yzjfs7pjnm8bdjsgyd1jpisn10fb6dy43381k1k8pxsifd";
type = "gem";
};
version = "4.7.6";
};
google-protobuf = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1q0ka7x53b9vx4wdb2jdvwxxpb5i5ns7fhqb9zgbrp8yy1bg9m9p";
type = "gem";
};
version = "3.3.0";
};
googleauth = {
dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xpmvrzhczak25nm0k3r9aa083lmfnzi94mir3g1xyrgzz66vxli";
type = "gem";
};
version = "0.5.3";
};
grpc = {
dependencies = ["google-protobuf" "googleauth"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hp8sfvl99imzp3c5sp96qpi49550v7ri7ljfvb3nllcmd3jw7sk";
type = "gem";
};
version = "1.4.1";
};
i18n = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1s6971zmjxszdrp59vybns9gzxpdxzdklakc5lp8nl4fx5kpxkbp";
type = "gem";
};
version = "0.8.1";
};
jwt = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "124zz1142bi2if7hl5pcrcamwchv4icyr5kaal9m2q6wqbdl6aw4";
type = "gem";
};
version = "1.5.6";
};
little-plugger = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
type = "gem";
};
version = "1.1.4";
};
logging = {
dependencies = ["little-plugger" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
type = "gem";
};
version = "2.2.2";
};
memoist = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh";
type = "gem";
};
version = "0.16.0";
};
mime-types = {
dependencies = ["mime-types-data"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m";
type = "gem";
};
version = "3.1";
};
mime-types-data = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm";
type = "gem";
};
version = "3.2016.0521";
};
minitest = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0300naf4ilpd9sf0k8si9h9sclkizaschn8bpnri5fqmvm9ybdbq";
type = "gem";
};
version = "5.9.1";
};
multi_json = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
type = "gem";
};
version = "1.12.1";
};
multipart-post = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x";
type = "gem";
};
version = "2.0.0";
};
os = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz";
type = "gem";
};
version = "0.9.6";
};
public_suffix = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "040jf98jpp6w140ghkhw2hvc1qx41zvywx5gj7r2ylr1148qnj7q";
type = "gem";
};
version = "2.0.5";
};
rugged = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rqhg6g2q2av3fb6iyzfd3hfjxvr8hs32w7llil2kbx73crvc2dy";
type = "gem";
};
version = "0.26.0";
};
signet = {
dependencies = ["addressable" "faraday" "jwt" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "149668991xqibvm8kvl10kzy891yd6f994b4gwlx6c3vl24v5jq6";
type = "gem";
};
version = "0.7.3";
};
thread_safe = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
type = "gem";
};
version = "0.3.6";
};
tzinfo = {
dependencies = ["thread_safe"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
type = "gem";
};
version = "1.2.2";
};
}

View file

@ -1,14 +1,14 @@
{ stdenv, ruby, bundler, fetchFromGitLab, go }:
stdenv.mkDerivation rec {
version = "5.3.1";
version = "5.8.0";
name = "gitlab-shell-${version}";
srcs = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-shell";
rev = "v${version}";
sha256 = "1w5j66qq9kzcjzz9hhd2zdmvffzk9986m8nprfy5q4k9kglph53q";
sha256 = "1zqd7lys309ylbg45vm1apyx9r82kq1drwinr3di2ybb64v3z2q8";
};
buildInputs = [

View file

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitLab, git, go }:
stdenv.mkDerivation rec {
version = "2.3.0";
version = "3.0.0";
name = "gitlab-workhorse-${version}";
srcs = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-workhorse";
rev = "v${version}";
sha256 = "07b82kjfm8r3ql55ifl0zbifnnsbvng4zlzjpbsb7lisg26s97w8";
sha256 = "0lz3bgwww640c7gh97vf40a8h6cz4znscl0r00z6iiwkc0xxzp7j";
};
buildInputs = [ git go ];

View file

@ -12,10 +12,11 @@ gem 'sprockets', '~> 3.7.0'
gem 'default_value_for', '~> 3.0.0'
# Supported DBs
gem 'mysql2', '~> 0.3.16', group: :mysql
gem 'mysql2', '~> 0.4.5', group: :mysql
gem 'pg', '~> 0.18.2', group: :postgres
gem 'rugged', '~> 0.25.1.1'
gem 'rugged', '~> 0.26.0'
gem 'grape-route-helpers', '~> 2.0.0'
gem 'faraday', '~> 0.12'
@ -37,7 +38,7 @@ 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 'omniauth-authentiq', '~> 0.3.1'
gem 'rack-oauth2', '~> 1.2.1'
gem 'jwt', '~> 1.5.6'
@ -57,10 +58,13 @@ gem 'validates_hostname', '~> 1.0.6'
# Browser detection
gem 'browser', '~> 2.2'
# GPG
gem 'gpgme'
# LDAP Auth
# GitLab fork with several improvements to original library. For full list of changes
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
gem 'gitlab_omniauth-ldap', '~> 2.0.2', require: 'omniauth-ldap'
gem 'gitlab_omniauth-ldap', '~> 2.0.3', require: 'omniauth-ldap'
gem 'net-ldap'
# Git Wiki
@ -72,7 +76,7 @@ gem 'gollum-rugged_adapter', '~> 0.4.4', require: false
gem 'github-linguist', '~> 4.7.0', require: 'linguist'
# API
gem 'grape', '~> 0.19.0'
gem 'grape', '~> 0.19.2'
gem 'grape-entity', '~> 0.6.0'
gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
@ -80,7 +84,7 @@ gem 'rack-cors', '~> 0.4.0', require: 'rack/cors'
gem 'hashie-forbidden_attributes'
# Pagination
gem 'kaminari', '~> 0.17.0'
gem 'kaminari', '~> 1.0'
# HAML
gem 'hamlit', '~> 2.6.1'
@ -92,7 +96,7 @@ gem 'carrierwave', '~> 1.1'
gem 'dropzonejs-rails', '~> 0.7.1'
# for backups
gem 'fog-aws', '~> 0.9'
gem 'fog-aws', '~> 1.4'
gem 'fog-core', '~> 1.44'
gem 'fog-google', '~> 0.5'
gem 'fog-local', '~> 0.3'
@ -150,7 +154,7 @@ gem 'acts-as-taggable-on', '~> 4.0'
gem 'sidekiq', '~> 5.0'
gem 'sidekiq-cron', '~> 0.6.0'
gem 'redis-namespace', '~> 1.5.2'
gem 'sidekiq-limit_fetch', '~> 3.4'
gem 'sidekiq-limit_fetch', '~> 3.4', require: false
# Cron Parser
gem 'rufus-scheduler', '~> 3.4'
@ -165,7 +169,7 @@ gem 'rainbow', '~> 2.2'
gem 'settingslogic', '~> 2.0.9'
# Linear-time regex library for untrusted regular expressions
gem 're2', '~> 1.0.0'
gem 're2', '~> 1.1.1'
# Misc
@ -241,7 +245,6 @@ 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'
@ -254,7 +257,6 @@ 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
@ -274,7 +276,7 @@ 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-performance_bar', '~> 1.3.0'
gem 'peek-pg', '~> 1.3.0', group: :postgres
gem 'peek-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0'
@ -312,11 +314,11 @@ group :development, :test do
gem 'pry-rails', '~> 0.3.4'
gem 'awesome_print', '~> 1.2.0', require: false
gem 'fuubar', '~> 2.0.0'
gem 'fuubar', '~> 2.2.0'
gem 'database_cleaner', '~> 1.5.0'
gem 'factory_girl_rails', '~> 4.7.0'
gem 'rspec-rails', '~> 3.5.0'
gem 'rspec-rails', '~> 3.6.0'
gem 'rspec-retry', '~> 0.4.5'
gem 'spinach-rails', '~> 0.2.1'
gem 'spinach-rerun-reporter', '~> 0.0.2'
@ -337,10 +339,10 @@ group :development, :test do
gem 'spring-commands-rspec', '~> 1.0.4'
gem 'spring-commands-spinach', '~> 1.1.0'
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.21.0', require: false
gem 'rubocop', '~> 0.49.1', require: false
gem 'rubocop-rspec', '~> 1.15.1', require: false
gem 'scss_lint', '~> 0.54.0', require: false
gem 'haml_lint', '~> 0.26.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
@ -356,7 +358,7 @@ group :development, :test do
end
group :test do
gem 'shoulda-matchers', '~> 2.8.0', require: false
gem 'shoulda-matchers', '~> 3.1.2', require: false
gem 'email_spec', '~> 1.6.0'
gem 'json-schema', '~> 2.6.2'
gem 'webmock', '~> 2.3.2'
@ -388,8 +390,18 @@ gem 'health_check', '~> 2.6.0'
gem 'vmstat', '~> 2.3.0'
gem 'sys-filesystem', '~> 1.1.6'
# SSH host key support
gem 'net-ssh', '~> 4.1.0'
# Required for ED25519 SSH host key support
group :ed25519 do
gem 'rbnacl-libsodium'
gem 'rbnacl', '~> 3.2'
gem 'bcrypt_pbkdf', '~> 1.0'
end
# Gitaly GRPC client
gem 'gitaly', '~> 0.14.0'
gem 'gitaly', '~> 0.26.0'
gem 'toml-rb', '~> 0.3.15', require: false
@ -397,4 +409,7 @@ gem 'toml-rb', '~> 0.3.15', require: false
gem 'flipper', '~> 0.10.2'
gem 'flipper-active_record', '~> 0.10.2'
# Structured logging
gem 'lograge', '~> 0.5'
gem 'activerecord-nulldb-adapter'

View file

@ -77,6 +77,7 @@ GEM
babosa (1.0.2)
base32 (0.3.2)
bcrypt (3.1.11)
bcrypt_pbkdf (1.0.0)
benchmark-ips (2.3.0)
better_errors (2.1.1)
coderay (>= 1.0.0)
@ -124,13 +125,6 @@ GEM
coderay (1.1.1)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
coffee-rails (4.1.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.1.x)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
colorize (0.7.7)
concurrent-ruby (1.0.5)
concurrent-ruby-ext (1.0.5)
@ -165,7 +159,7 @@ GEM
devise (~> 4.0)
railties
rotp (~> 2.0)
diff-lcs (1.2.5)
diff-lcs (1.3)
diffy (3.1.0)
docile (1.1.5)
domain_name (0.5.20161021)
@ -188,7 +182,7 @@ GEM
et-orbi (1.0.3)
tzinfo
eventmachine (1.0.8)
excon (0.55.0)
excon (0.57.1)
execjs (2.6.0)
expression_parser (0.9.0)
extlib (0.9.16)
@ -224,26 +218,26 @@ GEM
fog-json (~> 1.0)
ipaddress (~> 0.8)
xml-simple (~> 1.1)
fog-aws (0.13.0)
fog-aws (1.4.0)
fog-core (~> 1.38)
fog-json (~> 1.0)
fog-xml (~> 0.1)
ipaddress (~> 0.8)
fog-core (1.44.1)
fog-core (1.44.3)
builder
excon (~> 0.49)
formatador (~> 0.2)
fog-google (0.5.0)
fog-google (0.5.3)
fog-core
fog-json
fog-xml
fog-json (1.0.2)
fog-core (~> 1.0)
multi_json (~> 1.10)
fog-local (0.3.0)
fog-local (0.3.1)
fog-core (~> 1.27)
fog-openstack (0.1.6)
fog-core (>= 1.39)
fog-openstack (0.1.21)
fog-core (>= 1.40)
fog-json (>= 1.0)
ipaddress (>= 0.8)
fog-rackspace (0.1.1)
@ -259,8 +253,8 @@ GEM
foreman (0.78.0)
thor (~> 0.19.1)
formatador (0.2.5)
fuubar (2.0.0)
rspec (~> 3.0)
fuubar (2.2.0)
rspec-core (~> 3.0)
ruby-progressbar (~> 1.4)
gemnasium-gitlab-service (0.2.6)
rugged (~> 0.21)
@ -278,7 +272,7 @@ GEM
po_to_json (>= 1.0.0)
rails (>= 3.2.0)
gherkin-ruby (0.3.2)
gitaly (0.14.0)
gitaly (0.26.0)
google-protobuf (~> 3.1)
grpc (~> 1.0)
github-linguist (4.7.6)
@ -297,7 +291,7 @@ GEM
mime-types (>= 1.16, < 3)
posix-spawn (~> 0.3)
gitlab-markup (1.5.1)
gitlab_omniauth-ldap (2.0.2)
gitlab_omniauth-ldap (2.0.3)
net-ldap (~> 0.16)
omniauth (~> 1.3)
pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
@ -332,7 +326,7 @@ GEM
multi_json (~> 1.10)
retriable (~> 1.4)
signet (~> 0.6)
google-protobuf (3.2.0.2)
google-protobuf (3.3.0)
googleauth (0.5.1)
faraday (~> 0.9)
jwt (~> 1.4)
@ -341,28 +335,35 @@ GEM
multi_json (~> 1.11)
os (~> 0.9)
signet (~> 0.7)
grape (0.19.1)
gpgme (2.0.13)
mini_portile2 (~> 2.1)
grape (0.19.2)
activesupport
builder
hashie (>= 2.1.0)
multi_json (>= 1.3.2)
multi_xml (>= 0.5.2)
mustermann-grape (~> 0.4.0)
mustermann-grape (~> 1.0.0)
rack (>= 1.3.0)
rack-accept
virtus (>= 1.0.0)
grape-entity (0.6.0)
activesupport
multi_json (>= 1.3.2)
grape-route-helpers (2.0.0)
activesupport
grape (~> 0.16, >= 0.16.0)
rake
grpc (1.4.0)
google-protobuf (~> 3.1)
googleauth (~> 0.5.1)
haml (4.0.7)
tilt
haml_lint (0.21.0)
haml (~> 4.0)
haml_lint (0.26.0)
haml (>= 4.0, < 5.1)
rainbow
rake (>= 10, < 13)
rubocop (>= 0.47.0)
rubocop (>= 0.49.0)
sysexits (~> 1.1)
hamlit (2.6.1)
temple (~> 0.7.6)
@ -396,7 +397,7 @@ GEM
json (~> 1.8)
multi_xml (>= 0.5.2)
httpclient (2.8.2)
i18n (0.8.1)
i18n (0.8.6)
ice_nine (0.11.2)
influxdb (0.2.3)
cause
@ -420,9 +421,18 @@ GEM
json-schema (2.6.2)
addressable (~> 2.3.8)
jwt (1.5.6)
kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kaminari (1.0.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.0.1)
kaminari-activerecord (= 1.0.1)
kaminari-core (= 1.0.1)
kaminari-actionview (1.0.1)
actionview
kaminari-core (= 1.0.1)
kaminari-activerecord (1.0.1)
activerecord
kaminari-core (= 1.0.1)
kaminari-core (1.0.1)
kgio (2.10.0)
knapsack (1.11.0)
rake
@ -452,6 +462,10 @@ GEM
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
lograge (0.5.1)
actionpack (>= 4, < 5.2)
activesupport (>= 4, < 5.2)
railties (>= 4, < 5.2)
loofah (2.0.3)
nokogiri (>= 1.5.9)
mail (2.6.5)
@ -468,13 +482,12 @@ GEM
multi_json (1.12.1)
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)
mustermann (1.0.0)
mustermann-grape (1.0.0)
mustermann (~> 1.0.0)
mysql2 (0.4.5)
net-ldap (0.16.0)
net-ssh (3.0.1)
net-ssh (4.1.0)
netrc (0.11.0)
nokogiri (1.6.8.1)
mini_portile2 (~> 2.1.0)
@ -494,7 +507,7 @@ GEM
rack (>= 1.0, < 3)
omniauth-auth0 (1.4.1)
omniauth-oauth2 (~> 1.1)
omniauth-authentiq (0.3.0)
omniauth-authentiq (0.3.1)
omniauth-oauth2 (~> 1.3, >= 1.3.1)
omniauth-azure-oauth2 (0.0.6)
jwt (~> 1.0)
@ -546,6 +559,7 @@ GEM
rubypants (~> 0.2)
orm_adapter (0.5.0)
os (0.9.6)
parallel (1.11.2)
paranoia (2.3.1)
activerecord (>= 4.0, < 5.2)
parser (2.4.0.0)
@ -563,7 +577,7 @@ GEM
atomic (>= 1.0.0)
mysql2
peek
peek-performance_bar (1.2.1)
peek-performance_bar (1.3.0)
peek (>= 0.1.0)
peek-pg (1.3.0)
concurrent-ruby
@ -610,7 +624,7 @@ GEM
pry-rails (0.3.5)
pry (>= 0.9.10)
pyu-ruby-sasl (0.0.3.3)
rack (1.6.5)
rack (1.6.8)
rack-accept (0.4.5)
rack (>= 0.4)
rack-attack (4.4.1)
@ -658,12 +672,16 @@ GEM
rainbow (2.2.2)
rake
raindrops (0.18.0)
rake (10.5.0)
rake (12.0.0)
rblineprof (0.3.6)
debugger-ruby_core_source (~> 1.3)
rbnacl (3.4.0)
ffi
rbnacl-libsodium (1.0.11)
rbnacl (>= 3.0.1)
rdoc (4.2.2)
json (~> 1.4)
re2 (1.0.0)
re2 (1.1.1)
recaptcha (3.0.0)
json
recursive-open-struct (1.0.0)
@ -702,42 +720,39 @@ GEM
chunky_png
rqrcode-rails3 (0.1.7)
rqrcode (>= 0.4.2)
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-core (3.5.0)
rspec-support (~> 3.5.0)
rspec-expectations (3.5.0)
rspec-core (3.6.0)
rspec-support (~> 3.6.0)
rspec-expectations (3.6.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-mocks (3.5.0)
rspec-support (~> 3.6.0)
rspec-mocks (3.6.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
rspec-rails (3.5.0)
rspec-support (~> 3.6.0)
rspec-rails (3.6.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.5.0)
rspec-support (~> 3.5.0)
rspec-core (~> 3.6.0)
rspec-expectations (~> 3.6.0)
rspec-mocks (~> 3.6.0)
rspec-support (~> 3.6.0)
rspec-retry (0.4.5)
rspec-core
rspec-set (0.1.3)
rspec-support (3.5.0)
rspec-support (3.6.0)
rspec_profiling (0.0.5)
activerecord
pg
rails
sqlite3
rubocop (0.47.1)
rubocop (0.49.1)
parallel (~> 1.10)
parser (>= 2.3.3.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
rubocop-rspec (1.15.0)
rubocop-rspec (1.15.1)
rubocop (>= 0.42.0)
ruby-fogbugz (0.2.1)
crack (~> 0.4)
@ -752,7 +767,7 @@ GEM
rubyzip (1.2.1)
rufus-scheduler (3.4.0)
et-orbi (~> 1.0)
rugged (0.25.1.1)
rugged (0.26.0)
safe_yaml (1.0.4)
sanitize (2.1.0)
nokogiri (>= 1.4.4)
@ -766,9 +781,9 @@ GEM
sawyer (0.8.1)
addressable (>= 2.3.5, < 2.6)
faraday (~> 0.8, < 1.0)
scss_lint (0.47.1)
rake (>= 0.9, < 11)
sass (~> 3.4.15)
scss_lint (0.54.0)
rake (>= 0.9, < 13)
sass (~> 3.4.20)
securecompare (1.0.0)
seed-fu (2.3.6)
activerecord (>= 3.1)
@ -781,9 +796,9 @@ GEM
sexp_processor (4.9.0)
sham_rack (1.3.6)
rack
shoulda-matchers (2.8.0)
activesupport (>= 3.0.0)
sidekiq (5.0.0)
shoulda-matchers (3.1.2)
activesupport (>= 4.0.0)
sidekiq (5.0.4)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
rack-protection (>= 1.5.0)
@ -856,11 +871,10 @@ GEM
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)
nokogiri (~> 1.6.1)
tzinfo (1.2.2)
tzinfo (1.2.3)
thread_safe (~> 0.1)
u2f (0.2.1)
uglifier (2.7.2)
@ -870,7 +884,7 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.7.2)
unicode-display_width (1.1.3)
unicode-display_width (1.3.0)
unicorn (5.1.0)
kgio (~> 2.6)
raindrops (~> 0.7)
@ -928,6 +942,7 @@ DEPENDENCIES
awesome_print (~> 1.2.0)
babosa (~> 1.0.2)
base32 (~> 0.3.0)
bcrypt_pbkdf (~> 1.0)
benchmark-ips (~> 2.3.0)
better_errors (~> 2.1.0)
binding_of_caller (~> 0.7.2)
@ -943,7 +958,6 @@ DEPENDENCIES
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)
@ -966,7 +980,7 @@ DEPENDENCIES
flipper (~> 0.10.2)
flipper-active_record (~> 0.10.2)
fog-aliyun (~> 0.1.0)
fog-aws (~> 0.9)
fog-aws (~> 1.4)
fog-core (~> 1.44)
fog-google (~> 0.5)
fog-local (~> 0.3)
@ -974,24 +988,26 @@ DEPENDENCIES
fog-rackspace (~> 0.1.1)
font-awesome-rails (~> 4.7)
foreman (~> 0.78.0)
fuubar (~> 2.0.0)
fuubar (~> 2.2.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)
gitaly (~> 0.26.0)
github-linguist (~> 4.7.0)
gitlab-flowdock-git-hook (~> 1.0.1)
gitlab-markup (~> 1.5.1)
gitlab_omniauth-ldap (~> 2.0.2)
gitlab_omniauth-ldap (~> 2.0.3)
gollum-lib (~> 4.2)
gollum-rugged_adapter (~> 0.4.4)
gon (~> 6.1.0)
google-api-client (~> 0.8.6)
grape (~> 0.19.0)
gpgme
grape (~> 0.19.2)
grape-entity (~> 0.6.0)
haml_lint (~> 0.21.0)
grape-route-helpers (~> 2.0.0)
haml_lint (~> 0.26.0)
hamlit (~> 2.6.1)
hashie-forbidden_attributes
health_check (~> 2.6.0)
@ -1005,27 +1021,28 @@ DEPENDENCIES
jquery-rails (~> 4.1.0)
json-schema (~> 2.6.2)
jwt (~> 1.5.6)
kaminari (~> 0.17.0)
kaminari (~> 1.0)
knapsack (~> 1.11.0)
kubeclient (~> 2.2.0)
letter_opener_web (~> 1.3.0)
license_finder (~> 2.1.0)
licensee (~> 8.7.0)
lograge (~> 0.5)
loofah (~> 2.0.3)
mail_room (~> 0.9.1)
method_source (~> 0.8)
minitest (~> 5.7.0)
mousetrap-rails (~> 1.4.6)
mysql2 (~> 0.3.16)
mysql2 (~> 0.4.5)
net-ldap
net-ssh (~> 3.0.1)
net-ssh (~> 4.1.0)
nokogiri (~> 1.6.7, >= 1.6.7.2)
oauth2 (~> 1.4)
octokit (~> 4.6.2)
oj (~> 2.17.4)
omniauth (~> 1.4.2)
omniauth-auth0 (~> 1.4.1)
omniauth-authentiq (~> 0.3.0)
omniauth-authentiq (~> 0.3.1)
omniauth-azure-oauth2 (~> 0.0.6)
omniauth-cas3 (~> 1.1.2)
omniauth-facebook (~> 4.0.0)
@ -1044,7 +1061,7 @@ DEPENDENCIES
peek-gc (~> 0.0.2)
peek-host (~> 1.0.0)
peek-mysql2 (~> 1.1.0)
peek-performance_bar (~> 1.2.1)
peek-performance_bar (~> 1.3.0)
peek-pg (~> 1.3.0)
peek-rblineprof (~> 0.2.0)
peek-redis (~> 1.2.0)
@ -1065,8 +1082,10 @@ DEPENDENCIES
rainbow (~> 2.2)
raindrops (~> 0.18)
rblineprof (~> 0.3.6)
rbnacl (~> 3.2)
rbnacl-libsodium
rdoc (~> 4.2)
re2 (~> 1.0.0)
re2 (~> 1.1.1)
recaptcha (~> 3.0)
redcarpet (~> 3.4)
redis (~> 3.2)
@ -1076,26 +1095,26 @@ DEPENDENCIES
responders (~> 2.0)
rouge (~> 2.0)
rqrcode-rails3 (~> 0.1.7)
rspec-rails (~> 3.5.0)
rspec-rails (~> 3.6.0)
rspec-retry (~> 0.4.5)
rspec-set (~> 0.1.3)
rspec_profiling (~> 0.0.5)
rubocop (~> 0.47.1)
rubocop-rspec (~> 1.15.0)
rubocop (~> 0.49.1)
rubocop-rspec (~> 1.15.1)
ruby-fogbugz (~> 0.2.1)
ruby-prof (~> 0.16.2)
ruby_parser (~> 3.8)
rufus-scheduler (~> 3.4)
rugged (~> 0.25.1.1)
rugged (~> 0.26.0)
sanitize (~> 2.0)
sass-rails (~> 5.0.6)
scss_lint (~> 0.47.0)
scss_lint (~> 0.54.0)
seed-fu (~> 2.3.5)
select2-rails (~> 3.5.9)
sentry-raven (~> 2.5.3)
settingslogic (~> 2.0.9)
sham_rack (~> 1.3.6)
shoulda-matchers (~> 2.8.0)
shoulda-matchers (~> 3.1.2)
sidekiq (~> 5.0)
sidekiq-cron (~> 0.6.0)
sidekiq-limit_fetch (~> 3.4)
@ -1130,4 +1149,4 @@ DEPENDENCIES
wikicloth (= 0.8.1)
BUNDLED WITH
1.15.1
1.15.3

View file

@ -1,74 +1,13 @@
{ pkgs, stdenv, lib, bundler, fetchurl, fetchFromGitHub, bundlerEnv, libiconv
, ruby, tzdata, git, nodejs, procps, dpkg, yarn
, ruby, tzdata, git, procps, dpkg, nettools
}:
/* When updating the Gemfile add `gem "activerecord-nulldb-adapter"`
to allow building the assets without a database */
let
# 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";
rubyEnv = bundlerEnv {
name = "gitlab-env-${version}";
inherit ruby;
gemdir = ./.;
meta = with lib; {
@ -79,7 +18,12 @@ let
};
};
version = "9.4.5";
version = "9.5.2";
gitlabDeb = fetchurl {
url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_${version}-ce.0_amd64.deb/download";
sha256 = "0h0cmhs1bz5248vqxq5x3grggw2x53n6kbinlsyhnvcyds0vk0pa";
};
in
@ -87,19 +31,20 @@ stdenv.mkDerivation rec {
name = "gitlab-${version}";
buildInputs = [
ruby-env ruby bundler tzdata git nodejs procps dpkg yarn
rubyEnv ruby bundler tzdata git procps dpkg nettools
];
src = fetchFromGitHub {
owner = "gitlabhq";
repo = "gitlabhq";
rev = "v${version}";
sha256 = "1jdvgpzkrap9n9pclyi5ln5l5qfhj4y8ygb1w90jkgrd785bg573";
sha256 = "0ljqimdzxw5pvif2jrzjdihypa30595nb02h12a4gw3wz3qrrxdc";
};
patches = [
./remove-hardcoded-locations.patch
./nulladapter.patch
./fix-36783.patch
];
postPatch = ''
@ -129,27 +74,20 @@ stdenv.mkDerivation rec {
buildPhase = ''
mv config/gitlab.yml.example config/gitlab.yml
# 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 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
dpkg -x ${gitlabDeb} .
mv -v opt/gitlab/embedded/service/gitlab-rails/public/assets public
rm -rf opt
mv config/gitlab.yml config/gitlab.yml.example
rm config/secrets.yml
rm -f config/secrets.yml
mv config config.dist
'';
installPhase = ''
mkdir -p $out/share
cp -r . $out/share/gitlab
rm -rf $out/share/gitlab/log
ln -sf /run/gitlab/log $out/share/gitlab/log
ln -sf /run/gitlab/uploads $out/share/gitlab/public/uploads
ln -sf /run/gitlab/config $out/share/gitlab/config
@ -159,7 +97,7 @@ stdenv.mkDerivation rec {
'';
passthru = {
inherit ruby-env;
inherit rubyEnv;
inherit ruby;
};
}

View file

@ -0,0 +1,29 @@
--- a/app/workers/post_receive.rb
+++ b/app/workers/post_receive.rb
@@ -3,7 +3,9 @@ class PostReceive
include DedicatedSidekiqQueue
def perform(gl_repository, identifier, changes)
- project, is_wiki = Gitlab::GlRepository.parse(gl_repository)
+ # XXX: https://gitlab.com/gitlab-org/gitlab-ce/issues/36783
+ # project, is_wiki = Gitlab::GlRepository.parse(gl_repository)
+ project, is_wiki = parse_project_identifier(gl_repository)
if project.nil?
log("Triggered hook for non-existing project with gl_repository \"#{gl_repository}\"")
@@ -59,6 +61,15 @@ class PostReceive
# Nothing defined here yet.
end
+ # XXX: https://gitlab.com/gitlab-org/gitlab-ce/issues/36783
+ def parse_project_identifier(project_identifier)
+ if project_identifier.start_with?('/')
+ Gitlab::RepoPath.parse(project_identifier)
+ else
+ Gitlab::GlRepository.parse(project_identifier)
+ end
+ end
+
def log(message)
Gitlab::GitLogger.error("POST-RECEIVE: #{message}")
end

View file

@ -256,6 +256,14 @@
};
version = "3.1.11";
};
bcrypt_pbkdf = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0cj4k13c7qvvck7y25i3xarvyqq8d27vl61jddifkc7llnnap1hv";
type = "gem";
};
version = "1.0.0";
};
benchmark-ips = {
source = {
remotes = ["https://rubygems.org"];
@ -458,32 +466,6 @@
};
version = "1.0.0";
};
coffee-rails = {
dependencies = ["coffee-script" "railties"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mv1kaw3z4ry6cm51w8pfrbby40gqwxanrqyqr0nvs8j1bscc1gw";
type = "gem";
};
version = "4.1.1";
};
coffee-script = {
dependencies = ["coffee-script-source" "execjs"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
type = "gem";
};
version = "2.4.1";
};
coffee-script-source = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0";
type = "gem";
};
version = "1.10.0";
};
colorize = {
source = {
remotes = ["https://rubygems.org"];
@ -632,10 +614,10 @@
diff-lcs = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1";
sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
type = "gem";
};
version = "1.2.5";
version = "1.3";
};
diffy = {
source = {
@ -758,10 +740,10 @@
excon = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "149grwcry52hi3f1xkbbx74jw5m3qcmiib13wxrk3rw5rz200kmx";
sha256 = "1kc2l7kqrj8lhmrz3v21xhsl2laps4y2xmf952m2qrgzffy1pacg";
type = "gem";
};
version = "0.55.0";
version = "0.57.1";
};
execjs = {
source = {
@ -904,28 +886,28 @@
dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1am8fi0z19y398zg7g629rzxzkks9rxyl7j8m5vsgzs80mbsl06s";
sha256 = "0z5zkz7998l0bcxdp0cz4wg4ds4mhdzxd90xxqd50f52cqy85fjg";
type = "gem";
};
version = "0.13.0";
version = "1.4.0";
};
fog-core = {
dependencies = ["builder" "excon" "formatador"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0l78l9jlkxnv1snib80p92r5cwk6jqgyni6758j6kphzcplkkbdm";
sha256 = "1w8ph79x0jp810qdzr5a73hpf39v27y0an23j7ifyk5zsq0j3maw";
type = "gem";
};
version = "1.44.1";
version = "1.44.3";
};
fog-google = {
dependencies = ["fog-core" "fog-json" "fog-xml"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06irf9gcg5v8iwaa5qilhwir6gl82rrp7jyyw87ad15v8p3xa59f";
sha256 = "179kk6mr84wsybm2afjckm8y95z3b5hg84xlgv8l2cv46wdql2ii";
type = "gem";
};
version = "0.5.0";
version = "0.5.3";
};
fog-json = {
dependencies = ["fog-core" "multi_json"];
@ -940,19 +922,19 @@
dependencies = ["fog-core"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0256l3q2f03q8fk49035h5jij388rcz9fqlwri7y788492b4vs3c";
sha256 = "1q1hyga02l9civ0b9gvfdmscvwv2jr4dq87q2g3qxh2974x213mn";
type = "gem";
};
version = "0.3.0";
version = "0.3.1";
};
fog-openstack = {
dependencies = ["fog-core" "fog-json" "ipaddress"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pw2ypxbbmfscmhcz05ry5kc7c5rjr61lv9zj6zpr98fg1wad3a6";
sha256 = "0ii0q22bdv170f7b007k9jlph40rn7fnzd84vaxhf4zhjhaijmys";
type = "gem";
};
version = "0.1.6";
version = "0.1.21";
};
fog-rackspace = {
dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
@ -999,13 +981,13 @@
version = "0.2.5";
};
fuubar = {
dependencies = ["rspec" "ruby-progressbar"];
dependencies = ["rspec-core" "ruby-progressbar"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xwqs24y8s73aayh39si17kccsmr0bjgmi6jrjyfp7gkjb6iyhpv";
sha256 = "0jlv2wisgnim29h47shvqhipbz1wgndfdr7i6y5wcfag0z2660lv";
type = "gem";
};
version = "2.0.0";
version = "2.2.0";
};
gemnasium-gitlab-service = {
dependencies = ["rugged"];
@ -1072,10 +1054,10 @@
dependencies = ["google-protobuf" "grpc"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kmv2nmygaz5w1qsp48zb9xpq2i1nfc5zrilmy56sh3ybnxz99z4";
sha256 = "1vm3kp2qrlkrdd1r386fg97av73y2k3xxw4xl9wfjdqqhisyi6hw";
type = "gem";
};
version = "0.14.0";
version = "0.26.0";
};
github-linguist = {
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
@ -1093,7 +1075,6 @@
type = "gem";
};
version = "1.4.0";
meta.priority = 10; # lower priority, exectuable conflicts with gitlab-markdown
};
gitlab-flowdock-git-hook = {
dependencies = ["flowdock" "gitlab-grit" "multi_json"];
@ -1125,10 +1106,10 @@
dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0226z52aqykl64f1ws20qbr8jn9y0zgrvsv3ks3f1sfrbmnh34z3";
sha256 = "1lx5ayb8m2avw6iy9fq0d847z78npg2aax4pbcbprwwmpbnvzz4b";
type = "gem";
};
version = "2.0.2";
version = "2.0.3";
};
globalid = {
dependencies = ["activesupport"];
@ -1187,10 +1168,10 @@
google-protobuf = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kd3k09p6i7jg7bbgr5bda00l7y1n5clxwg5nzn3gpd0hcjdfhsl";
sha256 = "1q0ka7x53b9vx4wdb2jdvwxxpb5i5ns7fhqb9zgbrp8yy1bg9m9p";
type = "gem";
};
version = "3.2.0.2";
version = "3.3.0";
};
googleauth = {
dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
@ -1201,14 +1182,23 @@
};
version = "0.5.1";
};
gpgme = {
dependencies = ["mini_portile2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fclgx3pg3sihk9xn3amcf8db0q749dsqkycayn1c8x134zml3gb";
type = "gem";
};
version = "2.0.13";
};
grape = {
dependencies = ["activesupport" "builder" "hashie" "multi_json" "multi_xml" "mustermann-grape" "rack" "rack-accept" "virtus"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1z52875d5v3slpnyfndxilf9nz0phb2jwxiir0hz8fp0ni13m9yy";
sha256 = "0ida2agz4f6hfxc4nvmls15f9cl1xg2pra04d388x40r5dmjp04x";
type = "gem";
};
version = "0.19.1";
version = "0.19.2";
};
grape-entity = {
dependencies = ["activesupport" "multi_json"];
@ -1219,6 +1209,15 @@
};
version = "0.6.0";
};
grape-route-helpers = {
dependencies = ["activesupport" "grape" "rake"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qkaf2l56rxhacviqpzgqiwiv1fpbpxg5xgyp18x66mgxp9bpram";
type = "gem";
};
version = "2.0.0";
};
grpc = {
dependencies = ["google-protobuf" "googleauth"];
source = {
@ -1238,13 +1237,13 @@
version = "4.0.7";
};
haml_lint = {
dependencies = ["haml" "rake" "rubocop" "sysexits"];
dependencies = ["haml" "rainbow" "rake" "rubocop" "sysexits"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vy8dkgkisikh3aigkhw7rl7wr83gb5xnaxafba654r2nyyvz63d";
sha256 = "04illnjl9hsg7wqf8x5s108m5is9aj52g80c6nrgsksyp4vh9ynn";
type = "gem";
};
version = "0.21.0";
version = "0.26.0";
};
hamlit = {
dependencies = ["temple" "thor" "tilt"];
@ -1378,10 +1377,10 @@
i18n = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1s6971zmjxszdrp59vybns9gzxpdxzdklakc5lp8nl4fx5kpxkbp";
sha256 = "1i3aqvzfsj786kwjj70jsjpxm6ffw5pwhalzr2abjfv2bdc7k9kw";
type = "gem";
};
version = "0.8.1";
version = "0.8.6";
};
ice_nine = {
source = {
@ -1469,13 +1468,39 @@
version = "1.5.6";
};
kaminari = {
dependencies = ["actionpack" "activesupport"];
dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n063jha143mw4fklpq5f4qs7saakx4s4ps1zixj0s5y8l9pam54";
sha256 = "0invfvfb252ihsdr65rylkvd1x2wy004jval52v3i8ybb0jhc5hi";
type = "gem";
};
version = "0.17.0";
version = "1.0.1";
};
kaminari-actionview = {
dependencies = ["actionview" "kaminari-core"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mhhsm6xhmwqc7hfw7xnk1kdbfg468bqs5awcqm5j6j8b9zyjvdi";
type = "gem";
};
version = "1.0.1";
};
kaminari-activerecord = {
dependencies = ["activerecord" "kaminari-core"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kb5aj6iy1cwcq5548jd3w1ipxicnzmnx2ay1s4hvad2gvrd4g93";
type = "gem";
};
version = "1.0.1";
};
kaminari-core = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0r2n293ad1xr9wgn8cr53nfzwls4w3p1xi4kjfjgl1z0yf05mpwr";
type = "gem";
};
version = "1.0.1";
};
kgio = {
source = {
@ -1573,6 +1598,15 @@
};
version = "2.2.2";
};
lograge = {
dependencies = ["actionpack" "activesupport" "railties"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n08i1m4bn28vrc6gd642wzbyk2cdwahgcysd7pc2c7zd1ipqh0p";
type = "gem";
};
version = "0.5.1";
};
loofah = {
dependencies = ["nokogiri"];
source = {
@ -1688,30 +1722,29 @@
version = "2.0.0";
};
mustermann = {
dependencies = ["tool"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0km27zp3mnlmh157nmj3pyd2g7n2da4dh4mr0psq53a9r0d4gli8";
sha256 = "0npddl1kf72i3m72vs72a24z2rpgspis3hbzyni9fsds96zf0zyl";
type = "gem";
};
version = "0.4.0";
version = "1.0.0";
};
mustermann-grape = {
dependencies = ["mustermann"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1g6kf753v0kf8zfz0z46kyb7cbpinpc3qqh02qm4s9n49s1v2fva";
sha256 = "10xdggddjl8nraq7pbli31lwgrzxzz8gp558i811lsv71fqbmhzr";
type = "gem";
};
version = "0.4.0";
version = "1.0.0";
};
mysql2 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0n075x14n9kziv0qdxqlzhf3j1abi1w6smpakfpsg4jbr8hnn5ip";
sha256 = "1kh96xp396swyaddz5l2zqjxi3cvyqv62scak9b3f98j14ynfscl";
type = "gem";
};
version = "0.3.20";
version = "0.4.5";
};
net-ldap = {
source = {
@ -1724,10 +1757,10 @@
net-ssh = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dzqkgwi9xm6mbfk1rkk17rzmz8m5xakqi21w1b97ybng6kkw0hf";
sha256 = "013p5jb4wy0cq7x7036piw2a3s1i9p752ki1srx2m289mpz4ml3q";
type = "gem";
};
version = "3.0.1";
version = "4.1.0";
};
netrc = {
source = {
@ -1810,10 +1843,10 @@
dependencies = ["omniauth-oauth2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0drbrrxk0wlmq4y6nmsxa77b815ji1jsdjr6fcqxb3sqiscq2p0a";
sha256 = "06hfga3ar8cl4glc3i2plwzhzvssfsz63sqjrvhzsjp4mz81k38c";
type = "gem";
};
version = "0.3.0";
version = "0.3.1";
};
omniauth-azure-oauth2 = {
dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
@ -1975,6 +2008,14 @@
};
version = "0.9.6";
};
parallel = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yxhk64sfkm84v509m3mzmp0b7ra9lc7s8k6113yk9faih3g7w7v";
type = "gem";
};
version = "1.11.2";
};
paranoia = {
dependencies = ["activerecord"];
source = {
@ -2041,10 +2082,10 @@
dependencies = ["peek"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wrzhv6d0ixxba9ckis6mmvb9vdsxl9mdl4zh4arv6w40wqv0k8d";
sha256 = "08i2gvn59hsbysbmnakxdcpm0jvhh6rl00pr5i3zqf2f5dd0sjz6";
type = "gem";
};
version = "1.2.1";
version = "1.3.0";
};
peek-pg = {
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
@ -2189,10 +2230,10 @@
rack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1374xyh8nnqb8sy6g9gcvchw8gifckn5v3bhl6dzbwwsx34qz7gz";
sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza";
type = "gem";
};
version = "1.6.5";
version = "1.6.8";
};
rack-accept = {
dependencies = ["rack"];
@ -2330,10 +2371,10 @@
rake = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b";
sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
type = "gem";
};
version = "10.5.0";
version = "12.0.0";
};
rblineprof = {
dependencies = ["debugger-ruby_core_source"];
@ -2344,6 +2385,24 @@
};
version = "0.3.6";
};
rbnacl = {
dependencies = ["ffi"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06xb4khgjblrmp1xgkjbmca0wl97i0nazf9pgx69vwr1ac03j920";
type = "gem";
};
version = "3.4.0";
};
rbnacl-libsodium = {
dependencies = ["rbnacl"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qxrlig0i711zln0qzs9z37bs3wys1i6139bn7p7qxmdpnb9qgda";
type = "gem";
};
version = "1.0.11";
};
rdoc = {
dependencies = ["json"];
source = {
@ -2356,10 +2415,10 @@
re2 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mjpvm9v81cvcr6yrv71kpvpxwjhxj086hsy3zr9rgzmnl2dfj23";
sha256 = "00wf9k1hkv3z3nfkrnfyyfq9ah0l7k14awqys3h2hqz4c21pqd2i";
type = "gem";
};
version = "1.0.0";
version = "1.1.1";
};
recaptcha = {
dependencies = ["json"];
@ -2532,50 +2591,41 @@
};
version = "0.1.7";
};
rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
type = "gem";
};
version = "3.5.0";
};
rspec-core = {
dependencies = ["rspec-support"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03m0pn5lwlix094khfwlv50n963p75vjsg6w2g0b3hqcvvlch1mx";
sha256 = "18np8wyw2g79waclpaacba6nd7x60ixg07ncya0j0qj1z9b37grd";
type = "gem";
};
version = "3.5.0";
version = "3.6.0";
};
rspec-expectations = {
dependencies = ["diff-lcs" "rspec-support"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
sha256 = "028ifzf9mqp3kxx40q1nbwj40g72g9zk0wr78l146phblkv96w0a";
type = "gem";
};
version = "3.5.0";
version = "3.6.0";
};
rspec-mocks = {
dependencies = ["diff-lcs" "rspec-support"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
sha256 = "0nv6jkxy24sag1i9w9wi3850k6skk2fm6yhcrgnmlz6vmwxvizp8";
type = "gem";
};
version = "3.5.0";
version = "3.6.0";
};
rspec-rails = {
dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0zzd75v8vpa1r30j3hsrprza272rcx54hb0klwpzchr9ch6c9z2a";
sha256 = "0cvlmbn90k4rymlfb20ksayns5h199r9ggs67shnnanmrnh9zvyj";
type = "gem";
};
version = "3.5.0";
version = "3.6.0";
};
rspec-retry = {
dependencies = ["rspec-core"];
@ -2597,10 +2647,10 @@
rspec-support = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0";
sha256 = "050paqqpsml8w88nf4a15zbbj3vvm471zpv73sjfdnz7w21wnypb";
type = "gem";
};
version = "3.5.0";
version = "3.6.0";
};
rspec_profiling = {
dependencies = ["activerecord" "pg" "rails" "sqlite3"];
@ -2612,22 +2662,22 @@
version = "0.0.5";
};
rubocop = {
dependencies = ["parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "05kr3a4jlyq6vaf9rjqiryk51l05bzpxwql024gssfryal66l1m7";
sha256 = "1mqyylfzch0967w7nfnqza84sqhljijd9y4bnq8hcmrscch75cxw";
type = "gem";
};
version = "0.47.1";
version = "0.49.1";
};
rubocop-rspec = {
dependencies = ["rubocop"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1svaibl7qw4k5vxi7729ddgy6582b8lzhc01ybikb4ahnxj1x1cd";
sha256 = "16qgakivl2vqbx82fm78999cximbb10jbz3ix1ga4a2rns5xxlf3";
type = "gem";
};
version = "1.15.0";
version = "1.15.1";
};
ruby-fogbugz = {
dependencies = ["crack"];
@ -2708,10 +2758,10 @@
rugged = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1sj833k4g09sgx37k3f46dxyjfppmmcj1s6w6bqan0f2vc047bi0";
sha256 = "1rqhg6g2q2av3fb6iyzfd3hfjxvr8hs32w7llil2kbx73crvc2dy";
type = "gem";
};
version = "0.25.1.1";
version = "0.26.0";
};
safe_yaml = {
source = {
@ -2760,10 +2810,10 @@
dependencies = ["rake" "sass"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0q6yankh4ay4fqz7s19p2r2nqhzv93gihc5c6xnqka3ch1z6v9fv";
sha256 = "01lwbrz7637j79jkm6yaq4wsd4cqgzn0r74whn85v7j9dir73l98";
type = "gem";
};
version = "0.47.1";
version = "0.54.0";
};
securecompare = {
source = {
@ -2829,19 +2879,19 @@
dependencies = ["activesupport"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
sha256 = "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a";
type = "gem";
};
version = "2.8.0";
version = "3.1.2";
};
sidekiq = {
dependencies = ["concurrent-ruby" "connection_pool" "rack-protection" "redis"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1h19c0vk7h5swbpi91qx4ln6nwas4ycj7y6bsm86ilhpiqcb7746";
sha256 = "0nazi3a9aq7c7cxk749qz9ilp7dv39r9n3zsbjg4frc96bb85s9w";
type = "gem";
};
version = "5.0.0";
version = "5.0.4";
};
sidekiq-cron = {
dependencies = ["rufus-scheduler" "sidekiq"];
@ -3125,14 +3175,6 @@
};
version = "0.3.15";
};
tool = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1iymkxi4lv2b2k905s9pl4d9k9k4455ksk3a98ssfn7y94h34np0";
type = "gem";
};
version = "0.2.3";
};
truncato = {
dependencies = ["htmlentities" "nokogiri"];
source = {
@ -3146,10 +3188,10 @@
dependencies = ["thread_safe"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
sha256 = "05r81lk7q7275rdq7xipfm0yxgqyd2ggh73xpc98ypngcclqcscl";
type = "gem";
};
version = "1.2.2";
version = "1.2.3";
};
u2f = {
source = {
@ -3196,10 +3238,10 @@
unicode-display_width = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r28mxyi0zwby24wyn1szj5hcnv67066wkv14wyzsc94bf04fqhx";
sha256 = "12pi0gwqdnbx1lv5136v3vyr0img9wr0kxcn4wn54ipq4y41zxq8";
type = "gem";
};
version = "1.1.3";
version = "1.3.0";
};
unicorn = {
dependencies = ["kgio" "raindrops"];
@ -3339,4 +3381,4 @@
};
version = "2.0.0";
};
}
}

View file

@ -1,15 +1,17 @@
diff --git a/Gemfile b/Gemfile
index 3748ae7aee..25d2938b78 100644
index 4861171ef5..f6e701c548 100644
--- a/Gemfile
+++ b/Gemfile
@@ -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'
+
@@ -1,5 +1,7 @@
source 'https://rubygems.org'
+gem 'activerecord-nulldb-adapter'
+
gem 'rails', '4.2.8'
gem 'rails-deprecated_sanitizer', '~> 1.0.3'
diff --git a/Gemfile.lock b/Gemfile.lock
index 0de8746109..f263c643bd 100644
index 38944248f9..08ce4486ba 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -32,6 +32,8 @@ GEM
@ -21,7 +23,7 @@ index 0de8746109..f263c643bd 100644
activerecord_sane_schema_dumper (0.2)
rails (>= 4, < 5)
activesupport (4.2.8)
@@ -906,6 +908,7 @@ PLATFORMS
@@ -926,6 +928,7 @@ PLATFORMS
DEPENDENCIES
RedCloth (~> 4.3.2)
ace-rails-ap (~> 4.1.0)

View file

@ -1,88 +0,0 @@
{
"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"
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,6 @@
{ stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr }:
{ stdenv, fetchurl, cmake, libxml2, libxslt, boost, libarchive, python, antlr,
curl
}:
with stdenv.lib;
@ -16,8 +18,12 @@ stdenv.mkDerivation rec {
substituteInPlace CMake/install.cmake --replace /usr/local $out
'';
patches = [
./gcc6.patch
];
nativeBuildInputs = [ cmake antlr ];
buildInputs = [ libxml2 libxslt boost libarchive python ];
buildInputs = [ libxml2 libxslt boost libarchive python curl ];
meta = {
description = "Infrastructure for exploration, analysis, and manipulation of source code";

View file

@ -0,0 +1,26 @@
diff --git i/CMake/config.cmake w/CMake/config.cmake
index 28f8047..c596cf8 100644
--- i/CMake/config.cmake
+++ w/CMake/config.cmake
@@ -95,7 +95,7 @@ else()
find_package(LibXml2 REQUIRED)
find_package(CURL REQUIRED)
set(Boost_NO_BOOST_CMAKE ON)
- set(Boost_USE_STATIC_LIBS ON)
+ set(Boost_USE_STATIC_LIBS OFF)
find_package(Boost COMPONENTS program_options filesystem system thread regex date_time REQUIRED)
# add include directories
diff --git i/src/libsrcml/srcml_reader_handler.hpp w/src/libsrcml/srcml_reader_handler.hpp
index 0b23fed..c02dfef 100644
--- i/src/libsrcml/srcml_reader_handler.hpp
+++ w/src/libsrcml/srcml_reader_handler.hpp
@@ -456,7 +456,7 @@ public :
if(uri == SRCML_CPP_NS_URI) {
- if(archive->language != 0) {
+ if(srcml_check_language(archive->language->c_str()) != 0) {
if(*archive->language == "C++" || *archive->language == "C" || *archive->language == "Objective-C")
archive->options |= SRCML_OPTION_CPP | SRCML_OPTION_CPP_NOMACRO;

View file

@ -1,37 +1,40 @@
{ stdenv, fetchFromGitHub, libarchive, pkgconfig, qtbase
, qtimageformats, qtwebkit, qtx11extras, xcbutilkeysyms, qmake }:
{ stdenv, fetchFromGitHub, cmake, extra-cmake-modules, pkgconfig
, qtbase, qtimageformats, qtwebkit, qtx11extras
, libarchive, libXdmcp, libpthreadstubs, xcbutilkeysyms }:
stdenv.mkDerivation rec {
version = "0.3.1";
name = "zeal-${version}";
version = "0.4.0";
src = fetchFromGitHub {
owner = "zealdocs";
repo = "zeal";
rev = "v${version}";
sha256 = "14ld7zm15677jdlasnfa6c42kiswd4d6yg1db50xbk2yflzzwqqa";
owner = "zealdocs";
repo = "zeal";
rev = "v${version}";
sha256 = "1mfcw843g4slr79bvidb5s88m7a3swr9by6srdn233b88j8mqwzl";
};
nativeBuildInputs = [ pkgconfig qmake ];
# while ads can be disabled from the user settings, by default they are not so
# we patch it out completely instead
patches = [ ./remove_ads.patch ];
nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig ];
buildInputs = [
xcbutilkeysyms qtbase qtimageformats qtwebkit qtx11extras libarchive
qtbase qtimageformats qtwebkit qtx11extras
libarchive
libXdmcp libpthreadstubs xcbutilkeysyms
];
qmakeFlags = [ "PREFIX=/" ];
installFlags = [ "INSTALL_ROOT=$(out)" ];
enableParallelBuilding = true;
meta = {
meta = with stdenv.lib; {
description = "A simple offline API documentation browser";
longDescription = ''
Zeal is a simple offline API documentation browser inspired by Dash (macOS
app), available for Linux and Windows.
'';
homepage = http://zealdocs.org/;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ skeidel ];
homepage = http://zealdocs.org/;
license = licenses.gpl3;
maintainers = with maintainers; [ skeidel ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,14 @@
diff --git a/src/app/resources/browser/welcome.html b/src/app/resources/browser/welcome.html
index afe9e2a..490a0fb 100644
--- a/src/app/resources/browser/welcome.html
+++ b/src/app/resources/browser/welcome.html
@@ -34,9 +34,6 @@
<div class="hero-foot">
<div class="container">
<div class="content has-text-centered">
- <div id="carbon" class="box">
- <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=zealdocsforwindowsorg" id="_carbonads_js"></script>
- </div>
<p>
<a class="icon" href="https://github.com/zealdocs/zeal">
<i class="fa fa-github"></i>

View file

@ -34,10 +34,11 @@ stdenv.mkDerivation rec {
meta = {
description = "Font Collection by The League of Moveable Type";
longDescription = '' We're done with the tired old fontstacks of
yesteryear. The web is no longer limited, and now it's time to raise
our standards. Since 2009, The League has given only the most
well-made, free & open-source, @font-face ready fonts.
longDescription = ''
We're done with the tired old fontstacks of yesteryear. The web
is no longer limited, and now it's time to raise our standards.
Since 2009, The League has given only the most well-made, free &
open-source, @font-face ready fonts.
'';
homepage = https://www.theleagueofmoveabletype.com/;

View file

@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
cp Licence.txt $out/share/doc/$name/LICENSE
rm Speedy.pcf # duplicated as Speedy11.pcf
for f in *.pcf; do
gzip -c "$f" > $out/share/fonts/misc/"$f".gz
done
@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "06jsf3rw6q4l1jrw1161h4vxa1xbvpry5x12d8sh5g7hjk88p77g";
outputHash = "1l1sxmzp3gcd2d32nxar6xwd1v1w18a9gfh57zmsrfpspnfbz7y1";
meta = with stdenv.lib; {
homepage = http://upperbounds.net;

View file

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "20160110";
package-name = "numix-cursor-theme";
name = "${package-name}-${version}";
src = fetchFromGitHub {
owner = "numixproject";
repo = package-name;
rev = "e92186d9df47c04d4e0a778eb6941ef58590b179";
sha256 = "1sr4pisgrn3632phsiny2fyr2ib6l51fnjdsanmh9ampagl4ly7g";
};
dontBuild = true;
installPhase = ''
install -dm 755 $out/share/icons
cp -dr --no-preserve='ownership' Numix{,-Light} $out/share/icons/
'';
meta = with stdenv.lib; {
description = "Numix cursor theme";
homepage = https://numixproject.org;
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ offline ];
};
}

View file

@ -6,6 +6,6 @@
fetchFromGitHub {
owner = "commercialhaskell";
repo = "all-cabal-hashes";
rev = "43b26c8a8f64f6caf7b4345eff0099798adcac28";
sha256 = "1yfaxzgdrf7cifz4qq462amja2iq7r99nvpggggs8scwg4dz1i0b";
rev = "b490d26340638934d13c0c0cd4089dec0fb6b85e";
sha256 = "0cz76wcdlh5512g1aviv0ac9qwj1mmy9ncp6q4yywylxrlqgcbj5";
}

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, vala_0_32, glib, gjs, mutter
, pango, gtk3, gnome3, dbus, clutter, appstream-glib, makeWrapper, systemd, gobjectIntrospection }:
{ stdenv, fetchurl, autoreconfHook, pkgconfig, vala, glib, gjs, mutter
, pango, gtk3, gnome3, dbus, clutter, appstream-glib, wrapGAppsHook, systemd, gobjectIntrospection }:
stdenv.mkDerivation rec {
version = "3.24.2";
@ -10,9 +10,10 @@ stdenv.mkDerivation rec {
sha256 = "16142jfpkz8qfs7zp9k3c5l9pnvxbr5yygj8jdpx6by1142s6340";
};
buildInputs = [ autoreconfHook pkgconfig vala_0_32 glib gjs mutter
nativeBuildInputs = [ autoreconfHook pkgconfig vala wrapGAppsHook ];
buildInputs = [ glib gjs mutter gnome3.adwaita-icon-theme
gtk3 gnome3.gnome_control_center dbus
clutter pango appstream-glib makeWrapper systemd gobjectIntrospection ];
clutter pango appstream-glib systemd gobjectIntrospection ];
configureFlags = [ "--with-controlcenterdir=$(out)/gnome-control-center/keybindings"
"--with-dbusservicesdir=$(out)/share/dbus-1/services"
@ -20,19 +21,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
preFixup =
let
libPath = stdenv.lib.makeLibraryPath
[ glib gtk3 clutter pango ];
in
''
for i in $out/libexec/gpaste/*; do
wrapProgram $i \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
done
'';
meta = with stdenv.lib; {
homepage = https://github.com/Keruspe/GPaste;
description = "Clipboard management system with GNOME3 integration";

View file

@ -82,8 +82,9 @@ in stdenv.mkDerivation {
description = "A replica of IRIX Interactive Desktop";
homepage = http://www.maxxinteractive.com;
license = {
fullName = "The MaXX Interactive Desktop for Linux License Agreement";
url = http://www.maxxinteractive.com/site/?page_id=97;
free = true;
free = false; # redistribution is only allowed to *some* hardware, etc.
};
maintainers = [ maintainers.gnidorah ];
platforms = ["x86_64-linux"];

View file

@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
sha256 = "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal";
};
buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 (stdenv.lib.getBin hscolour) ];
patches = [ ./relocation.patch ];

View file

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
./relocation.patch
];
buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 (stdenv.lib.getBin hscolour) ];
enableParallelBuilding = true;

View file

@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
(fetchFilteredPatch { url = https://git.haskell.org/ghc.git/patch/2f8cd14fe909a377b3e084a4f2ded83a0e6d44dd; sha256 = "06zvlgcf50ab58bw6yw3krn45dsmhg4cmlz4nqff8k4z1f1bj01v"; })
] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch;
buildInputs = [ ghc perl hscolour sphinx];
buildInputs = [ ghc perl (stdenv.lib.getBin hscolour) sphinx];
enableParallelBuilding = true;

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
buildInputs = [ ghc perl hscolour sphinx ];
buildInputs = [ ghc perl (stdenv.lib.getBin hscolour) sphinx ];
enableParallelBuilding = true;

View file

@ -11,7 +11,7 @@ let
inherit (bootPkgs) ghc;
version = "8.2.1";
preReleaseName = "ghc-8.2.1";
commonBuildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ];
commonBuildInputs = [ (stdenv.lib.getBin alex) autoconf automake ghc (stdenv.lib.getBin happy) (stdenv.lib.getBin hscolour) perl python3 sphinx ];
commonPreConfigure = ''
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''

View file

@ -11,7 +11,7 @@
let
inherit (bootPkgs) ghc;
commonBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
commonBuildInputs = [ ghc perl autoconf automake (stdenv.lib.getBin happy) (stdenv.lib.getBin alex) python3 ];
rev = "14457cf6a50f708eecece8f286f08687791d51f7";

View file

@ -118,7 +118,7 @@ in mkDerivation (rec {
lens optparse-applicative parallel safe shelly split
stringsearch syb system-fileio system-filepath tar terminfo text-binary
unordered-containers vector wl-pprint-text yaml
alex happy git gnumake autoconf automake libtool patch gmp
(stdenv.lib.getBin alex) (stdenv.lib.getBin happy) git gnumake autoconf automake libtool patch gmp
base16-bytestring cryptohash executable-path haddock-api
transformers-compat QuickCheck haddock hspec xhtml
regex-posix libiconv

View file

@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
sed -ie 's|ld |${binutils}/bin/ld |g' src/scripts/ldkernel.in
'';
configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
propagatedNativeBuildInputs = [ alex happy ];
propagatedNativeBuildInputs = [ (stdenv.lib.getBin alex) (stdenv.lib.getBin happy) ];
buildInputs =
let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
let haskellPkgs = [ (stdenv.lib.getBin alex) (stdenv.lib.getBin happy) (stdenv.lib.getBin bootPkgs.hscolour) bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
]; in [ bootPkgs.ghc
automake perl git binutils
autoconf xen zlib ncurses.dev

View file

@ -1,5 +1,9 @@
{ stdenv, fetchurl, coq }:
if !stdenv.lib.versionAtLeast coq.coq-version "8.6"
then throw "CoLoR is not available for Coq ${coq.coq-version}"
else
stdenv.mkDerivation {
name = "coq${coq.coq-version}-CoLoR-1.3.0";

View file

@ -1,20 +1,38 @@
{stdenv, fetchgit, coq, coqPackages}:
{ stdenv, fetchgit, coq, ssreflect }:
let revision = "ee436635a34873c79f49c3d2d507194216f6e8e9"; in
let param =
{
"8.4" = {
version = "20160529";
rev = "a9e89f1d4246a787bf1d8873072077a319635c3e";
sha256 = "14ng71p890q12xvsj00si2a3fjcbsap2gy0r8sxpw4zndnlq74wa";
};
"8.5" = {
version = "20170512";
rev = "31eb050ae5ce57ab402db9726fb7cd945a0b4d03";
sha256 = "033ch10i5wmqyw8j6wnr0dlbnibgfpr1vr0c07q3yj6h23xkmqpg";
};
"8.6" = {
version = "20170616";
rev = "366ee3f8e599b5cab438a63a09713f44ac544c5a";
sha256 = "06kwnrfndnr6w8bmaa2s0i0rkqyv081zj55z3vcyn0wr6x6mlsz9";
};
}."${coq.coq-version}"
; in
stdenv.mkDerivation rec {
name = "coq-QuickChick-${coq.coq-version}-${version}";
version = "20170710-${builtins.substring 0 7 revision}";
name = "coq${coq.coq-version}-QuickChick-${param.version}";
src = fetchgit {
url = git://github.com/QuickChick/QuickChick.git;
rev = revision;
sha256 = "0sq14j1kl4m4plyxj2dbkfwa6iqipmf9w7mxxxcbsm718m0xf1gr";
inherit (param) rev sha256;
};
buildInputs = [ coq.ocaml coq.camlp5 ];
propagatedBuildInputs = [ coq coqPackages.ssreflect ];
propagatedBuildInputs = [ coq ssreflect ];
enableParallelBuilding = true;

View file

@ -862,6 +862,7 @@ self: super: {
# Don't install internal mkReadme tool.
hastache = overrideCabal super.hastache (drv: {
doCheck = false;
enableSeparateBinOutput = false;
postInstall = "rm $out/bin/mkReadme && rmdir $out/bin";
});
@ -886,4 +887,21 @@ self: super: {
# missing dependencies: doctest ==0.12.*
html-entities = doJailbreak super.html-entities;
# Needs a version that's newer than what we have in lts-9.
sbv = super.sbv.override { doctest = self.doctest_0_13_0; };
# https://github.com/takano-akio/filelock/issues/5
filelock = dontCheck super.filelock;
# https://github.com/alpmestan/taggy/issues/{19,20}
taggy = appendPatch super.taggy (pkgs.fetchpatch {
name = "blaze-markup.patch";
url = "https://github.com/alpmestan/taggy/commit/5456c2fa4d377f7802ec5df3d5f50c4ccab2e8ed.patch";
sha256 = "1vss7b99zrhw3r29krl1b60r4qk0m2mpwmrz8q8zdxrh33hb8pd7";
});
# Has extra data files which are referred to from the binary output,
# creating a store reference cycle. Putting data in separate output
# solves the problem.
happy = overrideCabal super.happy (drv: { enableSeparateDataOutput = true; });
}

View file

@ -211,7 +211,10 @@ self: super: builtins.intersectAttrs super {
# wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
# http://hydra.cryp.to/build/1331287/log/raw
wxc = (addBuildDepend super.wxc self.split).override { wxGTK = pkgs.wxGTK30; };
wxc = (overrideCabal super.wxc (drv: {
buildDepends = (drv.buildDepends or []) ++ [self.split];
postInstall = "cp -v dist/build/libwxc.so.0.92.3.0 $lib/lib/libwxc.so";
})).override { wxGTK = pkgs.wxGTK30; };
wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
# Test suite wants to connect to $DISPLAY.
@ -489,4 +492,46 @@ self: super: builtins.intersectAttrs super {
# Without this override, the builds lacks pkg-config.
opencv-extra = addPkgconfigDepend super.opencv-extra (pkgs.opencv3.override { enableContrib = true; });
# Alex has some weird files in /usr/share that create a cyclic ref with
# its bin dir.
alex = hasNoBinOutput super.alex;
# Disable separate bin outputs for these specific packages that break with it.
H = hasNoBinOutput super.H;
cryptol = hasNoBinOutput super.cryptol;
sproxy = hasNoBinOutput super.sproxy;
sproxy2 = hasNoBinOutput super.sproxy2;
sproxy-web = hasNoBinOutput super.sproxy-web;
juandelacosa = hasNoBinOutput super.juandelacosa;
mywatch = hasNoBinOutput super.mywatch;
sugarhaskell = hasNoBinOutput super.sugarhaskell;
zerobin = hasNoBinOutput super.zerobin;
git-annex = overrideCabal super.git-annex (drv: {
enableSeparateBinOutput = false;
enableSeparateEtcOutput = false;
});
# Override a number of packages with specific references to $out in their
# derivations
stack = overrideCabal super.stack (drv: {
postInstall = ''
exe=$bin/bin/stack
mkdir -p $bin/share/bash-completion/completions
$exe --bash-completion-script $exe >$bin/share/bash-completion/completions/stack
'';
});
Agda = overrideCabal super.Agda (drv: {
postInstall = ''
files=("$out/share/"*"-ghc-"*"/Agda-"*"/lib/prim/Agda/"{Primitive.agda,Builtin"/"*.agda})
for f in "''${files[@]}" ; do
$bin/bin/agda $f
done
for f in "''${files[@]}" ; do
$bin/bin/agda -c --no-main $f
done
$bin/bin/agda-mode compile
'';
});
}

View file

@ -56,6 +56,10 @@ let isCross = (ghc.cross or null) != null; in
, hardeningDisable ? lib.optional (ghc.isHaLVM or false) "all"
, enableSeparateDataOutput ? false
, enableSeparateDocOutput ? doHaddock
, enableSeparateBinOutput ? isExecutable
, outputsToInstall ? []
, enableSeparateLibOutput ? true
, enableSeparateEtcOutput ? (stdenv.lib.versionOlder "7.7" ghc.version)
} @ args:
assert editedCabalFile != null -> revision != null;
@ -79,9 +83,6 @@ let
then "package-db"
else "package-conf";
# the target dir for haddock documentation
docdir = docoutput: docoutput + "/share/doc";
newCabalFileUrl = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
newCabalFile = fetchurl {
url = newCabalFileUrl;
@ -95,6 +96,13 @@ let
'';
hasActiveLibrary = isLibrary && (enableStaticLibraries || enableSharedLibraries || enableLibraryProfiling);
hasLibOutput = enableSeparateLibOutput && hasActiveLibrary;
libDir = if hasLibOutput then "$lib/lib/${ghc.name}" else "$out/lib/${ghc.name}";
binDir = if enableSeparateBinOutput then "$bin/bin" else "$out/bin";
libexecDir = if enableSeparateBinOutput then "$libexec/bin" else "$out/libexec";
etcDir = if enableSeparateEtcOutput then "$etc/etc" else "$out/etc";
docDir = if enableSeparateDocOutput then "$doc/share/doc" else "$out/share/doc";
dataDir = if enableSeparateDataOutput then "$data/share/${ghc.name}" else "$out/share/${ghc.name}";
# We cannot enable -j<n> parallelism for libraries because GHC is far more
# likely to generate a non-determistic library ID in that case. Further
@ -113,12 +121,20 @@ let
stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags);
defaultConfigureFlags = [
"--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
(optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
(optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
"--verbose" "--prefix=$out"
# Binary directory has to be $bin/bin instead of just $bin: this
# is so that the package is added to the PATH when it's used as a
# build input. Sadly mkDerivation won't add inputs that don't have
# bin subdirectory.
"--bindir=${binDir}"
"--libdir=${libDir}" "--libsubdir=\\$pkgid"
"--libexecdir=${libexecDir}"
(optionalString (enableSeparateEtcOutput) "--sysconfdir=${etcDir}") # Old versions of cabal don't support this flag.
"--datadir=${dataDir}"
"--docdir=${docDir}"
"--with-gcc=$CC" # Clang won't work without that extra information.
"--package-db=$packageConfDir"
(optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
(optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=${libDir}/${pname}-${version}")
(optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
(optionalString enableParallelBuilding "--ghc-option=-j$NIX_BUILD_CORES")
(optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
@ -152,7 +168,8 @@ let
allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++
optionals doCheck testPkgconfigDepends ++ optionals withBenchmarkDepends benchmarkPkgconfigDepends;
nativeBuildInputs = buildTools ++ libraryToolDepends ++ executableToolDepends ++ [ removeReferencesTo ];
nativeBuildInputs = map stdenv.lib.getBin
(buildTools ++ libraryToolDepends ++ executableToolDepends ++ [ removeReferencesTo ]);
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
optionals (allPkgconfigDepends != []) ([pkgconfig] ++ allPkgconfigDepends) ++
@ -181,7 +198,15 @@ assert allPkgconfigDepends != [] -> pkgconfig != null;
stdenv.mkDerivation ({
name = "${pname}-${version}";
outputs = if (args ? outputs) then args.outputs else ([ "out" ] ++ (optional enableSeparateDataOutput "data") ++ (optional enableSeparateDocOutput "doc"));
outputs = if (args ? outputs) then args.outputs else
( (optional enableSeparateBinOutput "bin")
++ (optional enableSeparateBinOutput "libexec")
++ [ "out" ]
++ (optional enableSeparateDataOutput "data")
++ (optional enableSeparateDocOutput "doc")
++ (optional enableSeparateEtcOutput "etc")
++ (optional hasLibOutput "lib")
);
setOutputFlags = false;
pos = builtins.unsafeGetAttrPos "pname" args;
@ -205,7 +230,7 @@ stdenv.mkDerivation ({
postPatch = optionalString jailbreak ''
echo "Run jailbreak-cabal to lift version restrictions on build inputs."
${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
${stdenv.lib.getBin jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
'' + postPatch;
setupCompilerEnvironmentPhase = ''
@ -213,7 +238,7 @@ stdenv.mkDerivation ({
echo "Build with ${ghc}."
export PATH="${ghc}/bin:$PATH"
${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"}
${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${stdenv.lib.getBin hscolour}/bin:$PATH"}
packageConfDir="$TMPDIR/package.conf.d"
mkdir -p $packageConfDir
@ -240,7 +265,7 @@ stdenv.mkDerivation ({
#
# Create a local directory with symlinks of the *.dylib (macOS shared
# libraries) from all the dependencies.
local dynamicLinksDir="$out/lib/links"
local dynamicLinksDir="${libDir}/links"
mkdir -p $dynamicLinksDir
for d in $(grep dynamic-library-dirs "$packageConfDir/"*|awk '{print $2}'); do
ln -s "$d/"*.dylib $dynamicLinksDir
@ -312,7 +337,7 @@ stdenv.mkDerivation ({
${if !hasActiveLibrary then "${setupCommand} install" else ''
${setupCommand} copy
local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
local packageConfDir="${libDir}/package.conf.d"
local packageConfFile="$packageConfDir/${pname}-${version}.conf"
mkdir -p "$packageConfDir"
${setupCommand} register --gen-pkg-config=$packageConfFile
@ -320,7 +345,7 @@ stdenv.mkDerivation ({
mv $packageConfFile $packageConfDir/$pkgId.conf
''}
${optionalString isGhcjs ''
for exeDir in "$out/bin/"*.jsexe; do
for exeDir in "${binDir}/"*.jsexe; do
exe="''${exeDir%.jsexe}"
printWords '#!${nodejs}/bin/node' > "$exe"
cat "$exeDir/all.js" >> "$exe"
@ -329,18 +354,68 @@ stdenv.mkDerivation ({
''}
${optionalString doCoverage "mkdir -p $out/share && cp -r dist/hpc $out/share"}
${optionalString (enableSharedExecutables && isExecutable && !isGhcjs && stdenv.isDarwin && stdenv.lib.versionOlder ghc.version "7.10") ''
for exe in "$out/bin/"* ; do
install_name_tool -add_rpath "$out/lib/ghc-${ghc.version}/${pname}-${version}" "$exe"
for exe in "${binDir}/"* ; do
install_name_tool -add_rpath "${libDir}/${pname}-${version}" "$exe"
done
''}
${optionalString enableSeparateDocOutput ''
for x in ${docdir "$doc"}/html/src/*.html; do
remove-references-to -t $out $x
# Remove references back to $out but also back to $lib if we have
# docs. $lib is needed as it stores path to haddock interfaces in the
# conf file which creates a cycle if docs refer back to library
# path.
mkdir -p ${docDir}
for x in ${docDir}/html/src/*.html; do
remove-references-to -t $out -t ${libDir} -t ${binDir} ${optionalString enableSeparateDataOutput "-t $data"} $x
done
mkdir -p $doc
''}
${optionalString enableSeparateDataOutput "mkdir -p $data"}
${optionalString hasLibOutput ''
# Even if we don't have binary output for the package, things like
# Paths files will embed paths to bin/libexec directories in themselves
# which results in .lib <-> $out cyclic store reference. We
# therefore patch out the paths from separate library if we don't have
# separate bin output too.
#
# If we _do_ have separate bin and lib outputs, we may still be in
# trouble in case of shared executables: executable contains path to
# .lib, .lib contains path (through Paths) to .bin and we have a
# cycle.
#
# Lastly we have to deal with references from .lib back into
# $out/share if we're not splitting out data directory.
#
# It may happen that we have hasLibOutput set but the library
# directory was not created: this happens in the case that library
# section is not exposing any modules. See "fail" package for an
# example where no modules are exposed for GHC >= 8.0.
if [ -d ${libDir} ]; then
find ${libDir} -type f -exec \
remove-references-to -t ${binDir} -t ${libexecDir} "{}" \;
fi
''}
${optionalString (hasLibOutput && ! enableSeparateDocOutput) ''
# If we don't have separate docs, we have to patch out the ref to
# docs in package conf. This will likely break Haddock
# cross-package links but is necessary to break store cycle…
find ${libDir}/ -type f -name '*.conf' -exec \
remove-references-to -t ${docDir} "{}" \;
''}
${optionalString (hasLibOutput && ! enableSeparateDataOutput) ''
# Just like for doc output path in $out potentially landing in
# *.conf, we have to also remove the data directory so that it
# doesn't appear under data-dir field creating a cycle.
find ${libDir}/ -type f -exec echo Removing ${dataDir} refs from "{}" \;
find ${libDir}/ -type f -exec \
remove-references-to -t ${dataDir} "{}" \;
''}
${optionalString enableSeparateDataOutput "mkdir -p ${dataDir}"}
${optionalString enableSeparateBinOutput "mkdir -p ${binDir} ${libexecDir}"}
${optionalString enableSeparateEtcOutput "mkdir -p ${etcDir}"}
runHook postInstall
'';
@ -357,7 +432,7 @@ stdenv.mkDerivation ({
# the directory containing the haddock documentation.
# `null' if no haddock documentation was built.
# TODO: fetch the self from the fixpoint instead
haddockDir = self: if doHaddock then "${docdir self.doc}/html" else null;
haddockDir = self: if doHaddock then "${docDir}/html" else null;
env = stdenv.mkDerivation {
name = "interactive-${pname}-${version}-environment";
@ -386,6 +461,7 @@ stdenv.mkDerivation ({
// optionalAttrs (description != "") { inherit description; }
// optionalAttrs (maintainers != []) { inherit maintainers; }
// optionalAttrs (hydraPlatforms != platforms) { inherit hydraPlatforms; }
// optionalAttrs (outputsToInstall != []) { inherit outputsToInstall; }
;
}

File diff suppressed because it is too large Load diff

View file

@ -142,4 +142,8 @@ rec {
overrideSrc = drv: { src, version ? drv.version }:
overrideCabal drv (_: { inherit src version; editedCabalFile = null; });
hasNoBinOutput = drv: overrideCabal drv (drv: { enableSeparateBinOutput = false; });
installOutputs = drv: outputs: overrideCabal drv
(drv: { outputsToInstall = outputs; });
}

View file

@ -44,6 +44,7 @@ let
isLibrary = false;
doHaddock = false;
hyperlinkSource = false; # Avoid depending on hscolour for this build.
enableSeparateEtcOutput = false; # The flag to support this is missing in old versions of cabal.
postFixup = "rm -rf $out/lib $out/share $out/nix-support";
});
cpphs = overrideCabal (self.cpphs.overrideScope (self: super: {

View file

@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
sha256 = "1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v";
};
patches = [
./nix-unstable-sandbox-fix.patch
];
buildInputs = [
texinfo libXext xextproto libX11 xproto libXpm libXt libXcursor
alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc

View file

@ -0,0 +1,13 @@
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 32ed053..73ba87f 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -72,7 +72,7 @@ foreach(page ${DOC_SRCS})
string(REPLACE "._tx" "" basename ${basename})
set(page ${CMAKE_CURRENT_SOURCE_DIR}/${page})
- if(${page} MATCHES "/build/")
+ if(${page} MATCHES ".+/build/")
set(txt_out ${CMAKE_CURRENT_BINARY_DIR}/build/${basename}.txt)
set(html_out ${CMAKE_CURRENT_BINARY_DIR}/build/${basename}.html)
else()

View file

@ -3,7 +3,7 @@
locales are included; otherwise, just the locales listed in
`locales'. See localedata/SUPPORTED in the Glibc source tree for
the list of all supported locales:
http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc
https://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED
*/
{ stdenv, callPackage, writeText

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mps-${version}";
version = "1.115.0";
version = "1.116.0";
src = fetchurl {
url = "http://www.ravenbrook.com/project/mps/release/${version}/mps-kit-${version}.tar.gz";
sha256 = "156xdl16r44nn8svnrgfaklwrgpc3y0rxzqyp0jbdp55c6rlfl6l";
sha256 = "1k7vnanpgawnj84x2xs6md57pfib9p7c3acngqzkl3c2aqw8qay0";
};
buildInputs = [ autoreconfHook sqlite ];

View file

@ -0,0 +1,45 @@
{ stdenv
, fetchurl
, blas
, gfortran
, liblapack
, python }:
stdenv.mkDerivation rec {
name = "petsc-${version}";
version = "3.7.6";
src = fetchurl {
url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
sha256 = "0jfl35lrhzvv982z6h1v5rcp39g0x16ca43rm9dx91wm6i8y13iw";
};
nativeBuildInputs = [ blas gfortran.cc.lib liblapack python ];
preConfigure = ''
patchShebangs .
configureFlagsArray=(
$configureFlagsArray
"--CC=$CC"
"--with-cxx=0"
"--with-fc=0"
"--with-mpi=0"
"--with-blas-lib=[${blas}/lib/libblas.a,${gfortran.cc.lib}/lib/libgfortran.a]"
"--with-lapack-lib=[${liblapack}/lib/liblapack.a,${gfortran.cc.lib}/lib/libgfortran.a]"
)
'';
postInstall = ''
rm $out/bin/petscmpiexec
rm $out/bin/popup
rm $out/bin/uncrustify.cfg
rm -rf $out/bin/win32fe
'';
meta = {
description = "Library of linear algebra algorithms for solving partial differential equations";
homepage = https://www.mcs.anl.gov/petsc/index.html;
platforms = stdenv.lib.platforms.all;
license = stdenv.lib.licenses.bsd2;
};
}

View file

@ -62,6 +62,7 @@ let lispPackages = rec {
version = "1.0.0";
src = ./quicklisp-to-nix;
buildDependencies = [sbcl quicklisp-to-nix-system-info];
buildInputs = with pkgs.lispPackages; [md5 cl-emb alexandria external-program];
touch = coreutils;
nix-prefetch-url = nix;
inherit quicklisp;

View file

@ -0,0 +1,31 @@
args @ { fetchurl, ... }:
rec {
baseName = ''clsql-postgresql-socket'';
version = ''clsql-20160208-git'';
description = ''Common Lisp SQL PostgreSQL Socket Driver'';
deps = [ args."clsql" args."md5" args."uffi" ];
src = fetchurl {
url = ''http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz'';
sha256 = ''0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn'';
};
packageName = "clsql-postgresql-socket";
asdFilesToKeep = ["clsql-postgresql-socket.asd"];
overrides = x: x;
}
/* (SYSTEM clsql-postgresql-socket DESCRIPTION
Common Lisp SQL PostgreSQL Socket Driver SHA256
0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn URL
http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz
MD5 d1da7688361337a7de4fe7452c225a06 NAME clsql-postgresql-socket FILENAME
clsql-postgresql-socket DEPS
((NAME clsql FILENAME clsql) (NAME md5 FILENAME md5)
(NAME uffi FILENAME uffi))
DEPENDENCIES (clsql md5 uffi) VERSION clsql-20160208-git SIBLINGS
(clsql-aodbc clsql-cffi clsql-mysql clsql-odbc clsql-postgresql-socket3
clsql-postgresql clsql-sqlite clsql-sqlite3 clsql-tests clsql-uffi clsql)
PARASITES NIL) */

View file

@ -0,0 +1,31 @@
args @ { fetchurl, ... }:
rec {
baseName = ''clsql-postgresql'';
version = ''clsql-20160208-git'';
description = ''Common Lisp PostgreSQL API Driver'';
deps = [ args."clsql" args."clsql-uffi" args."uffi" ];
src = fetchurl {
url = ''http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz'';
sha256 = ''0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn'';
};
packageName = "clsql-postgresql";
asdFilesToKeep = ["clsql-postgresql.asd"];
overrides = x: x;
}
/* (SYSTEM clsql-postgresql DESCRIPTION Common Lisp PostgreSQL API Driver
SHA256 0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn URL
http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz
MD5 d1da7688361337a7de4fe7452c225a06 NAME clsql-postgresql FILENAME
clsql-postgresql DEPS
((NAME clsql FILENAME clsql) (NAME clsql-uffi FILENAME clsql-uffi)
(NAME uffi FILENAME uffi))
DEPENDENCIES (clsql clsql-uffi uffi) VERSION clsql-20160208-git SIBLINGS
(clsql-aodbc clsql-cffi clsql-mysql clsql-odbc clsql-postgresql-socket
clsql-postgresql-socket3 clsql-sqlite clsql-sqlite3 clsql-tests clsql-uffi
clsql)
PARASITES NIL) */

View file

@ -0,0 +1,30 @@
args @ { fetchurl, ... }:
rec {
baseName = ''clsql-uffi'';
version = ''clsql-20160208-git'';
description = ''Common UFFI Helper functions for Common Lisp SQL Interface Library'';
deps = [ args."clsql" args."uffi" ];
src = fetchurl {
url = ''http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz'';
sha256 = ''0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn'';
};
packageName = "clsql-uffi";
asdFilesToKeep = ["clsql-uffi.asd"];
overrides = x: x;
}
/* (SYSTEM clsql-uffi DESCRIPTION
Common UFFI Helper functions for Common Lisp SQL Interface Library SHA256
0hc97rlfpanp6c1ziis47mrq2fgxbk0h51bhczn8k9xin2qbhhgn URL
http://beta.quicklisp.org/archive/clsql/2016-02-08/clsql-20160208-git.tgz
MD5 d1da7688361337a7de4fe7452c225a06 NAME clsql-uffi FILENAME clsql-uffi
DEPS ((NAME clsql FILENAME clsql) (NAME uffi FILENAME uffi)) DEPENDENCIES
(clsql uffi) VERSION clsql-20160208-git SIBLINGS
(clsql-aodbc clsql-cffi clsql-mysql clsql-odbc clsql-postgresql-socket
clsql-postgresql-socket3 clsql-postgresql clsql-sqlite clsql-sqlite3
clsql-tests clsql)
PARASITES NIL) */

View file

@ -67,10 +67,12 @@ in
postInstall = ((x.overrides y).postInstall or "") + ''
export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$out/lib/common-lisp/query-fs"
export HOME=$PWD
build-with-lisp.sh sbcl \
":query-fs $(echo "$linkedSystems" | sed -re 's/(^| )([^ :])/ :\2/g')" \
"$out/bin/query-fs" \
"(query-fs:run-fs-with-cmdline-args)"
"$out/bin/query-fs-lisp-launcher.sh" --eval '(asdf:make :query-fs)' \
--eval "(progn $(for i in $linkedSystems; do echo "(asdf:make :$i)"; done) )" \
--eval '(setf (asdf/system:component-entry-point (asdf:find-system :query-fs))
(function query-fs:run-fs-with-cmdline-args))' \
--eval '(asdf:perform (quote asdf:program-op) :query-fs)'
cp "$out/lib/common-lisp/query-fs/query-fs" "$out/bin/"
'';
};
};

View file

@ -36,6 +36,8 @@ cl-ppcre-unicode
cl-reexport
cl-smtp
clsql
clsql-postgresql
clsql-postgresql-socket
clss
cl+ssl
cl-syntax-annot
@ -69,7 +71,6 @@ form-fiddle
fset
http-body
hu.dwim.asdf
hu.dwim.def
hunchentoot
idna
ieee-floats

View file

@ -540,14 +540,6 @@ let quicklisp-to-nix-packages = rec {
}));
"md5" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."md5" or (x: {}))
(import ./quicklisp-to-nix-output/md5.nix {
inherit fetchurl;
}));
"cl-postgres" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."cl-postgres" or (x: {}))
@ -617,6 +609,24 @@ let quicklisp-to-nix-packages = rec {
}));
"md5" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."md5" or (x: {}))
(import ./quicklisp-to-nix-output/md5.nix {
inherit fetchurl;
}));
"clsql-uffi" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."clsql-uffi" or (x: {}))
(import ./quicklisp-to-nix-output/clsql-uffi.nix {
inherit fetchurl;
"clsql" = quicklisp-to-nix-packages."clsql";
"uffi" = quicklisp-to-nix-packages."uffi";
}));
"trivial-garbage" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."trivial-garbage" or (x: {}))
@ -1931,6 +1941,28 @@ let quicklisp-to-nix-packages = rec {
}));
"clsql-postgresql-socket" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."clsql-postgresql-socket" or (x: {}))
(import ./quicklisp-to-nix-output/clsql-postgresql-socket.nix {
inherit fetchurl;
"clsql" = quicklisp-to-nix-packages."clsql";
"md5" = quicklisp-to-nix-packages."md5";
"uffi" = quicklisp-to-nix-packages."uffi";
}));
"clsql-postgresql" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."clsql-postgresql" or (x: {}))
(import ./quicklisp-to-nix-output/clsql-postgresql.nix {
inherit fetchurl;
"clsql" = quicklisp-to-nix-packages."clsql";
"clsql-uffi" = quicklisp-to-nix-packages."clsql-uffi";
"uffi" = quicklisp-to-nix-packages."uffi";
}));
"clsql" = buildLispPackage
((f: x: (x // (f x)))
(qlOverrides."clsql" or (x: {}))

View file

@ -310,10 +310,8 @@ Arguments:
(defun dump-image ()
"Make an executable"
(with-quicklisp (dir) ()
(declare (ignore dir))
(dolist (system *required-systems*)
(funcall (sym :ql :quickload) system)))
(dolist (system *required-systems*)
(asdf:make system))
(register-emb "nix-package" (merge-pathnames #p"nix-package.emb" (this-file)))
(register-emb "invocation" (merge-pathnames #p"invocation.emb" (this-file)))
(register-emb "parasitic-invocation" (merge-pathnames #p"parasitic-invocation.emb" (this-file)))

View file

@ -10,6 +10,6 @@ self = rec {
lispPackages.quicklisp-to-nix lispPackages.quicklisp-to-nix-system-info
];
CPATH = "${libfixposix}/include";
LD_LIBRARY_PATH = "${openssl.out}/lib:${fuse}/lib:${libuv}/lib:${libev}/lib:${mariadb}/lib:${sqlite.out}/lib:${libfixposix}/lib:${freetds}/lib";
LD_LIBRARY_PATH = "${openssl.out}/lib:${fuse}/lib:${libuv}/lib:${libev}/lib:${mariadb}/lib:${postgresql.lib}/lib:${sqlite.out}/lib:${libfixposix}/lib:${freetds}/lib";
};
in stdenv.mkDerivation self

View file

@ -0,0 +1,32 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
, pytest, glibcLocales
, numpy, scipy, matplotlib, h5py }:
buildPythonPackage rec {
pname = "bayespy";
version = "0.5.10";
name = "${pname}-${version}";
# Python 2 not supported and not some old Python 3 because MPL doesn't support
# them properly.
disabled = pythonOlder "3.4";
src = fetchPypi {
inherit pname version;
sha256 = "01cwd88ri29zy6qpvnqzljkgc44n7a17yijizr73blcnh4dz5n1w";
};
checkInputs = [ pytest glibcLocales ];
propagatedBuildInputs = [ numpy scipy matplotlib h5py ];
checkPhase = ''
LC_ALL=en_US.utf-8 pytest -k 'not test_message_to_parents'
'';
meta = with stdenv.lib; {
homepage = http://www.bayespy.org;
description = "Variational Bayesian inference tools for Python";
license = licenses.mit;
maintainers = with maintainers; [ jluttine ];
};
}

View file

@ -0,0 +1,29 @@
{ stdenv, buildPythonPackage, fetchPypi,
click, pytest
}:
buildPythonPackage rec {
pname = "click-plugins";
version = "1.0.3";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "1ifphgaw5mmcdnqd0qfnmrbm62q3k6p573aff4cxgpyjxmz5xk3s";
};
propagatedBuildInputs = [
click
];
checkInputs = [
pytest
];
meta = with stdenv.lib; {
description = "An extension module for click to enable registering CLI commands";
homepage = https://github.com/click-contrib/click-plugins;
license = licenses.bsd3;
maintainers = with maintainers; [ knedlsepp ];
};
}

View file

@ -0,0 +1,33 @@
{ stdenv, buildPythonPackage, fetchFromGitHub
, click, pytest, glibcLocales
}:
buildPythonPackage rec {
pname = "cligj";
version = "0.4.0";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "mapbox";
repo = "cligj";
rev = version;
sha256 = "0fclxagxv23v75yiypb29a8sja23dakhvmx3blmxyhg2sci92sx8";
};
propagatedBuildInputs = [
click
];
checkInputs = [ pytest glibcLocales ];
checkPhase = ''
LC_ALL=en_US.utf-8 pytest tests
'';
meta = with stdenv.lib; {
description = "Click params for commmand line interfaces to GeoJSON";
homepage = https://github.com/mapbox/cligj;
license = licenses.bsd3;
maintainers = with maintainers; [ knedlsepp ];
};
}

View file

@ -0,0 +1,26 @@
{ stdenv, buildPythonPackage, fetchPypi,
matplotlib, shapely
}:
buildPythonPackage rec {
pname = "descartes";
version = "1.1.0";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "0nq36w9ylvfwmwn5qd9c8fsp2jzsqpmy4xcr6pzxcpmg8qhm0nhk";
};
propagatedBuildInputs = [
matplotlib
shapely
];
meta = with stdenv.lib; {
description = "Python library to use Shapely or GeoJSON objects as matplotlib paths";
homepage = https://bitbucket.org/sgillies/descartes/;
license = licenses.bsd3;
maintainers = with maintainers; [ knedlsepp ];
};
}

View file

@ -0,0 +1,41 @@
{ stdenv, buildPythonPackage, fetchPypi,
six, cligj, munch, click-plugins, enum34, pytest, nose,
gdal
}:
buildPythonPackage rec {
pname = "Fiona";
version = "1.7.9";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "1fmdgpfnifaqfqwkfiwkpk19wmpi9avmh8a7jqylqi578jvp3fwi";
};
buildInputs = [
gdal
];
propagatedBuildInputs = [
six
cligj
munch
click-plugins
enum34
];
checkInputs = [
pytest
nose
];
doCheck = false;
meta = with stdenv.lib; {
description = "OGR's neat, nimble, no-nonsense API for Python";
homepage = http://toblerity.org/fiona/;
license = licenses.bsd3;
maintainers = with maintainers; [ knedlsepp ];
};
}

View file

@ -0,0 +1,36 @@
{ stdenv, buildPythonPackage, fetchFromGitHub
, pandas, shapely, fiona, descartes, pyproj
, pytest }:
buildPythonPackage rec {
name = "geopandas-${version}";
version = "0.3.0";
src = fetchFromGitHub {
owner = "geopandas";
repo = "geopandas";
rev = "v${version}";
sha256 = "0maafafr7sjjmlg2f19bizg06c8a5z5igmbcgq6kgmi7rklx8xxz";
};
checkInputs = [ pytest ];
checkPhase = ''
py.test geopandas
'';
propagatedBuildInputs = [
pandas
shapely
fiona
descartes
pyproj
];
meta = with stdenv.lib; {
description = "Python geospatial data analysis framework";
homepage = https://geopandas.org;
license = licenses.bsd3;
maintainers = with maintainers; [ knedlsepp ];
};
}

View file

@ -0,0 +1,44 @@
{ stdenv, buildPythonPackage, fetchPypi
, geos, glibcLocales, pytest, cython, sharedLibraryExtension
, numpy
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "Shapely";
version = "1.5.15";
src = fetchPypi {
inherit pname version;
sha256 = "0lfqxb3kpdn0g9zzlhzg79yc8iyy4fpsk0p5nd80gar1mmhr8pg7";
};
buildInputs = [ geos glibcLocales cython ];
checkInputs = [ pytest ];
propagatedBuildInputs = [ numpy ];
preConfigure = ''
export LANG="en_US.UTF-8";
'';
patchPhase = let
libc = if stdenv.isDarwin then "libc.dylib" else "libc.so.6";
in ''
sed -i "s|_lgeos = load_dll('geos_c', fallbacks=.*)|_lgeos = load_dll('geos_c', fallbacks=['${geos}/lib/libgeos_c${sharedLibraryExtension}'])|" shapely/geos.py
sed -i "s|free = load_dll('c').free|free = load_dll('c', fallbacks=['${stdenv.cc.libc}/lib/${stdenv.cc.libc}']).free|" shapely/geos.py
'';
# tests/test_voctorized fails because the vectorized extension is not
# available in when running tests
checkPhase = ''
py.test --ignore tests/test_vectorized.py
'';
meta = with stdenv.lib; {
description = "Geometric objects, predicates, and operations";
maintainers = with maintainers; [ knedlsepp ];
homepage = "https://pypi.python.org/pypi/Shapely/";
};
}

View file

@ -90,6 +90,8 @@ in
gio2 = attrs: { buildInputs = [ gtk2 pcre pkgconfig ]; };
gitlab-markup = attrs: { meta.priority = 1; };
glib2 = attrs: { buildInputs = [ gtk2 pcre pkgconfig ]; };
gtk2 = attrs: {

View file

@ -1,29 +1,48 @@
{ stdenv, fetchurl, makeWrapper, jre }:
{ stdenv, fetchurl, makeWrapper, jre, gawk }:
stdenv.mkDerivation rec {
name = "nexus-${version}";
version = "2.12.0-01";
version = "3.5.1-02";
src = fetchurl {
url = "https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-${version}-bundle.tar.gz";
sha256 = "1k3z7kwcmr1pxaxfnak99fq5s8br9zbqbfpyw1afi86ykkph4g5z";
url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-mac.tgz";
sha256 = "5ef3512c2bbdd45ef35921c1a0ba109b45bd9dad88311750196aa689262258b6";
};
sourceRoot = name;
buildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ];
installPhase =
''
mkdir -p $out
cp -rfv * $out
rm -fv $out/bin/nexus.bat
'';
patches = [ ./nexus-bin.patch ];
postPatch = ''
substituteInPlace bin/nexus.vmoptions \
--replace ../sonatype-work/nexus3 /run/sonatype-work/nexus3 \
--replace etc/karaf $out/etc/karaf \
--replace =. =$out
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -rfv * .install4j $out
rm -fv $out/bin/nexus.bat
runHook postInstall
'';
postInstall = ''
wrapProgram $out/bin/nexus \
--set JAVA_HOME ${jre} \
--set ALTERNATIVE_NAME "nexus" \
--prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}"
'';
meta = with stdenv.lib; {
description = "Repository manager for binary software components";
homepage = http://www.sonatype.org/nexus;
license = licenses.epl10;
platforms = platforms.all;
maintainers = [ maintainers.aespinosa ];
maintainers = with maintainers; [ aespinosa ironpinguin ];
};
}

View file

@ -0,0 +1,54 @@
--- nexus-3.5.1-02/bin/nexus 2017-08-18 17:51:08.000000000 +0200
+++ nexus 2017-08-31 12:41:01.271475645 +0200
@@ -72,7 +72,7 @@
fi
db_new_file=${db_file}_new
if [ -f "$db_file" ]; then
- awk '$1 != "'"$test_dir"'" {print $0}' $db_file > $db_new_file
+ awk '$1 != "'"$test_dir"'" {print $scriptname}' $db_file > $db_new_file
rm "$db_file"
mv "$db_new_file" "$db_file"
fi
@@ -236,7 +236,7 @@
unpack_file() {
if [ -f "$1" ]; then
- jar_file=`echo "$1" | awk '{ print substr($0,1,length-5) }'`
+ jar_file=`echo "$1" | awk '{ print substr($scriptname,1,length-5) }'`
bin/unpack200 -r "$1" "$jar_file"
if [ $? -ne 0 ]; then
@@ -360,8 +360,14 @@
old_pwd=`pwd`
-progname=`basename "$0"`
-linkdir=`dirname "$0"`
+scriptname=$0
+
+if [ ! -z "$ALTERNATIVE_NAME" ]; then
+ scriptname=`dirname "$0"`"/"$ALTERNATIVE_NAME
+fi
+
+progname=`basename "$scriptname"`
+linkdir=`dirname "$scriptname"`
cd "$linkdir"
prg="$progname"
@@ -522,7 +528,6 @@
$INSTALL4J_JAVA_PREFIX nohup "$app_java_home/bin/java" -server -Dinstall4j.jvmDir="$app_java_home" -Dexe4j.moduleName="$prg_dir/$progname" "-XX:+UnlockDiagnosticVMOptions" "-Dinstall4j.launcherId=245" "-Dinstall4j.swt=false" "$vmov_1" "$vmov_2" "$vmov_3" "$vmov_4" "$vmov_5" $INSTALL4J_ADD_VM_PARAMS -classpath "$local_classpath" com.install4j.runtime.launcher.UnixLauncher start 9d17dc87 "" "" org.sonatype.nexus.karaf.NexusMain > /dev/null 2>&1 &
-
;;
start-launchd)
echo "Starting nexus"
@@ -569,7 +574,7 @@
;;
*)
- echo "Usage: $0 {start|stop|run|run-redirect|status|restart|force-reload}"
+ echo "Usage: $scriptname {start|stop|run|run-redirect|status|restart|force-reload}"
exit 1
;;
esac

View file

@ -228,6 +228,6 @@ stdenv.mkDerivation {
mkdir -p $out/Developer/SDKs/
cd $out/Developer/SDKs/
ln -s ${sdk}
cp -r ${sdk} nix.nixpkgs.sdk
'';
}

View file

@ -1,6 +1,25 @@
{ stdenv, fetchFromGitHub, makeWrapper, cmake, libjpeg, zlib, libpng, mesa_noglu, SDL2 }:
{ stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, cmake, libjpeg, zlib, libpng, mesa_noglu, SDL2 }:
stdenv.mkDerivation rec {
let
jamp = makeDesktopItem rec {
name = "jamp";
exec = name;
icon = "OpenJK_Icon_128";
comment = "Open Source Jedi Academy game released by Raven Software";
desktopName = "Jedi Academy (Multi Player)";
genericName = "Jedi Academy";
categories = "Game;";
};
jasp = makeDesktopItem rec {
name = "jasp";
exec = name;
icon = "OpenJK_Icon_128";
comment = "Open Source Jedi Academy game released by Raven Software";
desktopName = "Jedi Academy (Single Player)";
genericName = "Jedi Academy";
categories = "Game;";
};
in stdenv.mkDerivation rec {
name = "OpenJK-2017-08-11";
src = fetchFromGitHub {
@ -22,11 +41,16 @@ stdenv.mkDerivation rec {
'';
postInstall = ''
mkdir -p $out/bin
mkdir -p $out/bin $out/share/applications $out/share/icons/hicolor/128x128/apps
prefix=$out/opt/JediAcademy
makeWrapper $prefix/openjk.* $out/bin/jamp --run "cd $prefix"
makeWrapper $prefix/openjk_sp.* $out/bin/jasp --run "cd $prefix"
makeWrapper $prefix/openjkded.* $out/bin/openjkded --run "cd $prefix"
cp $src/shared/icons/OpenJK_Icon_128.png $out/share/icons/hicolor/128x128/apps
ln -s ${jamp}/share/applications/* $out/share/applications
ln -s ${jasp}/share/applications/* $out/share/applications
'';
meta = with stdenv.lib; {

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation {
sha256 = "1k35xppfqi3qfysv81xq3hj4qdy9j2ciinbkfdcmwclcsf3nh94z";
};
NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2 -std=c++98 -Wno-error";
# The breakpad fails to build on x86_64, and it's only to report bugs upstream
cmakeFlags = [ "-DBREAKPAD=0" ];

View file

@ -10,12 +10,12 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "higan-${version}";
version = "103";
version = "104";
sourceName = "higan_v${version}-source";
src = fetchurl {
urls = [ "http://download.byuu.org/${sourceName}.7z" ];
sha256 = "0xj2k5g1zyl71hk3kwaixk1axbi6s9kqq31c702rl7qkljv6lfp6";
sha256 = "0i2ma8zjjxadq4368n4m41vhmrb62na6s7pi219ajdsb96x0091l";
curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick...
};

View file

@ -1,11 +1,17 @@
{ stdenv, fetchurl, pkgconfig, SDL2, alsaLib, gtk3, mesa_glu, makeWrapper
, mesa, libarchive, libao, unzip, xdg_utils, gsettings_desktop_schemas }:
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, SDL2, alsaLib, gtk3, mesa_glu
, makeWrapper, mesa, libarchive, libao, unzip, xdg_utils, gsettings_desktop_schemas
, epoxy, gdk_pixbuf, gnome3, wrapGAppsHook
}:
stdenv.mkDerivation rec {
name = "nestopia-1.46.2";
src = fetchurl {
url = https://github.com/rdanbrook/nestopia/archive/1.46.2.tar.gz;
sha256 = "07h49xwvg61dx20rk5p4r3ax2ar5y0ppvm60cqwqljyi9rdfbh7p";
version = "1.47";
name = "nestopia-${version}";
src = fetchFromGitHub {
owner = "rdanbrook";
repo = "nestopia";
rev = "${version}";
sha256 = "0frr0gvjh5mxzdhj0ii3sh671slgnzlm8naqlc4h87rx4p4sz2y2";
};
# nondeterministic failures when creating directories
@ -13,8 +19,26 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "format" ];
buildInputs = [ pkgconfig SDL2 alsaLib gtk3 mesa_glu mesa makeWrapper
libarchive libao unzip xdg_utils gsettings_desktop_schemas ];
buildInputs = [
SDL2
alsaLib
epoxy
gtk3
gdk_pixbuf
mesa_glu
mesa
libarchive
libao
unzip
xdg_utils
gnome3.adwaita-icon-theme
];
nativeBuildInputs = [
pkgconfig
makeWrapper
wrapGAppsHook
];
installPhase = ''
mkdir -p $out/{bin,share/nestopia}
@ -28,7 +52,15 @@ stdenv.mkDerivation rec {
done
'';
patches = [ ./build-fix.patch ];
patches = [
#(fetchpatch {
# url = "https://github.com/rdanbrook/nestopia/commit/f4bc74ac4954328b25e961e7afb7337377084079.patch";
# name = "gcc6.patch";
# sha256 = "1jy0c85xsfk9hrv5a6v0kk48d94864qb62yyni9fp93kyl33y2p4";
#})
./gcc6.patch
./build-fix.patch
];
meta = {
homepage = http://0ldsk00l.ca/nestopia/;

View file

@ -0,0 +1,92 @@
From f4bc74ac4954328b25e961e7afb7337377084079 Mon Sep 17 00:00:00 2001
From: David Seifert <soap@gentoo.org>
Date: Sat, 31 Dec 2016 18:21:18 +0200
Subject: [PATCH] Fix compiling in C++14 mode
* Left shifting a negative signed is undefined behaviour
* Fix incorrect printf() specifiers found with -Wformat
---
source/core/NstCore.hpp | 4 ++--
source/unix/gtkui/gtkui.cpp | 2 +-
source/unix/gtkui/gtkui.h | 1 -
source/unix/gtkui/gtkui_cheats.cpp | 8 ++++----
source/unix/video.cpp | 2 +-
5 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/source/core/NstCore.hpp b/source/core/NstCore.hpp
index 50e20f6..420cc4a 100644
--- a/source/core/NstCore.hpp
+++ b/source/core/NstCore.hpp
@@ -279,14 +279,14 @@ namespace Nes
template<typename T>
inline long signed_shl(T v,uint c)
{
- enum {NATIVE = T(-7) << 1 == -14};
+ enum {NATIVE = -(T(7) << 1) == -14};
return Helper::ShiftSigned<T,NATIVE>::Left( v, c );
}
template<typename T>
inline long signed_shr(T v,uint c)
{
- enum {NATIVE = T(-7) >> 1 == -4 || T(-7) >> 1 == -3};
+ enum {NATIVE = -(T(7) >> 1) == -4 || -(T(7) >> 1) == -3};
return Helper::ShiftSigned<T,NATIVE>::Right( v, c );
}
diff --git a/source/unix/gtkui/gtkui.cpp b/source/unix/gtkui/gtkui.cpp
index 3cfeeab..d4a5e2d 100644
--- a/source/unix/gtkui/gtkui.cpp
+++ b/source/unix/gtkui/gtkui.cpp
@@ -438,7 +438,7 @@ void gtkui_message(const char* message) {
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
- message);
+ "%s", message);
gtk_dialog_run(GTK_DIALOG(messagewindow));
gtk_widget_destroy(messagewindow);
}
diff --git a/source/unix/gtkui/gtkui_cheats.cpp b/source/unix/gtkui/gtkui_cheats.cpp
index afc01b0..e7b691a 100644
--- a/source/unix/gtkui/gtkui_cheats.cpp
+++ b/source/unix/gtkui/gtkui_cheats.cpp
@@ -373,7 +373,7 @@ void gtkui_cheats_fill_tree(char *filename) {
else if (node.GetChild(L"address")) { // Raw
char rawbuf[11];
snprintf(rawbuf, sizeof(rawbuf),
- "%04x %02x %02x",
+ "%04lu %02lu %02lu",
node.GetChild(L"address").GetUnsignedValue(),
node.GetChild(L"value").GetUnsignedValue(),
node.GetChild(L"compare").GetUnsignedValue());
@@ -545,13 +545,13 @@ gboolean gtkui_cheats_scan_list(GtkTreeModel *model, GtkTreePath *path, GtkTreeI
int addr, value, compare;
char buf[5];
- snprintf(buf, sizeof(buf), "%c%c%c%c\0", rawcode[0], rawcode[1], rawcode[2], rawcode[3]);
+ snprintf(buf, sizeof(buf), "%c%c%c%c", rawcode[0], rawcode[1], rawcode[2], rawcode[3]);
sscanf(buf, "%x", &addr);
- snprintf(buf, sizeof(buf), "%c%c\0", rawcode[5], rawcode[6]);
+ snprintf(buf, sizeof(buf), "%c%c", rawcode[5], rawcode[6]);
sscanf(buf, "%x", &value);
- snprintf(buf, sizeof(buf), "%c%c\0", rawcode[8], rawcode[9]);
+ snprintf(buf, sizeof(buf), "%c%c", rawcode[8], rawcode[9]);
sscanf(buf, "%x", &compare);
code.address = addr;
diff --git a/source/unix/video.cpp b/source/unix/video.cpp
index 3eff19d..c34bb22 100644
--- a/source/unix/video.cpp
+++ b/source/unix/video.cpp
@@ -757,7 +757,7 @@ void video_screenshot(const char* filename) {
if (filename == NULL) {
// Set the filename
char sshotpath[512];
- snprintf(sshotpath, sizeof(sshotpath), "%sscreenshots/%s-%d-%d.png", nstpaths.nstdir, nstpaths.gamename, time(NULL), rand() % 899 + 100);
+ snprintf(sshotpath, sizeof(sshotpath), "%sscreenshots/%s-%ld-%d.png", nstpaths.nstdir, nstpaths.gamename, time(NULL), rand() % 899 + 100);
// Save the file
lodepng_encode32_file(sshotpath, (const unsigned char*)pixels, rendersize.w, rendersize.h);

View file

@ -41,4 +41,8 @@ appleDerivation {
--replace '/bin/rmdir' "rmdir" \
--replace 'C=''${MIGCC}' "C=cc"
'';
meta = {
platforms = stdenv.lib.platforms.darwin;
};
}

View file

@ -42,4 +42,8 @@ appleDerivation {
preFixup = ''
wrapProgram "$out/bin/bsdmake" --add-flags "-m $out/share/mk"
'';
meta = {
platforms = stdenv.lib.platforms.darwin;
};
}

View file

@ -77,4 +77,8 @@ appleDerivation {
cp auto_zone.h auto_weak.h auto_tester/auto_tester.h auto_gdb_interface.h $out/include
cp libauto.dylib $out/lib
'';
meta = {
platforms = stdenv.lib.platforms.darwin;
};
}

View file

@ -13,4 +13,8 @@ appleDerivation {
-Wl,-reexport_library -Wl,$out/lib/libiconv-nocharset.dylib \
-Wl,-reexport_library -Wl,$out/lib/libcharset.dylib
'';
meta = {
platforms = stdenv.lib.platforms.darwin;
};
}

View file

@ -16,4 +16,8 @@ appleDerivation {
cp -r sys $out/include
cp -r sys/_pthread/*.h $out/include/sys/_types/
'';
meta = {
platforms = stdenv.lib.platforms.darwin;
};
}

View file

@ -127,4 +127,8 @@ appleDerivation {
mkdir $out/Library/PrivateFrameworks
mv $out/Library/Frameworks/IOKit.framework $out/Library/PrivateFrameworks
'';
meta = {
platforms = stdenv.lib.platforms.darwin;
};
}

View file

@ -22,19 +22,11 @@ stdenv.mkDerivation rec {
--replace "dep_systemd.get_pkgconfig_variable('systemduserunitdir')" "'$out/lib/systemd/user'"
'';
preConfigure = ''
mkdir build
meson --prefix "$out" --buildtype=release build/
postInstall = ''
install -Dm644 ../README $out/share/doc/dbus-broker/README
'';
buildPhase = "ninja -C build";
installPhase = ''
ninja -C build install
install -Dm644 README $out/share/doc/dbus-broker/README
'';
checkPhase = "ninja -C build test";
checkPhase = "ninja test";
doCheck = true;

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