Merge branch 'staging'

Darwin isn't in a perfect state, in particular its bootstrap tools won't
build which will block nixpkgs channel. But on the whole it seems
acceptable.
This commit is contained in:
Vladimír Čunát 2016-05-13 10:14:53 +02:00
commit 3e387c3e00
500 changed files with 5469 additions and 5737 deletions

View File

@ -438,23 +438,21 @@ rec {
overrideExisting = old: new: overrideExisting = old: new:
old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old)); old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old));
/* Try given attributes in order. If no attributes are found, return /* Get a package output.
attribute list itself. If no output is found, fallback to `.out` and then to the default.
Example: Example:
tryAttrs ["a" "b"] { a = 1; b = 2; } getOutput "dev" pkgs.openssl
=> 1 => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev"
tryAttrs ["a" "b"] { c = 3; }
=> { c = 3; }
*/ */
tryAttrs = allAttrs: set: getOutput = output: pkg:
let tryAttrs_ = attrs: if pkg.outputUnspecified or false
if attrs == [] then set then pkg.${output} or pkg.out or pkg
else else pkg;
(let h = head attrs; in
if hasAttr h set then getAttr h set getBin = getOutput "bin";
else tryAttrs_ (tail attrs)); getLib = getOutput "lib";
in tryAttrs_ allAttrs; getDev = getOutput "dev";
/*** deprecated stuff ***/ /*** deprecated stuff ***/

View File

@ -88,15 +88,14 @@ rec {
makeSearchPath = subDir: packages: makeSearchPath = subDir: packages:
concatStringsSep ":" (map (path: path + "/" + subDir) packages); concatStringsSep ":" (map (path: path + "/" + subDir) packages);
/* Construct a Unix-style search path, given trying outputs in order. /* Construct a Unix-style search path, using given package output.
If no output is found, fallback to `.out` and then to the default. If no output is found, fallback to `.out` and then to the default.
Example: Example:
makeSearchPathOutputs "bin" ["bin"] [ pkgs.openssl pkgs.zlib ] makeSearchPathOutput "dev" "bin" [ pkgs.openssl pkgs.zlib ]
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-bin/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin" => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin"
*/ */
makeSearchPathOutputs = subDir: outputs: pkgs: makeSearchPathOutput = output: subDir: pkgs: makeSearchPath subDir (map (lib.getOutput output) pkgs);
makeSearchPath subDir (map (pkg: if pkg.outputUnspecified or false then lib.tryAttrs (outputs ++ ["out"]) pkg else pkg) pkgs);
/* Construct a library search path (such as RPATH) containing the /* Construct a library search path (such as RPATH) containing the
libraries for a set of packages libraries for a set of packages
@ -108,9 +107,7 @@ rec {
makeLibraryPath [ pkgs.openssl pkgs.zlib ] makeLibraryPath [ pkgs.openssl pkgs.zlib ]
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r/lib:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/lib" => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r/lib:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/lib"
*/ */
makeLibraryPath = pkgs: makeSearchPath "lib" makeLibraryPath = makeSearchPathOutput "lib" "lib";
# try to guess the right output of each pkg
(map (pkg: if pkg.outputUnspecified or false then pkg.lib or (pkg.out or pkg) else pkg) pkgs);
/* Construct a binary search path (such as $PATH) containing the /* Construct a binary search path (such as $PATH) containing the
binaries for a set of packages. binaries for a set of packages.
@ -119,8 +116,7 @@ rec {
makeBinPath ["/root" "/usr" "/usr/local"] makeBinPath ["/root" "/usr" "/usr/local"]
=> "/root/bin:/usr/bin:/usr/local/bin" => "/root/bin:/usr/bin:/usr/local/bin"
*/ */
makeBinPath = pkgs: makeSearchPath "bin" makeBinPath = makeSearchPathOutput "bin" "bin";
(map (pkg: if pkg.outputUnspecified or false then pkg.bin or (pkg.out or pkg) else pkg) pkgs);
/* Construct a perl search path (such as $PERL5LIB) /* Construct a perl search path (such as $PERL5LIB)
@ -132,8 +128,7 @@ rec {
makePerlPath [ pkgs.perlPackages.NetSMTP ] makePerlPath [ pkgs.perlPackages.NetSMTP ]
=> "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl" => "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl"
*/ */
makePerlPath = pkgs: makeSearchPath "lib/perl5/site_perl" makePerlPath = makeSearchPathOutput "lib" "lib/perl5/site_perl";
(map (pkg: if pkg.outputUnspecified or false then pkg.lib or (pkg.out or pkg) else pkg) pkgs);
/* Dependening on the boolean `cond', return either the given string /* Dependening on the boolean `cond', return either the given string
or the empty string. Useful to contatenate against a bigger string. or the empty string. Useful to contatenate against a bigger string.

View File

@ -98,9 +98,9 @@ in {
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pulseaudioLight.out; default = pulseaudioLight;
defaultText = "pkgs.pulseaudioLight.out"; defaultText = "pkgs.pulseaudioLight";
example = literalExample "pkgs.pulseaudioFull.out"; example = literalExample "pkgs.pulseaudioFull";
description = '' description = ''
The PulseAudio derivation to use. This can be used to enable The PulseAudio derivation to use. This can be used to enable
features (such as JACK support, Bluetooth) via the features (such as JACK support, Bluetooth) via the
@ -130,7 +130,7 @@ in {
source = clientConf; source = clientConf;
}; };
hardware.pulseaudio.configFile = mkDefault "${cfg.package.out}/etc/pulse/default.pa"; hardware.pulseaudio.configFile = mkDefault "${getBin cfg.package}/etc/pulse/default.pa";
} }
(mkIf cfg.enable { (mkIf cfg.enable {
@ -158,7 +158,7 @@ in {
wantedBy = [ "default.target" ]; wantedBy = [ "default.target" ];
serviceConfig = { serviceConfig = {
Type = "notify"; Type = "notify";
ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no"; ExecStart = "${getBin cfg.package}/bin/pulseaudio --daemonize=no";
Restart = "on-failure"; Restart = "on-failure";
}; };
}; };
@ -195,7 +195,7 @@ in {
environment.PULSE_RUNTIME_PATH = stateDir; environment.PULSE_RUNTIME_PATH = stateDir;
serviceConfig = { serviceConfig = {
Type = "notify"; Type = "notify";
ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}"; ExecStart = "${getBin cfg.package}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}";
Restart = "on-failure"; Restart = "on-failure";
}; };
}; };

View File

@ -103,6 +103,8 @@ in
environment.pathsToLink = environment.pathsToLink =
[ "/bin" [ "/bin"
"/etc/xdg" "/etc/xdg"
"/etc/gtk-2.0"
"/etc/gtk-3.0"
"/info" "/info"
"/lib" # FIXME: remove and update debug-info.nix "/lib" # FIXME: remove and update debug-info.nix
"/sbin" "/sbin"

View File

@ -1,10 +1,32 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
with lib; with lib;
let
cfg = config.i18n.inputMethod;
gtk2_cache = pkgs.stdenv.mkDerivation {
preferLocalBuild = true;
allowSubstitutes = false;
name = "gtk2-immodule.cache";
buildInputs = [ pkgs.gtk cfg.package ];
buildCommand = ''
mkdir -p $out/etc/gtk-2.0/
GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache
'';
};
gtk3_cache = pkgs.stdenv.mkDerivation {
preferLocalBuild = true;
allowSubstitutes = false;
name = "gtk3-immodule.cache";
buildInputs = [ pkgs.gtk3 cfg.package ];
buildCommand = ''
mkdir -p $out/etc/gtk-3.0/
GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache
'';
};
in
{ {
options = { options.i18n = {
i18n.inputMethod = { inputMethod = {
enabled = mkOption { enabled = mkOption {
type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]); type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]);
default = null; default = null;
@ -24,6 +46,20 @@ with lib;
</itemizedlist> </itemizedlist>
''; '';
}; };
package = mkOption {
internal = true;
type = types.path;
default = null;
description = ''
The input method method package.
'';
}; };
}; };
};
config = mkIf (cfg.enabled != null) {
environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ];
};
} }

View File

@ -32,7 +32,7 @@ in
}; };
config = mkIf (config.i18n.inputMethod.enabled == "fcitx") { config = mkIf (config.i18n.inputMethod.enabled == "fcitx") {
environment.systemPackages = [ fcitxPackage ]; i18n.inputMethod.package = fcitxPackage;
environment.variables = { environment.variables = {
GTK_IM_MODULE = "fcitx"; GTK_IM_MODULE = "fcitx";

View File

@ -41,9 +41,11 @@ in
}; };
config = mkIf (config.i18n.inputMethod.enabled == "ibus") { config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
i18n.inputMethod.package = ibusPackage;
# Without dconf enabled it is impossible to use IBus # Without dconf enabled it is impossible to use IBus
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
ibusPackage ibus-qt gnome3.dconf ibusAutostart ibus-qt gnome3.dconf ibusAutostart
]; ];
environment.variables = { environment.variables = {

View File

@ -3,7 +3,7 @@
with lib; with lib;
{ {
config = mkIf (config.i18n.inputMethod.enabled == "nabi") { config = mkIf (config.i18n.inputMethod.enabled == "nabi") {
environment.systemPackages = [ pkgs.nabi ]; i18n.inputMethod.package = pkgs.nabi;
environment.variables = { environment.variables = {
GTK_IM_MODULE = "nabi"; GTK_IM_MODULE = "nabi";

View File

@ -22,7 +22,7 @@ in
}; };
config = mkIf (config.i18n.inputMethod.enabled == "uim") { config = mkIf (config.i18n.inputMethod.enabled == "uim") {
environment.systemPackages = [ pkgs.uim ]; i18n.inputMethod.package = pkgs.uim;
environment.variables = { environment.variables = {
GTK_IM_MODULE = "uim"; GTK_IM_MODULE = "uim";

View File

@ -9,7 +9,7 @@ let
serviceConfig = { serviceConfig = {
Type = "dbus"; Type = "dbus";
BusName = "org.bluez"; BusName = "org.bluez";
ExecStart = "${bluez-bluetooth}/sbin/bluetoothd -n"; ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
}; };
wantedBy = [ "bluetooth.target" ]; wantedBy = [ "bluetooth.target" ];
}; };
@ -19,7 +19,7 @@ let
serviceConfig = { serviceConfig = {
Type = "dbus"; Type = "dbus";
BusName = "org.bluez"; BusName = "org.bluez";
ExecStart = "${bluez-bluetooth}/sbin/bluetoothd -n"; ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
NotifyAccess="main"; NotifyAccess="main";
CapabilityBoundingSet="CAP_NET_ADMIN CAP_NET_BIND_SERVICE"; CapabilityBoundingSet="CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
LimitNPROC=1; LimitNPROC=1;
@ -32,7 +32,7 @@ let
serviceConfig = { serviceConfig = {
Type = "dbus"; Type = "dbus";
BusName = "org.bluez.obex"; BusName = "org.bluez.obex";
ExecStart = "${bluez-bluetooth}/sbin/obexd"; ExecStart = "${getBin bluez-bluetooth}/bin/obexd";
}; };
}; };

View File

@ -102,7 +102,7 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
path = [ pluginsEnv ]; path = [ pluginsEnv ];
environment.PYTHONPATH = makeSearchPathOutputs pkgs.python.sitePackages ["lib"] [ pluginsEnv ]; environment.PYTHONPATH = makeSearchPathOutput "lib" pkgs.python.sitePackages [ pluginsEnv ];
preStart = '' preStart = ''
mkdir -p "${cfg.stateDir}" mkdir -p "${cfg.stateDir}"

View File

@ -114,10 +114,12 @@ in {
# Ugly hack for using the correct gnome3 packageSet # Ugly hack for using the correct gnome3 packageSet
basePackages = mkOption { basePackages = mkOption {
type = types.attrsOf types.package; type = types.attrsOf types.package;
default = { inherit networkmanager modemmanager wpa_supplicant default = { inherit modemmanager wpa_supplicant
networkmanager_openvpn networkmanager_vpnc networkmanager_openvpn networkmanager_vpnc
networkmanager_openconnect networkmanager_openconnect
networkmanager_pptp networkmanager_l2tp; }; networkmanager_pptp networkmanager_l2tp;
networkmanager = networkmanager.out;
};
internal = true; internal = true;
}; };
@ -187,7 +189,7 @@ in {
boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections. boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections.
environment.etc = with cfg.basePackages; [ environment.etc = with mapAttrs (name: getBin) cfg.basePackages; [
{ source = ipUpScript; { source = ipUpScript;
target = "NetworkManager/dispatcher.d/01nixos-ip-up"; target = "NetworkManager/dispatcher.d/01nixos-ip-up";
} }

View File

@ -0,0 +1,5 @@
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
@extra@
</busconfig>

View File

@ -0,0 +1,6 @@
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<servicehelper>@servicehelper@</servicehelper>
@extra@
</busconfig>

View File

@ -10,6 +10,16 @@ let
homeDir = "/var/run/dbus"; homeDir = "/var/run/dbus";
systemExtraxml = concatStrings (flip concatMap cfg.packages (d: [
"<servicedir>${d}/share/dbus-1/system-services</servicedir>"
"<includedir>${d}/etc/dbus-1/system.d</includedir>"
]));
sessionExtraxml = concatStrings (flip concatMap cfg.packages (d: [
"<servicedir>${d}/share/dbus-1/services</servicedir>"
"<includedir>${d}/etc/dbus-1/session.d</includedir>"
]));
configDir = pkgs.stdenv.mkDerivation { configDir = pkgs.stdenv.mkDerivation {
name = "dbus-conf"; name = "dbus-conf";
@ -19,47 +29,17 @@ let
buildCommand = '' buildCommand = ''
mkdir -p $out mkdir -p $out
cp -v ${pkgs.dbus.daemon}/etc/dbus-1/system.conf $out/system.conf sed '${./dbus-system-local.conf.in}' \
-e 's,@servicehelper@,${config.security.wrapperDir}/dbus-daemon-launch-helper,g' \
-e 's,@extra@,${systemExtraxml},' \
> "$out/system-local.conf"
# !!! Hm, these `sed' calls are rather error-prone... sed '${./dbus-session-local.conf.in}' \
-e 's,@extra@,${sessionExtraxml},' \
# Tell the daemon where the setuid wrapper around > "$out/session-local.conf"
# dbus-daemon-launch-helper lives. '';
sed -i $out/system.conf \
-e 's|<servicehelper>.*/libexec/dbus-daemon-launch-helper|<servicehelper>${config.security.wrapperDir}/dbus-daemon-launch-helper|'
# Add the system-services and system.d directories to the system
# bus search path.
sed -i $out/system.conf \
-e 's|<standard_system_servicedirs/>|${systemServiceDirs}|' \
-e 's|<includedir>system.d</includedir>|${systemIncludeDirs}|'
cp ${pkgs.dbus.daemon}/etc/dbus-1/session.conf $out/session.conf
# Add the services and session.d directories to the session bus
# search path.
sed -i $out/session.conf \
-e 's|<standard_session_servicedirs />|${sessionServiceDirs}&|' \
-e 's|<includedir>session.d</includedir>|${sessionIncludeDirs}|'
''; # */
}; };
systemServiceDirs = concatMapStrings
(d: "<servicedir>${d}/share/dbus-1/system-services</servicedir> ")
cfg.packages;
systemIncludeDirs = concatMapStrings
(d: "<includedir>${d}/etc/dbus-1/system.d</includedir> ")
cfg.packages;
sessionServiceDirs = concatMapStrings
(d: "<servicedir>${d}/share/dbus-1/services</servicedir> ")
cfg.packages;
sessionIncludeDirs = concatMapStrings
(d: "<includedir>${d}/etc/dbus-1/session.d</includedir> ")
cfg.packages;
in in
{ {
@ -72,7 +52,7 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = false;
internal = true; internal = true;
description = '' description = ''
Whether to start the D-Bus message bus daemon, which is Whether to start the D-Bus message bus daemon, which is
@ -82,7 +62,7 @@ in
packages = mkOption { packages = mkOption {
type = types.listOf types.path; type = types.listOf types.path;
default = []; default = [ ];
description = '' description = ''
Packages whose D-Bus configuration files should be included in Packages whose D-Bus configuration files should be included in
the configuration of the D-Bus system-wide message bus. the configuration of the D-Bus system-wide message bus.
@ -129,8 +109,8 @@ in
permissions = "u+rx,g+rx,o-rx"; permissions = "u+rx,g+rx,o-rx";
}; };
services.dbus.packages = services.dbus.packages = [
[ "/nix/var/nix/profiles/default" pkgs.dbus
config.system.path config.system.path
]; ];

View File

@ -96,7 +96,7 @@ in
globalEnvVars = singleton globalEnvVars = singleton
{ name = "PYTHONPATH"; { name = "PYTHONPATH";
value = value =
makeSearchPathOutputs "lib/${pkgs.python.libPrefix}/site-packages" ["lib"] makeSearchPathOutput "lib" "lib/${pkgs.python.libPrefix}/site-packages"
[ pkgs.mod_python [ pkgs.mod_python
pkgs.pythonPackages.trac pkgs.pythonPackages.trac
pkgs.setuptools pkgs.setuptools

View File

@ -7,7 +7,7 @@ let
e = pkgs.enlightenment; e = pkgs.enlightenment;
xcfg = config.services.xserver; xcfg = config.services.xserver;
cfg = xcfg.desktopManager.enlightenment; cfg = xcfg.desktopManager.enlightenment;
GST_PLUGIN_PATH = lib.makeSearchPathOutputs "lib/gstreamer-1.0" ["lib"] [ GST_PLUGIN_PATH = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
pkgs.gst_all_1.gst-plugins-base pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good pkgs.gst_all_1.gst-plugins-good
pkgs.gst_all_1.gst-plugins-bad pkgs.gst_all_1.gst-plugins-bad

View File

@ -29,7 +29,7 @@ let
phononBackends = { phononBackends = {
gstreamer = [ gstreamer = [
pkgs.phonon_backend_gstreamer pkgs.phonon-backend-gstreamer
pkgs.gst_all.gstPluginsBase pkgs.gst_all.gstPluginsBase
pkgs.gst_all.gstPluginsGood pkgs.gst_all.gstPluginsGood
pkgs.gst_all.gstPluginsUgly pkgs.gst_all.gstPluginsUgly
@ -38,7 +38,7 @@ let
pkgs.gst_all.gstreamer # needed? pkgs.gst_all.gstreamer # needed?
]; ];
vlc = [pkgs.phonon_backend_vlc]; vlc = [pkgs.phonon-backend-vlc];
}; };
phononBackendPackages = flip concatMap cfg.phononBackends phononBackendPackages = flip concatMap cfg.phononBackends
@ -111,7 +111,7 @@ in
# Load PulseAudio module for routing support. # Load PulseAudio module for routing support.
# See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/ # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
${optionalString config.hardware.pulseaudio.enable '' ${optionalString config.hardware.pulseaudio.enable ''
${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
''} ''}
# Start KDE. # Start KDE.

View File

@ -22,26 +22,6 @@ in
description = "Enable the Plasma 5 (KDE 5) desktop environment."; description = "Enable the Plasma 5 (KDE 5) desktop environment.";
}; };
phonon = {
gstreamer = {
enable = mkOption {
type = types.bool;
default = true;
description = "Enable the GStreamer Phonon backend (recommended).";
};
};
vlc = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the VLC Phonon backend.";
};
};
};
}; };
}; };
@ -59,7 +39,7 @@ in
# Load PulseAudio module for routing support. # Load PulseAudio module for routing support.
# See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/ # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
${optionalString config.hardware.pulseaudio.enable '' ${optionalString config.hardware.pulseaudio.enable ''
${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
''} ''}
exec "${kde5.startkde}" exec "${kde5.startkde}"
@ -122,6 +102,9 @@ in
pkgs.hicolor_icon_theme pkgs.hicolor_icon_theme
kde5.kde-gtk-config kde5.kde-gtk-config
pkgs.phonon-backend-gstreamer
pkgs.kde5.phonon-backend-gstreamer
] ]
# Plasma 5.5 and later has a Breeze GTK theme. # Plasma 5.5 and later has a Breeze GTK theme.
@ -131,37 +114,16 @@ in
# Install Breeze icons if available # Install Breeze icons if available
++ lib.optional (lib.hasAttr "breeze-icons" kde5) kde5.breeze-icons ++ lib.optional (lib.hasAttr "breeze-icons" kde5) kde5.breeze-icons
# Install activity manager if available
++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd
# Optional hardware support features # Optional hardware support features
++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil ++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil
++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm ++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm
++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa ++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa
++ lib.optional config.powerManagement.enable kde5.powerdevil ++ lib.optional config.powerManagement.enable kde5.powerdevil
++ lib.optional config.services.colord.enable kde5.colord-kde ++ lib.optional config.services.colord.enable kde5.colord-kde
++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ] ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ];
++ lib.optionals cfg.phonon.gstreamer.enable
[
pkgs.phonon_backend_gstreamer
pkgs.gst_all.gstreamer
pkgs.gst_all.gstPluginsBase
pkgs.gst_all.gstPluginsGood
pkgs.gst_all.gstPluginsUgly
pkgs.gst_all.gstPluginsBad
pkgs.gst_all.gstFfmpeg # for mp3 playback
pkgs.qt55.phonon-backend-gstreamer
pkgs.gst_all_1.gstreamer
pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good
pkgs.gst_all_1.gst-plugins-ugly
pkgs.gst_all_1.gst-plugins-bad
pkgs.gst_all_1.gst-libav # for mp3 playback
]
++ lib.optionals cfg.phonon.vlc.enable
[
pkgs.phonon_qt5_backend_vlc
pkgs.qt55.phonon-backend-vlc
];
environment.pathsToLink = [ "/share" ]; environment.pathsToLink = [ "/share" ];
@ -170,17 +132,23 @@ in
target = "X11/xkb"; target = "X11/xkb";
}; };
environment.profileRelativeEnvVars =
mkIf cfg.phonon.gstreamer.enable
{
GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
GST_PLUGIN_SYSTEM_PATH_1_0 = [ "/lib/gstreamer-1.0" ];
};
# Enable GTK applications to load SVG icons # Enable GTK applications to load SVG icons
environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) { environment.variables =
GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; {
}; 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) ]; fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];

View File

@ -12,8 +12,7 @@ let
''; '';
}); });
path = map # outputs TODO? path = map getBin
(pkg: (pkg.bin or (pkg.out or pkg)))
[ pkgs.coreutils pkgs.gnugrep pkgs.findutils [ pkgs.coreutils pkgs.gnugrep pkgs.findutils
pkgs.glibc # needed for getent pkgs.glibc # needed for getent
pkgs.shadow pkgs.shadow

View File

@ -58,7 +58,7 @@ let
path = (makeBinPath ([ path = (makeBinPath ([
pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfs-progs pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfs-progs
pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else []) pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else [])
)) + ":" + (makeSearchPathOutputs "sbin" ["bin"] [ )) + ":" + (makeSearchPathOutput "bin" "sbin" [
pkgs.mdadm pkgs.utillinux pkgs.mdadm pkgs.utillinux
]); ]);
}); });

View File

@ -193,7 +193,7 @@ in rec {
path = mkOption { path = mkOption {
default = []; default = [];
apply = ps: "${makeBinPath ps}:${makeSearchPathOutputs "sbin" ["bin"] ps}"; apply = ps: "${makeBinPath ps}:${makeSearchPathOutput "bin" "sbin" ps}";
description = '' description = ''
Packages added to the service's <envar>PATH</envar> Packages added to the service's <envar>PATH</envar>
environment variable. Both the <filename>bin</filename> environment variable. Both the <filename>bin</filename>

View File

@ -689,6 +689,8 @@ in
"systemd/system-generators" = { source = generators; }; "systemd/system-generators" = { source = generators; };
}); });
services.dbus.enable = true;
system.activationScripts.systemd = stringAfter [ "groups" ] system.activationScripts.systemd = stringAfter [ "groups" ]
'' ''
mkdir -m 0755 -p /var/lib/udev mkdir -m 0755 -p /var/lib/udev

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
miniupnpc utillinux protobuf ] miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qrencode ]; ++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ]; ++ optionals withGui [ "--with-gui=qt4" ];
meta = { meta = {

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec{
++ optionals withGui [ qt4 qrencode ]; ++ optionals withGui [ qt4 qrencode ];
configureFlags = [ configureFlags = [
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
"--with-libcurl-headers=${curl.dev}/include" "--with-libcurl-headers=${curl.dev}/include"
] ++ optionals withGui [ "--with-gui=qt4" ]; ] ++ optionals withGui [ "--with-gui=qt4" ];

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec{
++ optionals stdenv.isLinux [ utillinux ] ++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ]; ++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ]; ++ optionals withGui [ "--with-gui=qt4" ];
meta = { meta = {

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig autoreconfHook glib openssl db48 yasm buildInputs = [ pkgconfig autoreconfHook glib openssl db48 yasm
boost zlib miniupnpc protobuf qt4 qrencode utillinux ]; boost zlib miniupnpc protobuf qt4 qrencode utillinux ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]; configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
version = "0.12.0.55"; version = "0.12.0.55";

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
''; '';
configureFlags = [ "--with-incompatible-bdb" configureFlags = [ "--with-incompatible-bdb"
"--with-boost-libdir=${boost.lib}/lib" ] "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui" ]; ++ optionals withGui [ "--with-gui" ];
meta = { meta = {

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
openssl db48 boost zlib miniupnpc glib protobuf utillinux ] openssl db48 boost zlib miniupnpc glib protobuf utillinux ]
++ optionals withGui [ qt4 qrencode ]; ++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ]; ++ optionals withGui [ "--with-gui=qt4" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec{
miniupnpc utillinux protobuf ] miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qmake4Hook qrencode ]; ++ optionals withGui [ qt4 qmake4Hook qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ]; ++ optionals withGui [ "--with-gui=qt4" ];
preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile"; preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec{
miniupnpc utillinux protobuf ] miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qmake4Hook qrencode ]; ++ optionals withGui [ qt4 qmake4Hook qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ]; ++ optionals withGui [ "--with-gui=qt4" ];
preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile"; preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
# Prebuilt binary distribution. # Prebuilt binary distribution.
# "patchelf --set-rpath" seems to break the application (cannot start), using # "patchelf --set-rpath" seems to break the application (cannot start), using
# LD_LIBRARY_PATH wrapper script instead. # LD_LIBRARY_PATH wrapper script instead.
buildPhase = "true"; dontBuild = true;
installPhase = '' installPhase = ''
mkdir -p "$out/bin" mkdir -p "$out/bin"
mkdir -p "$out/libexec/baudline" mkdir -p "$out/libexec/baudline"

View File

@ -25,7 +25,6 @@ let
}; };
faust = stdenv.mkDerivation { faust = stdenv.mkDerivation {
name = "faust-${version}"; name = "faust-${version}";
inherit src; inherit src;
@ -107,9 +106,7 @@ let
inherit src; inherit src;
configurePhase = ":"; dontBuild = true;
buildPhase = ":";
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View File

@ -132,9 +132,7 @@ let
inherit src; inherit src;
configurePhase = ":"; dontBuild = true;
buildPhase = ":";
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View File

@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu maintainers.marcweber ]; maintainers = [ maintainers.goibhniu maintainers.marcweber ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest { stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest
, liblastfm, lucenepp, phonon, phonon_backend_vlc, qca2, qjson, qt4 , liblastfm, lucenepp, phonon, phonon-backend-vlc, qca2, qjson, qt4
, qtkeychain, quazip, sparsehash, taglib, websocketpp, makeWrapper , qtkeychain, quazip, sparsehash, taglib, websocketpp, makeWrapper
, enableXMPP ? true, libjreen ? null , enableXMPP ? true, libjreen ? null
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
postInstall = let postInstall = let
pluginPath = stdenv.lib.concatStringsSep ":" [ pluginPath = stdenv.lib.concatStringsSep ":" [
"${phonon_backend_vlc}/lib/kde4/plugins" "${phonon-backend-vlc}/lib/kde4/plugins"
]; ];
in '' in ''
for i in "$out"/bin/*; do for i in "$out"/bin/*; do

View File

@ -13,7 +13,7 @@ let
]; ];
libPathNative = lib.makeLibraryPath packages; libPathNative = lib.makeLibraryPath packages;
libPath64 = lib.makeSearchPathOutputs "lib64" ["lib"] packages; libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
libPath = "${libPathNative}:${libPath64}"; libPath = "${libPathNative}:${libPath64}";
in { inherit packages libPath; } in { inherit packages libPath; }

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkgconfig, libtool { lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg
, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp
}: }:
@ -9,11 +9,28 @@ let
else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64" else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
else if stdenv.system == "armv7l-linux" then "armv7l" else if stdenv.system == "armv7l-linux" then "armv7l"
else throw "ImageMagick is not supported on this platform."; else throw "ImageMagick is not supported on this platform.";
cfg = {
version = "6.9.3-9";
sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf";
patches = [];
}
# Freeze version on mingw so we don't need to port the patch too often.
// lib.optionalAttrs (stdenv.cross.libc or null == "msvcrt") {
version = "6.9.2-0";
sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7";
patches = [(fetchpatch {
name = "mingw-build.patch";
url = "https://raw.githubusercontent.com/Alexpux/MINGW-packages/"
+ "01ca03b2a4ef/mingw-w64-imagemagick/002-build-fixes.patch";
sha256 = "1pypszlcx2sf7wfi4p37w1y58ck2r8cd5b2wrrwr9rh87p7fy1c0";
})];
};
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "imagemagick-${version}"; name = "imagemagick-${version}";
version = "6.9.3-9"; inherit (cfg) version;
src = fetchurl { src = fetchurl {
urls = [ urls = [
@ -21,10 +38,10 @@ stdenv.mkDerivation rec {
# the original source above removes tarballs quickly # the original source above removes tarballs quickly
"http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz" "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz"
]; ];
sha256 = "0q19jgn1iv7zqrw8ibxp4z57iihrc9kyb09k2wnspcacs6vrvinf"; inherit (cfg) sha256;
}; };
patches = [ ./imagetragick.patch ]; patches = [ ./imagetragick.patch ] ++ cfg.patches;
outputs = [ "out" "doc" ]; outputs = [ "out" "doc" ];
@ -37,15 +54,26 @@ stdenv.mkDerivation rec {
++ lib.optionals (ghostscript != null) ++ lib.optionals (ghostscript != null)
[ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
"--with-gslib" "--with-gslib"
]; ]
++ lib.optionals (stdenv.cross.libc or null == "msvcrt")
[ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
;
nativeBuildInputs = [ pkgconfig libtool ];
buildInputs = buildInputs =
[ pkgconfig libtool zlib fontconfig freetype ghostscript libjpeg [ zlib fontconfig freetype ghostscript
openexr libpng librsvg libtiff libxml2 openjpeg libwebp libpng libtiff libxml2
]; ]
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
[ openexr librsvg openjpeg ]
;
propagatedBuildInputs = propagatedBuildInputs =
[ bzip2 freetype libjpeg libX11 libXext libXt lcms2 libwebp ]; [ bzip2 freetype libjpeg lcms2 ]
++ lib.optionals (stdenv.cross.libc or null != "msvcrt")
[ libX11 libXext libXt libwebp ]
;
postInstall = '' postInstall = ''

View File

@ -48,5 +48,6 @@ in
homepage = "https://github.com/mkeeter/antimony"; homepage = "https://github.com/mkeeter/antimony";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -19,7 +19,7 @@
# Supplementary packages required only by the wrapper. # Supplementary packages required only by the wrapper.
, bash, kde_runtime, kde_baseapps, makeWrapper, oxygen_icons , bash, kde_runtime, kde_baseapps, makeWrapper, oxygen_icons
, phonon_backend_vlc /*phonon_backend_gstreamer,*/ , phonon-backend-vlc /*phonon-backend-gstreamer,*/
, ffmpegthumbs /*mplayerthumbs*/ , ffmpegthumbs /*mplayerthumbs*/
, runCommand, shared_mime_info, writeScriptBin , runCommand, shared_mime_info, writeScriptBin
}: }:
@ -93,7 +93,7 @@ let
kdePkgs = [ kdePkgs = [
build # digikam's own build build # digikam's own build
kdelibs kdepimlibs kde_runtime kde_baseapps libkdcraw oxygen_icons kdelibs kdepimlibs kde_runtime kde_baseapps libkdcraw oxygen_icons
/*phonon_backend_gstreamer*/ phonon_backend_vlc /*phonon-backend-gstreamer*/ phonon-backend-vlc
ffmpegthumbs /*mplayerthumbs*/ shared_mime_info ] ffmpegthumbs /*mplayerthumbs*/ shared_mime_info ]
# Optional build time dependencies # Optional build time dependencies
++ [ ++ [
@ -208,7 +208,7 @@ TODO
- Per lib `KDELIBS` environment variable export. See above in-code TODO comment. - Per lib `KDELIBS` environment variable export. See above in-code TODO comment.
- Missing optional `qt_soap` or `herqq` (av + normal package) dependencies. Those are not - Missing optional `qt_soap` or `herqq` (av + normal package) dependencies. Those are not
yet (or not fully) packaged in nix. Mainly required for upnp export. yet (or not fully) packaged in nix. Mainly required for upnp export.
- Possibility to use the `phonon_backend_gstreamer` with its own user specified set of backend. - Possibility to use the `phonon-backend-gstreamer` with its own user specified set of backend.
- Allow user to disable optional features or dependencies reacting properly. - Allow user to disable optional features or dependencies reacting properly.
- Compile `kipiplugins` as a separate package (so that it can be used by other kde packages - Compile `kipiplugins` as a separate package (so that it can be used by other kde packages
and so that this package's build time is reduced). and so that this package's build time is reduced).

View File

@ -1,12 +1,6 @@
{ stdenv, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb }: { stdenv, fetchurl, callPackage, patchelf, makeWrapper, coreutils, libusb }:
/*
*/
let let
myPatchElf = file: with stdenv.lib; '' myPatchElf = file: with stdenv.lib; ''
patchelf --set-interpreter \ patchelf --set-interpreter \
${stdenv.glibc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \ ${stdenv.glibc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \
@ -15,10 +9,7 @@ let
udevRules = callPackage ./udev_rules_type1.nix {}; udevRules = callPackage ./udev_rules_type1.nix {};
in in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
name = "brscan4-0.4.3-3"; name = "brscan4-0.4.3-3";
src = fetchurl { src = fetchurl {
url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb"; url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
@ -32,8 +23,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper patchelf coreutils udevRules ]; nativeBuildInputs = [ makeWrapper patchelf coreutils udevRules ];
buildInputs = [ libusb ]; buildInputs = [ libusb ];
buildPhase = ":"; dontBuild = true;
patchPhase = '' patchPhase = ''
${myPatchElf "opt/brother/scanner/brscan4/brsaneconfig4"} ${myPatchElf "opt/brother/scanner/brscan4/brsaneconfig4"}
@ -47,7 +37,6 @@ stdenv.mkDerivation rec {
''; '';
installPhase = '' installPhase = ''
PATH_TO_BRSCAN4="opt/brother/scanner/brscan4" PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
mkdir -p $out/$PATH_TO_BRSCAN4 mkdir -p $out/$PATH_TO_BRSCAN4
cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4 cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4

View File

@ -1,8 +1,6 @@
{ stdenv, fetchurl, libsaneUDevRuleNumber ? "49"}: { stdenv, fetchurl, libsaneUDevRuleNumber ? "49"}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "brother-udev-rule-type1-1.0.0-1"; name = "brother-udev-rule-type1-1.0.0-1";
src = fetchurl { src = fetchurl {
@ -10,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0i0x5jw135pli4jl9mgnr5n2rrdvml57nw84yq2999r4frza53xi"; sha256 = "0i0x5jw135pli4jl9mgnr5n2rrdvml57nw84yq2999r4frza53xi";
}; };
buildInputs = [ ]; dontBuild = true;
unpackPhase = '' unpackPhase = ''
ar x $src ar x $src
@ -37,9 +35,6 @@ stdenv.mkDerivation rec {
sed -i -e s/SYSFS/ATTR/g opt/brother/scanner/udev-rules/type1/*.rules sed -i -e s/SYSFS/ATTR/g opt/brother/scanner/udev-rules/type1/*.rules
''; '';
buildPhase = ":";
installPhase = '' installPhase = ''
mkdir -p $out/etc/udev/rules.d mkdir -p $out/etc/udev/rules.d
cp opt/brother/scanner/udev-rules/type1/NN-brother-mfp-type1.rules \ cp opt/brother/scanner/udev-rules/type1/NN-brother-mfp-type1.rules \

View File

@ -35,7 +35,7 @@ let
configureFlags = [ configureFlags = [
"--with-boost=${boost.dev}" "--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
]; ];
buildInputs = [ buildInputs = [

View File

@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
# hack around a build problem # hack around a build problem
preBuild = '' preBuild = ''
mkdir -p ../tmp.*/lib mkdir -p ../tmp.*/lib
ln -s '${qtbase.out}/lib/libQt5PlatformSupport.a' ../tmp.*/lib/
''; '';
nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ]; nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ];

View File

@ -16,7 +16,7 @@ gconftool-2 --recursive-unset /apps/guake
with lib; with lib;
let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_common ]; let inputs = [ dbus gtk2 gconf python2 libutempter vte keybinder gnome3.gnome_common ];
pyPath = makeSearchPathOutputs python2.sitePackages ["lib"] (attrVals [ "dbus" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]); pyPath = makeSearchPathOutput "lib" python2.sitePackages (attrVals [ "dbus" "notify" "pyGtkGlade" "pyxdg" ] python2Packages ++ [ gnome2.gnome_python ]);
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "guake-${version}"; name = "guake-${version}";
version = "0.8.3"; version = "0.8.3";

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
unpackPhase = "true"; unpackPhase = "true";
buildPhase = "true"; dontBuild = true;
installPhase = '' installPhase = ''
mkdir -p "$out/bin" mkdir -p "$out/bin"

View File

@ -3,7 +3,6 @@
, fetchurl , fetchurl
, extra-cmake-modules , extra-cmake-modules
, makeQtWrapper , makeQtWrapper
, qtquick1
, kcmutils , kcmutils
, kconfigwidgets , kconfigwidgets
, kdbusaddons , kdbusaddons
@ -29,7 +28,6 @@ stdenv.mkDerivation rec {
kconfigwidgets kconfigwidgets
kdbusaddons kdbusaddons
qca-qt5 qca-qt5
qtquick1
ki18n ki18n
kiconthemes kiconthemes
knotifications knotifications

View File

@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
"-I${dbus_libs.lib}/lib/dbus-1.0/include" ]; "-I${dbus_libs.lib}/lib/dbus-1.0/include" ];
# Fix up python path so the lockfile library is on it. # Fix up python path so the lockfile library is on it.
PYTHONPATH = stdenv.lib.makeSearchPathOutputs pythonFull.sitePackages ["lib"] [ PYTHONPATH = stdenv.lib.makeSearchPathOutput "lib" pythonFull.sitePackages [
pythonPackages.curses pythonPackages.lockfile pythonPackages.curses pythonPackages.lockfile
]; ];

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "09x7vl0kddivqq3pyrk6sg1f0sv5l7nj0bmblq222zk3b09bgg8p"; sha256 = "09x7vl0kddivqq3pyrk6sg1f0sv5l7nj0bmblq222zk3b09bgg8p";
}; };
buildPhase = "true"; dontBuild = true;
installPhase = '' installPhase = ''
mkdir -p $out/Applications mkdir -p $out/Applications

View File

@ -65,7 +65,7 @@ let
patchPhase = let patchPhase = let
rpaths = [ stdenv.cc.cc ]; rpaths = [ stdenv.cc.cc ];
mkrpath = p: "${makeSearchPathOutputs "lib64" ["lib"] p}:${makeLibraryPath p}"; mkrpath = p: "${makeSearchPathOutput "lib" "lib64" p}:${makeLibraryPath p}";
in '' in ''
for sofile in PepperFlash/libpepflashplayer.so \ for sofile in PepperFlash/libpepflashplayer.so \
libwidevinecdm.so libwidevinecdmadapter.so; do libwidevinecdm.so libwidevinecdmadapter.so; do

View File

@ -108,7 +108,7 @@ stdenv.mkDerivation {
libheimdal libheimdal
libpulseaudio libpulseaudio
systemd systemd
] + ":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] [ ] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [
stdenv.cc.cc stdenv.cc.cc
]; ];

View File

@ -129,7 +129,7 @@ stdenv.mkDerivation {
# Let each plugin tell us (through its `mozillaPlugin') attribute # Let each plugin tell us (through its `mozillaPlugin') attribute
# where to find the plugin in its tree. # where to find the plugin in its tree.
plugins = map (x: x + x.mozillaPlugin) plugins; plugins = map (x: x + x.mozillaPlugin) plugins;
libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutputs "lib64" ["lib"] libs; libs = lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
gtk_modules = map (x: x + x.gtkModule) gtk_modules; gtk_modules = map (x: x + x.gtkModule) gtk_modules;
passthru = { unwrapped = browser; }; passthru = { unwrapped = browser; };

View File

@ -65,7 +65,7 @@ in stdenv.mkDerivation rec {
tar xf data.tar.xz tar xf data.tar.xz
''; '';
rpath = makeLibraryPath deps + ":" + makeSearchPathOutputs "lib64" ["lib"] deps; rpath = makeLibraryPath deps + ":" + makeSearchPathOutput "lib" "lib64" deps;
binpath = makeBinPath deps; binpath = makeBinPath deps;
installPhase = '' installPhase = ''

View File

@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
libPath = stdenv.lib.makeLibraryPath buildInputs libPath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.system == "x86_64-linux") + stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs); (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
preFixup = preFixup =
'' ''

View File

@ -46,7 +46,7 @@ in stdenv.mkDerivation rec {
libPath = stdenv.lib.makeLibraryPath buildInputs libPath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.is64bit) + stdenv.lib.optionalString (stdenv.is64bit)
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs); (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
buildPhase = '' buildPhase = ''
echo "Patching Vivaldi binaries" echo "Patching Vivaldi binaries"

View File

@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"--with-ldap-dir=${openldap}" "--with-ldap-dir=${openldap}"
"--with-libsasl2-dir=${cyrus_sasl}" "--with-libsasl2-dir=${cyrus_sasl}"
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
"--disable-gconf" "--disable-gconf"
]; ];

View File

@ -1,12 +1,11 @@
{ monolithic ? true # build monolithic Quassel { monolithic ? true # build monolithic Quassel
, daemon ? false # build Quassel daemon , daemon ? false # build Quassel daemon
, client ? false # build Quassel client , client ? false # build Quassel client
, previews ? false # enable webpage previews on hovering over URLs
, tag ? "" # tag added to the package name , tag ? "" # tag added to the package name
, static ? false # link statically , static ? false # link statically
, stdenv, fetchurl, cmake, makeWrapper, dconf , stdenv, fetchurl, cmake, makeWrapper, dconf
, qtbase, qtscript, qtwebkit , qtbase, qtscript
, phonon, libdbusmenu, qca-qt5 , phonon, libdbusmenu, qca-qt5
, withKDE ? stdenv.isLinux # enable KDE integration , withKDE ? stdenv.isLinux # enable KDE integration
@ -42,11 +41,13 @@ in with stdenv; mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
# Prevent ``undefined reference to `qt_version_tag''' in SSL check
NIX_CFLAGS_COMPILE = [ "-DQT_NO_VERSION_TAGGING=1" ];
buildInputs = buildInputs =
[ cmake makeWrapper qtbase ] [ cmake makeWrapper qtbase ]
++ lib.optionals buildCore [qtscript qca-qt5] ++ lib.optionals buildCore [qtscript qca-qt5]
++ lib.optionals buildClient [libdbusmenu phonon] ++ lib.optionals buildClient [libdbusmenu phonon]
++ lib.optionals (buildClient && previews) [qtwebkit]
++ lib.optionals (buildClient && withKDE) [ ++ lib.optionals (buildClient && withKDE) [
extra-cmake-modules kconfigwidgets kcoreaddons extra-cmake-modules kconfigwidgets kcoreaddons
knotifications knotifyconfig ktextwidgets kwidgetsaddons knotifications knotifyconfig ktextwidgets kwidgetsaddons
@ -61,8 +62,7 @@ in with stdenv; mkDerivation rec {
++ edf monolithic "WANT_MONO" ++ edf monolithic "WANT_MONO"
++ edf daemon "WANT_CORE" ++ edf daemon "WANT_CORE"
++ edf client "WANT_QTCLIENT" ++ edf client "WANT_QTCLIENT"
++ edf withKDE "WITH_KDE" ++ edf withKDE "WITH_KDE";
++ edf previews "WITH_WEBKIT";
preFixup = preFixup =
lib.optionalString buildClient '' lib.optionalString buildClient ''

View File

@ -105,7 +105,7 @@ stdenv.mkDerivation {
nspr nspr
nss nss
pango pango
] + ":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] [ ] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [
stdenv.cc.cc stdenv.cc.cc
]; ];

View File

@ -31,5 +31,6 @@ stdenv.mkDerivation {
license = licenses.gpl3; license = licenses.gpl3;
maintainers = [ maintainers.ehmry ]; maintainers = [ maintainers.ehmry ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
''; '';
configureFlags = [ configureFlags = [
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
"--with-boost=${boost.dev}" "--with-boost=${boost.dev}"
(if guiSupport then "" else "--disable-gui") (if guiSupport then "" else "--disable-gui")
(if webuiSupport then "" else "--disable-webui") (if webuiSupport then "" else "--disable-webui")

View File

@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
"--disable-deprecated-functions" "--disable-deprecated-functions"
"--enable-tests" "--enable-tests"
"--enable-python-binding" "--enable-python-binding"
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
]; ];
buildInputs = [ buildInputs = [

View File

@ -172,7 +172,7 @@ in stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"${if withHelp then "" else "--without-help"}" "${if withHelp then "" else "--without-help"}"
"--with-boost=${boost.dev}" "--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
"--with-beanshell-jar=${bsh}" "--with-beanshell-jar=${bsh}"
"--with-vendor=NixOS" "--with-vendor=NixOS"
"--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar" "--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"

View File

@ -172,7 +172,7 @@ in stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"${if withHelp then "" else "--without-help"}" "${if withHelp then "" else "--without-help"}"
"--with-boost=${boost.dev}" "--with-boost=${boost.dev}"
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
"--with-beanshell-jar=${bsh}" "--with-beanshell-jar=${bsh}"
"--with-vendor=NixOS" "--with-vendor=NixOS"
"--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar" "--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"

View File

@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
ldpath = stdenv.lib.makeLibraryPath buildInputs ldpath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.system == "x86_64-linux") + stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs); (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
phases = "unpackPhase installPhase fixupPhase"; phases = "unpackPhase installPhase fixupPhase";

View File

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
ldpath = stdenv.lib.makeLibraryPath buildInputs ldpath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.system == "x86_64-linux") + stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
(":" + stdenv.lib.makeSearchPathOutputs "lib64" ["lib"] buildInputs); (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs);
phases = "unpackPhase installPhase fixupPhase"; phases = "unpackPhase installPhase fixupPhase";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, bison { stdenv, fetchurl, lib, bison
, qt4, xapian, file, python, perl , qt4, xapian, file, python, perl
, djvulibre, groff, libxslt, unzip, poppler_utils, antiword, catdoc, lyx , djvulibre, groff, libxslt, unzip, poppler_utils, antiword, catdoc, lyx
, libwpd, unrtf, untex , libwpd, unrtf, untex
@ -26,27 +26,27 @@ stdenv.mkDerivation rec {
# the absolute path to the filtering command. # the absolute path to the filtering command.
postInstall = '' postInstall = ''
for f in $out/share/recoll/filters/* ; do for f in $out/share/recoll/filters/* ; do
substituteInPlace $f --replace antiword ${antiword}/bin/antiword substituteInPlace $f --replace antiword ${lib.getBin antiword}/bin/antiword
substituteInPlace $f --replace awk ${gawk}/bin/awk substituteInPlace $f --replace awk ${lib.getBin gawk}/bin/awk
substituteInPlace $f --replace catppt ${catdoc}/bin/catppt substituteInPlace $f --replace catppt ${lib.getBin catdoc}/bin/catppt
substituteInPlace $f --replace djvused ${djvulibre.bin}/bin/djvused substituteInPlace $f --replace djvused ${lib.getBin djvulibre}/bin/djvused
substituteInPlace $f --replace djvutxt ${djvulibre.bin}/bin/djvutxt substituteInPlace $f --replace djvutxt ${lib.getBin djvulibre}/bin/djvutxt
substituteInPlace $f --replace egrep ${gnugrep}/bin/egrep substituteInPlace $f --replace egrep ${lib.getBin gnugrep}/bin/egrep
substituteInPlace $f --replace groff ${groff}/bin/groff substituteInPlace $f --replace groff ${lib.getBin groff}/bin/groff
substituteInPlace $f --replace gunzip ${gzip}/bin/gunzip substituteInPlace $f --replace gunzip ${lib.getBin gzip}/bin/gunzip
substituteInPlace $f --replace iconv ${libiconv.bin or libiconv}/bin/iconv substituteInPlace $f --replace iconv ${lib.getBin libiconv}/bin/iconv
substituteInPlace $f --replace lyx ${lyx}/bin/lyx substituteInPlace $f --replace lyx ${lib.getBin lyx}/bin/lyx
substituteInPlace $f --replace pdftotext ${poppler_utils.out}/bin/pdftotext substituteInPlace $f --replace pdftotext ${lib.getBin poppler_utils}/bin/pdftotext
substituteInPlace $f --replace pstotext ${ghostscript}/bin/ps2ascii substituteInPlace $f --replace pstotext ${lib.getBin ghostscript}/bin/ps2ascii
substituteInPlace $f --replace sed ${gnused}/bin/sed substituteInPlace $f --replace sed ${lib.getBin gnused}/bin/sed
substituteInPlace $f --replace tar ${gnutar}/bin/tar substituteInPlace $f --replace tar ${lib.getBin gnutar}/bin/tar
substituteInPlace $f --replace unzip ${unzip}/bin/unzip substituteInPlace $f --replace unzip ${lib.getBin unzip}/bin/unzip
substituteInPlace $f --replace xls2csv ${catdoc}/bin/xls2csv substituteInPlace $f --replace xls2csv ${lib.getBin catdoc}/bin/xls2csv
substituteInPlace $f --replace xsltproc ${libxslt.bin}/bin/xsltproc substituteInPlace $f --replace xsltproc ${lib.getBin libxslt}/bin/xsltproc
substituteInPlace $f --replace unrtf ${unrtf}/bin/unrtf substituteInPlace $f --replace unrtf ${lib.getBin unrtf}/bin/unrtf
substituteInPlace $f --replace untex ${untex}/bin/untex substituteInPlace $f --replace untex ${lib.getBin untex}/bin/untex
substituteInPlace $f --replace wpd2html ${libwpd}/bin/wpd2html substituteInPlace $f --replace wpd2html ${lib.getBin libwpd}/bin/wpd2html
substituteInPlace $f --replace /usr/bin/perl ${perl}/bin/perl substituteInPlace $f --replace /usr/bin/perl ${lib.getBin perl}/bin/perl
done done
''; '';

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
buildInputs = [python makeWrapper]; buildInputs = [python makeWrapper];
buildPhase = "true"; dontBuild = true;
installPhase = '' installPhase = ''
python ./setup.py install --prefix=$out python ./setup.py install --prefix=$out
for i in bzr svn git; do for i in bzr svn git; do

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation {
buildInputs = [mercurial.python mercurial makeWrapper subversion]; buildInputs = [mercurial.python mercurial makeWrapper subversion];
buildPhase="true"; # skip svn for now dontBuild = true; # skip svn for now
# TODO also support svn stuff # TODO also support svn stuff
# moving .py files into lib directory so that you can't pick the wrong file from PATH. # moving .py files into lib directory so that you can't pick the wrong file from PATH.

View File

@ -13,10 +13,9 @@ stdenv.mkDerivation {
buildInputs = [ ruby makeWrapper ]; buildInputs = [ ruby makeWrapper ];
buildPhase = "true"; dontBuild = true;
installPhase = installPhase = ''
''
mkdir -p $out mkdir -p $out
cp -r lib $out/ cp -r lib $out/

View File

@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ git nettools perl ]; buildInputs = [ git nettools perl ];
buildPhase = "true";
dontBuild = true;
patchPhase = '' patchPhase = ''
substituteInPlace ./install --replace " 2>/dev/null" "" substituteInPlace ./install --replace " 2>/dev/null" ""

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
boost glm boost glm
]; ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]; configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
NIX_CFLAGS_COMPILE = "-fpermissive " + # fix build with newer gcc versions NIX_CFLAGS_COMPILE = "-fpermissive " + # fix build with newer gcc versions
"-std=c++11"; # fix build with glm >= 0.9.6.0 "-std=c++11"; # fix build with glm >= 0.9.6.0

View File

@ -51,7 +51,7 @@ mkDerivation rec {
[ out git bazaar cvs darcs fossil mercurial [ out git bazaar cvs darcs fossil mercurial
monotone rcs src subversion cvs_fast_export ] monotone rcs src subversion cvs_fast_export ]
); );
pythonpath = makeSearchPathOutputs python27.sitePackages ["lib"] ( pythonpath = makeSearchPathOutput "lib" python27.sitePackages (
filter (x: x != null) filter (x: x != null)
[ python27Packages.readline or null python27Packages.hglib or null ] [ python27Packages.readline or null python27Packages.hglib or null ]
); );

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
buildInputs = with stdenv.lib; buildInputs = with stdenv.lib;
[ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa [ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa
libass fftw ffms ffmpeg zlib icu boost boost.lib libiconv libass fftw ffms ffmpeg zlib icu boost boost.out libiconv
] ]
++ optional spellcheckSupport hunspell ++ optional spellcheckSupport hunspell
++ optional automationSupport lua ++ optional automationSupport lua

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, makeWrapper, phonon, phonon_backend_vlc, qt4, qmake4Hook { stdenv, fetchFromGitHub, makeWrapper, phonon, phonon-backend-vlc, qt4, qmake4Hook
# "Free" API key generated by nckx <tobias.geerinckx.rice@gmail.com> # "Free" API key generated by nckx <tobias.geerinckx.rice@gmail.com>
, withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }: , withAPIKey ? "AIzaSyBtFgbln3bu1swQC-naMxMtKh384D3xJZE" }:
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
owner = "flaviotordini"; owner = "flaviotordini";
}; };
buildInputs = [ phonon phonon_backend_vlc qt4 ]; buildInputs = [ phonon phonon-backend-vlc qt4 ];
nativeBuildInputs = [ makeWrapper qmake4Hook ]; nativeBuildInputs = [ makeWrapper qmake4Hook ];
qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ]; qmakeFlags = [ "DEFINES+=APP_GOOGLE_API_KEY=${withAPIKey}" ];
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
wrapProgram $out/bin/minitube \ wrapProgram $out/bin/minitube \
--prefix QT_PLUGIN_PATH : "${phonon_backend_vlc}/lib/kde4/plugins" --prefix QT_PLUGIN_PATH : "${phonon-backend-vlc}/lib/kde4/plugins"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
configureFlags = [ configureFlags = [
"--enable-magic" "--enable-magic"
"--enable-optimization" "--enable-optimization"
"--with-boost-libdir=${boost.lib}/lib" "--with-boost-libdir=${boost.out}/lib"
"--disable-debug" "--disable-debug"
"--disable-profiling" "--disable-profiling"
"--disable-precompiled-headers" "--disable-precompiled-headers"

View File

@ -27,13 +27,13 @@ let
ccVersion = (builtins.parseDrvName cc.name).version; ccVersion = (builtins.parseDrvName cc.name).version;
ccName = (builtins.parseDrvName cc.name).name; ccName = (builtins.parseDrvName cc.name).name;
libc_bin = if nativeLibc then null else libc.bin or libc; libc_bin = if nativeLibc then null else getBin libc;
libc_dev = if nativeLibc then null else libc.dev or libc; libc_dev = if nativeLibc then null else getDev libc;
libc_lib = if nativeLibc then null else libc.out or libc; libc_lib = if nativeLibc then null else getLib libc;
cc_solib = cc.lib or cc; cc_solib = getLib cc;
binutils_bin = if nativeTools then "" else binutils.bin or binutils; binutils_bin = if nativeTools then "" else getBin binutils;
# The wrapper scripts use 'cat' and 'grep', so we may need coreutils. # The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
coreutils_bin = if nativeTools then "" else coreutils.bin or coreutils; coreutils_bin = if nativeTools then "" else getBin coreutils;
in in
stdenv.mkDerivation { stdenv.mkDerivation {
@ -113,6 +113,7 @@ stdenv.mkDerivation {
ccCFlags+=" -B${cc_solib}/lib64" ccCFlags+=" -B${cc_solib}/lib64"
fi fi
ccLDFlags+=" -L${cc_solib}/lib" ccLDFlags+=" -L${cc_solib}/lib"
ccCFlags+=" -B${cc_solib}/lib"
${optionalString cc.langVhdl or false '' ${optionalString cc.langVhdl or false ''
ccLDFlags+=" -L${zlib.out}/lib" ccLDFlags+=" -L${zlib.out}/lib"

View File

@ -343,7 +343,7 @@ fi
if test -n "$builder"; then if test -n "$builder"; then
test -n "$out" -a -n "$url" -a -n "$rev" || usage test -n "$out" -a -n "$url" -a -n "$rev" || usage
mkdir $out mkdir -p $out
clone_user_rev "$out" "$url" "$rev" clone_user_rev "$out" "$url" "$rev"
else else
if test -z "$hashType"; then if test -z "$hashType"; then
@ -368,7 +368,7 @@ else
trap "rm -rf \"$tmpPath\"" EXIT trap "rm -rf \"$tmpPath\"" EXIT
tmpFile="$tmpPath/$(url_to_name "$url" "$rev")" tmpFile="$tmpPath/$(url_to_name "$url" "$rev")"
mkdir "$tmpFile" mkdir -p "$tmpFile"
# Perform the checkout. # Perform the checkout.
clone_user_rev "$tmpFile" "$url" "$rev" clone_user_rev "$tmpFile" "$url" "$rev"

View File

@ -5,7 +5,7 @@
# stdenv.mkDerivation provides a wrapper that sets up the right environment # stdenv.mkDerivation provides a wrapper that sets up the right environment
# variables so that the compiler and the linker just "work". # variables so that the compiler and the linker just "work".
{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? "" { name ? "", stdenv, lib, nativeTools, nativeLibc, nativePrefix ? ""
, gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? "" , gcc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? ""
, zlib ? null , zlib ? null
}: }:
@ -41,13 +41,13 @@ stdenv.mkDerivation {
addFlags = ./add-flags; addFlags = ./add-flags;
inherit nativeTools nativeLibc nativePrefix gcc; inherit nativeTools nativeLibc nativePrefix gcc;
gcc_lib = gcc.lib or gcc; gcc_lib = lib.getLib gcc;
libc = if nativeLibc then null else libc; libc = if nativeLibc then null else libc;
libc_dev = if nativeLibc then null else libc.dev or libc; libc_dev = if nativeLibc then null else lib.getDev libc;
libc_bin = if nativeLibc then null else libc.bin or libc; libc_bin = if nativeLibc then null else lib.getBin libc;
binutils = if nativeTools then null else binutils; binutils = if nativeTools then null else lib.getBin binutils;
# The wrapper scripts use 'cat', so we may need coreutils # The wrapper scripts use 'cat', so we may need coreutils
coreutils = if nativeTools then null else coreutils; coreutils = if nativeTools then null else lib.getBin coreutils;
langC = if nativeTools then true else gcc.langC; langC = if nativeTools then true else gcc.langC;
langCC = if nativeTools then true else gcc.langCC; langCC = if nativeTools then true else gcc.langCC;

View File

@ -0,0 +1,45 @@
fixupOutputHooks+=(_linkDLLs)
# For every *.{exe,dll} in $output/bin/ we try to find all (potential)
# transitive dependencies and symlink those DLLs into $output/bin
# so they are found on invocation.
# (DLLs are first searched in the directory of the running exe file.)
# The links are relative, so relocating whole /nix/store won't break them.
_linkDLLs() {
(
if [ ! -d "$prefix/bin" ]; then exit; fi
cd "$prefix/bin"
# Compose path list where DLLs should be located:
# prefix $PATH by currently-built outputs
local DLLPATH=""
local outName
for outName in $outputs; do
addToSearchPath DLLPATH "${!outName}/bin"
done
DLLPATH="$DLLPATH:$PATH"
echo DLLPATH="'$DLLPATH'"
linkCount=0
# Iterate over any DLL that we depend on.
local dll
for dll in $(objdump -p *.{exe,dll} | sed -n 's/.*DLL Name: \(.*\)/\1/p' | sort -u); do
if [ -e "./$dll" ]; then continue; fi
# Locate the DLL - it should be an *executable* file on $DLLPATH.
local dllPath="$(PATH="$DLLPATH" type -P "$dll")"
if [ -z "$dllPath" ]; then continue; fi
# That DLL might have its own (transitive) dependencies,
# so add also all DLLs from its directory to be sure.
local dllPath2
for dllPath2 in "$dllPath" "$(dirname "$dllPath")"/*.dll; do
if [ -e ./"$(basename "$dllPath2")" ]; then continue; fi
ln -sr "$dllPath2" .
linkCount=$(($linkCount+1))
done
done
echo "Created $linkCount DLL link(s) in $prefix/bin"
)
}

View File

@ -2,6 +2,7 @@
args: args:
# see the substituteAll in the nixpkgs documentation for usage and constaints
stdenv.mkDerivation ({ stdenv.mkDerivation ({
name = if args ? name then args.name else baseNameOf (toString args.src); name = if args ? name then args.name else baseNameOf (toString args.src);
builder = ./substitute-all.sh; builder = ./substitute-all.sh;

View File

@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "01hvpvbrks40g9k1xr2f1gxnd5wd0sxidgfbwrm94pdi1a36xxrk"; sha256 = "01hvpvbrks40g9k1xr2f1gxnd5wd0sxidgfbwrm94pdi1a36xxrk";
}; };
buildPhase = "true"; dontBuild = true;
installPhase = '' installPhase = ''
fontDir=$out/share/fonts/opentype fontDir=$out/share/fonts/opentype

View File

@ -8,8 +8,12 @@ stdenv.mkDerivation {
sha256 = "1j1y3cq6ys30m734axc0brdm2q9n2as4h32jws15r7w5fwr991km"; sha256 = "1j1y3cq6ys30m734axc0brdm2q9n2as4h32jws15r7w5fwr991km";
}; };
buildPhase = "true"; dontBuild = true;
installPhase = "mkdir -p $out/share/fonts/truetype; cp ttf/*.ttf $out/share/fonts/truetype";
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp ttf/*.ttf $out/share/fonts/truetype
'';
meta = { meta = {
description = "TrueType versions of the Computer Modern and AMS TeX Fonts"; description = "TrueType versions of the Computer Modern and AMS TeX Fonts";

View File

@ -9,8 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "0l1zwmw42mpakjrzmbygshcg2qzq9mv8lx42738rz3j9hrqzg4pw"; sha256 = "0l1zwmw42mpakjrzmbygshcg2qzq9mv8lx42738rz3j9hrqzg4pw";
}; };
configurePhase = "true"; dontBuild = true;
buildPhase = "true";
buildInputs = [bdftopcf mkfontdir mkfontscale]; buildInputs = [bdftopcf mkfontdir mkfontscale];

View File

@ -10,10 +10,9 @@ stdenv.mkDerivation {
sha256 = "1pwz83yh28yd8aj6fbyfz8z3q3v67psszpd9mp4vv0ms9w8b5ajn"; sha256 = "1pwz83yh28yd8aj6fbyfz8z3q3v67psszpd9mp4vv0ms9w8b5ajn";
}; };
buildPhase = "true"; dontBuild = true;
installPhase = installPhase = ''
''
mkdir -p $out/share/fonts/opentype mkdir -p $out/share/fonts/opentype
cp -v */*.otf $out/share/fonts/opentype cp -v */*.otf $out/share/fonts/opentype

View File

@ -8,11 +8,11 @@ stdenv.mkDerivation {
sha256 = "1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv"; sha256 = "1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv";
}; };
buildPhase = "true"; dontBuild = true;
installPhase = " installPhase = ''
fontDir=$out/share/fonts/truetype fontDir=$out/share/fonts/truetype
mkdir -p $fontDir mkdir -p $fontDir
cp *.ttf $fontDir cp *.ttf $fontDir
"; '';
} }

View File

@ -10,13 +10,13 @@ stdenv.mkDerivation {
buildInputs = [cabextract]; buildInputs = [cabextract];
unpackPhase = " unpackPhase = ''
cabextract --lowercase --filter ppviewer.cab $src cabextract --lowercase --filter ppviewer.cab $src
cabextract --lowercase --filter '*.TTF' ppviewer.cab cabextract --lowercase --filter '*.TTF' ppviewer.cab
sourceRoot=. sourceRoot=.
"; '';
buildPhase = "true"; dontBuild = true;
installPhase = '' installPhase = ''
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype

View File

@ -10,10 +10,9 @@ let
inherit sha256; inherit sha256;
}; };
buildPhase = "true"; dontBuild = true;
installPhase = installPhase = ''
''
dst=$out/share/xml/${pname} dst=$out/share/xml/${pname}
mkdir -p $dst mkdir -p $dst
rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation {
sha256 = "09ch709cb9fniwc4221xgkq0jf0x0lxs814sqig8p2dcll0llvzk"; sha256 = "09ch709cb9fniwc4221xgkq0jf0x0lxs814sqig8p2dcll0llvzk";
}; };
outputs = [ "out" "doc" ]; outputs = [ "dev" "out" "doc" ];
buildInputs = [ ORBit2 dbus_libs dbus_glib libxml2 ] buildInputs = [ ORBit2 dbus_libs dbus_glib libxml2 ]
# polkit requires pam, which requires shadow.h, which is not available on # polkit requires pam, which requires shadow.h, which is not available on

View File

@ -9,16 +9,22 @@ stdenv.mkDerivation rec {
sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"; sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
}; };
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ glib libIDL ] ++ libintlOrEmpty;
outputs = [ "dev" "out" ];
preBuild = '' preBuild = ''
sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
''; '';
nativeBuildInputs = [ pkgconfig ]; preFixup = ''
propagatedBuildInputs = [ glib libIDL ] ++ libintlOrEmpty; moveToOutput "bin/orbit2-config" "$dev"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://projects.gnome.org/ORBit2/; homepage = https://projects.gnome.org/ORBit2/;
description = "A a CORBA 2.4-compliant Object Request Broker"; description = "A CORBA 2.4-compliant Object Request Broker";
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ lovek323 ]; maintainers = with maintainers; [ lovek323 ];

View File

@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2"; sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2";
}; };
outputs = [ "dev" "out" ];
buildInputs = buildInputs =
[ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam cdparanoia [ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam cdparanoia
intltool gnome_mime_data avahi acl intltool gnome_mime_data avahi acl

View File

@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"; sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
}; };
outputs = [ "dev" "out" ];
preConfigure = # still using stuff deprecated in new glib versions preConfigure = # still using stuff deprecated in new glib versions
"sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in"; "sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in";

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation {
sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4"; sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4";
}; };
outputs = [ "dev" "out" ];
buildInputs = [ pkgconfig gtk python gettext ]; buildInputs = [ pkgconfig gtk python gettext ];
propagatedBuildInputs = [ libxml2 ]; propagatedBuildInputs = [ libxml2 ];

View File

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"; sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
}; };
outputs = [ "dev" "out" ];
patches = [ ./new-glib.patch ]; patches = [ ./new-glib.patch ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5"; sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5";
}; };
outputs = [ "dev" "out" ];
buildInputs = [ libglade ]; buildInputs = [ libglade ];
nativeBuildInputs = [ pkgconfig intltool ]; nativeBuildInputs = [ pkgconfig intltool ];
propagatedBuildInputs = [ libart_lgpl gtk ]; propagatedBuildInputs = [ libart_lgpl gtk ];

View File

@ -1,15 +0,0 @@
{ kdeApp, lib
, automoc4, cmake, kdelibs
}:
kdeApp {
name = "kcolorchooser";
nativeBuildInputs = [ automoc4 cmake ];
buildInputs = [ kdelibs ];
meta = {
license = with lib.licenses; [ mit ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -31,21 +31,9 @@ kdeApp {
extra-cmake-modules extra-cmake-modules
kdoctools kdoctools
]; ];
buildInputs = [
karchive
kconfig
kcrash
kdbusaddons
kiconthemes
kservice
kpty
kwidgetsaddons
libarchive
];
propagatedBuildInputs = [ propagatedBuildInputs = [
khtml khtml ki18n kio karchive kconfig kcrash kdbusaddons kiconthemes kservice
ki18n kpty kwidgetsaddons libarchive
kio
]; ];
postInstall = '' postInstall = ''
wrapQtProgram "$out/bin/ark" \ wrapQtProgram "$out/bin/ark" \

View File

@ -13,23 +13,15 @@
kdeApp { kdeApp {
name = "baloo-widgets"; name = "baloo-widgets";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kconfig
kservice
];
propagatedBuildInputs = [
baloo
kdelibs4support
kfilemetadata
ki18n
kio
];
meta = { meta = {
license = [ lib.licenses.lgpl21 ]; license = [ lib.licenses.lgpl21 ];
maintainers = [ lib.maintainers.ttuegel ]; maintainers = [ lib.maintainers.ttuegel ];
}; };
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
propagatedBuildInputs = [
baloo kconfig kservice kdelibs4support kfilemetadata ki18n kio
];
} }

View File

@ -11,21 +11,15 @@
kdeApp { kdeApp {
name = "dolphin-plugins"; name = "dolphin-plugins";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kxmlgui
dolphin
];
propagatedBuildInputs = [
kdelibs4support
ki18n
kio
];
meta = { meta = {
license = [ lib.licenses.gpl2 ]; license = [ lib.licenses.gpl2 ];
maintainers = [ lib.maintainers.ttuegel ]; maintainers = [ lib.maintainers.ttuegel ];
}; };
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
propagatedBuildInputs = [
kdelibs4support ki18n kio kxmlgui dolphin
];
} }

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