Merge branch 'master.upstream' into staging.upstream
This commit is contained in:
commit
6e09223627
@ -6,7 +6,7 @@ with import ./attrsets.nix;
|
||||
with import ./options.nix;
|
||||
with import ./trivial.nix;
|
||||
with import ./strings.nix;
|
||||
with {inherit (import ./modules.nix) mergeDefinitions; };
|
||||
with {inherit (import ./modules.nix) mergeDefinitions filterOverrides; };
|
||||
|
||||
rec {
|
||||
|
||||
@ -166,6 +166,23 @@ rec {
|
||||
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 {
|
||||
inherit (elemType) name check;
|
||||
merge = mergeOneOption;
|
||||
|
@ -108,10 +108,8 @@ with lib;
|
||||
subpixel = {
|
||||
|
||||
rgba = mkOption {
|
||||
type = types.string // {
|
||||
check = flip elem ["rgb" "bgr" "vrgb" "vbgr" "none"];
|
||||
};
|
||||
default = "rgb";
|
||||
type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"];
|
||||
description = ''
|
||||
Subpixel order, one of <literal>none</literal>,
|
||||
<literal>rgb</literal>, <literal>bgr</literal>,
|
||||
@ -120,10 +118,8 @@ with lib;
|
||||
};
|
||||
|
||||
lcdfilter = mkOption {
|
||||
type = types.str // {
|
||||
check = flip elem ["none" "default" "light" "legacy"];
|
||||
};
|
||||
default = "default";
|
||||
type = types.enum ["none" "default" "light" "legacy"];
|
||||
description = ''
|
||||
FreeType LCD filter, one of <literal>none</literal>,
|
||||
<literal>default</literal>, <literal>light</literal>, or
|
||||
|
@ -108,7 +108,7 @@ in
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.string;
|
||||
type = types.lines;
|
||||
description = ''
|
||||
Extra configuration options that will be added verbatim at
|
||||
the end of the nslcd configuration file (nslcd.conf).
|
||||
@ -120,7 +120,7 @@ in
|
||||
distinguishedName = mkOption {
|
||||
default = "";
|
||||
example = "cn=admin,dc=example,dc=com";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
The distinguished name to bind to the LDAP server with. If this
|
||||
is not specified, an anonymous bind will be done.
|
||||
@ -129,7 +129,7 @@ in
|
||||
|
||||
password = mkOption {
|
||||
default = "/etc/ldap/bind.password";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
The path to a file containing the credentials to use when binding
|
||||
to the LDAP server (if not binding anonymously).
|
||||
@ -149,7 +149,7 @@ in
|
||||
|
||||
policy = mkOption {
|
||||
default = "hard_open";
|
||||
type = types.string;
|
||||
type = types.enum [ "hard_open" "hard_init" "soft" ];
|
||||
description = ''
|
||||
Specifies the policy to use for reconnecting to an unavailable
|
||||
LDAP server. The default is <literal>hard_open</literal>, which
|
||||
@ -168,7 +168,7 @@ in
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.string;
|
||||
type = types.lines;
|
||||
description = ''
|
||||
Extra configuration options that will be added verbatim at
|
||||
the end of the ldap configuration file (ldap.conf).
|
||||
|
@ -41,20 +41,7 @@ in
|
||||
strings. The latter is concatenated, interspersed with colon
|
||||
characters.
|
||||
'';
|
||||
type = types.attrsOf (mkOptionType {
|
||||
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;
|
||||
});
|
||||
type = types.attrsOf (types.loeOf types.str);
|
||||
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
|
||||
};
|
||||
|
||||
|
@ -23,20 +23,7 @@ in
|
||||
strings. The latter is concatenated, interspersed with colon
|
||||
characters.
|
||||
'';
|
||||
type = types.attrsOf (mkOptionType {
|
||||
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;
|
||||
});
|
||||
type = types.attrsOf (types.loeOf types.str);
|
||||
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@
|
||||
];
|
||||
|
||||
# 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
|
||||
networking.hostId = "8425e349";
|
||||
|
@ -41,7 +41,7 @@ in
|
||||
|
||||
dates = mkOption {
|
||||
default = "*:0/15";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Specification (in the format described by
|
||||
<citerefentry><refentrytitle>systemd.time</refentrytitle>
|
||||
@ -52,7 +52,7 @@ in
|
||||
|
||||
user = mkOption {
|
||||
default = "root";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
User for running venus script.
|
||||
'';
|
||||
@ -60,7 +60,7 @@ in
|
||||
|
||||
group = mkOption {
|
||||
default = "root";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Group for running venus script.
|
||||
'';
|
||||
@ -68,7 +68,7 @@ in
|
||||
|
||||
name = mkOption {
|
||||
default = "NixOS Planet";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Your planet's name.
|
||||
'';
|
||||
@ -76,7 +76,7 @@ in
|
||||
|
||||
link = mkOption {
|
||||
default = "http://planet.nixos.org";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Link to the main page.
|
||||
'';
|
||||
@ -84,7 +84,7 @@ in
|
||||
|
||||
ownerName = mkOption {
|
||||
default = "Rok Garbas";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Your name.
|
||||
'';
|
||||
@ -92,7 +92,7 @@ in
|
||||
|
||||
ownerEmail = mkOption {
|
||||
default = "some@example.com";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Your e-mail address.
|
||||
'';
|
||||
|
@ -24,7 +24,7 @@ in
|
||||
|
||||
dialerDefaults = mkOption {
|
||||
default = "";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
example = ''Init1 = AT+CGDCONT=1,"IP","internet.t-mobile"'';
|
||||
description = ''
|
||||
Contents of the "Dialer Defaults" section of
|
||||
@ -40,7 +40,7 @@ in
|
||||
persist
|
||||
noauth
|
||||
'';
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "Default ppp settings for wvdial.";
|
||||
};
|
||||
|
||||
|
@ -32,25 +32,25 @@ in
|
||||
};
|
||||
|
||||
fileSystem = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "XFS filesystem hosting the xfs_quota project.";
|
||||
default = "/";
|
||||
};
|
||||
|
||||
path = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "Project directory.";
|
||||
};
|
||||
|
||||
sizeSoftLimit = mkOption {
|
||||
type = types.nullOr types.string;
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "30g";
|
||||
description = "Soft limit of the project size";
|
||||
};
|
||||
|
||||
sizeHardLimit = mkOption {
|
||||
type = types.nullOr types.string;
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "50g";
|
||||
description = "Hard limit of the project size.";
|
||||
|
@ -419,7 +419,7 @@ in
|
||||
users.motd = mkOption {
|
||||
default = null;
|
||||
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.";
|
||||
};
|
||||
|
||||
|
@ -24,7 +24,7 @@ in {
|
||||
};
|
||||
|
||||
deviceKey = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
<literal>Device key</literal> obtained by visiting
|
||||
<link xlink:href="https://panel.preyproject.com/devices" />
|
||||
@ -33,7 +33,7 @@ in {
|
||||
};
|
||||
|
||||
apiKey = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
<literal>API key</literal> obtained from
|
||||
<link xlink:href="https://panel.preyproject.com/profile" />.
|
||||
|
@ -119,7 +119,7 @@ in
|
||||
|
||||
recipient = mkOption {
|
||||
default = "root";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "Recipient of the notification messages.";
|
||||
};
|
||||
|
||||
@ -153,7 +153,7 @@ in
|
||||
|
||||
display = mkOption {
|
||||
default = ":${toString config.services.xserver.display}";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "DISPLAY to send X11 notifications to.";
|
||||
};
|
||||
};
|
||||
|
@ -28,7 +28,9 @@ with lib;
|
||||
jobs.oidentd =
|
||||
{ startOn = "started network-interfaces";
|
||||
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 = {
|
||||
|
@ -99,7 +99,9 @@ let
|
||||
# makes it bootable.
|
||||
baseSystem = showWarnings (
|
||||
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;
|
||||
allowSubstitutes = false;
|
||||
buildCommand = systemBuilder;
|
||||
|
@ -15,7 +15,7 @@ with lib;
|
||||
efiSysMountPoint = mkOption {
|
||||
default = "/boot";
|
||||
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
|
||||
description = "Where the EFI System Partition is mounted.";
|
||||
};
|
||||
|
@ -242,20 +242,20 @@ in
|
||||
|
||||
name = mkOption {
|
||||
example = "luksroot";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "Named to be used for the generated device in /dev/mapper.";
|
||||
};
|
||||
|
||||
device = mkOption {
|
||||
example = "/dev/sda2";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "Path of the underlying block device.";
|
||||
};
|
||||
|
||||
header = mkOption {
|
||||
default = null;
|
||||
example = "/root/header.img";
|
||||
type = types.nullOr types.string;
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
The name of the file or block device that
|
||||
should be used as header for the encrypted device.
|
||||
@ -265,7 +265,7 @@ in
|
||||
keyFile = mkOption {
|
||||
default = null;
|
||||
example = "/dev/sdb1";
|
||||
type = types.nullOr types.string;
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
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
|
||||
@ -349,7 +349,7 @@ in
|
||||
|
||||
ramfsMountPoint = mkOption {
|
||||
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.";
|
||||
};
|
||||
|
||||
@ -369,19 +369,19 @@ in
|
||||
|
||||
fsType = mkOption {
|
||||
default = "vfat";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "The filesystem of the unencrypted device.";
|
||||
};
|
||||
|
||||
mountPoint = mkOption {
|
||||
default = "/crypt-storage";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "Path where the unencrypted device will be mounted during early boot.";
|
||||
};
|
||||
|
||||
path = mkOption {
|
||||
default = "/crypt-storage/default";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = ''
|
||||
Absolute path of the salt on the unencrypted device with
|
||||
that device's root directory as "/".
|
||||
|
@ -22,21 +22,21 @@ let
|
||||
blkDev = mkOption {
|
||||
default = null;
|
||||
example = "/dev/sda1";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
type = types.nullOr types.str;
|
||||
description = "Location of the backing encrypted device.";
|
||||
};
|
||||
|
||||
label = mkOption {
|
||||
default = null;
|
||||
example = "rootfs";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
type = types.nullOr types.str;
|
||||
description = "Label of the backing encrypted device.";
|
||||
};
|
||||
|
||||
keyFile = mkOption {
|
||||
default = null;
|
||||
example = "/root/.swapkey";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
type = types.nullOr types.str;
|
||||
description = "File system location of keyfile.";
|
||||
};
|
||||
};
|
||||
|
@ -22,14 +22,14 @@ let
|
||||
device = mkOption {
|
||||
default = null;
|
||||
example = "/dev/sda";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
type = types.nullOr types.str;
|
||||
description = "Location of the device.";
|
||||
};
|
||||
|
||||
label = mkOption {
|
||||
default = null;
|
||||
example = "root-partition";
|
||||
type = types.uniq (types.nullOr types.string);
|
||||
type = types.nullOr types.str;
|
||||
description = "Label of the device (if any).";
|
||||
};
|
||||
|
||||
|
@ -499,7 +499,7 @@ in
|
||||
|
||||
interface = mkOption {
|
||||
example = "enp4s0";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "The interface the macvlan will transmit packets through.";
|
||||
};
|
||||
|
||||
@ -605,7 +605,7 @@ in
|
||||
|
||||
interface = mkOption {
|
||||
example = "enp4s0";
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
description = "The interface the vlan will transmit packets through.";
|
||||
};
|
||||
|
||||
|
@ -26,7 +26,7 @@ in
|
||||
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vpc $diskImage $out/disk.vhd
|
||||
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 ];
|
||||
exportReferencesGraph =
|
||||
[ "closure" config.system.build.toplevel ];
|
||||
|
@ -26,7 +26,7 @@ in
|
||||
rm $diskImageBase
|
||||
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 ];
|
||||
exportReferencesGraph =
|
||||
[ "closure" config.system.build.toplevel ];
|
||||
|
@ -108,7 +108,7 @@ in
|
||||
};
|
||||
|
||||
hostAddress = mkOption {
|
||||
type = types.nullOr types.string;
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "10.231.136.1";
|
||||
description = ''
|
||||
@ -117,7 +117,7 @@ in
|
||||
};
|
||||
|
||||
localAddress = mkOption {
|
||||
type = types.nullOr types.string;
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = "10.231.136.2";
|
||||
description = ''
|
||||
|
@ -67,7 +67,7 @@ in
|
||||
|
||||
postStart =
|
||||
mkOption {
|
||||
type = types.string;
|
||||
type = types.lines;
|
||||
default = ''
|
||||
while ! [ -e /var/run/docker.sock ]; do
|
||||
sleep 0.1
|
||||
|
@ -30,7 +30,7 @@ in
|
||||
rm $out/disk.raw
|
||||
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 ];
|
||||
exportReferencesGraph =
|
||||
[ "closure" config.system.build.toplevel ];
|
||||
|
@ -101,7 +101,7 @@ in {
|
||||
system.build.virtualBoxOVA = pkgs.runCommand "virtualbox-ova"
|
||||
{ buildInputs = [ pkgs.linuxPackages.virtualbox ];
|
||||
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..."
|
||||
|
@ -1,30 +1,31 @@
|
||||
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
|
||||
, intltool, x11, libxklavier, libgcrypt
|
||||
, intltool, x11, libxklavier, libgcrypt, libaudit
|
||||
, qt4 ? null, qt5 ? null
|
||||
}:
|
||||
|
||||
let
|
||||
ver_branch = "1.14";
|
||||
version = "1.14.2";
|
||||
ver_branch = "1.16";
|
||||
version = "1.16.2";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lightdm-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
|
||||
sha256 = "18dvipdkp6hc1hysyiwpd5nwq6db3mg98rwi3am2ly3hk2bpic18";
|
||||
sha256 = "062jj21bjrl29mk66lpihwhrff038h2wny3p6b5asacf2mklf0hq";
|
||||
};
|
||||
|
||||
patches = [ ./fix-paths.patch ];
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
|
||||
qt4
|
||||
qt4 libaudit
|
||||
] ++ stdenv.lib.optional (qt5 != null) qt5.base;
|
||||
|
||||
configureFlags = [
|
||||
"--localstatedir=/var"
|
||||
"--sysconfdir=/etc"
|
||||
"--disable-tests"
|
||||
] ++ stdenv.lib.optional (qt4 != null) "--enable-liblightdm-qt"
|
||||
++ stdenv.lib.optional ((qt5.base or null) != null) "--enable-liblightdm-qt5";
|
||||
|
||||
|
@ -11,7 +11,8 @@ in stdenv.mkDerivation {
|
||||
# a quick configure to get the Makefile generated. Since
|
||||
# we do not build the ocaml itself, we don't really
|
||||
# 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 ];
|
||||
dontBuild = true;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -11,20 +11,13 @@
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sox-14.4.1";
|
||||
name = "sox-14.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
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 =
|
||||
optional (enableAlsa && stdenv.isLinux) alsaLib ++
|
||||
optional enableLibao libao ++
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchgit, cmake, qt5, file, kde5}:
|
||||
|
||||
let
|
||||
version = "git-2015-06-10";
|
||||
version = "git-2015-07-25";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dfilemanager-${version}";
|
||||
src = fetchgit {
|
||||
url = "git://git.code.sf.net/p/dfilemanager/code";
|
||||
rev = "806a28aa8fed30941a2fd6784c7c9c240bca30e3";
|
||||
sha256 = "1k15qzjmqg9ffv4cl809b071dpyckf8jspkhfhpbmfd9wasr0m7i";
|
||||
rev = "99afcde199378eb0d499c49a9e28846c22e27483";
|
||||
sha256 = "1dd21xl24xvxs100j8nzhpaqfqk8srqs92al9c03jmyjlk31s6lf";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake qt5.base qt5.tools qt5.x11extras file kde5.solid];
|
||||
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
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";
|
||||
#license = stdenv.lib.licenses; # license not specified
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.eduarrrd ];
|
||||
};
|
||||
|
39
pkgs/applications/misc/tthsum/default.nix
Normal file
39
pkgs/applications/misc/tthsum/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -1,21 +1,21 @@
|
||||
# This file is autogenerated from update.sh in the parent directory.
|
||||
{
|
||||
dev = {
|
||||
version = "47.0.2503.0";
|
||||
sha256 = "1f8swcnrhzh6rc1vyhr6zjwbs74vifr2dmpqppyqa5n8wp2gyhmg";
|
||||
sha256bin32 = "0mb047g1x3nc51wqbkiss2q3dxwgvi0ah4x2i9fwy4wfrvm57jnl";
|
||||
sha256bin64 = "0cxma0rj70cwzhmx10ib2k60q4w2gar3h55l1pp8b1wgb1pm1vdk";
|
||||
version = "47.0.2508.0";
|
||||
sha256 = "1jmcvbimj3x91czvclnqbp8w2nfqhk2bd7bw9yd37c576md1wnw2";
|
||||
sha256bin32 = "10spq63yfyzw419bz22r2g5rmnaxy5861715mkrcbpfm8cylzmzh";
|
||||
sha256bin64 = "1ycdp37ikdc9w4hp9qgpzjp47zh37g01ax8x4ack202vrv0dxhsh";
|
||||
};
|
||||
beta = {
|
||||
version = "46.0.2490.22";
|
||||
sha256 = "0cpdv1x49xdcparpwq96a7axk16jpj8jhvafmxzh9zfkl1xxvp2i";
|
||||
sha256bin32 = "0y4mirk0qrih7nlkyxg2qbhmzrkz4fa8ng5sgbh9vw3pjv0djc2s";
|
||||
sha256bin64 = "0vlfjq6fxn2snan2kj4gf35iy2xb444hklv94vm4rwmfydygg2bw";
|
||||
version = "46.0.2490.33";
|
||||
sha256 = "196b49mqwkmz1i8qbrfmkxwd74wl40ncyyllj6kcfsq7mpms11ci";
|
||||
sha256bin32 = "0488cspmnk14jjb6v5c6y3070rmcxsfngyam5mg42q0fcz4593l1";
|
||||
sha256bin64 = "1kn0k8gpjnm1xsdiby76phwr0i8yb1w9mzmnf7ppj5cddikc5n3v";
|
||||
};
|
||||
stable = {
|
||||
version = "45.0.2454.85";
|
||||
sha256 = "14acjc80dmypybbvm087szp0g0m1gil5hjj02x8c6k7alsjh731y";
|
||||
sha256bin32 = "1945m765a05wfdfslrb22r1jpicyghfkf4h7ijzw1z9whmxa9y1v";
|
||||
sha256bin64 = "0d63akpr3yp128v01xgz1nd364w7p89gkvjpr4qz99q67dh3z1q1";
|
||||
version = "45.0.2454.93";
|
||||
sha256 = "1iraimblbzp9q16s5q7rbbb7079v095kr8dzqq1wwdb1bvcsllh6";
|
||||
sha256bin32 = "1gndmychajm4qb623k57zirp72w4y1vfxp17gyrbjpg4kzbi1qcg";
|
||||
sha256bin64 = "107l7f7crhcsv4xa219lmnsg2i7jqi5zly71cix54qg2bb7wgfwn";
|
||||
};
|
||||
}
|
||||
|
@ -3,6 +3,8 @@
|
||||
, alsaLib, dbus_libs, gtk2, libpulseaudio, openssl, xlibs
|
||||
}:
|
||||
|
||||
assert stdenv.isLinux;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "jitsi-${version}";
|
||||
@ -47,11 +49,14 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -a lib $out/
|
||||
rm -rf $out/lib/native/solaris
|
||||
cp -a sc-bundles $out/
|
||||
mkdir $out/bin
|
||||
cp resources/install/generic/run.sh $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
|
||||
|
||||
libPath="$libPath:${jdk.jre.home}/lib/${jdk.architecture}"
|
||||
|
@ -7,7 +7,7 @@
|
||||
+
|
||||
+#mkdir -p $HOME/.sip-communicator/log
|
||||
+
|
||||
+cd "$( dirname "$( dirname "${BASH_SOURCE[0]}" )" )"
|
||||
+cd "$(dirname "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
|
||||
|
||||
# Get architecture
|
||||
ARCH=`uname -m | sed -e s/x86_64/64/ -e s/i.86/32/`
|
||||
@ -24,4 +24,4 @@
|
||||
|
||||
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
|
||||
+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
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ fetchurl, stdenv
|
||||
, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive
|
||||
, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap
|
||||
, perl, pkgconfig, poppler, python, webkitgtk2
|
||||
, perl, pkgconfig, poppler, python, shared_mime_info, webkitgtk2
|
||||
|
||||
# Build options
|
||||
# TODO: A flag to build the manual.
|
||||
@ -47,6 +47,8 @@ stdenv.mkDerivation {
|
||||
sha256 = "0w13xzri9d3165qsxf1dig1f0gxn3ib4lysfc9pgi4zpyzd0zgrw";
|
||||
};
|
||||
|
||||
patches = [ ./mime.patch ];
|
||||
|
||||
buildInputs =
|
||||
[ curl dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ]
|
||||
++ optional enableSpellcheck enchant
|
||||
@ -80,8 +82,12 @@ stdenv.mkDerivation {
|
||||
++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
|
||||
++ optional (!enableSpellcheck) "--disable-enchant";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/applications
|
||||
cp claws-mail.desktop $out/share/applications
|
||||
|
||||
ln -sT ${shared_mime_info}/share/mime $out/share/mime
|
||||
'';
|
||||
}
|
||||
|
@ -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) {
|
@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
|
||||
version = "1.8.14";
|
||||
version = "1.9.1";
|
||||
|
||||
name = "subversion-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/subversion/${name}.tar.bz2";
|
||||
sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497";
|
||||
sha1 = "1244a741dbcf24f2b1d165225f0159a0c994e37a";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib apr aprutil sqlite ]
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper
|
||||
, pythonPackages, gst, clutter-gst, clutter-gtk, hicolor_icon_theme
|
||||
, gobjectIntrospection, clutter, gtk3, librsvg, gnome3, libnotify
|
||||
, python3Packages, gst, clutter-gtk, hicolor_icon_theme
|
||||
, gobjectIntrospection, librsvg, gnome3, libnotify
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.93";
|
||||
version = "0.94";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "pitivi-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz";
|
||||
sha256 = "0z89dwrd7akhkap270i372yszqib8yqcymv78lhdmn3a8bsa7jhp";
|
||||
sha256 = "1v7s0qsibwykkmknspjhpdrj80s987pvbl01kh34k4aspi1hcapm";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
@ -29,15 +29,15 @@ in stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
gobjectIntrospection clutter-gst clutter-gtk librsvg gnome3.gnome_desktop
|
||||
gobjectIntrospection clutter-gtk librsvg gnome3.gnome_desktop
|
||||
gnome3.defaultIconTheme
|
||||
gnome3.gsettings_desktop_schemas libnotify
|
||||
] ++ (with gst; [
|
||||
gstreamer gst-python gst-editing-services
|
||||
gstreamer gst-editing-services
|
||||
gst-plugins-base gst-plugins-good
|
||||
gst-plugins-bad gst-plugins-ugly gst-libav
|
||||
]) ++ (with pythonPackages; [
|
||||
python pygobject3 pyxdg numpy pycairo sqlite3
|
||||
]) ++ (with python3Packages; [
|
||||
python pygobject3 gst-python pyxdg numpy pycairo sqlite3
|
||||
]);
|
||||
|
||||
preFixup = ''
|
||||
|
@ -6,7 +6,7 @@
|
||||
, mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
|
||||
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
|
||||
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
|
||||
, libvdpau
|
||||
, libvdpau, libsamplerate
|
||||
, onlyLibVLC ? false
|
||||
, qt4 ? null, qt5 ? null, withQt5 ? false
|
||||
, jackSupport ? false
|
||||
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib
|
||||
libkate libtiger libv4l samba liboggz libass libdvbpsi libva
|
||||
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])
|
||||
++ optional jackSupport libjack2;
|
||||
@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
|
||||
"--enable-ncurses"
|
||||
"--enable-vdpau"
|
||||
"--enable-dvdnav"
|
||||
"--enable-samplerate"
|
||||
]
|
||||
++ optional onlyLibVLC "--disable-vlc";
|
||||
|
||||
|
@ -142,10 +142,11 @@ while (scalar(keys %postponed) > 0) {
|
||||
|
||||
|
||||
# Create the symlinks.
|
||||
my $extraPrefix = $ENV{"extraPrefix"};
|
||||
my $nrLinks = 0;
|
||||
foreach my $relName (sort keys %symlinks) {
|
||||
my ($target, $priority) = @{$symlinks{$relName}};
|
||||
my $abs = "$out/$relName";
|
||||
my $abs = "$out" . "$extraPrefix" . "/$relName";
|
||||
next unless isInPathsToLink $relName;
|
||||
if ($target eq "") {
|
||||
#print "creating directory $relName\n";
|
||||
|
@ -21,14 +21,20 @@
|
||||
# directories in the list is not symlinked.
|
||||
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 ? ""
|
||||
|
||||
, # Additional inputs. Handy e.g. if using makeWrapper in `postBuild`.
|
||||
buildInputs ? []
|
||||
|
||||
, passthru ? {}
|
||||
}:
|
||||
|
||||
runCommand name
|
||||
{ inherit manifest ignoreCollisions passthru pathsToLink postBuild;
|
||||
{ inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
|
||||
pkgs = builtins.toJSON (map (drv: {
|
||||
paths = [ drv ]; # FIXME: handle multiple outputs
|
||||
priority = drv.meta.priority or 5;
|
||||
|
@ -15,6 +15,7 @@ stdenv.mkDerivation {
|
||||
substituteInPlace src/dmd/posix.mak --replace g++ clang++
|
||||
'';
|
||||
|
||||
# Buid and install are based on http://wiki.dlang.org/Building_DMD
|
||||
buildPhase = ''
|
||||
cd src/dmd
|
||||
make -f posix.mak INSTALL_DIR=$out
|
||||
@ -50,7 +51,7 @@ stdenv.mkDerivation {
|
||||
cd $out/bin
|
||||
tee dmd.conf << EOF
|
||||
[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
|
||||
'';
|
||||
|
||||
|
@ -6,7 +6,7 @@ let
|
||||
mpfr m4 binutils emacs gmp
|
||||
libX11 xproto inputproto libXi
|
||||
libXext xextproto libXt libXaw libXmu
|
||||
zlib which texinfo texLive
|
||||
zlib which texinfo
|
||||
];
|
||||
in
|
||||
|
||||
|
@ -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 {
|
||||
name = "icedtea-web-${version}";
|
||||
|
||||
version = "1.6";
|
||||
version = "1.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
|
||||
|
||||
sha256 = "0z8iirvpciai55s4vhpfkhyx4h4hm6dqy4pg4c61pia3innqd4qn";
|
||||
sha256 = "0869j9jn0z5b5pfspp4v5cj2ksmbqmmmjhqicn4kqc6wr6v6md59";
|
||||
};
|
||||
|
||||
buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ];
|
||||
nativeBuildInputs = [ pkgconfig bc perl ];
|
||||
buildInputs = [ gtk2 xulrunner zip npapi_sdk ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
|
||||
|
||||
configureFlags="BIN_BASH=${bash}/bin/bash $configureFlags"
|
||||
#patchShebangs javac.in
|
||||
configureFlagsArray+=("BIN_BASH=${bash}/bin/bash")
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-jdk-home=${jdk.home}"
|
||||
"--disable-docs"
|
||||
];
|
||||
|
||||
mozillaPlugin = "/lib";
|
||||
|
@ -79,7 +79,17 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ gfortran git m4 patchelf perl which python2 ];
|
||||
|
||||
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)"
|
||||
"SHELL=${stdenv.shell}"
|
||||
@ -133,8 +143,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# Test fail on i686 (julia version 0.3.10)
|
||||
doCheck = !stdenv.isi686;
|
||||
checkTarget = "testall";
|
||||
|
||||
meta = {
|
||||
@ -142,6 +150,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://julialang.org/";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
@ -182,6 +182,9 @@ let result = stdenv.mkDerivation rec {
|
||||
|
||||
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
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ fetchurl, stdenv }:
|
||||
|
||||
let version = "0.9.14"; in
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "check-${version}";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz";
|
||||
sha256 = "02l4g79d81s07hzywcv1knwj5dyrwjiq2pgxaz7kidxi8m364wn2";
|
||||
sha256 = "0lhhywf5nxl3dd0hdakra3aasl590756c9kmvyifb3vgm9k0gxgm";
|
||||
};
|
||||
|
||||
# Test can randomly fail: http://hydra.nixos.org/build/7243912
|
||||
|
@ -2,15 +2,16 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
baseName="czmq";
|
||||
version="3.0.0-rc1";
|
||||
version="3.0.2";
|
||||
name="${baseName}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
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; {
|
||||
homepage = "http://czmq.zeromq.org/";
|
||||
|
@ -10,11 +10,11 @@ composableDerivation.composableDerivation {} rec {
|
||||
# (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
|
||||
# // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
|
||||
|
||||
name = "geos-3.4.2";
|
||||
name = "geos-3.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.osgeo.org/geos/${name}.tar.bz2";
|
||||
sha256 = "0lvcs8x9as5jlxilykgg3i4220x8m4z59b2ngfapl219gvgvzs0m";
|
||||
sha256 = "49982b23bcfa64a53333dab136b82e25354edeb806e5a2e2f5b8aa98b1d0ae02";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnu-efi-${version}";
|
||||
version = "3.0.2";
|
||||
version = "3.0.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gnu-efi/${name}.tar.bz2";
|
||||
sha256 = "1mxl6xarwickhssn0nc5hyvayyf2cjh5p10l37jd1ymirl75hjqr";
|
||||
sha256 = "1jxlypkgb8bd1c114x96i699ib0glb5aca9dv56j377x2ldg4c65";
|
||||
};
|
||||
|
||||
buildInputs = [ pciutils ];
|
||||
|
@ -13,8 +13,6 @@ rec {
|
||||
|
||||
gst-libav = callPackage ./libav { inherit gst-plugins-base; };
|
||||
|
||||
gst-python = callPackage ./python { inherit gst-plugins-base gstreamer; };
|
||||
|
||||
gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; };
|
||||
|
||||
gst-editing-services = callPackage ./ges { inherit gnonlin; };
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ fetchurl, stdenv, pkgconfig, python, gstreamer
|
||||
, gst-plugins-base, pygtk, pygobject3
|
||||
{ fetchurl, stdenv, pkgconfig, python
|
||||
, gst-plugins-base, pygobject3
|
||||
, ncurses
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -15,15 +16,16 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./different-path-with-pygobject.patch ];
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig gst-plugins-base pygtk pygobject3 ]
|
||||
;
|
||||
nativeBuildInputs = [ pkgconfig python ];
|
||||
|
||||
# XXX: in the Libs.private field of python3.pc
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
preConfigure = ''
|
||||
export configureFlags="$configureFlags --with-pygi-overrides-dir=$out/lib/${python.libPrefix}/site-packages/gi/overrides"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ gstreamer python ];
|
||||
propagatedBuildInputs = [ gst-plugins-base pygobject3 ];
|
||||
|
||||
meta = {
|
||||
homepage = http://gstreamer.freedesktop.org;
|
||||
|
@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
|
||||
] else null;
|
||||
|
||||
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" ];
|
||||
|
18
pkgs/development/libraries/libhangul/default.nix
Normal file
18
pkgs/development/libraries/libhangul/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, libibumad }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libibmad-1.3.11";
|
||||
name = "libibmad-1.3.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
|
||||
sha256 = "1d5lh2lhz7zzs7bbjjv9i0pj3v1xgp8sdmcr425h563v2c3bp53h";
|
||||
sha256 = "0ywkz0rskci414r6h6jd4iz4qjbj37ga2k91z1mlj9xrnl9bbgzi";
|
||||
};
|
||||
|
||||
buildInputs = [ libibumad ];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libibumad-1.3.9";
|
||||
name = "libibumad-1.3.10.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
|
||||
sha256 = "0j52aiwfgasf7bzx65svd5h2ya7848c5racf191i8irsxa155q74";
|
||||
sha256 = "0bkygb3lbpaj6s4vsyixybrrkcnilbijv4ga5p1xdwyr3gip83sh";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
28
pkgs/development/libraries/libksi/default.nix
Normal file
28
pkgs/development/libraries/libksi/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -1,14 +1,15 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libestr, json_c, pcre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "liblognorm-1.1.1";
|
||||
name = "liblognorm-1.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
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" ];
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libmnl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libnftnl-1.0.3";
|
||||
name = "libnftnl-1.0.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
|
||||
sha256 = "1xr7gis51z9r96s5m5z3dw3f5jx2m1qb7mpvl69631m6nvmff2ng";
|
||||
sha256 = "15z4kcsklbvy94d24p2r0avyhc2rsvygjqr3gyccg2z30akzbm7n";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig libmnl ];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libraw1394-2.1.0";
|
||||
name = "libraw1394-2.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/libs/ieee1394/${name}.tar.gz";
|
||||
sha256 = "0w5sw06p51wfq2ahgql93ljkkp3hqprifzcxq8dq71c8zcbgyg58";
|
||||
sha256 = "0x6az154wr7wv3945485grjvpk604khv34dbaph6vmc1zdasqq59";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gnutls, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "librelp-1.2.7";
|
||||
name = "librelp-1.2.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.rsyslog.com/librelp/${name}.tar.gz";
|
||||
sha256 = "1lfpd06cchi1mhlxwq0xhmbx42b8isx9677v9h80c9vpf4f4lhrs";
|
||||
sha256 = "1qxj7isa2d10aw6c4a9pd3fx08vv06rrhac312avgcjmdqaa88r6";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig gnutls zlib ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libressl-${version}";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://openbsd/LibreSSL/${name}.tar.gz";
|
||||
sha256 = "0551i4jbs81ark3jy6nycqpyqn7rg30nvcdjvdg58s6l6fgv1570";
|
||||
sha256 = "10nq2rpyzgl7xhdip9mmn7hzb6hcjffbjcb04jchxmlivwdc5k51";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -18,6 +18,6 @@ stdenv.mkDerivation {
|
||||
homepage = https://github.com/bji/libs3;
|
||||
description = "A library for interfacing with amazon s3";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,14 +1,15 @@
|
||||
{ stdenv, fetchurl, pkgconfig, json_c, hidapi }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libu2f-host-0.0.4";
|
||||
name = "libu2f-host-1.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
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; {
|
||||
homepage = https://developers.yubico.com/libu2f-host;
|
||||
|
27
pkgs/development/libraries/libwebsockets/default.nix
Normal file
27
pkgs/development/libraries/libwebsockets/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libxml++-2.38.0";
|
||||
name = "libxml++-2.38.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/libxml++/2.38/${name}.tar.xz";
|
||||
sha256 = "0ihk7fprpshs0gp38x2m5jhvrph3iwr0wy1h1qqvh3rjblzv162n";
|
||||
sha256 = "0px0ljcf9rsfa092dzmm097yn7wln6d5fgsvj9lnrnq3kcc2j9c8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig perl ];
|
||||
|
@ -1,14 +1,15 @@
|
||||
{ stdenv, fetchurl, pkgconfig, pcsclite, libzip, help2man }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libykneomgr-0.1.6";
|
||||
name = "libykneomgr-0.1.7";
|
||||
|
||||
src = fetchurl {
|
||||
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 = [
|
||||
"--with-backend=pcsc"
|
||||
|
@ -28,5 +28,6 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
homepage = http://www.mozilla.org/projects/nspr/;
|
||||
description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -82,5 +82,6 @@ in stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
homepage = https://developer.mozilla.org/en-US/docs/NSS;
|
||||
description = "A set of libraries for development of security-enabled client and server applications";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
25
pkgs/development/libraries/openldap/CVE-2015-6908.patch
Normal file
25
pkgs/development/libraries/openldap/CVE-2015-6908.patch
Normal 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
|
||||
|
@ -8,6 +8,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0qwfpb5ipp2l76v11arghq5mr0sjc6xhjfg8a0kgsaw5qpib1dzf";
|
||||
};
|
||||
|
||||
# Should be removed with >=2.4.43
|
||||
patches = [ ./CVE-2015-6908.patch ];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
buildInputs = [ openssl cyrus_sasl db groff ];
|
||||
|
@ -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
|
||||
, qt4Support ? false, qt4 ? null, qt5Support ? false, qt5 ? null
|
||||
, minimal ? false, qt4Support ? false, qt4 ? null, qt5Support ? false, qt5 ? null
|
||||
, utils ? false, suffix ? "glib"
|
||||
}:
|
||||
|
||||
@ -16,28 +16,31 @@ stdenv.mkDerivation rec {
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
outputs = [ "out" ] ++ lib.optional (!minimal) "doc";
|
||||
|
||||
patches = [ ./datadir_env.patch ];
|
||||
|
||||
propagatedBuildInputs = with stdenv.lib;
|
||||
[ zlib cairo freetype fontconfig libjpeg lcms curl openjpeg ]
|
||||
# TODO: reduce propagation to necessary libs
|
||||
propagatedBuildInputs = with lib;
|
||||
[ zlib freetype fontconfig libjpeg lcms curl openjpeg ]
|
||||
++ optional (!minimal) cairo
|
||||
++ optional qt4Support qt4
|
||||
++ optional qt5Support qt5.base;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig libiconv ] ++ libintlOrEmpty;
|
||||
|
||||
configureFlags =
|
||||
configureFlags = with lib;
|
||||
[
|
||||
"--enable-xpdf-headers"
|
||||
"--enable-libcurl"
|
||||
"--enable-zlib"
|
||||
]
|
||||
++ stdenv.lib.optional (!utils) "--disable-utils";
|
||||
++ optionals minimal [ "--disable-poppler-glib" "--disable-poppler-cpp" ]
|
||||
++ optional (!utils) "--disable-utils";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
meta = with lib; {
|
||||
homepage = http://poppler.freedesktop.org/;
|
||||
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.
|
||||
'';
|
||||
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ ttuegel ];
|
||||
};
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "proj-4.9.1";
|
||||
name = "proj-4.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://download.osgeo.org/proj/proj-4.9.1.tar.gz;
|
||||
sha256 = "06f36s7yi6yky92g235kj9wkcckm04qgzxnj0fla3icb7y7ki87w";
|
||||
url = http://download.osgeo.org/proj/proj-4.9.2.tar.gz;
|
||||
sha256 = "15kpcmz3qjxfrs6vq48mgyvb4vxscmwgkzrdcn71a60wxp8rmgv0";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
20
pkgs/development/libraries/resolv_wrapper/default.nix
Normal file
20
pkgs/development/libraries/resolv_wrapper/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -1,20 +1,17 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "snappy-1.1.2";
|
||||
name = "snappy-${version}";
|
||||
version = "1.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "snappy";
|
||||
rev = "1ff9be9b8fafc8528ca9e055646f5932aa5db9c4";
|
||||
sha256 = "1zyjj13max0z42g3ii54n3qn7rbcga34dbi26lpm7v5ya752shx7";
|
||||
rev = version;
|
||||
sha256 = "1w9pq8vag8c6m4ib0qbdbqzsnpwjvw01jbp15lgwg1rzwhvflm10";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig autoreconfHook ];
|
||||
|
||||
preConfigure = ''
|
||||
sh autogen.sh
|
||||
'';
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
|
||||
# -DNDEBUG for speed
|
||||
configureFlags = [ "CXXFLAGS=-DNDEBUG" ];
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchurl, cmake, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "socket_wrapper-1.1.3";
|
||||
name = "socket_wrapper-1.1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://samba/cwrap/${name}.tar.gz";
|
||||
sha256 = "04xfa4yhcaj63ymagmlx77fakrx3wb8ss42m15pmwjaiyi2xndx3";
|
||||
sha256 = "0ypp7sx5rhn4jpmn5yxgr7mm5kkdcsa76xfnhgsvhagh1naqap2k";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake pkgconfig ];
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "a library passing all socket communications through unix sockets";
|
||||
|
@ -6,11 +6,11 @@
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "spice-gtk-0.27";
|
||||
name = "spice-gtk-0.29";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
|
||||
sha256 = "0323j3q7gagi83fvxd7v9vdxqv2s3ziss44ici342hyv21qf0xah";
|
||||
sha256 = "0wz9sm44gnmwjpmyacwd5jyzvhfl1wlf1dn3qda20si42cky5is4";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
|
||||
NIX_CFLAGS_COMPILE = "-fno-stack-protector";
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace gtk/Makefile.am \
|
||||
substituteInPlace src/Makefile.am \
|
||||
--replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
|
||||
|
||||
autoreconf -v --force --install
|
||||
intltoolize -f
|
||||
'';
|
||||
|
@ -1,13 +1,18 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "spice-protocol-0.12.7";
|
||||
name = "spice-protocol-0.12.9";
|
||||
|
||||
src = fetchurl {
|
||||
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; {
|
||||
description = "Protocol headers for the SPICE protocol";
|
||||
homepage = http://www.spice-space.org;
|
||||
|
@ -1,14 +1,15 @@
|
||||
{ stdenv, fetchurl, libuuid, pkgconfig, libsodium }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "zeromq-4.1.2";
|
||||
name = "zeromq-4.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
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; {
|
||||
branch = "4";
|
||||
|
@ -1,6 +1,12 @@
|
||||
{stdenv, fetchurl, ocaml, findlib, which, ocaml_react, ocaml_ssl,
|
||||
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 {
|
||||
name = "ocsigenserver-2.5";
|
||||
@ -12,7 +18,7 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ocaml which findlib ocaml_react ocaml_ssl ocaml_lwt
|
||||
ocamlnet ocaml_pcre cryptokit tyxml ipaddr zlib libev openssl
|
||||
ocaml_sqlite3 tree uutf];
|
||||
ocaml_sqlite3 tree uutf makeWrapper ];
|
||||
|
||||
configureFlags = "--root $(out) --prefix /";
|
||||
|
||||
@ -23,6 +29,8 @@ stdenv.mkDerivation {
|
||||
postFixup =
|
||||
''
|
||||
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;
|
||||
|
@ -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 {
|
||||
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; };
|
||||
sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -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
|
@ -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
|
32
pkgs/development/python-modules/wxPython/generic.nix
Normal file
32
pkgs/development/python-modules/wxPython/generic.nix
Normal 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; };
|
||||
}
|
48
pkgs/development/tools/parsing/lemon/default.nix
Normal file
48
pkgs/development/tools/parsing/lemon/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -6,20 +6,18 @@
|
||||
|
||||
let
|
||||
|
||||
# Version 3.15.7 breaks certain (but not all) PCL-based printers:
|
||||
# https://github.com/NixOS/nixpkgs/commit/b0e46fc3ead209ef24ed6214bd41ef6e604af54f
|
||||
version = "3.15.6";
|
||||
version = "3.15.9";
|
||||
|
||||
name = "hplip-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/hplip/${name}.tar.gz";
|
||||
sha256 = "1jbnjw7vrn1qawrjfdv8j58w69q8ki1qkzvlh0nk8nxacpp17i9h";
|
||||
sha256 = "0vcxz3gsqcamlzx61xm77h7c769ya8kdhzwafa9w2wvkf3l8zxd1";
|
||||
};
|
||||
|
||||
plugin = fetchurl {
|
||||
url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
|
||||
sha256 = "1rymxahz12s1s37rri5qyvka6q0yi0yai08kgspg24176ry3a3fx";
|
||||
sha256 = "1ahalw83xm8x0h6hljhnkknry1hny9flkrlzcymv8nmwgic0kjgs";
|
||||
};
|
||||
|
||||
hplip_state =
|
||||
|
@ -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;
|
||||
}
|
@ -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)"
|
||||
|
||||
# =====================
|
@ -1,98 +1,167 @@
|
||||
{ stdenv, fetchurl
|
||||
, autoconf, automake, libtool, makeWrapper
|
||||
, perl, bison, flex, glibc, gettext, which, rpm, LocaleGettext
|
||||
, bash, pam, TermReadKey, RpcXML, swig, python}:
|
||||
stdenv.mkDerivation rec {
|
||||
{ stdenv, fetchurl, makeWrapper, autoconf, autoreconfHook, automake, libtool, pkgconfig, perl, which
|
||||
, glibc, flex, bison, python27Packages, swig, pam
|
||||
}:
|
||||
|
||||
name = "apparmor-${version}";
|
||||
version = "2.8.4";
|
||||
let
|
||||
apparmor-series = "2.10";
|
||||
apparmor-version = apparmor-series;
|
||||
|
||||
src = fetchurl {
|
||||
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; {
|
||||
apparmor-meta = component: with stdenv.lib; {
|
||||
homepage = http://apparmor.net/;
|
||||
description = "Linux application security system";
|
||||
description = "Linux application security system - ${component}";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.phreedom maintainers.thoughtpolice ];
|
||||
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 = "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;
|
||||
}
|
||||
|
@ -5,11 +5,11 @@
|
||||
assert enablePython -> python != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "audit-2.4.2";
|
||||
name = "audit-2.4.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
|
||||
sha256 = "08j134s4509rxfi3hwsp8yyxzlqqxl8kqgv2rfv6p3qng5pjd80j";
|
||||
sha256 = "08sfcx8ykcn5jsryil15q8yqm0a8czymyqbb2sqxfc1jbx37zx95";
|
||||
};
|
||||
|
||||
buildInputs = [ openldap ]
|
||||
|
@ -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
|
@ -1,18 +1,16 @@
|
||||
{stdenv, fetchurl, flex, bison, linuxHeaders}:
|
||||
{ stdenv, fetchurl, flex, bison, linuxHeaders }:
|
||||
|
||||
let
|
||||
baseURL = mirror://kernel/linux/daemons/autofs/v5;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "autofs-5.0.8";
|
||||
version = "5.1.1";
|
||||
name = "autofs-${version}";
|
||||
in stdenv.mkDerivation {
|
||||
inherit name;
|
||||
|
||||
src = fetchurl {
|
||||
url = "${baseURL}/autofs-5.0.8.tar.bz2";
|
||||
sha256 = "0zczihrqdamj43401v2pczf7zi94f8qk20gc6l92nxmpak3443if";
|
||||
url = "mirror://kernel/linux/daemons/autofs/v5/${name}.tar.xz";
|
||||
sha256 = "1hr1f11wp538h7r298wpa5khfkhfs8va3p1kdixxhrgkkzpz13z0";
|
||||
};
|
||||
|
||||
patches = import ./patches-v5.nix fetchurl;
|
||||
|
||||
preConfigure = ''
|
||||
configureFlags="--disable-move-mount --with-path=$PATH"
|
||||
export MOUNT=/var/run/current-system/sw/bin/mount
|
||||
@ -31,11 +29,12 @@ stdenv.mkDerivation {
|
||||
#make install SUBDIRS="samples" # impure!
|
||||
'';
|
||||
|
||||
buildInputs = [flex bison linuxHeaders];
|
||||
buildInputs = [ flex bison linuxHeaders ];
|
||||
|
||||
meta = {
|
||||
description="Kernel based automounter";
|
||||
homepage="http://www.linux-consulting.com/Amd_AutoFS/autofs.html";
|
||||
meta = {
|
||||
inherit version;
|
||||
description = "Kernel-based automounter";
|
||||
homepage = http://www.linux-consulting.com/Amd_AutoFS/autofs.html;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
executables = [ "automount" ];
|
||||
};
|
@ -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"; })
|
||||
]
|
@ -1,14 +1,15 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libnih, dbus }:
|
||||
{ stdenv, fetchurl, pkgconfig, libnih, dbus, pam }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cgmanager-0.37";
|
||||
name = "cgmanager-0.39";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://linuxcontainers.org/downloads/cgmanager/${name}.tar.gz";
|
||||
sha256 = "0vkv8am6h3x89c1rqb6a1glwz3mik3065jigri96njjzmvrff2c3";
|
||||
sha256 = "0ysv8klnybp727aad2k0aa67s05q027pzfl7rmm0map4nizlhrcy";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig libnih dbus ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ libnih dbus pam ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-init-script=systemd"
|
||||
|
@ -3,11 +3,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "iproute2-4.1.1";
|
||||
name = "iproute2-4.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
|
||||
sha256 = "0vz6m2k6hdrjlg4x0r3cd75lg9ysmndbsp35pm8494zvksc7l1vk";
|
||||
sha256 = "0c0gyf46ad3jlalm9a7c9iiwvpcrjr4gylrkyranp8qd7rs1w454";
|
||||
};
|
||||
|
||||
patches = lib.optionals enableFan [ ./ubuntu-fan.patch ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
, flex, bison, libmnl, libnftnl, gmp, readline }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nftables-0.4";
|
||||
name = "nftables-0.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://netfilter.org/projects/nftables/files/${name}.tar.bz2";
|
||||
sha256 = "0g0x6mf5580kr1azrff0ryxxym43qr72fwir7agmz4b8bjvnkjpn";
|
||||
sha256 = "1mhaw7ys7ma5786xyfccgar389jsj2zp7qmvghsgr96q6grxzdhz";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
28
pkgs/os-specific/linux/zfs/0.6.5-fix-corruption.patch
Normal file
28
pkgs/os-specific/linux/zfs/0.6.5-fix-corruption.patch
Normal 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
|
||||
|
@ -10,5 +10,8 @@ callPackage ./generic.nix (args // rec {
|
||||
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
Loading…
Reference in New Issue
Block a user