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

This commit is contained in:
Tuomas Tynkkynen 2017-06-11 04:47:30 +03:00
commit 149cb28312
64 changed files with 4260 additions and 1663 deletions

View File

@ -923,6 +923,28 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
If you are using the `bepasty-server` package somewhere, for example in `systemPackages` or indirectly from `services.bepasty`, then a `nixos-rebuild switch` will rebuild the system but with the `bepasty-server` package using a different `src` attribute. This way one can modify `python` based software/libraries easily. Using `self` and `super` one can also alter dependencies (`buildInputs`) between the old state (`self`) and new state (`super`).
### How to override a Python package using overlays?
To alter a python package using overlays, you would use the following approach:
```nix
self: super:
rec {
python = super.python.override {
packageOverrides = python-self: python-super: {
bepasty-server = python-super.bepasty-server.overrideAttrs ( oldAttrs: {
src = self.pkgs.fetchgit {
url = "https://github.com/bepasty/bepasty-server";
sha256 = "9ziqshmsf0rjvdhhca55sm0x8jz76fsf2q4rwh4m6lpcf8wr0nps";
rev = "e2516e8cf4f2afb5185337073607eb9e84a61d2d";
};
});
};
};
pythonPackages = python.pkgs;
}
```
## Contributing
### Contributing guidelines

View File

@ -45,6 +45,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "Apple Public Source License 2.0";
};
arphicpl = {
fullName = "Arphic Public License";
url = https://www.freedesktop.org/wiki/Arphic_Public_License/;
};
artistic1 = spdx {
spdxId = "Artistic-1.0";
fullName = "Artistic License 1.0";

View File

@ -90,7 +90,7 @@ runTests {
testIsStorePath = {
expr =
let goodPath =
"/nix/store/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11";
"${builtins.storeDir}/d945ibfx9x185xf04b890y4f9g3cbb63-python-2.7.11";
in {
storePath = isStorePath goodPath;
storePathAppendix = isStorePath

View File

@ -131,9 +131,9 @@ in {
path = mkIf (!isMLocate) [ pkgs.su ];
script =
''
install -m ${if isMLocate then "0750" else "0755"} -o root -g ${if isMLocate then "mlocate" else "root"} -d $(dirname ${cfg.output})
mkdir -m 0755 -p ${dirOf cfg.output}
exec ${cfg.locate}/bin/updatedb \
${optionalString (cfg.localuser != null) ''--localuser=${cfg.localuser}''} \
${optionalString (cfg.localuser != null && ! isMLocate) ''--localuser=${cfg.localuser}''} \
--output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
'';
environment = {

View File

@ -22,19 +22,9 @@ in {
environment.systemPackages = [ pkgs.autorandr ];
# systemd.unitPackages = [ pkgs.autorandr ];
systemd.packages = [ pkgs.autorandr ];
systemd.services.autorandr = {
unitConfig = {
Description = "autorandr execution hook";
After = [ "sleep.target" ];
StartLimitInterval = "5";
StartLimitBurst = "1";
};
serviceConfig = {
ExecStart = "${pkgs.autorandr}/bin/autorandr --batch --change --default default";
Type = "oneshot";
RemainAfterExit = false;
};
wantedBy = [ "sleep.target" ];
};

View File

@ -14,8 +14,8 @@ let
acl badnetworks { ${concatMapStrings (entry: " ${entry}; ") cfg.blockedNetworks} };
options {
listen-on {any;};
listen-on-v6 {any;};
listen-on { ${concatMapStrings (entry: " ${entry}; ") cfg.listenOn} };
listen-on-v6 { ${concatMapStrings (entry: " ${entry}; ") cfg.listenOnIpv6} };
allow-query { cachenetworks; };
blackhole { badnetworks; };
forward first;
@ -96,6 +96,22 @@ in
";
};
listenOn = mkOption {
default = ["any"];
type = types.listOf types.str;
description = "
Interfaces to listen on.
";
};
listenOnIpv6 = mkOption {
default = ["any"];
type = types.listOf types.str;
description = "
Ipv6 interfaces to listen on.
";
};
zones = mkOption {
default = [];
description = "

View File

@ -64,11 +64,21 @@ let
)) + ":" + (makeSearchPathOutput "bin" "sbin" [
pkgs.mdadm pkgs.utillinux
]);
font = if lib.last (lib.splitString "." cfg.font) == "pf2"
then cfg.font
else "${convertedFont}";
});
bootDeviceCounters = fold (device: attr: attr // { "${device}" = (attr."${device}" or 0) + 1; }) {}
(concatMap (args: args.devices) cfg.mirroredBoots);
convertedFont = (pkgs.runCommand "grub-font-converted.pf2" {}
(builtins.concatStringsSep " "
([ "${realGrub}/bin/grub-mkfont"
cfg.font
"--output" "$out"
] ++ (optional (cfg.fontSize!=null) "--size ${toString cfg.fontSize}")))
);
in
{
@ -276,7 +286,7 @@ in
extraInitrd = mkOption {
type = types.nullOr types.path;
default = null;
example = "/boot/extra_initrafms.gz";
example = "/boot/extra_initramfs.gz";
description = ''
The path to a second initramfs to be supplied to the kernel.
This ramfs will not be copied to the store, so that it can
@ -305,6 +315,24 @@ in
'';
};
font = mkOption {
type = types.nullOr types.path;
default = "${realGrub}/share/grub/unicode.pf2";
description = ''
Path to a TrueType, OpenType, or pf2 font to be used by Grub.
'';
};
fontSize = mkOption {
type = types.nullOr types.int;
example = literalExample 16;
default = null;
description = ''
Font size for the grub menu. Ignored unless <literal>font</literal>
is set to a ttf or otf font.
'';
};
gfxmodeEfi = mkOption {
default = "auto";
example = "1024x768";

View File

@ -67,6 +67,7 @@ my $gfxmodeEfi = get("gfxmodeEfi");
my $gfxmodeBios = get("gfxmodeBios");
my $bootloaderId = get("bootloaderId");
my $forceInstall = get("forceInstall");
my $font = get("font");
$ENV{'PATH'} = get("path");
die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2;
@ -281,7 +282,7 @@ else {
insmod vbe
fi
insmod font
if loadfont " . $grubBoot->path . "/grub/fonts/unicode.pf2; then
if loadfont " . $grubBoot->path . "/converted-font.pf2; then
insmod gfxterm
if [ \"\${grub_platform}\" = \"efi\" ]; then
set gfxmode=$gfxmodeEfi
@ -294,6 +295,9 @@ else {
fi
";
if ($font) {
copy $font, "$bootPath/converted-font.pf2" or die "cannot copy $font to $bootPath\n";
}
if ($splashImage) {
# FIXME: GRUB 1.97 doesn't resize the background image if it
# doesn't match the video resolution.

View File

@ -167,7 +167,7 @@ let
--replace /sbin/blkid ${extraUtils}/bin/blkid \
--replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \
--replace /sbin/mdadm ${extraUtils}/bin/mdadm \
--replace /bin/sh ${extraUtils}/bin/sh \
--replace ${pkgs.bash}/bin/sh ${extraUtils}/bin/sh \
--replace /usr/bin/readlink ${extraUtils}/bin/readlink \
--replace /usr/bin/basename ${extraUtils}/bin/basename \
--replace ${udev}/bin/udevadm ${extraUtils}/bin/udevadm

View File

@ -4,6 +4,8 @@
environment.systemPackages = [ pkgs.bcache-tools ];
services.udev.packages = [ pkgs.bcache-tools ];
boot.initrd.extraUdevRulesCommands = ''
cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/
'';

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
description = "A range of synthesiser, electric piano and organ emulations";
homepage = http://bristol.sourceforge.net;
license = licenses.gpl3;
platforms = platforms.linux;
platforms = ["x86_64-linux" "i686-linux"];
maintainers = [ maintainers.goibhniu ];
};
}

View File

@ -1,17 +1,19 @@
{ lib, stdenv, callPackage, fetchurl, makeDesktopItem, makeWrapper, patchelf
, coreutils, gnugrep, which, git, python, unzip, p7zip
, androidsdk, jdk
, androidsdk, jdk, cmake, libxml2, zlib, python2, ncurses
}:
assert stdenv.isLinux;
with stdenv.lib;
let
mkJetBrainsProduct = callPackage ./common.nix { };
# Sorted alphabetically
buildClion = { name, version, src, license, description, wmClass }:
(mkJetBrainsProduct rec {
lib.overrideDerivation (mkJetBrainsProduct rec {
inherit name version src wmClass jdk;
product = "CLion";
meta = with stdenv.lib; {
@ -21,9 +23,35 @@ let
Enhancing productivity for every C and C++
developer on Linux, OS X and Windows.
'';
maintainers = with maintainers; [ edwtjo ];
maintainers = with maintainers; [ edwtjo mic92 ];
platforms = platforms.linux;
};
}) (attrs: {
postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
(
cd $out/clion-${version}
# bundled cmake does not find libc
rm -rf bin/cmake
ln -s ${cmake} bin/cmake
lldbLibPath=$out/clion-${version}/bin/lldb/lib
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
ln -s ${ncurses.out}/lib/libncurses.so $lldbLibPath/libtinfo.so.5
patchelf --set-interpreter $interp \
--set-rpath "${lib.makeLibraryPath [ libxml2 zlib stdenv.cc.cc.lib ]}:$lldbLibPath" \
bin/lldb/bin/lldb-server
patchelf --set-interpreter $interp \
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$lldbLibPath" \
bin/lldb/LLDBFrontend
patchelf \
--set-rpath "${lib.makeLibraryPath [ libxml2 zlib stdenv.cc.cc.lib python2 ]}:$lldbLibPath" \
bin/lldb/lib/liblldb.so
patchelf --set-interpreter $interp bin/gdb/bin/gdb
patchelf --set-interpreter $interp bin/gdb/bin/gdbserver
)
'';
});
buildDataGrip = { name, version, src, license, description, wmClass }:
@ -209,12 +237,12 @@ in
gogland = buildGogland rec {
name = "gogland-${version}";
version = "171.4424.55";
version = "171.4694.35";
description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz";
sha256 = "0l5pn2wj541v1xc58bpipkl483zrhwjr37grkwiwx2j4iygrikq7";
sha256 = "0q2f8bi2i49j0xcpn824sihz2015jhn338cjaqy0jd988nxik6jk";
};
wmClass = "jetbrains-gogland";
};

View File

@ -2,7 +2,7 @@
makeWrapper, libXScrnSaver, libxkbfile }:
let
version = "1.12.2";
version = "1.13.0";
channel = "stable";
plat = {
@ -12,9 +12,9 @@ let
}.${stdenv.system};
sha256 = {
"i686-linux" = "0221s8vx32haqr31wkkm637gya3vljbkim59i7a2hhwxh2gcs2fk";
"x86_64-linux" = "0p6ck2lc9lln96lib5r5yfbrd04rgsbzhvf1lx2kykn428ddxi9s";
"x86_64-darwin" = "1s7hyr245v4z2g357m7ajnh8y1cqixricpkx329xls4292qb7rh4";
"i686-linux" = "069pv0w8yhsv50glpcxzypsjc7mxmrcrv25c75rnv43yiyamjvyi";
"x86_64-linux" = "0cjkkvd5rs82yji0kpnbvzgwz5qvh9x6bmjd51rrvjz84dbwhgzq";
"x86_64-darwin" = "1qbxv5drqrx9k835a6zj3kkbh4sga5r9y0gf9bq16g3gf0dd9bwq";
}.${stdenv.system};
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";

View File

@ -0,0 +1,12 @@
diff -Naur kdenlive-17.04.1-upstream/CMakeLists.txt kdenlive-17.04.1/CMakeLists.txt
--- kdenlive-17.04.1-upstream/CMakeLists.txt 2017-06-10 00:06:44.773146595 -0400
+++ kdenlive-17.04.1/CMakeLists.txt 2017-06-10 00:07:35.766596566 -0400
@@ -79,7 +79,7 @@
check_include_files(malloc.h HAVE_MALLOC_H)
check_include_files(pthread.h HAVE_PTHREAD_H)
-find_package(Qt5 REQUIRED COMPONENTS Core DBus Widgets Script Svg Quick )
+find_package(Qt5 REQUIRED COMPONENTS Core Concurrent DBus Widgets Script Svg Quick )
find_package(Qt5 OPTIONAL_COMPONENTS WebKitWidgets QUIET)
find_package(KF5 5.23.0 OPTIONAL_COMPONENTS XmlGui QUIET)

View File

@ -34,6 +34,9 @@
let
unwrapped = kdeApp {
name = "kdenlive";
patches = [
./kdenlive-cmake-concurrent-module.patch
];
nativeBuildInputs = [
extra-cmake-modules
kdoctools

View File

@ -4,12 +4,12 @@ assert stdenv.isLinux;
stdenv.mkDerivation rec {
name = "IPMIView-${version}";
version = "2.12.0";
buildVersion = "160804";
version = "2.13.0";
buildVersion = "170504";
src = fetchurl {
url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
sha256 = "787a060413451a4a5993c31805f55a221087b7199bbaf20e9fe1254e2a76db42";
sha256 = "1hfw5g6lxg3vqg0nc3g2sv2h6bn8za35bxxms0ri0sgb9v3xg1y6";
};
buildInputs = [ patchelf makeWrapper ];

View File

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus
, gsettings_desktop_schemas, libsecret, desktop_file_utils, gettext, gtkd
, perlPackages, wrapGAppsHook, xdg_utils }:
stdenv.mkDerivation rec {
name = "tilix-${version}";
version = "1.6.1";
src = fetchFromGitHub {
owner = "gnunn1";
repo = "tilix";
rev = "${version}";
sha256 = "10nw3q6s941dm44bkfryl1xclr1xy1vjr2n8w7g6kfahpcazf8f8";
};
nativeBuildInputs = [
autoreconfHook dmd desktop_file_utils perlPackages.Po4a pkgconfig xdg_utils
wrapGAppsHook
];
buildInputs = [ gnome3.dconf gettext gsettings_desktop_schemas gtkd dbus ];
preBuild = ''
makeFlagsArray=(PERL5LIB="${perlPackages.Po4a}/lib/perl5")
'';
postInstall = with gnome3; ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
'';
preFixup = ''
substituteInPlace $out/share/applications/com.gexperts.Tilix.desktop \
--replace "Exec=tilix" "Exec=$out/bin/tilix"
'';
meta = with stdenv.lib; {
description = "Tiling terminal emulator following the Gnome Human Interface Guidelines.";
homepage = "https://gnunn1.github.io/tilix-web";
licence = licenses.mpl20;
maintainer = with maintainers; [ midchildan ];
platforms = platforms.linux;
};
}

View File

@ -3,10 +3,12 @@
, autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null
, notifySupport ? false, libnotify ? null, gdk_pixbuf ? null
, traySupport ? false, gnome2 ? null
}:
assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
assert notifySupport -> libnotify != null && gdk_pixbuf != null;
assert traySupport -> gnome2 != null;
with stdenv.lib;
@ -23,7 +25,8 @@ stdenv.mkDerivation rec {
pkgconfig readline libuuid libmesode
glib openssl expat ncurses libotr curl
] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
++ optionals notifySupport [ libnotify gdk_pixbuf ];
++ optionals notifySupport [ libnotify gdk_pixbuf ]
++ optionals traySupport [ gnome2.gtk ];
meta = {
description = "A console based XMPP client";

View File

@ -1,32 +1,38 @@
{stdenv, fetchurl, unzip, libX11, libcxxabi, glib, xorg, qt4, fontconfig, phonon, freetype, zlib, libpng12, libICE, libXrender, cups, lib}:
{ stdenv, fetchurl, fetchFromGitHub
, libX11, glib, xorg, fontconfig, freetype
, zlib, libpng12, libICE, libXrender, cups }:
let
bits = if stdenv.system == "x86_64-linux" then "x86_64"
else "x86";
stdenv.mkDerivation rec{
name = "wpsoffice-${version}";
version = "10.1.0.5672";
in stdenv.mkDerivation rec{
name = "wpsoffice-${version}";
src = fetchurl {
name = "${name}.tar.gz";
url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_10.1.0.5672~a21_x86_64.tar.xz";
sha1 = "7e9b17572ed5cea50af24f01457f726fc558a515";
name = "${name}.tar.xz";
url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz";
sha256 = if bits == "x86_64" then
"0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
"1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
};
meta = {
description = "Office program originally named Kingsoft Office";
homepage = http://wps-community.org/;
platforms = [ "x86_64-linux" ];
# Binary for i686 is also available if someone can package it
license = lib.licenses.unfreeRedistributable;
platforms = [ "i686-linux" "x86_64-linux" ];
hydraPlatforms = [];
license = stdenv.lib.licenses.unfreeRedistributable;
};
libPath = stdenv.lib.makeLibraryPath [
libX11
libcxxabi
libpng12
glib
xorg.libSM
xorg.libXext
fontconfig
phonon
zlib
freetype
libICE
@ -34,19 +40,36 @@ stdenv.mkDerivation rec{
libXrender
];
phases = [ "unpackPhase" "installPhase" ];
dontPatchELF = true;
installPhase = ''
cp -r . "$out"
chmod +x "$out/office6/wpp"
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/wpp"
chmod +x "$out/office6/wps"
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/wps"
chmod +x "$out/office6/et"
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/et"
mkdir -p "$out/bin/"
ln -s "$out/office6/wpp" "$out/bin/wpspresentation"
ln -s "$out/office6/wps" "$out/bin/wpswriter"
ln -s "$out/office6/et" "$out/bin/wpsspreadsheets"
prefix=$out/opt/kingsoft/wps-office
mkdir -p $prefix
cp -r . $prefix
# Avoid forbidden reference error due use of patchelf
rm -r $PWD
mkdir $out/bin
for i in wps wpp et; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--force-rpath --set-rpath "$prefix/office6:$libPath" \
$prefix/office6/$i
substitute $prefix/$i $out/bin/$i \
--replace /opt/kingsoft/wps-office $prefix
chmod +x $out/bin/$i
substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \
--replace /usr/bin $out/bin
done
# China fonts
mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d
ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office
ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d
ln -s $prefix/resource $out/share
'';
}

View File

@ -5,30 +5,15 @@ with lib;
stdenv.mkDerivation rec {
name = "runc-${version}";
version = "1.0.0-rc2";
version = "1.0.0-rc3";
src = fetchFromGitHub {
owner = "opencontainers";
repo = "runc";
rev = "v${version}";
sha256 = "06bxc4g3frh4i1lkzvwdcwmzmr0i52rz4a4pij39s15zaigm79wk";
sha256 = "14hdhnni0rz3g0bhcaq95zn2zrhyds0mq2pm2padbamg4bgq4r1c";
};
patches = [
# Two patches to fix CVE-2016-9962
# From https://bugzilla.suse.com/show_bug.cgi?id=1012568
(fetchpatch {
name = "0001-libcontainer-nsenter-set-init-processes-as-non-dumpa.patch";
url = "https://bugzilla.suse.com/attachment.cgi?id=709048&action=diff&context=patch&collapsed=&headers=1&format=raw";
sha256 = "1cfsmsyhc45a2929825mdaql0mrhhbrgdm54ly0957j2f46072ck";
})
(fetchpatch {
name = "0002-libcontainer-init-only-pass-stateDirFd-when-creating.patch";
url = "https://bugzilla.suse.com/attachment.cgi?id=709049&action=diff&context=patch&collapsed=&headers=1&format=raw";
sha256 = "1ykwg1mbvsxsnsrk9a8i4iadma1g0rgdmaj19dvif457hsnn31wl";
})
];
outputs = [ "out" "man" ];
hardeningDisable = ["fortify"];
@ -37,7 +22,16 @@ stdenv.mkDerivation rec {
makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
preConfigure = ''
# Extract the source
cd "$NIX_BUILD_TOP"
mkdir -p "go/src/github.com/opencontainers"
mv "$sourceRoot" "go/src/github.com/opencontainers/runc"
export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
'';
preBuild = ''
cd go/src/github.com/opencontainers/runc
patchShebangs .
substituteInPlace libcontainer/apparmor/apparmor.go \
--replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser

View File

@ -1,5 +1,16 @@
{ fetchFromGitHub, stdenv }:
{ fetchFromGitHub, stdenv, perl, makeWrapper
, iproute, acpi, sysstat, alsaUtils
, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
"load_average" "memory" "volume" "wifi" ]
}:
with stdenv.lib;
let
perlscripts = [ "battery" "cpu_usage" "openvpn" "temperature" ];
contains_any = l1: l2: 0 < length( intersectLists l1 l2 );
in
stdenv.mkDerivation rec {
name = "i3blocks-gaps-${version}";
version = "1.4";
@ -14,6 +25,22 @@ stdenv.mkDerivation rec {
makeFlags = "all";
installFlags = "PREFIX=\${out} VERSION=${version}";
buildInputs = optional (contains_any scripts perlscripts) perl;
nativeBuildInputs = [ makeWrapper ];
postFixup = ''
wrapProgram $out/libexec/i3blocks/bandwidth \
--prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)}
wrapProgram $out/libexec/i3blocks/battery \
--prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)}
wrapProgram $out/libexec/i3blocks/cpu_usage \
--prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)}
wrapProgram $out/libexec/i3blocks/iface \
--prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)}
wrapProgram $out/libexec/i3blocks/volume \
--prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)}
'';
meta = with stdenv.lib; {
description = "A flexible scheduler for your i3bar blocks -- this is a fork to use with i3-gaps";
homepage = https://github.com/Airblader/i3blocks-gaps;

View File

@ -1,5 +1,19 @@
{ fetchurl, stdenv }:
{ fetchurl, stdenv, perl, makeWrapper
, iproute, acpi, sysstat, xset, playerctl
, cmus, openvpn, lm_sensors, alsaUtils
, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
"keyindicator" "load_average" "mediaplayer" "memory"
"openvpn" "temperature" "volume" "wifi" ]
}:
with stdenv.lib;
let
perlscripts = [ "battery" "cpu_usage" "keyindicator"
"mediaplayer" "openvpn" "temperature" ];
contains_any = l1: l2: 0 < length( intersectLists l1 l2 );
in
stdenv.mkDerivation rec {
name = "i3blocks-${version}";
version = "1.4";
@ -12,7 +26,31 @@ stdenv.mkDerivation rec {
buildFlags = "SYSCONFDIR=/etc all";
installFlags = "PREFIX=\${out} VERSION=${version}";
meta = with stdenv.lib; {
buildInputs = optional (contains_any scripts perlscripts) perl;
nativeBuildInputs = [ makeWrapper ];
postFixup = ''
wrapProgram $out/libexec/i3blocks/bandwidth \
--prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)}
wrapProgram $out/libexec/i3blocks/battery \
--prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)}
wrapProgram $out/libexec/i3blocks/cpu_usage \
--prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)}
wrapProgram $out/libexec/i3blocks/iface \
--prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)}
wrapProgram $out/libexec/i3blocks/keyindicator \
--prefix PATH : ${makeBinPath (optional (elem "keyindicator" scripts) xset)}
wrapProgram $out/libexec/i3blocks/mediaplayer \
--prefix PATH : ${makeBinPath (optionals (elem "mediaplayer" scripts) [playerctl cmus])}
wrapProgram $out/libexec/i3blocks/openvpn \
--prefix PATH : ${makeBinPath (optional (elem "openvpn" scripts) openvpn)}
wrapProgram $out/libexec/i3blocks/temperature \
--prefix PATH : ${makeBinPath (optional (elem "temperature" scripts) lm_sensors)}
wrapProgram $out/libexec/i3blocks/volume \
--prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)}
'';
meta = {
description = "A flexible scheduler for your i3bar blocks";
homepage = https://github.com/vivien/i3blocks;
license = licenses.gpl3;

View File

@ -18,6 +18,10 @@ if test -n "$http_proxy"; then
export HOME="$PWD"
fi;
if test -z "$LC_ALL"; then
export LC_ALL="en_US.UTF-8"
fi;
# Pipe the "p" character into Subversion to force it to accept the
# server's certificate. This is perfectly safe: we don't care
# whether the server is being spoofed --- only the cryptographic

View File

@ -1,4 +1,4 @@
{stdenv, subversion, sshSupport ? false, openssh ? null}:
{stdenv, subversion, glibcLocales, sshSupport ? false, openssh ? null}:
{url, rev ? "HEAD", md5 ? "", sha256 ? "",
ignoreExternals ? false, ignoreKeywords ? false, name ? null}:
@ -31,7 +31,7 @@ else
stdenv.mkDerivation {
name = name_;
builder = ./builder.sh;
buildInputs = [subversion];
buildInputs = [ subversion glibcLocales ];
outputHashAlgo = "sha256";
outputHashMode = "recursive";

View File

@ -0,0 +1,65 @@
{ stdenv, fetchurl, mkfontscale, mkfontdir }:
{
arphic-ukai = stdenv.mkDerivation rec {
name = "arphic-ukai-${version}";
version = "0.2.20080216.2";
src = fetchurl {
url = "http://archive.ubuntu.com/ubuntu/pool/main/f/fonts-arphic-ukai/fonts-arphic-ukai_${version}.orig.tar.bz2";
sha256 = "1lp3i9m6x5wrqjkh1a8vpyhmsrhvsa2znj2mx13qfkwza5rqv5ml";
};
buildInputs = [ mkfontscale mkfontdir ];
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
install -D -v ukai.ttc $out/share/fonts/truetype/arphic-ukai.ttc
cd $out/share/fonts
mkfontdir
mkfontscale
'';
meta = with stdenv.lib; {
description = "CJK Unicode font Kai style";
homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/;
license = licenses.arphicpl;
maintainers = [ maintainers.changlinli ];
platforms = platforms.all;
};
};
arphic-uming = stdenv.mkDerivation rec {
name = "arphic-uming-${version}";
version = "0.2.20080216.2";
src = fetchurl {
url = "http://archive.ubuntu.com/ubuntu/pool/main/f/fonts-arphic-uming/fonts-arphic-uming_${version}.orig.tar.bz2";
sha256 = "1ny11n380vn7sryvy1g3a83y3ll4h0jf9wgnrx55nmksx829xhg3";
};
buildInputs = [ mkfontscale mkfontdir ];
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
install -D -v uming.ttc $out/share/fonts/truetype/arphic-uming.ttc
cd $out/share/fonts
mkfontdir
mkfontscale
'';
meta = with stdenv.lib; {
description = "CJK Unicode font Ming style";
homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/;
license = licenses.arphicpl;
maintainers = [ maintainers.changlinli ];
platforms = platforms.all;
};
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk2 }:
{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk2, withGtk3 ? false, gtk3 }:
stdenv.mkDerivation rec {
name = "lxappearance-0.6.3";
@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool ];
buildInputs = [ libX11 gtk2 ];
buildInputs = [ libX11 (if withGtk3 then gtk3 else gtk2) ];
patches = [ ./lxappearance-0.6.3-xdg.system.data.dirs.patch ];
configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3";
meta = {
description = "A lightweight program for configuring the theme and fonts of gtk applications";

View File

@ -0,0 +1,27 @@
--- lxappearance-0.6.3/src/widget-theme.c.orig 2016-02-20 20:48:38.000000000 -0200
+++ lxappearance-0.6.3/src/widget-theme.c 2017-06-09 17:37:53.369555085 -0300
@@ -66,6 +66,7 @@
static void load_themes()
{
char* dir;
+ const gchar * const * dirs;
GSList* themes = NULL, *l;
GtkTreeIter sel_it = {0};
GtkTreeSelection* tree_sel;
@@ -85,6 +86,16 @@
themes = load_themes_in_dir(dir, themes);
g_free(dir);
+ /* load from sharedata theme dirs */
+ dirs = g_get_system_data_dirs();
+ while (*dirs != NULL)
+ {
+ dir = g_build_filename(*dirs, "themes", NULL);
+ themes = load_themes_in_dir(dir, themes);
+ g_free(dir);
+ dirs++;
+ }
+
themes = g_slist_sort(themes, (GCompareFunc)strcmp);
for(l = themes; l; l=l->next)
{

View File

@ -89,6 +89,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
xfce4_fsguard_plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix { };
xfce4_genmon_plugin = callPackage ./panel-plugins/xfce4-genmon-plugin.nix { };
xfce4-hardware-monitor-plugin = callPackage ./panel-plugins/xfce4-hardware-monitor-plugin.nix { };
xfce4_namebar_plugin = callPackage ./panel-plugins/xfce4-namebar-plugin.nix { };
xfce4_netload_plugin = callPackage ./panel-plugins/xfce4-netload-plugin.nix { };
xfce4_notes_plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { };
xfce4_mailwatch_plugin = callPackage ./panel-plugins/xfce4-mailwatch-plugin.nix { };

View File

@ -30,7 +30,9 @@ stdenv.mkDerivation rec {
installPhase = "python waf install";
postFixup = "wrapPythonPrograms";
postFixup = ''
wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath"
'';
meta = with stdenv.lib; {
homepage = https://github.com/TiZ-EX1/xfce4-dockbarx-plugin;

View File

@ -0,0 +1,35 @@
{ stdenv, pkgconfig, fetchFromGitHub, python2, vala, gtk2, libwnck, libxfce4util, xfce4panel }:
stdenv.mkDerivation rec {
ver = "0.3.1";
rev = "07a23b3";
name = "xfce4-namebar-plugin-${ver}";
src = fetchFromGitHub {
owner = "TiZ-EX1";
repo = "xfce4-namebar-plugin";
rev = rev;
sha256 = "1sl4qmjywfvv53ch7hyfysjfd91zl38y7gdw2y3k69vkzd3h18ad";
};
buildInputs = [ pkgconfig python2 vala gtk2 libwnck libxfce4util xfce4panel ];
postPatch = ''
substituteInPlace src/preferences.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }"
substituteInPlace src/namebar.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }"
'';
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";
meta = with stdenv.lib; {
homepage = https://github.com/TiZ-EX1/xfce4-namebar-plugin;
description = "A plugins which integrates titlebar and window controls into the xfce4-panel";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.volth ];
};
}

View File

@ -37,7 +37,7 @@ core-packages:
- ghcjs-base-0
default-package-overrides:
# LTS Haskell 8.16
# LTS Haskell 8.17
- abstract-deque ==0.3
- abstract-par ==0.3.3
- AC-Vector ==2.3.2
@ -161,7 +161,7 @@ default-package-overrides:
- amqp ==0.14.1
- annotated-wl-pprint ==0.7.0
- anonymous-sums ==0.6.0.0
- ansi-terminal ==0.6.3
- ansi-terminal ==0.6.3.1
- ansi-wl-pprint ==0.6.7.3
- ansigraph ==0.3.0.2
- app-settings ==0.2.0.11
@ -182,7 +182,7 @@ default-package-overrides:
- async-extra ==0.1.0.0
- async-refresh ==0.2.0
- async-refresh-tokens ==0.1.0
- atom-basic ==0.2.4
- atom-basic ==0.2.5
- atom-conduit ==0.4.0.1
- atomic-primops ==0.8.0.4
- atomic-write ==0.2.0.5
@ -645,7 +645,7 @@ default-package-overrides:
- exhaustive ==1.1.4
- exp-pairs ==0.1.5.2
- expiring-cache-map ==0.0.6.1
- explicit-exception ==0.1.8
- explicit-exception ==0.1.9
- extensible ==0.3.7
- extensible-effects ==1.11.0.4
- extensible-exceptions ==0.1.1.4
@ -697,7 +697,7 @@ default-package-overrides:
- fold-debounce ==0.2.0.5
- fold-debounce-conduit ==0.1.0.5
- foldl ==1.2.5
- foldl-statistics ==0.1.4.3
- foldl-statistics ==0.1.4.4
- folds ==0.7.3
- FontyFruity ==0.5.3.2
- force-layout ==0.4.0.6
@ -942,8 +942,8 @@ default-package-overrides:
- hashmap ==1.3.2
- hashtables ==1.2.1.1
- haskeline ==0.7.4.0
- haskell-gi ==0.20.1
- haskell-gi-base ==0.20.2
- haskell-gi ==0.20.2
- haskell-gi-base ==0.20.3
- haskell-import-graph ==1.0.1
- haskell-lexer ==1.0.1
- haskell-names ==0.8.0
@ -1104,7 +1104,7 @@ default-package-overrides:
- http-api-data ==0.3.7.1
- http-client ==0.5.7.0
- http-client-openssl ==0.2.0.5
- http-client-tls ==0.3.4.2
- http-client-tls ==0.3.5
- http-common ==0.8.2.0
- http-conduit ==2.2.3.1
- http-date ==0.0.6.1
@ -1465,7 +1465,7 @@ default-package-overrides:
- netwire ==5.0.2
- netwire-input ==0.0.6
- netwire-input-glfw ==0.0.6
- network ==2.6.3.1
- network ==2.6.3.2
- network-anonymous-i2p ==0.10.0
- network-anonymous-tor ==0.11.0
- network-attoparsec ==0.12.2
@ -1599,7 +1599,7 @@ default-package-overrides:
- pipes-category ==0.2.0.1
- pipes-concurrency ==2.0.7
- pipes-csv ==1.4.3
- pipes-extras ==1.0.9
- pipes-extras ==1.0.10
- pipes-fluid ==0.5.0.3
- pipes-group ==1.0.6
- pipes-misc ==0.2.5.0
@ -1747,7 +1747,7 @@ default-package-overrides:
- reform-happstack ==0.2.5.1
- reform-hsp ==0.2.7.1
- RefSerialize ==0.4.0
- regex ==1.0.0.0
- regex ==1.0.1.0
- regex-applicative ==0.3.3
- regex-applicative-text ==0.1.0.1
- regex-base ==0.93.2
@ -1755,9 +1755,11 @@ default-package-overrides:
- regex-compat-tdfa ==0.95.1.4
- regex-pcre ==0.94.4
- regex-pcre-builtin ==0.94.4.8.8.35
- regex-pcre-text ==0.94.0.1
- regex-posix ==0.95.2
- regex-tdfa ==1.2.2
- regex-tdfa-text ==1.0.0.3
- regex-with-pcre ==1.0.1.0
- reinterpret-cast ==0.1.0
- relational-query ==0.8.4.0
- relational-query-HDBC ==0.6.0.3
@ -1876,7 +1878,7 @@ default-package-overrides:
- shelly ==1.6.8.3
- shortcut-links ==0.4.2.0
- should-not-typecheck ==2.1.0
- show-prettyprint ==0.1.2
- show-prettyprint ==0.1.2.1
- sibe ==0.2.0.5
- signal ==0.1.0.3
- silently ==1.2.5
@ -1913,6 +1915,7 @@ default-package-overrides:
- socks ==0.5.5
- solga ==0.1.0.2
- solga-swagger ==0.1.0.2
- sort ==1.0.0.0
- sorted-list ==0.2.0.0
- sourcemap ==0.1.6
- sparkle ==0.4.0.2
@ -2014,7 +2017,7 @@ default-package-overrides:
- system-posix-redirect ==1.1.0.1
- syz ==0.2.0.0
- tabular ==0.2.2.7
- tagchup ==0.4.0.5
- tagchup ==0.4.1
- tagged ==0.8.5
- tagged-binary ==0.2.0.0
- tagged-identity ==0.1.2
@ -2024,7 +2027,7 @@ default-package-overrides:
- tagsoup ==0.14.1
- tagstream-conduit ==0.5.5.3
- tar ==0.5.0.3
- tar-conduit ==0.1.0
- tar-conduit ==0.1.1
- tardis ==0.4.1.0
- tasty ==0.11.2.1
- tasty-ant-xml ==1.0.5
@ -2061,7 +2064,7 @@ default-package-overrides:
- terminal-progress-bar ==0.1.1
- terminal-size ==0.3.2.1
- terminfo ==0.4.1.0
- test-fixture ==0.5.0.0
- test-fixture ==0.5.0.1
- test-framework ==0.8.1.1
- test-framework-hunit ==0.3.0.2
- test-framework-quickcheck2 ==0.3.0.3
@ -2146,7 +2149,7 @@ default-package-overrides:
- tuple ==0.3.0.2
- tuple-th ==0.2.5
- tuples-homogenous-h98 ==0.1.1.0
- turtle ==1.3.4
- turtle ==1.3.5
- turtle-options ==0.1.0.4
- twitter-feed ==0.2.0.11
- twitter-types ==0.7.2.2
@ -2205,7 +2208,7 @@ default-package-overrides:
- unlit ==0.4.0.0
- unordered-containers ==0.2.8.0
- unsafe ==0.0
- uri-bytestring ==0.2.3.1
- uri-bytestring ==0.2.3.2
- uri-encode ==1.5.0.5
- uri-templater ==0.2.1.0
- url ==2.1.3
@ -2216,7 +2219,7 @@ default-package-overrides:
- users-test ==0.5.0.1
- utf8-light ==0.4.2
- utf8-string ==1.0.1.1
- utility-ht ==0.0.13
- utility-ht ==0.0.14
- uu-interleaved ==0.2.0.0
- uu-parsinglib ==2.9.1.1
- uuid ==1.3.13
@ -2240,7 +2243,7 @@ default-package-overrides:
- vector-th-unbox ==0.2.1.6
- vectortiles ==1.2.0.5
- verbosity ==0.2.3.0
- versions ==3.0.2
- versions ==3.0.2.1
- vhd ==0.2.2
- ViennaRNAParser ==1.3.2
- viewprof ==0.0.0.1
@ -2350,7 +2353,7 @@ default-package-overrides:
- xlsx ==0.4.3
- xlsx-tabular ==0.2.2
- xml ==1.3.14
- xml-basic ==0.1.1.3
- xml-basic ==0.1.2
- xml-conduit ==1.4.0.4
- xml-conduit-parse ==0.3.1.0
- xml-conduit-writer ==0.1.1.1
@ -2511,34 +2514,34 @@ package-maintainers:
dont-distribute-packages:
# hard restrictions that really belong into meta.platforms
alsa-mixer: [ i686-linux, x86_64-linux ]
alsa-pcm: [ i686-linux, x86_64-linux ]
alsa-seq: [ i686-linux, x86_64-linux ]
alsa-mixer: [ x86_64-darwin ]
alsa-pcm: [ x86_64-darwin ]
alsa-seq: [ x86_64-darwin ]
AWin32Console: [ i686-linux, x86_64-linux, x86_64-darwin ]
bindings-directfb: [ i686-linux, x86_64-linux ]
bindings-directfb: [ x86_64-darwin ]
d3d11binding: [ i686-linux, x86_64-linux, x86_64-darwin ]
DirectSound: [ i686-linux, x86_64-linux, x86_64-darwin ]
dx9base: [ i686-linux, x86_64-linux, x86_64-darwin ]
dx9d3d: [ i686-linux, x86_64-linux, x86_64-darwin ]
dx9d3dx: [ i686-linux, x86_64-linux, x86_64-darwin ]
freenect: [ i686-linux, x86_64-linux ]
FTGL: [ i686-linux, x86_64-linux ]
gi-ostree: [ i686-linux, x86_64-linux ]
hcwiid: [ i686-linux, x86_64-linux ]
hfsevents: [ i686-linux, x86_64-linux ]
HFuse: [ i686-linux, x86_64-linux ]
freenect: [ x86_64-darwin ]
FTGL: [ x86_64-darwin ]
gi-ostree: [ x86_64-darwin ]
hcwiid: [ x86_64-darwin ]
hfsevents: [ x86_64-darwin ]
HFuse: [ x86_64-darwin ]
hommage-ds: [ i686-linux, x86_64-linux, x86_64-darwin ]
lio-fs: [ i686-linux, x86_64-linux ]
midi-alsa: [ i686-linux, x86_64-linux ]
pam: [ i686-linux, x86_64-linux ]
PortMidi: [ i686-linux, x86_64-linux ]
Raincat: [ i686-linux, x86_64-linux ]
lio-fs: [ x86_64-darwin ]
midi-alsa: [ x86_64-darwin ]
pam: [ x86_64-darwin ]
PortMidi: [ x86_64-darwin ]
Raincat: [ x86_64-darwin ]
reactivity: [ i686-linux, x86_64-linux, x86_64-darwin ]
rtlsdr: [ i686-linux, x86_64-linux ]
rubberband: [ i686-linux, x86_64-linux ]
sdl2-mixer: [ i686-linux, x86_64-linux ]
sdl2-ttf: [ i686-linux, x86_64-linux ]
tokyotyrant-haskell: [ i686-linux, x86_64-linux ]
rtlsdr: [ x86_64-darwin ]
rubberband: [ x86_64-darwin ]
sdl2-mixer: [ x86_64-darwin ]
sdl2-ttf: [ x86_64-darwin ]
tokyotyrant-haskell: [ x86_64-darwin ]
Win32-console: [ i686-linux, x86_64-linux, x86_64-darwin ]
Win32-dhcp-server: [ i686-linux, x86_64-linux, x86_64-darwin ]
Win32-errors: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -2549,9 +2552,9 @@ dont-distribute-packages:
Win32-security: [ i686-linux, x86_64-linux, x86_64-darwin ]
Win32-services: [ i686-linux, x86_64-linux, x86_64-darwin ]
Win32-services-wrapper: [ i686-linux, x86_64-linux, x86_64-darwin ]
xattr: [ i686-linux, x86_64-linux ]
xattr: [ x86_64-darwin ]
XInput: [ i686-linux, x86_64-linux, x86_64-darwin ]
xmobar: [ i686-linux, x86_64-linux ]
xmobar: [ x86_64-darwin ]
# Depens on shine, which is a ghcjs project.
shine-varying: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -2693,7 +2696,6 @@ dont-distribute-packages:
al: [ i686-linux, x86_64-linux, x86_64-darwin ]
AlignmentAlgorithms: [ i686-linux, x86_64-linux, x86_64-darwin ]
align-text: [ i686-linux, x86_64-linux, x86_64-darwin ]
Allure: [ i686-linux, x86_64-linux, x86_64-darwin ]
alms: [ i686-linux, x86_64-linux, x86_64-darwin ]
alphachar: [ i686-linux, x86_64-linux, x86_64-darwin ]
alpha: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -5905,7 +5907,6 @@ dont-distribute-packages:
lambdacube-samples: [ i686-linux, x86_64-linux, x86_64-darwin ]
lambda-devs: [ i686-linux, x86_64-linux, x86_64-darwin ]
lambdaFeed: [ i686-linux, x86_64-linux, x86_64-darwin ]
LambdaHack: [ i686-linux, x86_64-linux, x86_64-darwin ]
LambdaINet: [ i686-linux, x86_64-linux, x86_64-darwin ]
Lambdajudge: [ i686-linux, x86_64-linux, x86_64-darwin ]
lambdaLit: [ i686-linux, x86_64-linux, x86_64-darwin ]

View File

@ -12,17 +12,19 @@ let
haskellPackages = makePackageSet {
package-set = initialPackages;
inherit ghc;
inherit ghc extensible-self;
};
commonConfiguration = import ./configuration-common.nix { inherit pkgs; };
nixConfiguration = import ./configuration-nix.nix { inherit pkgs; };
in
makeExtensible
extensible-self = makeExtensible
(extends overrides
(extends packageSetConfig
(extends compilerConfig
(extends commonConfiguration
(extends nixConfiguration haskellPackages)))))
(extends nixConfiguration haskellPackages)))));
in
extensible-self

View File

@ -34,8 +34,7 @@
, license
, maintainers ? []
, doCoverage ? false
# TODO Do we care about haddock when cross-compiling?
, doHaddock ? !isCross && (!stdenv.isDarwin || stdenv.lib.versionAtLeast ghc.version "7.8")
, doHaddock ? (!ghc.isHaLVM or true)
, passthru ? {}
, pkgconfigDepends ? [], libraryPkgconfigDepends ? [], executablePkgconfigDepends ? [], testPkgconfigDepends ? [], benchmarkPkgconfigDepends ? []
, testDepends ? [], testHaskellDepends ? [], testSystemDepends ? []

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,8 @@
# arguments:
# * ghc package to use
# * package-set: a function that takes { pkgs, stdenv, callPackage } as first arg and `self` as second
{ ghc, package-set }:
# * extensible-self: the final, fully overriden package set usable with the nixpkgs fixpoint overriding functionality
{ ghc, package-set, extensible-self }:
# return value: a function from self to the package set
self: let
@ -116,6 +117,30 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
# Creates a Haskell package from a source package by calling cabal2nix on the source.
callCabal2nix = name: src: self.callPackage (self.haskellSrc2nix { inherit src name; });
# : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
# Given a set whose values are either paths or version strings, produces
# a package override set (i.e. (self: super: { etc. })) that sets
# the packages named in the input set to the corresponding versions
packageSourceOverrides =
overrides: self: super: pkgs.lib.mapAttrs (name: src:
let isPath = x: builtins.substring 0 1 (toString x) == "/";
generateExprs = if isPath src
then self.callCabal2nix
else self.callHackage;
in generateExprs name src {}) overrides;
# : { root : Path, source-overrides : Defaulted (Either Path VersionNumber } -> NixShellAwareDerivation
# Given a path to a haskell package directory whose cabal file is
# named the same as the directory name, and an optional set of
# source overrides as appropriate for the 'packageSourceOverrides'
# function, return a derivation appropriate for nix-build or nix-shell
# to build that package.
developPackage = { root, source-overrides ? {} }:
let name = builtins.baseNameOf root;
drv =
(extensible-self.extend (self.packageSourceOverrides source-overrides)).callCabal2nix name root {};
in if pkgs.lib.inNixShell then drv.env else drv;
ghcWithPackages = selectFrom: withPackages (selectFrom self);
ghcWithHoogle = selectFrom:

View File

@ -79,7 +79,7 @@ let
description = "A clojure-like lisp, built with the pypy vm toolkit";
homepage = "https://github.com/pixie-lang/pixie";
license = stdenv.lib.licenses.lgpl3;
platforms = stdenv.lib.platforms.linux;
platforms = ["x86_64-linux" "i686-linux"];
};
};
in build (builtins.getAttr variant variants)

View File

@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
inherit version;
description = "Cryptographic algorithms library";
maintainers = with maintainers; [ raskin ];
platforms = platforms.unix;
platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
license = licenses.bsd2;
};
passthru.updateInfo.downloadPage = "http://files.randombit.net/botan/";

View File

@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.jedrea.com/chmlib;
license = "LGPL";
license = stdenv.lib.licenses.lgpl2;
description = "A library for dealing with Microsoft ITSS/CHM format files";
platforms = stdenv.lib.platforms.unix;
platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
};
}

View File

@ -230,11 +230,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}";
version = "3.3.1";
version = "3.3.2";
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp";
sha256 = "11974vcfsy8w0i6f4lfwqmg80xkfybqw7vw6zzrcn5i6ncddx60r";
};
patchPhase = ''patchShebangs .

View File

@ -6,7 +6,7 @@
callPackage ./generic.nix (args // rec {
version = "${branch}";
branch = "3.3.1";
sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw";
branch = "3.3.2";
sha256 = "0slf12dxk6wq1ns09kqqqrzwylxcy0isvc3niyxig45gq3ah0s91";
darwinFrameworks = [ Cocoa CoreMedia ];
})

View File

@ -0,0 +1,98 @@
{ stdenv, fetchzip, atk, cairo, dmd, gdk_pixbuf, gnome3, gst_all_1, librsvg
, pango, pkgconfig, substituteAll, which }:
stdenv.mkDerivation rec {
name = "gtkd-${version}";
version = "3.6.5";
src = fetchzip {
url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
sha256 = "1ypxxqklad5wwyvc39wnphnqp5y4q5zbf9j5mxb3bg9vnls48vx1";
stripRoot = false;
};
nativeBuildInputs = [ dmd pkgconfig which ];
propagatedBuildInputs = [
atk cairo gdk_pixbuf glib gstreamer gst_plugins_base gtk3 gtksourceview
libgda libpeas librsvg pango vte
];
prePatch = ''
substituteAll ${./paths.d} generated/gtkd/gtkd/paths.d
substituteInPlace src/cairo/gtkc/cairo-compiletime.d \
--replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
--replace libcairo.dylib ${cairo}/lib/libcairo.dylib
substituteInPlace src/cairo/gtkc/cairo-runtime.d \
--replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
--replace libcairo.dylib ${cairo}/lib/libcairo.dylib
substituteInPlace generated/gtkd/gtkc/gdkpixbuf.d \
--replace libgdk_pixbuf-2.0.so.0 ${gdk_pixbuf}/lib/libgdk_pixbuf-2.0.so.0 \
--replace libgdk_pixbuf-2.0.0.dylib ${gdk_pixbuf}/lib/libgdk_pixbuf-2.0.0.dylib
substituteInPlace generated/gtkd/gtkc/atk.d \
--replace libatk-1.0.so.0 ${atk}/lib/libatk-1.0.so.0 \
--replace libatk-1.0.0.dylib ${atk}/lib/libatk-1.0.0.dylib
substituteInPlace generated/gtkd/gtkc/pango.d \
--replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 \
--replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
--replace libpango-1.0.0.dylib ${pango.out}/lib/libpango-1.0.0.dylib \
--replace libpangocairo-1.0.0.dylib ${pango.out}/lib/libpangocairo-1.0.0.dylib
substituteInPlace generated/gtkd/gtkc/gobject.d \
--replace libgobject-2.0.so.0 ${glib}/lib/libgobject-2.0.so.0 \
--replace libgobject-2.0.0.dylib ${glib}/lib/libgobject-2.0.0.dylib
substituteInPlace generated/gtkd/gtkc/rsvg.d \
--replace librsvg-2.so.2 ${librsvg}/lib/librsvg-2.so.2 \
--replace librsvg-2.2.dylib ${librsvg}/lib/librsvg-2.2.dylib
substituteInPlace generated/gtkd/gtkc/cairo.d \
--replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
--replace libcairo.dylib ${cairo}/lib/libcairo.dylib
substituteInPlace generated/gtkd/gtkc/gdk.d \
--replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
--replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib
substituteInPlace generated/peas/peasc/peas.d \
--replace libpeas-1.0.so.0 ${libpeas}/lib/libpeas-1.0.so.0 \
--replace libpeas-gtk-1.0.so.0 ${libpeas}/lib/libpeas-gtk-1.0.so.0 \
--replace libpeas-1.0.0.dylib ${libpeas}/lib/libpeas-1.0.0.dylib \
--replace gtk-1.0.0.dylib ${libpeas}/lib/gtk-1.0.0.dylib
substituteInPlace generated/vte/vtec/vte.d \
--replace libvte-2.91.so.0 ${vte}/lib/libvte-2.91.so.0 \
--replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib
substituteInPlace generated/gstreamer/gstreamerc/gstinterfaces.d \
--replace libgstvideo-1.0.so.0 ${gst_plugins_base}/lib/libgstvideo-1.0.so.0 \
--replace libgstvideo-1.0.0.dylib ${gst_plugins_base}/lib/libgstvideo-1.0.0.dylib
substituteInPlace generated/sourceview/gsvc/gsv.d \
--replace libgtksourceview-3.0.so.1 ${gtksourceview}/lib/libgtksourceview-3.0.so.1 \
--replace libgtksourceview-3.0.1.dylib ${gtksourceview}/lib/libgtksourceview-3.0.1.dylib
substituteInPlace generated/gtkd/gtkc/glib.d \
--replace libglib-2.0.so.0 ${glib}/lib/libglib-2.0.so.0 \
--replace libgmodule-2.0.so.0 ${glib}/lib/libgmodule-2.0.so.0 \
--replace libgobject-2.0.so.0 ${glib}/lib/libgobject-2.0.so.0 \
--replace libglib-2.0.0.dylib ${glib}/lib/libglib-2.0.0.dylib \
--replace libgmodule-2.0.0.dylib ${glib}/lib/libgmodule-2.0.0.dylib \
--replace libgobject-2.0.0.dylib ${glib}/lib/libgobject-2.0.0.dylib
substituteInPlace generated/gtkd/gtkc/gio.d \
--replace libgio-2.0.so.0 ${glib}/lib/libgio-2.0.so.0 \
--replace libgio-2.0.0.dylib ${glib}/lib/libgio-2.0.0.dylib
substituteInPlace generated/gstreamer/gstreamerc/gstreamer.d \
--replace libgstreamer-1.0.so.0 ${gstreamer}/lib/libgstreamer-1.0.so.0 \
--replace libgstreamer-1.0.0.dylib ${gstreamer}/lib/libgstreamer-1.0.0.dylib
substituteInPlace generated/gtkd/gtkc/gtk.d \
--replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
--replace libgtk-3.so.0 ${gtk3}/lib/libgtk-3.so.0 \
--replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib \
--replace libgtk-3.0.dylib ${gtk3}/lib/libgtk-3.0.dylib
'';
installFlags = "prefix=$(out)";
inherit atk cairo gdk_pixbuf librsvg pango;
inherit (gnome3) glib gtk3 gtksourceview libgda libpeas vte;
inherit (gst_all_1) gstreamer;
gst_plugins_base = gst_all_1.gst-plugins-base;
meta = with stdenv.lib; {
description = "D binding and OO wrapper for GTK+";
homepage = "https://gtkd.org";
licence = licenses.lgpl3Plus;
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@ -0,0 +1,142 @@
/*
* gtkD is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version, with
* some exceptions, please read the COPYING file.
*
* gtkD is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with gtkD; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
*
* paths.d -- list of libraries that will be dynamically linked with gtkD
*
* Added: John Reimer -- 2004-12-20
* Updated: 2005-02-21 changed names; added version(linux)
* Updated: 2005-05-05 updated Linux support
* Updated: 2008-02-16 Tango support
*/
module gtkd.paths;
/*
* Define the Libraries that gtkD will be using.
* This is a growable list, as long as the programmer
* also adds to the importLibs list.
*/
enum LIBRARY
{
ATK,
CAIRO,
GDK,
GDKPIXBUF,
GLIB,
GMODULE,
GOBJECT,
GIO,
GTHREAD,
GTK,
PANGO,
PANGOCAIRO,
GLGDK,
GLGTK,
GDA,
GSV,
GSV1,
GSTREAMER,
GSTINTERFACES,
VTE,
PEAS,
RSVG,
}
version (Windows)
{
const string[LIBRARY.max+1] importLibs =
[
LIBRARY.ATK: "libatk-1.0-0.dll",
LIBRARY.CAIRO: "libcairo-2.dll",
LIBRARY.GDK: "libgdk-3-0.dll",
LIBRARY.GDKPIXBUF: "libgdk_pixbuf-2.0-0.dll",
LIBRARY.GLIB: "libglib-2.0-0.dll",
LIBRARY.GMODULE: "libgmodule-2.0-0.dll",
LIBRARY.GOBJECT: "libgobject-2.0-0.dll",
LIBRARY.GIO: "libgio-2.0-0.dll",
LIBRARY.GTHREAD: "libgthread-2.0-0.dll",
LIBRARY.GTK: "libgtk-3-0.dll",
LIBRARY.PANGO: "libpango-1.0-0.dll",
LIBRARY.PANGOCAIRO: "libpangocairo-1.0-0.dll",
LIBRARY.GLGDK: "libgdkglext-3.0-0.dll",
LIBRARY.GLGTK: "libgtkglext-3.0-0.dll",
LIBRARY.GDA: "libgda-4.0-4.dll",
LIBRARY.GSV: "libgtksourceview-3.0-0.dll",
LIBRARY.GSV1: "libgtksourceview-3.0-1.dll",
LIBRARY.GSTREAMER: "libgstreamer-1.0.dll",
LIBRARY.GSTINTERFACES: "libgstvideo-1.0.dll",
LIBRARY.VTE: "libvte-2.91.dll",
LIBRARY.PEAS: "libpeas-1.0.dll",
LIBRARY.RSVG: "librsvg-2-2.dll",
];
}
else version(darwin)
{
const string[LIBRARY.max+1] importLibs =
[
LIBRARY.ATK: "@atk@/lib/libatk-1.0.dylib",
LIBRARY.CAIRO: "@cairo@/lib/libcairo.dylib",
LIBRARY.GDK: "@gtk3@/lib/libgdk-3.0.dylib",
LIBRARY.GDKPIXBUF: "@gdk_pixbuf@/lib/libgdk_pixbuf-2.0.dylib",
LIBRARY.GLIB: "@glib@/lib/libglib-2.0.dylib",
LIBRARY.GMODULE: "@glib@/lib/libgmodule-2.0.dylib",
LIBRARY.GOBJECT: "@glib@/lib/libgobject-2.0.dylib",
LIBRARY.GIO: "@glib@/lib/libgio-2.0.dylib",
LIBRARY.GTHREAD: "@glib@/lib/libgthread-2.0.dylib",
LIBRARY.GTK: "@gtk3@/lib/libgtk-3.0.dylib",
LIBRARY.PANGO: "@pango@/lib/libpango-1.0.dylib",
LIBRARY.PANGOCAIRO: "@pango@/lib/libpangocairo-1.0.dylib",
LIBRARY.GLGDK: "libgdkglext-3.0.dylib",
LIBRARY.GLGTK: "libgtkglext-3.0.dylib",
LIBRARY.GDA: "@libgda@/lib/libgda-2.dylib",
LIBRARY.GSV: "@gtksourceview@/lib/libgtksourceview-3.0.dylib",
LIBRARY.GSV1: "@gtksourceview@/lib/libgtksourceview-3.0.dylib",
LIBRARY.GSTREAMER: "@gstreamer@/lib/libgstreamer-1.0.dylib",
LIBRARY.GSTINTERFACES: "@gst_plugins_base@/lib/libgstvideo-1.0.dylib",
LIBRARY.VTE: "@vte@/lib/libvte-2.91.dylib",
LIBRARY.PEAS: "@libpeas@/lib/libpeas-1.0.dylib",
LIBRARY.RSVG: "@librsvg@/lib/librsvg-2.dylib",
];
}
else
{
const string[LIBRARY.max+1] importLibs =
[
LIBRARY.ATK: "@atk@/lib/libatk-1.0.so.0",
LIBRARY.CAIRO: "@cairo@/lib/libcairo.so.2",
LIBRARY.GDK: "@gtk3@/lib/libgdk-3.so.0",
LIBRARY.GDKPIXBUF: "@gdk_pixbuf@/lib/libgdk_pixbuf-2.0.so.0",
LIBRARY.GLIB: "@glib@/lib/libglib-2.0.so.0",
LIBRARY.GMODULE: "@glib@/lib/libgmodule-2.0.so.0",
LIBRARY.GOBJECT: "@glib@/lib/libgobject-2.0.so.0",
LIBRARY.GIO: "@glib@/lib/libgio-2.0.so.0",
LIBRARY.GTHREAD: "@glib@/lib/libgthread-2.0.so.0",
LIBRARY.GTK: "@gtk3@/lib/libgtk-3.so.0",
LIBRARY.PANGO: "@pango@/lib/libpango-1.0.so.0",
LIBRARY.PANGOCAIRO: "@pango@/lib/libpangocairo-1.0.so.0",
LIBRARY.GLGDK: "libgdkglext-3.0.so.0",
LIBRARY.GLGTK: "libgtkglext-3.0.so.0",
LIBRARY.GDA: "@libgda@/lib/libgda-4.0.so.4",
LIBRARY.GSV: "@gtksourceview@/lib/libgtksourceview-3.0.so.0",
LIBRARY.GSV1: "@gtksourceview@/lib/libgtksourceview-3.0.so.1",
LIBRARY.GSTREAMER: "@gstreamer@/lib/libgstreamer-1.0.so.0",
LIBRARY.GSTINTERFACES: "@gst_plugins_base@/lib/libgstvideo-1.0.so.0",
LIBRARY.VTE: "@vte@/lib/libvte-2.91.so.0",
LIBRARY.PEAS: "@libpeas@/lib/libpeas-1.0.so.0",
LIBRARY.RSVG: "@librsvg@/lib/librsvg-2.so.2",
];
}

View File

@ -1,8 +1,8 @@
# This file has been generated by node2nix 1.1.1. Do not edit!
# This file has been generated by node2nix 1.2.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-4_x"}:
let
nodeEnv = import ./node-env.nix {

View File

@ -1,4 +1,4 @@
# This file has been generated by node2nix 1.1.1. Do not edit!
# This file has been generated by node2nix 1.2.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;

View File

@ -57,60 +57,6 @@ let
# Recursively composes the dependencies of a package
composePackage = { name, packageName, src, dependencies ? [], ... }@args:
let
fixImpureDependencies = writeTextFile {
name = "fixDependencies.js";
text = ''
var fs = require('fs');
var url = require('url');
/*
* Replaces an impure version specification by *
*/
function replaceImpureVersionSpec(versionSpec) {
var parsedUrl = url.parse(versionSpec);
if(versionSpec == "latest" || versionSpec == "unstable" ||
versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/')
return '*';
else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||
parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:")
return '*';
else
return versionSpec;
}
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Replace dependencies */
if(packageObj.dependencies !== undefined) {
for(var dependency in packageObj.dependencies) {
var versionSpec = packageObj.dependencies[dependency];
packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Replace development dependencies */
if(packageObj.devDependencies !== undefined) {
for(var dependency in packageObj.devDependencies) {
var versionSpec = packageObj.devDependencies[dependency];
packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Replace optional dependencies */
if(packageObj.optionalDependencies !== undefined) {
for(var dependency in packageObj.optionalDependencies) {
var versionSpec = packageObj.optionalDependencies[dependency];
packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Write the fixed JSON file */
fs.writeFileSync("package.json", JSON.stringify(packageObj));
'';
};
in
''
DIR=$(pwd)
cd $TMPDIR
@ -150,17 +96,97 @@ let
# Unset the stripped name to not confuse the next unpack step
unset strippedName
# Some version specifiers (latest, unstable, URLs, file paths) force NPM to make remote connections or consult paths outside the Nix store.
# The following JavaScript replaces these by * to prevent that
cd "$DIR/${packageName}"
node ${fixImpureDependencies}
# Include the dependencies of the package
cd "$DIR/${packageName}"
${includeDependencies { inherit dependencies; }}
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
'';
pinpointDependencies = {dependencies, production}:
let
pinpointDependenciesFromPackageJSON = writeTextFile {
name = "pinpointDependencies.js";
text = ''
var fs = require('fs');
var path = require('path');
function resolveDependencyVersion(location, name) {
if(location == process.env['NIX_STORE']) {
return null;
} else {
var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
if(fs.existsSync(dependencyPackageJSON)) {
var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
if(dependencyPackageObj.name == name) {
return dependencyPackageObj.version;
}
} else {
return resolveDependencyVersion(path.resolve(location, ".."), name);
}
}
}
function replaceDependencies(dependencies) {
if(typeof dependencies == "object" && dependencies !== null) {
for(var dependency in dependencies) {
var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
if(resolvedVersion === null) {
process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
} else {
dependencies[dependency] = resolvedVersion;
}
}
}
}
/* Read the package.json configuration */
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Pinpoint all dependencies */
replaceDependencies(packageObj.dependencies);
if(process.argv[2] == "development") {
replaceDependencies(packageObj.devDependencies);
}
replaceDependencies(packageObj.optionalDependencies);
/* Write the fixed package.json file */
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
'';
};
in
''
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
${stdenv.lib.optionalString (dependencies != [])
''
if [ -d node_modules ]
then
cd node_modules
${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
cd ..
fi
''}
'';
# Recursively traverses all dependencies of a package and pinpoints all
# dependencies in the package.json file to the versions that are actually
# being used.
pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
''
if [ -d "${packageName}" ]
then
cd "${packageName}"
${pinpointDependencies { inherit dependencies production; }}
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
fi
'';
# Extract the Node.js source code which is used to compile packages with
# native bindings
nodeSources = runCommand "node-sources" {} ''
@ -183,7 +209,9 @@ let
buildPhase = args.buildPhase or "true";
compositionScript = composePackage args;
passAsFile = [ "compositionScript" ];
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
installPhase = args.installPhase or ''
# Create and enter a root node_modules/ folder
@ -193,6 +221,10 @@ let
# Compose the package and all its dependencies
source $compositionScriptPath
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible
patchShebangs .
@ -254,13 +286,19 @@ let
buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
includeScript = includeDependencies { inherit dependencies; };
passAsFile = [ "includeScript" ];
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
buildCommand = ''
mkdir -p $out/lib
cd $out/lib
source $includeScriptPath
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Create fake package.json to make the npm commands work properly
cat > package.json <<EOF
{

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@
, "elasticdump"
, "emoj"
, "eslint"
, "eslint_d"
, "emojione"
, "fetch-bower"
, "forever"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,46 @@
{ lib
, fetchurl
, buildPythonPackage
, git
, mercurial
, bazaar
, psutil
, pygit2
}:
buildPythonPackage rec {
rev = "2.6";
name = "powerline-${rev}";
src = fetchurl {
url = "https://github.com/powerline/powerline/archive/${rev}.tar.gz";
name = "${name}.tar.gz";
sha256 = "c108f11fe10dc910febb94b87d3abded85d4363fb950366a9e30282b9ba7c272";
};
propagatedBuildInputs = [ git mercurial bazaar psutil pygit2];
# error: This is still beta and some tests still fail
doCheck = false;
postInstall = ''
install -dm755 "$out/share/fonts/OTF/"
install -dm755 "$out/etc/fonts/conf.d"
install -m644 "font/PowerlineSymbols.otf" "$out/share/fonts/OTF/PowerlineSymbols.otf"
install -m644 "font/10-powerline-symbols.conf" "$out/etc/fonts/conf.d/10-powerline-symbols.conf"
install -dm755 "$out/share/vim/vimfiles/plugin"
install -m644 "powerline/bindings/vim/plugin/powerline.vim" "$out/share/vim/vimfiles/plugin/powerline.vim"
install -dm755 "$out/share/zsh/site-contrib"
install -m644 "powerline/bindings/zsh/powerline.zsh" "$out/share/zsh/site-contrib/powerline.zsh"
install -dm755 "$out/share/tmux"
install -m644 "powerline/bindings/tmux/powerline.conf" "$out/share/tmux/powerline.conf"
'';
meta = {
homepage = https://github.com/powerline/powerline;
description = "The ultimate statusline/prompt utility";
license = lib.licenses.mit;
};
}

View File

@ -15,7 +15,7 @@
let
basename = "gdb-${version}";
version = "7.12.1";
version = "8.0";
in
assert targetPlatform.isHurd -> mig != null && hurd != null;
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnu/gdb/${basename}.tar.xz";
sha256 = "11ii260h1sd7v0bs3cz6d5l8gqxxgldry0md60ncjgixjw5nh1s6";
sha256 = "1vplyf8v70yn0rdqjx6awl9nmfbwaj5ynwwjxwa71rhp97z4z8pn";
};
nativeBuildInputs = [ pkgconfig texinfo perl ]

View File

@ -10,11 +10,11 @@ let
baseName = if enableNpm then "nodejs" else "nodejs-slim";
in
stdenv.mkDerivation (nodejs // rec {
version = "8.0.0";
version = "8.1.0";
name = "${baseName}-${version}";
src = fetchurl {
url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz";
sha256 = "072g2zv58aa5zxs8fs9bdsi3mqklf2yj9mf58yjg5frbcfikm395";
sha256 = "1z3pcyxni8qmxljz6vbghm8242sr63l0dbc7x22ywbbqkfv21zzj";
};
patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, substituteAll
, pkgconfig
, makeWrapper
, cups, zlib, libjpeg, libusb1, pythonPackages, sane-backends, dbus, usbutils
, net_snmp, openssl, polkit
, net_snmp, openssl, polkit, nettools
, bash, coreutils, utillinux
, qtSupport ? true
, withPlugin ? false
@ -22,15 +23,12 @@ let
sha256 = "1y3wdax2wb6kdd8bi40wl7v9s8ffyjz95bz42sjcpzzddmlhcaxg";
};
hplipState =
substituteAll
{
hplipState = substituteAll {
inherit version;
src = ./hplip.state;
};
hplipPlatforms =
{
hplipPlatforms = {
"i686-linux" = "x86_32";
"x86_64-linux" = "x86_64";
"armv6l-linux" = "arm32";
@ -63,6 +61,7 @@ pythonPackages.buildPythonApplication {
nativeBuildInputs = [
pkgconfig
makeWrapper
];
propagatedBuildInputs = with pythonPackages; [
@ -146,6 +145,9 @@ pythonPackages.buildPythonApplication {
'';
postFixup = ''
wrapProgram $out/lib/cups/filter/hpps \
--prefix PATH : "${nettools}/bin"
substituteInPlace $out/etc/hp/hplip.conf --replace /usr $out
'' + stdenv.lib.optionalString (!withPlugin) ''
# A udev rule to notify users that they need the binary plugin.

View File

@ -69,6 +69,12 @@ in rec {
filesToInstall = ["tools/dumpimage" "tools/mkenvimage" "tools/mkimage"];
};
ubootA20OlinuxinoLime = buildUBoot rec {
defconfig = "A20-OLinuXino-Lime_defconfig";
targetPlatforms = ["armv7l-linux"];
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
};
ubootBananaPi = buildUBoot rec {
defconfig = "Bananapi_defconfig";
targetPlatforms = ["armv7l-linux"];

View File

@ -3,16 +3,16 @@
stdenv.mkDerivation rec {
name = "clickhouse-${version}";
version = "1.1.54190";
version = "1.1.54236";
src = fetchFromGitHub {
owner = "yandex";
repo = "ClickHouse";
rev = "v${version}-stable";
sha256 = "03snzrhz3ai66fqy3rh89cgmpiaskg3077zflkwzqxwx69jkmqix";
sha256 = "1mfjr1yzvf810vbb35c2rknvqnc4mkncl56ja48myn7hc9p457d7";
};
patches = [ ./prefix.patch ./termcap.patch ];
patches = [ ./termcap.patch ];
nativeBuildInputs = [ cmake libtool ];

View File

@ -1,30 +0,0 @@
From ccc3596aa3ca041f457bf44d3437d935f56e82a4 Mon Sep 17 00:00:00 2001
From: Orivej Desh <orivej@gmx.fr>
Date: Sun, 26 Mar 2017 23:57:32 +0000
Subject: [PATCH] Do not override CMAKE_INSTALL_PREFIX
---
CMakeLists.txt | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 517b25e..6d8ced2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -141,12 +141,7 @@ if (ENABLE_TESTS)
endif (ENABLE_TESTS)
# Installation prefix
-if (NOT CMAKE_SYSTEM MATCHES "FreeBSD")
- set (CMAKE_INSTALL_PREFIX /usr)
- set (CLICKHOUSE_ETC_DIR /etc)
-else ()
- set (CLICKHOUSE_ETC_DIR ${CMAKE_INSTALL_PREFIX}/etc)
-endif ()
+set (CLICKHOUSE_ETC_DIR ${CMAKE_INSTALL_PREFIX}/etc)
option (UNBUNDLED "Try find all libraries in system (if fail - use bundled from contrib/)" OFF)
--
2.12.0

View File

@ -29,15 +29,16 @@ stdenv.mkDerivation rec {
postInstall = stdenv.lib.optionalString mimiSupport ''
cp ${mimisrc}/xdg-open $out/bin/xdg-open
''
+ ''
for tool in "${coreutils}/bin/cut" "${gnused}/bin/sed" \
"${gnugrep}"/bin/{e,}grep "${file}/bin/file" \
${stdenv.lib.optionalString mimiSupport
'' "${gawk}/bin/awk" "${coreutils}/bin/sort" ''} ;
do
sed "s# $(basename "$tool") # $tool #g" -i "$out"/bin/*
done
'' + ''
sed '2s#.#\
cut() { ${coreutils}/bin/cut "$@"; }\
sed() { ${gnused}/bin/sed "$@"; }\
grep() { ${gnugrep}/bin/grep "$@"; }\
egrep() { ${gnugrep}/bin/egrep "$@"; }\
file() { ${file}/bin/file "$@"; }\
awk() { ${gawk}/bin/awk "$@"; }\
sort() { ${coreutils}/bin/sort "$@"; }\
&#' -i "$out"/bin/*
substituteInPlace $out/bin/xdg-open \
--replace "/usr/bin/printf" "${coreutils}/bin/printf"

View File

@ -1,10 +1,11 @@
{ stdenv, fetchurl, pkgconfig, utillinux }:
{ stdenv, fetchurl, pkgconfig, utillinux, bash }:
stdenv.mkDerivation rec {
name = "bcache-tools-${version}";
version = "1.0.7";
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/g2p/bcache-tools/archive/v${version}.tar.gz";
sha256 = "1gbsh2qw0a7kgck6w0apydiy37nnz5xvdgipa0yqrfmghl86vmv4";
};
@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
preBuild = ''
export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\"";
sed -e "s|/bin/sh|${bash}/bin/sh|" -i *.rules
'';
preInstall = ''

View File

@ -6,48 +6,41 @@
let
python = python3Packages.python;
wrapPython = python3Packages.wrapPython;
date = "2017-01-22";
version = "1.1";
in
stdenv.mkDerivation {
name = "autorandr-unstable-${date}";
name = "autorandr-${version}";
buildInputs = [ python wrapPython ];
phases = [ "unpackPhase" "installPhase" ];
buildInputs = [ python ];
installPhase = ''
runHook preInstall
make install TARGETS='autorandr' PREFIX=$out
wrapPythonProgramsIn $out/bin/autorandr $out
make install TARGETS='bash_completion' DESTDIR=$out
make install TARGETS='autostart_config' PREFIX=$out DESTDIR=$out
${if false then ''
# breaks systemd-udev-settle during boot so disabled
${if systemd != null then ''
make install TARGETS='systemd udev' PREFIX=$out DESTDIR=$out \
SYSTEMD_UNIT_DIR=/lib/systemd/system \
UDEV_RULES_DIR=/etc/udev/rules.d
substituteInPlace $out/etc/udev/rules.d/40-monitor-hotplug.rules \
--replace /bin "${systemd}/bin"
'' else if systemd != null then ''
make install TARGETS='systemd' PREFIX=$out DESTDIR=$out \
SYSTEMD_UNIT_DIR=/lib/systemd/system
make install TARGETS='udev' PREFIX=$out DESTDIR=$out \
UDEV_RULES_DIR=/etc/udev/rules.d
--replace /bin/systemctl "${systemd}/bin/systemctl"
'' else ''
make install TARGETS='pmutils' DESTDIR=$out \
PM_SLEEPHOOKS_DIR=/lib/pm-utils/sleep.d
make install TARGETS='udev' PREFIX=$out DESTDIR=$out \
UDEV_RULES_DIR=/etc/udev/rules.d
''}
runHook postInstall
'';
src = fetchFromGitHub {
owner = "phillipberndt";
repo = "autorandr";
rev = "855c18b7f2cfd364d6f085d4301b5b98ba6e572a";
sha256 = "1yp1gns3lwa8796cb7par9czkc9i7paap2fkzf7wj6zqlkgjdvv0";
rev = "${version}";
sha256 = "05jlzxlrdyd4j90srr71fv91c2hf32diw40n9rmybgcdvy45kygd";
};
meta = {

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "qt5ct-${version}";
version = "0.32";
version = "0.33";
src = fetchurl {
url = "mirror://sourceforge/qt5ct/qt5ct-${version}.tar.bz2";
sha256 = "0gzmqx6j8g8vgdg5sazfw31h825jdsjbkj8lk167msvahxgrf0fm";
sha256 = "0by0wz40rl9gxvwbd85j0y5xy9mjab1cya96rv48x677v95lhm9f";
};
nativeBuildInputs = [ makeQtWrapper qmakeHook qttools ];

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Udev helper for naming devices per BIOS names";
license = licenses.gpl2;
platforms = platforms.linux;
platforms = ["x86_64-linux" "i686-linux"];
maintainers = with maintainers; [ cstrahan ];
};
}

View File

@ -1,19 +1,22 @@
{ stdenv, fetchurl, python2Packages }:
{ stdenv, fetchFromGitHub, python2Packages }:
python2Packages.buildPythonApplication rec {
name = "grin-1.2.1";
program = "grin";
version = "1.2.1";
name = "${program}-${version}";
namePrefix = "";
src = fetchurl {
url = "mirror://pypi/g/grin/${name}.tar.gz";
sha256 = "1swzwb17wibam8jszdv98h557hlx44pg6psv6rjz7i33qlxk0fdz";
src = fetchFromGitHub {
owner = "rkern";
repo = program;
rev = "8dd4b5309b3bc04fe9d3e71836420f7d8d4a293f";
sha256 = "0vz2aahwdcy1296g4w3i79dkvmzk9jc2n2zmlcvlg5m3s6h7b6jd";
};
buildInputs = with python2Packages; [ nose ];
propagatedBuildInputs = with python2Packages; [ argparse ];
meta = {
homepage = https://pypi.python.org/pypi/grin;
homepage = https://github.com/rkern/grin;
description = "A grep program configured the way I like it";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.sjagoe ];

View File

@ -474,6 +474,9 @@ with pkgs;
arp-scan = callPackage ../tools/misc/arp-scan { };
inherit (callPackages ../data/fonts/arphic {})
arphic-ukai arphic-uming;
artyFX = callPackage ../applications/audio/artyFX {};
as31 = callPackage ../development/compilers/as31 {};
@ -1777,6 +1780,8 @@ with pkgs;
exiftags = callPackage ../tools/graphics/exiftags { };
exiftool = perlPackages.ImageExifTool;
extundelete = callPackage ../tools/filesystems/extundelete { };
expect = callPackage ../tools/misc/expect { };
@ -2263,6 +2268,8 @@ with pkgs;
gtdialog = callPackage ../development/libraries/gtdialog {};
gtkd = callPackage ../development/libraries/gtkd { };
gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
gtkvnc = callPackage ../tools/admin/gtk-vnc {};
@ -4340,6 +4347,8 @@ with pkgs;
tie = callPackage ../development/tools/misc/tie { };
tilix = callPackage ../applications/misc/tilix { };
tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
tiny8086 = callPackage ../applications/virtualization/8086tiny { };
@ -6055,6 +6064,10 @@ with pkgs;
gtk2 = gtk2-x11;
};
lxappearance-gtk3 = callPackage ../desktops/lxde/core/lxappearance {
withGtk3 = true;
};
lxmenu-data = callPackage ../desktops/lxde/core/lxmenu-data.nix { };
lxpanel = callPackage ../desktops/lxde/core/lxpanel {
@ -12472,6 +12485,7 @@ with pkgs;
inherit (callPackage ../misc/uboot {})
buildUBoot
ubootTools
ubootA20OlinuxinoLime
ubootBananaPi
ubootBeagleboneBlack
ubootJetsonTK1
@ -15488,6 +15502,7 @@ with pkgs;
profanity = callPackage ../applications/networking/instant-messengers/profanity {
notifySupport = config.profanity.notifySupport or true;
traySupport = config.profanity.traySupport or true;
autoAwaySupport = config.profanity.autoAwaySupport or true;
};

View File

@ -7135,11 +7135,12 @@ let self = _self // overrides; _self = with self; {
};
ImageExifTool = buildPerlPackage rec {
name = "Image-ExifTool-9.27";
name = "Image-ExifTool-${version}";
version = "10.48";
src = fetchurl {
url = "http://www.sno.phy.queensu.ca/~phil/exiftool/${name}.tar.gz";
sha256 = "1f37pi7a6fcphp0kkhj7yr9b5c95m2wvy5jcwjq1xdiq74gdi16c";
sha256 = "1wbwapwhv4imh1lj4dw4a8z2mhw983wk5pzdbp7pkijfji0vjj0p";
};
meta = with stdenv.lib; {

View File

@ -18100,44 +18100,7 @@ in {
};
};
powerline = buildPythonPackage rec {
rev = "2.5.2";
name = "powerline-${rev}";
src = pkgs.fetchurl {
url = "https://github.com/powerline/powerline/archive/${rev}.tar.gz";
name = "${name}.tar.gz";
sha256 = "064rp2jzz4vp1xqk3445qf08pq3aif00q1rjqaqx2pla15s27yrz";
};
propagatedBuildInputs = with self; [ pkgs.git pkgs.mercurial pkgs.bazaar self.psutil self.pygit2 ];
# error: This is still beta and some tests still fail
doCheck = false;
postInstall = ''
install -dm755 "$out/share/fonts/OTF/"
install -dm755 "$out/etc/fonts/conf.d"
install -m644 "font/PowerlineSymbols.otf" "$out/share/fonts/OTF/PowerlineSymbols.otf"
install -m644 "font/10-powerline-symbols.conf" "$out/etc/fonts/conf.d/10-powerline-symbols.conf"
install -dm755 "$out/share/vim/vimfiles/plugin"
install -m644 "powerline/bindings/vim/plugin/powerline.vim" "$out/share/vim/vimfiles/plugin/powerline.vim"
install -dm755 "$out/share/zsh/site-contrib"
install -m644 "powerline/bindings/zsh/powerline.zsh" "$out/share/zsh/site-contrib/powerline.zsh"
install -dm755 "$out/share/tmux"
install -m644 "powerline/bindings/tmux/powerline.conf" "$out/share/tmux/powerline.conf"
'';
meta = {
homepage = https://github.com/powerline/powerline;
description = "The ultimate statusline/prompt utility";
license = licenses.mit;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.all;
};
};
powerline = callPackage ../development/python-modules/powerline { };
pox = buildPythonPackage rec {
name = "pox-${version}";