quakespasm: init at 0.92.1

This commit is contained in:
Mathäus Sander 2017-04-23 22:24:15 +02:00
commit 15b98cb634
63 changed files with 1311 additions and 920 deletions

View File

@ -167,6 +167,11 @@
Because of this, a best-of-both-worlds solution is in the works with no splicing or explicit access of <varname>buildPackages</varname> needed.
For now, feel free to use either method.
</para>
<note><para>
There is also a "backlink" <varname>__targetPackages</varname>, yielding a package set whose <varname>buildPackages</varname> is the current package set.
This is a hack, though, to accommodate compilers with lousy build systems.
Please do not use this unless you are absolutely sure you are packaging such a compiler and there is no other way.
</para></note>
</section>
</section>

View File

@ -16,8 +16,7 @@ $ cd sensu
$ cat > Gemfile
source 'https://rubygems.org'
gem 'sensu'
$ nix-shell -p bundler --command "bundler package --path /tmp/vendor/bundle"
$ $(nix-build '<nixpkgs>' -A bundix)/bin/bundix
$ $(nix-build '<nixpkgs>' -A bundix)/bin/bundix --magic
$ cat > default.nix
{ lib, bundlerEnv, ruby }:

View File

@ -293,6 +293,7 @@
luispedro = "Luis Pedro Coelho <luis@luispedro.org>";
lukego = "Luke Gorrie <luke@snabb.co>";
lw = "Sergey Sofeychuk <lw@fmap.me>";
m3tti = "Mathaeus Sander <mathaeus.peter.sander@gmail.com>";
ma27 = "Maximilian Bosch <maximilian@mbosch.me>";
madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
magnetophon = "Bart Brouns <bart@magnetophon.nl>";

View File

@ -102,7 +102,9 @@
./programs/wvdial.nix
./programs/xfs_quota.nix
./programs/xonsh.nix
./programs/zsh/oh-my-zsh.nix
./programs/zsh/zsh.nix
./programs/zsh/zsh-syntax-highlighting.nix
./rename.nix
./security/acme.nix
./security/apparmor.nix

View File

@ -0,0 +1,35 @@
# A profile with most (vanilla) hardening options enabled by default,
# potentially at the cost of features and performance.
{ config, lib, pkgs, ... }:
with lib;
{
security.hideProcessInformation = mkDefault true;
security.apparmor.enable = mkDefault true;
# Restrict ptrace() usage to processes with a pre-defined relationship
# (e.g., parent/child)
boot.kernel.sysctl."kernel.yama.ptrace_scope" = mkOverride 500 1;
# Prevent replacing the running kernel image w/o reboot
boot.kernel.sysctl."kernel.kexec_load_disabled" = mkDefault true;
# Restrict access to kernel ring buffer (information leaks)
boot.kernel.sysctl."kernel.dmesg_restrict" = mkDefault true;
# Hide kptrs even for processes with CAP_SYSLOG
boot.kernel.sysctl."kernel.kptr_restrict" = mkOverride 500 2;
# Unprivileged access to bpf() has been used for privilege escalation in
# the past
boot.kernel.sysctl."kernel.unprivileged_bpf_disabled" = mkDefault true;
# Disable bpf() JIT (to eliminate spray attacks)
boot.kernel.sysctl."net.core.bpf_jit_enable" = mkDefault false;
# ... or at least apply some hardening to it
boot.kernel.sysctl."net.core.bpf_jit_harden" = mkDefault true;
}

View File

@ -0,0 +1,66 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.zsh.oh-my-zsh;
in
{
options = {
programs.zsh.oh-my-zsh = {
enable = mkOption {
default = false;
description = ''
Enable oh-my-zsh.
'';
};
plugins = mkOption {
default = [];
type = types.listOf(types.str);
description = ''
List of oh-my-zsh plugins
'';
};
custom = mkOption {
default = "";
type = types.str;
description = ''
Path to a custom oh-my-zsh package to override config of oh-my-zsh.
'';
};
theme = mkOption {
default = "";
type = types.str;
description = ''
Name of the theme to be used by oh-my-zsh.
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ oh-my-zsh ];
programs.zsh.interactiveShellInit = with pkgs; with builtins; ''
# oh-my-zsh configuration generated by NixOS
export ZSH=${oh-my-zsh}/share/oh-my-zsh
${optionalString (length(cfg.plugins) > 0)
"plugins=(${concatStringsSep " " cfg.plugins})"
}
${optionalString (stringLength(cfg.custom) > 0)
"ZSH_CUSTOM=\"${cfg.custom}\""
}
${optionalString (stringLength(cfg.theme) > 0)
"ZSH_THEME=\"${cfg.theme}\""
}
source $ZSH/oh-my-zsh.sh
'';
};
}

View File

@ -0,0 +1,43 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.zsh.syntax-highlighting;
in
{
options = {
programs.zsh.syntax-highlighting = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Enable zsh-syntax-highlighting.
'';
};
highlighters = mkOption {
default = [ "main" ];
type = types.listOf(types.str);
description = ''
Specifies the highlighters to be used by zsh-syntax-highlighting.
The following defined options can be found here:
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ zsh-syntax-highlighting ];
programs.zsh.interactiveShellInit = with pkgs; with builtins; ''
source ${zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
${optionalString (length(cfg.highlighters) > 0)
"ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})"
}
'';
};
}

View File

@ -84,14 +84,6 @@ in
type = types.bool;
};
enableSyntaxHighlighting = mkOption {
default = false;
description = ''
Enable zsh-syntax-highlighting
'';
type = types.bool;
};
enableAutosuggestions = mkOption {
default = false;
description = ''
@ -130,10 +122,6 @@ in
${if cfg.enableCompletion then "autoload -U compinit && compinit" else ""}
${optionalString (cfg.enableSyntaxHighlighting)
"source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
}
${optionalString (cfg.enableAutosuggestions)
"source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
}
@ -143,7 +131,6 @@ in
${cfge.interactiveShellInit}
HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help"
'';
@ -206,8 +193,7 @@ in
environment.etc."zinputrc".source = ./zinputrc;
environment.systemPackages = [ pkgs.zsh ]
++ optional cfg.enableCompletion pkgs.nix-zsh-completions
++ optional cfg.enableSyntaxHighlighting pkgs.zsh-syntax-highlighting;
++ optional cfg.enableCompletion pkgs.nix-zsh-completions;
environment.pathsToLink = optional cfg.enableCompletion "/share/zsh";

View File

@ -204,5 +204,8 @@ with lib;
"Set the option `services.xserver.displayManager.sddm.package' instead.")
(mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
# ZSH
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntax-highlighting" "enable" ])
];
}

View File

@ -149,7 +149,7 @@ in
--group fcron \
--directory /var/spool/fcron
# load system crontab file
#${pkgs.fcron}/bin/fcrontab -u systab ${pkgs.writeText "systab" cfg.systab}
/run/wrappers/bin/fcrontab -u systab ${pkgs.writeText "systab" cfg.systab}
'';
serviceConfig = {

View File

@ -32,14 +32,8 @@ let
''
#! ${pkgs.bash}/bin/bash
# SDDM splits "Exec" line in .desktop file by whitespace and pass script path as $1
if [[ "$0" = "$1" ]]; then
# remove superfluous $1 again
shift
# join arguments again and evaluate them in a shell context
# to interpret shell quoting
eval exec "$0" "$@"
fi
# Handle being called by SDDM.
if test "''${1:0:1}" = / ; then eval exec $1 $2 ; fi
${optionalString cfg.displayManager.logToJournal ''
if [ -z "$_DID_SYSTEMD_CAT" ]; then

View File

@ -17,6 +17,7 @@ let
login_cmd exec ${pkgs.stdenv.shell} ${dmcfg.session.script} "%session"
halt_cmd ${config.systemd.package}/sbin/shutdown -h now
reboot_cmd ${config.systemd.package}/sbin/shutdown -r now
logfile /dev/stderr
${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)}
${optionalString (cfg.defaultUser != null) ("focus_password yes")}
${optionalString cfg.autoLogin "auto_login yes"}
@ -128,11 +129,7 @@ in
config = mkIf cfg.enable {
services.xserver.displayManager.job =
{ preStart =
''
rm -f /var/log/slim.log
'';
environment =
{ environment =
{ SLIM_CFGFILE = slimConfig;
SLIM_THEMESDIR = slimThemesDir;
};

View File

@ -94,6 +94,7 @@ in rec {
(all nixos.tests.proxy)
(all nixos.tests.sddm.default)
(all nixos.tests.simple)
(all nixos.tests.slim)
(all nixos.tests.udisks2)
(all nixos.tests.xfce)

View File

@ -299,6 +299,7 @@ in rec {
tests.samba = callTest tests/samba.nix {};
tests.sddm = callSubTests tests/sddm.nix {};
tests.simple = callTest tests/simple.nix {};
tests.slim = callTest tests/slim.nix {};
tests.smokeping = callTest tests/smokeping.nix {};
tests.taskserver = callTest tests/taskserver.nix {};
tests.tomcat = callTest tests/tomcat.nix {};

View File

@ -122,7 +122,7 @@ import ./make-test.nix ({ pkgs, ...} : {
# Test hidepid
subtest "hidepid", sub {
$machine->succeed("grep -Fq hidepid=2 /etc/mtab");
$machine->succeed("grep -Fq hidepid=2 /proc/mounts");
$machine->succeed("[ `su - sybil -c 'pgrep -c -u root'` = 0 ]");
$machine->succeed("[ `su - alice -c 'pgrep -c -u root'` != 0 ]");
};

66
nixos/tests/slim.nix Normal file
View File

@ -0,0 +1,66 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "slim";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ aszlig ];
};
machine = { pkgs, lib, ... }: {
imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.windowManager.default = "icewm";
services.xserver.windowManager.icewm.enable = true;
services.xserver.desktopManager.default = "none";
services.xserver.displayManager.slim = {
enable = true;
# Use a custom theme in order to get best OCR results
theme = pkgs.runCommand "slim-theme-ocr" {
nativeBuildInputs = [ pkgs.imagemagick ];
} ''
mkdir "$out"
convert -size 1x1 xc:white "$out/background.jpg"
convert -size 200x100 xc:white "$out/panel.jpg"
cat > "$out/slim.theme" <<EOF
background_color #ffffff
background_style tile
input_fgcolor #000000
msg_color #000000
session_color #000000
session_font Verdana:size=16:bold
username_msg Username:
username_font Verdana:size=16:bold
username_color #000000
username_x 50%
username_y 40%
password_msg Password:
password_x 50%
password_y 40%
EOF
'';
};
};
enableOCR = true;
testScript = { nodes, ... }: let
user = nodes.machine.config.users.extraUsers.alice;
in ''
startAll;
$machine->waitForText(qr/Username:/);
$machine->sendChars("${user.name}\n");
$machine->waitForText(qr/Password:/);
$machine->sendChars("${user.password}\n");
$machine->waitForFile('${user.home}/.Xauthority');
$machine->succeed('xauth merge ${user.home}/.Xauthority');
$machine->waitForWindow('^IceWM ');
# Make sure SLiM doesn't create a log file
$machine->fail('test -e /var/log/slim.log');
'';
})

View File

@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
# Ensure that sessions appear in sort order, rather than in
# directory order.
./sort-sessions.patch
# Allow to set logfile to a special "/dev/stderr" in order to continue
# logging to stderr and thus to the journal.
./no-logfile.patch
];
preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";

View File

@ -0,0 +1,80 @@
diff --git a/log.cpp b/log.cpp
index b44677a..7c89dda 100644
--- a/log.cpp
+++ b/log.cpp
@@ -1,23 +1,31 @@
#include "log.h"
#include <iostream>
+#include <cstring>
bool
LogUnit::openLog(const char * filename)
{
- if (logFile.is_open()) {
+ if (isFile && logFile.is_open()) {
cerr << APPNAME
<< ": opening a new Log file, while another is already open"
<< endl;
- logFile.close();
+ closeLog();
}
- logFile.open(filename, ios_base::app);
- return !(logFile.fail());
+ if (strcmp(filename, "/dev/stderr") == 0) {
+ isFile = false;
+ return true;
+ } else {
+ logFile.open(filename, ios_base::app);
+ isFile = true;
+ return !(logFile.fail());
+ }
}
void
LogUnit::closeLog()
{
+ if (!isFile) return;
if (logFile.is_open())
logFile.close();
}
diff --git a/log.h b/log.h
index b7810be..ad548a2 100644
--- a/log.h
+++ b/log.h
@@ -9,11 +9,14 @@
#endif
#include "const.h"
#include <fstream>
+#include <iostream>
using namespace std;
static class LogUnit {
ofstream logFile;
+ bool isFile;
+ inline ostream &getStream() { return isFile ? logFile : cerr; }
public:
bool openLog(const char * filename);
void closeLog();
@@ -22,17 +25,17 @@ public:
template<typename Type>
LogUnit & operator<<(const Type & text) {
- logFile << text; logFile.flush();
+ getStream() << text; getStream().flush();
return *this;
}
LogUnit & operator<<(ostream & (*fp)(ostream&)) {
- logFile << fp; logFile.flush();
+ getStream() << fp; getStream().flush();
return *this;
}
LogUnit & operator<<(ios_base & (*fp)(ios_base&)) {
- logFile << fp; logFile.flush();
+ getStream() << fp; getStream().flush();
return *this;
}
} logStream;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, config, makeWrapper
{ stdenv, fetchurl, config, wrapGAppsHook
, alsaLib
, atk
, cairo
@ -77,7 +77,7 @@ stdenv.mkDerivation {
src = fetchurl { inherit (source) url sha512; };
phases = "unpackPhase installPhase";
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
libPath = stdenv.lib.makeLibraryPath
[ stdenv.cc.cc
@ -124,11 +124,12 @@ stdenv.mkDerivation {
stdenv.cc.cc
];
buildInputs = [ makeWrapper gtk3 defaultIconTheme ];
buildInputs = [ wrapGAppsHook gtk3 defaultIconTheme ];
# "strip" after "patchelf" may break binaries.
# See: https://github.com/NixOS/patchelf/issues/10
dontStrip = 1;
dontStrip = true;
dontPatchELF = true;
installPhase =
''
@ -155,22 +156,7 @@ stdenv.mkDerivation {
# wrapFirefox expects "$out/lib" instead of "$out/usr/lib"
ln -s "$out/usr/lib" "$out/lib"
# Create a desktop item.
mkdir -p $out/share/applications
cat > $out/share/applications/firefox.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=$out/bin/firefox
Icon=$out/usr/lib/firefox-bin-${version}/browser/icons/mozicon128.png
Name=Firefox
GenericName=Web Browser
Categories=Application;Network;
EOF
wrapProgram "$out/bin/firefox" \
--argv0 "$out/bin/.firefox-wrapped" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:" \
--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
gappsWrapperArgs+=(--argv0 "$out/bin/.firefox-wrapped")
'';
passthru.ffmpegSupport = true;

View File

@ -4,7 +4,7 @@
, yasm, mesa, sqlite, unzip, makeWrapper
, hunspell, libevent, libstartup_notification, libvpx
, cairo, gstreamer, gst-plugins-base, icu, libpng, jemalloc, libpulseaudio
, autoconf213, which
, autoconf213, which, cargo, rustc
, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl
, enableGTK3 ? false, gtk3, wrapGAppsHook
, debugBuild ? false
@ -48,7 +48,9 @@ common = { pname, version, sha512, updateScript }: stdenv.mkDerivation rec {
++ lib.optional enableGTK3 gtk3
++ lib.optionals (!passthru.ffmpegSupport) [ gstreamer gst-plugins-base ];
nativeBuildInputs = [ autoconf213 which gnused pkgconfig perl python ] ++ lib.optional enableGTK3 wrapGAppsHook;
nativeBuildInputs =
[ autoconf213 which gnused pkgconfig perl python cargo rustc ]
++ lib.optional enableGTK3 wrapGAppsHook;
configureFlags =
[ "--enable-application=browser"
@ -151,8 +153,8 @@ in {
firefox-unwrapped = common {
pname = "firefox";
version = "52.0.2";
sha512 = "15668625d212acf874b560d0adf738faf3e0df532c549ab94e1d91944542e13bf16265f08fca1eded42820f9b7ad3f0ff70a8b5bc9adde0a79d11e022bb1158e";
version = "53.0";
sha512 = "36ec810bab58e3d99478455a38427a5efbc74d6dd7d4bb93b700fd7429b9b89250efd0abe4609091483991802090c6373c8434dfc9ba64c79a778e51fd2a2886";
updateScript = import ./update.nix {
attrPath = "firefox-unwrapped";
inherit writeScript lib common-updater-scripts xidel coreutils gnused gnugrep curl;

View File

@ -25,15 +25,18 @@ in stdenv.mkDerivation rec {
"16l9jma2hiwzl9l41yhrwribcgmxca271rq0cfbbm9701mmmciyy";
};
phases = [ "unpackPhase" "installPhase" "postFixup" ];
# don't remove runtime deps
dontPatchELF = true;
deps = with xorg; [
gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
libXrender libX11 libXtst libXScrnSaver gnome2.GConf nss nspr alsaLib
cups expat stdenv.cc.cc
udev libnotify
deps = (with xorg; [
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
libXrender libX11 libXtst libXScrnSaver
]) ++ [
gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc
# runtime deps
] ++ [
udev libnotify
];
unpackPhase = ''
@ -42,19 +45,20 @@ in stdenv.mkDerivation rec {
installPhase = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" Franz
patchelf --set-rpath "$out/share/franz:${stdenv.lib.makeLibraryPath deps}" Franz
patchelf --set-rpath "$out/opt/franz:${stdenv.lib.makeLibraryPath deps}" Franz
mkdir -p $out/bin $out/share/franz
cp -r * $out/share/franz
ln -s $out/share/franz/Franz $out/bin
mkdir -p $out/bin $out/opt/franz
cp -r * $out/opt/franz
ln -s $out/opt/franz/Franz $out/bin
# provide desktop item and icon
mkdir -p $out/share/applications $out/share/pixmaps
ln -s ${desktopItem}/share/applications/* $out/share/applications
ln -s $out/share/franz/resources/app.asar.unpacked/assets/franz.png $out/share/pixmaps
ln -s $out/opt/franz/resources/app.asar.unpacked/assets/franz.png $out/share/pixmaps
'';
postFixup = ''
paxmark m $out/share/franz/Franz
paxmark m $out/opt/franz/Franz
'';
meta = with stdenv.lib; {

View File

@ -12,7 +12,6 @@ let
url = "https://raw.githubusercontent.com/saenzramiro/rambox/9e4444e6297dd35743b79fe23f8d451a104028d5/resources/Icon.png";
sha256 = "0r00l4r5mlbgn689i3rp6ks11fgs4h2flvrlggvm2qdd974d1x0b";
};
desktopItem = makeDesktopItem rec {
name = "Rambox";
exec = "rambox";
@ -30,31 +29,35 @@ in stdenv.mkDerivation rec {
"13xmljsdahffdzndg30qxh8mj7bgd9jwkxknrvlh3l6w35pbj085";
};
phases = [ "unpackPhase" "installPhase" "postFixup" ];
# don't remove runtime deps
dontPatchELF = true;
deps = with xorg; [
gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
libXrender libX11 libXtst libXScrnSaver gnome2.GConf nss nspr alsaLib
cups expat stdenv.cc.cc
udev libnotify
deps = (with xorg; [
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
libXrender libX11 libXtst libXScrnSaver
]) ++ [
gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus
gnome2.GConf nss nspr alsaLib cups expat stdenv.cc.cc
# runtime deps
] ++ [
udev libnotify
];
installPhase = ''
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" rambox
patchelf --set-rpath "$out/share/rambox:${stdenv.lib.makeLibraryPath deps}" rambox
patchelf --set-rpath "$out/opt/rambox:${stdenv.lib.makeLibraryPath deps}" rambox
mkdir -p $out/bin $out/share/rambox
cp -r * $out/share/rambox
ln -s $out/share/rambox/rambox $out/bin
mkdir -p $out/bin $out/opt/rambox
cp -r * $out/opt/rambox
ln -s $out/opt/rambox/rambox $out/bin
# provide desktop item
mkdir -p $out/share/applications
ln -s ${desktopItem}/share/applications/* $out/share/applications
'';
postFixup = ''
paxmark m $out/share/rambox/rambox
paxmark m $out/opt/rambox/rambox
'';
meta = with stdenv.lib; {

View File

@ -2,15 +2,15 @@
buildGoPackage rec {
name = "ipfs-${version}";
version = "0.4.8";
rev = "8e7484ed794d1aecb3e773e9003ae64c7b78bb87";
version = "0.4.6";
rev = "ed729423ce548785834cdcaa21aab11ebc3a1b1a";
goPackagePath = "github.com/ipfs/go-ipfs";
extraSrcPaths = [
(fetchgx {
inherit name src;
sha256 = "1h4n74n65z4sw3fqz8nfcrwisbvvwwfq69909w3kgrjsxs7505s5";
sha256 = "1wwzbps3ry3vlrr0iqhvxd44x0wi99dcp5hlxvh79dc0g9r7myfk";
})
];
@ -18,7 +18,7 @@ buildGoPackage rec {
owner = "ipfs";
repo = "go-ipfs";
inherit rev;
sha256 = "15jcg0wbm7g82fsmhc1vxrsszbxcghls3rsyv35n1hv5k5r5d5nh";
sha256 = "1b262k1lhb1g68l8hghly4pdrxx1c6wbv6ij6dg399zdwqzczl13";
};
meta = with stdenv.lib; {

View File

@ -21,12 +21,12 @@ let
in
stdenv.mkDerivation rec {
version = "1.7";
version = "1.7.1";
name = "weechat-${version}";
src = fetchurl {
url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
sha256 = "1l34rgr83nf2h71mwzhv5c0x03msrwv3kzx3cwzczx72xrih12n7";
sha256 = "1020m1lsm8lg9n0dlxgp2wbn9b0r11g8r0namnzi2x6gvxn7iyf0";
};
outputs = [ "out" "doc" ];

View File

@ -6,7 +6,7 @@
, cairo, gstreamer, gst-plugins-base, icu, libpng, jemalloc
, autoconf213, which, m4
, writeScript, xidel, common-updater-scripts, coreutils, gnused, gnugrep, curl
, enableGTK3 ? false, gtk3, wrapGAppsHook
, enableGTK3 ? false, gtk3, wrapGAppsHook, makeWrapper
, enableCalendar ? true
, debugBuild ? false
, # If you want the resulting program to call itself "Thunderbird" instead
@ -15,9 +15,12 @@
# Mozilla Foundation, see
# http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
, makeDesktopItem
}:
stdenv.mkDerivation rec {
let
wrapperTool = if enableGTK3 then wrapGAppsHook else makeWrapper;
in stdenv.mkDerivation rec {
name = "thunderbird-${version}";
version = "52.0.1";
@ -46,8 +49,8 @@ stdenv.mkDerivation rec {
]
++ lib.optional enableGTK3 gtk3;
# from firefox + m4
nativeBuildInputs = [ m4 autoconf213 which gnused pkgconfig perl python ] ++ lib.optional enableGTK3 wrapGAppsHook;
# from firefox + m4 + wrapperTool
nativeBuildInputs = [ m4 autoconf213 which gnused pkgconfig perl python wrapperTool ];
configureFlags =
[ # from firefox, but without sound libraries (alsa, libvpx, pulseaudio)
@ -100,13 +103,61 @@ stdenv.mkDerivation rec {
paxmark m ../objdir/dist/bin/xpcshell
'';
dontWrapGApps = true; # we do it ourselves
postInstall =
''
# For grsecurity kernels
paxmark m $out/lib/thunderbird-[0-9]*/thunderbird
# Needed to find Mozilla runtime
gappsWrapperArgs+=(--argv0 "$out/bin/.thunderbird-wrapped")
# TODO: Move to a dev output?
rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
# $binary is a symlink to $target.
# We wrap $target by replacing the $binary symlink.
local target="$out/lib/thunderbird-${version}/thunderbird"
local binary="$out/bin/thunderbird"
# Wrap correctly, this is needed to
# 1) find Mozilla runtime, because argv0 must be the real thing,
# or a symlink thereto. It cannot be the wrapper itself
# 2) detect itself as the default mailreader across builds
gappsWrapperArgs+=(
--argv0 "$target"
--set MOZ_APP_LAUNCHER thunderbird
)
${
# We wrap manually because wrapGAppsHook does not detect the symlink
# To mimic wrapGAppsHook, we run it with dontWrapGApps, so
# gappsWrapperArgs gets defined correctly
lib.optionalString enableGTK3 "wrapGAppsHook"
}
# "$binary" is a symlink, replace it by the wrapper
rm "$binary"
makeWrapper "$target" "$binary" "''${gappsWrapperArgs[@]}"
${ let desktopItem = makeDesktopItem {
name = "thunderbird";
exec = "thunderbird %U";
desktopName = "Thunderbird";
icon = "$out/lib/thunderbird-${version}/chrome/icons/default/default256.png";
genericName = "Main Reader";
categories = "Application;Network";
mimeType = stdenv.lib.concatStringsSep ";" [
# Email
"x-scheme-handler/mailto"
"message/rfc822"
# Newsgroup
"x-scheme-handler/news"
"x-scheme-handler/snews"
"x-scheme-handler/nntp"
# Feed
"x-scheme-handler/feed"
"application/rss+xml"
"application/x-extension-rss"
];
}; in desktopItem.buildCommand
}
'';
postFixup =

View File

@ -0,0 +1,34 @@
{ stdenv, fetchurl, qmakeHook, makeQtWrapper, qtsvg }:
let
version = "1.42.2";
in stdenv.mkDerivation rec {
name = "mytetra-${version}";
src = fetchurl {
url = "https://github.com/xintrea/mytetra_dev/archive/v.${version}.tar.gz";
sha256 = "1ah44nf4ksxkh01a2zmgvvby4pwczhyq5vcp270rf6visp8v9804";
};
buildInputs = [ qmakeHook makeQtWrapper qtsvg ];
hardeningDisable = [ "format" ];
preBuild = ''
substituteInPlace mytetra.pro \
--replace /usr/local/bin $out/bin \
--replace /usr/share $out/share
substituteInPlace src/views/mainWindow/MainWindow.cpp \
--replace ":/resource/pic/logo.svg" "$out/share/icons/hicolor/48x48/apps/mytetra.png"
'';
postInstall = "wrapQtProgram $out/bin/mytetra";
meta = with stdenv.lib; {
description = "Smart manager for information collecting";
homepage = http://webhamster.ru/site/page/index/articles/projectcode/138;
license = licenses.gpl3;
maintainers = [ maintainers.gnidorah ];
platforms = platforms.linux;
};
}

View File

@ -1,24 +1,45 @@
{ stdenv, fetchurl, qtbase, qtsvg, qmakeHook, boost }:
{ stdenv, fetchpatch, fetchFromGitHub, makeQtWrapper, qmakeHook, pkgconfig
, qtbase, qtsvg, qtserialport, boost, libgit2
}:
stdenv.mkDerivation rec {
version = "0.9.0b";
name = "fritzing-${version}";
version = "0.9.3b";
src = fetchurl {
url = "http://fritzing.org/download/${version}/source-tarball/fritzing-${version}.source.tar_1.bz2";
sha256 = "181qnknq1j5x075icpw2qk0sc4wcj9f2hym533vs936is0wxp2gk";
src = fetchFromGitHub {
owner = "fritzing";
repo = "fritzing-app";
rev = version;
sha256 = "0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3";
};
unpackPhase = ''
tar xjf ${src}
'';
parts = fetchFromGitHub {
owner = "fritzing";
repo = "fritzing-parts";
rev = version;
sha256 = "1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1";
};
buildInputs = [ qtbase qtsvg boost qmakeHook ];
patches = [(fetchpatch {
name = "0001-Squashed-commit-of-the-following.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-Squashed-commit-of-the-following.patch?h=fritzing";
sha256 = "1cv6myidxhy28i8m8v13ghzkvx5978p9dcd8v7885y0l1h3108mf";
})];
buildInputs = [ qtbase qtsvg qtserialport boost libgit2 ];
nativeBuildInputs = [ qmakeHook makeQtWrapper pkgconfig ];
qmakeFlags = [ "phoenix.pro" ];
enableParallelBuilding = true;
preConfigure = ''
cd fritzing-${version}.source
ln -s "$parts" parts
'';
postInstall = ''
wrapQtProgram $out/bin/Fritzing
'';
meta = {

View File

@ -9,10 +9,11 @@ let
else
throw "Unsupported architecture";
version = (builtins.parseDrvName edk2.name).version;
in
stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
name = "OVMF-2014-12-10";
name = "OVMF-${version}";
# TODO: properly include openssl for secureBoot
buildInputs = [nasm iasl] ++ stdenv.lib.optionals (secureBoot == true) [ openssl ];

View File

@ -18,7 +18,7 @@
with stdenv.lib;
let
version = "2.8.0";
version = "2.9.0";
audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
+ optionalString pulseSupport "pa,"
+ optionalString sdlSupport "sdl,";
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
sha256 = "0qjy3rcrn89n42y5iz60kgr0rrl29hpnj8mq2yvbc1wrcizmvzfs";
sha256 = "053c7ivp3li7cdagzkp2wdc5myybzjf826r6qfkcf0xvn4bv5gq0";
};
buildInputs =
@ -54,94 +54,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
patches = let
upstreamPatch = name: commit: sha256: fetchurl {
name = "${name}.patch";
url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=${commit}";
inherit sha256;
};
in [
./no-etc-install.patch
# bugfixes
(fetchurl {
name = "qemu-vnc-do-not-disconnect-on-EAGAIN.patch";
url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/vnc-do-not-disconnect-on-EAGAIN.patch?h=debian/qemu_2.8%2bdfsg-3";
sha256 = "1nqhfgfw1pzhid094pk204qy36r6n7w1yilsiwabgcsyxs5bymnh";
})
(upstreamPatch "qemu-fix-win7-xhci" "7da76e12cc5cc902dda4c168d8d608fd4e61cbc5"
"0m1ggbxziy7vqz9007ypzg23cni8cc4db36wlnhxz0kdpq70c6x0")
(upstreamPatch "qemu-xhci-free-completed-transfers" "f94d18d6c6df388fde196d3ab252f57e33843a8b"
"0lk19qss6ky7cqnvis54742cr2z0vl8c64chhch0kp6n83hray9x")
# security fixes from debian
(fetchurl {
name = "CVE-2016-9602.patch";
url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/9pfs-symlink-attack-fixes-CVE-2016-9602.patch?h=debian/qemu_2.8%2bdfsg-3";
sha256 = "0f7m1k3hbw9v0dwqn53ds36s7s334vlidvbn0682s9r2sq0sjlkv";
})
(fetchurl {
name = "CVE-2017-2630.patch";
url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/nbd_client-fix-drop_sync-CVE-2017-2630.patch?h=debian/qemu_2.8%2bdfsg-3";
sha256 = "1gdxaari53iwgj3gyczz30rhg8lj6xqycxym4snw9z5vmkyj1bbq";
})
(fetchurl {
name = "CVE-2017-6058.patch";
url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/vmxnet3-fix-memory-corruption-on-vlan-header-stripping-CVE-2017-6058.patch?h=debian/qemu_2.8%2bdfsg-3";
sha256 = "0w8az2cr116mnijxjd4aprl8dvfdj76gm7ddajmngdslxiax601f";
})
# security fixes from upstream
(upstreamPatch "CVE-2016-7907" "81f17e0d435c3db3a3e67e0d32ebf9c98973211f"
"0dzghbm3jmnyw34kd40a6akrr1cpizd9hdzqmhlc2ljab7pr1rcb")
(upstreamPatch "CVE-2016-10155" "eb7a20a3616085d46aa6b4b4224e15587ec67e6e"
"1xk00fyls0hdza11dyfrnzcn6gibmmcrwy7sxgp6iizp6wgzi3vw")
(upstreamPatch "CVE-2017-2615" "62d4c6bd5263bb8413a06c80144fc678df6dfb64"
"0miph2x4d474issa44hmc542zxmkc7lsr4ncb7pwarq6j7v52l8h")
(upstreamPatch "CVE-2017-2620" "92f2b88cea48c6aeba8de568a45f2ed958f3c298"
"1kz12qmvfccy7xilsrxahbs67jycv4zjfbijxivadvx9klxs1n58")
(upstreamPatch "CVE-2017-5525" "12351a91da97b414eec8cdb09f1d9f41e535a401"
"190b4aqr35p4lb3rjarknfi1ip1c9zizliqp1dd6frx4364y5yp2")
(upstreamPatch "CVE-2017-5526" "069eb7b2b8fc47c7cb52e5a4af23ea98d939e3da"
"05xgzd3zldk3x2vqpjag9z5ilhdkpkyh633fb5kvnz8scns6v86f")
(upstreamPatch "CVE-2017-5579" "8409dc884a201bf74b30a9d232b6bbdd00cb7e2b"
"0lbcyhif1kdcy8my0bv8aqr2f421kmljcch3plrjzj9pgcm4sv83")
(upstreamPatch "CVE-2017-5667" "42922105beb14c2fc58185ea022b9f72fb5465e9"
"049vq70is3fj9bf4ysfj3s44iz93qhyqn6xijck32w1x6yyzqyx4")
(upstreamPatch "CVE-2017-5667-fix" "913a87885f589d263e682c2eb6637c6e14538061"
"0nm1k2r9n6r86dvjr16hxak2vcsinj7ijlqw5i6f4y5h2sh37wr5")
(upstreamPatch "CVE-2017-5856" "765a707000e838c30b18d712fe6cb3dd8e0435f3"
"03pjkn8l8rp9ip5h5rm1dp0nrwd43nmgpwamz4z1vy3rli1z3yjw")
(upstreamPatch "CVE-2017-5857" "5e8e3c4c75c199aa1017db816fca02be2a9f8798"
"1kz14rmxf049zl5m27apzpbvy8dk0g47n9gnwy0nm70g65rl1dh8")
(upstreamPatch "CVE-2017-5898" "c7dfbf322595ded4e70b626bf83158a9f3807c6a"
"1y2j0qw04s8fl0cs8i619y08kj75lxn3c0y19g710fzpk3rq8dvn")
(upstreamPatch "CVE-2017-5931" "a08aaff811fb194950f79711d2afe5a892ae03a4"
"0hlih9jhbb1mb174hvxs7pf7lgcs7s9g705ri9rliw7wrhqdpja5")
(upstreamPatch "CVE-2017-5973" "f89b60f6e5fee3923bedf80e82b4e5efc1bb156b"
"06niyighjxb4p5z2as3mqfmrwrzn4sq47j7raipbq9gnda7x9sw6")
(upstreamPatch "CVE-2017-5987" "6e86d90352adf6cb08295255220295cf23c4286e"
"09yfxf93cisx8rhm0h48ib1ibwfs420k5pqpz8dnz33nci9567jm")
] ++ optional nixosTestRunner ./force-uid0-on-9p.patch;
patches = [ ./no-etc-install.patch ]
++ optional nixosTestRunner ./force-uid0-on-9p.patch;
hardeningDisable = [ "stackprotector" ];

View File

@ -1,11 +1,10 @@
--- a/Makefile
+++ b/Makefile
@@ -418,7 +418,7 @@
@@ -597,7 +597,7 @@
install: all $(if $(BUILD_DOCS),install-doc) \
-install-datadir install-localstatedir
+install-datadir
-install: all $(if $(BUILD_DOCS),install-doc) install-datadir install-localstatedir
+install: all $(if $(BUILD_DOCS),install-doc) install-datadir
ifneq ($(TOOLS),)
$(call install-prog,$(TOOLS),$(DESTDIR)$(bindir))
$(call install-prog,$(subst qemu-ga,qemu-ga$(EXESUF),$(TOOLS)),$(DESTDIR)$(bindir))
endif

View File

@ -0,0 +1,37 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "emacs-all-the-icons-fonts-${version}";
version = "2.50";
src = fetchFromGitHub {
owner = "domtronn";
repo = "all-the-icons.el";
rev = "2.5.0";
sha256 = "125qw96rzbkv39skxk5511jrcx9hxm0fqcmny6213wzswgdn37z3";
};
installPhase = ''
mkdir -p $out/share/fonts/all-the-icons
for font in $src/fonts/*.ttf; do cp $font $out/share/fonts/all-the-icons; done
'';
meta = with stdenv.lib; {
description = "Icon fonts for emacs all-the-icons";
longDescription = ''
The emacs package all-the-icons provides icons to improve
presentation of information in emacs. This package provides
the fonts needed to make the package work properly.
'';
homepage = https://github.com/domtronn/all-the-icons.el;
/*
The fonts come under a mixture of licenses - the MIT license,
SIL OFL license, and Apache license v2.0. See the GitHub page
for further information.
*/
license = licenses.free;
platforms = platforms.all;
maintainers = with maintainers; [ rlupton20 ];
};
}

View File

@ -1,16 +1,21 @@
{ stdenv, fetchurl, ncurses, readline }:
{ stdenv, fetchurl, ncurses, readline, autoreconfHook }:
stdenv.mkDerivation rec {
name = "hunspell-1.3.3";
version = "1.6.1";
name = "hunspell-${version}";
src = fetchurl {
url = "mirror://sourceforge/hunspell/${name}.tar.gz";
sha256 = "0v14ff9s37vkh45diaddndcrj0hmn67arh8xh8k79q9c1vgc1cm7";
url = "https://github.com/hunspell/hunspell/archive/v${version}.tar.gz";
sha256 = "0j9c20sj7bgd6f77193g1ihy8w905byk2gdhdc0r9dsh7irr7x9h";
};
outputs = [ "bin" "dev" "out" "man" ];
buildInputs = [ ncurses readline ];
nativeBuildInputs = [ autoreconfHook ];
autoreconfFlags = "-vfi";
configureFlags = [ "--with-ui" "--with-readline" ];
hardeningDisable = [ "format" ];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchFromGitHub, qmakeHook, qtbase, pkgconfig, gtk2 }:
stdenv.mkDerivation rec {
name = "qtstyleplugins-2016-12-01";
name = "qtstyleplugins-2017-03-11";
src = fetchFromGitHub {
owner = "qt";
repo = "qtstyleplugins";
rev = "7aa47640c202cc4a9c16aa7df98191236743c8ba";
sha256 = "0pysgn5yhbh85rv7syvf2w9g1gj1z1nwspjri39dc95vj108lin5";
rev = "335dbece103e2cbf6c7cf819ab6672c2956b17b3";
sha256 = "085wyn85nrmzr8nv5zv7fi2kqf8rp1gnd30h72s30j55xvhmxvmy";
};
buildInputs = [ qmakeHook pkgconfig gtk2 ];
@ -23,6 +23,5 @@ stdenv.mkDerivation rec {
license = licenses.lgpl21;
maintainers = [ maintainers.gnidorah ];
platforms = platforms.linux;
broken = builtins.compareVersions qtbase.version "5.7.0" > 0;
};
}

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation {
buildInputs = [ qtwebkit hunspell ];
postPatch = ''
sed -i "s,-lhunspell,-lhunspell-1.3," src/spellcheck/spellcheck.pri
sed -i "s,-lhunspell,-lhunspell-1.6," src/spellcheck/spellcheck.pri
sed -i "s,\$\$\[QT_INSTALL_PLUGINS\],$out/lib/qt5/plugins," src/src.pro
'';

View File

@ -2,7 +2,7 @@ Node.js packages
===============
To add a package from [NPM](https://www.npmjs.com/) to nixpkgs:
1. Install node2nix: `nix-env -f '<nixpkgs>' -iA node2nix`.
1. Install node2nix: `nix-env -f '<nixpkgs>' -iA nodePackages.node2nix`.
2. Modify `pkgs/development/node-packages/node-packages.json`, to add, update,
or remove package entries.
3. Run the script: `cd pkgs/development/node-packages && sh generate.sh`.

View File

@ -0,0 +1,57 @@
{ buildPythonPackage
, fetchPypi
, isPy3k
, stdenv
, numpy
, wxPython
, matplotlib
, pycairo
, python-gnupg
, xlrd
, xlwt
, jedi
, pyenchant
, basemap
, pygtk
, makeDesktopItem
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "pyspread";
version = "1.1";
src = fetchPypi {
inherit pname version;
sha256 = "0m1a4zvzrfrnc42j8mrbm7747w03nzyl9z02wjagccmlhi6nd9hx";
};
propagatedBuildInputs = [ numpy wxPython matplotlib pycairo python-gnupg xlrd xlwt jedi pyenchant basemap pygtk ];
# Could also (optionally) add pyrsvg and python bindings for libvlc
# Tests try to access X Display
doCheck = false;
disabled = isPy3k;
desktopItem = makeDesktopItem rec {
name = pname;
exec = name;
icon = name;
desktopName = "Pyspread";
genericName = "Spreadsheet";
comment = meta.description;
categories = "Development;Spreadsheet;";
};
postInstall = ''
mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications
'';
meta = with stdenv.lib; {
description = "Pyspread is a non-traditional spreadsheet application that is based on and written in the programming language Python";
homepage = https://manns.github.io/pyspread/;
license = licenses.gpl3;
};
}

View File

@ -12,6 +12,8 @@
, isPy3k
, isPyPy
, python
, cairo
, pango
}:
assert wxGTK.unicode;
@ -43,6 +45,15 @@ buildPythonPackage rec {
# this check is supposed to only return false on older systems running non-framework python
substituteInPlace src/osx_cocoa/_core_wrap.cpp \
--replace "return wxPyTestDisplayAvailable();" "return true;"
'' + lib.optionalString (!stdenv.isDarwin) ''
substituteInPlace wx/lib/wxcairo.py \
--replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")'
substituteInPlace wx/lib/wxcairo.py \
--replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
("gdk", "${wxGTK.gtk}/lib/libgtk-x11-2.0.so"),
("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
("appsvc", None)
]}'
'';
NIX_LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-lX11 -lgdk-x11-2.0";

View File

@ -5,9 +5,9 @@ buildRubyGem rec {
name = "${gemName}-${version}";
gemName = "bundix";
version = "2.0.8";
version = "2.1.0";
sha256 = "0ikpf2g01izadjpdnc4k2rb9v4g11f1jk2y5alxc7n7rxjkwdc66";
sha256 = "5a073c59dfc7e2367c47e6513fc8914d27e11c08f82bc1103c4793dfb2837bef";
buildInputs = [bundler];

View File

@ -1,16 +1,16 @@
{ lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
let
version = "9.0.0";
version = "9.1.0";
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
docker_x86_64 = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
sha256 = "1f170akb7j7imgr18m32fy6v3rk98inrjl5a4xymfpivwwqyv9p8";
sha256 = "1mdcw755fygnf30v0gr13mx20zjqmxg5w2kj3k2jgcsh3gyrvymr";
};
docker_arm = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
sha256 = "15mlix8j7bqjg5y07c439d7s197c16zxffknx42z1i3qxcz2mpa4";
sha256 = "1m5p6mlhy3xf0chrjlfpdyp24pv32b61s8iryh6a617i91vpzjg6";
};
in
buildGoPackage rec {
@ -29,7 +29,7 @@ buildGoPackage rec {
owner = "gitlab-org";
repo = "gitlab-ci-multi-runner";
rev = "v${version}";
sha256 = "1csha30lcwm1mk6hqbh0j8bb25apyni23szw79l8xjhmiw2ch619";
sha256 = "0n8hcj2b1pb95x4bd7fb9ri43vgc4h2dj2v3iiziw2imqjyphfx4";
};
buildInputs = [ go-bindata ];

View File

@ -1,16 +1,16 @@
{ lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
let
version = "1.11.1";
version = "1.11.2";
# Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
docker_x86_64 = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
sha256 = "1fahwvwdli6glxsljrd030x15y18jwk72lg1xmrgms409r9y308m";
sha256 = "08lacd2p7915y7yjnwkj2k0b0x4qj9kc53p7qgvmq8kdi31xnh4z";
};
docker_arm = fetchurl {
url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
sha256 = "0nqda27qcb6r1p2xc2973g08fwb8cnmyc9rswy6776r8ypagn2zw";
sha256 = "0lzvx3jfy8493q8zkbs7kgm5a3jgsi3f2x25jwg4lx7agcwwsygw";
};
in
buildGoPackage rec {
@ -29,7 +29,7 @@ buildGoPackage rec {
owner = "gitlab-org";
repo = "gitlab-ci-multi-runner";
rev = "v${version}";
sha256 = "0ix00p9f01fg8m6p3b1c20hqrcv7pivh6hq92pb9qyiyzmcfap47";
sha256 = "1sjvlb5981ykc8hr4kp1ibh9jw2wdjjp9zs2nqs9lpsav4nda5fr";
};
buildInputs = [ go-bindata ];

View File

@ -7,7 +7,7 @@
- -llua5.1 \
- -lhunspell \
+ -llua \
+ -lhunspell-1.3 \
+ -lhunspell-1.6 \
-L/usr/local/lib/ \
-lyajl \
-lGLU \

View File

@ -3,7 +3,6 @@ stdenv.mkDerivation rec {
name = "quakespasm-${version}";
majorVersion = "0.92";
version = "${majorVersion}.1";
platform = "amd64";
src = fetchurl {
url = "mirror://sourceforge/quakespasm/quakespasm-${version}.tgz";
@ -20,11 +19,9 @@ stdenv.mkDerivation rec {
mkdir -p "$out/bin"
substituteInPlace Makefile --replace "/usr/local/games" "$out/bin"
'';
enableParallelBuilding = true;
platforms = ["x86_64-linux"];
meta = {
description = "An engine for iD software's Quake";
homepage = "http://quakespasm.sourceforge.net/";
@ -36,6 +33,8 @@ stdenv.mkDerivation rec {
works best for you. SDL is probably less buggy, but SDL2 has nicer features
and smoother mouse input - though no CD support.
'';
platforms = platforms.linux;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.m3tti ];
};
}

View File

@ -31,6 +31,7 @@ in rec {
};
unstable = fetchurl rec {
# NOTE: Don't forget to change the SHA256 for staging as well.
version = "2.6";
url = "https://dl.winehq.org/wine/source/2.x/wine-${version}.tar.xz";
sha256 = "1h5ajw50fax2pg9p4wch6824zxdd85g2gh9nkbllfxj3ixsn9zz6";
@ -39,7 +40,7 @@ in rec {
staging = fetchFromGitHub rec {
inherit (unstable) version;
sha256 = "1l0sjbsajr4m7w3ar2ljwr3ffmwyv57g85a068ard3v8fv4nil22";
sha256 = "1j1fsq7pb7rxi7ppagrk93gmg5wk3anr9js0civxiqd3h8d4lsz2";
owner = "wine-compholio";
repo = "wine-staging";
rev = "v${version}";

File diff suppressed because it is too large Load Diff

View File

@ -33,6 +33,7 @@
"github:bbchung/clighter8"
"github:benekastah/neomake"
"github:bitc/vim-hdevtools"
"github:bronson/vim-trailing-whitespace"
"github:christoomey/vim-sort-motion"
"github:christoomey/vim-tmux-navigator"
"github:ctjhoa/spacevim"
@ -40,6 +41,7 @@
"github:derekelkins/agda-vim"
"github:derekwyatt/vim-scala"
"github:digitaltoad/vim-jade"
"github:dleonard0/pony-vim-syntax"
"github:dracula/vim"
"github:eagletmt/neco-ghc"
"github:eikenb/acp"

View File

@ -123,7 +123,7 @@ in
# to be adapted
zfsStable = common {
# comment/uncomment if breaking kernel versions are known
incompatibleKernelVersion = "4.10";
incompatibleKernelVersion = "4.11";
version = "0.6.5.9";

View File

@ -4,7 +4,7 @@ with lib;
buildGoPackage rec {
name = "etcd-${version}";
version = "3.0.6"; # After updating check that nixos tests pass
version = "3.1.6"; # After updating check that nixos tests pass
rev = "v${version}";
goPackagePath = "github.com/coreos/etcd";
@ -13,10 +13,16 @@ buildGoPackage rec {
inherit rev;
owner = "coreos";
repo = "etcd";
sha256 = "163qji360y21nr1wnl16nbvvgdgqgbny4c3v3igp87q9p78sdf75";
sha256 = "1qgi6zxnijzr644w2da2gbn3gw2qwk6a3z3qmdln0r2rjnm70sx0";
};
goDeps = ./deps.nix;
subPackages = [
"cmd/etcd"
"cmd/etcdctl"
"cmd/tools/benchmark"
"cmd/tools/etcd-dump-db"
"cmd/tools/etcd-dump-logs"
];
buildInputs = [ libpcap ];

View File

@ -1,335 +0,0 @@
[
{
goPackagePath = "github.com/beorn7/perks";
fetch = {
type = "git";
url = "https://github.com/beorn7/perks";
rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
};
}
{
goPackagePath = "github.com/boltdb/bolt";
fetch = {
type = "git";
url = "https://github.com/boltdb/bolt";
rev = "583e8937c61f1af6513608ccc75c97b6abdf4ff9";
sha256 = "0cp5v9iypg9ysiq40k3h3lg7aisxplnmxshha7nama6b170izyay";
};
}
{
goPackagePath = "github.com/cloudfoundry-incubator/candiedyaml";
fetch = {
type = "git";
url = "https://github.com/cloudfoundry-incubator/candiedyaml";
rev = "99c3df83b51532e3615f851d8c2dbb638f5313bf";
sha256 = "106nibg7423642gbkg88c5x2jxfz6nmxbribhwb8cr1rn9vpjaxs";
};
}
{
goPackagePath = "github.com/cockroachdb/cmux";
fetch = {
type = "git";
url = "https://github.com/cockroachdb/cmux";
rev = "b64f5908f4945f4b11ed4a0a9d3cc1e23350866d";
sha256 = "1by4f3x7j3r3z1sdx1v04r494hn6jaag7lc03prrgx455j8i0jlh";
};
}
{
goPackagePath = "github.com/coreos/etcd";
fetch = {
type = "git";
url = "https://github.com/coreos/etcd.git";
rev = "9efa00d1030d4bf62eb8e5ec130023aeb1b8e2d0";
sha256 = "163qji360y21nr1wnl16nbvvgdgqgbny4c3v3igp87q9p78sdf75";
};
}
{
goPackagePath = "github.com/coreos/go-semver";
fetch = {
type = "git";
url = "https://github.com/coreos/go-semver";
rev = "8ab6407b697782a06568d4b7f1db25550ec2e4c6";
sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
};
}
{
goPackagePath = "github.com/coreos/go-systemd";
fetch = {
type = "git";
url = "https://github.com/coreos/go-systemd";
rev = "5c49e4850c879a0ddc061e8f4adcf307de8a8bc2";
sha256 = "1w16bnrgfjb5rwha7g8rdjhpgjf8bzmlzhrda5bfvc9ymj3qjibk";
};
}
{
goPackagePath = "github.com/coreos/pkg";
fetch = {
type = "git";
url = "https://github.com/coreos/pkg";
rev = "3ac0863d7acf3bc44daf49afef8919af12f704ef";
sha256 = "0l5ans1ls2gknkrnhymgc0zbgg5nqjbjbqc51r611adcr0m6gg8l";
};
}
{
goPackagePath = "github.com/ghodss/yaml";
fetch = {
type = "git";
url = "https://github.com/ghodss/yaml";
rev = "aa0c862057666179de291b67d9f093d12b5a8473";
sha256 = "0cbc78n8l7h1gdzhrvahplcvr4v7n8v23vkgskfp843rcx5h6isr";
};
}
{
goPackagePath = "github.com/gogo/protobuf";
fetch = {
type = "git";
url = "https://github.com/gogo/protobuf";
rev = "f20a1444730c7d9949b880a0309e737d007def25";
sha256 = "12wa3r2cb2v1m65phbkh692ldlklk459z4x6avpc6im0zkr6r73c";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "f592bd283e9ef86337a432eb50e592278c3d534d";
sha256 = "01gxhzn9m6jz6ihwxfycnx39zf5pmkan61l278cnynsb8mibdpvb";
};
}
{
goPackagePath = "github.com/google/btree";
fetch = {
type = "git";
url = "https://github.com/google/btree";
rev = "7d79101e329e5a3adf994758c578dab82b90c017";
sha256 = "1c1hsy5s2pfawg3l9954jmqmy4yc2zp3f7i87m00km2yqgb8xpd0";
};
}
{
goPackagePath = "github.com/grpc-ecosystem/grpc-gateway";
fetch = {
type = "git";
url = "https://github.com/grpc-ecosystem/grpc-gateway";
rev = "5e0e028ba0a015710eaebf6e47af18812c9f2767";
sha256 = "00s4wxzs6lz5al7y2hxi6r4bxhx5b0ajk5rwxrnb4a4mhlaii8pk";
};
}
{
goPackagePath = "github.com/jonboulle/clockwork";
fetch = {
type = "git";
url = "https://github.com/jonboulle/clockwork";
rev = "e3653ace2d63753697e0e5b07b9393971c0bba9d";
sha256 = "1avzqhks12a8x2yzpvjsf3k0gv9cy7zx2z88hn0scacnxkphisvc";
};
}
{
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
fetch = {
type = "git";
url = "https://github.com/matttproud/golang_protobuf_extensions";
rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
};
}
{
goPackagePath = "github.com/prometheus/client_golang";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_golang";
rev = "c5b7fccd204277076155f10851dad72b76a49317";
sha256 = "1xqny3147g12n4j03kxm8s9mvdbs3ln6i56c655mybrn9jjy48kd";
};
}
{
goPackagePath = "github.com/prometheus/client_model";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_model";
rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
};
}
{
goPackagePath = "github.com/prometheus/common";
fetch = {
type = "git";
url = "https://github.com/prometheus/common";
rev = "ebdfc6da46522d58825777cf1f90490a5b1ef1d8";
sha256 = "0js62pj8600773wx6labpd772yyhz5ivim7dnl7b862wblbmc8mq";
};
}
{
goPackagePath = "github.com/prometheus/procfs";
fetch = {
type = "git";
url = "https://github.com/prometheus/procfs";
rev = "abf152e5f3e97f2fafac028d2cc06c1feb87ffa5";
sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
};
}
{
goPackagePath = "github.com/spf13/cobra";
fetch = {
type = "git";
url = "https://github.com/spf13/cobra";
rev = "7c674d9e72017ed25f6d2b5e497a1368086b6a6f";
sha256 = "0an935r7lc11a744mvdrsy56rs2w0ah3gdclvr4gzd5iqr9ap3dr";
};
}
{
goPackagePath = "github.com/spf13/pflag";
fetch = {
type = "git";
url = "https://github.com/spf13/pflag";
rev = "6454a84b6da0ea8b628d5d8a26759f62c6c161b4";
sha256 = "06rfi73jhkncn8gxy6klgmba5947k9gpwdswipdpz680yxczcwna";
};
}
{
goPackagePath = "github.com/ugorji/go";
fetch = {
type = "git";
url = "https://github.com/ugorji/go";
rev = "4a1cb5252a6951f715a85d0e4be334c2a2dbf2a2";
sha256 = "0izpijk3piihl4fnqg8ncnp5ivbq41pg3xf7iagg4fbg5id4pxbx";
};
}
{
goPackagePath = "github.com/xiang90/probing";
fetch = {
type = "git";
url = "https://github.com/xiang90/probing";
rev = "07dd2e8dfe18522e9c447ba95f2fe95262f63bb2";
sha256 = "0r8rq27yigz72mk8z7p61yjfan8id021dnp1v421ln9byzpvabn2";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "88d0005bf4c3ec17306ecaca4281a8d8efd73e91";
sha256 = "1d3x0rwfd4cml06ka8gy74wxrw94m2z7qgz6ky0rgmxcr7p5iikz";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "7394c112eae4dba7e96bfcfe738e6373d61772b4";
sha256 = "1p8wsxnbsp2lq6hbza2n0zgv4sgpxzzjjlrmcngkhxj47kp3hin7";
};
}
{
goPackagePath = "google.golang.org/grpc";
fetch = {
type = "git";
url = "https://github.com/grpc/grpc-go";
rev = "0032a855ba5c8a3c8e0d71c2deef354b70af1584";
sha256 = "0qkynp65jwk6jk932k7kwxs5v6fzlfsb1fay71a00dwr36f44s67";
};
}
{
goPackagePath = "github.com/urfave/cli";
fetch = {
type = "git";
url = "https://github.com/urfave/cli";
rev = "168c95418e66e019fe17b8f4f5c45aa62ff80e23";
sha256 = "1gdvvim2f1zigcmbpcgypgn7nvpnlr87grbg7lw13fbpy6fnlw2n";
};
}
{
goPackagePath = "github.com/mattn/go-runewidth";
fetch = {
type = "git";
url = "https://github.com/mattn/go-runewidth";
rev = "d6bea18f789704b5f83375793155289da36a3c7f";
sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs";
};
}
{
goPackagePath = "github.com/olekukonko/tablewriter";
fetch = {
type = "git";
url = "https://github.com/olekukonko/tablewriter";
rev = "daf2955e742cf123959884fdff4685aa79b63135";
sha256 = "1fvl251ms7qmzfbi853kdgghqkrmyy6n1605mfy50nhgvw03z203";
};
}
{
goPackagePath = "github.com/dustin/go-humanize";
fetch = {
type = "git";
url = "https://github.com/dustin/go-humanize";
rev = "2fcb5204cdc65b4bec9fd0a87606bb0d0e3c54e8";
sha256 = "1m2qgn5vh5m66ggmclgikvwc05np2r7sxgpvlj2jip5d61x29j5k";
};
}
{
goPackagePath = "github.com/bgentry/speakeasy";
fetch = {
type = "git";
url = "https://github.com/bgentry/speakeasy";
rev = "a1ccbf2c40dfc8ce514b5c5c6e6d1429ea6880da";
sha256 = "0xqpc1qhdcs5blp1mkrppfb1x0rcv4a445mj0yzdwshbzkw5di01";
};
}
{
goPackagePath = "github.com/kr/pty";
fetch = {
type = "git";
url = "https://github.com/kr/pty";
rev = "ce7fa45920dc37a92de8377972e52bc55ffa8d57";
sha256 = "0mdlr2mmwjznw2id0l4200xjajq9dh1kxn3z7d3ksn0b5fwinzmk";
};
}
{
goPackagePath = "github.com/golang/groupcache";
fetch = {
type = "git";
url = "https://github.com/golang/groupcache";
rev = "a6b377e3400b08991b80d6805d627f347f983866";
sha256 = "125a6zdaxj916yp2rlrkg8xw00vjf5ga9xwdg4clby8wj4fysma2";
};
}
{
goPackagePath = "gopkg.in/cheggaaa/pb.v1";
fetch = {
type = "git";
url = "https://gopkg.in/cheggaaa/pb.v1";
rev = "9453b2db37f4d8bc63751daca63bbe7049eb5e74";
sha256 = "0py7dxvm3ydxcw260x7r7xbjww1vkil3rhyy3f9njmjydyb303rb";
};
}
{
goPackagePath = "github.com/golang/glog";
fetch = {
type = "git";
url = "https://github.com/golang/glog";
rev = "23def4e6c14b4da8ac2ed8007337bc5eb5007998";
sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
};
}
{
goPackagePath = "github.com/spacejam/loghisto";
fetch = {
type = "git";
url = "https://github.com/spacejam/loghisto";
rev = "9d1d8c1fd2a4ac852bf2e312f2379f553345fda7";
sha256 = "0r31y4ci35pp11wqdyarimdq5a703byk3cf6d67adsa4nw0ysfm1";
};
}
{
goPackagePath = "github.com/akrennmair/gopcap";
fetch = {
type = "git";
url = "https://github.com/akrennmair/gopcap";
rev = "00e11033259acb75598ba416495bb708d864a010";
sha256 = "0xfw7x5a36w0g76imjvgk055360xg0nva42qhmflfvll7ldxq96a";
};
}
]

View File

@ -1,5 +1,35 @@
{ stdenv, fetchurl, perl }:
{ stdenv, buildEnv, fetchurl, perl, perlPackages, makeWrapper }:
# This package isn't extremely useful as it is, but is getting close.
# After running:
#
# nix-build . -A rt
#
# I created a config file named myconfig.pm with:
#
# use utf8;
# Set($rtname, '127.0.0.1');
# # These dirs need to be pre-created:
# Set($MasonSessionDir, '/home/grahamc/foo/sessiondir/');
# Set($MasonDataDir, '/home/grahamc/foo/localstate/');
# Set($WebPort, 8080);
#
# Set($DatabaseType, "SQLite");
# Set( $DatabaseName, '/home/grahamc/projects/foo/my.db' );
#
# 1;
#
# and ran
#
# RT_SITE_CONFIG=$(pwd)/myconfig.pm ./result/bin/rt-setup-database --action init
#
# Then:
#
# RT_SITE_CONFIG=$(pwd)/myconfig.pm ./result/bin/rt-server
#
# Make sure to check out result/etc/RT_Config.pm
#
# Good luck.
stdenv.mkDerivation rec {
name = "rt-${version}";
@ -12,14 +42,58 @@ stdenv.mkDerivation rec {
patches = [ ./override-generated.patch ];
buildInputs = [ perl ];
buildInputs = [
makeWrapper
perl
(buildEnv {
name = "rt-perl-deps";
paths = (with perlPackages; [
ApacheSession BusinessHours CGIEmulatePSGI CGIPSGI
CSSMinifierXP CSSSquish ConvertColor CryptEksblowfish
CryptSSLeay DBDSQLite DBDmysql DBIxSearchBuilder DataGUID
DataICal DataPagePageset DateExtract DateManip
DateTimeFormatNatural DevelGlobalDestruction EmailAddress
EmailAddressList FCGI FCGIProcManager FileShareDir FileWhich
GD GDGraph GnuPGInterface GraphViz HTMLFormatTextWithLinks
HTMLFormatTextWithLinksAndTables HTMLMason
HTMLMasonPSGIHandler HTMLQuoted HTMLRewriteAttributes
HTMLScrubber IPCRun IPCRun3 JSON JavaScriptMinifierXS LWP
LWPProtocolHttps LocaleMaketextFuzzy LocaleMaketextLexicon
LogDispatch MIMETools MIMETypes MailTools ModuleRefresh
ModuleVersionsReport MozillaCA NetCIDR NetIP PerlIOeol Plack
RegexpCommon RegexpCommonnetCIDR RegexpIPv6 RoleBasic
ScopeUpper Starlet SymbolGlobalName TermReadKey
TextPasswordPronounceable TextQuoted TextTemplate
TextWikiFormat TextWrapper TimeParseDate TreeSimple
UNIVERSALrequire XMLRSS
]);
})
];
dontBuild = true;
preConfigure = ''
configureFlags="$configureFlags --with-web-user=$UID"
configureFlags="$configureFlags --with-web-group=$(id -g)"
configureFlags="$configureFlags --with-rt-group=$(id -g)"
configureFlags="$configureFlags --with-bin-owner=$UID"
configureFlags="$configureFlags --with-libs-owner=$UID"
configureFlags="$configureFlags --with-libs-group=$(id -g)"
'';
configureFlags = [
"--enable-graphviz"
"--enable-gd"
"--enable-gpg"
"--with-db-type=SQLite"
];
installPhase = ''
mkdir $out
cp -a {bin,docs,etc,lib,sbin,share} $out
find $out -name '*.in' -exec rm '{}' \;
buildPhase = ''
make testdeps | grep -i missing | sort
'';
preFixup = ''
for i in $(find $out/bin -type f; find $out/sbin -type f); do
wrapProgram $i \
--prefix PERL5LIB ':' $PERL5LIB
done
'';
meta = {

View File

@ -1,33 +1,22 @@
{ stdenv, fetchurl, groff }:
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "mksh-${version}";
version = "52c";
version = "55";
src = fetchurl {
urls = [
"http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R${version}.tgz"
"http://pub.allbsd.org/MirOS/dist/mir/mksh/mksh-R${version}.tgz"
];
sha256 = "19ivsic15903hv3ipzk0kvkaxardw7b99s8l5iw3y415lz71ld66";
sha256 = "0mssqd2wp3cs9x01v6g66iy3ymdxagbyw2c0v597vnc1l6s2rm6f";
};
buildInputs = [ groff ];
hardeningDisable = [ "format" ];
buildPhase = ''
mkdir build-dir/
cp mksh.1 dot.mkshrc build-dir/
cd build-dir/
sh ../Build.sh -c lto
'';
buildPhase = ''sh ./Build.sh -r -c lto'';
installPhase = ''
mkdir -p $out/bin $out/share/man/man1 $out/share/mksh $out/bin
install -D -m 755 mksh $out/bin/mksh
install -D -m 644 mksh.1 $out/share/man/man1/mksh.1
install -D -m 644 mksh.cat1 $out/share/mksh/mksh.cat1
install -D -m 644 dot.mkshrc $out/share/mksh/mkshrc
'';
@ -41,8 +30,8 @@ stdenv.mkDerivation rec {
systems.
'';
homepage = "https://www.mirbsd.org/mksh.htm";
license = licenses.free;
maintainers = with maintainers; [ AndersonTorres nckx ];
license = licenses.bsd3;
maintainers = with maintainers; [ AndersonTorres nckx joachifm ];
platforms = platforms.unix;
};

View File

@ -41,6 +41,35 @@
# other words, this does a foldr not foldl.
stageFuns: let
/* "dfold" a ternary function `op' between successive elements of `list' as if
it was a doubly-linked list with `lnul' and `rnul` base cases at either
end. In precise terms, `fold op lnul rnul [x_0 x_1 x_2 ... x_n-1]` is the
same as
let
f_-1 = lnul;
f_0 = op f_-1 x_0 f_1;
f_1 = op f_0 x_1 f_2;
f_2 = op f_1 x_2 f_3;
...
f_n = op f_n-1 x_n f_n+1;
f_n+1 = rnul;
in
f_0
*/
dfold = op: lnul: rnul: list:
let
len = builtins.length list;
go = pred: n:
if n == len
then rnul
else let
# Note the cycle -- call-by-need ensures finite fold.
cur = op pred (builtins.elemAt list n) succ;
succ = go cur (n + 1);
in cur;
in go lnul 0;
# Take the list and disallow custom overrides in all but the final stage,
# and allow it in the final flag. Only defaults this boolean field if it
# isn't already set.
@ -55,19 +84,21 @@ stageFuns: let
# Adds the stdenv to the arguments, and sticks in it the previous stage for
# debugging purposes.
folder = stageFun: finalSoFar: let
args = stageFun finalSoFar;
folder = nextStage: stageFun: prevStage: let
args = stageFun prevStage;
args' = args // {
stdenv = args.stdenv // {
# For debugging
__bootPackages = finalSoFar;
__bootPackages = prevStage;
__hatPackages = nextStage;
};
};
in
if args.__raw or false
then args'
else allPackages ((builtins.removeAttrs args' ["selfBuild"]) // {
buildPackages = if args.selfBuild or true then null else finalSoFar;
buildPackages = if args.selfBuild or true then null else prevStage;
__targetPackages = if args.selfBuild or true then null else nextStage;
});
in lib.lists.fold folder {} withAllowCustomOverrides
in dfold folder {} {} withAllowCustomOverrides

View File

@ -4,7 +4,7 @@ let
pythonPackages = python3Packages;
in pythonPackages.buildPythonApplication rec {
name = "asciinema-${version}";
version = "1.3.0";
version = "1.4.0";
buildInputs = with pythonPackages; [ nose ];
propagatedBuildInputs = with pythonPackages; [ requests2 ];
@ -13,9 +13,14 @@ in pythonPackages.buildPythonApplication rec {
owner = "asciinema";
repo = "asciinema";
rev = "v${version}";
sha256 = "1hx7xipyy9w72iwlawldlif9qk3f7b8jx8c1wcx114pqbjz5d347";
sha256 = "1m2gjqxb5gqyz19lvp7jmwp7cxjc6nb0b2rrlsg3z2bl6vmi1xn2";
};
patchPhase = ''
# disable one test which is failing with -> OSError: out of pty devices
rm tests/pty_recorder_test.py
'';
checkPhase = ''
nosetests
'';

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto
{ stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto, wrapGAppsHook
, makeWrapper, gtk3, docbook_xml_dtd_412, docbook_xsl
, libxml2, desktop_file_utils, libusb1, cups, gdk_pixbuf, pango, atk, libnotify
, gobjectIntrospection, libgnome_keyring3
, cups-filters
, pythonPackages
, withGUI ? true
}:
let majorVersion = "1.5";
in stdenv.mkDerivation rec {
name = "system-config-printer-${majorVersion}.7";
stdenv.mkDerivation rec {
name = "system-config-printer-${version}";
version = "1.5.9";
src = fetchurl {
url = "http://cyberelk.net/tim/data/system-config-printer/${majorVersion}/${name}.tar.xz";
sha256 = "1vxczk22f58nbikvj47s2x1gzh6q4mbgwnf091p00h3b6nxppdgn";
url = "https://github.com/zdohnal/system-config-printer/releases/download/v${version}/${name}.tar.gz";
sha256 = "03bwlpsiqpxzcwd78a7rmwiww4jnqd7kl7il4kx78l1r57lasd2r";
};
patches = [ ./detect_serverbindir.patch ];
@ -22,8 +22,12 @@ in stdenv.mkDerivation rec {
[ intltool pkgconfig glib udev libusb1 cups xmlto
libxml2 docbook_xml_dtd_412 docbook_xsl desktop_file_utils
pythonPackages.python pythonPackages.wrapPython
libnotify gobjectIntrospection gdk_pixbuf pango atk
libgnome_keyring3
];
nativeBuildInputs = [ wrapGAppsHook ];
pythonPath = with pythonPackages;
[ pycups pycurl dbus-python pygobject3 requests2 pycairo pythonPackages.pycurl ];
@ -33,36 +37,22 @@ in stdenv.mkDerivation rec {
"--with-systemdsystemunitdir=$(out)/etc/systemd/system"
];
stripDebugList = "bin lib etc/udev";
stripDebugList = [ "bin" "lib" "etc/udev" ];
postInstall =
let
giTypelibPath = stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gdk_pixbuf.out gtk3.out pango.out atk.out libnotify.out ];
in
''
export makeWrapperArgs="--set prefix $out \
--set GI_TYPELIB_PATH ${giTypelibPath} \
--set CUPS_DATADIR ${cups-filters}/share/cups"
wrapPythonPrograms
# The program imports itself, so we need to move shell wrappers to a proper place.
fixupWrapper() {
mv "$out/share/system-config-printer/$2.py" \
"$out/bin/$1"
sed -i "s/.$2.py-wrapped/$2.py/g" "$out/bin/$1"
mv "$out/share/system-config-printer/.$2.py-wrapped" \
"$out/share/system-config-printer/$2.py"
}
fixupWrapper scp-dbus-service scp-dbus-service
fixupWrapper system-config-printer system-config-printer
fixupWrapper system-config-printer-applet applet
# This __init__.py is both executed and imported.
( cd $out/share/system-config-printer/troubleshoot
mv .__init__.py-wrapped __init__.py
buildPythonPath "$out $pythonPath"
gappsWrapperArgs+=(
--prefix PATH "$program_PATH"
--set CUPS_DATADIR "${cups-filters}/share/cups"
)
find $out/share/system-config-printer -name \*.py -type f -perm -0100 -print0 | while read -d "" f; do
patchPythonScript "$f"
done
# The below line will be unneeded when the next upstream release arrives.
sed -i -e "s|/usr/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
sed -i -e "s|/usr/local/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
# Manually expand literal "$(out)", which have failed to expand
sed -e "s|ExecStart=\$(out)|ExecStart=$out|" \

View File

@ -1,4 +1,6 @@
{ stdenv, fetchurl
# Build runit-init as a static binary
, static ? false
}:
@ -19,7 +21,9 @@ stdenv.mkDerivation rec {
buildInputs = stdenv.lib.optionals static [ stdenv.cc.libc stdenv.cc.libc.static ];
postPatch = stdenv.lib.optionalString (!static) ''
postPatch = ''
sed -i "s,\(#define RUNIT\) .*,\1 \"$out/bin/runit\"," src/runit.h
'' + stdenv.lib.optionalString (!static) ''
sed -i 's,-static,,g' src/Makefile
'';

View File

@ -22,7 +22,7 @@ let
(fetchpatch {
name = "git-mergetool.diff"; # see https://gitlab.com/tfischer/kdiff3/merge_requests/2
url = "https://gitlab.com/vcunat/kdiff3/commit/6106126216.patch";
sha256 = "0v638rk05wz51qcqnc6blcp2v74f04wn8ifgzw7qi5vr0yfh775r";
sha256 = "16xqc24y8bg8gzkdbwapiwi68rzqnkpz4hgn586mi01ngig2fd7y";
})
];
patchFlags = "-p 2";

View File

@ -1,13 +1,15 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "patchutils-0.3.4";
name = "patchutils-0.3.3";
src = fetchurl {
url = "http://cyberelk.net/tim/data/patchutils/stable/${name}.tar.xz";
sha256 = "0xp8mcfyi5nmb5a2zi5ibmyshxkb1zv1dgmnyn413m7ahgdx8mfg";
sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i";
};
patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one
hardeningDisable = [ "format" ];
meta = with stdenv.lib; {

View File

@ -0,0 +1,84 @@
From 58987954647f51dc42fb13b7759923c6170dd905 Mon Sep 17 00:00:00 2001
From: Tim Waugh <twaugh@redhat.com>
Date: Fri, 9 May 2014 16:23:27 +0100
Subject: Make --clean drop comments after '@@' lines as well (trac #29).
diff --git a/Makefile.am b/Makefile.am
index 99ad2a3..f3c6dbc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -198,6 +198,7 @@ TESTS = tests/newline1/run-test \
tests/convert1/run-test \
tests/convert2/run-test \
tests/clean1/run-test \
+ tests/clean2/run-test \
tests/stdin/run-test
# These ones don't work yet.
diff --git a/src/filterdiff.c b/src/filterdiff.c
index 383e72b..6ca2316 100644
--- a/src/filterdiff.c
+++ b/src/filterdiff.c
@@ -2,7 +2,7 @@
* filterdiff - extract (or exclude) a diff from a diff file
* lsdiff - show which files are modified by a patch
* grepdiff - show files modified by a patch containing a regexp
- * Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2011 Tim Waugh <twaugh@redhat.com>
+ * Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2011, 2013, 2014 Tim Waugh <twaugh@redhat.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -408,7 +408,8 @@ do_unified (FILE *f, char *header[2], int match, char **line,
" Hunk #%lu, %s",
hunknum, bestname);
- fputs (trailing, output_to);
+ fputs (clean_comments ? "\n" : trailing,
+ output_to);
break;
case Before:
// Note the initial line number
diff --git a/tests/clean2/run-test b/tests/clean2/run-test
new file mode 100755
index 0000000..42320df
--- /dev/null
+++ b/tests/clean2/run-test
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# This is a filterdiff(1) testcase.
+# Test: Make sure --clean removes hunk-level comments.
+
+
+. ${top_srcdir-.}/tests/common.sh
+
+cat << EOF > diff
+non-diff line
+--- a/file1
++++ b/file1
+@@ -0,0 +1 @@ this is a hunk-level comment
++a
+EOF
+
+${FILTERDIFF} --clean diff 2>errors >filtered || exit 1
+[ -s errors ] && exit 1
+
+cat << EOF | cmp - filtered || exit 1
+--- a/file1
++++ b/file1
+@@ -0,0 +1 @@
++a
+EOF
+
+${FILTERDIFF} --clean -x file1 diff 2>errors >filtered || exit 1
+[ -s errors ] && exit 1
+cat << EOF | cmp - filtered || exit 1
+--- a/file1
++++ b/file1
+@@ -0,0 +1 @@
++a
+EOF
--
cgit v0.10.1

View File

@ -4,16 +4,16 @@ with rustPlatform;
buildRustPackage rec {
name = "ripgrep-${version}";
version = "0.5.0";
version = "0.5.1";
src = fetchFromGitHub {
owner = "BurntSushi";
repo = "ripgrep";
rev = "${version}";
sha256 = "13mg624867hqxp9pzpq1gn9kqkvbaqcphdjia3bz5wvff1cbxkfy";
sha256 = "1fbvc419gh1rix8v3bh9a63r993kvfizp49p5ps6y22wggpy0k77";
};
depsSha256 = "0glw8xk77w2h1xg6c451fg8cmwx3vz7dyzdrbf0i8d84yq8sh0i1";
depsSha256 = "0vyrcgcmlf3lbp15nip2cm8xv4n6qldfbl0iwy3jb69i2mazi6nm";
preFixup = ''
mkdir -p "$out/man/man1"

View File

@ -3063,6 +3063,8 @@ with pkgs;
mysqltuner = callPackage ../tools/misc/mysqltuner { };
mytetra = libsForQt5.callPackage ../applications/office/mytetra { };
nabi = callPackage ../tools/inputmethods/nabi { };
namazu = callPackage ../tools/text/namazu { };
@ -12481,6 +12483,8 @@ with pkgs;
faba-mono-icons = callPackage ../data/icons/faba-mono-icons { };
emacs-all-the-icons-fonts = callPackage ../data/fonts/emacs-all-the-icons-fonts { };
emojione = callPackage ../data/fonts/emojione {
inherit (nodePackages) svgo;
inherit (pythonPackages) scfbuild;

View File

@ -734,6 +734,19 @@ let self = _self // overrides; _self = with self; {
];
};
BusinessHours = buildPerlPackage rec {
name = "Business-Hours-0.12";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/R/RU/RUZ/Business-Hours-0.12.tar.gz";
sha256 = "15c5g278m1x121blspf4bymxp89vysizr3z6s1g3sbpfdkrn4gyv";
};
buildInputs = [ TestPod TestPodCoverage ];
propagatedBuildInputs = [ SetIntSpan TimeLocal ];
meta = {
description = "Calculate business hours in a time period";
};
};
BusinessISBN = buildPerlPackage rec {
name = "Business-ISBN-2.09";
src = fetchurl {
@ -2777,6 +2790,18 @@ let self = _self // overrides; _self = with self; {
buildInputs = [ Clone ];
};
CSSMinifierXP = buildPerlPackage rec {
name = "CSS-Minifier-XS-0.09";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz";
sha256 = "1myswrmh0sqp5xjpp03x45z8arfmgkjx0srl3r6kjsyzl1zrk9l8";
};
meta = {
description = "XS based CSS minifier";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
CSSSquish = buildPerlPackage {
name = "CSS-Squish-0.10";
src = fetchurl {
@ -2997,6 +3022,20 @@ let self = _self // overrides; _self = with self; {
propagatedBuildInputs = [TestException ClassAccessorChained];
};
DataPagePageset = buildPerlPackage rec {
name = "Data-Page-Pageset-1.02";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz";
sha256 = "142isi8la383dbjxj7lfgcbmmrpzwckcc4wma6rdl8ryajsipb6f";
};
buildInputs = [ TestPod TestPodCoverage ];
propagatedBuildInputs = [ DataPage ];
meta = {
description = "change long page list to be shorter and well navigate";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
DataPassword = buildPerlPackage {
name = "Data-Password-1.12";
src = fetchurl {
@ -5694,6 +5733,20 @@ let self = _self // overrides; _self = with self; {
makeMakerFlags = "--lib_png_path=${pkgs.libpng.out} --lib_jpeg_path=${pkgs.libjpeg.out} --lib_zlib_path=${pkgs.zlib.out} --lib_ft_path=${pkgs.freetype.out} --lib_fontconfig_path=${pkgs.fontconfig.lib} --lib_xpm_path=${pkgs.xorg.libXpm.out}";
};
GDGraph = buildPerlPackage rec {
name = "GDGraph-1.54";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/R/RU/RUZ/GDGraph-1.54.tar.gz";
sha256 = "0kzsdc07ycxjainmz0dnsclb15w2j1y7g8b5mcb7vhannq85qvxr";
};
propagatedBuildInputs = [ GD GDText ];
buildInputs = [ TestException CaptureTiny ];
meta = {
description = "Graph Plotting Module for Perl 5";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
GDSecurityImage = buildPerlPackage {
name = "GD-SecurityImage-1.72";
src = fetchurl {
@ -5707,6 +5760,18 @@ let self = _self // overrides; _self = with self; {
};
};
GDText = buildPerlPackage rec {
name = "GDTextUtil-0.86";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz";
sha256 = "1g0nc7fz4d672ag7brlrrcz7ibm98x49qs75bq9z957ybkwcnvl8";
};
propagatedBuildInputs = [ GD ];
meta = {
description = "Text utilities for use with GD";
};
};
GeoIP = buildPerlPackage rec {
name = "Geo-IP-1.45";
src = fetchurl {
@ -6832,7 +6897,7 @@ let self = _self // overrides; _self = with self; {
sha256 = "74d22c44b5ad2e7190e2786e8a17d74bbf4cef89b4d1157ba33598b5a2720dad";
};
};
IOPager = buildPerlPackage {
name = "IO-Pager-0.06";
src = fetchurl {
@ -7136,6 +7201,20 @@ let self = _self // overrides; _self = with self; {
};
};
JavaScriptMinifierXS = buildPerlPackage rec {
name = "JavaScript-Minifier-XS-0.11";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz";
sha256 = "1vlyhckpjbrg2v4dy9szsxxl0q44n0y1xl763mg2y2ym9g5144hm";
};
propagatedBuildInputs = [ ];
meta = {
description = "XS based JavaScript minifier";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
JSON = buildPerlPackage {
name = "JSON-2.90";
src = fetchurl {
@ -8225,6 +8304,29 @@ let self = _self // overrides; _self = with self; {
buildInputs = [ ProcWaitStat ];
};
MIMETools = buildPerlPackage rec {
name = "MIME-tools-5.509";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz";
sha256 = "0wv9rzx5j1wjm01c3dg48qk9wlbm6iyf91j536idk09xj869ymv4";
};
propagatedBuildInputs = [
MailTools
FilePath
FileTemp
MIMEBase64
];
buildInputs = [
TestDeep
TestPod
TestPodCoverage
];
meta = {
description = "class for parsed-and-decoded MIME message";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
MIMELite = buildPerlPackage rec {
name = "MIME-Lite-3.030";
src = fetchurl {
@ -11468,6 +11570,18 @@ let self = _self // overrides; _self = with self; {
};
};
SetIntSpan = buildPerlPackage rec {
name = "Set-IntSpan-1.19";
src = fetchurl {
url = "https://cpan.metacpan.org/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz";
sha256 = "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi";
};
meta = {
description = "Manages sets of integers";
};
};
SetObject = buildPerlPackage {
name = "Set-Object-1.34";
src = fetchurl {
@ -12319,7 +12433,7 @@ let self = _self // overrides; _self = with self; {
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
TaskFreecellSolverTesting = buildPerlModule rec {
name = "Task-FreecellSolver-Testing-v0.0.10";
src = fetchurl {
@ -13541,7 +13655,7 @@ let self = _self // overrides; _self = with self; {
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
};
};
TestTrailingSpace = buildPerlPackage rec {
name = "Test-TrailingSpace-0.0301";
src = fetchurl {

View File

@ -20558,6 +20558,8 @@ in {
};
};
pyspread = callPackage ../development/python-modules/pyspread { };
pyx = buildPythonPackage rec {
name = "pyx-${version}";
version = "0.14.1";

View File

@ -64,7 +64,11 @@ let
splicedPackages =
if actuallySplice
then splicer defaultBuildScope defaultRunScope
then splicer defaultBuildScope defaultRunScope // {
# These should never be spliced under any circumstances
inherit (pkgs) pkgs buildPackages __targetPackages
buildPlatform targetPlatform hostPlatform;
}
else pkgs // pkgs.xorg;
in

View File

@ -46,9 +46,18 @@
##
, # The package set used at build-time. If null, `buildPackages` will
# be defined internally as the produced package set as itself.
# be defined internally as the final produced package set itself. This allows
# us to avoid expensive splicing.
buildPackages
, # The package set used in the next stage. If null, `__targetPackages` will be
# defined internally as the final produced package set itself, just like with
# `buildPackages` and for the same reasons.
#
# THIS IS A HACK for compilers that don't think critically about cross-
# compilation. Please do *not* use unless you really know what you are doing.
__targetPackages
, # The standard environment to use for building packages.
stdenv
@ -87,6 +96,8 @@ let
stdenvBootstappingAndPlatforms = self: super: {
buildPackages = (if buildPackages == null then self else buildPackages)
// { recurseForDerivations = false; };
__targetPackages = (if __targetPackages == null then self else __targetPackages)
// { recurseForDerivations = false; };
inherit stdenv
buildPlatform hostPlatform targetPlatform;
};