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`). 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
### Contributing guidelines ### Contributing guidelines

View File

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

View File

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

View File

@ -131,9 +131,9 @@ in {
path = mkIf (!isMLocate) [ pkgs.su ]; path = mkIf (!isMLocate) [ pkgs.su ];
script = 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 \ 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} --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
''; '';
environment = { environment = {

View File

@ -22,19 +22,9 @@ in {
environment.systemPackages = [ pkgs.autorandr ]; environment.systemPackages = [ pkgs.autorandr ];
# systemd.unitPackages = [ pkgs.autorandr ]; systemd.packages = [ pkgs.autorandr ];
systemd.services.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" ]; wantedBy = [ "sleep.target" ];
}; };

View File

@ -14,8 +14,8 @@ let
acl badnetworks { ${concatMapStrings (entry: " ${entry}; ") cfg.blockedNetworks} }; acl badnetworks { ${concatMapStrings (entry: " ${entry}; ") cfg.blockedNetworks} };
options { options {
listen-on {any;}; listen-on { ${concatMapStrings (entry: " ${entry}; ") cfg.listenOn} };
listen-on-v6 {any;}; listen-on-v6 { ${concatMapStrings (entry: " ${entry}; ") cfg.listenOnIpv6} };
allow-query { cachenetworks; }; allow-query { cachenetworks; };
blackhole { badnetworks; }; blackhole { badnetworks; };
forward first; 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 { zones = mkOption {
default = []; default = [];
description = " description = "

View File

@ -64,11 +64,21 @@ let
)) + ":" + (makeSearchPathOutput "bin" "sbin" [ )) + ":" + (makeSearchPathOutput "bin" "sbin" [
pkgs.mdadm pkgs.utillinux 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; }) {} bootDeviceCounters = fold (device: attr: attr // { "${device}" = (attr."${device}" or 0) + 1; }) {}
(concatMap (args: args.devices) cfg.mirroredBoots); (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 in
{ {
@ -276,7 +286,7 @@ in
extraInitrd = mkOption { extraInitrd = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
example = "/boot/extra_initrafms.gz"; example = "/boot/extra_initramfs.gz";
description = '' description = ''
The path to a second initramfs to be supplied to the kernel. 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 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 { gfxmodeEfi = mkOption {
default = "auto"; default = "auto";
example = "1024x768"; example = "1024x768";

View File

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

View File

@ -167,7 +167,7 @@ let
--replace /sbin/blkid ${extraUtils}/bin/blkid \ --replace /sbin/blkid ${extraUtils}/bin/blkid \
--replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \ --replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \
--replace /sbin/mdadm ${extraUtils}/bin/mdadm \ --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/readlink ${extraUtils}/bin/readlink \
--replace /usr/bin/basename ${extraUtils}/bin/basename \ --replace /usr/bin/basename ${extraUtils}/bin/basename \
--replace ${udev}/bin/udevadm ${extraUtils}/bin/udevadm --replace ${udev}/bin/udevadm ${extraUtils}/bin/udevadm

View File

@ -4,6 +4,8 @@
environment.systemPackages = [ pkgs.bcache-tools ]; environment.systemPackages = [ pkgs.bcache-tools ];
services.udev.packages = [ pkgs.bcache-tools ];
boot.initrd.extraUdevRulesCommands = '' boot.initrd.extraUdevRulesCommands = ''
cp -v ${pkgs.bcache-tools}/lib/udev/rules.d/*.rules $out/ 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"; description = "A range of synthesiser, electric piano and organ emulations";
homepage = http://bristol.sourceforge.net; homepage = http://bristol.sourceforge.net;
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = ["x86_64-linux" "i686-linux"];
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];
}; };
} }

View File

@ -1,17 +1,19 @@
{ lib, stdenv, callPackage, fetchurl, makeDesktopItem, makeWrapper, patchelf { lib, stdenv, callPackage, fetchurl, makeDesktopItem, makeWrapper, patchelf
, coreutils, gnugrep, which, git, python, unzip, p7zip , coreutils, gnugrep, which, git, python, unzip, p7zip
, androidsdk, jdk , androidsdk, jdk, cmake, libxml2, zlib, python2, ncurses
}: }:
assert stdenv.isLinux; assert stdenv.isLinux;
with stdenv.lib;
let let
mkJetBrainsProduct = callPackage ./common.nix { }; mkJetBrainsProduct = callPackage ./common.nix { };
# Sorted alphabetically # Sorted alphabetically
buildClion = { name, version, src, license, description, wmClass }: buildClion = { name, version, src, license, description, wmClass }:
(mkJetBrainsProduct rec { lib.overrideDerivation (mkJetBrainsProduct rec {
inherit name version src wmClass jdk; inherit name version src wmClass jdk;
product = "CLion"; product = "CLion";
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -21,9 +23,35 @@ let
Enhancing productivity for every C and C++ Enhancing productivity for every C and C++
developer on Linux, OS X and Windows. developer on Linux, OS X and Windows.
''; '';
maintainers = with maintainers; [ edwtjo ]; maintainers = with maintainers; [ edwtjo mic92 ];
platforms = platforms.linux; 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 }: buildDataGrip = { name, version, src, license, description, wmClass }:
@ -209,12 +237,12 @@ in
gogland = buildGogland rec { gogland = buildGogland rec {
name = "gogland-${version}"; name = "gogland-${version}";
version = "171.4424.55"; version = "171.4694.35";
description = "Up and Coming Go IDE"; description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
src = fetchurl { src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz"; url = "https://download.jetbrains.com/go/${name}.tar.gz";
sha256 = "0l5pn2wj541v1xc58bpipkl483zrhwjr37grkwiwx2j4iygrikq7"; sha256 = "0q2f8bi2i49j0xcpn824sihz2015jhn338cjaqy0jd988nxik6jk";
}; };
wmClass = "jetbrains-gogland"; wmClass = "jetbrains-gogland";
}; };

View File

@ -2,7 +2,7 @@
makeWrapper, libXScrnSaver, libxkbfile }: makeWrapper, libXScrnSaver, libxkbfile }:
let let
version = "1.12.2"; version = "1.13.0";
channel = "stable"; channel = "stable";
plat = { plat = {
@ -12,9 +12,9 @@ let
}.${stdenv.system}; }.${stdenv.system};
sha256 = { sha256 = {
"i686-linux" = "0221s8vx32haqr31wkkm637gya3vljbkim59i7a2hhwxh2gcs2fk"; "i686-linux" = "069pv0w8yhsv50glpcxzypsjc7mxmrcrv25c75rnv43yiyamjvyi";
"x86_64-linux" = "0p6ck2lc9lln96lib5r5yfbrd04rgsbzhvf1lx2kykn428ddxi9s"; "x86_64-linux" = "0cjkkvd5rs82yji0kpnbvzgwz5qvh9x6bmjd51rrvjz84dbwhgzq";
"x86_64-darwin" = "1s7hyr245v4z2g357m7ajnh8y1cqixricpkx329xls4292qb7rh4"; "x86_64-darwin" = "1qbxv5drqrx9k835a6zj3kkbh4sga5r9y0gf9bq16g3gf0dd9bwq";
}.${stdenv.system}; }.${stdenv.system};
archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; 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 let
unwrapped = kdeApp { unwrapped = kdeApp {
name = "kdenlive"; name = "kdenlive";
patches = [
./kdenlive-cmake-concurrent-module.patch
];
nativeBuildInputs = [ nativeBuildInputs = [
extra-cmake-modules extra-cmake-modules
kdoctools kdoctools

View File

@ -4,12 +4,12 @@ assert stdenv.isLinux;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "IPMIView-${version}"; name = "IPMIView-${version}";
version = "2.12.0"; version = "2.13.0";
buildVersion = "160804"; buildVersion = "170504";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz"; url = "ftp://ftp.supermicro.com/utility/IPMIView/Linux/IPMIView_${version}_build.${buildVersion}_bundleJRE_Linux_x64.tar.gz";
sha256 = "787a060413451a4a5993c31805f55a221087b7199bbaf20e9fe1254e2a76db42"; sha256 = "1hfw5g6lxg3vqg0nc3g2sv2h6bn8za35bxxms0ri0sgb9v3xg1y6";
}; };
buildInputs = [ patchelf makeWrapper ]; 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 , autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null
, notifySupport ? false, libnotify ? null, gdk_pixbuf ? null , notifySupport ? false, libnotify ? null, gdk_pixbuf ? null
, traySupport ? false, gnome2 ? null
}: }:
assert autoAwaySupport -> libXScrnSaver != null && libX11 != null; assert autoAwaySupport -> libXScrnSaver != null && libX11 != null;
assert notifySupport -> libnotify != null && gdk_pixbuf != null; assert notifySupport -> libnotify != null && gdk_pixbuf != null;
assert traySupport -> gnome2 != null;
with stdenv.lib; with stdenv.lib;
@ -23,7 +25,8 @@ stdenv.mkDerivation rec {
pkgconfig readline libuuid libmesode pkgconfig readline libuuid libmesode
glib openssl expat ncurses libotr curl glib openssl expat ncurses libotr curl
] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ] ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ]
++ optionals notifySupport [ libnotify gdk_pixbuf ]; ++ optionals notifySupport [ libnotify gdk_pixbuf ]
++ optionals traySupport [ gnome2.gtk ];
meta = { meta = {
description = "A console based XMPP client"; 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"; version = "10.1.0.5672";
in stdenv.mkDerivation rec{
name = "wpsoffice-${version}";
src = fetchurl { src = fetchurl {
name = "${name}.tar.gz"; name = "${name}.tar.xz";
url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_10.1.0.5672~a21_x86_64.tar.xz"; url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz";
sha1 = "7e9b17572ed5cea50af24f01457f726fc558a515"; sha256 = if bits == "x86_64" then
"0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
"1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
}; };
meta = { meta = {
description = "Office program originally named Kingsoft Office"; description = "Office program originally named Kingsoft Office";
homepage = http://wps-community.org/; homepage = http://wps-community.org/;
platforms = [ "x86_64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" ];
# Binary for i686 is also available if someone can package it hydraPlatforms = [];
license = lib.licenses.unfreeRedistributable; license = stdenv.lib.licenses.unfreeRedistributable;
}; };
libPath = stdenv.lib.makeLibraryPath [ libPath = stdenv.lib.makeLibraryPath [
libX11 libX11
libcxxabi
libpng12 libpng12
glib glib
xorg.libSM xorg.libSM
xorg.libXext xorg.libXext
fontconfig fontconfig
phonon
zlib zlib
freetype freetype
libICE libICE
@ -34,19 +40,36 @@ stdenv.mkDerivation rec{
libXrender libXrender
]; ];
phases = [ "unpackPhase" "installPhase" ]; dontPatchELF = true;
installPhase = '' installPhase = ''
cp -r . "$out" prefix=$out/opt/kingsoft/wps-office
chmod +x "$out/office6/wpp" mkdir -p $prefix
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/wpp" cp -r . $prefix
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" # Avoid forbidden reference error due use of patchelf
chmod +x "$out/office6/et" rm -r $PWD
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --force-rpath --set-rpath "$out/office6:$libPath" "$out/office6/et"
mkdir -p "$out/bin/" mkdir $out/bin
ln -s "$out/office6/wpp" "$out/bin/wpspresentation" for i in wps wpp et; do
ln -s "$out/office6/wps" "$out/bin/wpswriter" patchelf \
ln -s "$out/office6/et" "$out/bin/wpsspreadsheets" --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 { stdenv.mkDerivation rec {
name = "runc-${version}"; name = "runc-${version}";
version = "1.0.0-rc2"; version = "1.0.0-rc3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "opencontainers"; owner = "opencontainers";
repo = "runc"; repo = "runc";
rev = "v${version}"; 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" ]; outputs = [ "out" "man" ];
hardeningDisable = ["fortify"]; hardeningDisable = ["fortify"];
@ -37,7 +22,16 @@ stdenv.mkDerivation rec {
makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor''; 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 = '' preBuild = ''
cd go/src/github.com/opencontainers/runc
patchShebangs . patchShebangs .
substituteInPlace libcontainer/apparmor/apparmor.go \ substituteInPlace libcontainer/apparmor/apparmor.go \
--replace /sbin/apparmor_parser ${apparmor-parser}/bin/apparmor_parser --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 { stdenv.mkDerivation rec {
name = "i3blocks-gaps-${version}"; name = "i3blocks-gaps-${version}";
version = "1.4"; version = "1.4";
@ -14,6 +25,22 @@ stdenv.mkDerivation rec {
makeFlags = "all"; makeFlags = "all";
installFlags = "PREFIX=\${out} VERSION=${version}"; 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; { meta = with stdenv.lib; {
description = "A flexible scheduler for your i3bar blocks -- this is a fork to use with i3-gaps"; description = "A flexible scheduler for your i3bar blocks -- this is a fork to use with i3-gaps";
homepage = https://github.com/Airblader/i3blocks-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 { stdenv.mkDerivation rec {
name = "i3blocks-${version}"; name = "i3blocks-${version}";
version = "1.4"; version = "1.4";
@ -12,7 +26,31 @@ stdenv.mkDerivation rec {
buildFlags = "SYSCONFDIR=/etc all"; buildFlags = "SYSCONFDIR=/etc all";
installFlags = "PREFIX=\${out} VERSION=${version}"; 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"; description = "A flexible scheduler for your i3bar blocks";
homepage = https://github.com/vivien/i3blocks; homepage = https://github.com/vivien/i3blocks;
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -18,6 +18,10 @@ if test -n "$http_proxy"; then
export HOME="$PWD" export HOME="$PWD"
fi; 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 # Pipe the "p" character into Subversion to force it to accept the
# server's certificate. This is perfectly safe: we don't care # server's certificate. This is perfectly safe: we don't care
# whether the server is being spoofed --- only the cryptographic # 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 ? "", {url, rev ? "HEAD", md5 ? "", sha256 ? "",
ignoreExternals ? false, ignoreKeywords ? false, name ? null}: ignoreExternals ? false, ignoreKeywords ? false, name ? null}:
@ -31,7 +31,7 @@ else
stdenv.mkDerivation { stdenv.mkDerivation {
name = name_; name = name_;
builder = ./builder.sh; builder = ./builder.sh;
buildInputs = [subversion]; buildInputs = [ subversion glibcLocales ];
outputHashAlgo = "sha256"; outputHashAlgo = "sha256";
outputHashMode = "recursive"; 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 { stdenv.mkDerivation rec {
name = "lxappearance-0.6.3"; name = "lxappearance-0.6.3";
@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool ]; 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 = { meta = {
description = "A lightweight program for configuring the theme and fonts of gtk applications"; 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_fsguard_plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix { };
xfce4_genmon_plugin = callPackage ./panel-plugins/xfce4-genmon-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-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_netload_plugin = callPackage ./panel-plugins/xfce4-netload-plugin.nix { };
xfce4_notes_plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { }; xfce4_notes_plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { };
xfce4_mailwatch_plugin = callPackage ./panel-plugins/xfce4-mailwatch-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"; installPhase = "python waf install";
postFixup = "wrapPythonPrograms"; postFixup = ''
wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/TiZ-EX1/xfce4-dockbarx-plugin; 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 - ghcjs-base-0
default-package-overrides: default-package-overrides:
# LTS Haskell 8.16 # LTS Haskell 8.17
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
- AC-Vector ==2.3.2 - AC-Vector ==2.3.2
@ -161,7 +161,7 @@ default-package-overrides:
- amqp ==0.14.1 - amqp ==0.14.1
- annotated-wl-pprint ==0.7.0 - annotated-wl-pprint ==0.7.0
- anonymous-sums ==0.6.0.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 - ansi-wl-pprint ==0.6.7.3
- ansigraph ==0.3.0.2 - ansigraph ==0.3.0.2
- app-settings ==0.2.0.11 - app-settings ==0.2.0.11
@ -182,7 +182,7 @@ default-package-overrides:
- async-extra ==0.1.0.0 - async-extra ==0.1.0.0
- async-refresh ==0.2.0 - async-refresh ==0.2.0
- async-refresh-tokens ==0.1.0 - async-refresh-tokens ==0.1.0
- atom-basic ==0.2.4 - atom-basic ==0.2.5
- atom-conduit ==0.4.0.1 - atom-conduit ==0.4.0.1
- atomic-primops ==0.8.0.4 - atomic-primops ==0.8.0.4
- atomic-write ==0.2.0.5 - atomic-write ==0.2.0.5
@ -645,7 +645,7 @@ default-package-overrides:
- exhaustive ==1.1.4 - exhaustive ==1.1.4
- exp-pairs ==0.1.5.2 - exp-pairs ==0.1.5.2
- expiring-cache-map ==0.0.6.1 - expiring-cache-map ==0.0.6.1
- explicit-exception ==0.1.8 - explicit-exception ==0.1.9
- extensible ==0.3.7 - extensible ==0.3.7
- extensible-effects ==1.11.0.4 - extensible-effects ==1.11.0.4
- extensible-exceptions ==0.1.1.4 - extensible-exceptions ==0.1.1.4
@ -697,7 +697,7 @@ default-package-overrides:
- fold-debounce ==0.2.0.5 - fold-debounce ==0.2.0.5
- fold-debounce-conduit ==0.1.0.5 - fold-debounce-conduit ==0.1.0.5
- foldl ==1.2.5 - foldl ==1.2.5
- foldl-statistics ==0.1.4.3 - foldl-statistics ==0.1.4.4
- folds ==0.7.3 - folds ==0.7.3
- FontyFruity ==0.5.3.2 - FontyFruity ==0.5.3.2
- force-layout ==0.4.0.6 - force-layout ==0.4.0.6
@ -942,8 +942,8 @@ default-package-overrides:
- hashmap ==1.3.2 - hashmap ==1.3.2
- hashtables ==1.2.1.1 - hashtables ==1.2.1.1
- haskeline ==0.7.4.0 - haskeline ==0.7.4.0
- haskell-gi ==0.20.1 - haskell-gi ==0.20.2
- haskell-gi-base ==0.20.2 - haskell-gi-base ==0.20.3
- haskell-import-graph ==1.0.1 - haskell-import-graph ==1.0.1
- haskell-lexer ==1.0.1 - haskell-lexer ==1.0.1
- haskell-names ==0.8.0 - haskell-names ==0.8.0
@ -1104,7 +1104,7 @@ default-package-overrides:
- http-api-data ==0.3.7.1 - http-api-data ==0.3.7.1
- http-client ==0.5.7.0 - http-client ==0.5.7.0
- http-client-openssl ==0.2.0.5 - 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-common ==0.8.2.0
- http-conduit ==2.2.3.1 - http-conduit ==2.2.3.1
- http-date ==0.0.6.1 - http-date ==0.0.6.1
@ -1465,7 +1465,7 @@ default-package-overrides:
- netwire ==5.0.2 - netwire ==5.0.2
- netwire-input ==0.0.6 - netwire-input ==0.0.6
- netwire-input-glfw ==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-i2p ==0.10.0
- network-anonymous-tor ==0.11.0 - network-anonymous-tor ==0.11.0
- network-attoparsec ==0.12.2 - network-attoparsec ==0.12.2
@ -1599,7 +1599,7 @@ default-package-overrides:
- pipes-category ==0.2.0.1 - pipes-category ==0.2.0.1
- pipes-concurrency ==2.0.7 - pipes-concurrency ==2.0.7
- pipes-csv ==1.4.3 - pipes-csv ==1.4.3
- pipes-extras ==1.0.9 - pipes-extras ==1.0.10
- pipes-fluid ==0.5.0.3 - pipes-fluid ==0.5.0.3
- pipes-group ==1.0.6 - pipes-group ==1.0.6
- pipes-misc ==0.2.5.0 - pipes-misc ==0.2.5.0
@ -1747,7 +1747,7 @@ default-package-overrides:
- reform-happstack ==0.2.5.1 - reform-happstack ==0.2.5.1
- reform-hsp ==0.2.7.1 - reform-hsp ==0.2.7.1
- RefSerialize ==0.4.0 - RefSerialize ==0.4.0
- regex ==1.0.0.0 - regex ==1.0.1.0
- regex-applicative ==0.3.3 - regex-applicative ==0.3.3
- regex-applicative-text ==0.1.0.1 - regex-applicative-text ==0.1.0.1
- regex-base ==0.93.2 - regex-base ==0.93.2
@ -1755,9 +1755,11 @@ default-package-overrides:
- regex-compat-tdfa ==0.95.1.4 - regex-compat-tdfa ==0.95.1.4
- regex-pcre ==0.94.4 - regex-pcre ==0.94.4
- regex-pcre-builtin ==0.94.4.8.8.35 - regex-pcre-builtin ==0.94.4.8.8.35
- regex-pcre-text ==0.94.0.1
- regex-posix ==0.95.2 - regex-posix ==0.95.2
- regex-tdfa ==1.2.2 - regex-tdfa ==1.2.2
- regex-tdfa-text ==1.0.0.3 - regex-tdfa-text ==1.0.0.3
- regex-with-pcre ==1.0.1.0
- reinterpret-cast ==0.1.0 - reinterpret-cast ==0.1.0
- relational-query ==0.8.4.0 - relational-query ==0.8.4.0
- relational-query-HDBC ==0.6.0.3 - relational-query-HDBC ==0.6.0.3
@ -1876,7 +1878,7 @@ default-package-overrides:
- shelly ==1.6.8.3 - shelly ==1.6.8.3
- shortcut-links ==0.4.2.0 - shortcut-links ==0.4.2.0
- should-not-typecheck ==2.1.0 - should-not-typecheck ==2.1.0
- show-prettyprint ==0.1.2 - show-prettyprint ==0.1.2.1
- sibe ==0.2.0.5 - sibe ==0.2.0.5
- signal ==0.1.0.3 - signal ==0.1.0.3
- silently ==1.2.5 - silently ==1.2.5
@ -1913,6 +1915,7 @@ default-package-overrides:
- socks ==0.5.5 - socks ==0.5.5
- solga ==0.1.0.2 - solga ==0.1.0.2
- solga-swagger ==0.1.0.2 - solga-swagger ==0.1.0.2
- sort ==1.0.0.0
- sorted-list ==0.2.0.0 - sorted-list ==0.2.0.0
- sourcemap ==0.1.6 - sourcemap ==0.1.6
- sparkle ==0.4.0.2 - sparkle ==0.4.0.2
@ -2014,7 +2017,7 @@ default-package-overrides:
- system-posix-redirect ==1.1.0.1 - system-posix-redirect ==1.1.0.1
- syz ==0.2.0.0 - syz ==0.2.0.0
- tabular ==0.2.2.7 - tabular ==0.2.2.7
- tagchup ==0.4.0.5 - tagchup ==0.4.1
- tagged ==0.8.5 - tagged ==0.8.5
- tagged-binary ==0.2.0.0 - tagged-binary ==0.2.0.0
- tagged-identity ==0.1.2 - tagged-identity ==0.1.2
@ -2024,7 +2027,7 @@ default-package-overrides:
- tagsoup ==0.14.1 - tagsoup ==0.14.1
- tagstream-conduit ==0.5.5.3 - tagstream-conduit ==0.5.5.3
- tar ==0.5.0.3 - tar ==0.5.0.3
- tar-conduit ==0.1.0 - tar-conduit ==0.1.1
- tardis ==0.4.1.0 - tardis ==0.4.1.0
- tasty ==0.11.2.1 - tasty ==0.11.2.1
- tasty-ant-xml ==1.0.5 - tasty-ant-xml ==1.0.5
@ -2061,7 +2064,7 @@ default-package-overrides:
- terminal-progress-bar ==0.1.1 - terminal-progress-bar ==0.1.1
- terminal-size ==0.3.2.1 - terminal-size ==0.3.2.1
- terminfo ==0.4.1.0 - 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 ==0.8.1.1
- test-framework-hunit ==0.3.0.2 - test-framework-hunit ==0.3.0.2
- test-framework-quickcheck2 ==0.3.0.3 - test-framework-quickcheck2 ==0.3.0.3
@ -2146,7 +2149,7 @@ default-package-overrides:
- tuple ==0.3.0.2 - tuple ==0.3.0.2
- tuple-th ==0.2.5 - tuple-th ==0.2.5
- tuples-homogenous-h98 ==0.1.1.0 - tuples-homogenous-h98 ==0.1.1.0
- turtle ==1.3.4 - turtle ==1.3.5
- turtle-options ==0.1.0.4 - turtle-options ==0.1.0.4
- twitter-feed ==0.2.0.11 - twitter-feed ==0.2.0.11
- twitter-types ==0.7.2.2 - twitter-types ==0.7.2.2
@ -2205,7 +2208,7 @@ default-package-overrides:
- unlit ==0.4.0.0 - unlit ==0.4.0.0
- unordered-containers ==0.2.8.0 - unordered-containers ==0.2.8.0
- unsafe ==0.0 - unsafe ==0.0
- uri-bytestring ==0.2.3.1 - uri-bytestring ==0.2.3.2
- uri-encode ==1.5.0.5 - uri-encode ==1.5.0.5
- uri-templater ==0.2.1.0 - uri-templater ==0.2.1.0
- url ==2.1.3 - url ==2.1.3
@ -2216,7 +2219,7 @@ default-package-overrides:
- users-test ==0.5.0.1 - users-test ==0.5.0.1
- utf8-light ==0.4.2 - utf8-light ==0.4.2
- utf8-string ==1.0.1.1 - utf8-string ==1.0.1.1
- utility-ht ==0.0.13 - utility-ht ==0.0.14
- uu-interleaved ==0.2.0.0 - uu-interleaved ==0.2.0.0
- uu-parsinglib ==2.9.1.1 - uu-parsinglib ==2.9.1.1
- uuid ==1.3.13 - uuid ==1.3.13
@ -2240,7 +2243,7 @@ default-package-overrides:
- vector-th-unbox ==0.2.1.6 - vector-th-unbox ==0.2.1.6
- vectortiles ==1.2.0.5 - vectortiles ==1.2.0.5
- verbosity ==0.2.3.0 - verbosity ==0.2.3.0
- versions ==3.0.2 - versions ==3.0.2.1
- vhd ==0.2.2 - vhd ==0.2.2
- ViennaRNAParser ==1.3.2 - ViennaRNAParser ==1.3.2
- viewprof ==0.0.0.1 - viewprof ==0.0.0.1
@ -2350,7 +2353,7 @@ default-package-overrides:
- xlsx ==0.4.3 - xlsx ==0.4.3
- xlsx-tabular ==0.2.2 - xlsx-tabular ==0.2.2
- xml ==1.3.14 - xml ==1.3.14
- xml-basic ==0.1.1.3 - xml-basic ==0.1.2
- xml-conduit ==1.4.0.4 - xml-conduit ==1.4.0.4
- xml-conduit-parse ==0.3.1.0 - xml-conduit-parse ==0.3.1.0
- xml-conduit-writer ==0.1.1.1 - xml-conduit-writer ==0.1.1.1
@ -2511,34 +2514,34 @@ package-maintainers:
dont-distribute-packages: dont-distribute-packages:
# hard restrictions that really belong into meta.platforms # hard restrictions that really belong into meta.platforms
alsa-mixer: [ i686-linux, x86_64-linux ] alsa-mixer: [ x86_64-darwin ]
alsa-pcm: [ i686-linux, x86_64-linux ] alsa-pcm: [ x86_64-darwin ]
alsa-seq: [ i686-linux, x86_64-linux ] alsa-seq: [ x86_64-darwin ]
AWin32Console: [ i686-linux, x86_64-linux, 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 ] d3d11binding: [ i686-linux, x86_64-linux, x86_64-darwin ]
DirectSound: [ 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 ] dx9base: [ i686-linux, x86_64-linux, x86_64-darwin ]
dx9d3d: [ 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 ] dx9d3dx: [ i686-linux, x86_64-linux, x86_64-darwin ]
freenect: [ i686-linux, x86_64-linux ] freenect: [ x86_64-darwin ]
FTGL: [ i686-linux, x86_64-linux ] FTGL: [ x86_64-darwin ]
gi-ostree: [ i686-linux, x86_64-linux ] gi-ostree: [ x86_64-darwin ]
hcwiid: [ i686-linux, x86_64-linux ] hcwiid: [ x86_64-darwin ]
hfsevents: [ i686-linux, x86_64-linux ] hfsevents: [ x86_64-darwin ]
HFuse: [ i686-linux, x86_64-linux ] HFuse: [ x86_64-darwin ]
hommage-ds: [ i686-linux, x86_64-linux, x86_64-darwin ] hommage-ds: [ i686-linux, x86_64-linux, x86_64-darwin ]
lio-fs: [ i686-linux, x86_64-linux ] lio-fs: [ x86_64-darwin ]
midi-alsa: [ i686-linux, x86_64-linux ] midi-alsa: [ x86_64-darwin ]
pam: [ i686-linux, x86_64-linux ] pam: [ x86_64-darwin ]
PortMidi: [ i686-linux, x86_64-linux ] PortMidi: [ x86_64-darwin ]
Raincat: [ i686-linux, x86_64-linux ] Raincat: [ x86_64-darwin ]
reactivity: [ i686-linux, x86_64-linux, x86_64-darwin ] reactivity: [ i686-linux, x86_64-linux, x86_64-darwin ]
rtlsdr: [ i686-linux, x86_64-linux ] rtlsdr: [ x86_64-darwin ]
rubberband: [ i686-linux, x86_64-linux ] rubberband: [ x86_64-darwin ]
sdl2-mixer: [ i686-linux, x86_64-linux ] sdl2-mixer: [ x86_64-darwin ]
sdl2-ttf: [ i686-linux, x86_64-linux ] sdl2-ttf: [ x86_64-darwin ]
tokyotyrant-haskell: [ i686-linux, x86_64-linux ] tokyotyrant-haskell: [ x86_64-darwin ]
Win32-console: [ i686-linux, x86_64-linux, 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-dhcp-server: [ i686-linux, x86_64-linux, x86_64-darwin ]
Win32-errors: [ 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-security: [ i686-linux, x86_64-linux, x86_64-darwin ]
Win32-services: [ 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 ] 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 ] 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. # Depens on shine, which is a ghcjs project.
shine-varying: [ i686-linux, x86_64-linux, x86_64-darwin ] 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 ] al: [ i686-linux, x86_64-linux, x86_64-darwin ]
AlignmentAlgorithms: [ 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 ] 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 ] alms: [ i686-linux, x86_64-linux, x86_64-darwin ]
alphachar: [ 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 ] 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 ] lambdacube-samples: [ i686-linux, x86_64-linux, x86_64-darwin ]
lambda-devs: [ 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 ] 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 ] LambdaINet: [ i686-linux, x86_64-linux, x86_64-darwin ]
Lambdajudge: [ 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 ] lambdaLit: [ i686-linux, x86_64-linux, x86_64-darwin ]

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,8 @@
# arguments: # arguments:
# * ghc package to use # * ghc package to use
# * package-set: a function that takes { pkgs, stdenv, callPackage } as first arg and `self` as second # * 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 # return value: a function from self to the package set
self: let 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. # Creates a Haskell package from a source package by calling cabal2nix on the source.
callCabal2nix = name: src: self.callPackage (self.haskellSrc2nix { inherit src name; }); 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); ghcWithPackages = selectFrom: withPackages (selectFrom self);
ghcWithHoogle = selectFrom: ghcWithHoogle = selectFrom:

View File

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

View File

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

View File

@ -1,8 +1,8 @@
{stdenv, fetchurl}: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "chmlib-0.40"; name = "chmlib-0.40";
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/${name}.tar.bz2"; url = "${meta.homepage}/${name}.tar.bz2";
sha256 = "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l"; sha256 = "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l";
@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
meta = { meta = {
homepage = http://www.jedrea.com/chmlib; homepage = http://www.jedrea.com/chmlib;
license = "LGPL"; license = stdenv.lib.licenses.lgpl2;
description = "A library for dealing with Microsoft ITSS/CHM format files"; 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 { stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}"; name = "ffmpeg-full-${version}";
version = "3.3.1"; version = "3.3.2";
src = fetchurl { src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"; url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
sha256 = "0bwgm6z6k3khb91qh9xv15inykkfchpkm0lcdckkxhkacpyaf0mp"; sha256 = "11974vcfsy8w0i6f4lfwqmg80xkfybqw7vw6zzrcn5i6ncddx60r";
}; };
patchPhase = ''patchShebangs . patchPhase = ''patchShebangs .

View File

@ -6,7 +6,7 @@
callPackage ./generic.nix (args // rec { callPackage ./generic.nix (args // rec {
version = "${branch}"; version = "${branch}";
branch = "3.3.1"; branch = "3.3.2";
sha256 = "0c37bdqwmaziikr2d5pqp7504ail6i7a1mfcmc06mdpwfxxwvcpw"; sha256 = "0slf12dxk6wq1ns09kqqqrzwylxcy0isvc3niyxig45gq3ah0s91";
darwinFrameworks = [ Cocoa CoreMedia ]; 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> { {pkgs ? import <nixpkgs> {
inherit system; inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs"}: }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-4_x"}:
let let
nodeEnv = import ./node-env.nix { 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> { {pkgs ? import <nixpkgs> {
inherit system; inherit system;

View File

@ -57,60 +57,6 @@ let
# Recursively composes the dependencies of a package # Recursively composes the dependencies of a package
composePackage = { name, packageName, src, dependencies ? [], ... }@args: 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) DIR=$(pwd)
cd $TMPDIR cd $TMPDIR
@ -150,17 +96,97 @@ let
# Unset the stripped name to not confuse the next unpack step # Unset the stripped name to not confuse the next unpack step
unset strippedName 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 # Include the dependencies of the package
cd "$DIR/${packageName}"
${includeDependencies { inherit dependencies; }} ${includeDependencies { inherit dependencies; }}
cd .. cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "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 # Extract the Node.js source code which is used to compile packages with
# native bindings # native bindings
nodeSources = runCommand "node-sources" {} '' nodeSources = runCommand "node-sources" {} ''
@ -183,7 +209,9 @@ let
buildPhase = args.buildPhase or "true"; buildPhase = args.buildPhase or "true";
compositionScript = composePackage args; compositionScript = composePackage args;
passAsFile = [ "compositionScript" ]; pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
installPhase = args.installPhase or '' installPhase = args.installPhase or ''
# Create and enter a root node_modules/ folder # Create and enter a root node_modules/ folder
@ -192,6 +220,10 @@ let
# Compose the package and all its dependencies # Compose the package and all its dependencies
source $compositionScriptPath 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 # Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible # calling executables outside the Nix store as much as possible
@ -254,12 +286,18 @@ let
buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or []; buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
includeScript = includeDependencies { inherit dependencies; }; includeScript = includeDependencies { inherit dependencies; };
passAsFile = [ "includeScript" ]; pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
buildCommand = '' buildCommand = ''
mkdir -p $out/lib mkdir -p $out/lib
cd $out/lib cd $out/lib
source $includeScriptPath 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 # Create fake package.json to make the npm commands work properly
cat > package.json <<EOF cat > package.json <<EOF

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@
, "elasticdump" , "elasticdump"
, "emoj" , "emoj"
, "eslint" , "eslint"
, "eslint_d"
, "emojione" , "emojione"
, "fetch-bower" , "fetch-bower"
, "forever" , "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 let
basename = "gdb-${version}"; basename = "gdb-${version}";
version = "7.12.1"; version = "8.0";
in in
assert targetPlatform.isHurd -> mig != null && hurd != null; assert targetPlatform.isHurd -> mig != null && hurd != null;
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gdb/${basename}.tar.xz"; url = "mirror://gnu/gdb/${basename}.tar.xz";
sha256 = "11ii260h1sd7v0bs3cz6d5l8gqxxgldry0md60ncjgixjw5nh1s6"; sha256 = "1vplyf8v70yn0rdqjx6awl9nmfbwaj5ynwwjxwa71rhp97z4z8pn";
}; };
nativeBuildInputs = [ pkgconfig texinfo perl ] nativeBuildInputs = [ pkgconfig texinfo perl ]

View File

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

View File

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

View File

@ -3,16 +3,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "clickhouse-${version}"; name = "clickhouse-${version}";
version = "1.1.54190"; version = "1.1.54236";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "yandex"; owner = "yandex";
repo = "ClickHouse"; repo = "ClickHouse";
rev = "v${version}-stable"; rev = "v${version}-stable";
sha256 = "03snzrhz3ai66fqy3rh89cgmpiaskg3077zflkwzqxwx69jkmqix"; sha256 = "1mfjr1yzvf810vbb35c2rknvqnc4mkncl56ja48myn7hc9p457d7";
}; };
patches = [ ./prefix.patch ./termcap.patch ]; patches = [ ./termcap.patch ];
nativeBuildInputs = [ cmake libtool ]; 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 '' postInstall = stdenv.lib.optionalString mimiSupport ''
cp ${mimisrc}/xdg-open $out/bin/xdg-open cp ${mimisrc}/xdg-open $out/bin/xdg-open
'' '' + ''
+ '' sed '2s#.#\
for tool in "${coreutils}/bin/cut" "${gnused}/bin/sed" \ cut() { ${coreutils}/bin/cut "$@"; }\
"${gnugrep}"/bin/{e,}grep "${file}/bin/file" \ sed() { ${gnused}/bin/sed "$@"; }\
${stdenv.lib.optionalString mimiSupport grep() { ${gnugrep}/bin/grep "$@"; }\
'' "${gawk}/bin/awk" "${coreutils}/bin/sort" ''} ; egrep() { ${gnugrep}/bin/egrep "$@"; }\
do file() { ${file}/bin/file "$@"; }\
sed "s# $(basename "$tool") # $tool #g" -i "$out"/bin/* awk() { ${gawk}/bin/awk "$@"; }\
done sort() { ${coreutils}/bin/sort "$@"; }\
&#' -i "$out"/bin/*
substituteInPlace $out/bin/xdg-open \ substituteInPlace $out/bin/xdg-open \
--replace "/usr/bin/printf" "${coreutils}/bin/printf" --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 { stdenv.mkDerivation rec {
name = "bcache-tools-${version}"; name = "bcache-tools-${version}";
version = "1.0.7"; version = "1.0.7";
src = fetchurl { src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/g2p/bcache-tools/archive/v${version}.tar.gz"; url = "https://github.com/g2p/bcache-tools/archive/v${version}.tar.gz";
sha256 = "1gbsh2qw0a7kgck6w0apydiy37nnz5xvdgipa0yqrfmghl86vmv4"; sha256 = "1gbsh2qw0a7kgck6w0apydiy37nnz5xvdgipa0yqrfmghl86vmv4";
}; };
@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
preBuild = '' preBuild = ''
export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\""; export makeFlags="$makeFlags PREFIX=\"$out\" UDEVLIBDIR=\"$out/lib/udev/\"";
sed -e "s|/bin/sh|${bash}/bin/sh|" -i *.rules
''; '';
preInstall = '' preInstall = ''

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -18100,44 +18100,7 @@ in {
}; };
}; };
powerline = buildPythonPackage rec { powerline = callPackage ../development/python-modules/powerline { };
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;
};
};
pox = buildPythonPackage rec { pox = buildPythonPackage rec {
name = "pox-${version}"; name = "pox-${version}";