Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát 2015-07-26 17:57:46 +02:00
commit b875ea5d29
122 changed files with 2787 additions and 1182 deletions

View File

@ -6,7 +6,6 @@ with {
inherit (import ./default.nix) fold;
inherit (import ./strings.nix) concatStringsSep;
inherit (import ./lists.nix) concatMap concatLists all deepSeqList;
inherit (import ./misc.nix) maybeAttr;
};
rec {
@ -76,7 +75,7 @@ rec {
=> { foo = 1; }
*/
filterAttrs = pred: set:
listToAttrs (fold (n: ys: let v = set.${n}; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
/* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list:
@ -86,7 +85,7 @@ rec {
foldAttrs = op: nul: list_of_attrs:
fold (n: a:
fold (name: o:
o // (listToAttrs [{inherit name; value = op n.${name} (maybeAttr name nul a); }])
o // (listToAttrs [{inherit name; value = op n.${name} (a.${name} or nul); }])
) a (attrNames n)
) {} list_of_attrs;

View File

@ -11,7 +11,7 @@ let
types = import ./types.nix;
meta = import ./meta.nix;
debug = import ./debug.nix;
misc = import ./misc.nix;
misc = import ./deprecated.nix;
maintainers = import ./maintainers.nix;
platforms = import ./platforms.nix;
systems = import ./systems.nix;

View File

@ -203,8 +203,6 @@ rec {
in
work startSet [] [];
genericClosure = builtins.genericClosure or lazyGenericClosure;
innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else
innerModifySumArgs f x (a // b);
modifySumArgs = f: x: innerModifySumArgs f x {};

View File

@ -38,6 +38,10 @@ rec {
in foldl' (length list - 1);
# Strict version of foldl.
foldl' = builtins.foldl' or foldl;
# map with index: `imap (i: v: "${v}-${toString i}") ["a" "b"] ==
# ["a-1" "b-2"]'
imap = f: list:
@ -59,7 +63,7 @@ rec {
# == [1 2 3 4 5]' and `flatten 1 == [1]'.
flatten = x:
if isList x
then fold (x: y: (flatten x) ++ y) [] x
then foldl' (x: y: x ++ (flatten y)) [] x
else [x];
@ -86,17 +90,17 @@ rec {
# Return true iff function `pred' returns true for at least element
# of `list'.
any = pred: fold (x: y: if pred x then true else y) false;
any = builtins.any or (pred: fold (x: y: if pred x then true else y) false);
# Return true iff function `pred' returns true for all elements of
# `list'.
all = pred: fold (x: y: if pred x then y else false) true;
all = builtins.all or (pred: fold (x: y: if pred x then y else false) true);
# Count how many times function `pred' returns true for the elements
# of `list'.
count = pred: fold (x: c: if pred x then c + 1 else c) 0;
count = pred: foldl' (c: x: if pred x then c + 1 else c) 0;
# Return a singleton list or an empty list, depending on a boolean

View File

@ -76,8 +76,8 @@ rec {
else yieldConfig (prefix ++ [n]) v) set) ["_definedNames"];
in
if options._module.check.value && set ? _definedNames then
fold (m: res:
fold (name: res:
foldl' (res: m:
foldl' (res: name:
if set ? ${name} then res else throw "The option `${showOption (prefix ++ [name])}' defined in `${m.file}' does not exist.")
res m.names)
res set._definedNames
@ -182,18 +182,18 @@ rec {
let
loc = prefix ++ [name];
# Get all submodules that declare name.
decls = concatLists (map (m:
decls = concatMap (m:
if m.options ? ${name}
then [ { inherit (m) file; options = m.options.${name}; } ]
else []
) options);
) options;
# Get all submodules that define name.
defns = concatLists (map (m:
defns = concatMap (m:
if m.config ? ${name}
then map (config: { inherit (m) file; inherit config; })
(pushDownProperties m.config.${name})
else []
) configs);
) configs;
nrOptions = count (m: isOption m.options) decls;
# Extract the definitions for this loc
defns' = map (m: { inherit (m) file; value = m.config.${name}; })
@ -225,7 +225,7 @@ rec {
'opts' is a list of modules. Each module has an options attribute which
correspond to the definition of 'loc' in 'opt.file'. */
mergeOptionDecls = loc: opts:
fold (opt: res:
foldl' (res: opt:
if opt.options ? default && res ? default ||
opt.options ? example && res ? example ||
opt.options ? description && res ? description ||
@ -251,7 +251,7 @@ rec {
else if opt.options ? options then map (coerceOption opt.file) options' ++ res.options
else res.options;
in opt.options // res //
{ declarations = [opt.file] ++ res.declarations;
{ declarations = res.declarations ++ [opt.file];
options = submodules;
}
) { inherit loc; declarations = []; options = []; } opts;
@ -302,8 +302,8 @@ rec {
in
processOrder (processOverride (processIfAndMerge defs));
# Type-check the remaining definitions, and merge them
mergedValue = fold (def: res:
# Type-check the remaining definitions, and merge them.
mergedValue = foldl' (res: def:
if type.check def.value then res
else throw "The option value `${showOption loc}' in `${def.file}' is not a ${type.name}.")
(type.merge loc defsFinal) defsFinal;
@ -384,7 +384,7 @@ rec {
defaultPrio = 100;
getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio;
min = x: y: if x < y then x else y;
highestPrio = fold (def: prio: min (getPrio def) prio) 9999 defs;
highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs;
strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def;
in concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;

View File

@ -4,7 +4,6 @@ let lib = import ./default.nix; in
with import ./trivial.nix;
with import ./lists.nix;
with import ./misc.nix;
with import ./attrsets.nix;
with import ./strings.nix;
@ -53,8 +52,8 @@ rec {
if length list == 1 then head list
else if all isFunction list then x: mergeDefaultOption loc (map (f: f x) list)
else if all isList list then concatLists list
else if all isAttrs list then fold lib.mergeAttrs {} list
else if all isBool list then fold lib.or false list
else if all isAttrs list then foldl' lib.mergeAttrs {} list
else if all isBool list then foldl' lib.or false list
else if all isString list then lib.concatStrings list
else if all isInt list && all (x: x == head list) list then head list
else throw "Cannot merge definitions of `${showOption loc}' given in ${showFiles (getFiles defs)}.";
@ -68,7 +67,7 @@ rec {
/* "Merge" option definitions by checking that they all have the same value. */
mergeEqualOption = loc: defs:
if defs == [] then abort "This case should never happen."
else fold (def: val:
else foldl' (val: def:
if def.value != val then
throw "The option `${showOption loc}' has conflicting definitions, in ${showFiles (getFiles defs)}."
else
@ -83,7 +82,7 @@ rec {
optionAttrSetToDocList = optionAttrSetToDocList' [];
optionAttrSetToDocList' = prefix: options:
fold (opt: rest:
concatMap (opt:
let
docOption = rec {
name = showOption opt.loc;
@ -101,8 +100,7 @@ rec {
let ss = opt.type.getSubOptions opt.loc;
in if ss != {} then optionAttrSetToDocList' opt.loc ss else [];
in
# FIXME: expensive, O(n^2)
[ docOption ] ++ subOptions ++ rest) [] (collect isOption options);
[ docOption ] ++ subOptions) (collect isOption options);
/* This function recursively removes all derivation attributes from

View File

@ -8,11 +8,15 @@ in
rec {
inherit (builtins) stringLength substring head tail isString;
inherit (builtins) stringLength substring head tail isString replaceStrings;
# Concatenate a list of strings.
concatStrings = lib.fold (x: y: x + y) "";
concatStrings =
if builtins ? concatStringsSep then
builtins.concatStringsSep ""
else
lib.foldl' (x: y: x + y) "";
# Map a function over a list and concatenate the resulting strings.
@ -25,14 +29,13 @@ rec {
intersperse = separator: list:
if list == [] || length list == 1
then list
else [(head list) separator]
++ (intersperse separator (tail list));
else tail (lib.concatMap (x: [separator x]) list);
# Concatenate a list of strings with a separator between each element, e.g.
# concatStringsSep " " ["foo" "bar" "xyzzy"] == "foo bar xyzzy"
concatStringsSep = separator: list:
concatStrings (intersperse separator list);
concatStringsSep = builtins.concatStringsSep or (separator: list:
concatStrings (intersperse separator list));
concatMapStringsSep = sep: f: list: concatStringsSep sep (map f list);
concatImapStringsSep = sep: f: list: concatStringsSep sep (lib.imap f list);
@ -61,13 +64,13 @@ rec {
# Determine whether a string has given prefix/suffix.
hasPrefix = pref: str:
eqStrings (substring 0 (stringLength pref) str) pref;
substring 0 (stringLength pref) str == pref;
hasSuffix = suff: str:
let
lenStr = stringLength str;
lenSuff = stringLength suff;
in lenStr >= lenSuff &&
eqStrings (substring (lenStr - lenSuff) lenStr str) suff;
substring (lenStr - lenSuff) lenStr str == suff;
# Convert a string to a list of characters (i.e. singleton strings).
@ -76,36 +79,31 @@ rec {
# will likely be horribly inefficient; Nix is not a general purpose
# programming language. Complex string manipulations should, if
# appropriate, be done in a derivation.
stringToCharacters = s: let l = stringLength s; in
if l == 0
then []
else map (p: substring p 1 s) (lib.range 0 (l - 1));
stringToCharacters = s:
map (p: substring p 1 s) (lib.range 0 (stringLength s - 1));
# Manipulate a string charcater by character and replace them by strings
# before concatenating the results.
# Manipulate a string charactter by character and replace them by
# strings before concatenating the results.
stringAsChars = f: s:
concatStrings (
map f (stringToCharacters s)
);
# same as vim escape function.
# Each character contained in list is prefixed by "\"
escape = list : string :
stringAsChars (c: if lib.elem c list then "\\${c}" else c) string;
# Escape occurrence of the elements of list in string by
# prefixing it with a backslash. For example, escape ["(" ")"]
# "(foo)" returns the string \(foo\).
escape = list: replaceChars list (map (c: "\\${c}") list);
# still ugly slow. But more correct now
# [] for zsh
# Escape all characters that have special meaning in the Bourne shell.
escapeShellArg = lib.escape (stringToCharacters "\\ ';$`()|<>\t*[]");
# replace characters by their substitutes. This function is equivalent to
# the `tr' command except that one character can be replace by multiple
# ones. e.g.,
# replaceChars ["<" ">"] ["&lt;" "&gt;"] "<foo>" returns "&lt;foo&gt;".
replaceChars = del: new: s:
# Obsolete - use replaceStrings instead.
replaceChars = builtins.replaceStrings or (
del: new: s:
let
substList = lib.zipLists del new;
subst = c:
@ -115,26 +113,23 @@ rec {
else
found.snd;
in
stringAsChars subst s;
stringAsChars subst s);
# Case conversion utilities
# Case conversion utilities.
lowerChars = stringToCharacters "abcdefghijklmnopqrstuvwxyz";
upperChars = stringToCharacters "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
toLower = replaceChars upperChars lowerChars;
toUpper = replaceChars lowerChars upperChars;
# Appends string context from another string
# Appends string context from another string.
addContextFrom = a: b: substring 0 0 a + b;
# Compares strings not requiring context equality
# Obviously, a workaround but works on all Nix versions
eqStrings = a: b: addContextFrom b a == addContextFrom a b;
# Cut a string with a separator and produces a list of strings which were
# separated by this separator. e.g.,
# `splitString "." "foo.bar.baz"' returns ["foo" "bar" "baz"].
# Cut a string with a separator and produces a list of strings which
# were separated by this separator; e.g., `splitString "."
# "foo.bar.baz"' returns ["foo" "bar" "baz"].
splitString = _sep: _s:
let
sep = addContextFrom _s _sep;
@ -177,7 +172,7 @@ rec {
sufLen = stringLength suf;
sLen = stringLength s;
in
if sufLen <= sLen && eqStrings suf (substring (sLen - sufLen) sufLen s) then
if sufLen <= sLen && suf == substring (sLen - sufLen) sufLen s then
substring 0 (sLen - sufLen) s
else
s;
@ -196,21 +191,22 @@ rec {
# Extract name with version from URL. Ask for separator which is
# supposed to start extension
nameFromURL = url: sep: let
components = splitString "/" url;
filename = lib.last components;
name = builtins.head (splitString sep filename);
in
assert ! eqStrings name filename;
name;
# supposed to start extension.
nameFromURL = url: sep:
let
components = splitString "/" url;
filename = lib.last components;
name = builtins.head (splitString sep filename);
in assert name != filename; name;
# Create an --{enable,disable}-<feat> string that can be passed to
# standard GNU Autoconf scripts.
enableFeature = enable: feat: "--${if enable then "enable" else "disable"}-${feat}";
# Create a fixed width string with additional prefix to match required width
# Create a fixed width string with additional prefix to match
# required width.
fixedWidthString = width: filler: str:
let
strw = lib.stringLength str;
@ -219,6 +215,7 @@ rec {
assert strw <= width;
if strw == width then str else filler + fixedWidthString reqWidth filler str;
# Format a number adding leading zeroes up to fixed width
# Format a number adding leading zeroes up to fixed width.
fixedWidthNumber = width: n: fixedWidthString width "0" (toString n);
}

View File

@ -22,7 +22,7 @@ rec {
inherit (builtins)
pathExists readFile isBool isFunction
isInt add sub lessThan
seq deepSeq;
seq deepSeq genericClosure;
# Return the Nixpkgs version number.
nixpkgsVersion =

View File

@ -88,7 +88,7 @@ rec {
attrs = mkOptionType {
name = "attribute set";
check = isAttrs;
merge = loc: fold (def: mergeAttrs def.value) {};
merge = loc: foldl' (res: def: mergeAttrs res def.value) {};
};
# derivation is a reserved keyword.

View File

@ -6,8 +6,8 @@
<title>Booting from a USB Drive</title>
<para>For systems without CD drive, the NixOS livecd can be booted from
a usb stick. For non-UEFI installations,
<para>For systems without CD drive, the NixOS live CD can be booted from
a USB stick. For non-UEFI installations,
<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>
will work. For UEFI installations, you should mount the ISO, copy its contents
verbatim to your drive, then either:

View File

@ -30,8 +30,7 @@ let
# * COM32 entries (chainload, reboot, poweroff) are not recognized. They
# result in incorrect boot entries.
baseIsolinuxCfg =
''
baseIsolinuxCfg = ''
SERIAL 0 38400
TIMEOUT ${builtins.toString syslinuxTimeout}
UI vesamenu.c32
@ -44,7 +43,7 @@ let
LINUX /boot/bzImage
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
INITRD /boot/initrd
'';
'';
isolinuxMemtest86Entry = ''
LABEL memtest
@ -55,12 +54,12 @@ let
isolinuxCfg = baseIsolinuxCfg + (optionalString config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry);
# The efi boot image
# The EFI boot image.
efiDir = pkgs.runCommand "efi-directory" {} ''
mkdir -p $out/EFI/boot
cp -v ${pkgs.gummiboot}/lib/gummiboot/gummiboot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi
mkdir -p $out/loader/entries
echo "title NixOS LiveCD" > $out/loader/entries/nixos-livecd.conf
echo "title NixOS Live CD" > $out/loader/entries/nixos-livecd.conf
echo "linux /boot/bzImage" >> $out/loader/entries/nixos-livecd.conf
echo "initrd /boot/initrd" >> $out/loader/entries/nixos-livecd.conf
echo "options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}" >> $out/loader/entries/nixos-livecd.conf
@ -218,6 +217,8 @@ in
system.boot.loader.kernelFile = "bzImage";
environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ];
boot.consoleLogLevel = 7;
# In stage 1 of the boot, mount the CD as the root FS by label so
# that we don't need to know its device. We pass the label of the
# root filesystem on the kernel command line, rather than in
@ -229,6 +230,7 @@ in
boot.kernelParams =
[ "root=LABEL=${config.isoImage.volumeID}"
"boot.shell_on_fail"
"nomodeset"
];
fileSystems."/" =
@ -268,6 +270,8 @@ in
boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "usb-storage" ];
boot.blacklistedKernelModules = [ "nouveau" ];
boot.initrd.kernelModules = [ "loop" ];
# Closures to be copied to the Nix store on the CD, namely the init

View File

@ -288,6 +288,7 @@
./services/networking/gogoclient.nix
./services/networking/gvpe.nix
./services/networking/haproxy.nix
./services/networking/heyefi.nix
./services/networking/hostapd.nix
./services/networking/i2pd.nix
./services/networking/i2p.nix

View File

@ -207,6 +207,7 @@ in
serviceConfig =
{ ExecStart = "@${postgresql}/bin/postgres postgres ${toString flags}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
User = "postgres";
Group = "postgres";
PermissionsStartOnly = true;

View File

@ -1,53 +1,53 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.copy-com;
in
{
options = {
services.copy-com = {
enable = mkOption {
default = false;
description = "
Enable the copy.com client.
The first time copy.com is run, it needs to be configured. Before enabling run
copy_console manually.
";
};
user = mkOption {
description = "The user for which copy should run.";
};
debug = mkOption {
default = false;
description = "Output more.";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.postfix ];
systemd.services."copy-com-${cfg.user}" = {
description = "Copy.com Client";
after = [ "network.target" "local-fs.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.copy-com}/bin/copy_console ${if cfg.debug then "-consoleOutput -debugToConsole=dirwatch,path-watch,csm_path,csm -debug -console" else ""}";
User = "${cfg.user}";
};
};
};
}
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.copy-com;
in
{
options = {
services.copy-com = {
enable = mkOption {
default = false;
description = "
Enable the Copy.com client.
NOTE: before enabling the client for the first time, it must be
configured by first running CopyConsole (command line) or CopyAgent
(graphical) as the appropriate user.
";
};
user = mkOption {
description = "The user for which the Copy.com client should be run.";
};
debug = mkOption {
default = false;
description = "Output more (debugging) messages to the console.";
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.postfix ];
systemd.services."copy-com-${cfg.user}" = {
description = "Copy.com client";
after = [ "network.target" "local-fs.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.copy-com}/bin/CopyConsole ${if cfg.debug then "-consoleOutput -debugToConsole=dirwatch,path-watch,csm_path,csm -debug -console" else ""}";
User = "${cfg.user}";
};
};
};
}

View File

@ -0,0 +1,82 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.heyefi;
in
{
###### interface
options = {
services.heyefi = {
enable = mkEnableOption "heyefi";
cardMacaddress = mkOption {
default = "";
description = ''
An Eye-Fi card MAC address.
'';
};
uploadKey = mkOption {
default = "";
description = ''
An Eye-Fi card's upload key.
'';
};
uploadDir = mkOption {
example = "/home/username/pictures";
description = ''
The directory to upload the files to.
'';
};
user = mkOption {
default = "root";
description = ''
heyefi will be run under this user (user must exist,
this can be your user name).
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
systemd.services.heyefi =
{
description = "heyefi service";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "${cfg.user}";
Restart = "always";
ExecStart = "${pkgs.heyefi}/bin/heyefi";
};
};
environment.etc."heyefi/heyefi.config".text =
''
# /etc/heyefi/heyefi.conf: DO NOT EDIT -- this file has been generated automatically.
cards = [["${config.services.heyefi.cardMacaddress}","${config.services.heyefi.uploadKey}"]]
upload_dir = "${toString config.services.heyefi.uploadDir}"
'';
environment.systemPackages = [ pkgs.heyefi ];
};
}

View File

@ -93,7 +93,7 @@ in
{ services.cron.enable = mkDefault (allFiles != []); }
(mkIf (config.services.cron.enable && allFiles != []) {
(mkIf (config.services.cron.enable) {
security.setuidPrograms = [ "crontab" ];

View File

@ -40,7 +40,7 @@ in {
example = literalExample "[ pkgs.gnome3.gpaste ]";
description = "Additional list of packages to be added to the session search path.
Useful for gnome shell extensions or gsettings-conditionated autostart.";
apply = list: list ++ [ gnome3.gnome_shell ];
apply = list: list ++ [ gnome3.gnome_shell gnome3.gnome-shell-extensions ];
};
environment.gnome3.packageSet = mkOption {

View File

@ -49,9 +49,8 @@ in
type = types.int;
default = 4;
description = ''
The kernel console log level. Only log messages with a
priority numerically less than this will appear on the
console.
The kernel console log level. Log messages with a priority
numerically less than this will not appear on the console.
'';
};

View File

@ -10,7 +10,7 @@ let
realGrub = if cfg.version == 1 then pkgs.grub
else if cfg.zfsSupport then pkgs.grub2.override { zfsSupport = true; }
else if cfg.enableTrustedboot then pkgs.trustedGrub
else if cfg.enableTrustedBoot then pkgs.trustedGrub
else pkgs.grub2;
grub =
@ -112,7 +112,7 @@ in
description = ''
The devices on which the boot loader, GRUB, will be
installed. Can be used instead of <literal>device</literal> to
install grub into multiple devices (e.g., if as softraid arrays holding /boot).
install GRUB onto multiple devices.
'';
};
@ -135,8 +135,8 @@ in
example = "/boot1";
type = types.str;
description = ''
The path to the boot directory where grub will be written. Generally
this boot parth should double as an efi path.
The path to the boot directory where GRUB will be written. Generally
this boot path should double as an EFI path.
'';
};
@ -166,7 +166,7 @@ in
example = [ "/dev/sda" "/dev/sdb" ];
type = types.listOf types.str;
description = ''
The path to the devices which will have the grub mbr written.
The path to the devices which will have the GRUB MBR written.
Note these are typically device paths and not paths to partitions.
'';
};
@ -197,7 +197,7 @@ in
type = types.lines;
description = ''
Additional bash commands to be run at the script that
prepares the grub menu entries.
prepares the GRUB menu entries.
'';
};
@ -276,7 +276,7 @@ in
example = "1024x768";
type = types.str;
description = ''
The gfxmode to pass to grub when loading a graphical boot interface under efi.
The gfxmode to pass to GRUB when loading a graphical boot interface under EFI.
'';
};
@ -285,7 +285,7 @@ in
example = "auto";
type = types.str;
description = ''
The gfxmode to pass to grub when loading a graphical boot interface under bios.
The gfxmode to pass to GRUB when loading a graphical boot interface under BIOS.
'';
};
@ -330,10 +330,10 @@ in
type = types.addCheck types.str
(type: type == "uuid" || type == "label" || type == "provided");
description = ''
Determines how grub will identify devices when generating the
Determines how GRUB will identify devices when generating the
configuration file. A value of uuid / label signifies that grub
will always resolve the uuid or label of the device before using
it in the configuration. A value of provided means that grub will
it in the configuration. A value of provided means that GRUB will
use the device name as show in <command>df</command> or
<command>mount</command>. Note, zfs zpools / datasets are ignored
and will always be mounted using their labels.
@ -344,7 +344,7 @@ in
default = false;
type = types.bool;
description = ''
Whether grub should be build against libzfs.
Whether GRUB should be build against libzfs.
ZFS support is only available for GRUB v2.
This option is ignored for GRUB v1.
'';
@ -354,7 +354,7 @@ in
default = false;
type = types.bool;
description = ''
Whether grub should be build with EFI support.
Whether GRUB should be build with EFI support.
EFI support is only available for GRUB v2.
This option is ignored for GRUB v1.
'';
@ -364,16 +364,16 @@ in
default = false;
type = types.bool;
description = ''
Enable support for encrypted partitions. Grub should automatically
Enable support for encrypted partitions. GRUB should automatically
unlock the correct encrypted partition and look for filesystems.
'';
};
enableTrustedboot = mkOption {
enableTrustedBoot = mkOption {
default = false;
type = types.bool;
description = ''
Enable trusted boot. Grub will measure all critical components during
Enable trusted boot. GRUB will measure all critical components during
the boot process to offer TCG (TPM) support.
'';
};
@ -429,7 +429,7 @@ in
assertions = [
{
assertion = !cfg.zfsSupport || cfg.version == 2;
message = "Only grub version 2 provides zfs support";
message = "Only GRUB version 2 provides ZFS support";
}
{
assertion = cfg.mirroredBoots != [ ];
@ -441,19 +441,19 @@ in
message = "You cannot have duplicated devices in mirroredBoots";
}
{
assertion = !cfg.enableTrustedboot || cfg.version == 2;
assertion = !cfg.enableTrustedBoot || cfg.version == 2;
message = "Trusted GRUB is only available for GRUB 2";
}
{
assertion = !cfg.efiSupport || !cfg.enableTrustedboot;
assertion = !cfg.efiSupport || !cfg.enableTrustedBoot;
message = "Trusted GRUB does not have EFI support";
}
{
assertion = !cfg.zfsSupport || !cfg.enableTrustedboot;
assertion = !cfg.zfsSupport || !cfg.enableTrustedBoot;
message = "Trusted GRUB does not have ZFS support";
}
{
assertion = !cfg.enableTrustedboot;
assertion = !cfg.enableTrustedBoot;
message = "Trusted GRUB can break your system. Remove assertion if you want to test trustedGRUB nevertheless.";
}
] ++ flip concatMap cfg.mirroredBoots (args: [
@ -471,7 +471,7 @@ in
}
] ++ flip map args.devices (device: {
assertion = device == "nodev" || hasPrefix "/" device;
message = "Grub devices must be absolute paths, not ${dev} in ${args.path}";
message = "GRUB devices must be absolute paths, not ${dev} in ${args.path}";
}));
})

View File

@ -7,8 +7,8 @@
, withGTK2 ? true, gtk2
}:
assert (libXft != null) -> libpng != null; # probably a bug
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
assert (libXft != null) -> libpng != null; # probably a bug
assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise
assert withGTK2 -> withX || stdenv.isDarwin;
assert withGTK3 -> withX || stdenv.isDarwin;
assert withGTK2 -> !withGTK3 && gtk2 != null;

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake, enableDoc ? false }:
stdenv.mkDerivation (rec {
name = "ProofGeneral-4.3pre131011";
name = "ProofGeneral-4.3pre150313";
src = fetchurl {
url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.3pre131011.tgz;
sha256 = "0104iy2xik5npkdg9p2ir6zqyrmdc93azrgm3ayvg0z76vmnb816";
url = "http://proofgeneral.inf.ed.ac.uk/releases/${name}.tgz";
sha256 = "1jq5ykkk14xr5qcn4kyxmi5ls0fibr0y47gfygzm1mzrfvz9aw3f";
};
sourceRoot = name;

View File

@ -7,7 +7,7 @@ diff -r c7d8bfff4c0a bin/proofgeneral
if [ -z "$PGHOME" ] || [ ! -d "$PGHOME" ]; then
- # default relative to this script, otherwise PGHOMEDEFAULT
- MYDIR="`readlink --canonicalize "$0" | sed -ne 's,/bin/proofgeneral$,,p'`"
- if [ -d "$MYDIR" ]; then
- if [ -d "$MYDIR/generic" ]; then
- PGHOME="$MYDIR"
- elif [ -d "$PGHOMEDEFAULT" ]; then
+ if [ -d "$PGHOMEDEFAULT" ]; then

View File

@ -2,7 +2,7 @@
pyqt4, qwt, fcgi, pythonPackages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper }:
stdenv.mkDerivation rec {
name = "qgis-2.8.2";
name = "qgis-2.10.1";
buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt qscintilla
fcgi libspatialindex libspatialite postgresql ] ++
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2";
sha256 = "fd3c01e48224f611c3bb279b0af9cc1dff3844cdc93f7b45e4f37cf8f350bc4b";
sha256 = "79119b54642edaffe3cda513531eb7b81913e013954a49c6d3b21c8b00143307";
};
postInstall = ''

View File

@ -1,17 +1,17 @@
{ stdenv, fetchFromGitHub, cmake, python, libX11, qt4 }:
{ stdenv, fetchFromGitHub, cmake, libX11, procps, python, qt5 }:
let version = "6.1"; in
let version = "7.0"; in
stdenv.mkDerivation {
name = "apitrace-${version}";
src = fetchFromGitHub {
sha256 = "1v38111ljd35v5sahshs3inhk6nsv7rxh4r0ck8k0njkwzlx2yqk";
sha256 = "0nn3z7i6cd4zkmms6jpp1v2q194gclbs06v0f5hyiwcsqaxzsg5b";
rev = version;
repo = "apitrace";
owner = "apitrace";
};
buildInputs = [ python libX11 qt4 ];
buildInputs = [ libX11 procps python qt5.base ];
nativeBuildInputs = [ cmake ];
buildPhase = ''
@ -20,6 +20,7 @@ stdenv.mkDerivation {
'';
meta = with stdenv.lib; {
inherit version;
homepage = https://apitrace.github.io;
description = "Tools to trace OpenGL, OpenGL ES, Direct3D, and DirectDraw APIs";
license = licenses.mit;

View File

@ -6,11 +6,11 @@
}:
stdenv.mkDerivation rec {
name = "digikam-4.10.0";
name = "digikam-4.11.0";
src = fetchurl {
url = "http://download.kde.org/stable/digikam/${name}.tar.bz2";
sha256 = "4207e68b6221307111b66bb69485d3e88150df95dae014a99f6f161a3da0c725";
sha256 = "1nak3w0717fpbpmklzd3xkkbp2mwi44yxnc789wzmi9d8z9n3jwh";
};
nativeBuildInputs = [ cmake automoc4 pkgconfig ];

View File

@ -0,0 +1,20 @@
{stdenv, fetchurl, gnome3, intltool, pkgconfig, texinfo}:
stdenv.mkDerivation rec {
name = "gxmessage-${version}";
version = "3.4.3";
src = fetchurl {
url = "http://homepages.ihug.co.nz/~trmusson/stuff/${name}.tar.gz";
sha256 = "db4e1655fc58f31e5770a17dfca4e6c89028ad8b2c8e043febc87a0beedeef05";
};
buildInputs = [ intltool gnome3.gtk pkgconfig texinfo ];
meta = {
description = "a GTK enabled dropin replacement for xmessage";
homepage = "http://homepages.ihug.co.nz/~trmusson/programs.html#gxmessage";
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [jfb];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -6,18 +6,16 @@
, libXcursor, libXi, libXinerama }:
stdenv.mkDerivation rec {
version = "3.0.4.1";
version = "3.0.5";
name = "dillo-${version}";
src = fetchurl {
url = "http://www.dillo.org/download/${name}.tar.bz2";
sha256 = "0iw617nnrz3541jkw5blfdlk4x8jxb382pshi8nfc7xd560c95zd";
sha256 = "12ql8n1lypv3k5zqgwjxlw1md90ixz3ag6j1gghfnhjq3inf26yv";
};
buildInputs = with stdenv.lib;
[ fltk openssl libjpeg libpng libXcursor libXi libXinerama ];
nativeBuildInputs = [ perl ];
[ perl fltk openssl libjpeg libpng libXcursor libXi libXinerama ];
configureFlags = "--enable-ssl";

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl
, gpm, openssl, pkgconfig # Misc.
, libpng, libjpeg, libtiff # graphic formats
, gpm, openssl, pkgconfig, libev # Misc.
, libpng, libjpeg, libtiff, librsvg # graphic formats
, bzip2, zlib, xz # Transfer encodings
, enableFB ? true
, enableDirectFB ? false, directfb
@ -8,16 +8,16 @@
}:
stdenv.mkDerivation rec {
version = "2.8";
version = "2.10";
name = "links2-${version}";
src = fetchurl {
url = "${meta.homepage}/download/links-${version}.tar.bz2";
sha256 = "15h07498z52jfdahzgvkphg1f7qvxnpbyfn2xmsls0d2dwwdll3r";
sha256 = "0lqxg55sp1kphl7ykm2km0s2vsn92a0gmlgypmkqb984r060n3l4";
};
buildInputs =
[ libpng libjpeg libtiff gpm openssl xz bzip2 zlib ]
[ libev librsvg libpng libjpeg libtiff gpm openssl xz bzip2 zlib ]
++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
++ stdenv.lib.optional enableDirectFB [ directfb ];

View File

@ -1,4 +1,5 @@
{ stdenv, coreutils, fetchurl, patchelf, gcc }:
{ stdenv, fetchurl, patchelf, fontconfig, freetype
, gcc, glib, libICE, libSM, libX11, libXext, libXrender }:
let
arch = if stdenv.system == "x86_64-linux" then "x86_64"
@ -13,45 +14,54 @@ let
appdir = "opt/copy";
libPackages = [ fontconfig freetype gcc.cc glib libICE libSM libX11 libXext
libXrender ];
libPaths = stdenv.lib.concatStringsSep ":"
(map (path: "${path}/lib") libPackages);
in stdenv.mkDerivation {
name = "copy-com-1.47.0410";
name = "copy-com-3.2.01.0481";
src = fetchurl {
# Note: copy.com doesn't version this file. Annoying.
url = "https://copy.com/install/linux/Copy.tgz";
sha256 = "a48c69f6798f888617cfeef5359829e619057ae0e6edf3940b4ea6c81131012a";
sha256 = "0bpphm71mqpaiygs57kwa23nli0qm64fvgl1qh7fkxyqqabh4g7k";
};
buildInputs = [ coreutils patchelf ];
nativeBuildInputs = [ patchelf ];
phases = "unpackPhase installPhase";
installPhase = ''
mkdir -p $out/opt
cp -r ${arch} "$out/${appdir}"
ensureDir "$out/bin"
ln -s "$out/${appdir}/CopyConsole" "$out/bin/copy_console"
ln -s "$out/${appdir}/CopyAgent" "$out/bin/copy_agent"
ln -s "$out/${appdir}/CopyCmd" "$out/bin/copy_cmd"
patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
"$out/${appdir}/CopyConsole"
RPATH=${gcc.cc}/lib:$out/${appdir}
echo "updating rpaths to: $RPATH"
mkdir -p "$out/bin"
for binary in Copy{Agent,Console,Cmd}; do
binary="$out/${appdir}/$binary"
ln -sv "$binary" "$out/bin"
patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} "$binary"
done
# Older versions of this package happily installed broken copies of
# anything other than CopyConsole - which was then also mangled to
# copy_console for some reason. Keep backwards compatibility (only
# for CopyConsole) for now; the NixOS service is already fixed.
ln -sv "$out/bin"/{CopyConsole,copy_console}
RPATH=${libPaths}:$out/${appdir}
echo "Updating rpaths to $RPATH in:"
find "$out/${appdir}" -type f -a -perm +0100 \
-print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
'';
meta = {
homepage = http://copy.com;
description = "Copy.com Client";
description = "Copy.com graphical & command-line clients";
# Closed Source unfortunately.
license = stdenv.lib.licenses.unfree;
maintainers = with stdenv.lib.maintainers; [ nathan-gs ];
maintainers = with stdenv.lib.maintainers; [ nathan-gs nckx ];
# NOTE: Copy.com itself only works on linux, so this is ok.
platforms = stdenv.lib.platforms.linux;
};

View File

@ -0,0 +1,30 @@
{ stdenv, fetchgit, pkgconfig, pidgin } :
let
version = "54b2992";
in
stdenv.mkDerivation rec {
name = "pidgin-mra-${version}";
src = fetchgit {
url = "https://github.com/dreadatour/pidgin-mra";
rev = "${version}";
sha256 = "1nhfx9gi5lhh2xjr9rw600bb53ly2nwiqq422vc0f297qkm1q9y0";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ pidgin ];
preConfigure = ''
sed -i 's|-I/usr/include/libpurple|$(shell pkg-config --cflags purple)|' Makefile
export DESTDIR=$out
export LIBDIR=/lib
export DATADIR=/share
'';
meta = {
homepage = https://github.com/dreadatour/pidgin-mra;
description = "Mail.ru Agent plugin for Pidgin / libpurple";
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchhg, pidgin, cmake, libxml2 } :
let
version = "40ddb6d";
in
stdenv.mkDerivation rec {
name = "purple-vk-plugin-${version}";
src = fetchhg {
url = "https://bitbucket.org/olegoandreev/purple-vk-plugin";
rev = "${version}";
sha256 = "02p57fgx8ml00cbrb4f280ak2802svz80836dzk9f1zwm1bcr2qc";
};
buildInputs = [ pidgin cmake libxml2 ];
preConfigure = ''
sed -i -e 's|DESTINATION.*PURPLE_PLUGIN_DIR}|DESTINATION lib/purple-2|' CMakeLists.txt
'';
cmakeFlags = "-DCMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT=1";
meta = {
homepage = https://bitbucket.org/olegoandreev/purple-vk-plugin;
description = "Vk (russian social network) plugin for Pidgin / libpurple";
license = stdenv.lib.licenses.gpl3;
};
}

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, makeWrapper, zlib, glib, libpng, freetype, xorg
, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, libpulseaudio ? null
, libredirect, quazip, less, which
{ stdenv, fetchurl, makeWrapper, makeDesktopItem, zlib, glib, libpng, freetype
, xorg, fontconfig, xlibs, qt5, xkeyboard_config, alsaLib, libpulseaudio ? null
, libredirect, quazip, less, which, unzip
}:
let
@ -15,6 +15,16 @@ let
xlibs.libxcb fontconfig xorg.libXext xorg.libX11 alsaLib qt5.base libpulseaudio
];
desktopItem = makeDesktopItem {
name = "teamspeak";
exec = "ts3client";
icon = "teamspeak";
comment = "The TeamSpeak voice communication tool";
desktopName = "TeamSpeak";
genericName = "TeamSpeak";
categories = "Network";
};
in
stdenv.mkDerivation rec {
@ -33,7 +43,13 @@ stdenv.mkDerivation rec {
else "1b3nbvfpd8lx3dig8z5yk6zjkbmsy6y938dhj1f562wc8adixciz";
};
buildInputs = [ makeWrapper less which ];
# grab the plugin sdk for the desktop icon
pluginsdk = fetchurl {
url = "http://dl.4players.de/ts/client/pluginsdk/pluginsdk_3.0.16.zip";
sha256 = "1qpqpj3r21wff3ly9ail4l6b57pcqycsh2hca926j14sdlvpv7kl";
};
buildInputs = [ makeWrapper less which unzip ];
unpackPhase =
''
@ -62,6 +78,12 @@ stdenv.mkDerivation rec {
mkdir -p $out/lib/teamspeak
mv * $out/lib/teamspeak/
# Make a desktop item
mkdir -p $out/share/applications/ $out/share/icons/
unzip ${pluginsdk}
cp pluginsdk/docs/client_html/images/logo.png $out/share/icons/teamspeak.png
cp ${desktopItem}/share/applications/* $out/share/applications/
# Make a symlink to the binary from bin.
mkdir -p $out/bin/
ln -s $out/lib/teamspeak/ts3client $out/bin/ts3client

View File

@ -0,0 +1,18 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "sic-${version}";
version = "1.2";
makeFlags = "PREFIX=$out";
src = fetchurl {
url = "http://dl.suckless.org/tools/sic-${version}.tar.gz";
sha256 = "ac07f905995e13ba2c43912d7a035fbbe78a628d7ba1c256f4ca1372fb565185";
};
meta = {
description = "Simple IRC client";
homepage = http://tools.suckless.org/sic/;
license = stdenv.lib.licenses.mit;
};
}

View File

@ -16,14 +16,14 @@ assert saslSupport -> cyrus_sasl != null;
assert gpgmeSupport -> gpgme != null;
let
version = "1.5.23.1-rc1";
version = "1.5.23.1";
in
stdenv.mkDerivation rec {
name = "mutt-kz-${version}";
src = fetchurl {
url = "https://github.com/karelzak/mutt-kz/archive/v${version}.tar.gz";
sha256 = "1m4bnn8psyrx2wy8ribannmp5qf75lv1gz116plji2z37z015zny";
sha256 = "01k4hrf8x2100pcqnrm61mm1x0pqi2kr3rx22k5hwvbs1wh8zyhz";
};
buildInputs = with stdenv.lib;

View File

@ -0,0 +1,43 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "lp_solve-${version}";
version = "5.5.2.0";
src = fetchurl {
url = "http://sourceforge.net/projects/lpsolve/files/lpsolve/${version}/lp_solve_${version}_source.tar.gz";
sha256 = "176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq";
};
buildCommand = ''
. $stdenv/setup
tar xvfz $src
(
cd lp_solve*/lpsolve55
bash ccc
mkdir -pv $out/lib
cp -v bin/*/* $out/lib
)
(
cd lp_solve*/lp_solve
bash ccc
mkdir -pv $out/bin
cp -v bin/*/* $out/bin
)
(
mkdir -pv $out/include
cp -v lp_solve*/*.h $out/include
)
'';
meta = with stdenv.lib; {
description = "lp_solve is a Mixed Integer Linear Programming (MILP) solver.";
homepage = "http://lpsolve.sourceforge.net";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ smironov ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,50 @@
{stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake,
hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkit, which,
lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison,
doxygen, boost, openscenegraph, gnome, pangox_compat, xlibs, git, bash, gtk, makeWrapper }:
let
fakegit = import ./fakegit.nix {inherit stdenv fetchgit fetchsvn bash;} ;
in
stdenv.mkDerivation {
name = "openmodelica";
src = fetchgit (import ./src-main.nix);
buildInputs = [autoconf cmake automake libtool gfortran clang gnumake
hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkit which
lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison
doxygen boost openscenegraph gnome.gtkglext pangox_compat xlibs.libXmu
git gtk makeWrapper];
patchPhase = ''
cp -fv ${fakegit}/bin/checkout-git.sh libraries/checkout-git.sh
cp -fv ${fakegit}/bin/checkout-svn.sh libraries/checkout-svn.sh
'';
configurePhase = ''
autoconf
./configure CC=${clang}/bin/clang CXX=${clang}/bin/clang++ --prefix=$out
'';
postFixup = ''
for e in $(cd $out/bin && ls); do
wrapProgram $out/bin/$e \
--prefix PATH : "${gnumake}/bin" \
--prefix LIBRARY_PATH : "${liblapack}/lib:${blas}/lib"
done
'';
meta = with stdenv.lib; {
description = "OpenModelica is an open-source Modelica-based modeling and simulation environment";
homepage = "https://openmodelica.org";
license = licenses.gpl3;
maintainers = with maintainers; [ smironov ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,81 @@
{stdenv, fetchgit, fetchsvn, bash } :
let
mkscript = path : text : ''
mkdir -pv `dirname ${path}`
cat > ${path} <<"EOF"
#!${bash}/bin/bash
ME=`basename ${path}`
${text}
EOF
sed -i "s@%out@$out@g" ${path}
chmod +x ${path}
'';
hashname = r: let
rpl = stdenv.lib.replaceChars [":" "/"] ["_" "_"];
in
(rpl r.url) + "-" + (rpl r.rev);
in
stdenv.mkDerivation {
name = "fakegit";
buildCommand = ''
mkdir -pv $out/repos
${stdenv.lib.concatMapStrings
(r : ''
cp -r ${fetchgit r} $out/repos/${hashname r}
''
) (import ./src-libs-git.nix)
}
${mkscript "$out/bin/checkout-git.sh" ''
if test "$#" -ne 4; then
echo "Usage: $0 DESTINATION URL GITBRANCH HASH"
exit 1
fi
DEST=$1
URL=`echo $2 | tr :/ __`
GITBRANCH=$3
REVISION=$4
L=`echo $REVISION | wc -c`
if expr $L '<' 10 >/dev/null; then
REVISION=refs/tags/$REVISION
fi
REVISION=`echo $REVISION | tr :/ __`
rm -rf $DEST
mkdir -pv $DEST
echo "FAKEGIT cp -r %out/repos/$URL-$REVISION $DEST" >&2
cp -r %out/repos/$URL-$REVISION/* $DEST
chmod u+w -R $DEST
''}
${stdenv.lib.concatMapStrings
(r : ''
cp -r ${fetchsvn r} $out/repos/${hashname r}
''
) (import ./src-libs-svn.nix)
}
${mkscript "$out/bin/checkout-svn.sh" ''
if test "$#" -ne 3; then
echo "Usage: $0 DESTINATION URL REVISION"
exit 1
fi
DEST=$1
URL=`echo $2 | tr :/ __`
REVISION=`echo $4 | tr :/ __`
rm -rf $DEST
mkdir -pv $DEST
echo "FAKE COPY %out/repos/$URL-$REVISION $DEST"
cp -r %out/repos/$URL-$REVISION/* $DEST
chmod u+w -R $DEST
''}
'';
}

View File

@ -0,0 +1,71 @@
[
{ url = "https://github.com/modelica-3rdparty/ADGenKinetics.git"; rev = "42428db6e84bcde28543a3bba9bccee581309bb1"; sha256="14l005jwj1wz35gq8xlbzfz0bpsx99rs4q3dxkfh76yhnv1jh9h3"; }
{ url = "https://github.com/modelica-3rdparty/ADMSL.git"; rev = "ed0305603f86b46d9af03e7d37dcb8b6704915b4"; sha256="15b0nqxyh8444az56ydjn594jikdl1ina5wamabk3nzm1yx218cl"; }
{ url = "https://github.com/iea-annex60/modelica-annex60.git"; rev = "8015a01591bb24d219f57e7b69cdfcde66e39b47"; sha256="05k4pa007a6p628fq1xac0cfv8g8dnpy2bgy8h99rqpmlaa072z7"; }
{ url = "https://github.com/OpenModelica/BioChem.git"; rev = "b5f3cb999f3cfad2bbb6fb429b496f61ecf2f628"; sha256="1l52dg888vwx4668spn59hqvfkpl9g06g8n2cdxiap7lvsyh6w9x"; }
{ url = "https://github.com/modelica-3rdparty/BondGraph.git"; rev = "20c23e60d12989bd4668ccac47659d82d39d29cc"; sha256="1i9cmiy1ya04h2ld0gy0x2gvdrfksl66fmcrgdm1vpsnbb6pviv9"; }
{ url = "https://github.com/modelica-3rdparty/BondLib.git"; rev = "df7a40fe612617da22e27d39edfa4b27d65f23d0"; sha256="005djwxd568zyk3ndss9hv165dci9x0dgjmcdjhnqmsap3w83hlz"; }
{ url = "https://github.com/modelica-3rdparty/BrineProp.git"; rev = "fed013cdeec0fb9552964376b575a8e3635539ab"; sha256="020hm2q65d5iv3h8b3lhgl6j930vi2pbh4lvxv3b3k7i9z02q43a"; }
{ url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "ef89361cc8673b077b9221efbf78aa63b4d7babd"; sha256="04gclknhl2f5z7w9fsbhwawisd0ibmvwpplx0siqwzvjx7nsmdg4"; }
{ url = "https://github.com/lbl-srg/modelica-buildings.git"; rev = "444aa231f423b8d04225bf8672e3212d089fbfe4"; sha256="0q754mlkwqj0jcqsmxksvcz4ak2i86f9s41fhffh5jvra27cvq01"; }
{ url = "https://github.com/modelica-3rdparty/Chemical.git"; rev = "aa2642608e587ddb6897e8c3ffabb3aa099510bd"; sha256="0y46spcb6rw0jpj4v20nlw8xlvi5kypij46f1msvwgr7dfgy4gl4"; }
{ url = "https://github.com/modelica-3rdparty/ComplexLib.git"; rev = "0b78942ee4fa95ae71347a0d552dd869fdf4c708"; sha256="18llf5ccrq3b0f4cjznfycskwf78pik8370xv45w9gb51gamszrn"; }
{ url = "https://github.com/lochel/ConPNlib.git"; rev = "bbf6e9711665d55e5a8cf2f7235fa013c2315104"; sha256="0g3ll44sn2ff14qxwdyakw9h5b8b7vzabxp8cb8km16wcdqzgcxx"; }
{ url = "https://github.com/modelica-3rdparty/DESLib.git"; rev = "7a473d8d16b118c3ea05761c6f43b17fd9838e4e"; sha256="19f2121n8rdc9svcjk8irivsd9wqcb9ai9jx72s2r85fkbvm8jc3"; }
{ url = "https://github.com/modelica-3rdparty/ExtendedPetriNets.git"; rev = "2f4eac0651c1ab0ed56b75ec61424e0ef15181d3"; sha256="0wwj756pg33qwb90ycbfkrk5xsiwsbrqvq3i16i4pisi21vl6jk9"; }
{ url = "https://github.com/modelica-3rdparty/ExternData.git"; rev = "396164fa708cc7c7e64da55ac0b3cba23939f790"; sha256="09052qmv91a9wawsl93b5b3q47awrxhnsbb9mrv39kpnwygfh7dq"; }
{ url = "https://github.com/modelica/ExternalMedia.git"; rev = "1b77869b31dc3509defeccb1236db4b05d2f6f5b"; sha256="05sszn4bn8r78syydyjq8csn9xv4az56mm9lrarqykqdh78pvlqp"; }
{ url = "https://github.com/kdavies4/FCSys.git"; rev = "cb4b17f34313b9d8f2d4223d5365684b4dc1ab65"; sha256="114p7ja6b3fwlkvkkjhbx78fxc7v4af2sbs783hkdga86m1v4ib6"; }
{ url = "https://github.com/modelica-3rdparty/FastBuildings.git"; rev = "1f5cfebc2f42c13e272bff639ffa3449d5740bf7"; sha256="0sry1n2pliddz0pjv8dp899fx98f16n1arc8zvq36k5grvi52fby"; }
{ url = "https://github.com/modelica-3rdparty/FaultTriggering.git"; rev = "10c226b7e5b2af901b356ac437c90d6616a6e9a4"; sha256="0a9j18qjwigq11nghl97syxa9bscs1aj6vwpkldh50csnj5h6g2s"; }
{ url = "https://github.com/modelica-3rdparty/FuzzyControl.git"; rev = "19ff67ff129a440482cc85f216f287b05ea6ec0d"; sha256="0ijcqns7pijsavijn4wlrdsz64k5ks626sly7r28wvrk9af2m2cx"; }
{ url = "https://github.com/modelica-3rdparty/HelmholtzMedia.git"; rev = "e54fcd0e436d65c85de6c6b935983e363cdc9f6c"; sha256="05afh0379fx4mjjn7jb8j5p4am6qi62hjxvasb38b6fcp9rnysn4"; }
{ url = "https://github.com/modelica-3rdparty/IdealizedContact.git"; rev = "8ebac550d913f6d2b3af4d1aea5044e72c7eb6b0"; sha256="03gh2a7hf44clshwkiyz786w847hmyr3bicdqd9969fbirgcqn6m"; }
{ url = "https://github.com/modelica-3rdparty/IndustrialControlSystems.git"; rev = "6a2414307d5998c6d081efe803c2b575a532b3ba"; sha256="09la9h07x8bkh7zhrwykgj1467qdryjvxhvnnm8qvsim0dl9inc4"; }
{ url = "https://github.com/modelica-3rdparty/LinearMPC.git"; rev = "1e91a5dcaa662cd30c5b09a9d0267289703f933b"; sha256="12094fqmwi65h0mc65b96krbj6b8dgn6jiww3fnv6khglb21kwvd"; }
{ url = "https://github.com/modelica/Modelica.git"; rev = "refs/tags/v1.6"; sha256="106w83ylgbxf63wr7p9z5q8vqz2qcsaw0zwaad7d3saq6rdbj30c"; }
{ url = "https://github.com/modelica/Modelica.git"; rev = "d442bcd461b8db9873e33b6141bdbd37bcff9de8"; sha256="1icnd0fxix5khnsvdhy7kmzn6lnqkggbvfrbln98a2h5zqd6s32w"; }
{ url = "https://github.com/modelica/Modelica.git"; rev = "af2a3e1597d648d6826665c89cf9eaf5c2a632bc"; sha256="0ryk0iwakdazhsjqvan41w6f9bvgl329zkqchcdg6nkidiigziwh"; }
{ url = "https://github.com/modelica/Modelica.git"; rev = "48943d87db45a6c312b5a5789d384acde44a934b"; sha256="1hi2vkpmx734baa9m1lqzallcykhh3snd68r387gndiv96f6zx3n"; }
{ url = "https://github.com/modelica/Modelica.git"; rev = "164af873cc5955c50f9592a7d2f3c155f703849c"; sha256="071svqwd72sy85sngbg5r22ab693c0gw2xx29gk1sqrk2nchmvia"; }
{ url = "https://github.com/OpenModelica/modelica3d.git"; rev = "daf5669b03ad33fc6999671d1c0e7521134a282b"; sha256="1scs6v2cp2r4jz4diszwbqf9kvzf49pid50dmpsz0gfhx06j9y2v"; }
{ url = "https://github.com/modelica-deprecated/ModelicaAdditions.git"; rev = "568db43766186826b880f9d4bfafeff25cc2c4ab"; sha256="1py5i3afxdvz1dmxxwb2mqj8kyzdhg4jnnqwl8h50akizg4i49pl"; }
{ url = "https://github.com/xogeny/ModelicaBook.git"; rev = "0e670cfae4db653bd34ea777d6b56423e9be2c9f"; sha256="0lxh08w6nii4p5yk7c0xmfi5y4xkjkzz4hirr3kqdhdfybcwq824"; }
{ url = "https://github.com/modelica-compliance/compliance.git"; rev = "ca5092c14bb7af4507a10700ee49181a3a3ee199"; sha256="12ja6dhwlbq412kxjdviypgchipxpsg8l0sf6r17g6lbsi19i2b6"; }
{ url = "https://github.com/modelica-3rdparty/ModelicaDEVS.git"; rev = "a987aa9552fbbe71b2ee2e8c28958f9d213087ae"; sha256="0qcw7vw28xadim0h8kr2km09d8vdj05ibdpzcnpny9n43pm9s5hx"; }
{ url = "https://github.com/modelica/Modelica_DeviceDrivers.git"; rev = "db912ba7e1317b8f6a776ccf9a19f69c77a9c477"; sha256="052h2lr7xgfag5fks19wbldqmb985kxlc5fzysl7c9w3fnijp0ml"; }
{ url = "https://github.com/modelica/Modelica_EnergyStorages.git"; rev = "9f057365232364e31a31a8e525f96284b98c7de3"; sha256="195m5b3z8qgg9kih9zsdx1h8zgrm37q63890r59akka05a97j48h"; }
{ url = "https://github.com/modelica/Modelica_LinearSystems2.git"; rev = "18916fdc485285baab12481701b53d4eb606a3f1"; sha256="0fhvdwcgk8q3z1a98l2bxv8a6dysrs4ll6xfyzpni7yq8gp4mg4q"; }
{ url = "https://github.com/modelica/Modelica_Synchronous.git"; rev = "d0f5ee57bc7b639738e88026674a87343b33dbe1"; sha256="0l75v4d0fgf07ify0h3skh4y9pfw9gxh9hbj1lbsdgglmzlrcvbg"; }
{ url = "https://github.com/modelica-3rdparty/MotorcycleDynamics.git"; rev = "2be2667f9936d88ffb9b8a8246c5af9ccb0b307f"; sha256="0jazwmpqpyhhgs9qdn9drmplgp2yjs0ky7wll5x9929dkgy80m6x"; }
{ url = "https://github.com/modelica-3rdparty/NCLib.git"; rev = "ed3d72f176ac6b7031ce73be9d80101141e74a69"; sha256="1pbpv8w1lsa9vdwp7qbih8iim91ms22b01wz376b548d0x2r95la"; }
{ url = "https://github.com/modelica-3rdparty/NeuralNetwork.git"; rev = "c44e4d1fe97fd4f86dafcd05ad3713692e3f1806"; sha256="0s1v8k71zq1s9gjlvi3zr23nwfknp4x17cxm64a0y3vsi3kahj2s"; }
{ url = "https://github.com/DLR-SR/Noise.git"; rev = "9b57476845539e56769cf76ea0fe7bf3c7eb5d11"; sha256="0icrb63f6dm4gww2nyby9i7s7qxvhvialp36xzcgmi7nlq7crjr2"; }
{ url = "https://github.com/modelica-3rdparty/ObjectStab.git"; rev = "2a723e0b223af50f4ffdd62f8ac901e0f87b9323"; sha256="1b6zi27slzzfbkmbcqxygsn5i5w0zkq0hfrfb72vf7mbgz07j19j"; }
{ url = "https://github.com/cparedis/OpenHydraulics.git"; rev = "d3173d1f06f7d14c9d7c41769f143617ff03a3ad"; sha256="1hn5rcnmzcbiaqdnxfn02wddmrpj9bcdi9p680f31hbh3vb0i3r6"; }
{ url = "https://github.com/lochel/PNlib.git"; rev = "44c7d277980b7a88b449b72edec0a56416b40fa9"; sha256="026wdhbxnzarmj8gw0as70vj8f1gwc51z38hjqpswxkl0xd6mfvp"; }
{ url = "https://github.com/MarekMatejak/Physiolibrary.git"; rev = "49d59060f6e5b4cb68560c6d7467e84ea4318056"; sha256="0klqs2axjm3s780sq4plq4wmbf9mszz2jmq9fprgxy9pw7iszbhc"; }
{ url = "https://github.com/dzimmer/PlanarMechanics.git"; rev = "d998a1b27355e83d2ff4849d71281a919a3234aa"; sha256="0vyq6mninn38wy2d60rk753xbkfqim2y6y31py7kq2mm170jfqf4"; }
{ url = "https://github.com/modelica/PowerSystems.git"; rev = "7b551888089277a0dd979db636d47aba0279e8f0"; sha256="0y13f1nllc7riksnly25wmmp6mc30c1b48dbq2lr1nag6yg3blwm"; }
{ url = "https://github.com/modelica/PowerSystems.git"; rev = "3abd48aa53bbcd3f3e2ddfa2371680febf8baf48"; sha256="1nr2nbpaxywk8cpwnk9rr2zr87mm2gb9b4plqipjdlrrkjlk9fka"; }
{ url = "https://github.com/modelica-3rdparty/PraxisSimulationstechnik.git"; rev = "f7db177786f84033f3a50b7474988b190a1dfb46"; sha256="08bdm7k7w35kg9gkrvcn382zkwf5h3iwkkx60d5fj64j5d5klray"; }
{ url = "https://github.com/modelica-3rdparty/QCalc.git"; rev = "af6c34dda691a9bdf7ca1de10650974b2d5cecf5"; sha256="0p0zhl27cnr492byrzib0dyn7zp5yb7wcr0spv10ngm6j90cij6y"; }
{ url = "https://github.com/modelica-3rdparty/QSSFluidFlow.git"; rev = "d84a2c107132f2cd47ea3c3751238d69e4b1f64b"; sha256="02cdvv33pi0qlmg8n401s4cxf59l9b4ff4ixf7gwn4w4n1y9bw0g"; }
{ url = "https://github.com/modelica-3rdparty/RealTimeCoordinationLibrary.git"; rev = "655ac1a22aa6deb04ea8e3869dd0aa9fb9540754"; sha256="19crf8pl9vpqq3pq1rhcbl49kkmnm4jrzpwrpqp8qc6dj8096za4"; }
{ url = "https://github.com/modelica-3rdparty/ScalableTestSuite.git"; rev = "c6319908d45ac97ffb10e96cd42654bce36ffb97"; sha256="1g79d88bfmzcqvaghyyj86ajs38v0qnmjxbj8d53yp6nmgnaasx5"; }
{ url = "https://github.com/modelica-3rdparty/Servomechanisms.git"; rev = "22e1874ef9ad46156617817c67a4fb1238621bf5"; sha256="0nwb7apayk7ba9iv27yv67wi4b934dy57kkvn0acxy393jhd8jqd"; }
{ url = "https://openmodelica.org/git/SiemensPower.git"; rev = "73a3bfc6d2ddd72165bb0f3e7e9df48b643a5ed0"; sha256="0mvrkpkmr0bx2cvsb23syg7cs8k6a15vjf4n1hivdcigq4x8g2nc"; }
{ url = "https://openmodelica.org/git/SiemensPower.git"; rev = "5ef2e38b64ff481801c0db19d52f0bef21f85f77"; sha256="1llnpl2x1g28gari1rk34hdnnwf7a4fwwxlf7i18d8bl1vsrfaja"; }
{ url = "https://openmodelica.org/git/SiemensPower.git"; rev = "2bd9e367baaa8d44946897c3c3a32a4050ad2a2a"; sha256="1shm9blpn9m87ci6wwkinpmihr1fik9j0a0pj2nxy0cjrr2jzbn4"; }
{ url = "https://github.com/modelica-3rdparty/Spot.git"; rev = "2f74417f1681570900a1ed373dcbe4b42634ec7b"; sha256="0k5h2k6x98zvvsafpw7y16xs9d6lxz0csa0mlm4wwggaywadn255"; }
{ url = "https://github.com/modelica-3rdparty/SystemDynamics.git"; rev = "c58a26dc3e62a50e64fd336dc4aa499b2d5ad314"; sha256="0ra3a2vgqmry92kmm060gfa41mrpkgbs4swzl78ih3icawfzjz8q"; }
{ url = "https://github.com/modelica-3rdparty/ThermoPower.git"; rev = "e012268625dd1645fe5570cf31d64129d83a8192"; sha256="1rlkli48kc9hnkplgb0bjkb6ajn7agiw4yh9l5sfvlv7k7k2gc8l"; }
{ url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "d4f9c3ed35f7520f82439eb6e9f4057ae0f82b73"; sha256="0hxbn26g479qkr6rrglx9ljdxnpzd5ll1sf2v08skghrdjjb8jcx"; }
{ url = "https://openmodelica.org/git/ThermoSysPro.git"; rev = "51e7ea2d2e121ee640e7897335c294923f8eaeb0"; sha256="0l11mzjkaxndsqrnnr0z7qvk08svv229119qkm81yb53ich9wnyw"; }
{ url = "https://github.com/modelica/VehicleInterfaces.git"; rev = "ad956a35643d53e207ee126d67ea1f3f38337a39"; sha256="0g90cqwjpi06gn7vca5kqnz56im76s2hrdqjhsj2bl43rza8mhr0"; }
{ url = "https://github.com/modelica-3rdparty/WasteWater.git"; rev = "90ff44ac791ba5ed98444c8597efbd2a2af01cad"; sha256="1icrn0y389rhxmf6i0mnsfgw9v9j5innpkz3q069rfm2ji268b12"; }
{ url = "https://github.com/xogeny/XogenyTest.git"; rev = "9b98981e8ff0f440dd319d1a806e1fd2f0ab3436"; sha256="18glaxrlxfml26w7ljlf0yj3ah1fnhpbg01py28nplsgnrfwfwqj"; }
{ url = "https://github.com/modelica-3rdparty/msgpack-modelica.git"; rev = "6ce2ca600c4902038c0f20b43ed442f1ee204310"; sha256="01x5a9y11yf62sc0j2y49yxwm24imj2lfl3z5mwvi9038gwn0lkx"; }
{ url = "https://github.com/modelica-3rdparty/netCDF-DataReader.git"; rev = "3d2cc8272abfbc4b667d8868f851bf3e11c6f00e"; sha256="194810a4rn0flxgirrlnxsbxarnm97309dkp1w7nva9zv1q3wj7h"; }
{ url = "https://github.com/joewa/open-bldc-modelica.git"; rev = "7817cd703b88fc1f433269d32c31e75eb50a21c6"; sha256="1plkxkx51f9yi99ysarmx2ymldizvyr0m66k996y5lj5h81jv8a8"; }
]

View File

@ -0,0 +1,5 @@
[
{ url = "https://svn.modelica.org/projects/Modelica_ElectricalSystems/InstantaneousSymmetricalComponents"; rev = "7978"; sha256="0f100c7bz4ai3ryhpkbbszw8z6mykvg40p03ic92n2qq58wjk37z"; }
{ url = "https://svn.modelica.org/projects/Modelica_EmbeddedSystems/trunk/Modelica_StateGraph2"; rev = "8121"; sha256="1cys57nc1yzkr5admc139qs5pa48rj3g69pb3j3s9xcmpd483hzp"; }
{ url = "https://svn.modelica.org/projects/Modelica_ElectricalSystems/Modelica_PowerFlow/trunk"; rev = "3174"; sha256="0yviw1b8psn8vfyl4q1naylak3lcqi2q1bqplqg3gg9iw4aiymxl"; }
]

View File

@ -0,0 +1,6 @@
{
url = "https://openmodelica.org/git-readonly/OpenModelica.git";
fetchSubmodules = true;
rev = "8c5d48eb31a638d5220621b20377bfe6f9e9535e";
sha256 = "15r0qpvnsb9a7nw3bh5n9r770ngd7p5py0ld2jy5mc4llaslkpa5";
}

View File

@ -0,0 +1,64 @@
#!/bin/sh
CWD=`pwd`
chko() { (
T=`mktemp -d`
trap "rm -rf $T" EXIT INT PIPE
cd $T
cat >check.nix <<EOF
with import <nixpkgs> {};
fetchgit `cat $CWD/src-main.nix`
EOF
nix-build check.nix
cat result/libraries/Makefile.libs
) }
getsha256() { (
T=`mktemp -d`
trap "rm -rf $T" EXIT INT PIPE
cd $T
L=`echo $2 | wc -c`
if expr $L '<' 10 >/dev/null; then
T=`echo $2 | sed 's@"\(.*\)"@"refs/tags/\1"@'`
cat >check.nix <<EOF
with import <nixpkgs> {};
fetchgit {
url = $1;
rev = $T;
sha256 = "0000000000000000000000000000000000000000000000000000";
}
EOF
SHA=`nix-build check.nix 2>&1 | sed -n 's/.*instead has \(.*\).*/\1/g p'`
echo "{ url = $1; rev = $T; sha256=\"$SHA\"; }"
else
cat >check.nix <<EOF
with import <nixpkgs> {};
fetchgit {
url = $1;
rev = $2;
sha256 = "0000000000000000000000000000000000000000000000000000";
}
EOF
SHA=`nix-build check.nix 2>&1 | sed -n 's/.*instead has \(.*\).*/\1/g p'`
echo "{ url = $1; rev = $2; sha256=\"$SHA\"; }"
fi
# nix-build check.nix
) }
OUT=src-libs-git.nix
echo '[' > $OUT
chko |
grep checkout-git.sh |
tr \' \" |
while read NM TGT URL BR REV ; do
echo Trying $TGT $URL $REV >&2
getsha256 $URL $REV >> $OUT || exit 1
done
echo ']' >> $OUT

View File

@ -0,0 +1,50 @@
#!/bin/sh
CWD=`pwd`
chko() { (
T=`mktemp -d`
trap "rm -rf $T" EXIT INT PIPE
cd $T
cat >check.nix <<EOF
with import <nixpkgs> {};
fetchgit `cat $CWD/src-main.nix`
EOF
nix-build check.nix
cat result/libraries/Makefile.libs
) }
getsha256() { (
T=`mktemp -d`
trap "rm -rf $T" EXIT INT PIPE
cd $T
L=`echo $2 | wc -c`
cat >check.nix <<EOF
with import <nixpkgs> {};
fetchsvn {
url = $1;
rev = $2;
sha256 = "0000000000000000000000000000000000000000000000000000";
}
EOF
SHA=`nix-build check.nix 2>&1 | sed -n 's/.*instead has \(.*\).*/\1/g p'`
echo "{ url = $1; rev = $2; sha256=\"$SHA\"; }"
# nix-build check.nix
) }
OUT=src-libs-svn.nix
echo '[' > $OUT
chko |
grep checkout-svn.sh |
tr \' \" |
while read NM TGT URL REV ; do
echo Trying $TGT $URL $REV >&2
getsha256 $URL $REV >> $OUT || exit 1
done
echo ']' >> $OUT

View File

@ -1,12 +1,11 @@
{ stdenv, fetchurl, itstool, buildPythonPackage, python27, intltool, makeWrapper
, libxml2, pygobject3, gobjectIntrospection, gtk3, gnome3, pycairo, cairo
, hicolor_icon_theme
}:
let
minor = "3.12";
version = "${minor}.3";
minor = "3.14";
version = "${minor}.0";
in
buildPythonPackage rec {
@ -15,13 +14,13 @@ buildPythonPackage rec {
src = fetchurl {
url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
sha256 = "1zg6qhm53j0vxmjj3pcj2hwi8c12dxzmlh98zks0jnwhqv2p4dfv";
sha256 = "0g0h9wdr6nqdalqkz4r037569apw253cklwr17x0zjc7nwv2j3j3";
};
buildInputs = [
python27 intltool makeWrapper itstool libxml2
gnome3.gtksourceview gnome3.gsettings_desktop_schemas pycairo cairo
hicolor_icon_theme
gnome3.defaultIconTheme
];
propagatedBuildInputs = [ gobjectIntrospection pygobject3 gtk3 ];
@ -41,18 +40,19 @@ buildPythonPackage rec {
preFixup = ''
wrapProgram $out/bin/meld \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" \
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
'';
patchPhase = ''
sed -e 's,#!.*,#!${python27}/bin/python27,' -i bin/meld
patchShebangs bin/meld
'';
pythonPath = [ gtk3 ];
meta = with stdenv.lib; {
description = "Visual diff and merge tool";
homepage = http://meld.sourceforge.net;
homepage = http://meldmerge.org/;
license = stdenv.lib.licenses.gpl2;
platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
};

View File

@ -1,40 +1,44 @@
{ stdenv, fetchurl, perl, perlPackages }:
{ stdenv, fetchurl, makeWrapper, perl, perlPackages }:
stdenv.mkDerivation rec {
version = "1.9";
let version = "2.0"; in
stdenv.mkDerivation {
name = "remotebox-${version}";
src = fetchurl {
url = "${meta.homepage}/downloads/RemoteBox-${version}.tar.bz2";
sha256 = "0vsfz2qmha9nz60fyksgqqyrw4lz9z2d5isnwqc6afn8z3i1qmkp";
url = "http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-${version}.tar.bz2";
sha256 = "0c73i53wdjd2m2sdgq3r3xp30irxh5z5rak2rk79yb686s6bv759";
};
buildInputs = [ perl perlPackages.Gtk2 perlPackages.SOAPLite ];
buildInputs = with perlPackages; [ perl Glib Gtk2 Pango SOAPLite ];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
cp -a docs/ share/ $out
mkdir -pv $out/bin
substituteInPlace remotebox --replace "\$Bin/" "\$Bin/../"
install -t $out/bin remotebox
install -v -t $out/bin remotebox
wrapProgram $out/bin/remotebox --prefix PERL5LIB : $PERL5LIB
mkdir -p $out/share/applications
cp -p packagers-readme/*.desktop $out/share/applications
cp -av docs/ share/ $out
mkdir -pv $out/share/applications
cp -pv packagers-readme/*.desktop $out/share/applications
'';
meta = with stdenv.lib; {
inherit version;
description = "VirtualBox client with remote management";
homepage = http://remotebox.knobgoblin.org.uk/;
license = licenses.gpl2Plus;
longDescription = ''
VirtualBox is traditionally considered to be a virtualization solution
aimed at the desktop. While it is certainly possible to install
aimed at the desktop. While it is certainly possible to install
VirtualBox on a server, it offers few remote management features beyond
using the vboxmanage command line.
RemoteBox aims to fill this gap by providing a graphical VirtualBox
client which is able to manage a VirtualBox server installation.
'';
maintainers = with maintainers; [ nckx ];
platforms = with platforms; all;
platforms = platforms.all;
};
}

View File

@ -98,7 +98,10 @@ in stdenv.mkDerivation {
src/apps/adpctl/VBoxNetAdpCtl.cpp
'';
# first line: ugly hack, and it isn't yet clear why it's a problem
configurePhase = ''
NIX_CFLAGS_COMPILE=$(echo "$NIX_CFLAGS_COMPILE" | sed 's,\-isystem ${stdenv.cc.libc}/include,,g')
cat >> LocalConfig.kmk <<LOCAL_CONFIG
VBOX_WITH_TESTCASES :=
VBOX_WITH_TESTSUITE :=

View File

@ -50,6 +50,9 @@ stdenv.mkDerivation rec {
--prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages"
'';
# automatic moving fails, perhaps due to having two $out/lib*/pkgconfig
dontMoveLib64 = true;
meta = {
description = "Compoziting window manager";
homepage = "http://launchpad.net/compiz/";

View File

@ -44,7 +44,7 @@ in stdenv.mkDerivation (args // {
export CARGO_HOME="$(realpath deps)"
# Let's find out which $indexHash cargo uses for file:///dev/null
(cd $sourceRoot && cargo fetch &>/dev/null)
(cd $sourceRoot && cargo fetch &>/dev/null) || true
cd deps
indexHash="$(basename $(echo registry/index/*))"

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl }:
let version = "4.00"; in
let version = "4.01"; in
stdenv.mkDerivation rec {
name = "man-pages-${version}";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
sha256 = "18zb1g12s15sanffh0sykmmyx0j176pp7q1xxs0gk0imgvmn8hj4";
sha256 = "116jp2rnsdlnb3cwnbfp0g053frcmchndwyrj714swl1lgabb56i";
};
makeFlags = "MANDIR=$(out)/share/man";

View File

@ -30,13 +30,11 @@ stdenv.mkDerivation rec {
ln -s ${unicodeData} resources/UnicodeData.txt
ln -s ${blocks} resources/Blocks.txt
'';
installPhase = ''
installPhase = ''
mkdir -p $out/share/fonts/truetype
for i in $(find build -name '*.ttf'); do
cp $i $out/share/fonts/truetype;
for i in $(find build -name '*.ttf'); do
cp $i $out/share/fonts/truetype;
done;
mkdir -p $out/share/dejavu-fonts
cp -r build/* $out/share/dejavu-fonts
'';
}

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://fortawesome.github.io/Font-Awesome/assets/${name}.zip";
sha256 = "018syfvkj01jym60mpys93xv84ky9l2x90gprnm9npzwkw5169jc";
sha256 = "0wg9q6mq026jjw1bsyj9b5dgba7bb4h7i9xiwgsfckd412xpsbzd";
};
buildCommand = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "pecita-${version}";
version = "1.1";
version = "5.0";
src = fetchurl {
url = "http://pecita.eu/b/Pecita.otf";
sha256 = "07krzpbmc5yhfbf3aklv1f150i2g1spaan9girmg3189jsn6qw6p";
sha256 = "1smf1mqciwavf29lwgzjam3xb37bwxp6wf6na4c9xv6islidsrd9";
};
phases = ["installPhase"];

View File

@ -1,29 +1,35 @@
{ stdenv, fetchurl }:
let
fetchDB = name: sha256: fetchurl {
inherit sha256;
url = "https://geolite.maxmind.com/download/geoip/database/${name}";
fetchDB = src: name: sha256: fetchurl {
inherit name sha256;
url = "https://geolite.maxmind.com/download/geoip/database/${src}";
};
# Annoyingly, these files are updated without a change in URL. This means that
# builds will start failing every month or so, until the hashes are updated.
version = "2015-07-08";
version = "2015-07-25";
in
stdenv.mkDerivation {
name = "geolite-legacy-${version}";
srcGeoIP = fetchDB "GeoLiteCountry/GeoIP.dat.gz"
"0c6jcmlgkybsqiwqwa21igjazf95dj38mn516cqqqfdg7ciaj1d5";
srcGeoIPv6 = fetchDB "GeoIPv6.dat.gz"
"1vi82p41vas18yp17yk236pn1xamsi9662aav79fa0hm43i3ydx3";
srcGeoLiteCity = fetchDB "GeoLiteCity.dat.xz"
srcGeoIP = fetchDB
"GeoLiteCountry/GeoIP.dat.gz" "GeoIP.dat.gz"
"1yacbh8qcakmnpipscdh99vmsm0874g2gkq8gp8hjgkgi0zvcsnz";
srcGeoIPv6 = fetchDB
"GeoIPv6.dat.gz" "GeoIPv6.dat.gz"
"038ll8142svhyffxxrg0isrr16rjbz0cnkhd14mck77f1v8z01y5";
srcGeoLiteCity = fetchDB
"GeoLiteCity.dat.xz" "GeoIPCity.dat.xz"
"0x5ihg7qikzc195nix9r0izvbdnj4hy4rznvaxk56rf8yqcigdyv";
srcGeoLiteCityv6 = fetchDB "GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz"
"0xjzg76vdsayxyy1yyw64w781vad4c9nbhw61slh2qmazdr360g9";
srcGeoIPASNum = fetchDB "asnum/GeoIPASNum.dat.gz"
srcGeoLiteCityv6 = fetchDB
"GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz" "GeoIPCityv6.dat.gz"
"0j5dq06pjrh6d94wczsg6qdys4v164nvp2a7qqrg8w4knh94qp6n";
srcGeoIPASNum = fetchDB
"asnum/GeoIPASNum.dat.gz" "GeoIPASNum.dat.gz"
"18kxswr0b5klimfpj1zhxipvyvrljvcywic4jc1ggcr44lf4hj9w";
srcGeoIPASNumv6 = fetchDB "asnum/GeoIPASNumv6.dat.gz"
srcGeoIPASNumv6 = fetchDB
"asnum/GeoIPASNumv6.dat.gz" "GeoIPASNumv6.dat.gz"
"0asnmmirridiy57zm0kccb7g8h7ndliswfv3yfk7zm7dk98njnxs";
meta = with stdenv.lib; {

View File

@ -20,18 +20,20 @@ let
gtk3 # for gtk-update-icon-cache
glib_networking gvfs dconf gnome-backgrounds gnome_control_center
gnome-menus gnome_settings_daemon gnome_shell
gnome_themes_standard defaultIconTheme
gnome_themes_standard defaultIconTheme gnome-shell-extensions
];
optionalPackages = with gnome3; [ baobab empathy eog epiphany evince
gucharmap nautilus totem vino yelp gnome-bluetooth
gnome-calculator gnome-contacts gnome-font-viewer gnome-screenshot
gnome-shell-extensions gnome-system-log gnome-system-monitor
gnome-system-log gnome-system-monitor
gnome_terminal gnome-user-docs bijiben evolution file-roller gedit
gnome-clocks gnome-music gnome-tweak-tool gnome-photos
nautilus-sendto dconf-editor vinagre
];
gamesPackages = with gnome3; [ swell-foop lightsoff iagno ];
inherit (pkgs) libsoup glib gtk2 webkitgtk24x gtk3 gtkmm3 libcanberra;
inherit (pkgs.gnome2) ORBit2;
orbit = ORBit2;
@ -279,6 +281,14 @@ let
gdl = callPackage ./devtools/gdl { };
#### Games
iagno = callPackage ./games/iagno { };
lightsoff = callPackage ./games/lightsoff { };
swell-foop = callPackage ./games/swell-foop { };
#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/
california = callPackage ./misc/california { };

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, gdk_pixbuf, librsvg, makeWrapper
, intltool, itstool, libcanberra_gtk3, libxml2 }:
stdenv.mkDerivation rec {
name = "iagno-${gnome3.version}.1";
src = fetchurl {
url = "mirror://gnome/sources/iagno/${gnome3.version}/${name}.tar.xz";
sha256 = "0pg4sx277idfab3qxxn8c7r6gpdsdw5br0x7fxhxqascvvx8my1k";
};
buildInputs = [ pkgconfig gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg
libxml2 libcanberra_gtk3 makeWrapper itstool intltool ];
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/iagno" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" \
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Iagno;
description = "Computer version of the game Reversi, more popularly called Othello";
maintainers = with maintainers; [ lethalman ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, gdk_pixbuf, librsvg, makeWrapper
, intltool, itstool, clutter, clutter_gtk, libxml2 }:
stdenv.mkDerivation rec {
name = "lightsoff-${gnome3.version}.1.1";
src = fetchurl {
url = "mirror://gnome/sources/lightsoff/${gnome3.version}/${name}.tar.xz";
sha256 = "00a2jv7wr6fxrzk7avwa0wspz429ad7ri7v95jv31nqn5q73y4c0";
};
buildInputs = [ pkgconfig gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg
libxml2 clutter clutter_gtk makeWrapper itstool intltool ];
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/lightsoff" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" \
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
'';
meta = with stdenv.lib; {
homepage = https://wiki.gnome.org/Apps/Lightsoff;
description = "Puzzle game, where the objective is to turn off all of the tiles on the board";
maintainers = with maintainers; [ lethalman ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, gtk3, gnome3, gdk_pixbuf, librsvg, makeWrapper
, clutter, clutter_gtk, intltool, itstool, libxml2 }:
stdenv.mkDerivation rec {
name = "swell-foop-${gnome3.version}.1";
src = fetchurl {
url = "mirror://gnome/sources/swell-foop/${gnome3.version}/${name}.tar.xz";
sha256 = "0bhjmjcjsqdb89shs0ygi6ps5hb3lk8nhrbjnsjk4clfqbw0jzwf";
};
buildInputs = [ pkgconfig gtk3 gnome3.defaultIconTheme gdk_pixbuf librsvg
makeWrapper itstool intltool clutter clutter_gtk libxml2 ];
enableParallelBuilding = true;
preFixup = ''
wrapProgram "$out/bin/swell-foop" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" \
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
'';
meta = with stdenv.lib; {
homepage = "https://wiki.gnome.org/Apps/Swell%20Foop";
description = "Puzzle game, previously known as Same GNOME";
maintainers = with maintainers; [ lethalman ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -61,7 +61,10 @@ let version = "4.9.3";
# Whether building a cross-compiler for GNU/Hurd.
crossGNU = cross != null && cross.config == "i586-pc-gnu";
enableParallelBuilding = true;
# Builds of gfortran have failed with strange errors that we cannot reproduce
# (http://hydra.nixos.org/build/23951123). Our best guess is that the build
# system has bugs that are exposed by compiling with multiple threads.
enableParallelBuilding = !langFortran;
patches = [ ]
++ optional enableParallelBuilding ../parallel-bconfig.patch

View File

@ -1,9 +1,9 @@
{ stdenv, fetchgit, ocaml, zlib, neko }:
{ stdenv, fetchgit, ocaml, zlib, neko, camlp4 }:
stdenv.mkDerivation {
name = "haxe-3.1.3";
buildInputs = [ocaml zlib neko];
buildInputs = [ocaml zlib neko camlp4];
src = fetchgit {
url = "https://github.com/HaxeFoundation/haxe.git";

View File

@ -1,4 +1,4 @@
{ pkgs, newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }:
{ newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });

View File

@ -1,16 +1,30 @@
{stdenv, fetchurl, ocaml, findlib, menhir, yojson, ulex, pprint, fix, functory}:
{ stdenv, fetchFromGitHub, ocaml, findlib, menhir, yojson, ulex, pprint, fix, functory }:
let
check-ocaml-version = with stdenv.lib; versionAtLeast (getVersion ocaml);
in
assert check-ocaml-version "4";
stdenv.mkDerivation {
name = "mezzo-0.0.m8";
src = fetchurl {
url = https://github.com/protz/mezzo/archive/m8.tar.gz;
sha256 = "17mfapgqp8ssa5x9blv72zg9l561zbiwv3ikwi6nl9dd36lwkkc6";
src = fetchFromGitHub {
owner = "protz";
repo = "mezzo";
rev = "m8";
sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6";
};
buildInputs = [ ocaml findlib yojson menhir ulex pprint fix functory ];
# Sets warning 3 as non-fatal
prePatch = stdenv.lib.optionalString (check-ocaml-version "4.02") ''
substituteInPlace myocamlbuild.pre.ml \
--replace '@1..3' '@1..2+3'
'';
createFindlibDestdir = true;
postInstall = ''

View File

@ -1,21 +1,39 @@
{ fetchurl, stdenv, guile, guile_lib, gwrap
{ fetchgit, stdenv, guile, guile_lib, gwrap
, pkgconfig, gconf, glib, gnome_vfs, gtk
, libglade, libgnome, libgnomecanvas, libgnomeui, pango, guileCairo }:
, libglade, libgnome, libgnomecanvas, libgnomeui
, pango, guileCairo, autoconf, automake, texinfo }:
stdenv.mkDerivation rec {
name = "guile-gnome-platform-2.16.1";
name = "guile-gnome-platform-20150123";
src = fetchurl {
url = "mirror://gnu/guile-gnome/guile-gnome-platform/${name}.tar.gz";
sha256 = "0yy5f4c78jlakxi2bwgh3knc2szw26hg68xikyaza2iim39mc22c";
src = fetchgit {
url = "git://git.sv.gnu.org/guile-gnome.git";
rev = "0fcbe69797b9501b8f1283a78eb92bf43b08d080";
sha256 = "1vqlzb356ggmp8jh833gksg59c53vbmmhycbcf52qj0fdz09mpb5";
};
buildInputs =
[ guile gwrap
pkgconfig gconf glib gnome_vfs gtk libglade libgnome libgnomecanvas
libgnomeui pango guileCairo
]
++ stdenv.lib.optional doCheck guile_lib;
buildInputs = [
autoconf
automake
texinfo
guile
gwrap
pkgconfig
gconf
glib
gnome_vfs
gtk
libglade
libgnome
libgnomecanvas
libgnomeui
pango
guileCairo
] ++ stdenv.lib.optional doCheck guile_lib;
preConfigure = ''
./autogen.sh
'';
# The test suite tries to open an X display, which fails.
doCheck = false;
@ -35,6 +53,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
maintainers = [ stdenv.lib.maintainers.taktoa ];
};
}

View File

@ -221,7 +221,7 @@ self: super: {
});
# Does not compile: "fatal error: ieee-flpt.h: No such file or directory"
base_4_8_0_0 = markBroken super.base_4_8_0_0;
base_4_8_1_0 = markBroken super.base_4_8_1_0;
# Obsolete: https://github.com/massysett/prednote/issues/1.
prednote-test = markBrokenVersion "0.26.0.4" super.prednote-test;
@ -825,6 +825,7 @@ self: super: {
# Won't compile with recent versions of QuickCheck.
testpack = markBroken super.testpack;
inilist = dontCheck super.inilist;
MissingH = dontCheck super.MissingH;
# Obsolete for GHC versions after GHC 6.10.x.
@ -869,6 +870,7 @@ self: super: {
# This package can't be built on non-Windows systems.
Win32 = overrideCabal super.Win32 (drv: { broken = !pkgs.stdenv.isCygwin; });
inline-c-win32 = dontDistribute super.inline-c-win32;
Southpaw = dontDistribute super.Southpaw;
# Doesn't work with recent versions of mtl.
cron-compat = markBroken super.cron-compat;
@ -893,4 +895,5 @@ self: super: {
# https://ghc.haskell.org/trac/ghc/ticket/9825
vimus = overrideCabal super.vimus (drv: { broken = pkgs.stdenv.isLinux && pkgs.stdenv.isi686; });
}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, fontconfig, autoreconfHook
, withJava ? true, jdk ? null, ant ? null
, withJava ? false, jdk ? null, ant ? null
, withAACS ? false, libaacs ? null
, withBDplus ? false, libbdplus ? null
, withMetadata ? true, libxml2 ? null

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, imagemagick }:
{ stdenv, fetchurl, pkgconfig }:
stdenv.mkDerivation rec {
name = "libdmtx-0.7.4";
@ -10,8 +10,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ imagemagick ];
meta = {
description = "An open source software for reading and writing Data Matrix barcodes";
homepage = http://libdmtx.org;

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
name = "libraw-${version}";
version = "0.16.1";
version = "0.16.0";
src = fetchurl {
url = "http://www.libraw.org/data/LibRaw-${version}.tar.gz";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
meta = {
meta = {
description = "Library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)";
homepage = http://www.libraw.org/;
license = stdenv.lib.licenses.gpl2Plus;

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
{ lib, stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
, bzip2, libcroco, libintlOrEmpty
, gtk3 ? null
, withGTK ? false, gtk3 ? null
, gobjectIntrospection ? null, enableIntrospection ? false }:
# no introspection by default, it's too big
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintlOrEmpty ]
++ stdenv.lib.optional enableIntrospection [ gobjectIntrospection ];
propagatedBuildInputs = [ glib gdk_pixbuf cairo gtk3 ];
propagatedBuildInputs = [ glib gdk_pixbuf cairo ] ++ lib.optional withGTK gtk3;
nativeBuildInputs = [ pkgconfig ];

View File

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "libva-1.5.1";
name = "libva-1.6.0";
src = fetchurl {
url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
sha256 = "01d01mm9fgpwzqycmjjcj3in3vvzcibi3f64icsw2sksmmgb4495";
sha256 = "0n1l2mlhsvmsbs3qcphl4p6w13jnbv6s3hil8b6fj43a3afdrn9s";
};
buildInputs = [ libX11 libXext pkgconfig libdrm libXfixes wayland libffi mesa ];

View File

@ -1,13 +1,13 @@
{ fetchurl, stdenv, gmpxx, perl, gnum4 }:
let version = "1.0"; in
let version = "1.1"; in
stdenv.mkDerivation rec {
name = "ppl-${version}";
src = fetchurl {
url = "http://bugseng.com/products/ppl/download/ftp/releases/${version}/ppl-${version}.tar.bz2";
sha256 = "0m0b6dzablci8mlavpsmn5w1v3r46li0wpjwvsybgxx0p1ifjsf1";
sha256 = "1vrqhbpyca6sf984cfcwlp8wdnfzj1g7ph9958qdky9978i1nlny";
};
nativeBuildInputs = [ perl gnum4 ];
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
"--disable-ppl_lcdd" "--disable-ppl_lpsol" "--disable-ppl_pips"
];
patches = [ ./upstream-based.patch ];
patches = [ ./ppl-cstddef.patch /* from Fedora */ ];
# Beware! It took ~6 hours to compile PPL and run its tests on a 1.2 GHz
# x86_64 box. Nevertheless, being a dependency of GCC, it probably ought

View File

@ -0,0 +1,238 @@
diff -up ppl-1.1/src/Dense_Row_defs.hh.orig ppl-1.1/src/Dense_Row_defs.hh
--- ppl-1.1/src/Dense_Row_defs.hh.orig 2014-04-29 13:08:10.516682937 -0300
+++ ppl-1.1/src/Dense_Row_defs.hh 2014-04-29 13:08:50.447684466 -0300
@@ -33,6 +33,7 @@ site: http://bugseng.com/products/ppl/ .
#include <memory>
#include <vector>
#include <limits>
+#include <cstddef>
#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
//! A finite sequence of coefficients.
@@ -433,7 +434,7 @@ public:
typedef std::bidirectional_iterator_tag iterator_category;
typedef Coefficient value_type;
- typedef ptrdiff_t difference_type;
+ typedef std::ptrdiff_t difference_type;
typedef value_type* pointer;
typedef value_type& reference;
@@ -474,7 +475,7 @@ class Parma_Polyhedra_Library::Dense_Row
public:
typedef const Coefficient value_type;
- typedef ptrdiff_t difference_type;
+ typedef std::ptrdiff_t difference_type;
typedef value_type* pointer;
typedef Coefficient_traits::const_reference reference;
diff -up ppl-1.1/src/Linear_Expression_Interface_defs.hh.orig ppl-1.1/src/Linear_Expression_Interface_defs.hh
--- ppl-1.1/src/Linear_Expression_Interface_defs.hh.orig 2014-04-29 13:08:17.337683198 -0300
+++ ppl-1.1/src/Linear_Expression_Interface_defs.hh 2014-04-29 13:08:40.999684104 -0300
@@ -32,6 +32,7 @@ site: http://bugseng.com/products/ppl/ .
#include "Sparse_Row_types.hh"
#include <vector>
#include <set>
+#include <cstddef>
#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
//! A linear expression.
@@ -65,7 +66,7 @@ public:
public:
typedef std::bidirectional_iterator_tag iterator_category;
typedef const Coefficient value_type;
- typedef ptrdiff_t difference_type;
+ typedef std::ptrdiff_t difference_type;
typedef value_type* pointer;
typedef Coefficient_traits::const_reference reference;
diff -up ppl-1.1/src/CO_Tree_defs.hh.orig ppl-1.1/src/CO_Tree_defs.hh
--- ppl-1.1/src/CO_Tree_defs.hh.orig 2014-04-29 13:11:33.725690719 -0300
+++ ppl-1.1/src/CO_Tree_defs.hh 2014-04-29 13:11:55.943691569 -0300
@@ -28,6 +28,7 @@ site: http://bugseng.com/products/ppl/ .
#include "Coefficient_defs.hh"
#include <memory>
+#include <cstddef>
#ifndef PPL_CO_TREE_EXTRA_DEBUG
#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
@@ -159,7 +160,7 @@ public:
typedef std::bidirectional_iterator_tag iterator_category;
typedef const data_type value_type;
- typedef ptrdiff_t difference_type;
+ typedef std::ptrdiff_t difference_type;
typedef value_type* pointer;
typedef data_type_const_reference reference;
@@ -314,7 +315,7 @@ public:
typedef std::bidirectional_iterator_tag iterator_category;
typedef data_type value_type;
- typedef ptrdiff_t difference_type;
+ typedef std::ptrdiff_t difference_type;
typedef value_type* pointer;
typedef value_type& reference;
diff -up ppl-1.1/src/CO_Tree_inlines.hh.orig ppl-1.1/src/CO_Tree_inlines.hh
--- ppl-1.1/src/CO_Tree_inlines.hh.orig 2014-04-29 13:14:12.738696808 -0300
+++ ppl-1.1/src/CO_Tree_inlines.hh 2014-04-29 13:14:48.887698192 -0300
@@ -24,6 +24,8 @@ site: http://bugseng.com/products/ppl/ .
#ifndef PPL_CO_Tree_inlines_hh
#define PPL_CO_Tree_inlines_hh 1
+#include <cstddef>
+
namespace Parma_Polyhedra_Library {
inline dimension_type
@@ -31,7 +33,7 @@ CO_Tree::dfs_index(const_iterator itr) c
PPL_ASSERT(itr.current_index != 0);
PPL_ASSERT(itr.current_index >= indexes + 1);
PPL_ASSERT(itr.current_index <= indexes + reserved_size);
- const ptrdiff_t index = itr.current_index - indexes;
+ const std::ptrdiff_t index = itr.current_index - indexes;
return static_cast<dimension_type>(index);
}
@@ -40,7 +42,7 @@ CO_Tree::dfs_index(iterator itr) const {
PPL_ASSERT(itr.current_index != 0);
PPL_ASSERT(itr.current_index >= indexes + 1);
PPL_ASSERT(itr.current_index <= indexes + reserved_size);
- const ptrdiff_t index = itr.current_index - indexes;
+ const std::ptrdiff_t index = itr.current_index - indexes;
return static_cast<dimension_type>(index);
}
@@ -772,7 +774,7 @@ CO_Tree::tree_iterator::follow_left_chil
p -= (offset - 1);
while (*p == unused_index)
++p;
- const ptrdiff_t distance = p - tree.indexes;
+ const std::ptrdiff_t distance = p - tree.indexes;
PPL_ASSERT(distance >= 0);
i = static_cast<dimension_type>(distance);
offset = least_significant_one_mask(i);
@@ -787,7 +789,7 @@ CO_Tree::tree_iterator::follow_right_chi
p += (offset - 1);
while (*p == unused_index)
--p;
- const ptrdiff_t distance = p - tree.indexes;
+ const std::ptrdiff_t distance = p - tree.indexes;
PPL_ASSERT(distance >= 0);
i = static_cast<dimension_type>(distance);
offset = least_significant_one_mask(i);
diff -up ppl-1.1/src/Linear_Expression_defs.hh.orig ppl-1.1/src/Linear_Expression_defs.hh
--- ppl-1.1/src/Linear_Expression_defs.hh.orig 2014-04-29 13:15:39.793700141 -0300
+++ ppl-1.1/src/Linear_Expression_defs.hh 2014-04-29 13:16:07.464701201 -0300
@@ -51,6 +51,7 @@ site: http://bugseng.com/products/ppl/ .
#include "Linear_Expression_Interface_defs.hh"
#include "Variable_defs.hh"
+#include <cstddef>
namespace Parma_Polyhedra_Library {
@@ -381,7 +382,7 @@ public:
public:
typedef std::bidirectional_iterator_tag iterator_category;
typedef const Coefficient value_type;
- typedef ptrdiff_t difference_type;
+ typedef std::ptrdiff_t difference_type;
typedef value_type* pointer;
typedef Coefficient_traits::const_reference reference;
diff -up ppl-1.1/src/CO_Tree.cc.orig ppl-1.1/src/CO_Tree.cc
--- ppl-1.1/src/CO_Tree.cc.orig 2014-04-29 13:19:37.192709232 -0300
+++ ppl-1.1/src/CO_Tree.cc 2014-04-29 13:19:58.000710029 -0300
@@ -954,7 +954,7 @@ PPL::CO_Tree
--subtree_size;
}
- const ptrdiff_t distance = first_unused_index - indexes;
+ const std::ptrdiff_t distance = first_unused_index - indexes;
PPL_ASSERT(distance >= 0);
return static_cast<dimension_type>(distance);
}
diff -up ppl-1.1/src/Constraint_System_defs.hh.orig ppl-1.1/src/Constraint_System_defs.hh
--- ppl-1.1/src/Constraint_System_defs.hh.orig 2014-04-29 13:30:05.530733294 -0300
+++ ppl-1.1/src/Constraint_System_defs.hh 2014-04-29 13:30:27.167734122 -0300
@@ -37,6 +37,7 @@ site: http://bugseng.com/products/ppl/ .
#include "termination_types.hh"
#include <iterator>
#include <iosfwd>
+#include <cstddef>
namespace Parma_Polyhedra_Library {
@@ -609,7 +610,7 @@ for (Constraint_System::const_iterator i
class Parma_Polyhedra_Library::Constraint_System_const_iterator
: public std::iterator<std::forward_iterator_tag,
Constraint,
- ptrdiff_t,
+ std::ptrdiff_t,
const Constraint*,
const Constraint&> {
public:
diff -up ppl-1.1/src/Congruence_System_defs.hh.orig ppl-1.1/src/Congruence_System_defs.hh
--- ppl-1.1/src/Congruence_System_defs.hh.orig 2014-04-29 13:33:56.927742155 -0300
+++ ppl-1.1/src/Congruence_System_defs.hh 2014-04-29 13:34:15.535742867 -0300
@@ -33,6 +33,7 @@ site: http://bugseng.com/products/ppl/ .
#include "Congruence_defs.hh"
#include "Constraint_System_types.hh"
#include <iosfwd>
+#include <cstddef>
namespace Parma_Polyhedra_Library {
@@ -249,7 +250,7 @@ public:
class const_iterator
: public std::iterator<std::forward_iterator_tag,
Congruence,
- ptrdiff_t,
+ std::ptrdiff_t,
const Congruence*,
const Congruence&> {
public:
diff -up ppl-1.1/src/Generator_System_defs.hh.orig ppl-1.1/src/Generator_System_defs.hh
--- ppl-1.1/src/Generator_System_defs.hh.orig 2014-04-29 13:44:30.122766402 -0300
+++ ppl-1.1/src/Generator_System_defs.hh 2014-04-29 13:44:48.167767093 -0300
@@ -33,6 +33,7 @@ site: http://bugseng.com/products/ppl/ .
#include "Poly_Con_Relation_defs.hh"
#include "Polyhedron_types.hh"
#include <iosfwd>
+#include <cstddef>
namespace Parma_Polyhedra_Library {
@@ -679,7 +680,7 @@ copy(gs.begin(), gs.end(), ostream_itera
class Parma_Polyhedra_Library::Generator_System_const_iterator
: public std::iterator<std::forward_iterator_tag,
Generator,
- ptrdiff_t,
+ std::ptrdiff_t,
const Generator*,
const Generator&> {
public:
diff -up ppl-1.1/src/Grid_Generator_System_defs.hh.orig ppl-1.1/src/Grid_Generator_System_defs.hh
--- ppl-1.1/src/Grid_Generator_System_defs.hh.orig 2014-04-29 13:45:26.073768544 -0300
+++ ppl-1.1/src/Grid_Generator_System_defs.hh 2014-04-29 13:45:42.535769175 -0300
@@ -31,6 +31,7 @@ site: http://bugseng.com/products/ppl/ .
#include "Variables_Set_types.hh"
#include "Polyhedron_types.hh"
#include <iosfwd>
+#include <cstddef>
namespace Parma_Polyhedra_Library {
@@ -277,7 +278,7 @@ public:
class const_iterator
: public std::iterator<std::forward_iterator_tag,
Grid_Generator,
- ptrdiff_t,
+ std::ptrdiff_t,
const Grid_Generator*,
const Grid_Generator&> {
public:

View File

@ -1,42 +0,0 @@
https://bugs.gentoo.org/show_bug.cgi?id=447928
--- ppl-1.0/src/p_std_bits.cc.org 2012-12-30 00:37:03.033948083 +0100
+++ ppl-1.0/src/mp_std_bits.cc 2012-12-30 00:44:12.893019313 +0100
@@ -25,6 +25,9 @@
#include "ppl-config.h"
#include "mp_std_bits.defs.hh"
+#if __GNU_MP_VERSION < 5 \
+ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
const bool std::numeric_limits<mpz_class>::is_specialized;
const int std::numeric_limits<mpz_class>::digits;
const int std::numeric_limits<mpz_class>::digits10;
@@ -70,3 +73,6 @@
const bool std::numeric_limits<mpq_class>::traps;
const bool std::numeric_limits<mpq_class>::tininess_before;
const std::float_round_style std::numeric_limits<mpq_class>::round_style;
+
+#endif // __GNU_MP_VERSION < 5
+ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
--- ppl-1.0/src/mp_std_bits.defs.hh.org 2012-12-30 00:37:03.037948187 +0100
+++ ppl-1.0/src/mp_std_bits.defs.hh 2012-12-30 00:42:32.002424189 +0100
@@ -38,6 +38,9 @@
#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
void swap(mpq_class& x, mpq_class& y);
+#if __GNU_MP_VERSION < 5 \
+ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
namespace std {
#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -164,6 +167,9 @@
} // namespace std
+#endif // __GNU_MP_VERSION < 5
+ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+
#include "mp_std_bits.inlines.hh"
#endif // !defined(PPL_mp_std_bits_defs_hh)

View File

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "libva-intel-driver-1.5.1";
name = "libva-intel-driver-1.6.0";
src = fetchurl {
url = "http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/${name}.tar.bz2";
sha256 = "1p7aw0wmb6z3rbbm3bqlp6rxw41kii23csbjmcvbbk037lq6rnqb";
sha256 = "1m08z9md113rv455i78k6784vkjza5k84d59bgpah08cc7jayxlq";
};
patchPhase = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation {
name = "ocaml-csv-1.4";
name = "ocaml-csv-1.4.1";
src = fetchzip {
url = https://github.com/Chris00/ocaml-csv/releases/download/1.4/csv-1.4.tar.gz;
sha256 = "0si0v79rxzyzmgyhd6lidpzxdlcpprlhg0pgrsf688g83xsclkwa";
url = https://github.com/Chris00/ocaml-csv/releases/download/1.4.1/csv-1.4.1.tar.gz;
sha256 = "1z38qy92lq8qh91bs70vsv868szainif53a2y6rf47ijdila25j4";
};
buildInputs = [ ocaml findlib ];

View File

@ -1,14 +1,18 @@
{ stdenv, fetchurl, ocaml, findlib }:
{ stdenv, fetchurl, ocaml, findlib, ounit }:
stdenv.mkDerivation {
name = "ocaml-fileutils-0.4.5";
name = "ocaml-fileutils-0.5.0";
src = fetchurl {
url = https://forge.ocamlcore.org/frs/download.php/1194/ocaml-fileutils-0.4.5.tar.gz;
sha256 = "0rlqmcgjrfjihjgw5cfmack169cag8054gh5yrqph15av3lx5cra";
url = https://forge.ocamlcore.org/frs/download.php/1531/ocaml-fileutils-0.5.0.tar.gz;
sha256 = "0xs96nlrrm335mcsgsxnqzspiqyfn26b0jjxm72br7c7ax534n47";
};
buildInputs = [ ocaml findlib ];
buildInputs = [ ocaml findlib ounit ];
configureFlags = "--enable-tests";
doCheck = true;
checkTarget = "test";
createFindlibDestdir = true;

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl, ocaml, findlib, pgocaml, camlp4}:
{ stdenv, fetchzip, ocaml, findlib, pgocaml, camlp4 }:
stdenv.mkDerivation {
name = "ocaml-macaque-0.7.1";
src = fetchurl {
url = https://github.com/ocsigen/macaque/archive/0.7.1.tar.gz;
sha256 = "0wnq3pgpcrfpivr8j7p827rhag6hdx0yr0bdvma0hw1g30vwf9qa";
name = "ocaml-macaque-0.7.2";
src = fetchzip {
url = https://github.com/ocsigen/macaque/archive/0.7.2.tar.gz;
sha256 = "14i0a8cndzndjmlkyhf31r451q99cnkndgxcj0id4qjqhdl4bmjv";
};
buildInputs = [ ocaml findlib camlp4 ];

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation {
createFindlibDestdir = true;
propagatedbuildInputs = [ mysql.lib ];
propagatedBuildInputs = [ mysql.lib ];
preConfigure = ''
export LDFLAGS="-L${mysql.lib}/lib/mysql"

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, buildPythonPackage }:
buildPythonPackage {
name = "zc.buildout-nix-2.2.1";
name = "zc.buildout-nix-2.4.0";
src = fetchurl {
url = "https://pypi.python.org/packages/source/z/zc.buildout/zc.buildout-2.2.1.tar.gz";
md5 = "476a06eed08506925c700109119b6e41";
url = "https://pypi.python.org/packages/source/z/zc.buildout/zc.buildout-2.4.0.tar.gz";
md5 = "b8323b1ad285544de0c3dc14ee76ddd3";
};
patches = [ ./nix.patch ];

View File

@ -1,38 +1,15 @@
--- a/src/zc/buildout/easy_install.py 2013-08-27 22:28:40.233718116 +0200
+++ b/src/zc/buildout/easy_install.py 2013-10-07 00:29:31.077413935 +0200
@@ -508,16 +508,31 @@
self._dest, os.path.basename(dist.location))
@@ -227,6 +227,12 @@
if os.path.isdir(dist.location):
- # we got a directory. It must have been
- # obtained locally. Just copy it.
- shutil.copytree(dist.location, newloc)
+ # Replace links to garbage collected eggs in
+ # /nix/store
+ if os.path.islink(newloc):
+ # It seems necessary to jump through these
+ # hoops, otherwise we end up in an
+ # infinite loop because
+ # self._env.best_match fails to find the dist
+ os.remove(newloc)
+ dist = self._fetch(avail, tmp, self._download_cache)
+ os.symlink(dist.location, newloc)
+ newdist = pkg_resources.Distribution.from_filename(
+ newloc)
+ self._env.add(newdist)
+ logger.info("Updated link to %s" %dist.location)
+ # Symlink to the egg in /nix/store
+ elif not os.path.exists(newloc):
+ os.symlink(dist.location, newloc)
+ logger.info("Created link to %s" %dist.location)
else:
setuptools.archive_util.unpack_archive(
dist.location, newloc)
- redo_pyc(newloc)
+ redo_pyc(newloc)
# Getting the dist from the environment causes the
# distribution meta data to be read. Cloning isn't
def _satisfied(self, req, source=None):
dists = [dist for dist in self._env[req.project_name] if dist in req]
+ try:
+ dists = ([dist for dist in dists
+ if dist.precedence == pkg_resources.DEVELOP_DIST]
+ + [pkg_resources.get_distribution(req.project_name)])
+ except pkg_resources.DistributionNotFound:
+ pass
if not dists:
logger.debug('We have no distributions for %s that satisfies %r.',
req.project_name, str(req))

View File

@ -1,11 +1,10 @@
{ fetchurl, stdenv, guile, libffi, pkgconfig, glib
, guile_lib }:
{ fetchurl, stdenv, guile, libffi, pkgconfig, glib, guile_lib }:
stdenv.mkDerivation rec {
name = "g-wrap-1.9.13";
name = "g-wrap-1.9.15";
src = fetchurl {
url = "mirror://savannah/g-wrap/${name}.tar.gz";
sha256 = "0fc874zlwzjahyliqnva1zfsv0chlx4cvfhwchij9n2d3kmsss9v";
sha256 = "140fcvp24pqmfmiibhjxl3s75hj26ln7pkl2wxas84lnchbj9m4d";
};
# Note: Glib support is optional, but it's quite useful (e.g., it's
@ -26,6 +25,6 @@ stdenv.mkDerivation rec {
'';
homepage = http://www.nongnu.org/g-wrap/;
license = stdenv.lib.licenses.lgpl2Plus;
maintainers = [ ];
maintainers = [ stdenv.lib.maintainers.taktoa ];
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, libusb1 }:
stdenv.mkDerivation rec {
name="dfu-util-${version}";
version = "0.8";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libusb1 ];
src = fetchurl {
url = "mirror://debian/pool/main/d/dfu-util/dfu-util_0.8.orig.tar.gz";
sha256 = "0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm";
};
meta = with stdenv.lib; {
description = "Device firmware update (DFU) USB programmer";
longDescription = ''
dfu-util is a program that implements the host (PC) side of the USB
DFU 1.0 and 1.1 (Universal Serial Bus Device Firmware Upgrade) protocol.
DFU is intended to download and upload firmware to devices connected over
USB. It ranges from small devices like micro-controller boards up to mobile
phones. With dfu-util you are able to download firmware to your device or
upload firmware from it.
'';
homepage = http://dfu-util.gnumonks.org/;
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.fpletz ];
};
}

View File

@ -8,7 +8,7 @@
let
basename = "gdb-7.9";
basename = "gdb-7.9.1";
# Whether (cross-)building for GNU/Hurd. This is an approximation since
# having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@ -27,11 +27,9 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnu/gdb/${basename}.tar.xz";
sha256 = "14l3hhsy7fmpn2dk7ivc67gnbjdhkxlq90kxijpzfa35l58mcccv";
sha256 = "0h5sfg4ndhb8q4fxbq0hdxfjp35n6ih96f6x8yvb418s84x5976d";
};
# patches = [ ./edit-signals.patch ];
# I think python is not a native input, but I leave it
# here while I will not need it cross building
nativeBuildInputs = [ texinfo python perl ]

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, python }:
stdenv.mkDerivation rec {
name = "omniorb-${version}";
version = "4.2.0";
src = fetchurl rec {
url = "http://sourceforge.net/projects/omniorb/files/omniORB/omniORB-${version}/omniORB-${version}.tar.bz2";
sha256 = "1g58xcw4641wyisp9wscrkzaqrz0vf123dgy52qq2a3wk7y77hkl";
};
buildInputs = [ python ];
meta = with stdenv.lib; {
description = "omniORB is a robust high performance CORBA ORB for C++ and Python. It is freely available under the terms of the GNU Lesser General Public License (for the libraries), and GNU General Public License (for the tools). omniORB is largely CORBA 2.6 compliant.";
homepage = "http://omniorb.sourceforge.net/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ smironov ];
platforms = platforms.unix;
};
}

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, python, utillinux, openssl_1_0_2, http-parser, zlib, libuv }:
let
version = "2.3.4";
version = "2.4.0";
inherit (stdenv.lib) optional maintainers licenses platforms;
in stdenv.mkDerivation {
name = "iojs-${version}";
src = fetchurl {
url = "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
sha256 = "1h9cjrs93c8rdycc0ahhc27wv826211aljvfmxfg8jdmg6nvibhq";
sha256 = "0g81bn8q4zgm8skkbxbzwa22dnpbing4b5wjqacvpxq3ygz4c98y";
};
prePatch = ''

View File

@ -1,10 +1,11 @@
{ stdenv, fetchurl, jre, libX11, libXext, libXcursor, libXrandr, libXxf86vm
, mesa, openal, alsaOss, pulseaudioSupport ? false, libpulseaudio }:
, mesa, openal
, useAlsa ? false, alsaOss ? null }:
assert jre ? architecture;
assert useAlsa -> alsaOss != null;
stdenv.mkDerivation {
name = "minecraft-2013.07.01";
name = "minecraft-2015.07.24";
src = fetchurl {
url = "https://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar";
@ -22,8 +23,8 @@ stdenv.mkDerivation {
#!${stdenv.shell}
# wrapper for minecraft
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${jre}/lib/${jre.architecture}/:${libX11}/lib/:${libXext}/lib/:${libXcursor}/lib/:${libXrandr}/lib/:${libXxf86vm}/lib/:${mesa}/lib/:${openal}/lib/
${if pulseaudioSupport then "${libpulseaudio}/bin/padsp" else "${alsaOss}/bin/aoss" } \
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${libX11}/lib/:${libXext}/lib/:${libXcursor}/lib/:${libXrandr}/lib/:${libXxf86vm}/lib/:${mesa}/lib/:${openal}/lib/
${if useAlsa then "${alsaOss}/bin/aoss" else "" } \
${jre}/bin/java -jar $out/minecraft.jar
EOF

View File

@ -60,8 +60,6 @@ buildFHSUserEnv {
pkgs.openal
pkgs.libpulseaudio
pkgs.flashplayer
pkgs.gst_all_1.gst-plugins-ugly # "Audiosurf 2" needs this
];

View File

@ -1,24 +1,30 @@
{ stdenv, fetchurl, automake, pkgconfig
, cups, zlib, libjpeg, libusb1, pythonPackages, saneBackends, dbus
, cups, zlib, libjpeg, libusb1, pythonPackages, saneBackends, dbus, usbutils
, polkit, qtSupport ? true, qt4, pyqt4, net_snmp
, withPlugin ? false, substituteAll, makeWrapper
}:
let
name = "hplip-3.15.6";
version = "3.15.7";
name = "hplip-${version}";
src = fetchurl {
url = "mirror://sourceforge/hplip/${name}.tar.gz";
sha256 = "1jbnjw7vrn1qawrjfdv8j58w69q8ki1qkzvlh0nk8nxacpp17i9h";
sha256 = "17flpl89lgwlbsy9mka910g530nnvlwqqnif8a9hyq7k90q9046k";
};
plugin = fetchurl {
url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
sha256 = "0fblh5m43jnws4vkwks0b4m9k3jg9kspaj1l8bic0r5swy97s41m";
};
hplip_state =
substituteAll
{
inherit version;
src = ./hplip.state;
# evaluated this way, version is always up-to-date
version = (builtins.parseDrvName name).version;
};
hplip_arch =
@ -29,16 +35,34 @@ let
"arm7l-linux" = "arm32";
}."${stdenv.system}" or (abort "Unsupported platform ${stdenv.system}");
plugin = fetchurl {
url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
sha256 = "1rymxahz12s1s37rri5qyvka6q0yi0yai08kgspg24176ry3a3fx";
};
in
stdenv.mkDerivation {
inherit name src;
buildInputs = [
libjpeg
cups
libusb1
pythonPackages.python
pythonPackages.wrapPython
saneBackends
dbus
net_snmp
] ++ stdenv.lib.optional qtSupport qt4;
nativeBuildInputs = [
pkgconfig
];
pythonPath = with pythonPackages; [
dbus
pillow
pygobject
recursivePthLoader
reportlab
usbutils
] ++ stdenv.lib.optional qtSupport pyqt4;
prePatch = ''
# HPLIP hardcodes absolute paths everywhere. Nuke from orbit.
find . -type f -exec sed -i \
@ -51,50 +75,33 @@ stdenv.mkDerivation {
{} +
'';
preConfigure = ''
export configureFlags="$configureFlags
--with-cupsfilterdir=$out/lib/cups/filter
--with-cupsbackenddir=$out/lib/cups/backend
--with-icondir=$out/share/applications
--with-systraydir=$out/xdg/autostart
--with-mimedir=$out/etc/cups
--enable-policykit
"
export makeFlags="
halpredir=$out/share/hal/fdi/preprobe/10osvendor
rulesdir=$out/etc/udev/rules.d
policykit_dir=$out/share/polkit-1/actions
policykit_dbus_etcdir=$out/etc/dbus-1/system.d
policykit_dbus_sharedir=$out/share/dbus-1/system-services
hplip_confdir=$out/etc/hp
hplip_statedir=$out/var/lib/hp
";
configureFlags = ''
--with-cupsfilterdir=$(out)/lib/cups/filter
--with-cupsbackenddir=$(out)/lib/cups/backend
--with-icondir=$(out)/share/applications
--with-systraydir=$(out)/xdg/autostart
--with-mimedir=$(out)/etc/cups
--enable-policykit
'';
makeFlags = ''
halpredir=$(out)/share/hal/fdi/preprobe/10osvendor
rulesdir=$(out)/etc/udev/rules.d
policykit_dir=$(out)/share/polkit-1/actions
policykit_dbus_etcdir=$(out)/etc/dbus-1/system.d
policykit_dbus_sharedir=$(out)/share/dbus-1/system-services
hplip_confdir=$(out)/etc/hp
hplip_statedir=$(out)/var/lib/hp
'';
enableParallelBuilding = true;
postInstall =
''
# Wrap the user-facing Python scripts in /bin without turning the ones
# in /share into shell scripts (they need to be importable).
# Complicated by the fact that /bin contains just symlinks to /share.
for bin in $out/bin/*; do
py=`readlink -m $bin`
rm $bin
cp $py $bin
wrapPythonProgramsIn $bin "$out $pythonPath"
sed -i "s@$(dirname $bin)/[^ ]*@$py@g" $bin
done
# Remove originals. Knows a little too much about wrapPythonProgramsIn.
rm -f $out/bin/.*-wrapped
wrapPythonPrograms $out/lib "$out $pythonPath"
''
+ (stdenv.lib.optionalString withPlugin
(stdenv.lib.optionalString withPlugin
(let hplip_arch =
if stdenv.system == "i686-linux" then "x86_32"
else if stdenv.system == "x86_64-linux" then "x86_64"
else abort "Platform must be i686-linux or x86_64-linux!";
else abort "Plugin platform must be i686-linux or x86_64-linux!";
in
''
sh ${plugin} --noexec --keep
@ -129,31 +136,39 @@ stdenv.mkDerivation {
mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf
rm $out/etc/udev/rules.d/56-hpmud.rules
''));
''));
buildInputs = [
libjpeg
cups
libusb1
pythonPackages.python
pythonPackages.wrapPython
saneBackends
dbus
net_snmp
] ++ stdenv.lib.optional qtSupport qt4;
nativeBuildInputs = [
pkgconfig
];
fixupPhase = ''
# Wrap the user-facing Python scripts in $out/bin without turning the
# ones in $out /share into shell scripts (they need to be importable).
# Note that $out/bin contains only symlinks to $out/share.
for bin in $out/bin/*; do
py=`readlink -m $bin`
rm $bin
cp $py $bin
wrapPythonProgramsIn $bin "$out $pythonPath"
sed -i "s@$(dirname $bin)/[^ ]*@$py@g" $bin
done
pythonPath = with pythonPackages; [
dbus
pillow
pygobject
recursivePthLoader
reportlab
] ++ stdenv.lib.optional qtSupport pyqt4;
# Remove originals. Knows a little too much about wrapPythonProgramsIn.
rm -f $out/bin/.*-wrapped
# Merely patching shebangs in $out/share does not cause trouble.
for i in $out/share/hplip{,/*}/*.py; do
substituteInPlace $i \
--replace /usr/bin/python \
${pythonPackages.python}/bin/${pythonPackages.python.executable} \
--replace "/usr/bin/env python" \
${pythonPackages.python}/bin/${pythonPackages.python.executable}
done
wrapPythonProgramsIn $out/lib "$out $pythonPath"
substituteInPlace $out/etc/hp/hplip.conf --replace /usr $out
'';
meta = with stdenv.lib; {
inherit version;
description = "Print, scan and fax HP drivers for Linux";
homepage = http://hplipopensource.com/;
license = if withPlugin

View File

@ -1,13 +1,21 @@
{ stdenv, fetchgit }:
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "firmware-linux-nonfree-${version}";
version = "2015-07-12";
version = "2015-07-23";
src = fetchgit {
url = "http://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git";
rev = "5e6d7a9d70b562c60471e234f78137020d65ccbf";
sha256 = "06gvjdqpbayfv696hxn9xjkbzddj1hy6z9aahi156lvj96qb9z49";
# This repo is built by merging the latest versions of
# http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
# and
# http://git.kernel.org/cgit/linux/kernel/git/iwlwifi/linux-firmware.git/
# for any given date. This gives us up to date iwlwifi firmware as well as
# the usual set of firmware. firmware/linux-firmware usually lags kernel releases
# so iwlwifi cards will fail to load on newly released kernels.
src = fetchFromGitHub {
owner = "wkennington";
repo = "linux-firmware";
rev = "854b7f33e839ceea41034b45d6f755ea70c85486";
sha256 = "1hhqvb96adk64ljf6hp5qss8fhpic28y985gbggh5p2w9bsgs5zq";
};
preInstall = ''

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, flex, bison, db, iptables, pkgconfig }:
stdenv.mkDerivation rec {
name = "iproute2-4.0.0";
name = "iproute2-4.1.1";
src = fetchurl {
url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
sha256 = "0616cg6liyysfddf6d8i4vyndd9b0hjmfw35icq8p18b0nqnxl2w";
sha256 = "0vz6m2k6hdrjlg4x0r3cd75lg9ysmndbsp35pm8494zvksc7l1vk";
};
patch = [ ./vpnc.patch ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec {
version = "3.18.18";
version = "3.18.19";
extraMeta.branch = "3.18";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
sha256 = "1fcd4xfnywwb3grdvcnf39njwzb40v10rnzagxqmancsaqy253jv";
sha256 = "1jdp4mixggzjy1v806v5q7qqimkm6pbjav3gwbcl2cccv6wd701x";
};
features.iwlwifi = true;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ... } @ args:
import ./generic.nix (args // rec {
version = "4.1.2";
version = "4.1.3";
extraMeta.branch = "4.1";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1mdyjhnzhh254cblahqmpsk226z006z6sm9dmwvg6jlhpsw4cjhy";
sha256 = "02z3palvki31qimmycz4y4wl4lb46n662qql46iah224k0q2rpcn";
};
features.iwlwifi = true;

View File

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, perl }:
stdenv.mkDerivation {
name = "perf-tools-20150704";
name = "perf-tools-20150723";
src = fetchFromGitHub {
owner = "brendangregg";
repo = "perf-tools";
rev = "30ff4758915a98fd43020c1b45a63341208fd8b9";
sha256 = "0x59xm96jmpfgik6f9d6q6v85dip3kvi4ncijpghhg59ayyd5i6a";
rev = "80e25785e16acfbc0f048cae86a69006fa45148d";
sha256 = "13g98vqwy50yf2h0w6iav80kzwfz29mvnjw8akbjv4v36r9hcb69";
};
buildInputs = [ perl ];

View File

@ -1,12 +1,13 @@
{ callPackage, fetchgit, ... } @ args:
{ callPackage, fetchFromGitHub, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "2015-06-29";
version = "2015-07-21";
src = fetchgit {
url = git://github.com/zfsonlinux/spl.git;
rev = "77ab5dd33a99bdf7fb062f0ea327582236a225b3";
sha256 = "1hbn8hi305cn15nlcm9x99nczjqjkhdc38hzww11xn78py8d90w9";
src = fetchFromGitHub {
owner = "zfsonlinux";
repo = "spl";
rev = "9eb361aaa537724c9a90ab6a9f33521bfd80bad9";
sha256 = "18sv4mw85fbm8i1s8k4y5dc43l6ll2f6hgfrawvzgvwni5i4h7n8";
};
patches = [ ./const.patch ./install_prefix.patch ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "v4l2loopback-${version}-${kernel.version}";
version = "0.8.0";
version = "0.9.1";
src = fetchurl {
url = "https://github.com/umlaeute/v4l2loopback/archive/v${version}.tar.gz";
sha256 = "1rhsgc4prrj8s6njixic7fs5m3gs94v9hhf3am6lnfh5yv6yab9h";
sha256 = "1crkhxlnskqrfj3f7jmiiyi5m75zmj7n0s26xz07wcwdzdf2p568";
};
preBuild = ''
@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
export PATH=${kmod}/sbin:$PATH
'';
patches = [ ./kernel-3.18-fix.patch ];
buildInputs = [ kmod ];
makeFlags = [

View File

@ -1,31 +0,0 @@
From 21195cd6d1ff767a271359dfa7d201078f766611 Mon Sep 17 00:00:00 2001
From: tatokis <tasos@tasossah.com>
Date: Mon, 24 Nov 2014 16:28:33 +0200
Subject: [PATCH] Updated v4l2loopback.c to compile on >= 3.18 kernel
---
v4l2loopback.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/v4l2loopback.c b/v4l2loopback.c
index bb228bb..67f6ed4 100644
--- a/v4l2loopback.c
+++ b/v4l2loopback.c
@@ -498,10 +498,15 @@ static ssize_t attr_store_maxopeners(struct device *cd,
{
struct v4l2_loopback_device *dev = NULL;
unsigned long curr = 0;
-
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)
+ if (kstrtoul(buf, 0, &curr))
+ return -EINVAL;
+ #else
if (strict_strtoul(buf, 0, &curr))
return -EINVAL;
-
+ #endif
+
dev = v4l2loopback_cd2dev(cd);
if (dev->max_openers == curr)

View File

@ -58,6 +58,7 @@ stdenv.mkDerivation rec {
"--with-udevdir=$(out)/lib/udev"
"--with-systemdunitdir=$(out)/etc/systemd/system"
"--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
"--with-mounthelperdir=$(out)/bin"
"--sysconfdir=/etc"
"--localstatedir=/var"
"--enable-systemd"
@ -69,6 +70,11 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
installFlags = [
"sysconfdir=\${out}/etc"
"DEFAULT_INITCONF_DIR=\${out}/default"
];
postInstall = ''
# Prevent kernel modules from depending on the Linux -dev output.
nuke-refs $(find $out -name "*.ko")

View File

@ -1,12 +1,13 @@
{ callPackage, stdenv, fetchgit, spl_git, ... } @ args:
{ callPackage, stdenv, fetchFromGitHub, spl_git, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "2015-05-13";
version = "2015-07-21";
src = fetchgit {
url = git://github.com/zfsonlinux/zfs.git;
rev = "7fec46b9d8967109ad289d208e8cf36a0c16e40c";
sha256 = "0gvzw6vn7wyq2g9psv0fdars7ssidqc5l85x4yym5niccy1xl437";
src = fetchFromGitHub {
owner = "zfsonlinux";
repo = "zfs";
rev = "3b79cef21294f3ec46c4f71cc5a68a75a4d0ebc7";
sha256 = "01l4cg62wgn3wzasskx2nh3a4c74vq8qcwz090x8x1r4c2r4v943";
};
patches = [ ./nix-build.patch ];

View File

@ -1615,11 +1615,11 @@ let
}) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
xf86videointel = (mkDerivation "xf86videointel" {
name = "xf86-video-intel-2.99.917";
name = "xf86-video-intel-2015-07-22";
builder = ./builder.sh;
src = fetchurl {
url = mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2;
sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0";
url = http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/a29e765ec0c1d73ee7ef2dad3aa148214ec04335.tar.gz;
sha256 = "094qa8x0f7vgyirjbj9qdyak71nwxnmmsxml4zk49z59blq4l874";
};
buildInputs = [pkgconfig dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ];
}) // {inherit dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;};

View File

@ -414,7 +414,7 @@ in
xf86videointel = attrs: attrs // {
buildInputs = attrs.buildInputs ++ [xorg.libXfixes];
patches = [ ./xf86-video-intel-2.99.917-libdrm-kernel-4_0-crash.patch ];
nativeBuildInputs = [args.autoreconfHook xorg.utilmacros];
};
xwd = attrs: attrs // {

View File

@ -1,65 +0,0 @@
From 7fe2b2948652443ff43d907855bd7a051d54d309 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Thu, 19 Mar 2015 23:14:17 +0000
Subject: sna: Protect against ABI breakage in recent versions of libdrm
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 11f0828..6f16cba 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -182,6 +182,15 @@ struct local_i915_gem_caching {
#define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
#define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
+struct local_i915_gem_mmap {
+ uint32_t handle;
+ uint32_t pad;
+ uint64_t offset;
+ uint64_t size;
+ uint64_t addr_ptr;
+};
+#define LOCAL_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct local_i915_gem_mmap)
+
struct local_i915_gem_mmap2 {
uint32_t handle;
uint32_t pad;
@@ -514,15 +523,15 @@ retry_wc:
static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
{
- struct drm_i915_gem_mmap mmap_arg;
+ struct local_i915_gem_mmap arg;
int err;
retry:
- VG_CLEAR(mmap_arg);
- mmap_arg.handle = bo->handle;
- mmap_arg.offset = 0;
- mmap_arg.size = bytes(bo);
- if ((err = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))) {
+ VG_CLEAR(arg);
+ arg.handle = bo->handle;
+ arg.offset = 0;
+ arg.size = bytes(bo);
+ if ((err = do_ioctl(kgem->fd, LOCAL_IOCTL_I915_GEM_MMAP, &arg))) {
assert(err != EINVAL);
if (__kgem_throttle_retire(kgem, 0))
@@ -536,10 +545,10 @@ retry:
return NULL;
}
- VG(VALGRIND_MAKE_MEM_DEFINED(mmap_arg.addr_ptr, bytes(bo)));
+ VG(VALGRIND_MAKE_MEM_DEFINED(arg.addr_ptr, bytes(bo)));
DBG(("%s: caching CPU vma for %d\n", __FUNCTION__, bo->handle));
- return bo->map__cpu = (void *)(uintptr_t)mmap_arg.addr_ptr;
+ return bo->map__cpu = (void *)(uintptr_t)arg.addr_ptr;
}
static int gem_write(int fd, uint32_t handle,
--
cgit v0.10.2

View File

@ -0,0 +1,27 @@
{ stdenv, fetchzip, python3Packages, openssl, acl }:
python3Packages.buildPythonPackage rec {
name = "borg-${version}";
version = "0.23.0";
namePrefix = "";
src = fetchzip {
name = "${name}-src";
url = "https://github.com/borgbackup/borg/archive/${version}.tar.gz";
sha256 = "1ns00bhrh4zm1s70mm32gnahj7yh4jdpkb8ziarhvcnknz7aga67";
};
propagatedBuildInputs = with python3Packages;
[ cython msgpack openssl acl llfuse tox detox ];
preConfigure = ''
export BORG_OPENSSL_PREFIX="${openssl}"
'';
meta = with stdenv.lib; {
description = "A deduplicating backup program (attic fork)";
homepage = https://borgbackup.github.io/;
license = licenses.bsd3;
platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
};
}

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