Merge branch 'master' into staging

This commit is contained in:
Daiderd Jordan 2017-01-04 01:42:10 +01:00
commit 27660cfdc0
No known key found for this signature in database
GPG Key ID: D02435D05B810C96
139 changed files with 1908 additions and 1225 deletions

View File

@ -109,6 +109,7 @@
cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
DamienCassou = "Damien Cassou <damien@cassou.me>";
danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
davidak = "David Kleuker <post@davidak.de>";
davidrusu = "David Rusu <davidrusu.me@gmail.com>";
@ -507,6 +508,7 @@
yurrriq = "Eric Bailey <eric@ericb.me>";
z77z = "Marco Maggesi <maggesi@math.unifi.it>";
zagy = "Christian Zagrodnick <cz@flyingcircus.io>";
zauberpony = "Elmar Athmer <elmar@athmer.org>";
zef = "Zef Hemel <zef@zef.me>";
zimbatm = "zimbatm <zimbatm@zimbatm.com>";
zohl = "Al Zohali <zohl@fmap.me>";

View File

@ -9,6 +9,7 @@ let
inherit (config.services.avahi) nssmdns;
inherit (config.services.samba) nsswins;
ldap = (config.users.ldap.enable && config.users.ldap.nsswitch);
sssd = config.services.sssd.enable;
hostArray = [ "files" "mymachines" ]
++ optionals nssmdns [ "mdns_minimal [!UNAVAIL=return]" ]
@ -18,12 +19,17 @@ let
++ ["myhostname" ];
passwdArray = [ "files" ]
++ optional sssd "sss"
++ optionals ldap [ "ldap" ]
++ [ "mymachines" ];
shadowArray = [ "files" ]
++ optional sssd "sss"
++ optionals ldap [ "ldap" ];
servicesArray = [ "files" ]
++ optional sssd "sss";
in {
options = {
@ -60,7 +66,7 @@ in {
networks: files
ethers: files
services: files
services: ${concatStringsSep " " servicesArray}
protocols: files
rpc: files
'';

View File

@ -69,7 +69,7 @@ in
config = mkIf cfg.enable {
# FIXME: Implement powersave governor for sandy bridge or later Intel CPUs
# Leftover for old setups, should be set by nixos-generate-config now
powerManagement.cpuFreqGovernor = mkDefault "ondemand";
systemd.targets.post-resume = {

View File

@ -1,5 +1,5 @@
{
x86_64-linux = "/nix/store/i4mwf2gpvar7dqvlpp5m86llbq3ahbvb-nix-1.11.4";
i686-linux = "/nix/store/a3gjrbspb0q4hs3sv5g1y2nza43i8nzv-nix-1.11.4";
x86_64-darwin = "/nix/store/7v21yd3qpv0nclcy5cqr5njj9bril12s-nix-1.11.4";
x86_64-linux = "/nix/store/m8z91vpfxyszhjpq4wl8m1zwlqik4fkn-nix-1.11.5";
i686-linux = "/nix/store/vk71likl32igqg6apqsj52ln3vhkq1pa-nix-1.11.5";
x86_64-darwin = "/nix/store/qfwm0b5qkr8v8gsv9dh2z3arky9p1myg-nix-1.11.5";
}

View File

@ -94,6 +94,21 @@ sub hasCPUFeature {
my $cpus = scalar (grep {/^processor\s*:/} (split '\n', $cpuinfo));
# Determine CPU governor to use
if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") {
my $governors = read_file("/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors");
# ondemand governor is not available on sandy bridge or later Intel CPUs
my @desired_governors = ("ondemand", "powersave");
my $e;
foreach $e (@desired_governors) {
if (index($governors, $e) != -1) {
last if (push @attrs, "powerManagement.cpuFreqGovernor = \"$e\";");
}
}
}
# Virtualization support?
push @kernelModules, "kvm-intel" if hasCPUFeature "vmx";
push @kernelModules, "kvm-amd" if hasCPUFeature "svm";

View File

@ -285,6 +285,7 @@
./services/misc/siproxd.nix
./services/misc/sonarr.nix
./services/misc/spice-vdagentd.nix
./services/misc/sssd.nix
./services/misc/subsonic.nix
./services/misc/sundtek.nix
./services/misc/svnserve.nix

View File

@ -233,6 +233,8 @@ let
account sufficient pam_unix.so
${optionalString use_ldap
"account sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
${optionalString config.services.sssd.enable
"account sufficient ${pkgs.sssd}/lib/security/pam_sss.so"}
${optionalString config.krb5.enable
"account sufficient ${pam_krb5}/lib/security/pam_krb5.so"}
@ -273,6 +275,8 @@ let
"auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"}
${optionalString use_ldap
"auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"}
${optionalString config.services.sssd.enable
"auth sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_first_pass"}
${optionalString config.krb5.enable ''
auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass
auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass
@ -288,6 +292,8 @@ let
"password optional ${pkgs.pam_mount}/lib/security/pam_mount.so"}
${optionalString use_ldap
"password sufficient ${pam_ldap}/lib/security/pam_ldap.so"}
${optionalString config.services.sssd.enable
"password sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_authtok"}
${optionalString config.krb5.enable
"password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"}
${optionalString config.services.samba.syncPasswordsByPam
@ -303,13 +309,15 @@ let
if config.boot.isContainer then "optional" else "required"
} pam_loginuid.so"}
${optionalString cfg.makeHomeDir
"session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022"}
"session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=0022"}
${optionalString cfg.updateWtmp
"session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"}
${optionalString config.security.pam.enableEcryptfs
"session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"}
${optionalString use_ldap
"session optional ${pam_ldap}/lib/security/pam_ldap.so"}
${optionalString config.services.sssd.enable
"session optional ${pkgs.sssd}/lib/security/pam_sss.so"}
${optionalString config.krb5.enable
"session optional ${pam_krb5}/lib/security/pam_krb5.so"}
${optionalString cfg.otpwAuth
@ -397,6 +405,16 @@ in
'';
};
security.pam.makeHomeDir.skelDirectory = mkOption {
type = types.str;
default = "/var/empty";
example = "/etc/skel";
description = ''
Path to skeleton directory whose contents are copied to home
directories newly created by <literal>pam_mkhomedir</literal>.
'';
};
security.pam.enableSSHAgentAuth = mkOption {
default = false;
description =
@ -447,6 +465,7 @@ in
# Include the PAM modules in the system path mostly for the manpages.
[ pkgs.pam ]
++ optional config.users.ldap.enable pam_ldap
++ optional config.services.sssd.enable pkgs.sssd
++ optionals config.krb5.enable [pam_krb5 pam_ccreds]
++ optionals config.security.pam.enableOTPW [ pkgs.otpw ]
++ optionals config.security.pam.oath.enable [ pkgs.oathToolkit ]

View File

@ -2,7 +2,9 @@
with lib;
{
let cfg = config.services.hardware.pommed;
defaultConf = "${pkgs.pommed_light}/etc/pommed.conf.mactel";
in {
options = {
@ -12,37 +14,37 @@ with lib;
type = types.bool;
default = false;
description = ''
Whether to use the pommed tool to handle Apple laptop keyboard hotkeys.
Whether to use the pommed tool to handle Apple laptop
keyboard hotkeys.
'';
};
configFile = mkOption {
type = types.path;
type = types.nullOr types.path;
default = null;
description = ''
The path to the <filename>pommed.conf</filename> file.
The path to the <filename>pommed.conf</filename> file. Leave
to null to use the default config file
(<filename>/etc/pommed.conf.mactel</filename>). See the
files <filename>/etc/pommed.conf.mactel</filename> and
<filename>/etc/pommed.conf.pmac</filename> for examples to
build on.
'';
};
};
};
config = mkIf config.services.hardware.pommed.enable {
environment.systemPackages = [ pkgs.polkit ];
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.polkit pkgs.pommed_light ];
environment.etc."pommed.conf".source = config.services.hardware.pommed.configFile;
services.hardware.pommed.configFile = "${pkgs.pommed}/etc/pommed.conf";
services.dbus.packages = [ pkgs.pommed ];
environment.etc."pommed.conf".source =
if cfg.configFile == null then defaultConf else cfg.configFile;
systemd.services.pommed = {
description = "Pommed hotkey management";
description = "Pommed Apple Hotkeys Daemon";
wantedBy = [ "multi-user.target" ];
after = [ "dbus.service" ];
postStop = "rm -f /var/run/pommed.pid";
script = "${pkgs.pommed}/bin/pommed";
serviceConfig.Type = "forking";
path = [ pkgs.eject ];
script = "${pkgs.pommed_light}/bin/pommed -f";
};
};
}

View File

@ -105,7 +105,9 @@ in
If set, Nix will perform builds in a sandboxed environment that it
will set up automatically for each build. This prevents
impurities in builds by disallowing access to dependencies
outside of the Nix store.
outside of the Nix store. This isn't enabled by default for
performance. It doesn't affect derivation hashes, so changing
this option will not trigger a rebuild of packages.
";
};

View File

@ -0,0 +1,36 @@
server-user nscd
threads 1
paranoia no
debug-level 0
enable-cache passwd yes
positive-time-to-live passwd 0
negative-time-to-live passwd 0
suggested-size passwd 211
check-files passwd yes
persistent passwd no
shared passwd yes
enable-cache group yes
positive-time-to-live group 0
negative-time-to-live group 0
suggested-size group 211
check-files group yes
persistent group no
shared group yes
enable-cache hosts yes
positive-time-to-live hosts 600
negative-time-to-live hosts 5
suggested-size hosts 211
check-files hosts yes
persistent hosts no
shared hosts yes
enable-cache services yes
positive-time-to-live services 0
negative-time-to-live services 0
suggested-size services 211
check-files services yes
persistent services no
shared services yes

View File

@ -0,0 +1,97 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.sssd;
nscd = config.services.nscd;
in {
options = {
services.sssd = {
enable = mkEnableOption "the System Security Services Daemon.";
config = mkOption {
type = types.lines;
description = "Contents of <filename>sssd.conf</filename>.";
default = ''
[sssd]
config_file_version = 2
services = nss, pam
domains = shadowutils
[nss]
[pam]
[domain/shadowutils]
id_provider = proxy
proxy_lib_name = files
auth_provider = proxy
proxy_pam_target = sssd-shadowutils
proxy_fast_alias = True
'';
};
sshAuthorizedKeysIntegration = mkOption {
type = types.bool;
default = false;
description = ''
Whether to make sshd look up authorized keys from SSS.
For this to work, the <literal>ssh</literal> SSS service must be enabled in the sssd configuration.
'';
};
};
};
config = mkMerge [
(mkIf cfg.enable {
assertions = singleton {
assertion = nscd.enable;
message = "nscd must be enabled through `services.nscd.enable` for SSSD to work.";
};
systemd.services.sssd = {
description = "System Security Services Daemon";
wantedBy = [ "multi-user.target" ];
before = [ "systemd-user-sessions.service" "nss-user-lookup.target" ];
after = [ "network-online.target" "nscd.service" ];
requires = [ "network-online.target" "nscd.service" ];
wants = [ "nss-user-lookup.target" ];
restartTriggers = [
config.environment.etc."nscd.conf".source
config.environment.etc."sssd/sssd.conf".source
];
script = ''
export LDB_MODULES_PATH+="''${LDB_MODULES_PATH+:}${pkgs.ldb}/modules/ldb:${pkgs.sssd}/modules/ldb"
mkdir -p /var/lib/sss/{pubconf,db,mc,pipes,gpo_cache,secrets} /var/lib/sss/pipes/private /var/lib/sss/pubconf/krb5.include.d
${pkgs.sssd}/bin/sssd -D
'';
serviceConfig = {
Type = "forking";
PIDFile = "/run/sssd.pid";
};
};
environment.etc."sssd/sssd.conf" = {
text = cfg.config;
mode = "0400";
};
system.nssModules = optional cfg.enable pkgs.sssd;
services.nscd.config = builtins.readFile ./nscd-sssd.conf;
services.dbus.packages = [ pkgs.sssd ];
})
(mkIf cfg.sshAuthorizedKeysIntegration {
# Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable.
# So indirect by a symlink.
environment.etc."ssh/authorized_keys_command" = {
mode = "0755";
text = ''
#!/bin/sh
exec ${pkgs.sssd}/bin/sss_ssh_authorizedkeys "$@"
'';
};
services.openssh.extraConfig = ''
AuthorizedKeysCommand /etc/ssh/authorized_keys_command
AuthorizedKeysCommandUser nobody
'';
})];
}

View File

@ -84,7 +84,7 @@ in
RestartSec = "5s";
ExecStartPre = "${cfg.package}/bin/miredo-checkconf -f ${miredoConf}";
ExecStart = "${cfg.package}/bin/miredo -c ${miredoConf} -p ${pidFile} -f";
ExecReload = "/bin/kill -HUP $MAINPID";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
};
};

View File

@ -9,8 +9,6 @@ let
inherit (lib) singleton;
cfgFile = pkgs.writeText "nscd.conf" cfg.config;
in
{
@ -41,6 +39,7 @@ in
###### implementation
config = mkIf cfg.enable {
environment.etc."nscd.conf".text = cfg.config;
users.extraUsers.nscd =
{ isSystemUser = true;
@ -61,10 +60,14 @@ in
mkdir -m 0755 -p /var/db/nscd
'';
restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source ];
restartTriggers = [
config.environment.etc.hosts.source
config.environment.etc."nsswitch.conf".source
config.environment.etc."nscd.conf".source
];
serviceConfig =
{ ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd -f ${cfgFile}";
{ ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd";
Type = "forking";
PIDFile = "/run/nscd/nscd.pid";
Restart = "always";
@ -79,7 +82,7 @@ in
# its pid. So wait until it's ready.
postStart =
''
while ! ${pkgs.glibc.bin}/sbin/nscd -g -f ${cfgFile} > /dev/null; do
while ! ${pkgs.glibc.bin}/sbin/nscd -g > /dev/null; do
sleep 0.2
done
'';

View File

@ -31,204 +31,223 @@ in
'';
};
extraPackages = mkOption {
type = types.listOf types.package;
default = [];
description = ''
KDE packages that need to be installed system-wide.
'';
};
};
};
config = mkIf (xcfg.enable && cfg.enable) {
config = mkMerge [
(mkIf (cfg.extraPackages != []) {
environment.systemPackages = [ (kde5.kdeWrapper cfg.extraPackages) ];
})
warnings = optional config.services.xserver.desktopManager.kde4.enable
"KDE 4 should not be enabled at the same time as KDE 5";
(mkIf (xcfg.enable && cfg.enable) {
services.xserver.desktopManager.session = singleton {
name = "kde5";
bgSupport = true;
start = ''
# Load PulseAudio module for routing support.
# See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
${optionalString config.hardware.pulseaudio.enable ''
${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
''}
warnings = optional config.services.xserver.desktopManager.kde4.enable
"KDE 4 should not be enabled at the same time as KDE 5";
exec "${kde5.startkde}"
services.xserver.desktopManager.session = singleton {
name = "kde5";
bgSupport = true;
start = ''
# Load PulseAudio module for routing support.
# See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
${optionalString config.hardware.pulseaudio.enable ''
${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
''}
'';
};
exec "${kde5.startkde}"
security.setuidOwners = [
{
program = "kcheckpass";
source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass";
owner = "root";
setuid = true;
}
{
program = "start_kdeinit";
source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit";
owner = "root";
setuid = true;
}
];
'';
};
environment.systemPackages =
[
kde5.frameworkintegration
kde5.kactivities
kde5.kauth
kde5.kcmutils
kde5.kconfig
kde5.kconfigwidgets
kde5.kcoreaddons
kde5.kdbusaddons
kde5.kdeclarative
kde5.kded
kde5.kdesu
kde5.kdnssd
kde5.kemoticons
kde5.kfilemetadata
kde5.kglobalaccel
kde5.kguiaddons
kde5.kiconthemes
kde5.kidletime
kde5.kimageformats
kde5.kinit
kde5.kio
kde5.kjobwidgets
kde5.knewstuff
kde5.knotifications
kde5.knotifyconfig
kde5.kpackage
kde5.kparts
kde5.kpeople
kde5.krunner
kde5.kservice
kde5.ktextwidgets
kde5.kwallet
kde5.kwayland
kde5.kwidgetsaddons
kde5.kxmlgui
kde5.kxmlrpcclient
kde5.plasma-framework
kde5.solid
kde5.sonnet
kde5.threadweaver
kde5.breeze-qt5
kde5.kactivitymanagerd
kde5.kde-cli-tools
kde5.kdecoration
kde5.kdeplasma-addons
kde5.kgamma5
kde5.khelpcenter
kde5.khotkeys
kde5.kinfocenter
kde5.kmenuedit
kde5.kscreen
kde5.kscreenlocker
kde5.ksysguard
kde5.kwayland
kde5.kwin
kde5.kwrited
kde5.libkscreen
kde5.libksysguard
kde5.milou
kde5.oxygen
kde5.plasma-integration
kde5.polkit-kde-agent
kde5.systemsettings
kde5.plasma-desktop
kde5.plasma-workspace
kde5.plasma-workspace-wallpapers
kde5.dolphin
kde5.dolphin-plugins
kde5.ffmpegthumbs
kde5.kdegraphics-thumbnailers
kde5.kio-extras
kde5.konsole
kde5.print-manager
# Install Breeze icons if available
(kde5.breeze-icons or kde5.oxygen-icons5 or kde5.oxygen-icons)
pkgs.hicolor_icon_theme
kde5.kde-gtk-config kde5.breeze-gtk
pkgs.qt5.phonon-backend-gstreamer
]
# Plasma 5.5 and later has a Breeze GTK theme.
# If it is not available, Orion is very similar to Breeze.
++ lib.optional (!(lib.hasAttr "breeze-gtk" kde5)) pkgs.orion
# Install activity manager if available
++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd
# frameworkintegration was split with plasma-integration in Plasma 5.6
++ lib.optional (lib.hasAttr "plasma-integration" kde5) kde5.plasma-integration
++ lib.optionals cfg.enableQt4Support [ kde5.breeze-qt4 pkgs.phonon-backend-gstreamer ]
# Optional hardware support features
++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil
++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm
++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa
++ lib.optional config.powerManagement.enable kde5.powerdevil
++ lib.optional config.services.colord.enable pkgs.colord-kde
++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ];
environment.pathsToLink = [ "/share" ];
environment.etc = singleton {
source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
target = "X11/xkb";
};
# Enable GTK applications to load SVG icons
environment.variables =
{
GST_PLUGIN_SYSTEM_PATH_1_0 =
lib.makeSearchPath "/lib/gstreamer-1.0"
(builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-plugins-bad
gst-libav # for mp3 playback
]));
}
// (if (lib.hasAttr "breeze-icons" kde5)
then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; }
else { });
fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];
programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass";
# Enable helpful DBus services.
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
# Extra UDEV rules used by Solid
services.udev.packages = [
pkgs.libmtp
pkgs.media-player-info
];
services.xserver.displayManager.sddm = {
theme = "breeze";
themes = [
kde5.ecm # for the setup-hook
kde5.plasma-workspace
kde5.breeze-icons
security.setuidOwners = [
{
program = "kcheckpass";
source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass";
owner = "root";
setuid = true;
}
{
program = "start_kdeinit";
source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit";
owner = "root";
setuid = true;
}
];
};
security.pam.services.kde = { allowNullPassword = true; };
environment.systemPackages =
[
kde5.frameworkintegration
kde5.kactivities
kde5.kauth
kde5.kcmutils
kde5.kconfig
kde5.kconfigwidgets
kde5.kcoreaddons
kde5.kdbusaddons
kde5.kdeclarative
kde5.kded
kde5.kdesu
kde5.kdnssd
kde5.kemoticons
kde5.kfilemetadata
kde5.kglobalaccel
kde5.kguiaddons
kde5.kiconthemes
kde5.kidletime
kde5.kimageformats
kde5.kinit
kde5.kio
kde5.kjobwidgets
kde5.knewstuff
kde5.knotifications
kde5.knotifyconfig
kde5.kpackage
kde5.kparts
kde5.kpeople
kde5.krunner
kde5.kservice
kde5.ktextwidgets
kde5.kwallet
kde5.kwayland
kde5.kwidgetsaddons
kde5.kxmlgui
kde5.kxmlrpcclient
kde5.plasma-framework
kde5.solid
kde5.sonnet
kde5.threadweaver
};
kde5.breeze-qt5
kde5.kactivitymanagerd
kde5.kde-cli-tools
kde5.kdecoration
kde5.kdeplasma-addons
kde5.kgamma5
kde5.khotkeys
kde5.kinfocenter
kde5.kmenuedit
kde5.kscreen
kde5.kscreenlocker
kde5.ksysguard
kde5.kwayland
kde5.kwin
kde5.kwrited
kde5.libkscreen
kde5.libksysguard
kde5.milou
kde5.plasma-integration
kde5.polkit-kde-agent
kde5.systemsettings
kde5.plasma-desktop
kde5.plasma-workspace
kde5.plasma-workspace-wallpapers
kde5.dolphin-plugins
kde5.ffmpegthumbs
kde5.kdegraphics-thumbnailers
kde5.kio-extras
kde5.print-manager
# Install Breeze icons if available
(kde5.breeze-icons or kde5.oxygen-icons5 or kde5.oxygen-icons)
pkgs.hicolor_icon_theme
kde5.kde-gtk-config kde5.breeze-gtk
pkgs.qt5.phonon-backend-gstreamer
]
# Plasma 5.5 and later has a Breeze GTK theme.
# If it is not available, Orion is very similar to Breeze.
++ lib.optional (!(lib.hasAttr "breeze-gtk" kde5)) pkgs.orion
# Install activity manager if available
++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd
# frameworkintegration was split with plasma-integration in Plasma 5.6
++ lib.optional (lib.hasAttr "plasma-integration" kde5) kde5.plasma-integration
++ lib.optionals cfg.enableQt4Support [ kde5.breeze-qt4 pkgs.phonon-backend-gstreamer ]
# Optional hardware support features
++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil
++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm
++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa
++ lib.optional config.powerManagement.enable kde5.powerdevil
++ lib.optional config.services.colord.enable pkgs.colord-kde
++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ];
services.xserver.desktopManager.kde5.extraPackages =
[
kde5.khelpcenter
kde5.oxygen
kde5.dolphin
kde5.konsole
];
environment.pathsToLink = [ "/share" ];
environment.etc = singleton {
source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
target = "X11/xkb";
};
environment.variables =
{
# Enable GTK applications to load SVG icons
GST_PLUGIN_SYSTEM_PATH_1_0 =
lib.makeSearchPath "/lib/gstreamer-1.0"
(builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-plugins-bad
gst-libav # for mp3 playback
]));
}
// (if (lib.hasAttr "breeze-icons" kde5)
then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; }
else { });
fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];
programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass";
# Enable helpful DBus services.
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
# Extra UDEV rules used by Solid
services.udev.packages = [
pkgs.libmtp
pkgs.media-player-info
];
services.xserver.displayManager.sddm = {
theme = "breeze";
themes = [
kde5.ecm # for the setup-hook
kde5.plasma-workspace
kde5.breeze-icons
];
};
security.pam.services.kde = { allowNullPassword = true; };
})
];
}

View File

@ -19,7 +19,7 @@ let cfg = config.services.xserver.synaptics;
Option "TapButton3" "0"
'';
pkg = pkgs.xorg.xf86inputsynaptics;
etcFile = "X11/xorg.conf.d/50-synaptics.conf";
etcFile = "X11/xorg.conf.d/70-synaptics.conf";
in {
options = {
@ -172,7 +172,7 @@ in {
services.xserver.modules = [ pkg.out ];
environment.etc."${etcFile}".source =
"${pkg.out}/share/X11/xorg.conf.d/50-synaptics.conf";
"${pkg.out}/share/X11/xorg.conf.d/70-synaptics.conf";
environment.systemPackages = [ pkg ];

View File

@ -318,6 +318,8 @@ mountFS() {
[ "$mountPoint" == "/" ] &&
[ -f "/mnt-root/etc/NIXOS_LUSTRATE" ] &&
lustrateRoot "/mnt-root"
true
}
lustrateRoot () {

View File

@ -910,20 +910,23 @@ in
domainname "${cfg.domain}"
'';
environment.etc = mkIf (cfg.hostId != null)
[
{
target = "hostid";
source = pkgs.runCommand "gen-hostid" {} ''
hi="${cfg.hostId}"
${if pkgs.stdenv.isBigEndian then ''
echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
'' else ''
echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out
''}
'';
}
];
environment.etc."hostid" = mkIf (cfg.hostId != null)
{ source = pkgs.runCommand "gen-hostid" {} ''
hi="${cfg.hostId}"
${if pkgs.stdenv.isBigEndian then ''
echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out
'' else ''
echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out
''}
'';
};
# static hostname configuration needed for hostnamectl and the
# org.freedesktop.hostname1 dbus service (both provided by systemd)
environment.etc."hostname" = mkIf (cfg.hostName != "")
{
text = cfg.hostName + "\n";
};
environment.systemPackages =
[ pkgs.host

View File

@ -94,7 +94,6 @@ let cfg = config.ec2; in
elif [ "$fsType" = ext3 ]; then
mp="/disk$diskNr"
diskNr=$((diskNr + 1))
echo "mounting $device on $mp..."
if mountFS "$device" "$mp" "" ext3; then
if [ -z "$diskForUnionfs" ]; then diskForUnionfs="$mp"; fi
fi

View File

@ -1,8 +1,10 @@
{ stdenv, fetchurl, wxGTK30, pkgconfig, gettext, gtk2, glib, zlib, perl, intltool,
{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2, glib, zlib, perl, intltool,
libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame, fetchpatch,
expat, libid3tag, ffmpeg, soundtouch /*, portaudio - given up fighting their portaudio.patch */
}:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "2.1.2";
name = "audacity-${version}";
@ -23,12 +25,34 @@ stdenv.mkDerivation rec {
mkdir lib-src
mv lib-src-rm/{Makefile*,lib-widget-extra,portaudio-v19,portmixer,portsmf,FileDialog,sbsms,libnyquist} lib-src/
rm -r lib-src-rm/
# we will get a (possibly harmless) warning during configure without this
substituteInPlace configure \
--replace /usr/bin/file ${file}/bin/file
'';
configureFlags = [ "--with-libsamplerate" ];
configureFlags = [
"--with-libsamplerate"
];
# audacity only looks for lame and ffmpeg at runtime, so we need to link them in manually
NIX_LDFLAGS = [
# LAME
"-lmp3lame"
# ffmpeg
"-lavcodec"
"-lavdevice"
"-lavfilter"
"-lavformat"
"-lavresample"
"-lavutil"
"-lpostproc"
"-lswresample"
"-lswscale"
];
buildInputs = [
pkgconfig gettext wxGTK30 expat alsaLib
pkgconfig file gettext wxGTK30 expat alsaLib
libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil gtk2
ffmpeg libmad lame libvorbis flac soundtouch
]; #ToDo: detach sbsms
@ -36,11 +60,11 @@ stdenv.mkDerivation rec {
dontDisableStatic = true;
doCheck = false; # Test fails
meta = {
meta = with stdenv.lib; {
description = "Sound editor with graphical UI";
homepage = http://audacityteam.org/;
license = stdenv.lib.licenses.gpl2Plus;
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
license = licenses.gpl2Plus;
platforms = with platforms; linux;
maintainers = with maintainers; [ the-kenny ];
};
}

View File

@ -1,10 +1,9 @@
{ stdenv, fetchFromGitHub, python2Packages, makeWrapper, chromaprint }:
let
pypkgs = python2Packages;
pname = "puddletag";
in pypkgs.buildPythonApplication rec {
in python2Packages.buildPythonApplication rec {
name = "${pname}-${version}";
version = "1.2.0";
@ -17,11 +16,9 @@ in pypkgs.buildPythonApplication rec {
sourceRoot = "${pname}-v${version}-src/source";
disabled = pypkgs.isPy3k; # work to support python 3 has not begun
disabled = python2Packages.isPy3k; # work to support python 3 has not begun
outputs = [ "out" ];
propagatedBuildInputs = [ chromaprint ] ++ (with pypkgs; [
propagatedBuildInputs = [ chromaprint ] ++ (with python2Packages; [
configobj
mutagen
pyparsing
@ -35,7 +32,7 @@ in pypkgs.buildPythonApplication rec {
siteDir=$(toPythonPath $out)
mkdir -p $siteDir
PYTHONPATH=$PYTHONPATH:$siteDir
${pypkgs.python.interpreter} setup.py install --prefix $out
${python2Packages.python.interpreter} setup.py install --prefix $out
'';
meta = with stdenv.lib; {

View File

@ -88,16 +88,16 @@ rec {
eclipse-platform = eclipse-platform-46;
eclipse-platform-46 = buildEclipse {
name = "eclipse-platform-4.6.1";
description = "Eclipse platform";
name = "eclipse-platform-4.6.2";
description = "Eclipse Platform Neon 2";
sources = {
"x86_64-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk-x86_64.tar.gz;
sha256 = "1mr7sj4whz23iwz5j6mbqd80a39177qv0r7b6cip7dji4n2agl8j";
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-platform-4.6.2-linux-gtk-x86_64.tar.gz;
sha256 = "1fmpirjkp210angyfz3nr5jp58snjy6784zkkbmdxkiyg9kg2wqq";
};
"i686-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk.tar.gz;
sha256 = "0kgj0zpgzwx90q13c4mr8swf63azd56532ycxgq2rbs0d1qbl87j";
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-platform-4.6.2-linux-gtk.tar.gz;
sha256 = "0274g6ypiqsqkch10868ygbm6avc5pa57saz9wd196kdivl1bdpm";
};
};
};
@ -123,16 +123,16 @@ rec {
### Eclipse SDK
eclipse-sdk-46 = buildEclipse {
name = "eclipse-sdk-4.6.1";
description = "Eclipse Neon Classic";
name = "eclipse-sdk-4.6.2";
description = "Eclipse Neon 2 Classic";
sources = {
"x86_64-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk-x86_64.tar.gz;
sha256 = "1mr7sj4whz23iwz5j6mbqd80a39177qv0r7b6cip7dji4n2agl8j";
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-SDK-4.6.2-linux-gtk-x86_64.tar.gz;
sha256 = "0g3nk1gcz178j8xk6nblkfsaysm8gq8101383fx60x6w25rdfgjb";
};
"i686-linux" = fetchurl {
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.1-201609071200/eclipse-SDK-4.6.1-linux-gtk.tar.gz;
sha256 = "0kgj0zpgzwx90q13c4mr8swf63azd56532ycxgq2rbs0d1qbl87j";
url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-SDK-4.6.2-linux-gtk.tar.gz;
sha256 = "09wlkcxs5h3j8habqxgr4all99vkgmyixc0vr9dj3qs0kl85k5mz";
};
};
};

View File

@ -60,8 +60,9 @@ let
};
};
in
kdeWrapper unwrapped
kdeWrapper
{
inherit unwrapped;
targets = [ "bin/kile" ];
paths = [ konsole.unwrapped ];
}

View File

@ -6,11 +6,15 @@ stdenv.mkDerivation {
patches = [ ./CVE-2014-3618.patch ];
# getline is defined differently in glibc now. So rename it.
# Without the .PHONY target "make install" won't install anything on Darwin.
postPatch = ''
sed -e "s%^RM.*$%#%" -i Makefile
sed -e "s%^BASENAME.*%\BASENAME=$out%" -i Makefile
sed -e "s%^LIBS=.*%LIBS=-lm%" -i Makefile
sed -e "s%getline%thisgetline%g" -i src/*.c src/*.h
sed -e "3i\
.PHONY: install
" -i Makefile
'';
src = fetchurl {

View File

@ -20,15 +20,14 @@
}:
stdenv.mkDerivation rec {
version = "4.5.6";
version = "4.5.97";
name = "subsurface-${version}";
# use fetchgit instead of the official tgz is not complete
src = fetchgit {
sha256 = "156rqcszy0c4plk2mv7wdd4h7s7mygpq5sdc64pjfs4qvvsdj10f";
sha256 = "0mbf8m5sbimbyvlh65sjlydrycr4ssfyfzdlqyl0wcpzw7h0qfp8";
url = "git://git.subsurface-divelog.org/subsurface";
rev = "4d8d7c2a0fa1b4b0e6953d92287c75b6f97472d0";
branchName = "v4.5-branch";
rev = "5f15ad5a86ada3c5e574041a5f9d85235322dabb";
branchName = "master";
};
buildInputs = [ qtbase libdivecomputer libmarble-ssrf libxslt
@ -43,8 +42,7 @@ stdenv.mkDerivation rec {
marble_libs=$(echo $(echo $CMAKE_LIBRARY_PATH | grep -o "/nix/store/[[:alnum:]]*-libmarble-ssrf-[a-zA-Z0-9\-]*/lib")/libssrfmarblewidget.so)
cmakeFlags="$cmakeFlags -DCMAKE_BUILD_TYPE=Debug \
-DMARBLE_LIBRARIES=$marble_libs \
-DNO_PRINTING=OFF \
-DUSE_LIBGIT23_API=1"
-DNO_PRINTING=OFF"
'';
meta = with stdenv.lib; {

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
'';
homepage = https://launchpad.net/synapse-project;
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; mahe;
maintainers = with stdenv.lib.maintainers; [ mahe ];
platforms = with stdenv.lib.platforms; all;
};
}

View File

@ -1,4 +1,7 @@
{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool, gcc, makeWrapper }:
{ stdenv, fetchurl, pkgconfig, which, makeQtWrapper,
libtool, openssl, qtbase, qttools }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "xca-${version}";
@ -9,19 +12,28 @@ stdenv.mkDerivation rec {
sha256 = "1r2w9gpahjv221j963bd4vn0gj4cxmb9j42f3cd9qdn890hizw84";
};
postInstall = ''
wrapProgram "$out/bin/xca" \
--prefix LD_LIBRARY_PATH : \
"${gcc.cc.lib}/lib64:${stdenv.lib.makeLibraryPath [ qt4 gcc.cc openssl libtool ]}"
enableParallelBuilding = false;
buildInputs = [ libtool openssl qtbase qttools ];
nativeBuildInputs = [ makeQtWrapper pkgconfig which ];
preBuild = ''
substituteInPlace Local.mak \
--replace ${qtbase}/bin/moc ${qtbase.dev}/bin/moc \
--replace ${qtbase}/bin/uic ${qtbase.dev}/bin/uic
'';
buildInputs = [ openssl qt4 libtool gcc makeWrapper ];
nativeBuildInputs = [ pkgconfig ];
postInstall = ''
wrapQtProgram "$out/bin/xca"
wrapQtProgram "$out/bin/xca_db_stat"
'';
meta = with stdenv.lib; {
description = "Interface for managing asymetric keys like RSA or DSA";
homepage = http://xca.sourceforge.net/;
platforms = platforms.all;
license = licenses.bsd3;
maintainers = with maintainers; [ offline peterhoeg ];
};
}

View File

@ -55,9 +55,9 @@ let
in
kdeWrapper unwrapped
kdeWrapper
{
inherit unwrapped;
targets = [ "bin/yakuake" ];
paths = [ konsole.unwrapped ];
}

View File

@ -42,6 +42,8 @@ mkChromiumDerivation (base: rec {
passthru = { inherit sandboxExecutableName; };
requiredSystemFeatures = [ "big-parallel" ];
meta = {
description = "An open source web browser from Google";
homepage = http://www.chromium.org/;
@ -49,6 +51,5 @@ mkChromiumDerivation (base: rec {
license = licenses.bsd3;
platforms = platforms.linux;
hydraPlatforms = if channel == "stable" then ["x86_64-linux"] else [];
requiredSystemFeatures = [ "big-parallel" ];
};
})

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "0mafk3cxwc16qbd7jzqj8rw1ys6s2bv7f9byixjcgssvjf073ksv";
sha256bin64 = "0sb2d7vyrckkbg823rnl7y3k6q3kvmxp13lpm0ncy821cx89m89a";
version = "55.0.2883.75";
sha256 = "00mq90h5kjj3x7asclp97x5mqy6pvcj0vqxcf77djlyjmsy1q10i";
sha256bin64 = "1prmj546sp627crnjfj2sxprr6ahb59ajgqp8jwy4wiy1x5c3j88";
version = "56.0.2924.28";
};
dev = {
sha256 = "1g4jy8zpmgqh9br2jcvbrnnr8fc5i4s5hvv01bs433rlcgaqk066";
sha256bin64 = "08vzar0zshf39390xhr8l7gvzai9pxcqzwqzrmizaaqi9m5pijdr";
version = "56.0.2924.18";
sha256 = "1dnqqlhdxawwy4zdk2p8zn6vg0cpi3hqpl9rf3j0xylvm3knr9a1";
sha256bin64 = "1hnmca8jqvammsb3y847p2n9hm93129li5zfi5pacqizqlakmv3z";
version = "57.0.2950.4";
};
stable = {
sha256 = "0mafk3cxwc16qbd7jzqj8rw1ys6s2bv7f9byixjcgssvjf073ksv";
sha256bin64 = "0qfqj8067vjqklg1zm203dh6c29sbhk6w7flvi8h3z28y1pws2qw";
version = "55.0.2883.75";
sha256 = "0n0sp3f3cmac2lblzn3mjkkhm8p6vy34dafr0kpdz14w1lad66z8";
sha256bin64 = "1cvp9fvdpd8qrl48lzs7f6k43bqd43gp0sbzz6h7yrpzw1c49r0m";
version = "55.0.2883.87";
};
}

View File

@ -24,12 +24,12 @@ let
in buildPythonApplication rec {
name = "qutebrowser-${version}";
version = "0.8.4";
version = "0.9.0";
namePrefix = "";
src = fetchurl {
url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
sha256 = "0wc6iq7rw89625v595bs4y8spzhid6nnz2gq67f2kbjppk2rikpm";
sha256 = "1fp7yddx8xmy6hx01gg4z3vnw8b9qa5ixam7150i3xaalx0gjzfq";
};
# Needs tox
@ -79,7 +79,7 @@ in buildPythonApplication rec {
'';
meta = {
homepage = https://github.com/The-Compiler/qutebrowser;
homepage = "https://github.com/The-Compiler/qutebrowser";
description = "Keyboard-focused browser with a minimal GUI";
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.jagajaga ];

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
name = "terraform-${version}";
version = "0.8.1";
version = "0.8.2";
rev = "v${version}";
goPackagePath = "github.com/hashicorp/terraform";
@ -11,7 +11,7 @@ buildGoPackage rec {
inherit rev;
owner = "hashicorp";
repo = "terraform";
sha256 = "1fgnivhn6hrxpwwajl80vj2w81lv6vypprlbgif8m0z0na7p8956";
sha256 = "1645la750lqx2m57sbl6xg1cnqgwrfk5dhcw08wm4z7zxdnqys7b";
};
postInstall = ''

View File

@ -4,11 +4,11 @@
, gsm, speex, portaudio, spandsp, libuuid, ccache
}:
stdenv.mkDerivation rec {
version = "0.4.20";
version = "0.5.0";
name = "baresip-${version}";
src=fetchurl {
url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
sha256 = "0m8afbfdc9a57cy94ny7g6jv2ndfmrvkx0lgk64i8w870958gkwb";
sha256 = "0dhlgjkqn7jkd1pmdyid41c829clzmi5kczjdwxzh5ygn95lydjc";
};
buildInputs = [zlib openssl libre librem pkgconfig
cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good

View File

@ -75,7 +75,8 @@ let
homepage = https://konversation.kde.org;
};
};
in kdeWrapper unwrapped {
in kdeWrapper {
inherit unwrapped;
targets = [ "bin/konversation" ];
}

View File

@ -1,8 +1,8 @@
{ stdenv, buildGoPackage, fetchFromGitHub, fetchhg, fetchbzr, fetchsvn }:
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "rclone-${version}";
version = "1.33";
version = "1.35";
goPackagePath = "github.com/ncw/rclone";
@ -10,16 +10,14 @@ buildGoPackage rec {
owner = "ncw";
repo = "rclone";
rev = "v${version}";
sha256 = "00y48ww40x73xpdvkzfhllwvbh9a2ffmmkc6ri9343wvmb53laqk";
sha256 = "15dmppb7qgr3vg76dsv770l51lmsl8n8k3rvbnhhks5a2cz0kf2i";
};
goDeps = ./deps.nix;
meta = {
meta = with stdenv.lib; {
description = "Command line program to sync files and directories to and from major cloud storage";
homepage = "http://rclone.org";
license = stdenv.lib.licenses.mit;
maintainers = [ ];
platforms = stdenv.lib.platforms.all;
license = licenses.mit;
maintainers = with maintainers; [ danielfullmer ];
platforms = platforms.all;
};
}

View File

@ -1,219 +0,0 @@
# This file was generated by go2nix.
[
{
goPackagePath = "bazil.org/fuse";
fetch = {
type = "git";
url = "https://github.com/bazil/fuse";
rev = "371fbbdaa8987b715bdd21d6adc4c9b20155f748";
sha256 = "1x5p301py7mcxgwklfm6pqqkzssln0nfzllng49pnk60m03ilp4w";
};
}
{
goPackagePath = "cloud.google.com/go";
fetch = {
type = "git";
url = "https://code.googlesource.com/gocloud";
rev = "90296fd601ebfc594192e722a022663b0c3f8756";
sha256 = "0qg0d1afhqmpfaq2lh29c87d18s5148yshg0s295dhzdn1m9nhww";
};
}
{
goPackagePath = "github.com/Unknwon/goconfig";
fetch = {
type = "git";
url = "https://github.com/Unknwon/goconfig";
rev = "5aa4f8cd5a472c2411c778b4680f59f2223f1966";
sha256 = "0r6na17sz762c1dyn6gb16v2zhvzg6krmz7pcjg1m0l5wxdf4n0d";
};
}
{
goPackagePath = "github.com/VividCortex/ewma";
fetch = {
type = "git";
url = "https://github.com/VividCortex/ewma";
rev = "c595cd886c223c6c28fc9ae2727a61b5e4693d85";
sha256 = "0f09886vm4rkhgqqh2b20r8rws4syvny3la107hh6qby027bpab2";
};
}
{
goPackagePath = "github.com/aws/aws-sdk-go";
fetch = {
type = "git";
url = "https://github.com/aws/aws-sdk-go";
rev = "13a12060f716145019378a10e2806c174356b857";
sha256 = "09yl85kk2y4ayk44af5rbnkq4vy82vbh2z5ac4vpl2vgv7zyh46h";
};
}
{
goPackagePath = "github.com/cpuguy83/go-md2man";
fetch = {
type = "git";
url = "https://github.com/cpuguy83/go-md2man";
rev = "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa";
sha256 = "1rm3zjrmfpzy0l3qp02xmd5pqzl77pdql9pbxhl0k1qw2vfzrjv6";
};
}
{
goPackagePath = "github.com/google/go-querystring";
fetch = {
type = "git";
url = "https://github.com/google/go-querystring";
rev = "9235644dd9e52eeae6fa48efd539fdc351a0af53";
sha256 = "0q398679fwp7vlnpd2rlzz452a7a4qvpcspak81psfl3xwimpzgq";
};
}
{
goPackagePath = "github.com/mreiferson/go-httpclient";
fetch = {
type = "git";
url = "https://github.com/mreiferson/go-httpclient";
rev = "31f0106b4474f14bc441575c19d3a5fa21aa1f6c";
sha256 = "1iz95p7fl43smyh1lzjnwk6gq9y7q15m2qdkf0f4kxf3x5731v9i";
};
}
{
goPackagePath = "github.com/ncw/go-acd";
fetch = {
type = "git";
url = "https://github.com/ncw/go-acd";
rev = "56da839497f9854a91f99fe752c33c7977a6f48b";
sha256 = "1va6hpl73ps443r0s2icplcx113gkhmi2gbsgpaw2iii5lji5085";
};
}
{
goPackagePath = "github.com/ncw/swift";
fetch = {
type = "git";
url = "https://github.com/ncw/swift";
rev = "b964f2ca856aac39885e258ad25aec08d5f64ee6";
sha256 = "0c86ap1zb56r6g96cnbn5j3i3r96c5l8rl98h3sxlqi5agwp3km4";
};
}
{
goPackagePath = "github.com/ogier/pflag";
fetch = {
type = "git";
url = "https://github.com/ogier/pflag";
rev = "45c278ab3607870051a2ea9040bb85fcb8557481";
sha256 = "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "645ef00459ed84a119197bfb8d8205042c6df63d";
sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
};
}
{
goPackagePath = "github.com/rfjakob/eme";
fetch = {
type = "git";
url = "https://github.com/rfjakob/eme";
rev = "601d0e278ceda9aa2085a61c9265f6e690ef5255";
sha256 = "1ryh5f2a42psrqcpjh73shk3p0mva2vcyyfav4nhxmfqall77k5z";
};
}
{
goPackagePath = "github.com/skratchdot/open-golang";
fetch = {
type = "git";
url = "https://github.com/skratchdot/open-golang";
rev = "75fb7ed4208cf72d323d7d02fd1a5964a7a9073c";
sha256 = "1b67imqbsdvg19vif1q1dfmapxy3v2anagacbql95fwnnw0v8jga";
};
}
{
goPackagePath = "github.com/spf13/cobra";
fetch = {
type = "git";
url = "https://github.com/spf13/cobra";
rev = "9c28e4bbd74e5c3ed7aacbc552b2cab7cfdfe744";
sha256 = "02bgp0yy9bi05k2in9axqi3db1c6mjffdsmki51pn9iryxz4zkh3";
};
}
{
goPackagePath = "github.com/spf13/pflag";
fetch = {
type = "git";
url = "https://github.com/spf13/pflag";
rev = "c7e63cf4530bcd3ba943729cee0efeff2ebea63f";
sha256 = "197mlkgb01zk86fxfl8r8maymcxsspqblg7hmngjxf7ivdid1i1l";
};
}
{
goPackagePath = "github.com/stacktic/dropbox";
fetch = {
type = "git";
url = "https://github.com/stacktic/dropbox";
rev = "58f839b21094d5e0af7caf613599830589233d20";
sha256 = "1psmxpnn40ri9bgjvivljnd4p977f635mh3w7m5mglxxgc9392pi";
};
}
{
goPackagePath = "github.com/tsenart/tb";
fetch = {
type = "git";
url = "https://github.com/tsenart/tb";
rev = "19f4c3d79d2bd67d0911b2e310b999eeea4454c1";
sha256 = "148vy4xij5qm8dq5plyczx2wbpi4gpg8ksr5r3b4m8j0z1kjws8y";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "5dc8cb4b8a8eb076cbb5a06bc3b8682c15bdbbd3";
sha256 = "18c1vpqlj10z1id66hglgnv51d9gwphgsdvxgghc6mcm01f1g5xj";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "6acef71eb69611914f7a30939ea9f6e194c78172";
sha256 = "1fcsv50sbq0lpzrhx3m9jw51wa255fsbqjwsx9iszq4d0gysnnvc";
};
}
{
goPackagePath = "golang.org/x/oauth2";
fetch = {
type = "git";
url = "https://go.googlesource.com/oauth2";
rev = "3c3a985cb79f52a3190fbc056984415ca6763d01";
sha256 = "0c7x8wkya56z03j2qfm61932npsddgqyggi75hkla9755d1inqlv";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "a71fd10341b064c10f4a81ceac72bcf70f26ea34";
sha256 = "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1";
};
}
{
goPackagePath = "google.golang.org/api";
fetch = {
type = "git";
url = "https://code.googlesource.com/google-api-go-client";
rev = "eb84d1a029af1654777e7ba65c979085305c3e38";
sha256 = "0ldmzcx5lxa81lcr39djcvyhd0ls11jlswj5877rinq3505ayf5l";
};
}
{
goPackagePath = "github.com/stretchr/testify/";
fetch = {
type = "git";
url = "https://github.com/stretchr/testify";
rev = "1f4a1643a57e798696635ea4c126e9127adb7d3c";
sha256 = "0nam9d68rn8ha8ldif22kkgv6k6ph3y88fp26159wdrs63ca3bzl";
};
}
]

View File

@ -1,14 +1,14 @@
{ stdenv, lib, fetchFromGitHub, go, pkgs }:
stdenv.mkDerivation rec {
version = "0.14.17";
version = "0.14.18";
name = "syncthing-${version}";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
sha256 = "0l220jnm8xwfc5jrznan15290al05bim5yyy4wngj9c55av6mlzq";
sha256 = "099r1n9awznv17ac1fm4ff6az40bvk6xxwaw8x8fx7ikqi1wv8vp";
};
buildInputs = [ go ];
@ -45,8 +45,8 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://www.syncthing.net/;
description = "Open Source Continuous File Synchronization";
license = stdenv.lib.licenses.mpl20;
maintainers = with stdenv.lib.maintainers; [ pshendry joko peterhoeg ];
platforms = stdenv.lib.platforms.unix;
license = licenses.mpl20;
maintainers = with maintainers; [ pshendry joko peterhoeg ];
platforms = platforms.unix;
};
}

View File

@ -251,6 +251,8 @@ in stdenv.mkDerivation rec {
inherit srcs;
};
requiredSystemFeatures = [ "big-parallel" ];
meta = with lib; {
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
homepage = http://libreoffice.org/;
@ -258,6 +260,5 @@ in stdenv.mkDerivation rec {
maintainers = with maintainers; [ viric raskin ];
platforms = platforms.linux;
hydraPlatforms = [];
requiredSystemFeatures = [ "big-parallel" ];
};
}

View File

@ -254,12 +254,13 @@ in stdenv.mkDerivation rec {
inherit srcs;
};
requiredSystemFeatures = [ "big-parallel" ];
meta = with lib; {
description = "Comprehensive, professional-quality productivity suite (Still/stable release)";
homepage = http://libreoffice.org/;
license = licenses.lgpl3;
maintainers = with maintainers; [ viric raskin ];
platforms = platforms.linux;
requiredSystemFeatures = [ "big-parallel" ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, python2 }:
{ stdenv, fetchFromGitHub, python2, fixDarwinDylibNames }:
let
python = python2;
@ -13,7 +13,7 @@ in stdenv.mkDerivation rec {
sha256 = "0ssp190ksak93hiz61z90x6hy9hcw1ywp8b2dzmbhn6fbd4bnxzp";
};
buildInputs = [ python ];
buildInputs = [ python fixDarwinDylibNames ];
enableParallelBuilding = true;
configurePhase = ''

View File

@ -4,7 +4,7 @@ tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
let
name = "maxima";
version = "5.38.1";
version = "5.39.0";
searchPath =
stdenv.lib.makeBinPath
@ -15,7 +15,7 @@ stdenv.mkDerivation ({
src = fetchurl {
url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
sha256 = "1p6646rvq43hk09msyp0dk50cqpkh07mf4x0bc2fqisqmcv6b1hf";
sha256 = "1cvignn5y6qzrby6qb885yc8zdcdqdr1d50vcvc3gapw2f0gk3zm";
};
buildInputs = stdenv.lib.filter (x: x != null)

View File

@ -14,11 +14,11 @@
}:
let
version = "2.6.15";
version = "2.6.16";
src = fetchurl {
url = "mirror://sourceforge/avidemux/avidemux/${version}/avidemux_${version}.tar.gz";
sha256 = "0mr2nll81ki9d1s68klhm19jmr15450wjaws1p0b0y2qqwyrprdh";
sha256 = "0jipvpvw871qhhkyykrrrqc9vfbw24v243vzmm8lqifj73h6qvgc";
};
common = {

View File

@ -18,11 +18,11 @@ let
s = # Generated upstream information
rec {
baseName="compiz";
version="0.9.13.0";
version="0.9.13.1";
name="${baseName}-${version}";
hash="00m73im5kdpbfjg9ryzxnab5qvx5j51gxwr3wzimkrcbax6vb3ph";
url="https://launchpad.net/compiz/0.9.13/0.9.13.0/+download/compiz-0.9.13.0.tar.bz2";
sha256="00m73im5kdpbfjg9ryzxnab5qvx5j51gxwr3wzimkrcbax6vb3ph";
hash="1grc4a4gc662hjs5adzdd3zlgsg1rh1wqm9aanbs8wm0l8mq0m4q";
url="https://launchpad.net/compiz/0.9.13/0.9.13.1/+download/compiz-0.9.13.1.tar.bz2";
sha256="1grc4a4gc662hjs5adzdd3zlgsg1rh1wqm9aanbs8wm0l8mq0m4q";
};
buildInputs = [cmake pkgconfig
libXrender renderproto gtk2 libwnck pango cairo

View File

@ -35,12 +35,13 @@ in stdenv.mkDerivation rec {
enableParallelBuilding = true;
requiredSystemFeatures = [ "big-parallel" ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Evolution;
description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
maintainers = gnome3.maintainers;
license = licenses.lgpl2Plus;
platforms = platforms.linux;
requiredSystemFeatures = [ "big-parallel" ];
};
}

View File

@ -35,12 +35,13 @@ in stdenv.mkDerivation rec {
enableParallelBuilding = true;
requiredSystemFeatures = [ "big-parallel" ];
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Evolution;
description = "Personal information management application that provides integrated mail, calendaring and address book functionality";
maintainers = gnome3.maintainers;
license = licenses.lgpl2Plus;
platforms = platforms.linux;
requiredSystemFeatures = [ "big-parallel" ];
};
}

View File

@ -36,7 +36,8 @@ let
};
};
in
kdeWrapper unwrapped
kdeWrapper
{
inherit unwrapped;
targets = [ "bin/ark" ];
}

View File

@ -24,8 +24,9 @@ let
];
};
in
kdeWrapper unwrapped
kdeWrapper
{
inherit unwrapped;
targets = [ "bin/dolphin" ];
paths = [ dolphin-plugins konsole.unwrapped ];
}

View File

@ -18,4 +18,7 @@ let
];
};
in
kdeWrapper unwrapped { targets = [ "bin/filelight" ]; }
kdeWrapper {
inherit unwrapped;
targets = [ "bin/filelight" ];
}

View File

@ -20,7 +20,8 @@ let
];
};
in
kdeWrapper unwrapped {
kdeWrapper {
inherit unwrapped;
targets = [ "bin/gwenview" ];
paths = [ kipi-plugins ];
}

View File

@ -24,8 +24,9 @@ let
];
};
in
kdeWrapper unwrapped
kdeWrapper
{
inherit unwrapped;
targets = [ "bin/kate" "bin/kwrite" ];
paths = [ konsole.unwrapped ];
}

View File

@ -18,4 +18,7 @@ let
];
};
in
kdeWrapper unwrapped { targets = [ "bin/kcalc" ]; }
kdeWrapper {
inherit unwrapped;
targets = [ "bin/kcalc" ];
}

View File

@ -15,4 +15,7 @@ let
propagatedBuildInputs = [ ki18n kwidgetsaddons kxmlgui ];
};
in
kdeWrapper unwrapped { targets = [ "bin/kcolorchooser" ]; }
kdeWrapper {
inherit unwrapped;
targets = [ "bin/kcolorchooser" ];
}

View File

@ -74,8 +74,9 @@ unwrapped = kdeApp {
};
};
in
kdeWrapper unwrapped
kdeWrapper
{
inherit unwrapped;
targets = [ "bin/kdenlive" ];
paths = [ kinit ];
}

View File

@ -18,4 +18,7 @@ let
];
};
in
kdeWrapper unwrapped { targets = [ "bin/kdf" ]; }
kdeWrapper {
inherit unwrapped;
targets = [ "bin/kdf" ];
}

View File

@ -16,4 +16,7 @@ let
];
};
in
kdeWrapper unwrapped { targets = [ "bin/khelpcenter" ]; }
kdeWrapper {
inherit unwrapped;
targets = [ "bin/khelpcenter" ];
}

View File

@ -15,4 +15,7 @@ let
];
};
in
kdeWrapper unwrapped { targets = [ "bin/kompare" ]; }
kdeWrapper {
inherit unwrapped;
targets = [ "bin/kompare" ];
}

View File

@ -24,4 +24,7 @@ let
];
};
in
kdeWrapper unwrapped { targets = [ "bin/konsole" ]; }
kdeWrapper {
inherit unwrapped;
targets = [ "bin/konsole" ];
}

View File

@ -30,6 +30,7 @@ let
kxmlgui
];
};
in kdeWrapper unwrapped {
in kdeWrapper {
inherit unwrapped;
targets = ["bin/kwalletmanager5"];
}

View File

@ -18,7 +18,8 @@ let
enableParallelBuilding = true;
};
in
kdeWrapper unwrapped {
kdeWrapper {
inherit unwrapped;
targets = [ "bin/marble-qt" ];
paths = [ unwrapped ];
}

View File

@ -25,6 +25,7 @@ let
};
};
in
kdeWrapper unwrapped {
kdeWrapper {
inherit unwrapped;
targets = [ "bin/okular" ];
}

View File

@ -18,7 +18,8 @@ let
];
};
in
kdeWrapper unwrapped {
kdeWrapper {
inherit unwrapped;
targets = [ "bin/spectacle" ];
paths = [ kipi-plugins ];
}

View File

@ -15,6 +15,7 @@ let
];
};
in
kdeWrapper unwrapped {
kdeWrapper {
inherit unwrapped;
targets = [ "bin/oxygen-demo5" "bin/oxygen-settings5" ];
}

View File

@ -95,6 +95,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
xfce4_xkb_plugin = callPackage ./panel-plugins/xfce4-xkb-plugin.nix { };
xfce4_weather_plugin = callPackage ./panel-plugins/xfce4-weather-plugin.nix { };
xfce4_whiskermenu_plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix { };
xfce4_windowck_plugin = callPackage ./panel-plugins/xfce4-windowck-plugin.nix { };
xfce4_pulseaudio_plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix { };
}; # xfce_self

View File

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, pkgconfig, intltool, python3, imagemagick, libwnck, gtk2
, exo, libxfce4ui, libxfce4util, xfce4panel, xfconf, xfce4_dev_tools }:
stdenv.mkDerivation rec {
p_name = "xfce4-windowck-plugin";
version = "0.4.4";
src = fetchFromGitHub {
owner = "cedl38";
repo = "xfce4-windowck-plugin";
rev = "v${version}";
sha256 = "0c6a1ibh39dpq9x0dha5lsg0vzmgaf051fgwz0nlky0s94nwzvgv";
};
name = "${p_name}-${version}";
buildInputs = [ pkgconfig intltool python3 imagemagick libwnck gtk2
exo libxfce4ui libxfce4util xfce4panel xfconf xfce4_dev_tools ];
preConfigure = "./autogen.sh";
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
description = "Set of two plugins which allows you to put the maximized window title and windows buttons on the panel";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.volth ];
};
}

View File

@ -0,0 +1,59 @@
{stdenv, fetchurl
, libtool, autoconf, automake
, gmp, mpfr, libffi, makeWrapper
, noUnicode ? false
, gcc
, threadSupport ? true
}:
let
s = # Generated upstream information
rec {
baseName="ecl";
version="16.1.2";
name="${baseName}-${version}";
url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.2.tgz";
sha256="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
};
buildInputs = [
libtool autoconf automake makeWrapper
];
propagatedBuildInputs = [
libffi gmp mpfr gcc
];
in
stdenv.mkDerivation {
inherit (s) name version;
inherit buildInputs propagatedBuildInputs;
src = fetchurl {
inherit (s) url sha256;
};
configureFlags = [
(if threadSupport then "--enable-threads" else "--disable-threads")
"--with-gmp-prefix=${gmp.dev}"
"--with-libffi-prefix=${libffi.dev}"
]
++
(stdenv.lib.optional (! noUnicode)
"--enable-unicode")
;
hardeningDisable = [ "format" ];
postInstall = ''
sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
wrapProgram "$out/bin/ecl" \
--prefix PATH ':' "${gcc}/bin" \
--prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
--prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
'';
meta = {
inherit (s) version;
description = "Lisp implementation aiming to be small, fast and easy to embed";
license = stdenv.lib.licenses.mit ;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -9,11 +9,11 @@ let
s = # Generated upstream information
rec {
baseName="ecl";
version="16.1.2";
version="16.1.3";
name="${baseName}-${version}";
hash="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.2.tgz";
sha256="16ab8qs3awvdxy8xs8jy82v8r04x4wr70l9l2j45vgag18d2nj1d";
hash="0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn";
url="https://common-lisp.net/project/ecl/static/files/release/ecl-16.1.3.tgz";
sha256="0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn";
};
buildInputs = [
libtool autoconf automake makeWrapper

View File

@ -1,44 +1,52 @@
{ stdenv, fetchFromGitHub, python }:
{ stdenv, fetchFromGitHub, cmake, python, ... }:
let
rev = "1.36.4";
rev = "1.37.1";
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
in
stdenv.mkDerivation rec {
name = "emscripten-fastcomp-${rev}";
srcFC = fetchFromGitHub {
src = fetchFromGitHub {
owner = "kripken";
repo = "emscripten-fastcomp";
sha256 = "0838rl0n9hyq5dd0gmj5rvigbmk5mhrhzyjk0zd8mjs2mk8z510l";
sha256 = "08jci6h73j4pcd6iq5r4zn8c6qpd6qxc7xivxh3iama9hghmxyk9";
inherit rev;
};
srcFL = fetchFromGitHub {
owner = "kripken";
repo = "emscripten-fastcomp-clang";
sha256 = "169hfabamv3jmf88flhl4scwaxdh24196gwpz3sdb26lzcns519q";
sha256 = "053svm8vnsma61jzzr8n1224brmjw4pzvklh572bm1p7yg32chaw";
inherit rev;
};
buildInputs = [ python ];
buildCommand = ''
cp -as ${srcFC} $TMPDIR/src
chmod +w $TMPDIR/src/tools
cp -as ${srcFL} $TMPDIR/src/tools/clang
chmod +w $TMPDIR/src
mkdir $TMPDIR/src/build
cd $TMPDIR/src/build
../configure --enable-optimized --disable-assertions --enable-targets=host,js
make
cp -a Release/bin $out
nativeBuildInputs = [ cmake python ];
preConfigure = ''
cp -Lr ${srcFL} tools/clang
chmod +w -R tools/clang
'';
cmakeFlags = [
"-DCMAKE_BUILD_TYPE=Release"
"-DLLVM_TARGETS_TO_BUILD='X86;JSBackend'"
"-DLLVM_INCLUDE_EXAMPLES=OFF"
"-DLLVM_INCLUDE_TESTS=OFF"
# "-DCLANG_INCLUDE_EXAMPLES=OFF"
"-DCLANG_INCLUDE_TESTS=OFF"
] ++ (stdenv.lib.optional stdenv.isLinux
# necessary for clang to find crtend.o
"-DGCC_INSTALL_PREFIX=${gcc}"
);
enableParallelBuilding = true;
passthru = {
isClang = true;
inherit gcc;
};
meta = with stdenv.lib; {
homepage = https://github.com/kripken/emscripten-fastcomp;
description = "Emscripten llvm";
description = "Emscripten LLVM";
platforms = platforms.all;
maintainers = with maintainers; [ qknight matthewbauer ];
license = stdenv.lib.licenses.ncsa;

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
let
rev = "1.36.4";
rev = "1.37.1";
appdir = "share/emscripten";
in
@ -11,7 +11,7 @@ stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "kripken";
repo = "emscripten";
sha256 = "1c9592i891z1v9rp4a4lnsp14nwiqfxnh37g6xwwjd1bqx7x4hn7";
sha256 = "0xl8lv0ihxsnwnhma3i34pkbz0v1yyc93ac6mdqmzv6fx2wczm04";
inherit rev;
};
@ -23,11 +23,13 @@ stdenv.mkDerivation {
sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/${appdir}/config'," $out/${appdir}/tools/shared.py
sed -i -e 's,^.*did not see a source tree above the LLVM.*$, return True,' $out/${appdir}/tools/shared.py
sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n return,' $out/${appdir}/tools/shared.py
# fixes cmake support
sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" $out/${appdir}/emcc.py
mkdir $out/bin
ln -s $out/${appdir}/{em++,em-config,emar,embuilder.py,emcc,emcmake,emconfigure,emlink.py,emmake,emranlib,emrun,emscons} $out/bin
echo "EMSCRIPTEN_ROOT = '$out/${appdir}'" > $out/${appdir}/config
echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/${appdir}/config
echo "LLVM_ROOT = '${emscriptenfastcomp}/bin'" >> $out/${appdir}/config
echo "PYTHON = '${python}/bin/python'" >> $out/${appdir}/config
echo "NODE_JS = '${nodejs}/bin/node'" >> $out/${appdir}/config
echo "JS_ENGINES = [NODE_JS]" >> $out/${appdir}/config

View File

@ -0,0 +1,46 @@
{ stdenv, fetchgit, mpfr, m4, binutils, fetchcvs, emacs, zlib, which
, texinfo, libX11, xproto, inputproto, libXi, gmp, readline, strace
, libXext, xextproto, libXt, libXaw, libXmu } :
assert stdenv ? cc ;
assert stdenv.cc.isGNU ;
assert stdenv.cc ? libc ;
assert stdenv.cc.libc != null ;
stdenv.mkDerivation rec {
name = "gcl-${version}";
version = "2.6.13pre50";
src = fetchgit {
sha256 = "0vpxb6z5g9fjavrgx8gz8fsjvskfz64f63qibh5s00fvvndlwi88";
url = "http://git.savannah.gnu.org/r/gcl.git";
rev = "refs/tags/Version_2_6_13pre50";
};
postPatch = ''
sed -e 's/<= obj-date/<= (if (= 0 obj-date) 1 obj-date)/' -i lsp/make.lisp
'';
sourceRoot = "gcl/gcl";
patches = [];
buildInputs = [
mpfr m4 binutils emacs gmp
libX11 xproto inputproto libXi
libXext xextproto libXt libXaw libXmu
zlib which texinfo readline strace
];
configureFlags = [
"--enable-ansi"
];
hardeningDisable = [ "pic" "bindnow" ];
meta = {
description = "GNU Common Lisp compiler working via GCC";
maintainers = [ stdenv.lib.maintainers.raskin ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,13 +1,13 @@
{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
, autoconf, automake, happy, alex, crossSystem, selfPkgs, cross ? null
, autoconf, automake, happy, alex, python3, crossSystem, selfPkgs, cross ? null
}:
let
inherit (bootPkgs) ghc;
commonBuildInputs = [ ghc perl autoconf automake happy alex ];
commonBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
version = "8.1.20161115";
version = "8.1.20161224";
commonPreConfigure = ''
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
@ -19,27 +19,26 @@ let
in stdenv.mkDerivation (rec {
inherit version;
name = "ghc-${version}";
rev = "017d11e0a36866b05ace32ece1af11adf652a619";
rev = "2689a1692636521777f007861a484e7064b2d696";
src = fetchgit {
url = "git://git.haskell.org/ghc.git";
inherit rev;
sha256 = "1ryggmz961qd0fl50rkjjvi6g9azwla2vx9310a9nzjaj5x6ib4y";
sha256 = "0rk6xy7kgxx849nprq1ji459p88nyy93236g841m5p6mdh7mmrcr";
};
postPatch = ''
postPatch = "patchShebangs .";
preConfigure = ''
echo ${version} >VERSION
echo ${rev} >GIT_COMMIT_ID
patchShebangs .
./boot
'';
'' + commonPreConfigure ;
buildInputs = commonBuildInputs;
enableParallelBuilding = true;
preConfigure = commonPreConfigure;
configureFlags = [
"CC=${stdenv.cc}/bin/cc"
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
@ -52,6 +51,8 @@ in stdenv.mkDerivation (rec {
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
checkTarget = "test";
postInstall = ''
paxmark m $out/lib/${name}/bin/{ghc,haddock}

View File

@ -1,83 +0,0 @@
{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }:
let
inherit (bootPkgs) ghc;
buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp.out}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses.dev}/include"
libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses.out}/lib"
DYNAMIC_BY_DEFAULT = NO
SRC_HC_OPTS = -H64m -O -fasm
GhcLibHcOpts = -O -dcore-lint
GhcStage1HcOpts = -Rghc-timing -O -fasm
GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG
SplitObjs = NO
HADDOCK_DOCS = NO
BUILD_DOCBOOK_HTML = NO
BUILD_DOCBOOK_PS = NO
BUILD_DOCBOOK_PDF = NO
LAX_DEPENDENCIES = YES
${stdenv.lib.optionalString stdenv.isDarwin ''
libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
''}
'';
in
stdenv.mkDerivation rec {
version = "7.11.20150826";
name = "ghc-${version}"; # We cannot add a "nokinds" tag here; see git comment for details.
rev = "5f7f64b7fc879b5ecfd6987ec5565bd90f7c0179";
src = fetchgit {
url = "https://github.com/goldfirere/ghc.git";
inherit rev;
sha256 = "183l4v6aw52r3ydwl8bxg1lh3cwfakb35rpy6mjg23dqmqsynmcn";
};
patches = [ ./relocation.patch ];
postUnpack = ''
pushd ghc-${builtins.substring 0 7 rev}
echo ${version} >VERSION
echo ${rev} >GIT_COMMIT_ID
patchShebangs .
./boot
popd
'';
buildInputs = [ ghc perl autoconf automake happy alex ];
preConfigure = ''
echo >mk/build.mk "${buildMK}"
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
'';
configureFlags = [
"--with-gcc=${stdenv.cc}/bin/cc"
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
];
enableParallelBuilding = true;
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
passthru = {
inherit bootPkgs;
};
meta = {
homepage = "http://haskell.org/ghc";
description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg";
maintainers = with stdenv.lib.maintainers; [ deepfire ];
inherit (ghc.meta) license platforms;
};
}

View File

@ -1,6 +1,6 @@
{ newScope, stdenv, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun }:
{ newScope, stdenv, cmake, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun }:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });
callPackage = newScope (self // { inherit stdenv cmake libxml2 python2 isl version fetch; });
version = "3.7.1";

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, makeWrapper, cacert, zlib }:
{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage }:
let
inherit (stdenv.lib) optionalString;
platform = if stdenv.system == "x86_64-linux"
platform = if stdenv.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu"
else abort "missing boostrap url for platform ${stdenv.system}";
bootstrapHash =
if stdenv.system == "x86_64-linux"
then "1afsqaavhwiaxm38zr08cbq0985c7lrb1jzdcmq0jh6y8rb8ikff"
then "05bppmc6hqgv2g4x76rj95xf40x2aikqmcnql5li27rqwliyxznj"
else throw "missing boostrap hash for platform ${stdenv.system}";
needsPatchelf = stdenv.isLinux;
@ -19,10 +19,12 @@ let
sha256 = bootstrapHash;
};
version = "2016-12-05";
version = "2016-12-29";
in
rec {
inherit buildRustPackage;
rustc = stdenv.mkDerivation rec {
name = "rustc-nightly-${version}";
@ -49,5 +51,33 @@ rec {
"$out/bin/rustc"
''}
'';
};
cargo = stdenv.mkDerivation rec {
name = "cargo-nightly-${version}";
inherit version;
inherit src;
meta = with stdenv.lib; {
homepage = http://www.rust-lang.org/;
description = "A safe, concurrent, practical language";
maintainers = with maintainers; [ qknight ];
license = [ licenses.mit licenses.asl20 ];
};
buildInputs = [ makeWrapper ];
phases = ["unpackPhase" "installPhase"];
installPhase = ''
./install.sh --prefix=$out \
--components=cargo
${optionalString needsPatchelf ''
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
"$out/bin/cargo"
''}
'';
};
}

View File

@ -0,0 +1,104 @@
{ stdenv, fetchurl, writeText, sbclBootstrap
, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
, threadSupport ? (stdenv.isi686 || stdenv.isx86_64)
# Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
# Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency.
, purgeNixReferences ? false
}:
stdenv.mkDerivation rec {
name = "sbcl-${version}";
version = "1.3.12";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
sha256 = "1hjr2xqazy4j0m58y4na6fz8ii3xflqairxy7vpd7ajbs00yqfc0";
};
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
echo "
(lambda (features)
(flet ((enable (x)
(pushnew x features))
(disable (x)
(setf features (remove x features))))
''
+ (if threadSupport then "(enable :sb-thread)" else "(disable :sb-thread)")
+ stdenv.lib.optionalString stdenv.isArm "(enable :arm)"
+ ''
)) " > customize-target-features.lisp
pwd
# SBCL checks whether files are up-to-date in many places..
# Unfortunately, same timestamp is not good enough
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
sed -i src/cold/slam.lisp -e \
'/file-write-date input/a)'
sed -i src/cold/slam.lisp -e \
'/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
sed -i src/code/target-load.lisp -e \
'/date defaulted-fasl/a)'
sed -i src/code/target-load.lisp -e \
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests
sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
# Use whatever `cc` the stdenv provides
substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
substituteInPlace src/runtime/Config.x86-64-darwin \
--replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
''
+ (if purgeNixReferences
then
# This is the default location to look for the core; by default in $out/lib/sbcl
''
sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-i src/runtime/runtime.c
''
else
# Fix software version retrieval
''
sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp
''
);
preBuild = ''
export INSTALL_ROOT=$out
mkdir -p test-home
export HOME=$PWD/test-home
'';
buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}"
'';
installPhase = ''
INSTALL_ROOT=$out sh install.sh
'';
# Specifying $SBCL_HOME is only truly needed with `purgeNixReferences = true`.
setupHook = writeText "setupHook.sh" ''
envHooks+=(_setSbclHome)
_setSbclHome() {
export SBCL_HOME='@out@/lib/sbcl/'
}
'';
meta = sbclBootstrap.meta // {
inherit version;
updateWalker = true;
};
}

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
name = "sbcl-${version}";
version = "1.3.12";
version = "1.3.13";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
sha256 = "1hjr2xqazy4j0m58y4na6fz8ii3xflqairxy7vpd7ajbs00yqfc0";
sha256 = "1k3nij1pchkard02p51mbbsn4rrj116v1apjjpd3f9h2m7j3asac";
};
patchPhase = ''

View File

@ -1095,7 +1095,7 @@ self: super: {
# https://github.com/NixOS/nixpkgs/issues/19612
wai-app-file-cgi = (dontCheck super.wai-app-file-cgi).overrideScope (self: super: {
http-client = self.http-client_0_5_3_2;
http-client = self.http-client_0_5_5;
http-client-tls = self.http-client-tls_0_3_3;
http-conduit = self.http-conduit_2_2_3;
});

View File

@ -1,102 +0,0 @@
{ pkgs }:
with import ./lib.nix { inherit pkgs; };
self: super: {
# Use the latest LLVM.
inherit (pkgs) llvmPackages;
# Disable GHC 7.11.x core libraries.
array = null;
base = null;
binary = null;
bin-package-db = null;
bytestring = null;
Cabal = null;
containers = null;
deepseq = null;
directory = null;
filepath = null;
ghc-prim = null;
haskeline = null;
hoopl = null;
hpc = null;
integer-gmp = null;
pretty = null;
process = null;
rts = null;
template-haskell = null;
terminfo = null;
time = null;
transformers = null;
unix = null;
xhtml = null;
# Don't use jailbreak built with Cabal 1.22.x because of https://github.com/peti/jailbreak-cabal/issues/9.
jailbreak-cabal = pkgs.haskell.packages.ghc784.jailbreak-cabal;
# GHC 7.10.x's Haddock binary cannot generate hoogle files.
# https://ghc.haskell.org/trac/ghc/ticket/9921
mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; doHaddock = false; });
# haddock: No input file(s).
nats = dontHaddock super.nats;
bytestring-builder = dontHaddock super.bytestring-builder;
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";
# Show works differently for record syntax now, breaking haskell-src-exts' parser tests
# https://github.com/haskell-suite/haskell-src-exts/issues/224
haskell-src-exts = dontCheck super.haskell-src-exts;
mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch {
url = "https://github.com/snoyberg/mono-traversable/pull/77.patch";
sha256 = "1qrvrh3cqfkymi5yb9y9z88rq4n7ag0ac2k00mcnqh4dz1vh4fg1";
});
yesod-auth = appendPatch super.yesod-auth (pkgs.fetchpatch {
url = "https://github.com/yesodweb/yesod/pull/1006.patch";
sha256 = "0l6wjj8cfz6jy6j92kywsccafyffhlm5240q82bzirb278adqvar";
stripLen = 1;
});
# Setup: At least the following dependencies are missing: base <4.8
hspec-expectations = overrideCabal super.hspec-expectations (drv: {
postPatch = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
});
utf8-string = overrideCabal super.utf8-string (drv: {
postPatch = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal";
});
# bos/attoparsec#92
attoparsec = dontCheck super.attoparsec;
# test suite hangs silently for at least 10 minutes
split = dontCheck super.split;
# Test suite fails with some (seemingly harmless) error.
# https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24
syb = dontCheck super.syb;
# Test suite has stricter version bounds
retry = dontCheck super.retry;
# Test suite fails with time >= 1.5
http-date = dontCheck super.http-date;
# Version 1.19.5 fails its test suite.
happy = dontCheck super.happy;
# Workaround for a workaround, see comment for "ghcjs" flag.
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
self.webkitgtk3-javascriptcore ];
# The compat library is empty in the presence of mtl 2.2.x.
mtl-compat = dontHaddock super.mtl-compat;
# Won't work with LLVM 3.5.
llvm-general = markBrokenVersion "3.4.5.3" super.llvm-general;
}

View File

@ -86,7 +86,7 @@ let
# We cannot enable -j<n> parallelism for libraries because GHC is far more
# likely to generate a non-determistic library ID in that case. Further
# details are at <https://github.com/peti/ghc-library-id-bug>.
enableParallelBuilding = versionOlder "7.8" ghc.version && !hasActiveLibrary;
enableParallelBuilding = (versionOlder "7.8" ghc.version && !hasActiveLibrary) || versionOlder "8.0.1" ghc.version;
crossCabalFlags = [
"--with-ghc=${ghc.cross.config}-ghc"
@ -114,7 +114,6 @@ let
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla"))
(optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
(optionalString (versionOlder "8.0.1" ghc.version) "--ghc-option=-j$NIX_BUILD_CORES")
] ++ optionals isGhcjs [
"--with-hsc2hs=${nativeGhc}/bin/hsc2hs"
"--ghcjs"
@ -245,41 +244,9 @@ stdenv.mkDerivation ({
runHook postConfigure
'';
# The darwin pre/post build sections are a workaround https://github.com/haskell/cabal/issues/4183
# It seems like --extra-lib-dirs from the previous steps is not detected properly,
# to work around this we build using a DYLD_LIBRARY_PATH and fixup the build afterwards.
buildPhase = ''
runHook preBuild
${optionalString stdenv.isDarwin ''
local inputClosure=""
for i in $propagatedNativeBuildInputs $nativeBuildInputs; do
findInputs $i inputClosure propagated-native-build-inputs
done
local -a inputLibs=()
for p in $inputClosure; do
if [ -d "$p/lib/${ghc.name}/package.conf.d" ]; then
continue
fi
if [ -d "$p/lib" ]; then
inputLibs+="$p/lib"
fi
done
for lib in $inputLibs; do
export DYLD_LIBRARY_PATH="$lib:''${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH}"
done
''}
${setupCommand} build ${buildTarget}${crossCabalFlagsString}
${optionalString stdenv.isDarwin ''
unset DYLD_LIBRARY_PATH
local outputLib=dist/build/*-ghc${ghc.version}.dylib
for lib in $inputLib/*.dylib; do
for name in $(otool -L $outputLib | awk '$1 ~ /^'$(basename lib)'/ {print $1}' | cat); do
install_name_tool -change $name $lib $outputLib
done
done
''}
runHook postBuild
'';

View File

@ -3,10 +3,10 @@ let
s = # Generated upstream information
rec {
baseName="angelscript";
version = "2.31.1";
version = "2.31.2";
name="${baseName}-${version}";
url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
sha256 = "00z0x2w1dnfd2h8xvmq3qy2n8gqxyi9gxwnsz0q420by8vnrljmh";
sha256 = "1cl1yg36ad4wq0vks4xg0hv7iyvq6yzsd4y1jng5qdf8qybq02qc";
};
buildInputs = [
unzip

View File

@ -0,0 +1,94 @@
{ stdenv, fetchurl, CF, configd, coreutils }:
with stdenv.lib;
let
mkPaths = paths: {
C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths;
LIBRARY_PATH = makeLibraryPath paths;
};
in
stdenv.mkDerivation rec {
name = "python-boot-${version}";
version = "2.7.12";
libPrefix = "python2.7";
src = fetchurl {
url = "https://www.python.org/ftp/python/2.7.12/Python-${version}.tar.xz";
sha256 = "0y7rl603vmwlxm6ilkhc51rx2mfj14ckcz40xxgs0ljnvlhp30yp";
};
inherit (mkPaths buildInputs) C_INCLUDE_PATH LIBRARY_PATH;
LDFLAGS = optionalString (!stdenv.isDarwin) "-lgcc_s";
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-msse2";
buildInputs = optionals stdenv.isDarwin [ CF configd ];
patches =
[ # Look in C_INCLUDE_PATH and LIBRARY_PATH for stuff.
./search-path.patch
# Python recompiles a Python if the mtime stored *in* the
# pyc/pyo file differs from the mtime of the source file. This
# doesn't work in Nix because Nix changes the mtime of files in
# the Nix store to 1. So treat that as a special case.
./nix-store-mtime.patch
# patch python to put zero timestamp into pyc
# if DETERMINISTIC_BUILD env var is set
./deterministic-build.patch
];
DETERMINISTIC_BUILD = 1;
preConfigure = ''
# Purity.
for i in /usr /sw /opt /pkg; do
substituteInPlace ./setup.py --replace $i /no-such-path
done
'' + optionalString (stdenv ? cc && stdenv.cc.libc != null) ''
for i in Lib/plat-*/regen; do
substituteInPlace $i --replace /usr/include/ ${stdenv.cc.libc}/include/
done
'' + optionalString stdenv.isDarwin ''
substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
substituteInPlace Lib/multiprocessing/__init__.py \
--replace 'os.popen(comm)' 'os.popen("${coreutils}/bin/nproc")'
'';
configureFlags = [ "--enable-shared" "--with-threads" "--enable-unicode=ucs4" ]
++ optionals stdenv.isCygwin [ "ac_cv_func_bind_textdomain_codeset=yes" ]
++ optionals stdenv.isDarwin [ "--disable-toolbox-glue" ];
postInstall =
''
ln -s $out/share/man/man1/{python2.7.1.gz,python.1.gz}
paxmark E $out/bin/python2.7
rm "$out"/lib/python*/plat-*/regen # refers to glibc.dev
'';
enableParallelBuilding = true;
meta = {
homepage = "http://python.org";
description = "A high-level dynamically-typed programming language";
longDescription = ''
Python is a remarkably powerful dynamic programming language that
is used in a wide variety of application domains. Some of its key
distinguishing features include: clear, readable syntax; strong
introspection capabilities; intuitive object orientation; natural
expression of procedural code; full modularity, supporting
hierarchical packages; exception-based error handling; and very
high level dynamic data types.
'';
license = stdenv.lib.licenses.psfl;
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ lnl7 chaoflow domenkozar ];
};
}

View File

@ -8,8 +8,8 @@
assert zlibSupport -> zlib != null;
let
majorVersion = "5.4";
minorVersion = "1";
majorVersion = "5.6";
minorVersion = "0";
minorVersionSuffix = "";
pythonVersion = "2.7";
version = "${majorVersion}.${minorVersion}${minorVersionSuffix}";
@ -23,7 +23,7 @@ let
src = fetchurl {
url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
sha256 = "1x8sa5x1nkrb8wrmicri94ji8kvyxihyryi8br5fk7gak0agcai0";
sha256 = "145a0kd5c0s1v2rpavw9ihncfb05s2x7chc70v8fssvyxq601911";
};
# http://bugs.python.org/issue27369

View File

@ -11,18 +11,18 @@ stdenv.mkDerivation rec {
sha256 = "0z8lwq53yk4h7pgibicx3q9idz15qb95r0pjpz0j5vql6qh46rja";
};
meta = with stdenv.lib; {
inherit (src.meta) homepage;
description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ chris-martin ];
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
propagatedBuildInputs = [ czmq ];
# https://github.com/zeromq/czmqpp/issues/42
patches = [ ./socket.patch ];
meta = with stdenv.lib; {
inherit (src.meta) homepage;
description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
license = licenses.lgpl3;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ chris-martin ];
};
}

View File

@ -0,0 +1,25 @@
{stdenv, fetchurl, cmake}:
let
version = "3.3.1";
in
stdenv.mkDerivation {
name = "eigen-${version}";
src = fetchurl {
url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
name = "eigen-${version}.tar.gz";
sha256 = "141axgv5kykq7125scisjvnfcdx7qcj8n8zlk7g09r7fhqgjr79w";
};
nativeBuildInputs = [ cmake ];
meta = with stdenv.lib; {
description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
license = licenses.lgpl3Plus;
homepage = http://eigen.tuxfamily.org ;
platforms = platforms.unix;
maintainers = with stdenv.lib.maintainers; [ sander urkud raskin ];
inherit version;
};
}

View File

@ -1,27 +0,0 @@
{ stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, http-parser, libiconv }:
stdenv.mkDerivation (rec {
version = "0.23.2";
name = "libgit2-${version}";
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/libgit2/libgit2/tarball/v${version}";
sha256 = "1d3901bmgvdnmzrx21afi1d0llsqmca3ckj942p0i2wpdpr1kbcp";
};
cmakeFlags = "-DTHREADSAFE=ON";
nativeBuildInputs = [ cmake python pkgconfig ];
buildInputs = [ zlib libssh2 openssl http-parser ];
meta = {
description = "the Git linkable library";
homepage = http://libgit2.github.com/;
license = stdenv.lib.licenses.gpl2;
platforms = with stdenv.lib.platforms; all;
};
} // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
NIX_LDFLAGS = "-liconv";
propagatedBuildInputs = [ libiconv ];
})

View File

@ -1,53 +1,73 @@
{ stdenv, lib, makeWrapper, buildEnv }:
drv:
{ targets, paths ? [] }:
packages:
let
packages_ = if builtins.isList packages then packages else [packages];
unwrapped = lib.concatMap (p: if builtins.isList p.unwrapped then p.unwrapped else [p.unwrapped]) packages_;
targets = lib.concatMap (p: p.targets) packages_;
paths = lib.concatMap (p: p.paths or []) packages_;
name =
if builtins.length unwrapped == 1
then (lib.head unwrapped).name
else "kde-application";
meta =
if builtins.length unwrapped == 1
then (lib.head unwrapped).meta
else {};
env = buildEnv {
inherit (drv) name meta;
paths = builtins.map lib.getBin ([drv] ++ paths);
inherit name meta;
paths = builtins.map lib.getBin (unwrapped ++ paths);
pathsToLink = [ "/bin" "/share" "/lib/qt5" "/etc/xdg" ];
};
in
stdenv.mkDerivation {
inherit (drv) name meta;
inherit name meta;
preferLocalBuild = true;
paths = builtins.map lib.getBin ([drv] ++ paths);
inherit drv env targets;
passthru = { unwrapped = drv; };
inherit unwrapped env targets;
passthru = {
inherit targets paths;
unwrapped = if builtins.length unwrapped == 1 then lib.head unwrapped else unwrapped;
};
nativeBuildInputs = [ makeWrapper ];
builder = builtins.toFile "builder.sh" ''
. $stdenv/setup
buildCommand = ''
for t in $targets; do
if [ -a "$drv/$t" ]; then
makeWrapper "$drv/$t" "$out/$t" \
--argv0 '"$0"' \
--suffix PATH : "$env/bin" \
--prefix XDG_CONFIG_DIRS : "$env/share" \
--prefix XDG_DATA_DIRS : "$env/etc/xdg" \
--set QML_IMPORT_PATH "$env/lib/qt5/imports" \
--set QML2_IMPORT_PATH "$env/lib/qt5/qml" \
--set QT_PLUGIN_PATH "$env/lib/qt5/plugins"
else
echo "no such file or directory: $drv/$t"
good=""
for drv in $unwrapped; do
if [ -a "$drv/$t" ]; then
makeWrapper "$drv/$t" "$out/$t" \
--argv0 '"$0"' \
--suffix PATH : "$env/bin" \
--prefix XDG_CONFIG_DIRS : "$env/share" \
--prefix XDG_DATA_DIRS : "$env/etc/xdg" \
--set QML_IMPORT_PATH "$env/lib/qt5/imports" \
--set QML2_IMPORT_PATH "$env/lib/qt5/qml" \
--set QT_PLUGIN_PATH "$env/lib/qt5/plugins"
good="1"
break
fi
done
if [ -z "$good" ]; then
echo "file or directory not found in derivations: $t"
exit 1
fi
done
if [ -a "$drv/share" ]; then
ln -s "$drv/share" "$out"
fi
ln -s "$env/share" "$out"
if [ -a "$drv/nix-support/propagated-user-env-packages" ]; then
mkdir -p "$out/nix-support"
ln -s "$drv/nix-support/propagated-user-env-packages" "$out/nix-support/"
fi
for drv in $unwrapped; do
if [ -a "$drv/nix-support/propagated-user-env-packages" ]; then
mkdir -p "$out/nix-support"
cat "$drv/nix-support/propagated-user-env-packages" >> "$out/nix-support/propagated-user-env-packages"
fi
done
'';
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchgit, autoreconfHook }:
stdenv.mkDerivation rec {
name = "libdivecomputer-${version}";
version = "ssrf-0.5.0";
src = fetchgit {
url = "git://subsurface-divelog.org/libdc";
rev = "534dd2f34b8271b2a1cac0e3151bfdc81da40e47";
branchName = "Subsurface-branch";
sha256 = "0iw9pczmwqlfjlgrik79b2pd4lmipxhjzj60ysk8qzl3axadjycp";
};
nativeBuildInputs = [ autoreconfHook ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://www.libdivecomputer.org;
description = "A cross-platform and open source library for communication with dive computers from various manufacturers";
maintainers = [ maintainers.mguentner ];
license = licenses.lgpl21;
platforms = platforms.all;
};
}

View File

@ -7,15 +7,10 @@ stdenv.mkDerivation rec {
owner = "gphoto";
repo = "libgphoto2";
rev = "${meta.tag}";
sha256 = "17k3jxib2jcr2wk83p34h3lvvjbs2gqhqfcngm8zmlrwb385yalh";
sha256 = "01nirw0xb8fjjv0jz88bmddv26bgg82w1wg65q51iblmy9z8azfh";
};
patches = [(fetchpatch {
name = "libjpeg_turbo_1.5.0_fix.patch";
url = "https://anonscm.debian.org/cgit/pkg-phototools/libgphoto2.git/plain"
+ "/debian/patches/libjpeg_turbo_1.5.0_fix.patch?id=8ce79a2a02d";
sha256 = "1zclgg20nv4krj8gigq3ylirxqiv1v8p59cfji041m156hy80gy2";
})];
patches = [];
nativeBuildInputs = [ pkgconfig gettext autoreconfHook ];
buildInputs = [ libtool libjpeg libusb1 ];
@ -38,8 +33,8 @@ stdenv.mkDerivation rec {
MTP, and other vendor specific protocols for controlling and transferring data
from digital cameras.
'';
version = "2.5.10";
tag = "libgphoto2-2_5_10-release";
version = "2.5.11";
tag = "libgphoto2-2_5_11-release";
# XXX: the homepage claims LGPL, but several src files are lgpl21Plus
license = stdenv.lib.licenses.lgpl21Plus;
platforms = with stdenv.lib.platforms; unix;

View File

@ -3,11 +3,11 @@ let
s = # Generated upstream information
rec {
baseName="libmwaw";
version="0.3.8";
version="0.3.9";
name="${baseName}-${version}";
hash="019vk8cj3lgbrpgj48zy25mpkgmllwxznkfd94hh9vbb1cjvpz3a";
url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.3.8/libmwaw-0.3.8.tar.xz";
sha256="019vk8cj3lgbrpgj48zy25mpkgmllwxznkfd94hh9vbb1cjvpz3a";
hash="185jnp7b7s550xpz3bhaii275qw5yd3j29zijkd2rr8h2p9s9z7p";
url="https://heanet.dl.sourceforge.net/project/libmwaw/libmwaw/libmwaw-0.3.9/libmwaw-0.3.9.tar.xz";
sha256="185jnp7b7s550xpz3bhaii275qw5yd3j29zijkd2rr8h2p9s9z7p";
};
buildInputs = [
boost pkgconfig cppunit zlib libwpg libwpd librevenge

View File

@ -3,10 +3,12 @@
assert zlib != null;
let
version = "1.6.26";
sha256 = "1ybkgcqqsd4iiiyv60pxjfi1csszb50bd2cxxsy3sv4q4sil6rr6";
version = "1.6.27";
patchVersion = "1.6.26";
# patchVersion = version;
sha256 = "0yxmajq2ri1smpz5spi0f055izbdkmmr7a5zp7d6qd9nfgczz8pw";
patch_src = fetchurl {
url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
url = "mirror://sourceforge/libpng-apng/libpng-${patchVersion}-apng.patch.gz";
sha256 = "0b6p2k4afvhk1svargpllcvhxb4g3p857wkqk85cks0yv42ckph1";
};
whenPatched = stdenv.lib.optionalString apngSupport;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub
{ stdenv, fetchFromGitHub, fixDarwinDylibNames
# Optional Arguments
, snappy ? null, google-gflags ? null, zlib ? null, bzip2 ? null, lz4 ? null
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
sha256 = "1bxyykj13mw48yk108bkmxlfrp6bd95f27bysayax4lqxkgx0zzw";
};
buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc ];
buildInputs = [ snappy google-gflags zlib bzip2 lz4 malloc fixDarwinDylibNames ];
postPatch = ''
# Hack to fix typos
@ -36,11 +36,16 @@ stdenv.mkDerivation rec {
JEMALLOC_LIB = stdenv.lib.optionalString (malloc == jemalloc) "-ljemalloc";
buildFlags = [
"DEBUG_LEVEL=0"
"shared_lib"
"static_lib"
];
installFlags = [
"INSTALL_PATH=\${out}"
"DEBUG_LEVEL=0"
"install-shared"
"install-static"
];
postInstall = ''

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake
, pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls
, gtk2, gtk3, wayland, libwebp, enchant, xlibs, libxkbcommon, epoxy, at_spi2_core
, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs
, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11_kit
, libidn
, enableGeoLocation ? true, geoclue2, sqlite
, gst-plugins-base
}:
@ -11,7 +12,7 @@ assert enableGeoLocation -> geoclue2 != null;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "webkitgtk-${version}";
version = "2.14.1";
version = "2.14.2";
meta = {
description = "Web content rendering engine, GTK+ port";
@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://webkitgtk.org/releases/${name}.tar.xz";
sha256 = "1dffnz20psgc604azhbzn9a6cdhafar9dw74w3bbwrfy531pcb9f";
sha256 = "0mjmcxhafh6l6j062z2nwfqbbvfyx16iqrzrbajswijh23awpnrf";
};
# see if we can clean this up....
@ -49,8 +50,8 @@ stdenv.mkDerivation rec {
];
buildInputs = [
gtk2 wayland libwebp enchant libnotify gnutls
libxml2 libsecret libxslt harfbuzz libpthreadstubs
gtk2 wayland libwebp enchant libnotify gnutls pcre nettle libidn
libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11_kit
gst-plugins-base libxkbcommon epoxy at_spi2_core
] ++ optional enableGeoLocation geoclue2
++ (with xlibs; [ libXdmcp libXt libXtst ]);

View File

@ -8,19 +8,19 @@ let
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
tarWrapper = runCommand "tarWrapper" {} ''
mkdir -p $out/bin
cat > $out/bin/tar <<EOF
#! ${stdenv.shell} -e
$(type -p tar) "\$@" --warning=no-unknown-keyword
EOF
chmod +x $out/bin/tar
'';
# Function that generates a TGZ file from a NPM project
buildNodeSourceDist =
{ name, version, src, ... }:
stdenv.mkDerivation {
name = "node-tarball-${name}-${version}";
inherit src;
@ -44,13 +44,13 @@ let
# Bundle the dependencies of the package
mkdir -p node_modules
cd node_modules
# Only include dependencies if they don't exist. They may also be bundled in the package.
if [ ! -e "${dependency.name}" ]
then
${composePackage dependency}
fi
cd ..
''
) dependencies);
@ -63,13 +63,13 @@ let
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 '*';
@ -79,9 +79,9 @@ let
else
return versionSpec;
}
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Replace dependencies */
if(packageObj.dependencies !== undefined) {
for(var dependency in packageObj.dependencies) {
@ -89,7 +89,7 @@ let
packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Replace development dependencies */
if(packageObj.devDependencies !== undefined) {
for(var dependency in packageObj.devDependencies) {
@ -97,7 +97,7 @@ let
packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Replace optional dependencies */
if(packageObj.optionalDependencies !== undefined) {
for(var dependency in packageObj.optionalDependencies) {
@ -105,7 +105,7 @@ let
packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
}
}
/* Write the fixed JSON file */
fs.writeFileSync("package.json", JSON.stringify(packageObj));
'';
@ -114,40 +114,47 @@ let
''
DIR=$(pwd)
cd $TMPDIR
unpackFile ${src}
# Make the base dir in which the target dependency resides first
mkdir -p "$(dirname "$DIR/${packageName}")"
if [ -f "${src}" ]
then
# Figure out what directory has been unpacked
packageDir=$(find . -type d -maxdepth 1 | tail -1)
packageDir="$(find . -maxdepth 1 -type d | tail -1)"
# Restore write permissions to make building work
find "$packageDir" -type d -print0 | xargs -0 chmod u+x
chmod -R u+w "$packageDir"
# Move the extracted tarball into the output folder
mv "$packageDir" "$DIR/${packageName}"
elif [ -d "${src}" ]
then
# Get a stripped name (without hash) of the source directory.
# On old nixpkgs it's already set internally.
if [ -z "$strippedName" ]
then
strippedName="$(stripHash ${src})"
fi
# Restore write permissions to make building work
chmod -R u+w $strippedName
chmod -R u+w "$strippedName"
# Move the extracted directory into the output folder
mv $strippedName "$DIR/${packageName}"
mv "$strippedName" "$DIR/${packageName}"
fi
# 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
${includeDependencies { inherit dependencies; }}
cd ..
@ -160,36 +167,36 @@ let
tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
mv node-* $out
'';
# Builds and composes an NPM package including all its dependencies
buildNodePackage = { name, packageName, version, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, preRebuild ? "", ... }@args:
stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
name = "node-${name}-${version}";
buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
inherit dontNpmInstall preRebuild;
unpackPhase = args.unpackPhase or "true";
buildPhase = args.buildPhase or "true";
compositionScript = composePackage args;
passAsFile = [ "compositionScript" ];
installPhase = args.installPhase or ''
# Create and enter a root node_modules/ folder
mkdir -p $out/lib/node_modules
cd $out/lib/node_modules
# Compose the package and all its dependencies
source $compositionScriptPath
# Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible
patchShebangs .
# Deploy the Node.js package by running npm install. Since the
# dependencies have been provided already by ourselves, it should not
# attempt to install them again, which is good, because we want to make
@ -199,23 +206,26 @@ let
#
# The other responsibilities of NPM are kept -- version checks, build
# steps, postprocessing etc.
export HOME=$TMPDIR
cd "${packageName}"
runHook preRebuild
npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
if [ "$dontNpmInstall" != "1" ]
then
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
fi
# Create symlink to the deployed executable folder, if applicable
if [ -d "$out/lib/node_modules/.bin" ]
then
ln -s $out/lib/node_modules/.bin $out/bin
fi
# Create symlinks to the deployed manual page folders, if applicable
if [ -d "$out/lib/node_modules/${packageName}/man" ]
then
@ -229,7 +239,7 @@ let
done
done
fi
# Run post install hook, if provided
runHook postInstall
'';
@ -240,17 +250,17 @@ let
let
nodeDependencies = stdenv.mkDerivation {
name = "node-dependencies-${name}-${version}";
buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
includeScript = includeDependencies { inherit dependencies; };
passAsFile = [ "includeScript" ];
buildCommand = ''
mkdir -p $out/lib
cd $out/lib
source $includeScriptPath
# Create fake package.json to make the npm commands work properly
cat > package.json <<EOF
{
@ -258,15 +268,18 @@ let
"version": "${version}"
}
EOF
# Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible
patchShebangs .
export HOME=$TMPDIR
export HOME=$PWD
npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
${stdenv.lib.optionalString (!dontNpmInstall) ''
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
''}
@ -276,7 +289,7 @@ let
in
stdenv.lib.makeOverridable stdenv.mkDerivation {
name = "node-shell-${name}-${version}";
buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
buildCommand = ''
mkdir -p $out/bin
@ -287,7 +300,7 @@ let
EOF
chmod +x $out/bin/shell
'';
# Provide the dependencies in a development shell through the NODE_PATH environment variable
inherit nodeDependencies;
shellHook = stdenv.lib.optionalString (dependencies != []) ''

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, pkgconfig
, bzip2, curl, expat, libarchive, xz, zlib, libuv
, useNcurses ? false, ncurses, useQt4 ? false, qt4
, wantPS ? false, ps ? null
# darwin attributes
, ps
, isBootstrap ? false
, useSharedLibraries ? !stdenv.isCygwin
, useNcurses ? false, ncurses
, useQt4 ? false, qt4
}:
with stdenv.lib;
assert wantPS -> (ps != null);
assert stdenv ? cc;
assert stdenv.cc ? libc;
let
os = stdenv.lib.optionalString;
majorVersion = "3.7";
@ -18,7 +18,7 @@ let
in
stdenv.mkDerivation rec {
name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
name = "cmake-${os isBootstrap "boot-"}${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
inherit majorVersion;
@ -28,6 +28,11 @@ stdenv.mkDerivation rec {
sha256 = "449a5bce64dbd4d5b9517ebd1a1248ed197add6ad27934478976fd5f1f9330e1";
};
prePatch = optionalString (!useSharedLibraries) ''
substituteInPlace Utilities/cmlibarchive/CMakeLists.txt \
--replace '"-framework CoreServices"' '""'
'';
# Don't search in non-Nix locations such as /usr, but do search in our libc.
patches = [ ./search-path-3.2.patch ]
++ optional stdenv.isCygwin ./3.2.2-cygwin.patch;
@ -38,39 +43,36 @@ stdenv.mkDerivation rec {
setupHook = ./setup-hook.sh;
buildInputs =
[ setupHook pkgconfig bzip2 curl expat libarchive xz zlib libuv ]
[ setupHook pkgconfig ]
++ optionals useSharedLibraries [ bzip2 curl expat libarchive xz zlib libuv ]
++ optional useNcurses ncurses
++ optional useQt4 qt4;
propagatedBuildInputs = optional wantPS ps;
propagatedBuildInputs = optional stdenv.isDarwin ps;
preConfigure = with stdenv; ''
fixCmakeFiles .
substituteInPlace Modules/Platform/UnixPaths.cmake \
--subst-var-by libc_bin ${getBin cc.libc} \
--subst-var-by libc_dev ${getDev cc.libc} \
--subst-var-by libc_lib ${getLib cc.libc}
substituteInPlace Modules/FindCxxTest.cmake \
--replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell}
configureFlags="--parallel=''${NIX_BUILD_CORES:-1} $configureFlags"
'';
configureFlags =
[ "--docdir=share/doc/${name}"
"--no-system-jsoncpp"
]
++ optional (!stdenv.isCygwin) "--system-libs"
preConfigure = ''
fixCmakeFiles .
substituteInPlace Modules/Platform/UnixPaths.cmake \
--subst-var-by libc_bin ${getBin stdenv.cc.libc} \
--subst-var-by libc_dev ${getDev stdenv.cc.libc} \
--subst-var-by libc_lib ${getLib stdenv.cc.libc}
substituteInPlace Modules/FindCxxTest.cmake \
--replace "$""{PYTHON_EXECUTABLE}" ${stdenv.shell}
configureFlags="--parallel=''${NIX_BUILD_CORES:-1} $configureFlags"
'';
configureFlags = [ "--docdir=share/doc/${name}" ]
++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup
++ optional useQt4 "--qt-gui"
++ ["--"]
++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF";
++ optionals (!useNcurses) [ "--" "-DBUILD_CursesDialog=OFF" ];
dontUseCmakeConfigure = true;
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://www.cmake.org/;
description = "Cross-Platform Makefile Generator";
platforms = if useQt4 then qt4.meta.platforms else platforms.all;
maintainers = with maintainers; [ urkud mornfall ttuegel ];
maintainers = with maintainers; [ urkud mornfall ttuegel lnl7 ];
};
}

View File

@ -52,12 +52,12 @@ rec {
};
gradle_latest = gradleGen rec {
name = "gradle-3.2.1";
nativeVersion = "0.11";
name = "gradle-3.3";
nativeVersion = "0.12";
src = fetchurl {
url = "http://services.gradle.org/distributions/${name}-bin.zip";
sha256 = "1286wqycc7xnrkn6n37r5g19ajv6igqhavdh9pjxqmry9mjs6hwq";
sha256 = "14m2m5f5s2cpp6w0x3lkq6lyx5cd7jp0hldnrab0dkyqg31511n5";
};
};

View File

@ -2,13 +2,13 @@
let
name = "scons";
version = "2.5.0";
version = "2.5.1";
in python2Packages.buildPythonApplication {
name = "${name}-${version}";
src = fetchurl {
url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
sha256 = "1sdcj8iapfzmlq7098yas40qwl6khsiwydbxv33sw81wy93nnagb";
sha256 = "1wji1z9jdkhnmm99apx6fhld9cs52rr56aigniyrcsmlwy52298b";
};
# No tests
doCheck = false;

View File

@ -3,11 +3,11 @@ let
s = # Generated upstream information
rec {
baseName="luarocks";
version="2.4.0";
version="2.4.2";
name="${baseName}-${version}";
hash="1hwpjj4nvy8m7hfmhf52vbhmlh7r3wfjjcc589yj8dnh528iqf24";
url="http://luarocks.org/releases/luarocks-2.4.0.tar.gz";
sha256="1hwpjj4nvy8m7hfmhf52vbhmlh7r3wfjjcc589yj8dnh528iqf24";
hash="1rfjfjgnafjxs1zrd1gy0ga5lw28sf5lrdmgzgh6bcp1hd2w67hf";
url="http://luarocks.org/releases/luarocks-2.4.2.tar.gz";
sha256="1rfjfjgnafjxs1zrd1gy0ga5lw28sf5lrdmgzgh6bcp1hd2w67hf";
};
buildInputs = [
lua curl makeWrapper which unzip

View File

@ -3,11 +3,11 @@ let
s = # Generated upstream information
rec {
baseName="slimerjs";
version="0.10.1";
version="0.10.2";
name="${baseName}-${version}";
hash="14xfhn9v3mn4m7hfa36750vp7qgmnc5yfrdkjymzm8g9fz39ddx2";
url="http://download.slimerjs.org/releases/0.10.1/slimerjs-0.10.1.zip";
sha256="14xfhn9v3mn4m7hfa36750vp7qgmnc5yfrdkjymzm8g9fz39ddx2";
hash="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
url="http://download.slimerjs.org/releases/0.10.2/slimerjs-0.10.2.zip";
sha256="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
};
buildInputs = [
unzip zip

View File

@ -0,0 +1,22 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "vultr-${version}";
version = "1.12.0";
goPackagePath = "github.com/JamesClonk/vultr";
src = fetchFromGitHub {
owner = "JamesClonk";
repo = "vultr";
rev = "${version}";
sha256 = "0fzwzp0vhf3cgl9ij5zpdyn29w9rwwxghr50jjfbagpkfpy4g686";
};
meta = {
description = "A command line tool for Vultr services, a provider for cloud virtual private servers";
homepage = "https://github.com/JamesClonk/vultr";
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.zauberpony ];
};
}

View File

@ -1,6 +1,6 @@
{stdenv, gtk3, pkgconfig, libX11, perl, fetchurl, automake115x, autoconf}:
let
version = "20160429.b31155b";
version = "20161228.7cae89f";
buildInputs = [
gtk3 pkgconfig libX11 perl automake115x autoconf
];
@ -8,7 +8,7 @@ in
stdenv.mkDerivation {
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
sha256 = "0y807srhf6571ijdwpa493qzsx161f0a1pmh2qi44f6ixfcrkgzi";
sha256 = "0kqy3gdgfjgaqbjl95pnljz44v91i79qphwdp91k0n5alswxwn76";
};
name = "sgt-puzzles-r" + version;
inherit buildInputs;

View File

@ -6,9 +6,9 @@ let fetchurl = args@{url, sha256, ...}:
in rec {
stable = fetchurl rec {
version = "1.8.4";
version = "1.8.6";
url = "https://dl.winehq.org/wine/source/1.8/wine-${version}.tar.bz2";
sha256 = "0yahh1n3s3y0bp1a1sr3zpna56749jdgr85hwmpq393pjx1i0pai";
sha256 = "1lq6770pkv3342ss2ih18s2hw6i1srbcfg3mljwalqrvxfb7hydi";
## see http://wiki.winehq.org/Gecko
gecko32 = fetchurl rec {
@ -30,9 +30,9 @@ in rec {
};
unstable = fetchurl rec {
version = "2.0-rc2";
version = "2.0-rc3";
url = "https://dl.winehq.org/wine/source/2.0/wine-${version}.tar.bz2";
sha256 = "0pjkrvslfksx7m2w52pnd3dfxb82l082cz9dr57x58s9al2jpwb6";
sha256 = "0sq8li7p30h2a5bbpv27vxpzihr8h890qm78nq21fnh0zflg8x8y";
inherit (stable) mono;
gecko32 = fetchurl rec {
version = "2.47";
@ -48,15 +48,15 @@ in rec {
staging = fetchFromGitHub rec {
inherit (unstable) version;
sha256 = "1xx9bfirij12l278f5f7vpxxay1zacnrsaib6yfzrybm517ynfw3";
sha256 = "1nk8s54nrlws0d8wpyj1vv2z0l2jansn990xw73v15wzwc3j9p6l";
owner = "wine-compholio";
repo = "wine-staging";
rev = "v${version}";
};
winetricks = fetchFromGitHub rec {
version = "20160724";
sha256 = "0nl8gnmsqwwrc8773q8py64kv3r5836xjxsnxjv91n4hhmvgyrzs";
version = "20170101";
sha256 = "0c2aam68x3nlvc6f4r6rnfw6y3a86644zb0qirwkmh3p04mpdl39";
owner = "Winetricks";
repo = "winetricks";
rev = version;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, autoconf, automake, libtool_2
, llvm, libcxx, libcxxabi, clang, openssl, libuuid
, llvm, libcxx, libcxxabi, clang, libuuid
, libobjc ? null
}:
@ -15,7 +15,7 @@ let
sha256 = "0bzyabzr5dvbxglr74d0kbrk2ij5x7s5qcamqi1v546q1had1wz1";
};
buildInputs = [ autoconf automake libtool_2 openssl libuuid ] ++
buildInputs = [ autoconf automake libtool_2 libuuid ] ++
# Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang)
stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++
stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ];

Some files were not shown because too many files have changed in this diff Show More