Merge remote-tracking branch 'upstream/master' into staging

This commit is contained in:
Tuomas Tynkkynen 2018-02-11 02:10:02 +02:00
commit 48f3036e87
126 changed files with 5893 additions and 2880 deletions

View File

@ -56,7 +56,8 @@ let
replaceStrings seq stringLength sub substring tail;
inherit (trivial) id const concat or and boolToString mergeAttrs
flip mapNullable inNixShell min max importJSON warn info
nixpkgsVersion mod functionArgs setFunctionArgs isFunction;
nixpkgsVersion mod compare splitByAndCompare
functionArgs setFunctionArgs isFunction;
inherit (fixedPoints) fix fix' extends composeExtensions
makeExtensible makeExtensibleWithCustomName;
@ -71,8 +72,8 @@ let
inherit (lists) singleton foldr fold foldl foldl' imap0 imap1
concatMap flatten remove findSingle findFirst any all count
optional optionals toList range partition zipListsWith zipLists
reverseList listDfs toposort sort take drop sublist last init
crossLists unique intersectLists subtractLists
reverseList listDfs toposort sort compareLists take drop sublist
last init crossLists unique intersectLists subtractLists
mutuallyExclusive;
inherit (strings) concatStrings concatMapStrings concatImapStrings
intersperse concatStringsSep concatMapStringsSep

View File

@ -385,6 +385,30 @@ rec {
if len < 2 then list
else (sort strictLess pivot.left) ++ [ first ] ++ (sort strictLess pivot.right));
/* Compare two lists element-by-element.
Example:
compareLists compare [] []
=> 0
compareLists compare [] [ "a" ]
=> -1
compareLists compare [ "a" ] []
=> 1
compareLists compare [ "a" "b" ] [ "a" "c" ]
=> 1
*/
compareLists = cmp: a: b:
if a == []
then if b == []
then 0
else -1
else if b == []
then 1
else let rel = cmp (head a) (head b); in
if rel == 0
then compareLists cmp (tail a) (tail b)
else rel;
/* Return the first (at most) N elements of a list.
Example:

View File

@ -14,6 +14,7 @@ rec {
, defaultText ? null # Textual representation of the default, for in the manual.
, example ? null # Example value used in the manual.
, description ? null # String describing the option.
, relatedPackages ? null # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix).
, type ? null # Option type, providing type-checking and value merging.
, apply ? null # Function that converts the option value to something else.
, internal ? null # Whether the option is for NixOS developers only.
@ -76,7 +77,6 @@ rec {
getValues = map (x: x.value);
getFiles = map (x: x.file);
# Generate documentation template from the list of option declaration like
# the set generated with filterOptionSets.
optionAttrSetToDocList = optionAttrSetToDocList' [];
@ -93,9 +93,10 @@ rec {
readOnly = opt.readOnly or false;
type = opt.type.description or null;
}
// (if opt ? example then { example = scrubOptionValue opt.example; } else {})
// (if opt ? default then { default = scrubOptionValue opt.default; } else {})
// (if opt ? defaultText then { default = opt.defaultText; } else {});
// optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; }
// optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }
// optionalAttrs (opt ? defaultText) { default = opt.defaultText; }
// optionalAttrs (opt ? relatedPackages && opt.relatedPackages != null) { inherit (opt) relatedPackages; };
subOptions =
let ss = opt.type.getSubOptions opt.loc;

View File

@ -81,6 +81,42 @@ rec {
*/
mod = base: int: base - (int * (builtins.div base int));
/* C-style comparisons
a < b, compare a b => -1
a == b, compare a b => 0
a > b, compare a b => 1
*/
compare = a: b:
if a < b
then -1
else if a > b
then 1
else 0;
/* Split type into two subtypes by predicate `p`, take all elements
of the first subtype to be less than all the elements of the
second subtype, compare elements of a single subtype with `yes`
and `no` respectively.
Example:
let cmp = splitByAndCompare (hasPrefix "foo") compare compare; in
cmp "a" "z" => -1
cmp "fooa" "fooz" => -1
cmp "f" "a" => 1
cmp "fooa" "a" => -1
# while
compare "fooa" "a" => 1
*/
splitByAndCompare = p: yes: no: a: b:
if p a
then if p b then yes a b else -1
else if p b then 1 else no a b;
/* Reads a JSON file. */
importJSON = path:
builtins.fromJSON (builtins.readFile path);

View File

@ -9,8 +9,6 @@ let
modules = [ configuration ];
};
inherit (eval) pkgs;
# This is for `nixos-rebuild build-vm'.
vmConfig = (import ./lib/eval-config.nix {
inherit system;
@ -30,7 +28,7 @@ let
in
{
inherit (eval) config options;
inherit (eval) pkgs config options;
system = eval.config.system.build.toplevel;

View File

@ -6,7 +6,7 @@ let
lib = pkgs.lib;
# Remove invisible and internal options.
optionsList = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options);
optionsListVisible = lib.filter (opt: opt.visible && !opt.internal) (lib.optionAttrSetToDocList options);
# Replace functions by the string <function>
substFunction = x:
@ -15,13 +15,43 @@ let
else if lib.isFunction x then "<function>"
else x;
# Clean up declaration sites to not refer to the NixOS source tree.
optionsList' = lib.flip map optionsList (opt: opt // {
# Generate DocBook documentation for a list of packages. This is
# what `relatedPackages` option of `mkOption` from
# ../../../lib/options.nix influences.
#
# Each element of `relatedPackages` can be either
# - a string: that will be interpreted as an attribute name from `pkgs`,
# - a list: that will be interpreted as an attribute path from `pkgs`,
# - an attrset: that can specify `name`, `path`, `package`, `comment`
# (either of `name`, `path` is required, the rest are optional).
genRelatedPackages = packages:
let
unpack = p: if lib.isString p then { name = p; }
else if lib.isList p then { path = p; }
else p;
describe = args:
let
name = args.name or (lib.concatStringsSep "." args.path);
path = args.path or [ args.name ];
package = args.package or (lib.attrByPath path (throw "Invalid package attribute path `${toString path}'") pkgs);
in "<listitem>"
+ "<para><literal>pkgs.${name} (${package.meta.name})</literal>"
+ lib.optionalString (!package.meta.evaluates) " <emphasis>[UNAVAILABLE]</emphasis>"
+ ": ${package.meta.description or "???"}.</para>"
+ lib.optionalString (args ? comment) "\n<para>${args.comment}</para>"
# Lots of `longDescription's break DocBook, so we just wrap them into <programlisting>
+ lib.optionalString (package.meta ? longDescription) "\n<programlisting>${package.meta.longDescription}</programlisting>"
+ "</listitem>";
in "<itemizedlist>${lib.concatStringsSep "\n" (map (p: describe (unpack p)) packages)}</itemizedlist>";
optionsListDesc = lib.flip map optionsListVisible (opt: opt // {
# Clean up declaration sites to not refer to the NixOS source tree.
declarations = map stripAnyPrefixes opt.declarations;
}
// lib.optionalAttrs (opt ? example) { example = substFunction opt.example; }
// lib.optionalAttrs (opt ? default) { default = substFunction opt.default; }
// lib.optionalAttrs (opt ? type) { type = substFunction opt.type; });
// lib.optionalAttrs (opt ? type) { type = substFunction opt.type; }
// lib.optionalAttrs (opt ? relatedPackages) { relatedPackages = genRelatedPackages opt.relatedPackages; });
# We need to strip references to /nix/store/* from options,
# including any `extraSources` if some modules came from elsewhere,
@ -32,8 +62,22 @@ let
prefixesToStrip = map (p: "${toString p}/") ([ ../../.. ] ++ extraSources);
stripAnyPrefixes = lib.flip (lib.fold lib.removePrefix) prefixesToStrip;
# Custom "less" that pushes up all the things ending in ".enable*"
# and ".package"
optionListLess = a: b:
let
splt = lib.splitString ".";
ise = lib.hasPrefix "enable";
isp = lib.hasPrefix "package";
cmp = lib.splitByAndCompare ise lib.compare
(lib.splitByAndCompare isp lib.compare lib.compare);
in lib.compareLists cmp (splt a) (splt b) < 0;
# Customly sort option list for the man page.
optionsList = lib.sort (a: b: optionListLess a.name b.name) optionsListDesc;
# Convert the list of options into an XML file.
optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList');
optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList);
optionsDocBook = runCommand "options-db.xml" {} ''
optionsXML=${optionsXML}
@ -191,7 +235,7 @@ in rec {
mkdir -p $dst
cp ${builtins.toFile "options.json" (builtins.unsafeDiscardStringContext (builtins.toJSON
(builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList'))))
(builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList))))
} $dst/options.json
mkdir -p $out/nix-support

View File

@ -70,6 +70,15 @@
</para>
</xsl:if>
<xsl:if test="attr[@name = 'relatedPackages']">
<para>
<emphasis>Related packages:</emphasis>
<xsl:text> </xsl:text>
<xsl:value-of disable-output-escaping="yes"
select="attr[@name = 'relatedPackages']/string/@value" />
</para>
</xsl:if>
<xsl:if test="count(attr[@name = 'declarations']/list/*) != 0">
<para>
<emphasis>Declared by:</emphasis>

View File

@ -531,6 +531,7 @@
./services/networking/redsocks.nix
./services/networking/resilio.nix
./services/networking/rpcbind.nix
./services/networking/rxe.nix
./services/networking/sabnzbd.nix
./services/networking/searx.nix
./services/networking/seeks.nix

View File

@ -16,6 +16,7 @@ with lib;
To grant access to a user, it must be part of adbusers group:
<code>users.extraUsers.alice.extraGroups = ["adbusers"];</code>
'';
relatedPackages = [ ["androidenv" "platformTools"] ];
};
};
};

View File

@ -61,7 +61,12 @@ in {
options = {
programs.tmux = {
enable = mkEnableOption "<command>tmux</command> - a <command>screen</command> replacement.";
enable = mkOption {
type = types.bool;
default = false;
description = "Whenever to configure <command>tmux</command> system-wide.";
relatedPackages = [ "tmux" ];
};
aggressiveResize = mkOption {
default = false;

View File

@ -210,6 +210,7 @@ with lib;
"Set the option `services.xserver.displayManager.sddm.package' instead.")
(mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
(mkRemovedOptionModule [ "virtualisation" "xen" "qemu" ] "You don't need this option anymore, it will work without it.")
# ZSH
(mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
@ -220,5 +221,8 @@ with lib;
(mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "theme" ] [ "programs" "zsh" "ohMyZsh" "theme" ])
(mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "custom" ] [ "programs" "zsh" "ohMyZsh" "custom" ])
(mkRenamedOptionModule [ "programs" "zsh" "oh-my-zsh" "plugins" ] [ "programs" "zsh" "ohMyZsh" "plugins" ])
# Xen
(mkRenamedOptionModule [ "virtualisation" "xen" "qemu-package" ] [ "virtualisation" "xen" "package-qemu" ])
];
}

View File

@ -46,6 +46,18 @@ let
'';
};
googleAuthenticator = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
If set, users with enabled Google Authenticator (created
<filename>~/.google_authenticator</filename>) will be required
to provide Google Authenticator token to log in.
'';
};
};
usbAuth = mkOption {
default = config.security.pam.usb.enable;
type = types.bool;
@ -284,7 +296,12 @@ let
# prompts the user for password so we run it once with 'required' at an
# earlier point and it will run again with 'sufficient' further down.
# We use try_first_pass the second time to avoid prompting password twice
(optionalString (cfg.unixAuth && (config.security.pam.enableEcryptfs || cfg.pamMount || cfg.enableKwallet || cfg.enableGnomeKeyring)) ''
(optionalString (cfg.unixAuth &&
(config.security.pam.enableEcryptfs
|| cfg.pamMount
|| cfg.enableKwallet
|| cfg.enableGnomeKeyring
|| cfg.googleAuthenticator.enable)) ''
auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth
${optionalString config.security.pam.enableEcryptfs
"auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"}
@ -295,6 +312,8 @@ let
" kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")}
${optionalString cfg.enableGnomeKeyring
("auth optional ${pkgs.gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so")}
${optionalString cfg.googleAuthenticator.enable
"auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp"}
'') + ''
${optionalString cfg.unixAuth
"auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"}

View File

@ -6,14 +6,20 @@ let
cfg = config.services.slurm;
# configuration file can be generated by http://slurm.schedmd.com/configurator.html
configFile = pkgs.writeText "slurm.conf"
configFile = pkgs.writeText "slurm.conf"
''
${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''}
${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''}
${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''}
PlugStackConfig=${plugStackConfig}
${cfg.extraConfig}
'';
plugStackConfig = pkgs.writeText "plugstack.conf"
''
${optionalString cfg.enableSrunX11 ''optional ${pkgs.slurm-spank-x11}/lib/x11.so''}
'';
in
{
@ -28,7 +34,7 @@ in
enable = mkEnableOption "slurm control daemon";
};
client = {
enable = mkEnableOption "slurm rlient daemon";
@ -86,8 +92,19 @@ in
'';
};
enableSrunX11 = mkOption {
default = false;
type = types.bool;
description = ''
If enabled srun will accept the option "--x11" to allow for X11 forwarding
from within an interactive session or a batch job. This activates the
slurm-spank-x11 module. Note that this requires 'services.openssh.forwardX11'
to be enabled on the compute nodes.
'';
};
extraConfig = mkOption {
default = "";
default = "";
type = types.lines;
description = ''
Extra configuration options that will be added verbatim at
@ -134,7 +151,8 @@ in
environment.systemPackages = [ wrappedSlurm ];
systemd.services.slurmd = mkIf (cfg.client.enable) {
path = with pkgs; [ wrappedSlurm coreutils ];
path = with pkgs; [ wrappedSlurm coreutils ]
++ lib.optional cfg.enableSrunX11 slurm-spank-x11;
wantedBy = [ "multi-user.target" ];
after = [ "systemd-tmpfiles-clean.service" ];
@ -152,8 +170,9 @@ in
};
systemd.services.slurmctld = mkIf (cfg.server.enable) {
path = with pkgs; [ wrappedSlurm munge coreutils ];
path = with pkgs; [ wrappedSlurm munge coreutils ]
++ lib.optional cfg.enableSrunX11 slurm-spank-x11;
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "munged.service" ];
requires = [ "munged.service" ];

View File

@ -31,7 +31,7 @@ let
''
fn=$out/${name}
echo "event=${handler.event}" > $fn
echo "action=${pkgs.writeScript "${name}.sh" (concatStringsSep "\n" [ "#! ${pkgs.bash}/bin/sh" handler.action ])}" >> $fn
echo "action=${pkgs.writeShellScriptBin "${name}.sh" handler.action }/bin/${name}.sh '%e'" >> $fn
'';
in concatStringsSep "\n" (mapAttrsToList f (canonicalHandlers // config.services.acpid.handlers))
}
@ -69,11 +69,33 @@ in
};
});
description = "Event handlers.";
description = ''
Event handlers.
<note><para>
Handler can be a single command.
</para></note>
'';
default = {};
example = { mute = { event = "button/mute.*"; action = "amixer set Master toggle"; }; };
example = {
ac-power = {
event = "ac_adapter/*";
action = ''
vals=($1) # space separated string to array of multiple values
case ''${vals[3]} in
00000000)
echo unplugged >> /tmp/acpi.log
;;
00000001)
echo plugged in >> /tmp/acpi.log
;;
*)
echo unknown >> /tmp/acpi.log
;;
esac
'';
};
};
};
powerEventCommands = mkOption {

View File

@ -23,7 +23,7 @@ let kernel = config.boot.kernelPackages; in
###### implementation
config = lib.mkIf config.hardware.nvidiaOptimus.disable {
boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb"];
boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb" "nvidia-drm"];
boot.kernelModules = [ "bbswitch" ];
boot.extraModulePackages = [ kernel.bbswitch ];

View File

@ -106,10 +106,19 @@ in {
'';
};
package = mkOption {
description = "The zookeeper package to use";
default = pkgs.zookeeper;
defaultText = "pkgs.zookeeper";
type = types.package;
};
};
config = mkIf cfg.enable {
environment.systemPackages = [cfg.package];
systemd.services.zookeeper = {
description = "Zookeeper Daemon";
wantedBy = [ "multi-user.target" ];
@ -118,7 +127,7 @@ in {
serviceConfig = {
ExecStart = ''
${pkgs.jre}/bin/java \
-cp "${pkgs.zookeeper}/lib/*:${pkgs.zookeeper}/${pkgs.zookeeper.name}.jar:${configDir}" \
-cp "${cfg.package}/lib/*:${cfg.package}/${cfg.package.name}.jar:${configDir}" \
${escapeShellArgs cfg.extraCmdLineOptions} \
-Dzookeeper.datadir.autocreate=false \
${optionalString cfg.preferIPv4 "-Djava.net.preferIPv4Stack=true"} \

View File

@ -212,7 +212,7 @@ in
'' + concatStringsSep "\n" (
mapAttrsToList (n: c:
if c.hashedPassword != null then
"echo '${n}:${c.hashedPassword}' > ${cfg.dataDir}/passwd"
"echo '${n}:${c.hashedPassword}' >> ${cfg.dataDir}/passwd"
else optionalString (c.password != null)
"${pkgs.mosquitto}/bin/mosquitto_passwd -b ${cfg.dataDir}/passwd ${n} ${c.password}"
) cfg.users);

View File

@ -0,0 +1,63 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.networking.rxe;
runRxeCmd = cmd: ifcs:
concatStrings ( map (x: "${pkgs.rdma-core}/bin/rxe_cfg -n ${cmd} ${x};") ifcs);
startScript = pkgs.writeShellScriptBin "rxe-start" ''
${pkgs.rdma-core}/bin/rxe_cfg -n start
${runRxeCmd "add" cfg.interfaces}
${pkgs.rdma-core}/bin/rxe_cfg
'';
stopScript = pkgs.writeShellScriptBin "rxe-stop" ''
${runRxeCmd "remove" cfg.interfaces }
${pkgs.rdma-core}/bin/rxe_cfg -n stop
'';
in {
###### interface
options = {
networking.rxe = {
enable = mkEnableOption "RDMA over converged ethernet";
interfaces = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "eth0" ];
description = ''
Enable RDMA on the listed interfaces. The corresponding virtual
RDMA interfaces will be named rxe0 ... rxeN where the ordering
will be as they are named in the list. UDP port 4791 must be
open on the respective ethernet interfaces.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
systemd.services.rxe = {
path = with pkgs; [ kmod rdma-core ];
description = "RoCE interfaces";
wantedBy = [ "multi-user.target" ];
after = [ "systemd-modules-load.service" "network-online.target" ];
wants = [ "network-pre.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStart = "${startScript}/bin/rxe-start";
ExecStop = "${stopScript}/bin/rxe-stop";
};
};
};
}

View File

@ -30,6 +30,20 @@ in
'';
};
allowAnyUser = mkOption {
type = types.bool;
default = false;
description = ''
Whether to allow any user to lock the screen. This will install a
setuid wrapper to allow any user to start physlock as root, which
is a minor security risk. Call the physlock binary to use this instead
of using the systemd service.
Note that you might need to relog to have the correct binary in your
PATH upon changing this option.
'';
};
disableSysRq = mkOption {
type = types.bool;
default = true;
@ -79,28 +93,36 @@ in
###### implementation
config = mkIf cfg.enable {
config = mkIf cfg.enable (mkMerge [
{
# for physlock -l and physlock -L
environment.systemPackages = [ pkgs.physlock ];
# for physlock -l and physlock -L
environment.systemPackages = [ pkgs.physlock ];
systemd.services."physlock" = {
enable = true;
description = "Physlock";
wantedBy = optional cfg.lockOn.suspend "suspend.target"
++ optional cfg.lockOn.hibernate "hibernate.target"
++ cfg.lockOn.extraTargets;
before = optional cfg.lockOn.suspend "systemd-suspend.service"
++ optional cfg.lockOn.hibernate "systemd-hibernate.service"
++ cfg.lockOn.extraTargets;
serviceConfig.Type = "forking";
script = ''
${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}
'';
};
systemd.services."physlock" = {
enable = true;
description = "Physlock";
wantedBy = optional cfg.lockOn.suspend "suspend.target"
++ optional cfg.lockOn.hibernate "hibernate.target"
++ cfg.lockOn.extraTargets;
before = optional cfg.lockOn.suspend "systemd-suspend.service"
++ optional cfg.lockOn.hibernate "systemd-hibernate.service"
++ cfg.lockOn.extraTargets;
serviceConfig = {
Type = "forking";
ExecStart = "${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}";
};
};
security.pam.services.physlock = {};
security.pam.services.physlock = {};
};
}
(mkIf cfg.allowAnyUser {
security.wrappers.physlock = { source = "${pkgs.physlock}/bin/physlock"; user = "root"; };
})
]);
}

View File

@ -35,24 +35,19 @@ in
description = ''
The package used for Xen binary.
'';
relatedPackages = [ "xen" "xen-light" ];
};
virtualisation.xen.qemu = mkOption {
type = types.path;
defaultText = "\${pkgs.xen}/lib/xen/bin/qemu-system-i386";
example = literalExample "''${pkgs.qemu_xen-light}/bin/qemu-system-i386";
description = ''
The qemu binary to use for Dom-0 backend.
'';
};
virtualisation.xen.qemu-package = mkOption {
virtualisation.xen.package-qemu = mkOption {
type = types.package;
defaultText = "pkgs.xen";
example = literalExample "pkgs.qemu_xen-light";
description = ''
The package with qemu binaries for xendomains.
The package with qemu binaries for dom0 qemu and xendomains.
'';
relatedPackages = [ "xen"
{ name = "qemu_xen-light"; comment = "For use with pkgs.xen-light."; }
];
};
virtualisation.xen.bootParams =
@ -158,8 +153,7 @@ in
} ];
virtualisation.xen.package = mkDefault pkgs.xen;
virtualisation.xen.qemu = mkDefault "${pkgs.xen}/lib/xen/bin/qemu-system-i386";
virtualisation.xen.qemu-package = mkDefault pkgs.xen;
virtualisation.xen.package-qemu = mkDefault pkgs.xen;
virtualisation.xen.stored = mkDefault "${cfg.package}/bin/oxenstored";
environment.systemPackages = [ cfg.package ];
@ -339,7 +333,8 @@ in
after = [ "xen-console.service" ];
requires = [ "xen-store.service" ];
serviceConfig.ExecStart = ''
${cfg.qemu} -xen-attach -xen-domid 0 -name dom0 -M xenpv \
${cfg.package-qemu}/${cfg.package-qemu.qemu-system-i386} \
-xen-attach -xen-domid 0 -name dom0 -M xenpv \
-nographic -monitor /dev/null -serial /dev/null -parallel /dev/null
'';
};
@ -448,7 +443,7 @@ in
before = [ "dhcpd.service" ];
restartIfChanged = false;
serviceConfig.RemainAfterExit = "yes";
path = [ cfg.package cfg.qemu-package ];
path = [ cfg.package cfg.package-qemu ];
environment.XENDOM_CONFIG = "${cfg.package}/etc/sysconfig/xendomains";
preStart = "mkdir -p /var/lock/subsys -m 755";
serviceConfig.ExecStart = "${cfg.package}/etc/init.d/xendomains start";

View File

@ -336,6 +336,7 @@ in rec {
tests.radicale = callTest tests/radicale.nix {};
tests.rspamd = callSubTests tests/rspamd.nix {};
tests.runInMachine = callTest tests/run-in-machine.nix {};
tests.rxe = callTest tests/rxe.nix {};
tests.samba = callTest tests/samba.nix {};
tests.sddm = callSubTests tests/sddm.nix {};
tests.simple = callTest tests/simple.nix {};

53
nixos/tests/rxe.nix Normal file
View File

@ -0,0 +1,53 @@
import ./make-test.nix ({ pkgs, ... } :
let
node = { config, pkgs, lib, ... } : {
networking = {
firewall = {
allowedUDPPorts = [ 4791 ]; # open RoCE port
allowedTCPPorts = [ 4800 ]; # port for test utils
};
rxe = {
enable = true;
interfaces = [ "eth1" ];
};
};
environment.systemPackages = with pkgs; [ rdma-core screen ];
};
in {
name = "rxe";
nodes = {
server = node;
client = node;
};
testScript = ''
# Test if rxe interface comes up
$server->waitForUnit("default.target");
$server->succeed("systemctl status rxe.service");
$server->succeed("ibv_devices | grep rxe0");
$client->waitForUnit("default.target");
# ping pong test
$server->succeed("screen -dmS rc_pingpong ibv_rc_pingpong -p 4800 -g0");
$client->succeed("sleep 2; ibv_rc_pingpong -p 4800 -g0 server");
$server->succeed("screen -dmS uc_pingpong ibv_uc_pingpong -p 4800 -g0");
$client->succeed("sleep 2; ibv_uc_pingpong -p 4800 -g0 server");
$server->succeed("screen -dmS ud_pingpong ibv_ud_pingpong -p 4800 -s 1024 -g0");
$client->succeed("sleep 2; ibv_ud_pingpong -p 4800 -s 1024 -g0 server");
$server->succeed("screen -dmS srq_pingpong ibv_srq_pingpong -p 4800 -g0");
$client->succeed("sleep 2; ibv_srq_pingpong -p 4800 -g0 server");
$server->succeed("screen -dmS rping rping -s -a server -C 10");
$client->succeed("sleep 2; rping -c -a server -C 10");
'';
})

View File

@ -26,6 +26,8 @@ rec {
dashpay = callPackage ./dashpay.nix { };
dero = callPackage ./dero.nix { };
dogecoin = callPackage ./dogecoin.nix { withGui = true; };
dogecoind = callPackage ./dogecoin.nix { withGui = false; };
@ -59,6 +61,8 @@ rec {
stellar-core = callPackage ./stellar-core.nix { };
sumokoin = callPackage ./sumokoin.nix { };
zcash = callPackage ./zcash {
withGui = false;
openssl = openssl_1_1_0;

View File

@ -0,0 +1,27 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, unbound, openssl, boost
, libunwind, lmdb, miniupnpc, readline }:
stdenv.mkDerivation rec {
name = "dero-${version}";
version = "0.11.3";
src = fetchFromGitHub {
owner = "deroproject";
repo = "dero";
rev = "v${version}";
sha256 = "0cv4yg2lkmkdhlc3753gnbg1nzldk2kxwdyizwhvanq3ycqban4b";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ boost miniupnpc openssl lmdb unbound readline ];
enableParallelBuilding = true;
meta = with lib; {
description = "Secure, private blockchain with smart contracts based on Monero";
homepage = "https://dero.io/";
license = licenses.bsd3;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,35 @@
{ lib, stdenv, fetchFromGitHub, cmake, unbound, openssl, boost
, libunwind, lmdb, miniupnpc }:
stdenv.mkDerivation rec {
name = "sumokoin-${version}";
version = "0.2.0.0";
src = fetchFromGitHub {
owner = "sumoprojects";
repo = "sumokoin";
rev = "v${version}";
sha256 = "0ndgcawhxh3qb3llrrilrwzhs36qpxv7f53rxgcansbff9b3za6n";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ unbound openssl boost libunwind lmdb miniupnpc ];
postPatch = ''
substituteInPlace src/blockchain_db/lmdb/db_lmdb.cpp --replace mdb_size_t size_t
'';
cmakeFlags = [
"-DLMDB_INCLUDE=${lmdb}/include"
];
enableParallelBuilding = true;
meta = with lib; {
description = "Sumokoin is a fork of Monero and a truely fungible cryptocurrency";
homepage = "https://www.sumokoin.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ fpletz ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,37 @@
{ stdenv, fetchFromGitHub, pkgconfig, cairomm, cmake, lv2, libpthreadstubs, libXdmcp, libXft, ntk, pcre, fftwFloat, zita-resampler }:
stdenv.mkDerivation rec {
name = "infamousPlugins-v${version}";
version = "0.2.04";
src = fetchFromGitHub {
owner = "ssj71";
repo = "infamousPlugins";
rev = "v${version}";
sha256 = "0hmqk80w4qxq09iag7b7srf2g0wigkyhzq0ywxvhz2iz0hq9k0dh";
};
nativeBuildInputs = [ pkgconfig cmake ];
buildInputs = [ cairomm lv2 libpthreadstubs libXdmcp libXft ntk pcre fftwFloat zita-resampler ];
meta = with stdenv.lib; {
homepage = https://ssj71.github.io/infamousPlugins;
description = "A collection of open-source LV2 plugins";
longDescription = ''
These are audio plugins in the LV2 format, developed for linux. Most are suitable for live use.
This collection contains:
* Cellular Automaton Synth - additive synthesizer, where 16 harmonics are added according to rules of elementary cellular automata
* Envelope Follower - a fully featured envelope follower plugin
* Hip2B - a distortion/destroyer plugin
* cheap distortion - another distortion plugin, but this one I wanted to get it as light as possible
* stuck - a clone of the electro-harmonix freeze
* power cut - this effect is commonly called tape stop
* power up - the opposite of the power cut
* ewham - a whammy style pitchshifter
* lushlife - a simulated double tracking plugin capable of everything from a thin beatle effect to thick lush choruses to weird outlandish effects
'';
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
};
}

View File

@ -27,9 +27,9 @@ in rec {
preview = mkStudio {
pname = "android-studio-preview";
version = "3.1.0.9"; # "Android Studio 3.1 Beta 1"
build = "173.4567466";
sha256Hash = "01c6a46pk5zbhwk2w038nm68fkx86nafiw1v2i5rdr93mxvx9cag";
version = "3.1.0.10"; # "Android Studio 3.1 Beta 2"
build = "173.4580418";
sha256Hash = "0s56vbyq6b1q75ss6pqvhzwqzb6xbp6841f3y5cwhrch2xalxjkc";
meta = stable.meta // {
description = "The Official IDE for Android (preview version)";

View File

@ -1,6 +1,5 @@
{ stdenv, lib, makeDesktopItem, makeWrapper, lndir
{ stdenv, lib, makeDesktopItem, makeWrapper
, vimUtils
, neovim
, bundlerEnv, ruby
, pythonPackages
, python3Packages

View File

@ -1 +1 @@
WGET_ARGS=( https://download.kde.org/stable/applications/17.12.1/ -A '*.tar.xz' )
WGET_ARGS=( https://download.kde.org/stable/applications/17.12.2/ -A '*.tar.xz' )

File diff suppressed because it is too large Load Diff

View File

@ -8,34 +8,17 @@
# plugin derivations in the Nix store and nowhere else.
with builtins; buildDotnetPackage rec {
baseName = "keepass";
version = "2.37";
version = "2.38";
src = fetchurl {
url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
sha256 = "1wfbpfjng1blzkbjnxsdnny544297bm9869ianbr6l0hrvcgv3qx";
sha256 = "0m33gfpvv01xc28k4rrc8llbyk6qanm9rsqcnv8ydms0cr78dbbk";
};
sourceRoot = ".";
buildInputs = [ unzip makeWrapper icoutils ];
pluginLoadPathsPatch =
let outputLc = toString (add 7 (length plugins));
patchTemplate = readFile ./keepass-plugins.patch;
loadTemplate = readFile ./keepass-plugins-load.patch;
loads =
lib.concatStrings
(map
(p: replaceStrings ["$PATH$"] [ (unsafeDiscardStringContext (toString p)) ] loadTemplate)
plugins);
in replaceStrings ["$OUTPUT_LC$" "$DO_LOADS$"] [outputLc loads] patchTemplate;
passAsFile = [ "pluginLoadPathsPatch" ];
postPatch = ''
sed -i 's/\r*$//' KeePass/Forms/MainForm.cs
patch -p1 <$pluginLoadPathsPatchPath
'';
preConfigure = ''
rm -rvf Build/*
find . -name "*.sln" -print -exec sed -i 's/Format Version 10.00/Format Version 11.00/g' {} \;

View File

@ -1 +0,0 @@
+ m_pluginManager.LoadAllPlugins("$PATH$/lib/dotnet/keepass", SearchOption.TopDirectoryOnly, new string[] {});

View File

@ -1,46 +0,0 @@
--- old/KeePass/Forms/MainForm.cs
+++ new/KeePass/Forms/MainForm.cs
@@ -386,42 +386,$OUTPUT_LC$ @@ namespace KeePass.Forms
m_pluginManager.UnloadAllPlugins();
if(AppPolicy.Current.Plugins)
{
- string[] vExclNames = new string[] {
- AppDefs.FileNames.Program, AppDefs.FileNames.XmlSerializers,
- AppDefs.FileNames.NativeLib32, AppDefs.FileNames.NativeLib64,
- AppDefs.FileNames.ShInstUtil
- };
-
- string strPlgRoot = UrlUtil.GetFileDirectory(
- WinUtil.GetExecutable(), false, true);
- m_pluginManager.LoadAllPlugins(strPlgRoot, SearchOption.TopDirectoryOnly,
- vExclNames);
-
- if(!NativeLib.IsUnix())
- {
- string strPlgSub = UrlUtil.EnsureTerminatingSeparator(strPlgRoot,
- false) + AppDefs.PluginsDir;
- m_pluginManager.LoadAllPlugins(strPlgSub, SearchOption.AllDirectories,
- vExclNames);
- }
- else // Unix
- {
- try
- {
- DirectoryInfo diPlgRoot = new DirectoryInfo(strPlgRoot);
- foreach(DirectoryInfo diSub in diPlgRoot.GetDirectories())
- {
- if(diSub == null) { Debug.Assert(false); continue; }
-
- if(string.Equals(diSub.Name, AppDefs.PluginsDir,
- StrUtil.CaseIgnoreCmp))
- m_pluginManager.LoadAllPlugins(diSub.FullName,
- SearchOption.AllDirectories, vExclNames);
- }
- }
- catch(Exception) { Debug.Assert(false); }
- }
- }
$DO_LOADS$+ }
// Delete old files *after* loading plugins (when timestamps
// of loaded plugins have been updated already)

View File

@ -1,48 +1,42 @@
{ stdenv, fetchurl, taskwarrior, perl, ncurses }:
{ stdenv, fetchFromGitHub, makeWrapper, perl, ncurses, taskwarrior }:
stdenv.mkDerivation rec {
version = "0.8";
version = "2017-05-15";
name = "tasknc-${version}";
src = fetchurl {
url = "https://github.com/mjheagle8/tasknc/archive/v${version}.tar.gz";
sha256 = "0max5schga9hmf3vfqk2ic91dr6raxglyyjcqchzla280kxn5c28";
src = fetchFromGitHub {
owner = "lharding";
repo = "tasknc";
rev = "c41d0240e9b848e432f01de735f28de93b934ae7";
sha256 = "0f7l7fy06p33vw6f6sjnjxfhw951664pmwhjl573jvmh6gi2h1yr";
};
nativeBuildInputs = [
makeWrapper
perl # For generating the man pages with pod2man
];
buildInputs = [ ncurses ];
hardeningDisable = [ "format" ];
#
# I know this is ugly, but the Makefile does strange things in this package,
# so we have to:
#
# 1. Remove the "doc" task dependency from the "all" target
# 2. Remove the "tasknc.1" task dependency from the "install" target
# 3. Remove the installing of the tasknc.1 file from the install target as
# we just removed the build target for it.
#
# TODO : One could also provide a patch for the doc/manual.pod file so it
# actually builds, but I'm not familiar with this, so this is the faster
# approach for me. We have no manpage, though.
#
preConfigure = ''
sed -i -r 's,(all)(.*)doc,\1\2,' Makefile
sed -i -r 's,(install)(.*)tasknc\.1,\1\2,' Makefile
sed -i -r 's,install\ -D\ -m644\ tasknc\.1\ (.*),,' Makefile
'';
buildFlags = [ "VERSION=${version}" ];
installPhase = ''
mkdir $out/bin/ -p
mkdir $out/share/man1 -p
mkdir $out/share/tasknc -p
DESTDIR=$out PREFIX= MANPREFIX=share make install
mkdir -p $out/bin/
mkdir -p $out/share/man/man1
mkdir -p $out/share/tasknc
DESTDIR=$out PREFIX= MANPREFIX=/share/man make install
wrapProgram $out/bin/tasknc --prefix PATH : ${taskwarrior}/bin
'';
buildInputs = [ taskwarrior perl ncurses ];
meta = {
homepage = https://github.com/mjheagle8/tasknc;
meta = with stdenv.lib; {
homepage = https://github.com/lharding/tasknc;
description = "A ncurses wrapper around taskwarrior";
maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
platforms = stdenv.lib.platforms.linux; # Cannot test others
maintainers = with maintainers; [ matthiasbeyer infinisil ];
platforms = platforms.linux; # Cannot test others
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, cmake, openssl, gst_all_1, fetchFromGitHub
, qtbase, qtmultimedia, qtwebengine
, version ? "0.9.94"
, sourceSha ? "19mfm0f6qqkd78aa6q4nq1y9gnlasqiyk68zgqjp1i03g70h08k5"
}:
stdenv.mkDerivation {
name = "otter-browser-${version}";
src = fetchFromGitHub {
owner = "OtterBrowser";
repo = "otter-browser";
rev = "v${version}";
sha256 = sourceSha;
};
nativeBuildInputs = [ cmake ];
buildInputs = [ qtbase qtmultimedia qtwebengine ];
meta = with stdenv.lib; {
license = licenses.gpl3Plus;
description = "Browser aiming to recreate the best aspects of the classic Opera (12.x) UI using Qt5";
maintainers = with maintainers; [ lheckemann ];
};
}

View File

@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'terraform_landscape'

View File

@ -0,0 +1,25 @@
GEM
remote: https://rubygems.org/
specs:
colorize (0.8.1)
commander (4.4.4)
highline (~> 1.7.2)
diffy (3.2.0)
highline (1.7.10)
polyglot (0.3.5)
terraform_landscape (0.1.17)
colorize (~> 0.7)
commander (~> 4.4)
diffy (~> 3.0)
treetop (~> 1.6)
treetop (1.6.9)
polyglot (~> 0.3)
PLATFORMS
ruby
DEPENDENCIES
terraform_landscape
BUNDLED WITH
1.14.6

View File

@ -0,0 +1,19 @@
{ lib, bundlerEnv, ruby }:
bundlerEnv rec {
name = "terraform-landscape-${version}";
version = (import gemset).terraform_landscape.version;
inherit ruby;
gemfile = ./Gemfile;
lockfile = ./Gemfile.lock;
gemset = ./gemset.nix;
meta = with lib; {
description = "Improve Terraform's plan output to be easier to read and understand";
homepage = https://github.com/coinbase/terraform-landscape;
license = with licenses; apsl20;
maintainers = with maintainers; [ mbode ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,61 @@
{
colorize = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
type = "gem";
};
version = "0.8.1";
};
commander = {
dependencies = ["highline"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "165yr8qzan3gnk241mnwxsvdfwp6p1afg13z0mqdily6lh95acl9";
type = "gem";
};
version = "4.4.4";
};
diffy = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "015nn9zaciqj43mfpjlw619r5dvnfkrjcka8nsa6j260v6qya941";
type = "gem";
};
version = "3.2.0";
};
highline = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
type = "gem";
};
version = "1.7.10";
};
polyglot = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
type = "gem";
};
version = "0.3.5";
};
terraform_landscape = {
dependencies = ["colorize" "commander" "diffy" "treetop"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bx8nfqbpxb2hnxnnl1m4sq6jlzf451c85m047jfq04b6w9691fl";
type = "gem";
};
version = "0.1.17";
};
treetop = {
dependencies = ["polyglot"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sdkd1v2h8dhj9ncsnpywmqv7w1mdwsyc5jwyxlxwriacv8qz8bd";
type = "gem";
};
version = "1.6.9";
};
}

View File

@ -12,7 +12,7 @@ pythonPackages.buildPythonApplication rec {
sha256 = "04sgns9qczzw2152gqdr6bjyy4fmgs26cz8n3qck94l0j51rxhz8";
};
propagatedBuildInputs = with pythonPackages; [ msgpack pyqt4 numpy pyopencl ] ++ [ openssl ];
propagatedBuildInputs = with pythonPackages; [ msgpack-python pyqt4 numpy pyopencl ] ++ [ openssl ];
preConfigure = ''
# Remove interaction and misleading output

View File

@ -1,35 +0,0 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "syncthing-${version}";
version = "0.12.15";
rev = "v${version}";
goPackagePath = "github.com/syncthing/syncthing";
src = fetchFromGitHub {
inherit rev;
owner = "syncthing";
repo = "syncthing";
sha256 = "0g4sj509h45iq6g7b0pl88rbbn7c7s01774yjc6bl376x1xrl6a1";
};
goDeps = ./deps.nix;
postPatch = ''
# Mostly a cosmetic change
sed -i 's,unknown-dev,${version},g' cmd/syncthing/main.go
'';
preBuild = ''
export buildFlagsArray+=("-tags" "noupgrade release")
'';
meta = {
knownVulnerabilities = [ "CVE-2017-1000420" ];
homepage = https://www.syncthing.net/;
description = "Open Source Continuous File Synchronization";
license = stdenv.lib.licenses.mpl20;
platforms = with stdenv.lib.platforms; linux ++ freebsd ++ openbsd ++ netbsd;
};
}

View File

@ -1,128 +0,0 @@
[
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6";
sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "62ac18b461605b4be188bbc7300e9aa2bc836cd4";
sha256 = "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p";
};
}
{
goPackagePath = "github.com/rcrowley/go-metrics";
fetch = {
type = "git";
url = "https://github.com/rcrowley/go-metrics";
rev = "1ce93efbc8f9c568886b2ef85ce305b2217b3de3";
sha256 = "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa";
};
}
{
goPackagePath = "github.com/kardianos/osext";
fetch = {
type = "git";
url = "https://github.com/kardianos/osext";
rev = "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc";
sha256 = "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a";
};
}
{
goPackagePath = "github.com/bkaradzic/go-lz4";
fetch = {
type = "git";
url = "https://github.com/bkaradzic/go-lz4";
rev = "74ddf82598bc4745b965729e9c6a463bedd33049";
sha256 = "1vdid8v0c2v2qhrg9rzn3l7ya1h34jirrxfnir7gv7w6s4ivdvc1";
};
}
{
goPackagePath = "github.com/calmh/luhn";
fetch = {
type = "git";
url = "https://github.com/calmh/luhn";
rev = "0c8388ff95fa92d4094011e5a04fc99dea3d1632";
sha256 = "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs";
};
}
{
goPackagePath = "golang.org/x/text";
fetch = {
type = "git";
url = "https://go.googlesource.com/text";
rev = "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e";
sha256 = "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14";
};
}
{
goPackagePath = "github.com/vitrun/qart";
fetch = {
type = "git";
url = "https://github.com/vitrun/qart";
rev = "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0";
sha256 = "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8";
};
}
{
goPackagePath = "github.com/calmh/du";
fetch = {
type = "git";
url = "https://github.com/calmh/du";
rev = "3c0690cca16228b97741327b1b6781397afbdb24";
sha256 = "1mv6mkbslfc8giv47kyl97ny0igb3l7jya5hc75sm54xi6g205wa";
};
}
{
goPackagePath = "github.com/calmh/xdr";
fetch = {
type = "git";
url = "https://github.com/calmh/xdr";
rev = "e467b5aeb65ca8516fb3925c84991bf1d7cc935e";
sha256 = "1bi4b2xkjzcr0vq1wxz14i9943k71sj092dam0gdmr9yvdrg0nra";
};
}
{
goPackagePath = "github.com/juju/ratelimit";
fetch = {
type = "git";
url = "https://github.com/juju/ratelimit";
rev = "772f5c38e468398c4511514f4f6aa9a4185bc0a0";
sha256 = "02rs61ay6sq499lxxszjsrxp33m6zklds1xrmnr5fk73vpqfa28p";
};
}
{
goPackagePath = "github.com/thejerf/suture";
fetch = {
type = "git";
url = "https://github.com/thejerf/suture";
rev = "99c1f2d613756768fc4299acd9dc621e11ed3fd7";
sha256 = "094ksr2nlxhvxr58nbnzzk0prjskb21r86jmxqjr3rwg4rkwn6d4";
};
}
{
goPackagePath = "github.com/golang/snappy";
fetch = {
type = "git";
url = "https://github.com/golang/snappy";
rev = "723cc1e459b8eea2dea4583200fd60757d40097a";
sha256 = "0bprq0qb46f5511b5scrdqqzskqqi2z8b4yh3216rv0n1crx536h";
};
}
{
goPackagePath = "github.com/syndtr/goleveldb";
fetch = {
type = "git";
url = "https://github.com/syndtr/goleveldb";
rev = "1a9d62f03ea92815b46fcaab357cfd4df264b1a0";
sha256 = "04ywbif36fiah4fw0x2abr5q3p4fdhi6q57d5icc2mz03q889vhb";
};
}
]

View File

@ -1,39 +0,0 @@
{ stdenv, fetchgit, go }:
stdenv.mkDerivation rec {
version = "0.13.10";
name = "syncthing-${version}";
src = fetchgit {
url = https://github.com/syncthing/syncthing;
rev = "refs/tags/v${version}";
sha256 = "07q3j6mnrza719rnvbkdsmvlkyr2pch5sj2l204m5iy5mxaghpx7";
};
buildInputs = [ go ];
buildPhase = ''
mkdir -p src/github.com/syncthing
ln -s $(pwd) src/github.com/syncthing/syncthing
export GOPATH=$(pwd)
# Syncthing's build.go script expects this working directory
cd src/github.com/syncthing/syncthing
go run build.go -no-upgrade -version v${version} install all
'';
installPhase = ''
mkdir -p $out/bin
cp bin/* $out/bin
'';
meta = {
knownVulnerabilities = [ "CVE-2017-1000420" ];
homepage = https://www.syncthing.net/;
description = "Open Source Continuous File Synchronization";
license = stdenv.lib.licenses.mpl20;
maintainers = with stdenv.lib.maintainers; [pshendry];
platforms = with stdenv.lib.platforms; linux ++ freebsd ++ openbsd ++ netbsd;
};
}

View File

@ -0,0 +1,61 @@
{ stdenv
, fetchFromGitHub
, gettext
, libxml2
, pkgconfig
, gtk3
, granite
, gnome3
, json_glib
, cmake
, ninja
, libgudev
, libevdev
, vala
, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "spice-up-${version}";
version = "1.2.1";
src = fetchFromGitHub {
owner = "Philip-Scott";
repo = "Spice-up";
rev = version;
sha256 = "0cbyhi6d99blv33183j6nakzcqxz5hqy9ijykiasbmdycfd5q0fh";
};
USER = "nix-build-user";
XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [
"${granite}/share"
"${gnome3.libgee}/share"
];
nativeBuildInputs = [
pkgconfig
wrapGAppsHook
vala
cmake
ninja
gettext
libxml2
];
buildInputs = [
gtk3
granite
gnome3.libgee
json_glib
libgudev
libevdev
gnome3.gnome_themes_standard
];
meta = with stdenv.lib; {
description = "Create simple and beautiful presentations on the Linux desktop";
homepage = https://github.com/Philip-Scott/Spice-up;
maintainers = with maintainers; [ samdroid-apps ];
platforms = platforms.linux;
# The COPYING file has GPLv3; some files have GPLv2+ and some have GPLv3+
license = licenses.gpl3Plus;
};
}

View File

@ -16,8 +16,7 @@ stdenv.mkDerivation rec {
"PREFIX=$(out)"
"LUA_INCLUDE=${lua52Packages.lua}/include"
"LUA_LIB=${lua52Packages.lua}/lib/liblua.so"
"XFT_PACKAGE=--libs=\{-lX11 -lXft\}"
];
] ++ stdenv.lib.optional stdenv.isLinux "XFT_PACKAGE=--libs=\{-lX11 -lXft\}";
dontUseNinjaBuild = true;
dontUseNinjaInstall = true;
@ -37,11 +36,12 @@ stdenv.mkDerivation rec {
];
# To be able to find <Xft.h>
NIX_CFLAGS_COMPILE = "-I${libXft.dev}/include/X11";
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isLinux "-I${libXft.dev}/include/X11";
# Binaries look for LuaFileSystem library (lfs.so) at runtime
postInstall = ''
wrapProgram $out/bin/wordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so";
'' + stdenv.lib.optionalString stdenv.isLinux ''
wrapProgram $out/bin/xwordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so";
'';
@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
homepage = https://cowlark.com/wordgrinder;
license = licenses.mit;
maintainers = with maintainers; [ matthiasbeyer ];
platforms = with stdenv.lib.platforms; linux;
platforms = with stdenv.lib.platforms; linux ++ darwin;
};
}

View File

@ -0,0 +1,42 @@
{ stdenv
, fetchFromGitHub
, zlib
, pkgs
, mpi ? false
}:
stdenv.mkDerivation rec {
pname = "RAxML";
version = "8.2.11";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "stamatak";
repo = "standard-${pname}";
rev = "v${version}";
sha256 = "08fmqrr7y5a2fmmrgfz2p0hmn4mn71l5yspxfcwwsqbw6vmdfkhg";
};
buildInputs = if mpi then [ pkgs.openmpi ] else [];
# TODO darwin, AVX and AVX2 makefile targets
buildPhase = if mpi then ''
make -f Makefile.MPI.gcc
'' else ''
make -f Makefile.SSE3.PTHREADS.gcc
'';
installPhase = if mpi then ''
mkdir -p $out/bin && cp raxmlHPC-MPI $out/bin
'' else ''
mkdir -p $out/bin && cp raxmlHPC-PTHREADS-SSE3 $out/bin
'';
meta = with stdenv.lib; {
description = "A tool for Phylogenetic Analysis and Post-Analysis of Large Phylogenies";
license = licenses.gpl3;
homepage = https://sco.h-its.org/exelixis/web/software/raxml/;
maintainers = [ maintainers.unode ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View File

@ -0,0 +1,22 @@
diff --git a/Makefile b/Makefile
index 2f51bfc..395d6f1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
CC= gcc
CFLAGS= -g -Wall -O2
#LDFLAGS= -Wl,-rpath,\$$ORIGIN/../lib
-DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1
+DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE # -D_CURSES_LIB=1
KNETFILE_O= knetfile.o
LOBJS= bgzf.o kstring.o bam_aux.o bam.o bam_import.o sam.o bam_index.o \
bam_pileup.o bam_lpileup.o bam_md.o razf.o faidx.o bedidx.o \
@@ -15,7 +15,7 @@ PROG= samtools
INCLUDES= -I.
SUBDIRS= . bcftools misc
LIBPATH=
-LIBCURSES= -lcurses # -lXCurses
+LIBCURSES= # -lcurses # -lXCurses
.SUFFIXES:.c .o
.PHONY: all lib

View File

@ -0,0 +1,34 @@
{ stdenv, fetchurl, zlib }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "samtools";
version = "0.1.19";
src = fetchurl {
url = "mirror://sourceforge/samtools/${name}.tar.bz2";
sha256 = "d080c9d356e5f0ad334007e4461cbcee3c4ca97b8a7a5a48c44883cf9dee63d4";
};
patches = [
./samtools-0.1.19-no-curses.patch
];
buildInputs = [ zlib ];
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/man
cp samtools $out/bin
cp samtools.1 $out/share/man
'';
meta = with stdenv.lib; {
description = "Tools for manipulating SAM/BAM/CRAM format";
license = licenses.mit;
homepage = http://samtools.sourceforge.net/;
platforms = platforms.unix;
maintainers = [ maintainers.unode ];
};
}

View File

@ -0,0 +1,47 @@
{ stdenv, fetchurl, symlinkJoin, gfortran, perl, procps
, libyaml, libxc, fftw, openblas, gsl
}:
let
version = "7.2";
fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; };
in stdenv.mkDerivation {
name = "octopus-${version}";
src = fetchurl {
url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz";
sha256 = "03zzmq72zdnjkhifbmlxs7ig7x6sf6mv8zv9mxhakm9hzwa9yn7m";
};
nativeBuildInputs = [ perl procps fftw.dev ];
buildInputs = [ libyaml gfortran libxc openblas gsl fftw.out ];
configureFlags = ''
--with-yaml-prefix=${libyaml}
--with-blas=-lopenblas
--with-lapack=-lopenblas
--with-fftw-prefix=${fftwAll}
--with-gsl-prefix=${gsl}
--with-libxc-prefix=${libxc}
'';
doCheck = false;
checkTarget = "check-short";
postPatch = ''
patchShebangs ./
'';
postConfigure = ''
patchShebangs testsuite/oct-run_testsuite.sh
'';
meta = with stdenv.lib; {
description = "Real-space time dependent density-functional theory code";
homepage = http://octopus-code.org;
maintainers = with maintainers; [ markuskowa ];
license = licenses.gpl2;
platforms = [ "x86_64-linux" ];
};
}

View File

@ -0,0 +1,33 @@
{ stdenv, fetchFromGitHub, qtbase, qttools, xz, boost, qmake, pkgconfig }:
stdenv.mkDerivation rec {
pname = "QMediathekView";
version = "2017-04-16";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "adamreichold";
repo = pname;
rev = "8c69892b95bf6825bd06a8c594168a98fe7cb2d1";
sha256 = "1wca1w4iywd3hmiwcqx6fv79p3x5n1cgbw2liw3hs24ch3z54ckm";
};
postPatch = ''
substituteInPlace ${pname}.pro \
--replace /usr ""
'';
buildInputs = [ qtbase qttools xz boost ];
nativeBuildInputs = [ qmake pkgconfig ];
installFlags = [ "INSTALL_ROOT=$(out)" ];
meta = with stdenv.lib; {
description = "An alternative Qt-based front-end for the database maintained by the MediathekView project";
inherit (src.meta) homepage;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ dotlambda ];
};
}

View File

@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
homepage = https://looking-glass.hostfission.com/;
license = licenses.gpl2Plus;
maintainers = [ maintainers.pneumaticat ];
platforms = platforms.linux;
platforms = [ "x86_64-linux" ];
};
}

View File

@ -101,6 +101,10 @@ stdenv.mkDerivation rec {
else if stdenv.isAarch64 then ''makeWrapper $out/bin/qemu-system-aarch64 $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"''
else "";
passthru = {
qemu-system-i386 = "bin/qemu-system-i386";
};
meta = with stdenv.lib; {
homepage = http://www.qemu.org/;
description = "A generic and open source machine emulator and virtualizer";

View File

@ -248,4 +248,10 @@ callPackage (import ./generic.nix (rec {
-i tools/libxl/libxl_device.c
'';
passthru = {
qemu-system-i386 = if withInternalQemu
then "lib/xen/bin/qemu-system-i386"
else throw "this xen has no qemu builtin";
};
})) ({ ocamlPackages = ocamlPackages_4_02; } // args)

View File

@ -176,4 +176,10 @@ callPackage (import ./generic.nix (rec {
-i tools/libxl/libxl_device.c
'';
passthru = {
qemu-system-i386 = if withInternalQemu
then "lib/xen/bin/qemu-system-i386"
else throw "this xen has no qemu builtin";
};
})) args

View File

@ -1,5 +1,6 @@
{ stdenv, pkgconfig, curl, darwin, libiconv, libgit2, libssh2,
openssl, sqlite, zlib, dbus_libs, dbus_glib, gdk_pixbuf, cairo, python3, ... }:
openssl, sqlite, zlib, dbus_libs, dbus_glib, gdk_pixbuf, cairo, python3,
libsodium, postgresql, ... }:
let
inherit (darwin.apple_sdk.frameworks) CoreFoundation;
@ -36,6 +37,7 @@ in
openssl-sys = attrs: {
buildInputs = [ pkgconfig openssl ];
};
dbus = attrs: {
buildInputs = [ pkgconfig dbus_libs ];
};
@ -60,4 +62,11 @@ in
xcb = attrs: {
buildInputs = [ python3 ];
};
thrussh-libsodium = attrs: {
buildInputs = [ pkgconfig libsodium ];
};
pq-sys = attr: {
buildInputs = [ pkgconfig postgresql ];
};
}

View File

@ -2,8 +2,7 @@
stdenv.mkDerivation rec {
name = "chez-scheme-${version}";
version = "9.5-${dver}";
dver = "20171109";
version = "9.5.1";
src = fetchgit {
url = "https://github.com/cisco/chezscheme.git";
@ -13,10 +12,12 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ coreutils ] ++ stdenv.lib.optional stdenv.isDarwin cctools;
buildInputs = [ ncurses libiconv libX11 ];
/* We patch out a very annoying 'feature' in ./configure, which
enableParallelBuilding = true;
/*
** We patch out a very annoying 'feature' in ./configure, which
** tries to use 'git' to update submodules.
**
** We have to also fix a few occurrences to tools with absolute
@ -38,19 +39,47 @@ stdenv.mkDerivation rec {
--replace "/usr/bin/libtool" libtool
'';
/* Don't use configureFlags, since that just implicitly appends
/*
** Don't use configureFlags, since that just implicitly appends
** everything onto a --prefix flag, which ./configure gets very angry
** about.
**
** Also, carefully set a manual workarea argument, so that we
** can later easily find the machine type that we built Chez
** for.
*/
configurePhase = ''
./configure --threads --installprefix=$out --installman=$out/share/man
./configure --threads \
--installprefix=$out --installman=$out/share/man \
--workarea=work
'';
enableParallelBuilding = true;
/*
** Install the kernel.o file, so we can compile C applications that
** link directly to the Chez runtime (for booting their own files, or
** embedding.)
**
** Ideally in the future this would be less of a hack and could be
** done by Chez itself. Alternatively, there could just be a big
** case statement matching to the different stdenv.platform values...
*/
postInstall = ''
m="$(ls ./work/boot)"
if [ "x''${m[1]}" != "x" ]; then
>&2 echo "ERROR: more than one bootfile build found; this is a nixpkgs error"
exit 1
fi
kernel=./work/boot/$m/kernel.o
kerneldest=$out/lib/csv${version}/$m/
echo installing $kernel to $kerneldest
cp $kernel $kerneldest/kernel.o
'';
meta = {
description = "A powerful and incredibly fast R6RS Scheme compiler";
homepage = "http://www.scheme.com";
homepage = https://cisco.github.io/ChezScheme/;
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];

View File

@ -26,6 +26,10 @@
!(targetPlatform.isDarwin
# On iOS, dynamic linking is not supported
&& (targetPlatform.isAarch64 || targetPlatform.isArm))
, # Whether to backport https://phabricator.haskell.org/D4388 for
# deterministic profiling symbol names, at the cost of a slightly
# non-standard GHC API
deterministicProfiling ? false
}:
assert !enableIntegerSimple -> gmp != null;
@ -85,7 +89,11 @@ stdenv.mkDerivation rec {
url = "https://git.haskell.org/ghc.git/commitdiff_plain/2fc8ce5f0c8c81771c26266ac0b150ca9b75c5f3";
sha256 = "03253ci40np1v6k0wmi4aypj3nmj3rdyvb1k6rwqipb30nfc719f";
})
];
] ++ stdenv.lib.optional deterministicProfiling
(fetchpatch { # Backport of https://phabricator.haskell.org/D4388 for more determinism
url = "https://github.com/shlevy/ghc/commit/fec1b8d3555c447c0d8da0e96b659be67c8bb4bc.patch";
sha256 = "1lyysz6hfd1njcigpm8xppbnkadqfs0kvrp7s8vqgb38pjswj5hg";
});
postPatch = "patchShebangs .";

View File

@ -3,7 +3,7 @@
# build-tools
, bootPkgs, alex, happy
, autoconf, automake, coreutils, fetchgit, perl, python3
, autoconf, automake, coreutils, fetchgit, fetchpatch, perl, python3
, libffi, libiconv ? null, ncurses
@ -25,6 +25,10 @@
enableShared ? true
, version ? "8.4.0.20180204"
, # Whether to backport https://phabricator.haskell.org/D4388 for
# deterministic profiling symbol names, at the cost of a slightly
# non-standard GHC API
deterministicProfiling ? false
}:
assert !enableIntegerSimple -> gmp != null;
@ -81,6 +85,12 @@ stdenv.mkDerivation rec {
outputs = [ "out" "doc" ];
patches = stdenv.lib.optional deterministicProfiling
(fetchpatch { # https://phabricator.haskell.org/D4388 for more determinism
url = "https://github.com/shlevy/ghc/commit/8b2dbd869d1a64de3e99fa8b1c9bb1140eee7099.patch";
sha256 = "0hxpiwhbg64rsyjdr4psh6dwyp58b96mad3adccvfr0x8hc6ba2m";
});
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.

View File

@ -25,13 +25,13 @@ in
stdenv.mkDerivation rec {
name = "go-${version}";
version = "1.8.5";
version = "1.8.7";
src = fetchFromGitHub {
owner = "golang";
repo = "go";
rev = "go${version}";
sha256 = "1ab021l3v29ciaxp738cjpbkh1chlsl6928672q3i82anmdzn5m5";
sha256 = "06v83fb75079dy2dc1927sr9bwvcpkkzl9d4wcw10scj70vj4a0x";
};
# perl is used for testing go vet

View File

@ -25,13 +25,13 @@ in
stdenv.mkDerivation rec {
name = "go-${version}";
version = "1.9.3";
version = "1.9.4";
src = fetchFromGitHub {
owner = "golang";
repo = "go";
rev = "go${version}";
sha256 = "0ivb6z30d6qrrkwjm9fdz9jfs567q4b6dljwwxc9shmdr2l9chah";
sha256 = "15d9lfiy1cjfz6nqnig5884ykqckx58cynd1bva1xna7bwcwwp2r";
};
# perl is used for testing go vet

View File

@ -607,7 +607,7 @@ self: super: {
};
# Need newer versions of their dependencies than the ones we have in LTS-10.x.
cabal2nix = super.cabal2nix.override { hpack = self.hpack_0_24_0; };
cabal2nix = super.cabal2nix.override { hpack = self.hpack_0_25_0; };
hlint = super.hlint.overrideScope (self: super: { haskell-src-exts = self.haskell-src-exts_1_20_1; });
# https://github.com/bos/configurator/issues/22
@ -1000,4 +1000,21 @@ self: super: {
'';
});
# Add a flag to enable building against GHC with D4388 applied (the
# deterministic profiling symbols patch). The flag is disabled by
# default, so we can apply this patch globally.
#
# https://github.com/ucsd-progsys/liquidhaskell/pull/1233
liquidhaskell =
let patch = pkgs.fetchpatch
{ url = https://github.com/ucsd-progsys/liquidhaskell/commit/1aeef1871760b2be46cc1cabd51311997d1d0bc0.patch;
sha256 = "0i55n6p3x9as648as0lvxy2alqb1n7c10xv9gp15cvq7zx6c8ydg";
};
in appendPatch super.liquidhaskell patch;
# https://github.com/nick8325/twee/pull/1
twee-lib = dontHaddock super.twee-lib;
# Needs older hlint
hpio = dontCheck super.hpio;
}

View File

@ -186,6 +186,7 @@ self: super: {
attoparsec = addBuildDepends super.attoparsec (with self; [semigroups fail]);
bytes = addBuildDepend super.bytes self.doctest;
case-insensitive = addBuildDepend super.case-insensitive self.semigroups;
contravariant = addBuildDepend super.contravariant self.semigroups;
dependent-map = addBuildDepend super.dependent-map self.semigroups;
distributive = addBuildDepend (dontCheck super.distributive) self.semigroups;
Glob = addBuildDepends super.Glob (with self; [semigroups]);

View File

@ -900,4 +900,19 @@ self: super: {
## error: build of /nix/store/iy6ccxh4dvp6plalx4ww81qrnhxm7jgr-wavefront-0.7.1.1.drv failed
jailbreak = true;
});
# Needed for (<>) in prelude
funcmp = super.funcmp_1_9;
# https://github.com/haskell-hvr/deepseq-generics/pull/4
deepseq-generics = doJailbreak super.deepseq-generics;
# SMP compat
# https://github.com/vincenthz/hs-securemem/pull/12
securemem =
let patch = pkgs.fetchpatch
{ url = https://github.com/vincenthz/hs-securemem/commit/6168d90b00bfc6a559d3b9160732343644ef60fb.patch;
sha256 = "0pfjmq57kcvxq7mhljd40whg2g77vdlvjyycdqmxxzz1crb6pipf";
};
in appendPatch super.securemem patch;
}

View File

@ -2979,6 +2979,7 @@ dont-distribute-packages:
aeson-streams: [ i686-linux, x86_64-linux, x86_64-darwin ]
aeson-t: [ i686-linux, x86_64-linux, x86_64-darwin ]
aeson-tiled: [ i686-linux, x86_64-linux, x86_64-darwin ]
aeson-typescript: [ i686-linux, x86_64-linux, x86_64-darwin ]
AesonBson: [ i686-linux, x86_64-linux, x86_64-darwin ]
affection: [ i686-linux, x86_64-linux, x86_64-darwin ]
affine-invariant-ensemble-mcmc: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -3042,6 +3043,7 @@ dont-distribute-packages:
angle: [ i686-linux, x86_64-linux, x86_64-darwin ]
Animas: [ i686-linux, x86_64-linux, x86_64-darwin ]
animate-example: [ i686-linux, x86_64-linux, x86_64-darwin ]
animate: [ i686-linux, x86_64-linux, x86_64-darwin ]
annah: [ i686-linux, x86_64-linux, x86_64-darwin ]
anonymous-sums-tests: [ i686-linux, x86_64-linux, x86_64-darwin ]
anonymous-sums: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -3138,6 +3140,7 @@ dont-distribute-packages:
atomo: [ i686-linux, x86_64-linux, x86_64-darwin ]
atp-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ]
ats-format: [ i686-linux, x86_64-linux, x86_64-darwin ]
ats-pkg: [ i686-linux, x86_64-linux, x86_64-darwin ]
attic-schedule: [ i686-linux, x86_64-linux, x86_64-darwin ]
AttoBencode: [ i686-linux, x86_64-linux, x86_64-darwin ]
AttoJson: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -3784,6 +3787,7 @@ dont-distribute-packages:
conductive-base: [ i686-linux, x86_64-linux, x86_64-darwin ]
conductive-hsc3: [ i686-linux, x86_64-linux, x86_64-darwin ]
conductive-song: [ i686-linux, x86_64-linux, x86_64-darwin ]
conduit-algorithms: [ i686-linux, x86_64-linux, x86_64-darwin ]
conduit-audio-lame: [ i686-linux, x86_64-linux, x86_64-darwin ]
conduit-audio-samplerate: [ i686-linux, x86_64-linux, x86_64-darwin ]
conduit-find: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -3947,6 +3951,7 @@ dont-distribute-packages:
d3js: [ i686-linux, x86_64-linux, x86_64-darwin ]
DAG-Tournament: [ i686-linux, x86_64-linux, x86_64-darwin ]
dag: [ i686-linux, x86_64-linux, x86_64-darwin ]
damnpacket: [ i686-linux, x86_64-linux, x86_64-darwin ]
Dangerous: [ i686-linux, x86_64-linux, x86_64-darwin ]
dao: [ i686-linux, x86_64-linux, x86_64-darwin ]
Dao: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -4550,6 +4555,7 @@ dont-distribute-packages:
fixed-precision: [ i686-linux, x86_64-linux, x86_64-darwin ]
fixed-storable-array: [ i686-linux, x86_64-linux, x86_64-darwin ]
fixed-width: [ i686-linux, x86_64-linux, x86_64-darwin ]
fixer: [ i686-linux, x86_64-linux, x86_64-darwin ]
fixfile: [ i686-linux, x86_64-linux, x86_64-darwin ]
fixie: [ i686-linux, x86_64-linux, x86_64-darwin ]
fizzbuzz-as-a-service: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -4713,6 +4719,7 @@ dont-distribute-packages:
general-prelude: [ i686-linux, x86_64-linux, x86_64-darwin ]
GeneralTicTacToe: [ i686-linux, x86_64-linux, x86_64-darwin ]
generators: [ i686-linux, x86_64-linux, x86_64-darwin ]
generic-accessors: [ i686-linux, x86_64-linux, x86_64-darwin ]
generic-binary: [ i686-linux, x86_64-linux, x86_64-darwin ]
generic-church: [ i686-linux, x86_64-linux, x86_64-darwin ]
generic-enum: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -4772,6 +4779,7 @@ dont-distribute-packages:
ghc-exactprint: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghc-generic-instances: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghc-imported-from: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghc-justdoit: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghc-man-completion: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghc-mod: [ i686-linux, x86_64-linux, x86_64-darwin ]
ghc-parser: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -4981,6 +4989,7 @@ dont-distribute-packages:
gsl-random: [ i686-linux, x86_64-linux, x86_64-darwin ]
gssapi-wai: [ i686-linux, x86_64-linux, x86_64-darwin ]
gssapi: [ i686-linux, x86_64-linux, x86_64-darwin ]
gstorable: [ i686-linux, x86_64-linux, x86_64-darwin ]
gstreamer: [ i686-linux, x86_64-linux, x86_64-darwin ]
GTALib: [ i686-linux, x86_64-linux, x86_64-darwin ]
gtfs: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -5141,6 +5150,7 @@ dont-distribute-packages:
happybara-webkit-server: [ i686-linux, x86_64-linux, x86_64-darwin ]
happybara-webkit: [ i686-linux, x86_64-linux, x86_64-darwin ]
happybara: [ i686-linux, x86_64-linux, x86_64-darwin ]
HappyTree: [ i686-linux, x86_64-linux, x86_64-darwin ]
hapstone: [ i686-linux, x86_64-linux, x86_64-darwin ]
HaPy: [ i686-linux, x86_64-linux, x86_64-darwin ]
haquery: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -5577,6 +5587,7 @@ dont-distribute-packages:
hocker: [ i686-linux, x86_64-linux, x86_64-darwin ]
hodatime: [ i686-linux, x86_64-linux, x86_64-darwin ]
HODE: [ i686-linux, x86_64-linux, x86_64-darwin ]
Hoed: [ i686-linux, x86_64-linux, x86_64-darwin ]
hofix-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ]
hog: [ i686-linux, x86_64-linux, x86_64-darwin ]
hogg: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -5624,6 +5635,7 @@ dont-distribute-packages:
hp2any-graph: [ i686-linux, x86_64-linux, x86_64-darwin ]
hp2any-manager: [ i686-linux, x86_64-linux, x86_64-darwin ]
hpack-convert: [ i686-linux, x86_64-linux, x86_64-darwin ]
hpack-dhall: [ i686-linux, x86_64-linux, x86_64-darwin ]
hpaco-lib: [ i686-linux, x86_64-linux, x86_64-darwin ]
hpaco: [ i686-linux, x86_64-linux, x86_64-darwin ]
hpage: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -5688,6 +5700,7 @@ dont-distribute-packages:
hs-twitterarchiver: [ i686-linux, x86_64-linux, x86_64-darwin ]
hs-vcard: [ i686-linux, x86_64-linux, x86_64-darwin ]
hs-watchman: [ i686-linux, x86_64-linux, x86_64-darwin ]
hs2ats: [ i686-linux, x86_64-linux, x86_64-darwin ]
hs2bf: [ i686-linux, x86_64-linux, x86_64-darwin ]
hs2dot: [ i686-linux, x86_64-linux, x86_64-darwin ]
Hs2lib: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -5747,6 +5760,7 @@ dont-distribute-packages:
HSlippyMap: [ i686-linux, x86_64-linux, x86_64-darwin ]
hslogger-reader: [ i686-linux, x86_64-linux, x86_64-darwin ]
hslogstash: [ i686-linux, x86_64-linux, x86_64-darwin ]
hsluv-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ]
hsmagick: [ i686-linux, x86_64-linux, x86_64-darwin ]
HSmarty: [ i686-linux, x86_64-linux, x86_64-darwin ]
Hsmtlib: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -5817,6 +5831,7 @@ dont-distribute-packages:
htestu: [ i686-linux, x86_64-linux, x86_64-darwin ]
HTicTacToe: [ i686-linux, x86_64-linux, x86_64-darwin ]
htlset: [ i686-linux, x86_64-linux, x86_64-darwin ]
html-entities: [ i686-linux, x86_64-linux, x86_64-darwin ]
html-rules: [ i686-linux, x86_64-linux, x86_64-darwin ]
html-tokenizer: [ i686-linux, x86_64-linux, x86_64-darwin ]
hts: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -6141,6 +6156,7 @@ dont-distribute-packages:
jsontsv: [ i686-linux, x86_64-linux, x86_64-darwin ]
jsonxlsx: [ i686-linux, x86_64-linux, x86_64-darwin ]
jspath: [ i686-linux, x86_64-linux, x86_64-darwin ]
judge: [ i686-linux, x86_64-linux, x86_64-darwin ]
judy: [ i686-linux, x86_64-linux, x86_64-darwin ]
juicy-gcode: [ i686-linux, x86_64-linux, x86_64-darwin ]
JuicyPixels-canvas: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -6918,6 +6934,7 @@ dont-distribute-packages:
netease-fm: [ i686-linux, x86_64-linux, x86_64-darwin ]
netlines: [ i686-linux, x86_64-linux, x86_64-darwin ]
netrc: [ i686-linux, x86_64-linux, x86_64-darwin ]
netrium: [ i686-linux, x86_64-linux, x86_64-darwin ]
NetSNMP: [ i686-linux, x86_64-linux, x86_64-darwin ]
netspec: [ i686-linux, x86_64-linux, x86_64-darwin ]
netstring-enumerator: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -6999,6 +7016,7 @@ dont-distribute-packages:
noodle: [ i686-linux, x86_64-linux, x86_64-darwin ]
NoSlow: [ i686-linux, x86_64-linux, x86_64-darwin ]
not-gloss-examples: [ i686-linux, x86_64-linux, x86_64-darwin ]
not-gloss: [ i686-linux, x86_64-linux, x86_64-darwin ]
notcpp: [ i686-linux, x86_64-linux, x86_64-darwin ]
notmuch-haskell: [ i686-linux, x86_64-linux, x86_64-darwin ]
notmuch-web: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -7221,6 +7239,7 @@ dont-distribute-packages:
peg: [ i686-linux, x86_64-linux, x86_64-darwin ]
peggy: [ i686-linux, x86_64-linux, x86_64-darwin ]
pell: [ i686-linux, x86_64-linux, x86_64-darwin ]
pencil: [ i686-linux, x86_64-linux, x86_64-darwin ]
penny-bin: [ i686-linux, x86_64-linux, x86_64-darwin ]
penny-lib: [ i686-linux, x86_64-linux, x86_64-darwin ]
penny: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -7247,6 +7266,7 @@ dont-distribute-packages:
persistent-protobuf: [ i686-linux, x86_64-linux, x86_64-darwin ]
persistent-redis: [ i686-linux, x86_64-linux, x86_64-darwin ]
persistent-relational-record: [ i686-linux, x86_64-linux, x86_64-darwin ]
persistent-test: [ i686-linux, x86_64-linux, x86_64-darwin ]
persistent-zookeeper: [ i686-linux, x86_64-linux, x86_64-darwin ]
persona-idp: [ i686-linux, x86_64-linux, x86_64-darwin ]
persona: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -7327,6 +7347,7 @@ dont-distribute-packages:
plivo: [ i686-linux, x86_64-linux, x86_64-darwin ]
plocketed: [ i686-linux, x86_64-linux, x86_64-darwin ]
plot-gtk-ui: [ i686-linux, x86_64-linux, x86_64-darwin ]
Plot-ho-matic: [ i686-linux, x86_64-linux, x86_64-darwin ]
plot-lab: [ i686-linux, x86_64-linux, x86_64-darwin ]
plot-light: [ i686-linux, x86_64-linux, x86_64-darwin ]
ploton: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -7404,6 +7425,7 @@ dont-distribute-packages:
potoki-core: [ i686-linux, x86_64-linux, x86_64-darwin ]
potoki: [ i686-linux, x86_64-linux, x86_64-darwin ]
powerpc: [ i686-linux, x86_64-linux, x86_64-darwin ]
powerqueue-distributed: [ i686-linux, x86_64-linux, x86_64-darwin ]
PPrinter: [ i686-linux, x86_64-linux, x86_64-darwin ]
pqc: [ i686-linux, x86_64-linux, x86_64-darwin ]
pqueue-mtl: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -7622,6 +7644,7 @@ dont-distribute-packages:
rasa: [ i686-linux, x86_64-linux, x86_64-darwin ]
rascal: [ i686-linux, x86_64-linux, x86_64-darwin ]
Rasenschach: [ i686-linux, x86_64-linux, x86_64-darwin ]
rattletrap: [ i686-linux, x86_64-linux, x86_64-darwin ]
raven-haskell-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ]
raw-feldspar: [ i686-linux, x86_64-linux, x86_64-darwin ]
rawr: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -7972,6 +7995,7 @@ dont-distribute-packages:
semiring-num: [ i686-linux, x86_64-linux, x86_64-darwin ]
semiring: [ i686-linux, x86_64-linux, x86_64-darwin ]
semver-range: [ i686-linux, x86_64-linux, x86_64-darwin ]
sendgrid-v3: [ i686-linux, x86_64-linux, x86_64-darwin ]
sensei: [ i686-linux, x86_64-linux, x86_64-darwin ]
sensenet: [ i686-linux, x86_64-linux, x86_64-darwin ]
sentence-jp: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -8015,6 +8039,7 @@ dont-distribute-packages:
servant-pushbullet-client: [ i686-linux, x86_64-linux, x86_64-darwin ]
servant-py: [ i686-linux, x86_64-linux, x86_64-darwin ]
servant-router: [ i686-linux, x86_64-linux, x86_64-darwin ]
servant-ruby: [ i686-linux, x86_64-linux, x86_64-darwin ]
servant-scotty: [ i686-linux, x86_64-linux, x86_64-darwin ]
servant-smsc-ru: [ i686-linux, x86_64-linux, x86_64-darwin ]
servant-snap: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -8050,6 +8075,7 @@ dont-distribute-packages:
shadowsocks: [ i686-linux, x86_64-linux, x86_64-darwin ]
shady-gen: [ i686-linux, x86_64-linux, x86_64-darwin ]
shady-graphics: [ i686-linux, x86_64-linux, x86_64-darwin ]
shake-ats: [ i686-linux, x86_64-linux, x86_64-darwin ]
shake-cabal-build: [ i686-linux, x86_64-linux, x86_64-darwin ]
shake-extras: [ i686-linux, x86_64-linux, x86_64-darwin ]
shake-minify: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -8111,6 +8137,7 @@ dont-distribute-packages:
simple-sql-parser: [ i686-linux, x86_64-linux, x86_64-darwin ]
simple-tabular: [ i686-linux, x86_64-linux, x86_64-darwin ]
simple-tar: [ i686-linux, x86_64-linux, x86_64-darwin ]
simple-vec3: [ i686-linux, x86_64-linux, x86_64-darwin ]
simple-zipper: [ i686-linux, x86_64-linux, x86_64-darwin ]
simpleargs: [ i686-linux, x86_64-linux, x86_64-darwin ]
SimpleGL: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -8276,6 +8303,7 @@ dont-distribute-packages:
sparsebit: [ i686-linux, x86_64-linux, x86_64-darwin ]
sparsecheck: [ i686-linux, x86_64-linux, x86_64-darwin ]
spata: [ i686-linux, x86_64-linux, x86_64-darwin ]
spatial-math: [ i686-linux, x86_64-linux, x86_64-darwin ]
special-functors: [ i686-linux, x86_64-linux, x86_64-darwin ]
specialize-th: [ i686-linux, x86_64-linux, x86_64-darwin ]
spelling-suggest: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -8409,6 +8437,7 @@ dont-distribute-packages:
strelka: [ i686-linux, x86_64-linux, x86_64-darwin ]
StrictBench: [ i686-linux, x86_64-linux, x86_64-darwin ]
strictly: [ i686-linux, x86_64-linux, x86_64-darwin ]
string-isos: [ i686-linux, x86_64-linux, x86_64-darwin ]
string-typelits: [ i686-linux, x86_64-linux, x86_64-darwin ]
stringlike: [ i686-linux, x86_64-linux, x86_64-darwin ]
stringprep: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -8798,6 +8827,7 @@ dont-distribute-packages:
twhs: [ i686-linux, x86_64-linux, x86_64-darwin ]
twidge: [ i686-linux, x86_64-linux, x86_64-darwin ]
twilight-stm: [ i686-linux, x86_64-linux, x86_64-darwin ]
twilio: [ i686-linux, x86_64-linux, x86_64-darwin ]
twill: [ i686-linux, x86_64-linux, x86_64-darwin ]
twiml: [ i686-linux, x86_64-linux, x86_64-darwin ]
twine: [ i686-linux, x86_64-linux, x86_64-darwin ]
@ -9148,6 +9178,7 @@ dont-distribute-packages:
ws: [ i686-linux, x86_64-linux, x86_64-darwin ]
wsdl: [ i686-linux, x86_64-linux, x86_64-darwin ]
wsedit: [ i686-linux, x86_64-linux, x86_64-darwin ]
wsjtx-udp: [ i686-linux, x86_64-linux, x86_64-darwin ]
wtk-gtk: [ i686-linux, x86_64-linux, x86_64-darwin ]
wtk: [ i686-linux, x86_64-linux, x86_64-darwin ]
wumpus-basic: [ i686-linux, x86_64-linux, x86_64-darwin ]

File diff suppressed because it is too large Load Diff

View File

@ -56,7 +56,6 @@ symlinkJoin {
# as a dedicated drv attribute, like `compiler-name`
name = ghc.name + "-with-packages";
paths = paths ++ [ghc];
extraOutputsToInstall = [ "out" "doc" ];
postBuild = ''
. ${makeWrapper}/nix-support/setup-hook

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "duktape-${version}";
version = "2.2.0";
src = fetchurl {
url = "http://duktape.org/duktape-${version}.tar.xz";
sha256 = "050csp065ll67dck94s0vdad5r5ck4jwsz1fn1y0fcvn88325xv2";
};
buildPhase = ''
make -f Makefile.sharedlibrary
make -f Makefile.cmdline
'';
installPhase = ''
install -d $out/bin
install -m755 duk $out/bin/
install -d $out/lib
install -m755 libduktape* $out/lib/
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "An embeddable Javascript engine, with a focus on portability and compact footprint";
homepage = "http://duktape.org/";
downloadPage = "http://duktape.org/download.html";
license = licenses.mit;
maintainers = [ maintainers.fgaz ];
platforms = platforms.linux;
};
}

View File

@ -13,8 +13,8 @@ in stdenv.mkDerivation rec {
propagatedBuildInput = [ maven ] ++ flatDeps;
find = ''find ${foldl' (x: y: x + " " + y) "" (map (x: x + "/m2") flatDeps)} -type d -printf '%P\n' | xargs -I {} mkdir -p $out/m2/{}'';
copy = ''cp -rsfu ${foldl' (x: y: x + " " + y) "" (map (x: x + "/m2/*") flatDeps)} $out/m2'';
find = ''find ${concatStringsSep " " (map (x: x + "/m2") flatDeps)} -type d -printf '%P\n' | xargs -I {} mkdir -p $out/m2/{}'';
copy = ''cp -rsfu ${concatStringsSep " " (map (x: x + "/m2/*") flatDeps)} $out/m2'';
phases = [ "unpackPhase" "buildPhase" ];

View File

@ -1,22 +1,42 @@
{ stdenv, fetchurl, perl, cmake, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
{ stdenv, fetchFromGitHub, perl, cmake, ninja, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
stdenv.mkDerivation rec {
majorVersion = "0.4";
minorVersion = "1";
name = "granite-${majorVersion}.${minorVersion}";
src = fetchurl {
url = "https://launchpad.net/granite/${majorVersion}/${majorVersion}.${minorVersion}/+download/${name}.tar.xz";
sha256 = "177h5h1q4qd7g99mzbczvz78j8c9jf4f1gwdj9f6imbc7r913d4b";
name = "granite-${version}";
version = "0.5";
src = fetchFromGitHub {
owner = "elementary";
repo = "granite";
rev = version;
sha256 = "15l8z1jkqhvappnr8jww27lfy3dwqybgsxk5iccyvnvzpjdh2s0h";
};
cmakeFlags = "-DINTROSPECTION_GIRDIR=share/gir-1.0/ -DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [perl cmake vala gobjectIntrospection glib gtk3 gnome3.libgee gettext];
meta = {
cmakeFlags = [
"-DINTROSPECTION_GIRDIR=share/gir-1.0/"
"-DINTROSPECTION_TYPELIBDIR=lib/girepository-1.0"
];
nativeBuildInputs = [
vala
pkgconfig
cmake
ninja
perl
gettext
gobjectIntrospection
];
buildInputs = [
glib
gtk3
gnome3.libgee
];
meta = with stdenv.lib; {
description = "An extension to GTK+ used by elementary OS";
longDescription = "An extension to GTK+ that provides several useful widgets and classes to ease application development. Designed for elementary OS.";
homepage = https://launchpad.net/granite;
license = stdenv.lib.licenses.lgpl3;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.vozz ];
homepage = https://github.com/elementary/granite;
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = [ maintainers.vozz ];
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ncurses, readline, autoreconfHook }:
stdenv.mkDerivation rec {
version = "1.6.1";
version = "1.6.2";
name = "hunspell-${version}";
src = fetchurl {
url = "https://github.com/hunspell/hunspell/archive/v${version}.tar.gz";
sha256 = "0j9c20sj7bgd6f77193g1ihy8w905byk2gdhdc0r9dsh7irr7x9h";
sha256 = "1i7lsv2cm0713ia3j5wjkcrhpfp3lqpjpwp4d3v18n7ycaqcxn9w";
};
outputs = [ "bin" "dev" "out" "man" ];

View File

@ -37,7 +37,7 @@ let
srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
patches = {
qtbase = [ ./qtbase.patch ];
qtbase = [ ./qtbase.patch ] ++ optional stdenv.isDarwin ./qtbase-darwin.patch;
qtdeclarative = [ ./qtdeclarative.patch ];
qtscript = [ ./qtscript.patch ];
qtserialport = [ ./qtserialport.patch ];

View File

@ -0,0 +1,35 @@
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
index 341d3bc..3368234 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
@@ -287,7 +287,7 @@ void QScanThread::getUserConfigurations()
QMacAutoReleasePool pool;
userProfiles.clear();
- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames];
+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames];
for (NSString *ifName in wifiInterfaces) {
CWInterface *wifiInterface = [[CWWiFiClient sharedWiFiClient] interfaceWithName:ifName];
@@ -602,7 +602,7 @@ void QCoreWlanEngine::doRequestUpdate()
QMacAutoReleasePool pool;
- NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames];
+ NSArray *wifiInterfaces = [CWWiFiClient interfaceNames];
for (NSString *ifName in wifiInterfaces) {
scanThread->interfaceName = QString::fromNSString(ifName);
scanThread->start();
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 5cd4beb..84919e6 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -320,7 +320,7 @@ static void qt_closePopups()
+ (void)applicationActivationChanged:(NSNotification*)notification
{
const id sender = self;
- NSEnumerator<NSWindow*> *windowEnumerator = nullptr;
+ NSEnumerator *windowEnumerator = nullptr;
NSApplication *application = [NSApplication sharedApplication];
#if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12)

View File

@ -44,6 +44,7 @@
, "js-beautify"
, "jsonlint"
, "jsontool"
, "json-diff"
, "json-refs"
, "json-server"
, "js-yaml"

View File

@ -4135,6 +4135,15 @@ let
sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
};
};
"cli-color-0.1.7" = {
name = "cli-color";
packageName = "cli-color";
version = "0.1.7";
src = fetchurl {
url = "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz";
sha1 = "adc3200fa471cc211b0da7f566b71e98b9d67347";
};
};
"cli-cursor-1.0.2" = {
name = "cli-cursor";
packageName = "cli-cursor";
@ -6998,6 +7007,15 @@ let
sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
};
};
"difflib-0.2.4" = {
name = "difflib";
packageName = "difflib";
version = "0.2.4";
src = fetchurl {
url = "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz";
sha1 = "b5e30361a6db023176d562892db85940a718f47e";
};
};
"director-1.2.7" = {
name = "director";
packageName = "director";
@ -7331,6 +7349,15 @@ let
sha1 = "531319715b0e81ffcc22eb28478ba27643e12c6c";
};
};
"dreamopt-0.6.0" = {
name = "dreamopt";
packageName = "dreamopt";
version = "0.6.0";
src = fetchurl {
url = "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz";
sha1 = "d813ccdac8d39d8ad526775514a13dda664d6b4b";
};
};
"dtrace-provider-0.6.0" = {
name = "dtrace-provider";
packageName = "dtrace-provider";
@ -7890,6 +7917,15 @@ let
sha512 = "0m7d1yd67hb93gsxv7790h9ayxg3pwf3vgih9v2kxqvsg073wim7jgwf3z57lksdczxnqv2d8gm4mfk4b29f6rc27a7c09vz9w348wc";
};
};
"es5-ext-0.8.2" = {
name = "es5-ext";
packageName = "es5-ext";
version = "0.8.2";
src = fetchurl {
url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz";
sha1 = "aba8d9e1943a895ac96837a62a39b3f55ecd94ab";
};
};
"es5class-2.3.1" = {
name = "es5class";
packageName = "es5class";
@ -11005,6 +11041,15 @@ let
sha1 = "6e62fae668947f88184d5c156ede7c5695a7e9c8";
};
};
"heap-0.2.6" = {
name = "heap";
packageName = "heap";
version = "0.2.6";
src = fetchurl {
url = "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz";
sha1 = "087e1f10b046932fc8594dd9e6d378afc9d1e5ac";
};
};
"help-me-1.1.0" = {
name = "help-me";
packageName = "help-me";
@ -32651,6 +32696,30 @@ in
production = true;
bypassCache = false;
};
json-diff = nodeEnv.buildNodePackage {
name = "json-diff";
packageName = "json-diff";
version = "0.5.2";
src = fetchurl {
url = "https://registry.npmjs.org/json-diff/-/json-diff-0.5.2.tgz";
sha512 = "03nqzpjpb0422fm5k7prlfcyb7wbs7dq7arwzq0za8zq3jy4wvbjjsbm25vr8ar5y6y87k9y1iqyc018zfysh2b675ql3qx6jjimfip";
};
dependencies = [
sources."cli-color-0.1.7"
sources."difflib-0.2.4"
sources."dreamopt-0.6.0"
sources."es5-ext-0.8.2"
sources."heap-0.2.6"
sources."wordwrap-1.0.0"
];
buildInputs = globalBuildInputs;
meta = {
description = "JSON diff";
homepage = https://github.com/andreyvit/json-diff;
};
production = true;
bypassCache = false;
};
json-refs = nodeEnv.buildNodePackage {
name = "json-refs";
packageName = "json-refs";

View File

@ -1,26 +1,21 @@
{ stdenv, fetchzip, fetchpatch, ocaml, findlib, ocamlbuild, ocaml_oasis, camlp4, uutf, markup, ppx_tools, re
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camlp4, uutf, markup, ppx_tools_versioned, re
}:
assert stdenv.lib.versionAtLeast ocaml.version "4.02";
stdenv.mkDerivation rec {
pname = "tyxml";
version = "4.0.1";
version = "4.2.0";
name = "ocaml${ocaml.version}-${pname}-${version}";
src = fetchzip {
url = "http://github.com/ocsigen/tyxml/archive/${version}.tar.gz";
sha256 = "1mwkjvl78gvw7pvql5qp64cfjjca6aqsb04999qkllifyicaaq8y";
sha256 = "1zrkrmxyj5a2cdh4b9zr9anwfk320wv3x0ynxnyxl5za2ix8sld8";
};
patches = [ (fetchpatch {
url = https://github.com/dbuenzli/tyxml/commit/a2bf5ccc0b6e684e7b81274ff19df8d72e2def8d.diff;
sha256 = "11sidgiwz3zqw815vlslbfzb456z0lndkh425mlmvnmck4d2v2i3";
})];
buildInputs = [ ocaml findlib ocamlbuild camlp4 ppx_tools_versioned markup ];
buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
propagatedBuildInputs = [uutf re ppx_tools markup];
propagatedBuildInputs = [ uutf re ];
createFindlibDestdir = true;

View File

@ -2,11 +2,11 @@
buildPerlPackage rec {
name = "DBD-SQLite-${version}";
version = "1.54";
version = "1.55_07";
src = fetchurl {
url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz";
sha256 = "3929a6dbd8d71630f0cb57f85dcef9588cd7ac4c9fa12db79df77b9d3a4d7269";
url = "https://github.com/DBD-SQLite/DBD-SQLite/archive/${version}.tar.gz";
sha256 = "0213a31eb7b5afc2d7b3775ca2d1717d07fc7e9ed21ae73b2513a8d54ca222d8";
};
propagatedBuildInputs = [ DBI ];
@ -17,8 +17,7 @@ buildPerlPackage rec {
./external-sqlite.patch
];
SQLITE_INC = sqlite.dev + "/include";
SQLITE_LIB = sqlite.out + "/lib";
makeMakerFlags = "SQLITE_INC=${sqlite.dev}/include SQLITE_LIB=${sqlite.out}/lib";
preBuild =
''

View File

@ -0,0 +1,28 @@
{ buildPythonPackage, python, lib, fetchFromGitHub
, mock
}:
buildPythonPackage rec {
pname = "arxiv2bib";
version = "1.0.8";
# Missing tests on Pypi
src = fetchFromGitHub {
owner = "nathangrigg";
repo = "arxiv2bib";
rev = version;
sha256 = "1kp2iyx20lpc9dv4qg5fgwf83a1wx6f7hj1ldqyncg0kn9xcrhbg";
};
# Required for tests only
checkInputs = [ mock ];
checkPhase = "${python.interpreter} -m unittest discover -s tests";
meta = with lib; {
description = "Get a BibTeX entry from an arXiv id number, using the arxiv.org API";
homepage = http://nathangrigg.github.io/arxiv2bib/;
license = licenses.bsd3;
maintainers = [ maintainers.nico202 ];
};
}

View File

@ -1,47 +1,40 @@
{ stdenv, fetchFromGitHub, buildPythonPackage, isPy3k
{ lib, fetchPypi, buildPythonPackage, isPy3k
, nose
, parameterized
, mock
, glibcLocales
, six
, jdatetime
, pyyaml
, dateutil
, umalqurra
, pytz
, tzlocal
, regex
, ruamel_yaml }:
buildPythonPackage rec {
pname = "dateparser";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "scrapinghub";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "0q2vyzvlj46r6pr0s6m1a0md1cpg9nv1n3xw286l4x2cc7fj2g3y";
src = fetchPypi {
inherit pname version;
sha256 = "940828183c937bcec530753211b70f673c0a9aab831e43273489b310538dff86";
};
# Replace nose-parameterized by parameterized
prePatch = ''
sed -i s/nose_parameterized/parameterized/g tests/*.py
sed -i s/nose-parameterized/parameterized/g tests/requirements.txt
'';
# Upstream Issue: https://github.com/scrapinghub/dateparser/issues/364
disabled = isPy3k;
checkInputs = [ nose parameterized mock glibcLocales ];
checkInputs = [ nose mock parameterized six glibcLocales ];
preCheck =''
# skip because of missing convertdate module, which is an extra requirement
rm tests/test_jalali.py
'';
propagatedBuildInputs = [ six jdatetime pyyaml dateutil
umalqurra pytz tzlocal regex ruamel_yaml ];
propagatedBuildInputs = [
# install_requires
dateutil pytz regex tzlocal
# extra_requires
jdatetime ruamel_yaml umalqurra
];
meta = with stdenv.lib;{
meta = with lib; {
description = "Date parsing library designed to parse dates from HTML pages";
homepage = https://github.com/scrapinghub/dateparser;
license = licenses.bsd3;

View File

@ -0,0 +1,29 @@
{ buildPythonPackage, lib, fetchFromGitHub
, requests
, nose, vcrpy
}:
buildPythonPackage rec {
pname = "habanero";
version = "0.6.0";
# Install from Pypi is failing because of a missing file (Changelog.rst)
src = fetchFromGitHub {
owner = "sckott";
repo = pname;
rev = "v${version}";
sha256 = "1l2cgl6iiq8jff2w2pib6w8dwaj8344crhwsni2zzq0p44dwi13d";
};
propagatedBuildInputs = [ requests ];
checkInputs = [ nose vcrpy ];
checkPhase = "make test";
meta = {
description = "Python interface to Library Genesis";
homepage = http://habanero.readthedocs.io/en/latest/;
license = lib.licenses.mit;
maintainers = [ lib.maintainers.nico202 ];
};
}

View File

@ -2,7 +2,7 @@
, fetchPypi
, mock
, unittest2
, msgpack
, msgpack-python
, requests
, flask
, gevent
@ -22,7 +22,7 @@ buildPythonPackage rec {
sed -i s/"pyzmq=="/"pyzmq>="/ setup.py
'';
propagatedBuildInputs = [ msgpack requests flask gevent pyzmq ];
propagatedBuildInputs = [ msgpack-python requests flask gevent pyzmq ];
buildInputs = [ mock unittest2 ];
meta = {

View File

@ -0,0 +1,28 @@
{ buildPythonPackage
, fetchPypi
, pytest
, lib
}:
buildPythonPackage rec {
pname = "msgpack";
version = "0.5.4";
src = fetchPypi {
inherit pname version;
sha256 = "13ckbs2qc4dww7fddnm9cw116j4spgxqab49ijmj6jr178ypwl80";
};
checkPhase = ''
py.test
'';
checkInputs = [ pytest ];
meta = {
homepage = https://github.com/msgpack/msgpack-python;
description = "MessagePack serializer implementation for Python";
license = lib.licenses.asl20;
# maintainers = ?? ;
};
}

View File

@ -0,0 +1,41 @@
{ buildPythonPackage
, fetchPypi
, lib
, nose
, msgpack
, greenlet
, trollius
, pythonOlder
, isPyPy
}:
buildPythonPackage rec {
pname = "neovim";
version = "0.2.1";
src = fetchPypi {
inherit pname version;
sha256 = "16vzxmp7f6dl20n30j5cwwvrjj5h3c2ch8ldbss31anf36nirsdp";
};
checkInputs = [ nose ];
checkPhase = ''
nosetests
'';
# Tests require pkgs.neovim,
# which we cannot add because of circular dependency.
doCheck = false;
propagatedBuildInputs = [ msgpack ]
++ lib.optional (!isPyPy) greenlet
++ lib.optional (pythonOlder "3.4") trollius;
meta = {
description = "Python client for Neovim";
homepage = "https://github.com/neovim/python-client";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ garbas ];
};
}

View File

@ -0,0 +1,21 @@
{ buildPythonPackage, lib, fetchPypi }:
buildPythonPackage rec {
pname = "papis-python-rofi";
version = "1.0.2";
src = fetchPypi {
inherit pname version;
sha256 = "13k6mw2nq923zazs77hpmh2s96v6zv13g7p89510qqkvp6fiml1v";
};
# No tests existing
doCheck = false;
meta = {
description = "A Python module to make simple GUIs with Rofi";
homepage = https://github.com/alejandrogallo/python-rofi;
license = lib.licenses.mit;
maintainers = [ lib.maintainers.nico202 ];
};
}

View File

@ -1,19 +1,19 @@
{ stdenv, buildPythonPackage, isPy3k, fetchPypi }:
{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub }:
buildPythonPackage rec {
pname = "pyhomematic";
version = "0.1.38";
version = "0.1.39";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "15b09ppn5sn3vpnwfb7gygrvn5v65k3zvahkfx2kqpk1xah0mqbf";
# PyPI tarball does not include tests/ directory
src = fetchFromGitHub {
owner = "danielperna84";
repo = pname;
rev = version;
sha256 = "1g181x2mrhxcaswr6vi2m7if97wv4rf2g2pny60334sciga8njfz";
};
# Tests reuire network access
doCheck = false;
meta = with stdenv.lib; {
description = "Python 3 Interface to interact with Homematic devices";
homepage = https://github.com/danielperna84/pyhomematic;

View File

@ -0,0 +1,28 @@
{ buildPythonPackage, python, lib, fetchPypi
, isPy3k
, requests
}:
buildPythonPackage rec {
pname = "pylibgen";
version = "1.3.1";
src = fetchPypi {
inherit pname version;
sha256 = "1rviqi3rf62b43cabdy8c2cdznjv034mp0qrfrzvkih4jlkhyfrh";
};
disabled = !isPy3k;
propagatedBuildInputs = [ requests ];
# It's not using unittest
checkPhase = "${python.interpreter} tests/test_pylibgen.py -c 'test_api_endpoints()'";
meta = {
description = "Python interface to Library Genesis";
homepage = https://pypi.org/project/pylibgen/;
license = lib.licenses.mit;
maintainers = [ lib.maintainers.nico202 ];
};
}

View File

@ -0,0 +1,27 @@
{ buildPythonPackage, lib, fetchFromBitbucket
, parse
}:
buildPythonPackage rec {
pname = "pyparser";
version = "1.0";
# Missing tests on Pypi
src = fetchFromBitbucket {
owner = "rw_grim";
repo = pname;
rev = "v${version}";
sha256 = "0aplb4zdpgbpmaw9qj0vr7qip9q5w7sl1m1lp1nc9jmjfij9i0hf";
};
postPatch = "sed -i 's/parse==/parse>=/' requirements.txt";
propagatedBuildInputs = [ parse ];
meta = {
description = "Simple library that makes it easier to parse files";
homepage = https://bitbucket.org/rw_grim/pyparser;
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.nico202 ];
};
}

View File

@ -24,6 +24,10 @@ buildPythonPackage rec {
propagatedBuildInputs = [ flask decorator httpbin six requests ];
checkPhase = ''
py.test
'';
meta = {
description = "Easily test your HTTP library against a local copy of httpbin.org";
homepage = https://github.com/kevin1024/pytest-httpbin;

View File

@ -0,0 +1,28 @@
{ buildPythonPackage, lib, fetchPypi, file, stdenv }:
buildPythonPackage rec {
pname = "python-magic";
version = "0.4.13";
src = fetchPypi {
inherit pname version;
sha256 = "128j9y30zih6cyjyjnxhghnvpjm8vw40a1q7pgmrp035yvkaqkk0";
};
postPatch = ''
substituteInPlace magic.py --replace "ctypes.util.find_library('magic')" "'${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
'';
doCheck = false;
# TODO: tests are failing
#checkPhase = ''
# ${python}/bin/${python.executable} ./test.py
#'';
meta = {
description = "A python interface to the libmagic file type identification library";
homepage = https://github.com/ahupp/python-magic;
license = lib.licenses.mit;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetchPypi, buildPythonPackage, certifi, future, urllib3 }:
buildPythonPackage rec {
pname = "python-telegram-bot";
version = "9.0.0";
src = fetchPypi {
inherit pname version;
sha256 = "0a5b4wfc6ms7kblynw2h3ygpww98kyz5n8iibqbdyykwx8xj7hzm";
};
prePatch = ''
rm -rf telegram/vendor
substituteInPlace telegram/utils/request.py \
--replace "import telegram.vendor.ptb_urllib3.urllib3 as urllib3" "import urllib3 as urllib3" \
--replace "import telegram.vendor.ptb_urllib3.urllib3.contrib.appengine as appengine" "import urllib3.contrib.appengine as appengine" \
--replace "from telegram.vendor.ptb_urllib3.urllib3.connection import HTTPConnection" "from urllib3.connection import HTTPConnection" \
--replace "from telegram.vendor.ptb_urllib3.urllib3.util.timeout import Timeout" "from urllib3.util.timeout import Timeout"
'';
propagatedBuildInputs = [ certifi future urllib3 ];
doCheck = false;
meta = with stdenv.lib; {
description = "This library provides a pure Python interface for the Telegram Bot API.";
homepage = https://python-telegram-bot.org;
license = licenses.lgpl3;
maintainers = with maintainers; [ veprbl ];
};
}

View File

@ -26,8 +26,10 @@ buildPythonPackage rec {
substituteInPlace requirements.txt --replace "ipaddress>=1.0.16" ""
'';
# Skip a failing test until fixed upstream:
# https://github.com/meejah/txtorcon/issues/250
checkPhase = ''
pytest .
pytest --ignore=test/test_util.py .
'';
meta = {

View File

@ -1,38 +1,43 @@
{ stdenv, fetchgit, cmake, expat, qt5, boost }:
{ stdenv, fetchFromGitHub, cmake, qtbase }:
stdenv.mkDerivation rec {
name = "boomerang-${version}";
version = "0.3.99-alpha-2016-11-02";
version = "0.4.0-alpha-2018-01-18";
src = fetchgit {
url = "https://github.com/nemerle/boomerang.git";
rev = "f95d6436845e9036c8cfbd936731449475f79b7a";
sha256 = "1q3q92lfj24ij5sxdbdhcqyan28r6db1w80yrks4csf9zjij1ixh";
src = fetchFromGitHub {
owner = "ceeac";
repo = "boomerang";
rev = "b4ff8d573407a8ed6365d4bfe53d2d47d983e393";
sha256 = "0x17vlm6y1paa49fi3pmzz7vzdqms19qkr274hkq32ql342b6i6x";
};
buildInputs = [ cmake expat qt5.qtbase boost ];
nativeBuildInputs = [ cmake ];
buildInputs = [ qtbase ];
patches = [ ./fix-install.patch ./fix-output.patch ];
postPatch = ''
substituteInPlace loader/BinaryFileFactory.cpp \
--replace '"lib"' '"../lib"'
substituteInPlace ui/DecompilerThread.cpp \
--replace '"output"' '"./output"'
substituteInPlace boomerang.cpp \
--replace 'progPath("./")' "progPath(\"$out/share/boomerang/\")"
substituteInPlace ui/commandlinedriver.cpp \
--replace "QFileInfo(args[0]).absolutePath()" "\"$out/share/boomerang/\""
postPatch =
# Look in installation directory for required files, not relative to working directory
''
substituteInPlace src/boomerang/core/Settings.cpp \
--replace "setDataDirectory(\"../share/boomerang\");" \
"setDataDirectory(\"$out/share/boomerang\");" \
--replace "setPluginDirectory(\"../lib/boomerang/plugins\");" \
"setPluginDirectory(\"$out/lib/boomerang/plugins\");"
''
# Fixup version:
# * don't try to inspect with git
# (even if we kept .git and such it would be "dirty" because of patching)
# * use date so version is monotonically increasing moving forward
+ ''
sed -i cmake-scripts/boomerang-version.cmake \
-e 's/set(\(PROJECT\|BOOMERANG\)_VERSION ".*")/set(\1_VERSION "${version}")/'
'';
enableParallelBuilding = true;
meta = {
meta = with stdenv.lib; {
homepage = http://boomerang.sourceforge.net/;
license = stdenv.lib.licenses.bsd3;
license = licenses.bsd3;
description = "A general, open source, retargetable decompiler";
maintainers = with maintainers; [ dtzWill ];
};
}

View File

@ -1,48 +0,0 @@
From 5851256422a4debc34c956439d8129a4d5f80722 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Thu, 30 Mar 2017 10:06:03 -0500
Subject: [PATCH] cmake: add install bits
---
CMakeLists.txt | 3 +++
loader/CMakeLists.txt | 2 ++
ui/CMakeLists.txt | 2 ++
3 files changed, 7 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 826fe307..740861db 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -113,3 +113,6 @@ SET_PROPERTY(TARGET boom_base PROPERTY CXX_STANDARD_REQUIRED ON)
ADD_SUBDIRECTORY(loader)
ADD_SUBDIRECTORY(ui)
+
+INSTALL(DIRECTORY signatures DESTINATION share/boomerang)
+INSTALL(DIRECTORY frontend/machine DESTINATION share/boomerang/frontend)
diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
index b371d366..dcf715fd 100644
--- a/loader/CMakeLists.txt
+++ b/loader/CMakeLists.txt
@@ -6,6 +6,8 @@ macro(BOOMERANG_ADD_LOADER name)
endif()
qt5_use_modules(${target_name} Core)
set_target_properties(${target_name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/out/lib")
+ install(TARGETS "${target_name}"
+ LIBRARY DESTINATION lib)
endmacro()
BOOMERANG_ADD_LOADER(Elf elf/ElfBinaryFile.cpp elf/ElfBinaryFile.h)
diff --git a/ui/CMakeLists.txt b/ui/CMakeLists.txt
index f6fe3271..8729b522 100644
--- a/ui/CMakeLists.txt
+++ b/ui/CMakeLists.txt
@@ -26,3 +26,5 @@ boom_base frontend db type boomerang_DSLs codegen util boom_base
${CMAKE_THREAD_LIBS_INIT} boomerang_passes
)
qt5_use_modules(boomerang Core Xml Widgets)
+
+INSTALL(TARGETS boomerang DESTINATION bin)
--
2.11.0

View File

@ -1,24 +0,0 @@
From f3f5f888a1b1fe72ea8fc8cc96ef4ee386011e1c Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Thu, 30 Mar 2017 11:21:38 -0500
Subject: [PATCH] don't default to writing to program directory
---
boomerang.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/boomerang.cpp b/boomerang.cpp
index 5951ed91..b592f482 100644
--- a/boomerang.cpp
+++ b/boomerang.cpp
@@ -601,7 +601,6 @@ int Boomerang::processCommand(QStringList &args) {
*/
void Boomerang::setProgPath(const QString &p) {
progPath = p + "/";
- outputPath = progPath + "/output/"; // Default output path (can be overridden with -o below)
}
/**
--
2.11.0

View File

@ -0,0 +1,23 @@
{ stdenv, lib, buildGoPackage, fetchgit }:
buildGoPackage rec {
name = "go-symbols-${version}";
version = "unstable-2017-02-06";
rev = "5a7f75904fb552189036c640d04cd6afef664836";
goPackagePath = "github.com/acroca/go-symbols";
goDeps = ./deps.nix;
src = fetchgit {
inherit rev;
url = "https://github.com/acroca/go-symbols";
sha256 = "0qh2jjhwwk48gi8yii0z031bah11anxfz81nwflsiww7n426a8bb";
};
meta = {
description = "A utility for extracting a JSON representation of the package symbols from a go source tree.";
homepage = https://github.com/acroca/go-symbols;
maintainers = with stdenv.lib.maintainers; [ vdemeester ];
license = stdenv.lib.licenses.mit;
};
}

View File

@ -0,0 +1,11 @@
[
{
goPackagePath = "golang.org/x/tools";
fetch = {
type = "git";
url = "https://github.com/golang/tools";
rev = "96b5a5404f303f074e6117d832a9873c439508f0";
sha256 = "1h6r9xyp1v3w2x8d108vzghn65l6ia2h895irypmrwymfcp30y42";
};
}
]

View File

@ -0,0 +1,25 @@
{ stdenv, lib, fetchFromGitHub, buildGoPackage }:
buildGoPackage rec {
name = "librarian-puppet-go-${version}";
version = "0.3.9";
goPackagePath = "github.com/tmtk75/librarian-puppet-go";
src = fetchFromGitHub {
owner = "tmtk75";
repo = "librarian-puppet-go";
rev = "v${version}";
sha256 = "19x2hz3b8xkhy2nkyjg6s4qvs55mh84fvjwp157a86dmxwkdf45y";
};
goDeps = ./deps.nix;
meta = with lib; {
inherit (src.meta) homepage;
description = "librarian-puppet implementation in go.";
license = licenses.unfree; # still unspecified https://github.com/tmtk75/librarian-puppet-go/issues/5
maintainers = with maintainers; [ womfoo ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -0,0 +1,12 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
[
{
goPackagePath = "github.com/jawher/mow.cli";
fetch = {
type = "git";
url = "https://github.com/jawher/mow.cli";
rev = "3ff64ca21987cfa628bd8d1865162b7ccd6107d7";
sha256 = "0vws79q4x3c9kjdsin3vw5200sinkxag3bfa0n9k69svsb222bij";
};
}
]

View File

@ -0,0 +1,47 @@
{ stdenv, SDL2, fetchFromGitHub, makeWrapper, gzip, libvorbis, libmad, vulkan-loader }:
stdenv.mkDerivation rec {
name = "vkquake-${version}";
majorVersion = "0.97";
version = "${majorVersion}.3";
src = fetchFromGitHub {
owner = "Novum";
repo = "vkQuake";
rev = version;
sha256 = "11z9k5aw9ip7ggmgjdnaq4g45pxqiy0xhd4jqqmgzpmfdbjk4x13";
};
sourceRoot = "source/Quake";
buildInputs = [
makeWrapper gzip SDL2 libvorbis libmad vulkan-loader.dev
];
preInstall = ''
mkdir -p "$out/bin"
'';
makeFlags = [ "prefix=$(out) bindir=$(out)/bin" ];
postFixup = ''
wrapProgram $out/bin/vkquake --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
'';
enableParallelBuilding = true;
meta = {
description = "Vulkan Quake port based on QuakeSpasm";
homepage = src.meta.homepage;
longDescription = ''
vkQuake is a Quake 1 port using Vulkan instead of OpenGL for rendering.
It is based on the popular QuakeSpasm port and runs all mods compatible with it
like Arcane Dimensions or In The Shadows. vkQuake also serves as a Vulkan demo
application that shows basic usage of the API. For example it demonstrates render
passes & sub passes, pipeline barriers & synchronization, compute shaders, push &
specialization constants, CPU/GPU parallelism and memory pooling.
'';
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.gnidorah ];
};
}

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