0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 21:50:33 +03:00

Merge remote-tracking branch 'origin/master' into staging

This commit is contained in:
Eelco Dolstra 2016-09-29 13:06:14 +02:00
commit 518340624d
59 changed files with 569 additions and 280 deletions

View file

@ -389,8 +389,8 @@
skeidel = "Sven Keidel <svenkeidel@gmail.com>"; skeidel = "Sven Keidel <svenkeidel@gmail.com>";
skrzyp = "Jakub Skrzypnik <jot.skrzyp@gmail.com>"; skrzyp = "Jakub Skrzypnik <jot.skrzyp@gmail.com>";
sleexyz = "Sean Lee <freshdried@gmail.com>"; sleexyz = "Sean Lee <freshdried@gmail.com>";
smironov = "Sergey Mironov <ierton@gmail.com>";
solson = "Scott Olson <scott@solson.me>"; solson = "Scott Olson <scott@solson.me>";
smironov = "Sergey Mironov <grrwlf@gmail.com>";
spacefrogg = "Michael Raitza <spacefrogg-nixos@meterriblecrew.net>"; spacefrogg = "Michael Raitza <spacefrogg-nixos@meterriblecrew.net>";
spencerjanssen = "Spencer Janssen <spencerjanssen@gmail.com>"; spencerjanssen = "Spencer Janssen <spencerjanssen@gmail.com>";
spinus = "Tomasz Czyż <tomasz.czyz@gmail.com>"; spinus = "Tomasz Czyż <tomasz.czyz@gmail.com>";

View file

@ -94,14 +94,11 @@ let
"--stringparam chunk.toc ${toc}" "--stringparam chunk.toc ${toc}"
]; ];
olinkDB = stdenv.mkDerivation { olinkDB = runCommand "manual-olinkdb"
name = "manual-olinkdb"; { inherit sources;
buildInputs = [ libxml2 libxslt ];
inherit sources; }
''
buildInputs = [ libxml2 libxslt ];
buildCommand = ''
${copySources} ${copySources}
xsltproc \ xsltproc \
@ -133,15 +130,14 @@ let
</targetset> </targetset>
EOF EOF
''; '';
};
in rec { in rec {
# The NixOS options in JSON format. # The NixOS options in JSON format.
optionsJSON = stdenv.mkDerivation { optionsJSON = runCommand "options-json"
name = "options-json"; { meta.description = "List of NixOS options in JSON format";
}
buildCommand = '' ''
# Export list of options in different format. # Export list of options in different format.
dst=$out/share/doc/nixos dst=$out/share/doc/nixos
mkdir -p $dst mkdir -p $dst
@ -154,18 +150,14 @@ in rec {
echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products
''; # */ ''; # */
meta.description = "List of NixOS options in JSON format";
};
# Generate the NixOS manual. # Generate the NixOS manual.
manual = stdenv.mkDerivation { manual = runCommand "nixos-manual"
name = "nixos-manual"; { inherit sources;
buildInputs = [ libxml2 libxslt ];
inherit sources; meta.description = "The NixOS manual in HTML format";
allowedReferences = ["out"];
buildInputs = [ libxml2 libxslt ]; }
''
buildCommand = ''
${copySources} ${copySources}
# Check the validity of the manual sources. # Check the validity of the manual sources.
@ -192,20 +184,12 @@ in rec {
echo "doc manual $dst" >> $out/nix-support/hydra-build-products echo "doc manual $dst" >> $out/nix-support/hydra-build-products
''; # */ ''; # */
meta.description = "The NixOS manual in HTML format";
allowedReferences = ["out"]; manualEpub = runCommand "nixos-manual-epub"
}; { inherit sources;
buildInputs = [ libxml2 libxslt zip ];
}
manualEpub = stdenv.mkDerivation { ''
name = "nixos-manual-epub";
inherit sources;
buildInputs = [ libxml2 libxslt zip ];
buildCommand = ''
${copySources} ${copySources}
# Check the validity of the manual sources. # Check the validity of the manual sources.
@ -234,17 +218,15 @@ in rec {
mkdir -p $out/nix-support mkdir -p $out/nix-support
echo "doc-epub manual $manual" >> $out/nix-support/hydra-build-products echo "doc-epub manual $manual" >> $out/nix-support/hydra-build-products
''; '';
};
# Generate the NixOS manpages. # Generate the NixOS manpages.
manpages = stdenv.mkDerivation { manpages = runCommand "nixos-manpages"
name = "nixos-manpages"; { inherit sources;
buildInputs = [ libxml2 libxslt ];
inherit sources; allowedReferences = ["out"];
}
buildInputs = [ libxml2 libxslt ]; ''
buildCommand = ''
${copySources} ${copySources}
# Check the validity of the man pages sources. # Check the validity of the man pages sources.
@ -264,7 +246,4 @@ in rec {
./man-pages.xml ./man-pages.xml
''; '';
allowedReferences = ["out"];
};
} }

View file

@ -3,26 +3,27 @@
with lib; with lib;
let let
cfg = config.i18n.inputMethod; cfg = config.i18n.inputMethod;
gtk2_cache = pkgs.stdenv.mkDerivation {
preferLocalBuild = true; gtk2_cache = pkgs.runCommand "gtk2-immodule.cache"
allowSubstitutes = false; { preferLocalBuild = true;
name = "gtk2-immodule.cache"; allowSubstitutes = false;
buildInputs = [ pkgs.gtk2 cfg.package ]; buildInputs = [ pkgs.gtk2 cfg.package ];
buildCommand = '' }
''
mkdir -p $out/etc/gtk-2.0/ mkdir -p $out/etc/gtk-2.0/
GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache
''; '';
};
gtk3_cache = pkgs.stdenv.mkDerivation { gtk3_cache = pkgs.runCommand "gtk3-immodule.cache"
preferLocalBuild = true; { preferLocalBuild = true;
allowSubstitutes = false; allowSubstitutes = false;
name = "gtk3-immodule.cache"; buildInputs = [ pkgs.gtk3 cfg.package ];
buildInputs = [ pkgs.gtk3 cfg.package ]; }
buildCommand = '' ''
mkdir -p $out/etc/gtk-3.0/ mkdir -p $out/etc/gtk-3.0/
GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache
''; '';
};
in in
{ {
options.i18n = { options.i18n = {

View file

@ -96,15 +96,13 @@ with lib;
''; '';
in in
pkgs.stdenv.mkDerivation { pkgs.runCommand pkg.name
inherit (pkg) name meta; { inherit (pkg) meta; }
''
buildCommand = ''
mkdir -p $out mkdir -p $out
cp -prf ${pkg}/* $out/ cp -prf ${pkg}/* $out/
chmod a+w $out/share/apps/plasma-desktop/init chmod a+w $out/share/apps/plasma-desktop/init
cp -f ${plasmaInit} $out/share/apps/plasma-desktop/init/00-defaultLayout.js cp -f ${plasmaInit} $out/share/apps/plasma-desktop/init/00-defaultLayout.js
''; '';
};
} }

View file

@ -16,7 +16,7 @@ let
# programmable completion. If we do, enable all modules installed in # programmable completion. If we do, enable all modules installed in
# the system (and user profile). # the system (and user profile).
if shopt -q progcomp &>/dev/null; then if shopt -q progcomp &>/dev/null; then
. "${pkgs.bashCompletion}/etc/profile.d/bash_completion.sh" . "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh"
nullglobStatus=$(shopt -p nullglob) nullglobStatus=$(shopt -p nullglob)
shopt -s nullglob shopt -s nullglob
for p in $NIX_PROFILES; do for p in $NIX_PROFILES; do

View file

@ -32,13 +32,11 @@ let
''; '';
# Perform substitutions in all udev rules files. # Perform substitutions in all udev rules files.
udevRules = stdenv.mkDerivation { udevRules = pkgs.runCommand "udev-rules"
name = "udev-rules"; { preferLocalBuild = true;
allowSubstitutes = false;
preferLocalBuild = true; }
allowSubstitutes = false; ''
buildCommand = ''
mkdir -p $out mkdir -p $out
shopt -s nullglob shopt -s nullglob
set +o pipefail set +o pipefail
@ -130,15 +128,12 @@ let
ln -s /dev/null $out/80-drivers.rules ln -s /dev/null $out/80-drivers.rules
''} ''}
''; # */ ''; # */
};
hwdbBin = stdenv.mkDerivation { hwdbBin = pkgs.runCommand "hwdb.bin"
name = "hwdb.bin"; { preferLocalBuild = true;
allowSubstitutes = false;
preferLocalBuild = true; }
allowSubstitutes = false; ''
buildCommand = ''
mkdir -p etc/udev/hwdb.d mkdir -p etc/udev/hwdb.d
for i in ${toString ([udev] ++ cfg.packages)}; do for i in ${toString ([udev] ++ cfg.packages)}; do
echo "Adding hwdb files for package $i" echo "Adding hwdb files for package $i"
@ -151,7 +146,6 @@ let
${udev}/bin/udevadm hwdb --update --root=$(pwd) ${udev}/bin/udevadm hwdb --update --root=$(pwd)
mv etc/udev/hwdb.bin $out mv etc/udev/hwdb.bin $out
''; '';
};
# Udev has a 512-character limit for ENV{PATH}, so create a symlink # Udev has a 512-character limit for ENV{PATH}, so create a symlink
# tree to work around this. # tree to work around this.

View file

@ -20,13 +20,11 @@ let
"<includedir>${d}/etc/dbus-1/session.d</includedir>" "<includedir>${d}/etc/dbus-1/session.d</includedir>"
])); ]));
configDir = pkgs.stdenv.mkDerivation { configDir = pkgs.runCommand "dbus-conf"
name = "dbus-conf"; { preferLocalBuild = true;
allowSubstitutes = false;
preferLocalBuild = true; }
allowSubstitutes = false; ''
buildCommand = ''
mkdir -p $out mkdir -p $out
sed '${./dbus-system-local.conf.in}' \ sed '${./dbus-system-local.conf.in}' \
@ -38,7 +36,6 @@ let
-e 's,@extra@,${sessionExtraxml},' \ -e 's,@extra@,${sessionExtraxml},' \
> "$out/session-local.conf" > "$out/session-local.conf"
''; '';
};
in in

View file

@ -63,6 +63,10 @@ let
cp -r * $out cp -r * $out
cp ${moodleConfig} $out/config.php cp ${moodleConfig} $out/config.php
''; '';
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
meta.broken = true;
}; };
in in

View file

@ -25,9 +25,8 @@ let
''; '';
}; };
nixos-gsettings-desktop-schemas = pkgs.stdenv.mkDerivation { nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" {}
name = "nixos-gsettings-desktop-schemas"; ''
buildCommand = ''
mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
cp -rf ${gnome3.gsettings_desktop_schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas cp -rf ${gnome3.gsettings_desktop_schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas
@ -46,7 +45,6 @@ let
${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/ ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/
''; '';
};
in { in {

View file

@ -54,19 +54,17 @@ let
''} ''}
''; '';
kdmrc = pkgs.stdenv.mkDerivation { kdmrc = pkgs.runCommand "kdmrc"
name = "kdmrc"; { config = defaultConfig + cfg.extraConfig;
config = defaultConfig + cfg.extraConfig; preferLocalBuild = true;
preferLocalBuild = true; }
buildCommand = ''
'' echo "$config" > $out
echo "$config" > $out
# The default kdmrc would add "-nolisten tcp", and we already # The default kdmrc would add "-nolisten tcp", and we already
# have that managed by nixos. Hence the grep. # have that managed by nixos. Hence the grep.
cat ${kdebase_workspace}/share/config/kdm/kdmrc | grep -v nolisten >> $out cat ${kdebase_workspace}/share/config/kdm/kdmrc | grep -v nolisten >> $out
''; '';
};
in in

View file

@ -16,11 +16,9 @@ let
# The default greeter provided with this expression is the GTK greeter. # The default greeter provided with this expression is the GTK greeter.
# Again, we need a few things in the environment for the greeter to run with # Again, we need a few things in the environment for the greeter to run with
# fonts/icons. # fonts/icons.
wrappedGtkGreeter = stdenv.mkDerivation { wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter"
name = "lightdm-gtk-greeter"; { buildInputs = [ pkgs.makeWrapper ]; }
buildInputs = [ pkgs.makeWrapper ]; ''
buildCommand = ''
# This wrapper ensures that we actually get themes # This wrapper ensures that we actually get themes
makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \ makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \
$out/greeter \ $out/greeter \
@ -40,7 +38,6 @@ let
Type=Application Type=Application
EOF EOF
''; '';
};
gtkGreeterConf = writeText "lightdm-gtk-greeter.conf" gtkGreeterConf = writeText "lightdm-gtk-greeter.conf"
'' ''

View file

@ -26,15 +26,13 @@ let
# Unpack the SLiM theme, or use the default. # Unpack the SLiM theme, or use the default.
slimThemesDir = slimThemesDir =
let let
unpackedTheme = pkgs.stdenv.mkDerivation { unpackedTheme = pkgs.runCommand "slim-theme" {}
name = "slim-theme"; ''
buildCommand = ''
mkdir -p $out mkdir -p $out
cd $out cd $out
unpackFile ${cfg.theme} unpackFile ${cfg.theme}
ln -s * default ln -s * default
''; '';
};
in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme; in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme;
in in

View file

@ -71,15 +71,11 @@ let
monitors = reverseList (foldl mkMonitor [] xrandrHeads); monitors = reverseList (foldl mkMonitor [] xrandrHeads);
in concatMapStrings (getAttr "value") monitors; in concatMapStrings (getAttr "value") monitors;
configFile = pkgs.stdenv.mkDerivation { configFile = pkgs.runCommand "xserver.conf"
name = "xserver.conf"; { xfs = optionalString (cfg.useXFS != false)
''FontPath "${toString cfg.useXFS}"'';
xfs = optionalString (cfg.useXFS != false) inherit (cfg) config;
''FontPath "${toString cfg.useXFS}"''; }
inherit (cfg) config;
buildCommand =
'' ''
echo 'Section "Files"' >> $out echo 'Section "Files"' >> $out
echo $xfs >> $out echo $xfs >> $out
@ -102,7 +98,6 @@ let
echo "$config" >> $out echo "$config" >> $out
''; # */ ''; # */
};
in in

View file

@ -134,10 +134,9 @@ let
''; # */ ''; # */
udevRules = pkgs.stdenv.mkDerivation { udevRules = pkgs.runCommand "udev-rules"
name = "udev-rules"; { allowedReferences = [ extraUtils ]; }
allowedReferences = [ extraUtils ]; ''
buildCommand = ''
mkdir -p $out mkdir -p $out
echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules
@ -176,7 +175,6 @@ let
substituteInPlace $out/60-persistent-storage.rules \ substituteInPlace $out/60-persistent-storage.rules \
--replace ID_CDROM_MEDIA_TRACK_COUNT_DATA ID_CDROM_MEDIA --replace ID_CDROM_MEDIA_TRACK_COUNT_DATA ID_CDROM_MEDIA
''; # */ ''; # */
};
# The init script of boot stage 1 (loading kernel modules for # The init script of boot stage 1 (loading kernel modules for
@ -230,16 +228,12 @@ let
{ object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf; { object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf;
symlink = "/etc/mdadm.conf"; symlink = "/etc/mdadm.conf";
} }
{ object = pkgs.stdenv.mkDerivation { { object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu"
name = "initrd-kmod-blacklist-ubuntu"; { src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; }
builder = pkgs.writeText "builder.sh" '' ''
source $stdenv/setup
target=$out target=$out
${pkgs.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out ${pkgs.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out
''; '';
src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf";
};
symlink = "/etc/modprobe.d/ubuntu.conf"; symlink = "/etc/modprobe.d/ubuntu.conf";
} }
{ object = pkgs.kmod-debian-aliases; { object = pkgs.kmod-debian-aliases;

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pythonPackages, w3m, file }: { stdenv, fetchurl, pythonPackages, w3m, file, less }:
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "ranger-1.7.2"; name = "ranger-1.7.2";
@ -20,6 +20,8 @@ pythonPackages.buildPythonApplication rec {
preConfigure = '' preConfigure = ''
substituteInPlace ranger/ext/img_display.py \ substituteInPlace ranger/ext/img_display.py \
--replace /usr/lib/w3m ${w3m}/libexec/w3m --replace /usr/lib/w3m ${w3m}/libexec/w3m
substituteInPlace ranger/__init__.py \
--replace "DEFAULT_PAGER = 'less'" "DEFAULT_PAGER = '${stdenv.lib.getBin less}/bin/less'"
for i in ranger/config/rc.conf doc/config/rc.conf ; do for i in ranger/config/rc.conf doc/config/rc.conf ; do
substituteInPlace $i --replace /usr/share $out/share substituteInPlace $i --replace /usr/share $out/share

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo { stdenv, fetchurl, rpm, cpio, mesa_noglu, xorg, cairo
, libpng, gtk2, glib, gdk_pixbuf, fontconfig, freetype, curl , libpng, gtk2, glib, gdk_pixbuf, fontconfig, freetype, curl
, dbus_glib, alsaLib, libpulseaudio, systemd, pango , dbus_glib, alsaLib, libpulseaudio, systemd, pango
}: }:
@ -10,7 +10,7 @@ let
baseURL = "http://dl.google.com/linux/talkplugin/deb/pool/main/g/google-talkplugin"; baseURL = "http://dl.google.com/linux/talkplugin/deb/pool/main/g/google-talkplugin";
rpathPlugin = makeLibraryPath rpathPlugin = makeLibraryPath
[ mesa [ mesa_noglu
xorg.libXt xorg.libXt
xorg.libX11 xorg.libX11
xorg.libXrender xorg.libXrender

View file

@ -84,5 +84,8 @@ stdenv.mkDerivation rec {
homepage = http://www.opera.com; homepage = http://www.opera.com;
description = "Web browser"; description = "Web browser";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
}; };
} }

View file

@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
preConfigure = '' preConfigure = ''
substituteInPlace src/Makefile.am --subst-var-by mavenRepo ${mavenRepo} substituteInPlace src/Makefile.am --subst-var-by mavenRepo ${mavenRepo}
substituteInPlace 3rdparty/libprocess/include/process/subprocess.hpp \ substituteInPlace 3rdparty/libprocess/include/process/subprocess.hpp \
--replace '"sh"' '"${bash}/bin/bash"' --replace '"sh"' '"${bash}/bin/bash"'
@ -64,7 +64,7 @@ in stdenv.mkDerivation rec {
substituteInPlace src/launcher/executor.cpp \ substituteInPlace src/launcher/executor.cpp \
--replace '"sh"' '"${bash}/bin/bash"' --replace '"sh"' '"${bash}/bin/bash"'
substituteInPlace src/launcher/fetcher.cpp \ substituteInPlace src/launcher/fetcher.cpp \
--replace '"gzip' '"${gzip}/bin/gzip' \ --replace '"gzip' '"${gzip}/bin/gzip' \
--replace '"tar' '"${gnutar}/bin/tar' \ --replace '"tar' '"${gnutar}/bin/tar' \
@ -72,7 +72,7 @@ in stdenv.mkDerivation rec {
substituteInPlace src/python/cli/src/mesos/cli.py \ substituteInPlace src/python/cli/src/mesos/cli.py \
--replace "['mesos-resolve'" "['$out/bin/mesos-resolve'" --replace "['mesos-resolve'" "['$out/bin/mesos-resolve'"
substituteInPlace src/slave/containerizer/mesos/launch.cpp \ substituteInPlace src/slave/containerizer/mesos/launch.cpp \
--replace '"sh"' '"${bash}/bin/bash"' --replace '"sh"' '"${bash}/bin/bash"'
@ -83,7 +83,7 @@ in stdenv.mkDerivation rec {
substituteInPlace src/linux/perf.cpp \ substituteInPlace src/linux/perf.cpp \
--replace '"perf ' '"${perf}/bin/perf ' --replace '"perf ' '"${perf}/bin/perf '
substituteInPlace src/linux/systemd.cpp \ substituteInPlace src/linux/systemd.cpp \
--replace 'os::realpath("/sbin/init")' '"${systemd}/lib/systemd/systemd"' --replace 'os::realpath("/sbin/init")' '"${systemd}/lib/systemd/systemd"'
@ -180,5 +180,8 @@ in stdenv.mkDerivation rec {
description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks"; description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
maintainers = with maintainers; [ cstrahan kevincox offline rushmorem ]; maintainers = with maintainers; [ cstrahan kevincox offline rushmorem ];
platforms = platforms.linux; platforms = platforms.linux;
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
}; };
} }

View file

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, go }: { stdenv, fetchFromGitHub, go }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.14.6"; version = "0.14.7";
name = "syncthing-${version}"; name = "syncthing-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "1w8a46c6r3rddfl9xbx7j2mavai4dm9h8flpm4qr0bsd6whf60hz"; sha256 = "1mcn2vmv3hvp0ni9jxbjj3qp0l6ls07qmq33amhvjhpfafqzn279";
}; };
buildInputs = [ go ]; buildInputs = [ go ];

View file

@ -11,12 +11,11 @@ stdenv.mkDerivation {
patchPhase = '' patchPhase = ''
patchShebangs ./script/ patchShebangs ./script/
''; '';
builder = builtins.toFile "builder.sh" '' buildPhase = ''
source $stdenv/setup
mkdir -p $out/bin
cp -r $src/* .
chmod -R +w src
./script/mlton.sh ./script/mlton.sh
'';
installPhase = ''
mkdir -p $out/bin
mv ./bin/redprl $out/bin mv ./bin/redprl $out/bin
''; '';
meta = { meta = {

View file

@ -67,5 +67,8 @@ in stdenv.mkDerivation rec {
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.garbas ]; maintainers = [ maintainers.garbas ];
license = licenses.gpl2; license = licenses.gpl2;
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
}; };
} }

View file

@ -62,5 +62,8 @@ pythonPackages.buildPythonApplication rec {
description = "Virtual network service for Openstack"; description = "Virtual network service for Openstack";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
}; };
} }

View file

@ -97,12 +97,16 @@ rec {
done < graph done < graph
''; '';
# Quickly create a set of symlinks to derivations. # Quickly create a set of symlinks to derivations.
# entries is a list of attribute sets like { name = "name" ; path = "/nix/store/..."; } # entries is a list of attribute sets like { name = "name" ; path = "/nix/store/..."; }
linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" + linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" +
(lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries)); (lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries));
# Require file
# Print an error message if the file with the specified name and
# hash doesn't exist in the Nix store. Do not use this function; it
# produces packages that cannot be built automatically.
requireFile = { name ? null requireFile = { name ? null
, sha256 ? null , sha256 ? null
, sha1 ? null , sha1 ? null
@ -115,8 +119,8 @@ rec {
let msg = let msg =
if message != null then message if message != null then message
else '' else ''
Unfortunately, we may not download file ${name_} automatically. Unfortunately, we cannot download file ${name_} automatically.
Please, go to ${url} to download it yourself, and add it to the Nix store Please go to ${url} to download it yourself, and add it to the Nix store
using either using either
nix-store --add-fixed ${hashAlgo} ${name_} nix-store --add-fixed ${hashAlgo} ${name_}
or or
@ -143,30 +147,6 @@ rec {
''; '';
}; };
# Search in the environment if the same program exists with a set uid or
# set gid bit. If it exists, run the first program found, otherwise run
# the default binary.
useSetUID = drv: path:
let
name = baseNameOf path;
bin = "${drv}${path}";
in assert name != "";
writeScript "setUID-${name}" ''
#!${stdenv.shell}
inode=$(stat -Lc %i ${bin})
for file in $(type -ap ${name}); do
case $(stat -Lc %a $file) in
([2-7][0-7][0-7][0-7])
if test -r "$file".real; then
orig=$(cat "$file".real)
if test $inode = $(stat -Lc %i "$orig"); then
exec "$file" "$@"
fi
fi;;
esac
done
exec ${bin} "$@"
'';
# Copy a path to the Nix store. # Copy a path to the Nix store.
# Nix automatically copies files to the store before stringifying paths. # Nix automatically copies files to the store before stringifying paths.
@ -174,6 +154,7 @@ rec {
# shortened to ${<path>}. # shortened to ${<path>}.
copyPathToStore = builtins.filterSource (p: t: true); copyPathToStore = builtins.filterSource (p: t: true);
# Copy a list of paths to the Nix store. # Copy a list of paths to the Nix store.
copyPathsToStore = builtins.map copyPathToStore; copyPathsToStore = builtins.map copyPathToStore;

View file

@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
}; };
makeFlags = [ "MANDIR=$(out)/share/man" ]; makeFlags = [ "MANDIR=$(out)/share/man" ];
outputDocdev = "out";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Linux development manual pages"; description = "Linux development manual pages";

View file

@ -4,25 +4,27 @@
, base , base
, lib , lib
, idris , idris
}: build-idris-package { }:
name = "wl-pprint"; build-idris-package {
name = "wl-pprint-2016-09-28";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "shayan-najd"; owner = "shayan-najd";
repo = "wl-pprint"; repo = "wl-pprint";
rev = "120f654b0b9838b57e10b163d3562d959439fb07"; rev = "4cc88a0865620a3b997863e4167d3b98e1a41b52";
sha256 = "1yymdl251zla6hv9rcg06x73gbp6xb0n6f6a02bsy5fqfmrfngcl"; sha256 = "1yxxh366k5njad75r0xci2q5c554cddvzgrwk43b0xn8rq0vm11x";
}; };
# The tests for this package fail. We should attempt to enable them when
# updating this package again.
doCheck = false;
propagatedBuildInputs = [ prelude base ]; propagatedBuildInputs = [ prelude base ];
meta = { meta = {
description = "Wadler-Leijen pretty-printing library"; description = "Wadler-Leijen pretty-printing library";
homepage = https://github.com/shayan-najd/wl-pprint; homepage = https://github.com/shayan-najd/wl-pprint;
license = lib.licenses.bsd2; license = lib.licenses.bsd2;
inherit (idris.meta) platforms; inherit (idris.meta) platforms;
}; };
} }

View file

@ -45,6 +45,8 @@ stdenv.mkDerivation rec {
license = licenses.boost; license = licenses.boost;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ ]; maintainers = [ ];
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
}; };
} }

View file

@ -2,15 +2,17 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fribidi-${version}"; name = "fribidi-${version}";
version = "0.19.6"; version = "0.19.7";
src = fetchurl { src = fetchurl {
url = "http://fribidi.org/download/${name}.tar.bz2"; url = "http://fribidi.org/download/${name}.tar.bz2";
sha256 = "0zg1hpaml34ny74fif97j7ngrshlkl3wk3nja3gmlzl17i1bga6b"; sha256 = "13jsb5qadlhsaxkbrb49nqslmbh904vvzhsm5mm2ghmv29i2l8h8";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
outputs = [ "out" "devdoc" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://fribidi.org/; homepage = http://fribidi.org/;
description = "GNU implementation of the Unicode Bidirectional Algorithm (bidi)"; description = "GNU implementation of the Unicode Bidirectional Algorithm (bidi)";

View file

@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
patch -p1 < ${./gcc-4.9.patch} patch -p1 < ${./gcc-4.9.patch}
''; '';
outputs = [ "out" "dev" ];
# TODO : v4l, libvisual # TODO : v4l, libvisual
buildInputs = buildInputs =
[ pkgconfig glib cairo orc ] [ pkgconfig glib cairo orc ]

View file

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci"; sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci";
}; };
outputs = [ "out" "dev" ];
buildInputs = [ perl bison flex pkgconfig ]; buildInputs = [ perl bison flex pkgconfig ];
propagatedBuildInputs = [ glib libxml2 ] ++ libintlOrEmpty; propagatedBuildInputs = [ glib libxml2 ] ++ libintlOrEmpty;

View file

@ -1,8 +1,9 @@
{ stdenv, fetchgit, cmake, pkgconfig, gtk3 }: { stdenv, fetchgit, cmake, pkgconfig, gtk3, darwin }:
let let
shortName = "libui"; shortName = "libui";
version = "3.1a"; version = "3.1a";
backend = if stdenv.isDarwin then "darwin" else "unix";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${shortName}-${version}"; name = "${shortName}-${version}";
@ -12,27 +13,42 @@ in
sha256 = "1lpbfa298c61aarlzgp7vghrmxg1274pzxh1j9isv8x758gk6mfn"; sha256 = "1lpbfa298c61aarlzgp7vghrmxg1274pzxh1j9isv8x758gk6mfn";
}; };
buildInputs = [ cmake pkgconfig gtk3 ]; buildInputs = [ cmake pkgconfig ] ++
(if stdenv.isDarwin then [darwin.apple_sdk.frameworks.Cocoa] else [gtk3]);
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's/set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")//' ./CMakeLists.txt
'';
cmakeFlags = stdenv.lib.optionals stdenv.isDarwin [
"-DCMAKE_OSX_SYSROOT="
"-DCMAKE_OSX_DEPLOYMENT_TARGET="
];
installPhase = '' installPhase = ''
mkdir -p $out/{include,lib} mkdir -p $out/{include,lib}
mkdir -p $out/lib/pkgconfig mkdir -p $out/lib/pkgconfig
'' + stdenv.lib.optionalString stdenv.isLinux ''
mv ./out/${shortName}.so.0 $out/lib/ mv ./out/${shortName}.so.0 $out/lib/
ln -s $out/lib/${shortName}.so.0 $out/lib/${shortName}.so ln -s $out/lib/${shortName}.so.0 $out/lib/${shortName}.so
'' + stdenv.lib.optionalString stdenv.isDarwin ''
mv ./out/${shortName}.A.dylib $out/lib/
ln -s $out/lib/${shortName}.A.dylib $out/lib/${shortName}.dylib
'' + ''
cp $src/ui.h $out/include cp $src/ui.h $out/include
cp $src/ui_unix.h $out/include cp $src/ui_${backend}.h $out/include
cp ${./libui.pc} $out/lib/pkgconfig/${shortName}.pc cp ${./libui.pc} $out/lib/pkgconfig/${shortName}.pc
substituteInPlace $out/lib/pkgconfig/${shortName}.pc \ substituteInPlace $out/lib/pkgconfig/${shortName}.pc \
--subst-var-by out $out \ --subst-var-by out $out \
--subst-var-by version "${version}" --subst-var-by version "${version}"
''; '';
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
install_name_tool -id $out/lib/${shortName}.A.dylib $out/lib/${shortName}.A.dylib
'';
meta = { meta = {
homepage = https://github.com/andlabs/libui; homepage = https://github.com/andlabs/libui;
description = "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports."; description = "Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.";
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.unix;
}; };
} }

View file

@ -10,10 +10,21 @@ stdenv.mkDerivation {
sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7"; sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7";
}; };
outputs = [ "out" "dev" ];
nativeBuildInputs = [ cmake pkgconfig automoc4 ]; nativeBuildInputs = [ cmake pkgconfig automoc4 ];
propagatedBuildInputs = [ polkit glib qt4 ]; propagatedBuildInputs = [ polkit glib qt4 ];
postFixup =
''
for i in $dev/lib/cmake/*/*.cmake; do
echo "fixing $i"
substituteInPlace $i \
--replace "\''${PACKAGE_PREFIX_DIR}/lib" $out/lib
done
'';
meta = { meta = {
description = "A Qt wrapper around PolKit"; description = "A Qt wrapper around PolKit";
maintainers = with stdenv.lib.maintainers; [ ttuegel ]; maintainers = with stdenv.lib.maintainers; [ ttuegel ];

View file

@ -36,6 +36,12 @@ stdenv.mkDerivation rec {
sha256 = "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272"; sha256 = "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272";
}; };
outputs = [ "out" "dev" ];
outputInclude = "out";
setOutputFlags = false;
# The version property must be kept because it will be included into the QtSDK package name # The version property must be kept because it will be included into the QtSDK package name
version = vers; version = vers;
@ -87,8 +93,8 @@ stdenv.mkDerivation rec {
-docdir $out/share/doc/${name} -docdir $out/share/doc/${name}
-plugindir $out/lib/qt4/plugins -plugindir $out/lib/qt4/plugins
-importdir $out/lib/qt4/imports -importdir $out/lib/qt4/imports
-examplesdir $out/share/doc/${name}/examples -examplesdir $TMPDIR/share/doc/${name}/examples
-demosdir $out/share/doc/${name}/demos -demosdir $TMPDIR/share/doc/${name}/demos
-datadir $out/share/${name} -datadir $out/share/${name}
-translationdir $out/share/${name}/translations -translationdir $out/share/${name}/translations
" "
@ -98,6 +104,7 @@ stdenv.mkDerivation rec {
''; '';
prefixKey = "-prefix "; prefixKey = "-prefix ";
configureFlags = configureFlags =
'' ''
-v -no-separate-debug-info -release -no-fast -confirm-license -opensource -v -no-separate-debug-info -release -no-fast -confirm-license -opensource
@ -153,6 +160,11 @@ stdenv.mkDerivation rec {
sed -i 's/^\(LIBS[[:space:]]*=.*$\)/\1 -lobjc/' ./src/corelib/Makefile.Release sed -i 's/^\(LIBS[[:space:]]*=.*$\)/\1 -lobjc/' ./src/corelib/Makefile.Release
''; '';
postInstall =
''
rm -rf $out/tests
'';
crossAttrs = let crossAttrs = let
isMingw = stdenv.cross.libc == "msvcrt"; isMingw = stdenv.cross.libc == "msvcrt";
in { in {

View file

@ -3,11 +3,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "global-6.5.4"; name = "global-${version}";
version = "6.5.5";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/global/${name}.tar.gz"; url = "mirror://gnu/global/${name}.tar.gz";
sha256 = "19hxajpwld6qx0faz4rzyh1hfs25ycjmws6bas8pavx4hskf05mg"; sha256 = "0yyg91qw8399lnxfai4bxkh9yq71qdwp9kvadgzp05cdqni44nxw";
}; };
nativeBuildInputs = [ libtool makeWrapper ]; nativeBuildInputs = [ libtool makeWrapper ];
@ -51,7 +52,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = http://www.gnu.org/software/global/; homepage = http://www.gnu.org/software/global/;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ pSub ]; maintainers = with maintainers; [ pSub peterhoeg ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View file

@ -0,0 +1,52 @@
{ fetchgit, pkgconfig, gettext, runCommand, makeWrapper
, elfutils, kernel, gnumake }:
let
## fetchgit info
url = git://sourceware.org/git/systemtap.git;
rev = "a10bdceb7c9a7dc52c759288dd2e555afcc5184a";
sha256 = "1kllzfnh4ksis0673rma5psglahl6rvy0xs5v05qkqn6kl7irmg1";
version = "2016-09-16";
inherit (kernel) stdenv;
inherit (stdenv) lib;
## stap binaries
stapBuild = stdenv.mkDerivation {
name = "systemtap-${version}";
src = fetchgit { inherit url rev sha256; };
buildInputs = [ elfutils pkgconfig gettext ];
enableParallelBuilding = true;
};
## a kernel build dir as expected by systemtap
kernelBuildDir = runCommand "kbuild-${kernel.version}-merged" { } ''
mkdir -p $out
for f in \
${kernel}/System.map \
${kernel.dev}/vmlinux \
${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/{*,.*}
do
ln -s $(readlink -f $f) $out
done
'';
in runCommand "systemtap-${kernel.version}-${version}" {
inherit stapBuild kernelBuildDir;
buildInputs = [ makeWrapper ];
meta = {
homepage = https://sourceware.org/systemtap/;
repositories.git = url;
description = "Provides a scripting language for instrumentation on a live kernel plus user-space";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
} ''
mkdir -p $out/bin
for bin in $stapBuild/bin/*; do # hello emacs */
ln -s $bin $out/bin
done
rm $out/bin/stap
makeWrapper $stapBuild/bin/stap $out/bin/stap \
--add-flags "-r $kernelBuildDir" \
--prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc elfutils gnumake ]}
''

View file

@ -139,4 +139,13 @@ rec {
}; };
cpu-cgroup-v2 = import ./cpu-cgroup-v2-patches; cpu-cgroup-v2 = import ./cpu-cgroup-v2-patches;
lguest_entry-linkage =
{ name = "lguest-asmlinkage.patch";
patch = fetchpatch {
url = "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git"
+ "/patch/drivers/lguest/x86/core.c?id=cdd77e87eae52";
sha256 = "04xlx6al10cw039av6jkby7gx64zayj8m1k9iza40sw0fydcfqhc";
};
};
} }

View file

@ -1,6 +1,32 @@
{stdenv, fetchurl, makeWrapper, useSetUID, dbus, libxml2, pam, pkgconfig, pmount, pythonPackages}: { stdenv, fetchurl, makeWrapper, useSetUID, dbus, libxml2, pam, pkgconfig, pmount, pythonPackages, writeScript }:
let let
# Search in the environment if the same program exists with a set uid or
# set gid bit. If it exists, run the first program found, otherwise run
# the default binary.
useSetUID = drv: path:
let
name = baseNameOf path;
bin = "${drv}${path}";
in assert name != "";
writeScript "setUID-${name}" ''
#!${stdenv.shell}
inode=$(stat -Lc %i ${bin})
for file in $(type -ap ${name}); do
case $(stat -Lc %a $file) in
([2-7][0-7][0-7][0-7])
if test -r "$file".real; then
orig=$(cat "$file".real)
if test $inode = $(stat -Lc %i "$orig"); then
exec "$file" "$@"
fi
fi;;
esac
done
exec ${bin} "$@"
'';
pmountBin = useSetUID pmount "/bin/pmount"; pmountBin = useSetUID pmount "/bin/pmount";
pumountBin = useSetUID pmount "/bin/pumount"; pumountBin = useSetUID pmount "/bin/pumount";
inherit (pythonPackages) python dbus-python; inherit (pythonPackages) python dbus-python;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rtl8812au-${kernel.version}-${version}"; name = "rtl8812au-${kernel.version}-${version}";
version = "4.2.2-1"; version = "4.3.20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "csssuf"; owner = "Grawp";
repo = "rtl8812au"; repo = "rtl8812au_rtl8821au";
rev = "874906aec694c800bfc29b146737b88dae767832"; rev = "9c5b2978ab079081dd1e981353be681a1cf495de";
sha256 = "14ifhplawipfd6971mxw76dv3ygwc0n8sbz2l3f0vvkin6x88bsj"; sha256 = "0bx1vgs2qldwwhdgklbqz2vy9x4jg7cj3d6w6cpkndkcr7h0m5vz";
}; };
hardeningDisable = [ "pic" ]; hardeningDisable = [ "pic" ];
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "Driver for Realtek 802.11ac, rtl8812au, provides the 8812au mod"; description = "Driver for Realtek 802.11ac, rtl8812au, provides the 8812au mod";
homepage = "https://github.com/csssuf/rtl8812au"; homepage = "https://github.com/Grawp/rtl8812au_rtl8821au";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
platforms = [ "x86_64-linux" "i686-linux" ]; platforms = [ "x86_64-linux" "i686-linux" ];
broken = (kernel.features.grsecurity or false); broken = (kernel.features.grsecurity or false);

View file

@ -57,5 +57,8 @@ stdenv.mkDerivation rec {
homepage = http://www.asterisk.org/; homepage = http://www.asterisk.org/;
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ auntie ]; maintainers = with maintainers; [ auntie ];
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
}; };
} }

View file

@ -25,6 +25,12 @@ stdenv.mkDerivation rec {
sha256 = "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g"; sha256 = "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g";
}; };
patches = [(fetchurl {
url = "https://download.samba.org/pub/samba/patches/security/"
+ "samba-3.6.25-security-2015-12-16.patch";
sha256 = "00dcjcn577825mfdwdp76jfy5kcrqw3s4d5c41gqdq5gfcdbmqdb";
})];
buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ] buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
++ stdenv.lib.optional useKerberos kerberos; ++ stdenv.lib.optional useKerberos kerberos;

View file

@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "groonga-${version}"; name = "groonga-${version}";
version = "6.0.8"; version = "6.0.9";
src = fetchurl { src = fetchurl {
url = "http://packages.groonga.org/source/groonga/${name}.tar.gz"; url = "http://packages.groonga.org/source/groonga/${name}.tar.gz";
sha256 = "05mp6zkavxj87nbx0jr48rpjjcf7fzdczxa93sxp4zq2dsnn5s5r"; sha256 = "1n7kf25yimgy9wy04hv5qvp4rzdzdr0ar92lhwms812qkhp3i4mq";
}; };
buildInputs = with stdenv.lib; [ pkgconfig mecab kytea libedit ] ++ buildInputs = with stdenv.lib; [ pkgconfig mecab kytea libedit ] ++
@ -24,6 +24,10 @@ stdenv.mkDerivation rec {
${optionalString lz4Support "--with-lz4"} ${optionalString lz4Support "--with-lz4"}
''; '';
doInstallCheck = true;
installCheckPhase = "$out/bin/groonga --version";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://groonga.org/; homepage = http://groonga.org/;
description = "An open-source fulltext search engine and column store"; description = "An open-source fulltext search engine and column store";

View file

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "0dx0lp7cngdchi0772hp93zzn6sdap7z8s3vay3mzb9xgf0sdgy6"; sha256 = "0dx0lp7cngdchi0772hp93zzn6sdap7z8s3vay3mzb9xgf0sdgy6";
}; };
outputs = [ "out" "dev" "doc" ];
buildInputs = [ libxml2 openssl readline gawk ]; buildInputs = [ libxml2 openssl readline gawk ];
CPP = "${stdenv.cc}/bin/gcc -E"; CPP = "${stdenv.cc}/bin/gcc -E";
@ -18,14 +20,22 @@ stdenv.mkDerivation rec {
--enable-openssl=${openssl.dev} --enable-openssl=${openssl.dev}
"; ";
postInstall='' postInstall = ''
echo Moving documentation echo Moving documentation
mkdir -pv $out/share/doc mkdir -pv $out/share/doc
mv -v $out/share/virtuoso/doc $out/share/doc/${name} mv -v $out/share/virtuoso/doc $out/share/doc/${name}
echo Removing jars and empty directories echo Removing jars and empty directories
find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
'';
for f in $out/lib/*.la; do
echo "Fixing $f"
substituteInPlace $f \
--replace "${readline.dev}" "${readline.out}/lib" \
--replace "${openssl.dev}/lib" "${openssl.out}/lib"
done
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "SQL/RDF database used by, e.g., KDE-nepomuk"; description = "SQL/RDF database used by, e.g., KDE-nepomuk";
homepage = http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/; homepage = http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/;

View file

@ -1,22 +0,0 @@
commit a9c556ccad819869a6a5d932aac0a75a99372f08
Author: Barry Warsaw <barry@python.org>
Date: Wed Sep 17 19:32:43 2014 +0300
_init_completion: Handle cword < 0 (LP: #1289597)
Previously only bash 4.3 seemed to provoke this, but now with the
empty command consistency tweak it occurs with earlier as well.
diff --git a/bash_completion b/bash_completion
index 7e01ae4..3bb4bc2 100644
--- a/bash_completion
+++ b/bash_completion
@@ -727,7 +727,7 @@ _init_completion()
fi
done
- [[ $cword -eq 0 ]] && return 1
+ [[ $cword -le 0 ]] && return 1
prev=${words[cword-1]}
[[ ${split-} ]] && _split_longopt && split=true

View file

@ -1,28 +1,21 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "bash-completion-2.1"; name = "bash-completion-${version}";
version = "2.4";
src = fetchurl { src = fetchurl {
url = "http://bash-completion.alioth.debian.org/files/${name}.tar.bz2"; url = "https://github.com/scop/bash-completion/releases/download/${version}/${name}.tar.xz";
sha256 = "0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b"; sha256 = "1xlhd09sb2w3bw8qaypxgkr0782w082mcbx8zf7yzjgy0996pxy0";
}; };
patches = [ ./bash-4.3.patch ];
doCheck = true; doCheck = true;
# nmcli is included in the network-manager package meta = with stdenv.lib; {
postInstall = '' homepage = https://github.com/scop/bash-completion;
rm $out/share/bash-completion/completions/nmcli
'';
meta = {
homepage = "http://bash-completion.alioth.debian.org/";
description = "Programmable completion for the bash shell"; description = "Programmable completion for the bash shell";
license = "GPL"; license = licenses.gpl2Plus;
platforms = platforms.unix;
platforms = stdenv.lib.platforms.unix; maintainers = [ maintainers.peti ];
maintainers = [ stdenv.lib.maintainers.peti ];
}; };
} }

View file

@ -19,7 +19,7 @@
, enableAlternatives ? false , enableAlternatives ? false
, enableCopyArtifacts ? false , enableCopyArtifacts ? false
, bashInteractive, bashCompletion , bashInteractive, bash-completion
}: }:
assert enableAcoustid -> pythonPackages.pyacoustid != null; assert enableAcoustid -> pythonPackages.pyacoustid != null;
@ -70,7 +70,7 @@ let
allEnabledPlugins = pluginsWithoutDeps ++ enabledOptionalPlugins; allEnabledPlugins = pluginsWithoutDeps ++ enabledOptionalPlugins;
testShell = "${bashInteractive}/bin/bash --norc"; testShell = "${bashInteractive}/bin/bash --norc";
completion = "${bashCompletion}/share/bash-completion/bash_completion"; completion = "${bash-completion}/share/bash-completion/bash_completion";
in pythonPackages.buildPythonApplication rec { in pythonPackages.buildPythonApplication rec {
name = "beets-${version}"; name = "beets-${version}";

View file

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "f3-${version}";
version = "6.0";
enableParallelBuilding = true;
src = fetchFromGitHub {
owner = "AltraMayor";
repo = "f3";
rev = "v${version}";
sha256 = "1azi10ba0h9z7m0gmfnyymmfqb8380k9za8hn1rrw1s442hzgnz2";
};
makeFlags = [ "PREFIX=$(out)" ];
patchPhase = "sed -i 's/-oroot -groot//' Makefile";
meta = {
description = "Fight Flash Fraud";
homepage = http://oss.digirati.com.br/f3/;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ makefu ];
};
}

View file

@ -0,0 +1,26 @@
{ stdenv, fetchgit, fuse, pkgconfig, which, attr, pandoc, git }:
stdenv.mkDerivation rec {
name = "mergerfs-${version}";
version = "2.16.1";
# not using fetchFromGitHub because of changelog being built with git log
src = fetchgit {
url = "https://github.com/trapexit/mergerfs";
rev = "refs/tags/${version}";
sha256 = "12fqgk54fnnibqiq82p4g2k6qnw3iy6dd64csmlf73yi67za5iwf";
deepClone = true;
};
buildInputs = [ fuse pkgconfig which attr pandoc git ];
makeFlags = [ "PREFIX=$(out)" "XATTR_AVAILABLE=1" ];
meta = {
description = "A FUSE based union filesystem";
homepage = https://github.com/trapexit/mergerfs;
license = stdenv.lib.licenses.isc;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ makefu ];
};
}

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, xlibsWrapper, mesa}: { stdenv, fetchurl, xlibsWrapper, mesa_noglu }:
let version = "8.3.0"; in let version = "8.3.0"; in
@ -10,7 +10,7 @@ stdenv.mkDerivation {
sha256 = "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1"; sha256 = "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1";
}; };
buildInputs = [xlibsWrapper mesa]; buildInputs = [ xlibsWrapper mesa_noglu ];
configurePhase = "true"; configurePhase = "true";

View file

@ -1,4 +1,4 @@
{ stdenv, fetchzip, fetchgit, bashCompletion { stdenv, fetchzip, fetchgit, bash-completion
, glib, polkit, pkgconfig, intltool, gusb, libusb1, lcms2, sqlite, systemd, dbus , glib, polkit, pkgconfig, intltool, gusb, libusb1, lcms2, sqlite, systemd, dbus
, automake, autoconf, libtool, gtk_doc, which, gobjectIntrospection, argyllcms , automake, autoconf, libtool, gtk_doc, which, gobjectIntrospection, argyllcms
, libgudev, sane-backends }: , libgudev, sane-backends }:
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
''; '';
buildInputs = [ glib polkit pkgconfig intltool gusb libusb1 lcms2 sqlite systemd dbus gobjectIntrospection buildInputs = [ glib polkit pkgconfig intltool gusb libusb1 lcms2 sqlite systemd dbus gobjectIntrospection
bashCompletion argyllcms automake autoconf libgudev sane-backends ]; bash-completion argyllcms automake autoconf libgudev sane-backends ];
postInstall = '' postInstall = ''
mkdir -p $out/etc/bash_completion.d mkdir -p $out/etc/bash_completion.d

View file

@ -0,0 +1,22 @@
{ stdenv, fetchFromGitHub, python3Packages }:
python3Packages.buildPythonApplication rec {
name = "xdxf2slob-unstable-2015-06-30";
src = fetchFromGitHub {
owner = "itkach";
repo = "xdxf2slob";
rev = "6831b93c3db8c73200900fa4ddcb17350a677e1b";
sha256 = "0m3dnc3816ja3kmik1wabb706dkqdf5sxvabwgf2rcrq891xcddd";
};
propagatedBuildInputs = [ python3Packages.PyICU python3Packages.slob ];
meta = with stdenv.lib; {
description = "Tool to convert XDXF dictionary files to slob format";
homepage = https://github.com/itkach/xdxf2slob/;
license = licenses.gpl3;
maintainer = [ maintainers.rycee ];
platforms = platforms.all;
};
}

View file

@ -51,10 +51,9 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Provides a daemon for managing internet connections"; description = "A daemon for managing internet connections";
homepage = "https://connman.net/"; homepage = https://connman.net/;
maintainers = [ maintainers.matejc ]; maintainers = [ maintainers.matejc ];
# tested only on linux, might work on others also
platforms = platforms.linux; platforms = platforms.linux;
license = licenses.gpl2; license = licenses.gpl2;
}; };

View file

@ -0,0 +1,22 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "wol-${version}";
version = "0.7.1";
proj = "wake-on-lan";
enableParallelBuilding = true;
src = fetchurl {
url = "mirror://sourceforge/${proj}/${name}.tar.gz";
sha256 = "08i6l5lr14mh4n3qbmx6kyx7vjqvzdnh3j9yfvgjppqik2dnq270";
};
meta = {
description = "Implements Wake On LAN functionality in a small program";
homepage = https://sourceforge.net/projects/wake-on-lan/;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ makefu ];
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, bzip2, expat, glib, curl, libxml2, python, rpm, openssl, sqlite, file, xz, pcre, bashCompletion }: { stdenv, fetchFromGitHub, cmake, pkgconfig, bzip2, expat, glib, curl, libxml2, python, rpm, openssl, sqlite, file, xz, pcre, bash-completion }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
rev = "0.10.0"; rev = "0.10.0";
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
"set (PYTHON_INSTALL_DIR "$out/${python.sitePackages}")" "set (PYTHON_INSTALL_DIR "$out/${python.sitePackages}")"
''; '';
buildInputs = [ cmake pkgconfig bzip2 expat glib curl libxml2 python rpm openssl sqlite file xz pcre bashCompletion ]; buildInputs = [ cmake pkgconfig bzip2 expat glib curl libxml2 python rpm openssl sqlite file xz pcre bash-completion ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "C implementation of createrepo"; description = "C implementation of createrepo";

View file

@ -3,7 +3,7 @@
, gobjectIntrospection, vala_0_23, gtk_doc, autoreconfHook, autoconf-archive , gobjectIntrospection, vala_0_23, gtk_doc, autoreconfHook, autoconf-archive
, nix, boost , nix, boost
, enableCommandNotFound ? false , enableCommandNotFound ? false
, enableBashCompletion ? false, bashCompletion ? null }: , enableBashCompletion ? false, bash-completion ? null }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "packagekit-${version}"; name = "packagekit-${version}";
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_23 ] buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_23 ]
++ lib.optional enableBashCompletion bashCompletion; ++ lib.optional enableBashCompletion bash-completion;
propagatedBuildInputs = [ sqlite nix boost ]; propagatedBuildInputs = [ sqlite nix boost ];
nativeBuildInputs = [ intltool pkgconfig autoreconfHook autoconf-archive gtk_doc ]; nativeBuildInputs = [ intltool pkgconfig autoreconfHook autoconf-archive gtk_doc ];

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lastpass-cli-${version}"; name = "lastpass-cli-${version}";
version = "0.9.0"; version = "1.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lastpass"; owner = "lastpass";
repo = "lastpass-cli"; repo = "lastpass-cli";
rev = "v${version}"; rev = "v${version}";
sha256 = "1iaz36bcyss2kahhlm92l7yh26rxvs12wnkkh1289yarl5wi0yld"; sha256 = "0hidx2qfr52bwjb6as4fbfa34jqh3zwvrcx590vbsji3bq4g7avb";
}; };
buildInputs = [ buildInputs = [

View file

@ -4,16 +4,16 @@ with rustPlatform;
buildRustPackage rec { buildRustPackage rec {
name = "ripgrep-${version}"; name = "ripgrep-${version}";
version = "0.1.17"; version = "0.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "BurntSushi"; owner = "BurntSushi";
repo = "ripgrep"; repo = "ripgrep";
rev = "${version}"; rev = "${version}";
sha256 = "18bpb1jl9fnipgp9icf1wwzm7934lk0ycbpvzlhvs2873zqhv6a6"; sha256 = "0whw6hqjkf6sysrfv931jaia2hqhy8m9aa5rxax1kygm4snz4j85";
}; };
depsSha256 = "0fzjk5qynxivxmmz7r1za7mzdbdwzwwvxlc5a6cmxmzwnix2lby3"; depsSha256 = "10f7pkgaxwizl7kzhkry7wx1rgm9wsybwkk92myc29s7sqir2mx4";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An untility that combines the usability of The Silver Searcher with the raw speed of grep"; description = "An untility that combines the usability of The Silver Searcher with the raw speed of grep";

View file

@ -24,6 +24,7 @@ doNotDisplayTwice rec {
asciidocFull = asciidoc-full; # added 2014-06-22 asciidocFull = asciidoc-full; # added 2014-06-22
bar = lemonbar; # added 2015-01-16 bar = lemonbar; # added 2015-01-16
bar-xft = lemonbar-xft; # added 2015-01-16 bar-xft = lemonbar-xft; # added 2015-01-16
bashCompletion = bash-completion; # Added 2016-09-28
bridge_utils = bridge-utils; # added 2015-02-20 bridge_utils = bridge-utils; # added 2015-02-20
btrfsProgs = btrfs-progs; # added 2016-01-03 btrfsProgs = btrfs-progs; # added 2016-01-03
bundler_HEAD = bundler; # added 2015-11-15 bundler_HEAD = bundler; # added 2015-11-15

View file

@ -815,6 +815,8 @@ in
ent = callPackage ../tools/misc/ent { }; ent = callPackage ../tools/misc/ent { };
f3 = callPackage ../tools/filesystems/f3 { };
facter = callPackage ../tools/system/facter { facter = callPackage ../tools/system/facter {
ruby = ruby_2_1; ruby = ruby_2_1;
}; };
@ -4175,6 +4177,8 @@ in
wml = callPackage ../development/web/wml { }; wml = callPackage ../development/web/wml { };
wol = callPackage ../tools/networking/wol { };
wring = nodePackages.wring; wring = nodePackages.wring;
wrk = callPackage ../tools/networking/wrk { }; wrk = callPackage ../tools/networking/wrk { };
@ -4230,6 +4234,8 @@ in
xdummy = callPackage ../tools/misc/xdummy { }; xdummy = callPackage ../tools/misc/xdummy { };
xdxf2slob = callPackage ../tools/misc/xdxf2slob { };
xe-guest-utilities = callPackage ../tools/virtualization/xe-guest-utilities { }; xe-guest-utilities = callPackage ../tools/virtualization/xe-guest-utilities { };
xflux = callPackage ../tools/misc/xflux { }; xflux = callPackage ../tools/misc/xflux { };
@ -4333,7 +4339,7 @@ in
interactive = true; interactive = true;
}); });
bashCompletion = callPackage ../shells/bash-completion { }; bash-completion = callPackage ../shells/bash-completion { };
dash = callPackage ../shells/dash { }; dash = callPackage ../shells/dash { };
@ -8295,6 +8301,8 @@ in
menu-cache = callPackage ../development/libraries/menu-cache { }; menu-cache = callPackage ../development/libraries/menu-cache { };
mergerfs = callPackage ../tools/filesystems/mergerfs { };
mesaSupported = lib.elem system lib.platforms.mesaPlatforms; mesaSupported = lib.elem system lib.platforms.mesaPlatforms;
mesaDarwinOr = alternative: if stdenv.isDarwin mesaDarwinOr = alternative: if stdenv.isDarwin
@ -8314,6 +8322,7 @@ in
mesa_drivers = mesaDarwinOr ( mesa_drivers = mesaDarwinOr (
let mo = mesa_noglu.override { let mo = mesa_noglu.override {
grsecEnabled = config.grsecurity or false; grsecEnabled = config.grsecurity or false;
wayland = wayland_1_9; # work-around for #16779
}; };
in mo.drivers in mo.drivers
); );
@ -10678,7 +10687,7 @@ in
}; };
linux_3_10 = callPackage ../os-specific/linux/kernel/linux-3.10.nix { linux_3_10 = callPackage ../os-specific/linux/kernel/linux-3.10.nix {
kernelPatches = with kernelPatches; [ bridge_stp_helper ] kernelPatches = with kernelPatches; [ bridge_stp_helper lguest_entry-linkage ]
++ lib.optionals ((platform.kernelArch or null) == "mips") ++ lib.optionals ((platform.kernelArch or null) == "mips")
[ kernelPatches.mips_fpureg_emu [ kernelPatches.mips_fpureg_emu
kernelPatches.mips_fpu_sigill kernelPatches.mips_fpu_sigill
@ -10867,6 +10876,8 @@ in
sysdig = callPackage ../os-specific/linux/sysdig {}; sysdig = callPackage ../os-specific/linux/sysdig {};
systemtap = callPackage ../development/tools/profiling/systemtap { };
tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
v86d = callPackage ../os-specific/linux/v86d { }; v86d = callPackage ../os-specific/linux/v86d { };

View file

@ -7016,6 +7016,33 @@ in modules // {
}; };
}; };
grip = buildPythonPackage rec {
version = "4.3.2";
name = "grip-${version}";
src = pkgs.fetchFromGitHub {
owner = "joeyespo";
repo = "grip";
rev = "v${version}";
sha256 = "05a169sfaj280k7gibbc1rznjn43l5m6l1gpl6a5cmp5r8827khs";
};
buildInputs = with self; [ pytest responses ];
propagatedBuildInputs = with self; [ docopt flask markdown path-and-address pygments requests2 ];
checkPhase = ''
export PATH="$PATH:$out/bin"
py.test -xm "not assumption"
'';
meta = with stdenv.lib; {
description = "Preview GitHub Markdown files like Readme locally before committing them";
homepage = https://github.com/joeyespo/grip;
license = licenses.mit;
maintainers = with maintainers; [ koral ];
};
};
gst-python = callPackage ../development/libraries/gstreamer/python { gst-python = callPackage ../development/libraries/gstreamer/python {
gst-plugins-base = pkgs.gst_all_1.gst-plugins-base; gst-plugins-base = pkgs.gst_all_1.gst-plugins-base;
}; };
@ -7977,6 +8004,30 @@ in modules // {
}; };
}; };
path-and-address = buildPythonPackage rec {
version = "2.0.1";
name = "path-and-address-${version}";
buildInputs = with self; [ pytest ];
checkPhase = "py.test";
src = pkgs.fetchFromGitHub {
owner = "joeyespo";
repo = "path-and-address";
rev = "v${version}";
sha256 = "0b0afpsaim06mv3lhbpm8fmawcraggc11jhzr6h72kdj1cqjk5h6";
};
meta = {
description = "Functions for server CLI applications used by humans";
homepage = https://github.com/joeyespo/path-and-address;
license = licenses.mit;
maintainers = with maintainers; [ koral];
};
};
pdfminer = buildPythonPackage rec { pdfminer = buildPythonPackage rec {
version = "20140328"; version = "20140328";
name = "pdfminer-${version}"; name = "pdfminer-${version}";
@ -19533,6 +19584,33 @@ in modules // {
}; };
}; };
PyICU = buildPythonPackage rec {
name = "PyICU-1.9.3";
src = pkgs.fetchurl {
url = "mirror://pypi/P/PyICU/${name}.tar.gz";
sha256 = "0hps2314w7ddiwhqgw249m3hgqnny7qn542vz26jxr5k5hhrcyhs";
};
buildInputs = [ pkgs.icu ];
patches = [
# Fixes a bug in the test suite.
(pkgs.fetchpatch {
url = "https://github.com/ovalhub/pyicu/commit/6ab20d48d85638acb3a811c8676f713bd26f0df9.patch";
sha256 = "0z4585r6bi0xxvrr93n450ka43vixx9zd063qna078vck0i3bkjg";
})
];
meta = {
homepage = https://pypi.python.org/pypi/PyICU/;
description = "Python extension wrapping the ICU C++ API";
license = licenses.mit;
platforms = platforms.all;
maintainers = [ maintainers.rycee ];
};
};
pyinotify = buildPythonPackage rec { pyinotify = buildPythonPackage rec {
name = "pyinotify"; name = "pyinotify";
version = "0.9.6"; version = "0.9.6";
@ -22329,6 +22407,31 @@ in modules // {
}; };
}; };
slob = buildPythonPackage rec {
name = "slob-unstable-2016-03-04";
disabled = !isPy3k;
src = pkgs.fetchFromGitHub {
owner = "itkach";
repo = "slob";
rev = "31ad0e769360a5b10a4893f686587bb8e48c3895";
sha256 = "06yn510178awhjsvy88cpjz7rlmyviqd5g58gc8gf4ivyqdlqbsl";
};
propagatedBuildInputs = [ self.PyICU ];
checkPhase = "python3 -m unittest slob";
meta = {
homepage = https://github.com/itkach/slob/;
description = "Reference implementation of the slob (sorted list of blobs) format";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = [ maintainers.rycee ];
};
};
slowaes = buildPythonPackage rec { slowaes = buildPythonPackage rec {
name = "slowaes-${version}"; name = "slowaes-${version}";
version = "0.1a1"; version = "0.1a1";

View file

@ -7,9 +7,9 @@
{ runCommand, fetchFromGitHub, git }: { runCommand, fetchFromGitHub, git }:
let let
version = "2016-09-23"; version = "2016-09-29";
rev = "e2ac19b6236468033ba0c66ac23293b7ed9e3486"; rev = "12dc47026cadf5aa2823c9d0fdd055b9f2c0f52c";
sha256 = "16kwzjjx67pigs9b8pxdfl685l812a8ja47s61h6gshxrg3j1cs7"; sha256 = "0la6wlnbiwjixcxbq6k0d8m5js8lk5wz5f3mvdx8hwl5car20w6m";
src = fetchFromGitHub { src = fetchFromGitHub {
inherit rev; inherit rev;