3
0
Fork 0
forked from mirrors/nixpkgs

Merge 'master' into staging

This commit is contained in:
Vladimír Čunát 2015-02-22 19:18:07 +01:00
commit bb8d3ad2de
282 changed files with 12996 additions and 8623 deletions

2
.gitignore vendored
View file

@ -14,5 +14,5 @@ result-*
/pkgs/applications/kde-apps-*/tmp/
/pkgs/development/libraries/kde-frameworks-*/tmp/
/pkgs/development/libraries/qt-5/*-submodules/tmp/
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/plasma-*/tmp/

View file

@ -27,6 +27,7 @@
aycanirican = "Aycan iRiCAN <iricanaycan@gmail.com>";
balajisivaraman = "Balaji Sivaraman<sivaraman.balaji@gmail.com>";
bbenoist = "Baptist BENOIST <return_0@live.com>";
bcdarwin = "Ben Darwin <bcdarwin@gmail.com>";
bdimcheff = "Brandon Dimcheff <brandon@dimcheff.com>";
bennofs = "Benno Fünfstück <benno.fuenfstueck@gmail.com>";
benley = "Benjamin Staffin <benley@gmail.com>";
@ -159,6 +160,7 @@
roelof = "Roelof Wobben <rwobben@hotmail.com>";
romildo = "José Romildo Malaquias <malaquias@gmail.com>";
rszibele = "Richard Szibele <richard_szibele@hotmail.com>";
rushmorem = "Rushmore Mushambi <rushmore@webenchanter.com>";
rycee = "Robert Helgesson <robert@rycee.net>";
sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
schristo = "Scott Christopher <schristopher@konputa.com>";

View file

@ -1,13 +1,14 @@
#!/bin/sh
set -e
: ${NIXOS_CHANNELS:=https://nixos.org/channels/}
: ${CHANNELS_NAMESPACE:=refs/heads/channels/}
# List all channels which are currently in the repository which we would
# have to remove if they are not found again.
deadChannels=$(git for-each-ref --format="%(refname)" $CHANNELS_NAMESPACE)
deadChannels=$(git for-each-ref --format="%(refname)" "$CHANNELS_NAMESPACE")
function updateRef() {
updateRef() {
local channelName=$1
local newRev=$2
@ -17,9 +18,9 @@ function updateRef() {
# Update the local refs/heads/channels/* branches to be in-sync with the
# channel references.
local branch=$CHANNELS_NAMESPACE$channelName
oldRev=$(git rev-parse --short $branch 2>/dev/null || true)
oldRev=$(git rev-parse --short "$branch" 2>/dev/null || true)
if test "$oldRev" != "$newRev"; then
if git update-ref $branch $newRev 2>/dev/null; then
if git update-ref "$branch" "$newRev" 2>/dev/null; then
if test -z "$oldRev"; then
echo " * [new branch] $newRev -> ${branch#refs/heads/}"
else
@ -35,21 +36,21 @@ function updateRef() {
fi
# Filter out the current channel from the list of dead channels.
deadChannels=$(grep -v $CHANNELS_NAMESPACE$channelName <<EOF
deadChannels=$(grep -v "$CHANNELS_NAMESPACE$channelName" <<EOF
$deadChannels
EOF
)
) ||true
}
# Find the name of all channels which are listed in the directory.
echo "Fetching channels from $NIXOS_CHANNELS:"
for channelName in : $(curl -s $NIXOS_CHANNELS | sed -n '/folder/ { s,.*href=",,; s,/".*,,; p }'); do
for channelName in : $(curl -s "$NIXOS_CHANNELS" | sed -n '/folder/ { s,.*href=",,; s,/".*,,; p }'); do
test "$channelName" = : && continue;
# Do not follow redirections, such that we can extract the
# short-changeset from the name of the directory where we are
# redirected to.
sha1=$(curl -sI $NIXOS_CHANNELS$channelName | sed -n '/Location/ { s,.*\.\([a-f0-9]*\)[ \r]*$,\1,; p; }')
sha1=$(curl -sI "$NIXOS_CHANNELS$channelName" | sed -n '/Location/ { s,.*\.\([a-f0-9]*\)[ \r]*$,\1,; p; }')
updateRef "remotes/$channelName" "$sha1"
done
@ -60,13 +61,13 @@ if currentSystem=$(nixos-version 2>/dev/null); then
# then the version is not annotated in git version. This sed
# expression is basically matching that the expressions end with
# ".<sha1> (Name)" to extract the sha1.
sha1=$(echo $currentSystem | sed -n 's,^.*\.\([a-f0-9]*\) *(.*)$,\1,; T skip; p; :skip;')
sha1=$(echo "$currentSystem" | sed -n 's,^.*\.\([a-f0-9]*\) *(.*)$,\1,; T skip; p; :skip;')
updateRef current-system "$sha1"
fi
echo "Fetching channels from ~/.nix-defexpr:"
for revFile in : $(find -L ~/.nix-defexpr/ -maxdepth 4 -name svn-revision); do
echo "Fetching channels from $HOME/.nix-defexpr:"
for revFile in : $(find -L "$HOME/.nix-defexpr/" -maxdepth 4 -name svn-revision); do
test "$revFile" = : && continue;
# Deconstruct a path such as, into:
@ -85,7 +86,7 @@ for revFile in : $(find -L ~/.nix-defexpr/ -maxdepth 4 -name svn-revision); do
test -z "$user" && user=$USER
channelName="$user${user:+/}$repo"
sha1=$(cat $revFile | sed -n 's,^.*\.\([a-f0-9]*\)$,\1,; T skip; p; :skip;')
sha1=$(sed -n 's,^.*\.\([a-f0-9]*\)$,\1,; T skip; p; :skip;' "$revFile")
updateRef "$channelName" "$sha1"
done

View file

@ -70,7 +70,7 @@ rec {
# virtualisation.vlans option).
networking.extraHosts = flip concatMapStrings machines
(m': let config = (getAttr m' nodes).config; in
optionalString (m.first != m' && config.networking.primaryIPAddress != "")
optionalString (config.networking.primaryIPAddress != "")
("${config.networking.primaryIPAddress} " +
"${config.networking.hostName}\n"));

View file

@ -11,20 +11,21 @@ let
# FIXME: should introduce an option like
# hardware.video.nvidia.package for overriding the default NVIDIA
# driver.
enabled = elem "nvidia" drivers || elem "nvidiaLegacy173" drivers
|| elem "nvidiaLegacy304" drivers || elem "nvidiaLegacy340" drivers;
nvidia_x11 =
nvidiaForKernel = kernelPackages:
if elem "nvidia" drivers then
config.boot.kernelPackages.nvidia_x11
kernelPackages.nvidia_x11
else if elem "nvidiaLegacy173" drivers then
config.boot.kernelPackages.nvidia_x11_legacy173
kernelPackages.nvidia_x11_legacy173
else if elem "nvidiaLegacy304" drivers then
config.boot.kernelPackages.nvidia_x11_legacy304
kernelPackages.nvidia_x11_legacy304
else if elem "nvidiaLegacy340" drivers then
config.boot.kernelPackages.nvidia_x11_legacy340
else throw "impossible";
kernelPackages.nvidia_x11_legacy340
else null;
nvidia_x11 = nvidiaForKernel config.boot.kernelPackages;
nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
enabled = nvidia_x11 != null;
in
{
@ -40,7 +41,7 @@ in
'';
hardware.opengl.package = nvidia_x11;
hardware.opengl.package32 = pkgs_i686.linuxPackages.nvidia_x11.override { libsOnly = true; kernel = null; };
hardware.opengl.package32 = nvidia_libs32;
environment.systemPackages = [ nvidia_x11 ];

View file

@ -1,2 +1,10 @@
#! @shell@
echo "@nixosVersion@ (@nixosCodeName@)"
case "$1" in
--hash|--revision)
echo "@nixosRevision@"
;;
*)
echo "@nixosVersion@ (@nixosCodeName@)"
;;
esac

View file

@ -50,7 +50,7 @@ let
nixos-version = makeProg {
name = "nixos-version";
src = ./nixos-version.sh;
inherit (config.system) nixosVersion nixosCodeName;
inherit (config.system) nixosVersion nixosCodeName nixosRevision;
};
in

View file

@ -178,6 +178,8 @@
nylon = 168;
apache-kafka = 169;
panamax = 170;
marathon = 171;
exim = 172;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -318,6 +320,7 @@
gitlab = 165;
nylon = 166;
panamax = 170;
exim = 172;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View file

@ -166,6 +166,7 @@
./services/logging/syslogd.nix
./services/logging/syslog-ng.nix
./services/mail/dovecot.nix
./services/mail/exim.nix
./services/mail/freepops.nix
./services/mail/mail.nix
./services/mail/mlmmj.nix
@ -315,6 +316,7 @@
./services/scheduling/chronos.nix
./services/scheduling/cron.nix
./services/scheduling/fcron.nix
./services/scheduling/marathon.nix
./services/search/elasticsearch.nix
./services/search/solr.nix
./services/security/clamav.nix

View file

@ -47,7 +47,8 @@ in
KDEDIRS = [ "" ];
STRIGI_PLUGIN_PATH = [ "/lib/strigi/" ];
QT_PLUGIN_PATH = [ "/lib/qt4/plugins" "/lib/kde4/plugins" "/lib/qt5/plugins" ];
QML2_IMPORT_PATH = [ "/lib/qml" ];
QML_IMPORT_PATH = [ "/lib/qt5/imports" ];
QML2_IMPORT_PATH = [ "/lib/qt5/qml" ];
QTWEBKIT_PLUGIN_PATH = [ "/lib/mozilla/plugins/" ];
GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ];
XDG_CONFIG_DIRS = [ "/etc/xdg" ];

View file

@ -63,6 +63,14 @@ let
'';
};
oathAuth = mkOption {
default = config.security.pam.enableOATH;
type = types.bool;
description = ''
If set, the OATH Toolkit will be used.
'';
};
sshAgentAuth = mkOption {
default = false;
type = types.bool;
@ -206,6 +214,8 @@ let
"auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth"}
${optionalString cfg.otpwAuth
"auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so"}
${optionalString cfg.oathAuth
"auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so"} window=5 usersfile=/etc/users.oath
${optionalString config.users.ldap.enable
"auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"}
${optionalString config.krb5.enable ''
@ -241,6 +251,8 @@ let
"session optional ${pam_krb5}/lib/security/pam_krb5.so"}
${optionalString cfg.otpwAuth
"session optional ${pkgs.otpw}/lib/security/pam_otpw.so"}
${optionalString cfg.oathAuth
"session optional ${pkgs.oathToolkit}/lib/security/pam_oath.so"} window=5 usersfile=/etc/users.oath
${optionalString cfg.startSession
"session optional ${pkgs.systemd}/lib/security/pam_systemd.so"}
${optionalString cfg.forwardXAuth
@ -338,6 +350,13 @@ in
'';
};
security.pam.enableOATH = mkOption {
default = false;
description = ''
Enable the OATH (one-time password) PAM module.
'';
};
users.motd = mkOption {
default = null;
example = "Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3178.";
@ -357,7 +376,8 @@ in
[ pkgs.pam ]
++ optional config.users.ldap.enable pam_ldap
++ optionals config.krb5.enable [pam_krb5 pam_ccreds]
++ optionals config.security.pam.enableOTPW [ pkgs.otpw ];
++ optionals config.security.pam.enableOTPW [ pkgs.otpw ]
++ optionals config.security.pam.enableOATH [ pkgs.oathToolkit ];
environment.etc =
mapAttrsToList (n: v: makePAMService v) config.security.pam.services;

View file

@ -201,7 +201,7 @@ in
environment.systemPackages = [ cfg.package ];
systemd.services.redis_init =
{ description = "Redis server initialisation";
{ description = "Redis Server Initialisation";
wantedBy = [ "redis.service" ];
before = [ "redis.service" ];
@ -216,7 +216,7 @@ in
};
systemd.services.redis =
{ description = "Redis server";
{ description = "Redis Server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];

View file

@ -0,0 +1,111 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkIf mkOption singleton types;
inherit (pkgs) coreutils exim;
cfg = config.services.exim;
in
{
###### interface
options = {
services.exim = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the Exim mail transfer agent.";
};
config = mkOption {
type = types.string;
default = "";
description = ''
Verbatim Exim configuration. This should not contain exim_user,
exim_group, exim_path, or spool_directory.
'';
};
user = mkOption {
type = types.string;
default = "exim";
description = ''
User to use when no root privileges are required.
In particular, this applies when receiving messages and when doing
remote deliveries. (Local deliveries run as various non-root users,
typically as the owner of a local mailbox.) Specifying this value
as root is not supported.
'';
};
group = mkOption {
type = types.string;
default = "exim";
description = ''
Group to use when no root privileges are required.
'';
};
spoolDir = mkOption {
type = types.string;
default = "/var/spool/exim";
description = ''
Location of the spool directory of exim.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
environment = {
etc."exim.conf".text = ''
exim_user = ${cfg.user}
exim_group = ${cfg.group}
exim_path = /var/setuid-wrappers/exim
spool_directory = ${cfg.spoolDir}
${cfg.config}
'';
systemPackages = [ exim ];
};
users.extraUsers = singleton {
name = cfg.user;
description = "Exim mail transfer agent user";
uid = config.ids.uids.exim;
group = cfg.group;
};
users.extraGroups = singleton {
name = cfg.group;
gid = config.ids.gids.exim;
};
security.setuidPrograms = [ "exim" ];
systemd.services.exim = {
description = "Exim Mail Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${exim}/bin/exim -bdf -q30m";
ExecReload = "${coreutils}/bin/kill -HUP $MAINPID";
};
preStart = ''
if ! test -d ${cfg.spoolDir}; then
${coreutils}/bin/mkdir -p ${cfg.spoolDir}
${coreutils}/bin/chown ${cfg.user}:${cfg.group} ${cfg.spoolDir}
fi
'';
};
};
}

View file

@ -41,6 +41,10 @@ let
build-chroot-dirs = ${toString cfg.chrootDirs} /bin/sh=${sh} $(echo $extraPaths)
binary-caches = ${toString cfg.binaryCaches}
trusted-binary-caches = ${toString cfg.trustedBinaryCaches}
binary-cache-public-keys = ${toString cfg.binaryCachePublicKeys}
${optionalString cfg.requireSignedBinaryCaches ''
signed-binary-caches = *
''}
$extraOptions
END
'';
@ -244,6 +248,33 @@ in
'';
};
requireSignedBinaryCaches = mkOption {
type = types.bool;
default = false;
description = ''
If enabled, Nix will only download binaries from binary
caches if they are cryptographically signed with any of the
keys listed in
<option>nix.binaryCachePublicKeys</option>. If disabled (the
default), signatures are neither required nor checked, so
it's strongly recommended that you use only trustworthy
caches and https to prevent man-in-the-middle attacks.
'';
};
binaryCachePublicKeys = mkOption {
type = types.listOf types.str;
example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
description = ''
List of public keys used to sign binary caches. If
<option>nix.requireSignedBinaryCaches</option> is enabled,
then Nix will use a binary from a binary cache if and only
if it is signed by <emphasis>any</emphasis> of the keys
listed here. By default, only the key for
<uri>cache.nixos.org</uri> is included.
'';
};
};
};
@ -253,6 +284,8 @@ in
config = {
nix.binaryCachePublicKeys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
environment.etc."nix/nix.conf".source = nixConf;
# List of machines for distributed Nix builds in the format

View file

@ -184,7 +184,7 @@ in
}
];
powerManagement.resumeCommands =
powerManagement.resumeCommands = mkIf config.systemd.services.dhcpcd.enable
''
# Tell dhcpcd to rebind its interfaces if it's running.
${config.systemd.package}/bin/systemctl reload dhcpcd.service

View file

@ -9,13 +9,16 @@ with lib;
services.haproxy = {
enable = mkOption {
type = types.bool;
default = false;
description = "
Enable the HAProxy.
";
description = ''
Whether to enable HAProxy, the reliable, high performance TCP/HTTP
load balancer.
'';
};
config = mkOption {
type = types.lines;
default =
''
global
@ -51,9 +54,10 @@ with lib;
stats refresh 5s
stats realm Haproxy statistics
'';
description = "
Default configuration.
";
description = ''
Contents of the HAProxy configuration file,
<filename>haproxy.conf</filename>.
'';
};
};
@ -68,10 +72,10 @@ with lib;
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "forking";
PIDFile = "/var/run/haproxy.pid";
PIDFile = "/run/haproxy.pid";
ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -q -f ${haproxyCfg}";
ExecStart = "${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /var/run/haproxy.pid";
ExecReload = "-${pkgs.bash}/bin/bash -c \"exec ${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /var/run/haproxy.pid -sf $MAINPID\"";
ExecStart = "${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid";
ExecReload = "-${pkgs.bash}/bin/bash -c \"exec ${pkgs.haproxy}/sbin/haproxy -D -f ${haproxyCfg} -p /run/haproxy.pid -sf $MAINPID\"";
};
};

View file

@ -68,6 +68,11 @@ let
Only applies if <option>sslEnable</option> is true. Non anonymous (local) users
must use a secure SSL connection for sending/receiving data on data connection.
'')
(yesNoOption "portPromiscuous" "port_promiscuous" false ''
Set to YES if you want to disable the PORT security check that ensures that
outgoing data connections can only connect to the client. Only enable if you
know what you are doing!
'')
(yesNoOption "ssl_tlsv1" "ssl_tlsv1" true '' '')
(yesNoOption "ssl_sslv2" "ssl_sslv2" false '' '')
(yesNoOption "ssl_sslv3" "ssl_sslv3" false '' '')

View file

@ -18,7 +18,7 @@ in {
httpPort = mkOption {
description = "Chronos listening port";
default = 8080;
default = 4400;
type = types.int;
};

View file

@ -0,0 +1,58 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.marathon;
in {
###### interface
options.services.marathon = {
enable = mkOption {
description = "Whether to enable the marathon mesos framework.";
default = false;
type = types.uniq types.bool;
};
httpPort = mkOption {
description = "Marathon listening port";
default = 8080;
type = types.int;
};
master = mkOption {
description = "Marathon mesos master zookeeper address";
default = "zk://${head cfg.zookeeperHosts}/mesos";
type = types.str;
};
zookeeperHosts = mkOption {
description = "Marathon mesos zookepper addresses";
default = [ "localhost:2181" ];
type = types.listOf types.str;
};
};
###### implementation
config = mkIf cfg.enable {
systemd.services.marathon = {
description = "Marathon Service";
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ];
serviceConfig = {
ExecStart = "${pkgs.marathon}/bin/marathon --master ${cfg.master} --zk zk://${head cfg.zookeeperHosts}/marathon";
User = "marathon";
};
};
users.extraUsers.marathon = {
uid = config.ids.uids.marathon;
description = "Marathon mesos framework user";
};
};
}

View file

@ -95,7 +95,7 @@ in
environment.etc."fail2ban/filter.d".source = "${pkgs.fail2ban}/etc/fail2ban/filter.d/*.conf";
systemd.services.fail2ban =
{ description = "Fail2ban intrusion prevention system";
{ description = "Fail2ban Intrusion Prevention System";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];

View file

@ -11,12 +11,14 @@ let
phononBackends = {
gstreamer = [
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.phonon_qt5_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
@ -33,7 +35,7 @@ let
phononBackendPackages = flip concatMap cfg.phononBackends
(name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
kf5 = pkgs.kf5_stable;
kf5 = plasma5.kf5;
plasma5 = pkgs.plasma5_stable;
@ -56,8 +58,8 @@ in
default = ["gstreamer"];
example = ["gstreamer" "vlc"];
description = ''
Phonon backends to use in KDE. Only the VLC and gstreamer backends are
available. The VLC backend is preferred by upstream.
Phonon backends to use in KDE. Only the VLC and GStreamer backends are
available. The GStreamer backend is preferred by upstream.
'';
};
@ -85,26 +87,12 @@ in
setuid = true;
};
environment.systemPackages = with plasma5; with kf5;
(builtins.attrValues
(removeAttrs plasma5
[ "deepOverride" "override" "overrideDerivation"
"recurseForDerivations" "scope"
]))
++
(builtins.attrValues
(removeAttrs kf5
[ "deepOverride" "extra-cmake-modules" "mkDerivation" "override"
"overrideDerivation" "recurseForDerivations" "scope"
]))
++
environment.systemPackages =
[
pkgs.qt4 # qtconfig is the only way to set Qt 4 theme
kdeApps.kde-baseapps
kdeApps.kde-base-artwork
kdeApps.kde-workspace
kdeApps.kde-runtime
kdeApps.kmix
kdeApps.konsole
kdeApps.oxygen-icons
@ -113,7 +101,8 @@ in
pkgs.orion # GTK theme, nearly identical to Breeze
]
++ (optional config.networking.networkmanager.enable plasma-nm)
++ filter isDerivation (builtins.attrValues plasma5)
++ filter isDerivation (builtins.attrValues kf5)
++ phononBackendPackages;
environment.pathsToLink = [ "/share" ];
@ -136,6 +125,9 @@ in
services.udisks2.enable = true;
services.upower.enable = config.powerManagement.enable;
# Extra UDEV rules used by Solid
services.udev.packages = [ pkgs.media-player-info ];
security.pam.services.kde = { allowNullPassword = true; };
};

View file

@ -34,7 +34,7 @@ let
shell = "${pkgs.stdenv.shell}";
fullVersion = (builtins.parseDrvName realGrub.name).version;
grubEfi = f grubEfi;
grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f grubEfi.grubTarget else "";
grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f (grubEfi.grubTarget or "") else "";
inherit (efi) efiSysMountPoint canTouchEfiVariables;
inherit (cfg)
version extraConfig extraPerEntryConfig extraEntries

View file

@ -448,7 +448,9 @@ sub getDeviceTargets {
# check whether to install GRUB EFI or not
sub getEfiTarget {
if (($grub ne "") && ($grubEfi ne "")) {
if ($grubVersion == 1) {
return "no"
} elsif (($grub ne "") && ($grubEfi ne "")) {
# EFI can only be installed when target is set;
# A target is also required then for non-EFI grub
if (($grubTarget eq "") || ($grubTargetEfi eq "")) { die }

View file

@ -218,6 +218,9 @@ checkFS() {
# Don't check resilient COWs as they validate the fs structures at mount time
if [ "$fsType" = btrfs -o "$fsType" = zfs ]; then return 0; fi
# Skip fsck for inherently readonly filesystems.
if [ "$fsType" = squashfs ]; then return 0; fi
# If we couldn't figure out the FS type, then skip fsck.
if [ "$fsType" = auto ]; then
echo 'cannot check filesystem with type "auto"!'

View file

@ -50,8 +50,10 @@ echo "booting system configuration $systemConfig" > /dev/kmsg
# Make /nix/store a read-only bind mount to enforce immutability of
# the Nix store. Note that we can't use "chown root:nixbld" here
# because users/groups might not exist yet.
chown 0:30000 /nix/store
chmod 1775 /nix/store
# Silence chown/chmod to fail gracefully on a readonly filesystem
# like squashfs.
chown -f 0:30000 /nix/store
chmod -f 1775 /nix/store
if [ -n "@readOnlyStore@" ]; then
if ! readonly-mountpoint /nix/store; then
mount --bind /nix/store /nix/store

View file

@ -91,6 +91,10 @@ in
boot.initrd.kernelModules = [ "xen-blkfront" ];
boot.kernelModules = [ "xen-netfront" ];
# Prevent the nouveau kernel module from being loaded, as it
# interferes with the nvidia/nvidia-uvm modules needed for CUDA.
boot.blacklistedKernelModules = [ "nouveau" ];
# Generate a GRUB menu. Amazon's pv-grub uses this to boot our kernel/initrd.
boot.loader.grub.version = if cfg.hvm then 2 else 1;
boot.loader.grub.device = if cfg.hvm then "/dev/xvda" else "nodev";

View file

@ -92,7 +92,7 @@ in
++ optional vswitch.enable "vswitchd.service";
path = [
pkgs.bridge_utils
pkgs.bridge-utils
pkgs.dmidecode
pkgs.dnsmasq
pkgs.ebtables

View file

@ -147,7 +147,7 @@ in
path =
[ pkgs.sudo pkgs.vlan pkgs.nettools pkgs.iptables pkgs.qemu_kvm
pkgs.e2fsprogs pkgs.utillinux pkgs.multipath_tools pkgs.iproute
pkgs.bridge_utils
pkgs.bridge-utils
];
exec = "${nova}/bin/nova-compute --flagfile=${novaConf}";
@ -163,7 +163,7 @@ in
path =
[ pkgs.sudo pkgs.vlan pkgs.dnsmasq pkgs.nettools pkgs.iptables
pkgs.iproute pkgs.bridge_utils pkgs.radvd
pkgs.iproute pkgs.bridge-utils pkgs.radvd
];
exec = "${nova}/bin/nova-network --flagfile=${novaConf}";

View file

@ -112,7 +112,7 @@ in
startOn = "stopped udevtrigger";
path =
[ pkgs.bridge_utils pkgs.gawk pkgs.iproute pkgs.nettools
[ pkgs.bridge-utils pkgs.gawk pkgs.iproute pkgs.nettools
pkgs.utillinux pkgs.bash xen pkgs.pciutils pkgs.procps
];
@ -172,7 +172,7 @@ in
# Xen provides udev rules.
services.udev.packages = [ xen ];
services.udev.path = [ pkgs.bridge_utils pkgs.iproute ];
services.udev.path = [ pkgs.bridge-utils pkgs.iproute ];
};

View file

@ -154,7 +154,7 @@ import ./make-test.nix (
my $clipboard = $machine->succeed("${pkgs.xclip}/bin/xclip -o");
die "sandbox not working properly: $clipboard"
unless $clipboard =~ /suid sandbox.*yes/mi
unless $clipboard =~ /(?:suid|namespace) sandbox.*yes/mi
&& $clipboard =~ /pid namespaces.*yes/mi
&& $clipboard =~ /network namespaces.*yes/mi
&& $clipboard =~ /seccomp.*sandbox.*yes/mi;

View file

@ -0,0 +1,36 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec{
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.9.3";
src = fetchurl {
url = "https://github.com/bitcoin/bitcoin/archive/v${version}.tar.gz";
sha256 = "0a6lkfzsmqqcbz2cc0cg8dccd990b5y7qi8mw358fhfb4f1jxn9y";
};
buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib
miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
meta = {
description = "Peer-to-peer electronic cash system";
longDescription= ''
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
'';
homepage = "http://www.bitcoin.org/";
maintainers = with maintainers; [ roconnor AndersonTorres ];
license = licenses.mit;
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,40 @@
{ fetchurl, stdenv, pkgconfig
, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
, utillinux
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "darkcoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.10.99.99";
src = fetchurl {
url = "https://github.com/darkcoin/darkcoin/archive/v${version}.tar.gz";
sha256 = "1a05a7l878klg4wqk9ykndkhyknrd7jp75v38k99qgk5fi8wa752";
};
buildInputs = [ pkgconfig glib openssl db48 boost zlib miniupnpc ]
++ optionals withGui [ qt4 qrencode ];
configurePhase = optional withGui "qmake";
preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";
installPhase =
if withGui
then "install -D darkcoin-qt $out/bin/darkcoin-qt"
else "install -D darkcoind $out/bin/darkcoind";
meta = with stdenv.lib; {
description = "A decentralized key/value registration and transfer system";
longDescription = ''
Darkcoin (DRK) is an open sourced, privacy-centric digital
currency. It allows you keep your finances private as you make
transactions, similar to cash.
'';
homepage = http://darkcoin.io;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}

View file

@ -0,0 +1,22 @@
{ callPackage, pkgs }:
rec {
bitcoin = callPackage ./bitcoin.nix { openssl = pkgs.openssl_1_0_1j; withGui = true; };
bitcoind = callPackage ./bitcoin.nix { openssl = pkgs.openssl_1_0_1j; withGui = false; };
darkcoin = callPackage ./darkcoin.nix { withGui = true; };
darkcoind = callPackage ./darkcoin.nix { withGui = false; };
dogecoin = callPackage ./dogecoin.nix { withGui = true; };
dogecoind = callPackage ./dogecoin.nix { withGui = false; };
litecoin = callPackage ./litecoin.nix { withGui = true; };
litecoind = callPackage ./litecoin.nix { withGui = false; };
memorycoin = callPackage ./memorycoin.nix { withGui = true; };
memorycoind = callPackage ./memorycoin.nix { withGui = false; };
namecoin = callPackage ./namecoin.nix { inherit namecoind; };
namecoind = callPackage ./namecoind.nix { };
}

View file

@ -0,0 +1,47 @@
{ stdenv , fetchurl
, pkgconfig, autoreconfHook
, db5, openssl, boost, zlib, miniupnpc
, glib, protobuf, utillinux, qt4, qrencode
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.8.1";
src = fetchurl {
url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
sha256 = "0h3jn400dj6qxl1gd4max7wl30cib2wczf9dd3qnbw42wngpdvx2";
};
buildInputs = [ autoreconfHook pkgconfig openssl
db5 openssl utillinux protobuf boost zlib miniupnpc ]
++ optionals withGui [ qt4 qrencode ];
# BSD DB5 location
patchPhase = ''
sed -i \
-e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db5}/include",g' \
-e 's,BDB_LIBS=$,BDB_LIBS="-L${db5}/lib",g' \
-e 's,bdbdirlist=$,bdbdirlist="${db5}/include",g' \
src/m4/dogecoin_find_bdb51.m4
'';
configureFlags = [ "--with-incompatible-bdb"
"--with-boost-libdir=${boost.lib}/lib" ]
++ optionals withGui [ "--with-gui" ];
meta = {
description = "Wow, such coin, much shiba, very rich";
longDescription = ''
Dogecoin is a decentralized, peer-to-peer digital currency that
enables you to easily send money online. Think of it as "the
internet currency."
It is named after a famous Internet meme, the "Doge" - a Shiba Inu dog.
'';
homepage = http://www.dogecoin.com/;
license = licenses.mit;
maintainers = with maintainers; [ edwtjo offline AndersonTorres ];
};
}

View file

@ -0,0 +1,41 @@
{ stdenv, fetchurl
, pkgconfig, autoreconfHook
, openssl, db48, boost, zlib, miniupnpc
, glib, protobuf, utillinux, qt4, qrencode
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.9.3-preview5";
src = fetchurl {
url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
sha256 = "0nnfz4s2g28jb5fqy6cabsryp3h2amzlyslr6g6k8r1vmzvx5ym6";
};
buildInputs = [ pkgconfig autoreconfHook openssl
openssl db48 boost zlib miniupnpc glib protobuf utillinux ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
meta = with stdenv.lib; {
description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
longDescription= ''
Litecoin is a peer-to-peer Internet currency that enables instant payments
to anyone in the world. It is based on the Bitcoin protocol but differs
from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
Litecoin provides faster transaction confirmations (2.5 minutes on average)
and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
the regular computers and GPUs most people already have.
The Litecoin network is scheduled to produce 84 million currency units.
'';
homepage = https://litecoin.org/;
platforms = platforms.unix;
license = licenses.mit;
maintainers = with maintainers; [ offline AndersonTorres ];
};
}

View file

@ -0,0 +1,50 @@
{ stdenv, fetchurl, pkgconfig, openssl, db48, boost
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec{
name = "memorycoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.8.5";
src = fetchurl {
url = "https://github.com/memorycoin/memorycoin/archive/v${version}.tar.gz";
sha256 = "1iyh6dqrg0mirwci5br5n5qw3ghp2cs23wd8ygr56bh9ml4dr1m8";
};
buildInputs = [ pkgconfig openssl db48 boost zlib
miniupnpc utillinux protobuf ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
configurePhase = optional withGui "qmake";
preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";
installPhase =
if withGui
then "install -D bitcoin-qt $out/bin/memorycoin-qt"
else "install -D bitcoind $out/bin/memorycoind";
meta = {
description = "Peer-to-peer, CPU-based electronic cash system";
longDescription= ''
Memorycoin is a cryptocurrency that aims to empower the
economically and financially marginalized. It allows individuals
to participate in the internet economy even when they live in
countries where credit card companies and PayPal(R) refuse to
operate. Individuals can store and transfer wealth with just a
memorized pass phrase.
Memorycoin is based on the Bitcoin code, but with some key
differences.
'';
homepage = "http://www.bitcoin.org/";
maintainers = with maintainers; [ AndersonTorres ];
license = licenses.mit;
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,26 @@
{ stdenv, db4, boost, openssl, qt4, miniupnpc, unzip, namecoind }:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "namecoin-${version}";
version = namecoind.version;
src = namecoind.src;
buildInputs = [ db4 boost openssl unzip qt4 miniupnpc ];
configurePhase = ''
qmake USE_UPNP=-
'';
buildPhase = ''
make
'';
installPhase = ''
mkdir -p $out/bin
cp namecoin-qt $out/bin
'';
meta = namecoind.meta;
}

View file

@ -0,0 +1,35 @@
{ stdenv, fetchurl, db4, boost, openssl, miniupnpc, unzip }:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "0.3.80";
name = "namecoind-${version}";
src = fetchurl {
url = "https://github.com/namecoin/namecoin/archive/nc${version}.tar.gz";
sha256 = "1755mqxpg91wg9hf0ibpj59sdzfmhh73yrpi7hfi2ipabkwmlpiz";
};
buildInputs = [ db4 boost openssl unzip miniupnpc ];
patchPhase = ''
sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile
'';
buildPhase = ''
make -C src INCLUDEPATHS= LIBPATHS=
'';
installPhase = ''
mkdir -p $out/bin
cp src/namecoind $out/bin
'';
meta = {
description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
homepage = http://namecoin.info;
license = licenses.mit;
maintainers = with maintainers; [ doublec AndersonTorres ];
platforms = platforms.linux;
};
}

View file

@ -1,16 +1,13 @@
{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jack2
, libxslt, lv2, pkgconfig, premake3, xlibs }:
let
rev = "3bfddf7f";
in
stdenv.mkDerivation rec {
name = "distrho-${rev}";
name = "distrho-ports-git-2015-01-28";
src = fetchgit {
url = "https://github.com/DISTRHO/DISTRHO-Ports.git";
inherit rev;
sha256 = "55dc52921bb757c3213da5ef6cab40909f39be3e3b41ba4c6cd66ad90bfb2e6c";
rev = "b4e2dc24802fe6804c60fcd2559a0bca46b7709c";
sha256 = "661ff6f7cda71a8dd08cbcea3f560e99f0fc2232053cbc9a2aaba854137805c6";
};
patchPhase = ''

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
name = "lmms-${version}";
version = "1.1.0";
version = "1.1.2";
src = fetchurl {
url = "https://github.com/LMMS/lmms/archive/v${version}.tar.gz";
sha256 = "0kck8aapw1m0jbwd20bwwgbs27z518vv09zs1pjm3v8vnkaxlx65";
sha256 = "0p0lfy3vmxjf9nwajzyhl2jscpmbi26qqqsy1hsa4ljc0plfz60p";
};
buildInputs = [

View file

@ -1,15 +1,12 @@
{ stdenv, fetchgit, fftwSinglePrec, libxslt, lv2, pkgconfig }:
let
rev = "ec6b85e19e24ed";
in
stdenv.mkDerivation rec {
name = "swh-lv2-${rev}";
name = "swh-lv2-git-2013-05-17";
src = fetchgit {
url = "git://github.com/swh/lv2.git";
inherit rev;
sha256 = "d0d918ee642cd9649215737fcc008ce2bf55f4ea893a1897138b33775ea60d17";
url = "https://github.com/swh/lv2.git";
rev = "978d5d8f549fd22048157a6d044af0faeaacbd7f";
sha256 = "3a9c042785b856623339aedafa5bc019b41beb8034d8594c7bbd6c9c26368065";
};
patchPhase = ''

View file

@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
emacsName = "emacs-24.4";
name = "${emacsName}-mac-5.1";
name = "${emacsName}-mac-5.3";
#builder = ./builder.sh;
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
sha256 = "0qn200vv91qxf93x6y8fdi7l3bsni3clqzf8rcjdpbva1qzgcx27";
sha256 = "0qzzqnql0z0a2p3ciccy8gq79v0s7s717lchcprn3wlaqcrk2g1p";
};
patches = [ ./darwin-new-sections.patch ];

View file

@ -1,20 +1,22 @@
{ stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gtk, libXft
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
, gsl, python, pyxml, lxml, poppler, imagemagick, libwpg }:
, gsl, python, pyxml, lxml, poppler, imagemagick, libwpg, librevenge
, libvisio, libcdr, libexif
}:
stdenv.mkDerivation rec {
name = "inkscape-0.48.5";
name = "inkscape-0.91";
src = fetchurl {
url = "mirror://sourceforge/inkscape/${name}.tar.bz2";
sha256 = "0sfr7a1vr1066rrkkqbqvcqs3gawalj68ralnhd6k87jz62fcv1b";
url = "https://inkscape.global.ssl.fastly.net/media/resources/file/"
+ "${name}.tar.bz2";
sha256 = "06ql3x732x2rlnanv0a8aharsnj91j5kplksg574090rks51z42d";
};
patches = [ ./configure-python-libs.patch ];
postPatch = stdenv.lib.optionalString doCheck
''sed -i 's:#include "../../src:#include "src:' src/cxxtests.cpp'';
postPatch = ''
patchShebangs share/extensions
'';
propagatedBuildInputs = [
# Python is used at run-time to execute scripts, e.g., those from
@ -25,14 +27,12 @@ stdenv.mkDerivation rec {
buildInputs = [
pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc
libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext
makeWrapper intltool gsl poppler imagemagick libwpg
makeWrapper intltool gsl poppler imagemagick libwpg librevenge
libvisio libcdr libexif
];
configureFlags = "--with-python";
enableParallelBuilding = true;
doCheck = true;
checkFlags = "-j1";
postInstall = ''
# Make sure PyXML modules can be found at run-time.
@ -43,11 +43,9 @@ stdenv.mkDerivation rec {
--prefix PATH : ${python}/bin || \
exit 2
done
rm $out/share/icons/hicolor/icon-theme.cache
rm "$out/share/icons/hicolor/icon-theme.cache"
'';
NIX_LDFLAGS = "-lX11";
meta = with stdenv.lib; {
license = "GPL";
homepage = http://www.inkscape.org;

View file

@ -12,7 +12,7 @@
# make a copy of this directory first. After copying, be sure to delete ./tmp
# if it exists. Then follow the minor update instructions.
{ autonix, kde4, kf5, pkgs, qt4, stdenv, debug ? false }:
{ autonix, symlinkJoin, kde4, kf5, pkgs, qt4, qt5, stdenv, debug ? false }:
with stdenv.lib; with autonix;
@ -20,7 +20,7 @@ let kf5Orig = kf5; in
let
kf5 = kf5Orig.override { inherit debug; };
kf5 = kf5Orig.override { inherit debug qt5; };
mirror = "mirror://kde";
@ -37,6 +37,22 @@ let
"LibKonq" = "kde-baseapps";
};
mkDerivation = drv: kf5.mkDerivation (drv // {
preHook = (drv.preHook or "") + ''
addQt4Plugins() {
if [[ -d "$1/lib/qt4/plugins" ]]; then
propagatedUserEnvPkgs+=" $1"
fi
if [[ -d "$1/lib/kde4/plugins" ]]; then
propagatedUserEnvPkgs+=" $1"
fi
}
envHooks+=(addQt4Plugins)
'';
});
scope =
# packages in this collection
(mapAttrs (dep: name: kdeApps."${name}") renames) //
@ -131,8 +147,36 @@ let
(blacklist ["kdewebdev"]) # unknown build failure
];
l10nPkgQt4 = orig:
let drvName = builtins.parseDrvName orig.name; in
mkDerivation {
name = "${drvName.name}-qt4-${drvName.version}";
inherit (orig) src;
buildInputs = [ kdeApps.kdelibs ];
nativeBuildInputs = with pkgs; [ cmake gettext perl ];
preConfigure = ''
cd 4/
'';
};
l10nPkgQt5 = orig:
let drvName = builtins.parseDrvName orig.name; in
mkDerivation {
name = "${drvName.name}-qt5-${drvName.version}";
inherit (orig) src;
buildInputs = with kf5; [ kdoctools ki18n ];
nativeBuildInputs = with pkgs; [ cmake kf5.extra-cmake-modules gettext perl ];
preConfigure = ''
cd 5/
'';
};
l10nPkg = name: orig: symlinkJoin orig.name [(l10nPkgQt4 orig) (l10nPkgQt5 orig)];
removeL10nPkgs = filterAttrs (n: v: !(hasPrefix "kde-l10n") n);
postResolve = super:
super // {
(removeL10nPkgs super) // {
ark = with pkgs; super.ark // {
buildInputs = (super.ark.buildInputs or []) ++ [ makeWrapper ];
@ -264,9 +308,14 @@ let
};
l10nManifest =
filterAttrs
(n: v: hasPrefix "kde-l10n" n)
(importManifest ./manifest.nix { inherit mirror; });
kdeApps = generateCollection ./. {
inherit (kf5) mkDerivation;
inherit mkDerivation;
inherit mirror preResolve postResolve renames scope;
};
in kdeApps
in kdeApps // (mapAttrs l10nPkg l10nManifest)

View file

@ -10,7 +10,7 @@
};
analitza = {
buildInputs = [ "ECM" "Eigen3" "GLEW" "OpenGL" "Qt5" "Qt5OpenGL" ];
buildInputs = [ "ECM" "Eigen3" "GLEW" "OpenGL" "Qt5" "Qt5NO_MODULE" "Qt5OpenGL" "Qt5Qml" "Qt5Quick" "Qt5Svg" "Qt5Test" "Qt5Widgets" "Qt5Xml" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
@ -122,7 +122,7 @@
};
gwenview = {
buildInputs = [ "ECM" "Exiv2" "JPEG" "KF5" "KF5Activities" "KF5Baloo" "KF5KDELibs4Support" "KF5KIO" "Kdcraw" "Kipi" "LCMS2" "PNG" "Phonon4Qt5" "Qt5" "Qt5Test" ];
buildInputs = [ "ECM" "Exiv2" "JPEG" "KF5" "KF5Activities" "KF5Baloo" "KF5KDELibs4Support" "KF5KIO" "Kdcraw" "Kipi" "LCMS2" "PNG" "Phonon4Qt5" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5DBus" "Qt5OpenGL" "Qt5QUIET" "Qt5Script" "Qt5Svg" "Qt5Test" "Qt5Widgets" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -162,7 +162,7 @@
};
kalgebra = {
buildInputs = [ "Analitza5" "Curses" "ECM" "KF5ConfigWidgets" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5WidgetsAddons" "OpenGL" "Qt5" "Qt5WebKitWidgets" "Readline" ];
buildInputs = [ "Analitza5" "Curses" "ECM" "KF5ConfigWidgets" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5WidgetsAddons" "OpenGL" "Qt5" "Qt5NO_MODULE" "Qt5OpenGL" "Qt5PrintSupport" "Qt5Qml" "Qt5Quick" "Qt5Svg" "Qt5Test" "Qt5WebKitWidgets" "Qt5Xml" "Readline" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -186,7 +186,7 @@
};
kanagram = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5NewStuff" "KF5Sonnet" "LibKEduVocDocument" "Phonon4Qt5" "Qt5" ];
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5NewStuff" "KF5Sonnet" "LibKEduVocDocument" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5OPTIONAL_COMPONENTS" "Qt5OpenGL" "Qt5PrintSupport" "Qt5Qml" "Qt5Quick" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -202,7 +202,7 @@
};
kapptemplate = {
buildInputs = [ "ECM" "KDE4" "KF5" "KF5Archive" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5XmlGui" "KdepimLibs" "Qt5" "Qt5Widgets" ];
buildInputs = [ "ECM" "KDE4" "KF5" "KF5Archive" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5I18n" "KF5KIO" "KF5XmlGui" "KdepimLibs" "Qt5" "Qt5Core" "Qt5Gui" "Qt5Test" "Qt5Widgets" ];
nativeBuildInputs = [ "RBKCONFIG_COMPILER4" "RBUIC4" "XSLTPROC_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -210,7 +210,7 @@
};
kate = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5DBusAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5Init" "KF5ItemModels" "KF5JobWidgets" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5OPTIONAL_COMPONENTS" "KF5Parts" "KF5Plasma" "KF5Service" "KF5TextEditor" "KF5ThreadWeaver" "KF5Wallet" "KF5WindowSystem" "KF5XmlGui" "LibGit2" "PyKDE4" "PyQt4" "PythonLibrary" "Qt5" "SIP" ];
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5DBusAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5Init" "KF5ItemModels" "KF5JobWidgets" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5OPTIONAL_COMPONENTS" "KF5Parts" "KF5Plasma" "KF5Service" "KF5TextEditor" "KF5ThreadWeaver" "KF5Wallet" "KF5WindowSystem" "KF5XmlGui" "LibGit2" "PyKDE4" "PyQt4" "PythonLibrary" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Sql" "Qt5Test" "Qt5Widgets" "SIP" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -978,7 +978,7 @@
};
khangman = {
buildInputs = [ "ECM" "KDE4" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5NewStuff" "KF5Notifications" "KF5XmlGui" "LibKEduVocDocument" "Phonon4Qt5" "Qt5" ];
buildInputs = [ "ECM" "KDE4" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5NewStuff" "KF5Notifications" "KF5XmlGui" "LibKEduVocDocument" "Phonon4Qt5" "Qt5" "Qt5Core" "Qt5Svg" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -1170,7 +1170,7 @@
};
konsole = {
buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5KDELibs4Support" "KF5KIO" "KF5Konq" "KF5Notifications" "KF5NotifyConfig" "KF5Parts" "KF5Pty" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "Qt5" "X11" ];
buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DocTools" "KF5GuiAddons" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5KDELibs4Support" "KF5KIO" "KF5Konq" "KF5Notifications" "KF5NotifyConfig" "KF5Parts" "KF5Pty" "KF5Service" "KF5TextWidgets" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "Qt5" "Qt5Core" "Qt5DBus" "Qt5Script" "Qt5Test" "Qt5Widgets" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -1178,7 +1178,7 @@
};
kopete = {
buildInputs = [ "Alsa" "Boost" "Expat" "GIF" "GLIB2" "IDN" "Jasper" "JsonCpp" "KDE4" "KdepimLibs" "Kleopatra" "LibMeanwhile" "LibOTR" "LibV4L2" "LibXml2" "Libgadu" "Libmsn" "LiboRTP" "Mediastreamer" "OpenSSL" "QCA2" "QGpgme" "QImageBlitz" "Qt4" "Qt5Core" "Qt5Network" "SRTP" "Speex" "Sqlite" "Xmms" "ZLIB" ];
buildInputs = [ "Alsa" "Boost" "Expat" "GIF" "GLIB2" "IDN" "Jasper" "JsonCpp" "KDE4" "KdepimLibs" "Kleopatra" "LibMeanwhile" "LibOTR" "LibV4L2" "LibXml2" "Libgadu" "Libmsn" "LiboRTP" "Mediastreamer" "OpenSSL" "QCA2" "QGpgme" "QImageBlitz" "Qt4" "Qt5Core" "Qt5Network" "Qt5QUIET" "SRTP" "Speex" "Sqlite" "Xmms" "ZLIB" ];
nativeBuildInputs = [ "LibXslt" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -1458,7 +1458,7 @@
};
libkeduvocdocument = {
buildInputs = [ "ECM" "KF5" "KF5Archive" "KF5I18n" "KF5KIO" "Qt5" ];
buildInputs = [ "ECM" "KF5" "KF5Archive" "KF5I18n" "KF5KIO" "Qt5" "Qt5NO_MODULE" "Qt5Test" "Qt5Xml" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -1546,7 +1546,7 @@
};
okteta = {
buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5ConfigWidgets" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "KF5Parts" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "QCA2" "Qt5" "Qt5Test" "SharedMimeInfo" ];
buildInputs = [ "ECM" "KF5" "KF5Bookmarks" "KF5Codecs" "KF5Completion" "KF5ConfigWidgets" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "KF5Parts" "KF5Service" "KF5WidgetsAddons" "KF5XmlGui" "Qca-qt5" "Qt5" "Qt5Core" "Qt5Designer" "Qt5NO_MODULE" "Qt5Network" "Qt5PrintSupport" "Qt5QUIET" "Qt5Script" "Qt5ScriptTools" "Qt5Test" "Qt5Widgets" "Qt5Xml" "SharedMimeInfo" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
@ -1586,7 +1586,7 @@
};
parley = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5KCMUtils" "KF5KHtml" "KF5KIO" "KF5Kross" "KF5MODULE" "KF5NewStuff" "KF5Notifications" "KF5Sonnet" "KF5XmlGui" "KF5docbook" "KF5produce" "KF5the" "LibAttica" "LibKEduVocDocument" "LibXml2" "Qt5" ];
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DocTools" "KF5I18n" "KF5KCMUtils" "KF5KHtml" "KF5KIO" "KF5Kross" "KF5MODULE" "KF5NewStuff" "KF5Notifications" "KF5Sonnet" "KF5XmlGui" "KF5docbook" "KF5produce" "KF5the" "LibAttica" "LibKEduVocDocument" "LibXml2" "Qt5" "Qt5Concurrent" "Qt5Core" "Qt5Multimedia" "Qt5Svg" "Qt5Test" ];
nativeBuildInputs = [ "LibXslt" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];

File diff suppressed because it is too large Load diff

View file

@ -1,82 +0,0 @@
{ fetchurl, stdenv, pkgconfig
, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
, utillinux, autogen, autoconf, autobuild, automake, autoreconfHook, db }:
with stdenv.lib;
let
buildAltcoin = makeOverridable ({walletName, gui ? true, ...}@a:
stdenv.mkDerivation ({
name = "${walletName}${toString (optional (!gui) "d")}-${a.version}";
buildInputs = [ pkgconfig openssl db48 boost zlib miniupnpc ]
++ optionals gui [ qt4 qrencode ] ++ a.extraBuildInputs or [];
configurePhase = optional gui "qmake";
preBuild = optional (!gui) "cd src";
makefile = optional (!gui) "makefile.unix";
installPhase = if gui then ''
install -D "${walletName}-qt" "$out/bin/${walletName}-qt"
'' else ''
install -D "${walletName}d" "$out/bin/${walletName}d"
'';
passthru.walletName = walletName;
meta = {
platforms = platforms.unix;
license = license.mit;
maintainers = [ maintainers.offline ] ++ a.extraMaintainers;
};
} // a)
);
in rec {
inherit buildAltcoin;
namecoin = buildAltcoin rec {
walletName = "namecoin";
version = "0.3.51.00";
gui = false;
src = fetchurl {
url = "https://github.com/namecoin/namecoin/archive/nc${version}.tar.gz";
sha256 = "0r6zjzichfjzhvpdy501gwy9h3zvlla3kbgb38z1pzaa0ld9siyx";
};
patches = [ ./namecoin_dynamic.patch ];
extraBuildInputs = [ glib ];
meta = {
description = "A decentralized key/value registration and transfer system based on Bitcoin technology";
homepage = http://namecoin.info;
};
};
darkcoin = buildAltcoin rec {
walletName = "darkcoin";
version = "0.9.13.15";
src = fetchurl {
url = "https://github.com/darkcoin/darkcoin/archive/v${version}.tar.gz";
sha256 = "1kly2y3g4dr1jwwf81smqvc7k662x6rvg4ggmxva1yaifb67bgjb";
};
extraBuildInputs = [ glib ];
meta = {
description = "A decentralized key/value registration and transfer system";
longDescription = ''
Darkcoin (DRK) is an open sourced, privacy-centric digital
currency. It allows you keep your finances private as you make
transactions, similar to cash.
'';
homepage = http://darkcoin.io;
extraMaintainers = [ maintainers.AndersonTorres ];
};
};
darkcoind = darkcoin.override { gui = false; };
}

View file

@ -1,52 +0,0 @@
{ fetchurl, stdenv, openssl, db48, boost, zlib, miniupnpc, qt4, utillinux
, pkgconfig, protobuf, qrencode, gui ? true }:
with stdenv.lib;
stdenv.mkDerivation rec {
version = "0.9.3";
name = "bitcoin${toString (optional (!gui) "d")}-${version}";
src = fetchurl {
url = "https://bitcoin.org/bin/${version}/bitcoin-${version}-linux.tar.gz";
sha256 = "1kb59w7232qzfh952rz6vvjri2w26n9cq7baml0vifdsdhxph9f4";
};
# hexdump from utillinux is required for tests
buildInputs = [
openssl db48 boost zlib miniupnpc utillinux pkgconfig protobuf
] ++ optionals gui [ qt4 qrencode ];
unpackPhase = ''
mkdir tmp-extract && (cd tmp-extract && tar xf $src)
tar xf tmp-extract/bitcoin*/src/bitcoin*.tar*
cd bitcoin*
'';
preCheck = ''
# At least one test requires writing in $HOME
HOME=$TMPDIR
'';
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ];
doCheck = true;
enableParallelBuilding = true;
passthru.walletName = "bitcoin";
meta = {
description = "Peer-to-peer electronic cash system";
longDescription= ''
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
'';
homepage = "http://www.bitcoin.org/";
maintainers = [ maintainers.roconnor ];
license = licenses.mit;
platforms = platforms.unix;
};
}

View file

@ -1,70 +0,0 @@
{ fetchurl, stdenv, pkgconfig
, openssl, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
, utillinux, autogen, autoconf, autobuild, automake, db }:
with stdenv.lib;
let
mkAutotoolCoin =
{ name, version, withGui, src, meta }:
stdenv.mkDerivation {
inherit src meta;
name = name + (toString (optional (!withGui) "d")) + "-" + version;
buildInputs = [ autogen autoconf automake pkgconfig openssl
boost zlib miniupnpc db utillinux protobuf ]
++ optionals withGui [ qt4 qrencode ];
patchPhase = ''
sed -i \
-e 's,BDB_CPPFLAGS=$,BDB_CPPFLAGS="-I${db}/include",g' \
-e 's,BDB_LIBS=$,BDB_LIBS="-L${db}/lib",g' \
-e 's,bdbdirlist=$,bdbdirlist="${db}/include",g' \
src/m4/dogecoin_find_bdb51.m4
'';
configurePhase = ''
./autogen.sh \
&& ./configure --prefix=$out \
--with-incompatible-bdb \
${ if withGui then "--with-gui" else "" }
'';
installPhase = ''
install -D "src/dogecoin-cli" "$out/bin/dogecoin-cli"
install -D "src/dogecoind" "$out/bin/dogecoind"
${ if withGui then "install -D src/qt/dogecoin-qt $out/bin/dogecoin-qt" else "" }
'';
};
mkDogeCoin = { withGui }:
mkAutotoolCoin rec {
name = "dogecoin";
version = "1.8.0";
inherit withGui;
src = fetchurl {
url = "https://github.com/dogecoin/dogecoin/archive/v${version}.tar.gz";
sha256 = "8a33958c04213cd621aa3c86910477813af22512f03b47c98995d20d31f3f935";
};
meta = {
description = "Wow, such coin, much shiba, very rich";
longDescription = "wow";
homepage = http://www.dogecoin.com/;
license = licenses.mit;
maintainers = with maintainers; [ edwtjo offline ];
};
};
in {
dogecoin = mkDogeCoin { withGui = true; };
dogecoind = mkDogeCoin { withGui = false; };
}

View file

@ -1,60 +0,0 @@
{ stdenv, fetchurl, pkgconfig
, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
, utillinux, autogen, autoreconfHook }:
with stdenv.lib;
let
mkAutoreconfCoin =
{ name, version, withGui, src, meta }:
stdenv.mkDerivation {
inherit src meta;
name = name + (toString (optional (!withGui) "d")) + "-" + version;
buildInputs = [ autogen autoreconfHook pkgconfig openssl
boost zlib miniupnpc db48 glib utillinux protobuf ]
++ optionals withGui [ qt4 qrencode protobuf ];
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ] ++ optionals withGui [ "--with-gui=qt4" ];
};
mkLitecoin = { withGui }:
mkAutoreconfCoin rec {
name = "litecoin";
version = "0.9.3-preview5";
inherit withGui;
src = fetchurl {
url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
sha256 = "0nnfz4s2g28jb5fqy6cabsryp3h2amzlyslr6g6k8r1vmzvx5ym6";
};
meta = with stdenv.lib; {
description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
longDescription= ''
Litecoin is a peer-to-peer Internet currency that enables instant payments
to anyone in the world. It is based on the Bitcoin protocol but differs
from Bitcoin in that it can be efficiently mined with consumer-grade hardware.
Litecoin provides faster transaction confirmations (2.5 minutes on average)
and uses a memory-hard, scrypt-based mining proof-of-work algorithm to target
the regular computers and GPUs most people already have.
The Litecoin network is scheduled to produce 84 million currency units.
'';
homepage = https://litecoin.org/;
platforms = platforms.unix;
license = licenses.mit;
maintainers = [ maintainers.offline maintainers.AndersonTorres ];
};
};
in {
litecoin = mkLitecoin { withGui = true; };
litecoind = mkLitecoin { withGui = false; };
}

View file

@ -1,11 +0,0 @@
diff -u -r a/src/makefile.unix b/src/makefile.unix
--- a/src/makefile.unix 2014-01-22 22:07:59.801601964 -0800
+++ b/src/makefile.unix 2014-01-22 22:08:07.980332839 -0800
@@ -12,7 +12,6 @@
# for boost 1.37, add -mt to the boost libraries
LIBS= \
- -Wl,-Bstatic \
-l boost_system \
-l boost_filesystem \
-l boost_program_options \

View file

@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "calibre-2.19.0";
name = "calibre-2.20.0";
src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "1acj1i8hlbi99jjgcs9dl9ap7951m1p460srmkdyjmlljw1qhcbn";
sha256 = "13246f4vxz4ps3c549hrnwdkwic5jsf7g1faham38z1ixd094lkd";
};
inherit python;

View file

@ -1,37 +0,0 @@
{ fetchgit, stdenv, db4, boost, openssl, unzip }:
stdenv.mkDerivation rec {
version = "0.3.76";
name = "namecoin-${version}";
src = fetchgit {
url = "https://github.com/namecoin/namecoin";
rev = "224175ca3bba6eea6f6b1bdb007b482eb2bd2aee";
sha256 = "3ccfb6fdda1b9d105e775eb19c696be7fec1b3671f9b4f43d02fa14a4c6848dd";
};
# Don't build with miniupnpc due to namecoin using a different verison that
# ships with NixOS and it is API incompatible.
buildInputs = [ db4 boost openssl unzip ];
patchPhase = ''
sed -e 's/-Wl,-Bstatic//g' -e 's/-l gthread-2.0//g' -e 's/-l z//g' -i src/Makefile
'';
buildPhase = ''
make -C src INCLUDEPATHS= LIBPATHS=
'';
installPhase = ''
mkdir -p $out/bin
cp src/namecoind $out/bin
'';
meta = {
description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
homepage = "http://namecoin.info";
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.doublec ];
platforms = with stdenv.lib.platforms; linux;
};
}

View file

@ -1,33 +0,0 @@
{ fetchgit, stdenv, db4, boost, openssl, qt4, unzip, namecoin }:
stdenv.mkDerivation rec {
version = namecoin.version;
name = "namecoin-qt-${version}";
src = namecoin.src;
# Don't build with miniupnpc due to namecoin using a different verison that
# ships with NixOS and it is API incompatible.
buildInputs = [ db4 boost openssl unzip qt4 ];
configurePhase = ''
qmake USE_UPNP=-
'';
buildPhase = ''
make
'';
installPhase = ''
mkdir -p $out/bin
cp namecoin-qt $out/bin
'';
meta = {
description = "Decentralized open source information registration and transfer system based on the Bitcoin cryptocurrency";
homepage = "http://namecoin.info";
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.doublec ];
platforms = with stdenv.lib.platforms; linux;
};
}

View file

@ -1,19 +1,20 @@
{ fetchurl, stdenv, fetchgit, qt4, pkgconfig, boost, dbus }:
{ fetchurl, stdenv, fetchgit, qt5, pkgconfig, boost }:
stdenv.mkDerivation rec {
rev = "9f52882688ba03d7aaab2e3fd83cb05cfbf1a374";
name = "twmn-${rev}";
name = "twmn-git-2014-09-23";
src = fetchgit {
inherit rev;
url = "https://github.com/sboli/twmn.git";
sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
rev = "9492a47e25547e602dd57efd807033677c90b150";
sha256 = "9c91e9d3d6d7f9d90d34da6f1a4b9f3dee65605c1e43729417d6921c54dded6b";
};
buildInputs = [ qt4 pkgconfig boost ];
propagatedBuildInputs = [ dbus ];
buildInputs = [ qt5 pkgconfig boost ];
configurePhase = "qmake";
configurePhase = ''
sed -i s/-Werror// twmnd/twmnd.pro
qmake
'';
installPhase = ''
mkdir -p "$out/bin"

View file

@ -12,8 +12,10 @@ mkChromiumDerivation (base: rec {
cp -v "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
cp -v "$buildPath/icudtl.dat" "$libExecPath/"
cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
cp -v "$buildPath/libpdf.so" "$buildPath/libffmpegsumo.so" "$libExecPath/"
cp -v "$buildPath/libffmpegsumo.so" "$libExecPath/"
${optionalString (versionOlder base.version "42.0.0.0") ''
cp -v "$buildPath/libpdf.so" "$libExecPath/"
''}
cp -v "$buildPath/chrome" "$libExecPath/$packageName"
mkdir -vp "$out/share/man/man1"

View file

@ -135,11 +135,11 @@ let
-exec chmod u+w {} +
'';
postPatch = ''
postPatch = optionalString (versionOlder version "42.0.0.0") ''
sed -i -e '/base::FilePath exe_dir/,/^ *} *$/c \
sandbox_binary = base::FilePath(getenv("CHROMIUM_SANDBOX_BINARY_PATH"));
' sandbox/linux/suid/client/setuid_sandbox_client.cc
'' + ''
sed -i -e '/module_path *=.*libexif.so/ {
s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
}' chrome/utility/media_galleries/image_metadata_extractor.cc
@ -166,7 +166,9 @@ let
use_openssl = useOpenSSL;
selinux = enableSELinux;
use_cups = cupsSupport;
} // optionalAttrs (versionOlder version "42.0.0.0") {
linux_sandbox_chrome_path="${libExecPath}/${packageName}";
} // {
werror = "";
clang = false;
enable_hidpi = hiDPISupport;

View file

@ -73,13 +73,15 @@ in stdenv.mkDerivation {
sandboxBinary = "${chromium.sandbox}/bin/chromium-sandbox";
mkEnvVar = key: val: "--set '${key}' '${val}'";
envVars = chromium.plugins.settings.envVars or {};
isVer42 = !stdenv.lib.versionOlder chromium.browser.version "42.0.0.0";
flags = chromium.plugins.settings.flags or [];
setBinPath = "--set CHROMIUM_SANDBOX_BINARY_PATH \"${sandboxBinary}\"";
in with stdenv.lib; ''
mkdir -p "$out/bin" "$out/share/applications"
ln -s "${chromium.browser}/share" "$out/share"
makeWrapper "${browserBinary}" "$out/bin/chromium" \
--set CHROMIUM_SANDBOX_BINARY_PATH "${sandboxBinary}" \
${optionalString (!isVer42) setBinPath} \
${concatStrings (mapAttrsToList mkEnvVar envVars)} \
--add-flags "${concatStringsSep " " flags}"

View file

@ -9,59 +9,78 @@ with (import ./update.nix {
inherit (stdenv) system;
}).getChannel channel;
stdenv.mkDerivation {
let
transform = flags: concatStringsSep ";" (map (subst: subst + flags) [
"s,^[^/]+(.*)$,$main\\1,"
"s,$main/(build|tools)(/.*)?$,$out/\\1\\2,"
"s,$main/third_party(/.*)?$,$bundled\\1,"
"s,$main/sandbox(/.*)?$,$sandbox\\1,"
"s,^/,,"
]);
pre42 = versionOlder version "42.0.0.0";
in stdenv.mkDerivation {
name = "chromium-source-${version}";
src = fetchurl main;
buildInputs = [ python ]; # cannot patch shebangs otherwise
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
phases = [ "unpackPhase" "patchPhase" ];
outputs = [ "out" "sandbox" "bundled" "main" ];
unpackPhase = ''
tar xf "$src" -C / \
--transform="${transform "xS"}" \
--anchored \
--no-wildcards-match-slash \
--exclude='*/tools/gyp' \
--exclude='*/.*'
'';
opensslPatches = optional useOpenSSL openssl.patches;
prePatch = "patchShebangs .";
prePatch = ''
for i in $outputs; do
eval patchShebangs "\$$i"
done
'';
patches = [ ./sandbox_userns_36.patch ./nix_plugin_paths.patch ];
patches = if pre42 then [
./sandbox_userns_36.patch ./nix_plugin_paths.patch
] else [
./nix_plugin_paths_42.patch
];
patchPhase = let
diffmod = sym: "/^${sym} /{s/^${sym} //;${transform ""};s/^/${sym} /}";
allmods = "${diffmod "---"};${diffmod "\\+\\+\\+"}";
sedexpr = "/^(---|\\+\\+\\+) *\\/dev\\/null/b;${allmods}";
in ''
runHook prePatch
for i in $patches; do
header "applying patch $i" 3
sed -r -e "${sedexpr}" "$i" | patch -d / -p0
stopNest
done
runHook postPatch
'';
postPatch = ''
sed -i -r \
-e 's/-f(stack-protector)(-all)?/-fno-\1/' \
-e 's|/bin/echo|echo|' \
-e "/python_arch/s/: *'[^']*'/: '""'/" \
build/common.gypi chrome/chrome_tests.gypi
"$out/build/common.gypi" "$main/chrome/chrome_tests.gypi"
'' + optionalString useOpenSSL ''
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
cat $opensslPatches | patch -p1 -d "$bundled/openssl/openssl"
'' + optionalString (!pre42) ''
sed -i -e '/LOG.*no_suid_error/d' \
"$main/content/browser/browser_main_loop.cc"
'';
outputs = [ "out" "sandbox" "bundled" "main" ];
installPhase = ''
mkdir -p "$out" "$sandbox" "$bundled" "$main"
header "copying browser main sources to $main"
find . -mindepth 1 -maxdepth 1 \
\! -path ./sandbox \
\! -path ./third_party \
\! -path ./build \
\! -path ./tools \
\! -name '.*' \
-print | xargs cp -rt "$main"
stopNest
header "copying sandbox components to $sandbox"
cp -rt "$sandbox" sandbox/*
stopNest
header "copying third party sources to $bundled"
cp -rt "$bundled" third_party/*
stopNest
header "copying build requisites to $out"
cp -rt "$out" build tools
stopNest
rm -rf "$out/tools/gyp" # XXX: Don't even copy it in the first place.
'';
preferLocalBuild = true;
passthru = {
inherit version channel;

View file

@ -0,0 +1,93 @@
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
index 8a205a6..d5c24e1 100644
--- a/chrome/common/chrome_paths.cc
+++ b/chrome/common/chrome_paths.cc
@@ -97,21 +97,14 @@ static base::LazyInstance<base::FilePath>
g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
// Gets the path for internal plugins.
-bool GetInternalPluginsDirectory(base::FilePath* result) {
-#if defined(OS_MACOSX) && !defined(OS_IOS)
- // If called from Chrome, get internal plugins from a subdirectory of the
- // framework.
- if (base::mac::AmIBundled()) {
- *result = chrome::GetFrameworkBundlePath();
- DCHECK(!result->empty());
- *result = result->Append("Internet Plug-Ins");
- return true;
- }
- // In tests, just look in the module directory (below).
-#endif
-
- // The rest of the world expects plugins in the module directory.
- return PathService::Get(base::DIR_MODULE, result);
+bool GetInternalPluginsDirectory(base::FilePath* result,
+ const std::string& ident) {
+ std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
+ const char* value = getenv(full_env.c_str());
+ if (value == NULL)
+ return PathService::Get(base::DIR_MODULE, result);
+ else
+ *result = base::FilePath(value);
}
} // namespace
@@ -248,11 +241,11 @@ bool PathProvider(int key, base::FilePath* result) {
create_dir = true;
break;
case chrome::DIR_INTERNAL_PLUGINS:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "ALL"))
return false;
break;
case chrome::DIR_PEPPER_FLASH_PLUGIN:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
return false;
cur = cur.Append(kPepperFlashBaseDirectory);
break;
@@ -285,7 +278,7 @@ bool PathProvider(int key, base::FilePath* result) {
cur = cur.Append(FILE_PATH_LITERAL("script.log"));
break;
case chrome::FILE_FLASH_PLUGIN:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "FILEFLASH"))
return false;
cur = cur.Append(kInternalFlashPluginFileName);
break;
@@ -295,7 +288,7 @@ bool PathProvider(int key, base::FilePath* result) {
cur = cur.Append(chrome::kPepperFlashPluginFilename);
break;
case chrome::FILE_EFFECTS_PLUGIN:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "FILE_EFFECTS"))
return false;
cur = cur.Append(kEffectsPluginFileName);
break;
@@ -308,7 +301,7 @@ bool PathProvider(int key, base::FilePath* result) {
// We currently need a path here to look up whether the plugin is disabled
// and what its permissions are.
case chrome::FILE_NACL_PLUGIN:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "NACL"))
return false;
cur = cur.Append(kInternalNaClPluginFileName);
break;
@@ -343,7 +336,7 @@ bool PathProvider(int key, base::FilePath* result) {
cur = cur.DirName();
}
#else
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "PNACL"))
return false;
#endif
cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
@@ -372,7 +365,7 @@ bool PathProvider(int key, base::FilePath* result) {
// In the component case, this is the source adapter. Otherwise, it is the
// actual Pepper module that gets loaded.
case chrome::FILE_WIDEVINE_CDM_ADAPTER:
- if (!GetInternalPluginsDirectory(&cur))
+ if (!GetInternalPluginsDirectory(&cur, "WIDEVINE"))
return false;
cur = cur.AppendASCII(kWidevineCdmAdapterFileName);
break;

View file

@ -1,21 +1,21 @@
# This file is autogenerated from update.sh in the parent directory.
{
dev = {
version = "41.0.2272.16";
sha256 = "14l3l5gcjqszqjb3zmwxsyfci495fi315sznvm2n2ark24mf03yq";
sha256bin32 = "0xqhzlmbyh5w678j7iwssd81z1bpggpzxni1y79xn5lhc26c50jd";
sha256bin64 = "0c9j75xqv4jx57asiaadarz714h1adscvb4h5ng7mbmr268qp6f2";
version = "42.0.2305.3";
sha256 = "00338x1x78wcvaxcnnq5cng30450gsyqnlwplgyq7zjsrpqpprvn";
sha256bin32 = "1xxmyfmdksqpwwf3wxhxrxvqnvjxlwkhkrdzkmra7d74hz7mqjz7";
sha256bin64 = "0q4hvvkjzy46x9hfhchywakzrd0jfwhxxsv96cz3yfcqwasf42x7";
};
beta = {
version = "41.0.2272.16";
sha256 = "14l3l5gcjqszqjb3zmwxsyfci495fi315sznvm2n2ark24mf03yq";
sha256bin32 = "0xqhzlmbyh5w678j7iwssd81z1bpggpzxni1y79xn5lhc26c50jd";
sha256bin64 = "0c9j75xqv4jx57asiaadarz714h1adscvb4h5ng7mbmr268qp6f2";
version = "41.0.2272.64";
sha256 = "0jq864636527fpnrkdaalp73hjcd581imdk13bxfi6g4ic0sizkg";
sha256bin32 = "12sisp6bk6qvgikzxi616d8cnrrgs2593kyq7sv3276wjz34a07m";
sha256bin64 = "1vz89r43byd0shjvr6bvmwlsh97fx281hlzfv49q9k49piyfylgp";
};
stable = {
version = "40.0.2214.91";
sha256 = "0ja1wvjn0g8xs20j87s3gl9h70yzx8rfa3k126wnl9gay6gxlbzp";
sha256bin32 = "0mfg66s7fqx6v8n0hilsw40i5ximasbqhrmw4fpnpa0x0i77bphj";
sha256bin64 = "14lqm8m937b9sl5k7sc939aar76ij9790c807yahk6q36mfyd269";
version = "40.0.2214.115";
sha256 = "19d6zd71w3zvqwb0ncdapfwkckjgqmb1jfg228jvaispp9nvjq92";
sha256bin32 = "1sv8sj0xp14q5693jcwwipinx539d5rgvhqcxm6b030024jjh8sr";
sha256bin64 = "1zgb9g6fr29i7f9s1s1dcih1qjiz62ir90k0fsam9df99gzmmyc0";
};
}

View file

@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
homepage = https://github.com/airbnb/chronos;
homepage = http://airbnb.github.io/chronos;
license = licenses.asl20;
description = "Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules";
maintainers = with maintainers; [ offline ];

View file

@ -0,0 +1,30 @@
{ stdenv, makeWrapper, jdk, mesos, fetchurl }:
stdenv.mkDerivation rec {
name = "marathon-v${version}";
version = "0.8.0";
src = fetchurl {
url = "https://downloads.mesosphere.com/marathon/v${version}/marathon-${version}.tgz";
sha256 = "794c915e205aebd8273f2b40c6faea1517fc683cdc0169194c4a67ce8779fa41";
};
buildInputs = [ makeWrapper jdk mesos ];
installPhase = ''
mkdir -p $out/{bin,libexec/marathon}
cp target/scala-*/marathon*.jar $out/libexec/marathon/${name}.jar
makeWrapper ${jdk.jre}/bin/java $out/bin/marathon \
--add-flags "-Xmx512m -jar $out/libexec/marathon/${name}.jar" \
--prefix "MESOS_NATIVE_LIBRARY" : "$MESOS_NATIVE_LIBRARY"
'';
meta = with stdenv.lib; {
homepage = https://mesosphere.github.io/marathon;
description = "Cluster-wide init and control system for services in cgroups or Docker containers.";
license = licenses.asl20;
maintainers = with maintainers; [ rushmorem ];
platforms = platforms.linux;
};
}

View file

@ -25,9 +25,9 @@ let
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
else throw "Dropbox client for: ${stdenv.system} not supported!";
version = "2.10.52";
sha256 = if stdenv.system == "x86_64-linux" then "0fn2frp00f0p0r6v5czzxfbw1ifan9w12k3ry8gq1m4bvx6g27p6"
else if stdenv.system == "i686-linux" then "1rm5kspb53zqgaz48v8x3ffk1mcfi0nh0zsmsdniyrgqbis5mmm9"
version = "3.2.6";
sha256 = if stdenv.system == "x86_64-linux" then "1pih4dgqsxx9s8vjmn49qdrrgfkkw8wl3m68x7mdz6wqb4lj3sry"
else if stdenv.system == "i686-linux" then "0nnxj32xvhn312a16fhhxjf0brbivaw6m0s8d8qdn44qmg9fr4bz"
else throw "Dropbox client for: ${stdenv.system} not supported!";
# relative location where the dropbox libraries are stored

View file

@ -5,19 +5,19 @@
# http://marc.info/?l=silc-devel&m=125610477802211
let
basename = "silc-client-1.1.8";
basename = "silc-client-1.1.11";
in
stdenv.mkDerivation {
name = basename + stdenv.lib.optionalString enablePlugin "-irssi-plugin";
src = fetchurl {
url = "http://silcnet.org/download/client/sources/${basename}.tar.bz2";
sha256 = "1qnk35g8sbnfps3bq2k9sy0ymlsijh5n8z59m2ccq4pkmqbfqgv2";
url = "mirror://sourceforge/silc/silc/client/sources/${basename}.tar.bz2";
sha256 = "13cp3fmdnj8scjak0d2xal3bfvs2k7ssrwdhp0zl6jar5rwc7prn";
};
dontDisableStatic = true;
enableParallelBuilding = true;
patches = [ ./server_setup.patch ];
dontDisableStatic = true;
configureFlags = "--with-ncurses=${ncurses}";

View file

@ -29,7 +29,10 @@ in with stdenv; mkDerivation rec {
enableParallelBuilding = true;
buildInputs = [ cmake makeWrapper qt ]
buildInputs = [ cmake makeWrapper ]
++ (if useQt5 then [ qt.base ] else [ qt ])
++ (if useQt5 && (monolithic || daemon) then [ qt.script ] else [])
++ (if useQt5 && previews then [ qt.webkit qt.webkitwidgets ] else [])
++ lib.optional withKDE kdelibs
++ lib.optional withKDE automoc4
++ lib.optional withKDE phonon
@ -58,17 +61,17 @@ in with stdenv; mkDerivation rec {
meta = with stdenv.lib; {
homepage = http://quassel-irc.org/;
description = "Qt4/KDE4 distributed IRC client suppporting a remote daemon";
description = "Qt4/KDE4/Qt5 distributed IRC client suppporting a remote daemon";
longDescription = ''
Quassel IRC is a cross-platform, distributed IRC client,
meaning that one (or multiple) client(s) can attach to
and detach from a central core -- much like the popular
combination of screen and a text-based IRC client such
as WeeChat, but graphical (based on Qt4/KDE4).
as WeeChat, but graphical (based on Qt4/KDE4 or Qt5).
'';
license = stdenv.lib.licenses.gpl3;
maintainers = [ maintainers.phreedom ];
maintainers = with maintainers; [ phreedom ttuegel ];
repositories.git = https://github.com/quassel/quassel.git;
inherit (qt.meta) platforms;
inherit ((if useQt5 then qt.base else qt).meta) platforms;
};
}

View file

@ -4,12 +4,12 @@ with goPackages;
buildGoPackage rec {
name = "syncthing-${version}";
version = "0.10.22";
version = "0.10.23";
goPackagePath = "github.com/syncthing/syncthing";
src = fetchgit {
url = "git://github.com/syncthing/syncthing.git";
rev = "refs/tags/v${version}";
sha256 = "d96eff0dac5d542388d643f4b9e29ade6f7c52a570a00a48e7b5f81882d719dc";
sha256 = "1f1a83d9e5f1b235d62ecbd86d3afb682d88c2471354ad308f00d2ef668e797e";
};
subPackages = [ "cmd/syncthing" ];

View file

@ -2,7 +2,7 @@
let
download_root = "http://homebank.free.fr/public/";
name = "homebank-4.6.3";
name = "homebank-5.0.0";
lastrelease = download_root + name + ".tar.gz";
oldrelease = download_root + "old/" + name + ".tar.gz";
in
@ -12,7 +12,7 @@ stdenv.mkDerivation {
src = fetchurl {
urls = [ lastrelease oldrelease ];
sha256 = "0j39788xz9m7ic277phffznbl35c1dm1g7dgq83va9nni6vipqzn";
sha256 = "062r61ryn2v1sxyw6zymhxnvnhk19wsr4nyzmiiwx5wrk0nk9m18";
};
buildInputs = [ pkgconfig gtk libofx intltool ];

View file

@ -4,10 +4,10 @@ let
xpi = fetchurl {
url = "https://download.zotero.org/extension/zotero-${version}.xpi";
sha256 = "0di6d3s95fmb4pmghl4ix7lq5pmqrddd4y8dmnpsrhbj0awzxw3s";
sha256 = "15wdbwnaxs748psjnxw40wld45npjjmvwx70c0jx2p63y6ks2gcx";
};
version = "4.0.25.2";
version = "4.0.26";
in
stdenv.mkDerivation {
@ -16,7 +16,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://github.com/zotero/zotero-standalone-build/archive/${version}.tar.gz";
sha256 = "0wjmpz7fy3ij8q22s885kv8xrgc3yx7f1mwrvb6lnpc2xl54rl5g";
sha256 = "11gbislxkhfycnii05v6d8h9qdp5rk5xag7kdnsih67gicnn467g";
};
nativeBuildInputs = [ perl unzipNLS ];

View file

@ -0,0 +1,36 @@
{stdenv, fetchurl, makeWrapper, jre, gcc, valgrind}:
# gcc and valgrind are not strict dependencies, they could be made
# optional. They are here because plm can only help you learn C if you
# have them installed.
stdenv.mkDerivation rec {
major = "2";
minor = "5";
version = "${major}-${minor}";
name = "plm-${version}";
src = fetchurl {
url = "http://webloria.loria.fr/~quinson/Teaching/PLM/plm-${major}_${minor}.jar";
sha256 = "0m17cxa3nxi2cbswqvlfzp0mlfi3wrkw8ry2xhkxy6aqzm2mlgcc";
name = "${name}.jar";
};
buildInputs = [ makeWrapper jre gcc valgrind ];
phases = [ "installPhase" ];
installPhase = ''
mkdir -p "$prefix/bin"
makeWrapper ${jre}/bin/java $out/bin/plm \
--add-flags "-jar $src" \
--prefix PATH : "$PATH"
'';
meta = with stdenv.lib; {
description = "Free cross-platform programming exerciser";
Homepage = http://webloria.loria.fr/~quinson/Teaching/PLM/;
license = licenses.gpl3;
maintainers = [ maintainers.DamienCassou ];
platforms = stdenv.lib.platforms.all;
};
}

View file

@ -8,7 +8,7 @@ let
gitBase = lib.makeOverridable (import ./git) {
inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep
asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl
tk makeWrapper subversionClient gzip;
tk makeWrapper subversionClient gzip libiconv;
texinfo = texinfo5;
svnSupport = false; # for git-svn support
guiSupport = false; # requires tcl/tk
@ -73,6 +73,7 @@ rec {
hub = import ./hub {
inherit go;
inherit stdenv fetchgit;
inherit (darwin) Security;
};
gitFastExport = import ./fast-export {

View file

@ -1,6 +1,6 @@
{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio, gnugrep, gzip
, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
, libxslt, tcl, tk, makeWrapper
, libxslt, tcl, tk, makeWrapper, libiconv
, svnSupport, subversionClient, perlLibs, smtpPerlLibs
, guiSupport
, withManual ? true
@ -31,7 +31,7 @@ stdenv.mkDerivation {
./ssl-cert-file.patch
];
buildInputs = [curl openssl zlib expat gettext cpio makeWrapper]
buildInputs = [curl openssl zlib expat gettext cpio makeWrapper libiconv]
++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
docbook_xsl docbook_xml_dtd_45 libxslt ]
++ stdenv.lib.optionals guiSupport [tcl tk];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchgit, go }:
{ stdenv, fetchgit, go, Security }:
stdenv.mkDerivation rec {
name = "hub-${version}";
@ -10,11 +10,13 @@ stdenv.mkDerivation rec {
sha256 = "1f6r8vlwnmqmr85drfv24vhqx1aacz6s83c2i804v9997n0wrwfm";
};
buildInputs = [ go ];
buildInputs = [ go ] ++ stdenv.lib.optional stdenv.isDarwin Security;
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
buildPhase = ''
patchShebangs .
sh script/build
'';

View file

@ -7,7 +7,7 @@ let
url = "https://github.com/gitlabhq/gitlabhq.git";
rev = "477743a154e85c411e8a533980abce460b5669fc";
fetchSubmodules = false;
sha256 = "0jl1w9d46v8hc27h9s380ha07m3fd2zpflj4q9vywwcf570ahj7x";
sha256 = "1gk77j886w6zvw5cawpgja6f87qirmjx7y4g5i3psxm4j67llxdp";
};
env = bundlerEnv {

View file

@ -52,7 +52,7 @@
{ stdenv, fetchurl, gtk, libglade, libxml2, libraw1394, libsamplerate, libdv
, pkgconfig, perl, perlXMLParser, libavc1394, libiec61883, libXv, gettext
, libX11, glib, cairo, intltool, ffmpeg
, libX11, glib, cairo, intltool, ffmpeg, libv4l
}:
stdenv.mkDerivation {
@ -64,7 +64,7 @@ stdenv.mkDerivation {
};
buildInputs = [ gtk libglade libxml2 libraw1394 libsamplerate libdv
pkgconfig perl perlXMLParser libavc1394 libiec61883 intltool libXv gettext libX11 glib cairo ffmpeg ]; # TODOoptional packages
pkgconfig perl perlXMLParser libavc1394 libiec61883 intltool libXv gettext libX11 glib cairo ffmpeg libv4l ]; # TODOoptional packages
configureFlags = "--enable-local-ffmpeg=no";
#preConfigure = "
@ -72,6 +72,9 @@ stdenv.mkDerivation {
# ex
#";
patches = [ ./kino-1.3.4-v4l1.patch ./kino-1.3.4-libav-0.7.patch ./kino-1.3.4-libav-0.8.patch ]; #./kino-1.3.4-libavcodec-pkg-config.patch ];
postInstall = "
rpath=`patchelf --print-rpath \$out/bin/kino`;
for i in $\buildInputs; do

View file

@ -0,0 +1,60 @@
--- kino-1.3.4.orig/src/frame.cc 2011-07-17 14:54:59.089481638 +0200
+++ kino-1.3.4/src/frame.cc 2011-07-17 15:09:23.199481714 +0200
@@ -1063,7 +1063,12 @@
AVPicture dest;
int got_picture;
- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
+ AVPacket pkt;
+ av_init_packet(&pkt);
+ pkt.data = data;
+ pkt.size = GetFrameSize();
+
+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
if ( got_picture )
{
avpicture_fill( &dest, static_cast<uint8_t*>( rgb ), PIX_FMT_RGB24, GetWidth(), GetHeight() );
@@ -1123,7 +1128,12 @@
AVPicture output;
int got_picture;
- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
+ AVPacket pkt;
+ av_init_packet(&pkt);
+ pkt.data = data;
+ pkt.size = GetFrameSize();
+
+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
if ( got_picture )
{
avpicture_fill( &output, static_cast<uint8_t*>( yuv ), PIX_FMT_YUV422, GetWidth(), GetHeight() );
@@ -1156,7 +1166,12 @@
AVFrame *frame = avcodec_alloc_frame();
int got_picture;
- avcodec_decode_video( libavcodec, frame, &got_picture, data, GetFrameSize() );
+ AVPacket pkt;
+ av_init_packet(&pkt);
+ pkt.data = data;
+ pkt.size = GetFrameSize();
+
+ avcodec_decode_video2( libavcodec, frame, &got_picture, &pkt );
int width = GetWidth(), height = GetHeight();
@@ -1319,12 +1334,12 @@
#if defined(HAVE_LIBAVCODEC)
if ( avformatEncoder == NULL )
{
- avformatEncoder = av_alloc_format_context();
+ avformatEncoder = avformat_alloc_context();
if ( avformatEncoder )
{
- avformatEncoder->oformat = guess_format( "dv", NULL, NULL );
+ avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
AVStream* vst = av_new_stream( avformatEncoder, 0 );
- vst->codec->codec_type = CODEC_TYPE_VIDEO;
+ vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
vst->codec->codec_id = CODEC_ID_DVVIDEO;
vst->codec->bit_rate = 25000000;
vst->start_time = 0;

View file

@ -0,0 +1,57 @@
--- kino-1.3.4.orig/src/frame.cc 2012-05-14 19:55:42.153772418 -0700
+++ kino-1.3.4/src/frame.cc 2012-05-14 20:28:34.448838653 -0700
@@ -101,8 +101,9 @@
#if defined(HAVE_LIBAVCODEC)
pthread_mutex_lock( &avcodec_mutex );
av_register_all();
- libavcodec = avcodec_alloc_context();
- avcodec_open( libavcodec, avcodec_find_decoder( CODEC_ID_DVVIDEO ) );
+ libavcodec = avcodec_alloc_context3(NULL);
+ avcodec_open2( libavcodec,
+ avcodec_find_decoder( CODEC_ID_DVVIDEO ), NULL );
pthread_mutex_unlock( &avcodec_mutex );
data = ( unsigned char* ) av_mallocz( 144000 );
#if defined(HAVE_SWSCALE)
@@ -1338,7 +1339,7 @@
if ( avformatEncoder )
{
avformatEncoder->oformat = av_guess_format( "dv", NULL, NULL );
- AVStream* vst = av_new_stream( avformatEncoder, 0 );
+ AVStream* vst = avformat_new_stream( avformatEncoder, NULL );
vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
vst->codec->codec_id = CODEC_ID_DVVIDEO;
vst->codec->bit_rate = 25000000;
@@ -1364,12 +1365,10 @@
vst->sample_aspect_ratio = avcodecEncoder->sample_aspect_ratio;
#endif
avcodecEncoder->thread_count = 2;
- avcodec_thread_init( avcodecEncoder, avcodecEncoder->thread_count );
avcodecEncoder->time_base= isPAL ? ( AVRational ){ 1, 25 } : ( AVRational ){ 1001, 30000 };
avcodecEncoder->pix_fmt = isPAL ? PIX_FMT_YUV420P : PIX_FMT_YUV411P;
avcodecEncoder->flags |= CODEC_FLAG_INTERLACED_DCT;
- av_set_parameters( avformatEncoder, NULL );
- avcodec_open( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ) );
+ avcodec_open2( avcodecEncoder, avcodec_find_encoder( CODEC_ID_DVVIDEO ), NULL );
av_new_packet( &avpacketEncoder, 144000 );
tempImage = ( uint8_t* ) av_malloc(
avpicture_get_size( avcodecEncoder->pix_fmt, avcodecEncoder->width, avcodecEncoder->height ) );
@@ -1475,16 +1474,16 @@
// Encode
bytesInFrame = avcodec_encode_video( avcodecEncoder, avpacketEncoder.data, size, output );
- url_open_buf( &avformatEncoder->pb, data, bytesInFrame, URL_WRONLY );
+ avformatEncoder->pb = avio_alloc_context(data, bytesInFrame, 0, NULL, NULL, NULL, NULL);
avpacketEncoder.size = bytesInFrame;
if ( !isEncoderHeaderWritten )
{
- av_write_header( avformatEncoder );
+ avformat_write_header( avformatEncoder, NULL );
isEncoderHeaderWritten = true;
}
av_write_frame( avformatEncoder, &avpacketEncoder );
#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(0<<8)+0)
- url_close_buf( avformatEncoder->pb );
+ avio_close( avformatEncoder->pb );
#else
url_close_buf( &avformatEncoder->pb );
#endif

View file

@ -0,0 +1,11 @@
--- a/kino-1.3.4/configure.in 2009-09-08 02:35:23.000000000 -0400
+++ b/kino-1.3.4/configure.in 2014-01-27 14:53:01.366063037 -0500
@@ -221,7 +221,7 @@
if (test "x$avcodec_include" != x) || (test "x$avcodec_lib" != x) ; then
local_legacy_ffmpeg_test
else
- PKG_CHECK_MODULES(AVCODEC, libavformat,
+ PKG_CHECK_MODULES(AVCODEC, [libavcodec libavformat libavutil],
[
AC_DEFINE(HAVE_LIBAVCODEC, 1, [Enable FFMPEG libavcodec])
AC_SUBST(AVCODEC_LIBS)

View file

@ -0,0 +1,21 @@
no-1.3.3.orig/ffmpeg/libavdevice/v4l.c 2011-05-17 02:20:37.161004916 +0400
+++ kino-1.3.3.orig/ffmpeg/libavdevice/v4l.c 2011-05-17 02:21:57.302377529 +0400
@@ -26,7 +26,7 @@
#include <sys/mman.h>
#include <sys/time.h>
#define _LINUX_TIME_H 1
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
#include <time.h>
typedef struct {
--- kino-1.3.3.orig/src/v4l.h 2011-05-17 02:20:38.896969666 +0400
+++ kino-1.3.3.orig/src/v4l.h 2011-05-17 02:21:39.922730395 +0400
@@ -40,7 +40,7 @@
#define _DEVICE_H_
#define _LINUX_TIME_H
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
#include "displayer.h"

View file

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
libkate libtiger libv4l samba liboggz libass libdvbpsi libva
xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
libdc1394 libraw1394 libopus libebml libmatroska libvdpau
] ++ [(if withQt5 then qt5 else qt4)];
] ++ (if withQt5 then with qt5; [ base ] else [qt4]);
nativeBuildInputs = [ pkgconfig ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper,
{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge-utils, devicemapper,
btrfsProgs, iptables, bash, e2fsprogs, xz}:
stdenv.mkDerivation rec {
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "0d98c7dfzv1gj5ssbyln4pbkbml6rrmy22v5v4ricbsx9qhhwc1l";
};
buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables e2fsprogs ];
buildInputs = [ makeWrapper go sqlite lxc iproute bridge-utils devicemapper btrfsProgs iptables e2fsprogs ];
dontStrip = true;

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, which, zlib, pkgconfig, SDL, openssl
, libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2
, lvm2, utillinux, procps, texinfo, perl, pythonPackages
, glib, bridge_utils, xlibs, pixman, iproute, udev, bison
, glib, bridge-utils, xlibs, pixman, iproute, udev, bison
, flex, cmake, ocaml, ocamlPackages, figlet, libaio, yajl
, checkpolicy, transfig, glusterfs, fetchgit, xz }:
@ -92,7 +92,7 @@ stdenv.mkDerivation {
[ which zlib pkgconfig SDL openssl libuuid gettext ncurses
dev86 iasl pciutils bzip2 xz texinfo perl yajl
pythonPackages.python pythonPackages.wrapPython
glib bridge_utils pixman iproute udev bison xlibs.libX11
glib bridge-utils pixman iproute udev bison xlibs.libX11
flex ocaml ocamlPackages.findlib figlet libaio
checkpolicy pythonPackages.markdown transfig
glusterfs cmake

View file

@ -5,14 +5,12 @@
# beware of null defaults, as the parameters *are* supplied by callPackage by default
}:
let version = "1.6.0"; in
stdenv.mkDerivation rec {
name = "weston-${version}";
name = "weston-${wayland.version}";
src = fetchurl {
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
sha256 = "0kb1mb54l7adihmr2y77xgsdb00dvifnq886q2mmy0mz7g8sagnw";
sha256 = "1kb6a494j56sh7iy43xwkjlr3bh0nnkq4bkimwj6qirzbya12i8w";
};
buildInputs = [

View file

@ -36,9 +36,10 @@ let
writeManifestXML = filename:
let
generateStores = mapAttrs (n: pkg: pkg.store);
manifest = generateStores (importManifest filename { mirror = ""; });
manifest = importManifest filename { mirror = ""; };
stores = generateStores manifest;
in
writeText "manifest.xml" (builtins.toXML manifest);
writeText "manifest.xml" (builtins.toXML stores);
/* Generate a set of Nix expressions for the collection, given a
* manifest.nix, dependencies.nix, and renames.nix in the same directory.
@ -69,9 +70,8 @@ let
in derive (postResolve (resolve (preResolve packages)));
pkgNameVersion = pkg: nameFromURL pkg.name ".tar";
pkgAttrName = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).name;
pkgVersion = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).version;
pkgAttrName = pkg: (builtins.parseDrvName pkg.name).name;
pkgVersion = pkg: (builtins.parseDrvName pkg.name).version;
depAttrNames = [
"buildInputs" "nativeBuildInputs"
@ -112,7 +112,7 @@ let
builtins.listToAttrs
(map (p: nameValuePair (toLower (pkgAttrName p)) p) manifest);
orig = import path { inherit mirror; };
orig = import path { inherit stdenv fetchurl mirror; };
in
fold (f: x: f x) orig [ withNames bestVersions ];
@ -134,11 +134,10 @@ let
deps = import (path + "/dependencies.nix") {};
mkPkg = pkg: pkgManifest:
mkPkg = name: manifest:
{
name = nameFromURL pkgManifest.name ".tar";
src = { inherit (pkgManifest) sha256 name url; };
inherit (deps."${pkg}")
inherit (manifest) name src;
inherit (deps."${name}")
buildInputs nativeBuildInputs propagatedBuildInputs
propagatedNativeBuildInputs propagatedUserEnvPkgs;
};

View file

@ -6,7 +6,7 @@
cat >../manifest.nix <<EOF
# This file is generated automatically. DO NOT EDIT!
{ mirror }:
{ stdenv, fetchurl, mirror }:
[
EOF
@ -24,10 +24,13 @@ workdir=$(pwd)
store=$(@nix@/bin/nix-store --print-fixed-path sha256 "$sha256" "$name")
cat >>../manifest.nix <<EOF
{
url = "\${mirror}/${url}";
sha256 = "${sha256}";
name = "${name}";
name = stdenv.lib.nameFromURL "${name}" ".tar";
store = "${store}";
src = fetchurl {
url = "\${mirror}/${url}";
sha256 = "${sha256}";
name = "${name}";
};
}
EOF
fi

View file

@ -296,19 +296,20 @@ rec {
cran = [
http://cran.r-project.org/
http://cran.rstudio.com/
http://cran.usthb.dz/
http://mirror.fcaglp.unlp.edu.ar/CRAN/
http://r.mirror.mendoza-conicet.gob.ar/
http://cran.csiro.au/
http://cran.ms.unimelb.edu.au/
http://cran.at.r-project.org/
http://www.freestatistics.org/cran/
http://nbcgib.uesc.br/mirrors/cran/
http://cran-r.c3sl.ufpr.br/
http://cran.fiocruz.br/
http://www.vps.fmvz.usp.br/CRAN/
http://brieger.esalq.usp.br/CRAN/
http://cran.stat.sfu.ca/
http://mirror.its.dal.ca/cran/
http://probability.ca/cran/
http://cran.utstat.utoronto.ca/
http://cran.skazkaforyou.com/
http://cran.parentingamerica.com/
http://dirichlet.mat.puc.cl/
@ -318,30 +319,38 @@ rec {
http://mirrors.xmu.edu.cn/CRAN/
http://www.laqee.unal.edu.co/CRAN/
http://www.icesi.edu.co/CRAN/
http://mirrors.nic.cz/R/
http://mirrors.dotsrc.org/cran/
http://cran.espol.edu.ec/
http://cran.salud.gob.sv/
http://ftp.eenet.ee/pub/cran/
http://cran.univ-lyon1.fr/
http://mirror.ibcp.fr/pub/CRAN/
http://ftp.igh.cnrs.fr/pub/CRAN/
http://cran.irsn.fr/
http://cran.univ-paris1.fr/
http://cran.cardse.net/
http://mirrors.softliste.de/cran/
http://cran.r-mirror.de/
http://ftp5.gwdg.de/pub/misc/cran/
http://cran.cc.uoc.gr/
http://cran.sciserv.eu/
http://cran.uni-muenster.de/
http://cran.cc.uoc.gr/mirrors/CRAN/
http://cran.rapporter.net/
http://cran.hafro.is/
http://ftp.iitm.ac.in/cran/
http://cran.repo.bppt.go.id/
http://cran.unej.ac.id/
http://cran.um.ac.ir/
http://ftp.heanet.ie/mirrors/cran.r-project.org/
http://cran.mirror.garr.it/mirrors/CRAN/
http://cran.stat.unipd.it/
http://dssm.unipa.it/CRAN/
http://essrc.hyogo-u.ac.jp/cran/
http://cran.md.tsukuba.ac.jp/
http://cran.ism.ac.jp/
http://cran.md.tsukuba.ac.jp/
http://cran.nexr.com/
http://biostat.cau.ac.kr/CRAN/
http://healthstat.snu.ac.kr/CRAN/
http://cran.biodisk.org/
http://rmirror.lau.edu.lb/
http://cran.itam.mx/
http://www.est.colpos.mx/R-mirror/
http://cran.xl-mirror.nl/
@ -356,15 +365,18 @@ rec {
http://cran.fyxm.net/
http://r.adu.org.za/
http://cran.mirror.ac.za/
http://ftp.cixug.es/CRAN/
http://cran.es.r-project.org/
http://ftp.sunet.se/pub/lang/CRAN/
http://stat.ethz.ch/CRAN/
http://cran.cs.pu.edu.tw/
http://ftp.yzu.edu.tw/CRAN/
http://cran.csie.ntu.edu.tw/
http://mirrors.psu.ac.th/pub/cran/
http://cran.pau.edu.tr/
http://www.stats.bris.ac.uk/R/
http://mirrors.ebi.ac.uk/CRAN/
http://cran.ma.imperial.ac.uk/
http://mirror.mdx.ac.uk/R/
http://star-www.st-andrews.ac.uk/cran/
http://cran.cnr.berkeley.edu/
http://cran.stat.ucla.edu/
@ -384,7 +396,6 @@ rec {
http://cran.cs.wwu.edu/
http://camoruco.ing.uc.edu.ve/cran/
http://cran.vinastat.com/
http://lib.stat.cmu.edu/
];
# Hackage mirrors

View file

@ -0,0 +1,104 @@
# generic builder for Emacs packages
{ stdenv, fetchurl, emacs, texinfo
, extension ? (self : super : {})
}:
{ pname
, version
, src
, packageRequires ? []
, extraBuildInputs ? []
, files ? null
, fileSpecs ? [ "*.el" "*.el.in" "dir"
"*.info" "*.texi" "*.texinfo"
"doc/dir" "doc/*.info" "doc/*.texi" "doc/*.texinfo"
]
, meta ? {}
, preUnpack ? "", postUnpack ? ""
, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
, configureFlags ? [], preConfigure ? "", postConfigure ? ""
, buildPhase ? "", preBuild ? "", postBuild ? ""
, preInstall ? "", postInstall ? ""
, doCheck ? false, checkPhase ? "", preCheck ? "", postCheck ? ""
, preFixup ? "", postFixup ? ""
}:
let
inherit (stdenv.lib) concatStringsSep optionalAttrs;
packageBuild = fetchurl {
url = https://raw.githubusercontent.com/milkypostman/melpa/12a862e5c5c62ce627dab83d7cf2cca6e8b56c47/package-build.el;
sha256 = "1nviyyprypz7nmam9rwli4yv3kxh170glfbznryrp4czxkrjjdhk";
};
fname = "${pname}-${version}";
targets = concatStringsSep " " (if files == null then fileSpecs else files);
defaultMeta = {
broken = false;
homepage = "http://melpa.org/#/${pname}";
platforms = emacs.meta.platforms;
};
in
stdenv.mkDerivation ({
name = "emacs-${fname}";
inherit src packageBuild;
buildInputs = [emacs texinfo] ++ packageRequires ++ extraBuildInputs;
propagatedBuildInputs = packageRequires;
propagatedUserEnvPkgs = packageRequires;
setupHook = ./setup-hook.sh;
buildPhase = ''
runHook preBuild
emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
-f melpa2nix-build-package \
${pname} ${version} ${targets}
runHook postBuild
'';
installPhase = ''
runHook preInstall
emacs --batch -Q -l $packageBuild -l ${./melpa2nix.el} \
-f melpa2nix-install-package \
${fname}.* $out/share/emacs/site-lisp/elpa
runHook postInstall
'';
meta = defaultMeta // meta;
}
// optionalAttrs (preUnpack != "") { inherit preUnpack; }
// optionalAttrs (postUnpack != "") { inherit postUnpack; }
// optionalAttrs (configureFlags != []) { inherit configureFlags; }
// optionalAttrs (patches != []) { inherit patches; }
// optionalAttrs (patchPhase != "") { inherit patchPhase; }
// optionalAttrs (prePatch != "") { inherit prePatch; }
// optionalAttrs (postPatch != "") { inherit postPatch; }
// optionalAttrs (preConfigure != "") { inherit preConfigure; }
// optionalAttrs (postConfigure != "") { inherit postConfigure; }
// optionalAttrs (buildPhase != "") { inherit buildPhase; }
// optionalAttrs (preBuild != "") { inherit preBuild; }
// optionalAttrs (postBuild != "") { inherit postBuild; }
// optionalAttrs (doCheck) { inherit doCheck; }
// optionalAttrs (checkPhase != "") { inherit checkPhase; }
// optionalAttrs (preCheck != "") { inherit preCheck; }
// optionalAttrs (postCheck != "") { inherit postCheck; }
// optionalAttrs (preInstall != "") { inherit preInstall; }
// optionalAttrs (postInstall != "") { inherit postInstall; }
// optionalAttrs (preFixup != "") { inherit preFixup; }
// optionalAttrs (postFixup != "") { inherit postFixup; }
)

View file

@ -0,0 +1,36 @@
(require 'package)
(package-initialize)
(require 'package-build)
(setq package-build-working-dir (expand-file-name ".")
package-build-archive-dir (expand-file-name "."))
(defun melpa2nix-install-package ()
(if (not noninteractive)
(error "`melpa2nix-install-package' is to be used only with -batch"))
(pcase command-line-args-left
(`(,archive ,elpa)
(progn (setq package-user-dir elpa)
(package-install-file archive)))))
(defun melpa2nix-build-package ()
(if (not noninteractive)
(error "`melpa2nix-build-package' is to be used only with -batch"))
(pcase command-line-args-left
(`(,package ,version . ,files)
(melpa2nix-package-build-archive package version files))))
(defun melpa2nix-package-build-archive (name version files)
"Build a package archive for package NAME."
(pb/message "\n;;; %s\n" name)
(let* ((start-time (current-time))
(archive-entry (package-build-package name
version
files
package-build-working-dir
package-build-archive-dir)))
(pb/message "Built in %.3fs, finished at %s"
(time-to-seconds (time-since start-time))
(current-time-string))))

View file

@ -0,0 +1,7 @@
addEmacsVars () {
if test -d $1/share/emacs/site-lisp; then
export EMACSLOADPATH="$1/share/emacs/site-lisp:$EMACSLOADPATH"
fi
}
envHooks+=(addEmacsVars)

View file

@ -32,7 +32,7 @@ rec {
} // args);
clangAnalysis = args: nixBuild (
{ inherit clangAnalyzer;
{ inherit clang-analyzer;
doClangAnalysis = true;
} // args);

View file

@ -137,7 +137,7 @@ stdenv.mkDerivation (
buildInputs =
buildInputs ++
(stdenv.lib.optional doCoverageAnalysis args.makeGCOVReport) ++
(stdenv.lib.optional doClangAnalysis args.clangAnalyzer) ++
(stdenv.lib.optional doClangAnalysis args.clang-analyzer) ++
(stdenv.lib.optional doCoverityAnalysis args.cov-build) ++
(stdenv.lib.optional doCoverityAnalysis args.xz);

View file

@ -0,0 +1,28 @@
{ stdenv, fetchurl, pkgconfig, python3, udev }:
let
name = "media-player-info-22";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "http://www.freedesktop.org/software/media-player-info/${name}.tar.gz";
sha256 = "0di3gfx5z8c34yspzyllydr5snzg71r985kbqhrhb1il51qxgrvy";
};
buildInputs = [ udev ];
nativeBuildInputs = [ pkgconfig python3 ];
preConfigure = ''
configureFlags="$configureFlags --with-udevdir=$out/lib/udev"
'';
meta = with stdenv.lib; {
description = "A repository of data files describing media player capabilities";
homepage = "http://www.freedesktop.org/wiki/Software/media-player-info/";
license = with licenses; [ bsd3 ];
maintainer = with maintainers; [ ttuegel ];
};
}

View file

@ -1,143 +0,0 @@
# Maintainer's Notes:
#
# Minor updates:
# 1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
# releases updates that include only the changed packages; in this case,
# multiple URLs can be provided and the results will be merged.
# 2. Run ./manifest.sh and ./dependencies.sh.
# 3. Build and enjoy.
#
# Major updates:
# We prefer not to immediately overwrite older versions with major updates, so
# make a copy of this directory first. After copying, be sure to delete ./tmp
# if it exists. Then follow the minor update instructions.
{ autonix, kf55, pkgs, stdenv, debug ? false }:
with stdenv.lib; with autonix;
let
kf5 = kf55.override { inherit debug; };
mirror = "mirror://kde";
renames =
builtins.removeAttrs
(import ./renames.nix {})
["Backend" "CTest" "KF5Wayland"];
scope =
# packages in this collection
(mapAttrs (dep: name: plasma5."${name}") renames) //
# packages from KDE Frameworks 5
kf5.scope //
# packages pinned to this version of Qt 5
{
PopplerQt5 = (pkgs.poppler.override { inherit (kf5) qt5; }).poppler_qt5;
} //
# packages from nixpkgs
(with pkgs;
{
inherit epoxy;
Epub = ebook_tools;
Exiv2 = exiv2;
FFmpeg = ffmpeg;
FONTFORGE_EXECUTABLE = fontforge;
Freetype = freetype;
LibSSH = libssh;
ModemManager = modemmanager;
NetworkManager = networkmanager;
PulseAudio = pulseaudio;
Taglib = taglib;
Xapian = xapian;
}
);
preResolve = super:
fold (f: x: f x) super
[
(userEnvPkg "SharedMimeInfo")
(userEnvPkg "SharedDesktopOntologies")
(blacklist ["kwayland"])
];
postResolve = super:
(builtins.removeAttrs super ["breeze"]) // {
breeze-qt4 = with pkgs; super.breeze // {
name = "breeze-qt4-" + (builtins.parseDrvName super.breeze.name).version;
buildInputs = [ xlibs.xproto kde4.kdelibs qt4 ];
nativeBuildInputs = [ cmake pkgconfig ];
cmakeFlags =
[
"-DUSE_KDE4=ON"
"-DQT_QMAKE_EXECUTABLE=${qt4}/bin/qmake"
];
};
breeze-qt5 = with pkgs; super.breeze // {
name = "breeze-qt5-" + (builtins.parseDrvName super.breeze.name).version;
buildInputs = with kf5;
[
kcompletion kconfig kconfigwidgets kcoreaddons frameworkintegration
ki18n kwindowsystem qt5
];
nativeBuildInputs = [ cmake kf5.extra-cmake-modules pkgconfig ];
cmakeFlags = [ "-DUSE_KDE4=OFF" ];
};
kwin = with pkgs; super.kwin // {
buildInputs = with xlibs;
super.kwin.buildInputs ++ [ libICE libSM libXcursor ];
patches = [ ./kwin/kwin-import-plugin-follow-symlinks.patch ];
};
libkscreen = with pkgs; super.libkscreen // {
buildInputs = with xlibs;
super.libkscreen.buildInputs ++ [libXrandr];
patches = [ ./libkscreen/libkscreen-backend-path.patch ];
};
plasma-desktop = with pkgs; super.plasma-desktop // {
buildInputs = with xlibs;
super.plasma-desktop.buildInputs ++
[ pkgs.libcanberra libxkbfile libXcursor ];
patches = [
./plasma-desktop/plasma-desktop-hwclock.patch
./plasma-desktop/plasma-desktop-zoneinfo.patch
];
preConfigure = ''
substituteInPlace kcms/dateandtime/helper.cpp \
--subst-var-by hwclock "${utillinux}/sbin/hwclock"
'';
};
plasma-workspace = with pkgs; super.plasma-workspace // {
buildInputs = with xlibs;
super.plasma-workspace.buildInputs ++ [ libSM libXcursor pam ];
postInstall = ''
# We use a custom startkde script
rm $out/bin/startkde
'';
};
powerdevil = with pkgs; super.powerdevil // {
buildInputs = with xlibs; super.powerdevil.buildInputs ++ [libXrandr];
};
};
plasma5 = generateCollection ./. {
inherit (kf5) mkDerivation;
inherit mirror preResolve postResolve renames scope;
};
in
plasma5 // {
inherit scope;
startkde = pkgs.callPackage ./startkde {
inherit (kf5) kconfig kinit kservice;
inherit (plasma5) plasma-desktop plasma-workspace;
};
}

View file

@ -1,220 +0,0 @@
# DO NOT EDIT! This file is generated automatically.
{ }:
{
baloo = {
buildInputs = [ "ECM" "KF5" "KF5Abc" "KF5Akonadi" "KF5AkonadiMime" "KF5AkonadiServer" "KF5Auth" "KF5CalendarCore" "KF5Config" "KF5Crash" "KF5FileMetaData" "KF5I18n" "KF5IdleTime" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Mime" "KF5PimUtils" "KF5Solid" "Qt5" "Qt5Test" "Xapian" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5CoreAddons" "KF5FileMetaData" "Qt5Core" "Xapian" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
breeze = {
buildInputs = [ "ECM" "KDE4" "KDecorations" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5FrameworkIntegration" "KF5I18n" "KF5WindowSystem" "PkgConfig" "Qt5" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kde-cli-tools = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDE4Support" "KF5Su" "KF5WindowSystem" "Qt5" "Qt5Test" "Qt5X11Extras" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kdeplasma-addons = {
buildInputs = [ "ECM" "GIO" "GLIB2" "GObject" "IBus" "KDE4" "KF5" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5I18n" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Plasma" "KF5Runner" "KF5Service" "KF5UnitConversion" "KdepimLibs" "Kexiv2" "Lancelot" "Lancelot-Datamodels" "Qt5" "SCIM" "SharedMimeInfo" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
};
kfilemetadata = {
buildInputs = [ "ECM" "EPub" "Exiv2" "FFmpeg" "KF5" "KF5Archive" "KF5I18n" "PopplerQt5" "QMobipocket" "Qt5" "Taglib" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
khelpcenter = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5Init" "KF5KCMUtils" "KF5KDE4Support" "KF5KHtml" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
khotkeys = {
buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5GlobalAccel" "KF5I18n" "KF5KCMUtils" "KF5KDE4Support" "KF5KIO" "KF5Plasma" "KF5XmlGui" "LibKWorkspace" "Qt5" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kinfocenter = {
buildInputs = [ "ECM" "EGL" "KF5" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5Service" "KF5Solid" "KF5Wayland" "KF5WidgetsAddons" "KF5XmlGui" "OpenGL" "OpenGLES" "PCIUTILS" "Qt5" "RAW1394" "X11" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kio-extras = {
buildInputs = [ "ECM" "Exiv2" "JPEG" "KF5" "KF5Archive" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5DNSSD" "KF5DocTools" "KF5I18n" "KF5IconThemes" "KF5KDE4Support" "KF5KHtml" "KF5KIO" "KF5Solid" "LibSSH" "OpenEXR" "Phonon4Qt5" "Qt5" "Qt5Test" "SLP" "Samba" "SharedMimeInfo" ];
nativeBuildInputs = [ "MD5SUM_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ "SharedMimeInfo" ];
};
kmenuedit = {
buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5KDELibs4Support" "KF5KIO" "KF5Sonnet" "KF5XmlGui" "KHotKeysDBusInterface" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
ksysguard = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5CoreAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KDE4Support" "KF5NewStuff" "KF5SysGuard" "Qt5" "Sensors" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwayland = {
buildInputs = [ "ECM" "Qt5" "Wayland" ];
nativeBuildInputs = [ "WAYLAND_SCANNER_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ "Qt5Gui" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwin = {
buildInputs = [ "ECM" "EGL" "KF5" "KF5Activities" "KF5Completion" "KF5Config" "KF5ConfigWidgets" "KF5CoreAddons" "KF5Crash" "KF5Declarative" "KF5DocTools" "KF5GlobalAccel" "KF5I18n" "KF5Init" "KF5KCMUtils" "KF5KIO" "KF5NewStuff" "KF5Notifications" "KF5Plasma" "KF5Service" "KF5Wayland" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "OpenGL" "OpenGLES" "Qt5" "Qt5Multimedia" "Qt5Test" "Wayland" "X11" "XCB" "XKB" "epoxy" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5Config" "KF5Service" "KF5WindowSystem" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
kwrited = {
buildInputs = [ "ECM" "KF5" "KF5DBusAddons" "KF5KDE4Support" "KF5Pty" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libkscreen = {
buildInputs = [ "Doxygen" "ECM" "Qt5" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libksysguard = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5I18n" "KF5KDE4Support" "KF5Plasma" "Qt5" "Qt5X11Extras" "X11" "ZLIB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5DBus" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libmm-qt = {
buildInputs = [ "ECM" "KF5ModemManagerQt" "ModemManager" "Qt4" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
libnm-qt = {
buildInputs = [ "ECM" "KF5NetworkManagerQt" "NetworkManager" "Qt4" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "Qt5Core" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
milou = {
buildInputs = [ "ECM" "KF5" "KF5Declarative" "KF5I18n" "KF5Plasma" "KF5Runner" "KdepimLibs" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
oxygen = {
buildInputs = [ "ECM" "KDE4" "KDE4Workspace" "KDecorations" "KF5" "KF5Completion" "KF5Config" "KF5FrameworkIntegration" "KF5GuiAddons" "KF5I18n" "KF5Service" "KF5WidgetsAddons" "KF5WindowSystem" "PkgConfig" "Qt5" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
oxygen-fonts = {
buildInputs = [ "ECM" ];
nativeBuildInputs = [ "FONTFORGE_EXECUTABLE" "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-desktop = {
buildInputs = [ "ECM" "Fontconfig" "Freetype" "GLIB2" "KDE4" "KDecorations" "KF5" "KF5Activities" "KF5Attica" "KF5Auth" "KF5DocTools" "KF5Emoticons" "KF5I18n" "KF5ItemModels" "KF5KCMUtils" "KF5KDELibs4Support" "KF5NewStuff" "KF5NotifyConfig" "KF5Plasma" "KF5PlasmaQuick" "KF5Runner" "KF5Wallet" "KRunnerAppDBusInterface" "KSMServerDBusInterface" "KWinDBusInterface" "LibKWorkspace" "LibTaskManager" "OpenGL" "OpenGLES" "PackageKitQt5" "Phonon4Qt5" "PulseAudio" "Qt4" "Qt5" "ScreenSaverDBusInterface" "Strigi" "USB" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-nm = {
buildInputs = [ "ECM" "KF5" "KF5Completion" "KF5ConfigWidgets" "KF5CoreAddons" "KF5DBusAddons" "KF5Declarative" "KF5I18n" "KF5IconThemes" "KF5Init" "KF5ItemViews" "KF5KDELibs4Support" "KF5KIO" "KF5ModemManagerQt" "KF5NetworkManagerQt" "KF5Notifications" "KF5Plasma" "KF5Service" "KF5Solid" "KF5Wallet" "KF5WidgetsAddons" "KF5WindowSystem" "KF5XmlGui" "MobileBroadbandProviderInfo" "ModemManager" "NetworkManager" "OpenConnect" "OpenSSL" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-workspace = {
buildInputs = [ "ECM" "KF5" "KF5Activities" "KF5Baloo" "KF5Config" "KF5CoreAddons" "KF5Crash" "KF5DBusAddons" "KF5Declarative" "KF5DocTools" "KF5I18n" "KF5IdleTime" "KF5JsEmbed" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KIO" "KF5NO_MODULE" "KF5NewStuff" "KF5NotifyConfig" "KF5Plasma" "KF5PlasmaQuick" "KF5Runner" "KF5Screen" "KF5Solid" "KF5Su" "KF5SysGuard" "KF5TextEditor" "KF5TextWidgets" "KF5Wallet" "KF5WebKit" "KWinDBusInterface" "Phonon4Qt5" "Prison" "Qalculate" "Qt5" "Qt5DBus" "Qt5Qml" "Qt5Quick" "Qt5Script" "Qt5Test" "X11" "XCB" "ZLIB" "dbusmenu-qt5" "libgps" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ "KF5KIO" "KF5SysGuard" ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
plasma-workspace-wallpapers = {
buildInputs = [ "ECM" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
powerdevil = {
buildInputs = [ "ECM" "KF5" "KF5Auth" "KF5Config" "KF5GlobalAccel" "KF5I18n" "KF5IdleTime" "KF5KDELibs4Support" "KF5KIO" "KF5NotifyConfig" "KF5Solid" "LibKWorkspace" "Qt5" "ScreenSaverDBusInterface" "UDev" "X11" "XCB" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
systemsettings = {
buildInputs = [ "ECM" "KF5" "KF5Config" "KF5DBusAddons" "KF5I18n" "KF5IconThemes" "KF5ItemViews" "KF5KCMUtils" "KF5KDELibs4Support" "KF5KHtml" "KF5KIO" "KF5Service" "KF5WindowSystem" "KF5XmlGui" "Qt5" ];
nativeBuildInputs = [ "cmake" ];
propagatedBuildInputs = [ ];
propagatedNativeBuildInputs = [ ];
propagatedUserEnvPkgs = [ ];
};
}

View file

@ -1,22 +0,0 @@
#!/bin/sh
# This script rebuilds dependencies.nix.
# You must run manifest.sh first to download the packages.
# Without arguments, this will use the version of autonix-deps-kf5 in nixpkgs.
# If you are working on the packages, this is probably what you want.
# You can also pass the path to a source tree where you have built
# autonix-deps-kf5 yourself. If you are working on autonix-deps-kf5, this is
# probably what you want.
manifestXML=$(nix-build -E 'with (import ../../.. {}); autonix.writeManifestXML ./manifest.nix')
autonixDepsKf5=""
if [[ -z $1 ]]; then
autonixDepsKF5=$(nix-build ../../.. -A haskellngPackages.autonix-deps-kf5)/bin
else
autonixDepsKF5="$1/dist/build/kf5-deps"
fi
exec ${autonixDepsKF5}/kf5-deps "${manifestXML}"

View file

@ -1,13 +0,0 @@
diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp
index 26b44a9..d14e226 100644
--- a/clients/aurorae/src/aurorae.cpp
+++ b/clients/aurorae/src/aurorae.cpp
@@ -73,7 +73,7 @@ void AuroraeFactory::init()
// so let's try to locate our plugin:
QString pluginPath;
for (const QString &path : m_engine->importPathList()) {
- QDirIterator it(path, QDirIterator::Subdirectories);
+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
QFileInfo fileInfo = it.fileInfo();

View file

@ -1,130 +0,0 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 460022f..422a708 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,7 @@
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDES})
+configure_file(config-libkscreen.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-libkscreen.h)
+
set(libkscreen_SRCS
backendloader.cpp
config.cpp
diff --git a/src/backendloader.cpp b/src/backendloader.cpp
index b93e469..8aebc14 100644
--- a/src/backendloader.cpp
+++ b/src/backendloader.cpp
@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
*************************************************************************************/
+#include "config-libkscreen.h"
#include "backendloader.h"
#include "debug_p.h"
#include "backends/abstractbackend.h"
@@ -40,55 +41,54 @@ bool BackendLoader::init()
const QString backend = qgetenv("KSCREEN_BACKEND").constData();
const QString backendFilter = QString::fromLatin1("KSC_%1*").arg(backend);
- const QStringList paths = QCoreApplication::libraryPaths();
- Q_FOREACH (const QString &path, paths) {
- const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"),
- backendFilter,
- QDir::SortFlags(QDir::QDir::NoSort),
- QDir::NoDotAndDotDot | QDir::Files);
- const QFileInfoList finfos = dir.entryInfoList();
- Q_FOREACH (const QFileInfo &finfo, finfos) {
- // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND
- if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) {
- continue;
- }
+ QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" PLUGIN_INSTALL_DIR "/");
- // When on X11, skip the QScreen backend, instead use the XRandR backend,
- // if not specified in KSCREEN_BACKEND
- if (backend.isEmpty() &&
- finfo.fileName().contains(QLatin1String("KSC_QScreen")) &&
- QX11Info::isPlatformX11()) {
- continue;
- }
+ const QDir dir(path + QDir::separator() + QLatin1String("/kf5/kscreen/"),
+ backendFilter,
+ QDir::SortFlags(QDir::QDir::NoSort),
+ QDir::NoDotAndDotDot | QDir::Files);
+ const QFileInfoList finfos = dir.entryInfoList();
+ Q_FOREACH (const QFileInfo &finfo, finfos) {
+ // Skip "Fake" backend unless explicitly specified via KSCREEN_BACKEND
+ if (backend.isEmpty() && finfo.fileName().contains(QLatin1String("KSC_Fake"))) {
+ continue;
+ }
- // When not on X11, skip the XRandR backend, and fall back to QSCreen
- // if not specified in KSCREEN_BACKEND
- if (backend.isEmpty() &&
- finfo.fileName().contains(QLatin1String("KSC_XRandR")) &&
- !QX11Info::isPlatformX11()) {
- continue;
- }
+ // When on X11, skip the QScreen backend, instead use the XRandR backend,
+ // if not specified in KSCREEN_BACKEND
+ if (backend.isEmpty() &&
+ finfo.fileName().contains(QLatin1String("KSC_QScreen")) &&
+ QX11Info::isPlatformX11()) {
+ continue;
+ }
+
+ // When not on X11, skip the XRandR backend, and fall back to QSCreen
+ // if not specified in KSCREEN_BACKEND
+ if (backend.isEmpty() &&
+ finfo.fileName().contains(QLatin1String("KSC_XRandR")) &&
+ !QX11Info::isPlatformX11()) {
+ continue;
+ }
- QPluginLoader loader(finfo.filePath());
- loader.load();
- QObject *instance = loader.instance();
- if (!instance) {
+ QPluginLoader loader(finfo.filePath());
+ loader.load();
+ QObject *instance = loader.instance();
+ if (!instance) {
+ loader.unload();
+ continue;
+ }
+
+ s_backend = qobject_cast< AbstractBackend* >(instance);
+ if (s_backend) {
+ if (!s_backend->isValid()) {
+ qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend";
+ delete s_backend;
+ s_backend = 0;
loader.unload();
continue;
}
-
- s_backend = qobject_cast< AbstractBackend* >(instance);
- if (s_backend) {
- if (!s_backend->isValid()) {
- qCDebug(KSCREEN) << "Skipping" << s_backend->name() << "backend";
- delete s_backend;
- s_backend = 0;
- loader.unload();
- continue;
- }
- qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend";
- return true;
- }
+ qCDebug(KSCREEN) << "Loading" << s_backend->name() << "backend";
+ return true;
}
}
diff --git a/src/config-libkscreen.h.cmake b/src/config-libkscreen.h.cmake
new file mode 100644
index 0000000..a99f3d1
--- /dev/null
+++ b/src/config-libkscreen.h.cmake
@@ -0,0 +1,2 @@
+#define CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}"
+#define PLUGIN_INSTALL_DIR "${PLUGIN_INSTALL_DIR}"

View file

@ -1,166 +0,0 @@
# This file is generated automatically. DO NOT EDIT!
{ mirror }:
[
{
url = "${mirror}/stable/plasma/5.1.2/kwayland-5.1.2.tar.xz";
sha256 = "0v57gdbhbqq9nm8y6f8xlwwsfib8v8wbh32bb38aa22wkcqbnqh5";
name = "kwayland-5.1.2.tar.xz";
store = "/nix/store/r4bjs61x7ad3ff1iy4j111japxzn8gdm-kwayland-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/milou-5.1.2.tar.xz";
sha256 = "0dawmwzdxb289gblnbxw4ryqj45c1rmws7mm0cmqlnxh2ykysska";
name = "milou-5.1.2.tar.xz";
store = "/nix/store/d90rryiyw3haw0mlcxzs57b0vsmq2c3g-milou-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-workspace-5.1.2.tar.xz";
sha256 = "03gwkikxmmbiglyf2cbhm79wri1vfsibpr0qsyydcnqf2bja4adk";
name = "plasma-workspace-5.1.2.tar.xz";
store = "/nix/store/9b2pcs64kvdnb0mf7g1gyjgygi8pfrk1-plasma-workspace-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kdeplasma-addons-5.1.2.tar.xz";
sha256 = "0jfrnvrn4x5cjd3yp21sr53rddcaxw3l05xkcq99lb29jx7x831f";
name = "kdeplasma-addons-5.1.2.tar.xz";
store = "/nix/store/9f7154m5aq35lfwj6rfq7ra4c2b0xs4r-kdeplasma-addons-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/khotkeys-5.1.2.tar.xz";
sha256 = "0kyjvrfpf8zqv8milbzdj0y6i37413qmvdhkxy2phqwrnwj4x69q";
name = "khotkeys-5.1.2.tar.xz";
store = "/nix/store/lq1v4haiag93w5g6pqwp5r9w8n3xvh1n-khotkeys-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kde-cli-tools-5.1.2.tar.xz";
sha256 = "1akgj042i52b6mzd0lq8xgrqnwi63wc7k82g8r4kfy8611vxw6wb";
name = "kde-cli-tools-5.1.2.tar.xz";
store = "/nix/store/byjdh6cmqimk3i314h3y57s2z3nvpfnw-kde-cli-tools-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libnm-qt-5.1.2.tar.xz";
sha256 = "1gm3yjlb5iq2l0rm8wqg0hs1f66ca5j8zvw6rrn3z4f2hsw9b8vm";
name = "libnm-qt-5.1.2.tar.xz";
store = "/nix/store/yx6jhazzb32580ax7dw4jdzncj1lpx4a-libnm-qt-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/oxygen-fonts-5.1.2.tar.xz";
sha256 = "05f06fsgp6xjv5azs546cq5653k3cyyidbdkggf20yrwlybypg2w";
name = "oxygen-fonts-5.1.2.tar.xz";
store = "/nix/store/ppzbxx7vkpymjgvi3skrch2dlx3mwhjg-oxygen-fonts-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/khelpcenter-5.1.2.tar.xz";
sha256 = "0fgwabsvbg4xzzli8k28hqw6rw5wzmp77fpb7qxiaks2qxd6xfvl";
name = "khelpcenter-5.1.2.tar.xz";
store = "/nix/store/nq86gdfz5fgkxcndk4knnb3n59y9b17x-khelpcenter-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kmenuedit-5.1.2.tar.xz";
sha256 = "1f09m8ki1qib0rfvbkd1nqszq5mglc802rz9b7s9hfi0n5la05cj";
name = "kmenuedit-5.1.2.tar.xz";
store = "/nix/store/8l7agrg12ghva4103iwm1xdzhqk3iwxp-kmenuedit-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kinfocenter-5.1.2.tar.xz";
sha256 = "1yp08z0sirm1i21ix27c72l1pygndrh4gnb5rl4r6rj0rymy4xn0";
name = "kinfocenter-5.1.2.tar.xz";
store = "/nix/store/jl3s4kimn0xamxc4yhc1jsrz9j0cmws1-kinfocenter-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kwrited-5.1.2.tar.xz";
sha256 = "0bsm3dkl1zi1h16cd1pc9qcbv2jpjpzcw7m6cg9gbk7icjymn065";
name = "kwrited-5.1.2.tar.xz";
store = "/nix/store/ishi0y744yapvf2yf0hm5gam3z5j2687-kwrited-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kio-extras-5.1.2.tar.xz";
sha256 = "0d4yyssiddcabrfr94ylf4p2f7l5mpg353m67w2x4rdlc7bgc00z";
name = "kio-extras-5.1.2.tar.xz";
store = "/nix/store/6pqx9daq9bx7in8dghy041vfn5x829g2-kio-extras-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/systemsettings-5.1.2.tar.xz";
sha256 = "102s7l1xaxqzsswzcsr6qx2mizi1fw85ickj8sm4ql493m3iy0vy";
name = "systemsettings-5.1.2.tar.xz";
store = "/nix/store/c56khxzyh8gzi5nxy8i3n2vlwbsmblsz-systemsettings-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/powerdevil-5.1.2.tar.xz";
sha256 = "0bq042phd1rv42qf21672l74mlygzvqknqd0vhfay7lz5hihd3np";
name = "powerdevil-5.1.2.tar.xz";
store = "/nix/store/5p6j6949gv1s03cm1yn1v0i18clma3cw-powerdevil-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-desktop-5.1.2.tar.xz";
sha256 = "0nn1fcb8b4cmh6wzfar7dzmc6r830n6nq78icsbqkl2yi631vmv7";
name = "plasma-desktop-5.1.2.tar.xz";
store = "/nix/store/nnk00ddkr0rqbmk6i1q17wimvb6n79m6-plasma-desktop-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libmm-qt-5.1.2.tar.xz";
sha256 = "1jx3zq5j7dm27k74ayibg0d82f7nm7r40mj92sk0drgzaj0q2wv4";
name = "libmm-qt-5.1.2.tar.xz";
store = "/nix/store/z3f23bansr6yqvc8pwcavwy828ykf85z-libmm-qt-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/breeze-5.1.2.tar.xz";
sha256 = "1c7bfr2zdhh84bik5ksyfxvng8c23slasf6lbr86f0mmvwssqhc4";
name = "breeze-5.1.2.tar.xz";
store = "/nix/store/h0ra9f62jj3lqsg5hhqsb8cq05fqaq0c-breeze-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/ksysguard-5.1.2.tar.xz";
sha256 = "03bngwq0dpgffcr7dkzk44n995kcawk1fgxf38zkik4qrr2m8xmz";
name = "ksysguard-5.1.2.tar.xz";
store = "/nix/store/vrgl460m4h0bzwhakgkj9sddn2pr6057-ksysguard-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kwin-5.1.2.tar.xz";
sha256 = "1sjb9w8yaicypjdlcnn6a8zaa03fmgn9bsbbr1xfh3kcjm0p2hjf";
name = "kwin-5.1.2.tar.xz";
store = "/nix/store/0lcmq4bl3kc48gcps703bby99z0zdl7q-kwin-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/oxygen-5.1.2.tar.xz";
sha256 = "0dwlqc57qwp09bbmknakjndqgajfp948kri8ysakj50qbfzq22ly";
name = "oxygen-5.1.2.tar.xz";
store = "/nix/store/al4whqd4gdnyym26kd2yp3c1slyll0bw-oxygen-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libkscreen-5.1.2.tar.xz";
sha256 = "1kbs042anmc8mifmbxwi7sw0n74kcpf5hpbld5a7nclhm0xpyzb9";
name = "libkscreen-5.1.2.tar.xz";
store = "/nix/store/rkmydih2fss2gm84j8rgpd3ybz7pyz5p-libkscreen-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/libksysguard-5.1.2.tar.xz";
sha256 = "061jjqh6i70g5f8qh47znk295wh1j7z3i9imppdlxhymm2sdix5k";
name = "libksysguard-5.1.2.tar.xz";
store = "/nix/store/dyipim22aisn9cnk3d9431bi393qsi38-libksysguard-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-workspace-wallpapers-5.1.2.tar.xz";
sha256 = "18my7r17b6c0wm545knpy68bcgawmr6x1h383br1a3jrahb9smfx";
name = "plasma-workspace-wallpapers-5.1.2.tar.xz";
store = "/nix/store/inqv621x6l2yz1kj71d824kc0labpss7-plasma-workspace-wallpapers-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/kfilemetadata-5.1.2.tar.xz";
sha256 = "0ssz2v9dm09ig20m5c2gcgi0dhkbijs7580j75kyabcyxyq33gdi";
name = "kfilemetadata-5.1.2.tar.xz";
store = "/nix/store/84jqp15fclxia88dmbr2zpq50m6xzwib-kfilemetadata-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/plasma-nm-5.1.2.tar.xz";
sha256 = "1ifwjbzdjsfcq2vbq58fnx1r8m11wbmcwchnn7ihabbcgj5admp7";
name = "plasma-nm-5.1.2.tar.xz";
store = "/nix/store/2czga7b7i36841rs4mnfzd7j7s3rfanv-plasma-nm-5.1.2.tar.xz";
}
{
url = "${mirror}/stable/plasma/5.1.2/baloo-5.1.2.tar.xz";
sha256 = "1ynd3amry3wjk8sjlb5knpvjshn0gvs2m1gpbr7r7528ckkv0gpv";
name = "baloo-5.1.2.tar.xz";
store = "/nix/store/lcrrxz5yjf88cgifz3zjcq5skdp4jxkk-baloo-5.1.2.tar.xz";
}
]

View file

@ -1,15 +0,0 @@
#!/bin/sh
if [ $# -eq 0 ]; then
# The extra slash at the end of the URL is necessary to stop wget
# from recursing over the whole server! (No, it's not a bug.)
$(nix-build ../../.. -A autonix.manifest) \
http://download.kde.org/stable/plasma/5.1.2/ \
-A '*.tar.xz'
else
$(nix-build ../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
fi

View file

@ -1,24 +0,0 @@
diff --git a/kcms/dateandtime/helper.cpp b/kcms/dateandtime/helper.cpp
index cec5ab8..fc4a6b9 100644
--- a/kcms/dateandtime/helper.cpp
+++ b/kcms/dateandtime/helper.cpp
@@ -48,10 +48,6 @@
#include <sys/stat.h>
#endif
-// We cannot rely on the $PATH environment variable, because D-Bus activation
-// clears it. So we have to use a reasonable default.
-static const QString exePath = QLatin1String("/usr/sbin:/usr/bin:/sbin:/bin");
-
int ClockHelper::ntp( const QStringList& ntpServers, bool ntpEnabled )
{
int ret = 0;
@@ -227,7 +223,7 @@ int ClockHelper::tzreset()
void ClockHelper::toHwclock()
{
- QString hwclock = KStandardDirs::findExe("hwclock", exePath);
+ QString hwclock = "@hwclock@";
if (!hwclock.isEmpty()) {
KProcess::execute(hwclock, QStringList() << "--systohc");
}

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