Merge branch 'master' into staging

... to get expat mass rebuild.
Hydra nixpkgs: ?compare=1272431
This commit is contained in:
Vladimír Čunát 2016-05-19 15:42:18 +02:00
commit 5eea16ee90
137 changed files with 7290 additions and 6011 deletions

View File

@ -76,6 +76,7 @@
choochootrain = "Hurshal Patel <hurshal@imap.cc>"; choochootrain = "Hurshal Patel <hurshal@imap.cc>";
christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>"; christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
cleverca22 = "Michael Bishop <cleverca22@gmail.com>"; cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
cmcdragonkai = "Roger Qiu <roger.qiu@matrix.ai>";
coconnor = "Corey O'Connor <coreyoconnor@gmail.com>"; coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
codsl = "codsl <codsl@riseup.net>"; codsl = "codsl <codsl@riseup.net>";
codyopel = "Cody Opel <codyopel@gmail.com>"; codyopel = "Cody Opel <codyopel@gmail.com>";
@ -160,7 +161,7 @@
hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>"; hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
iand675 = "Ian Duncan <ian@iankduncan.com>"; iand675 = "Ian Duncan <ian@iankduncan.com>";
ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>"; ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
iElectric = "Domen Kozar <domen@dev.si>"; domenkozar = "Domen Kozar <domen@dev.si>";
igsha = "Igor Sharonov <igor.sharonov@gmail.com>"; igsha = "Igor Sharonov <igor.sharonov@gmail.com>";
ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>"; ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>";
j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>"; j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";

View File

@ -1,7 +1,7 @@
{ stdenv, makeWrapper, perl, perlPackages }: { stdenv, makeWrapper, perl, perlPackages }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "nix-generate-from-cpan-2"; name = "nix-generate-from-cpan-3";
buildInputs = with perlPackages; [ buildInputs = with perlPackages; [
makeWrapper perl CPANMeta GetoptLongDescriptive CPANPLUS Readonly Log4Perl makeWrapper perl CPANMeta GetoptLongDescriptive CPANPLUS Readonly Log4Perl
@ -20,5 +20,6 @@ stdenv.mkDerivation {
meta = { meta = {
maintainers = with stdenv.lib.maintainers; [ eelco rycee ]; maintainers = with stdenv.lib.maintainers; [ eelco rycee ];
description = "Utility to generate a Nix expression for a Perl package from CPAN"; description = "Utility to generate a Nix expression for a Perl package from CPAN";
platforms = stdenv.lib.platforms.unix;
}; };
} }

View File

@ -278,14 +278,14 @@ sub get_deps {
foreach my $n ( $deps->required_modules ) { foreach my $n ( $deps->required_modules ) {
next if $n eq "perl"; next if $n eq "perl";
# Hacky way to figure out if this module is part of Perl. # Figure out whether the module is a core module by attempting
if ( $n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/ && $n !~ /^if$/ ) { # to `use` the module in a pure Perl interpreter and checking
eval "use $n;"; # whether it succeeded. Note, $^X is a magic variable holding
if ( !$@ ) { # the path to the running Perl interpreter.
if ( system("env -i $^X -M$n -e1 >/dev/null 2>&1") == 0 ) {
DEBUG("skipping Perl-builtin module $n"); DEBUG("skipping Perl-builtin module $n");
next; next;
} }
}
my $pkg = module_to_pkg( $cb, $n ); my $pkg = module_to_pkg( $cb, $n );

View File

@ -5,8 +5,57 @@ let
cfg = config.programs.tmux; cfg = config.programs.tmux;
in defaultKeyMode = "emacs";
{ defaultResize = 5;
defaultShortcut = "b";
defaultTerminal = "screen";
boolToStr = value: if value then "on" else "off";
tmuxConf = ''
set -g default-terminal "${cfg.terminal}"
set -g base-index ${toString cfg.baseIndex}
setw -g pane-base-index ${toString cfg.baseIndex}
${if cfg.newSession then "new-session" else ""}
${if cfg.reverseSplit then ''
bind v split-window -h
bind s split-window -v
'' else ""}
set -g status-keys ${cfg.keyMode}
set -g mode-keys ${cfg.keyMode}
${if cfg.keyMode == "vi" then ''
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r H resize-pane -L ${toString cfg.resizeAmount}
bind -r J resize-pane -D ${toString cfg.resizeAmount}
bind -r K resize-pane -U ${toString cfg.resizeAmount}
bind -r L resize-pane -R ${toString cfg.resizeAmount}
'' else ""}
${if (cfg.shortcut != defaultShortcut) then ''
# rebind main key: C-${cfg.shortcut}
unbind C-${defaultShortcut}
set -g prefix C-${cfg.shortcut}
bind ${cfg.shortcut} send-prefix
bind C-${cfg.shortcut} last-window
'' else ""}
setw -g aggressive-resize ${boolToStr cfg.aggressiveResize}
setw -g clock-mode-style ${if cfg.clock24 then "24" else "12"}
set -s escape-time ${toString cfg.escapeTime}
set -g history-limit ${toString cfg.historyLimit}
${cfg.extraTmuxConf}
'';
in {
###### interface ###### interface
options = { options = {
@ -14,13 +63,92 @@ in
enable = mkEnableOption "<command>tmux</command> - a <command>screen</command> replacement."; enable = mkEnableOption "<command>tmux</command> - a <command>screen</command> replacement.";
tmuxconf = mkOption { aggressiveResize = mkOption {
default = false;
example = true;
type = types.bool;
description = ''
Resize the window to the size of the smallest session for which it is the current window.
'';
};
baseIndex = mkOption {
default = 0;
example = 1;
type = types.int;
description = "Base index for windows and panes.";
};
clock24 = mkOption {
default = false;
example = true;
type = types.bool;
description = "Use 24 hour clock.";
};
escapeTime = mkOption {
default = 500;
example = 0;
type = types.int;
description = "Time in milliseconds for which tmux waits after an escape is input.";
};
extraTmuxConf = mkOption {
default = ""; default = "";
description = '' description = ''
The contents of /etc/tmux.conf Additional contents of /etc/tmux.conf
''; '';
type = types.lines; type = types.lines;
}; };
historyLimit = mkOption {
default = 2000;
example = 5000;
type = types.int;
description = "Maximum number of lines held in window history.";
};
keyMode = mkOption {
default = defaultKeyMode;
example = "vi";
type = types.enum [ "emacs" "vi" ];
description = "VI or Emacs style shortcuts.";
};
newSession = mkOption {
default = false;
example = true;
type = types.bool;
description = "Automatically spawn a session if trying to attach and none are running.";
};
reverseSplit = mkOption {
default = false;
example = true;
type = types.bool;
description = "Reverse the window split shortcuts.";
};
resizeAmount = mkOption {
default = defaultResize;
example = 10;
type = types.int;
description = "Number of lines/columns when resizing.";
};
shortcut = mkOption {
default = defaultShortcut;
example = "a";
type = types.str;
description = "Ctrl following by this key is used as the main shortcut.";
};
terminal = mkOption {
default = defaultTerminal;
example = "screen-256color";
type = types.str;
description = "Set the $TERM variable.";
};
}; };
}; };
@ -29,7 +157,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment = { environment = {
systemPackages = [ pkgs.tmux ]; systemPackages = [ pkgs.tmux ];
etc."tmux.conf".text = cfg.tmuxconf; etc."tmux.conf".text = tmuxConf;
}; };
}; };
} }

View File

@ -2,19 +2,14 @@
with lib; with lib;
let let cfg = config.services.subsonic; in {
cfg = config.services.subsonic;
homeDir = "/var/subsonic";
in
{
options = { options = {
services.subsonic = { services.subsonic = {
enable = mkEnableOption "Subsonic daemon"; enable = mkEnableOption "Subsonic daemon";
home = mkOption { home = mkOption {
type = types.path; type = types.path;
default = "${homeDir}"; default = "/var/lib/subsonic";
description = '' description = ''
The directory where Subsonic will create files. The directory where Subsonic will create files.
Make sure it is writable. Make sure it is writable.
@ -112,8 +107,7 @@ in
description = "Personal media streamer"; description = "Personal media streamer";
after = [ "local-fs.target" "network.target" ]; after = [ "local-fs.target" "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { script = ''
ExecStart = ''
${pkgs.jre}/bin/java -Xmx${toString cfg.maxMemory}m \ ${pkgs.jre}/bin/java -Xmx${toString cfg.maxMemory}m \
-Dsubsonic.home=${cfg.home} \ -Dsubsonic.home=${cfg.home} \
-Dsubsonic.host=${cfg.listenAddress} \ -Dsubsonic.host=${cfg.listenAddress} \
@ -127,8 +121,21 @@ in
-verbose:gc \ -verbose:gc \
-jar ${pkgs.subsonic}/subsonic-booter-jar-with-dependencies.jar -jar ${pkgs.subsonic}/subsonic-booter-jar-with-dependencies.jar
''; '';
preStart = ''
# Formerly this module set cfg.home to /var/subsonic. Try to move
# /var/subsonic to cfg.home.
oldHome="/var/subsonic"
if [ "${cfg.home}" != "$oldHome" ] &&
! [ -e "${cfg.home}" ] &&
[ -d "$oldHome" ] &&
[ $(${pkgs.coreutils}/bin/stat -c %u "$oldHome") -eq \
${toString config.users.extraUsers.subsonic.uid} ]; then
logger Moving "$oldHome" to "${cfg.home}"
${pkgs.coreutils}/bin/mv -T "$oldHome" "${cfg.home}"
fi
# Install transcoders. # Install transcoders.
ExecStartPre = ''
${pkgs.coreutils}/bin/rm -rf ${cfg.home}/transcode ; \ ${pkgs.coreutils}/bin/rm -rf ${cfg.home}/transcode ; \
${pkgs.coreutils}/bin/mkdir -p ${cfg.home}/transcode ; \ ${pkgs.coreutils}/bin/mkdir -p ${cfg.home}/transcode ; \
${pkgs.bash}/bin/bash -c ' \ ${pkgs.bash}/bin/bash -c ' \
@ -136,6 +143,7 @@ in
${pkgs.coreutils}/bin/ln -sf "$exe" ${cfg.home}/transcode; \ ${pkgs.coreutils}/bin/ln -sf "$exe" ${cfg.home}/transcode; \
done' IGNORED_FIRST_ARG ${toString cfg.transcoders} done' IGNORED_FIRST_ARG ${toString cfg.transcoders}
''; '';
serviceConfig = {
# Needed for Subsonic to find subsonic.war. # Needed for Subsonic to find subsonic.war.
WorkingDirectory = "${pkgs.subsonic}"; WorkingDirectory = "${pkgs.subsonic}";
Restart = "always"; Restart = "always";
@ -146,7 +154,7 @@ in
users.extraUsers.subsonic = { users.extraUsers.subsonic = {
description = "Subsonic daemon user"; description = "Subsonic daemon user";
home = homeDir; home = cfg.home;
createHome = true; createHome = true;
group = "subsonic"; group = "subsonic";
uid = config.ids.uids.subsonic; uid = config.ids.uids.subsonic;

View File

@ -110,7 +110,7 @@ in
}; };
services.dbus.packages = [ services.dbus.packages = [
pkgs.dbus pkgs.dbus.out
config.system.path config.system.path
]; ];

View File

@ -25,7 +25,7 @@ in
{ {
name = "bittorrent"; name = "bittorrent";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric eelco chaoflow rob wkennington ]; maintainers = [ domenkozar eelco chaoflow rob wkennington ];
}; };
nodes = nodes =

View File

@ -3,7 +3,7 @@
import ./make-test.nix ({ pkgs, ...} : { import ./make-test.nix ({ pkgs, ...} : {
name = "gitlab"; name = "gitlab";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric offline ]; maintainers = [ domenkozar offline ];
}; };
nodes = { nodes = {

View File

@ -1,7 +1,7 @@
import ./make-test.nix ({ pkgs, ...} : { import ./make-test.nix ({ pkgs, ...} : {
name = "gnome3"; name = "gnome3";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric eelco chaoflow lethalman ]; maintainers = [ domenkozar eelco chaoflow lethalman ];
}; };
machine = machine =

View File

@ -6,7 +6,7 @@
import ./make-test.nix ({ pkgs, ...} : { import ./make-test.nix ({ pkgs, ...} : {
name = "jenkins"; name = "jenkins";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ bjornfor coconnor iElectric eelco chaoflow ]; maintainers = [ bjornfor coconnor domenkozar eelco chaoflow ];
}; };
nodes = { nodes = {

View File

@ -1,7 +1,7 @@
import ./make-test.nix ({ pkgs, ... }: { import ./make-test.nix ({ pkgs, ... }: {
name = "kde4"; name = "kde4";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric eelco chaoflow ]; maintainers = [ domenkozar eelco chaoflow ];
}; };
machine = machine =

View File

@ -4,7 +4,7 @@
import ./make-test.nix ({ pkgs, ...} : { import ./make-test.nix ({ pkgs, ...} : {
name = "munin"; name = "munin";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric eelco chaoflow ]; maintainers = [ domenkozar eelco chaoflow ];
}; };
nodes = { nodes = {

View File

@ -3,7 +3,7 @@
import ./make-test.nix ({pkgs, ... }: { import ./make-test.nix ({pkgs, ... }: {
name = "printing"; name = "printing";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric eelco chaoflow jgeerds ]; maintainers = [ domenkozar eelco chaoflow jgeerds ];
}; };
nodes = { nodes = {

View File

@ -22,7 +22,7 @@ in
rec { rec {
name = "quake3"; name = "quake3";
meta = with pkgs.stdenv.lib.maintainers; { meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ iElectric eelco chaoflow ]; maintainers = [ domenkozar eelco chaoflow ];
}; };
# TODO: lcov doesn't work atm # TODO: lcov doesn't work atm

View File

@ -1,9 +1,10 @@
{ stdenv, fetchFromGitHub, makeWrapper, callPackage, libgroove, python, utillinux }: { stdenv, fetchFromGitHub, makeWrapper, callPackage, libgroove, python, utillinux, nodejs }:
with stdenv.lib; with stdenv.lib;
let let
nodePackages = callPackage (import ../../../top-level/node-packages.nix) { nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
inherit nodejs;
neededNatives = [ libgroove python utillinux ]; neededNatives = [ libgroove python utillinux ];
self = nodePackages; self = nodePackages;
generated = ./package.nix; generated = ./package.nix;

View File

@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
description = "An online/offline backup solution"; description = "An online/offline backup solution";
homepage = "http://www.crashplan.org"; homepage = "http://www.crashplan.org";
license = licenses.unfree; license = licenses.unfree;
maintainers = with maintainers; [ sztupi iElectric ]; maintainers = with maintainers; [ sztupi domenkozar ];
}; };
buildInputs = [ makeWrapper cpio ]; buildInputs = [ makeWrapper cpio ];

View File

@ -23,13 +23,13 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "emacs-25.0.93"; name = "emacs-25.0.94";
builder = ./builder.sh; builder = ./builder.sh;
src = fetchurl { src = fetchurl {
url = "ftp://alpha.gnu.org/gnu/emacs/pretest/${name}.tar.xz"; url = "ftp://alpha.gnu.org/gnu/emacs/pretest/${name}.tar.xz";
sha256 = "1wbr2n723ycg16rlg81v9x17w9ciy7qyckxplnwghlyfj6j9k4dk"; sha256 = "19kd9iwj4rz7llihs7a4gmag98n3asrxn3jh6mdmyn24w2kmxi69";
}; };
patches = lib.optionals stdenv.isDarwin [ patches = lib.optionals stdenv.isDarwin [

View File

@ -1257,10 +1257,10 @@
}) {}; }) {};
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org"; pname = "org";
version = "20160502"; version = "20160516";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/org-20160502.tar"; url = "https://elpa.gnu.org/packages/org-20160516.tar";
sha256 = "0li067na4p0k9r4nr6a2vfqygvlmzsdgm5kgg2p60lsvydh43fvw"; sha256 = "164v1zddgyfy9v1qhl1fqz2vcgm5w4dhfmra5ngpgnjh1402l0pm";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -1760,10 +1760,10 @@
validate = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: validate = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "validate"; pname = "validate";
version = "0.3"; version = "0.5";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/validate-0.3.el"; url = "https://elpa.gnu.org/packages/validate-0.5.el";
sha256 = "0nq917217ax5zykzaybv7diz1vgl3y6r8vi7hmz3lzm5dl90jy3m"; sha256 = "1gzphvcqih5zz80mmnc2wx2kgc13g9hv98kqsfpndbdd3bw3blph";
}; };
packageRequires = [ cl-lib emacs ]; packageRequires = [ cl-lib emacs ];
meta = { meta = {
@ -1838,10 +1838,10 @@
}) {}; }) {};
websocket = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { websocket = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "websocket"; pname = "websocket";
version = "1.5"; version = "1.6";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/websocket-1.5.tar"; url = "https://elpa.gnu.org/packages/websocket-1.6.tar";
sha256 = "0plgc8an229cqbghrxd6wh73b081dc17fx1r940dqhgi284pcjsy"; sha256 = "09im218c1gkq1lg356rcqqpkydnpxs5qzdqkwk95pwndswb40a5a";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
{ callPackage }: { { callPackage }: {
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org"; pname = "org";
version = "20160502"; version = "20160516";
src = fetchurl { src = fetchurl {
url = "http://orgmode.org/elpa/org-20160502.tar"; url = "http://orgmode.org/elpa/org-20160516.tar";
sha256 = "0ranc2qiw6g6qja0jh1dvh06k6waagkiir2q2zla5d54brw4fg5a"; sha256 = "0zr87i55l92n1m8fgzvpdm40gh4fjwzsvgq47cmviqjr38kzdxv0";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -14,10 +14,10 @@
}) {}; }) {};
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org-plus-contrib"; pname = "org-plus-contrib";
version = "20160502"; version = "20160516";
src = fetchurl { src = fetchurl {
url = "http://orgmode.org/elpa/org-plus-contrib-20160502.tar"; url = "http://orgmode.org/elpa/org-plus-contrib-20160516.tar";
sha256 = "1znqh4pp9dlqmmdjhgy6vb880hq3cl4q6nmv48x8n5may159mvm0"; sha256 = "1g1a9qsn1i1fh5ppa2jimfqvzkd7rhq5a7xz73lkaw8j3niqy62s";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

View File

@ -75,7 +75,7 @@ index 0000000..a2f9918
+ +
+let b:current_syntax = "nix" +let b:current_syntax = "nix"
+ +
+" thanks to iElectric +" thanks to domenkozar
+" scan backwards to find begining of multiline statements +" scan backwards to find begining of multiline statements
+syn sync ccomment nixMultiLineComment minlines=10 maxlines=500 +syn sync ccomment nixMultiLineComment minlines=10 maxlines=500
+syn sync ccomment nixStringIndented minlines=10 maxlines=500 +syn sync ccomment nixStringIndented minlines=10 maxlines=500

View File

@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
description = "Popular photo organizer for the GNOME desktop"; description = "Popular photo organizer for the GNOME desktop";
homepage = https://wiki.gnome.org/Apps/Shotwell; homepage = https://wiki.gnome.org/Apps/Shotwell;
license = licenses.lgpl21Plus; license = licenses.lgpl21Plus;
maintainers = with maintainers; [iElectric]; maintainers = with maintainers; [domenkozar];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool { stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool
, libusb1, libxml2, pkgconfig, sane-backends, vala, wrapGAppsHook }: , libusb1, libxml2, pkgconfig, sane-backends, vala, wrapGAppsHook
, gnome3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "simple-scan-${version}"; name = "simple-scan-${version}";
@ -16,11 +17,30 @@ stdenv.mkDerivation rec {
configureFlags = [ "--disable-packagekit" ]; configureFlags = [ "--disable-packagekit" ];
patchPhase = ''
sed -i -e 's#Icon=scanner#Icon=simple-scan#g' ./data/simple-scan.desktop.in
'';
preBuild = '' preBuild = ''
# Clean up stale .c files referencing packagekit headers as of 3.20.0: # Clean up stale .c files referencing packagekit headers as of 3.20.0:
make clean make clean
''; '';
postInstall = ''
(
cd ${gnome3.defaultIconTheme}/share/icons/Adwaita
for f in `find . | grep 'scanner\.'`
do
local outFile="`echo "$out/share/icons/hicolor/$f" | sed \
-e 's#/devices/#/apps/#g' \
-e 's#scanner\.#simple-scan\.#g'`"
mkdir -p "`realpath -m "$outFile/.."`"
cp "$f" "$outFile"
done
)
'';
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = true; doCheck = true;

View File

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
description = "Comprehensive e-book software"; description = "Comprehensive e-book software";
homepage = http://calibre-ebook.com; homepage = http://calibre-ebook.com;
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3; license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
maintainers = with maintainers; [ viric iElectric pSub AndersonTorres ]; maintainers = with maintainers; [ viric domenkozar pSub AndersonTorres ];
platforms = platforms.linux; platforms = platforms.linux;
inherit version; inherit version;
}; };

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
description = "Lightweight and fast battery icon that sits in the system tray"; description = "Lightweight and fast battery icon that sits in the system tray";
homepage = https://github.com/valr/cbatticon; homepage = https://github.com/valr/cbatticon;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
# NOTE: 'unix' or even 'all' COULD work too, I'm not sure # NOTE: 'unix' or even 'all' COULD work too, I'm not sure
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.iElectric ]; maintainers = [ stdenv.lib.maintainers.domenkozar ];
}; };
} }

View File

@ -1,4 +1,5 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'jekyll' gem 'jekyll'
gem 'jekyll-paginate'
gem 'rdiscount' gem 'rdiscount'
gem 'RedCloth' gem 'RedCloth'

View File

@ -17,6 +17,7 @@ GEM
sass (~> 3.4) sass (~> 3.4)
jekyll-watch (1.3.0) jekyll-watch (1.3.0)
listen (~> 3.0) listen (~> 3.0)
jekyll-paginate (1.1.0)
kramdown (1.9.0) kramdown (1.9.0)
liquid (3.0.6) liquid (3.0.6)
listen (3.0.5) listen (3.0.5)

View File

@ -30,6 +30,7 @@
"colorator" "colorator"
"jekyll-sass-converter" "jekyll-sass-converter"
"jekyll-watch" "jekyll-watch"
"jekyll-paginate"
"kramdown" "kramdown"
"liquid" "liquid"
"mercenary" "mercenary"
@ -57,6 +58,13 @@
"listen" "listen"
]; ];
}; };
"jekyll-paginate" = {
version = "1.1.0";
source = {
type = "gem";
sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8";
};
};
"kramdown" = { "kramdown" = {
version = "1.9.0"; version = "1.9.0";
source = { source = {

View File

@ -52,7 +52,7 @@ pythonPackages.buildPythonApplication rec {
description = "Open source document analysis and OCR system"; description = "Open source document analysis and OCR system";
license = licenses.asl20; license = licenses.asl20;
homepage = https://github.com/tmbdev/ocropy/; homepage = https://github.com/tmbdev/ocropy/;
maintainers = with maintainers; [ iElectric nckx viric ]; maintainers = with maintainers; [ domenkozar nckx viric ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
description = "PostgreSQL administration GUI tool"; description = "PostgreSQL administration GUI tool";
homepage = http://www.pgadmin.org; homepage = http://www.pgadmin.org;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ iElectric wmertens ]; maintainers = with maintainers; [ domenkozar wmertens ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -0,0 +1,40 @@
{ stdenv, fetchFromGitLab, pythonPackages }:
stdenv.mkDerivation rec {
name = "phwmon-${version}";
version = "2016-03-13";
src = fetchFromGitLab {
owner = "o9000";
repo = "phwmon";
rev = "90247ceaff915ad1040352c5cc9195e4153472d4";
sha256 = "1gkjfmd8rai7bl1j7jz9drmzlw72n7mczl0akv39ya4l6k8plzvv";
};
nativeBuildInputs = [ pythonPackages.wrapPython ];
buildInputs = [ pythonPackages.pygtk pythonPackages.psutil ];
pythonPath = [ pythonPackages.pygtk pythonPackages.psutil ];
patchPhase = ''
substituteInPlace install.sh --replace "/usr/local" "$out"
'';
installPhase = ''
mkdir -p $out/bin $out/share/applications
./install.sh
'';
postFixup = ''
wrapPythonPrograms
'';
meta = {
homepage = https://gitlab.com/o9000/phwmon;
description = "Hardware monitor (CPU, memory, network and disk I/O) for the system tray";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
};
}

View File

@ -0,0 +1,40 @@
{ stdenv, fetchFromGitLab, pythonPackages, gnome }:
stdenv.mkDerivation rec {
name = "pmenu-${version}";
version = "2016-05-13";
src = fetchFromGitLab {
owner = "o9000";
repo = "pmenu";
rev = "90b722de345cff56f8ec0908a0e8a7d733c0c671";
sha256 = "15bkvadr7ab44mc8gkdqs3w14cm498mwf72w5rjm2rdh55357jjh";
};
nativeBuildInputs = [ pythonPackages.wrapPython ];
buildInputs = [ pythonPackages.pygtk gnome.gnome_menus ];
pythonPath = [ pythonPackages.pygtk ];
patchPhase = ''
substituteInPlace install.sh --replace "/usr/local" "$out"
'';
installPhase = ''
mkdir -p $out/bin $out/share/applications
./install.sh
'';
postFixup = ''
wrapPythonPrograms
'';
meta = {
homepage = https://gitlab.com/o9000/pmenu;
description = "Start menu for Linux/BSD";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.romildo ];
};
}

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "tint2-${version}"; name = "tint2-${version}";
version = "0.12.10"; version = "0.12.11";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "o9000"; owner = "o9000";
repo = "tint2"; repo = "tint2";
rev = version; rev = version;
sha256 = "0da28ykid84i4pw0cvgaxw0wq2yn03i68g54dzmajgsl1wvkqb0z"; sha256 = "0gfxbxslc8h95q7cq84a69yd7qdhyks978l3rmk48jhwwixdp0hr";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -39,8 +39,9 @@ stdenv.mkDerivation rec {
meta = { meta = {
homepage = https://gitlab.com/o9000/tint2; homepage = https://gitlab.com/o9000/tint2;
description = "Simple panel/taskbar unintrusive and light (memory, cpu, aestetic)";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
description = "Simple panel/taskbar unintrusive and light (memory / cpu / aestetic)"; platforms = stdenv.lib.platforms.unix;
platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.romildo ];
}; };
} }

View File

@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
homepage = https://www.getsync.com/; homepage = https://www.getsync.com/;
license = stdenv.lib.licenses.unfreeRedistributable; license = stdenv.lib.licenses.unfreeRedistributable;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice cwoac ]; maintainers = with stdenv.lib.maintainers; [ domenkozar thoughtpolice cwoac ];
}; };
} }

View File

@ -172,6 +172,8 @@ stdenv.mkDerivation {
--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS" --suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
''; '';
passthru.ffmpegSupport = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Mozilla Firefox, free web browser (binary package)"; description = "Mozilla Firefox, free web browser (binary package)";
homepage = http://www.mozilla.org/firefox/; homepage = http://www.mozilla.org/firefox/;

View File

@ -3,7 +3,7 @@
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite , yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
, hunspell, libevent, libstartup_notification, libvpx , hunspell, libevent, libstartup_notification, libvpx
, cairo, icu, libpng, jemalloc, libpulseaudio , cairo, gstreamer, gst_plugins_base, icu, libpng, jemalloc, libpulseaudio
, enableGTK3 ? false , enableGTK3 ? false
, debugBuild ? false , debugBuild ? false
, # If you want the resulting program to call itself "Firefox" instead , # If you want the resulting program to call itself "Firefox" instead
@ -39,7 +39,8 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
icu libpng jemalloc icu libpng jemalloc
libpulseaudio # only headers are needed libpulseaudio # only headers are needed
] ]
++ lib.optional enableGTK3 gtk3; ++ lib.optional enableGTK3 gtk3
++ lib.optionals (!passthru.ffmpegSupport) [ gstreamer gst_plugins_base ];
configureFlags = configureFlags =
[ "--enable-application=browser" [ "--enable-application=browser"
@ -122,7 +123,8 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
passthru = { passthru = {
inherit gtk nspr version; inherit gtk nspr version;
isFirefox3Like = true; isFirefox3Like = true;
browserName = pname; browserName = "firefox";
ffmpegSupport = lib.versionAtLeast version "46.0";
}; };
}; };

View File

@ -2,7 +2,7 @@
## various stuff that can be plugged in ## various stuff that can be plugged in
, gnash, flashplayer, hal-flash , gnash, flashplayer, hal-flash
, MPlayerPlugin, gecko_mediaplayer, ffmpeg, xorg, libpulseaudio, libcanberra , MPlayerPlugin, gecko_mediaplayer, ffmpeg, gst_all, xorg, libpulseaudio, libcanberra
, supportsJDK, jrePlugin, icedtea_web , supportsJDK, jrePlugin, icedtea_web
, trezor-bridge, bluejeans, djview4, adobe-reader , trezor-bridge, bluejeans, djview4, adobe-reader
, google_talk_plugin, fribid, gnome3/*.gnome_shell*/ , google_talk_plugin, fribid, gnome3/*.gnome_shell*/
@ -23,6 +23,7 @@ let
cfg = stdenv.lib.attrByPath [ browserName ] {} config; cfg = stdenv.lib.attrByPath [ browserName ] {} config;
enableAdobeFlash = cfg.enableAdobeFlash or false; enableAdobeFlash = cfg.enableAdobeFlash or false;
enableGnash = cfg.enableGnash or false; enableGnash = cfg.enableGnash or false;
ffmpegSupport = browser.ffmpegSupport or false;
jre = cfg.jre or false; jre = cfg.jre or false;
icedtea = cfg.icedtea or false; icedtea = cfg.icedtea or false;
@ -45,11 +46,12 @@ let
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
); );
libs = [ ffmpeg ] libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
++ lib.optionals (cfg.enableQuakeLive or false) ++ lib.optionals (cfg.enableQuakeLive or false)
(with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])
++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
++ lib.optional (config.pulseaudio or false) libpulseaudio; ++ lib.optional (config.pulseaudio or false) libpulseaudio;
gst-plugins = with gst_all; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ];
gtk_modules = [ libcanberra ]; gtk_modules = [ libcanberra ];
in in
@ -75,7 +77,7 @@ stdenv.mkDerivation {
]; ];
}; };
buildInputs = [makeWrapper]; buildInputs = [makeWrapper] ++ lib.optionals (!ffmpegSupport) gst-plugins;
buildCommand = '' buildCommand = ''
if [ ! -x "${browser}/bin/${browserName}" ] if [ ! -x "${browser}/bin/${browserName}" ]
@ -91,7 +93,8 @@ stdenv.mkDerivation {
--suffix-each GTK_PATH ':' "$gtk_modules" \ --suffix-each GTK_PATH ':' "$gtk_modules" \
--suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \ --suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \ --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
--set MOZ_OBJDIR "$(ls -d "${browser}/lib/${browserName}"*)" --set MOZ_OBJDIR "$(ls -d "${browser}/lib/${browserName}"*)" \
${lib.optionalString (!ffmpegSupport) ''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''}
${ lib.optionalString libtrick ${ lib.optionalString libtrick
'' ''

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
homepage = https://www.shrew.net/software; homepage = https://www.shrew.net/software;
description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems"; description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems";
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
license = licenses.sleepycat; license = licenses.sleepycat;
}; };
} }

View File

@ -1,12 +1,13 @@
{ stdenv, fetchurl, xorg, freetype, fontconfig, openssl, glib, nss, nspr, expat { stdenv, fetchurl, xorg, freetype, fontconfig, openssl, glib, nss, nspr, expat
, alsaLib, dbus, zlib, libxml2, libxslt, makeWrapper, xkeyboard_config, systemd , alsaLib, dbus, zlib, libxml2, libxslt, makeWrapper, xkeyboard_config, systemd
, mesa_noglu, xcbutilkeysyms }: , mesa_noglu, xcbutilkeysyms, xdg_utils }:
let let
version = "4.0.1631"; version = "4.0.1637";
rpath = stdenv.lib.makeLibraryPath [ rpath = stdenv.lib.makeLibraryPath [
xdg_utils
xorg.libXext xorg.libXext
xorg.libSM xorg.libSM
xorg.libICE xorg.libICE
@ -42,7 +43,7 @@ let
if stdenv.system == "x86_64-linux" then if stdenv.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb"; url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
sha256 = "1ip79zq7j7842sf254296wvvd236w7c764r8wgjdyxzqyvfjfd81"; sha256 = "043qcylqzkzgmlhhxnhm5wy3gvh2cyhjmxnnrrz7y183ji6rw6nd";
} }
else else
throw "HipChat is not supported on ${stdenv.system}"; throw "HipChat is not supported on ${stdenv.system}";

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Lightweight Tox client"; description = "Lightweight Tox client";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ iElectric jgeerds ]; maintainers = with maintainers; [ domenkozar jgeerds ];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -29,6 +29,6 @@ pythonPackages.buildPythonApplication rec {
homepage = https://www.mailpile.is/; homepage = https://www.mailpile.is/;
license = [ licenses.asl20 licenses.agpl3 ]; license = [ licenses.asl20 licenses.agpl3 ];
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
}; };
} }

View File

@ -56,6 +56,6 @@ stdenv.mkDerivation {
homepage = http://retroshare.sourceforge.net/; homepage = http://retroshare.sourceforge.net/;
#license = licenses.bsd2; #license = licenses.bsd2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
}; };
} }

View File

@ -49,6 +49,6 @@ stdenv.mkDerivation {
homepage = http://retroshare.sourceforge.net/; homepage = http://retroshare.sourceforge.net/;
#license = licenses.bsd2; #license = licenses.bsd2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
}; };
} }

View File

@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
homepage = http://www.gnucash.org/; homepage = http://www.gnucash.org/;
maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.iElectric ]; maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.domenkozar ];
platforms = stdenv.lib.platforms.gnu; platforms = stdenv.lib.platforms.gnu;
}; };
} }

View File

@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
homepage = http://www.gnucash.org/; homepage = http://www.gnucash.org/;
maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.iElectric ]; maintainers = [ stdenv.lib.maintainers.peti stdenv.lib.maintainers.domenkozar ];
platforms = stdenv.lib.platforms.gnu; platforms = stdenv.lib.platforms.gnu;
}; };
} }

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://jonas.nitro.dk/tig/"; homepage = "http://jonas.nitro.dk/tig/";
description = "Text-mode interface for git"; description = "Text-mode interface for git";
maintainers = with maintainers; [ garbas bjornfor iElectric qknight ]; maintainers = with maintainers; [ garbas bjornfor domenkozar qknight ];
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.unix; platforms = platforms.unix;
}; };

View File

@ -99,13 +99,13 @@ let
in { in {
subversion18 = common { subversion18 = common {
version = "1.8.15"; version = "1.8.16";
sha256 = "0b68rjy1sjd66nqcswrm1bhda3vk2ngkgs6drcanmzbcd3vs366g"; sha256 = "0imkxn25n6sbcgfldrx4z29npjprb1lxjm5fb89q4297161nx3zi";
}; };
subversion19 = common { subversion19 = common {
version = "1.9.3"; version = "1.9.4";
sha256 = "8bbf6bb125003d88ee1c22935a36b7b1ab7d957e0c8b5fbfe5cb6310b6e86ae0"; sha256 = "16cjkvvq628hbznkhqkppzs8nifcr7k43s5y4c32cgwqmgigjrqj";
}; };
} }

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "tortoisehg-${version}"; name = "tortoisehg-${version}";
version = "3.7.3"; version = "3.8.1";
src = fetchurl { src = fetchurl {
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz"; url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
sha256 = "1vahiavpkf9ib2mx8z5i6f0kh072zycazmbrc4sl94p5pvv5w1dh"; sha256 = "1v5h5yz9b360ris9p8zsdjxqvaflp9z2b6b7dfb4abn2irv3jip6";
}; };
pythonPath = with pythonPackages; [ pyqt4 mercurial qscintilla iniparse ]; pythonPath = with pythonPackages; [ pyqt4 mercurial qscintilla iniparse ];

View File

@ -46,6 +46,6 @@ python3Packages.buildPythonApplication rec {
homepage = https://code.launchpad.net/kazam; homepage = https://code.launchpad.net/kazam;
#license = licenses.bsd2; #license = licenses.bsd2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
}; };
} }

View File

@ -121,6 +121,6 @@ in stdenv.mkDerivation rec {
description = "Media center"; description = "Media center";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ iElectric titanous edwtjo ]; maintainers = with maintainers; [ domenkozar titanous edwtjo ];
}; };
} }

View File

@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
description = "A tool for creating GIF screencasts of a terminal, with key presses overlaid"; description = "A tool for creating GIF screencasts of a terminal, with key presses overlaid";
homepage = https://github.com/KeyboardFire/mkcast; homepage = https://github.com/KeyboardFire/mkcast;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ iElectric pSub ]; maintainers = with maintainers; [ domenkozar pSub ];
}; };
} }

View File

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
description = "TV application for Linux with apps and tools such as a teletext browser"; description = "TV application for Linux with apps and tools such as a teletext browser";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
homepage = https://www.kraxel.org/blog/linux/xawtv/; homepage = https://www.kraxel.org/blog/linux/xawtv/;
maintainers = with stdenv.lib.maintainers; [ iElectric ]; maintainers = with stdenv.lib.maintainers; [ domenkozar ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };

View File

@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A simple screen locker like slock"; description = "A simple screen locker like slock";
homepage = http://i3wm.org/i3lock/; homepage = http://i3wm.org/i3lock/;
maintainers = with maintainers; [ garbas malyn iElectric ]; maintainers = with maintainers; [ garbas malyn ];
license = licenses.bsd3; license = licenses.bsd3;
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A simple screen locker like slock"; description = "A simple screen locker like slock";
homepage = http://i3wm.org/i3lock/; homepage = http://i3wm.org/i3lock/;
maintainers = with maintainers; [ garbas malyn iElectric ]; maintainers = with maintainers; [ garbas malyn domenkozar ];
license = licenses.bsd3; license = licenses.bsd3;
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -38,6 +38,7 @@ lib.overrideDerivation (fetchurl ({
+ (if stripRoot then '' + (if stripRoot then ''
if [ $(ls "$unpackDir" | wc -l) != 1 ]; then if [ $(ls "$unpackDir" | wc -l) != 1 ]; then
echo "error: zip file must contain a single file or directory." echo "error: zip file must contain a single file or directory."
echo "hint: Pass stripRoot=false; to fetchzip to assume flat list of files."
exit 1 exit 1
fi fi
fn=$(cd "$unpackDir" && echo *) fn=$(cd "$unpackDir" && echo *)

View File

@ -54,11 +54,15 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
eval "$preInstall" eval "$preInstall"
export LOGNAME=root export LOGNAME=root
# otherwise build hangs when it wants to display
# the log file
export PAGER=cat
${checkinstall}/sbin/checkinstall --nodoc -y -D \ ${checkinstall}/sbin/checkinstall --nodoc -y -D \
--fstrans=${if fsTranslation then "yes" else "no"} \ --fstrans=${if fsTranslation then "yes" else "no"} \
--requires="${concatStringsSep "," debRequires}" \ --requires="${concatStringsSep "," debRequires}" \
--provides="${concatStringsSep "," debProvides}" \ --provides="${concatStringsSep "," debProvides}" \
${optionalString (src ? version) "--pkgversion=$(echo ${src.version} | tr _ -)"} \ ${if (src ? version) then "--pkgversion=$(echo ${src.version} | tr _ -)"
else "--pkgversion=0.0.0"} \
''${debMaintainer:+--maintainer="'$debMaintainer'"} \ ''${debMaintainer:+--maintainer="'$debMaintainer'"} \
''${debName:+--pkgname="'$debName'"} \ ''${debName:+--pkgname="'$debName'"} \
$checkInstallFlags \ $checkInstallFlags \

View File

@ -4,10 +4,10 @@ libffi, pam, alsaLib, luajit, bzip2, libuuid, libpthreadstubs, gdbm, libcap, mes
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "enlightenment-${version}"; name = "enlightenment-${version}";
version = "0.20.7"; version = "0.20.8";
src = fetchurl { src = fetchurl {
url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz"; url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
sha256 = "10g1mn1myspdrxl7jcjx6v52g3pmmb0k2bxjgaqdx2s851cyipkw"; sha256 = "17fi3frq4a73i0x7v7244g9m0fbjfamw0cfb4zhqs2rp1z8nq1iy";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -11,8 +11,15 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2
desktop_file_utils wrapGAppsHook ]; desktop_file_utils wrapGAppsHook ];
# Silly ./configure, it looks for dbus file from gnome-shell in the
# installation tree of the package it is configuring.
preConfigure = ''
mkdir -p "$out/share/dbus-1/interfaces"
cp "${gnome3.gnome_shell}/share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml" "$out/share/dbus-1/interfaces"
'';
# FIXME: enable for gnome3 # FIXME: enable for gnome3
configureFlags = [ "--disable-search-provider" "--disable-migration" ]; configureFlags = [ "--disable-migration" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "The GNOME Terminal Emulator"; description = "The GNOME Terminal Emulator";

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/action/show/Projects/Vino; homepage = https://wiki.gnome.org/action/show/Projects/Vino;
description = "GNOME desktop sharing server"; description = "GNOME desktop sharing server";
maintainers = with maintainers; [ lethalman iElectric ]; maintainers = with maintainers; [ lethalman domenkozar ];
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Yelp/Tools; homepage = https://wiki.gnome.org/Apps/Yelp/Tools;
description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation"; description = "Small programs that help you create, edit, manage, and publish your Mallard or DocBook documentation";
maintainers = with maintainers; [ iElectric ]; maintainers = with maintainers; [ domenkozar ];
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/action/show/Apps/Gitg; homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
description = "GNOME GUI client to view git repositories"; description = "GNOME GUI client to view git repositories";
maintainers = with maintainers; [ iElectric ]; maintainers = with maintainers; [ domenkozar ];
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "gitg-3.18.0"; name = "gitg-3.20.0";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/gitg/3.18/gitg-3.18.0.tar.xz; url = mirror://gnome/sources/gitg/3.20/gitg-3.20.0.tar.xz;
sha256 = "fa4b7b9c492f13f5f1d864af1281ea377ac8c7619c856e05f533b18989edf421"; sha256 = "1f09f61208349d003f228e51dc9709bd3426960f5585c0e38197bd02b51f3346";
}; };
} }

View File

@ -1,10 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update # Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: { fetchurl: {
name = "libgit2-glib-0.23.6"; name = "libgit2-glib-0.24.0";
src = fetchurl { src = fetchurl {
url = mirror://gnome/sources/libgit2-glib/0.23/libgit2-glib-0.23.6.tar.xz; url = mirror://gnome/sources/libgit2-glib/0.24/libgit2-glib-0.24.0.tar.xz;
sha256 = "5c8d6b5cb81ab64b96cb0c52ef37463b6d8998a40ce77a08eda9db66fb781144"; sha256 = "d616c268821c28ff8dc1a6419dbf8555fa48e31dc6509c10f5151be7690f4845";
}; };
} }

View File

@ -1,5 +1,11 @@
{ lib, stdenv, buildEnv, haskell, nodejs, fetchurl, fetchpatch, makeWrapper }: { lib, stdenv, buildEnv, haskell, nodejs, fetchurl, fetchpatch, makeWrapper }:
# To update:
# 1) Update versions in ./update-elm.rb and run it.
# 2) Checkout elm-reactor and run `elm-package install -y` inside.
# 3) Run ./elm2nix.rb in elm-reactor's directory.
# 4) Move the resulting 'package.nix' to 'packages/elm-reactor-elm.nix'.
let let
makeElmStuff = deps: makeElmStuff = deps:
let json = builtins.toJSON (lib.mapAttrs (name: info: info.version) deps); let json = builtins.toJSON (lib.mapAttrs (name: info: info.version) deps);
@ -61,9 +67,6 @@ let
in elmPkgs // { in elmPkgs // {
inherit elmPkgs; inherit elmPkgs;
elmVersion = elmRelease.version; elmVersion = elmRelease.version;
# To unbreak elm-compiler
language-ecmascript = self.language-ecmascript_0_17_0_2;
}; };
}; };
in hsPkgs.elmPkgs // { in hsPkgs.elmPkgs // {

View File

@ -5,18 +5,18 @@
}; };
"evancz/elm-markdown" = { "evancz/elm-markdown" = {
version = "3.0.0"; version = "3.0.0";
sha256 = "1wlr8sgnyq6qgh5rcjy7imfmpqxrxgmmqcfx6p541fs70yiqya12"; sha256 = "0r3hcim4mpn46ahv1q6sjp6i2viyp7jik6i71xgwmvfb9drns2p6";
}; };
"elm-lang/html" = { "elm-lang/html" = {
version = "1.0.0"; version = "1.0.0";
sha256 = "16cr01yxkpkmgbgclp2p80nd62a6fjw3qipzjsgksrhwv9vv4gm4"; sha256 = "16cr01yxkpkmgbgclp2p80nd62a6fjw3qipzjsgksrhwv9vv4gm4";
}; };
"elm-lang/core" = {
version = "4.0.0";
sha256 = "04qgzgv90qyhjk55yw4szy50h2dqdlm0a2padbgn02yf4bb1b4nw";
};
"elm-lang/svg" = { "elm-lang/svg" = {
version = "1.0.0"; version = "1.0.0";
sha256 = "0c29y6c58x2sq1bl29z1hr5gi2rlza8clk7ssgzmsf4xbvcczbjx"; sha256 = "0c29y6c58x2sq1bl29z1hr5gi2rlza8clk7ssgzmsf4xbvcczbjx";
}; };
"elm-lang/core" = {
version = "4.0.0";
sha256 = "04qgzgv90qyhjk55yw4szy50h2dqdlm0a2padbgn02yf4bb1b4nw";
};
} }

View File

@ -1,12 +1,12 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
# Take those from https://github.com/elm-lang/elm-platform/blob/master/installers/BuildFromSource.hs # Take those from https://github.com/elm-lang/elm-platform/blob/master/installers/BuildFromSource.hs
$elm_version = "0.16.0" $elm_version = "0.17"
$elm_packages = { "elm-compiler" => "0.16", $elm_packages = { "elm-compiler" => "0.17",
"elm-package" => "0.16", "elm-package" => "0.17",
"elm-make" => "0.16", "elm-make" => "0.17",
"elm-reactor" => "0.16", "elm-reactor" => "0.17",
"elm-repl" => "0.16" "elm-repl" => "0.17"
} }
for pkg, ver in $elm_packages for pkg, ver in $elm_packages

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://downloads.haskell.org/~ghc/8.0.1/${name}-src.tar.xz"; url = "https://downloads.haskell.org/~ghc/8.0.1/${name}-src.tar.xz";
sha256 = "0riyry246a6km4mw1q9iiw6p75ww2f8s81i34g151zwwdygk7qpf"; sha256 = "1lniqy29djhjkddnailpaqhlqh4ld2mqvb1fxgxw1qqjhz6j1ywh";
}; };
patches = [ patches = [

View File

@ -1,11 +1,12 @@
{ stdenv, pixie, fetchgit }: { stdenv, pixie, fetchFromGitHub }:
stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "dust-0-91"; name = "dust-0-91";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/pixie-lang/dust.git"; owner = "pixie-lang";
repo = "dust";
rev = "efe469661e749a71e86858fd006f61464810575a"; rev = "efe469661e749a71e86858fd006f61464810575a";
sha256 = "0krh7ynald3gqv9f17a4kfx7sx8i31l6j1fhd5k8b6m8cid7f9c1"; sha256 = "09n57b6haxwask9m8vimv42ikczf7lgfc7m9izjrcqgs0padvfzc";
}; };
buildInputs = [ pixie ]; buildInputs = [ pixie ];
patches = [ ./make-paths-configurable.patch ]; patches = [ ./make-paths-configurable.patch ];
@ -24,4 +25,10 @@ stdenv.mkDerivation {
cp -a src/ run.pxi $out/share/dust cp -a src/ run.pxi $out/share/dust
mv dust $out/bin/dust mv dust $out/bin/dust
''; '';
meta = {
description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
homepage = src.meta.homepage;
license = stdenv.lib.licenses.lgpl3;
};
} }

View File

@ -118,7 +118,7 @@ let
description = "Fast, compliant alternative implementation of the Python language (2.7.8)"; description = "Fast, compliant alternative implementation of the Python language (2.7.8)";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ iElectric ]; maintainers = with maintainers; [ domenkozar ];
}; };
}; };

View File

@ -119,7 +119,7 @@ let
''; '';
license = stdenv.lib.licenses.psfl; license = stdenv.lib.licenses.psfl;
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ chaoflow iElectric ]; maintainers = with stdenv.lib.maintainers; [ chaoflow domenkozar ];
# If you want to use Python 2.6, remove "broken = true;" at your own # If you want to use Python 2.6, remove "broken = true;" at your own
# risk. Python 2.6 has known security vulnerabilities is not receiving # risk. Python 2.6 has known security vulnerabilities is not receiving
# security updates as of October 2013. # security updates as of October 2013.

View File

@ -173,7 +173,7 @@ let
''; '';
license = stdenv.lib.licenses.psfl; license = stdenv.lib.licenses.psfl;
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ chaoflow iElectric ]; maintainers = with stdenv.lib.maintainers; [ chaoflow domenkozar ];
}; };
}; };

View File

@ -127,6 +127,6 @@ stdenv.mkDerivation {
''; '';
license = licenses.psfl; license = licenses.psfl;
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ chaoflow iElectric cstrahan ]; maintainers = with maintainers; [ chaoflow domenkozar cstrahan ];
}; };
} }

View File

@ -127,6 +127,6 @@ stdenv.mkDerivation {
''; '';
license = licenses.psfl; license = licenses.psfl;
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ chaoflow iElectric cstrahan ]; maintainers = with maintainers; [ chaoflow domenkozar cstrahan ];
}; };
} }

View File

@ -1,77 +0,0 @@
Found at https://hg.mozilla.org/releases/mozilla-esr31/rev/2f3e78643f5c on 2015-07-27. Modified: replaced path parser/expat/lib/xmlparse.c with lib/xmlparse.c.
diff --git a/lib/xmlparse.c b/lib/xmlparse.c
--- a/lib/xmlparse.c
+++ b/lib/xmlparse.c
@@ -1646,29 +1646,40 @@ XML_ParseBuffer(XML_Parser parser, int l
XmlUpdatePosition(encoding, positionPtr, bufferPtr, &position);
positionPtr = bufferPtr;
return result;
}
void * XMLCALL
XML_GetBuffer(XML_Parser parser, int len)
{
+/* BEGIN MOZILLA CHANGE (sanity check len) */
+ if (len < 0) {
+ errorCode = XML_ERROR_NO_MEMORY;
+ return NULL;
+ }
+/* END MOZILLA CHANGE */
switch (ps_parsing) {
case XML_SUSPENDED:
errorCode = XML_ERROR_SUSPENDED;
return NULL;
case XML_FINISHED:
errorCode = XML_ERROR_FINISHED;
return NULL;
default: ;
}
if (len > bufferLim - bufferEnd) {
- /* FIXME avoid integer overflow */
int neededSize = len + (int)(bufferEnd - bufferPtr);
+/* BEGIN MOZILLA CHANGE (sanity check neededSize) */
+ if (neededSize < 0) {
+ errorCode = XML_ERROR_NO_MEMORY;
+ return NULL;
+ }
+/* END MOZILLA CHANGE */
#ifdef XML_CONTEXT_BYTES
int keep = (int)(bufferPtr - buffer);
if (keep > XML_CONTEXT_BYTES)
keep = XML_CONTEXT_BYTES;
neededSize += keep;
#endif /* defined XML_CONTEXT_BYTES */
if (neededSize <= bufferLim - buffer) {
@@ -1687,17 +1698,25 @@ XML_GetBuffer(XML_Parser parser, int len
}
else {
char *newBuf;
int bufferSize = (int)(bufferLim - bufferPtr);
if (bufferSize == 0)
bufferSize = INIT_BUFFER_SIZE;
do {
bufferSize *= 2;
- } while (bufferSize < neededSize);
+/* BEGIN MOZILLA CHANGE (prevent infinite loop on overflow) */
+ } while (bufferSize < neededSize && bufferSize > 0);
+/* END MOZILLA CHANGE */
+/* BEGIN MOZILLA CHANGE (sanity check bufferSize) */
+ if (bufferSize <= 0) {
+ errorCode = XML_ERROR_NO_MEMORY;
+ return NULL;
+ }
+/* END MOZILLA CHANGE */
newBuf = (char *)MALLOC(bufferSize);
if (newBuf == 0) {
errorCode = XML_ERROR_NO_MEMORY;
return NULL;
}
bufferLim = newBuf + bufferSize;
#ifdef XML_CONTEXT_BYTES
if (bufferPtr) {

View File

@ -1,15 +1,13 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "expat-2.1.0"; name = "expat-2.1.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/expat/${name}.tar.gz"; url = "mirror://sourceforge/expat/${name}.tar.bz2";
sha256 = "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2"; sha256 = "0ryyjgvy7jq0qb7a9mhc1giy3bzn56aiwrs8dpydqngplbjq9xdg";
}; };
patches = [ ./CVE-2015-1283.patch ];
outputs = [ "dev" "out" ]; # TODO: fix referrers outputs = [ "dev" "out" ]; # TODO: fix referrers
outputBin = "dev"; outputBin = "dev";
@ -17,6 +15,8 @@ stdenv.mkDerivation rec {
outputMan = "dev"; # tiny page for a dev tool outputMan = "dev"; # tiny page for a dev tool
doCheck = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.libexpat.org/; homepage = http://www.libexpat.org/;
description = "A stream-oriented XML parser library written in C"; description = "A stream-oriented XML parser library written in C";

View File

@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
--replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2" --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2"
substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \ substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \
--replace buffio.h tidybuffio.h --replace buffio.h tidybuffio.h
>>>>>>> master
''; '';
cmakeFlags = [ cmakeFlags = [

View File

@ -164,7 +164,7 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "doCheck"] //
platforms = python.meta.platforms; platforms = python.meta.platforms;
} // meta // { } // meta // {
# add extra maintainer(s) to every package # add extra maintainer(s) to every package
maintainers = (meta.maintainers or []) ++ [ chaoflow iElectric ]; maintainers = (meta.maintainers or []) ++ [ chaoflow domenkozar ];
# a marker for release utilities to discover python packages # a marker for release utilities to discover python packages
isBuildPythonPackage = python.meta.platforms; isBuildPythonPackage = python.meta.platforms;
}; };

View File

@ -7,7 +7,7 @@ with stdenv.lib;
let let
baseVersion = "3.6"; baseVersion = "3.6";
revision = "0"; revision = "1";
version = "${baseVersion}.${revision}"; version = "${baseVersion}.${revision}";
in in
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz"; url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
sha256 = "1v0x5asx9fj331jshial97gk7bwlb1a0k05h4zr22gh5cd4i0c5i"; sha256 = "1qjxy5l76dij3wqakd66prn1i0k1gd3gi4cv38bivk9j0gw12dp5";
}; };
buildInputs = [ makeWrapper qtbase qtscript qtquickcontrols qtdeclarative ]; buildInputs = [ makeWrapper qtbase qtscript qtquickcontrols qtdeclarative ];

View File

@ -0,0 +1,17 @@
source "$stdenv"/setup
cp --recursive "$src" ./
chmod --recursive u=rwx ./"$(basename "$src")"
cd ./"$(basename "$src")"
cmake ./
make
mkdir --parents "$out"/bin
cp ./TraceFileGen "$out"/bin
mkdir --parents "$out"/share/doc/"$name"/html
cp --recursive ./Documentation/html/* "$out/share/doc/$name/html/"

View File

@ -0,0 +1,25 @@
{ stdenv, fetchgit, cmake }:
stdenv.mkDerivation rec {
name = "tracefilegen-2015-11-14";
src = fetchgit {
url = "https://github.com/GarCoSim/TraceFileGen.git";
rev = "4acf75b142683cc475c6b1c841a221db0753b404";
sha256 = "0mh661l9d1lczv0mr2y9swzqqlwikyqiv1hdd71r9v8cvm54y5ij";
};
buildInputs = [ cmake ];
builder = ./builder.sh;
meta = with stdenv.lib; {
description = "Automatically generate all types of basic memory management operations and write into trace files";
homepage = "https://github.com/GarCoSim";
maintainers = [ maintainers.cmcdragonkai ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "tracefilesim-2015-11-07";
src = fetchgit {
url = "https://github.com/GarCoSim/TraceFileSim.git";
rev = "368aa6b1d6560e7ecbd16fca47000c8f528f3da2";
sha256 = "156m92k38ap4bzidbr8dzl065rni8lrib71ih88myk9z5y1x5nxm";
};
installPhase = ''
mkdir --parents "$out/bin"
cp ./traceFileSim "$out/bin"
'';
meta = with stdenv.lib; {
description = "Ease the analysis of existing memory management techniques, as well as the prototyping of new memory management techniques.";
homepage = "https://github.com/GarCoSim";
maintainers = [ maintainers.cmcdragonkai ];
licenses = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -17,7 +17,11 @@ stdenv.mkDerivation rec {
''; '';
buildInputs = [ cmake libpfm zlib python pkgconfig pythonPackages.pexpect which procps gdb ]; buildInputs = [ cmake libpfm zlib python pkgconfig pythonPackages.pexpect which procps gdb ];
cmakeFlags = "-DCMAKE_C_FLAGS_RELEASE:STRING= -DCMAKE_CXX_FLAGS_RELEASE:STRING="; cmakeFlags = [
"-DCMAKE_C_FLAGS_RELEASE:STRING="
"-DCMAKE_CXX_FLAGS_RELEASE:STRING="
"-Ddisable32bit=ON"
];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -8,15 +8,15 @@
{ stdenv, fetchurl, unzip, glib, libSM, libICE, gtk, libXext, libXft { stdenv, fetchurl, unzip, glib, libSM, libICE, gtk, libXext, libXft
, fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor , fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor
, freetype, libXinerama , freetype, libXinerama, libxcb, zlib, pciutils
, makeDesktopItem , makeDesktopItem, xkeyboardconfig
}: }:
let let
libPath = stdenv.lib.makeLibraryPath [ libPath = stdenv.lib.makeLibraryPath [
glib libSM libICE gtk libXext libXft fontconfig libXrender libXfixes libX11 glib libSM libICE gtk libXext libXft fontconfig libXrender libXfixes libX11
libXi libXrandr libXcursor freetype libXinerama libXi libXrandr libXcursor freetype libXinerama libxcb zlib stdenv.cc.cc.lib
]; ];
in in
@ -25,21 +25,21 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "saleae-logic"; pname = "saleae-logic";
version = "1.1.15"; version = "1.2.9";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = src =
if stdenv.system == "i686-linux" then if stdenv.system == "i686-linux" then
fetchurl { fetchurl {
name = "saleae-logic-${version}-32bit.zip"; name = "saleae-logic-${version}-32bit.zip";
url = "http://downloads.saleae.com/Logic%20${version}%20(32-bit).zip"; url = "http://downloads.saleae.com/logic/${version}/Logic%20${version}%20(32-bit).zip";
sha256 = "0h13my4xgv8v8l12shimhhn54nn0dldbxz1gpbx92ysd8q8x1q79"; sha256 = "0000004xgv8v8l12shimhhn54nn0dldbxz1gpbx92ysd8q8x1q79";
} }
else if stdenv.system == "x86_64-linux" then else if stdenv.system == "x86_64-linux" then
fetchurl { fetchurl {
name = "saleae-logic-${version}-64bit.zip"; name = "saleae-logic-${version}-64bit.zip";
url = "http://downloads.saleae.com/Logic%20${version}%20(64-bit).zip"; url = "http://downloads.saleae.com/logic/${version}/Logic%20${version}%20(64-bit).zip";
sha256 = "1phnjsmaj1gflx7shh8wfrd8dnhn43s3v7bck41h8yj4nd4ax69z"; sha256 = "1d4hmp756ysfk5i1ys4mlkd1czbdw0zqznkzx08pyqk93zc7b16s";
} }
else else
abort "Saleae Logic software requires i686-linux or x86_64-linux"; abort "Saleae Logic software requires i686-linux or x86_64-linux";
@ -74,6 +74,8 @@ stdenv.mkDerivation rec {
cat > "$out/bin/saleae-logic" << EOF cat > "$out/bin/saleae-logic" << EOF
#!${stdenv.shell} #!${stdenv.shell}
export LD_PRELOAD="$out/lib/preload.so" export LD_PRELOAD="$out/lib/preload.so"
export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"
export PATH="${pciutils}/bin:\$PATH"
exec "$out/Logic" "\$@" exec "$out/Logic" "\$@"
EOF EOF
chmod a+x "$out"/bin/saleae-logic chmod a+x "$out"/bin/saleae-logic

View File

@ -2,17 +2,20 @@
* LD_PRELOAD trick to make Saleae Logic work from a read-only installation * LD_PRELOAD trick to make Saleae Logic work from a read-only installation
* directory. * directory.
* *
* Saleae Logic tries to write to the ./Settings/settings.xml file, relative to * Saleae Logic tries to write to a few directories inside its installation
* its installation directory. Because the nix store is read-only, we have to * directory. Because the Nix store is read-only, we have to redirect access to
* redirect access to this file somewhere else. Here's the map: * this file somewhere else. Here's the map:
* *
* $out/Settings/settings.xml => $HOME/.saleae-logic-settings.xml * $out/Settings/ => $HOME/.saleae-logic/Settings/
* $out/Databases/ => $HOME/.saleae-logic/Databases/
* $out/Errors/ => $HOME/.saleae-logic/Errors/
* $out/Calibration/ => $HOME/.saleae-logic/Calibration/
* *
* This also makes the software multi-user aware :-) * This also makes the software multi-user aware :-)
* *
* NOTE: The next Logic version is supposed to have command line parameters for * NOTE: AFAIK (Bjørn Forsman), Logic version 1.2+ was supposed to have a
* configuring where the Settings/ directory is located, but until then we have * command line parameter for redirecting these write operations, but
* to use this. * apparently that feature got postponed.
* *
* Usage: * Usage:
* gcc -shared -fPIC -DOUT="$out" preload.c -o preload.so -ldl * gcc -shared -fPIC -DOUT="$out" preload.c -o preload.so -ldl
@ -33,30 +36,65 @@
#include <limits.h> #include <limits.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
#include <errno.h>
#ifndef OUT #ifndef OUT
#error Missing OUT define - path to the installation directory. #error Missing OUT define - path to the installation directory.
#endif #endif
/*
* TODO: How to properly wrap "open", which is declared as a variadic function
* in glibc? The man page lists these signatures:
*
* int open(const char *pathname, int flags);
* int open(const char *pathname, int flags, mode_t mode);
*
* But using either signature in this code cause a compile error, because
* glibc has declared the function as "int open(const char *, int, ...)".
* Same thing with "openat".
*
* For now we discard the variadic args. It seems to work.
*
* Relevant:
* http://stackoverflow.com/questions/28462523/how-to-wrap-ioctlint-d-unsigned-long-request-using-ld-preload
*/
typedef FILE *(*fopen_func_t)(const char *path, const char *mode); typedef FILE *(*fopen_func_t)(const char *path, const char *mode);
typedef FILE *(*fopen64_func_t)(const char *path, const char *mode); typedef FILE *(*fopen64_func_t)(const char *path, const char *mode);
typedef int (*open_func_t)(const char *pathname, int flags, ...);
typedef int (*open64_func_t)(const char *pathname, int flags, ...);
typedef int (*openat_func_t)(int dirfd, const char *pathname, int flags, ...);
typedef int (*openat64_func_t)(int dirfd, const char *pathname, int flags, ...);
typedef int (*xstat_func_t)(int vers, const char *pathname, struct stat *buf);
typedef int (*xstat64_func_t)(int vers, const char *pathname, struct stat64 *buf);
typedef int (*access_func_t)(const char *pathname, int mode);
typedef int (*faccessat_func_t)(int dirfd, const char *pathname, int mode, int flags);
typedef int (*unlink_func_t)(const char *pathname);
/* /*
* Redirect $out/Settings/settings.xml => $HOME/.saleae-logic-settings.xml. No * Redirect $out/{Settings,Databases,Errors,Calibration}/ => $HOME/.saleae-logic/.
* other paths are changed. Path is truncated if bigger than PATH_MAX. * Path is truncated if bigger than PATH_MAX.
* *
* @param pathname Original file path. * @param pathname Original file path.
* @param buffer Pointer to a buffer of size PATH_MAX bytes that this function * @param buffer Pointer to a buffer of size PATH_MAX bytes that this function
* will write the new redirected path to (if needed). * will write the new redirected path to (if needed).
* *
* @return Pointer to the resulting path. It will either be equal to the * @return Pointer to the resulting path. It will either be equal to the
* pathname or buffer argument. * pathname (no redirect) or buffer argument (was redirected).
*/ */
static const char *redirect(const char *pathname, char *buffer) static const char *redirect(const char *pathname, char *buffer)
{ {
const char *homepath; const char *homepath;
const char *new_path; const char *new_path;
static char have_warned; static char have_warned;
const char *remainder;
static char have_initialized;
static size_t out_strlen;
static size_t settings_strlen;
static size_t databases_strlen;
static size_t errors_strlen;
static size_t calibration_strlen;
int ret;
int i;
homepath = getenv("HOME"); homepath = getenv("HOME");
if (!homepath) { if (!homepath) {
@ -67,9 +105,59 @@ static const char *redirect(const char *pathname, char *buffer)
} }
} }
if (!have_initialized) {
/*
* The directories that Saleae Logic expects to find.
* The first element is intentionally empty (create base dir).
*/
char *dirs[] = {"", "/Settings", "/Databases", "/Errors", "/Calibration"};
char old_settings_path[PATH_MAX];
access_func_t orig_access;
out_strlen = strlen(OUT);
settings_strlen = out_strlen + strlen("/Settings");
databases_strlen = out_strlen + strlen("/Databases");
errors_strlen = out_strlen + strlen("/Errors");
calibration_strlen = out_strlen + strlen("/Calibration");
for (i = 0; i < sizeof dirs / sizeof dirs[0]; i++) {
snprintf(buffer, PATH_MAX, "%s/.saleae-logic%s", homepath, dirs[i]);
buffer[PATH_MAX-1] = '\0';
ret = mkdir(buffer, 0755);
if (0 != ret && errno != EEXIST) {
fprintf(stderr, "ERROR: Failed to create directory \"%s\": %s\n",
buffer, strerror(errno));
return NULL;
}
}
/*
* Automatic migration of the settings file:
* ~/.saleae-logic-settings.xml => ~/.saleae-logic/Settings/settings.xml
*/
snprintf(old_settings_path, PATH_MAX, "%s/.saleae-logic-settings.xml", homepath);
old_settings_path[PATH_MAX-1] = '\0';
orig_access = (access_func_t)dlsym(RTLD_NEXT, "access");
if (orig_access(old_settings_path, F_OK) == 0) {
snprintf(buffer, PATH_MAX, "%s/.saleae-logic/Settings/settings.xml", homepath);
buffer[PATH_MAX-1] = '\0';
ret = rename(old_settings_path, buffer);
if (ret != 0) {
fprintf(stderr, "WARN: Failed to move %s to %s",
old_settings_path, buffer);
}
}
have_initialized = 1;
}
new_path = pathname; new_path = pathname;
if (strcmp(OUT "/Settings/settings.xml", pathname) == 0) { remainder = pathname + out_strlen;
snprintf(buffer, PATH_MAX, "%s/.saleae-logic-settings.xml", homepath);
if ((strncmp(OUT "/Settings", pathname, settings_strlen) == 0) ||
(strncmp(OUT "/Databases", pathname, databases_strlen) == 0) ||
(strncmp(OUT "/Errors", pathname, errors_strlen) == 0) ||
(strncmp(OUT "/Calibration", pathname, calibration_strlen) == 0)) {
snprintf(buffer, PATH_MAX, "%s/.saleae-logic%s", homepath, remainder);
buffer[PATH_MAX-1] = '\0'; buffer[PATH_MAX-1] = '\0';
new_path = buffer; new_path = buffer;
} }
@ -79,36 +167,175 @@ static const char *redirect(const char *pathname, char *buffer)
FILE *fopen(const char *pathname, const char *mode) FILE *fopen(const char *pathname, const char *mode)
{ {
FILE *fp;
const char *path; const char *path;
char buffer[PATH_MAX]; char buffer[PATH_MAX];
fopen_func_t orig_fopen; fopen_func_t orig_fopen;
orig_fopen = (fopen_func_t)dlsym(RTLD_NEXT, "fopen"); orig_fopen = (fopen_func_t)dlsym(RTLD_NEXT, "fopen");
path = redirect(pathname, buffer); path = redirect(pathname, buffer);
fp = orig_fopen(path, mode);
if (path != pathname && getenv("PRELOAD_DEBUG")) { if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: fopen(\"%s\", \"%s\") => \"%s\": fp=%p\n", pathname, mode, path, fp); fprintf(stderr, "preload_debug: fopen(\"%s\", \"%s\") => \"%s\"\n", pathname, mode, path);
} }
return fp; return orig_fopen(path, mode);
} }
FILE *fopen64(const char *pathname, const char *mode) FILE *fopen64(const char *pathname, const char *mode)
{ {
FILE *fp;
const char *path; const char *path;
char buffer[PATH_MAX]; char buffer[PATH_MAX];
fopen64_func_t orig_fopen64; fopen64_func_t orig_fopen64;
orig_fopen64 = (fopen64_func_t)dlsym(RTLD_NEXT, "fopen64"); orig_fopen64 = (fopen64_func_t)dlsym(RTLD_NEXT, "fopen64");
path = redirect(pathname, buffer); path = redirect(pathname, buffer);
fp = orig_fopen64(path, mode);
if (path != pathname && getenv("PRELOAD_DEBUG")) { if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: fopen64(\"%s\", \"%s\") => \"%s\": fp=%p\n", pathname, mode, path, fp); fprintf(stderr, "preload_debug: fopen64(\"%s\", \"%s\") => \"%s\"\n", pathname, mode, path);
} }
return fp; return orig_fopen64(path, mode);
}
int open(const char *pathname, int flags, ...)
{
const char *path;
char buffer[PATH_MAX];
open_func_t orig_open;
orig_open = (open_func_t)dlsym(RTLD_NEXT, "open");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: open(\"%s\", ...) => \"%s\"\n", pathname, path);
}
return orig_open(path, flags);
}
int open64(const char *pathname, int flags, ...)
{
const char *path;
char buffer[PATH_MAX];
open64_func_t orig_open64;
orig_open64 = (open64_func_t)dlsym(RTLD_NEXT, "open64");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: open64(\"%s\", ...) => \"%s\"\n", pathname, path);
}
return orig_open64(path, flags);
}
int openat(int dirfd, const char *pathname, int flags, ...)
{
const char *path;
char buffer[PATH_MAX];
openat_func_t orig_openat;
orig_openat = (openat_func_t)dlsym(RTLD_NEXT, "openat");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: openat(%d, \"%s\", %#x) => \"%s\"\n", dirfd, pathname, flags, path);
}
return orig_openat(dirfd, path, flags);
}
int openat64(int dirfd, const char *pathname, int flags, ...)
{
const char *path;
char buffer[PATH_MAX];
openat64_func_t orig_openat64;
orig_openat64 = (openat64_func_t)dlsym(RTLD_NEXT, "openat64");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: openat64(%d, \"%s\", %#x) => \"%s\"\n", dirfd, pathname, flags, path);
}
return orig_openat64(dirfd, path, flags);
}
/*
* Notes about "stat".
*
* The stat function is special, at least in glibc, in that it cannot be
* directly overridden by LD_PRELOAD, due to it being inline wrapper around
* __xstat. The __xstat functions take one extra parameter, a version number,
* to indicate what "struct stat" should look like. This trick allows changing
* the contents of mode_t without changing the shared library major number. See
* sys/stat.h header for more info.
*/
int __xstat(int vers, const char *pathname, struct stat *buf)
{
const char *path;
char buffer[PATH_MAX];
xstat_func_t orig_xstat;
orig_xstat = (xstat_func_t)dlsym(RTLD_NEXT, "__xstat");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: (__x)stat(\"%s\", ...) => \"%s\"\n", pathname, path);
}
return orig_xstat(vers, path, buf);
}
int __xstat64(int vers, const char *pathname, struct stat64 *buf)
{
const char *path;
char buffer[PATH_MAX];
xstat64_func_t orig_xstat64;
orig_xstat64 = (xstat64_func_t)dlsym(RTLD_NEXT, "__xstat64");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: (__x)stat64(\"%s\", ...) => \"%s\"\n", pathname, path);
}
return orig_xstat64(vers, path, buf);
}
int access(const char *pathname, int mode)
{
const char *path;
char buffer[PATH_MAX];
access_func_t orig_access;
orig_access = (access_func_t)dlsym(RTLD_NEXT, "access");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: access(\"%s\", ...) => \"%s\"\n", pathname, path);
}
return orig_access(path, mode);
}
int faccessat(int dirfd, const char *pathname, int mode, int flags)
{
const char *path;
char buffer[PATH_MAX];
faccessat_func_t orig_faccessat;
orig_faccessat = (faccessat_func_t)dlsym(RTLD_NEXT, "faccessat");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: faccessat(\"%s\", ...) => \"%s\"\n", pathname, path);
}
return orig_faccessat(dirfd, path, mode, flags);
}
int unlink(const char *pathname)
{
const char *path;
char buffer[PATH_MAX];
unlink_func_t orig_unlink;
orig_unlink = (unlink_func_t)dlsym(RTLD_NEXT, "unlink");
path = redirect(pathname, buffer);
if (path != pathname && getenv("PRELOAD_DEBUG")) {
fprintf(stderr, "preload_debug: unlink(\"%s\") => \"%s\"\n", pathname, path);
}
return orig_unlink(path);
} }

View File

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://sslmate.com; homepage = https://sslmate.com;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
description = "Easy to buy, deploy, and manage your SSL certs"; description = "Easy to buy, deploy, and manage your SSL certs";
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.mit; # X11 license = licenses.mit; # X11

View File

@ -4,9 +4,9 @@
}@args: }@args:
import ./nodejs.nix (args // rec { import ./nodejs.nix (args // rec {
version = "6.1.0"; version = "6.2.0";
src = fetchurl { src = fetchurl {
url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.gz"; url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.gz";
sha256 = "1hsbmr3yc6zmyhz058zfxg77dzjhk94g1k0y65p6xq8ihq5yyrwy"; sha256 = "1fcldsnkk6px5fms405j9z2yv6mmscin5x7sma8bdavqgn283zgw";
}; };
}) })

View File

@ -48,6 +48,6 @@ stdenv.mkDerivation {
description = "next-generation RTS that takes the genre to a planetary scale"; description = "next-generation RTS that takes the genre to a planetary scale";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
}; };
} }

View File

@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
homepage = http://springrts.com/; homepage = http://springrts.com/;
description = "A powerful real-time strategy (RTS) game engine"; description = "A powerful real-time strategy (RTS) game engine";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.phreedom maintainers.qknight maintainers.iElectric ]; maintainers = [ maintainers.phreedom maintainers.qknight maintainers.domenkozar ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
repositories.git = git://github.com/springlobby/springlobby.git; repositories.git = git://github.com/springlobby/springlobby.git;
description = "Cross-platform lobby client for the Spring RTS project"; description = "Cross-platform lobby client for the Spring RTS project";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ phreedom qknight iElectric ]; maintainers = with maintainers; [ phreedom qknight domenkozar ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -0,0 +1,38 @@
{ stdenv, fetchFromGitHub, makeWrapper, cmake, llvmPackages, kernel,
flex, bison, elfutils, python, pythonPackages, luajit, netperf, iperf }:
stdenv.mkDerivation rec {
version = "git-2016-05-18";
name = "bcc-${version}";
src = fetchFromGitHub {
owner = "iovisor";
repo = "bcc";
rev = "c7f317deb577d59007411e978ac21a2ea376358f";
sha256 = "0jv4smy615kp7623pd61s46m52jjp6m47w0fjgr7s22qamra3g98";
};
buildInputs = [ makeWrapper cmake llvmPackages.llvm llvmPackages.clang-unwrapped kernel
flex bison elfutils python pythonPackages.netaddr luajit netperf iperf
];
cmakeFlags="-DBCC_KERNEL_MODULES_DIR=${kernel.dev}/lib/modules -DBCC_KERNEL_HAS_SOURCE_DIR=1";
postInstall = ''
mkdir -p $out/bin
for f in $out/share/bcc/tools\/*; do
ln -s $f $out/bin/$(basename $f)
wrapProgram $f \
--prefix LD_LIBRARY_PATH : $out/lib \
--prefix PYTHONPATH : $out/lib/python2.7/site-packages \
--prefix PYTHONPATH : :${pythonPackages.netaddr}/lib/${python.libPrefix}/site-packages
done
'';
meta = with stdenv.lib; {
description = "Dynamic Tracing Tools for Linux";
homepage = "https://iovisor.github.io/bcc/";
license = licenses.asl20;
maintainers = with maintainers; [ ragge ];
};
}

View File

@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
RTE_KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; RTE_KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
RTE_TARGET = "x86_64-native-linuxapp-gcc"; RTE_TARGET = "x86_64-native-linuxapp-gcc";
# we need ssse3 instructions to build
NIX_CFLAGS_COMPILE = [ "-march=core2" ];
enableParallelBuilding = true; enableParallelBuilding = true;
outputs = [ "out" "examples" ]; outputs = [ "out" "examples" ];
@ -36,6 +39,6 @@ stdenv.mkDerivation rec {
homepage = http://dpdk.org/; homepage = http://dpdk.org/;
license = with licenses; [ lgpl21 gpl2 bsd2 ]; license = with licenses; [ lgpl21 gpl2 bsd2 ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
}; };
} }

View File

@ -1,13 +1,15 @@
{ stdenv, fetchurl, bison, flex, which, perl }: { stdenv, fetchurl, bison, flex, which, perl }:
let version = "3.3.5"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lm-sensors-${version}"; name = "lm-sensors-${version}";
version = "3.4.0"; # don't forget to tweak fedoraproject mirror URL hash
src = fetchurl { src = fetchurl {
url = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${version}.tar.bz2"; urls = [
sha256 = "1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx"; "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${version}.tar.bz2"
"http://pkgs.fedoraproject.org/repo/pkgs/lm_sensors/lm_sensors-${version}.tar.bz2/c03675ae9d43d60322110c679416901a/lm_sensors-${version}.tar.bz2"
];
sha256 = "07q6811l4pp0f7pxr8bk3s97ippb84mx5qdg7v92s9hs10b90mz0";
}; };
buildInputs = [ bison flex which perl ]; buildInputs = [ bison flex which perl ];

View File

@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
homepage = https://fedoraproject.org/wiki/Features/numad; homepage = https://fedoraproject.org/wiki/Features/numad;
license = licenses.lgpl21; license = licenses.lgpl21;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ iElectric ]; maintainers = with maintainers; [ domenkozar ];
}; };
} }

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
description = "A kernel module to create V4L2 loopback devices"; description = "A kernel module to create V4L2 loopback devices";
homepage = https://github.com/umlaeute/v4l2loopback; homepage = https://github.com/umlaeute/v4l2loopback;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.iElectric ]; maintainers = [ maintainers.domenkozar ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, goPackages, ruby, bundlerEnv }: { stdenv, go16Packages, ruby, bundlerEnv, zip }:
let let
# `sass` et al # `sass` et al
@ -11,11 +11,11 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "consul-ui-${goPackages.consul.rev}"; name = "consul-ui-${go16Packages.consul.rev}";
src = goPackages.consul.src; src = go16Packages.consul.src;
buildInputs = [ ruby gems ]; buildInputs = [ ruby gems zip ];
buildPhase = '' buildPhase = ''
# Build ui static files # Build ui static files
@ -26,7 +26,7 @@ stdenv.mkDerivation {
installPhase = '' installPhase = ''
# Install ui static files # Install ui static files
mkdir -p $out mkdir -p $out
mv dist/* $out mv ../pkg/web_ui/* $out
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
moveToOutput bin/bind9-config $dev moveToOutput bin/bind9-config $dev
moveToOutput bin/isc-config.sh $dev moveToOutput bin/isc-config.sh $dev
for f in $out/lib/*.la; do
sed -i $f -e 's|-L${openssl.dev}|-L${openssl.out}|g'
done
''; '';
meta = { meta = {

View File

@ -127,7 +127,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = http://munin-monitoring.org/; homepage = http://munin-monitoring.org/;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.iElectric maintainers.bjornfor ]; maintainers = [ maintainers.domenkozar maintainers.bjornfor ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -57,8 +57,8 @@ in {
}; };
owncloud90 = common { owncloud90 = common {
versiona = "9.0.0"; versiona = "9.0.2";
sha256 = "0z57lc6z1h7yn1sa26q8qnhjxyjn0ydy3mf4yy4i9a3p198kfryi"; sha256 = "845c43fe981fa0fd07fc3708f41f1ea15ecb11c2a15c65a4de191fc85b237c74";
}; };
} }

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