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>";
|
||||
christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
|
||||
cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
|
||||
cmcdragonkai = "Roger Qiu <roger.qiu@matrix.ai>";
|
||||
coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
|
||||
codsl = "codsl <codsl@riseup.net>";
|
||||
codyopel = "Cody Opel <codyopel@gmail.com>";
|
||||
@ -160,7 +161,7 @@
|
||||
hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
|
||||
iand675 = "Ian Duncan <ian@iankduncan.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>";
|
||||
ikervagyok = "Balázs Lengyel <ikervagyok@gmail.com>";
|
||||
j-keck = "Jürgen Keck <jhyphenkeck@gmail.com>";
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ stdenv, makeWrapper, perl, perlPackages }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "nix-generate-from-cpan-2";
|
||||
name = "nix-generate-from-cpan-3";
|
||||
|
||||
buildInputs = with perlPackages; [
|
||||
makeWrapper perl CPANMeta GetoptLongDescriptive CPANPLUS Readonly Log4Perl
|
||||
@ -20,5 +20,6 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
maintainers = with stdenv.lib.maintainers; [ eelco rycee ];
|
||||
description = "Utility to generate a Nix expression for a Perl package from CPAN";
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -278,13 +278,13 @@ sub get_deps {
|
||||
foreach my $n ( $deps->required_modules ) {
|
||||
next if $n eq "perl";
|
||||
|
||||
# Hacky way to figure out if this module is part of Perl.
|
||||
if ( $n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/ && $n !~ /^if$/ ) {
|
||||
eval "use $n;";
|
||||
if ( !$@ ) {
|
||||
DEBUG("skipping Perl-builtin module $n");
|
||||
next;
|
||||
}
|
||||
# Figure out whether the module is a core module by attempting
|
||||
# to `use` the module in a pure Perl interpreter and checking
|
||||
# whether it succeeded. Note, $^X is a magic variable holding
|
||||
# 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");
|
||||
next;
|
||||
}
|
||||
|
||||
my $pkg = module_to_pkg( $cb, $n );
|
||||
|
@ -5,8 +5,57 @@ let
|
||||
|
||||
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
|
||||
|
||||
options = {
|
||||
@ -14,13 +63,92 @@ in
|
||||
|
||||
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 = "";
|
||||
description = ''
|
||||
The contents of /etc/tmux.conf
|
||||
Additional contents of /etc/tmux.conf
|
||||
'';
|
||||
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 {
|
||||
environment = {
|
||||
systemPackages = [ pkgs.tmux ];
|
||||
etc."tmux.conf".text = cfg.tmuxconf;
|
||||
etc."tmux.conf".text = tmuxConf;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -2,19 +2,14 @@
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.subsonic;
|
||||
homeDir = "/var/subsonic";
|
||||
|
||||
in
|
||||
{
|
||||
let cfg = config.services.subsonic; in {
|
||||
options = {
|
||||
services.subsonic = {
|
||||
enable = mkEnableOption "Subsonic daemon";
|
||||
|
||||
home = mkOption {
|
||||
type = types.path;
|
||||
default = "${homeDir}";
|
||||
default = "/var/lib/subsonic";
|
||||
description = ''
|
||||
The directory where Subsonic will create files.
|
||||
Make sure it is writable.
|
||||
@ -112,30 +107,43 @@ in
|
||||
description = "Personal media streamer";
|
||||
after = [ "local-fs.target" "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.jre}/bin/java -Xmx${toString cfg.maxMemory}m \
|
||||
-Dsubsonic.home=${cfg.home} \
|
||||
-Dsubsonic.host=${cfg.listenAddress} \
|
||||
-Dsubsonic.port=${toString cfg.port} \
|
||||
-Dsubsonic.httpsPort=${toString cfg.httpsPort} \
|
||||
-Dsubsonic.contextPath=${cfg.contextPath} \
|
||||
-Dsubsonic.defaultMusicFolder=${cfg.defaultMusicFolder} \
|
||||
-Dsubsonic.defaultPodcastFolder=${cfg.defaultPodcastFolder} \
|
||||
-Dsubsonic.defaultPlaylistFolder=${cfg.defaultPlaylistFolder} \
|
||||
-Djava.awt.headless=true \
|
||||
-verbose:gc \
|
||||
-jar ${pkgs.subsonic}/subsonic-booter-jar-with-dependencies.jar
|
||||
'';
|
||||
script = ''
|
||||
${pkgs.jre}/bin/java -Xmx${toString cfg.maxMemory}m \
|
||||
-Dsubsonic.home=${cfg.home} \
|
||||
-Dsubsonic.host=${cfg.listenAddress} \
|
||||
-Dsubsonic.port=${toString cfg.port} \
|
||||
-Dsubsonic.httpsPort=${toString cfg.httpsPort} \
|
||||
-Dsubsonic.contextPath=${cfg.contextPath} \
|
||||
-Dsubsonic.defaultMusicFolder=${cfg.defaultMusicFolder} \
|
||||
-Dsubsonic.defaultPodcastFolder=${cfg.defaultPodcastFolder} \
|
||||
-Dsubsonic.defaultPlaylistFolder=${cfg.defaultPlaylistFolder} \
|
||||
-Djava.awt.headless=true \
|
||||
-verbose:gc \
|
||||
-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.
|
||||
ExecStartPre = ''
|
||||
${pkgs.coreutils}/bin/rm -rf ${cfg.home}/transcode ; \
|
||||
${pkgs.coreutils}/bin/mkdir -p ${cfg.home}/transcode ; \
|
||||
${pkgs.bash}/bin/bash -c ' \
|
||||
for exe in "$@"; do \
|
||||
${pkgs.coreutils}/bin/ln -sf "$exe" ${cfg.home}/transcode; \
|
||||
done' IGNORED_FIRST_ARG ${toString cfg.transcoders}
|
||||
'';
|
||||
${pkgs.coreutils}/bin/rm -rf ${cfg.home}/transcode ; \
|
||||
${pkgs.coreutils}/bin/mkdir -p ${cfg.home}/transcode ; \
|
||||
${pkgs.bash}/bin/bash -c ' \
|
||||
for exe in "$@"; do \
|
||||
${pkgs.coreutils}/bin/ln -sf "$exe" ${cfg.home}/transcode; \
|
||||
done' IGNORED_FIRST_ARG ${toString cfg.transcoders}
|
||||
'';
|
||||
serviceConfig = {
|
||||
# Needed for Subsonic to find subsonic.war.
|
||||
WorkingDirectory = "${pkgs.subsonic}";
|
||||
Restart = "always";
|
||||
@ -146,7 +154,7 @@ in
|
||||
|
||||
users.extraUsers.subsonic = {
|
||||
description = "Subsonic daemon user";
|
||||
home = homeDir;
|
||||
home = cfg.home;
|
||||
createHome = true;
|
||||
group = "subsonic";
|
||||
uid = config.ids.uids.subsonic;
|
||||
|
@ -110,7 +110,7 @@ in
|
||||
};
|
||||
|
||||
services.dbus.packages = [
|
||||
pkgs.dbus
|
||||
pkgs.dbus.out
|
||||
config.system.path
|
||||
];
|
||||
|
||||
|
@ -25,7 +25,7 @@ in
|
||||
{
|
||||
name = "bittorrent";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ iElectric eelco chaoflow rob wkennington ];
|
||||
maintainers = [ domenkozar eelco chaoflow rob wkennington ];
|
||||
};
|
||||
|
||||
nodes =
|
||||
|
@ -3,7 +3,7 @@
|
||||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
name = "gitlab";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ iElectric offline ];
|
||||
maintainers = [ domenkozar offline ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
name = "gnome3";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ iElectric eelco chaoflow lethalman ];
|
||||
maintainers = [ domenkozar eelco chaoflow lethalman ];
|
||||
};
|
||||
|
||||
machine =
|
||||
|
@ -6,7 +6,7 @@
|
||||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
name = "jenkins";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ bjornfor coconnor iElectric eelco chaoflow ];
|
||||
maintainers = [ bjornfor coconnor domenkozar eelco chaoflow ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import ./make-test.nix ({ pkgs, ... }: {
|
||||
name = "kde4";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ iElectric eelco chaoflow ];
|
||||
maintainers = [ domenkozar eelco chaoflow ];
|
||||
};
|
||||
|
||||
machine =
|
||||
|
@ -4,7 +4,7 @@
|
||||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
name = "munin";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ iElectric eelco chaoflow ];
|
||||
maintainers = [ domenkozar eelco chaoflow ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
@ -3,7 +3,7 @@
|
||||
import ./make-test.nix ({pkgs, ... }: {
|
||||
name = "printing";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ iElectric eelco chaoflow jgeerds ];
|
||||
maintainers = [ domenkozar eelco chaoflow jgeerds ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
|
@ -22,7 +22,7 @@ in
|
||||
rec {
|
||||
name = "quake3";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ iElectric eelco chaoflow ];
|
||||
maintainers = [ domenkozar eelco chaoflow ];
|
||||
};
|
||||
|
||||
# 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;
|
||||
|
||||
let
|
||||
nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
|
||||
inherit nodejs;
|
||||
neededNatives = [ libgroove python utillinux ];
|
||||
self = nodePackages;
|
||||
generated = ./package.nix;
|
||||
|
@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
|
||||
description = "An online/offline backup solution";
|
||||
homepage = "http://www.crashplan.org";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ sztupi iElectric ];
|
||||
maintainers = with maintainers; [ sztupi domenkozar ];
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper cpio ];
|
||||
|
@ -23,13 +23,13 @@ let
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emacs-25.0.93";
|
||||
name = "emacs-25.0.94";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://alpha.gnu.org/gnu/emacs/pretest/${name}.tar.xz";
|
||||
sha256 = "1wbr2n723ycg16rlg81v9x17w9ciy7qyckxplnwghlyfj6j9k4dk";
|
||||
sha256 = "19kd9iwj4rz7llihs7a4gmag98n3asrxn3jh6mdmyn24w2kmxi69";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isDarwin [
|
||||
|
@ -1257,10 +1257,10 @@
|
||||
}) {};
|
||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org";
|
||||
version = "20160502";
|
||||
version = "20160516";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/org-20160502.tar";
|
||||
sha256 = "0li067na4p0k9r4nr6a2vfqygvlmzsdgm5kgg2p60lsvydh43fvw";
|
||||
url = "https://elpa.gnu.org/packages/org-20160516.tar";
|
||||
sha256 = "164v1zddgyfy9v1qhl1fqz2vcgm5w4dhfmra5ngpgnjh1402l0pm";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@ -1760,10 +1760,10 @@
|
||||
validate = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "validate";
|
||||
version = "0.3";
|
||||
version = "0.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/validate-0.3.el";
|
||||
sha256 = "0nq917217ax5zykzaybv7diz1vgl3y6r8vi7hmz3lzm5dl90jy3m";
|
||||
url = "https://elpa.gnu.org/packages/validate-0.5.el";
|
||||
sha256 = "1gzphvcqih5zz80mmnc2wx2kgc13g9hv98kqsfpndbdd3bw3blph";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
@ -1838,10 +1838,10 @@
|
||||
}) {};
|
||||
websocket = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "websocket";
|
||||
version = "1.5";
|
||||
version = "1.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/websocket-1.5.tar";
|
||||
sha256 = "0plgc8an229cqbghrxd6wh73b081dc17fx1r940dqhgi284pcjsy";
|
||||
url = "https://elpa.gnu.org/packages/websocket-1.6.tar";
|
||||
sha256 = "09im218c1gkq1lg356rcqqpkydnpxs5qzdqkwk95pwndswb40a5a";
|
||||
};
|
||||
packageRequires = [];
|
||||
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 }: {
|
||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org";
|
||||
version = "20160502";
|
||||
version = "20160516";
|
||||
src = fetchurl {
|
||||
url = "http://orgmode.org/elpa/org-20160502.tar";
|
||||
sha256 = "0ranc2qiw6g6qja0jh1dvh06k6waagkiir2q2zla5d54brw4fg5a";
|
||||
url = "http://orgmode.org/elpa/org-20160516.tar";
|
||||
sha256 = "0zr87i55l92n1m8fgzvpdm40gh4fjwzsvgq47cmviqjr38kzdxv0";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@ -14,10 +14,10 @@
|
||||
}) {};
|
||||
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org-plus-contrib";
|
||||
version = "20160502";
|
||||
version = "20160516";
|
||||
src = fetchurl {
|
||||
url = "http://orgmode.org/elpa/org-plus-contrib-20160502.tar";
|
||||
sha256 = "1znqh4pp9dlqmmdjhgy6vb880hq3cl4q6nmv48x8n5may159mvm0";
|
||||
url = "http://orgmode.org/elpa/org-plus-contrib-20160516.tar";
|
||||
sha256 = "1g1a9qsn1i1fh5ppa2jimfqvzkd7rhq5a7xz73lkaw8j3niqy62s";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
@ -75,7 +75,7 @@ index 0000000..a2f9918
|
||||
+
|
||||
+let b:current_syntax = "nix"
|
||||
+
|
||||
+" thanks to iElectric
|
||||
+" thanks to domenkozar
|
||||
+" scan backwards to find begining of multiline statements
|
||||
+syn sync ccomment nixMultiLineComment 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";
|
||||
homepage = https://wiki.gnome.org/Apps/Shotwell;
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [iElectric];
|
||||
maintainers = with maintainers; [domenkozar];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ 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 {
|
||||
name = "simple-scan-${version}";
|
||||
@ -16,11 +17,30 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = [ "--disable-packagekit" ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e 's#Icon=scanner#Icon=simple-scan#g' ./data/simple-scan.desktop.in
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
# Clean up stale .c files referencing packagekit headers as of 3.20.0:
|
||||
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;
|
||||
|
||||
doCheck = true;
|
||||
|
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Comprehensive e-book software";
|
||||
homepage = http://calibre-ebook.com;
|
||||
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;
|
||||
inherit version;
|
||||
};
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Lightweight and fast battery icon that sits in the system tray";
|
||||
homepage = https://github.com/valr/cbatticon;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
# NOTE: 'unix' or even 'all' COULD work too, I'm not sure
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.iElectric ];
|
||||
maintainers = [ stdenv.lib.maintainers.domenkozar ];
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'jekyll'
|
||||
gem 'jekyll-paginate'
|
||||
gem 'rdiscount'
|
||||
gem 'RedCloth'
|
||||
|
@ -17,6 +17,7 @@ GEM
|
||||
sass (~> 3.4)
|
||||
jekyll-watch (1.3.0)
|
||||
listen (~> 3.0)
|
||||
jekyll-paginate (1.1.0)
|
||||
kramdown (1.9.0)
|
||||
liquid (3.0.6)
|
||||
listen (3.0.5)
|
||||
|
@ -30,6 +30,7 @@
|
||||
"colorator"
|
||||
"jekyll-sass-converter"
|
||||
"jekyll-watch"
|
||||
"jekyll-paginate"
|
||||
"kramdown"
|
||||
"liquid"
|
||||
"mercenary"
|
||||
@ -57,6 +58,13 @@
|
||||
"listen"
|
||||
];
|
||||
};
|
||||
"jekyll-paginate" = {
|
||||
version = "1.1.0";
|
||||
source = {
|
||||
type = "gem";
|
||||
sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8";
|
||||
};
|
||||
};
|
||||
"kramdown" = {
|
||||
version = "1.9.0";
|
||||
source = {
|
||||
|
@ -52,7 +52,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
description = "Open source document analysis and OCR system";
|
||||
license = licenses.asl20;
|
||||
homepage = https://github.com/tmbdev/ocropy/;
|
||||
maintainers = with maintainers; [ iElectric nckx viric ];
|
||||
maintainers = with maintainers; [ domenkozar nckx viric ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
description = "PostgreSQL administration GUI tool";
|
||||
homepage = http://www.pgadmin.org;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ iElectric wmertens ];
|
||||
maintainers = with maintainers; [ domenkozar wmertens ];
|
||||
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 {
|
||||
name = "tint2-${version}";
|
||||
version = "0.12.10";
|
||||
version = "0.12.11";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "o9000";
|
||||
repo = "tint2";
|
||||
rev = version;
|
||||
sha256 = "0da28ykid84i4pw0cvgaxw0wq2yn03i68g54dzmajgsl1wvkqb0z";
|
||||
sha256 = "0gfxbxslc8h95q7cq84a69yd7qdhyks978l3rmk48jhwwixdp0hr";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -39,8 +39,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
homepage = https://gitlab.com/o9000/tint2;
|
||||
description = "Simple panel/taskbar unintrusive and light (memory, cpu, aestetic)";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
description = "Simple panel/taskbar unintrusive and light (memory / cpu / aestetic)";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
|
@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://www.getsync.com/;
|
||||
license = stdenv.lib.licenses.unfreeRedistributable;
|
||||
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"
|
||||
'';
|
||||
|
||||
passthru.ffmpegSupport = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Mozilla Firefox, free web browser (binary package)";
|
||||
homepage = http://www.mozilla.org/firefox/;
|
||||
|
@ -3,7 +3,7 @@
|
||||
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
|
||||
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
|
||||
, hunspell, libevent, libstartup_notification, libvpx
|
||||
, cairo, icu, libpng, jemalloc, libpulseaudio
|
||||
, cairo, gstreamer, gst_plugins_base, icu, libpng, jemalloc, libpulseaudio
|
||||
, enableGTK3 ? false
|
||||
, debugBuild ? false
|
||||
, # 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
|
||||
libpulseaudio # only headers are needed
|
||||
]
|
||||
++ lib.optional enableGTK3 gtk3;
|
||||
++ lib.optional enableGTK3 gtk3
|
||||
++ lib.optionals (!passthru.ffmpegSupport) [ gstreamer gst_plugins_base ];
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-application=browser"
|
||||
@ -122,7 +123,8 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec {
|
||||
passthru = {
|
||||
inherit gtk nspr version;
|
||||
isFirefox3Like = true;
|
||||
browserName = pname;
|
||||
browserName = "firefox";
|
||||
ffmpegSupport = lib.versionAtLeast version "46.0";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
## various stuff that can be plugged in
|
||||
, gnash, flashplayer, hal-flash
|
||||
, MPlayerPlugin, gecko_mediaplayer, ffmpeg, xorg, libpulseaudio, libcanberra
|
||||
, MPlayerPlugin, gecko_mediaplayer, ffmpeg, gst_all, xorg, libpulseaudio, libcanberra
|
||||
, supportsJDK, jrePlugin, icedtea_web
|
||||
, trezor-bridge, bluejeans, djview4, adobe-reader
|
||||
, google_talk_plugin, fribid, gnome3/*.gnome_shell*/
|
||||
@ -23,6 +23,7 @@ let
|
||||
cfg = stdenv.lib.attrByPath [ browserName ] {} config;
|
||||
enableAdobeFlash = cfg.enableAdobeFlash or false;
|
||||
enableGnash = cfg.enableGnash or false;
|
||||
ffmpegSupport = browser.ffmpegSupport or false;
|
||||
jre = cfg.jre or false;
|
||||
icedtea = cfg.icedtea or false;
|
||||
|
||||
@ -45,11 +46,12 @@ let
|
||||
++ lib.optional (cfg.enableAdobeReader or false) adobe-reader
|
||||
++ 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)
|
||||
(with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])
|
||||
++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash
|
||||
++ 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 ];
|
||||
|
||||
in
|
||||
@ -75,7 +77,7 @@ stdenv.mkDerivation {
|
||||
];
|
||||
};
|
||||
|
||||
buildInputs = [makeWrapper];
|
||||
buildInputs = [makeWrapper] ++ lib.optionals (!ffmpegSupport) gst-plugins;
|
||||
|
||||
buildCommand = ''
|
||||
if [ ! -x "${browser}/bin/${browserName}" ]
|
||||
@ -91,7 +93,8 @@ stdenv.mkDerivation {
|
||||
--suffix-each GTK_PATH ':' "$gtk_modules" \
|
||||
--suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $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
|
||||
''
|
||||
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://www.shrew.net/software;
|
||||
description = "IPsec Client for FreeBSD, NetBSD and many Linux based operating systems";
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
license = licenses.sleepycat;
|
||||
};
|
||||
}
|
||||
|
@ -1,12 +1,13 @@
|
||||
{ stdenv, fetchurl, xorg, freetype, fontconfig, openssl, glib, nss, nspr, expat
|
||||
, alsaLib, dbus, zlib, libxml2, libxslt, makeWrapper, xkeyboard_config, systemd
|
||||
, mesa_noglu, xcbutilkeysyms }:
|
||||
, mesa_noglu, xcbutilkeysyms, xdg_utils }:
|
||||
|
||||
let
|
||||
|
||||
version = "4.0.1631";
|
||||
version = "4.0.1637";
|
||||
|
||||
rpath = stdenv.lib.makeLibraryPath [
|
||||
xdg_utils
|
||||
xorg.libXext
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
@ -42,7 +43,7 @@ let
|
||||
if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
|
||||
sha256 = "1ip79zq7j7842sf254296wvvd236w7c764r8wgjdyxzqyvfjfd81";
|
||||
sha256 = "043qcylqzkzgmlhhxnhm5wy3gvh2cyhjmxnnrrz7y183ji6rw6nd";
|
||||
}
|
||||
else
|
||||
throw "HipChat is not supported on ${stdenv.system}";
|
||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Lightweight Tox client";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ iElectric jgeerds ];
|
||||
maintainers = with maintainers; [ domenkozar jgeerds ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -29,6 +29,6 @@ pythonPackages.buildPythonApplication rec {
|
||||
homepage = https://www.mailpile.is/;
|
||||
license = [ licenses.asl20 licenses.agpl3 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
};
|
||||
}
|
||||
|
@ -56,6 +56,6 @@ stdenv.mkDerivation {
|
||||
homepage = http://retroshare.sourceforge.net/;
|
||||
#license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
};
|
||||
}
|
||||
|
@ -49,6 +49,6 @@ stdenv.mkDerivation {
|
||||
homepage = http://retroshare.sourceforge.net/;
|
||||
#license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
};
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://jonas.nitro.dk/tig/";
|
||||
description = "Text-mode interface for git";
|
||||
maintainers = with maintainers; [ garbas bjornfor iElectric qknight ];
|
||||
maintainers = with maintainers; [ garbas bjornfor domenkozar qknight ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
@ -99,13 +99,13 @@ let
|
||||
in {
|
||||
|
||||
subversion18 = common {
|
||||
version = "1.8.15";
|
||||
sha256 = "0b68rjy1sjd66nqcswrm1bhda3vk2ngkgs6drcanmzbcd3vs366g";
|
||||
version = "1.8.16";
|
||||
sha256 = "0imkxn25n6sbcgfldrx4z29npjprb1lxjm5fb89q4297161nx3zi";
|
||||
};
|
||||
|
||||
subversion19 = common {
|
||||
version = "1.9.3";
|
||||
sha256 = "8bbf6bb125003d88ee1c22935a36b7b1ab7d957e0c8b5fbfe5cb6310b6e86ae0";
|
||||
version = "1.9.4";
|
||||
sha256 = "16cjkvvq628hbznkhqkppzs8nifcr7k43s5y4c32cgwqmgigjrqj";
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
pythonPackages.buildPythonApplication rec {
|
||||
name = "tortoisehg-${version}";
|
||||
version = "3.7.3";
|
||||
version = "3.8.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
|
||||
sha256 = "1vahiavpkf9ib2mx8z5i6f0kh072zycazmbrc4sl94p5pvv5w1dh";
|
||||
sha256 = "1v5h5yz9b360ris9p8zsdjxqvaflp9z2b6b7dfb4abn2irv3jip6";
|
||||
};
|
||||
|
||||
pythonPath = with pythonPackages; [ pyqt4 mercurial qscintilla iniparse ];
|
||||
|
@ -46,6 +46,6 @@ python3Packages.buildPythonApplication rec {
|
||||
homepage = https://code.launchpad.net/kazam;
|
||||
#license = licenses.bsd2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
};
|
||||
}
|
||||
|
@ -121,6 +121,6 @@ in stdenv.mkDerivation rec {
|
||||
description = "Media center";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
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";
|
||||
homepage = https://github.com/KeyboardFire/mkcast;
|
||||
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";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
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;
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple screen locker like slock";
|
||||
homepage = http://i3wm.org/i3lock/;
|
||||
maintainers = with maintainers; [ garbas malyn iElectric ];
|
||||
maintainers = with maintainers; [ garbas malyn ];
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "A simple screen locker like slock";
|
||||
homepage = http://i3wm.org/i3lock/;
|
||||
maintainers = with maintainers; [ garbas malyn iElectric ];
|
||||
maintainers = with maintainers; [ garbas malyn domenkozar ];
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
@ -38,6 +38,7 @@ lib.overrideDerivation (fetchurl ({
|
||||
+ (if stripRoot then ''
|
||||
if [ $(ls "$unpackDir" | wc -l) != 1 ]; then
|
||||
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
|
||||
fi
|
||||
fn=$(cd "$unpackDir" && echo *)
|
||||
|
@ -54,11 +54,15 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
|
||||
eval "$preInstall"
|
||||
export LOGNAME=root
|
||||
|
||||
# otherwise build hangs when it wants to display
|
||||
# the log file
|
||||
export PAGER=cat
|
||||
${checkinstall}/sbin/checkinstall --nodoc -y -D \
|
||||
--fstrans=${if fsTranslation then "yes" else "no"} \
|
||||
--requires="${concatStringsSep "," debRequires}" \
|
||||
--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'"} \
|
||||
''${debName:+--pkgname="'$debName'"} \
|
||||
$checkInstallFlags \
|
||||
|
@ -4,10 +4,10 @@ libffi, pam, alsaLib, luajit, bzip2, libuuid, libpthreadstubs, gdbm, libcap, mes
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "enlightenment-${version}";
|
||||
version = "0.20.7";
|
||||
version = "0.20.8";
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
|
||||
sha256 = "10g1mn1myspdrxl7jcjx6v52g3pmmb0k2bxjgaqdx2s851cyipkw";
|
||||
sha256 = "17fi3frq4a73i0x7v7244g9m0fbjfamw0cfb4zhqs2rp1z8nq1iy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -11,8 +11,15 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2
|
||||
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
|
||||
configureFlags = [ "--disable-search-provider" "--disable-migration" ];
|
||||
configureFlags = [ "--disable-migration" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The GNOME Terminal Emulator";
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://wiki.gnome.org/action/show/Projects/Vino;
|
||||
description = "GNOME desktop sharing server";
|
||||
maintainers = with maintainers; [ lethalman iElectric ];
|
||||
maintainers = with maintainers; [ lethalman domenkozar ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://wiki.gnome.org/Apps/Yelp/Tools;
|
||||
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;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
|
||||
description = "GNOME GUI client to view git repositories";
|
||||
maintainers = with maintainers; [ iElectric ];
|
||||
maintainers = with maintainers; [ domenkozar ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Autogenerated by maintainers/scripts/gnome.sh update
|
||||
|
||||
fetchurl: {
|
||||
name = "gitg-3.18.0";
|
||||
name = "gitg-3.20.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://gnome/sources/gitg/3.18/gitg-3.18.0.tar.xz;
|
||||
sha256 = "fa4b7b9c492f13f5f1d864af1281ea377ac8c7619c856e05f533b18989edf421";
|
||||
url = mirror://gnome/sources/gitg/3.20/gitg-3.20.0.tar.xz;
|
||||
sha256 = "1f09f61208349d003f228e51dc9709bd3426960f5585c0e38197bd02b51f3346";
|
||||
};
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Autogenerated by maintainers/scripts/gnome.sh update
|
||||
|
||||
fetchurl: {
|
||||
name = "libgit2-glib-0.23.6";
|
||||
name = "libgit2-glib-0.24.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://gnome/sources/libgit2-glib/0.23/libgit2-glib-0.23.6.tar.xz;
|
||||
sha256 = "5c8d6b5cb81ab64b96cb0c52ef37463b6d8998a40ce77a08eda9db66fb781144";
|
||||
url = mirror://gnome/sources/libgit2-glib/0.24/libgit2-glib-0.24.0.tar.xz;
|
||||
sha256 = "d616c268821c28ff8dc1a6419dbf8555fa48e31dc6509c10f5151be7690f4845";
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,11 @@
|
||||
{ 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
|
||||
makeElmStuff = deps:
|
||||
let json = builtins.toJSON (lib.mapAttrs (name: info: info.version) deps);
|
||||
@ -61,9 +67,6 @@ let
|
||||
in elmPkgs // {
|
||||
inherit elmPkgs;
|
||||
elmVersion = elmRelease.version;
|
||||
|
||||
# To unbreak elm-compiler
|
||||
language-ecmascript = self.language-ecmascript_0_17_0_2;
|
||||
};
|
||||
};
|
||||
in hsPkgs.elmPkgs // {
|
||||
|
@ -5,18 +5,18 @@
|
||||
};
|
||||
"evancz/elm-markdown" = {
|
||||
version = "3.0.0";
|
||||
sha256 = "1wlr8sgnyq6qgh5rcjy7imfmpqxrxgmmqcfx6p541fs70yiqya12";
|
||||
sha256 = "0r3hcim4mpn46ahv1q6sjp6i2viyp7jik6i71xgwmvfb9drns2p6";
|
||||
};
|
||||
"elm-lang/html" = {
|
||||
version = "1.0.0";
|
||||
sha256 = "16cr01yxkpkmgbgclp2p80nd62a6fjw3qipzjsgksrhwv9vv4gm4";
|
||||
};
|
||||
"elm-lang/core" = {
|
||||
version = "4.0.0";
|
||||
sha256 = "04qgzgv90qyhjk55yw4szy50h2dqdlm0a2padbgn02yf4bb1b4nw";
|
||||
};
|
||||
"elm-lang/svg" = {
|
||||
version = "1.0.0";
|
||||
sha256 = "0c29y6c58x2sq1bl29z1hr5gi2rlza8clk7ssgzmsf4xbvcczbjx";
|
||||
};
|
||||
"elm-lang/core" = {
|
||||
version = "4.0.0";
|
||||
sha256 = "04qgzgv90qyhjk55yw4szy50h2dqdlm0a2padbgn02yf4bb1b4nw";
|
||||
};
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
# Take those from https://github.com/elm-lang/elm-platform/blob/master/installers/BuildFromSource.hs
|
||||
$elm_version = "0.16.0"
|
||||
$elm_packages = { "elm-compiler" => "0.16",
|
||||
"elm-package" => "0.16",
|
||||
"elm-make" => "0.16",
|
||||
"elm-reactor" => "0.16",
|
||||
"elm-repl" => "0.16"
|
||||
$elm_version = "0.17"
|
||||
$elm_packages = { "elm-compiler" => "0.17",
|
||||
"elm-package" => "0.17",
|
||||
"elm-make" => "0.17",
|
||||
"elm-reactor" => "0.17",
|
||||
"elm-repl" => "0.17"
|
||||
}
|
||||
|
||||
for pkg, ver in $elm_packages
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.haskell.org/~ghc/8.0.1/${name}-src.tar.xz";
|
||||
sha256 = "0riyry246a6km4mw1q9iiw6p75ww2f8s81i34g151zwwdygk7qpf";
|
||||
sha256 = "1lniqy29djhjkddnailpaqhlqh4ld2mqvb1fxgxw1qqjhz6j1ywh";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,11 +1,12 @@
|
||||
{ stdenv, pixie, fetchgit }:
|
||||
{ stdenv, pixie, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dust-0-91";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/pixie-lang/dust.git";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pixie-lang";
|
||||
repo = "dust";
|
||||
rev = "efe469661e749a71e86858fd006f61464810575a";
|
||||
sha256 = "0krh7ynald3gqv9f17a4kfx7sx8i31l6j1fhd5k8b6m8cid7f9c1";
|
||||
sha256 = "09n57b6haxwask9m8vimv42ikczf7lgfc7m9izjrcqgs0padvfzc";
|
||||
};
|
||||
buildInputs = [ pixie ];
|
||||
patches = [ ./make-paths-configurable.patch ];
|
||||
@ -24,4 +25,10 @@ stdenv.mkDerivation {
|
||||
cp -a src/ run.pxi $out/share/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)";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ iElectric ];
|
||||
maintainers = with maintainers; [ domenkozar ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -119,7 +119,7 @@ let
|
||||
'';
|
||||
license = stdenv.lib.licenses.psfl;
|
||||
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
|
||||
# risk. Python 2.6 has known security vulnerabilities is not receiving
|
||||
# security updates as of October 2013.
|
||||
|
@ -173,7 +173,7 @@ let
|
||||
'';
|
||||
license = stdenv.lib.licenses.psfl;
|
||||
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;
|
||||
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;
|
||||
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.mkDerivation rec {
|
||||
name = "expat-2.1.0";
|
||||
name = "expat-2.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/expat/${name}.tar.gz";
|
||||
sha256 = "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2";
|
||||
url = "mirror://sourceforge/expat/${name}.tar.bz2";
|
||||
sha256 = "0ryyjgvy7jq0qb7a9mhc1giy3bzn56aiwrs8dpydqngplbjq9xdg";
|
||||
};
|
||||
|
||||
patches = [ ./CVE-2015-1283.patch ];
|
||||
|
||||
outputs = [ "dev" "out" ]; # TODO: fix referrers
|
||||
outputBin = "dev";
|
||||
|
||||
@ -17,6 +15,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
outputMan = "dev"; # tiny page for a dev tool
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.libexpat.org/;
|
||||
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"
|
||||
substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \
|
||||
--replace buffio.h tidybuffio.h
|
||||
>>>>>>> master
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
|
@ -164,7 +164,7 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "doCheck"] //
|
||||
platforms = python.meta.platforms;
|
||||
} // meta // {
|
||||
# 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
|
||||
isBuildPythonPackage = python.meta.platforms;
|
||||
};
|
||||
|
@ -7,7 +7,7 @@ with stdenv.lib;
|
||||
|
||||
let
|
||||
baseVersion = "3.6";
|
||||
revision = "0";
|
||||
revision = "1";
|
||||
version = "${baseVersion}.${revision}";
|
||||
in
|
||||
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
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 ];
|
||||
|
@ -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 ];
|
||||
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;
|
||||
|
||||
|
@ -8,15 +8,15 @@
|
||||
|
||||
{ stdenv, fetchurl, unzip, glib, libSM, libICE, gtk, libXext, libXft
|
||||
, fontconfig, libXrender, libXfixes, libX11, libXi, libXrandr, libXcursor
|
||||
, freetype, libXinerama
|
||||
, makeDesktopItem
|
||||
, freetype, libXinerama, libxcb, zlib, pciutils
|
||||
, makeDesktopItem, xkeyboardconfig
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath [
|
||||
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
|
||||
@ -25,21 +25,21 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "saleae-logic";
|
||||
version = "1.1.15";
|
||||
version = "1.2.9";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
name = "saleae-logic-${version}-32bit.zip";
|
||||
url = "http://downloads.saleae.com/Logic%20${version}%20(32-bit).zip";
|
||||
sha256 = "0h13my4xgv8v8l12shimhhn54nn0dldbxz1gpbx92ysd8q8x1q79";
|
||||
name = "saleae-logic-${version}-32bit.zip";
|
||||
url = "http://downloads.saleae.com/logic/${version}/Logic%20${version}%20(32-bit).zip";
|
||||
sha256 = "0000004xgv8v8l12shimhhn54nn0dldbxz1gpbx92ysd8q8x1q79";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
name = "saleae-logic-${version}-64bit.zip";
|
||||
url = "http://downloads.saleae.com/Logic%20${version}%20(64-bit).zip";
|
||||
sha256 = "1phnjsmaj1gflx7shh8wfrd8dnhn43s3v7bck41h8yj4nd4ax69z";
|
||||
name = "saleae-logic-${version}-64bit.zip";
|
||||
url = "http://downloads.saleae.com/logic/${version}/Logic%20${version}%20(64-bit).zip";
|
||||
sha256 = "1d4hmp756ysfk5i1ys4mlkd1czbdw0zqznkzx08pyqk93zc7b16s";
|
||||
}
|
||||
else
|
||||
abort "Saleae Logic software requires i686-linux or x86_64-linux";
|
||||
@ -74,6 +74,8 @@ stdenv.mkDerivation rec {
|
||||
cat > "$out/bin/saleae-logic" << EOF
|
||||
#!${stdenv.shell}
|
||||
export LD_PRELOAD="$out/lib/preload.so"
|
||||
export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"
|
||||
export PATH="${pciutils}/bin:\$PATH"
|
||||
exec "$out/Logic" "\$@"
|
||||
EOF
|
||||
chmod a+x "$out"/bin/saleae-logic
|
||||
|
@ -2,17 +2,20 @@
|
||||
* LD_PRELOAD trick to make Saleae Logic work from a read-only installation
|
||||
* directory.
|
||||
*
|
||||
* Saleae Logic tries to write to the ./Settings/settings.xml file, relative to
|
||||
* its installation directory. Because the nix store is read-only, we have to
|
||||
* redirect access to this file somewhere else. Here's the map:
|
||||
* Saleae Logic tries to write to a few directories inside its installation
|
||||
* directory. Because the Nix store is read-only, we have to redirect access to
|
||||
* 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 :-)
|
||||
*
|
||||
* NOTE: The next Logic version is supposed to have command line parameters for
|
||||
* configuring where the Settings/ directory is located, but until then we have
|
||||
* to use this.
|
||||
* NOTE: AFAIK (Bjørn Forsman), Logic version 1.2+ was supposed to have a
|
||||
* command line parameter for redirecting these write operations, but
|
||||
* apparently that feature got postponed.
|
||||
*
|
||||
* Usage:
|
||||
* gcc -shared -fPIC -DOUT="$out" preload.c -o preload.so -ldl
|
||||
@ -33,30 +36,65 @@
|
||||
#include <limits.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifndef OUT
|
||||
#error Missing OUT define - path to the installation directory.
|
||||
#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 *(*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
|
||||
* other paths are changed. Path is truncated if bigger than PATH_MAX.
|
||||
* Redirect $out/{Settings,Databases,Errors,Calibration}/ => $HOME/.saleae-logic/.
|
||||
* Path is truncated if bigger than PATH_MAX.
|
||||
*
|
||||
* @param pathname Original file path.
|
||||
* @param buffer Pointer to a buffer of size PATH_MAX bytes that this function
|
||||
* will write the new redirected path to (if needed).
|
||||
*
|
||||
* @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)
|
||||
{
|
||||
const char *homepath;
|
||||
const char *new_path;
|
||||
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");
|
||||
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;
|
||||
if (strcmp(OUT "/Settings/settings.xml", pathname) == 0) {
|
||||
snprintf(buffer, PATH_MAX, "%s/.saleae-logic-settings.xml", homepath);
|
||||
remainder = pathname + out_strlen;
|
||||
|
||||
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';
|
||||
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 *fp;
|
||||
const char *path;
|
||||
char buffer[PATH_MAX];
|
||||
fopen_func_t orig_fopen;
|
||||
|
||||
orig_fopen = (fopen_func_t)dlsym(RTLD_NEXT, "fopen");
|
||||
path = redirect(pathname, buffer);
|
||||
fp = orig_fopen(path, mode);
|
||||
|
||||
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 *fp;
|
||||
const char *path;
|
||||
char buffer[PATH_MAX];
|
||||
fopen64_func_t orig_fopen64;
|
||||
|
||||
orig_fopen64 = (fopen64_func_t)dlsym(RTLD_NEXT, "fopen64");
|
||||
path = redirect(pathname, buffer);
|
||||
fp = orig_fopen64(path, mode);
|
||||
|
||||
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; {
|
||||
homepage = https://sslmate.com;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
description = "Easy to buy, deploy, and manage your SSL certs";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit; # X11
|
||||
|
@ -4,9 +4,9 @@
|
||||
}@args:
|
||||
|
||||
import ./nodejs.nix (args // rec {
|
||||
version = "6.1.0";
|
||||
version = "6.2.0";
|
||||
src = fetchurl {
|
||||
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";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
};
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://springrts.com/;
|
||||
description = "A powerful real-time strategy (RTS) game engine";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.phreedom maintainers.qknight maintainers.iElectric ];
|
||||
maintainers = [ maintainers.phreedom maintainers.qknight maintainers.domenkozar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
repositories.git = git://github.com/springlobby/springlobby.git;
|
||||
description = "Cross-platform lobby client for the Spring RTS project";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ phreedom qknight iElectric ];
|
||||
maintainers = with maintainers; [ phreedom qknight domenkozar ];
|
||||
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_TARGET = "x86_64-native-linuxapp-gcc";
|
||||
|
||||
# we need ssse3 instructions to build
|
||||
NIX_CFLAGS_COMPILE = [ "-march=core2" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
outputs = [ "out" "examples" ];
|
||||
|
||||
@ -36,6 +39,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://dpdk.org/;
|
||||
license = with licenses; [ lgpl21 gpl2 bsd2 ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
};
|
||||
}
|
||||
|
@ -1,13 +1,15 @@
|
||||
{ stdenv, fetchurl, bison, flex, which, perl }:
|
||||
|
||||
let version = "3.3.5"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lm-sensors-${version}";
|
||||
version = "3.4.0"; # don't forget to tweak fedoraproject mirror URL hash
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${version}.tar.bz2";
|
||||
sha256 = "1ksgrynxgrq590nb2fwxrl1gwzisjkqlyg3ljfd1al0ibrk6mbjx";
|
||||
urls = [
|
||||
"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 ];
|
||||
|
@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://fedoraproject.org/wiki/Features/numad;
|
||||
license = licenses.lgpl21;
|
||||
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";
|
||||
homepage = https://github.com/umlaeute/v4l2loopback;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.iElectric ];
|
||||
maintainers = [ maintainers.domenkozar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, goPackages, ruby, bundlerEnv }:
|
||||
{ stdenv, go16Packages, ruby, bundlerEnv, zip }:
|
||||
|
||||
let
|
||||
# `sass` et al
|
||||
@ -11,11 +11,11 @@ let
|
||||
in
|
||||
|
||||
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 = ''
|
||||
# Build ui static files
|
||||
@ -26,7 +26,7 @@ stdenv.mkDerivation {
|
||||
installPhase = ''
|
||||
# Install ui static files
|
||||
mkdir -p $out
|
||||
mv dist/* $out
|
||||
mv ../pkg/web_ui/* $out
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
|
||||
postInstall = ''
|
||||
moveToOutput bin/bind9-config $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 = {
|
||||
|
@ -127,7 +127,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = http://munin-monitoring.org/;
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.iElectric maintainers.bjornfor ];
|
||||
maintainers = [ maintainers.domenkozar maintainers.bjornfor ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -57,8 +57,8 @@ in {
|
||||
};
|
||||
|
||||
owncloud90 = common {
|
||||
versiona = "9.0.0";
|
||||
sha256 = "0z57lc6z1h7yn1sa26q8qnhjxyjn0ydy3mf4yy4i9a3p198kfryi";
|
||||
versiona = "9.0.2";
|
||||
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