Merge branch 'master' into staging
... to get expat mass rebuild. Hydra nixpkgs: ?compare=1272431
This commit is contained in:
commit
5eea16ee90
@ -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>";
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 );
|
||||||
|
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -110,7 +110,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
services.dbus.packages = [
|
services.dbus.packages = [
|
||||||
pkgs.dbus
|
pkgs.dbus.out
|
||||||
config.system.path
|
config.system.path
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -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 =
|
||||||
|
@ -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 = {
|
||||||
|
@ -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 =
|
||||||
|
@ -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 = {
|
||||||
|
@ -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 =
|
||||||
|
@ -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 = {
|
||||||
|
@ -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 = {
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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 ];
|
||||||
|
@ -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 [
|
||||||
|
@ -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
File diff suppressed because it is too large
Load Diff
@ -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 = {
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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'
|
||||||
|
@ -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)
|
||||||
|
@ -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 = {
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
40
pkgs/applications/misc/phwmon/default.nix
Normal file
40
pkgs/applications/misc/phwmon/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
40
pkgs/applications/misc/pmenu/default.nix
Normal file
40
pkgs/applications/misc/pmenu/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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/;
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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
|
||||||
''
|
''
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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}";
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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 *)
|
||||||
|
@ -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 \
|
||||||
|
@ -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 ];
|
||||||
|
@ -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";
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 // {
|
||||||
|
@ -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";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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 = [
|
||||||
|
@ -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;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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) {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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";
|
||||||
|
@ -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 = [
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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 ];
|
||||||
|
@ -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/"
|
@ -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;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -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;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -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;
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
38
pkgs/os-specific/linux/bcc/default.nix
Normal file
38
pkgs/os-specific/linux/bcc/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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 ];
|
||||||
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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; {
|
||||||
|
@ -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 = {
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user