Merge branch 'master.upstream' into staging.upstream

This commit is contained in:
William A. Kennington III 2015-09-18 17:16:27 -07:00
commit 6e09223627
135 changed files with 31796 additions and 943 deletions

View File

@ -6,7 +6,7 @@ with import ./attrsets.nix;
with import ./options.nix; with import ./options.nix;
with import ./trivial.nix; with import ./trivial.nix;
with import ./strings.nix; with import ./strings.nix;
with {inherit (import ./modules.nix) mergeDefinitions; }; with {inherit (import ./modules.nix) mergeDefinitions filterOverrides; };
rec { rec {
@ -166,6 +166,23 @@ rec {
substSubModules = m: loaOf (elemType.substSubModules m); substSubModules = m: loaOf (elemType.substSubModules m);
}; };
# List or element of ...
loeOf = elemType: mkOptionType {
name = "element or list of ${elemType.name}s";
check = x: isList x || elemType.check x;
merge = loc: defs:
let
defs' = filterOverrides defs;
res = (head defs').value;
in
if isList res then concatLists (getValues defs')
else if lessThan 1 (length defs') then
throw "The option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
else if !isString res then
throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}."
else res;
};
uniq = elemType: mkOptionType { uniq = elemType: mkOptionType {
inherit (elemType) name check; inherit (elemType) name check;
merge = mergeOneOption; merge = mergeOneOption;

View File

@ -108,10 +108,8 @@ with lib;
subpixel = { subpixel = {
rgba = mkOption { rgba = mkOption {
type = types.string // {
check = flip elem ["rgb" "bgr" "vrgb" "vbgr" "none"];
};
default = "rgb"; default = "rgb";
type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"];
description = '' description = ''
Subpixel order, one of <literal>none</literal>, Subpixel order, one of <literal>none</literal>,
<literal>rgb</literal>, <literal>bgr</literal>, <literal>rgb</literal>, <literal>bgr</literal>,
@ -120,10 +118,8 @@ with lib;
}; };
lcdfilter = mkOption { lcdfilter = mkOption {
type = types.str // {
check = flip elem ["none" "default" "light" "legacy"];
};
default = "default"; default = "default";
type = types.enum ["none" "default" "light" "legacy"];
description = '' description = ''
FreeType LCD filter, one of <literal>none</literal>, FreeType LCD filter, one of <literal>none</literal>,
<literal>default</literal>, <literal>light</literal>, or <literal>default</literal>, <literal>light</literal>, or

View File

@ -108,7 +108,7 @@ in
extraConfig = mkOption { extraConfig = mkOption {
default = ""; default = "";
type = types.string; type = types.lines;
description = '' description = ''
Extra configuration options that will be added verbatim at Extra configuration options that will be added verbatim at
the end of the nslcd configuration file (nslcd.conf). the end of the nslcd configuration file (nslcd.conf).
@ -120,7 +120,7 @@ in
distinguishedName = mkOption { distinguishedName = mkOption {
default = ""; default = "";
example = "cn=admin,dc=example,dc=com"; example = "cn=admin,dc=example,dc=com";
type = types.string; type = types.str;
description = '' description = ''
The distinguished name to bind to the LDAP server with. If this The distinguished name to bind to the LDAP server with. If this
is not specified, an anonymous bind will be done. is not specified, an anonymous bind will be done.
@ -129,7 +129,7 @@ in
password = mkOption { password = mkOption {
default = "/etc/ldap/bind.password"; default = "/etc/ldap/bind.password";
type = types.string; type = types.str;
description = '' description = ''
The path to a file containing the credentials to use when binding The path to a file containing the credentials to use when binding
to the LDAP server (if not binding anonymously). to the LDAP server (if not binding anonymously).
@ -149,7 +149,7 @@ in
policy = mkOption { policy = mkOption {
default = "hard_open"; default = "hard_open";
type = types.string; type = types.enum [ "hard_open" "hard_init" "soft" ];
description = '' description = ''
Specifies the policy to use for reconnecting to an unavailable Specifies the policy to use for reconnecting to an unavailable
LDAP server. The default is <literal>hard_open</literal>, which LDAP server. The default is <literal>hard_open</literal>, which
@ -168,7 +168,7 @@ in
extraConfig = mkOption { extraConfig = mkOption {
default = ""; default = "";
type = types.string; type = types.lines;
description = '' description = ''
Extra configuration options that will be added verbatim at Extra configuration options that will be added verbatim at
the end of the ldap configuration file (ldap.conf). the end of the ldap configuration file (ldap.conf).

View File

@ -41,20 +41,7 @@ in
strings. The latter is concatenated, interspersed with colon strings. The latter is concatenated, interspersed with colon
characters. characters.
''; '';
type = types.attrsOf (mkOptionType { type = types.attrsOf (types.loeOf types.str);
name = "a string or a list of strings";
merge = loc: defs:
let
defs' = filterOverrides defs;
res = (head defs').value;
in
if isList res then concatLists (getValues defs')
else if lessThan 1 (length defs') then
throw "The option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
else if !isString res then
throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}."
else res;
});
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v); apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
}; };

View File

@ -23,20 +23,7 @@ in
strings. The latter is concatenated, interspersed with colon strings. The latter is concatenated, interspersed with colon
characters. characters.
''; '';
type = types.attrsOf (mkOptionType { type = types.attrsOf (types.loeOf types.str);
name = "a string or a list of strings";
merge = loc: defs:
let
defs' = filterOverrides defs;
res = (head defs').value;
in
if isList res then concatLists (getValues defs')
else if lessThan 1 (length defs') then
throw "The option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
else if !isString res then
throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}."
else res;
});
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v); apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
}; };

View File

@ -47,7 +47,7 @@
]; ];
# Include support for various filesystems. # Include support for various filesystems.
boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "zfs" "ntfs" "cifs" ]; boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ];
# Configure host id for ZFS to work # Configure host id for ZFS to work
networking.hostId = "8425e349"; networking.hostId = "8425e349";

View File

@ -41,7 +41,7 @@ in
dates = mkOption { dates = mkOption {
default = "*:0/15"; default = "*:0/15";
type = types.string; type = types.str;
description = '' description = ''
Specification (in the format described by Specification (in the format described by
<citerefentry><refentrytitle>systemd.time</refentrytitle> <citerefentry><refentrytitle>systemd.time</refentrytitle>
@ -52,7 +52,7 @@ in
user = mkOption { user = mkOption {
default = "root"; default = "root";
type = types.string; type = types.str;
description = '' description = ''
User for running venus script. User for running venus script.
''; '';
@ -60,7 +60,7 @@ in
group = mkOption { group = mkOption {
default = "root"; default = "root";
type = types.string; type = types.str;
description = '' description = ''
Group for running venus script. Group for running venus script.
''; '';
@ -68,7 +68,7 @@ in
name = mkOption { name = mkOption {
default = "NixOS Planet"; default = "NixOS Planet";
type = types.string; type = types.str;
description = '' description = ''
Your planet's name. Your planet's name.
''; '';
@ -76,7 +76,7 @@ in
link = mkOption { link = mkOption {
default = "http://planet.nixos.org"; default = "http://planet.nixos.org";
type = types.string; type = types.str;
description = '' description = ''
Link to the main page. Link to the main page.
''; '';
@ -84,7 +84,7 @@ in
ownerName = mkOption { ownerName = mkOption {
default = "Rok Garbas"; default = "Rok Garbas";
type = types.string; type = types.str;
description = '' description = ''
Your name. Your name.
''; '';
@ -92,7 +92,7 @@ in
ownerEmail = mkOption { ownerEmail = mkOption {
default = "some@example.com"; default = "some@example.com";
type = types.string; type = types.str;
description = '' description = ''
Your e-mail address. Your e-mail address.
''; '';

View File

@ -24,7 +24,7 @@ in
dialerDefaults = mkOption { dialerDefaults = mkOption {
default = ""; default = "";
type = types.string; type = types.str;
example = ''Init1 = AT+CGDCONT=1,"IP","internet.t-mobile"''; example = ''Init1 = AT+CGDCONT=1,"IP","internet.t-mobile"'';
description = '' description = ''
Contents of the "Dialer Defaults" section of Contents of the "Dialer Defaults" section of
@ -40,7 +40,7 @@ in
persist persist
noauth noauth
''; '';
type = types.string; type = types.str;
description = "Default ppp settings for wvdial."; description = "Default ppp settings for wvdial.";
}; };

View File

@ -32,25 +32,25 @@ in
}; };
fileSystem = mkOption { fileSystem = mkOption {
type = types.string; type = types.str;
description = "XFS filesystem hosting the xfs_quota project."; description = "XFS filesystem hosting the xfs_quota project.";
default = "/"; default = "/";
}; };
path = mkOption { path = mkOption {
type = types.string; type = types.str;
description = "Project directory."; description = "Project directory.";
}; };
sizeSoftLimit = mkOption { sizeSoftLimit = mkOption {
type = types.nullOr types.string; type = types.nullOr types.str;
default = null; default = null;
example = "30g"; example = "30g";
description = "Soft limit of the project size"; description = "Soft limit of the project size";
}; };
sizeHardLimit = mkOption { sizeHardLimit = mkOption {
type = types.nullOr types.string; type = types.nullOr types.str;
default = null; default = null;
example = "50g"; example = "50g";
description = "Hard limit of the project size."; description = "Hard limit of the project size.";

View File

@ -419,7 +419,7 @@ in
users.motd = mkOption { users.motd = mkOption {
default = null; default = null;
example = "Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3178."; example = "Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3178.";
type = types.nullOr types.string; type = types.nullOr types.lines;
description = "Message of the day shown to users when they log in."; description = "Message of the day shown to users when they log in.";
}; };

View File

@ -24,7 +24,7 @@ in {
}; };
deviceKey = mkOption { deviceKey = mkOption {
type = types.string; type = types.str;
description = '' description = ''
<literal>Device key</literal> obtained by visiting <literal>Device key</literal> obtained by visiting
<link xlink:href="https://panel.preyproject.com/devices" /> <link xlink:href="https://panel.preyproject.com/devices" />
@ -33,7 +33,7 @@ in {
}; };
apiKey = mkOption { apiKey = mkOption {
type = types.string; type = types.str;
description = '' description = ''
<literal>API key</literal> obtained from <literal>API key</literal> obtained from
<link xlink:href="https://panel.preyproject.com/profile" />. <link xlink:href="https://panel.preyproject.com/profile" />.

View File

@ -119,7 +119,7 @@ in
recipient = mkOption { recipient = mkOption {
default = "root"; default = "root";
type = types.string; type = types.str;
description = "Recipient of the notification messages."; description = "Recipient of the notification messages.";
}; };
@ -153,7 +153,7 @@ in
display = mkOption { display = mkOption {
default = ":${toString config.services.xserver.display}"; default = ":${toString config.services.xserver.display}";
type = types.string; type = types.str;
description = "DISPLAY to send X11 notifications to."; description = "DISPLAY to send X11 notifications to.";
}; };
}; };

View File

@ -28,7 +28,9 @@ with lib;
jobs.oidentd = jobs.oidentd =
{ startOn = "started network-interfaces"; { startOn = "started network-interfaces";
daemonType = "fork"; daemonType = "fork";
exec = "${pkgs.oidentd}/sbin/oidentd -u oidentd -g nogroup"; exec = "${pkgs.oidentd}/sbin/oidentd -u oidentd -g nogroup" +
optionalString config.networking.enableIPv6 " -a ::"
;
}; };
users.extraUsers.oidentd = { users.extraUsers.oidentd = {

View File

@ -99,7 +99,9 @@ let
# makes it bootable. # makes it bootable.
baseSystem = showWarnings ( baseSystem = showWarnings (
if [] == failed then pkgs.stdenv.mkDerivation { if [] == failed then pkgs.stdenv.mkDerivation {
name = "nixos-${config.system.nixosVersion}"; name = let hn = config.networking.hostName;
nn = if (hn != "") then hn else "unnamed";
in "nixos-system-${nn}-${config.system.nixosVersion}";
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = false; allowSubstitutes = false;
buildCommand = systemBuilder; buildCommand = systemBuilder;

View File

@ -15,7 +15,7 @@ with lib;
efiSysMountPoint = mkOption { efiSysMountPoint = mkOption {
default = "/boot"; default = "/boot";
type = types.string; type = types.str;
description = "Where the EFI System Partition is mounted."; description = "Where the EFI System Partition is mounted.";
}; };

View File

@ -242,20 +242,20 @@ in
name = mkOption { name = mkOption {
example = "luksroot"; example = "luksroot";
type = types.string; type = types.str;
description = "Named to be used for the generated device in /dev/mapper."; description = "Named to be used for the generated device in /dev/mapper.";
}; };
device = mkOption { device = mkOption {
example = "/dev/sda2"; example = "/dev/sda2";
type = types.string; type = types.str;
description = "Path of the underlying block device."; description = "Path of the underlying block device.";
}; };
header = mkOption { header = mkOption {
default = null; default = null;
example = "/root/header.img"; example = "/root/header.img";
type = types.nullOr types.string; type = types.nullOr types.str;
description = '' description = ''
The name of the file or block device that The name of the file or block device that
should be used as header for the encrypted device. should be used as header for the encrypted device.
@ -265,7 +265,7 @@ in
keyFile = mkOption { keyFile = mkOption {
default = null; default = null;
example = "/dev/sdb1"; example = "/dev/sdb1";
type = types.nullOr types.string; type = types.nullOr types.str;
description = '' description = ''
The name of the file (can be a raw device or a partition) that The name of the file (can be a raw device or a partition) that
should be used as the decryption key for the encrypted device. If should be used as the decryption key for the encrypted device. If
@ -349,7 +349,7 @@ in
ramfsMountPoint = mkOption { ramfsMountPoint = mkOption {
default = "/crypt-ramfs"; default = "/crypt-ramfs";
type = types.string; type = types.str;
description = "Path where the ramfs used to update the LUKS key will be mounted during early boot."; description = "Path where the ramfs used to update the LUKS key will be mounted during early boot.";
}; };
@ -369,19 +369,19 @@ in
fsType = mkOption { fsType = mkOption {
default = "vfat"; default = "vfat";
type = types.string; type = types.str;
description = "The filesystem of the unencrypted device."; description = "The filesystem of the unencrypted device.";
}; };
mountPoint = mkOption { mountPoint = mkOption {
default = "/crypt-storage"; default = "/crypt-storage";
type = types.string; type = types.str;
description = "Path where the unencrypted device will be mounted during early boot."; description = "Path where the unencrypted device will be mounted during early boot.";
}; };
path = mkOption { path = mkOption {
default = "/crypt-storage/default"; default = "/crypt-storage/default";
type = types.string; type = types.str;
description = '' description = ''
Absolute path of the salt on the unencrypted device with Absolute path of the salt on the unencrypted device with
that device's root directory as "/". that device's root directory as "/".

View File

@ -22,21 +22,21 @@ let
blkDev = mkOption { blkDev = mkOption {
default = null; default = null;
example = "/dev/sda1"; example = "/dev/sda1";
type = types.uniq (types.nullOr types.string); type = types.nullOr types.str;
description = "Location of the backing encrypted device."; description = "Location of the backing encrypted device.";
}; };
label = mkOption { label = mkOption {
default = null; default = null;
example = "rootfs"; example = "rootfs";
type = types.uniq (types.nullOr types.string); type = types.nullOr types.str;
description = "Label of the backing encrypted device."; description = "Label of the backing encrypted device.";
}; };
keyFile = mkOption { keyFile = mkOption {
default = null; default = null;
example = "/root/.swapkey"; example = "/root/.swapkey";
type = types.uniq (types.nullOr types.string); type = types.nullOr types.str;
description = "File system location of keyfile."; description = "File system location of keyfile.";
}; };
}; };

View File

@ -22,14 +22,14 @@ let
device = mkOption { device = mkOption {
default = null; default = null;
example = "/dev/sda"; example = "/dev/sda";
type = types.uniq (types.nullOr types.string); type = types.nullOr types.str;
description = "Location of the device."; description = "Location of the device.";
}; };
label = mkOption { label = mkOption {
default = null; default = null;
example = "root-partition"; example = "root-partition";
type = types.uniq (types.nullOr types.string); type = types.nullOr types.str;
description = "Label of the device (if any)."; description = "Label of the device (if any).";
}; };

View File

@ -499,7 +499,7 @@ in
interface = mkOption { interface = mkOption {
example = "enp4s0"; example = "enp4s0";
type = types.string; type = types.str;
description = "The interface the macvlan will transmit packets through."; description = "The interface the macvlan will transmit packets through.";
}; };
@ -605,7 +605,7 @@ in
interface = mkOption { interface = mkOption {
example = "enp4s0"; example = "enp4s0";
type = types.string; type = types.str;
description = "The interface the vlan will transmit packets through."; description = "The interface the vlan will transmit packets through.";
}; };

View File

@ -26,7 +26,7 @@ in
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vpc $diskImage $out/disk.vhd ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vpc $diskImage $out/disk.vhd
rm $diskImage rm $diskImage
''; '';
diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw"; diskImageBase = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
buildInputs = [ pkgs.utillinux pkgs.perl ]; buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph = exportReferencesGraph =
[ "closure" config.system.build.toplevel ]; [ "closure" config.system.build.toplevel ];

View File

@ -26,7 +26,7 @@ in
rm $diskImageBase rm $diskImageBase
popd popd
''; '';
diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw"; diskImageBase = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
buildInputs = [ pkgs.utillinux pkgs.perl ]; buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph = exportReferencesGraph =
[ "closure" config.system.build.toplevel ]; [ "closure" config.system.build.toplevel ];

View File

@ -108,7 +108,7 @@ in
}; };
hostAddress = mkOption { hostAddress = mkOption {
type = types.nullOr types.string; type = types.nullOr types.str;
default = null; default = null;
example = "10.231.136.1"; example = "10.231.136.1";
description = '' description = ''
@ -117,7 +117,7 @@ in
}; };
localAddress = mkOption { localAddress = mkOption {
type = types.nullOr types.string; type = types.nullOr types.str;
default = null; default = null;
example = "10.231.136.2"; example = "10.231.136.2";
description = '' description = ''

View File

@ -67,7 +67,7 @@ in
postStart = postStart =
mkOption { mkOption {
type = types.string; type = types.lines;
default = '' default = ''
while ! [ -e /var/run/docker.sock ]; do while ! [ -e /var/run/docker.sock ]; do
sleep 0.1 sleep 0.1

View File

@ -30,7 +30,7 @@ in
rm $out/disk.raw rm $out/disk.raw
popd popd
''; '';
diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw"; diskImageBase = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
buildInputs = [ pkgs.utillinux pkgs.perl ]; buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph = exportReferencesGraph =
[ "closure" config.system.build.toplevel ]; [ "closure" config.system.build.toplevel ];

View File

@ -101,7 +101,7 @@ in {
system.build.virtualBoxOVA = pkgs.runCommand "virtualbox-ova" system.build.virtualBoxOVA = pkgs.runCommand "virtualbox-ova"
{ buildInputs = [ pkgs.linuxPackages.virtualbox ]; { buildInputs = [ pkgs.linuxPackages.virtualbox ];
vmName = "NixOS ${config.system.nixosVersion} (${pkgs.stdenv.system})"; vmName = "NixOS ${config.system.nixosVersion} (${pkgs.stdenv.system})";
fileName = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.ova"; fileName = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.ova";
} }
'' ''
echo "creating VirtualBox VM..." echo "creating VirtualBox VM..."

View File

@ -1,30 +1,31 @@
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2 { stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
, intltool, x11, libxklavier, libgcrypt , intltool, x11, libxklavier, libgcrypt, libaudit
, qt4 ? null, qt5 ? null , qt4 ? null, qt5 ? null
}: }:
let let
ver_branch = "1.14"; ver_branch = "1.16";
version = "1.14.2"; version = "1.16.2";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lightdm-${version}"; name = "lightdm-${version}";
src = fetchurl { src = fetchurl {
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz"; url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
sha256 = "18dvipdkp6hc1hysyiwpd5nwq6db3mg98rwi3am2ly3hk2bpic18"; sha256 = "062jj21bjrl29mk66lpihwhrff038h2wny3p6b5asacf2mklf0hq";
}; };
patches = [ ./fix-paths.patch ]; patches = [ ./fix-paths.patch ];
buildInputs = [ buildInputs = [
pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
qt4 qt4 libaudit
] ++ stdenv.lib.optional (qt5 != null) qt5.base; ] ++ stdenv.lib.optional (qt5 != null) qt5.base;
configureFlags = [ configureFlags = [
"--localstatedir=/var" "--localstatedir=/var"
"--sysconfdir=/etc" "--sysconfdir=/etc"
"--disable-tests"
] ++ stdenv.lib.optional (qt4 != null) "--enable-liblightdm-qt" ] ++ stdenv.lib.optional (qt4 != null) "--enable-liblightdm-qt"
++ stdenv.lib.optional ((qt5.base or null) != null) "--enable-liblightdm-qt5"; ++ stdenv.lib.optional ((qt5.base or null) != null) "--enable-liblightdm-qt5";

View File

@ -11,7 +11,8 @@ in stdenv.mkDerivation {
# a quick configure to get the Makefile generated. Since # a quick configure to get the Makefile generated. Since
# we do not build the ocaml itself, we don't really # we do not build the ocaml itself, we don't really
# need it to support any features. # need it to support any features.
configureFlags = [ "-no-tk" "-no-curses" "-no-pthread" ]; configureFlags = (with stdenv.lib; optional (!(versionAtLeast version "4.02")) "-no-tk") ++
[ "-no-curses" "-no-pthread" ];
buildInputs = [ emacs ]; buildInputs = [ emacs ];
dontBuild = true; dontBuild = true;

View File

@ -1,28 +0,0 @@
From 55e33019afcb3256cccedf606548b86816f6da59 Mon Sep 17 00:00:00 2001
From: Chris Bagwell <chris@cnpbagwell.com>
Date: Sat, 13 Dec 2014 12:48:37 -0600
Subject: [PATCH 1/2] Check for minimum size sphere headers
---
src/sphere.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/sphere.c b/src/sphere.c
index 479a552..a3fd1c6 100644
--- a/src/sphere.c
+++ b/src/sphere.c
@@ -47,6 +47,11 @@ static int start_read(sox_format_t * ft)
/* Determine header size, and allocate a buffer large enough to hold it. */
sscanf(fldsval, "%lu", &header_size_ul);
+ if (header_size_ul < 16) {
+ lsx_fail_errno(ft, SOX_EHDR, "Error reading Sphere header");
+ return (SOX_EOF);
+ }
+
buf = lsx_malloc(header_size = header_size_ul);
/* Skip what we have read so far */
--
2.1.0

View File

@ -1,28 +0,0 @@
From ebb64cddde59ecc9cedf3741ce2337c72148cc0c Mon Sep 17 00:00:00 2001
From: Chris Bagwell <chris@cnpbagwell.com>
Date: Sat, 13 Dec 2014 12:49:55 -0600
Subject: [PATCH 2/2] More checks for invalid MS ADPCM blocks.
If block doesn't exacty match blockAlign then do not allow
number of samples in invalid size block to ever be more than
what WAV header defined as samplesPerBlock.
---
src/wav.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/wav.c b/src/wav.c
index 61d5908..5202556 100644
--- a/src/wav.c
+++ b/src/wav.c
@@ -168,7 +168,7 @@ static unsigned short AdpcmReadBlock(sox_format_t * ft)
/* work with partial blocks. Specs say it should be null */
/* padded but I guess this is better than trailing quiet. */
samplesThisBlock = lsx_ms_adpcm_samples_in((size_t)0, (size_t)ft->signal.channels, bytesRead, (size_t)0);
- if (samplesThisBlock == 0)
+ if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock)
{
lsx_warn("Premature EOF on .wav input file");
return 0;
--
2.1.0

View File

@ -11,20 +11,13 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "sox-14.4.1"; name = "sox-14.4.2";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/sox/${name}.tar.gz"; url = "mirror://sourceforge/sox/${name}.tar.gz";
sha256 = "16x8gykfjdhxg0kdxwzcwgwpm5caa08y2mx18siqsq0ywmpjr34s"; sha256 = "0v2znlxkxxcd3f48hf3dx9pq7i6fdhb62kgj7wv8xggz8f35jpxl";
}; };
patches = [
# Patches for CVE-2014-8145, found via RedHat bug 1174792. It was not
# clear whether these address a NULL deref and a division by zero.
./0001-Check-for-minimum-size-sphere-headers.patch
./0002-More-checks-for-invalid-MS-ADPCM-blocks.patch
];
buildInputs = buildInputs =
optional (enableAlsa && stdenv.isLinux) alsaLib ++ optional (enableAlsa && stdenv.isLinux) alsaLib ++
optional enableLibao libao ++ optional enableLibao libao ++

View File

@ -1,14 +1,14 @@
{ stdenv, fetchgit, cmake, qt5, file, kde5}: { stdenv, fetchgit, cmake, qt5, file, kde5}:
let let
version = "git-2015-06-10"; version = "git-2015-07-25";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dfilemanager-${version}"; name = "dfilemanager-${version}";
src = fetchgit { src = fetchgit {
url = "git://git.code.sf.net/p/dfilemanager/code"; url = "git://git.code.sf.net/p/dfilemanager/code";
rev = "806a28aa8fed30941a2fd6784c7c9c240bca30e3"; rev = "99afcde199378eb0d499c49a9e28846c22e27483";
sha256 = "1k15qzjmqg9ffv4cl809b071dpyckf8jspkhfhpbmfd9wasr0m7i"; sha256 = "1dd21xl24xvxs100j8nzhpaqfqk8srqs92al9c03jmyjlk31s6lf";
}; };
buildInputs = [ cmake qt5.base qt5.tools qt5.x11extras file kde5.solid]; buildInputs = [ cmake qt5.base qt5.tools qt5.x11extras file kde5.solid];
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
homepage = "http://dfilemanager.sourceforge.net/"; homepage = "http://dfilemanager.sourceforge.net/";
description = "File manager written in Qt/C++, it does use one library from kdelibs, the solid lib for easy device handling"; description = "File manager written in Qt/C++, it does use one library from kdelibs, the solid lib for easy device handling";
#license = stdenv.lib.licenses; # license not specified license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.eduarrrd ]; maintainers = [ stdenv.lib.maintainers.eduarrrd ];
}; };

View File

@ -0,0 +1,39 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "tthsum-${version}";
version = "1.3.2";
src = fetchurl {
url = "http://tthsum.devs.nu/pkg/tthsum-${version}.tar.bz2";
sha256 = "0z6jq8lbg9rasv98kxfs56936dgpgzsg3yc9k52878qfw1l2bp59";
};
installPhase = ''
mkdir -p $out/bin $out/share/man/man1
cp share/tthsum.1.gz $out/share/man/man1
cp obj-unix/tthsum $out/bin
'';
meta = with stdenv.lib; {
description = "An md5sum-alike program that works with Tiger/THEX hashes";
longDescription = ''
tthsum generates or checks TTH checksums (root of the THEX hash
tree). The Merkle Hash Tree, invented by Ralph Merkle, is a hash
construct that exhibits desirable properties for verifying the
integrity of files and file subranges in an incremental or
out-of-order fashion. tthsum uses the Tiger hash algorithm for
both the internal and the leaf nodes.
The specification of the Tiger hash algorithm is at:
http://www.cs.technion.ac.il/~biham/Reports/Tiger/
The specification of the THEX algorithm is at:
http://adc.sourceforge.net/draft-jchapweske-thex-02.html
'';
homepage = http://tthsum.devs.nu/;
license = licenses.gpl3Plus;
maintainers = [ maintainers.ebzzry ];
platforms = platforms.unix;
};
}

View File

@ -1,21 +1,21 @@
# This file is autogenerated from update.sh in the parent directory. # This file is autogenerated from update.sh in the parent directory.
{ {
dev = { dev = {
version = "47.0.2503.0"; version = "47.0.2508.0";
sha256 = "1f8swcnrhzh6rc1vyhr6zjwbs74vifr2dmpqppyqa5n8wp2gyhmg"; sha256 = "1jmcvbimj3x91czvclnqbp8w2nfqhk2bd7bw9yd37c576md1wnw2";
sha256bin32 = "0mb047g1x3nc51wqbkiss2q3dxwgvi0ah4x2i9fwy4wfrvm57jnl"; sha256bin32 = "10spq63yfyzw419bz22r2g5rmnaxy5861715mkrcbpfm8cylzmzh";
sha256bin64 = "0cxma0rj70cwzhmx10ib2k60q4w2gar3h55l1pp8b1wgb1pm1vdk"; sha256bin64 = "1ycdp37ikdc9w4hp9qgpzjp47zh37g01ax8x4ack202vrv0dxhsh";
}; };
beta = { beta = {
version = "46.0.2490.22"; version = "46.0.2490.33";
sha256 = "0cpdv1x49xdcparpwq96a7axk16jpj8jhvafmxzh9zfkl1xxvp2i"; sha256 = "196b49mqwkmz1i8qbrfmkxwd74wl40ncyyllj6kcfsq7mpms11ci";
sha256bin32 = "0y4mirk0qrih7nlkyxg2qbhmzrkz4fa8ng5sgbh9vw3pjv0djc2s"; sha256bin32 = "0488cspmnk14jjb6v5c6y3070rmcxsfngyam5mg42q0fcz4593l1";
sha256bin64 = "0vlfjq6fxn2snan2kj4gf35iy2xb444hklv94vm4rwmfydygg2bw"; sha256bin64 = "1kn0k8gpjnm1xsdiby76phwr0i8yb1w9mzmnf7ppj5cddikc5n3v";
}; };
stable = { stable = {
version = "45.0.2454.85"; version = "45.0.2454.93";
sha256 = "14acjc80dmypybbvm087szp0g0m1gil5hjj02x8c6k7alsjh731y"; sha256 = "1iraimblbzp9q16s5q7rbbb7079v095kr8dzqq1wwdb1bvcsllh6";
sha256bin32 = "1945m765a05wfdfslrb22r1jpicyghfkf4h7ijzw1z9whmxa9y1v"; sha256bin32 = "1gndmychajm4qb623k57zirp72w4y1vfxp17gyrbjpg4kzbi1qcg";
sha256bin64 = "0d63akpr3yp128v01xgz1nd364w7p89gkvjpr4qz99q67dh3z1q1"; sha256bin64 = "107l7f7crhcsv4xa219lmnsg2i7jqi5zly71cix54qg2bb7wgfwn";
}; };
} }

View File

@ -3,6 +3,8 @@
, alsaLib, dbus_libs, gtk2, libpulseaudio, openssl, xlibs , alsaLib, dbus_libs, gtk2, libpulseaudio, openssl, xlibs
}: }:
assert stdenv.isLinux;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jitsi-${version}"; name = "jitsi-${version}";
@ -47,11 +49,14 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
cp -a lib $out/ cp -a lib $out/
rm -rf $out/lib/native/solaris
cp -a sc-bundles $out/ cp -a sc-bundles $out/
mkdir $out/bin mkdir $out/bin
cp resources/install/generic/run.sh $out/bin/jitsi cp resources/install/generic/run.sh $out/bin/jitsi
chmod +x $out/bin/jitsi chmod +x $out/bin/jitsi
substituteInPlace $out/bin/jitsi --replace '@JAVA@' '${jdk}/bin/java' substituteInPlace $out/bin/jitsi \
--subst-var-by JAVA ${jdk}/bin/java \
--subst-var-by EXTRALIBS ${gtk2}/lib
patchShebangs $out patchShebangs $out
libPath="$libPath:${jdk.jre.home}/lib/${jdk.architecture}" libPath="$libPath:${jdk.jre.home}/lib/${jdk.architecture}"

View File

@ -7,7 +7,7 @@
+ +
+#mkdir -p $HOME/.sip-communicator/log +#mkdir -p $HOME/.sip-communicator/log
+ +
+cd "$( dirname "$( dirname "${BASH_SOURCE[0]}" )" )" +cd "$(dirname "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
# Get architecture # Get architecture
ARCH=`uname -m | sed -e s/x86_64/64/ -e s/i.86/32/` ARCH=`uname -m | sed -e s/x86_64/64/ -e s/i.86/32/`
@ -24,4 +24,4 @@
export PATH=$PATH:native export PATH=$PATH:native
-java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=native -Dfelix.config.properties=file:./lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator -java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=native -Dfelix.config.properties=file:./lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
+exec @JAVA@ $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator +LD_LIBRARY_PATH=@EXTRALIBS@ exec @JAVA@ $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator

View File

@ -1,7 +1,7 @@
{ fetchurl, stdenv { fetchurl, stdenv
, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive , curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive
, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap , libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap
, perl, pkgconfig, poppler, python, webkitgtk2 , perl, pkgconfig, poppler, python, shared_mime_info, webkitgtk2
# Build options # Build options
# TODO: A flag to build the manual. # TODO: A flag to build the manual.
@ -47,6 +47,8 @@ stdenv.mkDerivation {
sha256 = "0w13xzri9d3165qsxf1dig1f0gxn3ib4lysfc9pgi4zpyzd0zgrw"; sha256 = "0w13xzri9d3165qsxf1dig1f0gxn3ib4lysfc9pgi4zpyzd0zgrw";
}; };
patches = [ ./mime.patch ];
buildInputs = buildInputs =
[ curl dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ] [ curl dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ]
++ optional enableSpellcheck enchant ++ optional enableSpellcheck enchant
@ -80,8 +82,12 @@ stdenv.mkDerivation {
++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin" ++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
++ optional (!enableSpellcheck) "--disable-enchant"; ++ optional (!enableSpellcheck) "--disable-enchant";
enableParallelBuilding = true;
postInstall = '' postInstall = ''
mkdir -p $out/share/applications mkdir -p $out/share/applications
cp claws-mail.desktop $out/share/applications cp claws-mail.desktop $out/share/applications
ln -sT ${shared_mime_info}/share/mime $out/share/mime
''; '';
} }

View File

@ -0,0 +1,14 @@
--- a/src/procmime.c 2015-09-18 04:03:11.767654094 -0700
+++ b/src/procmime.c 2015-09-18 04:08:38.834503034 -0700
@@ -1196,11 +1196,7 @@
if (mime_type_list)
return mime_type_list;
-#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)
if ((fp = procmime_fopen(DATAROOTDIR "/mime/globs", "rb")) == NULL)
-#else
- if ((fp = procmime_fopen("/usr/share/mime/globs", "rb")) == NULL)
-#endif
{
fp_is_glob_file = FALSE;
if ((fp = procmime_fopen("/etc/mime.types", "rb")) == NULL) {

View File

@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
version = "1.8.14"; version = "1.9.1";
name = "subversion-${version}"; name = "subversion-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://apache/subversion/${name}.tar.bz2"; url = "mirror://apache/subversion/${name}.tar.bz2";
sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497"; sha1 = "1244a741dbcf24f2b1d165225f0159a0c994e37a";
}; };
buildInputs = [ zlib apr aprutil sqlite ] buildInputs = [ zlib apr aprutil sqlite ]

View File

@ -1,16 +1,16 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper { stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper
, pythonPackages, gst, clutter-gst, clutter-gtk, hicolor_icon_theme , python3Packages, gst, clutter-gtk, hicolor_icon_theme
, gobjectIntrospection, clutter, gtk3, librsvg, gnome3, libnotify , gobjectIntrospection, librsvg, gnome3, libnotify
}: }:
let let
version = "0.93"; version = "0.94";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "pitivi-${version}"; name = "pitivi-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz"; url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz";
sha256 = "0z89dwrd7akhkap270i372yszqib8yqcymv78lhdmn3a8bsa7jhp"; sha256 = "1v7s0qsibwykkmknspjhpdrj80s987pvbl01kh34k4aspi1hcapm";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -29,15 +29,15 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ]; nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ];
buildInputs = [ buildInputs = [
gobjectIntrospection clutter-gst clutter-gtk librsvg gnome3.gnome_desktop gobjectIntrospection clutter-gtk librsvg gnome3.gnome_desktop
gnome3.defaultIconTheme gnome3.defaultIconTheme
gnome3.gsettings_desktop_schemas libnotify gnome3.gsettings_desktop_schemas libnotify
] ++ (with gst; [ ] ++ (with gst; [
gstreamer gst-python gst-editing-services gstreamer gst-editing-services
gst-plugins-base gst-plugins-good gst-plugins-base gst-plugins-good
gst-plugins-bad gst-plugins-ugly gst-libav gst-plugins-bad gst-plugins-ugly gst-libav
]) ++ (with pythonPackages; [ ]) ++ (with python3Packages; [
python pygobject3 pyxdg numpy pycairo sqlite3 python pygobject3 gst-python pyxdg numpy pycairo sqlite3
]); ]);
preFixup = '' preFixup = ''

View File

@ -6,7 +6,7 @@
, mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image , mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
, libvdpau , libvdpau, libsamplerate
, onlyLibVLC ? false , onlyLibVLC ? false
, qt4 ? null, qt5 ? null, withQt5 ? false , qt4 ? null, qt5 ? null, withQt5 ? false
, jackSupport ? false , jackSupport ? false
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib
libkate libtiger libv4l samba liboggz libass libdvbpsi libva libkate libtiger libv4l samba liboggz libass libdvbpsi libva
xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
] ]
++ (if withQt5 then with qt5; [ base ] else [qt4]) ++ (if withQt5 then with qt5; [ base ] else [qt4])
++ optional jackSupport libjack2; ++ optional jackSupport libjack2;
@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
"--enable-ncurses" "--enable-ncurses"
"--enable-vdpau" "--enable-vdpau"
"--enable-dvdnav" "--enable-dvdnav"
"--enable-samplerate"
] ]
++ optional onlyLibVLC "--disable-vlc"; ++ optional onlyLibVLC "--disable-vlc";

View File

@ -142,10 +142,11 @@ while (scalar(keys %postponed) > 0) {
# Create the symlinks. # Create the symlinks.
my $extraPrefix = $ENV{"extraPrefix"};
my $nrLinks = 0; my $nrLinks = 0;
foreach my $relName (sort keys %symlinks) { foreach my $relName (sort keys %symlinks) {
my ($target, $priority) = @{$symlinks{$relName}}; my ($target, $priority) = @{$symlinks{$relName}};
my $abs = "$out/$relName"; my $abs = "$out" . "$extraPrefix" . "/$relName";
next unless isInPathsToLink $relName; next unless isInPathsToLink $relName;
if ($target eq "") { if ($target eq "") {
#print "creating directory $relName\n"; #print "creating directory $relName\n";

View File

@ -21,14 +21,20 @@
# directories in the list is not symlinked. # directories in the list is not symlinked.
pathsToLink ? ["/"] pathsToLink ? ["/"]
, # Shell command to run after building the symlink tree. , # Root the result in directory "$out${extraPrefix}", e.g. "/share".
extraPrefix ? ""
, # Shell commands to run after building the symlink tree.
postBuild ? "" postBuild ? ""
, # Additional inputs. Handy e.g. if using makeWrapper in `postBuild`.
buildInputs ? []
, passthru ? {} , passthru ? {}
}: }:
runCommand name runCommand name
{ inherit manifest ignoreCollisions passthru pathsToLink postBuild; { inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
pkgs = builtins.toJSON (map (drv: { pkgs = builtins.toJSON (map (drv: {
paths = [ drv ]; # FIXME: handle multiple outputs paths = [ drv ]; # FIXME: handle multiple outputs
priority = drv.meta.priority or 5; priority = drv.meta.priority or 5;

View File

@ -15,6 +15,7 @@ stdenv.mkDerivation {
substituteInPlace src/dmd/posix.mak --replace g++ clang++ substituteInPlace src/dmd/posix.mak --replace g++ clang++
''; '';
# Buid and install are based on http://wiki.dlang.org/Building_DMD
buildPhase = '' buildPhase = ''
cd src/dmd cd src/dmd
make -f posix.mak INSTALL_DIR=$out make -f posix.mak INSTALL_DIR=$out
@ -50,7 +51,7 @@ stdenv.mkDerivation {
cd $out/bin cd $out/bin
tee dmd.conf << EOF tee dmd.conf << EOF
[Environment] [Environment]
DFLAGS=-I$out/include/d2 -L-L$out/lib -L--no-warn-search-mismatch -L--export-dynamic DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!stdenv.cc.isClang) "-L--no-warn-search-mismatch -L--export-dynamic"}
EOF EOF
''; '';

View File

@ -6,7 +6,7 @@ let
mpfr m4 binutils emacs gmp mpfr m4 binutils emacs gmp
libX11 xproto inputproto libXi libX11 xproto inputproto libXi
libXext xextproto libXt libXaw libXmu libXext xextproto libXt libXaw libXmu
zlib which texinfo texLive zlib which texinfo
]; ];
in in

View File

@ -1,26 +1,26 @@
{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash }: { stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash, bc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "icedtea-web-${version}"; name = "icedtea-web-${version}";
version = "1.6"; version = "1.6.1";
src = fetchurl { src = fetchurl {
url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz"; url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
sha256 = "0869j9jn0z5b5pfspp4v5cj2ksmbqmmmjhqicn4kqc6wr6v6md59";
sha256 = "0z8iirvpciai55s4vhpfkhyx4h4hm6dqy4pg4c61pia3innqd4qn";
}; };
buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ]; nativeBuildInputs = [ pkgconfig bc perl ];
buildInputs = [ gtk2 xulrunner zip npapi_sdk ];
preConfigure = '' preConfigure = ''
substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' #patchShebangs javac.in
configureFlagsArray+=("BIN_BASH=${bash}/bin/bash")
configureFlags="BIN_BASH=${bash}/bin/bash $configureFlags"
''; '';
configureFlags = [ configureFlags = [
"--with-jdk-home=${jdk.home}" "--with-jdk-home=${jdk.home}"
"--disable-docs"
]; ];
mozillaPlugin = "/lib"; mozillaPlugin = "/lib";

View File

@ -79,7 +79,17 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gfortran git m4 patchelf perl which python2 ]; nativeBuildInputs = [ gfortran git m4 patchelf perl which python2 ];
makeFlags = makeFlags =
[ let
arch = head (splitString "-" stdenv.system);
march =
{ "x86_64-linux" = "x86-64";
"x86_64-darwin" = "x86-64";
"i686-linux" = "i686";
}."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
in [
"ARCH=${arch}"
"MARCH=${march}"
"JULIA_CPU_TARGET=${march}"
"PREFIX=$(out)" "PREFIX=$(out)"
"prefix=$(out)" "prefix=$(out)"
"SHELL=${stdenv.shell}" "SHELL=${stdenv.shell}"
@ -133,8 +143,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
# Test fail on i686 (julia version 0.3.10)
doCheck = !stdenv.isi686;
checkTarget = "testall"; checkTarget = "testall";
meta = { meta = {
@ -142,6 +150,6 @@ stdenv.mkDerivation rec {
homepage = "http://julialang.org/"; homepage = "http://julialang.org/";
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ]; maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
}; };
} }

View File

@ -182,6 +182,9 @@ let result = stdenv.mkDerivation rec {
passthru.home = result; passthru.home = result;
meta.license = stdenv.lib.licenses.unfree; meta = with stdenv.lib; {
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" ]; # some inherit jre.meta.platforms
};
}; in result }; in result

View File

@ -1,12 +1,12 @@
{ fetchurl, stdenv }: { fetchurl, stdenv }:
let version = "0.9.14"; in stdenv.mkDerivation rec {
stdenv.mkDerivation {
name = "check-${version}"; name = "check-${version}";
version = "0.10.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz"; url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz";
sha256 = "02l4g79d81s07hzywcv1knwj5dyrwjiq2pgxaz7kidxi8m364wn2"; sha256 = "0lhhywf5nxl3dd0hdakra3aasl590756c9kmvyifb3vgm9k0gxgm";
}; };
# Test can randomly fail: http://hydra.nixos.org/build/7243912 # Test can randomly fail: http://hydra.nixos.org/build/7243912

View File

@ -2,15 +2,16 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
baseName="czmq"; baseName="czmq";
version="3.0.0-rc1"; version="3.0.2";
name="${baseName}-${version}"; name="${baseName}-${version}";
src = fetchurl { src = fetchurl {
url = "http://download.zeromq.org/${name}.tar.gz"; url = "http://download.zeromq.org/${name}.tar.gz";
sha256 = "1g3rk3fz7xzsbqcdcwn0x18nmiyr70k47kg00gdrq8g10li8mmd9"; sha256 = "16k9awrhdsymx7dnmvqcnkaq8lz8x8zppy6sh7ls8prpd6mkkjlb";
}; };
buildInputs = [ zeromq ]; # Needs to be propagated for the .pc file to work
propagatedBuildInputs = [ zeromq ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "http://czmq.zeromq.org/"; homepage = "http://czmq.zeromq.org/";

View File

@ -10,11 +10,11 @@ composableDerivation.composableDerivation {} rec {
# (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else []) # (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
# // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };} # // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
name = "geos-3.4.2"; name = "geos-3.5.0";
src = fetchurl { src = fetchurl {
url = "http://download.osgeo.org/geos/${name}.tar.bz2"; url = "http://download.osgeo.org/geos/${name}.tar.bz2";
sha256 = "0lvcs8x9as5jlxilykgg3i4220x8m4z59b2ngfapl219gvgvzs0m"; sha256 = "49982b23bcfa64a53333dab136b82e25354edeb806e5a2e2f5b8aa98b1d0ae02";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gnu-efi-${version}"; name = "gnu-efi-${version}";
version = "3.0.2"; version = "3.0.3";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gnu-efi/${name}.tar.bz2"; url = "mirror://sourceforge/gnu-efi/${name}.tar.bz2";
sha256 = "1mxl6xarwickhssn0nc5hyvayyf2cjh5p10l37jd1ymirl75hjqr"; sha256 = "1jxlypkgb8bd1c114x96i699ib0glb5aca9dv56j377x2ldg4c65";
}; };
buildInputs = [ pciutils ]; buildInputs = [ pciutils ];

View File

@ -13,8 +13,6 @@ rec {
gst-libav = callPackage ./libav { inherit gst-plugins-base; }; gst-libav = callPackage ./libav { inherit gst-plugins-base; };
gst-python = callPackage ./python { inherit gst-plugins-base gstreamer; };
gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; }; gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; };
gst-editing-services = callPackage ./ges { inherit gnonlin; }; gst-editing-services = callPackage ./ges { inherit gnonlin; };

View File

@ -1,5 +1,6 @@
{ fetchurl, stdenv, pkgconfig, python, gstreamer { fetchurl, stdenv, pkgconfig, python
, gst-plugins-base, pygtk, pygobject3 , gst-plugins-base, pygobject3
, ncurses
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -15,15 +16,16 @@ stdenv.mkDerivation rec {
patches = [ ./different-path-with-pygobject.patch ]; patches = [ ./different-path-with-pygobject.patch ];
buildInputs = nativeBuildInputs = [ pkgconfig python ];
[ pkgconfig gst-plugins-base pygtk pygobject3 ]
; # XXX: in the Libs.private field of python3.pc
buildInputs = [ ncurses ];
preConfigure = '' preConfigure = ''
export configureFlags="$configureFlags --with-pygi-overrides-dir=$out/lib/${python.libPrefix}/site-packages/gi/overrides" export configureFlags="$configureFlags --with-pygi-overrides-dir=$out/lib/${python.libPrefix}/site-packages/gi/overrides"
''; '';
propagatedBuildInputs = [ gstreamer python ]; propagatedBuildInputs = [ gst-plugins-base pygobject3 ];
meta = { meta = {
homepage = http://gstreamer.freedesktop.org; homepage = http://gstreamer.freedesktop.org;

View File

@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
] else null; ] else null;
postInstall = '' postInstall = ''
sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc find $out/lib -type f | grep '\.\(la\|pc\)''$' | xargs sed -i \
-e 's,-lncurses[a-z]*,-L${ncurses}/lib -lncursesw,g'
''; '';
configureFlags = [ "--enable-widec" ]; configureFlags = [ "--enable-widec" ];

View File

@ -0,0 +1,18 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "libhangul-0.1.0";
src = fetchurl {
url = "https://libhangul.googlecode.com/files/libhangul-0.1.0.tar.gz";
sha256 = "0ni9b0v70wkm0116na7ghv03pgxsfpfszhgyj3hld3bxamfal1ar";
};
meta = with stdenv.lib; {
description = "Core algorithm library for Korean input routines";
homepage = https://code.google.com/p/libhangul;
license = licenses.lgpl21;
maintainers = [ maintainers.ianwookim ];
platforms = platforms.linux;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, libibumad }: { stdenv, fetchurl, libibumad }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libibmad-1.3.11"; name = "libibmad-1.3.12";
src = fetchurl { src = fetchurl {
url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz"; url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
sha256 = "1d5lh2lhz7zzs7bbjjv9i0pj3v1xgp8sdmcr425h563v2c3bp53h"; sha256 = "0ywkz0rskci414r6h6jd4iz4qjbj37ga2k91z1mlj9xrnl9bbgzi";
}; };
buildInputs = [ libibumad ]; buildInputs = [ libibumad ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libibumad-1.3.9"; name = "libibumad-1.3.10.2";
src = fetchurl { src = fetchurl {
url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz"; url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
sha256 = "0j52aiwfgasf7bzx65svd5h2ya7848c5racf191i8irsxa155q74"; sha256 = "0bkygb3lbpaj6s4vsyixybrrkcnilbijv4ga5p1xdwyr3gip83sh";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, autoreconfHook, openssl, curl }:
stdenv.mkDerivation rec {
name = "libksi-2015-07-03";
src = fetchFromGitHub {
owner = "rgerhards";
repo = "libksi";
rev = "b1ac0346395b4f52ec42a050bf33ac223f194443";
sha256 = "0gg0fl56flwqmsph7j92lgybaa39i715w0nwgkcr58njm0c02wlw";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ openssl curl ];
configureFlags = [
"--with-openssl=${openssl}"
"--with-cafile=/etc/ssl/certs/ca-certificates.crt"
];
meta = with stdenv.lib; {
homepage = "https://github.com/rgerhards/libksi";
description = "Keyless Signature Infrastructure API library";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ wkennington ];
};
}

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl, pkgconfig, libestr, json_c, pcre }: { stdenv, fetchurl, pkgconfig, libestr, json_c, pcre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "liblognorm-1.1.1"; name = "liblognorm-1.1.2";
src = fetchurl { src = fetchurl {
url = "http://www.liblognorm.com/files/download/${name}.tar.gz"; url = "http://www.liblognorm.com/files/download/${name}.tar.gz";
sha256 = "1wi28n5ahajvl64wfn7jpvnskccd6837i0cyq8w8cvrm362b6pd7"; sha256 = "0v2k5awr6vsbp36gybrys3zfkl675sywhsh4lnm7f21inlpi2nlk";
}; };
buildInputs = [ pkgconfig libestr json_c pcre ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libestr json_c pcre ];
configureFlags = [ "--enable-regexp" ]; configureFlags = [ "--enable-regexp" ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, libmnl }: { stdenv, fetchurl, pkgconfig, libmnl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libnftnl-1.0.3"; name = "libnftnl-1.0.5";
src = fetchurl { src = fetchurl {
url = "netfilter.org/projects/libnftnl/files/${name}.tar.bz2"; url = "netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
sha256 = "1xr7gis51z9r96s5m5z3dw3f5jx2m1qb7mpvl69631m6nvmff2ng"; sha256 = "15z4kcsklbvy94d24p2r0avyhc2rsvygjqr3gyccg2z30akzbm7n";
}; };
buildInputs = [ pkgconfig libmnl ]; buildInputs = [ pkgconfig libmnl ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libraw1394-2.1.0"; name = "libraw1394-2.1.1";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/libs/ieee1394/${name}.tar.gz"; url = "mirror://kernel/linux/libs/ieee1394/${name}.tar.gz";
sha256 = "0w5sw06p51wfq2ahgql93ljkkp3hqprifzcxq8dq71c8zcbgyg58"; sha256 = "0x6az154wr7wv3945485grjvpk604khv34dbaph6vmc1zdasqq59";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, gnutls, zlib }: { stdenv, fetchurl, pkgconfig, gnutls, zlib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "librelp-1.2.7"; name = "librelp-1.2.8";
src = fetchurl { src = fetchurl {
url = "http://download.rsyslog.com/librelp/${name}.tar.gz"; url = "http://download.rsyslog.com/librelp/${name}.tar.gz";
sha256 = "1lfpd06cchi1mhlxwq0xhmbx42b8isx9677v9h80c9vpf4f4lhrs"; sha256 = "1qxj7isa2d10aw6c4a9pd3fx08vv06rrhac312avgcjmdqaa88r6";
}; };
buildInputs = [ pkgconfig gnutls zlib ]; buildInputs = [ pkgconfig gnutls zlib ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libressl-${version}"; name = "libressl-${version}";
version = "2.2.2"; version = "2.2.3";
src = fetchurl { src = fetchurl {
url = "mirror://openbsd/LibreSSL/${name}.tar.gz"; url = "mirror://openbsd/LibreSSL/${name}.tar.gz";
sha256 = "0551i4jbs81ark3jy6nycqpyqn7rg30nvcdjvdg58s6l6fgv1570"; sha256 = "10nq2rpyzgl7xhdip9mmn7hzb6hcjffbjcb04jchxmlivwdc5k51";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -18,6 +18,6 @@ stdenv.mkDerivation {
homepage = https://github.com/bji/libs3; homepage = https://github.com/bji/libs3;
description = "A library for interfacing with amazon s3"; description = "A library for interfacing with amazon s3";
license = licenses.lgpl3; license = licenses.lgpl3;
platforms = platforms.unix; platforms = platforms.linux;
}; };
} }

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl, pkgconfig, json_c, hidapi }: { stdenv, fetchurl, pkgconfig, json_c, hidapi }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libu2f-host-0.0.4"; name = "libu2f-host-1.0.0";
src = fetchurl { src = fetchurl {
url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz"; url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz";
sha256 = "1mpa4m3vchqa0rm1zw0fgby3yhp35k4y6jlqdd02difm3dhk28l5"; sha256 = "0x232rp325k1l3rdh1b9d7w3w2z2lhjmp95v4mlmd8pybjdnpi8q";
}; };
buildInputs = [ pkgconfig json_c hidapi ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ json_c hidapi ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://developers.yubico.com/libu2f-host; homepage = https://developers.yubico.com/libu2f-host;

View File

@ -0,0 +1,27 @@
{ fetchgit, stdenv, cmake, openssl, zlib }:
stdenv.mkDerivation rec {
name = "libwebsockets-1.4";
src = fetchgit {
url = "git://git.libwebsockets.org/libwebsockets";
rev = "16fb0132cec0fcced29bce6d86eaf94a9beb9785";
sha256 = "fa4c81f86dfc39211b78c53c804efc19e15b81ccb05e72699220bbed27204c7d";
};
buildInputs = [ cmake openssl zlib ];
meta = {
description = "Light, portable C library for websockets";
longDescription = ''
Libwebsockets is a lightweight pure C library built to
use minimal CPU and memory resources, and provide fast
throughput in both directions.
'';
homepage = https://libwebsockets.org/trac/libwebsockets;
# See http://git.libwebsockets.org/cgi-bin/cgit/libwebsockets/tree/LICENSE
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl }: { stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libxml++-2.38.0"; name = "libxml++-2.38.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/libxml++/2.38/${name}.tar.xz"; url = "mirror://gnome/sources/libxml++/2.38/${name}.tar.xz";
sha256 = "0ihk7fprpshs0gp38x2m5jhvrph3iwr0wy1h1qqvh3rjblzv162n"; sha256 = "0px0ljcf9rsfa092dzmm097yn7wln6d5fgsvj9lnrnq3kcc2j9c8";
}; };
nativeBuildInputs = [ pkgconfig perl ]; nativeBuildInputs = [ pkgconfig perl ];

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl, pkgconfig, pcsclite, libzip, help2man }: { stdenv, fetchurl, pkgconfig, pcsclite, libzip, help2man }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libykneomgr-0.1.6"; name = "libykneomgr-0.1.7";
src = fetchurl { src = fetchurl {
url = "https://developers.yubico.com/libykneomgr/Releases/${name}.tar.gz"; url = "https://developers.yubico.com/libykneomgr/Releases/${name}.tar.gz";
sha256 = "15fa4sslbzhzmkf0xik36as9lsmys1apqwjxv8sx7qlpacmxy3bw"; sha256 = "0nlzl9g0gjb54h43gjhg8d25bq3m3s794cq671irpqkn94kj1knw";
}; };
buildInputs = [ pkgconfig pcsclite libzip help2man ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ pcsclite libzip help2man ];
configureFlags = [ configureFlags = [
"--with-backend=pcsc" "--with-backend=pcsc"

View File

@ -28,5 +28,6 @@ stdenv.mkDerivation {
meta = { meta = {
homepage = http://www.mozilla.org/projects/nspr/; homepage = http://www.mozilla.org/projects/nspr/;
description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions"; description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
platforms = stdenv.lib.platforms.all;
}; };
} }

View File

@ -82,5 +82,6 @@ in stdenv.mkDerivation rec {
meta = { meta = {
homepage = https://developer.mozilla.org/en-US/docs/NSS; homepage = https://developer.mozilla.org/en-US/docs/NSS;
description = "A set of libraries for development of security-enabled client and server applications"; description = "A set of libraries for development of security-enabled client and server applications";
platforms = stdenv.lib.platforms.all;
}; };
} }

View File

@ -0,0 +1,25 @@
From 6fe51a9ab04fd28bbc171da3cf12f1c1040d6629 Mon Sep 17 00:00:00 2001
From: Howard Chu <hyc@openldap.org>
Date: Thu, 10 Sep 2015 00:37:32 +0100
Subject: [PATCH] ITS#8240 remove obsolete assert
---
libraries/liblber/io.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libraries/liblber/io.c b/libraries/liblber/io.c
index 85c3e23..c05dcf8 100644
--- a/libraries/liblber/io.c
+++ b/libraries/liblber/io.c
@@ -679,7 +679,7 @@ done:
return (ber->ber_tag);
}
- assert( 0 ); /* ber structure is messed up ?*/
+ /* invalid input */
return LBER_DEFAULT;
}
--
1.7.10.4

View File

@ -8,6 +8,9 @@ stdenv.mkDerivation rec {
sha256 = "0qwfpb5ipp2l76v11arghq5mr0sjc6xhjfg8a0kgsaw5qpib1dzf"; sha256 = "0qwfpb5ipp2l76v11arghq5mr0sjc6xhjfg8a0kgsaw5qpib1dzf";
}; };
# Should be removed with >=2.4.43
patches = [ ./CVE-2015-6908.patch ];
outputs = [ "out" "man" ]; outputs = [ "out" "man" ];
buildInputs = [ openssl cyrus_sasl db groff ]; buildInputs = [ openssl cyrus_sasl db groff ];

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty { stdenv, lib, fetchurl, fetchpatch, pkgconfig, libiconv, libintlOrEmpty
, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
, qt4Support ? false, qt4 ? null, qt5Support ? false, qt5 ? null , minimal ? false, qt4Support ? false, qt4 ? null, qt5Support ? false, qt5 ? null
, utils ? false, suffix ? "glib" , utils ? false, suffix ? "glib"
}: }:
@ -16,28 +16,31 @@ stdenv.mkDerivation rec {
inherit sha256; inherit sha256;
}; };
outputs = [ "out" "doc" ]; outputs = [ "out" ] ++ lib.optional (!minimal) "doc";
patches = [ ./datadir_env.patch ]; patches = [ ./datadir_env.patch ];
propagatedBuildInputs = with stdenv.lib; # TODO: reduce propagation to necessary libs
[ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ] propagatedBuildInputs = with lib;
[ zlib freetype fontconfig libjpeg lcms curl openjpeg ]
++ optional (!minimal) cairo
++ optional qt4Support qt4 ++ optional qt4Support qt4
++ optional qt5Support qt5.base; ++ optional qt5Support qt5.base;
nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty; nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
configureFlags = configureFlags = with lib;
[ [
"--enable-xpdf-headers" "--enable-xpdf-headers"
"--enable-libcurl" "--enable-libcurl"
"--enable-zlib" "--enable-zlib"
] ]
++ stdenv.lib.optional (!utils) "--disable-utils"; ++ optionals minimal [ "--disable-poppler-glib" "--disable-poppler-cpp" ]
++ optional (!utils) "--disable-utils";
enableParallelBuilding = true; enableParallelBuilding = true;
meta = { meta = with lib; {
homepage = http://poppler.freedesktop.org/; homepage = http://poppler.freedesktop.org/;
description = "A PDF rendering library"; description = "A PDF rendering library";
@ -45,8 +48,8 @@ stdenv.mkDerivation rec {
Poppler is a PDF rendering library based on the xpdf-3.0 code base. Poppler is a PDF rendering library based on the xpdf-3.0 code base.
''; '';
license = stdenv.lib.licenses.gpl2; license = licenses.gpl2;
platforms = stdenv.lib.platforms.all; platforms = platforms.all;
maintainers = with stdenv.lib.maintainers; [ ttuegel ]; maintainers = with maintainers; [ ttuegel ];
}; };
} }

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "proj-4.9.1"; name = "proj-4.9.2";
src = fetchurl { src = fetchurl {
url = http://download.osgeo.org/proj/proj-4.9.1.tar.gz; url = http://download.osgeo.org/proj/proj-4.9.2.tar.gz;
sha256 = "06f36s7yi6yky92g235kj9wkcckm04qgzxnj0fla3icb7y7ki87w"; sha256 = "15kpcmz3qjxfrs6vq48mgyvb4vxscmwgkzrdcn71a60wxp8rmgv0";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, cmake, pkgconfig }:
stdenv.mkDerivation rec {
name = "resolv_wrapper-1.1.3";
src = fetchurl {
url = "mirror://samba/cwrap/${name}.tar.gz";
sha256 = "1h76155pnmd3pqxfyi00q0fg6v45ad9dhnjsqcsbzg18s626wyad";
};
nativeBuildInputs = [ cmake pkgconfig ];
meta = with stdenv.lib; {
description = "a wrapper for the user, group and hosts NSS API";
homepage = "https://git.samba.org/?p=uid_wrapper.git;a=summary";
license = licenses.bsd3;
maintainers = with maintainers; [ wkennington ];
platforms = platforms.all;
};
}

View File

@ -1,20 +1,17 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook }: { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "snappy-1.1.2"; name = "snappy-${version}";
version = "1.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "google"; owner = "google";
repo = "snappy"; repo = "snappy";
rev = "1ff9be9b8fafc8528ca9e055646f5932aa5db9c4"; rev = version;
sha256 = "1zyjj13max0z42g3ii54n3qn7rbcga34dbi26lpm7v5ya752shx7"; sha256 = "1w9pq8vag8c6m4ib0qbdbqzsnpwjvw01jbp15lgwg1rzwhvflm10";
}; };
buildInputs = [ pkgconfig autoreconfHook ]; nativeBuildInputs = [ pkgconfig autoreconfHook ];
preConfigure = ''
sh autogen.sh
'';
# -DNDEBUG for speed # -DNDEBUG for speed
configureFlags = [ "CXXFLAGS=-DNDEBUG" ]; configureFlags = [ "CXXFLAGS=-DNDEBUG" ];

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, cmake, pkgconfig }: { stdenv, fetchurl, cmake, pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "socket_wrapper-1.1.3"; name = "socket_wrapper-1.1.4";
src = fetchurl { src = fetchurl {
url = "mirror://samba/cwrap/${name}.tar.gz"; url = "mirror://samba/cwrap/${name}.tar.gz";
sha256 = "04xfa4yhcaj63ymagmlx77fakrx3wb8ss42m15pmwjaiyi2xndx3"; sha256 = "0ypp7sx5rhn4jpmn5yxgr7mm5kkdcsa76xfnhgsvhagh1naqap2k";
}; };
buildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "a library passing all socket communications through unix sockets"; description = "a library passing all socket communications through unix sockets";

View File

@ -6,11 +6,11 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "spice-gtk-0.27"; name = "spice-gtk-0.29";
src = fetchurl { src = fetchurl {
url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2"; url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
sha256 = "0323j3q7gagi83fvxd7v9vdxqv2s3ziss44ici342hyv21qf0xah"; sha256 = "0wz9sm44gnmwjpmyacwd5jyzvhfl1wlf1dn3qda20si42cky5is4";
}; };
buildInputs = [ buildInputs = [
@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = "-fno-stack-protector"; NIX_CFLAGS_COMPILE = "-fno-stack-protector";
preConfigure = '' preConfigure = ''
substituteInPlace gtk/Makefile.am \ substituteInPlace src/Makefile.am \
--replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0' --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
autoreconf -v --force --install autoreconf -v --force --install
intltoolize -f intltoolize -f
''; '';

View File

@ -1,13 +1,18 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "spice-protocol-0.12.7"; name = "spice-protocol-0.12.9";
src = fetchurl { src = fetchurl {
url = "http://www.spice-space.org/download/releases/${name}.tar.bz2"; url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
sha256 = "1hhn94bw2l76h09sy05a15bs6zalsijnylyqpwcys5hq6rrwpiln"; sha256 = "0xkqycpqpkxjlcg4fk1vyv2vjni60s0fjx5l57918q0mvlsgh319";
}; };
postInstall = ''
mkdir -p $out/lib
ln -sv ../share/pkgconfig $out/lib/pkgconfig
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Protocol headers for the SPICE protocol"; description = "Protocol headers for the SPICE protocol";
homepage = http://www.spice-space.org; homepage = http://www.spice-space.org;

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl, libuuid, pkgconfig, libsodium }: { stdenv, fetchurl, libuuid, pkgconfig, libsodium }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "zeromq-4.1.2"; name = "zeromq-4.1.3";
src = fetchurl { src = fetchurl {
url = "http://download.zeromq.org/${name}.tar.gz"; url = "http://download.zeromq.org/${name}.tar.gz";
sha256 = "09sr6ix4k25m3fw6c8xhicq5g27q0k1vlwfqai8iwlk8dnnjw5pr"; sha256 = "04gligbgr0phipjkwc0dyk1vr9306r6s4dbj85z7fxxk1n1ircv1";
}; };
buildInputs = [ libuuid pkgconfig libsodium ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libuuid libsodium ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
branch = "4"; branch = "4";

View File

@ -1,6 +1,12 @@
{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl, {stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl,
ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ipaddr, zlib, ocaml_lwt, ocamlnet, ocaml_pcre, cryptokit, tyxml, ipaddr, zlib,
libev, openssl, ocaml_sqlite3, tree, uutf}: libev, openssl, ocaml_sqlite3, tree, uutf, makeWrapper
}:
let mkpath = p: n:
let v = stdenv.lib.getVersion ocaml; in
"${p}/lib/ocaml/${v}/site-lib/${n}";
in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocsigenserver-2.5"; name = "ocsigenserver-2.5";
@ -12,7 +18,7 @@ stdenv.mkDerivation {
buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt
ocamlnet ocaml_pcre cryptokit tyxml ipaddr zlib libev openssl ocamlnet ocaml_pcre cryptokit tyxml ipaddr zlib libev openssl
ocaml_sqlite3 tree uutf]; ocaml_sqlite3 tree uutf makeWrapper ];
configureFlags = "--root $(out) --prefix /"; configureFlags = "--root $(out) --prefix /";
@ -23,6 +29,8 @@ stdenv.mkDerivation {
postFixup = postFixup =
'' ''
rm -rf $out/var/run rm -rf $out/var/run
wrapProgram $out/bin/ocsigenserver \
--prefix CAML_LD_LIBRARY_PATH : "${mkpath ocaml_ssl "ssl"}:${mkpath ocaml_lwt "lwt"}:${mkpath ocamlnet "netsys"}:${mkpath ocamlnet "netstring"}:${mkpath ocaml_pcre "pcre"}:${mkpath cryptokit "cryptokit"}:${mkpath ocaml_sqlite3 "sqlite3"}"
''; '';
dontPatchShebangs = true; dontPatchShebangs = true;

View File

@ -1,24 +1,9 @@
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, python, isPyPy }: { callPackage, ... } @ args:
assert wxGTK.unicode; callPackage ./generic.nix (args // rec {
let version = "2.8.12.1"; in version = "2.8.12.1";
if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation { sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
name = "wxPython-${version}";
builder = ./builder.sh; })
src = fetchurl {
url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
};
buildInputs = [ pkgconfig wxGTK (wxGTK.gtk) pythonPackages.python pythonPackages.wrapPython ];
passthru = { inherit wxGTK; };
meta = {
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,29 +1,9 @@
{ stdenv, fetchurl, pkgconfig, wxGTK, pythonPackages, openglSupport ? true, python, isPyPy }: { callPackage, ... } @ args:
assert wxGTK.unicode; callPackage ./generic.nix (args // rec {
with stdenv.lib; version = "3.0.2.0";
let version = "3.0.0.0"; in sha256 = "0qfzx3sqx4mwxv99sfybhsij4b5pc03ricl73h4vhkzazgjjjhfm";
if isPyPy then throw "wxPython-${version} not supported for interpreter ${python.executable}" else stdenv.mkDerivation { })
name = "wxPython-${version}";
builder = ./builder3.0.sh;
src = fetchurl {
url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
sha256 = "af88695e820dd914e8375dc91ecb736f6fb605979bb38460ace61bbea494dc11";
};
buildInputs = [ pkgconfig wxGTK (wxGTK.gtk) pythonPackages.python pythonPackages.wrapPython ]
++ optional openglSupport pythonPackages.pyopengl;
inherit openglSupport;
passthru = { inherit wxGTK openglSupport; };
meta = {
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,22 +0,0 @@
source $stdenv/setup
flags="WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=0 BUILD_OGL=0 UNICODE=1"
configurePhase() {
cd wxPython
}
buildPhase() {
python setup.py $flags build
}
installPhase() {
python setup.py $flags install --prefix=$out
# Ugly workaround for Nixpkgs/111.
ln -s $out/lib/python*/site-packages/wx-*-gtk2-unicode/* $out/lib/python*/site-packages
wrapPythonPrograms
}
genericBuild

View File

@ -1,22 +0,0 @@
source $stdenv/setup
flags="WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=${openglSupport?1:0} UNICODE=1"
configurePhase() {
cd wxPython
}
buildPhase() {
python setup.py $flags build
}
installPhase() {
python setup.py $flags install --prefix=$out
# Ugly workaround for Nixpkgs/111.
ln -s $out/lib/python*/site-packages/wx-*-gtk2-unicode/* $out/lib/python*/site-packages
wrapPythonPrograms
}
genericBuild

View File

@ -0,0 +1,32 @@
{ stdenv, fetchurl, pkgconfig, python, buildPythonPackage, isPy3k, isPyPy, wxGTK, openglSupport ? true, pyopengl
, version, sha256, ...
}:
assert wxGTK.unicode;
buildPythonPackage rec {
disabled = isPy3k || isPyPy;
doCheck = false;
name = "wxPython-${version}";
inherit version;
src = fetchurl {
url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
inherit sha256;
};
buildInputs = [ pkgconfig wxGTK (wxGTK.gtk) ]
++ stdenv.lib.optional openglSupport pyopengl;
preConfigure = "cd wxPython";
setupPyBuildFlags = [ "WXPORT=gtk2" "NO_HEADERS=1" "BUILD_GLCANVAS=${if openglSupport then "1" else "0"}" "UNICODE=1" ];
installPhase = ''
${python}/bin/${python.executable} setup.py ${stdenv.lib.concatStringsSep " " setupPyBuildFlags} install --prefix=$out
'';
passthru = { inherit wxGTK openglSupport; };
}

View File

@ -0,0 +1,48 @@
{ stdenv, fetchurl }:
let
version = "1.0";
srcs = {
lemon = fetchurl {
sha256 = "1grm95m2cnc61zim332g7z8nchmcy91ljf50k13lm421v0ygyyv6";
url = "http://www.sqlite.org/src/raw/tool/lemon.c?name=039f813b520b9395740c52f9cbf36c90b5d8df03";
name = "lemon.c";
};
lempar = fetchurl {
sha256 = "09nki0cwc5zrm365g6plhjxz3byhl9w117ab3yvrpds43ks1j85z";
url = "http://www.sqlite.org/src/raw/tool/lempar.c?name=3617143ddb9b176c3605defe6a9c798793280120";
name = "lempar.c";
};
};
in stdenv.mkDerivation {
name = "lemon-${version}";
phases = [ "buildPhase" "installPhase" ];
buildPhase = ''
sh -xc "$CC ${srcs.lemon} -o lemon"
'';
installPhase = ''
install -Dvm755 lemon $out/bin/lemon
install -Dvm644 ${srcs.lempar} $out/bin/lempar.c
'';
meta = with stdenv.lib; {
inherit version;
description = "An LALR(1) parser generator";
longDescription = ''
The Lemon program is an LALR(1) parser generator that takes a
context-free grammar and converts it into a subroutine that will parse a
file using that grammar. Lemon is similar to the much more famous
programs "yacc" and "bison", but is not compatible with either.
'';
homepage = http://www.hwaci.com/sw/lemon/;
license = licenses.publicDomain;
platforms = platforms.unix;
maintainers = with maintainers; [ nckx ];
};
}

View File

@ -6,20 +6,18 @@
let let
# Version 3.15.7 breaks certain (but not all) PCL-based printers: version = "3.15.9";
# https://github.com/NixOS/nixpkgs/commit/b0e46fc3ead209ef24ed6214bd41ef6e604af54f
version = "3.15.6";
name = "hplip-${version}"; name = "hplip-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/hplip/${name}.tar.gz"; url = "mirror://sourceforge/hplip/${name}.tar.gz";
sha256 = "1jbnjw7vrn1qawrjfdv8j58w69q8ki1qkzvlh0nk8nxacpp17i9h"; sha256 = "0vcxz3gsqcamlzx61xm77h7c769ya8kdhzwafa9w2wvkf3l8zxd1";
}; };
plugin = fetchurl { plugin = fetchurl {
url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run"; url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
sha256 = "1rymxahz12s1s37rri5qyvka6q0yi0yai08kgspg24176ry3a3fx"; sha256 = "1ahalw83xm8x0h6hljhnkknry1hny9flkrlzcymv8nmwgic0kjgs";
}; };
hplip_state = hplip_state =

View File

@ -1,183 +0,0 @@
{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, perl, which
, glibc, flex, bison, python27, swig, dbus, pam
}:
let
apparmor-series = "2.9";
apparmor-patchver = "2";
apparmor-version = "${apparmor-series}.${apparmor-patchver}";
apparmor-meta = component: with stdenv.lib; {
homepage = http://apparmor.net/;
description = "Linux application security system - ${component}";
license = licenses.gpl2;
maintainers = with maintainers; [ phreedom thoughtpolice joachifm ];
platforms = platforms.linux;
};
apparmor-sources = fetchurl {
url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
sha256 = "1mayly7d7w959fya7z8q6kab2x3jcwhqhkpx36jsvpjhxkhmc4fh";
};
prePatchCommon = ''
substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man"
substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html"
substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man"
'';
libapparmor = stdenv.mkDerivation {
name = "libapparmor-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
autoconf
automake
bison
flex
dbus # requires patch to dbus ...
glibc
libtool
perl
pkgconfig
python27
swig
which
];
prePatch = prePatchCommon + ''
substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
'';
buildPhase = ''
cd ./libraries/libapparmor
./autogen.sh
./configure --prefix="$out" --with-python --with-perl
make
'';
installPhase = ''
make install
'';
meta = apparmor-meta "library";
};
apparmor-utils = stdenv.mkDerivation {
name = "apparmor-utils-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
python27
libapparmor
which
];
prePatch = prePatchCommon;
buildPhase = ''
cd ./utils
make LANGS=""
'';
installPhase = ''
make install LANGS="" DESTDIR="$out" BINDIR="$out/bin" VIM_INSTALL_PATH="$out/share" PYPREFIX=""
'';
meta = apparmor-meta "user-land utilities";
};
apparmor-parser = stdenv.mkDerivation {
name = "apparmor-parser-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
libapparmor
bison
flex
which
];
prePatch = prePatchCommon + ''
substituteInPlace ./parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison"
substituteInPlace ./parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex"
substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
## techdoc.pdf still doesn't build ...
substituteInPlace ./parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages"
'';
buildPhase = ''
cd ./parser
make LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include
'';
installPhase = ''
make install LANGS="" USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include DESTDIR="$out" DISTRO="unknown"
'';
meta = apparmor-meta "rule parser";
};
apparmor-pam = stdenv.mkDerivation {
name = "apparmor-pam-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
libapparmor
pam
pkgconfig
which
];
buildPhase = ''
cd ./changehat/pam_apparmor
make USE_SYSTEM=1
'';
installPhase = ''
make install DESTDIR="$out"
'';
meta = apparmor-meta "PAM service";
};
apparmor-profiles = stdenv.mkDerivation {
name = "apparmor-profiles-${apparmor-version}";
src = apparmor-sources;
buildInputs = [ which ];
buildPhase = ''
cd ./profiles
make
'';
installPhase = ''
make install DESTDIR="$out" EXTRAS_DEST="$out/share/apparmor/extra-profiles"
'';
meta = apparmor-meta "profiles";
};
apparmor-kernel-patches = stdenv.mkDerivation {
name = "apparmor-kernel-patches-${apparmor-version}";
src = apparmor-sources;
phases = ''unpackPhase installPhase'';
installPhase = ''
mkdir "$out"
cp -R ./kernel-patches "$out"
'';
meta = apparmor-meta "kernel patches";
};
in
{
inherit libapparmor apparmor-utils apparmor-parser apparmor-pam
apparmor-profiles apparmor-kernel-patches;
}

View File

@ -1,16 +0,0 @@
Description: allow parser to build even when not on Linux.
Author: Kees Cook <kees@debian.org>
Index: apparmor-debian/common/Make.rules
===================================================================
--- apparmor-debian.orig/common/Make.rules 2012-05-05 14:41:25.967259523 -0700
+++ apparmor-debian/common/Make.rules 2012-05-05 14:41:28.451291053 -0700
@@ -160,7 +160,7 @@
CAPABILITIES=$(shell echo "\#include <linux/capability.h>" | cpp -dM | LC_ALL=C sed -n -e '/CAP_EMPTY_SET/d' -e 's/^\#define[ \t]\+CAP_\([A-Z0-9_]\+\)[ \t]\+\([0-9xa-f]\+\)\(.*\)$$/CAP_\1/p' | sort)
.PHONY: list_capabilities
-list_capabilities: /usr/include/linux/capability.h
+list_capabilities:
@echo "$(CAPABILITIES)"
# =====================

View File

@ -1,98 +1,167 @@
{ stdenv, fetchurl { stdenv, fetchurl, makeWrapper, autoconf, autoreconfHook, automake, libtool, pkgconfig, perl, which
, autoconf, automake, libtool, makeWrapper , glibc, flex, bison, python27Packages, swig, pam
, perl, bison, flex, glibc, gettext, which, rpm, LocaleGettext }:
, bash, pam, TermReadKey, RpcXML, swig, python}:
stdenv.mkDerivation rec {
name = "apparmor-${version}"; let
version = "2.8.4"; apparmor-series = "2.10";
apparmor-version = apparmor-series;
src = fetchurl { apparmor-meta = component: with stdenv.lib; {
url = "http://launchpad.net/apparmor/2.8/${version}/+download/${name}.tar.gz";
sha256 = "1mki4c44ljmr7dpn55grzn33929kdjx149jx00s80yp1war83jwq";
};
buildInputs = [
autoconf automake libtool perl bison flex gettext which rpm
LocaleGettext pam TermReadKey RpcXML swig makeWrapper python ];
prePatch = ''
substituteInPlace libraries/libapparmor/src/Makefile.in --replace "/usr/include" "${glibc}/include"
substituteInPlace libraries/libapparmor/src/Makefile.am --replace "/usr/include" "${glibc}/include"
substituteInPlace common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man"
substituteInPlace common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html"
substituteInPlace common/Make.rules --replace "cpp -dM" "cpp -dM -I${glibc}/include"
substituteInPlace parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison"
substituteInPlace parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex"
substituteInPlace parser/Makefile --replace "/usr/include/bits/socket.h" "${glibc}/include/bits/socket.h"
substituteInPlace parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
#substituteInPlace parser/utils/vim/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
# for some reason pdf documentation doesn't build
substituteInPlace parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages"
substituteInPlace parser/tst/gen-xtrans.pl --replace "/usr/bin/perl" "${perl}/bin/perl"
substituteInPlace parser/tst/Makefile --replace "/usr/bin/prove" "${perl}/bin/prove"
substituteInPlace parser/tst/Makefile --replace "./caching.sh" "${bash}/bin/bash ./caching.sh"
'';
patches = ./capability.patch;
buildPhase =''
PERL5LIB=$PERL5LIB:$out/lib/perl5/site_perl:$out/lib
cd libraries/libapparmor
./autogen.sh
./configure --prefix=$out --with-perl # see below
make
make check
make install
mkdir -p $out/lib/perl5/site_perl/
cp swig/perl/LibAppArmor.pm $out/lib/perl5/site_perl/
cp swig/perl/LibAppArmor.bs $out/lib/perl5/site_perl/
# this is automatically copied elsewhere....
cd ../../utils
make
make install DESTDIR=$out BINDIR=$out/bin VENDOR_PERL=/lib/perl5/site_perl
cd ../parser
make
make install DESTDIR=$out DISTRO=unknown
# cd ../changehat/mod_apparmor
# make # depends on libapparmor having been built first
# make install
cd ../changehat/pam_apparmor
make # depends on libapparmor having been built first
make install DESTDIR=$out
cd ../../profiles
LD_LIBRARY_PATH=$out/lib make
#LD_LIBRARY_PATH=$out/lib make check # depends on the parser having been built first
make install DESTDIR=$out
cd ..
cp -r kernel-patches $out
'';
installPhase = let
perlVersion = (builtins.parseDrvName perl.name).version;
in ''
for i in $out/bin/*; do
wrapProgram $i --prefix PERL5LIB : \
"$PERL5LIB:$out/lib/perl5/${perlVersion}/${stdenv.system}-thread-multi/"
done
'';
meta = with stdenv.lib; {
homepage = http://apparmor.net/; homepage = http://apparmor.net/;
description = "Linux application security system"; description = "Linux application security system - ${component}";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [ maintainers.phreedom maintainers.thoughtpolice ]; maintainers = with maintainers; [ phreedom thoughtpolice joachifm ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
}
apparmor-sources = fetchurl {
url = "https://launchpad.net/apparmor/${apparmor-series}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
sha256 = "1x06qmmbha9krx7880pxj2k3l8fxy3nm945xjjv735m2ax1243jd";
};
prePatchCommon = ''
substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2man" "${perl}/bin/pod2man"
substituteInPlace ./common/Make.rules --replace "/usr/bin/pod2html" "${perl}/bin/pod2html"
substituteInPlace ./common/Make.rules --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
substituteInPlace ./common/Make.rules --replace "/usr/share/man" "share/man"
'';
libapparmor = stdenv.mkDerivation {
name = "libapparmor-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
autoconf
automake
autoreconfHook
bison
flex
glibc
libtool
perl
pkgconfig
python27Packages.python
swig
which
];
# required to build apparmor-parser
dontDisableStatic = true;
prePatch = prePatchCommon + ''
substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${glibc}/include/netinet/in.h"
'';
postPatch = "cd ./libraries/libapparmor";
configureFlags = "--with-python --with-perl";
meta = apparmor-meta "library";
};
apparmor-utils = stdenv.mkDerivation {
name = "apparmor-utils-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
perl
python27Packages.python
python27Packages.readline
libapparmor
makeWrapper
which
];
prePatch = prePatchCommon;
postPatch = "cd ./utils";
makeFlags = ''LANGS='';
installFlags = ''DESTDIR=$(out) BINDIR=$(out)/bin VIM_INSTALL_PATH=$(out)/share PYPREFIX='';
postInstall = ''
for prog in aa-audit aa-autodep aa-cleanprof aa-complain aa-disable aa-enforce aa-genprof aa-logprof aa-mergeprof aa-status aa-unconfined ; do
wrapProgram $out/bin/$prog --prefix PYTHONPATH : "$out/lib/${python27Packages.python.libPrefix}/site-packages:$PYTHONPATH"
done
for prog in aa-exec aa-notify ; do
wrapProgram $out/bin/$prog --prefix PERL5LIB : "${libapparmor}/lib/perl5:$PERL5LIB"
done
'';
meta = apparmor-meta "user-land utilities";
};
apparmor-parser = stdenv.mkDerivation {
name = "apparmor-parser-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
libapparmor
bison
flex
which
];
prePatch = prePatchCommon + ''
substituteInPlace ./parser/Makefile --replace "/usr/bin/bison" "${bison}/bin/bison"
substituteInPlace ./parser/Makefile --replace "/usr/bin/flex" "${flex}/bin/flex"
substituteInPlace ./parser/Makefile --replace "/usr/include/linux/capability.h" "${glibc}/include/linux/capability.h"
## techdoc.pdf still doesn't build ...
substituteInPlace ./parser/Makefile --replace "manpages htmlmanpages pdf" "manpages htmlmanpages"
'';
postPatch = "cd ./parser";
makeFlags = ''LANGS= USE_SYSTEM=1 INCLUDEDIR=${libapparmor}/include'';
installFlags = ''DESTDIR=$(out) DISTRO=unknown'';
meta = apparmor-meta "rule parser";
};
apparmor-pam = stdenv.mkDerivation {
name = "apparmor-pam-${apparmor-version}";
src = apparmor-sources;
buildInputs = [
libapparmor
pam
pkgconfig
which
];
postPatch = "cd ./changehat/pam_apparmor";
makeFlags = ''USE_SYSTEM=1'';
installFlags = ''DESTDIR=$(out)'';
meta = apparmor-meta "PAM service";
};
apparmor-profiles = stdenv.mkDerivation {
name = "apparmor-profiles-${apparmor-version}";
src = apparmor-sources;
buildInputs = [ which ];
postPatch = "cd ./profiles";
installFlags = ''DESTDIR=$(out) EXTRAS_DEST=$(out)/share/apparmor/extra-profiles'';
meta = apparmor-meta "profiles";
};
apparmor-kernel-patches = stdenv.mkDerivation {
name = "apparmor-kernel-patches-${apparmor-version}";
src = apparmor-sources;
phases = ''unpackPhase installPhase'';
installPhase = ''
mkdir "$out"
cp -R ./kernel-patches "$out"
'';
meta = apparmor-meta "kernel patches";
};
in
{
inherit libapparmor apparmor-utils apparmor-parser apparmor-pam
apparmor-profiles apparmor-kernel-patches;
}

View File

@ -5,11 +5,11 @@
assert enablePython -> python != null; assert enablePython -> python != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "audit-2.4.2"; name = "audit-2.4.4";
src = fetchurl { src = fetchurl {
url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz"; url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
sha256 = "08j134s4509rxfi3hwsp8yyxzlqqxl8kqgv2rfv6p3qng5pjd80j"; sha256 = "08sfcx8ykcn5jsryil15q8yqm0a8czymyqbb2sqxfc1jbx37zx95";
}; };
buildInputs = [ openldap ] buildInputs = [ openldap ]

View File

@ -1,19 +0,0 @@
#!/bin/sh
#
# Use this script with the upstream sorted list of patches
# curl ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/patches-5.0.{x+1}/patch_order-5.0.x |
# grep -v '^#' | sh create-patches-v5.sh
BASEURL=mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9;
echo '# File created automatically' > patches-v5.nix
echo 'fetchurl :' >> patches-v5.nix
echo '[' >> patches-v5.nix
while read a; do
URL=$BASEURL/$a
HASH=`nix-prefetch-url $URL`
echo "(fetchurl { url = $URL; sha256 = \"$HASH\"; })" >> patches-v5.nix
done
echo ']' >> patches-v5.nix

View File

@ -1,18 +1,16 @@
{stdenv, fetchurl, flex, bison, linuxHeaders}: { stdenv, fetchurl, flex, bison, linuxHeaders }:
let let
baseURL = mirror://kernel/linux/daemons/autofs/v5; version = "5.1.1";
in name = "autofs-${version}";
stdenv.mkDerivation { in stdenv.mkDerivation {
name = "autofs-5.0.8"; inherit name;
src = fetchurl { src = fetchurl {
url = "${baseURL}/autofs-5.0.8.tar.bz2"; url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz";
sha256 = "0zczihrqdamj43401v2pczf7zi94f8qk20gc6l92nxmpak3443if"; sha256 = "1hr1f11wp538h7r298wpa5khfkhfs8va3p1kdixxhrgkkzpz13z0";
}; };
patches = import ./patches-v5.nix fetchurl;
preConfigure = '' preConfigure = ''
configureFlags="--disable-move-mount --with-path=$PATH" configureFlags="--disable-move-mount --with-path=$PATH"
export MOUNT=/var/run/current-system/sw/bin/mount export MOUNT=/var/run/current-system/sw/bin/mount
@ -31,11 +29,12 @@ stdenv.mkDerivation {
#make install SUBDIRS="samples" # impure! #make install SUBDIRS="samples" # impure!
''; '';
buildInputs = [flex bison linuxHeaders]; buildInputs = [ flex bison linuxHeaders ];
meta = { meta = {
description="Kernel based automounter"; inherit version;
homepage="http://www.linux-consulting.com/Amd_AutoFS/autofs.html"; description = "Kernel-based automounter";
homepage = http://www.linux-consulting.com/Amd_AutoFS/autofs.html;
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
executables = [ "automount" ]; executables = [ "automount" ];
}; };

View File

@ -1,7 +0,0 @@
# File created automatically
fetchurl :
[
(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-undefined-authtype_requires_creds-err-if-ldap-en.patch; sha256 = "11v1a32rx57ylp8scswpk41jl9n4kfx55nvdlzhvfs4rhws18rpx"; })
(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-master-map-type-check.patch; sha256 = "1nkq0y6j7dc6214af3q9bxvy7pv9kak0q9chijxcj6zkhfzwrjy3"; })
(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/patches-5.0.9/autofs-5.0.8-fix-task-manager-not-getting-signaled.patch; sha256 = "17h06wk4x0rqiky6pm9dglbc5ycxxrd3438a9snnlysl4zzgrqhx"; })
]

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl, pkgconfig, libnih, dbus }: { stdenv, fetchurl, pkgconfig, libnih, dbus, pam }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "cgmanager-0.37"; name = "cgmanager-0.39";
src = fetchurl { src = fetchurl {
url = "https://linuxcontainers.org/downloads/cgmanager/${name}.tar.gz"; url = "https://linuxcontainers.org/downloads/cgmanager/${name}.tar.gz";
sha256 = "0vkv8am6h3x89c1rqb6a1glwz3mik3065jigri96njjzmvrff2c3"; sha256 = "0ysv8klnybp727aad2k0aa67s05q027pzfl7rmm0map4nizlhrcy";
}; };
buildInputs = [ pkgconfig libnih dbus ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libnih dbus pam ];
configureFlags = [ configureFlags = [
"--with-init-script=systemd" "--with-init-script=systemd"

View File

@ -3,11 +3,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "iproute2-4.1.1"; name = "iproute2-4.2.0";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz"; url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
sha256 = "0vz6m2k6hdrjlg4x0r3cd75lg9ysmndbsp35pm8494zvksc7l1vk"; sha256 = "0c0gyf46ad3jlalm9a7c9iiwvpcrjr4gylrkyranp8qd7rs1w454";
}; };
patches = lib.optionals enableFan [ ./ubuntu-fan.patch ]; patches = lib.optionals enableFan [ ./ubuntu-fan.patch ];

View File

@ -2,11 +2,11 @@
, flex, bison, libmnl, libnftnl, gmp, readline }: , flex, bison, libmnl, libnftnl, gmp, readline }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "nftables-0.4"; name = "nftables-0.5";
src = fetchurl { src = fetchurl {
url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2"; url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2";
sha256 = "0g0x6mf5580kr1azrff0ryxxym43qr72fwir7agmz4b8bjvnkjpn"; sha256 = "1mhaw7ys7ma5786xyfccgar389jsj2zp7qmvghsgr96q6grxzdhz";
}; };
configureFlags = [ configureFlags = [

View File

@ -0,0 +1,28 @@
From 96165264ad0afe7a5d440ef49f9712a188486266 Mon Sep 17 00:00:00 2001
From: Richard Yao <ryao@gentoo.org>
Date: Fri, 18 Sep 2015 08:32:52 -0400
Subject: [PATCH] Discard on zvols should not exceed the length of a block
37f9dac592bf5889c3efb305c48ac39b4c7dd140 replaced the end-start
calculation with a cached value, but neglected to update it on discard
operations. This can cause us to discard data not requested, causing
data loss on zvols.
Reported-by: Richard Connon <richard.connon@zynstra.com>
Signed-off-by: Richard Yao <ryao@gentoo.org>
---
module/zfs/zvol.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/module/zfs/zvol.c b/module/zfs/zvol.c
index 492f8ff..c5a8071 100644
--- a/module/zfs/zvol.c
+++ b/module/zfs/zvol.c
@@ -661,6 +661,7 @@ zvol_discard(struct bio *bio)
if (!(bio->bi_rw & REQ_SECURE)) {
start = P2ROUNDUP(start, zv->zv_volblocksize);
end = P2ALIGN(end, zv->zv_volblocksize);
+ size = end - start;
}
#endif

View File

@ -10,5 +10,8 @@ callPackage ./generic.nix (args // rec {
sha256 = "1jqm2a9mldp4km5m454zszsw6p8hrqd7xrbf52pgp82kf5w3d6wz"; sha256 = "1jqm2a9mldp4km5m454zszsw6p8hrqd7xrbf52pgp82kf5w3d6wz";
}; };
patches = [ ./nix-build.patch ]; patches = [
./nix-build.patch
./0.6.5-fix-corruption.patch
];
}) })

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