Merge 'staging' into closure-size

This is mainly to get the update of bootstrap tools.
Otherwise there were mysterious segfaults:
https://github.com/NixOS/nixpkgs/pull/7701#issuecomment-203389817
This commit is contained in:
Vladimír Čunát 2016-04-07 14:35:03 +02:00
commit d1df28f8e5
89 changed files with 1475 additions and 397 deletions

View File

@ -67,9 +67,9 @@ stdenv.mkDerivation {
+ ''
echo ${nixpkgsVersion} > .version
xmllint --noout --nonet --xinclude --noxincludenode \
--relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
manual.xml
# validate against relaxng schema
xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
${jing}/bin/jing ${docbook5}/xml/rng/docbook/docbook.rng manual-full.xml
dst=$out/share/doc/nixpkgs
mkdir -p $dst

View File

@ -51,6 +51,7 @@
bdimcheff = "Brandon Dimcheff <brandon@dimcheff.com>";
benley = "Benjamin Staffin <benley@gmail.com>";
bennofs = "Benno Fünfstück <benno.fuenfstueck@gmail.com>";
benwbooth = "Ben Booth <benwbooth@gmail.com>";
berdario = "Dario Bertini <berdario@gmail.com>";
bergey = "Daniel Bergey <bergey@teallabs.org>";
bjg = "Brian Gough <bjg@gnu.org>";

View File

@ -12,14 +12,44 @@ has the following highlights:</para>
<itemizedlist>
<listitem>
<para>Firefox and similar browsers are now <emphasis>wrapped by default</emphasis>.
The package and attribute names are plain <literal>firefox</literal>
or <literal>midori</literal>, etc. Backward-compatibility attributes were set up,
but note that <command>nix-env -u</command> will <emphasis>not</emphasis> update
your current <literal>firefox-with-plugins</literal>;
you have to uninstall it and install <literal>firefox</literal> instead.
More discussion is <link xlink:href="https://github.com/NixOS/nixpkgs/pull/12299">
on the PR</link>. </para>
<para>Systemd 229, bringing <link
xlink:href="https://github.com/systemd/systemd/blob/v229/NEWS">numerous
improvements</link> over 217.</para>
</listitem>
<listitem>
<para>Linux 4.4 (was 3.18).</para>
</listitem>
<listitem>
<para>GCC 5.3 (was 4.9). Note that GCC 5 <link
xlink:href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html">changes
the C++ ABI in an incompatible way</link>; this may cause problems
if you try to link objects compiled with different versions of
GCC.</para>
</listitem>
<listitem>
<para>Glibc 2.23 (was 2.21).</para>
</listitem>
<listitem>
<para>Improved support for ensuring <link
xlink:href="https://reproducible-builds.org/">bitwise reproducible
builds</link>. For example, <literal>stdenv</literal> now sets the
environment variable <envar
xlink:href="https://reproducible-builds.org/specs/source-date-epoch/">SOURCE_DATE_EPOCH</envar>
to a deterministic value, and Nix has <link
xlink:href="http://nixos.org/nix/manual/#ssec-relnotes-1.11">gained
an option</link> to repeat a build a number of times to test
determinism. An ongoing project, the goal of exact reproducibility
is to allow binaries to be verified independently (e.g., a user
might only trust binaries that appear in three independent binary
caches).</para>
</listitem>
<listitem>
<para>Perl 5.22.</para>
</listitem>
</itemizedlist>
@ -39,6 +69,22 @@ has the following highlights:</para>
following incompatible changes:</para>
<itemizedlist>
<listitem>
<para>We no longer produce graphical ISO images and VirtualBox
images for <literal>i686-linux</literal>. A minimal ISO image is
still provided.</para>
</listitem>
<listitem>
<para>Firefox and similar browsers are now <emphasis>wrapped by default</emphasis>.
The package and attribute names are plain <literal>firefox</literal>
or <literal>midori</literal>, etc. Backward-compatibility attributes were set up,
but note that <command>nix-env -u</command> will <emphasis>not</emphasis> update
your current <literal>firefox-with-plugins</literal>;
you have to uninstall it and install <literal>firefox</literal> instead.</para>
</listitem>
<listitem>
<para><command>wmiiSnap</command> has been replaced with
<command>wmii_hg</command>, but
@ -292,14 +338,18 @@ services.syncthing = {
<para>Other notable improvements:
<itemizedlist>
<!--
<listitem>
<para>The <command>command-not-found</command> hook was extended.
Apart from <literal>$NIX_AUTO_INSTALL</literal> variable,
it newly also checks for <literal>$NIX_AUTO_RUN</literal>
which causes it to directly run the missing commands via
<command>nix-shell</command> (without installing anything). </para>
<command>nix-shell</command> (without installing anything).</para>
</listitem>
-->
<listitem>
<para><literal>ejabberd</literal> module is brought back and now works on

View File

@ -23,6 +23,8 @@
postVM ? ""
, name ? "nixos-disk-image"
, format ? "raw"
}:
with lib;
@ -32,8 +34,8 @@ pkgs.vmTools.runInLinuxVM (
{ preVM =
''
mkdir $out
diskImage=$out/nixos.img
${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage "${toString diskSize}M"
diskImage=$out/nixos.${if format == "qcow2" then "qcow2" else "img"}
${pkgs.vmTools.qemu}/bin/qemu-img create -f ${format} $diskImage "${toString diskSize}M"
mv closure xchg/
'';
buildInputs = [ pkgs.utillinux pkgs.perl pkgs.e2fsprogs pkgs.parted ];

View File

@ -10,9 +10,11 @@ with lib;
];
system.build.amazonImage = import ../../../lib/make-disk-image.nix {
inherit pkgs lib config;
inherit lib config;
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
partitioned = config.ec2.hvm;
diskSize = if config.ec2.hvm then 2048 else 8192;
format = "qcow2";
configFile = pkgs.writeText "configuration.nix"
''
{

View File

@ -257,9 +257,9 @@ fi
prebuiltNix() {
machine="$1"
if [ "$machine" = x86_64 ]; then
return /nix/store/xryr9g56h8yjddp89d6dw12anyb4ch7c-nix-1.10
echo /nix/store/xryr9g56h8yjddp89d6dw12anyb4ch7c-nix-1.10
elif [[ "$machine" =~ i.86 ]]; then
return /nix/store/2w92k5wlpspf0q2k9mnf2z42prx3bwmv-nix-1.10
echo /nix/store/2w92k5wlpspf0q2k9mnf2z42prx3bwmv-nix-1.10
else
echo "$0: unsupported platform"
exit 1

View File

@ -543,4 +543,5 @@
./virtualisation/virtualbox-host.nix
./virtualisation/vmware-guest.nix
./virtualisation/xen-dom0.nix
./virtualisation/xe-guest-utilities.nix
]

View File

@ -20,4 +20,7 @@ with lib;
# Don't allow emergency mode, because we don't have a console.
systemd.enableEmergencyMode = false;
# Being headless, we don't need a GRUB splash image.
boot.loader.grub.splashImage = null;
}

View File

@ -4,37 +4,13 @@
{ config, lib, pkgs, ... }:
with lib;
let
growpart = pkgs.stdenv.mkDerivation {
name = "growpart";
src = pkgs.fetchurl {
url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz";
sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd";
};
patches = [ ./growpart-util-linux-2.26.patch ];
buildPhase = ''
cp bin/growpart $out
sed -i 's|awk|gawk|' $out
sed -i 's|sed|gnused|' $out
'';
dontInstall = true;
dontPatchShebangs = true;
};
in
{
config = mkIf config.ec2.hvm {
config = lib.mkIf config.ec2.hvm {
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
copy_bin_and_libs ${pkgs.gnused}/bin/sed
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
cp -v ${growpart} $out/bin/growpart
cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart
ln -s sed $out/bin/gnused
'';
@ -44,7 +20,5 @@ in
udevadm settle
fi
'';
};
}

View File

@ -65,8 +65,7 @@ let cfg = config.ec2; in
fi
if ! [ -e "$metaDir/user-data" ]; then
wget -q -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data
chmod 600 "$metaDir/user-data"
wget -q -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data && chmod 600 "$metaDir/user-data"
fi
if ! [ -e "$metaDir/hostname" ]; then

View File

@ -0,0 +1,92 @@
{
"14.04".ap-northeast-1.hvm-ebs = "ami-71c6f470";
"14.04".ap-northeast-1.pv-ebs = "ami-4dcbf84c";
"14.04".ap-northeast-1.pv-s3 = "ami-8fc4f68e";
"14.04".ap-southeast-1.hvm-ebs = "ami-da280888";
"14.04".ap-southeast-1.pv-ebs = "ami-7a9dbc28";
"14.04".ap-southeast-1.pv-s3 = "ami-c4290996";
"14.04".ap-southeast-2.hvm-ebs = "ami-ab523e91";
"14.04".ap-southeast-2.pv-ebs = "ami-6769055d";
"14.04".ap-southeast-2.pv-s3 = "ami-15533f2f";
"14.04".eu-central-1.hvm-ebs = "ami-ba0234a7";
"14.04".eu-west-1.hvm-ebs = "ami-96cb63e1";
"14.04".eu-west-1.pv-ebs = "ami-b48c25c3";
"14.04".eu-west-1.pv-s3 = "ami-06cd6571";
"14.04".sa-east-1.hvm-ebs = "ami-01b90e1c";
"14.04".sa-east-1.pv-ebs = "ami-69e35474";
"14.04".sa-east-1.pv-s3 = "ami-61b90e7c";
"14.04".us-east-1.hvm-ebs = "ami-58ba3a30";
"14.04".us-east-1.pv-ebs = "ami-9e0583f6";
"14.04".us-east-1.pv-s3 = "ami-9cbe3ef4";
"14.04".us-west-1.hvm-ebs = "ami-0bc3d74e";
"14.04".us-west-1.pv-ebs = "ami-8b1703ce";
"14.04".us-west-1.pv-s3 = "ami-27ccd862";
"14.04".us-west-2.hvm-ebs = "ami-3bf1bf0b";
"14.04".us-west-2.pv-ebs = "ami-259bd515";
"14.04".us-west-2.pv-s3 = "ami-07094037";
"14.12".ap-northeast-1.hvm-ebs = "ami-24435f25";
"14.12".ap-northeast-1.pv-ebs = "ami-b0425eb1";
"14.12".ap-northeast-1.pv-s3 = "ami-fed3c6ff";
"14.12".ap-southeast-1.hvm-ebs = "ami-6c765d3e";
"14.12".ap-southeast-1.pv-ebs = "ami-6a765d38";
"14.12".ap-southeast-1.pv-s3 = "ami-d1bf9183";
"14.12".ap-southeast-2.hvm-ebs = "ami-af86f395";
"14.12".ap-southeast-2.pv-ebs = "ami-b386f389";
"14.12".ap-southeast-2.pv-s3 = "ami-69c5ae53";
"14.12".eu-central-1.hvm-ebs = "ami-4a497a57";
"14.12".eu-central-1.pv-ebs = "ami-4c497a51";
"14.12".eu-central-1.pv-s3 = "ami-60f2c27d";
"14.12".eu-west-1.hvm-ebs = "ami-d126a5a6";
"14.12".eu-west-1.pv-ebs = "ami-0126a576";
"14.12".eu-west-1.pv-s3 = "ami-deda5fa9";
"14.12".sa-east-1.hvm-ebs = "ami-2d239e30";
"14.12".sa-east-1.pv-ebs = "ami-35239e28";
"14.12".sa-east-1.pv-s3 = "ami-81e3519c";
"14.12".us-east-1.hvm-ebs = "ami-0c463a64";
"14.12".us-east-1.pv-ebs = "ami-ac473bc4";
"14.12".us-east-1.pv-s3 = "ami-00e18a68";
"14.12".us-west-1.hvm-ebs = "ami-ca534a8f";
"14.12".us-west-1.pv-ebs = "ami-3e534a7b";
"14.12".us-west-1.pv-s3 = "ami-2905196c";
"14.12".us-west-2.hvm-ebs = "ami-fb9dc3cb";
"14.12".us-west-2.pv-ebs = "ami-899dc3b9";
"14.12".us-west-2.pv-s3 = "ami-cb7f2dfb";
"15.09".ap-northeast-1.hvm-ebs = "ami-58cac236";
"15.09".ap-northeast-1.hvm-s3 = "ami-39c8c057";
"15.09".ap-northeast-1.pv-ebs = "ami-5ac9c134";
"15.09".ap-northeast-1.pv-s3 = "ami-03cec66d";
"15.09".ap-southeast-1.hvm-ebs = "ami-2fc2094c";
"15.09".ap-southeast-1.hvm-s3 = "ami-9ec308fd";
"15.09".ap-southeast-1.pv-ebs = "ami-95c00bf6";
"15.09".ap-southeast-1.pv-s3 = "ami-bfc00bdc";
"15.09".ap-southeast-2.hvm-ebs = "ami-996c4cfa";
"15.09".ap-southeast-2.hvm-s3 = "ami-3f6e4e5c";
"15.09".ap-southeast-2.pv-ebs = "ami-066d4d65";
"15.09".ap-southeast-2.pv-s3 = "ami-cc6e4eaf";
"15.09".eu-central-1.hvm-ebs = "ami-3f8c6b50";
"15.09".eu-central-1.hvm-s3 = "ami-5b836434";
"15.09".eu-central-1.pv-ebs = "ami-118c6b7e";
"15.09".eu-central-1.pv-s3 = "ami-2c977043";
"15.09".eu-west-1.hvm-ebs = "ami-9cf04aef";
"15.09".eu-west-1.hvm-s3 = "ami-2bea5058";
"15.09".eu-west-1.pv-ebs = "ami-c9e852ba";
"15.09".eu-west-1.pv-s3 = "ami-c6f64cb5";
"15.09".sa-east-1.hvm-ebs = "ami-6e52df02";
"15.09".sa-east-1.hvm-s3 = "ami-1852df74";
"15.09".sa-east-1.pv-ebs = "ami-4368e52f";
"15.09".sa-east-1.pv-s3 = "ami-f15ad79d";
"15.09".us-east-1.hvm-ebs = "ami-84a6a0ee";
"15.09".us-east-1.hvm-s3 = "ami-06a7a16c";
"15.09".us-east-1.pv-ebs = "ami-a4a1a7ce";
"15.09".us-east-1.pv-s3 = "ami-5ba8ae31";
"15.09".us-west-1.hvm-ebs = "ami-22c8bb42";
"15.09".us-west-1.hvm-s3 = "ami-a2ccbfc2";
"15.09".us-west-1.pv-ebs = "ami-10cebd70";
"15.09".us-west-1.pv-s3 = "ami-fa30429a";
"15.09".us-west-2.hvm-ebs = "ami-ce57b9ae";
"15.09".us-west-2.hvm-s3 = "ami-2956b849";
"15.09".us-west-2.pv-ebs = "ami-005fb160";
"15.09".us-west-2.pv-s3 = "ami-cd55bbad";
}

View File

@ -0,0 +1,52 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xe-guest-utilities;
in {
options = {
services.xe-guest-utilities = {
enable = mkEnableOption "Whether to enable the Xen guest utilities daemon.";
};
};
config = mkIf cfg.enable {
services.udev.packages = [ pkgs.xe-guest-utilities ];
systemd.tmpfiles.rules = [ "d /run/xenstored 0755 - - -" ];
systemd.services.xe-daemon = {
description = "xen daemon file";
wantedBy = [ "multi-user.target" ];
after = [ "xe-linux-distribution.service" ];
requires = [ "proc-xen.mount" ];
path = [ pkgs.coreutils pkgs.iproute ];
serviceConfig = {
PIDFile = "/run/xe-daemon.pid";
ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-daemon -p /run/xe-daemon.pid";
ExecStop = "${pkgs.procps}/bin/pkill -TERM -F /run/xe-daemon.pid";
};
};
systemd.services.xe-linux-distribution = {
description = "xen linux distribution service";
wantedBy = [ "multi-user.target" ];
before = [ "xend.service" ];
path = [ pkgs.xe-guest-utilities pkgs.coreutils pkgs.gawk pkgs.gnused ];
serviceConfig = {
Type = "simple";
RemainAfterExit = "yes";
ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-linux-distribution /var/cache/xe-linux-distribution";
};
};
systemd.mounts = [
{ description = "Mount /proc/xen files";
what = "xenfs";
where = "/proc/xen";
type = "xenfs";
unitConfig = {
ConditionPathExists = "/proc/xen";
RefuseManualStop = "true";
};
}
];
};
}

View File

@ -219,6 +219,7 @@ in rec {
tests.ipv6 = callTest tests/ipv6.nix {};
tests.jenkins = callTest tests/jenkins.nix {};
tests.kde4 = callTest tests/kde4.nix {};
tests.keymap = callSubTests tests/keymap.nix {};
tests.initrdNetwork = callTest tests/initrd-network.nix {};
tests.kubernetes = hydraJob (import tests/kubernetes.nix { system = "x86_64-linux"; });
tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };

View File

@ -11,7 +11,6 @@ let
modules = [
../maintainers/scripts/ec2/amazon-image.nix
../modules/testing/test-instrumentation.nix
../modules/profiles/minimal.nix
../modules/profiles/qemu-guest.nix
{ ec2.hvm = true;
@ -21,6 +20,14 @@ let
ln -s vda /dev/xvda
ln -s vda1 /dev/xvda1
'';
# Needed by nixos-rebuild due to the lack of network
# access. Mostly copied from
# modules/profiles/installation-device.nix.
system.extraDependencies =
[ pkgs.stdenv pkgs.busybox pkgs.perlPackages.ArchiveCpio
pkgs.unionfs-fuse pkgs.mkinitcpio-nfs-utils
];
}
];
}).config.system.build.amazonImage;
@ -30,9 +37,8 @@ let
metaData = pkgs.stdenv.mkDerivation {
name = "metadata";
buildCommand = ''
mkdir -p $out/2011-01-01
ln -s ${pkgs.writeText "userData" userData} $out/2011-01-01/user-data
mkdir -p $out/1.0/meta-data
ln -s ${pkgs.writeText "userData" userData} $out/1.0/user-data
echo "${hostname}" > $out/1.0/meta-data/hostname
echo "(unknown)" > $out/1.0/meta-data/ami-manifest-path
'' + optionalString (sshPublicKey != null) ''
@ -48,7 +54,7 @@ let
my $imageDir = ($ENV{'TMPDIR'} // "/tmp") . "/vm-state-machine";
mkdir $imageDir, 0700;
my $diskImage = "$imageDir/machine.qcow2";
system("qemu-img create -f qcow2 -o backing_file=${image}/nixos.img $diskImage") == 0 or die;
system("qemu-img create -f qcow2 -o backing_file=${image}/nixos.qcow2 $diskImage") == 0 or die;
system("qemu-img resize $diskImage 10G") == 0 or die;
# Note: we use net=169.0.0.0/8 rather than
@ -91,7 +97,7 @@ in {
'';
script = ''
$machine->start;
$machine->waitForFile("/root/user-data");
$machine->waitForFile("/etc/ec2-metadata/user-data");
$machine->waitForUnit("sshd.service");
$machine->succeed("grep unknown /etc/ec2-metadata/ami-manifest-path");
@ -121,7 +127,7 @@ in {
# Just to make sure resizing is idempotent.
$machine->shutdown;
$machine->start;
$machine->waitForFile("/root/user-data");
$machine->waitForFile("/etc/ec2-metadata/user-data");
'';
};
@ -135,6 +141,7 @@ in {
imports = [
<nixpkgs/nixos/modules/virtualisation/amazon-image.nix>
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
<nixpkgs/nixos/modules/profiles/qemu-guest.nix>
];
environment.etc.testFile = {
text = "whoa";

160
nixos/tests/keymap.nix Normal file
View File

@ -0,0 +1,160 @@
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
let
testReader = pkgs.writeScript "test-input-reader" ''
#!${pkgs.stdenv.shell}
readInput() {
touch /tmp/reader.ready
echo "Waiting for '$1' to be typed"
read -r -n1 c
if [ "$c" = "$2" ]; then
echo "SUCCESS: Got back '$c' as expected."
echo 0 >&2
else
echo "FAIL: Expected '$2' but got '$c' instead."
echo 1 >&2
fi
}
main() {
error=0
while [ $# -gt 0 ]; do
ret="$((readInput "$2" "$3" | systemd-cat -t "$1") 2>&1)"
if [ $ret -ne 0 ]; then error=1; fi
shift 3
done
return $error
}
main "$@"; echo -n $? > /tmp/reader.exit
'';
mkReaderInput = testname: { qwerty, expect }: with pkgs.lib; let
lq = length qwerty;
le = length expect;
msg = "`qwerty' (${lq}) and `expect' (${le}) lists"
+ " need to be of the same length!";
result = flatten (zipListsWith (a: b: [testname a b]) qwerty expect);
in if lq != le then throw msg else result;
mkKeyboardTest = layout: { extraConfig ? {}, tests }: with pkgs.lib; let
readerInput = flatten (mapAttrsToList mkReaderInput tests);
perlStr = val: "'${escape ["'" "\\"] val}'";
perlReaderInput = concatMapStringsSep ", " perlStr readerInput;
in makeTest {
name = "keymap-${layout}";
machine.i18n.consoleKeyMap = mkOverride 900 layout;
machine.services.xserver.layout = mkOverride 900 layout;
machine.imports = [ ./common/x11.nix extraConfig ];
testScript = ''
sub waitCatAndDelete ($) {
return $machine->succeed(
"for i in \$(seq 600); do if [ -e '$_[0]' ]; then ".
"cat '$_[0]' && rm -f '$_[0]' && exit 0; ".
"fi; sleep 0.1; done; echo timed out after 60 seconds >&2; exit 1"
);
};
sub mkTest ($$) {
my ($desc, $cmd) = @_;
my @testdata = (${perlReaderInput});
my $shellTestdata = join ' ', map { "'".s/'/'\\'''/gr."'" } @testdata;
subtest $desc, sub {
$machine->succeed("$cmd ${testReader} $shellTestdata &");
while (my ($testname, $qwerty, $expect) = splice(@testdata, 0, 3)) {
waitCatAndDelete "/tmp/reader.ready";
$machine->sendKeys($qwerty);
};
my $exitcode = waitCatAndDelete "/tmp/reader.exit";
die "tests for $desc failed" if $exitcode ne 0;
};
}
$machine->waitForX;
mkTest "VT keymap", "openvt -sw --";
mkTest "Xorg keymap", "DISPLAY=:0 xterm -fullscreen -e";
'';
};
in pkgs.lib.mapAttrs mkKeyboardTest {
azerty = {
tests = {
azqw.qwerty = [ "q" "w" ];
azqw.expect = [ "a" "z" ];
altgr.qwerty = [ "alt_r-2" "alt_r-3" "alt_r-4" "alt_r-5" "alt_r-6" ];
altgr.expect = [ "~" "#" "{" "[" "|" ];
};
extraConfig.i18n.consoleKeyMap = "azerty/fr";
extraConfig.services.xserver.layout = "fr";
};
colemak = {
tests = {
homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ];
homerow.expect = [ "a" "r" "s" "t" "n" "e" "i" "o" ];
};
extraConfig.i18n.consoleKeyMap = "en-latin9";
extraConfig.services.xserver.layout = "us";
extraConfig.services.xserver.xkbVariant = "colemak";
};
dvorak = {
tests = {
homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ];
homerow.expect = [ "a" "o" "e" "u" "h" "t" "n" "s" ];
symbols.qwerty = [ "q" "w" "e" "minus" "equal" ];
symbols.expect = [ "'" "," "." "[" "]" ];
};
};
dvp = {
tests = {
homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ];
homerow.expect = [ "a" "o" "e" "u" "h" "t" "n" "s" ];
numbers.qwerty = map (x: "shift-${x}")
[ "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "minus" ];
numbers.expect = [ "%" "7" "5" "3" "1" "9" "0" "2" "4" "6" "8" ];
symbols.qwerty = [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "minus" ];
symbols.expect = [ "&" "[" "{" "}" "(" "=" "*" ")" "+" "]" "!" ];
};
extraConfig.services.xserver.layout = "us";
extraConfig.services.xserver.xkbVariant = "dvp";
};
neo = {
tests = {
layer1.qwerty = [ "f" "j" ];
layer1.expect = [ "e" "n" ];
layer2.qwerty = [ "shift-f" "shift-j" "shift-6" ];
layer2.expect = [ "E" "N" "$" ];
layer3.qwerty = [ "caps_lock-d" "caps_lock-f" ];
layer3.expect = [ "{" "}" ];
};
extraConfig.services.xserver.layout = "de";
extraConfig.services.xserver.xkbVariant = "neo";
};
qwertz = {
tests = {
zy.qwerty = [ "z" "y" ];
zy.expect = [ "y" "z" ];
altgr.qwerty = map (x: "alt_r-${x}")
[ "q" "less" "7" "8" "9" "0" ];
altgr.expect = [ "@" "|" "{" "[" "]" "}" ];
};
extraConfig.i18n.consoleKeyMap = "de";
extraConfig.services.xserver.layout = "de";
};
}

View File

@ -195,6 +195,18 @@ in
};
};
idea15-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "15.0.5";
build = "IU-143.2332.3";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
sha256 = "1hvc5cmbfpp0qad0236ffh3g7zwfk64rh5bkkb750h3387jz7nr2";
};
};
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "2016.1";

View File

@ -1,21 +1,25 @@
{ stdenv, fetchzip, gtk, libnotify, unzip, glib, pkgconfig }:
{ stdenv, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, libnotify }:
stdenv.mkDerivation rec {
name = "cbatticon-${version}";
version = "1.4.2";
version = "1.6.4";
src = fetchzip {
url = "https://github.com/valr/cbatticon/archive/${version}.zip";
sha256 = "0ixkxvlrn84b8nh75c9s2gvxnycis89mf047iz8j38814979di5l";
src = fetchFromGitHub {
owner = "valr";
repo = "cbatticon";
rev = version;
sha256 = "0m3bj408mbini97kq0cdf048lnfkdn7bd8ikbfijd7dwfdzv27i5";
};
makeFlags = "PREFIX=$(out)";
buildInputs = [ gtk libnotify unzip glib pkgconfig ];
nativeBuildInputs = [ pkgconfig gettext ];
buildInputs = [ glib gtk3 libnotify ];
meta = with stdenv.lib; {
description = "A lightweight and fast battery icon that sits in your system tray";
description = "Lightweight and fast battery icon that sits in the system tray";
homepage = https://github.com/valr/cbatticon;
license = licenses.gpl2;
maintainers = [ maintainers.iElectric ];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, qt4, muparser, which, boost, pkgconfig }:
stdenv.mkDerivation rec {
version = "2.0.8";
version = "2.0.9";
name = "librecad-${version}";
src = fetchurl {
url = "https://github.com/LibreCAD/LibreCAD/tarball/${version}";
name = name + ".tar.gz";
sha256 = "110vn1rvzidg8k6ifz1zws2wsn4cd05xl5ha0hbff2ln7izy84zc";
sha256 = "0npr2nxwmx1qil7lqhkh6yvkw7dwym0nfashxjglxspjallqjya7";
};
patchPhase = ''

View File

@ -5,7 +5,7 @@
, libevent, expat, libjpeg, snappy
, libpng, libxml2, libxslt, libcap
, xdg_utils, yasm, minizip, libwebp
, libusb1, libexif, pciutils, nss
, libusb1, pciutils, nss
, python, pythonPackages, perl, pkgconfig
, nspr, libudev, kerberos
@ -17,6 +17,7 @@
# optional dependencies
, libgcrypt ? null # gnomeSupport || cupsSupport
, libexif ? null # only needed for Chromium before version 51
# package customization
, enableSELinux ? false, libselinux ? null
@ -55,9 +56,8 @@ let
use_system_flac = true;
use_system_libevent = true;
use_system_libexpat = true;
use_system_libexif = true;
use_system_libjpeg = true;
use_system_libpng = true;
use_system_libpng = versionOlder upstream-info.version "51.0.0.0";
use_system_libwebp = true;
use_system_libxml = true;
use_system_opus = true;
@ -86,7 +86,7 @@ let
libevent expat libjpeg snappy
libpng libxml2 libxslt libcap
xdg_utils yasm minizip libwebp
libusb1 libexif
libusb1
];
# build paths and release info
@ -123,7 +123,8 @@ let
++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
++ optional enableSELinux libselinux
++ optionals cupsSupport [ libgcrypt cups ]
++ optional pulseSupport libpulseaudio;
++ optional pulseSupport libpulseaudio
++ optional (versionOlder version "51.0.0.0") libexif;
patches = [
./patches/build_fixes_46.patch
@ -140,15 +141,20 @@ let
-e "/python_arch/s/: *'[^']*'/: '""'/" \
build/common.gypi chrome/chrome_tests.gypi
sed -i -e '/module_path *=.*libexif.so/ {
s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
}' chrome/utility/media_galleries/image_metadata_extractor.cc
${optionalString (versionOlder version "51.0.0.0") ''
sed -i -e '/module_path *=.*libexif.so/ {
s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
}' chrome/utility/media_galleries/image_metadata_extractor.cc
''}
sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${libudev.out}/lib/\1!' \
device/udev_linux/udev?_loader.cc
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
gpu/config/gpu_info_collector_linux.cc
'' + optionalString (!versionOlder version "51.0.0.0") ''
sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
chrome/browser/ui/webui/engagement/site_engagement_ui.cc
'';
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
@ -180,6 +186,8 @@ let
google_default_client_id = "404761575300.apps.googleusercontent.com";
google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D";
} // optionalAttrs (versionOlder version "51.0.0.0") {
use_system_libexif = true;
} // optionalAttrs proprietaryCodecs {
# enable support for the H.264 codec
proprietary_codecs = true;

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "1lgpjnjhy3idha5b6wp31kdk6knic96dmajyrgn1701q3mq81g1i";
sha256bin64 = "1yb3rk38zfgjzka0aim1xc4r0qaz2qkwaq06mjifpkszmfffhyd0";
version = "50.0.2661.26";
sha256 = "1jwk0x5hjpah0bl4dpirxwyfxv0d0wnkvfgyja91kkbh8471gzmk";
sha256bin64 = "10sl3ddd77i1gl3l4yvhkpavfq2bygv7gwql0jnhchmrvyax1cjh";
version = "50.0.2661.49";
};
dev = {
sha256 = "0z9m1mv6pv43y3ccd0nzqg5f9q8qxc8mlmy9y3dc9kqpvmqggnvp";
sha256bin64 = "0khsxci970vclfg24b7m8w1jqfkv5rzswgwa62b4r7jzrglx1azj";
version = "50.0.2661.18";
sha256 = "042h6klyijnhkb4m9lsnfi3qss6pbs4p4981rm4cbc86rsyppkhl";
sha256bin64 = "1p6lhd3n9q93fkydxksgfv68vz26yj8i2zx1kqby2z9yc0pdcniq";
version = "51.0.2693.2";
};
stable = {
sha256 = "0kbph3l964bh7cb9yf8nydjaxa20yf8ls5a2vzsj8phz7n20z3f9";
sha256bin64 = "1k6nhccdqzzzicwi07nldqfsdlic65i2xfyb7dbasbbg9zl3s9yw";
version = "49.0.2623.87";
sha256 = "1lmv6nmbqhxmr4340s5i4ypgz2b7vkh0wy5x9v75b5bnscjhk121";
sha256bin64 = "1djd2i9phym1d8afv4vfajb7l1bz0ny2wmihwi6jaz712vil4a13";
version = "49.0.2623.110";
};
}

View File

@ -0,0 +1,164 @@
{ stdenv, lib, fetchFromGitHub, fetchgit, qtbase, qtimageformats
, breakpad, ffmpeg, openalSoft, openssl, zlib, libexif, lzma, libopus
, gtk2, glib, cairo, pango, gdk_pixbuf, atk, libappindicator-gtk2
, libunity, dee, libdbusmenu-glib, libva
, pkgconfig, libxcb, xcbutilwm, xcbutilimage, xcbutilkeysyms
, libxkbcommon, libpng, libjpeg, freetype, harfbuzz, pcre16
, xproto, libX11, inputproto, sqlite, dbus
}:
let
system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
in stdenv.mkDerivation rec {
name = "telegram-desktop-${version}";
version = "0.9.33";
qtVersion = lib.replaceStrings ["."] ["_"] qtbase.version;
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
sha256 = "020vwm7h22951v9zh457d82qy5ifp746vwishkvb16h1vwr1qx4s";
};
tgaur = fetchgit {
url = "https://aur.archlinux.org/telegram-desktop.git";
rev = "df47a864282959b103a08b65844e9088e012fdb3";
sha256 = "1v1dbi8yiaf2hgghniykm5qbnda456xj3zfjnbqysn41f5cn40h4";
};
buildInputs = [
breakpad ffmpeg openalSoft openssl zlib libexif lzma libopus
gtk2 glib libappindicator-gtk2 libunity cairo pango gdk_pixbuf atk
dee libdbusmenu-glib libva
# Qt dependencies
libxcb xcbutilwm xcbutilimage xcbutilkeysyms libxkbcommon
libpng libjpeg freetype harfbuzz pcre16 xproto libX11
inputproto sqlite dbus
];
nativeBuildInputs = [ pkgconfig ];
enableParallelBuilding = true;
qmakeFlags = [
"CONFIG+=release"
"DEFINES+=TDESKTOP_DISABLE_AUTOUPDATE"
"DEFINES+=TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
"INCLUDEPATH+=${gtk2}/include/gtk-2.0"
"INCLUDEPATH+=${glib}/include/glib-2.0"
"INCLUDEPATH+=${glib}/lib/glib-2.0/include"
"INCLUDEPATH+=${cairo}/include/cairo"
"INCLUDEPATH+=${pango}/include/pango-1.0"
"INCLUDEPATH+=${gtk2}/lib/gtk-2.0/include"
"INCLUDEPATH+=${gdk_pixbuf}/include/gdk-pixbuf-2.0"
"INCLUDEPATH+=${atk}/include/atk-1.0"
"INCLUDEPATH+=${libappindicator-gtk2}/include/libappindicator-0.1"
"INCLUDEPATH+=${libunity}/include/unity"
"INCLUDEPATH+=${dee}/include/dee-1.0"
"INCLUDEPATH+=${libdbusmenu-glib}/include/libdbusmenu-glib-0.4"
"INCLUDEPATH+=${breakpad}/include/breakpad"
"LIBS+=-lcrypto"
"LIBS+=-lssl"
"LIBS+=-lz"
"LIBS+=-lgobject-2.0"
"LIBS+=-lxkbcommon"
"LIBS+=-lX11"
"LIBS+=${breakpad}/lib/libbreakpad_client.a"
"LIBS+=./../../../Libraries/QtStatic/qtbase/plugins/platforms/libqxcb.a"
"LIBS+=./../../../Libraries/QtStatic/qtimageformats/plugins/imageformats/libqwebp.a"
];
qtSrcs = qtbase.srcs ++ [ qtimageformats.src ];
qtPatches = qtbase.patches;
buildCommand = ''
# We don't use nativeBuildInputs to avoid adding system Qt 5 libraries to various paths.
export PATH="${qtbase}/bin:$PATH"
unpackPhase
cd "$sourceRoot"
patchPhase
sed -i 'Telegram/Telegram.pro' \
-e 's/CUSTOM_API_ID//g' \
-e 's,/usr,/does-not-exist,g' \
-e '/LIBS += .*libxkbcommon.a/d' \
-e '/LIBS += .*libz.a/d' \
-e '/LIBS += .*libbreakpad_client.a/d' \
-e 's,-flto ,,g'
echo "Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)" >> Telegram/SourceFiles/stdafx.cpp
( mkdir -p ../Libraries
cd ../Libraries
for i in $qtSrcs; do
tar -xaf $i
done
mv qt-everywhere-opensource-src-* QtStatic
mv qtbase-opensource-src-* ./QtStatic/qtbase
mv qtimageformats-opensource-src-* ./QtStatic/qtimageformats
cd QtStatic/qtbase
patch -p1 < ../../../$sourceRoot/Telegram/_qtbase_${qtVersion}_patch.diff
cd ..
for i in $qtPatches; do
patch -p1 < $i
done
${qtbase.postPatch}
export configureFlags="-prefix "../../qt" -release -opensource -confirm-license -system-zlib \
-system-libpng -system-libjpeg -system-freetype -system-harfbuzz -system-pcre -system-xcb \
-system-xkbcommon-x11 -no-opengl -static -nomake examples -nomake tests \
-openssl-linked -dbus-linked -system-sqlite -verbose \
${lib.optionalString (!system-x86_64) "-no-sse2"} -no-sse3 -no-ssse3 \
-no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2"
export dontAddPrefix=1
export buildFlags="module-qtbase module-qtimageformats"
export installFlags="module-qtbase-install_subtargets module-qtimageformats-install_subtargets"
( export MAKEFLAGS=-j$NIX_BUILD_CORES
configurePhase
)
buildPhase
installPhase
)
( mkdir -p Linux/DebugIntermediateStyle
cd Linux/DebugIntermediateStyle
qmake CONFIG+=debug ../../Telegram/MetaStyle.pro
buildPhase
)
( mkdir -p Linux/DebugIntermediateLang
cd Linux/DebugIntermediateLang
qmake CONFIG+=debug ../../Telegram/MetaLang.pro
buildPhase
)
( mkdir -p Linux/ReleaseIntermediate
cd Linux/ReleaseIntermediate
qmake $qmakeFlags ../../Telegram/Telegram.pro
pattern="^PRE_TARGETDEPS +="
grep "$pattern" "../../Telegram/Telegram.pro" | sed "s/$pattern//g" | xargs make
qmake $qmakeFlags ../../Telegram/Telegram.pro
buildPhase
)
install -Dm755 Linux/Release/Telegram $out/bin/telegram-desktop
mkdir -p $out/share/applications $out/share/kde4/services
sed "s,/usr/bin,$out/bin,g" $tgaur/telegramdesktop.desktop > $out/share/applications/telegramdesktop.desktop
sed "s,/usr/bin,$out/bin,g" $tgaur/tg.protocol > $out/share/kde4/services/tg.protocol
for icon_size in 16 32 48 64 128 256 512; do
install -Dm644 "Telegram/SourceFiles/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram-desktop.png"
done
fixupPhase
'';
meta = with stdenv.lib; {
description = "Telegram Desktop messaging app";
license = licenses.gpl3;
platforms = platforms.linux;
homepage = "https://desktop.telegram.org/";
maintainers = with maintainers; [ abbradar ];
};
}

View File

@ -13,7 +13,7 @@
enableOfficialBranding ? false
}:
let version = "38.7.0"; in
let version = "38.7.1"; in
let verName = "${version}"; in
stdenv.mkDerivation rec {
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://archive.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
sha256 = "1wbkj8a0p62mcbxlq8yyzrx51xi65qm8f2ccqiv5pb6qd51b5d0v";
sha256 = "0a4kbmas0a6wavp8dxkva0fl1y1qrx6b7l3xdjdan7qx7ysmm626";
};
buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "x2goclient-${version}";
version = "4.0.5.0";
version = "4.0.5.1";
src = fetchurl {
url = "http://code.x2go.org/releases/source/x2goclient/${name}.tar.gz";
sha256 = "18a2pszh0nq2ir64a1ah1mlzddn4qcd12b339bv30n0y1ir92bi4";
sha256 = "04gdccqywas029a76k3r9zhr2mfn385i9r06cmi8mznxpczrhkl4";
};
buildInputs = [ cups libssh libXpm nxproxy openldap qt4 ];

View File

@ -10,7 +10,12 @@ stdenv.mkDerivation rec {
};
buildInputs = [ gmp libantlr3c boost autoreconfHook ];
preConfigure = "patchShebangs ./src/";
preConfigure = ''
patchShebangs ./src/
OLD_CPPFLAGS="$CPPFLAGS"
export CPPFLAGS="$CPPFLAGS -P"
'';
postConfigure = ''CPPFLAGS="$OLD_CPPFLAGS"'';
doChecks = true;
meta = with stdenv.lib; {

View File

@ -0,0 +1,10 @@
{ callPackage, fetchgit, lua } :
let
src = fetchgit {
url = "https://github.com/grwlf/torch-distro";
rev = "f972c4253b14b95b53aefe7b24efa496223e73f2";
sha256 = "1lhjhivhyypaic33vj1nsghshsajf7vi6gwsclaf3nqdl27d1h1s";
};
in
callPackage (import ./torch-distro.nix) { inherit lua src; }

View File

@ -0,0 +1,329 @@
{ luarocks, lib , stdenv, writeText , readline, makeWrapper,
less, ncurses, cmake, openblas, coreutils, fetchgit, libuuid, czmq, openssl,
gnuplot, fetchurl, lua, src, libjpeg, libpng
} :
let
common_meta = {
homepage = http://torch.ch;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ smironov ];
platforms = stdenv.lib.platforms.gnu;
};
distro_src = src;
default_luarocks = luarocks;
pkgs_gnuplot = gnuplot;
luapkgs = rec {
luarocks = default_luarocks.override {
inherit lua;
};
buildLuaRocks = { rockspec ? "", luadeps ? [] , buildInputs ? []
, preBuild ? "" , postInstall ? ""
, runtimeDeps ? [] , ... }@args :
let
luadeps_ =
luadeps ++
(lib.concatMap (d : if d ? luadeps then d.luadeps else []) luadeps);
runtimeDeps_ =
runtimeDeps ++
(lib.concatMap (d : if d ? runtimeDeps then d.runtimeDeps else []) luadeps) ++
[ lua coreutils ];
mkcfg = ''
export LUAROCKS_CONFIG=config.lua
cat >config.lua <<EOF
rocks_trees = {
{ name = [[system]], root = [[${luarocks}]] }
${lib.concatImapStrings (i : dep : ", { name = [[dep${toString i}]], root = [[${dep}]] }") luadeps_}
};
variables = {
LUA_BINDIR = "$out/bin";
LUA_INCDIR = "$out/include";
LUA_LIBDIR = "$out/lib/lua/${lua.luaversion}";
};
EOF
'';
in
stdenv.mkDerivation (args // {
inherit preBuild postInstall;
inherit luadeps runtimeDeps;
phases = [ "unpackPhase" "patchPhase" "buildPhase"];
buildInputs = runtimeDeps ++ buildInputs ++ [ makeWrapper lua ];
buildPhase = ''
eval "$preBuild"
${mkcfg}
eval "`${luarocks}/bin/luarocks --deps-mode=all --tree=$out path`"
${luarocks}/bin/luarocks make --deps-mode=all --tree=$out ${rockspec}
for p in $out/bin/*; do
wrapProgram $p \
--suffix LD_LIBRARY_PATH ';' "${lib.makeSearchPath "lib" runtimeDeps_}" \
--suffix PATH ';' "${lib.makeSearchPath "bin" runtimeDeps_}" \
--suffix LUA_PATH ';' "\"$LUA_PATH\"" \
--suffix LUA_PATH ';' "\"$out/share/lua/${lua.luaversion}/?.lua;$out/share/lua/${lua.luaversion}/?/init.lua\"" \
--suffix LUA_CPATH ';' "\"$LUA_CPATH\"" \
--suffix LUA_CPATH ';' "\"$out/lib/lua/${lua.luaversion}/?.so;$out/lib/lua/${lua.luaversion}/?/init.so\""
done
eval "$postInstall"
'';
});
# FIXME: doesn't installs lua-files for some reason
# lua-cjson = buildLuaPackage {
# name = "lua-cjson";
# src = ./extra/lua-cjson;
# rockspec = "lua-cjson-2.1devel-1.rockspec";
# };
lua-cjson = stdenv.mkDerivation rec {
name = "lua-cjson";
src = "${distro_src}/extra/lua-cjson";
preConfigure = ''
makeFlags="PREFIX=$out LUA_LIBRARY=$out/lib/lua"
'';
buildInputs = [lua];
installPhase = ''
make install-extra $makeFlags
'';
};
luafilesystem = buildLuaRocks {
name = "filesystem";
src = "${distro_src}/extra/luafilesystem";
luadeps = [lua-cjson];
rockspec = "rockspecs/luafilesystem-1.6.3-1.rockspec";
};
penlight = buildLuaRocks {
name = "penlight";
src = "${distro_src}/extra/penlight";
luadeps = [luafilesystem];
};
luaffifb = buildLuaRocks {
name = "luaffifb";
src = "${distro_src}/extra/luaffifb";
};
sundown = buildLuaRocks rec {
name = "sundown";
src = "${distro_src}/pkg/sundown";
rockspec = "rocks/${name}-scm-1.rockspec";
};
cwrap = buildLuaRocks rec {
name = "cwrap";
src = "${distro_src}/pkg/cwrap";
rockspec = "rocks/${name}-scm-1.rockspec";
};
paths = buildLuaRocks rec {
name = "paths";
src = "${distro_src}/pkg/paths";
buildInputs = [cmake];
rockspec = "rocks/${name}-scm-1.rockspec";
};
torch = buildLuaRocks rec {
name = "torch";
src = "${distro_src}/pkg/torch";
luadeps = [ paths cwrap ];
buildInputs = [ cmake ];
rockspec = "rocks/torch-scm-1.rockspec";
preBuild = ''
substituteInPlace ${rockspec} \
--replace '"sys >= 1.0"' ' '
export LUA_PATH="$src/?.lua;$LUA_PATH"
'';
meta = common_meta // {
description = "Torch is a machine-learning library";
longDescription = ''
Torch is the main package in [Torch7](http://torch.ch) where data
structures for multi-dimensional tensors and mathematical operations
over these are defined. Additionally, it provides many utilities for
accessing files, serializing objects of arbitrary types and other
useful utilities.
'';
};
};
dok = buildLuaRocks rec {
name = "dok";
src = "${distro_src}/pkg/dok";
luadeps = [sundown];
rockspec = "rocks/${name}-scm-1.rockspec";
};
sys = buildLuaRocks rec {
name = "sys";
luadeps = [torch];
buildInputs = [readline cmake];
src = "${distro_src}/pkg/sys";
rockspec = "sys-1.1-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
xlua = buildLuaRocks rec {
name = "xlua";
luadeps = [torch sys];
src = "${distro_src}/pkg/xlua";
rockspec = "xlua-1.0-0.rockspec";
};
nn = buildLuaRocks rec {
name = "nn";
luadeps = [torch luaffifb];
buildInputs = [cmake];
src = "${distro_src}/extra/nn";
rockspec = "rocks/nn-scm-1.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
graph = buildLuaRocks rec {
name = "graph";
luadeps = [ torch ];
buildInputs = [cmake];
src = "${distro_src}/extra/graph";
rockspec = "rocks/graph-scm-1.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
nngraph = buildLuaRocks rec {
name = "nngraph";
luadeps = [ torch nn graph ];
buildInputs = [cmake];
src = "${distro_src}/extra/nngraph";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
image = buildLuaRocks rec {
name = "image";
luadeps = [ torch dok sys xlua ];
buildInputs = [cmake libjpeg libpng];
src = "${distro_src}/pkg/image";
rockspec = "image-1.1.alpha-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
optim = buildLuaRocks rec {
name = "optim";
luadeps = [ torch ];
buildInputs = [cmake];
src = "${distro_src}/pkg/optim";
rockspec = "optim-1.0.5-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
gnuplot = buildLuaRocks rec {
name = "gnuplot";
luadeps = [ torch paths ];
runtimeDeps = [ pkgs_gnuplot less ];
src = "${distro_src}/pkg/gnuplot";
rockspec = "rocks/gnuplot-scm-1.rockspec";
};
unsup = buildLuaRocks rec {
name = "unsup";
luadeps = [ torch xlua optim ];
buildInputs = [ cmake ];
src = fetchgit {
url = "https://github.com/koraykv/unsup";
rev = "1d4632e716dc3c82feecc7dd4b22549df442859f";
sha256 = "0npjq3y1cfmk026sdijcw3f766innrmb3qggnxsz62grczhfvgls";
};
rockspec = "unsup-0.1-0.rockspec";
preBuild = ''
export Torch_DIR=${torch}/share/cmake/torch
'';
};
trepl = buildLuaRocks rec {
name = "trepl";
luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot optim sys dok unsup];
runtimeDeps = [ ncurses readline ];
src = "${distro_src}/exe/trepl";
meta = common_meta // {
description = "A pure Lua REPL for Lua(JIT), with heavy support for Torch types.";
};
};
lbase64 = buildLuaRocks rec {
name = "lbase64";
src = fetchgit {
url = "https://github.com/LuaDist2/lbase64";
rev = "1e9e4f1e0bf589a0ed39f58acc185ec5e213d207";
sha256 = "1i1fpy9v6r4w3lrmz7bmf5ppq65925rv90gx39b3pykfmn0hcb9c";
};
};
luuid = stdenv.mkDerivation rec {
name = "luuid";
src = fetchgit {
url = "https://github.com/LuaDist/luuid";
sha256 = "062gdf1rild11jg46vry93hcbb36b4527pf1dy7q9fv89f7m2nav";
};
preConfigure = ''
cmakeFlags="-DLUA_LIBRARY=${lua}/lib/lua/${lua.luaversion} -DINSTALL_CMOD=$out/lib/lua/${lua.luaversion} -DINSTALL_MOD=$out/lib/lua/${lua.luaversion}"
'';
buildInputs = [cmake libuuid lua];
meta = {
# FIXME: set the exact revision for src
broken = true;
};
};
# Doesn't work due to missing deps (according to luarocs).
itorch = buildLuaRocks rec {
name = "itorch";
luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot
optim sys dok lbase64 lua-cjson luuid];
buildInputs = [czmq openssl];
src = "${distro_src}/extra/iTorch";
meta = {
# FIXME: figure out whats wrong with deps
broken = true;
};
};
};
in
luapkgs

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 libiconv;
tk makeWrapper subversionClient gzip openssh libiconv;
texinfo = texinfo5;
svnSupport = false; # for git-svn support
guiSupport = false; # requires tcl/tk

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
name = "git-cola-${version}";
version = "2.2.1";
version = "2.5";
src = fetchurl {
url = "https://github.com/git-cola/git-cola/archive/v${version}.tar.gz";
sha256 = "1v1s9gx16xihdcck4qp92bdci8zc6pb5a3z3y8k9jqj97hfkw2nz";
sha256 = "0ybjmlwm1plnvqi20y91ci7sgldzwlwn86vyyn9a157h7lf4ngb8";
};
buildInputs = [ makeWrapper gettext ];

View File

@ -1,4 +1,5 @@
{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio, gnugrep, gzip
{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio
, gnugrep, gzip, openssh
, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
, libxslt, tcl, tk, makeWrapper, libiconv
, svnSupport, subversionClient, perlLibs, smtpPerlLibs
@ -25,8 +26,16 @@ stdenv.mkDerivation {
./docbook2texi.patch
./symlinks-in-bin.patch
./git-sh-i18n.patch
./ssh-path.patch
];
postPatch = ''
for x in connect.c git-gui/lib/remote_add.tcl ; do
substituteInPlace "$x" \
--subst-var-by ssh "${openssh}/bin/ssh"
done
'';
buildInputs = [curl openssl zlib expat gettext cpio makeWrapper libiconv]
++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
docbook_xsl docbook_xml_dtd_45 libxslt ]

View File

@ -0,0 +1,26 @@
diff --git a/connect.c b/connect.c
index fd7ffe1..20cd992 100644
--- a/connect.c
+++ b/connect.c
@@ -768,7 +768,7 @@ struct child_process *git_connect(int fd[2], const char *url,
ssh = getenv("GIT_SSH");
if (!ssh)
- ssh = "ssh";
+ ssh = "@ssh@";
ssh_dup = xstrdup(ssh);
base = basename(ssh_dup);
diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl
index 50029d0..17b9594 100644
--- a/git-gui/lib/remote_add.tcl
+++ b/git-gui/lib/remote_add.tcl
@@ -139,7 +139,7 @@ method _add {} {
# Parse the location
if { [regexp {(?:git\+)?ssh://([^/]+)(/.+)} $location xx host path]
|| [regexp {([^:][^:]+):(.+)} $location xx host path]} {
- set ssh ssh
+ set ssh @ssh@
if {[info exists env(GIT_SSH)]} {
set ssh $env(GIT_SSH)
}

View File

@ -15,7 +15,7 @@
with stdenv.lib;
let
version = "2.5.0";
version = "2.5.1";
audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
+ optionalString pulseSupport "pa,"
+ optionalString sdlSupport "sdl,";
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
sha256 = "1m3j6xl7msrniidkvr5pw9d44yba5m7hm42xz8xy77v105s8hhrl";
sha256 = "0b2xa8604absdmzpcyjs7fix19y5blqmgflnwjzsp1mp7g1m51q2";
};
buildInputs =

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
};
pythonPath = with pythonPackages;
[ setuptools eventlet greenlet gflags netaddr sqlalchemy7 carrot routes
[ setuptools eventlet greenlet gflags netaddr carrot routes
PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
distutils_extra simplejson readline glanceclient cheetah lockfile httplib2
# !!! should libvirt be a build-time dependency? Note that

View File

@ -46,9 +46,9 @@ while [ $n -lt ${#params[*]} ]; do
isCpp=1
elif [ "$p" = -nostdlib ]; then
isCpp=-1
elif [ "${i:0:1}" != - ]; then
elif [ "${p:0:1}" != - ]; then
nonFlagArgs=1
elif [ "$i" = -m32 ]; then
elif [ "$p" = -m32 ]; then
if [ -e @out@/nix-support/dynamic-linker-m32 ]; then
NIX_LDFLAGS="$NIX_LDFLAGS -dynamic-linker $(cat @out@/nix-support/dynamic-linker-m32)"
fi

View File

@ -66,6 +66,7 @@ rec {
mknod -m 666 ${dev}/random c 1 8
mknod -m 666 ${dev}/urandom c 1 9
mknod -m 666 ${dev}/tty c 5 0
mknod -m 666 ${dev}/ttyS0 c 4 64
mknod ${dev}/rtc c 254 0
. /sys/class/block/${hd}/uevent
mknod ${dev}/${hd} b $MAJOR $MINOR
@ -208,7 +209,7 @@ rec {
export PATH=/bin:/usr/bin:${coreutils}/bin
echo "Starting interactive shell..."
echo "(To run the original builder: \$origBuilder \$origArgs)"
exec ${bash}/bin/sh
exec ${busybox}/bin/setsid ${bashInteractive}/bin/bash < /dev/ttyS0 &> /dev/ttyS0
fi
'';
@ -219,7 +220,7 @@ rec {
-nographic -no-reboot \
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
-drive file=$diskImage,if=virtio,cache=writeback,werror=report \
-drive file=$diskImage,if=virtio,cache=unsafe,werror=report \
-kernel ${kernel}/${img} \
-initrd ${initrd}/initrd \
-append "console=ttyS0 panic=1 command=${stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "fsharp-${version}";
version = "4.0.0.4";
version = "4.0.1.1";
src = fetchurl {
url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
sha256 = "1m9pwr4xjl3ikaf3pzsa4pb3pr533xa0v34y2cy4pjcc6j0f71av";
sha256 = "0mvmvwwpl4zq0yvgzdizww8l9azvlrc82xm32nz1fi1nw8x5qfqk";
};
buildInputs = [ mono pkgconfig dotnetbuildhelpers autoconf automake which ];

View File

@ -500,8 +500,6 @@ stdenv.mkDerivation ({
inherit (stdenv) is64bit;
setupHook = ./use-old-abi.sh;
meta = {
homepage = http://gcc.gnu.org/;
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+

View File

@ -1 +0,0 @@
NIX_CFLAGS_COMPILE+=" -D_GLIBCXX_USE_CXX11_ABI=0"

View File

@ -39,5 +39,6 @@ stdenv.mkDerivation rec {
maintainers = with stdenv.lib.maintainers; [ marcweber andres simons ];
platforms = ["x86_64-linux" "i686-linux"]; # Darwin is unsupported.
inherit (ghc.meta) license;
broken = true; # broken by gcc 5.x: http://hydra.nixos.org/build/33627548
};
}

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
gmp libyaml libedit libvpx imagemagick fribidi gperf
];
enableParallelBuilding = true;
enableParallelBuilding = false; # occasional build problems;
dontUseCmakeBuildDir = true;
NIX_LDFLAGS = "-lpam -L${pam}/lib";
MYSQL_INCLUDE_DIR="${mariadb}/include/mysql";

View File

@ -58,6 +58,7 @@ clangStdenv.mkDerivation rec {
description =
"Provides an iOS cross compiler from 7.1 up to iOS-${version} and ldid";
platforms = stdenv.lib.platforms.linux;
hydraPlatforms = [];
maintainers = with stdenv.lib.maintainers; [ fxfactorial ];
license = stdenv.lib.licenses.gpl2;
};

View File

@ -1,13 +1,19 @@
{ stdenv, fetchurl, perl, texinfo }:
{ stdenv, fetchurl, fetchgit, perl, texinfo }:
assert stdenv ? glibc;
stdenv.mkDerivation rec {
name = "tcc-0.9.26";
#name = "tcc-0.9.26";
name = "tcc-git-0.9.27pre-20160328";
src = fetchurl {
url = "mirror://savannah/tinycc/${name}.tar.bz2";
sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj";
#src = fetchurl {
# url = "mirror://savannah/tinycc/${name}.tar.bz2";
# sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj";
#};
src = fetchgit {
url = "git://repo.or.cz/tinycc.git";
rev = "80343ab7d829c21c65f8f9a14dd20158d028549f";
sha256 = "1bz75aj93ivb2d8hfk2bczsrwa56lv7vprvdi8c1r5phjvawbshy";
};
nativeBuildInputs = [ perl texinfo ];

View File

@ -1,63 +0,0 @@
{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
, makeWrapper, gnused, gawk }:
let version = "14B04"; in
stdenv.mkDerivation {
name = "erlang-" + version;
src = fetchurl {
url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz";
sha256 = "0vlvjlg8vzcy6inb4vj00bnj0aarvpchzxwhmi492nv31s8kb6q9";
};
buildInputs = [ perl gnum4 ncurses openssl makeWrapper ];
patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
preConfigure = ''
export HOME=$PWD/../
sed -e s@/bin/pwd@pwd@g -i otp_build
'';
configureFlags = "--with-ssl=${openssl}";
postInstall = let
manpages = fetchurl {
url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz";
sha256 = "1nh7l7wilyyaxvlwkjxgm3cq7wpd90sk6vxhgpvg7hwai8g52545";
};
in ''
tar xf "${manpages}" -C "$out/lib/erlang"
for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do
prefix="''${i%/*}"
ensureDir "$out/share/man/''${prefix##*/}"
ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl"
done
'';
# Some erlang bin/ scripts run sed and awk
postFixup = ''
wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/"
wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin"
'';
setupHook = ./setup-hook.sh;
meta = {
homepage = "http://www.erlang.org/";
description = "Programming language used for massively scalable soft real-time systems";
longDescription = ''
Erlang is a programming language used to build massively scalable
soft real-time systems with requirements on high availability.
Some of its uses are in telecoms, banking, e-commerce, computer
telephony and instant messaging. Erlang's runtime system has
built-in support for concurrency, distribution and fault
tolerance.
'';
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -2,11 +2,12 @@
stdenv.mkDerivation rec {
name = "luajit-${version}";
version = "2.0.4";
version = "2.1.0-beta1";
luaversion = "5.1";
src = fetchurl {
url = "http://luajit.org/download/LuaJIT-${version}.tar.gz";
sha256 = "0zc0y7p6nx1c0pp4nhgbdgjljpfxsb5kgwp4ysz22l1p2bms83v2";
sha256 = "06170d38387c59d1292001a166e7f5524f5c5deafa8705a49a46fa42905668dd";
};
enableParallelBuilding = true;
@ -24,13 +25,17 @@ stdenv.mkDerivation rec {
configurePhase = false;
buildFlags = [ "amalg" ]; # Build highly optimized version
installPhase = "make install PREFIX=$out";
installPhase = ''
make install INSTALL_INC=$out/include PREFIX=$out
ln -s $out/bin/luajit* $out/bin/lua
ln -s $out/bin/luajit* $out/bin/luajit
'';
meta = with stdenv.lib; {
description = "high-performance JIT compiler for Lua 5.1";
homepage = http://luajit.org;
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ maintainers.thoughtpolice ];
maintainers = with maintainers ; [ thoughtpolice smironov ];
};
}

View File

@ -0,0 +1,24 @@
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "breakpad-2016-03-28";
src = fetchgit {
url = "https://chromium.googlesource.com/breakpad/breakpad";
rev = "512cac3a1b69721ab727f3079f4d29e4580467b1";
sha256 = "0v7k7racdl2f16mbi3r0vkbkagh0gf6ksnpf3ri28b9pjfngkl5s";
};
breakpad_lss = fetchgit {
url = "https://chromium.googlesource.com/linux-syscall-support";
rev = "08056836f2b4a5747daff75435d10d649bed22f6";
sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz";
};
enableParallelBuilding = true;
prePatch = ''
cp -r $breakpad_lss src/third_party/lss
chmod +w -R src/third_party/lss
'';
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchurl, python, pkgconfig
, glib, icu, gobjectIntrospection }:
stdenv.mkDerivation rec {
name = "dee-${version}";
version = "1.2.7";
src = fetchurl {
url = "https://launchpad.net/dee/1.0/${version}/+download/${name}.tar.gz";
sha256 = "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v";
};
buildInputs = [ glib gobjectIntrospection icu ];
nativeBuildInputs = [ python pkgconfig ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "A library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus";
homepage = "https://launchpad.net/dee";
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
};
}

View File

@ -1,9 +1,9 @@
{stdenv, fetchurl, unzip}:
stdenv.mkDerivation {
name = "freeimage-3.15.3";
name = "freeimage-3.17.0";
src = fetchurl {
url = mirror://sourceforge/freeimage/FreeImage3153.zip;
sha256 = "0i60fn1n9rw55dci0yw92zrw7k1jz3f9kv2z1wxmh84s5ngxa626";
url = mirror://sourceforge/freeimage/FreeImage3170.zip;
sha256 = "12bz57asdcfsz3zr9i9nska0fb6h3z2aizy412qjqkixkginbz7v";
};
buildInputs = [ unzip ];
prePatch = ''
@ -11,6 +11,10 @@ stdenv.mkDerivation {
-e 's@-o root -g root@@' \
-e 's@ldconfig@echo not running ldconfig@' \
-i Makefile.gnu Makefile.fip
# Fix gcc 5.1 macro problems
# https://chromium.googlesource.com/webm/libwebp/+/eebaf97f5a1cb713d81d311308d8a48c124e5aef%5E!/
sed -i -e 's/"\(#[^"]*\)"/" \1 "/g' Source/LibWebP/src/dsp/*
'';
postBuild = "make -f Makefile.fip";

View File

@ -110,6 +110,7 @@ stdenv.mkDerivation rec {
substituteInPlace gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop --replace "Exec=/bin/true" "Exec=${coreutils}/bin/true"
# Needs machine-id, comment the test
sed -e '/\/gdbus\/codegen-peer-to-peer/ s/^\/*/\/\//' -i gio/tests/gdbus-peer.c
sed -e '/g_test_add_func/ s/^\/*/\/\//' -i gio/tests/gdbus-unix-addresses.c
# All gschemas fail to pass the test, upstream bug?
sed -e '/g_test_add_data_func/ s/^\/*/\/\//' -i gio/tests/gschema-compile.c
# Cannot reproduce the failing test_associations on hydra

View File

@ -0,0 +1,27 @@
{ stdenv, fetchurl, pkgconfig, glib }:
let
ver_maj = "0.6";
ver_min = "8";
in
stdenv.mkDerivation rec {
name = "libgee-${ver_maj}.${ver_min}";
src = fetchurl {
url = "https://download.gnome.org/sources/libgee/${ver_maj}/${name}.tar.xz";
sha256 = "1lzmxgz1bcs14ghfp8qqzarhn7s64ayx8c508ihizm3kc5wqs7x6";
};
buildInputs = [ glib ];
nativeBuildInputs = [ pkgconfig ];
doCheck = true;
meta = with stdenv.lib; {
description = "Utility library providing GObject-based interfaces and classes for commonly used data structures";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
homepage = "http://live.gnome.org/Libgee";
maintainers = with maintainers; [ abbradar ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl }:
{ stdenv, fetchurl, staticBuild ? false }:
stdenv.mkDerivation rec {
version = "4.9.3";
@ -11,11 +11,16 @@ stdenv.mkDerivation rec {
postUnpack = "sourceRoot=\${sourceRoot}/libiberty";
enable_shared = 1;
enable_shared = !staticBuild;
installPhase = ''
mkdir -p $out/lib
cp pic/libiberty.a $out/lib/libiberty_pic.a
mkdir -p $out/lib $out/include
cp ../include/libiberty.h $out/include/
if [ -z "$enabled_shared" ]; then
cp libiberty.a $out/lib/libiberty.a
else
cp pic/libiberty.a $out/lib/libiberty_pic.a
fi
'';
meta = with stdenv.lib; {

View File

@ -3,10 +3,10 @@
let
listVersion = "2016-03-10";
listVersion = "2016-03-30";
listSources = fetchFromGitHub {
sha256 = "10kc0b41y5cn0cnqvalz9i14j1dj6b9wgr21zz3ngqf943q6z5r9";
rev = "1e52b7efc42b1505f9580ec15a1d692523db4a3b";
sha256 = "0433ck6ykcq6pc48mvgif9f785q0ndprk77jsk58gb5289b87yns";
rev = "6ec573d549e25fc89d930bb64939d947bae38f68";
repo = "list";
owner = "publicsuffix";
};

View File

@ -0,0 +1,27 @@
{ stdenv, fetchurl, vala, python, intltool, pkgconfig
, glib, libgee_0_6, gtk3, dee, libdbusmenu-glib
}:
stdenv.mkDerivation rec {
name = "libunity-${version}";
version = "6.12.0";
src = fetchurl {
url = "https://launchpad.net/libunity/6.0/${version}/+download/${name}.tar.gz";
sha256 = "1nadapl3390x98q1wv2yarh60hzi7ck0d1s8zz9xsiq3zz6msbjd";
};
buildInputs = [ glib libgee_0_6 gtk3 ];
propagatedBuildInputs = [ dee libdbusmenu-glib ];
nativeBuildInputs = [ vala python intltool pkgconfig ];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "A library for instrumenting- and integrating with all aspects of the Unity shell";
homepage = "https://launchpad.net/libunity";
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
};
}

View File

@ -1,16 +1,23 @@
{ stdenv, fetchurl
, windows ? null, variant ? null, pcre
, withCharSize ? 8
}:
with stdenv.lib;
assert elem variant [ null "cpp" "pcre16" "pcre32" ];
stdenv.mkDerivation rec {
name = "pcre-8.38";
let
version = "8.38";
pname = if (variant == null) then "pcre"
else if (variant == "cpp") then "pcre-cpp"
else variant;
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${version}.tar.bz2";
sha256 = "1pvra19ljkr5ky35y2iywjnsckrs9ch2anrf5b0dc91hw8v2vq5r";
};

View File

@ -4,7 +4,7 @@
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
, fontconfig, freetype, harfbuzz
, openssl, dbus, glib, udev, libxml2, libxslt, pcre
, openssl, dbus, glib, udev, libxml2, libxslt, pcre16
, zlib, libjpeg, libpng, libtiff, sqlite, icu
, coreutils, bison, flex, gdb, gperf, lndir, ruby
@ -188,11 +188,12 @@ stdenv.mkDerivation {
-no-mips_dspr2
-system-zlib
-system-harfbuzz
-system-libpng
-system-libjpeg
-system-harfbuzz
-system-xcb
-system-xkbcommon
-system-pcre
-openssl-linked
-dbus-linked
@ -212,7 +213,7 @@ stdenv.mkDerivation {
PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
propagatedBuildInputs = [
dbus glib libxml2 libxslt openssl pcre sqlite udev zlib
dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib
# Image formats
libjpeg libpng libtiff

View File

@ -2,10 +2,11 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplica
===================================================================
--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp
+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp
@@ -2498,6 +2498,21 @@ QStringList QCoreApplication::libraryPat
@@ -2498,6 +2498,22 @@ QStringList QCoreApplication::libraryPat
}
}
}
+ qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes
+
+ // Add library paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");

View File

@ -1,37 +0,0 @@
From 3f6fa74067aacd0e595e45b4ef7ce754514cb205 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:28:18 -0500
Subject: [PATCH] nix profiles import paths
---
src/qml/qml/qqmlimport.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index 5a54609..f33c2f9 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -1549,6 +1549,20 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
addImportPath(installImportsPath);
+ // Add import paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/qml");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()) {
+ addImportPath(canonicalPath);
+ }
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
--
2.5.2

View File

@ -1,8 +1,8 @@
{ qtSubmodule, python, qtbase, qtsvg, qtxmlpatterns }:
{ qtSubmodule, lib, copyPathsToStore, python, qtbase, qtsvg, qtxmlpatterns }:
qtSubmodule {
name = "qtdeclarative";
patches = [ ./0001-nix-profiles-import-paths.patch ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
nativeBuildInputs = [ python ];
postFixup = ''

View File

@ -0,0 +1 @@
nix-profiles-import-paths.patch

View File

@ -1,37 +0,0 @@
From bbc706b3fcb90ca3b2b51d5e3434145572152711 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:29:51 -0500
Subject: [PATCH] nix profiles import paths
---
src/declarative/qml/qdeclarativeimport.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
index 9404834..d185ed5 100644
--- a/src/declarative/qml/qdeclarativeimport.cpp
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -725,6 +725,20 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
addImportPath(installImportsPath);
+ // Add import paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/imports");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()) {
+ addImportPath(canonicalPath);
+ }
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
--
2.5.2

View File

@ -1,8 +1,8 @@
{ qtSubmodule, qtscript, qtsvg, qtwebkit, qtxmlpatterns }:
{ qtSubmodule, lib, copyPathsToStore, qtscript, qtsvg, qtwebkit, qtxmlpatterns }:
qtSubmodule {
name = "qtquick1";
patches = [ ./0001-nix-profiles-import-paths.patch ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
postFixup = ''
fixQtModuleCMakeConfig "Declarative"

View File

@ -0,0 +1 @@
nix-profiles-import-paths.patch

View File

@ -22,13 +22,13 @@ let local = config.openblas.preferLocalBuild or false;
optionals (hasAttr "target" config.openblas) [ "TARGET=${config.openblas.target}" ];
blas64 = if blas64_ != null then blas64_ else hasPrefix "x86_64" stdenv.system;
version = "0.2.15";
version = "0.2.17";
in
stdenv.mkDerivation {
name = "openblas-${version}";
src = fetchurl {
url = "https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz";
sha256 = "0i4hrjx622vw5ff35wm6cnga3ic8hcfa88p1wlj24a3qb770mi3k";
sha256 = "1gqdrxgc7qmr3xqq4wqcysjhv7ix4ar7ymn3vk5g97r1xvgkds0g";
name = "openblas-${version}.tar.gz";
};

View File

@ -0,0 +1,11 @@
diff -ru libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm libunicode-string-perl-2.09/lib/Unicode/CharName.pm
--- libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm 2005-10-25 19:11:00.000000000 +0100
+++ libunicode-string-perl-2.09/lib/Unicode/CharName.pm 2012-01-24 12:56:59.730653088 +0000
@@ -77,7 +77,7 @@
return join("", "HANGUL SYLLABLE ", @s)
}
}
- _init_names() unless defined %NAMES;
+ _init_names() unless %NAMES;
$NAMES{sprintf("%04X",$code)}
}

View File

@ -16,5 +16,5 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.coconnor ];
};
buildCommand = "ln -s $src $out";
buildCommand = "cp $src $out";
}

View File

@ -35,6 +35,9 @@ stdenv.mkDerivation rec {
# Bug fix backported from binutils master.
./fix-bsymbolic.patch
# Bug fix backported from binutils master.
./fix-update-symbol-version.patch
];
outputs = (optional (cross == null) "dev") ++ [ "out" "info" ];

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, binutils, popt, zlib, pkgconfig, linuxHeaders
, withGUI ? false , qt4 ? null}:
, libiberty_static, withGUI ? false , qt4 ? null}:
# libX11 is needed because the Qt build stuff automatically adds `-lX11'.
assert withGUI -> qt4 != null;
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "0v1nn38h227bgxjwqf22rjp2iqgjm4ls3gckzifks0x6w5nrlxfg";
};
buildInputs = [ binutils zlib popt pkgconfig linuxHeaders ]
buildInputs = [ binutils zlib popt pkgconfig linuxHeaders libiberty_static ]
++ stdenv.lib.optionals withGUI [ qt4 ];
configureFlags = [

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, libv4l, gd }:
stdenv.mkDerivation rec {
name = "fswebcam-20140113";
src = fetchurl {
url = "http://www.sanslogic.co.uk/fswebcam/files/${name}.tar.gz";
sha256 = "3ee389f72a7737700d22e0c954720b1e3bbadc8a0daad6426c25489ba9dc3199";
};
buildInputs =
[ libv4l gd ];
meta = {
description = "neat and simple webcam app";
homepage = http://www.sanslogic.co.uk/fswebcam;
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -17,13 +17,13 @@ assert buildKernel -> kernel != null;
stdenv.mkDerivation rec {
name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
version = "0.6.5.5";
version = "0.6.5.6";
src = fetchFromGitHub {
owner = "zfsonlinux";
repo = "spl";
rev = "spl-${version}";
sha256 = "1f49qv648klg2sn1v1wzwd6ls1njjj0hrazz7msd74ayhwm0zcw7";
sha256 = "08lbfwsd368sk7dgydabzkyyn2l2n82ifcqakra3xknwgg1ka9bn";
};
patches = [ ./const.patch ./install_prefix.patch ];

View File

@ -20,13 +20,13 @@ assert buildKernel -> kernel != null && spl != null;
stdenv.mkDerivation rec {
name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
version = "0.6.5.5";
version = "0.6.5.6";
src = fetchFromGitHub {
owner = "zfsonlinux";
repo = "zfs";
rev = "zfs-${version}";
sha256 = "0np03p5zkx87a0a5rw629f9m4wp5gd01c1jkh5p7h63mmvaxfdda";
sha256 = "0lsb93y5zbwc8fafxzm9vyfpr6fmvl8h86ny4llbd2xy2hnfwk2i";
};
patches = [ ./nix-build.patch ];

View File

@ -3,6 +3,8 @@
stdenv.mkDerivation rec {
name = "oidentd-2.0.8";
CFLAGS = [ "--std=gnu89" ];
src = fetchurl {
url = "mirror://sourceforge/ojnk/${name}.tar.gz";
sha256 = "0vzv2086rrxcaavrm3js7aqvyc0grgaqy78x61d8s7r8hz8vwk55";

View File

@ -17,7 +17,7 @@ composableDerivation.composableDerivation {} {
/* perl TODO export these (SWIG only if its present) HAVE_PERL=1 HAVE_PERL_DEVEL=1 HAVE_PERL_SWIG=1 */
};
buildInputs = [ (pcre.override { unicodeSupport = true; })
buildInputs = [ pcre
openssl readline libxml2 ]; # optional python perl php java ?
cfg = {

View File

@ -649,14 +649,14 @@ configurePhase() {
# Add --disable-dependency-tracking to speed up some builds.
if [ -z "$dontAddDisableDepTrack" ]; then
if grep -q dependency-tracking "$configureScript"; then
if [ -f "$configureScript" ] && grep -q dependency-tracking "$configureScript"; then
configureFlags="--disable-dependency-tracking $configureFlags"
fi
fi
# By default, disable static builds.
if [ -z "$dontDisableStatic" ]; then
if grep -q enable-static "$configureScript"; then
if [ -f "$configureScript" ] && grep -q enable-static "$configureScript"; then
configureFlags="--disable-static $configureFlags"
fi
fi

View File

@ -1,12 +1,12 @@
{
busybox = import <nix/fetchurl.nix> {
url = http://tarballs.nixos.org/stdenv-linux/i686/8d66a51a872af1ab58edc68a2ebddcc79958b563/busybox;
sha256 = "9278001d11bb0359d0cc1b30bd5c9823f0b9c65db127d6dfcc1f6bbc000d15a0";
url = http://tarballs.nixos.org/stdenv-linux/i686/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/busybox;
sha256 = "ef4c1be6c7ae57e4f654efd90ae2d2e204d6769364c46469fa9ff3761195cba1";
executable = true;
};
bootstrapTools = import <nix/fetchurl.nix> {
url = http://tarballs.nixos.org/stdenv-linux/i686/8d66a51a872af1ab58edc68a2ebddcc79958b563/bootstrap-tools.tar.xz;
sha256 = "6bc27ce9b08adcca0298f5fe80fe67f5bbb2dffdd1d8666fd44cb76ace198a25";
url = http://tarballs.nixos.org/stdenv-linux/i686/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/bootstrap-tools.tar.xz;
sha256 = "cf920d26d94335f5cb46e247455d0e5389765d16a2b8fc233b792a655b5b58aa";
};
}

View File

@ -3,7 +3,7 @@
{
bootstrapTools = import <nix/fetchurl.nix> {
url = http://tarballs.nixos.org/stdenv-linux/x86_64/8d66a51a872af1ab58edc68a2ebddcc79958b563/bootstrap-tools.tar.xz;
sha256 = "325230b74d3d98f62ddcb595543887d09cd8421745a4eda229d2a87a1f1ed336";
url = http://tarballs.nixos.org/stdenv-linux/x86_64/4907fc9e8d0d82b28b3c56e3a478a2882f1d700f/bootstrap-tools.tar.xz;
sha256 = "abe3f0727dd771a60b7922892d308da1bc7b082afc13440880862f0c8823c09f";
};
}

View File

@ -1,49 +0,0 @@
diff -rc davfs2-1.4.1/src/Makefile.in davfs2-1.4.1-new/src/Makefile.in
*** davfs2-1.4.1/src/Makefile.in 2009-06-13 18:31:22.000000000 +0200
--- davfs2-1.4.1-new/src/Makefile.in 2009-09-22 09:12:09.523154536 +0200
***************
*** 489,500 ****
install-exec-hook:
! chmod u+s $(DESTDIR)$(sbindir)/mount.davfs; \
! if test "$(sbindir)" != "$(ssbindir)"; then \
! $(mkinstalldirs) $(DESTDIR)$(ssbindir); \
! $(LN_S) -f $(DESTDIR)$(sbindir)/mount.davfs $(DESTDIR)$(ssbindir)/mount.davfs; \
! $(LN_S) -f $(DESTDIR)$(sbindir)/umount.davfs $(DESTDIR)$(ssbindir)/umount.davfs; \
! fi
uninstall-hook:
if test "$(sbindir)" != "$(ssbindir)"; then \
--- 489,495 ----
install-exec-hook:
! chmod u+s $(DESTDIR)$(sbindir)/mount.davfs;
uninstall-hook:
if test "$(sbindir)" != "$(ssbindir)"; then \
diff -rc davfs2-1.4.1/src/mount_davfs.c davfs2-1.4.1-new/src/mount_davfs.c
*** davfs2-1.4.1/src/mount_davfs.c 2009-06-12 11:54:58.000000000 +0200
--- davfs2-1.4.1-new/src/mount_davfs.c 2009-09-22 09:45:21.462726033 +0200
***************
*** 2327,2335 ****
}
if (st.st_uid != geteuid())
error(EXIT_FAILURE, 0, _("file %s has wrong owner"), filename);
! if ((st.st_mode &
(S_IXUSR | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX)) != 0)
! error(EXIT_FAILURE, 0, _("file %s has wrong permissions"), filename);
FILE *file = fopen(filename, "r");
if (!file) {
--- 2327,2335 ----
}
if (st.st_uid != geteuid())
error(EXIT_FAILURE, 0, _("file %s has wrong owner"), filename);
! /* if ((st.st_mode &
(S_IXUSR | S_IRWXG | S_IRWXO | S_ISUID | S_ISGID | S_ISVTX)) != 0)
! error(EXIT_FAILURE, 0, _("file %s has wrong permissions"), filename); */
FILE *file = fopen(filename, "r");
if (!file) {

View File

@ -1,19 +1,21 @@
{ stdenv, fetchurl, neon, zlib }:
stdenv.mkDerivation rec {
name = "davfs2-1.4.7";
name = "davfs2-1.5.2";
src = fetchurl {
url = "mirror://savannah/davfs2/${name}.tar.gz";
sha256 = "0i7hrwlfzisb4l2mza1kjj9q9xxixggjplsjm339zl7828mfxh2h";
sha256 = "0n5k2xxfxmbsavg5fhp65lmy30hq9jg3w242rdzafvksnnda2d5y";
};
buildInputs = [ neon zlib ];
patches = [ ./davfs2-install.patch ./isdir.patch ./fix-sysconfdir.patch ];
patches = [ ./isdir.patch ./fix-sysconfdir.patch ];
configureFlags = "--sysconfdir=/etc";
makeFlags = ["sbindir=$(out)/sbin" "ssbindir=$(out)/sbin"];
meta = {
homepage = "http://savannah.nongnu.org/projects/davfs2";
description = "mount WebDAV shares like a typical filesystem";

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
pname = "ntfs-3g";
version = "2015.3.14";
version = "2016.2.22";
name = "${pname}-${version}";
buildInputs = [ libuuid ] ++ stdenv.lib.optionals crypto [ gnutls libgcrypt ];
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${version}.tgz";
sha256 = "1wiqcmy07y02k3iqq56cscnhg5syisbjj9mxfaid85l3bl0rdycp";
sha256 = "180y5y09h30ryf2vim8j30a2npwz1iv9ly5yjmh3wjdkwh2jrdyp";
};
patchPhase = ''
@ -38,9 +38,9 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
homepage = http://www.tuxera.com/community/;
homepage = http://www.tuxera.com/community/open-source-ntfs-3g/;
description = "FUSE-based NTFS driver with full write support";
maintainers = [ maintainers.urkud ];
maintainers = with maintainers; [ urkud dezgeg ];
platforms = platforms.linux;
license = licenses.gpl2Plus; # and (lib)fuse-lite under LGPL2+
};

View File

@ -1,26 +1,30 @@
{ stdenv, fetchurl
, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra
, help2man, pkgconfig, perl }:
, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, mesa, vigra
, help2man, pkgconfig, perl, tetex }:
let version = "4.1.5"; in
stdenv.mkDerivation rec {
name = "enblend-enfuse-${version}";
version = "4.2";
src = fetchurl {
url = "mirror://sourceforge/enblend/${name}.tar.gz";
sha256 = "08dz73jgrwfhz0kh57kz048qy1c6a35ckqn9xs5rajm449vnw0pg";
sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7";
};
buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff mesa vigra ];
nativeBuildInputs = [ help2man perl pkgconfig ];
nativeBuildInputs = [ help2man perl pkgconfig tetex ];
preConfigure = ''
patchShebangs src/embrace
'';
enableParallelBuilding = true;
meta = {
inherit version;
meta = with stdenv.lib; {
homepage = http://enblend.sourceforge.net/;
description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline";
license = stdenv.lib.licenses.gpl2;
license = licenses.gpl2;
maintainers = with maintainers; [ nckx ];
};
}

View File

@ -0,0 +1,18 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "cloud-utils-0.27";
src = fetchurl {
url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz";
sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd";
};
patches = [ ./growpart-util-linux-2.26.patch ];
buildPhase = ''
mkdir -p $out/bin
cp bin/growpart $out/bin/growpart
sed -i 's|awk|gawk|' $out/bin/growpart
sed -i 's|sed|gnused|' $out/bin/growpart
'';
dontInstall = true;
dontPatchShebangs = true;
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, udev }:
stdenv.mkDerivation rec {
name = "dhcpcd-6.9.4";
name = "dhcpcd-6.10.1";
src = fetchurl {
url = "mirror://roy/dhcpcd/${name}.tar.xz";
sha256 = "184vpid8m5175xa2nkh6mmvk8b6z4isfm6nvf4g8l5ggfdsgzwy3";
sha256 = "0yxfx3r6ik47rsv1f8q7siw0vas6jcsrbjpaqnx0nn707f6byji8";
};
buildInputs = [ pkgconfig udev ];
@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
description = "A client for the Dynamic Host Configuration Protocol (DHCP)";
homepage = http://roy.marples.name/projects/dhcpcd;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
maintainers = with stdenv.lib.maintainers; [ eelco fpletz ];
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "hwinfo-${version}";
version = "21.12";
version = "21.23";
src = fetchurl {
url = "https://github.com/opensuse/hwinfo/archive/${version}.tar.gz";
sha256 = "01y5jk2jns0a3mgsgmvmpvi5yyc0df7b3yqsg32hn5r2nv17i47p";
sha256 = "1a8815zp3a7n2jx0cn0hcr69rfr6vmw8r8grbn5mv61g90bbcj6p";
};
patchPhase = ''

View File

@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
maintainers = [ ];
broken = true; # File-MMagic is not compatible with our Perl version
};
}

View File

@ -0,0 +1,75 @@
{ stdenv, fetchurl, bzip2, lzo, zlib, xz, bash, python, gnutar, gnused, gnugrep, which }:
stdenv.mkDerivation (rec {
name = "xe-guest-utilities";
version = "6.2.0";
meta = {
description = "Citrix XenServer Tools";
homepage = http://citrix.com/English/ps2/products/product.asp?contentID=683148&ntref=hp_nav_US;
maintainers = with stdenv.lib.maintainers; [ benwbooth ];
platforms = stdenv.lib.platforms.linux;
license = [ stdenv.lib.licenses.gpl2 stdenv.lib.licenses.lgpl21 ];
};
src = fetchurl {
url = "https://sources.archlinux.org/other/community/xe-guest-utilities/xe-guest-utilities_${version}-1120.tar.gz";
sha256 = "f9593cd9588188f80253e736f48d8dd94c5b517abb18316085f86acffab48794";
};
buildInputs = [ bzip2 gnutar gnused python lzo zlib xz stdenv gnugrep which ];
patches = [ ./ip-address.patch ];
postPatch = ''
tar xf "$NIX_BUILD_TOP/$name-$version/xenstore-sources.tar.bz2"
'';
buildPhase = ''
export CC=gcc
export CFLAGS='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess'
export PYTHON=python2
cd "$NIX_BUILD_TOP/$name-$version/uclibc-sources"
for file in Config.mk tools/libxc/Makefile tools/misc/Makefile tools/misc/lomount/Makefile tools/xenstore/Makefile; do
substituteInPlace "$file" --replace -Werror ""
done
make -C tools/include
make -C tools/libxc
make -C tools/xenstore
'';
installPhase = ''
export CFLAGS+='-Wall -Wstrict-prototypes -Wno-unused-local-typedefs -Wno-sizeof-pointer-memaccess'
if [[ $CARCH == x86_64 ]]; then
export LIBLEAFDIR_x86_64=lib
fi
for f in include libxc xenstore; do
[[ ! -d $NIX_BUILD_TOP/$name-$version/uclibc-sources/tools/$f ]] && continue
make -C "$NIX_BUILD_TOP/$name-$version/uclibc-sources/tools/$f" DESTDIR="$out" BINDIR=/bin SBINDIR=/bin INCLUDEDIR=/include LIBDIR=/lib install
done
rm -r "$out"/var
cd "$NIX_BUILD_TOP/$name-$version"
install -Dm755 xe-update-guest-attrs "$out/bin/xe-update-guest-attrs"
install -Dm755 xe-daemon "$out/bin/xe-daemon"
install -Dm644 xen-vcpu-hotplug.rules "$out/lib/udev/rules.d/10-xen-vcpu-hotplug.rules"
substituteInPlace "$out/bin/xe-daemon" --replace sbin bin
substituteInPlace "$out/bin/xe-daemon" --replace /usr/ "$out/"
substituteInPlace "$out/bin/xe-update-guest-attrs" --replace /usr/ "$out/"
substituteInPlace "$out/bin/xe-update-guest-attrs" --replace 'export PATH=' 'export PATH=$PATH:'
substituteInPlace "$out/lib/udev/rules.d/10-xen-vcpu-hotplug.rules" --replace /bin/sh '${bash}/bin/sh'
cat <<'EOS' >"$out/bin/xe-linux-distribution"
#!${bash}/bin/bash -eu
. /etc/os-release
if [[ $# -gt 0 ]]; then
mkdir -p "$(dirname "$1")"
exec 1>"$1"
fi
cat <<EOF
os_distro="$ID"
os_majorver="''${VERSION_ID%%.*}"
os_minorver="''${VERSION_ID#*.}"
os_uname="$(uname -r)"
os_name="$PRETTY_NAME"
EOF
EOS
chmod 0755 "$out/bin/xe-linux-distribution"
'';
})

View File

@ -0,0 +1,16 @@
diff -uNr a/xe-update-guest-attrs b/xe-update-guest-attrs
--- a/xe-update-guest-attrs 2012-09-25 12:45:14.000000000 +0200
+++ b/xe-update-guest-attrs 2012-11-21 16:46:35.000000000 +0100
@@ -177,9 +177,9 @@
# collisions:0 txqueuelen:0
# RX bytes:3604609 (3.4 MiB) TX bytes:3604609 (3.4 MiB)
-ifs=`/sbin/ifconfig | sed -n -e 's/^\([a-z0-9]\+\).*/name \1/p' \
- -e 's/.*inet addr:\('$IPADDR_RE'\) .*/ipv4 \1/p' \
- -e 's+.*inet6 addr: \('$IPADDR6_RE'\)/.*+ipv6 \1+p' | \
+ifs=`ip addr show | sed -n -e 's/^[[:digit:]]*: \([a-z0-9]*\): .*/name \1 /gp;' \
+ -e 's/^[[:space:]]\{4\}inet \('${IPADDR_RE}'\)\/.*/ipv4 \1 /gp;' \
+ -e 's/^[[:space:]]\{4\}inet6 \('${IPADDR6_RE}'\)\/.*/ipv6 \1 /gp;' | \
while read tag value; do
case "${tag}" in
name)

View File

@ -1111,6 +1111,8 @@ in
cloogppl = callPackage ../development/libraries/cloog-ppl { };
cloud-utils = callPackage ../tools/misc/cloud-utils { };
compass = callPackage ../development/tools/compass { };
convmv = callPackage ../tools/misc/convmv { };
@ -1183,9 +1185,7 @@ in
darkstat = callPackage ../tools/networking/darkstat { };
davfs2 = callPackage ../tools/filesystems/davfs2 {
neon = neon_0_29;
};
davfs2 = callPackage ../tools/filesystems/davfs2 { };
dbench = callPackage ../development/tools/misc/dbench { };
@ -1539,6 +1539,8 @@ in
fsfs = callPackage ../tools/filesystems/fsfs { };
fswebcam = callPackage ../os-specific/linux/fswebcam { };
fuseiso = callPackage ../tools/filesystems/fuseiso { };
fuse-7z-ng = callPackage ../tools/filesystems/fuse-7z-ng { };
@ -2202,6 +2204,8 @@ in
libiberty = callPackage ../development/libraries/libiberty { };
libiberty_static = callPackage ../development/libraries/libiberty { staticBuild = true; };
libibverbs = callPackage ../development/libraries/libibverbs { };
libxcomp = callPackage ../development/libraries/libxcomp { };
@ -3774,6 +3778,8 @@ in
xdummy = callPackage ../tools/misc/xdummy { };
xe-guest-utilities = callPackage ../tools/virtualization/xe-guest-utilities { };
xflux = callPackage ../tools/misc/xflux { };
xfsprogs = callPackage ../tools/filesystems/xfsprogs { };
@ -5214,7 +5220,6 @@ in
clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { };
erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { };
erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; };
erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { };
@ -6384,6 +6389,8 @@ in
box2d = callPackage ../development/libraries/box2d { };
box2d_2_0_1 = callPackage ../development/libraries/box2d/2.0.1.nix { };
breakpad = callPackage ../development/libraries/breakpad { };
buddy = callPackage ../development/libraries/buddy { };
bwidget = callPackage ../development/libraries/bwidget { };
@ -6544,6 +6551,8 @@ in
dbus_libs = pkgs.dbus;
dbus_daemon = pkgs.dbus.daemon;
dee = callPackage ../development/libraries/dee { };
dhex = callPackage ../applications/editors/dhex { };
double_conversion = callPackage ../development/libraries/double-conversion { };
@ -7422,6 +7431,8 @@ in
libgdata = gnome3.libgdata;
libgee_0_6 = callPackage ../development/libraries/libgee/0.6.nix { };
libgig = callPackage ../development/libraries/libgig { };
libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { };
@ -7898,6 +7909,8 @@ in
libu2f-server = callPackage ../development/libraries/libu2f-server { };
libunity = callPackage ../development/libraries/libunity { };
libunistring = callPackage ../development/libraries/libunistring { };
libupnp = callPackage ../development/libraries/pupnp { };
@ -8343,6 +8356,9 @@ in
};
pcre = callPackage ../development/libraries/pcre { };
pcre16 = self.pcre.override { variant = "pcre16"; };
# pcre32 seems unused
pcre-cpp = self.pcre.override { variant = "cpp"; };
pcre2 = callPackage ../development/libraries/pcre2 { };
@ -13621,7 +13637,7 @@ in
skype = callPackage_i686 ../applications/networking/instant-messengers/skype {
qt4 = pkgsi686Linux.qt4.override {
stdenv = clangStdenv;
stdenv = pkgsi686Linux.clangStdenv;
};
};
@ -13844,7 +13860,9 @@ in
taskserver = callPackage ../servers/misc/taskserver { };
telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli/default.nix { };
tdesktop = qt55.callPackage ../applications/networking/instant-messengers/telegram/tdesktop { };
telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { };
@ -13920,6 +13938,12 @@ in
quazip = qt5.quazip.override { qt = qt4; };
};
torchPackages = recurseIntoAttrs ( callPackage ../applications/science/machine-learning/torch {
lua = luajit ;
} );
torch-repl = lib.setName "torch-repl" torchPackages.trepl;
torchat = callPackage ../applications/networking/instant-messengers/torchat {
wrapPython = pythonPackages.wrapPython;
};

View File

@ -5151,12 +5151,12 @@ let self = _self // overrides; _self = with self; {
};
FinanceQuote = buildPerlPackage rec {
name = "Finance-Quote-1.37";
name = "Finance-Quote-1.38";
src = fetchurl {
url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz";
sha256 = "1b6pbh7f76fb5sa4f0lhx085xy55pprz5v7z7li7pqiyw7i4f4bf";
sha256 = "0zhqb27y4vdxn476s2kwm9zl2f970yjcyyybnjm9b406krr2fm59";
};
propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc DateTime JSON ];
propagatedBuildInputs = [ CGI CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc DateTime JSON ];
meta = with stdenv.lib; {
homepage = http://finance-quote.sourceforge.net/;
description = "Get stock and mutual fund quotes from various exchanges";
@ -13209,6 +13209,9 @@ let self = _self // overrides; _self = with self; {
UnicodeString = buildPerlPackage rec {
name = "Unicode-String-2.09";
patches = [
../development/perl-modules/Unicode-String-perl-5-22.patch
];
src = fetchurl {
url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
sha256 = "1bgsaf3dgmlgyvi84r42ysc037mr5280amnypa4d98jfjpdvw5y8";

View File

@ -1667,27 +1667,32 @@ in modules // {
});
beaker = buildPythonPackage rec {
name = "Beaker-1.7.0";
name = "Beaker-${version}";
version = "1.8.0";
disabled = isPy3k;
src = pkgs.fetchurl {
url = "http://pypi.python.org/packages/source/B/Beaker/${name}.tar.gz";
sha256 = "0vv4y22b3ly1212n9nnhgvc8yz32adlfl7w7s1wj0i5srpjcgvlq";
# The pypy release do not contains the tests
src = pkgs.fetchFromGitHub {
owner = "bbangert";
repo = "beaker";
rev = "${version}";
sha256 = "17yfr7a307n8rdl09was4j60xqk2s0hk0hywdkigrpj4qnw0is7g";
};
buildInputs =
[ self.sqlalchemy7
self.pycryptopp
self.nose
[ self.nose
self.mock
self.webtest
];
# http://hydra.nixos.org/build/4511591/log/raw
doCheck = false;
propagatedBuildInputs = [
self.sqlalchemy
self.pycrypto
] ++ optionals (isPy26 || isPy27) [
self.funcsigs
self.pycryptopp
];
meta = {
description = "A Session and Caching library with WSGI Middleware";
maintainers = with maintainers; [ garbas iElectric ];
platforms = platforms.all;
};
@ -3316,23 +3321,19 @@ in modules // {
coilmq = buildPythonPackage (rec {
name = "coilmq-0.6.1";
name = "CoilMQ-${version}";
version = "1.0.0";
src = pkgs.fetchurl {
url = "http://pypi.python.org/packages/source/C/CoilMQ/CoilMQ-0.6.1.tar.gz";
sha256 = "9755733bdae33a9d87630232d166a7da2382f68c2cffb3bb81503806e8d310cb";
url = "http://pypi.python.org/packages/source/C/CoilMQ/${name}.tar.gz";
sha256 = "0wwa6fsqw1mxsryvgp0yrdjil8axyj0kslzi7lr45cnhgp5ab375";
};
propagatedBuildInputs = with self; [ self.stompclient ];
propagatedBuildInputs = with self; [ stompclient pythondaemon redis pid];
preConfigure = ''
sed -i '/distribute/d' setup.py
'';
buildInputs = with self; [ pytest six click coverage sqlalchemy ];
buildInputs = with self; [ self.coverage self.sqlalchemy7 ];
# ValueError: Could not parse auth file:
# /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini
# The teste data is not included in the distribution
doCheck = false;
meta = {
@ -20108,6 +20109,22 @@ in modules // {
};
};
pid = buildPythonPackage rec {
name = "pid-${version}";
version = "2.0.1";
src = pkgs.fetchurl {
url = "https://pypi.python.org/packages/source/p/pid/${name}.tar.gz";
sha256 = "0cylj8p25nwkdfgy4pzai21wyzmrxdqlwwbzqag9gb5qcjfdwk05";
};
meta = {
description = "Pidfile featuring stale detection and file-locking";
homepage = https://github.com/trbs/pid/;
license = licenses.asl20;
};
};
pydns = buildPythonPackage rec {
name = "pydns-2.3.6";
disabled = isPy3k;
@ -20121,6 +20138,28 @@ in modules // {
};
pythondaemon = buildPythonPackage rec {
name = "python-daemon-${version}";
version = "2.1.1";
src = pkgs.fetchurl {
url = " https://pypi.python.org/packages/source/p/python-daemon/${name}.tar.gz";
sha256 = "17v80qb98p1gv4j9mq6wb55cv7hc4j1hzw5y2f4s5hrpxs3w3a2q";
};
# A test fail within chroot builds.
doCheck = false;
buildInputs = with self; [ mock testscenarios ];
propagatedBuildInputs = with self; [ docutils lockfile ];
meta = {
description = "Library to implement a well-behaved Unix daemon process";
homepage = https://alioth.debian.org/projects/python-daemon/;
licenses = [ licenses.gpl3Plus licenses.asl20 ];
};
};
sympy = buildPythonPackage rec {
name = "sympy-0.7.6.1";
disabled = isPy34 || isPy35 || isPyPy; # some tests fail
@ -22477,12 +22516,12 @@ in modules // {
webtest = buildPythonPackage rec {
version = "2.0.15";
version = "2.0.20";
name = "webtest-${version}";
src = pkgs.fetchurl {
url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip";
sha256 = "c320adc2cd862ea71ca9e2012e6157eb12f5f8d1632d1541f2eabf984aaa3ecc";
url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.tar.gz";
sha256 = "0bv0qhdjakdsdgj4sk21gnpp8xp8bga4x03p6gjb83ihrsb7n4xv";
};
preConfigure = ''
@ -25388,7 +25427,7 @@ in modules // {
thrift
beautifulsoup4
markdown2
sqlalchemy7
sqlalchemy
html2text
evernote
];
@ -26328,12 +26367,12 @@ in modules // {
buildInputs = with self; [ mock freezegun coverage pkgs.glibcLocales ];
LC_ALL="en_US.UTF-8";
};
meta = {
description = "A cli todo application compatible with the todo.txt format";
homepage = "https://github.com/bram85/topydo";
license = license.gpl3;
meta = {
description = "A cli todo application compatible with the todo.txt format";
homepage = "https://github.com/bram85/topydo";
license = licenses.gpl3;
};
};
}